:root{color:#121829;font-synthesis:none;text-rendering:optimizelegibility;--brand-purple:#7c6bee;--brand-red:#e6536f;--brand-yellow:#ebcb45;--brand-teal:#5cc9fa;--brand-green:#99bb4b;--primary:var(--brand-purple);--primary-action:#7160e2;--primary-dark:#5d4dcc;--primary-soft:#e9e5ff;--accent:var(--brand-yellow);--completed:var(--brand-yellow);--completed-soft:#fff8d6;--review:var(--brand-teal);--review-soft:#ddf4fd;--review-completed:#d6ae22;--finish:#f59e0b;--danger:#dc2626;--danger-soft:#fef2f2;--text:#121829;--muted:#5e6577;--surface:#fff;--surface-soft:#f1f3f6;--background:#f9fafb;--border:#d1d5db;--subtle-border:#e5e7eb;--locked-background:#e5e7eb;--locked-icon:#9ca3af;--shadow:0 2px 8px #00000014;--radius:12px;background:#f9fafb;font-family:Inter,ui-rounded,SF Pro Rounded,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--background);min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;background:var(--background);min-height:100dvh;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:var(--primary-dark)}img{max-width:100%}h1,h2,h3,p{margin-top:0}:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-layout{min-height:100vh}.sidebar{border-right:1px solid var(--border);z-index:20;background:#fffffff0;flex-direction:column;width:236px;padding:28px 20px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar nav{gap:8px;margin-top:42px;display:grid}.app-content{min-height:100vh;margin-left:236px}.page{width:min(1040px,100%);margin:0 auto;padding:42px clamp(22px,5vw,64px) 80px}.bottom-nav{display:none}.nav-link{min-height:48px;color:var(--muted);border-radius:13px;align-items:center;gap:13px;padding:0 15px;font-weight:700;text-decoration:none;display:flex}.nav-icon{fill:none;stroke:currentColor;stroke-width:1.85px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:23px;height:23px}.nav-link:hover{background:var(--surface-soft);color:var(--text)}.nav-link--active{background:var(--primary-soft);color:var(--primary-dark)}.child-badge{background:var(--completed-soft);color:#665311;text-align:center;border-radius:12px;margin-top:auto;padding:10px 12px;font-weight:750}.brand{align-items:center;line-height:0;display:inline-flex}.brand__logo{width:168px;height:auto;display:block}.brand--compact .brand__logo{width:145px}.connectivity-banner{z-index:50;background:var(--finish);color:var(--text);text-align:center;padding:10px 18px;font-weight:700;position:sticky;top:0}.page-header{justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px;display:flex}.page-header h1{letter-spacing:-1px;margin:0 0 7px;font-size:clamp(28px,5vw,40px)}.page-header p{color:var(--muted);max-width:640px;margin:0}.page-header__action{flex:none}.card{border:1px solid var(--subtle-border);border-radius:var(--radius);box-shadow:var(--shadow);background:#fffffff7;padding:clamp(18px,4vw,28px)}.card+.card{margin-top:18px}.card h2{font-size:20px}.modal-dialog{width:min(620px,100vw - 32px);max-height:min(84dvh,760px);color:var(--text);background:0 0;border:0;border-radius:20px;padding:0;overflow:hidden;box-shadow:0 24px 80px #1218293d}.modal-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1218297a}.modal-dialog__surface{background:var(--surface);flex-direction:column;max-height:min(84dvh,760px);display:flex}.modal-dialog__header{border-bottom:1px solid var(--subtle-border);justify-content:space-between;align-items:center;gap:16px;min-height:68px;padding:14px 18px 14px 24px;display:flex}.modal-dialog__header h2{margin:0;font-size:20px}.modal-dialog__close{width:40px;height:40px;color:var(--muted);background:var(--surface-soft);cursor:pointer;border:0;border-radius:50%;place-items:center;font-size:28px;line-height:1;display:grid}.modal-dialog__close:disabled{opacity:.5;cursor:default}.modal-dialog__body{overscroll-behavior:contain;min-height:0;padding:24px;overflow:auto}.modal-dialog__footer{border-top:1px solid var(--subtle-border);background:var(--surface);justify-content:flex-end;gap:10px;padding:12px 24px;display:flex}body:has(.modal-dialog[open]){overflow:hidden}.grid{gap:18px;display:grid}.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.stack{gap:16px;display:grid}.inline{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.muted{color:var(--muted)}.danger{color:var(--danger)}.button{cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:10px 18px;font-weight:800;text-decoration:none;transition:transform .15s,background .15s,opacity .15s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{opacity:.55;cursor:default}.button--primary{background:var(--primary-action);color:#fff;box-shadow:0 7px 16px #7c6bee38}.button--primary:hover:not(:disabled){background:var(--primary-dark)}.button--secondary{color:var(--text);background:var(--surface);border:1px solid var(--border)}.button--danger{color:#fff;background:var(--danger)}.button--ghost{color:var(--text);border:1px solid var(--border);background:0 0}.button--wide{width:100%}.field{gap:7px;display:grid}.field__label{color:var(--text);font-size:14px;font-weight:800}.field__hint{color:var(--muted);font-size:12px}.field input,.field select,.field textarea{border:1px solid var(--border);width:100%;min-height:47px;color:var(--text);background:#fff;border-radius:10px;padding:10px 12px}.field textarea{min-height:110px}.form-error{background:var(--danger-soft);color:var(--danger);border:1px solid #fecaca;border-radius:10px;padding:11px 13px}.form-success{background:var(--completed-soft);color:#665311;border:1px solid var(--completed);border-radius:10px;padding:11px 13px}.auth-page{place-items:center;min-height:100vh;padding:34px 18px;display:grid}.auth-layout{gap:22px;width:min(460px,100%);display:grid}.auth-header{text-align:center;justify-items:center;gap:16px;display:grid}.auth-header h1{margin:0;font-size:clamp(25px,7vw,34px)}.auth-header .brand__logo{width:156px}.auth-header p{color:var(--muted);margin:0;line-height:1.55}.auth-card{padding:clamp(22px,6vw,34px)}.auth-actions{gap:11px;display:grid}.divider{color:var(--muted);align-items:center;gap:12px;font-size:13px;display:flex}.divider:before,.divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-links{flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:14px;display:flex}.google-button-slot{place-items:center;min-height:44px;display:grid;overflow:hidden}.social-button--apple{color:#fff;box-shadow:none;background:#000}.social-button--apple:hover:not(:disabled){background:#1f2937}.social-button__icon{fill:currentColor;width:20px;height:20px}.state-panel{text-align:center;min-height:260px;color:var(--muted);place-content:center;justify-items:center;gap:15px;padding:30px;display:grid}.state-panel h2,.state-panel p{margin:0}.state-panel--error{color:var(--danger)}.blocking-state{text-align:center;place-content:center;justify-items:center;gap:14px;min-height:100vh;padding:24px;display:grid}.blocking-state p{max-width:520px;color:var(--muted)}.state-panel__icon{color:#fff;background:var(--danger);border-radius:50%;place-items:center;width:44px;height:44px;font-size:24px;font-weight:900;display:grid}.spinner{border:4px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:36px;height:36px;animation:.7s linear infinite spin}.spinner--small{border-width:3px;width:24px;height:24px}.spinner--button{border-width:2px;width:19px;height:19px}@keyframes spin{to{transform:rotate(360deg)}}.metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.metric{text-align:center;background:var(--surface-soft);border-radius:14px;align-content:center;min-height:104px;padding:16px;display:grid}.metric strong{color:var(--primary-dark);font-size:clamp(23px,4vw,32px)}.metric span{color:var(--muted);font-size:13px;font-weight:700}.progress{appearance:none;background:var(--locked-background);border:0;border-radius:99px;width:100%;height:10px;overflow:hidden}.progress::-webkit-progress-bar{background:var(--locked-background);border-radius:99px}.progress::-webkit-progress-value{background:var(--primary);border-radius:99px}.progress::-moz-progress-bar{background:var(--primary);border-radius:99px}.toggle-row{border-bottom:1px solid var(--border);cursor:pointer;justify-content:space-between;align-items:center;gap:18px;min-height:64px;padding:11px 0;display:flex}.toggle-row:last-child{border-bottom:0}.toggle-row>span{gap:4px;display:grid}.toggle-row small{color:var(--muted);line-height:1.4}.toggle-row input{appearance:none;cursor:pointer;background:#cfd3dc;border:0;border-radius:99px;flex:0 0 44px;width:44px;height:26px;margin:0;transition:background .16s;position:relative;box-shadow:inset 0 0 0 1px #12182914}.toggle-row input:after{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .16s;position:absolute;top:2px;left:2px;box-shadow:0 1px 4px #1218294d}.toggle-row input:checked{background:var(--primary)}.toggle-row input:checked:after{transform:translate(18px)}.toggle-row input:focus-visible{outline-offset:3px;outline:3px solid #7c6bee47}.toggle-row input:disabled{cursor:default}.toggle-row--disabled{opacity:.55;cursor:default}.avatar{object-fit:cover;background:var(--surface-soft);border:3px solid #fff;border-radius:50%;width:78px;height:78px;box-shadow:0 2px 10px #0000001f}.avatar-grid{grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:12px;display:grid}.avatar-option{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:16px;padding:7px}.avatar-option--selected{border-color:var(--primary);background:var(--primary-soft)}.topic-list,.stage-list{gap:12px;display:grid}.list-row{border:1px solid var(--border);color:inherit;background:#fff;border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:15px;text-decoration:none;display:grid}.list-row__icon{background:var(--primary-soft);border-radius:12px;place-items:center;width:42px;height:42px;font-size:20px;display:grid}.list-row strong,.list-row small{display:block}.list-row small{color:var(--muted);margin-top:3px}.romanization{flex-wrap:wrap;justify-content:center;gap:2px 8px;display:inline-flex}.romanization__segment{justify-items:center;display:inline-grid}.romanization__segment>span:last-child{color:var(--muted);font-size:.72em}.romanization--compact .romanization__segment>span:last-child{font-size:.66em}.practice-hero{background:linear-gradient(135deg, #fff 0 52%, var(--primary-soft) 100%);grid-template-columns:1.35fr .85fr;align-items:center;gap:28px;padding:clamp(26px,6vw,48px);display:grid}.practice-hero h2{margin:8px 0;font-size:clamp(26px,4vw,36px)}.practice-hero p{color:var(--muted)}.practice-hero__copy{justify-items:start;gap:10px;display:grid}.practice-hero__progress{background:#ffffffbf;border-radius:16px;gap:12px;padding:22px;display:grid}.practice-start{justify-content:space-between;min-width:min(100%,260px);min-height:58px;margin-top:8px;font-size:18px}.eyebrow{color:var(--primary-dark);text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:900}.practice-metrics,.profile-metrics{margin:18px 0}.section-block{margin-top:30px}.recent-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;display:grid}.recent-item{text-align:center;box-shadow:none;justify-items:center;gap:10px;padding:12px;display:grid}.recent-item img,.recent-item__placeholder{aspect-ratio:1;object-fit:cover;background:var(--surface-soft);border-radius:13px;place-items:center;width:90px;display:grid}.stage-card{grid-template-columns:auto 1fr auto;align-items:center;gap:18px;display:grid}.stage-card__icon{background:var(--review-soft);color:#357c98;border-radius:50%;place-items:center;width:52px;height:52px;font-weight:900;display:grid}.stage-card--completed .stage-card__icon{background:var(--completed-soft);color:#665311}.stage-card--locked .stage-card__icon{background:var(--locked-background);color:var(--locked-icon)}.stage-card .progress::-webkit-progress-value{background:var(--review)}.stage-card .progress::-moz-progress-bar{background:var(--review)}.stage-card__body h2{margin:0}.stage-card__body p{color:var(--muted);margin:8px 0}.stage-card__body>.button{margin-top:8px;padding-inline:0}.unlock-criteria{background:var(--surface-soft);border-radius:12px;gap:9px;margin-top:10px;padding:12px;display:grid}.unlock-criterion{color:var(--muted);grid-template-columns:20px 22px 1fr;align-items:start;gap:8px;display:grid}.unlock-criterion--met{color:var(--text)}.unlock-criterion__state{color:var(--muted);font-weight:900}.unlock-criterion--met .unlock-criterion__state{color:var(--primary-dark)}.unlock-criterion__icon{text-align:center}.unlock-criterion strong,.unlock-criterion small{display:block}.unlock-criterion small{color:var(--muted);margin-top:2px}.status{text-transform:uppercase;letter-spacing:.05em;border-radius:99px;padding:5px 9px;font-size:11px;font-weight:900}.status--completed{background:var(--completed-soft);color:#665311}.status--unlocked{background:var(--primary-soft);color:var(--primary-dark)}.status--locked{background:var(--surface-soft);color:var(--muted)}.profile-page{width:min(720px,100%);margin:0 auto}.profile-page>.form-success{margin-bottom:18px}.profile-identity-card{text-align:center;justify-items:center;gap:14px;margin-bottom:20px;padding-block:28px 24px;display:grid}.profile-identity-card h2{overflow-wrap:anywhere;max-width:100%;margin:0;font-size:21px;font-weight:650}.profile-avatar-button{cursor:pointer;background:0 0;border:0;border-radius:50%;width:102px;height:102px;padding:5px;position:relative}.profile-avatar{object-fit:cover;color:#fff;background:var(--primary);border:4px solid #fff;border-radius:50%;place-items:center;width:92px;height:92px;display:grid;box-shadow:0 6px 18px #7c6bee33}.profile-avatar--placeholder{font-size:38px;font-weight:650}.profile-avatar-button__edit{width:31px;height:31px;color:var(--text);background:var(--completed);border:3px solid #fff;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:1px;right:0;box-shadow:0 2px 7px #12182933}.profile-avatar-button__edit svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.profile-stack{gap:16px;display:grid}.profile-stack>.card{margin:0}.profile-language-scope{color:var(--muted);justify-content:space-between;align-items:baseline;gap:18px;padding:0 4px;font-size:14px;font-weight:650;display:flex}.profile-language-scope>span{min-width:0}.profile-language-scope>span:first-child{align-items:center;gap:7px;display:inline-flex}.profile-language-scope>span:last-child{text-align:right}.profile-language-scope svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.profile-panel{padding:22px 24px 24px}.profile-panel h2{margin:0 0 22px;font-size:16px;font-weight:750}.profile-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 36px;display:grid}.profile-metric{align-content:start;gap:7px;min-width:0;display:grid}.profile-metric__label{min-height:38px;color:var(--muted);align-items:flex-end;gap:8px;font-size:13px;font-weight:650;line-height:1.25;display:flex}.profile-metric__label>span:last-child{color:var(--muted)}.profile-metric__icon{flex:none;place-items:center;width:20px;height:20px;display:grid}.profile-metric__icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.profile-metric__icon svg path:first-child:last-child{fill:currentColor;stroke:currentColor}.profile-metric__value{min-width:0;color:var(--text);align-items:baseline;gap:5px;display:flex}.profile-metric__value strong{font-variant-numeric:tabular-nums;font-size:clamp(25px,4vw,31px);font-weight:650}.profile-metric__value span{color:var(--muted);font-size:13px;font-weight:650}.profile-tone--yellow{color:#d4aa13}.profile-tone--teal{color:#278dad}.profile-tone--purple{color:var(--primary-dark)}.profile-tone--orange{color:#d97706}.profile-tone--green{color:#578c35}.profile-tone--cyan{color:#168da5}.profile-share-button,.profile-topics-link{border-radius:12px;min-height:54px}.profile-share-button svg,.profile-topics-link svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px}.profile-topics-link{justify-content:flex-start}.profile-topics-link>span:last-child{color:var(--muted);margin-left:auto;font-size:24px}.profile-section-state{min-height:92px;color:var(--muted);place-content:center;justify-items:center;gap:10px;font-size:14px;font-weight:650;display:grid}.profile-inline-error{min-width:0;color:var(--danger);background:var(--danger-soft);border:1px solid #fecaca;border-radius:12px;grid-template-columns:24px 1fr auto;align-items:center;gap:10px;padding:12px;display:grid}.profile-inline-error>span:first-child{color:#fff;background:var(--danger);border-radius:50%;place-items:center;width:22px;height:22px;font-weight:900;display:grid}.profile-inline-error p{overflow-wrap:anywhere;color:var(--text);margin:0;font-size:13px;font-weight:600}.profile-inline-error .button{min-height:38px;padding:7px 11px}.avatar-dialog .modal-dialog__body{min-height:280px}.avatar-picker-grid{grid-template-columns:repeat(auto-fit,minmax(72px,92px));justify-content:center;gap:18px;display:grid}.avatar-picker-option{aspect-ratio:1;background:var(--locked-background);cursor:pointer;border:3px solid #0000;border-radius:50%;width:100%;padding:0;position:relative}.avatar-picker-option img{object-fit:cover;border:2px solid #fff;border-radius:50%;width:100%;height:100%;display:block}.avatar-picker-option--selected{border-color:var(--primary)}.avatar-picker-option__selected{color:#fff;background:var(--primary);border:2px solid #fff;border-radius:50%;place-items:center;width:26px;height:26px;font-size:14px;font-weight:900;display:grid;position:absolute;bottom:-3px;right:-3px}.avatar-picker-option__saving{color:#fff;background:#12182961;border-radius:50%;place-items:center;display:grid;position:absolute;inset:0}.avatar-picker-option__saving .spinner{border-color:#fff #ffffff80 #ffffff80}.avatar-remove{color:var(--danger)}.share-dialog{width:min(920px,100vw - 32px);max-height:min(90dvh,820px)}.share-dialog .modal-dialog__surface{max-height:min(90dvh,820px)}.share-dialog__layout{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start;gap:clamp(22px,4vw,38px);display:grid}.share-card-preview{aspect-ratio:1;border:1px solid var(--subtle-border);background:var(--surface-soft);border-radius:14px;width:100%;overflow:hidden;box-shadow:0 14px 38px #12182924}.share-card-preview img{object-fit:contain;width:100%;height:100%;display:block}.share-dialog__actions{min-width:0}.share-dialog__actions>p{margin:0 0 16px;line-height:1.5}.share-download-button{min-height:50px}.share-download-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.share-dialog__channel-label{color:var(--muted);font-size:14px;font-weight:650;margin-top:24px!important}.share-channel-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0 0 22px;display:grid}.share-channel{min-width:0;color:var(--text);justify-items:center;gap:8px;font-size:12px;text-decoration:none;display:grid}.share-channel>span{color:#fff;background:var(--primary);border-radius:50%;place-items:center;width:48px;height:48px;font-size:19px;font-weight:850;display:grid}.share-channel strong{text-overflow:ellipsis;max-width:100%;overflow:hidden}.share-channel--whatsapp>span{background:#128c4a}.share-channel--facebook>span{background:#1877f2}.share-channel--x>span{background:#111}.share-channel--linkedin>span{background:#0a66c2;font-size:15px}.share-channel--email>span{background:var(--primary-dark)}.share-copy-row{grid-template-columns:1fr auto;gap:9px;display:grid}.share-copy-row input{border:1px solid var(--border);min-width:0;min-height:46px;color:var(--text);background:var(--surface-soft);border-radius:9px;padding:10px 12px}.share-copy-status{color:#4f772d;font-size:13px;font-weight:700;margin:10px 0 0!important}.card-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.card-heading h2,.card-heading p{margin-bottom:4px}.concept-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;display:grid}.concept-card{border:1px solid var(--border);text-align:center;border-radius:13px;gap:7px;padding:10px;display:grid}.concept-card img{aspect-ratio:1;object-fit:cover;border-radius:9px;width:100%}.concept-card small{color:var(--muted);text-transform:capitalize}.concept-card--mastered{border-color:var(--completed);background:var(--completed-soft)}.round-page{align-content:start;gap:24px;max-width:1100px;min-height:100vh;margin:0 auto;padding:22px clamp(15px,4vw,48px) 50px;display:grid}.round-complete{text-align:center;place-content:center;justify-items:center;max-width:560px}.round-header{border-bottom:1px solid var(--border);grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding-bottom:15px;display:grid}.round-header .button{justify-self:end}.round-mode{color:var(--muted);text-transform:capitalize;font-size:13px;font-weight:800}.game-board{justify-items:center;gap:22px;width:100%;display:grid}.game-instruction{text-align:center;justify-items:center;gap:11px;width:min(720px,100%);display:grid}.game-instruction h1{margin:0;font-size:clamp(23px,5vw,34px)}.game-instruction>span{color:var(--muted);font-weight:800}.game-instruction .progress{width:min(420px,100%)}.pair-board{width:min(1000px,100%);height:100%;min-height:0;padding:8px 14px max(16px, env(safe-area-inset-bottom));grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.pair-column{align-content:stretch;gap:6px;min-height:0;display:grid}.pair-tile{border:1px solid var(--border);width:100%;height:100%;min-height:0;color:var(--text);touch-action:manipulation;-webkit-user-select:none;user-select:none;cursor:pointer;background:#fff;border-radius:12px;place-items:center;padding:6px;transition:border-color .14s,background .14s,box-shadow .14s,transform .14s;display:grid;overflow:hidden;box-shadow:0 2px 8px #00000014}.pair-tile:disabled{cursor:default}.pair-tile:hover:not(:disabled){border-color:color-mix(in srgb, var(--primary) 55%, var(--border))}.pair-tile--selected{border:2px solid var(--primary);background:var(--primary-soft);box-shadow:0 2px 14px #7c6bee38}.pair-tile--empty{opacity:0}.pair-tile--word{text-align:center;padding:6px 10px;font-size:clamp(15px,min(6.5dvh,7.5vw),30px);font-weight:700;line-height:1.15}.pair-tile--word:has(.learning-text--aligned){padding:3px 6px}.pair-tile img{object-fit:contain;-webkit-user-drag:none;width:100%;height:100%;min-height:0}.pair-tile>*{pointer-events:none}.pair-tile .speaker-button{color:var(--text);box-shadow:none;background:0 0}.pair-tile--listening .speaker-button{width:64px;height:64px}.pair-tile--listening .speaker-button svg{width:32px;height:32px}.pair-tile--selected .speaker-button{color:var(--primary)}.audio-symbol{color:var(--primary);font-size:25px;font-weight:900}.image-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;width:min(800px,100%);display:grid}.game-choice{border:2px solid var(--border);color:var(--text);cursor:pointer;background:#fff;border-radius:15px;transition:border .14s,transform .14s,background .14s;position:relative}.game-choice:hover:not(:disabled){border-color:var(--primary);transform:translateY(-2px)}.game-choice:disabled{cursor:default}.image-choice{min-height:160px;padding:10px}.image-choice img{object-fit:contain;border-radius:10px;width:100%;height:clamp(130px,24vw,220px)}.game-choice--selected{border-color:var(--primary);background:var(--primary-soft)}.game-choice--correct{border-color:var(--completed)!important;background:var(--completed-soft)!important}.game-choice--wrong{animation:.25s linear shake;border-color:var(--danger)!important;background:var(--danger-soft)!important}@keyframes shake{25%{transform:translate(-5px)}75%{transform:translate(5px)}}.question-image{aspect-ratio:1.1;object-fit:contain;border:1px solid var(--border);background:#fff;border-radius:18px;width:min(330px,75vw);padding:10px}.text-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:min(680px,100%);display:grid}.text-choice{place-items:center;min-height:82px;padding:13px;display:grid}.text-choice strong{font-size:clamp(17px,3vw,24px)}.conversation-board{justify-self:center;max-width:760px}.conversation-scene{object-fit:contain;background:#fff;border-radius:16px;width:min(500px,100%);max-height:280px}.conversation-avatar{object-fit:cover;background:var(--surface-soft);border-radius:50%;flex:none;width:48px;height:48px}.conversation-avatar--fallback{place-items:center;font-weight:900;display:grid}.chat{gap:14px;width:100%;display:grid}.chat-row{align-items:end;gap:10px;width:100%;display:flex}.chat-row--learner{justify-content:flex-end}.chat-bubble{border:1px solid var(--border);max-width:min(520px,80%);color:var(--text);text-align:left;cursor:pointer;background:#fff;border-radius:18px 18px 18px 4px;gap:6px;padding:15px 17px;display:grid}.chat-bubble--learner{background:var(--primary-soft);border-radius:18px 18px 4px}.reply-list{gap:10px;width:100%;display:grid}.reply-choice{place-items:center;gap:5px;min-height:64px;padding:12px 16px;display:grid}.grammar-prompt{border:1px solid var(--border);min-width:min(520px,100%);min-height:70px;color:var(--text);cursor:pointer;background:#fff;border-radius:14px;place-items:center;gap:7px;padding:14px;display:grid}.grammar-prompt strong{font-size:clamp(20px,4vw,29px)}.grammar-image{width:min(280px,70vw)}.round-complete__mark{background:var(--primary);color:#fff;border-radius:50%;place-items:center;width:72px;height:72px;font-size:42px;font-weight:900;display:grid;box-shadow:0 12px 28px #7c6bee40}.round-complete__mark--star{color:var(--completed);box-shadow:none;background:0 0;font-size:64px}.round-complete h1{margin-bottom:0;font-size:38px}.completion-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:min(380px,100%);display:grid}.completion-metrics>div{border:1px solid var(--border);background:var(--surface);border-radius:14px;place-content:center;gap:3px;min-height:88px;padding:14px;display:grid}.completion-metrics strong{color:var(--primary-dark);font-size:28px}.completion-metrics span,.completion-progress small{color:var(--muted)}.completion-progress{background:var(--surface);border:1px solid var(--border);text-align:left;border-radius:15px;gap:10px;width:min(440px,100%);padding:18px;display:grid}.completion-progress__heading{justify-content:space-between}.completion-progress progress{width:100%;accent-color:var(--primary)}.completion-highlights{text-align:left;gap:7px;width:min(440px,100%);display:grid}.completion-highlights p{color:var(--primary-dark);margin:0;font-weight:700}.completion-unlock{background:var(--completed-soft);color:#665311;border-radius:13px;width:min(440px,100%);margin:0;padding:13px;font-weight:800}.completion-actions{gap:12px;width:min(440px,100%);display:grid}.completion-actions .button{min-height:58px}.submission-note{background:var(--completed-soft);color:#665311;border-radius:10px;max-width:600px;padding:13px}.learning-text{text-align:center;overflow-wrap:anywhere;justify-content:center;min-width:0;max-width:100%;display:inline-flex}.learning-text__flow{flex-wrap:wrap;justify-content:center;align-items:start;gap:.12em .34em;max-width:100%;display:inline-flex}.learning-text__segment{align-content:start;justify-items:center;min-width:0;line-height:1.08;display:inline-grid}.learning-text__original{font:inherit;font-weight:inherit}.learning-text__romanized{max-width:100%;color:var(--muted);overflow-wrap:anywhere;font-size:.56em;font-weight:600;line-height:1.15}.learning-text__plain-stack{justify-items:center;gap:.18em;display:inline-grid}.learning-text--compact .learning-text__romanized{font-size:max(10px,.54em)}.child-mode-banner{color:#665311;background:var(--completed-soft);border-bottom:1px solid #ead47c;justify-content:center;align-items:center;gap:9px;min-height:42px;padding:8px clamp(16px,4vw,42px);font-size:14px;display:flex}.child-mode-banner__icon{color:#d4aa13}.child-mode-banner a{color:#665311;margin-left:4px;font-weight:750}.native-page{width:min(760px,100%);margin:0 auto}.practice-page>.page-header,.settings-page>.page-header,.review-page>.page-header{text-align:center;justify-content:center}.practice-launch{gap:10px;display:grid}.practice-launch__header{text-align:center;justify-items:center;gap:10px;padding:0 12px;display:grid}.practice-launch__header .brand__logo{width:150px}.practice-launch__header h2{margin:0;font-size:clamp(22px,4vw,28px);font-weight:700}.practice-language{min-height:28px;color:var(--muted);justify-content:center;align-items:center;gap:7px;font-size:14px;line-height:1.45;display:flex}.practice-language__icon{fill:none;width:17px;height:17px;stroke:var(--primary);stroke-width:1.8px;stroke-linecap:round;flex:none}.practice-language__button{color:var(--primary-dark);cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0;text-decoration:underline}.practice-language__button:disabled{opacity:.65}.practice-launch__error{color:var(--danger);margin:0;font-size:13px;font-weight:650}.practice-start-native{color:#fff;background:var(--primary-dark);cursor:pointer;text-align:left;border:0;border-radius:10px;grid-template-columns:54px 1fr 34px;align-items:center;gap:16px;width:calc(100% - 20px);min-height:106px;margin:18px 10px;padding:18px 20px;transition:transform .14s,box-shadow .14s,opacity .14s;display:grid;box-shadow:0 8px 20px #7c6bee3d}.practice-start-native:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 11px 26px #7c6bee4d}.practice-start-native:disabled{cursor:default;opacity:.78}.practice-start-native__icon{width:54px;height:54px;color:var(--completed);background:#ffffff29;border-radius:50%;place-items:center;font-size:29px;font-weight:900;display:grid}.spinner--light,.practice-start-native__icon .spinner{border-color:#fff #fff6 #fff6}.practice-start-native__copy{gap:3px;min-width:0;display:grid}.practice-start-native__copy small{color:#fff;font-size:14px}.practice-start-native__copy strong{font-size:clamp(20px,4vw,25px)}.practice-start-native__arrow{text-align:center;font-size:28px}.recent-section{gap:12px;margin-top:24px;display:grid}.recent-section h2{text-align:center;margin:0;font-size:18px}.recent-grid{grid-template-columns:repeat(auto-fit,minmax(96px,132px));justify-content:center;gap:10px}.recent-item{border:1px solid var(--subtle-border);min-width:0;color:var(--text);background:var(--surface);opacity:.68;border-radius:8px;grid-template-rows:auto minmax(44px,auto);align-content:start;gap:0;padding:0;display:grid;overflow:hidden}.recent-item__media{aspect-ratio:1;background:var(--locked-background);place-items:center;width:100%;display:grid;overflow:hidden}.recent-item__media img,.recent-item__placeholder{object-fit:contain;border-radius:0;width:100%;height:100%}.recent-item__placeholder svg{fill:none;width:28px;stroke:var(--muted);stroke-width:1.6px}.recent-item__label{align-items:center;width:100%;min-height:44px;padding:8px;font-size:14px;font-weight:700}.recent-empty{border:1px solid var(--subtle-border);color:var(--muted);background:var(--surface);border-radius:12px;margin:0;padding:18px}.recent-empty--error{color:var(--danger);justify-content:space-between;align-items:center;gap:12px;display:flex}.recent-grid--loading .recent-item{opacity:.58;animation:1.35s ease-in-out infinite alternate skeleton-pulse}.recent-item__skeleton-label{background:var(--subtle-border);border-radius:3px;width:58px;height:12px;margin:16px auto}@keyframes skeleton-pulse{to{opacity:.38}}.language-dialog .modal-dialog__body{padding:0}.language-dialog__offline,.language-dialog__state{min-height:56px;color:var(--muted);justify-content:center;align-items:center;gap:9px;padding:14px 20px;display:flex}.language-dialog__state{flex-direction:column;min-height:180px}.language-choice-list{display:grid}.language-choice{border:0;border-bottom:1px solid var(--subtle-border);min-height:58px;color:var(--text);background:var(--surface);cursor:pointer;text-align:left;grid-template-columns:minmax(0,1fr) auto 22px;align-items:center;gap:10px;padding:12px 22px;display:grid}.language-choice:last-child{border-bottom:0}.language-choice:hover:not(:disabled),.language-choice--selected{background:var(--primary-soft)}.language-choice:disabled{cursor:default;opacity:.62}.language-choice__name{min-width:0;font-weight:700}.language-choice__xp{color:var(--muted);font-size:13px}.language-choice__check{color:var(--primary-dark);text-align:center;font-weight:900}.settings-page{width:min(680px,100%)}.settings-page>.page-header{margin-bottom:22px}.settings-notice{margin-bottom:16px}.settings-section{margin-top:22px}.settings-section h2{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin:0 0 8px;padding:0 14px;font-size:13px;font-weight:800}.settings-list{border:1px solid var(--subtle-border);background:var(--surface);border-radius:12px;overflow:hidden}.settings-row{border:0;border-bottom:1px solid var(--subtle-border);width:100%;min-height:54px;color:var(--text);background:var(--surface);text-align:left;justify-content:space-between;align-items:center;gap:18px;padding:12px 16px;text-decoration:none;display:flex}button.settings-row,a.settings-row{cursor:pointer}button.settings-row:hover:not(:disabled),a.settings-row:hover{background:var(--surface-soft)}.settings-list>:last-child,.settings-list>:last-child .toggle-row{border-bottom:0}.settings-row:disabled{cursor:default;opacity:.62}.settings-row__label{min-width:0;font-weight:600}.settings-row__trailing{min-width:0;color:var(--muted);text-align:right;overflow-wrap:anywhere;justify-content:flex-end;align-items:center;gap:9px;display:flex}.settings-row__chevron{color:var(--locked-icon);flex:none;font-size:23px;line-height:1}.settings-row--danger,.settings-row--danger .settings-row__label{color:var(--danger)}.settings-row--link .settings-row__chevron{margin-left:auto}.settings-list .toggle-row{border-bottom-color:var(--subtle-border);min-height:54px;padding:10px 16px}.settings-section__footer{color:var(--muted);padding:7px 14px 0;font-size:12px;line-height:1.4}.settings-row-message,.settings-account-message{border-bottom:1px solid var(--subtle-border);min-height:48px;color:var(--muted);align-items:center;gap:9px;padding:10px 16px;font-size:13px;display:flex}.settings-row-message--error{color:var(--danger)}.settings-row-message .button{min-height:34px;margin-left:auto;padding:5px 9px}.settings-account-message span:first-child{color:var(--primary);font-size:20px}.settings-back-link{color:var(--primary-dark);align-items:center;gap:5px;margin-bottom:12px;font-weight:700;text-decoration:none;display:inline-flex}.settings-back-link span{font-size:26px;line-height:.8}.settings-detail-page>.page-header{margin-bottom:20px}.settings-form{gap:16px;padding:20px;display:grid}.delete-account-panel{border:1px solid var(--subtle-border);background:var(--surface);text-align:center;border-radius:14px;justify-items:center;gap:18px;padding:clamp(22px,6vw,42px);display:grid}.delete-account-panel p{max-width:480px;color:var(--muted);margin:0;line-height:1.5}.delete-account-panel .field{text-align:left;width:min(420px,100%)}.delete-account-panel__icon{color:#fff;background:var(--danger);clip-path:polygon(50% 0,100% 100%,0 100%);place-items:center;width:68px;height:62px;padding-top:14px;font-size:30px;font-weight:900;display:grid}.round-page{min-height:100dvh;padding-top:18px;position:relative}.round-page.round-page--lesson,.round-page.round-page--status{grid-template-rows:minmax(0,1fr);align-content:stretch;width:100%;max-width:none;height:100dvh;min-height:100dvh;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,system-ui,sans-serif;overflow:hidden}.round-page.round-page--status{place-items:center}.round-page--lesson>.game-board{width:100%;height:100%;min-height:0}.round-status{width:100%;height:100%;min-height:0;color:var(--muted);text-align:center;place-content:center;justify-items:center;gap:16px;padding:24px;display:grid}.round-status .brand__logo{width:150px}.round-status p{margin:0}.pair-match-board{grid-template-rows:auto minmax(0,1fr);align-items:stretch;gap:10px;height:100%;min-height:0}.pair-match-board .vocabulary-round-header{padding-bottom:4px}.round-close-button{z-index:30;top:max(10px, env(safe-area-inset-top));right:max(10px, env(safe-area-inset-right));color:#121829b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;background:#ffffffc7;border:1px solid #d1d5dbd1;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;display:grid;position:fixed}.round-close-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:21px}.round-progress{gap:8px;width:100%;display:grid}.game-board>.round-progress{padding:max(10px, env(safe-area-inset-top)) max(68px, calc(16px + env(safe-area-inset-right))) 8px max(16px, env(safe-area-inset-left))}.vocabulary-round-header{padding:max(10px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 8px max(16px, env(safe-area-inset-left))}.round-progress__labels{color:var(--muted);justify-content:space-between;align-items:baseline;gap:12px;font-size:14px;font-weight:600;display:flex}.round-progress__labels>span:first-child{color:var(--text);font-weight:700}.round-progress__trailing{color:var(--muted);font-weight:400}.round-question-progress .round-progress__labels>span:first-child{color:var(--muted);font-weight:600}.round-question-progress .round-progress__trailing{color:#9b7a0d;font-weight:600}.round-progress--compact{grid-template-columns:minmax(0,1fr) 105px;align-items:center;gap:12px}.round-progress--compact .round-progress__labels{display:block}.round-progress--compact .progress{width:105px}.speaker-button{color:#fff;background:var(--primary);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;padding:0;display:inline-grid;box-shadow:0 5px 12px #7c6bee38}.speaker-button svg,.grammar-audio-prompt svg,.grammar-prompt__speaker svg,.chat-bubble__speaker svg{fill:currentColor;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.speaker-button--large{width:72px;height:72px}.speaker-button--large svg{width:31px;height:31px}.vocabulary-round-header{grid-template-columns:minmax(0,1fr);gap:8px;width:100%;display:grid}.vocabulary-round-header>*{width:min(860px,100%);margin-inline:auto}.round-prompt-title{text-align:center;margin-block:0}.vocabulary-round-header .round-prompt-title{padding-inline:52px;font-size:clamp(20px,2.8vw,22px);font-weight:700}@media (max-width:960px){.vocabulary-round-header>.round-progress{padding-right:52px}}.picture-choice-prompt>.speaker-button--large{aspect-ratio:1;border-radius:50%;justify-self:center;width:72px;height:72px}.learning-prompt-row,.contrast-prompt-row{text-align:center;justify-content:center;align-items:center;gap:12px;width:100%;min-height:60px;display:flex}.learning-prompt-row .learning-text,.contrast-prompt-row .learning-text{font-size:clamp(26px,4.5vw,30px);font-weight:700}.contrast-prompt-row{max-width:600px;position:relative}.contrast-prompt-row .round-prompt-title{width:100%;min-width:0;font-size:clamp(21px,4vw,30px);font-weight:700}.contrast-prompt-row>.speaker-button{position:absolute;top:50%;right:12px;transform:translateY(-50%)}.picture-choice-board,.reverse-choice-board,.contrast-board,.conversation-board{align-items:stretch;gap:0;height:100%;min-height:0}.picture-choice-board{grid-template-rows:auto minmax(0,1fr)}.picture-choice-board .image-choice-grid{width:min(900px,100%);height:100%;min-height:0;padding:8px 16px max(16px, env(safe-area-inset-bottom));grid-auto-rows:minmax(0,1fr);align-self:stretch}.picture-choice-board .image-choice{border-width:1px;border-radius:12px;width:100%;height:100%;min-height:0;padding:6px}.picture-choice-board .image-choice img{width:100%;height:100%;min-height:0}.reverse-choice-board{grid-template-rows:auto minmax(0,1fr)}.reverse-choice-content{width:min(1000px,100%);height:100%;min-height:0;padding:4px 16px max(16px, env(safe-area-inset-bottom));overscroll-behavior:contain;grid-template-rows:minmax(96px,38fr) minmax(112px,62fr);justify-items:center;gap:12px;display:grid;overflow:auto}.reverse-choice-content .question-image-frame{width:min(430px,100%);height:100%}.reverse-choice-content .question-image-frame .question-image{aspect-ratio:auto;object-fit:contain;width:100%;height:100%}.reverse-choice-content .text-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:10px 8px;width:min(680px,100%);height:100%;min-height:0}.reverse-choice-content .text-choice{border-width:1px;border-radius:12px;min-height:0;padding:8px 12px;font-size:clamp(19px,min(5dvh,7vw),30px);font-weight:700;line-height:1.15;box-shadow:0 2px 8px #00000014}.contrast-board{grid-template-rows:auto auto minmax(0,1fr)}.contrast-board .contrast-prompt-row{width:min(560px,100%);margin-inline:auto;padding:2px 64px 4px}.contrast-board .image-choice-grid{width:min(900px,100%);height:100%;min-height:0;padding:8px 12px max(16px, env(safe-area-inset-bottom));grid-auto-rows:minmax(0,1fr);align-self:stretch;place-items:center}.contrast-board .image-choice{aspect-ratio:1;border-radius:8px;width:auto;max-width:100%;height:min(100%,360px);min-height:0;padding:2px}.contrast-board .image-choice img{width:100%;height:100%;min-height:0}@media (orientation:portrait){.contrast-board .image-choice-grid--2{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:minmax(0,1fr);width:min(384px,100%)}}.question-image-frame{border:1px solid var(--border);background:var(--surface);width:min(430px,100%);min-height:0;box-shadow:var(--shadow);border-radius:16px;position:relative;overflow:hidden}.question-image-frame .question-image{aspect-ratio:auto;object-fit:contain;width:100%;height:100%;box-shadow:none;border:0;border-radius:0}.speaker-button--overlay{background:#12182994;width:48px;height:48px;position:absolute;top:12px;right:12px}.conversation-board{grid-template-rows:auto minmax(0,1fr) auto;width:100%}.conversation-board--demo{grid-template-rows:auto minmax(0,1fr) auto}.conversation-board>.conversation-demo-progress{padding-top:max(18px, env(safe-area-inset-top));padding-bottom:10px}.conversation-scroll{overscroll-behavior:contain;scrollbar-gutter:stable both-edges;width:100%;min-height:0;padding:8px 16px 12px;overflow:auto}.conversation-card{border:1px solid var(--border);background:var(--surface);width:min(760px,100%);box-shadow:var(--shadow);border-radius:16px;gap:12px;margin-inline:auto;padding:14px;display:grid}.conversation-scroll .conversation-card{padding:14px}.conversation-card__title{align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.conversation-card__icon{width:20px;height:20px;color:var(--primary);fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none}.conversation-scene{object-fit:contain;border:1px solid var(--border);border-radius:12px;width:100%;height:min(176px,24dvh)}.conversation-avatar{border:1px solid var(--border);width:44px;height:44px;color:var(--primary)}.chat-bubble{grid-template-columns:minmax(0,1fr) auto;align-items:center;font-size:clamp(20px,4vw,24px);font-weight:700;position:relative}.chat-bubble--listening{font-size:19px}.conversation-board--demo .chat-bubble{cursor:default}.chat-bubble__speaker{color:#fff;background:var(--primary);border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.chat-bubble__speaker svg{width:20px;height:20px}.grammar-prompt__speaker{color:#fff;background:var(--primary);border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.reply-tray,.grammar-answer-tray{border-top:1px solid var(--border);background:var(--surface);gap:9px;width:100%;padding:12px 16px 16px;display:grid}.reply-tray h2,.grammar-answer-tray h2{margin:0;font-size:14px}.reply-list{grid-template-columns:repeat(2,minmax(0,1fr))}.reply-choice{border-width:1px;border-radius:10px;min-height:0;padding:8px 10px;font-size:clamp(17px,3.5dvh,30px);font-weight:700;line-height:1.15;box-shadow:0 2px 8px #00000014}.conversation-board>.reply-tray{width:100%;height:clamp(250px,36dvh,320px);margin:0;padding:0;display:block}.reply-tray__content{width:min(760px,100%);height:100%;padding:11px 16px max(9px, env(safe-area-inset-bottom));grid-template-rows:auto minmax(0,1fr);gap:7px;margin-inline:auto;display:grid}.reply-tray__content .reply-list{grid-template-rows:repeat(2,minmax(0,1fr));gap:10px;height:100%;min-height:0}.conversation-demo-actions{width:100%;padding:8px 20px max(16px, env(safe-area-inset-bottom));place-items:center;display:grid}.conversation-demo-action{width:min(520px,100%);min-height:64px;font-size:17px;font-weight:700}@media (min-width:700px) and (max-width:899px){.conversation-scene{height:min(260px,30dvh)}}@media (min-width:900px){.conversation-scene{height:min(420px,32dvh)}}.grammar-board{grid-template-rows:auto minmax(0,1fr) auto;justify-self:center;place-items:stretch stretch;gap:0;width:100%;height:100%;min-height:0}.grammar-board>.round-question-progress{width:100%;padding:max(10px, env(safe-area-inset-top)) max(68px, calc(16px + env(safe-area-inset-right))) 8px max(16px, env(safe-area-inset-left))}.grammar-question-scroll{overscroll-behavior:contain;scrollbar-gutter:stable both-edges;min-height:0;overflow:auto}.grammar-question-area{align-content:start;justify-items:center;gap:12px;width:min(620px,100%);min-height:100%;margin-inline:auto;padding:12px 20px 24px;display:grid}.grammar-image{aspect-ratio:1;border-radius:10px;width:min(440px,60vw,30dvh);padding:8px}.grammar-prompt{background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;gap:10px;width:min(560px,100%);min-width:0;min-height:42px;padding:0;font-size:clamp(23px,5vw,32px);font-weight:800;display:flex;position:relative}.grammar-prompt__content{justify-content:center;min-width:0;max-width:100%;display:inline-flex}.grammar-audio-prompt{color:var(--primary-dark);align-items:center;gap:10px;display:inline-flex}.grammar-answer-tray .text-choice-grid{grid-template-columns:1fr;align-self:center;gap:10px;width:100%}.grammar-answer-tray .text-choice{border-width:1px;border-radius:10px;min-height:68px;font-size:clamp(17px,3vw,25px);box-shadow:0 2px 8px #00000012}.grammar-answer-tray .game-choice--selected{border-width:2px}.grammar-answer-tray .game-choice--wrong,.grammar-answer-tray .game-choice--correct{border-width:3px}.grammar-confirm{width:100%;min-height:78px;margin-top:22px;font-size:19px}.grammar-board .grammar-answer-tray{border-top:1px solid var(--border);background:var(--surface);width:100%;height:clamp(330px,45dvh,410px);margin:0;padding:0;display:block}.grammar-answer-tray__content{grid-template-rows:auto minmax(0,1fr) auto;width:min(600px,100%);height:100%;margin-inline:auto;padding:16px 20px;display:grid}.grammar-answer-tray__content h2{color:var(--muted);margin:0;padding-bottom:10px;font-size:14px;font-weight:650}.pair-board,.picture-choice-board .image-choice-grid,.reverse-choice-content,.contrast-board .image-choice-grid,.conversation-demo-actions,.reply-tray__content,.grammar-answer-tray__content{padding-bottom:max(20px, calc(env(safe-area-inset-bottom) + 4px))}.round-complete{text-align:center;grid-template-rows:minmax(0,1fr) auto;place-content:stretch;justify-items:stretch;width:min(960px,100%);max-width:960px;height:100dvh;padding:0;display:grid}.round-complete__scroll{min-height:0;padding:clamp(32px,5vw,56px) clamp(18px,5vw,64px) 20px;overflow:auto}.adaptive-completion,.standard-completion{justify-items:center;gap:22px;display:grid}.standard-completion{width:min(760px,100%);margin-inline:auto}.standard-completion__hero{justify-items:center;gap:20px;display:grid}.standard-completion__hero h1{margin:0;font-size:clamp(24px,2.4vw,30px)}.standard-completion__details{gap:16px;width:100%;display:grid}.adaptive-completion__header h1{margin:0 0 6px;font-size:clamp(21px,4vw,27px)}.adaptive-completion__header p{color:var(--muted);margin:0;font-size:14px}.completion-feedback-card,.completion-milestones,.completion-progress,.completion-unlock-progress{text-align:left;width:min(760px,100%)}.completion-feedback-card{gap:12px;display:grid}.completion-feedback-card h2,.completion-milestones h2,.completion-unlock-progress h2{margin:0;font-size:15px}.completion-feedback-card__eyebrow,.completion-milestones h2{color:var(--muted);letter-spacing:.035em;text-transform:uppercase;font-size:12px;font-weight:750}.completion-bar{gap:5px;display:grid}.completion-bar>div{justify-content:space-between;gap:12px;font-size:12px;display:flex}.completion-bar>div span{color:var(--muted);font-weight:700}.completion-bar progress,.completion-progress progress{accent-color:#4f9b52;border:0;border-radius:99px;width:100%;height:9px;overflow:hidden}.completion-bar--blue progress{accent-color:#338bb0}.completion-milestones{gap:8px;display:grid}.completion-milestones__grid{grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));gap:8px;display:grid}.completion-milestone{border:1px solid;border-radius:6px;align-items:center;gap:10px;min-height:58px;padding:8px 10px;font-size:14px;font-weight:700;display:flex}.completion-milestone img{object-fit:contain;background:#fff;border-radius:6px;flex:none;width:42px;height:42px}.completion-milestone--green{background:#eff9ef;border-color:#b8ddb9}.completion-milestone--purple{background:#f4f1ff;border-color:#d1c9fb}.completion-milestone--blue{background:#eff9fd;border-color:#b7ddec}.completion-milestone--orange{background:#fff7e9;border-color:#f4cf96}.completion-progress{padding:16px}.completion-progress__heading{justify-content:space-between;align-items:end;gap:14px;display:flex}.completion-progress__heading>span{gap:3px;display:grid}.completion-progress__heading small{color:var(--muted);text-transform:uppercase;font-weight:700}.completion-progress__heading>strong{color:#4f8f40}.completion-audio-notice{border:1px solid var(--subtle-border);background:var(--surface);text-align:left;border-radius:8px;align-items:start;gap:12px;width:min(760px,100%);padding:14px;display:flex}.completion-audio-notice p{margin:0;font-size:14px}.completion-ring{--completion:0deg;background:conic-gradient(var(--primary) var(--completion), var(--locked-background) 0);border-radius:50%;place-items:center;width:84px;height:84px;display:grid}.completion-ring:before{content:"";background:var(--background);border-radius:50%;grid-area:1/1;width:66px;height:66px}.completion-ring span{z-index:1;font-size:14px;font-weight:800}.completion-score{border:1px solid var(--subtle-border);background:var(--surface);border-radius:12px;gap:10px;width:min(760px,100%);margin:0;padding:16px;display:grid}.completion-score>div{justify-content:space-between;gap:12px;display:flex}.completion-score dt,.completion-score dd{margin:0}.completion-score dd{font-weight:800}.standard-completion__details .completion-score,.standard-completion__details .completion-unlock{width:100%}.completion-unlock-progress{border:1px solid var(--subtle-border);background:var(--surface);border-radius:12px;gap:9px;padding:16px;display:grid}.completion-unlock-progress .unlock-criteria{background:0 0;margin:0;padding:0}.round-complete__scroll>.completion-unlock,.round-complete__scroll>.form-error{width:min(760px,100%);margin:22px auto 0}.completion-actions{width:min(680px,100%);padding:14px 20px max(18px, env(safe-area-inset-bottom));background:var(--background);justify-self:center}.completion-actions .button:first-child{min-height:72px;font-size:18px}.completion-actions .button:last-child{min-height:62px}@media (min-width:800px){.standard-completion{grid-template-columns:minmax(220px,.8fr) minmax(360px,1.2fr);place-items:center stretch;column-gap:clamp(36px,6vw,72px)}.completion-actions{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);width:min(760px,100%)}.completion-actions .button:last-child{min-height:72px}}.review-page{width:min(960px,100%)}.review-inline-error{color:var(--danger);background:var(--danger-soft);border:1px solid #fecaca;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin:0 14px 8px;padding:10px 12px;display:flex}.review-inline-error .button{min-height:36px}.stage-path{padding:6px 14px 40px}.stage-path-row{grid-template-columns:46px minmax(0,1fr);align-items:stretch;min-height:128px;display:grid}.stage-timeline{position:relative}.stage-timeline:before{content:"";background:#d1d5dbbf;width:4px;position:absolute;top:0;bottom:0;left:21px}.stage-path-row--first .stage-timeline:before{top:52px}.stage-path-row--last .stage-timeline:before{bottom:calc(100% - 52px)}.stage-timeline>span{z-index:1;border:4px solid var(--border);background:var(--background);border-radius:50%;width:24px;height:24px;position:absolute;top:40px;left:11px}.stage-timeline--ready>span{border-color:var(--primary);background:var(--primary)}.stage-timeline--completed>span{border-color:var(--completed);background:var(--completed)}.stage-timeline--review>span{border-color:var(--review);background:var(--review)}.stage-timeline--review-completed>span{border-color:var(--review-completed);background:var(--review-completed)}.stage-timeline--finish>span{border-color:var(--finish);background:var(--finish)}.stage-path-card{border:1px solid var(--border);color:#fff;background:var(--primary);border-radius:18px;align-self:start;margin:8px 0;transition:box-shadow .25s,border-color .25s;overflow:hidden;box-shadow:0 4px 10px #1218291f}.stage-path-card__button{width:100%;min-height:104px;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:12px 16px}.stage-path-card__button:disabled{cursor:default}.stage-path-card--locked{color:var(--locked-icon);background:var(--locked-background);box-shadow:0 3px 8px #1218290f}.stage-path-card--completed{color:var(--text);background:var(--completed);border-color:var(--completed)}.stage-path-card--review{background:var(--primary);border-color:var(--primary)}.stage-path-card--review-completed{background:var(--review-completed);border-color:var(--review-completed)}.stage-path-card--finish{background:var(--finish);border-color:var(--finish)}.stage-path-card--ready{border-color:var(--primary)}.stage-path-card--highlighted{border-color:#fffffff5;animation:1.45s ease-in-out infinite alternate stage-attention;box-shadow:0 0 0 3px #ebcb45b8,0 8px 20px #12182929}@keyframes stage-attention{to{box-shadow:0 0 0 5px #ebcb4547,0 8px 22px #1218292e}}.stage-path-card__summary{grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.stage-path-card__number{width:48px;height:48px;color:inherit;background:#ffffff2e;border-radius:50%;place-items:center;font-size:20px;font-weight:850;display:grid}.stage-path-card--completed .stage-path-card__number,.stage-path-card--locked .stage-path-card__number{background:#ffffff47}.stage-path-card__copy{gap:4px;min-width:0;display:grid}.stage-path-card__copy strong{font-size:17px}.stage-path-card__copy em,.stage-path-card__copy small{text-overflow:ellipsis;white-space:nowrap;color:currentColor;opacity:.78;min-width:0;font-size:14px;overflow:hidden}.stage-path-card__copy progress{width:100%;height:5px;accent-color:var(--finish);border:0;border-radius:99px;overflow:hidden}.stage-path-card__chevron{font-size:22px;transition:transform .25s}.stage-path-card__chevron--expanded{transform:rotate(180deg)}.stage-path-card__spinner{border-color:currentColor #ffffff73 #ffffff73}.stage-path-card__details{border-top:1px solid #d1d5db8c;padding:0 16px 14px;display:block}.stage-path-card__details .unlock-criteria{color:var(--text);background:#ffffffeb;margin:12px 0 0}.stage-unlock-state{justify-content:center;align-items:center;min-height:70px;display:flex}.stage-unlock-state--error{color:var(--muted);justify-content:space-between;gap:10px}.stage-unlock-state .button{min-height:36px}@media (max-width:760px){.sidebar{display:none}.app-content{margin-left:0;padding-bottom:72px}.page{padding:26px 16px 36px}.bottom-nav{z-index:40;min-height:68px;padding:5px max(5px, env(safe-area-inset-right)) max(5px, env(safe-area-inset-bottom)) max(5px, env(safe-area-inset-left));border-top:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff5;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;inset:auto 0 0}.bottom-nav:has(.nav-link:nth-child(3):last-child){grid-template-columns:repeat(3,1fr)}.bottom-nav .nav-link{border-radius:10px;align-content:center;place-items:center;gap:2px;min-height:57px;padding:4px;display:grid}.bottom-nav .nav-icon{width:22px;height:22px}.bottom-nav small{font-size:10px}.page-header{align-items:start}.page-header__action{max-width:45%}.grid--2,.grid--3{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(3,1fr)}.practice-hero{grid-template-columns:1fr}.stage-card{grid-template-columns:auto 1fr}.stage-card>.button{grid-column:1/-1}.round-page{padding-top:12px}.modal-dialog{border-radius:20px 20px 0 0;width:100%;max-width:none;max-height:90dvh;margin:auto 0 0}.modal-dialog__surface{max-height:90dvh}.share-dialog__layout{grid-template-columns:1fr}.share-card-preview{width:min(100%,360px);margin-inline:auto}.share-channel-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-page .page-header{margin-bottom:22px}}@media (max-width:430px){.metrics{grid-template-columns:1fr}.metric{min-height:82px}.page-header{display:grid}.page-header__action{max-width:none}.text-choice-grid{grid-template-columns:1fr}.image-choice-grid{gap:8px}.image-choice{min-height:125px;padding:6px}.image-choice img{height:125px}.profile-language-scope{flex-direction:column;align-items:flex-start;gap:7px}.profile-language-scope>span:last-child{align-self:flex-end}.profile-panel{padding-inline:20px}.profile-metric-grid{column-gap:20px}.profile-inline-error{grid-template-columns:24px 1fr}.profile-inline-error .button{grid-column:1/-1}.share-channel-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.share-copy-row{grid-template-columns:1fr}.share-copy-row .button{width:100%}}@media (max-width:350px){.profile-metric-grid{grid-template-columns:1fr}}@media (max-width:760px){.native-page>.page-header h1{font-size:28px}.settings-section{margin-top:18px}.round-page{gap:16px;width:100%;padding-inline:16px}.round-question-progress,.conversation-demo-progress{padding-left:0}.conversation-card{padding:10px}.reply-tray,.grammar-answer-tray{width:calc(100% + 32px);margin-inline:-16px}.completion-actions{padding-inline:16px}.stage-path{padding-inline:0}}@media (max-width:430px){.practice-start-native{grid-template-columns:48px 1fr 28px;gap:12px;padding-inline:15px}.practice-start-native__icon{width:48px;height:48px}.recent-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-row{gap:10px}.settings-row__trailing{max-width:58%;font-size:14px}.modal-dialog__footer{padding-inline:16px}.modal-dialog__footer .button{flex:1}.vocabulary-round-header .round-prompt-title{padding-inline:44px}.image-choice-grid,.reverse-choice-board .text-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reply-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.reply-choice{min-height:68px;padding:8px}.stage-path-row{grid-template-columns:38px minmax(0,1fr)}.stage-timeline:before{left:17px}.stage-timeline>span{left:7px}.stage-path-card__button{padding-inline:12px}.stage-path-card__summary{grid-template-columns:44px minmax(0,1fr) auto;gap:10px}.stage-path-card__number{width:44px;height:44px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
