:root{--bg: #f4f5fa;--panel: #ffffff;--panel-2: #eaedf6;--line: #d3d8e8;--text: #1a1d29;--muted: #5c6379;--accent: #3457b2;--on-accent: #ffffff;--accent-wash: rgba(52, 87, 178, .1);--accent-wash-strong: rgba(52, 87, 178, .18);--learner: #e2e8f8;--partner: #dcefea;--warn: #8a5a08;--warn-surface: #fbf1d8;--on-warn: #ffffff;--bad: #bf2b45;--bad-surface: #fae2e7;--on-bad-surface: #7f1428;--bad-glow: rgba(191, 43, 69, .16);--good: #2c7a3f;--avatar-ink: #16181f;--rating-native: #2c7a3f;--rating-slight: #8a7a08;--rating-moderate: #b35c00;--rating-major: #bf2b45;--rating-indecipherable: #6c7285;--vocab-known: #2f5fb3;--vocab-new: #8a3fb0;--skeleton-base: rgba(26, 29, 41, .06);--skeleton-shine: rgba(26, 29, 41, .15);--track: rgba(26, 29, 41, .16);--overlay: rgba(24, 27, 38, .4);--shadow-pop: 0 8px 24px rgba(20, 24, 40, .16);--radius: 12px;color-scheme:light dark}@media (prefers-color-scheme: dark){:root{--bg: #12131a;--panel: #191b24;--panel-2: #1f2230;--line: #2b2f40;--text: #e6e8f0;--muted: #8d93a8;--accent: #7aa2f7;--on-accent: #10121a;--accent-wash: rgba(122, 162, 247, .12);--accent-wash-strong: rgba(122, 162, 247, .22);--learner: #23283a;--partner: #1d2b2a;--warn: #e0af68;--warn-surface: #2a2a1c;--on-warn: #1a1a10;--bad: #f7768e;--bad-surface: #3a2230;--on-bad-surface: #ffd9e0;--bad-glow: rgba(247, 118, 142, .12);--good: #9ece6a;--rating-native: #9ece6a;--rating-slight: #e0af68;--rating-moderate: #ff9e64;--rating-major: #f7768e;--rating-indecipherable: #8d93a8;--vocab-known: #7aa2f7;--vocab-new: #c792ea;--skeleton-base: rgba(230, 232, 240, .07);--skeleton-shine: rgba(230, 232, 240, .22);--track: rgba(230, 232, 240, .22);--overlay: rgba(8, 9, 13, .7);--shadow-pop: 0 8px 24px rgba(0, 0, 0, .45)}}:root{--text-scale: 1.2}html{font-size:calc(100% * var(--text-scale))}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:.9375rem/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root:lang(ko) body{font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,Segoe UI,sans-serif;word-break:keep-all;overflow-wrap:break-word}.target{font-family:var( --target-font, "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", -apple-system, sans-serif );font-size:1.1875rem;line-height:1.6;margin:0;word-break:var(--target-word-break, keep-all);overflow-wrap:break-word}.chip,.sound-bar span,.sound-button,.sidebar-head h2,.sheet-head h2,.sidebar-delete,.icon-button,.who-starts-label,.picker-person,.veil-hint,.note-jump,.attempt-open,.attempt-cancel,.gloss-more,.prep-open,.prep-again,.prep-title,.prep-dismiss,.prep-ask,.ptt,.type-open,.nudge,.add-more,.bin,.send,.teacher h2,.note-clean,.note-error,.rating-label,.welcome-start,.install-go,.import-error,.import-button,.partner-off,.account-sign-out,.translate-submit,.translate-copy,.tab{display:inline-flex;align-items:center;gap:.375rem}.banner{display:flex;align-items:center;gap:.5rem}.ptt,.type-open,.nudge,.add-more,.bin,.send,.prep-ask{justify-content:center}.offscreen{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;white-space:nowrap;clip-path:inset(50%)}.app{display:flex;flex-direction:column;height:100%}.boot{display:grid;place-items:center;height:100%;color:var(--muted)}.boot-error{color:var(--bad);max-width:40rem}.topbar{display:flex;align-items:center;justify-content:space-between;padding:.625rem 1rem;border-bottom:1px solid var(--line)}.topbar h1{font-size:1rem;font-weight:600;margin:0}.topbar-logo{display:block;flex:none;width:1.5rem;height:1.5rem;border-radius:6px}.topbar-logo+h1{margin-left:-.1875rem}.topbar-left,.topbar-actions{display:flex;align-items:center;gap:.5rem}.menu-anchor{position:relative;display:flex}.menu{position:absolute;top:calc(100% + 6px);right:0;z-index:20;width:17rem;display:flex;flex-direction:column;gap:.125rem;padding:.25rem;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 28px #00000047}.menu-item{display:flex;flex-direction:column;gap:.1875rem;text-align:left;background:transparent;border:0;border-radius:7px;padding:.5rem .625rem;color:var(--text);font:inherit;cursor:pointer}.menu-item:hover{background:var(--panel-2)}.menu-note{color:var(--muted);font-size:.75rem;line-height:1.45}.account-panel{display:flex;flex-direction:column;gap:.25rem;padding:.5rem .625rem}.account-email{margin:0;font-weight:600;word-break:break-all}.menu-item.account-sign-out{flex-direction:row;border-top:1px solid var(--line);border-radius:0 0 7px 7px}.chip{background:var(--panel-2);color:var(--text);border:1px solid var(--line);border-radius:999px;padding:.3125rem .75rem;font-size:.8125rem;cursor:pointer}.chip:hover:not(:disabled){border-color:var(--accent)}.chip:disabled{opacity:.4;cursor:default}.chip-icon{width:1.875rem;height:1.875rem;padding:0;justify-content:center;font-size:1rem}.chip-level{padding:.1875rem .625rem;font-size:.75rem;color:var(--muted)}.chip-language{padding:.1875rem .625rem;font-size:.8125rem}.chip-language-short{display:none}.chip-language[data-disabled]{opacity:.6;cursor:default}.chip-casual{padding:.1875rem .625rem;font-size:.75rem;color:var(--muted);cursor:default;letter-spacing:.04em;text-transform:uppercase}.chip-on{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.banner{background:var(--bad-surface);color:var(--bad);padding:.5rem 1rem;font-size:.8125rem;cursor:pointer;border-bottom:1px solid var(--line)}.sound-bar{display:flex;align-items:center;justify-content:center;gap:.75rem;flex-wrap:wrap;background:var(--warn-surface);color:var(--warn);padding:.5rem 1rem;font-size:.8125rem;border-bottom:1px solid var(--line)}.sound-button{background:var(--warn);border:1px solid var(--warn);color:var(--on-warn);border-radius:999px;padding:.3125rem .875rem;font-size:.8125rem;font-weight:600;cursor:pointer}.sound-button:hover{filter:brightness(1.1)}.install-banner{display:flex;align-items:center;gap:.625rem;background:var(--panel);padding:.5rem .625rem .5rem .75rem;font-size:.8125rem;border-bottom:1px solid var(--line)}.install-logo{flex:none;width:2rem;height:2rem;border-radius:7px}.install-text{flex:1;margin:0;line-height:1.4}.install-share{vertical-align:-.2em;color:var(--accent)}.install-go{flex:none;background:var(--accent);border:1px solid var(--accent);color:var(--on-accent);border-radius:999px;padding:.3125rem .875rem;font:inherit;font-weight:600;cursor:pointer}.install-close{flex:none}.workspace{flex:1;display:flex;min-height:0}.sidebar{width:250px;flex:none;display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--line);background:var(--panel)}.sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:1rem .875rem .625rem}.sidebar-head h2{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0}.sidebar-head-actions{display:flex;gap:.25rem}.sidebar-empty{color:var(--muted);font-size:.8125rem;margin:0;padding:0 .875rem}.sidebar-list{list-style:none;margin:0;padding:0 .5rem 1rem;overflow-y:auto;flex:1}.sidebar-item{display:flex;align-items:stretch;gap:.125rem;border-radius:8px;border:1px solid transparent}.sidebar-item:hover{background:var(--panel-2)}.sidebar-item-on{background:var(--panel-2);border-color:var(--line)}.sidebar-open{flex:1;min-width:0;display:flex;align-items:center;gap:.5rem;text-align:left;background:transparent;border:0;color:inherit;padding:.5rem .25rem .5rem .5rem;cursor:pointer;font:inherit}.sidebar-lines{flex:1;min-width:0}.sidebar-partner{color:var(--text)}.sidebar-casual{margin-left:.375rem;padding:0 .3125rem;border:1px solid var(--line);border-radius:4px;font-size:.625rem;letter-spacing:.04em;text-transform:uppercase}.sidebar-title{display:block;font-size:.875rem;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-meta{display:block;font-size:.6875rem;color:var(--muted);margin-top:.1875rem}.sidebar-delete{flex:none;align-self:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--muted);font-size:.75rem;padding:.25rem .375rem;margin-right:.25rem;cursor:pointer;opacity:0}.sidebar-item:hover .sidebar-delete,.sidebar-delete:focus-visible{opacity:1}.sidebar-delete:hover{color:var(--bad);border-color:var(--line)}.sidebar-delete-armed{opacity:1;color:var(--bad);border-color:var(--bad)}.columns{flex:1;min-width:0;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);min-height:0}.columns-solo{grid-template-columns:minmax(0,1fr)}.column{display:flex;flex-direction:column;min-height:0}.column-teacher{border-left:1px solid var(--line);background:var(--panel)}.thread{flex:1;overflow-y:auto;padding:1.25rem 1.25rem .5rem;display:flex;flex-direction:column;gap:.75rem}.empty{color:var(--muted);font-size:.875rem;max-width:34rem}.who-starts{margin:auto 0;align-self:center;max-width:34rem;width:100%}.who-starts-pickers{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.125rem}.who-starts-title{margin:0 0 .75rem;color:var(--muted);font-size:.8125rem;text-align:center}.who-starts-buttons{display:flex;gap:.75rem;flex-wrap:wrap}.who-starts-button{flex:1 1 14rem;display:flex;flex-direction:column;gap:.3125rem;text-align:left;padding:.875rem 1rem;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);font:inherit;cursor:pointer;transition:border-color .12s ease,background .12s ease}.who-starts-button:hover{border-color:var(--accent);background:var(--panel)}.who-starts-label{font-size:.875rem}.who-starts-note{font-size:.75rem;color:var(--muted)}.who-starts-casual{margin-top:.75rem;width:100%;display:flex;flex-direction:column;gap:.3125rem;text-align:left;padding:.75rem 1rem;background:transparent;border:1px dashed var(--line);border-radius:var(--radius);color:var(--text);font:inherit;cursor:pointer;transition:border-color .12s ease,background .12s ease}.who-starts-casual:hover{border-color:var(--accent);background:var(--panel-2)}.bubble{max-width:82%;padding:.625rem .875rem;border-radius:var(--radius);border:1px solid transparent;transition:border-color .12s ease,background .12s ease}.bubble.linked{border-color:var(--accent)}.bubble-learner{align-self:flex-end;background:var(--learner)}.learner-part{display:block}.own-words{font-style:italic;color:var(--muted)}.bubble-partner{align-self:flex-start;background:var(--partner);animation:rise .22s ease both}.turn-partner{align-self:flex-start;max-width:82%;display:flex;flex-direction:column;gap:.25rem}.turn-partner .bubble-partner{max-width:100%}.speaker{margin:0 0 0 .25rem;font-size:.6875rem;letter-spacing:.03em;color:var(--muted);display:flex;align-items:center;gap:.375rem}.avatar{flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:var(--avatar-ink);font-weight:600;object-fit:cover;-webkit-user-select:none;user-select:none}.avatar-sm{width:1.25rem;height:1.25rem;font-size:.625rem}.avatar-md{width:2.5rem;height:2.5rem;font-size:1.0625rem}.avatar-lg{width:4rem;height:4rem;font-size:1.625rem}.speaker-level{margin-left:.375rem;border:1px solid var(--line);border-radius:999px;padding:0 .375rem;cursor:help}.scenario-tag{margin:0 0 0 .25rem;font-size:.875rem;color:var(--muted)}@keyframes rise{0%{opacity:0;transform:translateY(6px)}}.bubble-foot{display:flex;align-items:center;gap:.5rem;margin-top:.25rem}.bubble-foot .sent-at{margin-left:auto}.sent-at{font-size:.6875rem;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.note-jump,.turn-number{font-size:.6875rem;line-height:1.4;color:var(--muted);font-variant-numeric:tabular-nums;border:1px solid var(--line);border-radius:999px;white-space:nowrap}.note-jump{gap:.25rem;padding:1px .5rem 1px .375rem;background:transparent;font-family:inherit;cursor:pointer}.note-jump:hover,.note-jump:focus-visible,.linked .note-jump,.linked .turn-number{color:var(--accent);border-color:var(--accent)}.turn-number{display:inline-block;min-width:1.25rem;margin-right:.375rem;padding:0 .375rem;text-align:center;vertical-align:.0625rem}.attempt-replaced{opacity:.55;text-decoration:line-through}.attempt{display:flex;align-items:baseline;gap:.375rem;margin-top:.25rem}.attempt>svg{flex:none;color:var(--muted)}.attempt-open,.attempt-cancel{gap:.25rem;padding:1px .5rem 1px .375rem;font-size:.6875rem;line-height:1.4;color:var(--muted);background:transparent;border:1px solid var(--line);border-radius:999px;font-family:inherit;white-space:nowrap;cursor:pointer}.attempt-open:hover,.attempt-open:focus-visible,.attempt-cancel:hover:not(:disabled),.attempt-cancel:focus-visible{color:var(--accent);border-color:var(--accent)}.attempt-cancel:disabled{opacity:.4;cursor:default}.note .attempt-open{margin-top:.5rem}.attempt-banner{display:flex;align-items:center;gap:.375rem;width:100%;font-size:.75rem;color:var(--muted)}.attempt-line{flex:1 1 auto;min-width:0;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-attempt{margin-top:.625rem;padding:.5rem 0 0 .625rem;border-top:1px solid var(--line);border-left:3px solid var(--mark, var(--line))}.note-attempt-head{margin:0 0 .25rem;font-size:.75rem;font-weight:600;color:var(--muted)}.note-compared{margin:.25rem 0 .5rem;font-size:.8125rem;font-style:italic}.partner-controls{display:flex;align-items:center;gap:.5rem;margin-bottom:.375rem}.icon-button{background:transparent;border:1px solid var(--line);color:var(--text);border-radius:999px;width:1.625rem;height:1.625rem;padding:0;justify-content:center;cursor:pointer;line-height:1}.icon-button:hover:not(:disabled){border-color:var(--accent)}.icon-button-on{border-color:var(--accent);color:var(--accent)}.speed-group{display:flex;gap:.125rem}.speed{background:transparent;border:1px solid transparent;color:var(--muted);font-size:.6875rem;border-radius:6px;padding:.125rem .375rem;cursor:pointer}.speed-on{color:var(--text);border-color:var(--line)}.rate-line{display:flex;gap:.375rem;margin-top:.5rem}.rate{background:transparent;border:1px solid var(--line);color:var(--muted);font-size:.75rem;border-radius:999px;padding:.1875rem .625rem;cursor:pointer}.rate:hover:not(:disabled){color:var(--text)}.rate:disabled{cursor:default;opacity:.5}.rate.rate-on{color:var(--text);opacity:1}.fresh-bar{flex-wrap:wrap;gap:.5rem}.subtitle-veil{display:block;text-align:left;background:transparent;border:0;padding:0;cursor:pointer;color:inherit}.veiled{filter:blur(7px);-webkit-user-select:none;user-select:none;display:block}.veil-hint{font-size:.6875rem;color:var(--muted);margin-top:.25rem}.gloss-word{font:inherit;color:var(--vocab, currentColor);background:transparent;border:0;padding:0;cursor:pointer;border-bottom:1px dotted var(--line);border-radius:3px}.gloss-word:hover{border-bottom-color:var(--accent);background:var(--accent-wash)}.gloss-word-on{border-bottom-color:var(--accent);background:var(--accent-wash-strong)}.vocab-known{--vocab: var(--vocab-known)}.vocab-new{--vocab: var(--vocab-new)}.gloss-word.vocab-known,.gloss-word.vocab-new{border-bottom-color:var(--vocab)}.gloss-known{display:flex;align-items:center;gap:.375rem;margin:.5rem 0 0;font-size:.75rem;color:var(--vocab-known)}.gloss-popover{position:fixed;z-index:40;max-width:min(20rem,calc(100vw - 16px));padding:.625rem .75rem;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-pop);animation:rise .12s ease both}.gloss-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:.5rem;margin:0 0 .25rem}.gloss-surface{font-size:1.0625rem}.gloss-parts{font-size:.75rem;color:var(--muted)}.gloss-reading{font-size:.875rem;color:var(--accent)}.gloss-reading-line{margin:.125rem 0 0;font-size:.875rem;color:var(--muted)}.gloss-meaning{margin:0;font-size:.875rem}.gloss-note{margin:.25rem 0 0;font-size:.75rem;color:var(--muted)}.gloss-failed{color:var(--bad)}.gloss-waiting{color:var(--muted);display:flex;align-items:center;gap:.5rem}.gloss-more{margin-top:.5rem;background:transparent;border:0;padding:0;font-size:.75rem;color:var(--accent);cursor:pointer}.line-translation{margin:.5rem 0 0;padding-top:.5rem;border-top:1px solid var(--line);font-size:.875rem;color:var(--muted)}.line-translation-failed{color:var(--bad)}.gloss-sentence{margin:.5rem 0 0;padding-top:.5rem;border-top:1px solid var(--line);font-size:.8125rem;color:var(--muted)}.skeleton{display:block;height:.8125rem;border-radius:999px;margin:.4375rem 0;background:linear-gradient(90deg,var(--skeleton-base),var(--skeleton-shine),var(--skeleton-base));background-size:220% 100%;animation:shimmer 1.5s ease-in-out infinite}@keyframes shimmer{0%{background-position:130% 0}to{background-position:-60% 0}}.bubble-pending{min-width:11rem}.bubble-pending .skeleton:first-child{margin-top:.125rem}.pending-caption{display:block;font-size:.6875rem;letter-spacing:.03em;color:var(--muted);margin-top:.5rem;animation:breathe 2s ease-in-out infinite}@keyframes breathe{50%{opacity:.45}}.spinner{display:inline-block;width:.75rem;height:.75rem;vertical-align:-1px;border:2px solid var(--track);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}.spinner-lg{width:1.125rem;height:1.125rem;border-width:2.5px}@keyframes spin{to{transform:rotate(360deg)}}.boot-loading{display:flex;align-items:center;gap:.625rem}.audio-note{font-size:.6875rem;color:var(--muted);animation:breathe 1.6s ease-in-out infinite}.audio-failed{color:var(--bad);animation:none}.pipeline-slot{width:100%;max-width:26.25rem;min-height:3.375rem}.pipeline{width:100%;max-width:26.25rem}.pipeline-track{display:flex;gap:.375rem;list-style:none;margin:0;padding:0}.step{flex:1;min-width:0}.step-bar{display:block;position:relative;height:4px;border-radius:999px;background:var(--line);overflow:hidden}.step-label{display:block;font-size:.6562rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-top:.3125rem;opacity:.55}.step-done .step-bar{background:var(--accent);opacity:.55}.step-done .step-label{opacity:.8}.step-waiting .step-bar{background:var(--warn)}.step-waiting .step-label,.step-busy .step-label{color:var(--text);opacity:1}.step-busy .step-bar:after{content:"";position:absolute;left:0;top:0;bottom:0;width:45%;border-radius:999px;background:var(--accent);animation:sweep 1.05s ease-in-out infinite}@keyframes sweep{0%{transform:translate(-100%)}to{transform:translate(222%)}}.pipeline-detail{display:flex;align-items:center;gap:.625rem;margin-top:.5rem;min-height:1.25rem}.pipeline-caption{font-size:.75rem;color:var(--muted);white-space:nowrap}.pipeline-timer{margin-left:auto;font-size:.75rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted);font-variant-numeric:tabular-nums}.waveform{flex:1;min-width:0;height:1.25rem}.mic-test{display:flex;margin-top:.5rem}@media (prefers-reduced-motion: reduce){.skeleton,.pending-caption,.audio-note,.step-busy .step-bar:after,.ptt-live,.add-more-live{animation-duration:3s}.bubble-partner,.note{animation:none}}.prep{border-top:1px solid var(--line);padding:.625rem 1.25rem;display:flex;flex-direction:column;gap:.5rem}.prep-closed{padding:.375rem 1.25rem 0;align-items:center}.prep-open,.prep-again{background:none;border:none;padding:0;color:var(--muted);font-size:.75rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.prep-open:hover,.prep-again:hover{color:var(--accent)}.prep-head{display:flex;align-items:center;gap:.75rem}.prep-title{font-size:.75rem;color:var(--muted);flex:1;min-width:0}.prep-dismiss{background:none;border:none;padding:.125rem;color:var(--muted);font-size:.9375rem;cursor:pointer}.prep-dismiss:hover{color:var(--text)}.prep-form{display:flex;gap:.5rem}.prep-input{flex:1;min-width:0;background:var(--panel-2);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);padding:.5rem .75rem;font-size:.875rem}.prep-input:focus{border-color:var(--accent);outline:none}.prep-ask{border-radius:8px;border:1px solid var(--accent);background:var(--accent);color:var(--on-accent);padding:.4375rem 1rem;font-size:.875rem;cursor:pointer}.prep-ask:disabled{opacity:.4;cursor:default}.prep-items{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}.prep-item{display:flex;align-items:baseline;gap:.375rem;flex-wrap:wrap;background:var(--panel-2);border:1px solid var(--line);border-radius:999px;padding:.3125rem .75rem}.prep-ko{font-size:.9375rem}.prep-en{font-size:.75rem;color:var(--muted)}.prep-note{font-size:.6875rem;color:var(--accent)}.prep-foot,.prep-empty,.prep-error{margin:0;font-size:.75rem;color:var(--muted)}.prep-error{color:var(--bad)}.ideas{border-top:1px solid var(--line);padding:.625rem 1.25rem;display:flex;flex-direction:column;gap:.5rem}.ideas-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.375rem}.idea{width:100%;text-align:left;background:var(--panel-2);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);padding:.4375rem .75rem;font-size:.875rem;cursor:pointer}.idea:hover{border-color:var(--accent)}.recorder{border-top:1px solid var(--line);padding:.875rem 1.25rem 1.125rem;display:flex;flex-direction:column;align-items:center;gap:.375rem}.recorder-paused{color:var(--muted);font-size:.875rem}.recorder-paused p{margin:0}.recorder-buttons{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:.5rem;width:100%;max-width:600px}.speak-row{display:flex;flex:1 1 340px;gap:.5rem;-webkit-user-select:none;user-select:none}.ptt{flex:1 1 auto;padding:1rem;border-radius:999px;border:1px solid var(--line);background:var(--panel-2);color:var(--text);font-size:.9375rem;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:none}.ptt:hover:not(:disabled){border-color:var(--accent)}.ptt:disabled{opacity:.5;cursor:default}.ptt-live{background:var(--bad-surface);border-color:var(--bad);color:var(--on-bad-surface);animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{box-shadow:0 0 0 6px var(--bad-glow)}}.type-open{flex:none;padding:1rem 1.125rem;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--text);font-size:.875rem;white-space:nowrap;cursor:pointer}.type-open:hover:not(:disabled){border-color:var(--accent)}.type-open:disabled{opacity:.4;cursor:default}.nudge{flex:0 1 auto;padding:1rem 1.125rem;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:.875rem;white-space:nowrap;cursor:pointer}.nudge:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.nudge:disabled{opacity:.4;cursor:default}.hint{color:var(--muted);font-size:.75rem;margin:0}.hands-free-status{margin:.25rem 0;font-size:1.5rem;text-align:center}.hands-free-heard{margin:0;max-width:600px;color:var(--muted);font-size:.75rem;text-align:center;overflow-wrap:anywhere}.hands-free-commands{list-style:none;margin:.25rem 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.25rem 1rem;max-width:600px;color:var(--muted);font-size:.8125rem}.hands-free-commands q{color:var(--text);font-weight:600}.hands-free-toggle{display:inline-flex;align-items:center;gap:.5rem;margin-top:.25rem;padding:.75rem 1.25rem;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--text);font:inherit;cursor:pointer}.hands-free-toggle:hover:not(:disabled){border-color:var(--accent)}.hands-free-toggle:disabled{opacity:.4;cursor:default}.recorder-review{align-items:stretch}.review-label{font-size:.75rem;color:var(--muted)}.draft{width:100%;resize:vertical;background:var(--panel-2);color:var(--text);border:1px solid var(--accent);border-radius:var(--radius);padding:.625rem .75rem}.draft-parts{display:flex;flex-direction:column;gap:.375rem}.draft-part{display:flex;align-items:flex-start;gap:.375rem}.draft-note-label{align-self:center;font-size:.75rem;color:var(--muted)}.draft-note{font-style:italic}.draft-remove{flex:none;align-self:center;display:inline-flex;border:none;background:transparent;color:var(--muted);padding:.25rem;cursor:pointer}.draft-remove:hover:not(:disabled){color:var(--text)}.draft-live{min-height:calc(3.2em + 1.25rem + 2px);border-color:var(--line);white-space:pre-wrap}.live-heard{color:var(--muted)}.live-pending,.live-waiting{color:var(--muted);opacity:.7}.live-pending{text-decoration:underline dotted;text-underline-offset:.25rem}.live-slot{align-self:stretch;display:flex;flex-direction:column;gap:.375rem;margin-bottom:.375rem}.review-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem}.add-more{margin-right:auto;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--muted);padding:.4375rem 1rem;font-size:.875rem;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:none}.add-more:has(+.add-note){margin-right:0}.add-more:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.add-more:disabled{opacity:.4;cursor:default}.add-more-live{background:var(--bad-surface);border-color:var(--bad);color:var(--on-bad-surface);animation:pulse 1.2s ease-in-out infinite}.ptt-live.hold-off,.add-more-live.hold-off{animation:none;background:transparent;border-style:dashed;color:var(--muted)}.bin:disabled{opacity:.4;cursor:default}.bin,.send{border-radius:8px;padding:.4375rem 1rem;font-size:.875rem;cursor:pointer;border:1px solid var(--line)}.bin{background:transparent;color:var(--bad)}.send{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.send:disabled{opacity:.4;cursor:default}.teacher{flex:1;overflow-y:auto;padding:1.25rem}.teacher h2{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 .875rem}.deferred-count{font-size:1.75rem;margin:0}.deferred-hint{color:var(--muted);font-size:.8125rem}.note{border:1px solid var(--line);border-left:3px solid var(--mark, var(--line));border-radius:10px;padding:.625rem .75rem;margin-bottom:.625rem;background:var(--panel-2);animation:rise .26s ease both;position:relative;isolation:isolate}.note.linked{border-color:var(--accent);border-left-color:var(--accent)}.note:focus{outline:none}.note-flash{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:inherit;background:var(--accent-wash-strong);pointer-events:none;animation:note-flash 1.6s ease-out forwards}@keyframes note-flash{0%,35%{opacity:1}to{opacity:0}}.note-anchor{font-size:.8125rem;color:var(--muted);margin-bottom:.375rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-body p{margin:0 0 .375rem;font-size:.875rem}.note-body p:last-child{margin-bottom:0}.note-points{list-style:none;margin:0 0 .5rem;padding:0}.point{display:grid;grid-template-columns:1rem 1fr;gap:.375rem;font-size:.8125rem;line-height:1.45;margin-bottom:.1875rem}.point-mark{display:flex;justify-content:center;align-items:center;height:calc(.8125rem * 1.45)}.point-good .point-mark{color:var(--good)}.point-bad .point-mark{color:var(--bad)}.note-kind-retry{color:var(--warn)}.note-clean{color:var(--good);margin:0}.note-skeleton .skeleton{height:.6875rem}.note-error{color:var(--bad);font-size:.8125rem;margin:0}.rating-native{--mark: var(--rating-native)}.rating-slight{--mark: var(--rating-slight)}.rating-moderate{--mark: var(--rating-moderate)}.rating-major{--mark: var(--rating-major)}.rating-indecipherable{--mark: var(--rating-indecipherable)}.rating{display:inline-flex;align-items:center;gap:.4375rem;margin-bottom:.5rem;font-size:.6875rem;letter-spacing:.03em;color:var(--mark, var(--muted))}.rating-meter{display:inline-flex;gap:.125rem}.rating-step{width:9px;height:4px;border-radius:1px;background:var(--track)}.rating-step.on{background:var(--mark, var(--muted))}.rating-label{font-weight:600}.tally{margin:0 0 1rem}.tally-bar{display:flex;gap:.125rem;height:8px;margin-bottom:.5rem}.tally-slice{background:var(--mark, var(--muted));border-radius:2px;min-width:8px}.tally-key{list-style:none;display:flex;flex-wrap:wrap;gap:.25rem .875rem;margin:0;padding:0;font-size:.75rem;color:var(--muted)}.tally-key li{display:flex;align-items:center;gap:.375rem}.tally-dot{width:8px;height:8px;border-radius:50%;background:var(--mark, var(--muted))}.picker-row{display:flex;align-items:center;gap:.5rem}.picker-label{width:4.5rem;flex:none;color:var(--muted);font-size:.8125rem}.picker{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.375rem .625rem;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);font:inherit;font-size:.875rem;text-align:left;cursor:pointer;transition:border-color .12s ease}.picker:hover,.picker[data-state=open]{border-color:var(--accent)}.picker-caret{color:var(--muted);font-size:.8125rem}.picker-menu{z-index:40;width:var(--radix-select-trigger-width);max-height:var(--radix-select-content-available-height);padding:.25rem;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-pop);overflow:hidden}.picker-viewport{max-height:inherit;overflow-y:auto}.picker-scroll{display:flex;justify-content:center;padding:.125rem 0;color:var(--muted)}.picker-item{display:flex;align-items:start;gap:.5rem;padding:.4375rem .5rem;border-radius:8px;font-size:.875rem;cursor:pointer;outline:none}.picker-item[data-highlighted]{background:var(--accent-wash)}.picker-check{width:1em;flex:none;color:var(--accent)}.picker-item-body{display:flex;flex-direction:column;gap:.125rem;min-width:0}.picker-note{color:var(--muted);font-size:.75rem}.picker-menu-wide{width:auto;min-width:max(var(--radix-select-trigger-width),13rem)}.picker-separator{height:1px;margin:.25rem .5rem;background:var(--line)}.picker-person{max-width:100%}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:grid;place-items:center;padding:1.5rem}.sheet{background:var(--panel);border:1px solid var(--line);border-radius:16px;width:min(760px,100%);max-height:100%;overflow-y:auto;padding:1.125rem 1.25rem 1.5rem}.sheet-head{display:flex;align-items:center;justify-content:space-between;position:sticky;top:-1.125rem;background:var(--panel);padding:.25rem 0 .75rem}.sheet-head h2{margin:0;font-size:1rem}.sheet-head>div{display:flex;gap:.5rem}.tabs{display:flex;gap:.25rem;margin-bottom:1rem}.tab{background:transparent;border:0;border-bottom:2px solid transparent;color:var(--muted);padding:.375rem .625rem;cursor:pointer;font-size:.8125rem}.tab-on{color:var(--text);border-bottom-color:var(--accent)}.settings-body{display:flex;flex-direction:column;gap:1.125rem}.field{display:flex;flex-direction:column;gap:.375rem}.field>label{font-size:.75rem;color:var(--muted)}.field-note{font-size:.75rem;color:var(--muted);margin:0}.row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}input[type=text],select,textarea{background:var(--panel-2);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:.375rem .625rem;font:inherit}input[type=text]{flex:1;min-width:140px}textarea{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7812rem;line-height:1.5;resize:vertical}textarea.prose{font-family:inherit;font-size:inherit}input[type=range]{width:240px}.segmented{display:flex;gap:.25rem;flex-wrap:wrap}.segment{background:var(--panel-2);border:1px solid var(--line);color:var(--muted);border-radius:8px;padding:.3125rem .75rem;font-size:.8125rem;cursor:pointer}.segment-on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.toggle{display:flex;align-items:center;gap:.5rem;font-size:.875rem;cursor:pointer}.keys{list-style:none;padding:0;margin:0;font-size:.8125rem;font-family:ui-monospace,Menlo,monospace}.key-ok{color:var(--good)}.key-missing{color:var(--muted)}.dev-sheet{width:min(640px,100%)}.dev-intro{margin:0 0 1.125rem;color:var(--muted);font-size:.8125rem;line-height:1.5}.dev-group+.dev-group{margin-top:1.375rem}.dev-group h3{margin:0 0 .375rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.dev-group-note{margin:0 0 .625rem;color:var(--muted);font-size:.75rem;line-height:1.5}.dev-rows{display:flex;flex-direction:column}.dev-row{display:flex;gap:1rem;align-items:baseline;justify-content:space-between;padding:.5rem 0;border-top:1px solid var(--line);font-size:.8125rem}.dev-label{color:var(--muted);flex:none}.dev-person{display:inline-flex;align-items:center;gap:.375rem;color:var(--text)}.dev-value{display:flex;flex-direction:column;gap:.125rem;text-align:right;min-width:0}.dev-setting{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7812rem;overflow-wrap:break-word}.dev-note{color:var(--muted);font-size:.75rem;line-height:1.45;overflow-wrap:break-word}.import-sheet{width:min(560px,100%)}.import-error{margin:0;color:var(--bad);font-size:.8125rem}.import-button{background:var(--accent);border:1px solid var(--accent);color:var(--on-accent);border-radius:var(--radius);padding:.5rem .875rem;font:inherit;cursor:pointer}.import-button:disabled{opacity:.5;cursor:default}.welcome{width:min(26rem,100%);display:flex;flex-direction:column;align-items:center;gap:.875rem;text-align:center;padding:1.75rem 1.5rem 1.5rem}.welcome-logo{border-radius:10px}.welcome h2{margin:0;font-size:1.1875rem}.welcome-note{margin:0;color:var(--muted);font-size:.8125rem;line-height:1.55}.welcome-field{width:100%;text-align:left;margin-top:.25rem}.welcome-field input[type=text]{width:100%}.welcome-start{align-self:stretch;justify-content:center;background:var(--accent);border:1px solid var(--accent);color:var(--on-accent);border-radius:var(--radius);padding:.625rem 1rem;font:inherit;cursor:pointer}.vocab-list{list-style:none;padding:0;margin:0;max-height:320px;overflow-y:auto;border:1px solid var(--line);border-radius:8px}.vocab-list li{display:flex;gap:.75rem;align-items:baseline;padding:.3125rem .625rem;font-size:.8125rem;border-bottom:1px solid var(--line)}.vocab-list li:last-child{border-bottom:none}.vocab-ko{flex:0 0 40%;color:var(--text)}.vocab-ko em{color:var(--muted);font-style:normal}.vocab-en{color:var(--muted)}.vocab-import textarea{width:100%;font:.8125rem/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.vocab-preview{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.vocab-columns label{display:flex;align-items:center;gap:.375rem;font-size:.8125rem}.vocab-failed{font-size:.8125rem;color:var(--muted)}.vocab-failed ul{margin:.25rem 0 0;padding-left:1.125rem;max-height:12.5rem;overflow-y:auto}.vocab-line{font-variant-numeric:tabular-nums}.new-words{margin:.75rem 0;padding:.625rem .75rem;border:1px solid var(--line);border-radius:var(--radius)}.new-words h3{margin:0 0 .5rem;font-size:.875rem}.new-words-list{list-style:none;margin:0 0 .5rem;padding:0;max-height:20rem;overflow-y:auto}.new-words-list label{display:flex;gap:.625rem;align-items:baseline;padding:.25rem 0;font-size:.875rem}.new-words-list .vocab-ko{flex:0 0 30%}.review-summary{color:var(--muted);font-size:.8125rem}.review-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1.125rem}.review-item{border-top:1px solid var(--line);padding-top:.875rem}.review-you{margin-bottom:.25rem}.review-partner{color:var(--muted);margin-bottom:.5rem}.page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;flex-direction:column;background:var(--bg);overflow-y:auto}a.chip{text-decoration:none;line-height:1.4}.settings-page>.topbar{position:sticky;top:0;z-index:1;flex-wrap:wrap;gap:.5rem;background:var(--bg)}.settings-page .topbar-actions .field-note{white-space:normal}.settings-main{width:min(760px,100%);margin:0 auto;padding:1rem 1.25rem 1.5rem}.partners-line{margin:0;color:var(--muted);font-size:.8125rem}.partner-grid{list-style:none;margin:0;padding:1rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:.75rem}.partner-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:.875rem}.partner-card-off{border-style:dashed}.partner-off{margin:0 0 .625rem;font-size:.75rem;line-height:1.5;color:var(--muted)}.partner-head{display:flex;align-items:center;gap:.75rem;margin-bottom:.625rem}.partner-head h2{margin:0 0 .375rem;font-size:1.0625rem}.partner-buttons{display:flex;flex-wrap:wrap;gap:.375rem}.partner-bio{margin:0;font-size:.8125rem;line-height:1.5;color:var(--muted)}.partner-voice{margin:.625rem 0 0;padding-top:.625rem;border-top:1px solid var(--line);font-size:.75rem;line-height:1.5}.partner-voice-label{display:block;font-size:.625rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:.125rem}.memory{margin:.625rem 0 0;padding-top:.625rem;border-top:1px solid var(--line);font-size:.75rem;line-height:1.5}.memory-summary{cursor:pointer;font-size:.625rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.memory-list h3{margin:.625rem 0 .25rem;font-size:.75rem;font-weight:600}.memory-list ul{list-style:none;margin:0;padding:0}.memory-fact{display:flex;align-items:center;gap:.375rem;padding:.125rem 0}.memory-text{flex:1;min-width:0;overflow-wrap:anywhere}.memory-when{color:var(--muted);white-space:nowrap}.memory-pinned .memory-text{font-weight:600}.memory-empty{margin:.375rem 0 0;color:var(--muted)}.memory-forget{margin-top:.625rem}.shares-body{display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:42rem;margin:0 auto;padding:1rem}.share-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:.875rem;display:flex;flex-direction:column;align-items:flex-start;gap:.625rem}.share-card h2{margin:0;font-size:1.0625rem}.share-card .field-note{margin:0}.share-range{display:flex;flex-wrap:wrap;gap:.75rem}.share-range label{display:flex;flex-direction:column;gap:.25rem;font-size:.8125rem;color:var(--muted)}.share-range input,.share-link input{font:inherit;font-size:.875rem;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:.375rem .5rem}.share-warn{color:var(--bad)}.share-confirm{width:100%;border:1px solid var(--accent);background:var(--accent-wash);border-radius:var(--radius);padding:.75rem}.share-confirm p{margin:0 0 .625rem}.share-buttons{display:flex;flex-wrap:wrap;gap:.375rem}.share-made{width:100%}.share-made p{margin:0 0 .375rem}.share-link{display:flex;gap:.375rem;width:100%}.share-link input{flex:1;min-width:0}.share-list{list-style:none;margin:0;padding:0;width:100%}.share-list li{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;padding:.75rem 0;border-top:1px solid var(--line)}.share-list li:first-child{border-top:0;padding-top:0}.share-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem}.share-examples-option label{display:flex;align-items:center;gap:.5rem;font-weight:600}.share-examples-option .field-note{margin-top:.25rem}.share-preview{width:100%;display:flex;flex-direction:column;gap:.5rem}.share-preview h3{margin:0;font-size:1rem}.share-preview .shared-example{width:100%;margin:0}.share-warn svg{vertical-align:-.125em}.share-has-examples{color:var(--warn)}.shared-with-examples{color:var(--warn);font-weight:600}.shared-own .shared-said{font-size:1.0625rem}.shared-own .note-points{margin:.25rem 0}.shared{max-width:42rem;margin:0 auto;padding:1.5rem 1rem 3rem;line-height:1.55}.shared h1{font-size:1.5rem;line-height:1.25;margin:0 0 .25rem}.shared h2{font-size:1.125rem;margin:0 0 .5rem}.shared section{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;margin:1rem 0}.shared p{margin:.25rem 0;overflow-wrap:anywhere}.shared-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;text-align:center}.shared-stats b{display:block;font-size:1.5rem}.shared-stats span{color:var(--muted);font-size:.875rem}.shared-topics{display:flex;flex-wrap:wrap;gap:.375rem}.shared-topics span{border:1px solid var(--line);border-radius:999px;padding:.125rem .625rem;font-size:.9375rem}.shared-items{margin:.5rem 0 0;padding-left:1.25rem}ul.shared-items{list-style:none;padding:0}.shared-items li{padding:.625rem 0;border-top:1px solid var(--line)}.shared-items li:first-child{border-top:0}.shared-row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.25rem .75rem}.shared-tag{font-size:.8125rem;border:1px solid currentColor;border-radius:999px;padding:.0625rem .5rem;white-space:nowrap}.shared-managed{color:var(--good)}.shared-mixed{color:var(--warn)}.shared-struggled{color:var(--bad)}.shared-count{color:var(--accent)}.shared-example{margin:.5rem 0 0;padding:.5rem .75rem;border-left:3px solid var(--accent);background:var(--bg);border-radius:0 8px 8px 0}.shared-example figcaption{font-size:.8125rem;color:var(--muted)}.shared footer{margin-top:1.5rem}.home{--home-serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;max-width:44rem;margin:0 auto;padding:1rem 1.25rem 3rem;line-height:1.6}.home h1,.home h2{font-family:var(--home-serif);font-weight:400;text-wrap:balance}.home p{margin:0;max-width:36rem}.home-bar{display:flex;align-items:center;gap:.5rem;font-weight:600}.home-bar img{border-radius:7px}.home-hero{padding-top:clamp(3rem,14vh,7rem)}.home-hero h1{font-size:clamp(2rem,6vw,3.25rem);line-height:1.1;letter-spacing:-.01em;max-width:14em;margin:0 0 1.5rem}.home-lede{font-size:1.0625rem}.home-cta{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;margin-top:2rem}.home-cta p{color:var(--muted);font-size:.8125rem}.home-start{display:inline-block;background:var(--accent);color:var(--on-accent);border-radius:8px;padding:.625rem 1.375rem;font-weight:600;text-decoration:none}.home-start:hover{background:color-mix(in srgb,var(--accent) 85%,var(--text))}.home-start:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.home-section{margin-top:5rem;padding-top:2rem;border-top:1px solid var(--line)}.home-section h2{font-size:1.625rem;line-height:1.25;margin:0 0 1rem}.home-pair{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 2.5rem;margin-top:2rem}.home-pair h3{font-size:.9375rem;margin:0 0 .375rem}.home-pair p{color:var(--muted)}.home-demo{width:min(64rem,calc(100vw - 2.5rem));margin:4rem 0 0 50%;transform:translate(-50%)}.home-demo iframe{display:block;width:100%;height:min(40rem,80vh);border:1px solid var(--line);border-radius:var(--radius);background:var(--bg)}.home-demo figcaption{margin-top:.625rem;color:var(--muted);font-size:.8125rem;text-align:center}.home-faq{border-top:1px solid var(--line)}.home-faq details{border-bottom:1px solid var(--line)}.home-faq summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.875rem 0;font-weight:600;cursor:pointer;list-style:none}.home-faq summary::-webkit-details-marker{display:none}.home-faq summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.home-faq summary svg{flex:none;color:var(--muted);transition:transform .15s ease}.home-faq details[open] summary svg{transform:rotate(180deg)}.home-faq details p{color:var(--muted);padding-bottom:1rem}@media (prefers-reduced-motion: reduce){.home-faq summary svg{transition:none}}.home-privacy{margin-top:6rem;padding-top:1.25rem;border-top:1px solid var(--line);color:var(--muted);font-size:.8125rem}.home-privacy h2{font-family:inherit;font-size:inherit;font-weight:600;color:var(--text);margin:0 0 .25rem}.home-privacy p+p{margin-top:.5rem}.home-privacy a{color:inherit}.home-bar a{display:flex;align-items:center;gap:.5rem;color:inherit;text-decoration:none}.privacy h1{font-size:clamp(2rem,6vw,2.75rem);line-height:1.1;margin:clamp(2rem,8vh,4rem) 0 .25rem}.privacy .privacy-updated{color:var(--muted);font-size:.875rem;margin-bottom:1.5rem}.privacy p+p{margin-top:.75rem}.privacy section{margin-top:2.25rem}.privacy h2{font-size:1.375rem;margin:0 0 .5rem}.privacy ul{margin:0 0 .75rem;padding-left:1.25rem;max-width:36rem}.privacy li+li{margin-top:.5rem}.flashcards h1{font-size:clamp(2rem,6vw,2.75rem);line-height:1.1;margin:clamp(2rem,8vh,4rem) 0 .75rem}.flashcards-deck,.flashcards-import{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--line)}.flashcards h2{font-size:1.5rem;line-height:1.25;margin:0 0 .25rem}.flashcards-text{word-break:keep-all}.flashcards-text p+p{margin-top:.75rem}.flashcards .flashcards-language{color:var(--muted);font-size:.8125rem;font-weight:600;margin-bottom:.25rem}.flashcards h2+p{margin-top:1rem}.flashcards-parts{margin:.75rem 0;padding-left:1.25rem;max-width:36rem}.flashcards-parts li+li{margin-top:.75rem}.flashcards .flashcards-facts{color:var(--muted);font-size:.875rem;margin:1.5rem 0 1rem}.flashcards-import ul{margin:.75rem 0;padding-left:1.25rem;max-width:36rem}.flashcards-import li+li{margin-top:.5rem}.numbers{word-break:keep-all}.numbers h2{font-size:1.5rem;margin:0 0 .25rem}.numbers h3{font-size:1rem;margin:1rem 0 .5rem}.numbers .home-start{border:0;border-radius:999px;min-width:7rem;padding:.75rem 1.25rem;font:inherit;font-weight:600;cursor:pointer;touch-action:manipulation}.numbers .home-start:disabled{opacity:.5;cursor:default}.numbers-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:calc(.75rem - 1px) 1.125rem;border:1px solid var(--text);border-radius:999px;background:none;color:var(--text);font:inherit;font-weight:600;cursor:pointer;touch-action:manipulation}.numbers-secondary:hover{background:var(--panel-2)}.numbers .numbers-hint{color:var(--muted);font-size:.875rem}.numbers .numbers-error{color:var(--bad);margin-top:1rem}.numbers-sino{--system: var(--accent)}.numbers-native{--system: var(--good)}.numbers-context{--system: var(--muted)}.numbers-bar{min-height:2.5rem}.numbers-bar-buttons{display:flex;align-items:center;gap:.375rem;margin-left:auto}.numbers-bar .chip-icon{display:inline-flex;align-items:center;width:2.375rem;height:2.375rem;font-size:1.125rem}.numbers-hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:clamp(1rem,7vh,5rem)}.numbers-hero-icon{width:clamp(3.5rem,9vh,4.5rem);height:auto;border-radius:22%}.numbers-hero h1{font-size:clamp(2rem,8.5vw,3rem);line-height:1.1;margin:clamp(.5rem,2vh,1rem) 0 .75rem;white-space:nowrap}.numbers .numbers-tagline{font-size:clamp(1.0625rem,4.5vw,1.1875rem);line-height:1.45;max-width:24rem;text-wrap:balance}.numbers-actions{display:grid;grid-template-columns:1fr 1fr;gap:.625rem;width:min(100%,20rem);margin-top:1.75rem}.numbers-actions>*{min-width:0;padding-inline:.75rem;white-space:nowrap}.numbers-describe{display:inline-flex;align-items:center;gap:.5rem;max-width:100%;margin-top:1.25rem;padding:.375rem .875rem;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--muted);font:inherit;font-size:.875rem;line-height:1.4;cursor:pointer}.numbers-describe svg{flex-shrink:0}.numbers-describe:hover{border-color:var(--accent);color:var(--text)}.numbers .numbers-streak-line{margin-top:.75rem}.numbers-notice{margin-top:1rem;padding:.5rem .75rem;border-radius:8px;background:var(--accent-wash)}html:has(.numbers-sheet[open]){overflow:hidden}.numbers-sheet{width:min(36rem,calc(100vw - 2rem));max-width:none;max-height:min(48rem,calc(100dvh - 2rem));padding:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);color:var(--text);box-shadow:var(--shadow-pop);overscroll-behavior:contain}.numbers-sheet:focus{outline:none}.numbers-sheet::backdrop{background:var(--overlay)}.numbers-sheet-body{padding:0 1.25rem 1.5rem;line-height:1.55}.numbers-sheet-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 -1.25rem .5rem;padding:.75rem .75rem .75rem 1.25rem;background:var(--bg);border-bottom:1px solid var(--line)}.numbers .numbers-sheet-head h2{margin:0;font-family:inherit;font-size:1.125rem;font-weight:700}.numbers-sheet-head .chip-icon{display:inline-flex;align-items:center;width:2.375rem;height:2.375rem;font-size:1.125rem}.numbers-sheet .numbers-daily{margin-top:1rem}.numbers .numbers-sheet section h2{font-size:1.3125rem}.numbers-sheet .numbers-guide>.home-lede{margin-top:1rem}.numbers-howto p,.numbers-howto ul{margin:.75rem 0 0}.numbers .numbers-howto-lead{margin-top:1rem;font-size:1.1875rem;font-weight:600}.numbers-howto ul{padding-left:1.25rem}.numbers-howto li+li{margin-top:.375rem}.numbers-howto .home-start{display:block;width:100%;margin-top:1.5rem}.numbers-examples{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:.75rem}.numbers-example{display:flex;align-items:center;gap:.5rem;white-space:nowrap}.numbers-example-card{display:flex;flex-direction:column;align-items:center;min-width:7.5rem;padding:.375rem .625rem;border:2px solid var(--system);border-radius:8px;background:var(--panel)}.numbers-example-figure{font-size:1.25rem;font-weight:600;line-height:1.2}.numbers-example-system{font-size:.8125rem;font-weight:600;color:var(--system)}.numbers-example-arrow{color:var(--muted)}.numbers-example-answer{font-size:1.25rem;font-weight:600}.numbers-setup{display:grid;gap:1.5rem;margin-top:1rem}.numbers-setup fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem;min-width:0}.numbers-setup legend{font-weight:700;margin-bottom:.375rem;padding:0}.numbers-setup label{display:flex;align-items:center;gap:.625rem;min-height:2.25rem;cursor:pointer}.numbers-setup input[type=radio]{width:1.125rem;height:1.125rem;margin:0;accent-color:var(--accent);flex-shrink:0}.numbers-setup .numbers-rank{margin-left:auto;font-size:.75rem;font-weight:600;color:#fff;background:var(--rank);border-radius:999px;padding:0 .5rem}.rank-easy{--rank: #2c7a3f}.rank-medium{--rank: #6b7a0e}.rank-hard{--rank: #a35300}.rank-expert{--rank: #bf2b45}.rank-master{--rank: #5e1022}.numbers-setup fieldset:disabled{opacity:.55}.numbers-setup fieldset:disabled label{cursor:default}.numbers-setup .numbers-hint{margin-top:.25rem}.numbers-segmented{display:grid;grid-template-columns:repeat(3,1fr);padding:3px;border-radius:10px;background:var(--panel-2)}.numbers-setup .numbers-segmented label,.numbers-segmented label{position:relative;display:flex;align-items:center;justify-content:center;cursor:pointer;min-height:2.5rem;border-radius:8px;font-weight:600;color:var(--muted)}.numbers-segmented input{position:absolute;opacity:0;pointer-events:none}.numbers-segmented label:has(input:checked){background:var(--panel);color:var(--text);box-shadow:0 1px 3px #14182826}.numbers-segmented label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:1px}.numbers-segmented label:has(input:disabled){opacity:.4;cursor:default}.numbers-setup .numbers-switch{justify-content:space-between;min-height:2.75rem}.numbers-switch input{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;flex-shrink:0;width:2.75rem;height:1.625rem;margin:0;border-radius:999px;background:var(--track);cursor:pointer;transition:background .15s}.numbers-switch input:before{content:"";position:absolute;top:3px;left:3px;width:calc(1.625rem - 6px);height:calc(1.625rem - 6px);border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform .15s}.numbers-switch input:checked{background:var(--accent)}.numbers-switch input:checked:before{transform:translate(1.125rem)}.numbers-switch input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.numbers-switch input:disabled{opacity:.4;cursor:default}.numbers-stepper{display:flex;align-items:center;gap:.5rem;min-height:2.75rem}.numbers-stepper>span{margin-right:auto}.numbers-stepper button{display:inline-grid;place-items:center;width:2.5rem;height:2.5rem;padding:0;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--text);font-size:1rem;cursor:pointer;touch-action:manipulation}.numbers-stepper button:hover:not(:disabled){border-color:var(--accent)}.numbers-stepper button:disabled{opacity:.4;cursor:default}.numbers-stepper output{min-width:2.5rem;text-align:center;font-size:1.25rem;font-weight:600;font-variant-numeric:tabular-nums}html:has(.numbers-playing){overscroll-behavior:none}.numbers.numbers-playing{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;padding-bottom:max(1rem,env(safe-area-inset-bottom))}.numbers-game{flex:1;display:flex;flex-direction:column;align-items:center;gap:clamp(.5rem,2vh,1rem);margin-top:clamp(.25rem,2vh,1rem)}.numbers .numbers-score{color:var(--muted);font-variant-numeric:tabular-nums}.numbers-card{position:relative;width:min(100%,22rem);padding:clamp(1rem,4vh,2rem) 1rem clamp(1.25rem,4.5vh,2.25rem);border:2px solid var(--system);border-radius:var(--radius);background:var(--panel);text-align:center;overflow:hidden}.numbers-figure{--size: min(6rem, 11vh);line-height:1;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.numbers-figure span{display:inline-block;font-size:calc(var(--size) * var(--fit, 1))}.numbers-figure-long{--size: min(4.5rem, 9vh)}.numbers-figure-words{--size: min(2.75rem, 7vh);line-height:1.15}.numbers-system{margin-top:clamp(.375rem,1.5vh,.75rem);font-weight:600;color:var(--system)}.numbers-say-again{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .5rem;border:0;background:none;font:inherit;color:inherit;cursor:pointer}.numbers-say-again:disabled{cursor:default}.numbers-timer{position:absolute;left:0;bottom:0;height:6px;width:100%;background:var(--system);transform-origin:left;animation:numbers-timer var(--limit) linear forwards}@keyframes numbers-timer{to{transform:scaleX(0)}}.numbers-respond{flex:1;display:flex;flex-direction:column;align-items:center;gap:.75rem;width:100%}.numbers-respond:has(.numbers-options){justify-content:flex-end}.numbers-input{width:min(100%,22rem);font-size:1.75rem;text-align:center;padding:.5rem;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text)}.numbers-input::placeholder{font-size:1.125rem;color:var(--muted)}.numbers-options{display:grid;grid-template-columns:repeat(3,1fr);gap:.375rem;width:min(100%,26rem)}.numbers-option{display:grid;place-items:center;min-width:0;min-height:clamp(2.75rem,8vh,4.25rem);padding:.375rem .25rem;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);cursor:pointer;touch-action:manipulation}.numbers-option span{display:inline-block;font-size:calc(1.25rem * var(--fit, 1));line-height:1.2;white-space:nowrap}.numbers-option:hover{border-color:var(--accent)}.numbers-option:active{background:var(--accent-wash)}.numbers .numbers-heard{min-height:2rem;font-size:1.5rem}.numbers-say{display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%;margin-top:auto}.numbers-say-status{min-height:1.25rem;font-size:.875rem;color:var(--muted)}.numbers-say .waveform{flex:none;width:min(100%,16rem);height:2rem}.numbers-say-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:min(100%,20rem);min-height:3.5rem;padding:1rem;border:1px solid var(--line);border-radius:999px;background:var(--panel-2);color:var(--text);font:inherit;font-size:1.0625rem;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:none}.numbers-say-button:hover:not(:disabled){border-color:var(--accent)}.numbers-say-button:disabled{opacity:.6;cursor:progress}.numbers-say-button kbd{font-family:inherit;font-size:.75rem;color:var(--muted)}@media (pointer: coarse){.numbers-say-button kbd{display:none}}.numbers-say-live{background:var(--bad-surface);border-color:var(--bad);color:var(--on-bad-surface);animation:pulse 1.2s ease-in-out infinite}.numbers-say-live.hold-off{animation:none;background:transparent;border-style:dashed;color:var(--muted)}@media (prefers-reduced-motion: reduce){.numbers-say-live{animation-duration:3s}}.numbers-retry{text-align:center;max-width:26rem}.numbers .numbers-retry p{margin-inline:auto}.numbers-feedback{text-align:center;max-width:26rem;margin-top:clamp(0rem,3vh,1.5rem)}.numbers .numbers-feedback p{margin-inline:auto}.numbers .numbers-answer{font-size:2.5rem;font-weight:600;margin-bottom:.25rem}.numbers-right .numbers-answer{color:var(--good)}.numbers-wrong .numbers-answer{color:var(--bad)}.numbers-crossed .numbers-answer{color:var(--warn)}.numbers-game-foot{display:flex;gap:.75rem;margin-top:auto;padding-top:.5rem}.numbers-end{display:inline-flex;align-items:center;gap:.5rem;font:inherit;min-height:2.5rem;padding:.375rem 1rem;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--text);cursor:pointer;touch-action:manipulation}.numbers-end kbd{font-family:inherit;font-size:.75rem;color:var(--muted)}@media (pointer: coarse){.numbers-end kbd{display:none}}.numbers-debug{width:100%;max-height:14rem;overflow:auto;font-size:.75rem;padding:.5rem;border:1px solid var(--line);border-radius:6px;background:var(--panel);white-space:pre-wrap;word-break:break-all}.numbers .numbers-summary{margin-top:1.5rem;padding-top:0;border-top:0;text-align:center}.numbers .numbers-summary>p{margin-inline:auto}.numbers-summary .numbers-figures,.numbers-summary .numbers-chips{text-align:left}.numbers-summary .numbers-chips{justify-content:center}.numbers-summary .numbers-figures div:nth-child(n+3){grid-column:1 / -1}.numbers .numbers-percent{font-size:4rem;line-height:1;font-weight:600;font-variant-numeric:tabular-nums;margin:.5rem auto .25rem}.numbers-figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(7rem,40%),1fr));gap:.75rem;margin:1.5rem 0}.numbers-figures div{padding:.75rem;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.numbers-figures dt{font-size:.8125rem;color:var(--muted)}.numbers-figures dd{margin:.125rem 0 0;font-size:1.125rem;font-variant-numeric:tabular-nums}.numbers-guide table{width:100%;table-layout:fixed;border-collapse:collapse;margin-top:1.75rem}.numbers-guide caption{text-align:left;font-weight:600;font-size:1.125rem;margin-bottom:.5rem}.numbers-guide th,.numbers-guide td{text-align:left;vertical-align:middle;padding:.375rem;border-bottom:1px solid var(--line)}.numbers-guide th:first-child,.numbers-guide td:first-child{padding-left:0}.numbers-guide thead th{font-size:.8125rem;color:var(--muted);font-weight:600;vertical-align:bottom;line-height:1.3}.numbers-guide thead th .target{display:block}.numbers-guide thead th:first-child{width:3rem}.numbers-guide tbody th{font-variant-numeric:tabular-nums}.numbers-forms{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .75rem}.numbers-word{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.25rem;vertical-align:middle}.numbers-word .target{white-space:nowrap}.numbers-word .target{font-size:1.0625rem}.numbers-word-short .target{color:var(--muted)}.numbers-listen{display:inline-grid;place-items:center;flex-shrink:0;width:1.5rem;height:1.5rem;padding:0;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--accent);cursor:pointer}.numbers-listen[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}.numbers-listen:disabled{opacity:.4;cursor:default}.numbers-guide .numbers-guide-contexts thead th:first-child{width:40%}.numbers-guide-contexts tbody th{font-variant-numeric:normal}.numbers-guide-system{display:block;font-size:.8125rem;font-weight:600;color:var(--system)}.numbers-guide-prompt{display:block;font-size:.875rem;color:var(--muted)}.numbers-summary,.numbers-stats{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--line)}.numbers-chips{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}.numbers-chips li{border:1px solid var(--system);border-radius:999px;padding:.125rem .75rem}.numbers-lists{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:0 1.5rem}.numbers-standings{margin:0;padding-left:1.5rem}.numbers-grid-figure{margin:1.5rem 0 0}.numbers-grid-figure figcaption{font-weight:600;margin-bottom:.5rem}.numbers-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:3px;max-width:26rem}.numbers-cell{aspect-ratio:1;display:grid;place-items:center;font-size:.6875rem;font-variant-numeric:tabular-nums;border-radius:4px;color:var(--muted);background:var(--panel-2)}.numbers-cell.good{background:color-mix(in srgb,var(--good) 30%,var(--panel));color:var(--text)}.numbers-cell.fair{background:color-mix(in srgb,var(--warn) 30%,var(--panel));color:var(--text)}.numbers-cell.poor{background:color-mix(in srgb,var(--bad) 35%,var(--panel));color:var(--text)}.numbers-link{border:0;padding:0;background:none;font:inherit;color:var(--accent);text-decoration:underline;cursor:pointer}.numbers-menu{position:relative;font-weight:400}.numbers-menu-panel{position:absolute;right:0;top:calc(100% + .375rem);z-index:10;width:min(18rem,calc(100vw - 2rem));padding:.75rem 1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-pop)}.numbers-menu-panel p{margin:0 0 .75rem;overflow-wrap:anywhere}.numbers-menu-items{list-style:none;margin:-.25rem -.5rem .75rem;padding:0 0 .5rem;border-bottom:1px solid var(--line)}.numbers-menu-items button{display:block;width:100%;padding:.5rem;border:0;border-radius:6px;background:none;color:var(--text);font:inherit;text-align:left;cursor:pointer}.numbers-menu-items button:hover{background:var(--panel-2)}.numbers-menu-items+nav{margin-top:0;padding-top:0;border-top:0}.numbers-menu-items:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}.numbers-menu-panel nav{display:flex;gap:1rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--line)}.numbers-menu-panel nav:first-child{margin-top:0;padding-top:0;border-top:none}.numbers-link-offer{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--line)}@media (max-width: 700px){.numbers-sheet{width:100%;height:100%;max-height:none;margin:0;border:0;border-radius:0}.numbers-sheet-body{padding:0 1rem max(1.5rem,env(safe-area-inset-bottom))}.numbers-sheet-head{margin-inline:-1rem;padding-left:1rem}.numbers-guide th,.numbers-guide td{padding-inline:.25rem}}.numbers-learn{margin-top:1rem}.numbers-learn-back{margin-bottom:1rem}.numbers .numbers-learn h2{font-size:clamp(1.75rem,7vw,2.25rem)}.numbers .numbers-learn-lede{margin:.25rem 0 1.25rem;color:var(--muted)}.numbers-learn .numbers-segmented{max-width:24rem}.numbers-units-group h3{margin:1.75rem 0 .5rem}.numbers-units{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.numbers-unit{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.numbers-unit:hover{border-color:var(--system)}.numbers-unit-start{display:grid;gap:.125rem;width:100%;padding:.75rem .875rem .5rem;border:0;border-radius:var(--radius) var(--radius) 0 0;background:none;color:var(--text);font:inherit;text-align:left;cursor:pointer}.numbers-unit-title{display:flex;align-items:center;gap:.5rem;font-weight:600}.numbers-unit-tag{padding:0 .5rem;border-radius:999px;background:var(--system);color:var(--on-accent);font-size:.75rem;white-space:nowrap}.numbers-unit-span{color:var(--muted);font-size:.875rem}.numbers-unit .numbers-known-bar{margin-top:.375rem;height:.375rem}.numbers-unit-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 .875rem .625rem;font-size:.8125rem}.numbers-unit-count{color:var(--muted);font-variant-numeric:tabular-nums}.numbers-unit-marked .numbers-unit-start{opacity:.6}.numbers-learn-progress{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:.25rem 1rem;width:min(100%,22rem)}.numbers .numbers-learn-progress p{font-weight:600;font-size:.9375rem}.numbers .numbers-learn-progress .numbers-hint{font-weight:400;font-variant-numeric:tabular-nums}.numbers-learn-progress .numbers-known-bar{grid-column:1 / -1;height:.375rem}.numbers-new-tag{position:absolute;top:.5rem;left:.5rem;padding:0 .5rem;border-radius:999px;background:var(--system);color:var(--on-accent);font-size:.75rem;font-weight:600}.numbers .numbers-learn-word{display:flex;align-items:center;justify-content:center;gap:.625rem}.numbers-learn-word .numbers-listen{width:2.25rem;height:2.25rem;font-size:1.125rem}.numbers-respond>.home-start,.numbers-feedback .home-start{min-width:10rem;margin-top:.5rem}.numbers .numbers-learn-parts{font-size:1.0625rem}.numbers-options-few{grid-template-columns:repeat(2,1fr);width:min(100%,22rem)}.numbers-options-few .numbers-option{min-height:clamp(3.25rem,9vh,4.5rem)}.numbers-rule{width:min(100%,22rem);margin-top:.5rem}.numbers .numbers-rule-text{font-size:1.125rem;line-height:1.5}.numbers-rule ul{list-style:none;margin:1rem 0 1.5rem;padding:0}.numbers-rule li{display:grid;grid-template-columns:2.75rem 1fr auto;align-items:center;gap:.5rem;white-space:nowrap;padding:.5rem 0;border-bottom:1px solid var(--line)}.numbers-rule li>.target{color:var(--muted)}.numbers-rule-answer{display:inline-flex;align-items:center;gap:.375rem;font-size:1.125rem;font-weight:600}.numbers-rule .home-start{display:block;width:100%}.numbers-learn-done{width:100%;text-align:center}.numbers .numbers-learn-done>p{margin:.5rem auto 1rem}.numbers-learn-done .numbers-chips{justify-content:center}.numbers-learn-done .numbers-actions{margin-inline:auto}.numbers-daily,.numbers-known{margin-top:2rem}.numbers-daily .numbers-figures{margin:1rem 0}.numbers .numbers-streak{font-size:2rem;line-height:1.1;font-weight:600;color:var(--accent)}.numbers-days{margin:0}.numbers-days ol{display:grid;grid-template-columns:repeat(14,1fr);gap:3px;max-width:26rem;list-style:none;margin:.375rem 0 0;padding:0}.numbers-days li{aspect-ratio:1;border-radius:4px;background:var(--panel-2)}.numbers-days li.played{background:color-mix(in srgb,var(--accent) calc(35% + 65% * var(--fill, 1)),var(--panel))}.numbers-days li.today{box-shadow:inset 0 0 0 2px var(--text)}.numbers-known ul{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.75rem;max-width:26rem}.numbers-known li{display:grid;grid-template-columns:1fr auto;gap:.25rem .75rem}.numbers-known-count{font-variant-numeric:tabular-nums;color:var(--muted)}.numbers-known-bar{grid-column:1 / -1;height:.5rem;border-radius:999px;background:var(--panel-2);overflow:hidden}.numbers-known-bar:before{content:"";display:block;height:100%;width:calc(100% * var(--share, 0));background:var(--system)}.numbers-install{margin-top:1rem;border:1px solid var(--line);border-radius:8px}.demo-foot{margin:0;border-top:1px solid var(--line);padding:.75rem 1.25rem;color:var(--muted);font-size:.8125rem;text-align:center}.demo-tag{color:var(--muted);font-size:.8125rem}.translate-hero{padding-top:clamp(2rem,8vh,4rem)}.translate-hero h1{font-size:clamp(1.75rem,5vw,2.5rem);line-height:1.15;margin:0 0 1rem}.translate-form{display:grid;gap:.75rem;margin-top:2rem}.translate-label{font-size:.875rem;font-weight:600}.translate-input{width:100%;box-sizing:border-box;font:inherit;font-size:1.0625rem;color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:.75rem 1rem;resize:vertical}.translate-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.translate-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem}.translate-controls .picker-row{flex:1 1 18rem}.translate-counter{margin-left:auto;color:var(--muted);font-size:.8125rem;font-variant-numeric:tabular-nums}.translate-over{color:var(--bad)}.translate-submit{display:inline-flex;justify-content:center;min-width:8rem;border:none;font:inherit;font-weight:600;cursor:pointer}.translate-submit:disabled{opacity:.5;cursor:default}.translate .translate-mode-note,.translate .translate-hint{color:var(--muted);font-size:.875rem}.translate .translate-error{color:var(--bad);font-size:.875rem}.translate-result{margin-top:2.5rem}.translate-line{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem 1.25rem 1rem}.translate-line .gloss-line{margin:0;font-size:1.5rem;line-height:1.6}.translate .translate-note,.translate-hint{margin-top:.75rem}.translate-copy{flex:none;background:transparent;color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:.25rem .625rem;font:inherit;font-size:.8125rem;cursor:pointer}.translate-copy:hover{color:var(--text)}.translate-line-actions{flex:none;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.translate-words{margin-top:1rem}.translate-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.translate-history{margin-top:2.5rem}.translate-history-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.translate-history-head h2{margin:0;font-size:1.25rem}.translate-history-list{list-style:none;margin:1rem 0 0;padding:0}.translate-history-item{padding:.75rem 0;border-top:1px solid var(--line)}.translate-history-item .gloss-line{margin:.25rem 0 0;font-size:1.125rem}.translate .translate-history-english{color:var(--muted);font-size:.875rem}.translate-history-mode{white-space:nowrap}.translate .translate-history-words{margin-top:.25rem}.translate-levels p+p{margin-top:.75rem}@media (max-width: 700px){.home-pair{grid-template-columns:1fr}.home-section{margin-top:3.5rem}.translate-line{flex-direction:column;padding:1rem}.translate .home-bar{font-size:.9375rem}.translate-hero,.translate .translate-mode-note{display:none}.translate-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.translate-form{margin-top:.75rem;gap:.5rem}.translate-result{margin-top:1rem}.translate-line .gloss-line{font-size:1.375rem}}@media (max-width: 900px){.columns{grid-template-columns:1fr;grid-template-rows:minmax(0,1.4fr) minmax(0,1fr)}.column-teacher{border-left:0;border-top:1px solid var(--line)}.sidebar{width:190px}.sidebar-delete{opacity:1}}@media (max-width: 700px){.topbar{padding:.5rem .625rem;gap:.5rem}.topbar-left,.topbar-actions{gap:.25rem}.topbar h1,.topbar-logo{display:none}.topbar .chip-icon{flex:none;width:30px;height:30px}.chip-casual{padding-inline:.375rem}.chip-casual-word{display:none}.topbar-left{min-width:0}.topbar .chip-casual{min-width:0;overflow:hidden}.chip-level{white-space:nowrap}.chip-level-word,.chip-language-name{display:none}.chip-language-short{display:inline}.columns,.columns-solo{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.drawer{position:fixed;top:0;bottom:0;z-index:30;width:min(85vw,340px);display:flex;flex-direction:column;background:var(--panel);box-shadow:var(--shadow-pop);visibility:hidden;transition:transform .22s ease,visibility 0s linear .22s}.drawer-open{visibility:visible;transform:none;transition:transform .22s ease}.drawer-left{left:0;transform:translate(-100%)}.drawer-right{right:0;transform:translate(100%)}.drawer-open.drawer-left,.drawer-open.drawer-right{transform:none}.drawer .sidebar{flex:1;width:auto;border-right:0}.drawer-nav{flex:none;display:flex;flex-direction:column;gap:.125rem;padding:calc(.5rem + env(safe-area-inset-top,0px)) .5rem .625rem;border-bottom:1px solid var(--line)}.drawer-nav .nav-item{width:100%;justify-content:flex-start;gap:.75rem;padding:.5rem .75rem;border-color:transparent;border-radius:8px;background:transparent;font-size:.9375rem}.drawer-nav .nav-item:hover:not(:disabled){background:var(--panel-2)}.drawer-nav .nav-item.chip-on{background:var(--accent-wash);color:var(--text)}.menu-anchor-wide{width:100%}.menu-anchor-wide .menu{left:0;right:auto;width:100%}.drawer-account{margin:.375rem .75rem 0;overflow-wrap:anywhere}.drawer.column-teacher{border:0}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:29;background:var(--overlay)}.thread{padding:.875rem .75rem .5rem}.recorder{padding:.5rem .75rem .625rem;gap:0}.prep-closed{padding:.375rem .75rem 0}.prep-closed+.recorder{border-top:0;padding-top:.375rem}.pipeline-slot:empty{display:none}.pipeline-slot{margin-bottom:.375rem}.recorder-buttons{gap:.375rem}.speak-row{flex-basis:100%;gap:.375rem}.type-open{padding:.625rem .875rem;font-size:.8125rem}.nudge{flex:1 1 0;padding:.625rem .75rem;font-size:.8125rem;white-space:normal;text-align:center}.nudge-ideas{flex:0 0 auto}.ideas{padding:.5rem .75rem}.hint-keys{display:none}.hint{margin-top:.375rem}.ptt{padding:.8125rem}.note-jump,.attempt-open,.attempt-cancel{padding:.25rem .625rem .25rem .5rem}.sound-bar{flex-wrap:nowrap;justify-content:space-between;gap:.625rem;padding:.375rem .625rem;font-size:.75rem;line-height:1.35}.sound-button{flex:none;padding:.3125rem .625rem;font-size:.75rem}.overlay{padding:.625rem}.sheet{padding:.875rem .875rem 1.25rem}.sheet-head{top:-.875rem}.sheet-head .chip{white-space:nowrap}.settings-main{padding:.875rem .875rem 1.25rem}.settings-page .topbar .chip{white-space:nowrap}.tabs{overflow-x:auto;scrollbar-width:none}.tab{flex:none;white-space:nowrap}}.chip-count{min-width:1rem;height:1rem;padding:0 .25rem;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:.625rem;font-weight:600;line-height:1rem;text-align:center}.chip-icon:has(.chip-count){position:relative}.chip-icon .chip-count{position:absolute;top:-4px;right:-4px}.languages-sheet{max-width:32rem}.languages-section h3{margin:1rem 0 .5rem;font-size:.875rem;color:var(--muted)}.languages-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.languages-item{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem .75rem;padding:.5rem .625rem;border:1px solid var(--line);border-radius:var(--radius)}.languages-name{flex:1;min-width:10rem;display:flex;flex-direction:column;font-size:1rem}.languages-level{display:flex;align-items:center;gap:.375rem}.study-page{overflow:hidden}.study-layout{flex:1;display:flex;min-height:0}.study-main{flex:1;min-width:0;display:flex;flex-direction:column;overflow-y:auto}@media (max-width: 700px){.study-sidebar{width:100%;border-right:0}.study-sidebar .sidebar-delete{opacity:1}}.study-page>.topbar{position:sticky;top:0;z-index:1;background:var(--bg);flex-wrap:wrap;gap:.5rem}.study-tabs{display:flex;gap:.375rem}.study-tab-on{background:var(--accent-wash-strong);border-color:var(--accent)}.study-danger{color:var(--bad);border-color:var(--bad)}.study-body{display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:46rem;margin:0 auto;padding:1rem;flex:1}.study-empty{margin:auto 0;display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:2rem .5rem;text-align:center;color:var(--muted)}.study-empty p{margin:0;max-width:34rem;line-height:1.6}.study-empty-icon{width:2.5rem;height:2.5rem;color:var(--accent);opacity:.7}.study-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.study-actions .chip{display:inline-flex;align-items:center;gap:.375rem}.study-chat{display:flex;flex-direction:column;gap:1.5rem;flex:1;padding-bottom:.5rem}.study-chat:empty{display:none}.study-msg{max-width:100%;overflow-wrap:anywhere}.study-msg-user{align-self:flex-end;max-width:85%;padding:.625rem 1rem;border-radius:18px 18px 6px;background:var(--learner)}.study-msg-user .study-text{line-height:1.5}.study-msg-user .study-text p{margin:0}.study-msg-assistant{padding:0 .125rem}.study-text{line-height:1.65}.study-text p,.study-text ul{margin:.5rem 0}.study-text ul{padding-left:1.25rem}.study-text li+li{margin-top:.25rem}.study-text h3{margin:1.125rem 0 .25rem;font-size:1.0625rem}.study-text>:first-child{margin-top:0}.study-text>:last-child{margin-bottom:0}.study-msg-live .study-text>:last-child:not(ul):after,.study-msg-live .study-text>ul:last-child>li:last-child:after{content:"";display:inline-block;width:.5em;height:1.05em;margin-left:.125em;vertical-align:text-bottom;border-radius:2px;background:var(--accent);animation:study-caret 1s steps(2,start) infinite}@keyframes study-caret{to{visibility:hidden}}.study-typing{display:flex;gap:.3rem;padding:.5rem .125rem}.study-typing span{width:.45rem;height:.45rem;border-radius:50%;background:var(--muted);opacity:.35;animation:study-dot 1.2s ease-in-out infinite}.study-typing span:nth-child(2){animation-delay:.15s}.study-typing span:nth-child(3){animation-delay:.3s}@keyframes study-dot{30%{opacity:1;transform:translateY(-3px)}60%{opacity:.35;transform:none}}@media (prefers-reduced-motion: reduce){.study-typing span,.study-msg-live .study-text>:last-child:not(ul):after,.study-msg-live .study-text>ul:last-child>li:last-child:after,.study-spinner{animation:none}}.study-footer{margin-top:.75rem;display:flex;flex-direction:column;gap:.375rem;font-size:.8125rem;color:var(--muted)}.study-row{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:.375rem}.study-row-icon{display:inline-flex;width:1rem;justify-content:center}.study-row-icon svg{width:.9375rem;height:.9375rem}.study-row-label{margin-right:.125rem}.study-failed{color:var(--bad)}.study-path,.study-more,.study-retry{font:inherit;font-size:.8125rem;line-height:1.4;padding:.0625rem .5rem;border-radius:6px;cursor:pointer}.study-path{background:var(--panel);color:var(--text);border:1px solid var(--line)}.study-path:hover,.study-more:hover,.study-retry:hover{border-color:var(--accent);color:var(--accent)}.study-more{background:none;border:1px solid transparent;color:var(--muted);text-decoration:underline;text-underline-offset:2px}.study-retry{background:none;color:var(--bad);border:1px solid var(--bad)}.study-spinner{width:.75rem;height:.75rem;border-radius:50%;border:2px solid var(--line);border-top-color:var(--accent);animation:study-spin .8s linear infinite}@keyframes study-spin{to{transform:rotate(360deg)}}.study-compose{position:sticky;bottom:0;padding:.5rem 0 calc(.875rem + env(safe-area-inset-bottom,0px));background:var(--bg)}.study-compose:before{content:"";position:absolute;left:0;right:0;bottom:100%;height:1.25rem;background:linear-gradient(to bottom,transparent,var(--bg));pointer-events:none}.study-field{display:flex;align-items:flex-end;gap:.375rem;padding:.375rem;border:1px solid var(--line);border-radius:22px;background:var(--panel);box-shadow:0 2px 10px #1418280f}.study-field:focus-within{border-color:var(--accent)}.study-compose textarea{flex:1;min-width:0;resize:none;font:inherit;font-size:1rem;line-height:1.45;padding:.4375rem .625rem;border:0;outline:none;background:transparent;color:var(--text);max-height:33vh}.study-send{flex:none;width:2.25rem;height:2.25rem;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:0;background:var(--accent);color:var(--on-accent)}.study-send:disabled{background:var(--panel-2);color:var(--muted)}.study-search{flex:1;min-width:10rem;font:inherit;font-size:1rem;padding:.375rem .75rem;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--text)}.study-folder h2{margin:.5rem 0 .25rem;font-size:.8125rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.study-folder ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.375rem}.study-page-link{width:100%;text-align:left;display:flex;flex-direction:column;gap:.125rem;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:.5rem .75rem;color:var(--text);font:inherit;cursor:pointer}.study-page-link:hover{border-color:var(--accent)}.study-page-name{font-weight:600}.study-page-preview{font-size:.8125rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.study-page-view{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:.875rem;overflow-wrap:anywhere}.study-page-view h2{margin:0;font-size:1rem}.study-editor label{display:flex;flex-direction:column;gap:.25rem;font-size:.8125rem;color:var(--muted)}.study-editor input,.study-editor textarea{font:inherit;font-size:1rem;padding:.5rem .75rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--text)}.api-token-list{list-style:none;margin:.25rem 0 .75rem;padding:0;display:flex;flex-direction:column;gap:.5rem}.api-token{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.api-token-lines{display:flex;flex-direction:column;min-width:0}.api-token-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.api-token-made input{flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8125rem}.oauth-consent .row{margin-top:1.25rem}
