@import "https://fonts.googleapis.com/css2?family=Lora:wght@500;600;700&family=Ma+Shan+Zheng&family=Noto+Sans+SC:wght@400;500;700&family=Source+Sans+3:wght@400;600;700&display=swap";:root{--ink:#1a1d22;--ink-soft:#6a7078;--bg0:#f4f2ee;--bg1:#ebe8e2;--paper:#fcfbf9;--scene:#f6f4f0;--card:#fcfbf9;--accent:#3a6b62;--accent-deep:#2a524b;--seal:var(--accent);--seal-deep:var(--accent-deep);--line:#1a1d2214;--done:#2f6b4f;--bad:#9c4a3c;--locked:#9a9ea3;--radius:16px;--radius-control:12px;--space-1:.5rem;--space-2:.75rem;--space-3:1rem;--space-4:1.5rem;--font-display:"Source Sans 3", system-ui, sans-serif;--font-body:"Source Sans 3", system-ui, sans-serif;--font-hanzi:"Noto Sans SC", "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;--font-hanzi-ink:"Ma Shan Zheng", "Noto Sans SC", cursive;--tone-1:#a84b42;--tone-2:#2f7a4d;--tone-3:#2f5f9a;--tone-4:#6b4f86;--tone-5:#5c6168;--shadow-ink:#1a1d220b;--on-accent:#fcfbf9;--ease-ink:cubic-bezier(.22, 1, .36, 1);--ease-ink-soft:cubic-bezier(.33, 1.05, .68, 1);--dur-ink:.55s;--dur-ink-fast:.32s;--dur-ink-swap:.42s}*{box-sizing:border-box}html,body,#root{height:100%;min-height:100dvh}body{color:var(--ink);font-family:var(--font-body);background:radial-gradient(1100px 520px at 50% -18%, #ffffffe0 0%, transparent 58%), radial-gradient(720px 380px at 85% 12%, color-mix(in srgb, var(--accent) 5%, transparent) 0%, transparent 55%), linear-gradient(180deg, var(--bg0), var(--bg1));margin:0}#root{flex-direction:column;display:flex}.app-shell.page,.page.app-shell{flex-direction:column;flex:auto;width:100%;max-width:none;min-height:0;margin:0;padding:0;display:flex;overflow:hidden}.app-shell-column{--shell-gutter:.5rem;--shell-max:min(42rem, 100%);box-sizing:border-box;flex-direction:column;flex:auto;width:100%;max-width:none;min-height:0;margin:0;padding:0;display:flex;position:relative}.app-shell-pad{width:100%;max-width:var(--shell-max);padding-left:var(--shell-gutter);padding-right:var(--shell-gutter);box-sizing:border-box;margin:0 auto}.app-shell-top{z-index:12;background:linear-gradient(180deg, color-mix(in srgb, var(--bg0) 88%, transparent) 0%, color-mix(in srgb, var(--bg0) 55%, transparent) 70%, transparent 100%);flex:none;padding:.55rem 0 .4rem}.app-shell-top-row{justify-content:space-between;align-items:center;gap:.75rem;min-height:2.75rem;display:flex}.app-shell-top-spacer{flex:auto}.shell-settings{border-radius:var(--radius-control);width:2.55rem;height:2.55rem;color:var(--ink-soft);cursor:pointer;transition:color .22s var(--ease-ink), background .22s var(--ease-ink);background:0 0;border:0;flex:none;justify-content:center;align-items:center;margin-left:auto;padding:0;text-decoration:none;display:inline-flex}.shell-settings:hover{color:var(--ink);background:color-mix(in srgb, var(--scene) 65%, transparent)}.shell-settings.is-on{color:var(--accent-deep);background:color-mix(in srgb, var(--accent) 8%, transparent)}.shell-settings-icon{width:1.45rem;height:1.45rem;display:block}.app-shell-settings-corner{z-index:14;pointer-events:none;justify-content:flex-end;display:flex;position:absolute;top:.35rem;left:0;right:0}.app-shell-settings-corner .shell-settings{pointer-events:auto;margin-left:0}.app-shell-top .page-back{min-width:0;margin:0}.session-rail-meta{flex:none;align-items:center;gap:.35rem;margin-left:auto;animation:.45s cubic-bezier(.22,1.2,.36,1) session-rail-tick;display:flex}.session-rail-pill{box-sizing:border-box;min-width:.9rem;font-family:var(--font-body);letter-spacing:.02em;font-variant-numeric:tabular-nums;text-align:center;background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;margin:0;padding:0;font-size:.9rem;font-weight:750;line-height:1;display:inline-flex}.session-rail-sep{color:color-mix(in srgb, var(--ink-soft) 70%, transparent);-webkit-user-select:none;user-select:none;font-weight:600;line-height:1}.session-rail-pill.is-new{color:#2a5f9e}.session-rail-pill.is-learning{color:var(--done)}.session-rail-pill.is-review{color:#9a4e3a}.app-shell-top .session-rail-pill{border-radius:999px;min-height:1.55rem;padding:.18rem .45rem;font-size:.84rem}.app-shell-top .session-rail-pill.is-new{background:#3b6ea51f}.app-shell-top .session-rail-pill.is-learning{background:color-mix(in srgb, var(--done) 12%, transparent)}.app-shell-top .session-rail-pill.is-review{background:#9c4a3c1c}.app-shell-top .session-rail-sep{display:none}@keyframes session-rail-tick{0%{opacity:.55;transform:scale(.88)}55%{opacity:1;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.session-rail-meta{animation:none}}.app-shell-window{border-radius:0 0 var(--radius) var(--radius);isolation:isolate;width:100%;min-height:0;clip-path:inset(0 round 0 0 var(--radius) var(--radius));flex-direction:column;flex:auto;margin:0 0 .35rem;display:flex;position:relative;overflow:hidden}.app-shell-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;scrollbar-width:none;flex:auto;width:100%;min-height:0;padding:.35rem 0 1.25rem;overflow:hidden auto}.app-shell-scroll::-webkit-scrollbar{width:0;height:0}.app-shell-scroll-hint{z-index:3;pointer-events:none;opacity:0;transition:opacity .28s;position:absolute;left:0;right:0}.app-shell-scroll-hint.is-visible{opacity:1}.app-shell-scroll-hint--top{background:linear-gradient(180deg, color-mix(in srgb, var(--bg1) 72%, transparent) 0%, transparent 100%);height:1.5rem;top:0}.app-shell-scroll-hint--bottom{background:linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--bg1) 38%, transparent) 48%, color-mix(in srgb, var(--bg1) 88%, transparent) 100%);justify-content:center;align-items:flex-end;height:3.25rem;padding-bottom:.55rem;display:flex;bottom:0}.app-shell-scroll-hint-edge{flex-direction:column;align-items:center;gap:.22rem;animation:2.4s ease-in-out infinite scroll-hint-breathe;display:flex}.app-shell-scroll-hint-line{background:color-mix(in srgb, var(--ink) 28%, transparent);border-radius:999px;width:2.1rem;height:2px;display:block}.app-shell-scroll-hint-line.is-soft{background:color-mix(in srgb, var(--ink) 14%, transparent);width:1.35rem;height:1.5px}@keyframes scroll-hint-breathe{0%,to{opacity:.55;transform:translateY(0)}50%{opacity:1;transform:translateY(1px)}}@media (prefers-reduced-motion:reduce){.app-shell-scroll-hint-edge{opacity:.85;animation:none}.app-shell-scroll-hint{transition:none}}.app-shell-scroll-hint--bottom.is-compact{height:2rem;padding-bottom:0}.app-shell-action{animation:ink-rise var(--dur-ink-fast) var(--ease-ink) both;flex:none;padding:.15rem 0 .55rem;display:block}.app-shell-action-cta{border-radius:var(--radius);letter-spacing:.01em;width:100%;max-width:none;min-height:3.35rem;box-shadow:0 4px 14px color-mix(in srgb, var(--accent) 16%, transparent);-webkit-tap-highlight-color:transparent;touch-action:manipulation;margin:0;padding:.95rem 1.25rem;font-size:1.12rem}.app-shell-action-cta:active:not(:disabled){background:var(--accent-deep);transform:translateY(1px)}.app-shell-dock{padding:0 0 calc(.75rem + env(safe-area-inset-bottom,0px));background:0 0;flex:none}.app-shell-dock .bottom-nav{width:100%}.app-shell.hide-bottom-nav .app-shell-dock{display:none}.app-shell.hide-bottom-nav{--study-thumb-clearance:calc(clamp(1.25rem, 5.5vh + .35rem, 4.3rem) + env(safe-area-inset-bottom,0px))}.app-shell-action.is-study-session{z-index:2;animation:none}.app-shell-action.is-study-session.has-hc-sheet{padding-top:0;padding-bottom:0;animation:none}.page.study .app-shell-pad,.app-shell-action.is-study-session.has-hc-sheet .app-shell-pad{width:100%;margin-left:auto;margin-right:auto}.page.study.has-hc-result .study-hc-root{width:100%}.page.study.has-hc-result .study-hc-sheet{border-radius:clamp(18px,2.5vw,28px) clamp(18px,2.5vw,28px) 0 0;width:100%;max-width:none;max-height:min(78vh,44rem);margin-left:0;margin-right:0}.page.study .study-dock-cta,.page.study .app-shell-action-cta{width:100%;min-height:3.85rem;padding:1.05rem 1.25rem;font-size:1.22rem;font-weight:750}@media (width>=640px){.page.study .study-dock-cta,.page.study .app-shell-action-cta{min-height:3.45rem;font-size:1.08rem}.page.study .option-btn{min-height:3.05rem;font-size:1.04rem}.page.study .study-flow-options{gap:.65rem}}@media (width>=900px){.page.study .primary-card.study-card{padding:clamp(1.25rem,2.2vw,1.75rem) clamp(1.15rem,2vw,1.6rem)}.page.study .study-dock-cta{min-height:3.6rem;font-size:1.12rem}.page.study.has-hc-result .study-hc-sheet{gap:.85rem;max-height:min(82vh,48rem)}.page.study.has-hc-result .study-hc-mark{width:3.75rem;height:3.75rem;font-size:2rem}.app-shell-action-cta{min-height:3.5rem;font-size:1.08rem}.primary-card{padding:clamp(1.25rem,2vw,1.6rem) clamp(1.15rem,1.8vw,1.45rem)}}@media (width>=1200px){.page.study.has-hc-result .study-hc-sheet{max-height:min(84vh,52rem)}}@media (prefers-reduced-motion:reduce){.app-shell-action-cta:active:not(:disabled),.cta:active:not(:disabled){transform:none}}.app-shell-top{padding-top:max(.45rem, env(safe-area-inset-top,0px))}@media (width>=640px){.app-shell-column{--shell-gutter:1.2rem;--shell-max:min(56rem, 94vw)}}@media (width>=900px){.app-shell-column{--shell-gutter:1.65rem;--shell-max:min(68rem, 90vw)}.app-shell-scroll{padding-top:.55rem;padding-bottom:1.5rem}.hero{margin-bottom:1.75rem}.stack{gap:1.15rem}}@media (width>=1200px){.app-shell-column{--shell-gutter:2rem;--shell-max:min(80rem, 88vw)}}.page:not(.app-shell){max-width:42rem;margin:0 auto;padding:1.5rem 1.25rem}.page-back{margin:0 0 var(--space-2);animation:.4s ease-out rise}.app-shell-top .page-back{margin:0}.page-back-link{border-radius:var(--radius-control);min-height:2.75rem;color:var(--accent-deep);-webkit-tap-highlight-color:transparent;touch-action:manipulation;align-items:center;gap:.1rem;margin:0 0 0 -.45rem;padding:.35rem .65rem .35rem .2rem;font-size:1.02rem;font-weight:650;text-decoration:none;display:inline-flex}.page-back-chevron{width:1.6rem;height:1.6rem;color:var(--accent-deep);flex:none;place-items:center;display:grid}.page-back-chevron svg{display:block}.page-back-label{line-height:1.2}.page-back-link:hover{background:color-mix(in srgb, var(--accent) 8%, transparent);color:var(--accent-deep);text-decoration:none}.page-back-link:active{background:color-mix(in srgb, var(--accent) 12%, transparent)}.page-back>a:not(.page-back-link){color:var(--ink-soft);font-size:.9rem;font-weight:650;text-decoration:none}.page-back>a:not(.page-back-link):hover{color:var(--accent-deep);text-decoration:underline}.session-intro{margin:var(--space-1) 0 0;color:var(--ink-soft);font-size:.95rem;line-height:1.4}.session-banner{margin:0 0 var(--space-3);padding:var(--space-3);border:1px solid color-mix(in srgb, var(--accent) 28%, var(--line));border-radius:var(--radius);background:color-mix(in srgb, var(--accent) 8%, var(--paper));animation:.45s ease-out rise}.session-banner p{margin:0 0 var(--space-2);font-weight:650}.session-resume-note{margin:0 0 var(--space-3);color:var(--ink-soft);font-size:.9rem;line-height:1.4;animation:.35s ease-out rise}.session-resume-note .text-link{font:inherit;color:var(--accent-deep);cursor:pointer;text-underline-offset:2px;background:0 0;border:0;margin:0;padding:0;font-weight:650;text-decoration:underline}.session-resume-note .text-link:hover{color:var(--accent)}.progress-details{margin-top:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--line)}.progress-details summary{cursor:pointer;color:var(--ink-soft);font-size:.85rem;font-weight:650;list-style:none}.progress-details summary::-webkit-details-marker{display:none}.progress-details summary:before{content:"? ";color:var(--accent-deep)}.progress-details[open] summary:before{content:"? "}.progress-details .muted{margin:var(--space-2) 0 0}.today-hero{margin-bottom:.35rem}.today-hero-kicker{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 .25rem;font-size:.82rem;font-weight:650}.today-waiting{margin:.45rem 0 0;font-size:.92rem}.today-step h2{margin:.15rem 0 .45rem;font-size:clamp(1.35rem,4.2vw,1.65rem);line-height:1.25}.today-step-kicker{margin:0 0 .2rem!important}.today-secondaries{flex-direction:column;align-items:flex-start;gap:.55rem;margin-top:1rem;display:flex}.today-secondaries .text-link{appearance:none;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:0}.today-done-link{appearance:none;width:100%;color:var(--ink-soft);font:inherit;text-align:center;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--ink) 20%, transparent);text-decoration-color:color-mix(in srgb, var(--ink) 20%, transparent);text-underline-offset:.16em;cursor:pointer;background:0 0;border:none;margin:.35rem 0 .75rem;padding:.45rem;font-size:.9rem;display:block}.today-done-link:hover{color:var(--accent-deep)}.page.today .today-hero{margin-bottom:.2rem}.today-hero-top{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.35rem;display:flex}.today-hero-top .brand{opacity:.7;margin:0;font-size:.82rem}.page.today .today-hero h1{margin:0 0 .3rem;font-size:clamp(1.45rem,4.8vw,1.75rem)}.page.today .today-hero .subtitle{margin:0;font-size:.98rem;line-height:1.35}.today-aim-anchor{flex:none;position:relative}.today-aim-pill{appearance:none;border:1px solid color-mix(in srgb, var(--ink) 16%, var(--line));background:color-mix(in srgb, var(--scene) 40%, var(--paper));min-height:2.1rem;color:var(--ink);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:999px;align-items:center;gap:.28rem;padding:.3rem .65rem .3rem .7rem;font-size:.92rem;font-weight:700;display:inline-flex}.today-aim-pill.is-open,.today-aim-pill:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--line));background:color-mix(in srgb, var(--accent) 8%, var(--paper))}.today-aim-caret{opacity:.65;font-size:.7rem;line-height:1}.today-aim-pill-label{letter-spacing:.03em;text-transform:uppercase;color:var(--ink-soft);font-size:.72rem;font-weight:650}.today-aim-pill-value{font-size:.88rem;font-weight:750}.today-aim-menu-title{color:var(--ink-soft);margin:0 0 .15rem;padding:.25rem .55rem .35rem;font-size:.78rem;font-weight:650}.today-place{margin:0 0 .15rem;font-size:.92rem}.today-aim-menu{z-index:40;border:1px solid color-mix(in srgb, var(--line) 80%, transparent);background:var(--paper);border-radius:14px;flex-direction:column;gap:.2rem;min-width:8.5rem;padding:.4rem;display:flex;position:absolute;top:calc(100% + .35rem);left:0;right:auto;box-shadow:0 12px 28px #0c0e1229}.today-aim-option{appearance:none;width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;padding:.55rem .7rem;font-size:.95rem;font-weight:650}.today-aim-option.is-on,.today-aim-option:hover{background:color-mix(in srgb, var(--accent) 12%, var(--paper));color:var(--accent-deep)}.today-aim-more{border-top:1px solid color-mix(in srgb, var(--line) 70%, transparent);color:var(--ink-soft);border-radius:0 0 10px 10px;margin-top:.15rem;font-weight:650}.today-aim-more-list{border-top:1px solid color-mix(in srgb, var(--line) 70%, transparent);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex-direction:column;gap:.15rem;max-height:min(40vh,14rem);margin-top:.15rem;padding-top:.2rem;display:flex;overflow:auto}.today-aim-more-list .today-aim-menu-title{background:var(--paper);position:sticky;top:0}.today-dock{flex-direction:column;gap:.35rem;width:100%;display:flex}.today-dock-eta{text-align:center;color:var(--ink-soft);margin:0;font-size:.9rem;font-weight:600}.today-debug-banner{border:1px dashed color-mix(in srgb, var(--accent) 35%, var(--line));background:color-mix(in srgb, var(--accent) 6%, var(--paper));color:var(--ink-soft);border-radius:10px;justify-content:space-between;align-items:center;gap:.75rem;margin:0 0 .35rem;padding:.45rem .7rem;font-size:.84rem;font-weight:650;display:flex}.today-compose-debug{border:1px dashed color-mix(in srgb, var(--line) 90%, transparent);background:color-mix(in srgb, var(--ink) 3%, var(--paper));border-radius:10px;margin:0 0 .65rem;padding:.45rem .7rem;font-size:.82rem}.today-compose-debug summary{cursor:pointer;color:var(--ink-soft);font-weight:700}.today-compose-debug-note{margin:.35rem 0 .4rem;font-size:.8rem;line-height:1.35}.today-compose-debug-pre{background:color-mix(in srgb, var(--ink) 4%, var(--paper));white-space:pre-wrap;color:var(--ink);border-radius:8px;margin:0;padding:.45rem .55rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem;line-height:1.4;overflow-x:auto}.today-debug-panel{border-top:1px solid color-mix(in srgb, var(--line) 80%, transparent);margin-top:1rem;padding-top:.85rem}.today-debug-panel-title{margin:0 0 .35rem;font-size:1rem;font-weight:750}.today-debug-panel-note{margin:0 0 .65rem;font-size:.86rem;line-height:1.35}.today-debug-panel-active{margin:0 0 .55rem;font-size:.9rem;font-weight:650}.today-debug-scenario-list{flex-direction:column;gap:.4rem;display:flex}.today-debug-scenario{appearance:none;border:1px solid color-mix(in srgb, var(--line) 85%, transparent);background:var(--paper);text-align:left;cursor:pointer;width:100%;font:inherit;border-radius:10px;flex-direction:column;align-items:flex-start;gap:.12rem;margin:0;padding:.55rem .7rem;display:flex}.today-debug-scenario.is-on,.today-debug-scenario:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--line));background:color-mix(in srgb, var(--accent) 7%, var(--paper))}.today-debug-scenario-label{color:var(--ink);font-size:.92rem;font-weight:700}.today-debug-scenario-hint{font-size:.8rem;line-height:1.3}.today-plan{padding:1.2rem 1.15rem 1.15rem}.today-plan-head{border-bottom:none;flex-direction:column;align-items:stretch;gap:.4rem;margin:0 0 .95rem;padding:0;display:flex}.today-level-strip{pointer-events:none;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;margin:0 0 .55rem;padding:.1rem .05rem .15rem;display:flex}.today-level-mark{letter-spacing:.02em;color:var(--ink-soft);flex:none;font-size:.72rem;font-weight:650;line-height:1}.today-level-track{background:color-mix(in srgb, var(--line) 90%, var(--ink));border-radius:999px;flex:auto;min-width:0;height:2px;position:relative}.today-level-fill{border-radius:inherit;background:color-mix(in srgb, var(--accent) 28%, var(--line));position:absolute;inset:0 auto 0 0}.today-level-pip{border-radius:var(--radius-control);border:1px solid color-mix(in srgb, var(--ink) 22%, var(--line));background:var(--paper);min-width:1.4rem;height:1.4rem;color:var(--ink);box-shadow:0 1px 3px var(--shadow-ink);place-items:center;padding:0 .24rem;font-size:.74rem;font-weight:700;line-height:1;display:grid;position:absolute;top:50%;transform:translate(-50%,-50%)}.today-tomorrow-hook{border:1px solid color-mix(in srgb, var(--accent) 22%, var(--line));background:color-mix(in srgb, var(--accent) 5%, var(--paper));font-family:var(--font-display);color:var(--ink);border-radius:12px;margin:.85rem 0 0;padding:.65rem .75rem;font-size:.96rem;font-weight:600;line-height:1.35}.today-plan-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin:0;font-size:1.5rem;font-weight:600;line-height:1.15}.today-plan-meta{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.today-plan-head .today-aim-anchor{min-width:0;margin:0}.today-aim-btn{appearance:none;border-radius:var(--radius-control);color:color-mix(in srgb, var(--ink-soft) 82%, transparent);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color .15s var(--ease-ink), background .15s var(--ease-ink), color .15s var(--ease-ink);background:0 0;border:1px solid #0000;align-items:center;gap:.22rem;margin:0;padding:.12rem .35rem .12rem .4rem;font-size:.74rem;font-weight:550;line-height:1.2;text-decoration:none;display:inline-flex}.today-aim-btn.is-open,.today-aim-btn:hover{color:var(--ink-soft);border-color:color-mix(in srgb, var(--line) 90%, transparent);background:color-mix(in srgb, var(--bg1) 35%, var(--paper))}.today-aim-btn .today-aim-caret{opacity:.7;border-bottom:1.5px solid;border-right:1.5px solid;width:.34rem;height:.34rem;margin-left:.06rem;display:block;transform:translateY(-.08rem)rotate(45deg)}.page.today .today-waiting{margin:0 0 .15rem}.page.today{--font-display:"Lora", Georgia, serif}.page.today:not(.study) .app-shell-scroll{flex-direction:column;padding-top:.35rem;padding-bottom:.35rem;display:flex}.page.today:not(.study) .app-shell-scroll>.app-shell-pad{box-sizing:border-box;flex-direction:column;flex:1 0 auto;min-height:100%;display:flex}.page.today:not(.study) .today-stack{gap:.65rem;width:100%;margin:0;padding-top:clamp(1.1rem,9vh,3.25rem);padding-bottom:1.1rem}.page.today .today-plan.primary-card{box-shadow:0 1px 0 color-mix(in srgb, var(--ink) 3.5%, transparent), 0 8px 24px color-mix(in srgb, var(--ink) 4.5%, transparent);padding:1.15rem 1.1rem 1.1rem}.today-plan-footnote{color:var(--ink-soft);margin:.95rem 0 0;font-size:.88rem;line-height:1.35}.today-plan-footnote .text-link{margin-top:0;margin-right:0}.today-plan-extras{border-top:1px solid color-mix(in srgb, var(--line) 80%, transparent);flex-wrap:wrap;align-items:center;gap:.4rem;margin:.95rem 0 0;padding-top:.85rem;display:flex}.today-plan-extra{margin:0}.today-plan-extra.today-plan-chip{color:var(--ink-soft);font-weight:550}.today-plan-eta{min-width:0;color:var(--ink-soft);text-align:left;font-variant-numeric:tabular-nums;white-space:nowrap;background:0 0;border:none;border-radius:0;flex:auto;margin:0;padding:0;font-size:.86rem;font-weight:650;line-height:1.2}.page.today .app-shell-action{padding:.25rem 0 .45rem;animation:none}.page.today .app-shell-action-cta{border:1px solid color-mix(in srgb, var(--accent-deep) 42%, transparent);border-radius:var(--radius);box-shadow:0 2px 14px var(--shadow-ink)}.page.today .app-shell-action-cta.is-done-today:not(:disabled){border-color:color-mix(in srgb, var(--line) 88%, transparent);background:color-mix(in srgb, var(--paper) 88%, var(--ink-soft));color:var(--ink-soft);box-shadow:none;font-weight:650}.page.today .app-shell-dock{padding-top:0}.today-plan-empty{color:var(--ink);margin:0;font-size:1.02rem;line-height:1.4}.today-plan-steps{flex-direction:column;gap:.45rem;margin:0;padding:.15rem 0 0;list-style:none;display:flex}.today-plan-step{grid-template-columns:1.25rem minmax(0,1fr);align-items:baseline;gap:.55rem;margin:0;padding:.28rem 0;display:grid}.today-plan-mark{width:1.25rem;height:1.25rem;color:color-mix(in srgb, var(--ink) 45%, transparent);place-items:center;display:grid;position:relative}.today-plan-mark:before{content:"";box-sizing:border-box;background:0 0;border:1.5px solid;border-radius:50%;width:.44rem;height:.44rem}.today-plan-step.is-current .today-plan-mark{color:var(--accent-deep)}.today-plan-step.is-current .today-plan-mark:before{background:currentColor}.today-plan-step.is-done .today-plan-mark{color:var(--accent-deep)}.today-plan-step.is-done .today-plan-mark:before{background:0 0;border:0 solid;border-width:0 0 1.5px 1.5px;border-radius:0;width:.52rem;height:.28rem;transform:rotate(-48deg)translate(.02rem,-.06rem)}.today-plan-copy{flex-direction:column;gap:.12rem;min-width:0;display:flex}.today-plan-label{color:var(--ink);font-size:1.02rem;font-weight:650;line-height:1.3}.today-plan-step.is-done .today-plan-label{color:var(--ink-soft);text-decoration:line-through;-webkit-text-decoration-color:color-mix(in srgb, var(--ink) 28%, transparent);text-decoration-color:color-mix(in srgb, var(--ink) 28%, transparent);font-weight:600}.today-plan-step.is-locked .today-plan-label{color:var(--ink-soft);font-weight:600}.today-plan-detail{font-size:.86rem;line-height:1.3}.today-plan-mins{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--accent-deep);margin:0;font-size:.8rem;font-weight:650;line-height:1.25}.today-plan-mins.is-empty{visibility:hidden}.today-plan-step.is-current .today-plan-mins{color:var(--accent-deep);opacity:1;font-size:.84rem;font-weight:650}.today-plan-step.is-current{background:color-mix(in srgb, var(--accent) 10%, var(--paper));border-radius:12px;margin:.15rem -.65rem;padding:.55rem .65rem}.today-plan-step.is-current .today-plan-label{font-size:1.08rem;font-weight:750}.page.today .today-stack{gap:.55rem}.today-overflow{border:1px solid color-mix(in srgb, var(--accent) 22%, var(--line));border-radius:var(--radius);background:color-mix(in srgb, var(--accent) 6%, var(--paper));margin:0 0 .35rem;padding:.75rem .9rem}.today-overflow p{color:var(--ink);margin:0;font-size:.95rem;line-height:1.35}.today-overflow-actions{flex-wrap:wrap;gap:.85rem;margin-top:.55rem;display:flex}.today-plan-status{border:none;border-bottom:1px solid color-mix(in srgb, var(--line) 82%, transparent);background:0 0;border-radius:0;margin:0 0 .85rem;padding:.15rem 0 .55rem}.today-plan-status-copy{color:var(--ink-soft);margin:0;font-size:.9rem;line-height:1.4}.today-plan-status-copy+.today-plan-status-copy{margin-top:.35rem}.today-plan-status-actions{flex-wrap:wrap;gap:.4rem;margin-top:.55rem;display:flex}.today-plan-chip{appearance:none;border:1px solid color-mix(in srgb, var(--line) 80%, transparent);border-radius:var(--radius-control);background:var(--paper);color:var(--ink);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:border-color .15s var(--ease-ink), background .15s var(--ease-ink), color .15s var(--ease-ink);margin:0;padding:.36rem .75rem;font-size:.84rem;font-weight:600;line-height:1.25}.today-plan-chip:hover{color:var(--accent-deep);border-color:color-mix(in srgb, var(--accent) 28%, var(--line));background:color-mix(in srgb, var(--accent) 6%, var(--paper))}.today-plan-chip.is-quiet{color:var(--ink-soft);background:0 0;font-weight:550}.today-plan-chip.is-selected{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));background:color-mix(in srgb, var(--paper) 82%, var(--accent));color:var(--ink);font-weight:650}.today-extra-new{border-top:1px solid color-mix(in srgb, var(--line) 82%, transparent);margin:.85rem 0 0;padding:.7rem 0 0}.today-extra-new-copy{color:var(--ink-soft);margin:0;font-size:.9rem;line-height:1.4}.today-extra-new-hint{margin:.45rem 0 0;font-size:.8rem;line-height:1.35}.today-plan .today-writing-line{margin-top:.95rem}.today-writing-line{margin:.95rem 0 0;font-size:.88rem;line-height:1.35}.today-writing-line a{color:var(--ink-soft);font-weight:600}.today-aim{flex-direction:column;gap:.45rem;margin:.15rem 0 .35rem;padding:.65rem .15rem .25rem;display:flex}.today-aim-eta{margin:0;font-size:.9rem}.today-aim .script-seg{width:100%}.today-more summary{font-size:.9rem}.today-more-override{margin-top:.55rem}.today-more-override .muted{margin:.2rem 0 0;font-size:.85rem}.page.today .today-step{padding-top:1rem;padding-bottom:1rem}.page.today .today-step h2{margin:0 0 .4rem}.page.today .today-prefs summary{font-size:.9rem}.today-due-split{color:var(--ink-soft);margin:.45rem 0 0;font-size:.95rem;line-height:1.35}.today-due-split-plan{margin:.25rem 0 0}.entry-band-list{gap:var(--space-2);margin:var(--space-3) 0;flex-direction:column;display:flex}.entry-band{text-align:left;width:100%;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius);color:inherit;cursor:pointer;background:0 0;flex-direction:column;align-items:flex-start;gap:.25rem;display:flex}.entry-band strong{font-size:1rem}.entry-band.is-on{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent)}.hero-controls{margin-top:var(--space-3)}.hub-footnote{margin:var(--space-4) 0 0;font-size:.82rem}.action-stack{margin-top:var(--space-3);flex-direction:column;gap:.55rem;display:flex}.action-stack .cta,.action-stack .cta.secondary,.action-stack a.cta{text-align:center;box-sizing:border-box;width:100%;margin-top:0;margin-right:0;text-decoration:none}.settings-msg{margin:var(--space-2) 0 0}.dev-disclosure{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:0 2px 10px var(--shadow-ink);margin:0;overflow:hidden}.dev-disclosure summary{cursor:pointer;color:var(--ink);padding:.85rem .9rem;font-size:.95rem;font-weight:700;list-style:none}.dev-disclosure summary::-webkit-details-marker{display:none}.dev-disclosure summary:before{content:"? ";color:var(--ink-soft);font-weight:650}.dev-disclosure[open] summary{border-bottom:1px solid var(--line)}.dev-disclosure[open] summary:before{content:"? "}.dev-disclosure-body{padding:.85rem .9rem var(--space-3)}.dev-disclosure-body>.muted{margin:0 0 var(--space-2)}.dev-disclosure-body>.action-stack{margin-top:0}.dev-disclosure-body>.text-link{margin-top:var(--space-3)}.brand{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 var(--space-1);color:color-mix(in srgb, var(--ink-soft) 88%, var(--accent));font-size:1.1rem;font-weight:700}.subtitle{color:var(--ink-soft);margin:0;font-size:1rem;line-height:1.45}.chapter-line{margin:var(--space-1) 0 0;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);font-size:.78rem;font-weight:650}.hero{margin-bottom:var(--space-4);animation:ink-rise var(--dur-ink) var(--ease-ink) both}.hero h1,.episode-hero h1,.map-header h1{font-family:var(--font-display);letter-spacing:-.025em;color:var(--ink);margin:0;font-size:clamp(1.7rem,4vw,2.15rem);font-weight:700;line-height:1.15}.episode-hero .brand{margin-bottom:.35rem}.primary-card{background:color-mix(in srgb, var(--card) 92%, transparent);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-3) var(--space-3) var(--space-4);box-shadow:0 2px 12px var(--shadow-ink);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:ink-rise var(--dur-ink) var(--ease-ink) both}.primary-card>.text-link{margin-top:var(--space-3);display:inline-block}.card-actions{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.card-actions .cta,.card-actions .cta.secondary{margin-top:0;margin-right:0}.primary-card h1,.primary-card h2{font-family:var(--font-display);letter-spacing:-.02em;margin:.35rem 0 .5rem;font-size:1.65rem;font-weight:700}.primary-card>h2:first-child{margin-top:0}.primary-card p{margin:.35rem 0;line-height:1.45}.muted,.hint{color:var(--ink-soft);font-size:.95rem}.hint{font-size:.85rem;margin-top:.85rem!important}.cta{margin-top:var(--space-3);appearance:none;border-radius:var(--radius-control);font:inherit;color:var(--on-accent);background:var(--accent);cursor:pointer;border:none;padding:.7rem 1.15rem;font-weight:700;transition:background .18s,border-color .18s,transform .18s,box-shadow .18s}.cta:hover:not(:disabled){background:var(--accent-deep)}.cta:active:not(:disabled){transform:translateY(1px)}.cta:disabled,.cta.secondary:disabled{opacity:.55;cursor:not-allowed}.cta.secondary{background:color-mix(in srgb, var(--paper) 70%, transparent);color:var(--ink);border:1px solid color-mix(in srgb, var(--ink) 12%, transparent);margin-top:.65rem;margin-right:.5rem;display:inline-block}.cta.secondary:hover:not(:disabled){background:var(--scene);border-color:color-mix(in srgb, var(--accent) 28%, var(--line));color:var(--accent-deep)}.cta:focus-visible,.cta.secondary:focus-visible,.script-seg-btn:focus-visible,.zh-word:focus-visible,.icon-btn:focus-visible,.option-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bottom-nav{box-sizing:border-box;background:color-mix(in srgb, var(--paper) 88%, transparent);border:1px solid var(--line);border-radius:var(--radius);width:100%;min-height:3.75rem;box-shadow:0 2px 14px var(--shadow-ink);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:20;justify-content:space-between;gap:.15rem;padding:.35rem;display:flex;position:static}.bottom-nav a{text-align:center;color:var(--ink-soft);border-radius:var(--radius-control);letter-spacing:.01em;min-height:2.85rem;transition:color .22s var(--ease-ink), background .22s var(--ease-ink), transform .22s var(--ease-ink);flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:.28rem;padding:.55rem .15rem .45rem;font-size:.78rem;font-weight:600;text-decoration:none;display:flex}.bottom-nav-icons a{gap:0;min-width:0;min-height:3.15rem;padding:.55rem .05rem}.bottom-nav-icon{flex:none;width:1.6rem;height:1.6rem;display:block;overflow:visible}.bottom-nav-icon-zi{font-family:var(--font-hanzi-ink);fill:currentColor;font-size:22px;font-weight:400}.bottom-nav a:hover{color:var(--ink);background:color-mix(in srgb, var(--scene) 65%, transparent)}.bottom-nav a:active{transform:scale(.96)}.bottom-nav a.nav-active{color:var(--accent-deep);background:color-mix(in srgb, var(--accent) 8%, transparent);font-weight:700}.bottom-nav a.nav-active:after{content:"";background:color-mix(in srgb, var(--accent) 75%, transparent);width:1rem;height:2px;animation:ink-rise .35s var(--ease-ink) both;border-radius:1px}.bottom-nav-icons a.nav-active:after{width:.85rem}.inspect-section-nav{margin:0 0 var(--space-3);min-height:unset;flex-wrap:wrap;justify-content:flex-start;gap:.25rem}.inspect-section-nav a{flex:0 auto;min-width:4.5rem;padding:.45rem .4rem .35rem;font-size:.72rem}.due-line{color:var(--accent-deep);margin:.5rem 0 0;font-weight:600}.prompt-label{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);font-size:.8rem;margin:0 0 .5rem!important}.hanzi-prompt{font-family:var(--font-hanzi);letter-spacing:.06em;color:var(--ink);margin:.25rem 0;font-size:2.65rem;font-weight:500;line-height:1.2}.study-card-top{margin-bottom:var(--space-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem .75rem;display:flex}.page.study .study-card-top{--study-chrome-h:2.5rem;min-height:var(--study-chrome-h);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.3rem .4rem;margin-bottom:.3rem;display:grid;position:relative}.page.study .study-card-top-lead{justify-self:start;align-items:center;gap:.2rem;min-width:0;display:flex}.page.study .study-card-back{flex:none;margin:0;animation:none}.page.study .study-card-back .page-back-link{min-width:var(--study-chrome-h);min-height:var(--study-chrome-h);color:var(--ink-soft);border-radius:999px;justify-content:center;margin:0;padding:0}.page.study .study-card-back .page-back-link:hover,.page.study .study-card-back .page-back-link:active{color:var(--ink);background:color-mix(in srgb, var(--ink) 6%, transparent)}.page.study .study-card-back .page-back-chevron{width:1.35rem;height:1.35rem;color:inherit}.page.study .study-card-back .page-back-chevron svg{width:22px;height:22px}.page.study .study-card-top .study-task-label{letter-spacing:.05em;min-width:0;color:var(--ink-soft);font-size:.84rem;font-weight:650;line-height:1.2;margin:0!important}.page.study .study-card-top-tools{justify-self:end;align-items:center;margin-left:0;display:flex}.page.study .study-card-top-tools .reading-aids{min-height:var(--study-chrome-h);box-sizing:border-box;gap:.06rem;padding:.15rem}.page.study .study-card-top-tools .script-seg-btn{min-width:2.4rem;min-height:calc(var(--study-chrome-h) - .3rem);letter-spacing:.02em;padding:.3rem .72rem;font-size:.86rem;font-weight:650}.page.study .study-first-look{flex-direction:column;gap:.65rem;margin:.35rem 0 .5rem;display:flex}.page.study .study-first-look-kicker{letter-spacing:.02em;text-transform:uppercase;margin:0;font-size:.82rem;font-weight:650}.page.study .study-first-look-gloss{color:var(--ink);margin:.35rem 0 0;font-size:clamp(1.15rem,4vw,1.35rem);font-weight:650}.page.study .study-first-look-hook{margin:0;font-size:.95rem;line-height:1.35}.page.study .study-first-look-example{border:1px solid var(--line);border-radius:var(--radius-control);background:color-mix(in srgb, var(--paper) 88%, var(--bg1));margin:0;padding:.65rem .75rem}.page.study .study-first-look-example-zh{font-size:1.05rem;font-weight:650;font-family:var(--font-hanzi);margin:0}.page.study .study-first-look-example-en{margin:.25rem 0 0;font-size:.9rem}.page.study .study-first-look-composites-label{margin:0 0 .25rem;font-size:.82rem;font-weight:650}.page.study .study-first-look-composites-list{flex-direction:column;gap:.2rem;margin:0;padding:0;list-style:none;display:flex}.page.study .study-first-look-composite-zh{font-family:var(--font-hanzi);font-weight:650}.page.study .study-prompt{gap:.5rem;margin:.4rem 0 .7rem;padding:1.05rem .55rem 1.15rem}.page.study .study-prompt .hanzi-prompt{font-size:clamp(3.25rem,13vw,4.1rem)}.page.study .study-prompt .study-pinyin,.page.study .study-prompt .color-pinyin.study-pinyin{margin-top:.4rem;font-size:clamp(1.15rem,3.8vw,1.4rem)}.page.study .study-prompt.is-audio{min-height:6rem}.page.study .study-gloss-prompt{font-size:clamp(1.55rem,5.6vw,2rem)}.page.study .study-flow-options{gap:.55rem;margin-top:.55rem}.page.study .study-card .option-btn{min-height:3.25rem;padding:.9rem 1rem;font-size:1.12rem;font-weight:650}.page.study .study-unknown-link{border-color:color-mix(in srgb, var(--bad) 28%, var(--line));background:color-mix(in srgb, var(--bad) 9%, var(--paper));min-height:2.85rem;margin-top:.7rem;padding:.7rem .85rem;font-size:1.05rem;font-weight:650}.page.study .study-card-top{margin-bottom:.25rem}.page.study .primary-card.study-card{padding-bottom:.95rem}@media (width>=640px){.page.study .study-prompt .hanzi-prompt{font-size:clamp(3rem,7vw,3.85rem)}.page.study .study-card .option-btn{min-height:3.1rem;font-size:1.08rem}}.page.study .primary-card.study-card{padding-top:calc(var(--space-3) + .45rem);position:relative;overflow:hidden}.study-card-progress{background:linear-gradient(180deg, color-mix(in srgb, var(--ink) 7%, transparent) 0%, color-mix(in srgb, var(--ink) 3%, var(--scene)) 100%);height:6px;box-shadow:inset 0 -1px 0 color-mix(in srgb, var(--ink) 4%, transparent);position:absolute;top:0;left:0;right:0;overflow:hidden}.study-card-progress-fill{background:linear-gradient(90deg, var(--accent-deep) 0%, var(--accent) 42%, #3d7a6e 72%, #6eb5a3 100%);min-width:0;height:100%;box-shadow:0 0 12px color-mix(in srgb, var(--accent) 32%, transparent), inset 0 1px 0 #ffffff38;transform-origin:0;transition:width .6s cubic-bezier(.22,1.25,.36,1),background .35s,box-shadow .35s;display:block;position:relative}.study-card-progress-flow{pointer-events:none;mix-blend-mode:soft-light;opacity:.85;background-image:linear-gradient(90deg,#0000 0%,#ffffff14 18%,#ffffff47 42%,#dcf8ee66 50%,#ffffff3d 58%,#ffffff14 78%,#0000 100%);background-position:0 0;background-repeat:repeat-x;background-size:200% 100%;width:42%;min-width:3.25rem;position:absolute;top:0;bottom:0;right:0;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 22% 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 22% 100%)}.study-card-progress-shimmer{pointer-events:none;opacity:0;background:linear-gradient(105deg,#0000 35%,#ffffff73 50%,#0000 65%);position:absolute;inset:0;transform:translate(-120%)}.study-card-progress-edge{pointer-events:none;opacity:.55;transform-origin:100%;background:radial-gradient(at 85%,#ffffff8c 0%,#8fd0c08c 42%,#0000 72%);width:28px;height:calc(100% + 8px);position:absolute;top:-4px;right:0}.study-card-progress-tip{pointer-events:none;opacity:.92;transform-origin:50%;background:linear-gradient(#fff 0%,#e5f5f1 100%);border-radius:999px;width:3px;height:calc(100% + 4px);position:absolute;top:-2px;right:-1px;box-shadow:0 0 8px #8fd0c0bf,0 0 2px #fffffff2}.study-card-progress.is-learning .study-card-progress-flow{animation:6.8s linear infinite study-progress-gradient-flow}.study-card-progress.is-learning .study-card-progress-edge{animation:5.4s ease-in-out infinite study-progress-edge-breathe}.study-card-progress.is-learning .study-card-progress-tip{animation:5.4s ease-in-out infinite study-progress-tip-nudge}.study-card-progress.is-advancing .study-card-progress-fill{animation:.75s ease-out study-progress-advance}.study-card-progress.is-advancing .study-card-progress-flow{animation:.75s linear study-progress-gradient-surge}.study-card-progress.is-advancing .study-card-progress-shimmer{animation:.75s ease-out study-progress-shimmer}.study-card-progress.is-advancing .study-card-progress-edge{animation:.75s ease-out study-progress-edge-burst}.study-card-progress.is-advancing .study-card-progress-tip{animation:.75s ease-out study-progress-tip}.study-card-progress.is-celebrating .study-card-progress-fill{animation:.8s ease-out study-progress-celebrate}.study-card-progress.is-celebrating .study-card-progress-flow{animation:.8s linear study-progress-gradient-surge}.study-card-progress.is-celebrating .study-card-progress-edge{animation:.8s ease-out study-progress-edge-burst}.study-card-progress.is-celebrating .study-card-progress-tip{animation:.8s ease-out study-progress-tip}@keyframes study-progress-gradient-flow{0%{background-position:0 0}to{background-position:-200% 0}}@keyframes study-progress-gradient-surge{0%{background-position:0 0}to{background-position:-200% 0}}@keyframes study-progress-edge-breathe{0%,to{opacity:.45;transform:translate(0)scaleX(.96)}50%{opacity:.72;transform:translate(1px)scaleX(1.04)}}@keyframes study-progress-tip-nudge{0%,to{opacity:.8;transform:translate(0)scaleY(1);box-shadow:0 0 6px #8fd0c080,0 0 2px #fffc}50%{opacity:.95;transform:translate(.75px)scaleY(1.08);box-shadow:0 0 10px #8fd0c0ad,0 0 2px #fffffff2}}@keyframes study-progress-edge-burst{0%{opacity:.5;transform:translate(0)scaleX(1)}40%{opacity:1;transform:translate(4px)scaleX(1.35)}to{opacity:.55;transform:translate(0)scaleX(1)}}@keyframes study-progress-advance{0%{filter:brightness()}30%{filter:brightness(1.28)}to{filter:brightness()}}@keyframes study-progress-celebrate{0%{filter:brightness()}40%{filter:brightness(1.22);box-shadow:0 0 16px color-mix(in srgb, var(--done) 55%, transparent), inset 0 1px 0 #ffffff59}to{filter:brightness()}}@keyframes study-progress-shimmer{0%{opacity:0;transform:translate(-120%)}25%{opacity:1}to{opacity:0;transform:translate(120%)}}@keyframes study-progress-tip{0%{opacity:.45;transform:translate(0)scaleY(.7)}40%{opacity:1;transform:translate(2px)scaleY(1.4);box-shadow:0 0 14px #8fd0c0cc,0 0 3px #fffffff2}to{opacity:.9;transform:translate(0)scaleY(1)}}.study-card.is-result-ok .study-card-progress-fill{background:linear-gradient(90deg, color-mix(in srgb, var(--done) 85%, var(--accent-deep)) 0%, var(--done) 42%, #5fad84 72%, #8fd4a8 100%);box-shadow:0 0 12px color-mix(in srgb, var(--done) 40%, transparent), inset 0 1px 0 #ffffff4d}.study-card.is-result-ok .study-card-progress-flow{background-image:linear-gradient(90deg,#0000 0%,#ffffff1a 18%,#ffffff4d 42%,#dcfae86b 50%,#ffffff42 58%,#ffffff14 78%,#0000 100%)}.study-card.is-result-ok .study-card-progress-edge{background:radial-gradient(at 85%,#ffffff8c 0%,#8fd4a88c 42%,#0000 72%)}.study-card.is-result-ok .study-card-progress-tip{box-shadow:0 0 10px color-mix(in srgb, var(--done) 65%, transparent), 0 0 2px #ffffffe6;background:linear-gradient(#fff 0%,#e5f5ec 100%)}.study-card-top-tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.35rem;margin-left:auto;display:flex}.study-grade-row{align-items:center;gap:.35rem;display:flex}.study-grade-btn{appearance:none;border-radius:var(--radius-control);font-family:var(--font-body);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:1px solid #0000;margin:0;padding:.28rem .65rem;font-size:.72rem;font-weight:650;line-height:1.2;transition:color .15s,background .15s,border-color .15s}.study-grade-btn.is-hard{color:#8a5a28;border-color:color-mix(in srgb, #c48a3a 35%, var(--line))}.study-grade-btn.is-hard:hover{background:color-mix(in srgb, #c48a3a 12%, var(--paper));border-color:color-mix(in srgb, #c48a3a 48%, var(--line))}.study-grade-btn.is-hard.is-on{color:#6e4518;background:color-mix(in srgb, #c48a3a 22%, var(--paper));border-color:color-mix(in srgb, #c48a3a 62%, var(--line))}.study-grade-btn.is-hint{color:#a16207;border-color:color-mix(in srgb, #eab308 42%, var(--line))}.study-grade-btn.is-hint:hover{background:color-mix(in srgb, #eab308 14%, var(--paper));border-color:color-mix(in srgb, #eab308 55%, var(--line))}.study-grade-btn.is-outline{color:#b91c1c;border-color:color-mix(in srgb, #dc2626 38%, var(--line))}.study-grade-btn.is-outline:hover{background:color-mix(in srgb, #dc2626 10%, var(--paper));border-color:color-mix(in srgb, #dc2626 52%, var(--line))}.study-grade-btn.is-outline.is-on{color:#991b1b;background:color-mix(in srgb, #dc2626 16%, var(--paper));border-color:color-mix(in srgb, #dc2626 58%, var(--line))}.study-grade-btn.is-easy{color:color-mix(in srgb, var(--done) 82%, var(--ink));border-color:color-mix(in srgb, var(--done) 32%, var(--line))}.study-grade-btn.is-easy:hover{background:color-mix(in srgb, var(--done) 10%, var(--paper));border-color:color-mix(in srgb, var(--done) 48%, var(--line))}.study-grade-btn.is-easy.is-on{color:var(--done);background:color-mix(in srgb, var(--done) 16%, var(--paper));border-color:color-mix(in srgb, var(--done) 55%, var(--line))}.study-task{box-shadow:none;margin-top:0;padding-top:0}.study-task-label.prompt-label,.prompt-label.study-task-label{font-family:var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);font-size:.8rem;font-weight:650;line-height:1.3;margin:0!important}.study-done-title{margin:0 0 var(--space-2);font-family:var(--font-display);font-size:1.35rem;font-weight:700}.page.study .study-card{margin-top:.15rem}.page.study .primary-card.study-card{padding:1.3rem .55rem 1.05rem}.study-card-progress{height:7px}.study-prompt{padding:1rem .75rem 1.1rem}.study-card .option-btn{min-height:2.95rem;padding:.8rem .9rem;font-size:1.02rem}@media (width>=640px){.page.study .primary-card.study-card{padding:calc(var(--space-3) + .45rem) var(--space-3) var(--space-4)}.study-card-progress{height:6px}.study-prompt{padding:1.25rem 1rem 1.35rem}.study-card .option-btn{min-height:2.75rem;font-size:inherit;padding:.75rem 1rem}}.study-card-top .prompt-label{margin:0!important}@media (prefers-reduced-motion:reduce){.study-card-progress-fill{transition:none}.study-card-progress.is-advancing .study-card-progress-fill,.study-card-progress.is-advancing .study-card-progress-flow,.study-card-progress.is-advancing .study-card-progress-shimmer,.study-card-progress.is-advancing .study-card-progress-edge,.study-card-progress.is-advancing .study-card-progress-tip,.study-card-progress.is-celebrating .study-card-progress-fill,.study-card-progress.is-celebrating .study-card-progress-flow,.study-card-progress.is-celebrating .study-card-progress-edge,.study-card-progress.is-celebrating .study-card-progress-tip,.study-card-progress.is-learning .study-card-progress-flow,.study-card-progress.is-learning .study-card-progress-edge,.study-card-progress.is-learning .study-card-progress-tip{animation:none}.shell-page-enter,.study-task.is-swapping,.stack>*,.primary-card,.hero,.result-banner,.session-rail-meta,.app-shell-action{filter:none!important;opacity:1!important;animation:none!important;transform:none!important}.option-btn:active:not(:disabled),.choice-btn:active:not(:disabled),.cta:active:not(:disabled),.study-tone-btn:active:not(:disabled),.study-play:active:not(:disabled){animation:none!important}}.settings-aids{margin-top:var(--space-3)}.study-prompt{text-align:center;margin:var(--space-2) 0 var(--space-3);border-radius:calc(var(--radius) + 2px);background:color-mix(in srgb, var(--scene) 35%, var(--paper));border:1px solid color-mix(in srgb, var(--line) 55%, transparent);flex-direction:column;justify-content:center;align-items:center;gap:.55rem;padding:1.35rem .85rem 1.45rem;display:flex}.study-prompt .hanzi-prompt{letter-spacing:.1em;text-wrap:balance;margin:0;font-size:clamp(3rem,10vw,3.85rem);font-weight:500;line-height:1.12}.study-prompt .study-pinyin,.study-prompt .color-pinyin.study-pinyin{width:100%;font-family:var(--font-body);letter-spacing:.06em;text-align:center;margin:.65rem 0 0;font-size:clamp(1.2rem,3.6vw,1.4rem);font-weight:700;line-height:1.35;display:block}.study-prompt.is-audio{gap:var(--space-2);min-height:7.5rem}.study-play{appearance:none;border:1px solid color-mix(in srgb, var(--accent) 35%, var(--line));background:var(--paper);color:var(--accent-deep);font:inherit;cursor:pointer;border-radius:999px;padding:.7rem 1.4rem;font-size:1.05rem;font-weight:700;transition:background .15s,border-color .15s}.study-play:hover{background:color-mix(in srgb, var(--accent) 10%, var(--paper));border-color:var(--accent)}.study-play.is-needs-tap{background:color-mix(in srgb, var(--accent) 18%, var(--paper));border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 28%, transparent)}.study-play-compact{margin-top:.15rem;padding:.45rem 1rem;font-size:.95rem;font-weight:650}.study-prompt-hint{color:var(--ink-soft);text-wrap:balance;margin:.55rem 0 0;font-size:.92rem;line-height:1.4}.study-prompt-hint.is-reserved{visibility:hidden}.study-prompt-hint.outside{margin:.35rem 0 var(--space-2);text-align:center}.study-pinyin-entry{flex-direction:column;gap:.65rem;display:flex}.study-pinyin-input{text-align:center;letter-spacing:.02em;font-size:1.15rem}.study-tone-pad{grid-template-columns:repeat(5,minmax(0,1fr));gap:.45rem;display:grid}.study-tone-btn{appearance:none;border:1px solid var(--line,#00000024);background:var(--paper,#fff);cursor:pointer;border-radius:.7rem;flex-direction:column;justify-content:center;align-items:stretch;gap:0;min-height:0;padding:.15rem .15rem .2rem;font-size:1.15rem;font-weight:650;line-height:1;display:flex;overflow:hidden}.study-tone-mark{opacity:.95;justify-content:center;align-items:flex-end;min-height:1.35rem;padding:.15rem 0 0;font-size:2.35rem;font-weight:600;line-height:.7;display:flex}.study-tone-num{border:1px solid color-mix(in srgb, currentColor 28%, var(--line,#ccc));text-align:center;opacity:.88;background:color-mix(in srgb, currentColor 6%, var(--paper,#fff));border-radius:.4rem;margin:.1rem .15rem;padding:.22rem 0;font-size:.9rem;font-weight:700}.study-tone-btn:hover:not(:disabled){border-color:color-mix(in srgb, currentColor 40%, var(--line,#ccc));background:color-mix(in srgb, currentColor 6%, var(--paper,#fff))}.study-tone-btn:hover:not(:disabled) .study-tone-num{border-color:color-mix(in srgb, currentColor 45%, var(--line,#ccc));background:color-mix(in srgb, currentColor 10%, var(--paper,#fff))}.study-tone-btn:disabled{opacity:.45;cursor:not-allowed}.study-gloss-prompt{text-wrap:balance;font-size:clamp(1.45rem,4.6vw,1.75rem);font-weight:650;line-height:1.3}.study-unknown-link{appearance:none;border:1px solid color-mix(in srgb, var(--bad) 32%, var(--line));border-radius:var(--radius-control);background:color-mix(in srgb, var(--bad) 10%, var(--paper));width:100%;color:color-mix(in srgb, var(--bad) 82%, var(--ink));font:inherit;text-align:center;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;margin:.85rem 0 0;padding:.6rem .75rem;font-size:.95rem;font-weight:650;text-decoration:none;display:block}.study-unknown-link:hover:not(:disabled){background:color-mix(in srgb, var(--bad) 16%, var(--paper));border-color:color-mix(in srgb, var(--bad) 48%, var(--line));color:color-mix(in srgb, var(--bad) 92%, #4a1010)}.study-unknown-link:disabled{opacity:.45;cursor:default}.study-card-check{width:100%;min-height:3.25rem;margin-top:.55rem}.study-card-footer{width:100%;margin-top:.55rem}.study-card-footer .study-card-check{margin-top:0}.pinyin{color:var(--ink-soft);margin-bottom:1rem;font-size:1.15rem}.options{flex-direction:column;gap:.5rem;margin-top:1rem;display:flex}.study-card .options{margin-top:var(--space-2);align-items:stretch}.option-btn,.choice-btn{appearance:none;text-align:left;width:100%;color:var(--ink);-webkit-text-fill-color:var(--ink);border:2px solid color-mix(in srgb, var(--line) 85%, transparent);background:color-mix(in srgb, var(--paper) 75%, transparent);border-radius:var(--radius-control);font:inherit;cursor:pointer;box-sizing:border-box;-webkit-tap-highlight-color:transparent;touch-action:manipulation;padding:.75rem 1rem;transition:border-color .18s,background .18s,box-shadow .18s;display:block}.study-card .option-btn{text-align:center}.option-btn .option-text{color:inherit;-webkit-text-fill-color:inherit}.study-card .option-btn.is-static{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;padding-left:1rem;padding-right:1rem}.study-card .option-btn.is-static .option-text{flex:0 auto}@media (hover:hover) and (pointer:fine){.option-btn:hover:not(:disabled),.choice-btn:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 32%, var(--line));background:color-mix(in srgb, var(--accent) 5%, var(--paper))}.option-btn:active:not(:disabled),.choice-btn:active:not(:disabled){animation:ink-press .28s var(--ease-ink) both}}.cta:active:not(:disabled),.study-tone-btn:active:not(:disabled),.study-play:active:not(:disabled){animation:ink-press .28s var(--ease-ink) both}.page.study .option-btn,.page.study .study-flow-options{touch-action:pan-y}.option-btn:disabled,.choice-btn:disabled{opacity:.65;cursor:wait}.option-btn.is-unknown{margin-top:var(--space-3);color:var(--ink);border:1.5px solid color-mix(in srgb, var(--ink) 22%, var(--line));background:var(--scene);text-align:center;letter-spacing:.01em;padding-top:.85rem;padding-bottom:.85rem;font-weight:750}.option-btn.is-unknown:hover:not(:disabled){border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--paper));color:var(--accent-deep)}.option-btn.is-unknown:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.option-btn.is-static{cursor:default;pointer-events:none;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.option-btn.is-dim{opacity:.32}.option-text{flex:auto;min-width:0}.option-tag{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border:1px solid #0000;border-radius:999px;flex:none;padding:.2rem .45rem;font-size:.68rem;font-weight:750}.option-tag.is-answer{color:var(--done);background:color-mix(in srgb, var(--done) 18%, var(--paper));border-color:color-mix(in srgb, var(--done) 35%, transparent)}.option-tag.is-yours{color:var(--bad);background:color-mix(in srgb, var(--bad) 16%, var(--paper));border-color:color-mix(in srgb, var(--bad) 35%, transparent)}.options.is-revealed{margin-top:0}.answer-review{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--line)}.answer-review .answer-reveal-label{text-align:center;margin-bottom:var(--space-2)}.result-banner{text-align:center;margin:var(--space-2) 0 0;border-radius:var(--radius);border:1px solid var(--line);animation:ink-bloom var(--dur-ink-fast) var(--ease-ink-soft) both;flex-direction:column;align-items:center;padding:1.25rem 1.35rem 1.3rem;display:flex}.result-banner-mark{border:1.5px solid #0000;border-radius:999px;place-items:center;width:2.35rem;height:2.35rem;margin-bottom:.55rem;font-size:1.15rem;font-weight:700;line-height:1;display:grid}.result-banner-title{font-family:var(--font-display);letter-spacing:-.025em;margin:0;font-size:clamp(1.4rem,4.2vw,1.7rem);font-weight:700;line-height:1.15}.result-banner-sub{max-width:22rem;color:var(--ink-soft);margin:.4rem 0 0;font-size:.95rem;line-height:1.45}.result-banner.is-ok{background:color-mix(in srgb, var(--done) 18%, var(--paper));border-color:color-mix(in srgb, var(--done) 42%, var(--line))}.result-banner.is-ok .result-banner-mark{color:var(--done);background:color-mix(in srgb, var(--done) 16%, var(--paper));border-color:color-mix(in srgb, var(--done) 45%, transparent)}.result-banner.is-ok .result-banner-title{color:var(--done)}.result-banner.is-bad{background:color-mix(in srgb, var(--bad) 16%, var(--paper));border-color:color-mix(in srgb, var(--bad) 42%, var(--line))}.result-banner.is-bad .result-banner-mark{color:var(--bad);background:color-mix(in srgb, var(--bad) 14%, var(--paper));border-color:color-mix(in srgb, var(--bad) 45%, transparent)}.result-banner.is-bad .result-banner-title{color:var(--bad)}.result-banner.is-soft{background:color-mix(in srgb, var(--accent) 12%, var(--paper));border-color:color-mix(in srgb, var(--accent) 34%, var(--line))}.result-banner.is-soft .result-banner-mark{color:var(--accent-deep);background:color-mix(in srgb, var(--accent) 12%, var(--paper));border-color:color-mix(in srgb, var(--accent) 40%, transparent);font-size:1.35rem}.result-banner.is-soft .result-banner-title{color:var(--accent-deep)}.study-card.is-result-ok{border-color:color-mix(in srgb, var(--done) 48%, var(--line));box-shadow:0 8px 24px var(--shadow-ink), 0 0 0 1px color-mix(in srgb, var(--done) 14%, transparent)}.study-card.is-result-bad{border-color:color-mix(in srgb, var(--bad) 48%, var(--line));box-shadow:0 8px 24px var(--shadow-ink), 0 0 0 1px color-mix(in srgb, var(--bad) 14%, transparent)}.study-card.is-result-soft{border-color:color-mix(in srgb, var(--accent) 42%, var(--line))}.answer-reveal{margin-top:var(--space-3);border-top:1px solid var(--line);padding:.85rem 0 0}.answer-reveal-label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 .35rem;font-size:.72rem;font-weight:700}.answer-reveal-gloss{text-align:center;color:var(--ink);margin:0;font-size:1.2rem;font-weight:650;line-height:1.4}.answer-reveal-main{margin:0;font-size:1.1rem;line-height:1.4}.example-zh.tappable-zh-line{text-align:center;justify-content:center;font-size:1.2rem}.example-en{text-align:center;margin:.35rem 0 0;font-size:.92rem}.example-body{text-align:center;flex-direction:column;grid-column:1;align-items:center;min-width:0;display:flex}.example-list{gap:.55rem;margin-top:.9rem;display:grid}.example-row{border:1px solid var(--line);border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:.35rem .75rem;padding:.85rem .75rem;display:grid}.color-hanzi{display:inline-block}.study-prompt .hanzi-prompt .color-hanzi{display:block}.feedback .card-actions{margin-top:var(--space-3);border-top:none;justify-content:center;padding-top:0}.feedback .card-actions .cta{min-width:min(100%,14rem)}.study-card .feedback{flex-direction:column;align-items:stretch;display:flex}.example-audio{border:1px solid var(--line);background:var(--paper);color:var(--accent-deep);cursor:pointer;border-radius:999px;grid-area:1/2;align-self:center;width:2.25rem;height:2.25rem}.grade-row{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.grade-chip{appearance:none;border:1px solid var(--line);background:var(--paper);border-radius:var(--radius-control);font:inherit;color:var(--ink);cursor:pointer;padding:.55rem 1.05rem;font-weight:650;transition:background .15s,border-color .15s}.grade-chip:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 40%, var(--line));background:color-mix(in srgb, var(--accent) 8%, var(--paper))}.grade-chip.is-primary{background:color-mix(in srgb, var(--accent) 12%, var(--paper));border-color:color-mix(in srgb, var(--accent) 38%, var(--line));color:var(--accent-deep)}.grade-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.exercise-card.study-card{margin-top:.15rem}.exercise-card .exercise-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin:0;font-size:clamp(1.25rem,3.5vw,1.55rem);font-weight:700;line-height:1.2}.exercise-card .frame-pattern{letter-spacing:.04em;margin:.35rem 0 0;font-size:1.05rem;font-weight:650}.exercise-card .build-slot{margin:var(--space-2) 0}.exercise-card .chip-row{justify-content:center}.exercise-card .options{margin-top:var(--space-2);flex-direction:column;gap:.55rem;display:flex}.exercise-card .option-btn{text-align:center;width:100%}.exercise-card .exercise-actions,.exercise-card .card-actions.exercise-actions{margin-top:var(--space-3);flex-wrap:wrap;justify-content:center;gap:.55rem}.study-continue-in-card{margin-top:var(--space-3);justify-content:stretch;padding:0 0 .15rem}.study-continue-in-card .cta{width:100%;min-height:3.1rem}.study-wp-gloss{text-align:center;width:100%;color:var(--ink-soft);margin:.35rem 0 0;font-size:1.05rem}.exercise-card .production-label{margin:var(--space-2) 0 0;color:var(--ink-soft);flex-direction:column;gap:.45rem;font-size:.92rem;display:flex}.exercise-card .production-label input{appearance:none;border:1.5px solid var(--line);border-radius:var(--radius-control);background:var(--paper);font:inherit;color:var(--ink);padding:.75rem .9rem;font-size:1.05rem}.exercise-card .production-label input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.study-prompt.is-writer{padding:.85rem .65rem 1rem}.study-prompt.is-writer .ink-hanzi-pad{width:100%;margin:.35rem 0 0}.study-prompt.is-writer .ink-hanzi-host{border-color:color-mix(in srgb, var(--line) 55%, transparent);background-color:var(--paper);box-shadow:inset 0 1px 0 #ffffff8c, 0 4px 18px var(--shadow-ink)}.study-prompt.is-writer .ink-hanzi-frame{width:min(100%,34rem,70dvh);max-height:min(70dvh,100dvw - 2.5rem)}.study-prompt.is-writer .color-pinyin.study-pinyin,.study-prompt.is-writer .study-pinyin{width:100%;font-family:var(--font-body);letter-spacing:.06em;text-align:center;margin:.75rem 0 0;font-size:clamp(1.2rem,3.6vw,1.4rem);font-weight:700;line-height:1.35;display:block}.study-prompt.is-writer .hanzi-gloss{color:var(--ink-soft);text-align:center;text-wrap:balance;margin:.4rem 0 0;font-size:.98rem;line-height:1.4}.page.today.study .hero{margin-bottom:var(--space-2)}.stack{gap:var(--space-3);flex-direction:column;display:flex}.stack>.primary-card,.stack>.session-composer{margin-top:0}.text-link{color:var(--ink-soft);font:inherit;text-underline-offset:.15em;cursor:pointer;background:0 0;border:none;margin-top:.85rem;margin-right:.75rem;padding:0;font-weight:600;text-decoration:underline;display:inline-block}a.text-link{color:var(--ink-soft)}.map-header{margin-bottom:var(--space-4);animation:ink-rise var(--dur-ink) var(--ease-ink) both}.chapter-list{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.chapter-list-item{flex-direction:column;gap:.45rem;display:flex}.arc-header{flex-wrap:wrap;align-items:baseline;gap:.5rem .75rem;margin-top:.55rem;padding:.15rem .15rem .05rem;display:flex}.arc-label{font-family:var(--font-display);letter-spacing:.02em;font-size:.95rem;font-weight:700}.arc-hint{color:var(--ink-soft);font-size:.82rem}.arc-pill{letter-spacing:.03em;text-transform:uppercase;color:var(--ink-soft);border:1px solid var(--line);white-space:nowrap;border-radius:999px;padding:.12rem .45rem;font-size:.68rem;font-weight:700}.ch-title-row{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.chapter-row{border-radius:var(--radius);border:1px solid var(--line);background:var(--card);box-shadow:0 2px 10px var(--shadow-ink);grid-template-columns:3.2rem 1fr;gap:.75rem;padding:.85rem .9rem;display:grid}button.chapter-row.is-action{appearance:none;width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;margin:0;transition:border-color .15s,box-shadow .15s}button.chapter-row.is-action:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--line))}button.chapter-row.is-action:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ch-action-hint{color:var(--accent-deep);margin:.35rem 0 0;font-size:.85rem;font-weight:650}.chapter-row.status-locked{opacity:.55}.chapter-row.status-done{border-color:color-mix(in srgb, var(--done) 35%, var(--line))}.chapter-row.status-current{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 20%, transparent)}.ch-index{font-family:var(--font-display);word-break:break-word;flex-direction:column;align-items:flex-start;gap:.25rem;min-width:0;font-size:1.1rem;font-weight:700;line-height:1.2;display:flex}.beat-tag{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);font-size:.65rem;font-weight:700}.ch-title{font-weight:700}.ch-meta{color:var(--ink-soft);margin-top:.15rem;font-size:.85rem}.ch-logline{color:var(--ink-soft);margin:.4rem 0 0;font-size:.88rem;line-height:1.35}code{font-size:.85em}@keyframes rise{0%{opacity:0;filter:blur(2px);transform:translateY(10px)scale(.985)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes ink-rise{0%{opacity:0;filter:blur(3px);transform:translateY(14px)scale(.975)}55%{filter:blur(.4px)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes ink-swap{0%{opacity:0;filter:blur(2.5px);transform:translateY(16px)scale(.97)}45%{opacity:1;filter:blur()}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes ink-bloom{0%{opacity:0;filter:blur(4px);transform:scale(.94)}55%{filter:blur();transform:scale(1.01)}to{opacity:1;filter:blur();transform:scale(1)}}@keyframes ink-press{0%{transform:scale(1)}40%{transform:scale(.985)}to{transform:scale(1)}}.shell-page-enter{animation:ink-rise var(--dur-ink) var(--ease-ink) both}.shell-page-enter .hero,.shell-page-enter .primary-card,.shell-page-enter .stack>*,.shell-page-enter .map-header,.shell-page-enter .session-composer{animation:none}.study-task.is-swapping{animation:ink-swap var(--dur-ink-swap) var(--ease-ink) both}.study-task.is-swapping .result-banner{animation:none}.stack>*{animation:ink-rise var(--dur-ink) var(--ease-ink) both}.stack>:first-child{animation-delay:20ms}.stack>:nth-child(2){animation-delay:70ms}.stack>:nth-child(3){animation-delay:.12s}.stack>:nth-child(4){animation-delay:.17s}.stack>:nth-child(5){animation-delay:.22s}.stack>:nth-child(6){animation-delay:.27s}.stack>:nth-child(n+7){animation-delay:.3s}.stack>.primary-card,.stack>.session-composer{animation-name:ink-rise}.ok{color:var(--done);font-weight:600}.bad{color:var(--bad);font-weight:600}.hanzi-prompt.smaller{font-size:1.65rem}.build-slot{border:1px dashed var(--line);min-height:2.75rem;font-size:1.35rem;font-family:var(--font-body), "Noto Sans SC", "PingFang SC", sans-serif;background:color-mix(in srgb, var(--scene) 80%, var(--paper));border-radius:12px;margin:.75rem 0;padding:.65rem .85rem}.chip-row{flex-wrap:wrap;gap:.4rem;margin:.5rem 0 .75rem;display:flex}.chip{appearance:none;border:1px solid var(--line);background:var(--paper);font:inherit;cursor:pointer;border-radius:10px;padding:.45rem .7rem;font-size:1.05rem}.chip:hover{border-color:var(--accent)}.hanzi-trace{font-family:var(--font-display);border:2px dashed var(--line);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:12px;place-items:center;width:5.5rem;height:5.5rem;margin:.75rem 0;font-size:4.5rem;line-height:1;transition:border-color .2s,background .2s;display:grid}.hanzi-trace.traced{border-style:solid;border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent)}.ink-hanzi-pad{flex-direction:column;align-items:stretch;gap:.65rem;width:100%;margin:.5rem 0 .75rem;display:flex}.ink-hanzi-frame{aspect-ratio:1;width:min(100%,36rem,74dvh);max-width:100%;max-height:min(74dvh,100dvw);margin-inline:auto;position:relative}.ink-hanzi-host{border:1px solid color-mix(in srgb, var(--line) 80%, transparent);border-radius:var(--radius);background:var(--paper);touch-action:none;cursor:crosshair;width:100%;height:100%;box-shadow:inset 0 1px 0 #ffffff8c, 0 4px 18px var(--shadow-ink);display:block;position:absolute;inset:0}.ink-hanzi-meta{text-align:center;margin:0;font-size:.92rem}.ink-hanzi-tools{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.ink-hanzi-grade{letter-spacing:.01em;text-align:center;margin:0;font-weight:750}.ink-hanzi-grade.is-easy,.ink-hanzi-grade.is-good{color:var(--done)}.ink-hanzi-grade.is-hard{color:#b45309}.ink-hanzi-grade.is-again{color:#b91c1c}.ink-demo-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.ink-demo-chars{flex-wrap:wrap;gap:.4rem;margin-bottom:.85rem;display:flex}.ink-demo-char{border:1px solid var(--line);width:2.4rem;height:2.4rem;color:var(--ink);cursor:pointer;touch-action:manipulation;background:0 0;border-radius:8px;font-size:1.25rem;line-height:1}.ink-demo-char.is-on{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent)}.ink-demo-stage{flex-direction:column;align-items:stretch;width:100%;display:flex}.page.ink-play .brand,.page.ink-play h1{margin-bottom:.35rem}.page.ink-play>.muted{margin-bottom:.75rem}.page.ink-play .primary-card{padding:.85rem .9rem 1rem}@media (width<=640px){.page.ink-play .brand{font-size:.85rem}.page.ink-play h1{font-size:1.35rem}.page.ink-play>.muted{font-size:.88rem}.ink-hanzi-frame{width:min(100%,88dvh);max-height:min(72dvh,100dvw - 1.25rem)}.ink-demo-char{width:2.75rem;height:2.75rem;font-size:1.35rem}}@media (width>=900px){.ink-hanzi-frame{width:min(100%,28rem,58dvh);max-height:min(58dvh,28rem)}.study-prompt.is-writer .ink-hanzi-frame{width:min(100%,28rem,56dvh);max-height:min(56dvh,28rem)}}.hanzi-crumb .cta{width:100%}.story-lines{margin:var(--space-2) 0 0;padding:0;list-style:none}.story-lines li{margin:0;line-height:1.45}.story-script{background:0 0;border:0;border-radius:0;margin:0;padding:0}.story-script .hanzi-inline{letter-spacing:.02em;font-size:1.35rem;font-weight:650}.script-read-panel,.primary-card.script-read-panel{background:var(--card)}.story-line-row{align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-1);border-radius:var(--radius-control);border-left:3px solid #0000;margin:0;transition:background .18s,border-color .18s;display:flex}.story-line-row.is-playing{background:color-mix(in srgb, var(--accent) 7%, transparent);border-left-color:var(--accent)}.story-line-row.is-playing .zh-word,.story-line-row.is-playing .hanzi-inline{color:var(--accent-deep)}.icon-btn{appearance:none;border-radius:var(--radius-control);width:2.4rem;height:2.4rem;color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;flex:none;margin:0;padding:0;font-size:.85rem;line-height:1;transition:background .15s,color .15s,border-color .15s}.icon-btn:hover:not(:disabled){color:var(--accent-deep);background:color-mix(in srgb, var(--accent) 10%, transparent);border-color:color-mix(in srgb, var(--accent) 22%, transparent)}.icon-btn:disabled{opacity:.45;cursor:not-allowed}.story-line-play{margin-top:.05rem}.story-line-text{text-align:left;flex:auto;min-width:0}.story-line-body{text-align:left;flex:auto;min-width:0;padding-top:.15rem}.story-line-en{color:var(--ink-soft);margin:.25rem 0 0;font-size:.88rem;font-weight:400;line-height:1.4}.script-scene{margin-top:var(--space-2);padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-control);background:var(--scene)}.script-scene-narrative{margin:0 0 var(--space-3);padding:0 0 var(--space-3);border-bottom:1px solid var(--line)}.script-scene-narrative-zh{color:var(--ink);font-family:var(--font-zh,var(--font-body));margin:0;font-size:1.05rem;font-weight:500;line-height:1.65}.script-scene-narrative-en{color:var(--ink-soft);font-family:var(--font-body);margin:.35rem 0 0;font-size:.95rem;font-style:normal;font-weight:400;line-height:1.55}.script-scene-narrative-en.muted{margin-top:.45rem;font-size:.9rem}.script-scene .story-lines{margin:0}.script-panel-top{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1);display:flex}.script-panel-top .prompt-label{margin:0}.script-seg{border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 80%, transparent);border-radius:999px;align-items:center;gap:.08rem;padding:.12rem;display:inline-flex}.script-seg-btn{appearance:none;color:var(--ink-soft);font:inherit;letter-spacing:.03em;cursor:pointer;background:0 0;border:0;border-radius:999px;min-height:2rem;padding:.32rem .68rem;font-size:.82rem;font-weight:650}.visually-hidden,.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.script-seg-btn.is-custom{padding:0;overflow:hidden}.script-seg-btn.is-custom select{appearance:none;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;min-width:4.5rem;padding:.45rem .7rem}.session-optional-reading{margin-top:.5rem}.script-seg-btn.is-on{background:var(--accent);color:var(--on-accent);box-shadow:none}.script-seg-btn.is-icon{letter-spacing:0;place-items:center;min-width:2rem;padding:.32rem;display:inline-grid}.script-seg-btn.is-icon svg{display:block}.script-chrome-footer{align-items:center;gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.script-chrome-footer .cta,.script-chrome-footer .cta.secondary{margin-top:0;margin-right:0}.script-original{margin:var(--space-2) 0;padding:var(--space-2);border-radius:var(--radius-control);background:color-mix(in srgb, var(--paper) 70%, transparent);white-space:pre-wrap;font-size:.92rem;line-height:1.45}.script-prep{padding-top:var(--space-3);padding-bottom:var(--space-3)}.script-prep-list{margin:var(--space-2) 0 0;padding-left:1.1rem}.episode-hero .chapter-line{margin-top:var(--space-1)}.episode-step .script-chrome-footer{margin-top:var(--space-3)}.episode-gloss-strip{margin-top:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--line);flex-direction:column;gap:.4rem;display:flex}.episode-gloss-item{gap:var(--space-2);grid-template-columns:4.5rem 1fr;align-items:baseline;font-size:.95rem;font-weight:650;display:grid}.episode-gloss-item .muted{font-weight:400}.tappable-zh-line{letter-spacing:.02em;margin:0;font-size:1.35rem;font-weight:650;line-height:1.55}.tappable-zh-line.show-pinyin{flex-wrap:wrap;align-items:flex-end;gap:.65rem .18rem;line-height:1.15;display:flex}.zh-word{appearance:none;min-height:2.5rem;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;margin:0;padding:.25em .1em}.zh-word.has-py{vertical-align:bottom;flex-direction:column;justify-content:flex-end;align-items:center;min-height:0;padding:.2em .12em;display:inline-flex}.zh-word-py{letter-spacing:.04em;white-space:nowrap;pointer-events:none;margin:0 0 .12em;font-size:.62em;font-weight:600;line-height:1.2;display:block}.zh-word-glyph{line-height:1.2;display:block}.tappable-zh-line.show-pinyin .zh-punct{align-items:flex-end;padding-bottom:.1em;line-height:1.2;display:inline-flex}.zh-word:hover,.zh-word.is-selected{background:color-mix(in srgb, var(--accent) 14%, transparent)}.color-hanzi.is-char-tap-mode{flex-wrap:wrap;align-items:baseline;gap:.06em;display:inline-flex}.color-hanzi-char{appearance:none;min-width:1.05em;font:inherit;color:inherit;vertical-align:baseline;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;margin:0;padding:.04em .06em;line-height:1.15;display:inline-flex}button.color-hanzi-char{cursor:pointer}.color-hanzi-char.is-tappable{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;-webkit-text-decoration-color:color-mix(in srgb, var(--ink-soft) 55%, transparent);text-decoration-color:color-mix(in srgb, var(--ink-soft) 55%, transparent);text-underline-offset:.16em}.color-hanzi-char.is-tappable:hover,.color-hanzi-char.is-tappable:focus-visible{background:color-mix(in srgb, var(--accent) 14%, transparent);-webkit-text-decoration-color:var(--accent-deep);text-decoration-color:var(--accent-deep)}.color-hanzi-char:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.char-component-line{color:var(--ink);margin:.4rem 0 0;font-size:.98rem;font-weight:650;line-height:1.35}.char-component-parts{flex-direction:column;gap:.35rem;margin:.55rem 0 0;padding:0;list-style:none;display:flex}.char-component-part{align-items:baseline;gap:.45rem;display:flex}.char-component-part-glyph{flex:none;min-width:1.35rem;font-size:1.15rem;font-weight:700;line-height:1.2}.char-component-part-meta{flex-wrap:wrap;align-items:baseline;gap:.3rem .45rem;min-width:0;display:flex}.char-component-part-role{letter-spacing:.03em;text-transform:uppercase;color:var(--ink-soft);font-size:.72rem;font-weight:650}.char-component-part-gloss{color:var(--ink);font-size:.92rem}.char-component-why{color:var(--ink-soft);margin:.55rem 0 0;font-size:.88rem;line-height:1.4}.word-glance-new{vertical-align:middle;font-family:var(--font-body);letter-spacing:.04em;text-transform:uppercase;color:var(--accent-deep);background:color-mix(in srgb, var(--accent) 12%, transparent);border-radius:999px;margin-left:.45rem;padding:.05rem .4rem;font-size:.7rem;font-weight:600;display:inline-block}.zh-punct{white-space:pre-wrap}.word-glance-dismiss{z-index:79;cursor:default;background:0 0;border:0;margin:0;padding:0;position:fixed;inset:0}.word-glance-popup{z-index:80;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--paper);width:min(17.5rem,100vw - 1.5rem);box-shadow:0 4px 18px var(--shadow-ink);animation:ink-bloom var(--dur-ink-fast) var(--ease-ink-soft) both;padding:.85rem .95rem;position:fixed}.word-glance-popup:before{content:"";background:var(--paper);border:1px solid var(--line);width:10px;height:10px;position:absolute;transform:rotate(45deg)}.word-glance-popup.is-right:before{border-top:0;border-right:0;margin-top:-5px;top:50%;left:-6px}.word-glance-popup.is-left:before{border-bottom:0;border-left:0;margin-top:-5px;top:50%;right:-6px}.word-glance-popup.is-below:before{border-bottom:0;border-right:0;margin-left:-5px;top:-6px;left:50%}.word-glance-popup.is-above:before{border-top:0;border-left:0;margin-left:-5px;bottom:-6px;left:50%}.word-glance-hanzi{font-size:1.45rem;font-weight:700}.word-glance-gloss{color:var(--ink-soft);margin:.35rem 0 0;font-size:1rem}.word-glance-actions{flex-wrap:wrap;gap:.4rem;margin-top:.75rem;display:flex}.word-glance-alts{border-top:1px solid color-mix(in srgb, var(--ink-soft) 22%, transparent);margin-top:.7rem;padding-top:.55rem}.word-glance-alts-label{margin:0 0 .35rem;font-size:.85rem}.word-glance-alts-row{flex-wrap:wrap;gap:.35rem;display:flex}.color-pinyin{letter-spacing:.02em;margin-top:.15rem;font-size:1.05rem;font-weight:600;display:inline-block}.py-tone-1{color:var(--tone-1)}.py-tone-2{color:var(--tone-2)}.py-tone-3{color:var(--tone-3)}.py-tone-4{color:var(--tone-4)}.py-tone-5{color:var(--tone-5)}.study-pinyin .py-tone{font-weight:700}.hanzi-inline{font-size:1.25rem;font-weight:600}.story-audio-block{margin:.75rem 0 1rem}.en-line{color:var(--ink-soft);margin-top:.75rem}.frame-pattern{font-family:var(--font-body), "Noto Sans SC", "PingFang SC", sans-serif;letter-spacing:.02em;margin:.35rem 0 .75rem;font-size:1.35rem;font-weight:650}.session-composer{justify-content:space-between;gap:var(--space-2) var(--space-3);padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:0 2px 12px var(--shadow-ink);flex-wrap:wrap;align-items:flex-start;margin-top:0;display:flex}.session-composer .session-stake{color:var(--ink-soft);margin:.35rem 0 0;font-size:.92rem;line-height:1.35}.session-composer.is-quiet{margin-top:var(--space-2);padding:var(--space-2) 0 0;box-shadow:none;background:0 0;border:0;border-radius:0}.field{width:100%;max-width:22rem;font:inherit;color:var(--ink);display:block}.field input{width:100%;font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-control);margin-top:.35rem;padding:.55rem .75rem;display:block}.field-select{appearance:none;width:100%;max-width:22rem;font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-control);margin-top:.35rem;padding:.55rem .75rem;display:block}.session-composer p{margin:.15rem 0}.segment-control{border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 80%, transparent);border-radius:999px;align-items:center;gap:.08rem;padding:.12rem;display:inline-flex}.segment-control button{appearance:none;color:var(--ink-soft);font:inherit;letter-spacing:.03em;cursor:pointer;background:0 0;border:0;border-radius:999px;min-height:2rem;padding:.32rem .68rem;font-size:.82rem;font-weight:650}.segment-control button.active{background:var(--accent);color:var(--on-accent);box-shadow:none}.production-label{gap:.4rem;margin-top:.75rem;font-weight:600;display:grid}.production-label input{border:1px solid var(--line);width:100%;font:inherit;border-radius:10px;padding:.7rem .8rem}.file-label{cursor:pointer;display:block}.pack-badge{color:var(--ink-soft);margin-top:1.5rem;font-size:.8rem}.primary-card .cta{text-decoration:none}.section-block{margin:0}.section-block>h2{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 var(--space-1);font-size:1.25rem;font-weight:700}.section-block>.muted{margin:0 0 var(--space-2)}.locked-label{color:var(--locked);font-size:.8rem}.cta.compact{padding:.45rem .85rem;font-size:.9rem}.zh-line{margin:.45rem 0 .15rem;font-size:1.35rem;font-weight:600}.toggle-row{align-items:center;gap:.5rem;margin:.75rem 0;font-size:.95rem;display:flex}.learning-skill-list{flex-direction:column;gap:.2rem;margin-top:.5rem;display:flex}.learning-skill{border-radius:var(--radius-control);border-bottom:none;align-items:flex-start;margin:0;padding:.6rem .5rem;transition:background .18s}.learning-skill:hover:not(.is-disabled){background:color-mix(in srgb, var(--scene) 70%, transparent)}.learning-skill.is-disabled{opacity:.55}.learning-skill input{flex:none;margin-top:.2rem}.learning-skill-copy{flex-direction:column;gap:.15rem;min-width:0;display:flex}.learning-skill-copy .hint{margin:0!important}.learning-warmup-warn{border-color:color-mix(in srgb, var(--accent) 28%, var(--line));background:color-mix(in srgb, var(--accent) 6%, var(--card))}.learning-warmup-warn-lead{margin:.35rem 0 .85rem;line-height:1.45}.learning-warmup-drip{flex-wrap:wrap;margin:.35rem 0 .65rem}.grammar-so-far-list{flex-direction:column;gap:.35rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.grammar-so-far-toggle{appearance:none;text-align:left;border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 88%, var(--scene));width:100%;font:inherit;cursor:pointer;border-radius:10px;flex-wrap:wrap;justify-content:space-between;gap:.35rem .75rem;padding:.55rem .7rem;display:flex}.grammar-so-far-toggle:hover{border-color:var(--accent)}.grammar-so-far-title{font-weight:600}.grammar-so-far-anchor{font-size:.9rem}.grammar-so-far-body{border-left:2px solid var(--line);margin:.35rem .15rem .5rem;padding:.55rem .7rem}.grammar-so-far-body ul{margin:.35rem 0;padding-left:1.1rem}.zh-word.is-assisting{opacity:.72}.zh-word.is-assisting .zh-word-glyph{text-underline-offset:.18em;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.tappable-zh-line.is-line-assisting{opacity:.92}.choice-grid{flex-direction:column;gap:.5rem;margin:1rem 0;display:flex}.page.inspect .primary-card>h3,.page.inspect .primary-card>h4{margin:1rem 0 .5rem;font-size:1rem}.inspect-stats{grid-template-columns:auto 1fr;gap:.35rem 1rem;margin:0 0 1rem;display:grid}.inspect-stats dt{color:var(--ink-soft);font-weight:600}.inspect-stats dd{margin:0}.inspect-table{border-collapse:collapse;width:100%;font-size:.88rem}.inspect-table th,.inspect-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.45rem .35rem}.inspect-table th{color:var(--ink-soft);font-weight:600}.inspect-table .mono{font-family:ui-monospace,monospace;font-size:.8rem}.inspect-table .small{word-break:break-word;max-width:14rem;font-size:.75rem}.inspect-cards{margin:0;padding:0;list-style:none}.inspect-card{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--scene) 70%, var(--paper));margin-bottom:.65rem;overflow:hidden}.inspect-card-head{text-align:left;width:100%;font:inherit;cursor:pointer;background:0 0;border:none;padding:.75rem .85rem}a.inspect-card-head{color:inherit;text-decoration:none;display:block}.inspect-card-head:disabled{opacity:.45;cursor:not-allowed}.inspect-card-head.static{cursor:default}.inspect-card-title{font-weight:700;display:block}.inspect-card-meta{color:var(--ink-soft);margin-top:.15rem;font-size:.82rem;display:block}.inspect-card-body{border-top:1px solid var(--line);padding:0 .85rem .85rem}.inspect-issues{flex-wrap:wrap;gap:.3rem;margin:.35rem 0 0;padding:0;list-style:none;display:flex}.inspect-issues li{margin:0}.inspect-badge{border-radius:6px;padding:.15rem .45rem;font-size:.72rem;font-weight:600;display:inline-block}.inspect-badge.err{background:color-mix(in srgb, var(--bad) 18%, var(--paper));color:var(--bad)}.inspect-badge.warn{background:color-mix(in srgb, #9a6b2f 18%, var(--paper));color:#7a5524}.inspect-badge.info{background:color-mix(in srgb, var(--accent) 14%, var(--paper));color:var(--accent-deep)}.inspect-badge.ok{background:color-mix(in srgb, var(--done) 16%, var(--paper));color:var(--done)}.inspect-badge.is-button{appearance:none;font:inherit;cursor:pointer;border:1px solid #0000;font-size:.72rem;font-weight:600}.inspect-ready-why{margin:var(--space-2) 0 var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid color-mix(in srgb, var(--bad) 28%, var(--line));border-radius:var(--radius);background:color-mix(in srgb, var(--bad) 6%, var(--paper))}.inspect-soft-notes{margin:0 0 var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid color-mix(in srgb, #9a6b2f 28%, var(--line));border-radius:var(--radius);background:color-mix(in srgb, #9a6b2f 7%, var(--paper))}.inspect-blocker-list{margin:.35rem 0 .5rem;padding-left:1.15rem}.inspect-blocker-list li{margin:.45rem 0}.inspect-blocker-list p{margin:.2rem 0 0}.inspect-flag-kinds{flex-wrap:wrap;gap:.35rem;display:flex}.inspect-issue-detail{flex-direction:column;gap:.55rem;margin:.35rem 0 .75rem;padding:0;list-style:none;display:flex}.inspect-issue-detail>li{border-radius:8px;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.55rem .65rem;display:flex}.inspect-issue-where{color:var(--ink-soft);font-size:.78rem}.inspect-issue-evidence{box-sizing:border-box;white-space:pre-wrap;word-break:break-word;background:color-mix(in srgb, var(--paper) 70%, transparent);border:1px solid color-mix(in srgb, var(--line) 80%, transparent);border-radius:6px;width:100%;margin:.15rem 0 0;padding:.45rem .55rem;font-size:.78rem;line-height:1.35}.inspect-pre{background:#1c19170a;border-radius:8px;max-height:16rem;padding:.65rem;font-size:.78rem;overflow-x:auto}.inspect-lines{flex-direction:column;gap:.35rem;margin:.35rem 0 .75rem;padding:0;list-style:none;display:flex}.inspect-lines li{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:.35rem .5rem;margin:0;padding-bottom:.45rem;display:flex}.inspect-word-list{margin:0 0 .75rem;padding:0;font-size:.9rem;list-style:none}.inspect-word-list li{border-bottom:1px solid var(--line);grid-template-columns:3rem 5rem 1fr;gap:.5rem;padding:.25rem 0;display:grid}.inspect-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.inspect-toolbar h2{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1.65rem;font-weight:700}.inspect-check select{font:inherit;max-width:16rem;margin-left:.35rem}.inspect-link{font:inherit;color:var(--accent-deep);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.chip.inline{border:1px solid var(--line);border-radius:8px;margin:.15rem .2rem .15rem 0;padding:.2rem .45rem;font-size:.85rem;display:inline-block}.inspect-actions{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.inspect-preview-note{color:var(--accent-deep);margin-top:.35rem;font-size:.85rem}.page.inspect-play .primary-card{margin-bottom:1rem}.option-btn.correct{opacity:1;border-color:color-mix(in srgb, var(--done) 72%, var(--ink));background:color-mix(in srgb, var(--done) 26%, var(--paper));color:color-mix(in srgb, var(--done) 70%, var(--ink));-webkit-text-fill-color:color-mix(in srgb, var(--done) 70%, var(--ink));box-shadow:0 4px 14px color-mix(in srgb, var(--done) 22%, transparent), 0 0 0 1px color-mix(in srgb, var(--done) 18%, transparent);font-weight:700}.option-btn.wrong{opacity:1;border-color:color-mix(in srgb, var(--bad) 70%, var(--ink));background:color-mix(in srgb, var(--bad) 24%, var(--paper));color:color-mix(in srgb, var(--bad) 68%, var(--ink));-webkit-text-fill-color:color-mix(in srgb, var(--bad) 68%, var(--ink));box-shadow:0 4px 14px color-mix(in srgb, var(--bad) 20%, transparent), 0 0 0 1px color-mix(in srgb, var(--bad) 16%, transparent);font-weight:700}.study-card .option-btn.is-answered:disabled{opacity:1;cursor:default}.study-card .option-btn.is-answered.is-dim:disabled{opacity:.32}.page.study .app-shell-scroll{overscroll-behavior:none;touch-action:manipulation;padding-top:max(.35rem, env(safe-area-inset-top,0px));overflow:hidden}.page.study .app-shell-scroll.is-scrollable{overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;overflow-y:auto}.page.study.has-hc-result .app-shell-scroll>.app-shell-pad{pointer-events:none}.page.study.has-hc-result .app-shell-action{z-index:30;padding-top:0;animation:none;position:relative}.study-hc-root{flex-direction:column;gap:.55rem;width:100%;display:flex;position:relative}.study-hc-root>.study-dock-cta{z-index:32;position:relative}.study-hc-backdrop{z-index:28;background:color-mix(in srgb, var(--ink) 18%, transparent);pointer-events:none;animation:study-hc-fade .22s var(--ease-ink-soft) both;position:fixed;inset:0}.study-hc-sheet{z-index:31;width:100%;padding:1.15rem var(--shell-gutter,.85rem) .15rem;border-radius:var(--radius) var(--radius) 0 0;border:1px solid color-mix(in srgb, var(--line) 85%, transparent);background:var(--paper);box-shadow:0 -1px 0 color-mix(in srgb, var(--ink) 4%, transparent), 0 -10px 28px var(--shadow-ink);animation:study-hc-rise .28s var(--ease-ink) both;border-bottom:none;flex-direction:column;gap:.75rem;max-height:min(62vh,34rem);margin-bottom:-.15rem;margin-left:0;margin-right:0;display:flex;position:relative}.study-hc-sheet.is-expanded{max-height:min(calc(100dvh - env(safe-area-inset-bottom,0px) - .5rem), 48rem);min-height:0;animation:none}.page.study.has-hc-result .study-hc-backdrop{z-index:28;width:auto;height:auto;position:fixed;inset:0}.page.study.has-hc-result .study-hc-sheet{max-height:min(78vh,40rem);padding-top:1.15rem;padding-left:var(--shell-gutter,.85rem);padding-right:var(--shell-gutter,.85rem);border-radius:var(--radius) var(--radius) 0 0;border-bottom:none;margin-bottom:0}.page.study.has-hc-result .study-hc-sheet .study-dock-cta{flex:none;margin-top:.45rem}.page.study.has-hc-result .study-hc-sheet.is-expanded{max-height:min(100dvh,52rem)}.page.study.has-hc-result .app-shell-thumb-spacer.is-hc-fill{background:var(--paper)}.study-hc-grade-corner{top:.75rem;right:var(--shell-gutter,.5rem);z-index:2;align-items:center;gap:.4rem;display:flex;position:absolute}.study-hc-grade-corner .study-grade-btn{appearance:none;border-radius:var(--radius-control);border:1px solid color-mix(in srgb, var(--line) 80%, transparent);background:color-mix(in srgb, var(--paper) 92%, var(--ink) 2%);min-height:2.35rem;font-family:var(--font-body);letter-spacing:.02em;text-transform:none;color:var(--ink);-webkit-text-fill-color:var(--ink);box-shadow:none;opacity:1;-webkit-tap-highlight-color:transparent;touch-action:manipulation;justify-content:center;align-items:center;padding:.3rem .7rem .35rem;font-size:.78rem;font-weight:600;line-height:1.15;display:inline-flex}.study-cta-stack{flex-direction:column;justify-content:center;align-items:center;gap:.08rem;line-height:1.05;display:inline-flex}.study-cta-main{display:block}.study-cta-interval{letter-spacing:.03em;text-transform:none;color:inherit;-webkit-text-fill-color:currentColor;opacity:.34;font-variant-numeric:tabular-nums;font-size:.58rem;font-weight:500;line-height:1;display:block}.study-hc-grade-corner .study-grade-btn.is-hard .study-cta-interval,.study-hc-grade-corner .study-grade-btn.is-easy .study-cta-interval{opacity:.32}.page.study .study-dock-cta{justify-content:center;align-items:center;display:inline-flex}.page.study .study-dock-cta .study-cta-interval{opacity:.38;letter-spacing:.04em;font-size:.62rem;font-weight:500}.page.study .study-dock-cta.is-ok .study-cta-interval,.page.study .study-dock-cta.is-recording .study-cta-interval{opacity:.4;color:#fff;-webkit-text-fill-color:#fff}.study-hc-grade-corner .study-grade-btn.is-easy{color:color-mix(in srgb, var(--accent) 55%, var(--ink));-webkit-text-fill-color:color-mix(in srgb, var(--accent) 55%, var(--ink));border-color:color-mix(in srgb, var(--accent) 22%, var(--line));background:color-mix(in srgb, var(--accent) 7%, var(--paper))}.study-hc-grade-corner .study-grade-btn.is-hard{color:color-mix(in srgb, var(--bad) 82%, var(--ink));-webkit-text-fill-color:color-mix(in srgb, var(--bad) 82%, var(--ink));border-color:color-mix(in srgb, var(--bad) 34%, var(--line));background:color-mix(in srgb, var(--bad) 9%, var(--paper))}.study-hc-grade-corner .study-grade-btn:active:not(:disabled){transform:translateY(1px)}.study-hc-sheet.is-ok{background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 9%, var(--paper)) 0%, var(--paper) 38%);border-color:color-mix(in srgb, var(--accent) 18%, var(--line))}.study-hc-sheet.is-bad{background:linear-gradient(180deg, color-mix(in srgb, var(--bad) 8%, var(--paper)) 0%, var(--paper) 40%);border-color:color-mix(in srgb, var(--bad) 16%, var(--line))}.study-hc-sheet.is-soft{background:linear-gradient(180deg, color-mix(in srgb, var(--ink) 4%, var(--paper)) 0%, var(--paper) 40%);border-color:color-mix(in srgb, var(--line) 90%, transparent)}.study-hc-sheet-body{text-align:center;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex-direction:column;align-items:center;gap:.35rem;min-height:0;padding-bottom:.15rem;display:flex;overflow:auto}.study-hc-sheet.is-expanded .study-hc-sheet-body{flex:auto;max-height:none;overflow:auto}.study-hc-mark{width:2.35rem;height:2.35rem;box-shadow:none;border-radius:999px;place-items:center;margin-bottom:.15rem;font-size:1.15rem;font-weight:700;line-height:1;display:grid}.study-hc-mark.is-ok{color:color-mix(in srgb, var(--done) 72%, var(--ink));background:color-mix(in srgb, var(--done) 12%, var(--paper))}.study-hc-mark.is-bad{color:color-mix(in srgb, var(--bad) 70%, var(--ink));background:color-mix(in srgb, var(--bad) 10%, var(--paper))}.study-hc-mark.is-soft{color:var(--ink-soft);background:color-mix(in srgb, var(--ink) 6%, var(--paper))}.study-hc-title{letter-spacing:0;color:var(--ink);margin:0;font-size:1rem;font-weight:650}.study-hc-answer{flex-direction:column;align-items:center;gap:.2rem;margin:.15rem 0 .25rem;font-size:1.55rem;font-weight:750;line-height:1.25;display:flex}.study-hc-answer-py,.study-hc-answer .study-hc-answer-py{letter-spacing:.04em;font-size:1.15rem;font-weight:700}.study-hc-answer-gloss{color:var(--ink-soft);margin-top:.15rem;font-size:1.05rem;font-weight:600}.study-hc-audio{appearance:none;border:1px solid color-mix(in srgb, var(--accent) 35%, var(--line));background:var(--paper);color:var(--accent-deep);font:inherit;cursor:pointer;border-radius:999px;margin-top:.2rem;padding:.45rem 1rem;font-size:.95rem;font-weight:650}.study-hc-audio:hover{background:color-mix(in srgb, var(--accent) 10%, var(--paper));border-color:var(--accent)}.study-hc-retry{appearance:none;border-radius:var(--radius-control);border:1.5px solid color-mix(in srgb, var(--line) 85%, transparent);background:color-mix(in srgb, var(--ink) 4%, var(--paper));font-family:var(--font-body);color:var(--ink-soft);-webkit-text-fill-color:var(--ink-soft);cursor:pointer;touch-action:manipulation;margin:.35rem 0 0;padding:.45rem 1rem;font-size:.95rem;font-weight:650}.study-hc-retry:active:not(:disabled){color:var(--ink);-webkit-text-fill-color:var(--ink);transform:translateY(1px)}.study-hc-retry:disabled{opacity:.45;cursor:not-allowed}.study-hc-tone-feedback{text-align:left;width:100%;margin-top:.35rem}.study-hc-tone-feedback .tone-feedback{margin:0}.study-hc-examples-panel{border:1px solid color-mix(in srgb, var(--ink) 12%, var(--line));border-radius:calc(var(--radius) + 2px);background:color-mix(in srgb, var(--scene) 40%, var(--paper));width:100%;margin-top:.45rem;overflow:hidden}.study-hc-examples-panel.is-open{background:color-mix(in srgb, var(--paper) 92%, var(--scene));border-color:color-mix(in srgb, var(--ink) 16%, var(--line))}.study-hc-examples-panel-bar{align-items:center;gap:.4rem;min-height:2.75rem;padding:.22rem .25rem .22rem .35rem;display:flex}.study-hc-examples-panel.is-open .study-hc-examples-panel-bar{border-bottom:1px solid color-mix(in srgb, var(--ink) 8%, var(--line));background:color-mix(in srgb, var(--scene) 28%, var(--paper))}.study-hc-examples-toggle{appearance:none;border-radius:var(--radius-control);min-width:0;color:var(--ink);-webkit-text-fill-color:var(--ink);font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:0;flex:auto;justify-content:space-between;align-items:center;gap:.5rem;margin:0;padding:.45rem .55rem;font-size:.95rem;font-weight:650;display:flex}.study-hc-examples-chevron{color:var(--ink-soft);flex:none;font-size:.85rem;line-height:1}.study-hc-examples-panel:not(.is-open) .study-hc-examples-toggle{color:var(--ink-soft);-webkit-text-fill-color:var(--ink-soft)}.study-hc-examples-aids{border-color:color-mix(in srgb, var(--ink) 10%, var(--line));background:color-mix(in srgb, var(--paper) 90%, transparent);flex:none;margin-right:.15rem}.study-hc-examples-aids .script-seg-btn{min-width:2.4rem;min-height:2.35rem;padding:.32rem .7rem;font-size:.86rem;font-weight:650}.study-hc-examples{text-align:left;box-sizing:border-box;gap:.65rem;width:100%;margin:0;padding:.7rem .75rem .8rem;display:grid}.study-hc-examples-panel .example-row{border-radius:var(--radius-control);background:color-mix(in srgb, var(--paper) 94%, var(--ink) 2%);border:1px solid color-mix(in srgb, var(--ink) 7%, var(--line));padding:.55rem .6rem}.page.study .study-dock-cta{min-height:3.85rem;font-size:1.22rem;font-weight:750}.page.study .study-dock-cta.is-ok{background:color-mix(in srgb, var(--accent) 88%, var(--accent-deep));border-color:color-mix(in srgb, var(--accent-deep) 70%, transparent);color:#fff;box-shadow:0 6px 18px color-mix(in srgb, var(--accent) 18%, transparent)}.page.study .study-dock-cta.is-recording{background:color-mix(in srgb, var(--bad) 78%, #4a1c1c);border-color:color-mix(in srgb, var(--bad) 65%, #4a1c1c);color:#fff}.study-speak-card{flex-direction:column;gap:.35rem;display:flex}.study-speak-card .study-prompt{margin-bottom:.35rem}.study-speak-status{text-align:center;margin:.35rem 0 0}.study-card-top .study-task-label{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);font-size:.82rem;font-weight:650}.study-card .option-btn.is-selected{border-color:color-mix(in srgb, var(--accent) 55%, var(--line));background:color-mix(in srgb, var(--accent) 12%, var(--paper));box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 22%, transparent)}@keyframes study-hc-rise{0%{opacity:.55}to{opacity:1}}@keyframes study-hc-fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.study-hc-backdrop,.study-hc-sheet{animation:none!important}}.page.study.has-hc-result .option-btn .option-mark{opacity:.28;font-size:.85rem;font-weight:600}.page.study.has-hc-result .option-btn.correct{border-color:color-mix(in srgb, var(--done) 22%, var(--line));background:color-mix(in srgb, var(--done) 5%, var(--paper))}.page.study.has-hc-result .option-btn.wrong{border-color:color-mix(in srgb, var(--bad) 18%, var(--line));background:color-mix(in srgb, var(--bad) 4%, var(--paper))}.study-flow-options{gap:.55rem}.study-card .option-btn.has-mark,.study-card .option-btn.study-wp-answer{flex-direction:row;justify-content:center;align-items:center;gap:.45rem;display:flex}.option-mark{flex:none;font-size:1.15rem;font-weight:800;line-height:1}.option-btn.correct .option-mark{color:color-mix(in srgb, var(--done) 80%, var(--ink))}.option-btn.wrong .option-mark{color:color-mix(in srgb, var(--bad) 78%, var(--ink))}.study-examples-after{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--line)}.study-wp-answer{margin-top:.35rem}.episode-review-panel{margin-top:var(--space-4);margin-bottom:var(--space-2)}.episode-review-head{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.episode-review-head-main{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.episode-review-head h2{margin:0;font-size:1.1rem}.episode-review-chapter{opacity:.9;text-overflow:ellipsis;white-space:nowrap;max-width:22rem;font-size:.92rem;font-weight:600;overflow:hidden}.episode-review-nav{gap:.4rem;display:flex}.episode-review-nav .cta.is-disabled,.episode-review-footer .cta.is-disabled{opacity:.45;pointer-events:none}.episode-review-decide{margin:var(--space-2) 0 var(--space-3);flex-wrap:wrap;gap:.5rem;display:flex}.episode-review-decide-btn{box-sizing:border-box;text-align:center;flex:8rem;justify-content:center;min-width:8rem;max-width:12rem;padding:.7rem 1rem;font-weight:650}.cta.ok-outline{border-color:color-mix(in srgb, var(--done) 55%, var(--line));color:color-mix(in srgb, var(--done) 72%, var(--ink))}.cta.ok-outline:hover:not(:disabled){background:color-mix(in srgb, var(--done) 12%, var(--paper))}.cta.danger-outline{border-color:color-mix(in srgb, var(--bad) 55%, var(--line));color:var(--bad)}.cta.danger-outline:hover:not(:disabled){background:color-mix(in srgb, var(--bad) 10%, var(--paper))}.episode-review-label{margin-bottom:.35rem;font-size:.85rem;font-weight:600;display:block}.episode-review-comment{box-sizing:border-box;resize:vertical;border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 88%, var(--ink) 4%);width:100%;min-height:5.5rem;color:var(--ink);font:inherit;border-radius:10px;padding:.75rem .9rem;line-height:1.45}.episode-review-secondary{margin-top:var(--space-2);flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.episode-review-source{font-size:.8rem}.episode-review-nav-hint{margin:0 0 var(--space-2);font-size:.85rem}.episode-status-filters .episode-status-filter.is-active{border-color:color-mix(in srgb, var(--accent) 55%, var(--line));background:color-mix(in srgb, var(--accent) 14%, var(--paper));font-weight:650}.episode-review-note{margin-top:var(--space-2)}.episode-review-history{margin-top:var(--space-3)}.episode-review-history ul{margin:.5rem 0 0;padding-left:1.1rem}.episode-check-board{margin-top:var(--space-3)}.episode-check-board>summary{cursor:pointer;font-weight:600}.episode-check-summary{margin:var(--space-2) 0;flex-wrap:wrap;gap:.45rem;display:flex}.inspect-card-comment{padding:0 var(--space-3) var(--space-3);margin:0;font-size:.9rem}button.linkish{color:var(--accent,#0f766e);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.episode-check-summary{margin:0 0 var(--space-3);flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.episode-check-board{margin:0 0 var(--space-3);padding:var(--space-3);border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 92%, var(--ink) 3%);border-radius:12px}.episode-check-title{margin:0 0 .55rem;font-size:.95rem}.episode-check-list{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.episode-check-list>li{border-radius:8px;padding:.55rem .7rem;display:block}.episode-check-list.is-passed>li{background:0 0;border:none;padding:.25rem 0}.episode-check-row{flex-direction:column;gap:.15rem;display:flex}.episode-check-id{margin-top:.25rem;font-size:.75rem;display:block}.episode-check-passed{margin-top:var(--space-3)}.inspect-card-checks{padding:0 var(--space-3) var(--space-2);margin:0;font-size:.85rem}.inspect-pron-lab>h2,.inspect-pron-top h2{margin-bottom:.35rem}.inspect-pron-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.5rem 1rem;margin-bottom:.5rem;display:flex}.inspect-pron-top h2{margin:0}.inspect-pron-gate{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--paper) 94%, var(--ink) 3%);margin:0 0 .75rem;padding:.55rem .65rem}.inspect-pron-gate-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.45rem .75rem;margin-bottom:.35rem;display:flex}.inspect-pron-gate-tabs{flex-wrap:wrap;gap:.35rem;display:flex}.inspect-pron-gate-tab{appearance:none;border:1px solid var(--line);background:var(--paper);color:inherit;font:inherit;cursor:pointer;border-radius:999px;padding:.28rem .7rem;font-size:.85rem}.inspect-pron-gate-tab.is-active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, var(--paper));font-weight:600}.inspect-pron-gate-list{grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr));gap:.35rem;max-height:11rem;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.inspect-pron-lab.is-recording .inspect-pron-gate-list{opacity:.55;pointer-events:none}.inspect-pron-gate-item{text-align:left;border:1px solid var(--line);background:var(--paper);width:100%;color:inherit;cursor:pointer;font:inherit;border-radius:8px;grid-template-rows:auto auto auto;grid-template-columns:1.1rem 1fr;gap:.05rem .4rem;padding:.35rem .45rem;display:grid}.inspect-pron-gate-item:disabled{cursor:default}.inspect-pron-gate-item .inspect-pron-gate-mark{color:var(--muted,#777);grid-row:1/span 3;align-self:center}.inspect-pron-gate-item.is-done .inspect-pron-gate-mark{color:var(--ok,#2a7a4b)}.inspect-pron-gate-item.is-recorded:not(.is-done) .inspect-pron-gate-mark{color:var(--warn,#b8860b)}.inspect-pron-gate-item.is-active{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 45%, transparent)}.inspect-pron-gate-zh{font-size:1.02rem;font-weight:600;line-height:1.25}.inspect-pron-gate-py{opacity:.85;font-size:.8rem}.inspect-pron-save-msg{margin:0 0 .35rem}.inspect-pron-howto{background:color-mix(in srgb, var(--accent) 8%, var(--paper));border:1px solid color-mix(in srgb, var(--accent) 22%, var(--line));border-radius:8px;margin:.35rem 0 .5rem;padding:.45rem .55rem}.inspect-pron-howto .prompt-label{margin:0 0 .25rem}.inspect-pron-howto ol{margin:0;padding-left:1.15rem;font-size:.84rem;line-height:1.35}.inspect-pron-howto li{margin:.15rem 0}.inspect-pron-howto-tip{text-align:left;background:color-mix(in srgb, var(--accent) 10%, var(--paper));border:1px solid color-mix(in srgb, var(--accent) 28%, var(--line));border-radius:8px;max-width:36rem;margin:.55rem auto 0;padding:.45rem .65rem;font-size:.9rem;line-height:1.35}.inspect-pron-lab .inspect-pron-controls{flex-wrap:wrap;gap:.5rem .85rem;margin:0;display:flex}.inspect-pron-lab .inspect-pron-controls label{flex-direction:column;gap:.2rem;font-size:.8rem;display:flex}.inspect-pron-lab .inspect-pron-controls select{min-width:8rem;max-width:min(100%,18rem)}.inspect-pron-target{text-align:center;margin:.25rem 0 .65rem}.inspect-pron-surface{margin:.15rem 0 .1rem;font-size:2.2rem;font-weight:650;line-height:1.2}.inspect-pron-reading{margin:.15rem 0 0}.inspect-pron-rec-dock{z-index:4;border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--paper) 92%, var(--ink) 5%);box-shadow:0 -6px 18px color-mix(in srgb, var(--ink) 8%, transparent);gap:.45rem;margin:.25rem 0 .75rem;padding:.65rem .75rem .7rem;display:grid;position:sticky;bottom:0}.inspect-pron-meter{align-content:start;gap:.2rem;min-height:2.4rem;margin:0;display:grid}.inspect-pron-meter.is-idle{opacity:.35}.inspect-pron-meter-track{background:color-mix(in srgb, var(--ink) 10%, var(--paper));border-radius:999px;height:.55rem;overflow:hidden}.inspect-pron-meter-fill{background:var(--accent);height:100%;transition:width 50ms linear}.inspect-pron-meter-msg{min-height:1.15rem;margin:0;font-size:.8rem;line-height:1.15rem}.inspect-pron-rec-btn{box-sizing:border-box;width:100%;min-height:3rem;margin:0!important}.inspect-pron-rec-btn.is-stop{background:color-mix(in srgb, #c62828 88%, var(--ink));border-color:#a32020}.inspect-pron-rec-secondary{flex-wrap:wrap;gap:.35rem;display:flex}.inspect-pron-rec-secondary .cta{flex:auto;width:auto;min-width:4.5rem;margin:0!important}.inspect-pron-upload{cursor:pointer;text-align:center}.inspect-pron-upload.is-disabled{opacity:.45;pointer-events:none}.inspect-pron-result{margin-top:1rem}.inspect-pron-debug{border-top:1px dashed color-mix(in srgb, var(--ink) 18%, transparent);margin-top:1rem;padding-top:.75rem}.inspect-pron-debug summary{cursor:pointer;margin-bottom:.5rem}.inspect-pron-notes{margin-top:.75rem;padding-left:1.1rem;font-size:.85rem}.tone-feedback{margin:.35rem 0 .75rem}.tone-feedback-summary{flex-wrap:wrap;align-items:baseline;gap:.55rem .85rem;margin:0 0 .65rem;font-size:.95rem;display:flex}.tone-feedback-sum{font-weight:650}.tone-feedback-sum-ok{color:#1f6b3a}.tone-feedback-sum-wrong{color:#a32020}.tone-feedback-sum-unclear{color:#9a5b00}.tone-feedback-map{letter-spacing:.04em;margin:.15rem 0 .45rem;font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;font-size:clamp(1.85rem,4.5vw,2.55rem);font-weight:650;line-height:1.55}.tone-hl{-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:.28em;margin:0 .02em;padding:.08em .12em;display:inline}.tone-hl-ok{color:#14532d;background:#2f9e5c38;box-shadow:inset 0 -2px #2f9e5c8c}.tone-hl-unclear{color:#7a4500;background:#e6a31747;box-shadow:inset 0 -2px #d4890aa6}.tone-hl-wrong{color:#8b1515;background:#d645453d;box-shadow:inset 0 -2px #c62828b3}.tone-hl-punct{color:inherit;box-shadow:none;background:0 0;margin:0;padding:0}.tone-feedback-legend{flex-wrap:wrap;gap:.5rem .75rem;margin:0 0 .75rem;display:flex}.tone-hl-swatch{letter-spacing:0;font-size:.8rem;font-weight:600;line-height:1.2}.tone-feedback-issues{margin:.25rem 0 0}.tone-feedback-issues ul{margin:.35rem 0 0;padding-left:1.15rem}.tone-feedback-issues li{margin:.2rem 0;font-size:.95rem}.tone-feedback-issue-wrong{color:#8b1515}.tone-feedback-issue-unclear{color:#7a4500}.tone-feedback-all-ok{color:#1f6b3a;margin:.35rem 0 0}.inspect-pron-playback{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--paper) 92%, var(--ink) 4%);margin:1rem 0 .25rem;padding:.75rem .85rem}.inspect-pron-audio{width:100%;max-width:28rem;margin:.35rem 0 .5rem;display:block}.audio-quality-head{gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;display:flex}.audio-quality-head h2{margin:0 0 .25rem}.audio-quality-save{margin:0 0 var(--space-3)}.audio-quality-block{margin:var(--space-4) 0;padding-top:var(--space-3);border-top:1px solid var(--line)}.audio-quality-block-head{gap:var(--space-2);margin-bottom:var(--space-2);flex-wrap:wrap;justify-content:space-between;align-items:baseline;display:flex}.audio-quality-block-head h3{margin:0}.audio-cast-list{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));display:grid}.audio-cast-card{padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--paper) 94%, var(--ink) 3%)}.audio-cast-card-head{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:.35rem;display:flex}.audio-cast-sample{margin:.4rem 0;font-size:1.05rem}.audio-cast-actions{flex-wrap:wrap;gap:.35rem;margin:.5rem 0;display:flex}.audio-quality-label{flex-direction:column;gap:.25rem;margin:.5rem 0;font-size:.85rem;display:flex}.audio-quality-label.inline{flex-direction:row;align-items:center;gap:.5rem}.audio-quality-label select{font:inherit;padding:.25rem .4rem}.audio-quality-footer-actions{margin-top:var(--space-3)}.audio-ep-toolbar{gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.audio-ep-chapter-decide{margin-bottom:var(--space-2);flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.audio-ep-lines{margin:var(--space-3) 0 0;flex-direction:column;gap:.65rem;padding:0;list-style:none;display:flex}.audio-ep-line{border:1px solid var(--line);border-radius:var(--radius);padding:.65rem .75rem}.audio-ep-line-main{flex-wrap:wrap;align-items:baseline;gap:.4rem .65rem;margin-bottom:.4rem;display:flex}.audio-ep-speaker{color:var(--accent-deep);font-weight:600}.audio-ep-zh{flex:12rem}.audio-ep-py,.audio-ep-en{margin:.15rem 0 .35rem;font-size:.92em;line-height:1.35}.audio-ep-py{letter-spacing:.01em}.word-quality-list{max-height:min(70vh,52rem);overflow:auto}.word-quality-card{flex-direction:column;gap:.45rem;display:flex}.word-quality-surface{font-size:1.25rem}.word-quality-gloss{flex:10rem}.word-quality-example{flex-direction:column;gap:.15rem;padding-left:.15rem;display:flex}.word-facet-stack{flex-direction:column;gap:.35rem;display:flex}.word-facet-row{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.word-facet-label{min-width:3.5rem;font-size:.9em;font-weight:600}.word-facet-audio{align-items:center}.audio-ep-line-actions{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.audio-quality-words-stub{padding:var(--space-3) 0}.video-ref-grid{grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.video-ref-card{flex-direction:column;gap:.35rem;display:flex}.video-ref-img{aspect-ratio:3/4;object-fit:cover;background:#e7e2d9;border-radius:.35rem;width:100%}.video-ref-meta{flex-direction:column;gap:.1rem;display:flex}.video-clip-list{flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.video-clip-card{flex-direction:column;gap:.4rem;display:flex}.video-clip-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.video-clip-player{background:#1c1917;border-radius:.35rem;width:100%;max-width:48rem}.video-clip-still{background:#e7e2d9;border-radius:.35rem;width:100%;max-width:48rem}.small{font-size:.85rem}
