:root,.theme-light,.theme-system{--bg:#f5f5f5;--bg-accent:#eee;--surface:#fff;--surface-subtle:#eee;--surface-hover:#f7f7f7;--sidebar:#fafafa;--text:#202020;--text-secondary:#515151;--muted:#707070;--border:#e2e2e2;--border-strong:#c9c9c9;--accent:#333;--accent-hover:#181818;--accent-soft:#ebebeb;--accent-ink:#303030;--accent-text:#fff;--marigold:#8a8a8a;--marigold-soft:#eee;--marigold-ink:#555;--coral:#777;--coral-soft:#e9e9e9;--sky:#666;--sky-soft:#ececec;--secondary:#202020;--secondary-text:#fff;--focus:rgba(51,51,51,.24);--shadow-sm:0 1px 2px rgba(0,0,0,.05);--shadow:0 1px 2px rgba(0,0,0,.04), 0 8px 24px rgba(0,0,0,.05);--shadow-raised:0 2px 6px rgba(0,0,0,.06), 0 18px 48px rgba(0,0,0,.14);--highlight:#dedede;--selection:#d4d4d4;--scrim:rgba(0,0,0,.42);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark],.theme-dark{--bg:#121212;--bg-accent:#181818;--surface:#1c1c1c;--surface-subtle:#242424;--surface-hover:#2b2b2b;--sidebar:#161616;--text:#ededed;--text-secondary:#bcbcbc;--muted:#969696;--border:#303030;--border-strong:#484848;--accent:#d6d6d6;--accent-hover:#eee;--accent-soft:#303030;--accent-ink:#dedede;--accent-text:#181818;--marigold:#b8b8b8;--marigold-soft:#2e2e2e;--marigold-ink:#d0d0d0;--coral:#a3a3a3;--coral-soft:#2c2c2c;--sky:#c5c5c5;--sky-soft:#2d2d2d;--secondary:#ededed;--secondary-text:#161616;--focus:rgba(214,214,214,.3);--shadow-sm:0 1px 2px rgba(0,0,0,.3);--shadow:0 1px 2px rgba(0,0,0,.25), 0 8px 24px rgba(0,0,0,.22);--shadow-raised:0 2px 6px rgba(0,0,0,.3), 0 20px 50px rgba(0,0,0,.45);--highlight:#444;--selection:#484848;--scrim:rgba(0,0,0,.6);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root[data-theme=system],.theme-system{--bg:#121212;--bg-accent:#181818;--surface:#1c1c1c;--surface-subtle:#242424;--surface-hover:#2b2b2b;--sidebar:#161616;--text:#ededed;--text-secondary:#bcbcbc;--muted:#969696;--border:#303030;--border-strong:#484848;--accent:#d6d6d6;--accent-hover:#eee;--accent-soft:#303030;--accent-ink:#dedede;--accent-text:#181818;--marigold:#b8b8b8;--marigold-soft:#2e2e2e;--marigold-ink:#d0d0d0;--coral:#a3a3a3;--coral-soft:#2c2c2c;--sky:#c5c5c5;--sky-soft:#2d2d2d;--secondary:#ededed;--secondary-text:#161616;--focus:rgba(214,214,214,.3);--shadow-sm:0 1px 2px rgba(0,0,0,.3);--shadow:0 1px 2px rgba(0,0,0,.25), 0 8px 24px rgba(0,0,0,.22);--shadow-raised:0 2px 6px rgba(0,0,0,.3), 0 20px 50px rgba(0,0,0,.45);--highlight:#444;--selection:#484848;--scrim:rgba(0,0,0,.6);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=calm],.theme-calm{--bg:#f1eadc;--bg-accent:#e9ddca;--surface:#fbf7ee;--surface-subtle:#ece4d4;--surface-hover:#f6f0e3;--sidebar:#ece4d4;--text:#2e2a22;--text-secondary:#5b5446;--muted:#847b6b;--border:#ddd2bf;--border-strong:#c9bba3;--accent:#805b3f;--accent-hover:#67462f;--accent-soft:#eadcc8;--accent-ink:#624329;--accent-text:#fff;--marigold:#b78a55;--marigold-soft:#f1e3cd;--marigold-ink:#77552d;--coral:#9b6248;--coral-soft:#efddd1;--sky:#92745a;--sky-soft:#e9ded1;--secondary:#2e2a22;--secondary-text:#fbf7ee;--focus:rgba(128,91,63,.24);--shadow-sm:0 1px 2px rgba(62,49,35,.06);--shadow:0 1px 2px rgba(62,49,35,.05), 0 8px 24px rgba(62,49,35,.07);--shadow-raised:0 2px 6px rgba(62,49,35,.08), 0 18px 46px rgba(62,49,35,.16);--highlight:#e4c99d;--selection:#dfc9aa;--scrim:rgba(46,42,34,.4);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=tokyo-night],.theme-tokyo-night{--bg:#15161f;--bg-accent:#1a1d2c;--surface:#1b1d2a;--surface-subtle:#232638;--surface-hover:#292d42;--sidebar:#13141c;--text:#c8d0f5;--text-secondary:#a9b1d6;--muted:#7f88ad;--border:#2e3350;--border-strong:#434a6c;--accent:#7aa2f7;--accent-hover:#93b4fa;--accent-soft:#263255;--accent-ink:#a9c3fb;--accent-text:#11131c;--marigold:#e0af68;--marigold-soft:#3a3122;--marigold-ink:#ecc68f;--coral:#f7768e;--coral-soft:#3b2230;--sky:#7dcfff;--sky-soft:#1f3247;--secondary:#c8d0f5;--secondary-text:#15161f;--focus:rgba(122,162,247,.3);--shadow-sm:0 1px 2px rgba(5,5,12,.3);--shadow:0 1px 2px rgba(5,5,12,.3), 0 8px 24px rgba(5,5,12,.28);--shadow-raised:0 2px 6px rgba(5,5,12,.35), 0 20px 50px rgba(5,5,12,.5);--highlight:#3d3a5c;--selection:#33466e;--scrim:rgba(5,5,12,.6);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root,.theme-light,.theme-calm,.theme-system{--success:#267347;--success-soft:#e4f3e9;--warning:#bd8414;--warning-soft:#fff3cf;--warning-ink:#805600;--danger:#bb3d36;--danger-soft:#fce9e6;--danger-text:#fff}:root[data-theme=dark],:root[data-theme=tokyo-night],.theme-dark,.theme-tokyo-night{--success:#78cb97;--success-soft:#163824;--warning:#eab75a;--warning-soft:#392d16;--warning-ink:#f4cc79;--danger:#f08c85;--danger-soft:#412521;--danger-text:#181818}@media (prefers-color-scheme:dark){:root[data-theme=system],.theme-system{--success:#78cb97;--success-soft:#163824;--warning:#eab75a;--warning-soft:#392d16;--warning-ink:#f4cc79;--danger:#f08c85;--danger-soft:#412521;--danger-text:#181818}}:root{--avatar-start:#0f7a6a;--avatar-end:#397d5b;--avatar-text:#fff;--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--font-reading:"Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Charter, "Noto Serif", Georgia, serif;--radius-sm:8px;--radius:12px;--radius-lg:16px;--radius-xl:22px;--ease:cubic-bezier(.22, 1, .36, 1);font-family:var(--font-sans);color:var(--text);background:var(--bg);font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}*{box-sizing:border-box}html,body,#main{background:var(--bg);min-height:100%}body{min-width:320px;min-height:100vh;color:var(--text);margin:0;line-height:1.5}button,input,textarea,select{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3,h4{color:var(--text);font-family:inherit;line-height:1.2}h1{letter-spacing:-.028em;margin-bottom:10px;font-size:clamp(1.85rem,3.2vw,2.45rem);font-weight:720}h2{letter-spacing:-.015em;margin-bottom:14px;font-size:1.22rem;font-weight:680}h3{margin-bottom:8px;font-size:1.05rem;font-weight:650}a{color:var(--accent)}::selection{background:var(--selection)}.theme-root{min-height:100vh;color:var(--text);background:var(--bg);transition:color .16s,background-color .16s}.shell-icon{flex:none;display:block}label{color:var(--text-secondary);gap:7px;font-size:.86rem;font-weight:600;display:grid}input,textarea,select{border:1px solid var(--border-strong);background:var(--surface);width:100%;color:var(--text);border-radius:10px;padding:11px 13px;font-weight:450;transition:border-color .15s,box-shadow .15s}input::placeholder{color:var(--muted);opacity:1}textarea::placeholder{color:var(--muted);opacity:1}textarea{resize:vertical;line-height:1.55}select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 19px) 52%,calc(100% - 14px) 52%;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:38px}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--focus);outline:0}input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);flex:none;margin:0;padding:0}input[type=radio]{width:18px;height:18px;accent-color:var(--accent);flex:none;margin:0;padding:0}input[type=range]{accent-color:var(--accent);border:0;padding:0}input[type=number]{max-width:160px}fieldset{border:0;min-width:0;margin:0;padding:0}legend{color:var(--text-secondary);margin-bottom:10px;padding:0;font-size:.86rem;font-weight:600}button{background:var(--accent);width:fit-content;color:var(--accent-text);border:0;border-radius:10px;align-items:center;gap:8px;padding:10px 17px;font-weight:650;transition:background-color .15s,color .15s,box-shadow .15s,transform .1s;display:inline-flex}button:not([class]),button.secondary,button.danger-solid,button.ghost:not(.menu-item){justify-content:center}button:hover{background:var(--accent-hover)}button:active{transform:translateY(1px)}button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}a:focus-visible{outline:3px solid var(--focus);outline-offset:2px}summary:focus-visible{outline:3px solid var(--focus);outline-offset:2px}button:disabled{cursor:default;opacity:.55;transform:none}button.secondary{background:var(--surface);color:var(--text);box-shadow:inset 0 0 0 1px var(--border-strong), var(--shadow-sm)}button.secondary:hover{background:var(--surface-hover);color:var(--text)}.button-link.secondary{border-color:var(--border-strong);background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.button-link.secondary:hover{background:var(--surface-hover);color:var(--text)}button.ghost,.button-link.ghost{color:var(--text-secondary);box-shadow:none;background:0 0;padding:8px 10px}button.ghost:hover,.button-link.ghost:hover{background:var(--surface-subtle);color:var(--text)}button.danger,.button-link.danger{color:var(--danger)}button.ghost.danger:hover{background:var(--danger-soft);color:var(--danger)}button.danger-solid{background:var(--danger);color:var(--danger-text)}button.danger-solid:hover{background:color-mix(in srgb, var(--danger) 86%, black)}button.icon-button,.icon-button{width:38px;min-width:38px;height:38px;color:var(--muted);background:0 0;border-radius:10px;place-items:center;padding:0;display:inline-grid}button.icon-button:hover{background:var(--surface-subtle);color:var(--text)}.button-link{background:var(--accent);width:fit-content;color:var(--accent-text);border:1px solid transparent;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:9px 17px;font-weight:650;line-height:1.25;text-decoration:none;transition:background-color .15s,border-color .15s;display:inline-flex}.button-link:hover{background:var(--accent-hover)}.text-link{color:var(--accent);align-items:center;gap:4px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.text-link:hover{text-underline-offset:3px;text-decoration:underline}.button-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}a.nav-item,a.document-open{text-decoration:none}.muted{color:var(--muted)}.error{color:var(--danger)}p.error{background:var(--danger-soft);overflow-wrap:anywhere;border-radius:10px;padding:10px 14px;font-size:.92rem}.notice{color:var(--success);margin-top:14px;font-weight:600}hr{border:0;border-top:1px solid var(--border);margin:28px 0}.eyebrow{color:var(--accent-ink);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:6px;margin:0;font-size:.78rem;font-weight:700;display:inline-flex}.lede{max-width:640px;color:var(--text-secondary);font-size:1.02rem;line-height:1.6}.field-label{color:var(--text-secondary);margin:0;font-size:.86rem;font-weight:600}.field-help{color:var(--muted);margin:0;font-size:.8rem;font-weight:450}.pill,.tag{background:var(--accent-soft);width:fit-content;color:var(--accent-ink);border-radius:999px;align-items:center;font-size:.74rem;font-weight:650;display:inline-flex}.pill{padding:4px 10px}.tag{vertical-align:middle;margin-left:8px;padding:2px 9px}.chips{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.chip{background:var(--surface-subtle);color:var(--text-secondary);border-radius:999px;padding:6px 11px;font-size:.84rem}.chip strong{color:var(--text);margin-right:4px}.chip.linked{color:var(--text-secondary);font-weight:500}.chip.removable{border:1px solid var(--border);background:var(--surface);color:var(--text);align-items:center;gap:4px;padding:5px 6px 5px 12px;font-weight:550;display:inline-flex}.chip.removable button{width:24px;min-width:24px;height:24px;min-height:24px;color:var(--muted);background:0 0;border-radius:50%;padding:0}.chip.removable button:hover{background:var(--surface-subtle);color:var(--text)}button.chip-button{border:1px solid var(--border);background:var(--surface);min-height:34px;color:var(--text-secondary);border-radius:999px;padding:6px 13px;font-size:.86rem;font-weight:550}button.chip-button:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}button.chip-button.selected{border-color:var(--accent);background:var(--accent);color:var(--accent-text)}.meter{background:var(--surface-subtle);border-radius:99px;height:6px;display:block;overflow:hidden}.meter>span{border-radius:inherit;background:linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent) 70%, var(--marigold)));height:100%;transition:width .4s var(--ease);display:block}.meter.small{height:4px}.tip{background:var(--warning-soft);color:var(--warning-ink);border-radius:12px;gap:10px;margin:16px 0 0;padding:12px 14px;font-size:.86rem;line-height:1.5;display:flex}.tip .shell-icon{margin-top:1px}.loading-row{color:var(--muted);align-items:center;gap:12px;padding:18px 2px;display:flex}.loading-dots{gap:5px;display:inline-flex}.loading-dots span{background:var(--accent);width:7px;height:7px;animation:dot-bounce 1.1s infinite var(--ease);border-radius:50%}.loading-dots span:nth-child(2){background:color-mix(in srgb, var(--accent) 60%, var(--marigold));animation-delay:.15s}.loading-dots span:nth-child(3){background:var(--marigold);animation-delay:.3s}@keyframes dot-bounce{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}.confirm-inline{color:var(--text-secondary);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;font-size:.88rem;display:flex}.confirm-inline button,.profile-actions button{min-height:34px;padding:6px 12px;font-size:.86rem}.confirm-label{color:var(--text-secondary);font-size:.88rem}.switch-row{color:var(--text);cursor:pointer;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:14px;margin:4px 0;padding:14px 0;font-weight:500;display:grid}.switch-row+.switch-row{border-top:1px solid var(--border)}.switch-row input[type=checkbox]{background:var(--border-strong);appearance:none;cursor:pointer;border:0;border-radius:99px;width:40px;height:24px;margin-top:1px;transition:background-color .18s;position:relative}.switch-row input[type=checkbox]:after{content:"";width:18px;height:18px;transition:transform .18s var(--ease);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px rgba(0,0,0,.25)}.switch-row input[type=checkbox]:checked{background:var(--accent)}.switch-row input[type=checkbox]:checked:after{background:var(--accent-text);transform:translate(16px)}.switch-row input[type=checkbox]:focus-visible{box-shadow:0 0 0 4px var(--focus)}.switch-copy{gap:3px;display:grid}.switch-copy strong{font-size:.95rem;font-weight:600}.switch-copy small{color:var(--muted);font-size:.84rem;font-weight:450;line-height:1.45}.option-row{color:var(--text);align-items:center;gap:10px;margin-top:12px;font-weight:500;display:flex}.option-row input{width:auto}.inline-control{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:9px;display:grid}.inline-control button{white-space:nowrap}.form-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.form-actions.end{justify-content:flex-end}.field-group{gap:10px;display:grid}.more-options{border-top:1px solid var(--border);padding-top:14px}.more-options summary,details.dictionary-context summary{color:var(--text-secondary);cursor:pointer;align-items:center;gap:6px;font-size:.9rem;font-weight:600;list-style:none;display:inline-flex}.more-options summary::-webkit-details-marker{display:none}details.dictionary-context summary::-webkit-details-marker{display:none}.more-options summary:before{content:"+";background:var(--surface-subtle);width:20px;height:20px;color:var(--muted);border-radius:6px;place-items:center;font-weight:700;display:inline-grid}.more-options[open] summary:before{content:"–"}.more-options[open] summary{margin-bottom:12px}.developer-panel{border:1px dashed var(--border-strong);background:var(--surface-subtle);border-radius:12px;flex-wrap:wrap;align-items:center;gap:4px 18px;margin-top:14px;padding:10px 14px;font-size:.84rem;display:flex}.developer-panel .option-row{margin:0}.row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.wordmark{color:var(--text);letter-spacing:-.035em;align-items:center;gap:10px;font-size:1.28rem;font-weight:760;display:inline-flex}.wordmark.small{font-size:1.14rem}.entry-shell{background:radial-gradient(120% 60% at 50% -10%, var(--bg-accent), transparent 60%), var(--bg);flex-direction:column;align-items:center;min-height:100dvh;padding:0 20px 48px;display:flex}.entry-topbar{width:min(1040px,100%);padding:max(22px, env(safe-area-inset-top)) 0 26px;justify-content:space-between;align-items:center;gap:16px;display:flex}.entry-link{border:1px solid var(--border);background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm);border-radius:999px;padding:8px 14px;font-size:.88rem;font-weight:600}.entry-link:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}.entry-panel{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);width:min(520px,100%);box-shadow:var(--shadow);padding:clamp(26px,5vw,44px)}.entry-panel h1{font-size:clamp(1.8rem,5vw,2.3rem)}.entry-panel form{gap:16px;margin-top:22px;display:grid}.entry-split{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);width:min(1040px,100%);box-shadow:var(--shadow);grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:0;display:grid;overflow:hidden}.entry-split>.entry-panel{width:100%;box-shadow:none;border:0;border-radius:0}.entry-aside{color:#f4fbf8;background:linear-gradient(160deg,#13917c,#0b5f52);align-content:center;gap:28px;padding:48px 44px;display:grid;position:relative;overflow:hidden}.entry-aside:after{content:"";background:rgba(247,181,68,.18);border-radius:50% 50% 50% 0;width:240px;height:240px;position:absolute;bottom:-70px;right:-60px}.entry-aside-title{z-index:1;color:#fff;letter-spacing:-.025em;max-width:360px;margin:0;font-size:1.65rem;font-weight:720;line-height:1.2;position:relative}.entry-aside-list{z-index:1;gap:16px;margin:0;padding:0;list-style:none;display:grid;position:relative}.entry-aside-list li{color:#dcefe9;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:14px;font-size:.95rem;line-height:1.45;display:grid}.entry-aside-icon{color:#ffd58a;background:rgba(255,255,255,.12);border-radius:11px;place-items:center;width:38px;height:38px;display:grid}.auth-back{margin:-8px 0 18px -10px}.auth-resend{margin:12px 0 0 -10px}.auth-error{margin:20px 0 0}.auth-recovery h1{font-size:clamp(1.6rem,5vw,2rem)}.auth-recovery .auth-error{overflow-wrap:anywhere}.auth-recovery-actions{gap:10px;margin-top:22px;display:grid}.auth-recovery-actions button{width:100%}.auth-card form button[type=submit]{width:100%;padding-block:13px}.otp-input{font-variant-numeric:tabular-nums;letter-spacing:.4em;text-align:center;font-size:1.6rem;font-weight:700}.auth-loading-shell{justify-content:center}.auth-loading{color:var(--muted);text-align:center;justify-items:center;gap:16px;display:grid}.auth-loading p{margin:0}.auth-loading-mark{animation:1.8s ease-in-out infinite gentle-float}.auth-loading-mark .wordmark{font-size:2rem}@keyframes gentle-float{50%{transform:translateY(-6px)}}.onboarding-card{width:min(860px,100%);overflow-x:clip}.onboarding-topline{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.onboarding-steps{flex:1;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;min-width:min(100%,420px);margin:0;padding:0;list-style:none;display:grid}.onboarding-steps li{color:var(--muted);gap:7px;font-size:.76rem;font-weight:600;display:grid}.onboarding-step-bar{background:var(--border);border-radius:99px;height:5px;transition:background-color .3s}.onboarding-steps li.complete .onboarding-step-bar{background:color-mix(in srgb, var(--success) 45%, var(--border))}.onboarding-steps li.active{color:var(--accent-ink)}.onboarding-steps li.active .onboarding-step-bar{background:var(--accent)}.onboarding-step-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.onboarding-back{margin-left:-10px}.onboarding-screen{min-width:0}.onboarding-question,.onboarding-answer{will-change:opacity, transform}.onboarding-question{animation:onboarding-question-forward .2s var(--ease) both}.onboarding-answer{animation:onboarding-answer-forward .22s var(--ease) .1s both}@keyframes onboarding-question-forward{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}@keyframes onboarding-answer-forward{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:none}}.onboarding-form{gap:16px;display:grid}.progressive-onboarding{margin:0}.onboarding-flow{gap:10px;display:grid}.onboarding-active-question{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow);animation:progressive-question-in .26s var(--ease) both;gap:22px;margin:4px 0;padding:clamp(22px,5vw,40px);display:grid}.onboarding-active-question .onboarding-question h1{max-width:640px;margin-bottom:8px;font-size:clamp(1.75rem,4.6vw,2.5rem)}.onboarding-active-question .onboarding-question .lede{max-width:600px;margin-bottom:0}.onboarding-compact-answer{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 60%, transparent);width:100%;color:var(--text);text-align:left;animation:progressive-answer-in .2s var(--ease) both;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:12px 16px;display:grid}.onboarding-compact-answer:hover{border-color:var(--border-strong);background:var(--surface)}.onboarding-compact-copy{gap:1px;min-width:0;display:grid}.onboarding-compact-copy small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;font-weight:500;overflow:hidden}.onboarding-compact-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;overflow:hidden}.onboarding-edit-label{color:var(--accent);font-size:.8rem;font-weight:650}.onboarding-option-answer{gap:18px;display:grid}.onboarding-confirm-choice,.onboarding-name-submit{justify-self:end;min-width:120px}.onboarding-review-actions{gap:14px;display:grid}.onboarding-review-screen{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow);animation:progressive-question-in .26s var(--ease) both;gap:22px;padding:clamp(22px,5vw,40px);display:grid}.onboarding-review-screen h1{margin-bottom:8px;font-size:clamp(1.75rem,4.6vw,2.5rem)}.onboarding-review-screen h1:focus{outline:none}.onboarding-review-screen fieldset{border:0;min-width:0;margin:0;padding:0}.onboarding-review-language{border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:8px;padding:14px 16px;display:grid}.onboarding-review-line{justify-content:space-between;align-items:center;gap:12px;display:flex}.onboarding-review-line>div:first-child{min-width:0}.onboarding-review-line strong,.onboarding-review-preferences small{overflow-wrap:anywhere}.onboarding-review-line .ghost{flex-shrink:0;min-height:32px;padding:5px 10px;font-size:.82rem}.onboarding-review-buttons{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:4px;display:flex}.onboarding-review-preferences{color:var(--muted)}.onboarding-primary-label{color:var(--muted);margin-top:3px;font-size:.76rem;display:block}.onboarding-review-screen .onboarding-add-group>label{margin:0}.onboarding-review-screen .onboarding-add-group>select{max-width:320px}.onboarding-add-group{border:1px solid var(--border);background:var(--surface-subtle);border-radius:16px;gap:10px;padding:18px;display:grid}.onboarding-add-group>div:first-child h2,.onboarding-add-group>div:first-child p{margin:0}.onboarding-add-group>div:first-child h2{font-size:1.02rem}.onboarding-add-group>div:first-child p{color:var(--muted);margin-top:3px;font-size:.82rem}.onboarding-add-group>.secondary{justify-self:start}.confirmation-submit{justify-self:end;min-width:180px;padding-block:13px}@keyframes progressive-question-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes progressive-answer-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.language-picker{gap:24px;display:grid}.language-search{border:1px solid var(--border-strong);background:var(--surface);color:var(--muted);border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:0 14px;transition:border-color .15s,box-shadow .15s;display:grid}.language-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--focus)}.language-search input,.language-search input:focus{min-width:0;box-shadow:none;background:0 0;border:0;outline:0;padding:13px 0}.language-section{gap:10px;display:grid}.language-section h2{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:700}.language-empty{margin:0;padding:18px 0}.language-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.language-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr));max-height:340px;padding:2px;overflow-y:auto}.language-card{border:1px solid var(--border);background:var(--surface);width:100%;min-height:78px;color:var(--text);text-align:left;transition:border-color .14s ease, background-color .14s ease, transform .14s var(--ease), box-shadow .14s ease;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:13px 14px;font-weight:500;display:grid;position:relative}.language-card:hover{border-color:var(--accent);background:var(--surface);box-shadow:var(--shadow);transform:translateY(-1px)}.language-card.selected{border-color:var(--accent);background:var(--accent-soft);color:var(--text);box-shadow:inset 0 0 0 1px var(--accent)}.language-card-names{gap:2px;min-width:0;display:grid}.language-card-names strong,.language-card-names small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.language-card-names strong{font-weight:650}.language-card-names small{color:var(--muted);font-weight:500}.language-family{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.62rem;font-weight:700;line-height:1.1}.language-flags{white-space:nowrap;align-items:center;gap:2px;font-size:1.05rem;display:flex}.more-flags{color:var(--muted);font-weight:800}.language-check{background:var(--accent);width:20px;height:20px;color:var(--accent-text);border-radius:50%;place-items:center;display:grid;position:absolute;top:7px;right:8px}.variety-selector{gap:8px;margin-top:6px;display:grid}.variety-grid{flex-wrap:wrap;gap:8px;max-width:100%;padding:2px;display:flex}.variety-card{border:1px solid var(--border);background:var(--surface);min-height:42px;color:var(--text);text-align:left;border-radius:999px;flex:none;align-items:center;gap:8px;padding:8px 14px;font-size:.9rem;font-weight:550;display:inline-flex;position:relative}.variety-card:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}.variety-card.selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink);box-shadow:inset 0 0 0 1px var(--accent);padding-right:36px}.variety-card .language-check{top:50%;right:9px;transform:translateY(-50%)}.variety-flag{font-size:1.1rem}.character-rendering-selector,.transliteration-selector{border-top:1px solid var(--border);gap:8px;margin-top:14px;padding-top:16px;display:grid}.character-rendering-grid,.transliteration-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.character-rendering-card,.transliteration-card{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);text-align:left;border-radius:12px;justify-content:stretch;justify-items:start;gap:2px;padding:12px 34px 12px 14px;font-weight:500;display:grid;position:relative}.character-rendering-card{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px}.character-rendering-card:hover,.transliteration-card:hover{border-color:var(--accent);background:var(--surface)}.character-rendering-card.selected,.transliteration-card.selected{border-color:var(--accent);background:var(--accent-soft);color:var(--text);box-shadow:inset 0 0 0 1px var(--accent)}.character-sample{font-size:1.3rem;font-weight:700}.transliteration-name{font-weight:650}.transliteration-sample{color:var(--muted);font-size:.8rem}.profile-gateway{width:min(760px,100%)}.profile-gateway h1{max-width:560px}.profile-choices{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:26px 0 18px;display:grid}.profile-choice{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);text-align:left;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px;font-weight:500;display:grid}.profile-choice:hover{border-color:var(--accent);background:var(--surface);box-shadow:var(--shadow)}.profile-choice-copy{gap:2px;min-width:0;display:grid}.profile-choice-copy strong{font-size:1.05rem}.profile-choice-copy small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile-choice-icon{background:var(--accent-soft);border-radius:14px;place-items:center;width:46px;height:46px;font-size:1.5rem;display:grid}.profile-choice-arrow{color:var(--muted)}.profile-choice:hover .profile-choice-arrow{color:var(--accent)}.gateway-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.profile-variety-screen{gap:18px;margin-top:24px;display:grid}.profile-variety-screen>button{justify-self:end}.welcome-shell{justify-content:flex-start}.welcome{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:48px;width:min(1040px,100%);margin:clamp(8px,4vh,48px) 0 40px;display:grid}.welcome h1{letter-spacing:-.035em;margin:12px 0 14px;font-size:clamp(2.3rem,5vw,3.5rem);line-height:1.06}.welcome .lede{margin-bottom:26px;font-size:1.12rem}button.welcome-start{box-shadow:var(--shadow);padding:14px 24px;font-size:1.05rem}.welcome-note{font-size:.9rem}.welcome-art{min-height:300px;position:relative}.welcome-page{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-raised);border-radius:22px;padding:34px 30px;position:absolute;inset:40px 20px 10px 0;transform:rotate(-1.5deg)}.welcome-page p{color:var(--text);font-family:var(--font-reading);margin:0 0 18px;font-size:1.35rem;line-height:1.8}.welcome-word{background:var(--highlight);border-radius:5px;padding:1px 3px;box-shadow:inset 0 -3px #3299cf}.welcome-lines{background-image:linear-gradient(var(--surface-subtle) 10px, transparent 10px);background-size:100% 22px;height:52px;display:block}.welcome-bubble{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-raised);border-radius:18px 18px 18px 4px;align-items:center;gap:12px;padding:12px 18px 12px 12px;animation:3s ease-in-out infinite gentle-float;display:flex;position:absolute;top:0;left:34%}.welcome-bubble>span:last-child{gap:1px;display:grid}.welcome-bubble strong{font-size:1.05rem}.welcome-bubble small{color:var(--muted)}.welcome-bubble-audio{background:var(--accent);width:34px;height:34px;color:var(--accent-text);border-radius:50%;place-items:center;display:grid}.welcome-features{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;width:min(1040px,100%);margin:0;padding:0;list-style:none;display:grid}.welcome-features li{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 70%, transparent);color:var(--text-secondary);border-radius:18px;gap:6px;padding:18px;font-size:.9rem;line-height:1.45;display:grid}.welcome-features strong{color:var(--text);font-size:1rem}.welcome-feature-icon{background:var(--accent-soft);width:40px;height:40px;color:var(--accent);border-radius:12px;place-items:center;margin-bottom:4px;display:grid}@media (width<=860px){.welcome{grid-template-columns:1fr;gap:20px;margin-top:0}.welcome-art{order:-1;min-height:230px}.welcome-page{padding:24px 22px;inset:44px 6px 0 0}.welcome-page p{font-size:1.15rem}.welcome-features{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=480px){.welcome-features{grid-template-columns:1fr}.welcome-bubble{left:18%}}.app-shell{--header-height:calc(60px + env(safe-area-inset-top));--sidebar-width:256px;grid-template-columns:var(--sidebar-width) minmax(0, 1fr);min-height:100dvh;padding-top:var(--header-height);display:grid}.app-shell.sidebar-collapsed{--sidebar-width:76px}.app-header{z-index:86;height:var(--header-height);padding:env(safe-area-inset-top) max(16px, env(safe-area-inset-right)) 0 max(16px, env(safe-area-inset-left));border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--sidebar) 88%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(14px);align-items:center;gap:12px;display:flex;position:fixed;inset:0 0 auto}.header-navigation{flex:none;align-items:center;gap:2px;display:flex}.header-screen-title{text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.025em;min-width:0;font-size:1.15rem;font-weight:750;overflow:hidden}.app-header .header-navigation button{width:34px;min-width:34px;height:36px}.app-header .header-navigation button:disabled{opacity:.3;cursor:default;background:0 0}.app-shell button.shell-icon-button{width:40px;min-width:40px;height:40px;color:var(--text-secondary);background:0 0;border:0;border-radius:10px;flex:none;place-items:center;padding:0;display:inline-grid}.app-shell button.shell-icon-button:hover{background:var(--surface-subtle);color:var(--text)}.sidebar{z-index:79;top:var(--header-height);width:var(--sidebar-width);padding:16px 12px max(14px, env(safe-area-inset-bottom));border-right:1px solid var(--border);background:var(--sidebar);transition:width .2s var(--ease), transform .25s var(--ease);flex-direction:column;gap:6px;display:flex;position:fixed;bottom:0;left:0}.sidebar-context{margin-bottom:10px}.sidebar-scrim{display:none}.sidebar-copy{min-width:0}.sidebar-collapsed .sidebar-copy{display:none}.sidebar-collapsed .sidebar{padding-inline:12px}.sidebar-nav{gap:2px;min-height:0;margin:-3px;padding:3px;display:grid;overflow-y:auto}.nav-item{width:100%;min-height:44px;color:var(--text-secondary);text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:10px 12px;font-size:.95rem;font-weight:600;transition:background-color .14s,color .14s;display:flex;position:relative}.nav-item .shell-icon{color:var(--muted);transition:color .14s}.sidebar-collapsed .nav-item{justify-content:center;padding-inline:0}.nav-item:hover{background:var(--surface-subtle);color:var(--text)}.nav-item:hover .shell-icon{color:var(--text-secondary)}.nav-item.active{background:var(--accent-soft);color:var(--accent-ink)}.nav-item.active .shell-icon{color:var(--accent)}.app-shell>.workspace{grid-column:2;min-width:0}.profile-menu{position:relative}.profile-menu.is-open{z-index:40}.language-menu-backdrop{z-index:28;position:fixed;inset:0}.profile-menu.is-open>.profile-menu-trigger{z-index:31}.profile-menu-trigger{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);text-align:left;box-shadow:var(--shadow-sm);border-radius:14px;justify-content:stretch;gap:3px;padding:10px 34px 10px 12px;font-weight:500;display:grid;position:relative}.profile-menu-trigger:hover{border-color:var(--border-strong);background:var(--surface);color:var(--text)}.profile-menu-trigger small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:500;overflow:hidden}.profile-menu-label,.source-switcher label{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:.68rem;font-weight:700}.profile-menu .chevron{color:var(--muted);position:absolute;top:50%;right:11px;transform:translateY(-50%)}.sidebar .learning-profile-trigger{align-items:center;gap:12px;min-height:60px;display:flex}.profile-menu-copy{gap:1px;display:grid}.profile-menu-copy strong{font-size:1rem;font-weight:680}.learning-profile-flag{background:var(--surface-subtle);border-radius:11px;flex:none;place-items:center;width:38px;height:38px;font-size:1.35rem;line-height:1;display:grid}.sidebar-collapsed .learning-profile-trigger{width:52px;min-height:52px;box-shadow:none;background:0 0;border-color:transparent;justify-content:center;padding:6px}.profile-menu-popover{z-index:32;border:1px solid var(--border);background:var(--surface);width:min(340px,100vw - 32px);max-height:min(720px,100vh - 100px);box-shadow:var(--shadow-raised);animation:popover-in .16s var(--ease) both;border-radius:16px;padding:8px;position:absolute;top:calc(100% + 8px);left:0;overflow-y:auto}@keyframes popover-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:none}}.sidebar .profile-menu-popover{width:min(320px, calc(100vw - var(--sidebar-width) - 24px));max-height:calc(100dvh - var(--header-height) - 40px)}.sidebar-collapsed .sidebar .profile-menu .profile-menu-popover{top:0;left:calc(100% + 12px)}.profile-menu-list{gap:2px;margin:0 0 6px;display:grid}.profile-quick{width:100%;min-height:48px;color:var(--text);text-align:left;background:0 0;border:0;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;font-weight:500;display:flex}.profile-quick:hover{background:var(--surface-subtle)}.profile-quick.active{background:var(--accent-soft);color:var(--text)}.profile-quick small{color:var(--muted)}.menu-check{color:var(--accent);display:grid}.profile-menu-actions{border-top:1px solid var(--border);gap:2px;padding-top:6px;display:grid}.menu-item{width:100%;min-height:42px;color:var(--text);text-align:left;background:0 0;border:0;border-radius:10px;justify-content:flex-start;align-items:center;gap:11px;padding:9px 10px;font-size:.92rem;font-weight:550;text-decoration:none;display:flex}.menu-item .shell-icon{color:var(--muted)}.menu-item:hover{background:var(--surface-subtle);color:var(--text)}.menu-item.danger,.menu-item.danger .shell-icon{color:var(--danger)}.menu-item.danger:hover{background:var(--danger-soft)}.language-menu-choice{align-items:center;gap:10px;min-width:0;display:flex}.language-menu-flag{flex:none;font-size:1.25rem}.language-menu-names{gap:1px;min-width:0;display:grid}.language-menu-names strong{font-size:.92rem;font-weight:650}.language-menu-names small{color:var(--muted);font-size:.76rem}.account-menu{flex:none;margin:0 0 0 auto}.account-chip{width:40px;min-height:40px;box-shadow:none;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:2px;display:flex}.account-chip:hover{background:var(--surface-subtle)}.account-menu>.profile-menu-popover{max-height:min(720px, calc(100dvh - var(--header-height) - 16px));left:auto;right:0}.app-header .language-menu-backdrop{height:100dvh}.account-menu-heading{align-items:center;gap:12px;padding:8px 8px 12px;display:flex}.account-menu-heading div{min-width:0;display:grid}.account-menu-heading small{color:var(--muted)}.account-menu .token-budget-badge{margin:8px 0}.account-menu .source-switcher{margin:0 0 4px}.account-menu .source-switcher>.profile-menu-trigger{box-shadow:none}.account-menu .source-language-options{padding:6px 0 0}.avatar{background:linear-gradient(140deg, var(--avatar-start), var(--avatar-end));width:36px;height:36px;color:var(--avatar-text);text-transform:uppercase;border-radius:50%;flex:0 0 36px;place-items:center;font-size:.95rem;font-weight:750;display:grid}.source-switcher{gap:4px;display:grid}.source-switcher .profile-menu-popover{top:auto;bottom:calc(100% + 7px)}.context-error{color:var(--danger);line-height:1.35}.workspace{width:min(1120px,100%);margin:0 auto;padding:44px clamp(20px,4.5vw,64px) 88px}.page-header{max-width:760px;margin-bottom:28px}.page-header .lede{margin-bottom:0}.page-back{margin:0 0 18px -10px}.surface{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);padding:clamp(20px,3vw,30px)}.surface+.surface{margin-top:18px}.section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.section-heading h2{margin:0}.dashboard-grid{grid-template-columns:minmax(260px,.8fr) minmax(340px,1.2fr);align-items:start;gap:18px;display:grid}.empty-state{color:var(--muted);text-align:center;justify-items:center;padding:44px 16px;display:grid}.empty-state h3{color:var(--text);margin:0 0 6px;font-size:1.1rem}.empty-state p{max-width:420px;margin:0;line-height:1.55}.empty-glyph{background:var(--accent-soft);width:64px;height:64px;color:var(--accent);border-radius:20px;place-items:center;margin-bottom:16px;display:grid;position:relative}.empty-bubble{background:var(--marigold);border-radius:50% 50% 50% 0;width:20px;height:20px;position:absolute;top:-6px;right:-8px}.book-cover{background:var(--cover-bg);width:64px;height:84px;color:var(--cover-ink);box-shadow:inset 4px 0 0 rgba(0,0,0,.08), var(--shadow-sm);border-radius:6px 12px 12px 6px;flex:none;place-items:center;display:grid;position:relative;overflow:hidden}.book-cover:after{background:var(--cover-dot);content:"";border-radius:50% 50% 50% 0;width:11px;height:11px;position:absolute;top:9px;right:9px}.book-cover-initial{font-family:var(--font-reading);font-size:1.9rem;font-weight:600;line-height:1}.book-cover.small{border-radius:5px 9px 9px 5px;width:44px;height:56px}.book-cover.small:after{width:8px;height:8px;top:6px;right:6px}.book-cover.small .book-cover-initial{font-size:1.3rem}.cover-0{--cover-bg:var(--accent-soft);--cover-ink:var(--accent-ink);--cover-dot:var(--marigold)}.cover-1{--cover-bg:var(--marigold-soft);--cover-ink:var(--marigold-ink);--cover-dot:var(--accent)}.cover-2{--cover-bg:var(--coral-soft);--cover-ink:color-mix(in srgb, var(--coral) 70%, var(--text));--cover-dot:var(--marigold)}.cover-3{--cover-bg:var(--sky-soft);--cover-ink:color-mix(in srgb, var(--sky) 70%, var(--text));--cover-dot:var(--coral)}.home-hero{grid-template-columns:minmax(0,1fr) minmax(280px,400px);align-items:end;gap:28px 40px;margin-bottom:30px;display:grid}.home-hero h1{margin:10px 0 6px;font-size:clamp(2rem,3.6vw,2.75rem)}.home-hero .lede{margin:0}.home-learning{color:var(--text-secondary);font-size:.8rem}.home-learning strong{color:var(--accent-ink)}.home-flag{letter-spacing:0;font-size:1.05rem}.home-lookup{gap:8px;display:grid}.home-lookup-label{color:var(--text-secondary);font-size:.86rem;font-weight:600}.search-field{border:1px solid var(--border-strong);background:var(--surface);color:var(--muted);box-shadow:var(--shadow-sm);border-radius:14px;align-items:center;gap:10px;padding:5px 5px 5px 14px;transition:border-color .15s,box-shadow .15s;display:flex}.search-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--focus)}.search-field input,.search-field input:focus{min-width:0;box-shadow:none;background:0 0;border:0;outline:0;flex:1;padding:8px 0}.search-field input::-webkit-search-cancel-button{display:none}.search-field button{flex:none;min-height:38px;padding:8px 16px}.search-field.large{border-radius:16px;padding:7px 7px 7px 18px}.search-field.large input{padding:10px 0;font-size:1.08rem}.search-field.large button{border-radius:11px;min-height:44px;padding:10px 22px}.home-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:24px;display:grid}.home-main{gap:28px;min-width:0;display:grid}.home-side{top:calc(var(--header-height) + 24px);gap:18px;display:grid;position:sticky}.home-side .surface+.surface{margin-top:0}.continue-card{border:1px solid var(--border);border-radius:var(--radius-xl);background:linear-gradient(135deg, var(--surface) 55%, var(--accent-soft));min-height:140px;color:var(--text);box-shadow:var(--shadow);transition:transform .16s var(--ease), box-shadow .16s ease, border-color .16s ease;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px;padding:24px;text-decoration:none;display:grid}.continue-card:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));box-shadow:var(--shadow-raised);transform:translateY(-2px)}.continue-card.is-loading{background:linear-gradient(100deg, var(--surface) 30%, var(--surface-subtle) 50%, var(--surface) 70%) 0 0 / 200% 100%;animation:1.4s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.continue-copy{gap:6px;min-width:0;display:grid}.continue-title{letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap;font-size:1.35rem;font-weight:700;overflow:hidden}.continue-copy small{color:var(--muted);font-size:.88rem}.continue-copy .meter{max-width:260px;margin-top:4px}.continue-action{background:var(--accent);color:var(--accent-text);border-radius:11px;align-items:center;gap:6px;padding:10px 16px;font-weight:650;display:inline-flex}.continue-card:hover .continue-action{background:var(--accent-hover)}.first-story{border:1px solid var(--border);border-radius:var(--radius-xl);background:linear-gradient(135deg, var(--surface) 40%, var(--accent-soft));box-shadow:var(--shadow);grid-template-columns:180px minmax(0,1fr);align-items:center;gap:30px;padding:30px;display:grid;position:relative;overflow:hidden}.first-story h2{letter-spacing:-.02em;margin:8px 0;font-size:1.6rem}.first-story p:not(.eyebrow){max-width:520px;color:var(--text-secondary);margin-bottom:20px;line-height:1.6}.first-story-art{height:150px;position:relative}.first-story-page{background:var(--surface);box-shadow:var(--shadow-raised), inset 6px 0 0 var(--accent-soft);background-image:linear-gradient(var(--border) 2px, transparent 2px);background-position:0 30px;background-size:100% 18px;background-clip:content-box;border-radius:8px 18px 18px 8px;padding:24px 22px 18px 26px;position:absolute;inset:14px 30px 0 10px}.first-story-bubble{background:var(--marigold);width:54px;height:54px;box-shadow:var(--shadow);border-radius:50% 50% 50% 0;animation:2.4s ease-in-out infinite gentle-float;position:absolute;top:0;right:4px}.home-recent{gap:0;display:grid}.home-recent .section-heading{margin-bottom:10px}.home-recent .section-heading h2,.home-activities h2,.home-side h2{margin:0;font-size:1.05rem}.home-recent-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.home-recent-item{border:1px solid var(--border);background:var(--surface);min-width:0;color:var(--text);border-radius:14px;align-items:center;gap:12px;padding:12px;text-decoration:none;transition:border-color .14s,box-shadow .14s;display:flex}.home-recent-item:hover{border-color:var(--border-strong);box-shadow:var(--shadow)}.home-recent-copy{gap:2px;min-width:0;display:grid}.home-recent-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;overflow:hidden}.home-recent-copy small{color:var(--muted);font-size:.8rem}.home-activities{gap:12px;display:grid}.activity-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.activity-tile{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text);transition:border-color .14s ease, box-shadow .14s ease, transform .14s var(--ease);grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:14px;padding:18px;text-decoration:none;display:grid;position:relative}.activity-tile:hover{border-color:var(--tone);box-shadow:var(--shadow);transform:translateY(-1px)}.activity-icon{background:var(--tone-soft);width:44px;height:44px;color:var(--tone);border-radius:13px;place-items:center;display:grid}.activity-copy{gap:4px;min-width:0;display:grid}.activity-copy strong{font-size:1rem;font-weight:650}.activity-copy small{color:var(--text-secondary);font-size:.87rem;line-height:1.45}.activity-arrow{color:var(--border-strong);transition:color .14s ease, transform .14s var(--ease);align-self:center}.activity-tile:hover .activity-arrow{color:var(--tone);transform:translate(2px)}.tone-jade{--tone:var(--accent);--tone-soft:var(--accent-soft)}.tone-marigold{--tone:var(--marigold-ink);--tone-soft:var(--marigold-soft)}.tone-coral{--tone:var(--coral);--tone-soft:var(--coral-soft)}.tone-sky{--tone:var(--sky);--tone-soft:var(--sky-soft)}.getting-started h2{margin-bottom:4px}.getting-started>p.muted{margin:0 0 10px;font-size:.86rem}.checklist{gap:2px;margin:16px 0 0;padding:0;list-style:none;display:grid}.checklist li{color:var(--text);align-items:center;gap:11px;padding:8px 0;font-size:.92rem;display:flex}.checklist li.done{color:var(--muted)}.checklist li.done span:last-child{text-decoration:line-through;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong)}.checklist-mark{border:2px solid var(--border-strong);border-radius:50%;flex:none;place-items:center;width:22px;height:22px;display:grid}.checklist li.done .checklist-mark{border-color:var(--accent);background:var(--accent);color:var(--accent-text)}.checklist-link{color:var(--text);font-weight:600;text-decoration:none}.checklist-link:hover{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.home-stats dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0 0;display:grid}.home-stats dl>div{background:var(--surface-subtle);text-align:center;border-radius:12px;gap:2px;padding:12px 10px;display:grid}.home-stats dt{color:var(--muted);order:2;font-size:.72rem;font-weight:600;line-height:1.25}.home-stats dd{color:var(--text);font-variant-numeric:tabular-nums;order:1;margin:0;font-size:1.45rem;font-weight:720}.dictionary-search{gap:4px;display:grid}.search-bar{display:block}.dictionary-context{margin:12px 0 0}details.dictionary-context summary{min-height:32px}.dictionary-context label{margin-top:10px}.dictionary-examples{flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;display:flex}.search-results{gap:10px;margin-top:18px;display:grid}.search-results-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.search-results-heading p{margin:0;font-size:.86rem}.search-result-with-audio{border:1px solid var(--border);background:var(--surface);border-radius:14px;align-items:center;gap:8px;padding:14px 14px 14px 10px;transition:border-color .14s,box-shadow .14s;display:flex}.search-result-with-audio:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.search-result{width:100%;color:inherit;text-align:left;background:0 0;border:0;border-radius:0;gap:4px;padding:0 4px;display:grid}.search-result strong{font-size:1.12rem}.search-result b{color:var(--accent-ink);font-weight:650}.search-result small{color:var(--muted);font-size:.88rem}.definition-controls{margin-top:20px}.definition-context{margin-bottom:0}.definition-context-text{white-space:pre-wrap;overflow-wrap:anywhere}.meaning-section-title{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:24px 0 8px;font-size:.78rem;font-weight:700}.entry-card{margin-top:18px}.entry-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.entry-title h2{letter-spacing:-.02em;margin:0;font-size:clamp(1.8rem,4vw,2.4rem)}.metadata{color:var(--muted);flex-wrap:wrap;gap:8px;margin:8px 0 22px;display:flex}.metadata span+span:before{content:"·";margin-right:8px}.meaning{border-top:1px solid var(--border);padding:20px 0}.meaning h4{margin:0 0 10px;font-size:1.1rem;line-height:1.45}blockquote{border-left:3px solid var(--marigold);background:var(--surface-subtle);border-radius:0 10px 10px 0;margin:14px 0;padding:12px 16px;line-height:1.55}blockquote small{color:var(--muted);margin-top:5px;display:block}.word-list,.document-list{display:grid}.word-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:18px;padding:16px 0;display:flex}.word-row:first-child{border-top:0}.word-row p{color:var(--text-secondary);margin:3px 0}.word-row small{color:var(--muted);display:block}.variety-notes{border:1px solid var(--border);background:var(--surface-subtle);border-radius:14px;gap:10px;margin:18px 0 24px;padding:17px;display:grid}.variety-notes h3{margin:0 0 3px}.variety-note{border-top:1px solid var(--border);gap:6px;padding-top:10px;display:grid}.variety-note:first-of-type{border-top:0;padding-top:0}.variety-note p{color:var(--text-secondary);grid-template-columns:90px minmax(0,1fr);gap:9px;margin:0;font-size:.88rem;display:grid}.variety-note p span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.7rem;font-weight:700}.reader-actions{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:34px;display:grid}.reader-action-card{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm);transition:border-color .14s ease, box-shadow .14s ease, transform .14s var(--ease);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:22px;text-decoration:none;display:grid}.reader-action-card:hover{border-color:var(--tone,var(--accent));box-shadow:var(--shadow);transform:translateY(-1px)}.reader-action-card.generate{--tone:var(--accent);--tone-soft:var(--accent-soft);background:linear-gradient(135deg, var(--surface) 50%, var(--accent-soft))}.reader-action-card.import{--tone:var(--marigold-ink);--tone-soft:var(--marigold-soft)}.reader-action-icon{background:var(--tone-soft,var(--accent-soft));width:52px;height:52px;color:var(--tone,var(--accent));border-radius:15px;place-items:center;display:grid}.reader-action-copy{gap:4px;min-width:0;display:grid}.reader-action-copy strong{font-size:1.12rem;font-weight:680}.reader-action-copy small{color:var(--text-secondary);font-size:.9rem;line-height:1.45}.reader-action-arrow{color:var(--border-strong);transition:color .14s ease, transform .14s var(--ease)}.reader-action-card:hover .reader-action-arrow{color:var(--tone,var(--accent));transform:translate(2px)}.reader-library .section-heading h2{font-size:1.15rem}.document-list{gap:10px}.document-row{border:1px solid var(--border);background:var(--surface);border-radius:16px;justify-content:space-between;align-items:center;gap:14px;padding:12px 12px 12px 14px;transition:border-color .14s,box-shadow .14s;display:flex}.document-row:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.document-open{min-width:0;color:inherit;text-align:left;background:0 0;border-radius:0;flex:1;align-items:center;gap:14px;padding:0;display:flex}.document-copy{gap:3px;min-width:0;display:grid}.document-copy strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:1.02rem;font-weight:650;overflow:hidden}.document-copy small{color:var(--muted);font-size:.84rem}.document-copy .meter{width:min(220px,100%);margin-top:4px}.reader-flow-header .page-back{margin-bottom:14px}.reader-flow-card{max-width:780px}.reader-flow-card>form,.compose form{gap:22px;margin-top:0;display:grid}.generation-context{border-bottom:1px solid var(--border);align-items:center;gap:12px;margin-bottom:24px;padding-bottom:18px;display:flex}.generation-context>div{gap:1px;display:grid}.generation-context small{color:var(--muted);font-size:.78rem;font-weight:600}.generation-context strong{color:var(--text);font-size:1.05rem}.generation-flag{background:var(--surface-subtle);border-radius:13px;place-items:center;width:44px;height:44px;font-size:1.5rem;display:grid}.document-type-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.document-type-option{border:1px solid var(--border);background:var(--surface);min-width:0;min-height:116px;color:var(--text-secondary);cursor:pointer;border-radius:14px;grid-template-rows:1fr auto;place-items:center;gap:12px;margin:0;padding:18px 8px 12px;transition:border-color .14s,background-color .14s;display:grid;position:relative}.document-type-option input{opacity:0;width:100%;height:100%;cursor:inherit;margin:0;position:absolute;inset:0}.document-type-option:has(input:checked){border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink);box-shadow:inset 0 0 0 1px var(--accent)}.document-type-option:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:3px}.document-type-option:has(input:disabled){opacity:.55;cursor:wait}.document-type-option:hover:not(:has(input:disabled)){border-color:var(--accent)}.document-type-label{text-align:center;overflow-wrap:anywhere;justify-content:center;align-items:end;min-height:2.5em;font-size:clamp(.76rem,2.5vw,.9rem);font-weight:600;line-height:1.25;display:flex}.document-type-check{background:var(--accent);width:18px;height:18px;color:var(--accent-text);pointer-events:none;border-radius:50%;place-items:center;display:grid;position:absolute;top:7px;right:7px}.idea-chips{flex-wrap:wrap;gap:8px;display:flex}.level-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.level-option{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:14px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 12px;padding:12px 14px;font-weight:500;transition:border-color .14s,background-color .14s;display:grid;position:relative}.level-option:hover{border-color:var(--accent)}.level-option.selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.level-option input{opacity:0;pointer-events:none;position:absolute}.level-option:has(input:focus-visible){box-shadow:0 0 0 4px var(--focus)}.level-code{background:var(--surface-subtle);width:40px;height:40px;color:var(--text-secondary);border-radius:11px;place-items:center;font-size:.88rem;font-weight:750;display:grid}.level-option.selected .level-code{background:var(--accent);color:var(--accent-text)}.level-copy{gap:1px;min-width:0;display:grid}.level-copy strong{font-size:.92rem;font-weight:650}.level-copy small{color:var(--muted);font-size:.78rem;line-height:1.35}.generation-status{color:var(--accent-ink);align-items:center;gap:10px;margin:18px 0 0;font-weight:650;display:flex}.status-pulse{background:var(--marigold);width:10px;height:10px;box-shadow:0 0 0 0 var(--marigold-soft);border-radius:50%;animation:1.4s infinite status-pulse}@keyframes status-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--marigold) 60%, transparent)}70%{box-shadow:0 0 0 10px transparent}to{box-shadow:0 0 transparent}}.settings-layout{gap:18px;max-width:860px;display:grid}.settings-layout .surface+.surface{margin-top:0}.settings-card>form{gap:20px;margin-top:20px;display:grid}.settings-heading{align-items:center;gap:14px;margin-bottom:18px;display:flex}.settings-heading h2{margin:0;font-size:1.12rem}.settings-heading p{margin:3px 0 0;font-size:.88rem}.settings-icon{background:var(--accent-soft);width:38px;height:38px;color:var(--accent);border-radius:11px;flex:none;place-items:center;display:grid}.advanced-settings>summary{cursor:pointer;list-style:none}.advanced-settings>summary::-webkit-details-marker{display:none}.advanced-settings>summary .settings-heading{margin-bottom:0}.advanced-settings[open]>summary .settings-heading{margin-bottom:8px}.advanced-settings .settings-icon{background:var(--surface-subtle);color:var(--muted)}.settings-select-label{gap:7px;max-width:420px;display:grid}.theme-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.theme-option{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);text-align:left;border-radius:14px;grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr);place-items:start stretch;gap:10px;padding:10px 10px 12px;font-weight:500;display:grid;position:relative}.theme-option:hover{border-color:var(--border-strong);background:var(--surface-hover)}.theme-option.selected{border-color:var(--accent);background:var(--surface);box-shadow:inset 0 0 0 1px var(--accent)}.theme-option-copy{gap:2px;padding:0 2px;display:grid}.theme-option-copy strong{font-size:.92rem}.theme-option-copy small{color:var(--muted);font-size:.76rem;font-weight:450;line-height:1.35}.theme-selected{background:var(--accent);width:22px;height:22px;color:var(--accent-text);box-shadow:0 0 0 2px var(--surface);border-radius:50%;place-items:center;display:grid;position:absolute;top:16px;right:16px}.theme-preview{border:1px solid rgba(128,128,128,.3);border-radius:9px;grid-template-columns:26% 1fr;width:100%;height:64px;display:grid;overflow:hidden}.theme-preview-sidebar{background:var(--preview-sidebar)}.theme-preview-content{background:var(--preview-bg);align-content:center;gap:6px;padding:9px;display:grid}.theme-preview-line{background:var(--preview-accent);border-radius:99px;width:64%;height:5px}.theme-preview-card{border:1px solid var(--preview-border);background:var(--preview-surface);border-radius:5px;height:20px}.theme-preview-light{--preview-bg:#f5f5f5;--preview-sidebar:#fafafa;--preview-surface:#fff;--preview-border:#e2e2e2;--preview-accent:#333}.theme-preview-dark{--preview-bg:#121212;--preview-sidebar:#161616;--preview-surface:#242424;--preview-border:#484848;--preview-accent:#d6d6d6}.theme-preview-calm{--preview-bg:#f1eadc;--preview-sidebar:#ece4d4;--preview-surface:#fbf7ee;--preview-border:#ddd2bf;--preview-accent:#805b3f}.theme-preview-tokyo-night{--preview-bg:#15161f;--preview-sidebar:#13141c;--preview-surface:#232638;--preview-border:#434a6c;--preview-accent:#7aa2f7}.theme-preview-system{--preview-bg:linear-gradient(90deg, #f5f5f5 50%, #121212 50%);--preview-sidebar:#fafafa;--preview-surface:linear-gradient(90deg, #fff 50%, #242424 50%);--preview-border:rgba(128,128,128,.45);--preview-accent:linear-gradient(90deg, #333 50%, #d6d6d6 50%)}.theme-preview-system .theme-preview-content{background:var(--preview-bg)}.theme-preview-system .theme-preview-line,.theme-preview-system .theme-preview-card{width:100%}.theme-preview-system .theme-preview-card{background:var(--preview-surface)}.account-summary{align-items:center;gap:12px;margin-bottom:16px;display:flex}.profile-management-screen{max-width:860px}.profile-list{display:grid}.profile-row{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px 0;display:grid}.profile-row:first-child{border-top:0;padding-top:4px}.profile-row-name{align-items:center;gap:12px;min-width:0;display:flex}.profile-row-name>span:last-child{gap:2px;min-width:0;display:grid}.profile-row-flag{background:var(--surface-subtle);border-radius:12px;flex:none;place-items:center;width:42px;height:42px;font-size:1.35rem;display:grid}.profile-row small{color:var(--muted)}.profile-row .error{grid-column:1/-1;margin:0}.profile-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.profile-varieties{grid-column:1/-1;padding-top:2px}.profile-varieties summary{width:fit-content;color:var(--accent);cursor:pointer;font-size:.86rem;font-weight:650}.profile-varieties .variety-selector{margin:12px 0}.profile-row>.notice{grid-column:1/-1;margin:0}.profile-management-add{margin-top:16px}.settings-add-language{border-style:dashed}.settings-fluent-varieties{gap:10px;display:grid}.settings-variety-row{border:1px solid var(--border);background:var(--surface-subtle);border-radius:14px;min-width:0;padding:16px}.settings-variety-row>strong{margin-bottom:10px;display:block}.selected-variety-summary{border:1px solid var(--border);background:var(--surface-subtle);width:fit-content;color:var(--text-secondary);border-radius:10px;margin:0;padding:10px 13px;font-weight:650}.add-profile-screen{max-width:920px}.add-profile-screen>button:last-of-type{margin-top:18px}.page-footer-actions{justify-content:flex-end;max-width:860px;margin-top:18px;display:flex}.flashcard-learning-settings p.muted{margin:0}.word-transliteration{color:var(--text-secondary);flex-wrap:wrap;align-items:baseline;gap:.45em;font-size:.86rem;font-weight:400;line-height:1.45;display:inline-flex}.word-transliteration-text{font-family:inherit}.word-transliteration-readings{flex-direction:column;gap:2px;display:inline-flex}.word-transliteration-context,.word-transliteration-base{align-items:baseline;gap:.4em;display:inline-flex}.word-reading-label{color:var(--muted);min-width:4.5em;font-size:.78em}.word-reading-note{color:var(--muted);cursor:help;font-size:.8em}.word-spelling-and-reading{flex-direction:column;align-items:flex-start;gap:2px;display:inline-flex}.reader-word-gloss-row{flex-wrap:wrap;align-items:baseline;gap:4px 12px;min-width:0;display:flex}.reader-word-gloss{overflow-wrap:anywhere;font-size:.9rem;font-weight:650}.entry>.word-transliteration{margin:-4px 0 10px;font-size:1rem}.reader-text-editor>.ghost{margin-bottom:18px}.reader-source-input{resize:vertical;min-height:320px;line-height:1.65}.reader-edit-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.reader-view .section-heading{align-items:flex-start}.reading-page{--reading-padding:clamp(22px, 5vw, 56px);padding:8px var(--reading-padding) var(--reading-padding);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:18px;margin-top:22px}.progressive-reading:is(:lang(zh),:lang(ja),:lang(ko),:lang(yue),:lang(nan),:lang(hak),:lang(wuu),:lang(th),:lang(lo),:lang(km),:lang(my),:lang(ar),:lang(fa),:lang(ur),:lang(he),:lang(hi),:lang(bn),:lang(ta),:lang(te),:lang(ml),:lang(kn),:lang(gu),:lang(pa),:lang(si),:lang(am),:lang(ka),:lang(hy),:lang(bo)){font-family:var(--font-sans)}.reader-line{white-space:pre-wrap;margin:0;font-family:inherit;font-size:1.2rem;line-height:1.9}.reader-word{color:inherit;font:inherit;font-weight:inherit;background:0 0;border-radius:2px;margin:0;padding:0;display:inline}.reader-word,.grammar-tag{--grammar-color:#84909e}.reader-word{--word-progress-color:color-mix(in srgb, var(--muted) 45%, transparent);background:color-mix(in srgb, var(--word-progress-color) var(--reader-progress-fill,0%), transparent);border-radius:4px;padding-bottom:2px;position:relative}.reader-word-source{text-decoration-line:underline;text-decoration-style:solid;-webkit-text-decoration-color:color-mix(in srgb, var(--word-progress-underline,transparent) var(--reader-progress-line,100%), transparent);text-decoration-color:color-mix(in srgb, var(--word-progress-underline,transparent) var(--reader-progress-line,100%), transparent);text-underline-offset:.18em;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-decoration-thickness:2px}.reader-word[data-associated=true]{background:color-mix(in srgb, var(--word-progress-color) 20%, transparent)}.reader-word:hover{background:color-mix(in srgb, var(--word-progress-color) 35%, transparent);color:var(--text)}.reader-word:focus-visible{background:color-mix(in srgb, var(--word-progress-color) 35%, transparent);color:var(--text)}.reader-word[aria-expanded=true]{background:color-mix(in srgb, var(--word-progress-color) 55%, transparent)}.reader-word:focus-visible{outline:2px solid var(--word-progress-color);outline-offset:1px}.reader-view:has(>.reader-flashcard-panel>.reader-learning-progress:focus-visible)>.reading-page>.progressive-reading{--reader-progress-fill:45%;--reader-progress-line:0%}@media (hover:hover){.reader-view:has(>.reader-flashcard-panel>.reader-learning-progress:hover)>.reading-page>.progressive-reading{--reader-progress-fill:45%;--reader-progress-line:0%}}.grammar-noun{--grammar-color:#3299cf}.grammar-proper-noun{--grammar-color:#566bd9}.grammar-verb{--grammar-color:#d96470}.grammar-auxiliary{--grammar-color:#ce779f}.grammar-pronoun{--grammar-color:#a57bd9}.grammar-adjective{--grammar-color:#4aad85}.grammar-adverb{--grammar-color:#ca9c38}.grammar-particle{--grammar-color:#c08041}.grammar-determiner{--grammar-color:#819754}.grammar-article{--grammar-color:#a2a444}.grammar-preposition{--grammar-color:#49a5ad}.grammar-postposition{--grammar-color:#5a9d91}.grammar-conjunction{--grammar-color:#a58469}.grammar-interjection{--grammar-color:#d58856}.grammar-numeral{--grammar-color:#9a8ad3}.grammar-tag{background:color-mix(in srgb, var(--grammar-color) 18%, var(--surface));color:color-mix(in srgb, var(--grammar-color) 55%, var(--text))}.reader-progress{background:var(--accent-soft);color:var(--accent-ink);border-radius:14px;gap:8px;margin:14px 0;padding:14px 16px;font-size:.9rem;font-weight:600;display:grid}.reader-progress-label{align-items:center;gap:10px;display:flex}.reader-progress .meter{background:color-mix(in srgb, var(--surface) 70%, transparent)}.reader-prep-callout{background:var(--warning-soft);color:var(--warning-ink);border-radius:14px;flex-wrap:wrap;align-items:center;gap:12px;margin:4px 0 14px;padding:14px 16px;display:flex}.reader-prep-callout p{flex:1;min-width:220px;margin:0;font-size:.92rem;line-height:1.5}.reader-prep-callout strong{color:var(--text)}.reader-prep-icon{flex:none;display:grid}.reader-prep-callout button{padding:8px 14px}.progressive-reading{font-family:var(--font-reading);position:relative}.progressive-reading .reader-line{display:inline}.chunk-progress{vertical-align:middle;background:var(--accent);border-radius:50%;width:.22em;height:.22em;margin-inline:.3em;animation:1.4s ease-in-out infinite reader-loading-pulse;display:inline-block}@keyframes reader-loading-pulse{0%,to{opacity:.4;transform:scale(.75)}50%{opacity:1;transform:scale(1)}}.reader-word-bubble{z-index:65;border:1px solid var(--border);background:var(--surface);width:min(390px,100vw - 24px);max-height:min(70vh,560px);box-shadow:var(--shadow-raised);color:var(--text);font-family:var(--font-sans);border-radius:18px;padding:18px;font-size:.9rem;line-height:1.5;position:fixed;overflow:auto}.reader-word-bubble header{align-items:center;gap:8px;display:flex}.reader-word-bubble header>strong{font-size:1.15rem}.reader-word-bubble header .ghost{margin-left:auto}.reader-word-bubble p{margin:10px 0}.reader-word-bubble.grammar-tooltip{pointer-events:none;width:min(330px,100vw - 24px)}.reader-word-bubble .reader-word-header{grid-template-columns:1.8rem minmax(0,1fr) auto;align-items:start;display:grid}.reader-word-bubble.reader-word-detail-bubble{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;padding:0}.reader-word-detail-bubble>.reader-word-header{z-index:2;background:var(--surface);padding:18px 18px 10px;position:sticky;top:0}.reader-word-detail-bubble>.reader-word-header:after{content:"";background:var(--border);opacity:0;pointer-events:none;height:1px;transition:opacity .15s;position:absolute;inset:auto 18px 0}.reader-word-detail-bubble[data-scrolled=true]>.reader-word-header:after{opacity:1}.reader-word-body{padding:0 18px 18px}.reader-word-description{gap:6px;margin-inline-start:calc(1.8rem + 8px);display:grid}.reader-word-body>button.secondary{margin:8px 8px 0 0}@media (prefers-reduced-motion:reduce){.reader-word-detail-bubble>.reader-word-header:after{transition:none}}.reader-word-header>.speech-control{display:contents}.reader-word-header>.speech-control>.speech-button{grid-area:1/1;margin:2px 0 0}.reader-word-header>.speech-control>:not(.speech-button){white-space:normal;overflow-wrap:anywhere;grid-column:1/-1;justify-self:start;min-width:0;max-width:100%}.reader-word-heading{flex-wrap:wrap;grid-area:1/2;align-items:center;gap:6px 8px;min-width:0;display:flex}.reader-word-title{align-items:center;gap:8px;min-width:0;max-width:100%;display:flex}.reader-word-title>strong{overflow-wrap:anywhere;min-width:0;font-size:1.65rem;line-height:1.25}.reader-word-title>.reader-definition-expand{flex-shrink:0}.reader-word-heading>.tag{margin-left:0}.reader-word-form{flex-basis:100%;gap:4px;min-width:0;margin-top:2px;display:grid}.reader-word-base{flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:.85rem;display:flex}.reader-word-base>.muted{font-size:.7rem}.reader-word-base .spoken-text{overflow-wrap:anywhere;min-width:0;font-weight:600}.reader-word-base>.word-transliteration{margin:0}.reader-form-keywords{flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;display:flex}.reader-form-keywords>li{background:var(--surface-subtle);color:var(--text-secondary);overflow-wrap:anywhere;border-radius:6px;padding:2px 7px;font-size:.7rem;line-height:1.5}.reader-word-header>.ghost{grid-area:1/3}.reader-subwords{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}button.reader-subword-button{border:1px solid var(--border);background:var(--surface-subtle);min-width:36px;min-height:34px;color:var(--text-secondary);border-radius:8px;justify-content:center;align-items:center;padding:4px 10px;font-size:.95rem;font-weight:600;display:inline-flex}button.reader-subword-button:hover,button.reader-subword-button[aria-expanded=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}.reader-word-bubble.reader-subword-popup{z-index:90;border-radius:13px;width:min(310px,100vw - 24px);padding:14px}.reader-subword-popup header>strong{overflow-wrap:anywhere;min-width:0;font-size:1.35rem}.reader-subword-popup header>.icon-button{flex:none;margin-inline-start:auto}.reader-subword-popup .reader-word-gloss-row{margin-top:7px}.reader-subword-popup p:last-child{margin-bottom:0}.reader-subword-lemma{color:var(--text-secondary)}.word-learning-progress{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:8px 0;padding:7px 0}.word-progress-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.word-progress-row.with-word-lists{grid-template-columns:minmax(0,1fr) auto auto}.word-progress-label{font-size:.73rem;font-weight:500}.word-commonness{min-width:0;color:var(--text-secondary);align-items:center;gap:7px;font-size:.75rem;font-weight:500;display:flex}.word-commonness-bars{flex:none;align-items:end;gap:2px;height:14px;display:flex}.word-commonness-bars>span{background:var(--border);border-radius:1px;width:3px}.word-commonness-bars>span.filled{background:var(--accent)}button.word-progress-disclosure{min-width:0;color:var(--text);text-align:start;background:0 0;gap:6px;padding:5px 0;font-size:.8rem;font-weight:650;display:flex}.word-progress-disclosure .shell-icon{flex:none;transition:transform .15s;transform:rotate(-90deg)}.word-progress-disclosure[aria-expanded=true] .shell-icon{transform:none}button.word-progress-chip{font-variant-numeric:tabular-nums;border:1px solid transparent;border-radius:8px;place-items:center;min-width:34px;height:32px;padding:0 8px;font-size:.9rem;font-weight:750;display:grid}button.word-progress-chip.rated{background:hsl(var(--level-hue) 78% 48% / .3);color:var(--text)}button.word-progress-chip.unrated{background:var(--surface-subtle);color:var(--muted);font-size:.7rem;font-weight:500}button.word-progress-chip:hover:not(:disabled),button.word-progress-chip[aria-expanded=true]{border-color:var(--text-secondary)}.word-progress-picker{z-index:110;border:1px solid var(--border);background:var(--surface);width:max-content;max-width:calc(100vw - 24px);color:var(--text);box-shadow:var(--shadow-raised);font-family:var(--font-sans);box-sizing:border-box;border-radius:12px;max-height:calc(100dvh - 24px);margin:0;padding:8px;display:none;position:fixed;inset:auto;overflow-y:auto}.word-progress-picker>.word-progress-disclosure{border-top:1px solid var(--border);min-height:32px;padding-top:8px;font-size:.73rem;font-weight:500}.word-progress-picker.open{animation:popover-in .12s var(--ease);gap:6px;display:grid}.word-progress-picker:popover-open{animation:popover-in .12s var(--ease);gap:6px;display:grid}.word-progress-levels{gap:4px;display:flex}button.word-progress-level{background:hsl(var(--level-hue) 35% 50% / .08);width:36px;height:36px;color:var(--muted);font-variant-numeric:tabular-nums;border:1px solid transparent;border-radius:7px;place-items:center;padding:0 0 2px;font-size:1rem;font-weight:500;display:grid;position:relative}button.word-progress-level:hover:not(:disabled){background:hsl(var(--level-hue) 65% 48% / .18);color:var(--text)}button.word-progress-level.current{background:hsl(var(--level-hue) 78% 48% / .3);color:var(--text);font-weight:800}button.word-progress-level.current:after{content:"";background:currentColor;border-radius:1px;height:2px;position:absolute;bottom:4px;left:27%;right:27%}button.word-progress-level:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.word-progress-unrated{background:var(--surface-subtle);width:100%;color:var(--text-secondary);border:1px solid transparent;border-radius:7px;justify-content:center;padding:5px 8px;font-size:.73rem;font-weight:500}button.word-progress-unrated:hover,button.word-progress-unrated[aria-pressed=true]{border-color:var(--border-strong);color:var(--text)}.word-learning-skills .word-progress-row{margin-top:4px}.word-learning-skills .word-progress-chip{height:28px;font-size:.8rem}.word-learning-skills .word-progress-chip.unrated{font-size:.7rem}.word-progress-status{color:var(--muted);margin-top:5px;font-size:.7rem;display:block}.reader-definition-expand{border:1px solid var(--border);background:var(--surface);width:34px;height:34px;color:var(--text-secondary);border-radius:10px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.reader-definition-expand:hover{color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}.reader-definition-expand:focus-visible{color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}.reader-relation-arrow{pointer-events:none;z-index:61;width:100vw;height:100vh;color:var(--accent);position:fixed;inset:0;overflow:visible}.reader-definition-layer{z-index:90;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.reader-definition-scrim{background:var(--scrim);backdrop-filter:blur(2px);position:absolute;inset:0}.reader-definition-dialog{border:1px solid var(--border);background:var(--bg);width:min(850px,100%);max-height:calc(100dvh - 48px);box-shadow:var(--shadow-raised);border-radius:20px;flex-direction:column;display:flex;position:relative;overflow:hidden}.reader-definition-toolbar{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:8px;padding:10px 12px;display:flex}.reader-definition-toolbar strong{overflow-wrap:anywhere;flex:1}.reader-definition-content{padding:18px;overflow:auto}@media (width<=600px){.reader-definition-layer,.reader-definition-content{padding:10px}.reader-definition-toolbar{gap:4px;padding:8px}}.line-error{color:var(--danger);font-family:inherit}.reader-word.line-error{color:var(--danger);box-shadow:none;cursor:help;border:0}.reader-error-tooltip{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:.85rem;font-weight:400;line-height:1.5}.reader-word-bubble.reader-error-tooltip{pointer-events:auto;width:min(600px,100vw - 24px);max-height:min(65vh,500px);overflow-y:auto}.reader-chunk-retry{border:1px solid var(--border);background:var(--surface);min-width:30px;min-height:30px;color:var(--accent);font:inherit;vertical-align:middle;border-radius:8px;justify-content:center;align-items:center;margin-inline-start:4px;padding:2px 6px;font-size:.85em;display:inline-flex}.reader-chunk-retry:disabled{opacity:.4;cursor:wait}.reader-retry-failed{margin-bottom:12px}.reader-pagination{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-top:20px;font-size:.88rem;display:flex}.card-session{max-width:720px}.flashcard{border:1px solid var(--border);background:var(--surface-subtle);text-align:center;border-radius:18px;place-items:center;min-height:280px;margin:22px 0;padding:40px;display:grid}.flashcard h2{margin:0;font-size:clamp(2.3rem,7vw,4rem)}.answer{border-top:1px solid var(--border);width:100%;color:var(--text);padding-top:24px;font-family:inherit;font-size:1.4rem}.rating-row,.tabs{flex-wrap:wrap;gap:8px;margin-bottom:22px;display:flex}.tab{background:var(--surface-subtle);color:var(--text-secondary);border-radius:999px;padding:8px 14px}.tab:hover{background:var(--surface-hover)}.tab.active{background:var(--accent);color:var(--accent-text)}.result{margin-top:20px;line-height:1.65}.generated{white-space:pre-wrap}.reader-group-marker{min-width:1.15rem;height:1.35rem;color:var(--muted);vertical-align:.08em;cursor:pointer;background:0 0;border:1px solid transparent;border-radius:.3rem;justify-content:center;align-items:center;margin-inline:.12rem;padding:0 .15rem;font-size:.8rem;display:inline-flex}.reader-group-marker.paragraph-marker{color:var(--accent);font-weight:700}.reader-group-marker:hover,.reader-group-marker[aria-expanded=true]{background:var(--surface-subtle);color:var(--accent);border-color:currentColor}.reader-group-marker:focus-visible{background:var(--surface-subtle);color:var(--accent);border-color:currentColor}.reader-translation-text{white-space:pre-wrap}.reader-translation-bubble{max-height:min(60vh,32rem);overflow-y:auto}.speech-control{vertical-align:middle;align-items:center;gap:.3rem;display:inline-flex}.speech-button{width:2rem;min-width:2rem;height:2rem;color:var(--accent);background:var(--accent-soft);vertical-align:middle;cursor:pointer;border:0;border-radius:50%;justify-content:center;align-items:center;margin-inline:.25rem;padding:0;font-size:.72rem;display:inline-flex}.speech-button:hover{background:var(--accent);color:var(--accent-text)}.speech-button:focus-visible{background:var(--accent);color:var(--accent-text)}.speech-button .shell-icon{width:1rem;height:1rem}.speech-button .speech-pause,.speech-button .speech-loading,.speech-button[data-state=playing] .speech-play,.speech-button[data-state=loading] .speech-play{display:none}.speech-button[data-state=playing] .speech-pause,.speech-button[data-state=loading] .speech-loading{display:inline-flex}.speech-button[data-state=loading]{animation:1s ease-in-out infinite speech-pulse}.speech-button[data-state=error]{color:var(--danger);border-color:var(--danger)}.speech-error{color:var(--danger);font-size:.75rem;font-weight:400}.speech-error:empty{display:none}.reader-audio{background:var(--accent-soft);color:var(--accent-ink);border-radius:999px;align-items:center;gap:4px;padding:4px 14px 4px 4px;font-size:.9rem;font-weight:650;display:inline-flex}.reader-audio .speech-button{background:var(--accent);width:2.25rem;height:2.25rem;color:var(--accent-text);margin:0}.reader-audio .speech-button:hover{background:var(--accent-hover)}.search-result-with-audio{align-items:center;gap:.35rem;display:flex}.search-result-with-audio>.search-result{flex:1;min-width:0}.linked-word-with-audio{align-items:center;display:inline-flex}@keyframes speech-pulse{0%,to{opacity:.45;box-shadow:0 0 0 0 var(--accent-soft)}50%{opacity:1;box-shadow:0 0 0 5px var(--accent-soft)}}@media (prefers-reduced-motion:reduce){.speech-button[data-state=loading]{background:var(--accent-soft);animation:none}}.reader-group-source{white-space:pre-wrap;overflow-wrap:anywhere}.reader-group-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.reader-group-audio{align-items:center;gap:6px;display:flex}.reader-group-audio>span{color:var(--muted);font-size:.8rem}.reader-group-translation{border-top:1px solid var(--border);margin-top:16px;padding-top:12px}.reader-word[data-reading-replacement=true]{margin-inline:.05em;padding-inline:.08em}.reader-language-mix{border:1px solid var(--border);background:var(--surface-subtle);border-radius:12px;margin:14px 0 24px;padding:16px 18px}.reader-mix-heading,.reader-mix-labels,.reader-mix-overrides{justify-content:space-between;align-items:center;gap:12px;display:flex}.reader-mix-heading label{margin:0;font-weight:700}.reader-mix-heading output{color:var(--accent);font-weight:700}.reader-language-mix input[type=range]{width:100%;accent-color:var(--accent);cursor:pointer;margin:14px 0 8px;padding:0;display:block}.reader-language-mix input[type=range]:disabled{cursor:wait}.reader-mix-labels{font-size:.82rem;font-weight:600}.reader-language-mix p{margin:10px 0 0;font-size:.82rem}.reader-language-mix>button{margin-top:10px}.reader-mix-overrides{margin-top:8px;font-size:.8rem}.reader-word-display{border-block:1px solid var(--border);margin-top:12px;padding-block:10px}.reader-word-display>small{color:var(--text-secondary)}.reader-word-display-options{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.reader-word-display-options button{padding:6px 8px;font-size:.72rem}.reader-word-display-options button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}.reader-word-display .reader-nearest-meaning{margin:8px 0 0;font-weight:600}.reader-display-controls{margin:20px 0 0}.reader-control-heading{color:var(--text-secondary);margin:0;font-size:.85rem;font-weight:650}.reader-display-toggles{gap:14px;margin:16px 0 20px;display:grid}.reader-option-checkbox{cursor:pointer;align-items:center;gap:10px;margin:0;font-size:.9rem;font-weight:500;display:flex}.reader-option-checkbox input{flex:0 0 16px;width:16px;height:16px;margin:0}.reader-progress-color-controls{gap:10px;display:grid}.reader-progress-color-controls .inline-select{justify-self:start;margin:0 0 0 26px}.reader-progress-color-controls .flashcard-legend{margin:0 0 0 26px;line-height:1.5}.reader-word-help-controls{border-top:1px solid var(--border);margin-top:20px;padding-top:18px}.reader-word-help-controls .reader-control-heading{margin-bottom:8px}.reader-display-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:8px 24px;display:grid}.reader-display-grid .switch-row{grid-column:1/-1;padding:10px 0}.reader-display-grid>label:not(.option-row):not(.switch-row){gap:6px;display:grid}.reader-display-grid .option-row{margin:0}@media (width<=600px){.reader-display-grid{grid-template-columns:1fr}}.reader-word-bubble>button.secondary{margin:8px 8px 0 0}.model-control{border:1px dashed var(--border-strong);min-width:130px;color:var(--muted);border-radius:10px;flex-direction:column;gap:5px;margin:8px 12px 8px 0;padding:8px 10px;font-size:.78rem;display:inline-flex}.model-control select{min-width:120px;color:var(--text);padding:7px 10px}.word-model-menu-button{float:right;letter-spacing:2px}.word-model-options{clear:both;border-bottom:1px solid var(--border);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;padding:8px 0;display:grid}.word-model-options .model-control{margin:0}.roleplay-library-section>h2{margin:30px 0 14px;font-size:1.15rem}.scenario-library{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;display:grid}.scenario-library-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);align-content:start;gap:6px;padding:18px;transition:border-color .14s,box-shadow .14s;display:grid}.scenario-library-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow)}.scenario-card-top{justify-content:space-between;align-items:center;gap:8px;min-height:38px;display:flex}.scenario-card-top .tag{background:var(--marigold-soft);color:var(--marigold-ink);margin:0}.scenario-card-top .tag.done{background:var(--accent-soft);color:var(--accent-ink)}.scenario-library-card h3{margin:4px 0 0;font-size:1.08rem;line-height:1.35}.scenario-library-card p{margin:0 0 10px;font-size:.86rem}.scenario-library-card>.button-link,.scenario-library-card>.confirm-inline{margin-top:auto}.confirm-inline.start{justify-content:flex-start}.scenario-create{max-width:780px}.scenario-game-header{justify-content:space-between;align-items:center;gap:18px;margin:12px 0 20px;display:flex}.scenario-game-header h1{margin:0;font-size:clamp(1.5rem,3vw,2.4rem)}.scenario-progress{margin-bottom:18px}.scenario-progress progress{width:100%;accent-color:var(--accent)}.scenario-pulse{background:var(--accent);border-radius:4px;height:4px;margin-top:16px;animation:1.4s ease-in-out infinite scenario-pulse}@keyframes scenario-pulse{50%{opacity:.25}}.scenario-objective{border-left:4px solid var(--accent);flex-wrap:wrap;gap:16px 30px;margin-bottom:20px;display:flex}.scenario-objective h2{max-width:600px;margin:0;font-size:1.1rem}.scenario-objective ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.scenario-objective li{color:var(--muted);gap:10px;font-size:.88rem;display:flex}.scenario-objective li.complete{color:var(--success,#358269)}.scenario-game-layout{grid-template-columns:minmax(0,1.5fr) minmax(290px,1fr);align-items:start;gap:22px;display:grid}.scenario-world{min-width:0}.scenario-canvas{aspect-ratio:5/3;border:1px solid var(--border);cursor:pointer;background:#e5eee2;border-radius:18px;width:100%;display:block}.scenario-scene-caption{margin:16px 4px}.scenario-scene-caption h2{margin:0;font-size:1.2rem}.scenario-scene-caption p{color:var(--muted);font-size:.9rem;line-height:1.5}.scenario-people,.scenario-inventory{margin-top:16px;padding:18px}.scenario-person{border-top:1px solid var(--border);padding:12px 0}.scenario-person p,.scenario-person details,.scenario-item p{color:var(--muted);font-size:.82rem}.scenario-person .selected{outline:2px solid var(--accent);outline-offset:2px}.scenario-item{align-items:center;gap:10px;padding:10px 0;display:flex}.scenario-item-art{object-fit:contain;flex:none;width:48px;height:48px}.scenario-item-placeholder{background:var(--surface-subtle);color:var(--muted);border-radius:12px;place-items:center;font-size:1.8rem;display:grid}.scenario-item p{margin:4px 0}.scenario-conversation{padding:20px;position:sticky;top:20px}.scenario-conversation h2{margin:0 0 16px;font-size:1.1rem}.scenario-event-log{flex-direction:column;gap:12px;max-height:460px;padding-right:5px;display:flex;overflow:auto}.scenario-event{background:var(--surface-subtle);overflow-wrap:anywhere;border-radius:14px;padding:12px 14px;font-size:.92rem}.scenario-event small{color:var(--muted);font-size:.72rem;font-weight:700}.scenario-event p{white-space:pre-wrap;margin:6px 0 0;line-height:1.5}.scenario-event.event-player{background:var(--accent-soft,#e7edfc);margin-left:22px}.scenario-event.event-action,.scenario-event.event-feedback{border-left:3px solid var(--border-strong);font-size:.82rem}.scenario-event .speech-control{max-width:100%;margin-top:7px}.scenario-audio-settings{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:16px;display:flex}.scenario-audio-settings .checkbox-field{align-items:center;gap:.5rem;margin:0;display:flex}.scenario-audio-settings input[type=checkbox]{width:auto;accent-color:var(--accent);margin:0}.scenario-audio-settings small{color:var(--muted);flex-basis:100%}.scenario-audio-settings button[hidden]{display:none}.scenario-event.event-speech:has(.speech-button[data-state=playing]){box-shadow:inset 3px 0 var(--accent);background:var(--accent-soft)}.scenario-input{border-top:1px solid var(--border);margin-top:20px;padding-top:16px}.scenario-input label{font-size:.82rem}.scenario-input p{font-size:.72rem}.scenario-victory{color:#254c2d;background:#e4f3dd;border-radius:18px;align-items:center;gap:20px;margin-bottom:20px;padding:24px;display:flex}.scenario-victory>span{color:#6d9842;font-size:3rem}.scenario-victory h2,.scenario-victory p{margin:4px 0}.scenario-asset-errors{color:var(--muted);overflow-wrap:anywhere;margin:16px 0;font-size:.8rem}.scenario-error{border:1px solid var(--danger);margin-bottom:16px}@media (width<=1050px){.scenario-game-layout{grid-template-columns:1fr}.scenario-conversation{position:static}.scenario-event-log{max-height:380px}}@media (width<=620px){.scenario-intro,.scenario-game-header{flex-direction:column;align-items:flex-start}.scenario-create-options{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.scenario-pulse{animation:none}}.token-budget-badge{text-align:left;width:100%;color:var(--text);background:var(--warning-soft);border:0;border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:12px;font-weight:500;display:grid}.token-budget-badge:hover{background:color-mix(in srgb, var(--warning-soft) 80%, var(--warning))}.token-budget-icon{background:var(--surface);width:36px;height:36px;color:var(--warning-ink);border-radius:10px;place-items:center;display:grid}.token-budget-copy{gap:1px;min-width:0;display:grid}.token-budget-copy span,.token-budget-copy small{color:var(--warning-ink);font-size:.74rem}.token-budget-copy strong{color:var(--text);font-size:1rem}.account-token-budget,.token-usage-history{margin-top:24px}.token-budget-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.token-budget-heading h2{margin:0}.token-budget-balance{margin:24px 0 12px}.token-budget-balance strong{letter-spacing:-.05em;font-size:2.25rem}.token-budget-balance span{color:var(--muted)}.account-token-budget progress{width:100%;height:10px;accent-color:var(--accent)}.token-tier-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0;display:grid}.token-tier{border:1px solid var(--border);border-radius:16px;padding:20px}.token-tier.selected{border-color:var(--accent);background:var(--accent-soft)}.token-tier h3{margin:0}.token-tier p{font-size:.85rem}.token-tier button{width:100%}.subscription-settings{margin-top:24px}.billing-callout,.billing-ready-link,.billing-confirmation{border:1px solid var(--border);background:var(--accent-soft);border-radius:16px;margin:20px 0;padding:20px}.billing-callout p,.billing-ready-link p,.billing-confirmation p{margin:10px 0;line-height:1.6}.billing-current-plan{border-bottom:1px solid var(--border);padding:24px 0}.billing-current-plan>div:first-child{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.billing-current-plan h3{margin:0}.billing-current-plan small,.billing-callout small{font-size:inherit;display:inline}.billing-actions{flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0;display:flex}.billing-intervals{border:1px solid var(--border);border-radius:14px;gap:4px;width:fit-content;margin-top:24px;padding:4px;display:flex}.billing-price{min-height:36px}.billing-price strong{color:var(--text);font-size:1.5rem}.billing-price span{color:var(--muted)}.billing-terms{font-size:.85rem;line-height:1.7}.billing-ready-link a{background:var(--accent);color:var(--accent-text);border-radius:12px;padding:12px 18px;font-weight:700;text-decoration:none;display:inline-block}.billing-ready-link a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.billing-activity{margin-top:24px}.billing-activity ul{padding-left:20px}.billing-activity li{margin:12px 0}.billing-activity small{color:var(--muted);margin-top:4px;display:block}@media (width<=720px){.billing-actions>button{width:100%}.billing-ready-link a{text-align:center;display:block}}.token-explanation{color:var(--muted);margin-top:24px;font-size:.85rem;line-height:1.6}.token-history-table-wrap{margin-top:20px;overflow-x:auto}.token-history-table{border-collapse:collapse;width:100%;font-size:.82rem}.token-history-table th{text-align:left;color:var(--muted);font-size:.75rem}.token-history-table th,.token-history-table td{border-bottom:1px solid var(--border);vertical-align:top;padding:14px 12px}.token-history-table td:first-child{overflow-wrap:anywhere;min-width:220px;max-width:450px}.token-history-table td:nth-child(2){overflow-wrap:anywhere;max-width:170px}.token-history-table td small{color:var(--muted);margin:6px 0;font-size:.72rem;display:block}.token-history-table details{color:var(--muted);margin-top:10px}.token-history-table details p{font-size:.75rem}.token-history-table .token-charge{white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:700}@media (width<=720px){.token-tier-options{grid-template-columns:1fr}.token-budget-heading{flex-wrap:wrap;align-items:flex-start}.token-budget-balance span{display:block}}.scenario-microphone{border-top:1px solid var(--border);gap:.65rem;padding:1rem 0;display:grid}.scenario-microphone-controls{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.scenario-microphone-controls button{touch-action:none;-webkit-user-select:none;user-select:none}.scenario-microphone-controls button[aria-pressed=true]{background:var(--accent);color:var(--accent-text)}.scenario-microphone meter{width:3.5rem;height:.7rem}.scenario-microphone small{line-height:1.45;display:block}.scenario-microphone[data-state=transcribing] meter{animation:1s ease-in-out infinite scenario-mic-pulse}@keyframes scenario-mic-pulse{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.scenario-microphone[data-state=transcribing] meter{animation:none}}.scenario-microphone .checkbox-field{align-items:center;gap:.5rem;margin:0;display:flex}.scenario-microphone input[type=checkbox]{width:auto;accent-color:var(--accent);margin:0}button.content-cost-badge{border:1px solid var(--border);background:var(--surface-subtle);width:auto;min-height:0;color:var(--text-secondary);vertical-align:middle;white-space:nowrap;cursor:pointer;border-radius:6px;align-items:center;margin:0 4px;padding:3px 7px;font-size:.68rem;font-weight:500;line-height:1.35;display:inline-flex}button.content-cost-badge:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.content-cost-badge:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.scenario-completion-warning{border-left:4px solid var(--warning);margin:16px 0}.scenario-completion-warning h2{margin:0 0 8px;font-size:1.1rem}.scenario-completion-warning p{line-height:1.5}.scenario-warning-actions{flex-wrap:wrap;gap:10px;display:flex}.reader-content-costs,.reader-detail-costs{flex-wrap:wrap;gap:4px;margin:8px 0;display:flex}.cost-display-setting{margin:18px 0}.cost-display-setting p{margin:8px 0;font-size:.82rem}.content-cost-dialog{border:1px solid var(--border);width:min(640px,100vw - 32px);max-height:min(82vh,850px);color:var(--text);background:var(--surface);border-radius:16px;padding:24px;overflow-y:auto;box-shadow:0 20px 70px rgba(0,0,0,.267)}.content-cost-dialog::backdrop{background:rgba(16,24,43,.4)}.content-cost-dialog header{justify-content:space-between;align-items:center;gap:12px;display:flex}.content-cost-dialog h2{margin:0}.content-cost-dialog>.muted{font-size:.85rem}.content-cost-entry{border-top:1px solid var(--border);padding:18px 0}.content-cost-entry h3{overflow-wrap:anywhere;margin:0 0 10px;font-size:1rem}.content-cost-entry>small{color:var(--muted);margin:6px 0;display:block}.content-cost-entry dl{grid-template-columns:minmax(100px,1fr) minmax(0,2fr);gap:8px 14px;font-size:.83rem;display:grid}.content-cost-entry dt{color:var(--muted)}.content-cost-entry dd{overflow-wrap:anywhere;margin:0}@media (width<=600px){.content-cost-dialog{padding:18px}.content-cost-entry dl{grid-template-columns:1fr;gap:4px}.content-cost-entry dd{margin-bottom:8px}}.reader-markdown{overflow-wrap:anywhere;font-size:1.15rem;line-height:1.85}.reader-unprocessed{color:var(--text-secondary);opacity:.5}.reader-markdown p{margin:0 0 1em}.reader-markdown>:first-child{margin-top:0}.reader-markdown>:last-child{margin-bottom:0}.reader-markdown h1,.reader-markdown h2,.reader-markdown h3,.reader-markdown h4,.reader-markdown h5,.reader-markdown h6{letter-spacing:normal;margin:1.3em 0 .55em;font-weight:700;line-height:1.4}.reader-markdown h1{font-size:1.65em}.reader-markdown h2{font-size:1.4em}.reader-markdown h3{font-size:1.2em}.reader-markdown h4,.reader-markdown h5,.reader-markdown h6{font-size:1em}.reader-markdown ul,.reader-markdown ol{margin:.65em 0 1em;padding-inline-start:1.7em}.reader-markdown li{margin:.3em 0}.reader-markdown li>p{margin-bottom:.5em}.reader-markdown li>ul,.reader-markdown li>ol{margin-block:.25em}.reader-markdown blockquote{border-inline-start:3px solid var(--border-strong);color:var(--text-secondary);background:var(--surface-subtle);margin:1em 0;padding:.25em 1em}.reader-markdown blockquote>:last-child{margin-bottom:0}.reader-markdown code{background:var(--surface-subtle);white-space:pre-wrap;border-radius:4px;padding:.12em .25em;font-family:ui-monospace,monospace;font-size:.9em}.reader-markdown pre{border:1px solid var(--border);background:var(--surface-subtle);white-space:pre;border-radius:8px;margin:1em 0;padding:1em;overflow-x:auto}.reader-markdown pre code{white-space:pre;padding:0}.reader-markdown hr{border:0;border-top:1px solid var(--border-strong);margin:1.5em 0}.reader-markdown-table{margin:1em 0;overflow-x:auto}.reader-markdown table{border-collapse:collapse;width:100%}.reader-markdown th,.reader-markdown td{border:1px solid var(--border);text-align:start;padding:.4em .7em}.reader-markdown th{background:var(--surface-subtle)}.reader-markdown-task{vertical-align:baseline;width:1em;margin-inline-end:.4em;display:inline-block}.reader-markdown-link{text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:.2em}.reader-markdown-open-link{color:var(--accent);padding-inline:.25em;font-size:.7em;text-decoration:none;display:inline-block}.reader-markdown-literal{white-space:pre-wrap}.reader-word-bubble .reader-markdown{font-size:inherit;line-height:1.6}.reader-word-bubble{text-align:start;text-transform:none;letter-spacing:normal;margin:0;font-style:normal;font-weight:400;line-height:1.5;inset:auto}.inline-reader,.inline-reader-text{display:inline}.inline-reader-text{white-space:pre-wrap;line-height:inherit}.inline-reader .reader-word{line-height:inherit}.inline-reader-loading{color:var(--text-secondary);margin-inline-start:.2em;animation:1.2s ease-in-out infinite scenario-pulse;display:inline-block}.inline-reader-retry{color:var(--danger);font:inherit;vertical-align:baseline;background:0 0;margin:0;padding:0 3px;font-size:.8em;display:inline}.reader-definition-layer[popover]{width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--text);box-sizing:border-box;background:0 0;border:0;margin:0;position:fixed;inset:0}.reader-relation-layer{pointer-events:none;z-index:61;background:0 0;border:0;width:100vw;max-width:none;height:100vh;max-height:none;margin:0;padding:0;position:fixed;inset:0;overflow:visible}.dictionary-link-expand{color:var(--text-secondary);font:inherit;background:0 0;margin-inline-start:4px;padding:1px 4px}@media (width<=600px){.reading-page .reader-markdown{font-size:1.08rem}}::highlight(compri-spoken-word){color:#172238;background-color:#f9d766}.compri-speech-overlay{z-index:10000;pointer-events:none;background:rgba(246,194,43,.38);border-radius:3px;position:fixed}.speech-timing-notice{color:var(--muted);font-size:.75rem;font-weight:400}.speech-timing-notice:empty{display:none}.challenge-progress-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:.82rem;display:flex}.challenge-stars-total{color:var(--accent);font-weight:750}.challenge-progress{width:100%;height:7px;accent-color:var(--accent);margin:12px 0 18px}.challenge-tabs{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.challenge-tab{background:var(--surface-subtle);min-width:42px;color:var(--text-secondary);border:1px solid var(--border);padding:9px 12px}.challenge-tab.active{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.challenge-tab span{font-size:.7rem}.challenge-question h3{margin:0 0 18px;font-size:1.05rem;line-height:1.5}.challenge-question form{gap:9px;display:grid}.challenge-question textarea{min-height:100px}.challenge-answer-note{margin:0 0 5px;font-size:.78rem}.challenge-navigation{justify-content:space-between;margin-top:14px;display:flex}.challenge-feedback{border:1px solid var(--border);background:var(--surface-subtle);border-radius:12px;margin-top:20px;padding:18px;animation:.3s ease-out challenge-reward}.challenge-score{align-items:center;gap:10px;margin-bottom:8px;display:flex}.challenge-score span{letter-spacing:3px;font-size:1.35rem}.challenge-score .earned{color:var(--success)}.challenge-score .unearned{color:var(--border-strong)}.challenge-feedback h4{margin:0 0 12px;font-size:1.05rem}.challenge-feedback p{margin:12px 0;line-height:1.6}.challenge-language{color:var(--text-secondary);background:var(--surface);border-radius:99px;padding:4px 9px;font-size:.73rem;font-weight:650;display:inline-flex}.challenge-language.target{color:var(--success);border:1px solid}.challenge-hint{border-left:3px solid var(--warning);background:var(--surface);border-radius:4px;padding:8px 12px}.challenge-complete{background:var(--success-soft);color:var(--success);border-radius:10px;padding:13px 16px;font-weight:700;line-height:1.5}.challenge-loading{color:var(--muted);align-items:center;gap:9px;display:flex}.challenge-options{border-top:1px solid var(--border);margin-top:18px;padding-top:14px}.challenge-options summary,.challenge-history summary{color:var(--muted);cursor:pointer;font-size:.8rem}.challenge-history{margin-top:16px}.challenge-history p{overflow-wrap:anywhere;font-size:.8rem}@keyframes challenge-reward{0%{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.challenge-feedback{animation:none}}.reader-practice-launch{flex-wrap:wrap;gap:8px;display:flex}.reader-practice-launch :is(button,.button-link){padding:8px 14px;font-size:.9rem}.reader-practice-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.reader-practice-panel>.reader-practice-launch{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.reader-practice-panel>.reader-practice-launch>:is(button,.button-link){text-align:start;justify-content:flex-start;width:100%}@media (width<=600px){.reader-practice-panel>.reader-practice-launch{grid-template-columns:1fr}}.practice-backdrop{z-index:120;background:rgba(10,18,32,.48);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.practice-studio{background:var(--surface);width:min(1100px,100%);max-height:calc(100dvh - 48px);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow-raised);border-radius:18px;padding:28px;overflow-y:auto}.practice-heading{justify-content:space-between;align-items:start;gap:18px;display:flex}.practice-heading h2{margin:4px 0}.practice-heading p{margin:6px 0}.practice-heading>button{font-size:1.5rem}.practice-controls{background:var(--surface);z-index:2;border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;margin:18px 0 12px;padding:12px 0;display:flex;position:sticky;top:-28px}.practice-controls meter{width:72px}.practice-controls [role=status]{color:var(--muted);font-size:.8rem}.practice-guidance,.practice-feedback{line-height:1.6}.practice-progress{justify-content:space-between;gap:10px;margin-top:20px;font-size:.85rem;font-weight:650;display:flex}.practice-studio progress{width:100%;height:8px;accent-color:var(--success)}.practice-legend{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.practice-key{border-radius:6px;padding:4px 8px;font-size:.75rem}.practice-passage{white-space:pre-wrap;margin:24px 0;font-size:1.35rem;line-height:2.1}.practice-word{font:inherit;font-weight:inherit;color:var(--text);background:0 0;border:0;border-bottom:3px solid transparent;border-radius:5px;margin:0;padding:1px 3px;line-height:1.5;display:inline}.practice-word:hover{color:var(--text);background:var(--surface-subtle)}.practice-word.practice-cursor{outline:2px solid var(--accent);outline-offset:2px}.practice-word.provisional{opacity:.72;border-bottom-style:dotted}.practice-studio .score-4{color:#145437;background:#d8f4e5;border-bottom-color:#20824c}.practice-studio .score-3{color:#65520b;background:#fff1b8;border-bottom-color:#c5a126}.practice-studio .score-2{color:#784010;background:#ffe0bd;border-bottom-color:#c07124}.practice-studio .score-1{color:#812737;background:#ffdade;border-bottom-color:#bc4560}.practice-note{font-size:.8rem;line-height:1.5}.practice-transcript{background:var(--surface-subtle);border-radius:10px;margin:16px 0;padding:16px}.practice-transcript strong{color:var(--muted);font-size:.8rem}.practice-transcript p{min-height:1.5em;margin:8px 0 0}.practice-options{border-top:1px solid var(--border);margin-top:20px;padding-top:16px}.practice-options summary{cursor:pointer;color:var(--muted)}@media (width<=600px){.practice-backdrop{padding:6px}.practice-studio{max-height:calc(100dvh - 12px);padding:18px}.practice-passage{font-size:1.1rem}.practice-controls{top:-18px}}.scenario-lobby-actions{align-items:center;gap:12px;margin:20px 0;display:flex}.scenario-play-button{padding:16px 44px;font-size:1.15rem}.scenario-lobby-preview{background:#233e36;border-radius:20px;max-height:52vh;overflow:hidden}.scenario-lobby-preview .scenario-canvas{width:100%;max-height:52vh}.scenario-lobby-premise{margin-top:20px}.character-studio-layout{grid-template-columns:minmax(220px,.8fr) minmax(300px,1.2fr);gap:24px;margin:24px 0;display:grid}.character-preview{text-align:center;background:radial-gradient(circle at 50% 35%,#e6f3e8,transparent 65%),var(--surface)}.character-preview img{object-fit:contain;width:250px;height:300px}.character-preview p{color:var(--muted);font-size:.85rem}.character-placeholder{color:var(--accent);justify-items:center;padding:40px 0 20px;display:grid}.character-prompt form{gap:16px;display:grid}.character-history{margin-top:24px}.character-version{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;padding:20px 0;display:flex}.character-version p{overflow-wrap:anywhere;margin:6px 0}.character-version small{color:var(--muted)}.character-version button{flex-shrink:0}.scenario-immersive{z-index:110;color:#fff;isolation:isolate;background:radial-gradient(at 50% 30%,#46675d,#102c2b);height:100dvh;position:fixed;inset:0;overflow:hidden}.scenario-stage-frame{width:min(100vw,calc(max(180px,100dvh - var(--scenario-dock-space,160px)) * 1.66667));aspect-ratio:5/3;top:calc(max(180px,100dvh - var(--scenario-dock-space,160px)) / 2);position:absolute;left:50%;transform:translate(-50%,-50%)}.scenario-stage-frame .scenario-canvas{border:0;border-radius:0;width:100%;height:100%;display:block}.scenario-glass{color:#f7fffb;backdrop-filter:blur(16px);background:rgba(15,37,34,.76);border:1px solid rgba(235,255,246,.22);border-radius:16px;box-shadow:0 8px 30px rgba(3,23,17,.14)}.scenario-immersive button{color:inherit;background:rgba(234,255,242,.14);border:1px solid rgba(235,255,246,.24);border-radius:10px;padding:9px 13px;font-size:.8rem}.scenario-immersive button:hover:not(:disabled){background:rgba(234,255,242,.27)}.scenario-immersive button:focus-visible{outline-offset:3px;outline:3px solid #d5f780}.scenario-immersive summary:focus-visible{outline-offset:3px;outline:3px solid #d5f780}.scenario-immersive button:disabled{opacity:.44;cursor:default}.scenario-immersive .muted,.scenario-immersive small{color:#d5e7de}.scenario-immersive .error{color:#ffcebc}.scenario-objective-label{color:#cae897;font-size:.75rem;font-weight:700}.scenario-play-topbar{pointer-events:none;justify-content:space-between;align-items:start;gap:12px;display:flex;position:absolute;top:14px;left:16px;right:16px}.scenario-play-topbar>*{pointer-events:auto}.scenario-location{align-items:center;gap:12px;max-width:34%;padding:6px;display:flex}.scenario-location strong{padding-right:12px;font-size:.8rem}.scenario-play-tools{gap:8px;display:flex}.scenario-next-objective{grid-template-columns:1fr auto;gap:4px 12px;width:min(420px,36vw);padding:12px 14px;display:grid;position:absolute;top:14px;left:50%;transform:translate(-50%)}.scenario-next-objective .scenario-objective-label{grid-column:1;margin:0}.scenario-next-objective strong{grid-column:1;font-size:.8rem;line-height:1.4}.scenario-next-objective button{grid-area:1/2/3;align-self:center}.scenario-objective-intro{z-index:8;width:min(500px,80vw);max-height:65vh;padding:26px;position:absolute;top:15%;left:50%;overflow-y:auto;transform:translate(-50%)}.scenario-objective-intro h2{color:#fff;margin:0 0 20px}.scenario-objective-intro p{font-size:.95rem;line-height:1.5}.scenario-objective-reveal{animation:.45s both scenario-objective-enter}@keyframes scenario-objective-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.scenario-stage-markers,.scenario-actor-bubbles{pointer-events:none;position:absolute;inset:0}.scenario-immersive .scenario-place{pointer-events:auto;white-space:nowrap;background:rgba(24,76,57,.79);border:1px solid #d9ffe6;border-radius:30px;align-items:center;gap:5px;padding:3px 7px;font-size:clamp(.55rem,1vw,.7rem);display:flex;position:absolute;transform:translate(-50%,-30%);box-shadow:0 3px 10px rgba(16,44,43,.19)}.scenario-place.locked{background:rgba(56,73,66,.733)}.scenario-actor-bubble{pointer-events:auto;scrollbar-width:thin;border-radius:16px;width:clamp(155px,23vw,310px);max-height:32vh;position:absolute;overflow-y:auto;transform:translate(-50%,-100%);box-shadow:0 10px 28px rgba(23,56,41,.157)}.scenario-speech-bubble{color:#18372e;background:rgba(255,255,247,.94);border-bottom:1px solid rgba(50,83,59,.125);padding:12px 15px}.scenario-speech-bubble p{margin:0;font-size:.84rem;line-height:1.5}.scenario-immersive .scenario-speech-bubble .speech-button{color:#275a3e;background:rgba(212,226,206,.42);width:29px;min-width:29px;height:29px;margin-top:5px;padding:4px}.scenario-action-bubble{color:#edf6df;background:rgba(40,76,60,.91);border-bottom:1px solid rgba(255,255,255,.094);padding:9px 13px;font-size:.73rem}.scenario-action-bubble p{margin:3px 0;line-height:1.4}.scenario-action-bubble small{text-transform:uppercase;letter-spacing:.1em;font-size:.6rem}.scenario-inventory-panel{z-index:5;width:260px;max-height:55vh;padding:12px 15px;position:absolute;top:82px;right:16px;overflow-y:auto}.scenario-immersive summary{cursor:pointer;font-size:.8rem;font-weight:650}.scenario-inventory-panel p{font-size:.75rem;line-height:1.5}.scenario-inventory-stack{border-top:1px solid rgba(255,255,255,.15);margin-top:12px;padding-top:12px}.scenario-inventory-stack summary{align-items:center;gap:10px;display:flex}.scenario-inventory-stack summary:before{content:"▸"}.scenario-inventory-stack[open] summary:before{content:"▾"}.scenario-inventory-stack img{object-fit:contain;width:36px;height:36px}.scenario-inventory-stack summary strong{margin-left:auto}.scenario-inventory-stack label{color:#f7fffb;margin:10px 0;font-size:.72rem}.scenario-inventory-stack button{margin:5px 3px 0 0}.scenario-immersive input,.scenario-immersive textarea,.scenario-immersive select{color:#fff;background:rgba(16,44,43,.66);border:1px solid rgba(179,209,195,.36);border-radius:9px}.scenario-immersive select option{color:#fff;background:#18372e}.scenario-history-wrap{z-index:5;width:290px;position:absolute;top:82px;left:16px}.scenario-history{padding:12px 15px}.scenario-history .scenario-event-log{height:auto;max-height:43vh;margin-top:12px}.scenario-history .scenario-event{background:rgba(255,255,255,.047);padding:10px;font-size:.8rem}.scenario-history .scenario-event p{margin:5px 0}.scenario-history .scenario-audio-settings{border-color:rgba(255,255,255,.133);font-size:.7rem}.scenario-history .scenario-audio-settings label{color:#e4f7eb}.scenario-history .scenario-audio-settings small{font-size:.62rem}.scenario-play-bottom{pointer-events:none;z-index:6;gap:8px;width:min(820px,100% - 32px);max-height:55vh;display:grid;position:absolute;bottom:14px;left:50%;overflow-y:auto;transform:translate(-50%)}.scenario-play-bottom>*{pointer-events:auto}.scenario-live-status{justify-self:center;margin:0;padding:8px 16px;font-size:.8rem}.scenario-play-bottom>.error,.scenario-play-bottom>div.scenario-glass{margin:0;padding:12px}.scenario-action-tray{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.scenario-action-tray button{background:rgba(25,62,50,.85);max-width:240px}.scenario-input-dock{padding:10px 16px}.scenario-nearby{color:#d6e9dc;margin:0 0 6px;font-size:.67rem}.scenario-voice-row{align-items:start;gap:12px;display:flex}.scenario-voice-row>.scenario-microphone{background:0 0;border:0;flex:1;min-width:0;margin:0;padding:0}.scenario-voice-row>button{flex-shrink:0}.scenario-voice-row .scenario-microphone small{margin:3px 0 0;font-size:.62rem}.scenario-voice-row .scenario-microphone-controls{gap:8px}.scenario-voice-row .scenario-microphone-controls meter{width:50px}.scenario-draft{border-top:1px solid rgba(255,255,255,.14);margin:10px 0 0;padding:12px 0 0}.scenario-draft label{color:#d6e9dc;font-size:.7rem}.scenario-draft .form-actions{justify-content:flex-end;margin:8px 0 0}.scenario-draft button[type=submit]{color:#163a27;background:#dcf58c}.scenario-transcript-review{background:rgba(255,255,255,.05);border-radius:8px;padding:8px 12px}.scenario-transcript-review strong{color:#d6e9dc;font-size:.65rem}.scenario-transcript-review p{margin:4px 0;font-size:.95rem}.scenario-popup-backdrop{z-index:20;background:rgba(6,28,39,.45);place-items:center;padding:24px;display:grid;position:absolute;inset:0}.scenario-play-popup{background:rgba(24,51,46,.94);width:min(1100px,95vw);max-height:90dvh;padding:24px;overflow-y:auto}.scenario-play-popup>header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.scenario-play-popup h2,.scenario-play-popup h3{color:#fff}.scenario-play-popup li{padding:12px;line-height:1.5}.scenario-play-popup li.complete{color:#d6ed9d}.scenario-debug-tabs{gap:8px;margin-bottom:18px;display:flex}.scenario-debug-tabs button[aria-selected=true]{color:#19382b;background:#dbef95}.scenario-play-popup pre{color:#e0f2e7;white-space:pre-wrap;overflow-wrap:anywhere;background:rgba(7,31,27,.6);border-radius:12px;padding:18px;font-size:.72rem}.scenario-debug-assets{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;display:grid}.scenario-debug-assets article{border:1px solid rgba(255,255,255,.125);border-radius:12px;min-width:0;padding:14px}.scenario-debug-assets img{object-fit:contain;background:repeating-conic-gradient(rgba(255,255,255,.082) 0% 25%,rgba(255,255,255,.03) 0% 50%) 50%/20px 20px;border-radius:10px;width:100%;height:220px}@media (prefers-reduced-motion:reduce){.scenario-objective-reveal{animation:none}}@media (width<=800px){.scenario-play-topbar{top:8px;left:8px;right:8px}.scenario-location{max-width:60%}.scenario-location strong{display:none}.scenario-next-objective{width:calc(100% - 32px);max-width:450px;top:58px}.scenario-inventory-panel{width:220px;max-height:40vh;top:140px;right:8px}.scenario-history-wrap{width:220px;top:140px;left:8px}.scenario-history-wrap:has(details:not([open])){width:auto}.scenario-inventory-panel:not([open]){width:auto}.scenario-actor-bubble{width:180px;max-height:25vh}.scenario-actor-bubble p{font-size:.73rem}.scenario-play-bottom{width:calc(100% - 16px);bottom:8px}.scenario-voice-row{gap:8px}.scenario-input-dock{padding:10px}.scenario-immersive button{padding:8px 10px;font-size:.72rem}.character-studio-layout{grid-template-columns:1fr}.character-preview img{height:220px}}.character-prompt .checkbox-field{align-items:center;gap:10px;margin:16px 0;display:flex}.character-prompt .checkbox-field input{width:auto;margin:0}.scenario-actor-bubble.player-bubble-left{transform:translate(calc(-100% - 55px),-100%)}.scenario-actor-bubble.player-bubble-right{transform:translate(55px,-100%)}.social-sign-in-buttons{gap:12px;margin:24px 0;display:grid}.social-provider{border-radius:8px;justify-content:center;align-items:center;gap:12px;width:100%;min-height:48px;font-size:1rem;font-weight:500;display:flex}.social-provider svg{flex:none}.social-provider-google{color:#1f1f1f;background:#fff;border:1px solid #747775}.social-provider-google:hover:not(:disabled){color:#1f1f1f;background:#f2f2f2}.social-provider-apple{color:#fff;background:#000;border:1px solid #747775}.social-provider-apple:hover:not(:disabled){color:#fff;background:#222}.social-provider:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.auth-divider{color:var(--muted);align-items:center;gap:16px;margin:22px 0;font-size:.85rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.social-provider-unavailable{font-size:.85rem}.social-provider-unavailable button{font-size:inherit;padding:4px 8px}.reader-word[data-has-reading=true]{vertical-align:baseline;margin-inline:.14em;grid-template-columns:minmax(0,max-content);justify-items:center;max-width:100%;margin-bottom:.35em;line-height:1.45;display:inline-grid}.reader-word-reading{max-width:100%;color:var(--muted);white-space:normal;overflow-wrap:anywhere;-webkit-user-select:none;user-select:none;font-size:.65em;font-weight:400;line-height:1.35;display:block}.reader-pronunciation-controls{margin:0}button.explanation-target-link{color:var(--accent);font:inherit;line-height:inherit;letter-spacing:inherit;text-align:inherit;text-transform:none;vertical-align:baseline;box-shadow:none;text-underline-offset:.18em;cursor:pointer;background:0 0;border:0;border-radius:2px;margin:0;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;display:inline}button.explanation-target-link:hover{background:var(--highlight);text-decoration-style:solid}button.explanation-target-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.target-word-popup{z-index:90}.word-reading-note{position:relative}.word-reading-note>summary{cursor:pointer;list-style:none}.word-reading-note>summary::-webkit-details-marker{display:none}.word-reading-note[open]{flex-basis:100%}.word-reading-note[open]>span{max-width:32em;color:var(--text-secondary);padding:.4em 0;font-size:.85rem;display:block}.word-transliteration-context{flex-wrap:wrap}.scenario-action-option{align-items:flex-start;gap:4px;display:flex}.scenario-action-help{max-width:240px;padding:10px}.scenario-action-help>summary{cursor:pointer;list-style:none}.scenario-action-help>summary::-webkit-details-marker{display:none}.scenario-action-help p{margin:8px 0 0;font-size:.85rem}.reader-flashcard-panel{gap:12px;margin:14px 0 0;display:grid}.reader-practice-panel,button.reader-learning-progress{border:1px solid var(--border);background:var(--surface);border-radius:16px;padding:14px 16px}button.reader-learning-progress{width:100%;color:var(--text);text-align:start;display:block}button.reader-learning-progress:hover{background:var(--surface-hover);border-color:var(--border-strong)}.reader-learning-heading{align-items:center;gap:10px;font-size:.9rem;font-weight:600;display:flex}.reader-learning-label{flex:1}.reader-progress-info{color:var(--muted);flex:none;display:inline-flex}.reader-learning-heading strong{font-variant-numeric:tabular-nums;font-size:1.1rem}.reader-learning-track{background:var(--border-strong);border-radius:99px;width:100%;height:12px;margin-top:6px;display:flex;overflow:hidden}.reader-learning-segment{flex:none;height:100%;transition:width .35s}.reader-learning-segment[data-level="5"],.reader-learning-swatch[data-level="5"]{background:var(--success)}.reader-learning-segment[data-level="4"],.reader-learning-swatch[data-level="4"]{background:#8bb45a}.reader-learning-segment[data-level="3"],.reader-learning-swatch[data-level="3"]{background:#e3c14e}.reader-learning-segment[data-level="2"],.reader-learning-swatch[data-level="2"]{background:var(--warning)}.reader-learning-segment[data-level="1"],.reader-learning-swatch[data-level="1"]{background:var(--danger)}.reader-learning-segment[data-level="0"],.reader-learning-swatch[data-level="0"]{background:var(--border-strong)}.reader-learning-legend{color:var(--text-secondary);grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:0;font-size:.8rem;list-style:none;display:grid}.reader-learning-legend li{background:var(--surface-subtle);border-radius:10px;align-items:center;gap:8px;padding:10px;display:flex}.reader-learning-legend li>span:nth-child(2){flex:1}@media (width<=600px){.reader-learning-legend{grid-template-columns:repeat(2,minmax(0,1fr))}}.reader-learning-legend strong{font-variant-numeric:tabular-nums;color:var(--text);font-weight:600}.reader-learning-swatch{border-radius:3px;flex-shrink:0;width:8px;height:8px}.reader-learning-explanation{color:var(--text-secondary);margin-top:20px;font-size:.8rem}.reader-learning-explanation h3{color:var(--text);margin:0;font-size:.9rem}.reader-learning-explanation summary{cursor:pointer;font-weight:600}.reader-learning-popup-summary{margin:0 0 14px}.reader-learning-popup-summary>strong{text-align:end;font-variant-numeric:tabular-nums;font-size:1.1rem;display:block}.reader-popup .reader-learning-legend{flex-wrap:wrap;gap:8px 16px;margin:0;display:flex}.reader-popup .reader-learning-legend li{background:0 0;gap:6px;padding:0}.reader-learning-explanation p{margin:8px 0 0;font-size:.8rem;line-height:1.5}@media (prefers-reduced-motion:reduce){.reader-learning-segment{transition:none}}.reader-flashcard-toolbar,.flashcard-answer-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.reader-flashcard-toolbar>button:first-child{padding:8px 14px;font-size:.9rem}.reader-practice-panel>p{margin:10px 0 0;font-size:.86rem}.reader-flashcard-toolbar label{margin:0}.flashcard-legend{color:var(--text-secondary);align-items:center;gap:10px;margin-top:12px;font-size:.8rem;display:flex}.flashcard-legend-gradient{background:linear-gradient(90deg,rgba(211,34,34,.5),rgba(211,211,34,.5),rgba(34,211,34,.5));border-radius:5px;flex:0 0 64px;height:9px}.flashcard-progress-matrix{min-width:0;margin-top:18px}.flashcard-matrix-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.flashcard-progress-matrix p,.flashcard-matrix-pagination{font-size:.8rem}.flashcard-progress-matrix>p{margin-top:12px}.flashcard-matrix-controls{grid-template-columns:minmax(180px,1fr) minmax(130px,.65fr) minmax(160px,.8fr);gap:8px;margin-bottom:12px;display:grid}.flashcard-matrix-controls input,.flashcard-matrix-controls select{width:100%;min-width:0;margin:0;font-size:.8rem}@media (width<=700px){.flashcard-matrix-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.flashcard-matrix-search{grid-column:1/-1}}.flashcard-matrix-scroll{border:1px solid var(--border);border-radius:8px;max-width:100%;max-height:min(65vh,600px);overflow:auto}.flashcard-matrix-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.flashcard-matrix-table{border-collapse:separate;border-spacing:0;width:100%;min-width:840px;font-size:.85rem}.flashcard-matrix-table .sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.flashcard-matrix-table th,.flashcard-matrix-table td{border-bottom:1px solid var(--border);border-inline-end:1px solid var(--border);padding:12px}.flashcard-matrix-table thead th{z-index:2;background:var(--surface-subtle);text-align:center;font-size:.75rem;position:sticky;top:0}button.flashcard-matrix-sort{width:100%;color:var(--text-secondary);font-size:inherit;background:0 0;justify-content:center;gap:6px;padding:2px 0;display:flex}.flashcard-matrix-table thead th:first-child .flashcard-matrix-sort{justify-content:flex-start}button.flashcard-matrix-sort:hover,.flashcard-matrix-table th[aria-sort]:not([aria-sort=none]) button{color:var(--text)}.flashcard-matrix-table tr>:first-child{z-index:1;background:var(--surface);text-align:left;min-width:180px;max-width:260px;position:sticky;left:0}.flashcard-matrix-table thead th:first-child{z-index:3;background:var(--surface-subtle)}.flashcard-matrix-table tbody th{overflow-wrap:anywhere;font-weight:400}.flashcard-matrix-meaning{color:var(--text-secondary);margin-top:4px;font-size:.75rem;line-height:1.4;display:block}.flashcard-matrix-table td{text-align:center;font-variant-numeric:tabular-nums;min-width:100px;padding:0}.flashcard-matrix-table td.flashcard-matrix-readonly{padding:12px}button.flashcard-matrix-score{width:100%;min-height:70px;color:var(--text);background:0 0;border-radius:0;flex-direction:column;justify-content:center;gap:0;padding:12px;display:flex}button.flashcard-matrix-score:hover:not(:disabled),button.flashcard-matrix-score[aria-expanded=true]{box-shadow:inset 0 0 0 2px var(--accent);background:rgba(128,128,128,.15)}button.flashcard-matrix-score:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}button.flashcard-matrix-sort:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}button.flashcard-matrix-score[aria-disabled=true]{opacity:1;cursor:progress}button.flashcard-matrix-score small{color:var(--text-secondary);font-weight:400}.flashcard-matrix-table td strong{font-size:1rem;display:block}.flashcard-matrix-table td small{margin-top:4px;font-size:.7rem;display:block}.flashcard-matrix-table tr>:last-child{border-inline-end:0}.flashcard-matrix-table tbody tr:last-child>*{border-bottom:0}.flashcard-matrix-pagination{justify-content:flex-start;margin-top:14px}.flashcard-matrix-pagination p{flex:1;min-width:160px}.flashcard-matrix-pagination button{padding:8px 12px;font-size:.8rem}.flashcard-matrix-empty{color:var(--text-secondary);padding:18px 0}.flashcard-page,.comprehension-page{width:min(860px,100%);margin-inline:auto}.flashcard-back-link,.comprehension-back-link{margin-bottom:14px}.flashcard-page-heading,.comprehension-page-heading{max-width:none}.flashcard-page-heading h1:focus,.comprehension-page-heading h1:focus{outline:none}.flashcard-page-source,.comprehension-page-source{color:var(--text-secondary);overflow-wrap:anywhere;margin-bottom:8px;font-size:1.1rem}.flashcard-page-heading>.muted{font-size:.85rem}.flashcard-settings{border:1px solid var(--border);border-radius:12px;margin:20px 0;padding:14px}.flashcard-settings summary{cursor:pointer;font-weight:650}.flashcard-settings>*+*{margin-top:14px}.flashcard-pairs{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.flashcard-settings fieldset{border:1px solid var(--border);border-radius:8px;min-width:0;padding:10px}.flashcard-settings legend{font-size:.8rem;font-weight:650}.flashcard-settings .option-row{align-items:flex-start;margin:8px 0;font-size:.8rem}.flashcard-settings input[type=number]{width:80px}.flashcard-session-progress{color:var(--muted);align-items:center;gap:16px;margin-bottom:22px;font-size:.8rem;display:flex}.flashcard-session-progress progress{min-width:50px;height:7px;accent-color:var(--accent);flex:1}.flashcard-preparation{border:1px solid var(--border);background:var(--surface-subtle);border-radius:12px;margin-bottom:22px;padding:14px 16px;font-size:.85rem}.flashcard-preparation p+p{margin-top:6px}.flashcard-preparation progress{width:100%;height:6px;accent-color:var(--accent);margin-top:12px;display:block}.flashcard-preparation button,.flashcard-preparation-error{margin-top:12px}.flashcard-preparation-error{color:var(--text-secondary);overflow-wrap:anywhere}.flashcard-preparation-error summary{cursor:pointer}.flashcard-waiting{padding:clamp(20px,4vw,32px);font-size:1rem}.flashcard-waiting h3{margin:8px 0 12px;font-size:1.35rem}.flashcard-waiting>p:last-child{margin-top:20px;font-size:.85rem}.reader-context-card{gap:20px;display:grid}.flashcard-task>p+p{margin-top:8px;font-size:.85rem;line-height:1.5}.flashcard-task-summary{color:var(--text-secondary);font-size:.85rem}.flashcard-task-summary span{color:var(--muted);margin-top:4px;font-size:.8rem;display:block}.flashcard-context{background:var(--surface-subtle);text-align:center;overflow-wrap:anywhere;white-space:pre-wrap;border-radius:14px;padding:30px 12px;font-size:clamp(1.25rem,4vw,1.9rem);line-height:1.65}.flashcard-neighbor{color:var(--muted);font-weight:400}.flashcard-focus{color:var(--text);padding:0 .15em;font-weight:750}.flashcard-cue{text-align:center;justify-content:center;align-items:center;gap:14px;font-size:1.05rem;display:flex}.flashcard-reading-help{justify-items:center;gap:10px;margin-top:-6px;display:grid}.flashcard-study-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 24px;display:flex}.flashcard-study-controls>button{font-size:.8rem}.flashcard-audio-control{color:var(--text-secondary);align-items:center;gap:8px;font-size:.85rem;display:flex}.flashcard-audio-control .speech-button{margin:0}.flashcard-reading-hint{text-align:center;width:100%}.flashcard-reading-context{color:var(--text-secondary);flex-wrap:wrap;justify-content:center;align-items:baseline;gap:.45em;font-size:1.05rem;display:flex}.flashcard-reading-context strong{color:var(--text)}.flashcard-reading-context>*{overflow-wrap:anywhere;min-width:0}.flashcard-response-method{flex-wrap:wrap;gap:8px;display:flex}.flashcard-response-method button[aria-pressed=true]{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.flashcard-answer-actions{justify-content:space-between}.flashcard-feedback{border:1px solid var(--border);background:var(--surface-subtle);border-radius:14px;justify-items:start;gap:12px;padding:20px;display:grid}.flashcard-feedback h3{font-size:1.8rem}.flashcard-adjusted-note{color:var(--text-secondary);font-size:.85rem}.flashcard-adjustment{width:100%}.flashcard-adjustment-options{border:1px solid var(--border);background:var(--surface);border-radius:10px;gap:18px;margin-top:12px;padding:18px;display:grid}.flashcard-adjustment-options p{font-size:.85rem;line-height:1.5}.flashcard-adjustment-actions{flex-wrap:wrap;gap:10px;display:flex}.flashcard-adjustment-actions button{font-size:.8rem}.flashcard-score-picker{border:0;justify-items:start;gap:12px;min-width:0;margin:0;padding:0;display:grid}.flashcard-score-picker legend{margin-bottom:8px;font-weight:650}.flashcard-score-options{flex-wrap:wrap;gap:8px;display:flex}.flashcard-score-options label{border:1px solid var(--border);cursor:pointer;border-radius:8px;align-items:center;gap:8px;margin:0;padding:10px 14px;display:flex}.flashcard-score-options label.selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.flashcard-score-options input{width:16px;height:16px;accent-color:var(--accent);margin:0}.explanation-target-text{color:var(--text);font-weight:650}.flashcard-score{--score-color:var(--warning-ink);width:min(100%,320px);padding-bottom:6px}.flashcard-score-low{--score-color:var(--danger)}.flashcard-score-high{--score-color:var(--success)}.flashcard-score-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 20px;display:flex}.flashcard-score-label{color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:650}.flashcard-score-value{align-items:baseline;gap:7px;margin:2px 0 0;display:flex}.flashcard-score-value strong{color:var(--score-color);font-variant-numeric:tabular-nums;font-size:2rem;line-height:1.2}.flashcard-score-value span{color:var(--text-secondary);font-size:.85rem}.flashcard-score-verdict{color:var(--score-color);background:color-mix(in srgb, var(--score-color) 10%, var(--surface));border-radius:20px;padding:5px 10px;font-size:.8rem;font-weight:650}.flashcard-score-scale{gap:5px;margin-top:10px;display:flex}.flashcard-score-scale span{background:var(--border);border-radius:3px;flex:1;height:5px}.flashcard-score-scale .filled{background:var(--score-color)}.flashcard-history{margin-top:24px}.flashcard-history summary{cursor:pointer;color:var(--text-secondary)}.flashcard-history-row{border-bottom:1px solid var(--border);overflow-wrap:anywhere;gap:5px;padding:12px 0;display:grid}.flashcard-history-row small{color:var(--muted)}.flashcard-history-score{color:var(--text-secondary);font-size:.8rem;font-weight:600}.flashcard-finished{gap:16px;padding-block:14px;display:grid}.reader-flashcard-microphone{gap:10px;display:grid}.reader-flashcard-microphone meter{width:75px}@media (width<=520px){.flashcard-pairs{grid-template-columns:1fr}.reader-flashcard-toolbar{align-items:flex-start}}.flashcard-hints{justify-items:start;gap:12px;margin:8px 0 20px;display:grid}.flashcard-hint-toggle{align-items:center;gap:8px;display:inline-flex}.flashcard-hint-menu{background:var(--surface-subtle);border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;gap:10px;width:100%;padding:16px;display:flex}.flashcard-hint-menu p{flex-basis:100%;font-size:.85rem}.flashcard-hint-menu button{padding:10px 14px;font-size:.85rem}.flashcard-hint-note{color:var(--text-secondary);font-size:.8rem}.flashcard-revealed-hint{border:1px dashed var(--border);border-radius:12px;gap:12px;width:100%;padding:16px;display:grid}.flashcard-revealed-hint>.muted{font-size:.8rem}.flashcard-listening-prompt{background:var(--surface-subtle);text-align:center;border-radius:14px;gap:16px;padding:24px;display:grid}.flashcard-learning-progress{gap:10px;margin:24px 0;display:grid}.flashcard-learning-progress summary{cursor:pointer;color:var(--text-secondary)}.flashcard-learning-progress summary>strong{float:right;color:var(--text);font-variant-numeric:tabular-nums}.flashcard-learning-track{background:var(--border);border-radius:12px;width:100%;height:9px;margin-top:10px;overflow:hidden}.flashcard-learning-track>span{border-radius:inherit;height:100%;transition:width .2s;display:block}.flashcard-dimension-progress{gap:16px;padding:20px 0;display:grid}.flashcard-dimension-row{grid-template-columns:1fr auto;gap:0 16px;display:grid}.flashcard-dimension-row .flashcard-learning-track{grid-column:1/-1}.flashcard-learning-progress p{font-size:.8rem;line-height:1.5}.flashcard-introduction{border:1px solid var(--border);background:var(--surface-subtle);border-radius:16px;gap:18px;padding:24px;display:grid}.flashcard-introduction h3{margin:0;font-size:2rem}.flashcard-introduction-reading{color:var(--text-secondary)}.flashcard-introduction-contexts{gap:14px;display:grid}.flashcard-introduction-sentence{background:var(--surface);border-radius:10px;gap:8px;padding:14px;display:grid}.flashcard-introduction-sentence p{white-space:pre-wrap;overflow-wrap:anywhere}.flashcard-familiarity{border:0;min-width:0;margin:0;padding:0}.flashcard-familiarity legend{margin-bottom:10px;font-weight:650}.flashcard-familiarity-options{grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(4px,1vw,8px);margin-top:14px;display:grid}.flashcard-familiarity-options button{text-align:center;background:hsl(var(--familiarity-hue) 72% 48% / .18);border:1px solid hsl(var(--familiarity-hue) 72% 48% / .5);width:100%;min-width:0;color:var(--text);grid-template-rows:auto 1fr;align-items:start;gap:5px;padding:12px 4px;display:grid}.flashcard-familiarity-options button:hover:not(:disabled){background:hsl(var(--familiarity-hue) 72% 48% / .3);border-color:hsl(var(--familiarity-hue) 72% 48%)}.flashcard-familiarity-options strong{font-size:1.3rem}.flashcard-familiarity-options span{overflow-wrap:anywhere;font-size:.75rem;line-height:1.35}.flashcard-learning-settings{gap:14px;display:grid}.credit-pools{gap:18px;display:grid}.credit-redemption{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.credit-redemption label{flex:1;min-width:180px}.credit-pool-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.credit-pool-row{background:var(--surface-subtle);border:1px solid var(--border);border-radius:12px;justify-content:space-between;gap:12px;padding:18px;display:flex;position:relative}.credit-pool-summary{flex-wrap:wrap;align-items:center;gap:8px 12px;min-width:0;display:flex}.credit-pool-summary p{flex-basis:100%}.credit-pool-expiry small{font-size:inherit;display:inline}.credit-pool-info-button{border-radius:50%;width:36px;height:36px;padding:0;font-size:1.1rem}.credit-pool-expired{color:var(--text-secondary);background:var(--border)}.credit-pool-bubble{z-index:40;background:var(--surface);border:1px solid var(--border);width:min(340px,100% - 24px);max-height:calc(100dvh - 32px);box-shadow:var(--shadow-raised);border-radius:12px;padding:18px;position:absolute;top:58px;right:12px;overflow-y:auto}.credit-pool-bubble header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.credit-pool-bubble dl{grid-template-columns:auto 1fr;gap:10px 16px;font-size:.85rem;display:grid}.credit-pool-bubble dt{color:var(--text-secondary)}.credit-pool-bubble dd{overflow-wrap:anywhere;margin:0}.credit-pool-bubble small{font-size:inherit}.vocabulary-list-tabs{flex-wrap:wrap;gap:8px;margin:26px 0 18px;display:flex}.vocabulary-list-link{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);border-radius:999px;align-items:center;gap:10px;padding:8px 14px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.vocabulary-list-link:hover{border-color:var(--border-strong);color:var(--text)}.vocabulary-list-link span{background:var(--surface-subtle);border-radius:99px;padding:1px 8px;font-size:.76rem}.vocabulary-list-link.active{border-color:var(--accent);color:var(--accent-ink);background:var(--accent-soft)}.vocabulary-list-link.active span{background:var(--surface)}button.vocabulary-list-link.new-list{color:var(--text-secondary);background:0 0;border-style:dashed;gap:6px}.vocabulary-list-create{max-width:620px;margin-bottom:18px}.vocabulary-list-create form{gap:14px;display:grid}.vocabulary-tools{flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 16px;display:flex}.vocabulary-tools .search-field{flex:1;min-width:min(260px,100%);padding-block:2px}.vocabulary-collection{gap:4px;display:grid}.vocabulary-no-match{padding:18px 0}.vocabulary-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-bottom:18px;display:grid}.vocabulary-word{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);min-width:0;box-shadow:var(--shadow-sm);overflow-wrap:anywhere;align-content:start;gap:8px;padding:18px;display:grid}.vocabulary-word p,.vocabulary-word h3{margin:0}.vocabulary-word blockquote{margin:4px 0;font-size:.92rem}.vocabulary-word-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.vocabulary-word-heading h3{letter-spacing:-.01em;font-size:1.3rem}.vocabulary-reading{color:var(--text-secondary);font-size:.9rem}.vocabulary-tags,.vocabulary-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.vocabulary-tags .tag{margin:0;text-decoration:none}.vocabulary-list-settings,.vocabulary-word-settings{margin:4px 0 0}.vocabulary-word-settings>summary,.vocabulary-list-settings>summary{width:fit-content;color:var(--muted);cursor:pointer;font-size:.84rem;font-weight:600}.vocabulary-list-settings{margin-bottom:14px}.vocabulary-list-settings>label,.vocabulary-memberships{margin-top:12px}.vocabulary-list-settings>label{max-width:400px}.vocabulary-list-settings .vocabulary-actions{margin-top:12px}.vocabulary-memberships .option-row{margin-top:6px}.vocabulary-word-settings .vocabulary-actions{margin-top:10px}.vocabulary-word-settings .vocabulary-actions button{padding:7px 12px;font-size:.86rem}.vocabulary-actions+p{margin-top:10px;font-size:.84rem}.vocabulary-empty{justify-items:center;padding-bottom:32px;display:grid}.button-row.centered{justify-content:center}.vocabulary-save{max-width:100%;font-size:.9rem;font-weight:400;position:relative}.vocabulary-save>button{padding:7px 13px;font-size:.86rem}.vocabulary-save>button.word-list-button{border-radius:8px;width:32px;min-width:32px;height:32px;padding:0}.vocabulary-save>button.word-list-button.in-custom-list{background:var(--accent);color:var(--accent-text)}.vocabulary-save>button.word-list-button.in-custom-list:hover{background:var(--accent-hover)}.vocabulary-save-notice{inset-inline-end:0;color:var(--muted);white-space:nowrap;margin:0;font-size:.75rem;position:absolute;top:calc(100% + 4px)}.vocabulary-save>.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.anchored-popover{z-index:120;box-sizing:border-box;overscroll-behavior:contain;border:1px solid var(--border);background:var(--surface);width:min(380px,100vw - 24px);max-height:calc(100dvh - 24px);color:var(--text);box-shadow:var(--shadow-raised);font-family:var(--font-sans);text-align:start;white-space:normal;border-radius:16px;margin:0;padding:16px;font-size:.9rem;font-weight:400;display:none;position:fixed;inset:auto;overflow-y:auto}.anchored-popover.open{animation:popover-in .14s var(--ease);gap:12px;display:grid}.anchored-popover:popover-open{animation:popover-in .14s var(--ease);gap:12px;display:grid}.anchored-popover-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.anchored-popover-heading h2{margin:0;font-size:1rem}.anchored-popover-heading>button{flex:none}.vocabulary-save-menu{gap:12px;min-width:0;display:grid}.vocabulary-save-menu p{margin:0;font-size:.85rem;line-height:1.5}.vocabulary-inline-create{border-top:1px solid var(--border);flex-wrap:wrap;align-items:end;gap:10px;padding-top:14px;display:flex}.vocabulary-inline-create label{flex:1;min-width:min(140px,100%)}.flashcard-introduction-step{gap:14px;display:grid}.reader-view{max-width:860px;margin:0 auto}.reader-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;margin-bottom:16px;display:flex}.reader-title h1{flex-wrap:wrap;flex:300px;align-items:center;gap:4px 10px;margin:0;font-size:clamp(1.7rem,3.4vw,2.3rem);line-height:1.2;display:flex}.reader-document-actions{margin:0 calc(10px - var(--reading-padding)) 8px;align-items:center;gap:12px;display:flex}.reader-options-button{margin-inline-start:auto}.reader-popup{border:1px solid var(--border);width:min(640px,100vw - 24px);max-height:calc(100dvh - 24px);color:var(--text);background:var(--surface);box-shadow:var(--shadow-raised);border-radius:20px;padding:0;overflow:clip}.reader-popup[open]{flex-direction:column;display:flex}.reader-popup[data-wide=true]{width:min(1000px,100vw - 24px)}.reader-popup::backdrop{background:var(--scrim)}.reader-popup-heading{border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;display:flex}.reader-popup-heading h2{margin:0;font-size:1.1rem}.reader-popup-heading>button{flex:none}.reader-popup-body{overscroll-behavior:contain;min-height:0;padding:20px;overflow-y:auto}.reader-popup .flashcard-progress-matrix{border:0;border-top:1px solid var(--border);border-radius:0;padding:20px 0 0}.reader-popup .reader-text-actions{margin-top:0}.reader-popup.settings-popup{width:min(920px,100vw - 24px);max-height:min(900px,100dvh - 24px)}.settings-popup .reader-popup-body{background:var(--bg)}.settings-popup .settings-layout{max-width:none}@media (width<=600px){.reader-popup-heading{padding:10px 14px}.reader-popup-body{padding:16px}}.reader-enrichment-actions{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;padding-top:16px;display:flex}.reader-debug{border-style:dashed;min-width:0;margin:18px 0 0;padding:16px}.reader-debug-output{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;max-height:min(50dvh,420px);margin:14px 0 0;font-size:.75rem;overflow:auto}.chip-toggle{border:1px solid var(--border);background:var(--surface);width:fit-content;color:var(--text-secondary);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:6px 12px 6px 9px;font-size:.86rem;font-weight:600;display:inline-flex}.chip-toggle:has(input:checked){border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}.chip-toggle input{width:16px;height:16px}.inline-select{color:var(--text-secondary);align-items:center;gap:8px;font-size:.86rem;display:inline-flex}.inline-select select{width:auto;padding-block:6px}.reader-page-count{font-variant-numeric:tabular-nums}.practice-hero{border:1px solid var(--border);border-radius:var(--radius-xl);background:linear-gradient(135deg, var(--surface) 45%, var(--accent-soft));box-shadow:var(--shadow);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px 28px;padding:26px 28px;display:flex;position:relative;overflow:hidden}.practice-hero-copy{gap:6px;max-width:560px;display:grid}.practice-hero-copy h2{letter-spacing:-.02em;margin:2px 0 0;font-size:1.5rem}.practice-hero-copy p:not(.eyebrow){color:var(--text-secondary);margin:0;line-height:1.55}.practice-hero-copy .button-row{margin-top:12px}button.practice-hero-button{box-shadow:var(--shadow);padding:13px 22px;font-size:1rem}.roleplay-hero{padding-right:200px}.roleplay-art{width:170px;position:absolute;top:0;bottom:0;right:26px}.roleplay-bubble{box-shadow:var(--shadow);border-radius:22px;display:block;position:absolute}.roleplay-bubble.one{background:var(--surface);background-image:linear-gradient(var(--border) 3px, transparent 3px), linear-gradient(var(--border) 3px, transparent 3px);background-position:18px 18px,18px 30px;background-repeat:no-repeat;background-size:70px 3px,50px 3px;border-bottom-left-radius:4px;width:120px;height:52px;top:26px;left:0}.roleplay-bubble.two{background:var(--accent);background-image:linear-gradient(rgba(255,255,255,.55) 3px,transparent 3px),linear-gradient(rgba(255,255,255,.55) 3px,transparent 3px);background-position:18px 18px,18px 30px;background-repeat:no-repeat;background-size:74px 3px,44px 3px;border-bottom-right-radius:4px;width:120px;height:52px;top:92px;right:0}.roleplay-bubble.three{background:var(--marigold);width:30px;height:30px;box-shadow:none;border-radius:50% 50% 50% 0;animation:2.6s ease-in-out infinite gentle-float;top:6px;right:6px}.choice-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.choice-card{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:14px;align-content:start;gap:3px;padding:14px;font-weight:500;display:grid;position:relative}.choice-card:hover{border-color:var(--accent)}.choice-card.selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.choice-card input{opacity:0;pointer-events:none;position:absolute}.choice-card:has(input:focus-visible){box-shadow:0 0 0 4px var(--focus)}.choice-card strong{font-size:.95rem}.choice-card small{color:var(--muted);font-size:.82rem;line-height:1.4}@media (width<=1080px){.home-hero{grid-template-columns:1fr;align-items:start;gap:20px}.home-lookup{max-width:560px}.home-grid{grid-template-columns:1fr}.home-side{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start;position:static}}@media (width<=900px){.entry-split{grid-template-columns:1fr;width:min(520px,100%)}.entry-aside{display:none}.level-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.reader-actions{grid-template-columns:1fr}}@media (width<=760px){.roleplay-hero{padding-right:28px}.roleplay-art{display:none}.choice-cards,.reader-display-grid{grid-template-columns:1fr}.practice-hero{padding:22px}.app-shell,.app-shell.sidebar-collapsed{--sidebar-width:min(300px, 86vw);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:minmax(0,1fr)}.app-shell>.workspace{grid-column:1}.app-header{padding-inline:max(8px, env(safe-area-inset-left)) max(8px, env(safe-area-inset-right));gap:6px}.sidebar{z-index:85;width:var(--sidebar-width);box-shadow:var(--shadow-raised);padding-inline:12px;transform:translate(-104%)}.sidebar-collapsed .sidebar{padding-inline:12px}.sidebar-expanded .sidebar{transform:none}.app-shell button.sidebar-scrim{display:none}.sidebar-expanded button.sidebar-scrim{z-index:84;inset:var(--header-height) 0 0;background:var(--scrim);border-radius:0;width:100%;height:auto;padding:0;animation:.2s both fade-in;display:block;position:fixed}.sidebar .profile-menu-popover,.sidebar-collapsed .sidebar .profile-menu .profile-menu-popover{width:100%;top:calc(100% + 8px);left:0}.workspace{padding:22px 16px 36px}.page-header{margin-bottom:20px}h1{font-size:1.8rem}.home-hero h1{font-size:1.95rem}.activity-grid{grid-template-columns:1fr}.continue-card{grid-template-columns:auto minmax(0,1fr);gap:16px;padding:18px}.continue-action{grid-column:1/-1;justify-content:center}.first-story{grid-template-columns:1fr;gap:10px;padding:22px}.first-story-art{max-width:150px;height:96px}.language-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reader-action-card{padding:18px}.entry-topbar{padding-top:max(16px, env(safe-area-inset-top));padding-bottom:18px}}@media (width<=540px){.surface{border-radius:14px;padding:18px}.row,.inline-control{grid-template-columns:1fr}.inline-control button{width:100%}.language-grid,.language-grid.compact{grid-template-columns:1fr}.language-card{min-height:66px}.character-rendering-grid,.transliteration-grid,.level-picker{grid-template-columns:1fr}.entry-shell{padding:0 12px 28px}.entry-panel{border-radius:18px;padding:24px 20px}.onboarding-active-question,.onboarding-review-screen{border-radius:18px;padding:22px 16px}.onboarding-steps li:not(.active) .onboarding-step-label{visibility:hidden}.onboarding-review-line{flex-wrap:wrap;gap:6px}.onboarding-review-buttons{margin-left:auto}.profile-row{grid-template-columns:1fr}.profile-actions{justify-content:flex-start}.search-field.large{padding-left:14px}.search-field.large input{font-size:1rem}.search-field.large button{padding:10px 14px}.document-row{padding:10px}.reading-page{--reading-padding:18px;border-radius:14px;padding-block:8px 20px}.reader-line{font-size:1.12rem}.theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rating-row{grid-template-columns:1fr 1fr;display:grid}.rating-row button{width:100%}.home-stats dd{font-size:1.25rem}.gateway-actions{flex-direction:column;align-items:stretch}.gateway-actions button{width:100%}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.chunk-progress{animation:none}}.writing-practice{border:1px solid var(--border);background:linear-gradient(145deg, var(--surface), var(--bg-accent));border-radius:22px;margin:1.4rem 0;padding:clamp(1rem,3vw,1.6rem)}.writing-progress-heading{justify-content:space-between;align-items:center;gap:1rem;font-size:.92rem;display:flex}.writing-mode-badge{color:var(--accent-ink);font-variant-numeric:tabular-nums;font-size:.8rem}.writing-progress{width:100%;height:4px;accent-color:var(--success);border:0;border-radius:9px;margin:.8rem 0 1.1rem;overflow:hidden}.writing-progress::-webkit-progress-bar{background:var(--border)}.writing-progress::-webkit-progress-value{background:var(--success);transition:width .45s}.writing-slots{flex-wrap:wrap;justify-content:center;gap:.5rem;margin:0 0 1.3rem;display:flex}.writing-slot{border:1.5px solid var(--border);background:var(--surface);min-width:2.5rem;height:3rem;color:var(--muted);border-radius:10px;justify-content:center;align-items:center;padding:.2rem .45rem;font-size:1.25rem;font-weight:600;transition:background .22s,border-color .22s,color .22s,transform .22s,box-shadow .22s;display:inline-flex}.writing-slot.active{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);transform:translateY(-2px)}.writing-slot.correct{background:var(--success-soft);color:var(--success);border-color:var(--success)}.writing-slot.assisted{background:var(--warning-soft);color:var(--warning-ink);border-color:var(--warning)}.writing-slot.wrong{background:var(--danger-soft);color:var(--danger);border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}.writing-slot.ghost{color:var(--warning-ink);background:var(--warning-soft);border:1.5px dashed var(--warning);opacity:.68}.writing-slot.literal{background:0 0;border-color:transparent;min-width:.5rem;padding:.1rem}.writing-canvas-wrap{border:1px solid var(--border-strong);background:radial-gradient(ellipse at 25% 15%, var(--surface), var(--surface-subtle));max-width:390px;box-shadow:inset 0 0 40px var(--surface), var(--shadow);border-radius:20px;margin:0 auto 1rem;position:relative;overflow:hidden}.writing-canvas{aspect-ratio:1;touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair;width:100%;display:block}.writing-canvas-caption{text-align:center;letter-spacing:.2em;color:var(--muted);pointer-events:none;opacity:.65;font-size:.55rem;position:absolute;bottom:12px;left:0;right:0}.writing-practice[data-disabled=true] .writing-canvas{cursor:wait;opacity:.7}.writing-keyboard-label{flex-direction:column;gap:.4rem;max-width:390px;margin:0 auto;display:flex}.writing-keyboard{text-align:center;padding:.9rem;font-size:1.2rem}.writing-practice[data-voice=true] .writing-keyboard-label{display:none}.writing-status{text-align:center;min-height:2.8em;color:var(--text-secondary);margin:.8rem 0;font-size:.9rem}.writing-tools{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}.writing-legend{flex-wrap:wrap;justify-content:center;gap:1rem;margin:1rem 0 .6rem;font-size:.75rem;display:flex}.writing-key:before{content:"";border-radius:50%;width:7px;height:7px;margin-right:.35rem;display:inline-block}.writing-key.correct:before{background:var(--success)}.writing-key.wrong:before{background:var(--danger)}.writing-key.assisted:before{background:var(--warning)}.writing-help,.writing-scoring{font-size:.8rem;line-height:1.55}.writing-scoring{color:var(--muted);margin-top:.6rem}.writing-complete{text-align:center;color:var(--success);padding:.8rem;font-weight:650}.writing-unavailable{background:var(--surface-subtle);border-radius:12px;padding:1rem}.writing-practice [hidden]{display:none!important}@media (prefers-reduced-motion:reduce){.writing-slot{transition:none}.writing-progress::-webkit-progress-value{transition:none}}.model-settings-groups{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:24px;margin-top:24px;display:grid}.model-settings-group{border:0;min-width:0;margin:0;padding:0}.model-settings-group legend{margin-bottom:8px;font-weight:700}.model-settings-row{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:12px 0;font-size:.9rem;display:flex}.model-settings-row select{flex:0 190px;min-width:0;max-width:100%;padding:8px 10px}.reader-text-actions{margin:12px 0}.reader-regenerate{position:relative}.reader-regenerate-menu{z-index:20;border:1px solid var(--border);background:var(--surface);width:min(320px,100vw - 64px);box-shadow:var(--shadow-raised);border-radius:12px;gap:12px;padding:16px;display:grid;position:absolute;inset-block-start:calc(100% + 6px);inset-inline-end:0}.reader-regenerate-menu label{gap:8px;display:grid}.reader-regenerate-menu p{margin:0;font-size:.8rem}.reader-regenerate-menu .button-row{margin:0}.reader-word-help-model{overflow-wrap:anywhere;margin:0 0 16px;font-size:.82rem}.reader-word-help-model>span{color:var(--text-secondary)}@media (width<=600px){.reader-regenerate:has(.reader-regenerate-menu){width:100%}.reader-regenerate-menu{width:100%;margin-top:6px;position:static}}.word-compounds{margin:.65rem 0;font-size:.85rem;font-weight:400}.word-compounds-label{color:var(--muted);font-size:.75rem}.word-compounds ul{flex-wrap:wrap;gap:.4rem;margin:.3rem 0 0;padding:0;list-style:none;display:flex}.word-compounds li{border:1px solid var(--border);border-radius:.6rem;flex-direction:column;gap:.1rem;padding:.35rem .6rem;display:flex}.word-compounds li>span{font-weight:600}.word-compound-source{overflow-wrap:anywhere;font-size:.7rem;font-weight:400}.reader-illustration-controls{border-top:1px solid var(--border);margin-top:14px;padding-top:14px}.reader-illustration-controls p{margin:8px 0;font-size:.85rem}.reader-illustration-controls label{align-items:center;gap:8px;font-size:.9rem;display:inline-flex}.reader-illustration-status{color:var(--accent-ink);align-items:center;gap:8px;display:flex}.reader-story-image{background:var(--surface);border:1px solid var(--border);max-width:900px;box-shadow:var(--shadow);break-inside:avoid;border-radius:18px;margin:1.4em auto;position:relative;overflow:hidden}.reader-story-image img{aspect-ratio:3/2;object-fit:contain;width:100%;height:auto;animation:.5s fade-in;display:block}.reader-story-image-placeholder{aspect-ratio:3/2;box-sizing:border-box;text-align:center;min-height:0;font:.9rem/1.5 var(--font-sans);background:radial-gradient(ellipse at 30% 20%, var(--accent-soft), var(--surface-subtle));place-content:center;justify-items:center;gap:10px;padding:24px;display:grid}.story-image-progress{fill:none;stroke-width:3px;width:48px;height:48px}.story-image-progress-track{stroke:var(--border)}.story-image-progress-arc{stroke:var(--accent);stroke-linecap:round;stroke-dasharray:35 91;transform-origin:50%;animation:1.5s linear infinite story-image-spin}@keyframes story-image-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.story-image-progress-arc{animation:none}}.story-image-ai,.story-image-toolbar{z-index:1;color:#fff;-webkit-backdrop-filter:blur(6px);background:rgba(20,25,32,.32);border:1px solid rgba(255,255,255,.24);position:absolute;box-shadow:0 2px 10px rgba(0,0,0,.14)}.story-image-ai{cursor:help;border-radius:50%;place-items:center;width:36px;height:36px;display:grid;top:12px;left:12px}.story-image-ai:focus-visible{outline-offset:2px;outline:2px solid #fff}.story-image-toolbar button:focus-visible{outline-offset:2px;outline:2px solid #fff}.story-image-toolbar{font:.8rem/1.5 var(--font-sans);direction:ltr;border-radius:14px;align-items:center;gap:4px;padding:4px;display:flex;bottom:12px;right:12px}.story-image-history{font-variant-numeric:tabular-nums;align-items:center;gap:4px;display:flex}.story-image-history .muted{color:inherit;text-align:center;min-width:36px}.story-image-toolbar button.icon-button{width:36px;min-width:36px;height:36px;color:inherit;box-shadow:none;background:0 0;border:0;padding:0}.story-image-toolbar button.icon-button:hover:not(:disabled){color:#fff;background:rgba(255,255,255,.18)}.story-image-history+.story-image-regenerate{margin-left:4px}.story-image-regenerate[data-regenerating=true] .shell-icon{animation:1.5s linear infinite story-image-spin}.reader-story-image .sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.reader-story-image .story-image-error{z-index:2;background:var(--surface);max-height:calc(100% - 128px);box-shadow:var(--shadow);font:.85rem/1.5 var(--font-sans);border-radius:10px;margin:0;padding:10px 12px;position:absolute;bottom:68px;left:12px;right:12px;overflow:auto}@media (prefers-reduced-motion:reduce){.story-image-regenerate[data-regenerating=true] .shell-icon{animation:none}}.word-illustration{background:var(--surface-subtle);border-radius:16px;width:min(100%,240px);margin:16px auto;position:relative;overflow:hidden}.word-illustration>img{aspect-ratio:1;object-fit:cover;width:100%;height:auto;animation:.3s both fade-in;display:block}.word-illustration-placeholder{min-height:150px;color:var(--text-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:16px;font-size:.78rem;display:flex}.word-illustration-spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:1s linear infinite word-image-spin}.word-illustration-badge{color:#fff;background:rgba(0,0,0,.333);border-radius:50%;place-items:center;width:28px;height:28px;display:grid;position:absolute;top:8px;left:8px}.word-illustration-cost{position:absolute;bottom:8px;right:8px}.word-illustration-error{min-height:110px}.word-illustration-error-detail{overflow-wrap:anywhere;max-height:5em;overflow:auto}.word-illustration-error button{padding:6px 10px;font-size:.8rem}@keyframes word-image-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.word-illustration>img,.word-illustration-spinner{animation:none}}.flashcard-stage{--study-height:100dvh;--study-top:0px;inset:var(--study-top) 0 auto;width:100%;max-width:none;height:var(--study-height);max-height:none;padding:max(12px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom));color:var(--text);background:0 0;border:0;margin:0;position:fixed;overflow:hidden}.flashcard-stage::backdrop{-webkit-backdrop-filter:blur(12px)saturate(.55);background:rgba(8,12,18,.68);animation:.3s both study-backdrop-in}.flashcard-stage[open],.study-session{grid-template-rows:56px minmax(0,1fr);gap:20px;display:grid}.study-session{grid-area:1/1/-1;height:100%;min-height:0}.study-topbar{z-index:4;border:1px solid color-mix(in srgb, var(--border) 75%, transparent);background:color-mix(in srgb, var(--surface) 92%, transparent);border-radius:999px;justify-self:center;align-items:center;gap:16px;width:min(760px,100%);padding:6px 8px 6px 20px;display:flex;position:relative;box-shadow:0 8px 32px rgba(0,0,0,.2)}.study-source{flex:1;gap:1px;min-width:0;display:grid}.study-source span{text-transform:uppercase;letter-spacing:.12em;color:var(--text-secondary);font-size:.65rem}.study-source strong{white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:650;overflow:hidden}.study-management{align-items:center;gap:4px;display:flex}.study-close{border-radius:50%;flex:none}.study-menu>summary{cursor:pointer;font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:10px;font-size:.8rem;list-style:none;display:flex}.study-menu>summary::-webkit-details-marker{display:none}.study-menu>summary:hover,.study-menu[open]>summary{background:var(--accent-soft);color:var(--accent-ink)}.study-menu>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.study-menu-panel{width:min(420px,100%);max-height:calc(var(--study-height) - 108px);overscroll-behavior:contain;border:1px solid var(--border);background:var(--surface);border-radius:22px;gap:14px;padding:22px;display:grid;position:absolute;top:calc(100% + 12px);right:0;overflow:auto;box-shadow:0 20px 60px rgba(0,0,0,.3)}.study-menu-panel h3{margin:0;font-size:1.05rem}.study-menu-panel>p{font-size:.85rem}.study-menu-panel .flashcard-learning-progress,.study-menu-panel .flashcard-settings,.study-menu-panel .flashcard-preparation{margin:0}.study-menu-panel .flashcard-history-row{padding-top:0}.study-scene{grid-row:2;grid-template-rows:minmax(0,1fr) minmax(0,clamp(130px,30%,280px));justify-self:center;gap:18px;width:min(660px,100%);min-width:0;min-height:0;display:grid;container-type:inline-size}.study-question{display:contents}.study-card{isolation:isolate;border:1px solid color-mix(in srgb, var(--border) 75%, transparent);background:var(--surface);transform-origin:50% 55%;border-radius:28px;align-self:center;width:100%;height:100%;min-height:0;max-height:200cqw;animation:.5s cubic-bezier(.16,1,.3,1) both study-card-in;position:relative;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.28),0 2px 8px rgba(0,0,0,.1)}.study-card:before{content:"";z-index:1;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--text) 22%, transparent), transparent);pointer-events:none;height:1px;position:absolute;inset:0 24px auto}.study-card[data-kind=feedback]{animation:.58s cubic-bezier(.2,.8,.2,1) both study-card-flip}.study-card-scroll{--study-card-padding:clamp(22px, 4vw, 36px);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;overflow-wrap:anywhere;height:100%;overflow:auto}.study-card-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:-6px;border-radius:inherit}.study-card-body{padding:var(--study-card-padding)}.study-card-header{z-index:3;padding:22px var(--study-card-padding);background:var(--surface);position:sticky;top:0}.study-card-header:after{content:"";inset:auto var(--study-card-padding) 0;background:var(--border);opacity:0;pointer-events:none;height:1px;transition:opacity .15s;position:absolute}.study-card[data-scrolled=true] .study-card-header:after{opacity:1}.study-card-header .study-card-eyebrow{margin:0}.study-card-header+.study-card-body{padding-top:14px}.study-card-header .flashcard-feedback h3{padding-inline-end:70px}.study-card:not(:has(.study-card-header)) .study-card-body{min-height:100%;display:grid}.study-card-eyebrow{color:var(--text-secondary);letter-spacing:.14em;text-transform:uppercase;text-align:center;margin-bottom:22px;font-size:.68rem;font-weight:650}.study-card .flashcard-context{background:0 0;padding:16px 0 28px;font-size:clamp(1.4rem,3.6vw,2.1rem)}.study-card .flashcard-cue{font-size:1.1rem;display:block}.study-card .flashcard-introduction,.study-card .flashcard-feedback{background:0 0;border:0;border-radius:0;padding:0}.study-card .flashcard-introduction{text-align:center;justify-items:center;gap:14px}.study-card .flashcard-introduction h3,.study-card .flashcard-feedback h3{letter-spacing:-.02em;font-size:clamp(2rem,5vw,3rem);line-height:1.2}.study-card .flashcard-introduction .study-card-eyebrow{margin-bottom:0}.study-card .flashcard-introduction-contexts{text-align:start;width:100%;margin-top:10px}.study-card .flashcard-introduction-contexts h4{color:var(--text-secondary);font-size:.8rem}.study-card .flashcard-introduction-sentence{background:var(--surface-subtle)}.study-card .word-illustration{width:min(100%,180px);margin-block:8px}.study-card .flashcard-feedback{position:relative}.study-card .flashcard-score{width:100%}.study-card .flashcard-task-summary{font-size:.76rem}.study-card .flashcard-hints{margin-bottom:0}.study-card .flashcard-listening-prompt{background:var(--surface-subtle)}.study-dock{overscroll-behavior:contain;scrollbar-width:thin;border:1px solid color-mix(in srgb, var(--border) 75%, transparent);background:color-mix(in srgb, var(--surface) 96%, transparent);border-radius:24px;place-self:end center;width:100%;min-height:0;max-height:100%;padding:18px 22px;animation:.4s .1s both study-dock-in;overflow:auto;box-shadow:0 12px 40px rgba(0,0,0,.25)}.study-dock-compact{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;width:fit-content;max-width:100%;display:flex}.study-dock-compact p{text-align:center;color:var(--text-secondary);flex:1 0 100%;font-size:.8rem}.study-dock button{justify-content:center;align-items:center;gap:8px;display:inline-flex}.study-answer-dock{gap:12px;display:grid}.study-dock .flashcard-task-title{text-align:center;margin:0;font-size:1rem}.study-dock .flashcard-task>.muted{text-align:center;margin:5px 0 0;font-size:.75rem}.study-dock .flashcard-response-method{justify-content:center}.study-dock .flashcard-response-method button{padding:6px 12px;font-size:.75rem}.study-dock label{margin:0;font-size:.78rem}.study-dock textarea{resize:vertical;min-height:56px;max-height:120px;margin-top:6px}.study-dock .flashcard-answer-actions{gap:8px}.study-dock .flashcard-answer-actions button{padding:10px 18px;font-size:.85rem}.study-dock .flashcard-familiarity{text-align:center}.study-dock .flashcard-familiarity legend{width:100%;margin-bottom:4px;font-size:.9rem}.study-dock .flashcard-familiarity>p{font-size:.75rem}.study-dock .flashcard-familiarity-options{margin-top:12px}.study-dock .flashcard-familiarity-options button{border-radius:14px;transition:transform .18s,background .18s;display:grid}.study-dock .flashcard-familiarity-options button:hover:not(:disabled){transform:translateY(-3px)}.study-dock .flashcard-familiarity-options button:active:not(:disabled){transform:scale(.94)}.study-welcome{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:100%;display:flex}.study-welcome h2{letter-spacing:-.025em;font-size:clamp(1.6rem,4vw,2.3rem);line-height:1.2}.study-welcome>p{max-width:440px;color:var(--text-secondary);font-size:.95rem;line-height:1.65}.study-welcome .eyebrow{color:var(--accent-ink);font-size:.66rem}.study-welcome-icon{background:var(--accent-soft);width:80px;height:80px;color:var(--accent-ink);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 15%, transparent);border-radius:26px;place-items:center;display:grid;transform:rotate(-8deg)}.study-welcome .flashcard-preparation{background:0 0;border:0;margin:0;padding:0}.study-status{z-index:5;background:var(--surface);max-width:min(600px,100% - 32px);box-shadow:var(--shadow);border-radius:12px;padding:6px 14px;font-size:.75rem;position:absolute;top:76px;left:50%;transform:translate(-50%)}.study-transitions{pointer-events:none;z-index:2;perspective:1000px;position:absolute;inset:0;overflow:hidden}.study-departure{pointer-events:none;margin:0;position:absolute;animation:none!important}.study-departure *{animation:none!important}.study-reward{--reward:var(--warning);width:54px;height:54px;color:var(--reward);place-items:center;display:grid;position:absolute;top:5px;right:4px}.study-reward-success{--reward:var(--success)}.study-welcome>.study-reward{margin:12px;position:relative;inset:auto}.study-reward-symbol{background:color-mix(in srgb, var(--reward) 12%, var(--surface));border-radius:50%;place-items:center;width:54px;height:54px;animation:.65s cubic-bezier(.2,1.5,.4,1) .3s both study-reward-pop;display:grid}.study-reward-halo{border:2px solid var(--reward);border-radius:50%;animation:.8s ease-out .4s both study-reward-ring;position:absolute;inset:-8px}.study-confetti{background:var(--reward);width:5px;height:9px;transform:rotate(calc(var(--particle) * 36deg));animation:study-confetti .85s calc(.4s + var(--particle) * 18ms) ease-out both;border-radius:3px;position:absolute;top:50%;left:50%}.study-reward-review .study-reward-halo{opacity:.4}@keyframes study-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes study-card-in{0%{opacity:0;transform:translate(90px)rotate(4deg)scale(.96)}to{opacity:1;transform:none}}@keyframes study-card-flip{0%,30%{opacity:0;transform:perspective(1000px)rotateY(-85deg)scale(.96)}to{opacity:1;transform:perspective(1000px)rotateY(0)scale(1)}}@keyframes study-dock-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes study-reward-pop{0%{opacity:0;transform:scale(.4)rotate(-25deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes study-reward-ring{0%{opacity:.7;transform:scale(.65)}to{opacity:0;transform:scale(1.6)}}@keyframes study-confetti{0%{opacity:0;transform:rotate(calc(var(--particle) * 36deg)) translateY(-18px) scale(.2)}25%{opacity:1}to{opacity:0;transform:rotate(calc(var(--particle) * 36deg + 30deg)) translateY(-65px) scale(.5)}}@media (width<=520px){.flashcard-stage{padding-inline:10px}.flashcard-stage[open],.study-session{gap:14px}.study-topbar{gap:6px;padding-inline-start:14px}.study-management{gap:0}.study-menu>summary{padding:9px}.study-menu>summary span{font-size:.72rem}.study-source strong{font-size:.76rem}.study-scene{gap:12px}.study-card{border-radius:23px}.study-dock{border-radius:20px;padding:14px}.study-dock .flashcard-familiarity-options span{font-size:.64rem}.study-dock .flashcard-familiarity-options button{padding:10px 2px}}@media (height<=560px){.flashcard-stage{padding-block:8px}.flashcard-stage[open],.study-session{grid-template-rows:44px minmax(0,1fr);gap:10px}.study-scene{gap:10px;padding-top:0}.study-card-scroll{--study-card-padding:24px}.study-card-header{padding-block:10px}.study-card .study-card-header h3{font-size:1.5rem}.study-card-header .flashcard-introduction{gap:4px}.study-card-body{padding-block:18px}.study-dock{padding:12px 16px}.study-dock .flashcard-task>.muted,.study-source span{display:none}.study-status{top:56px}.study-welcome{gap:10px}.study-welcome-icon{border-radius:16px;flex:none;width:50px;height:50px}}@media (prefers-reduced-motion:reduce){.flashcard-stage *,.flashcard-stage :before{transition:none!important;animation:none!important}.flashcard-stage::backdrop{transition:none!important;animation:none!important}.study-confetti,.study-reward-halo{display:none}}.study-dock .flashcard-familiarity-options .study-familiarity-selected{opacity:1;box-shadow:0 0 0 2px var(--accent), 0 0 24px var(--accent-soft);transform:translateY(-3px)}.study-obscured{filter:blur(7px)saturate(.65)}.study-scene:has(.study-writing-dock){grid-template-rows:minmax(0,1fr) minmax(0,min(60%,500px))}.study-answer-fields{display:contents}.study-writing-dock{grid-template-rows:minmax(0,1fr) auto;gap:0;padding:0;overflow:hidden}.study-writing-dock .study-answer-fields{overscroll-behavior:contain;scrollbar-width:thin;gap:14px;min-height:0;padding:18px 22px 12px;display:grid;overflow:auto}.study-writing-dock>.flashcard-answer-actions{border-top:1px solid var(--border);margin:0;padding:12px 22px}.study-writing-dock .writing-practice{background:0 0;border:0;min-width:0;margin:0;padding:0}.study-writing-dock .writing-progress-heading{gap:8px;font-size:.75rem}.study-writing-dock .writing-mode-badge{font-size:.72rem}.study-writing-dock .writing-progress{margin:6px 0 12px;display:block}.study-writing-dock .writing-slots{gap:6px;margin-bottom:12px}.study-writing-dock .writing-slot{min-width:30px;height:36px;font-size:1rem}.study-writing-dock .writing-entry{min-width:0}.study-writing-dock .writing-keyboard-label{margin:0 auto}.study-writing-dock .writing-keyboard{margin:0;padding:10px 12px;font-size:1rem}.study-writing-dock .writing-controls{min-width:0}.study-writing-dock .writing-controls>.flashcard-response-method{margin-top:10px}.study-writing-dock .writing-controls>.muted{text-align:center;font-size:.75rem}.study-writing-dock .writing-status{min-height:1.5em;margin:8px 0;font-size:.75rem}.study-writing-dock .writing-tools{gap:6px}.study-writing-dock .writing-tools button{padding:8px 10px;font-size:.75rem}.study-writing-dock .writing-help,.study-writing-dock .writing-legend,.study-writing-dock .writing-scoring{font-size:.72rem}.study-writing-dock .writing-scoring{margin-top:10px}.study-writing-dock .writing-scoring summary{cursor:pointer}.study-writing-dock .writing-canvas-wrap{width:min(220px,100%);margin-bottom:0}.study-writing-dock .writing-practice[data-kind=stroke] .writing-workspace{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:18px;display:grid}@media (width<=520px){.study-writing-dock .study-answer-fields{gap:12px;padding:14px 16px 10px}.study-writing-dock>.flashcard-answer-actions{padding:10px 16px}.study-writing-dock .writing-practice[data-kind=stroke] .writing-workspace{grid-template-columns:minmax(0,1fr);gap:4px}.study-writing-dock .writing-canvas-wrap{width:min(210px,100%)}}@media (height<=560px){.study-writing-dock .study-answer-fields{padding:12px 16px}.study-writing-dock>.flashcard-answer-actions{padding:8px 16px}}.vocabulary-progress-summary{margin-block:.75rem 1rem}.vocabulary-concept-link{color:inherit;text-decoration:none}.vocabulary-concept-link:hover{text-underline-offset:.2em;text-decoration:underline}.vocabulary-concept-link:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}.vocabulary-forms,.vocabulary-related,.vocabulary-sources{flex-wrap:wrap;align-items:center;gap:.4rem;margin-block:.7rem;display:flex}.vocabulary-related>.muted,.vocabulary-sources>.muted{flex-basis:100%}.vocabulary-progress-summary .reader-learning-heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem;display:flex}.vocabulary-definition{gap:1rem;display:grid}.vocabulary-entry-heading h1{margin:0;font-size:clamp(2rem,4vw,3rem)}.vocabulary-entry-topline,.vocabulary-entry-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.vocabulary-entry-heading .entry-title{margin:.5rem 0}.vocabulary-entry-meaning{margin-bottom:.25rem;font-size:1.15rem}.vocabulary-entry-actions{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}.vocabulary-entry-actions .word-progress-row{gap:1.25rem}.dictionary-generation{color:var(--muted);align-items:center;gap:.75rem;display:flex}