/* Practice, calls and mobile navigation share the product's existing red palette. */
.ik-practice-home,.ik-call-page { max-width:1080px; margin:0 auto; padding:42px 24px 64px; }
.ik-practice-home h1,.ik-call-page h1 { font-size:clamp(30px,4vw,46px); letter-spacing:-1.5px; line-height:1.12; margin:12px 0; }
.ik-practice-intro,.ik-call-intro { color:#69625d; font-size:17px; line-height:1.6; margin-bottom:30px; }
.ik-practice-modes { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.ik-practice-card { display:flex; flex-direction:column; align-items:flex-start; padding:30px; border:1px solid #e6dfd8; border-radius:22px; background:#fff; color:#302b27; text-decoration:none; transition:transform .2s,box-shadow .2s; }
.ik-practice-card:hover { transform:translateY(-3px); box-shadow:0 12px 25px #3425170b; }
.ik-practice-card h2 { margin:14px 0 6px; font-size:25px; }
.ik-practice-card p { flex:1; line-height:1.6; color:#68615d; }
.ik-practice-card strong { color:#b02112; margin-top:8px; }
.ik-practice-card small { margin-top:16px; color:#7a5345; }
.ik-mode-icon { display:grid; place-items:center; width:50px; height:50px; font-size:28px; border-radius:16px; background:#fff; margin-bottom:12px; }
.ik-language-buttons { display:flex; flex-wrap:wrap; gap:8px; }
.ik-language-button { display:inline-flex; align-items:center; gap:8px; font:inherit; font-size:13px; padding:10px 13px; min-height:44px; background:#fff; color:#3a302d; border:1px solid #ddd5ce; border-radius:12px; cursor:pointer; }
.ik-language-button span { font-size:20px; }
.ik-language-button.ik-selected { background:#fff0e9; border-color:#d62311; box-shadow:inset 0 0 0 1px #d62311; color:#9b1d10; }
.ik-language-button:focus-visible,.ik-bottom-tabs a:focus-visible { outline:3px solid #d97d36; outline-offset:3px; }
.ik-scenario-fieldset,.ik-call-setup fieldset { border:0; padding:0; margin:0 0 28px; }
.ik-scenario-fieldset legend,.ik-call-setup legend { font-weight:700; padding:0; margin-bottom:12px; }
.ik-scenarios { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.ik-scenario { display:grid; grid-template-columns:auto 1fr; align-content:start; gap:8px; padding:16px; border:1px solid #ddd5ce; border-radius:14px; cursor:pointer; }
.ik-scenario input { grid-row:1; margin:4px 0 0; accent-color:#d62311; }
.ik-scenario > span { display:none; }
.ik-scenario ul { grid-column:2; padding-left:16px; margin:0; font-size:12px; color:#69625d; line-height:1.7; }
.ik-scenario.ik-selected { border-color:#d62311; background:#fff5ef; }
.ik-bottom-tabs { display:none; }
.ik-call-page { max-width:900px; }
.ik-call-setup,.ik-call-live,.ik-call-review { background:#fff; padding:28px; border:1px solid #e5ddd6; border-radius:22px; margin-top:20px; }
.ik-call-note { margin:18px 0 0; }
.ik-call-preferences { display:flex; flex-wrap:wrap; gap:20px; margin:24px 0; }
.ik-call-preferences label { display:block; margin-bottom:8px; font-weight:600; }
.ik-call-preferences select { min-height:44px; padding:8px 12px; background:#fff; border:1px solid #d9d0ca; border-radius:10px; font:inherit; }
.ik-call-live { text-align:center; padding:40px 20px; }
.ik-call-orb { width:144px; height:144px; margin:10px auto 30px; border-radius:50%; display:grid; place-items:center; background:radial-gradient(circle at 30% 25%,#ffc9a1,#ef7650 65%,#bd2a17); box-shadow:0 0 0 14px #fff1e8,0 0 0 28px #fff9f5; }
.ik-call-orb span { color:#fff; font-size:48px; }
.ik-call-active { animation:ik-breathe 3s ease-in-out infinite; }
@keyframes ik-breathe { 50% { transform:scale(1.045); box-shadow:0 0 0 19px #fff1e8,0 0 0 34px #fff9f5; } }
.ik-call-controls { display:flex; justify-content:center; flex-wrap:wrap; gap:12px; }
.ik-call-end { color:#fff; background:#aa271c; border:1px solid #aa271c; }
.ik-call-reviews { margin-top:40px; }
.ik-call-review-text { white-space:pre-wrap; line-height:1.75; }
.ik-call-review ul { padding-left:18px; line-height:1.8; }
@media(max-width:760px) {
    .ik-spa-body .ik-nav .ik-nav-inner { flex-direction:row; align-items:center; justify-content:space-between; height:auto; min-height:70px; padding:12px 16px; gap:12px; position:relative; }
    .ik-spa-body .ik-nav .ik-brand { flex:0 1 auto; min-width:0; padding:0; margin:0; line-height:1; }
    .ik-spa-body .ik-nav .ik-brand img { display:block; width:min(226px,60vw); height:auto; max-height:42px; object-fit:contain; }
    .ik-spa-body .ik-menu-toggle { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; margin:0 0 0 auto; min-height:42px; }
    .ik-spa-body .ik-nav .ik-nav-actions { position:absolute; top:100%; left:0; right:0; width:auto; background:#fff; padding:12px 16px; box-shadow:0 8px 20px #0001; z-index:80; flex-direction:column; align-items:stretch; overflow:visible; }
    .ik-spa-body .ik-nav .ik-nav-actions:not(.ik-menu-open) { display:none; }
    .ik-spa-body .ik-nav .ik-nav-actions.ik-menu-open { display:flex; }
    .ik-app-signed-in { padding-bottom:calc(74px + env(safe-area-inset-bottom,0px)); }
    .ik-bottom-tabs { display:flex; position:fixed; z-index:100; bottom:0; left:0; right:0; background:#fff; border-top:1px solid #e7dfd9; padding:7px 8px calc(7px + env(safe-area-inset-bottom,0px)); box-shadow:0 -4px 18px #33221105; }
    .ik-bottom-tabs a { flex:1; min-width:0; min-height:50px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; font-size:10px; font-weight:600; color:#81756c; text-decoration:none; border-radius:12px; }
    .ik-bottom-tabs a span { font-size:23px; line-height:1; }
    .ik-bottom-tabs a[aria-current=page] { color:#ba2817; background:#fff0e8; }
    .ik-practice-home,.ik-call-page { padding:30px 16px 40px; }
    .ik-main:has(.ik-practice-home) { padding:0; }
    .ik-practice-modes { grid-template-columns:1fr; gap:14px; }
    .ik-practice-card { padding:24px; border-radius:20px; }
    .ik-chat-setup-page .ik-setup-main { padding:26px 16px; }
    .ik-chat-setup-page .ik-setup-card { background:transparent; border:0; border-radius:0; padding:0; box-shadow:none; width:100%; max-width:none; }
    .ik-chat-setup-page .ik-chat-option { border:0; background:transparent; padding:0; box-shadow:none; }
    .ik-chat-setup-page .ik-chat-option-continue { padding-top:26px; border-top:1px solid #e5dcd5; }
    .ik-scenarios { grid-template-columns:1fr; }
    .ik-language-button { padding:9px 10px; font-size:12px; }
    .ik-call-setup { padding:22px 16px; }
    .ik-app-chat .ik-chat-page { height:auto; min-height:0; }
    .ik-app-chat .ik-chat-container { height:auto; }
}
@media(prefers-reduced-motion:reduce) { .ik-call-active { animation:none; } .ik-practice-card { transition:none; } }

.ik-roleplay-goals { padding:12px 20px; border-bottom:1px solid #eee2d8; background:#fff5ed; flex-shrink:0; font-size:13px; }
.ik-roleplay-goals summary { cursor:pointer; font-weight:600; }
.ik-roleplay-goals ul { margin:10px 0; padding-left:18px; line-height:1.7; }

.ik-app-container { display: flex; flex-direction: column; min-height: 100svh; }
.ik-auth-page { flex: 1; min-height: 0; padding: 28px 20px; }
.ik-mobile-language { display: none; }
.ik-call-setup > .ik-btn, .ik-call-controls { margin-top: 18px; }
.ik-call-note { font-size: 16px; }
.ik-practice-modes { grid-template-columns: 1fr; }
@media (max-width: 760px) {
    .ik-spa-body .ik-nav .ik-menu-toggle { width: 44px; min-height: 44px; padding: 0; font-size: 23px; }
    .ik-auth-container, .ik-call-setup, .ik-call-live, .ik-call-review,
    .ik-practice-card, .ik-pricing-main .ik-plan-panel,
    .ik-pricing-main > .ik-pricing-languages, .ik-pricing-main > .ik-pricing-plans,
    .ik-pricing-main > .ik-pricing-features, .ik-pricing-main > .ik-pricing-comparison {
        background: transparent; border: 0; border-radius: 0; box-shadow: none; padding-inline: 0;
    }
    .ik-auth-container { padding-block: 0; }
    .ik-auth-consent { font-size: 14px; }
    .ik-auth-header p, .ik-auth-footer p, .ik-auth-form small,
    .ik-auth-form input, .ik-select, .ik-call-preferences select { font-size: 16px; }
    .ik-call-page .ik-language-buttons, .ik-chat-setup-page .ik-language-buttons { display: none; }
    .ik-mobile-language { display: block; width: 100%; min-height: 44px; }
    .ik-call-preferences { display: grid; gap: 16px; }
    .ik-call-preferences select { width: 100%; }
    .ik-call-review { border-top: 1px solid #e5ddd6; }
    .ik-bottom-tabs a { font-size: 12px; }
}
