:root{--bg:#1f252c;--bg-deep:#1a1e23;--surface-raised:#293038;--bg-sunken:#232a31;--text-strong:#fff;--text-muted:#959797;--text-subtle:#6b7e94;--text-display:48px;--text-h1:24px;--text-h2:20px;--text-button:18px;--text-title:16px;--text-body:14px;--text-label:12px;--text-micro:11px;--brand:#b490f0;--brand-deep:#30105b;--brand-soft:#e5d9fb;--brand-tint:#b490f01f;--brand-ink:#1a0e33;--cta:#00f7da;--cta-soft:#99fff7;--cta-ink:#06302c;--cta-tint:#00f7da14;--highlight:#00f7da;--bubble-self:#43357a;--accent-pink:#e74da1;--lav-vivid:#924df2;--success:#8ce9a4;--positive-edge:#00f7da;--error:#ff900e;--error-soft:#ffb232;--error-deep:#c26900;--error-tint:#ff900e1f;--radius-card:20px;--radius-sm:4px;--radius-sheet:14px;--radius-pill:50px;--radius-lg:30px;--radius-circle:100px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:48px;--border-width:2px;--border-card:#343d48;--border-mid:#705d98;--border-emphasis:#00f7da;--overlay-1:#ffffff14;--overlay-2:#ffffff0a;--shadow-card:0 2px 12px 0 #00000047;--shadow-card-black:0 4px 4px 0 #00000040;--shadow-cta:0 6px 18px 0 #00f7da33;--glow-1:#924df224;--glow-2:#00f7da0f;--grad-feature:linear-gradient(135deg, #34335a, #173f3b);--content-max:1040px;--content-main:760px;--sidebar-w:240px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Roboto,Inter,-apple-system,Noto Sans TC,Segoe UI,system-ui,sans-serif}:root[data-theme=light]{--bg:#f6f3ee;--bg-deep:#fff;--surface-raised:#fff;--bg-sunken:#f3efe8;--text-strong:#1e1b2b;--text-muted:#66616f;--text-subtle:#6a6478;--brand:#5b3ce0;--brand-deep:#2c1a7a;--brand-soft:#3a259c;--brand-tint:#f0ebff;--brand-ink:#fff;--cta:#5b3ce0;--cta-soft:#4f35c9;--cta-ink:#fff;--cta-tint:#ede8ff;--highlight:#e04a26;--bubble-self:#5b3ce0;--success:#1b7d59;--positive-edge:#5b3ce0;--error:#b04f00;--error-soft:#9a5c00;--error-deep:#7a4300;--error-tint:#fff1e3;--border-card:#e9e3da;--border-mid:#8f7ae0;--border-emphasis:#5b3ce0;--overlay-1:#1e1b2b14;--overlay-2:#1e1b2b09;--shadow-card:0 1px 2px 0 #281e460a, 0 8px 24px 0 #281e460f;--shadow-card-black:0 4px 12px 0 #281e461f;--shadow-cta:0 6px 16px 0 #5b3ce047;--glow-1:#ffaa8238;--glow-2:#9678ff14;--grad-feature:linear-gradient(135deg, #efeaff, #e3f6ee);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-deep);color:var(--text-strong);-webkit-font-smoothing:antialiased;justify-content:center;min-height:100dvh;display:flex}#root,#root>*{width:100%}.phone{background:var(--bg);flex-direction:column;width:100%;height:100dvh;display:flex;position:relative}.phone__header{background:var(--bg-deep);padding:var(--space-4) var(--space-6);align-items:center;gap:var(--space-3);display:flex}.phone__title{font-size:var(--text-title);color:var(--text-strong);font-weight:700}.phone__sub{font-size:var(--text-micro);color:var(--text-muted);margin-top:2px}.phone__body{padding:var(--space-6);gap:var(--space-6);flex-direction:column;flex:1;display:flex;overflow-y:auto}.phone__footer{padding:var(--space-3) var(--space-6) var(--space-4);background:var(--bg-deep);border-top:1px solid var(--border-card)}.btn{appearance:none;cursor:pointer;background:var(--cta);color:var(--cta-ink);font-family:inherit;font-size:var(--text-button);border-radius:var(--radius-sheet);width:100%;box-shadow:var(--shadow-cta);border:none;padding:12px 16px;font-weight:700;line-height:1.4;transition:transform 80ms,box-shadow 80ms}.btn:active{box-shadow:none;transform:translateY(1px)}.btn--ghost{box-shadow:inset 0 0 0 2px var(--border-mid);color:var(--brand-soft);background:0 0}.btn--ghost:active{box-shadow:inset 0 0 0 2px var(--border-mid);transform:translateY(0)}.btn--accent{background:var(--brand);color:var(--brand-ink);box-shadow:none}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--surface-raised);border:var(--border-width) solid transparent;border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:14px}.chip{font-size:var(--text-body);border-radius:var(--radius-pill);background:var(--brand-tint);color:var(--brand);cursor:pointer;border:1px solid #0000;align-items:center;margin:0 6px 6px 0;padding:7px 12px;font-weight:600;display:inline-flex}.chip--on{background:var(--cta);color:var(--cta-ink);border-color:var(--cta)}.switch{border:1px solid var(--border-card);border-radius:var(--radius-pill);background:linear-gradient(180deg, var(--bg-deep), #20262d);cursor:pointer;flex-shrink:0;align-items:center;width:56px;height:32px;padding:0;transition:background .18s,border-color .18s,box-shadow .18s;display:inline-flex;position:relative;box-shadow:inset 0 2px 3px #00000080,inset 0 -1px #ffffff08}.switch--on{background:linear-gradient(180deg, #00e6cb, var(--cta));border-color:#00c9b4;box-shadow:inset 0 2px 3px #00463e59,inset 0 -1px #ffffff26}.switch:disabled{opacity:.5;cursor:not-allowed}.switch__knob{border-radius:var(--radius-pill);background:#d2d3d3;width:26px;height:26px;transition:transform .18s cubic-bezier(.4,0,.2,1),background-color .18s,box-shadow .18s;position:absolute;top:3px;left:3px;box-shadow:0 2px #00000080,0 4px 4px #00000040}.switch--on .switch__knob{background:#fff;transform:translate(24px);box-shadow:0 2px #006e6480,inset 0 -2px #00000014}:root[data-theme=light] .switch{background:linear-gradient(#e7e0d5,#f6f3ee);border-color:#9a9285;box-shadow:inset 0 2px 3px #281e4638,inset 0 -1px #fff9}:root[data-theme=light] .switch--on{background:linear-gradient(180deg, #7257f2, var(--cta));border-color:#4a2fc9;box-shadow:inset 0 2px 3px #1e0a5a59,inset 0 -1px #fff3}:root[data-theme=light] .switch__knob{background:#fff;box-shadow:0 2px #281e464d,0 4px 4px #281e461f}:root[data-theme=light] .switch--on .switch__knob{box-shadow:0 2px #1e0a5a73,inset 0 -2px #0000000f}.switch--unknown .switch__knob{transform:translate(12px)}.bubble{max-width:82%;font-size:var(--text-title);padding:11px 14px;line-height:1.45}.bubble--npc{background:var(--surface-raised);color:var(--text-strong);border:var(--border-width) solid transparent;box-shadow:var(--shadow-card);border-radius:20px 20px 20px 6px;align-self:flex-start}.bubble--user{background:var(--bubble-self);color:#fff;border:var(--border-width) solid transparent;border-radius:20px 20px 6px;align-self:flex-end}.bubble__name{font-size:var(--text-micro);color:var(--text-muted);margin-bottom:4px}.bubble-tools{align-self:flex-start;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.ask-help-btn{align-items:center;gap:var(--space-1);background:var(--brand-tint);border:var(--border-width) solid transparent;border-radius:var(--radius-circle);min-height:36px;color:var(--brand-soft);font-family:inherit;font-size:var(--text-body);cursor:pointer;padding:6px 12px;font-weight:700;display:inline-flex;position:relative}.ask-help-btn:after{content:"";width:max(100%,44px);height:max(100%,44px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ask-help-btn:disabled{opacity:.5;cursor:not-allowed}.cheer{align-self:center;gap:var(--space-2);flex-wrap:wrap;justify-content:center;display:inline-flex}.cheer__pill{background:var(--cta-tint);color:var(--cta-soft);font-size:var(--text-label);border-radius:var(--radius-pill);box-shadow:none;border:1px solid #0000;padding:6px 14px;font-weight:700}.cheer__note{font-size:var(--text-label);color:var(--text-muted);text-align:center;align-self:center;margin-top:4px}.sheet{background:var(--surface-raised);border:var(--border-width) solid transparent;border-left:3px solid var(--cta);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:14px}.sheet__h{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.sheet__h b{font-size:var(--text-body);color:var(--cta-soft)}.sheet__free{font-size:var(--text-micro);color:var(--cta);font-weight:700}.sheet__actions{align-items:center;gap:var(--space-2);display:flex}.sheet__close{color:var(--text-muted);font-size:var(--text-body);cursor:pointer;background:0 0;border:none;padding:2px 6px}.sheet__step{font-size:var(--text-body);color:var(--text-strong);background:var(--brand-tint);border-radius:var(--radius-sheet);gap:var(--space-1);flex-direction:column;padding:10px 12px;line-height:1.5;display:flex}.sheet .k{color:var(--brand);font-weight:700}.sheet__next{width:100%;margin-top:var(--space-2);background:var(--cta-tint);border:var(--border-width) solid transparent;border-radius:var(--radius-sheet);color:var(--cta-soft);font-family:inherit;font-size:var(--text-body);text-align:center;cursor:pointer;padding:10px 12px;font-weight:700}.sheet__next:hover{background:var(--cta-tint);border-color:var(--border-emphasis)}.sheet__next:disabled{opacity:.55;cursor:default}.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}.pill-tag.pill-tag--src{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:100%;display:inline-block;overflow:hidden}.sheet__next:disabled:hover{background:var(--cta-tint);border-color:#0000}.sheet__foot{justify-content:space-between;align-items:center;gap:var(--space-2);margin-top:8px;display:flex}.sheet__note{font-size:var(--text-micro);color:var(--text-muted)}.dots{margin-left:-8px;display:flex}.dots button{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:24px;height:24px;padding:0;display:flex}.dots button:before{content:"";background:var(--border-card);border-radius:99px;width:7px;height:7px}.dots button.on:before{background:var(--cta)}.dots button:disabled{cursor:default}.input-row{align-items:flex-end;gap:10px;display:flex}.input-row>button{flex-shrink:0}.input-row textarea{background:var(--bg-sunken);border:var(--border-width) solid var(--border-card);min-width:0;color:var(--text-strong);border-radius:var(--radius-pill);font-size:var(--text-title);resize:none;flex:1;height:50px;max-height:98px;padding:11px 14px;font-family:inherit;line-height:1.5;overflow:hidden auto}.input-row textarea:focus{border-color:var(--border-emphasis);outline:none}.input-row textarea::placeholder{color:var(--text-subtle)}.input-row textarea[data-multiline="1"]{border-radius:22px}.cheer-card{background:var(--grad-feature);border:var(--border-width) solid transparent;border-radius:var(--radius-card);box-shadow:var(--shadow-card);text-align:center;padding:22px}.score{flex-direction:column;gap:10px;display:flex}.score__row{align-items:center;gap:10px;display:flex}.score__label{font-size:var(--text-label);width:64px;color:var(--text-muted)}.score__track{background:var(--overlay-1);border-radius:var(--radius-pill);flex:1;height:10px;overflow:hidden}.score__fill{border-radius:var(--radius-pill);height:100%;transition:width .6s cubic-bezier(.2,.8,.2,1)}.score__val{font-size:var(--text-label);text-align:right;font-variant-numeric:tabular-nums;width:30px;color:var(--text-strong)}.correction{padding:2px 0}.correction__good{color:var(--success);font-weight:600}.turn-review{margin-top:2px}.turn-review__toggle{font-size:var(--text-label);color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:2px 0}.turn-review__toggle:hover{color:var(--text-strong)}.turn-review__empty{margin:4px 0 0}.display{font-size:var(--text-display);letter-spacing:-.02em;color:var(--text-strong);font-weight:900;line-height:1.12}.display span{color:var(--highlight)}.muted{color:var(--text-muted);font-size:var(--text-body);line-height:1.55}.text-link{color:var(--brand);text-decoration:underline}.center{text-align:center}.h1{font-size:var(--text-h1);color:var(--text-strong);font-weight:800}.h2{font-size:var(--text-h2);color:var(--text-strong);font-weight:700}.col{gap:var(--space-6);flex-direction:column;display:flex}.col.center{align-items:center}.typing{font-size:var(--text-body);color:var(--text-muted);align-self:flex-start;font-style:italic}.col.turn-review__list{gap:var(--space-3)}.turn-review--unanchored,.turn-review--unanchored .turn-review__list{margin-top:var(--space-1)}.turn-review__label,.turn-review__empty{font-size:var(--text-label)}.turn-review__label>.demo-tag,.turn-review__empty>.demo-tag{margin-left:6px}.bubble,.correction,.word-row{overflow-wrap:anywhere}.moments{text-align:left;gap:var(--space-3);flex-direction:column;margin:8px 0 4px;padding:0;list-style:none;display:flex}.moments--s11{margin:0}.moments__effect{font-size:var(--text-title);color:var(--text-strong);font-weight:600;line-height:1.45}.moments__reply{margin-top:var(--space-1);font-size:var(--text-body);color:var(--text-strong);overflow-wrap:anywhere;line-height:1.55}.moments__who{color:var(--text-muted)}.correction__said{font-size:var(--text-label);color:var(--text-muted);margin-bottom:var(--space-1);line-height:1.45}.correction__note{font-size:var(--text-label)}.word-rows{gap:var(--space-3);flex-direction:column;display:flex}.word-row__head{align-items:center;display:flex}.word-row__word{cursor:default;margin:0}.word-row__meaning{margin-left:var(--space-2);font-size:var(--text-body);color:var(--text-strong)}.word-row__example{font-size:var(--text-label);margin-top:var(--space-1);line-height:1.45}.turn-reminder{font-size:var(--text-label);color:var(--text-muted);text-align:center;align-self:center;padding:8px 0}.home-cando{align-items:center;gap:var(--space-2);cursor:pointer;color:var(--text-strong);text-align:left;background:0 0;border:none;min-width:0;max-width:100%;padding:0;font-family:inherit;display:flex}.home-cando>b{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.resume-row{align-items:center;gap:var(--space-3);background:var(--surface-raised);width:100%;color:var(--text-strong);text-align:left;font-family:inherit;font-size:var(--text-body);border-radius:var(--radius-circle);cursor:pointer;min-height:44px;box-shadow:var(--shadow-card);border:none;padding:10px 20px 10px 30px;display:flex;position:relative}.resume-row:before{content:"";border-radius:var(--radius-pill);background:var(--brand);width:6px;height:28px;margin-top:-14px;position:absolute;top:50%;left:14px}.resume-row:disabled{opacity:.6;cursor:default}.resume-row__meta{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.home-top{gap:8px}.col--fill{flex:1;gap:2px;min-width:0}.home-due{align-items:flex-end;gap:4px}.col--sm{gap:8px}.col--md{gap:12px}.home-rec-head{margin-top:6px}.pill-tag--action{cursor:pointer}.chev{color:var(--brand);flex-shrink:0}.home-greet{overflow-wrap:anywhere}.demo-banner{background:var(--error-tint);border:1px solid var(--error);color:var(--error);border-radius:var(--radius-sheet);font-size:var(--text-label);text-align:center;padding:8px 12px;font-weight:700}.error-card{background:var(--error-tint);border:1px solid var(--error);border-radius:var(--radius-card);gap:var(--space-2);flex-direction:column;padding:12px 14px;display:flex}.error-card__title{font-size:var(--text-body);color:var(--error);font-weight:700}.error-card__msg{font-size:var(--text-body);line-height:1.5}.auth__scroll{flex-direction:column;display:flex}.auth__hero{text-align:center;margin:34px 0 28px}.auth__mark{border-radius:var(--radius-circle);background:linear-gradient(135deg, var(--lav-vivid), var(--cta));width:72px;height:72px;font-size:var(--text-h1);box-shadow:var(--shadow-card);justify-content:center;align-items:center;margin:0 auto 14px;display:flex}.auth__hero h1{font-size:var(--text-h1);color:var(--text-strong);letter-spacing:.5px;margin:0 0 6px;font-weight:700}.auth__hero p{font-size:var(--text-body);color:var(--text-muted);margin:0}.auth__lbl{font-size:var(--text-label);color:var(--text-muted);margin:0 0 6px 2px;font-weight:500;display:block}.auth__lbl--focus{color:var(--cta-soft)}.auth__field{background:var(--surface-raised);border:var(--border-width) solid var(--border-card);border-radius:var(--radius-card);font-size:var(--text-title);color:var(--text-strong);align-items:center;gap:10px;margin-bottom:14px;padding:12px 16px;display:flex}.auth__field--focus{border-color:var(--border-emphasis)}.auth__field input{color:var(--text-strong);background:0 0;border:none;outline:none;flex:1;min-width:0;font-family:inherit;font-size:16px}.auth__ic{flex-shrink:0;font-size:16px}.auth__eye{font-size:var(--text-title);color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0}.auth__eye,.sheet__close,.auth__forgot a,.auth__foot a{position:relative}.auth__eye:after,.sheet__close:after,.auth__forgot a:after,.auth__foot a:after{content:"";width:max(100%,24px);height:max(100%,24px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.auth__eye:after{width:max(100%,28px);height:max(100%,44px)}.sheet__close:after{width:max(100%,44px);height:max(100%,44px)}.auth__forgot{text-align:right;margin:-4px 0 14px}.auth__forgot a{font-size:var(--text-label);color:var(--cta-soft);text-decoration:none}.auth__main{margin:8px 0 20px}.auth__divider{align-items:center;gap:var(--space-3);margin-bottom:16px;display:flex}.auth__divider:before,.auth__divider:after{content:"";background:var(--border-card);flex:1;height:1px}.auth__divider span{font-size:var(--text-label);color:var(--text-muted)}.auth__btn3p{background:var(--surface-raised);width:100%;color:var(--text-strong);border:var(--border-width) solid var(--border-mid);border-radius:var(--radius-pill);font-size:var(--text-title);box-shadow:var(--shadow-card);cursor:not-allowed;opacity:.75;justify-content:center;align-items:center;gap:10px;margin-bottom:12px;padding:12px 16px;font-family:inherit;font-weight:500;display:flex}.auth__foot{text-align:center;font-size:var(--text-body);color:var(--text-muted);margin:auto 0 8px}.auth__foot a{color:var(--cta);margin-left:4px;font-weight:700;text-decoration:none}.nav{background:var(--bg-deep);border-top:1px solid var(--border-card);padding:6px 0 10px;display:flex}.nav__tab{color:var(--text-muted);font-size:var(--text-micro);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:2px;padding:6px 0;font-family:inherit;display:flex}.nav__tab--on{color:var(--cta);font-weight:700}.nav__ic{font-size:20px}.page-head{align-items:center;gap:10px;display:flex}.page-head .h1{flex:0 auto}.page-head+.muted{margin-top:-14px}.page-head>.pill-tag,.page-head>.demo-tag{margin-left:auto}.row-between{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.pill-tag{align-items:center;gap:var(--space-1);font-family:inherit;font-size:var(--text-micro);color:var(--brand);background:var(--brand-tint);border-radius:var(--radius-pill);white-space:nowrap;border:1px solid #0000;padding:3px 10px;font-weight:700;display:inline-flex}.demo-tag{font-size:var(--text-micro);color:var(--error-soft);background:var(--error-tint);border:1px solid var(--error-soft);border-radius:var(--radius-pill);vertical-align:middle;padding:1px 7px;font-weight:700;display:inline-block}.back-link{color:var(--text-strong);font-size:var(--text-h1);cursor:pointer;background:0 0;border:none;padding:0 6px;line-height:1}.back-link--circle{border-radius:var(--radius-circle);background:var(--surface-raised);border:1px solid var(--border-card);width:34px;height:34px;font-size:var(--text-button)}.topbar{background:var(--bg-deep);align-items:center;gap:10px;padding:12px 14px;display:flex}.topbar__title{font-size:var(--text-body);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.end-pill{background:var(--surface-raised);color:var(--text-strong);border:1px solid var(--border-card);border-radius:var(--radius-pill);font-size:var(--text-label);cursor:pointer;padding:6px 14px;font-family:inherit;font-weight:700}.end-pill:disabled{opacity:.45;cursor:not-allowed}.mic-btn{border-radius:var(--radius-circle);width:46px;height:46px;color:var(--brand);border:var(--border-width) solid var(--brand);font-size:var(--text-button);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.mic-btn:disabled{cursor:not-allowed;opacity:.6}.send-btn{border-radius:var(--radius-circle);background:var(--cta);width:46px;height:46px;color:var(--cta-ink);box-shadow:var(--shadow-cta);font-family:inherit;font-size:var(--text-title);cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.send-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.rec-row{align-items:center}.btn--inline{border-radius:var(--radius-pill);width:auto;min-height:44px;padding:0 14px}.btn--auto{align-self:flex-start;width:auto}.rec-status{justify-content:center;align-items:center;gap:var(--space-2);min-width:0;font-size:var(--text-label);color:var(--text-muted);flex:1;display:flex}.rec-dot{border-radius:var(--radius-circle);background:var(--text-muted);width:8px;height:8px;display:inline-block}.voice-error{font-size:var(--text-label);color:var(--error-soft)}.npc-voice{align-items:center;gap:var(--space-2);font-size:var(--text-label);display:flex}.npc-voice__play,.npc-voice__retry{background:var(--surface-raised);color:var(--cta-soft);border:1px solid var(--border-mid);border-radius:var(--radius-pill);font-size:var(--text-label);cursor:pointer;padding:4px 12px;font-family:inherit;font-weight:700}.speak{align-items:center;gap:var(--space-1);vertical-align:middle;display:inline-flex}.speak-fail{align-items:center;gap:var(--space-2);display:inline-flex}.speak-msg{font-size:var(--text-label);color:var(--text-muted)}.speak-btn{color:var(--cta-soft);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-family:inherit;display:inline-flex;position:relative}.speak-btn:after{content:"";width:max(100%,44px);height:max(100%,44px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.speak-btn--24{width:24px;height:24px;font-size:var(--text-body)}.speak-btn--32{width:32px;height:32px;font-size:var(--text-title)}.speak-btn--inline{background:var(--surface-raised);border:1px solid var(--border-mid);border-radius:var(--radius-circle)}.speak-btn--bubble{color:var(--text-muted)}.speak-btn[data-state=playing]{color:var(--cta)}.speak-btn--retry{color:var(--error-soft)}.speak-btn--slow{width:auto;height:24px;padding:0 6px}.speak-btn__rate{font-size:var(--text-micro);letter-spacing:-.02em;font-weight:700}.scenario-card{align-items:center;gap:var(--space-3);text-align:left;cursor:pointer;color:var(--text-strong);font-family:inherit;font-size:var(--text-body);display:flex}.scenario-card:disabled{opacity:.6}.scenario-card__tile{width:44px;height:44px;font-size:var(--text-h1);border-radius:var(--radius-sheet);background:var(--grad-feature);flex-shrink:0;justify-content:center;align-items:center;display:flex}.pin-tag{font-size:var(--text-micro);color:var(--brand);background:var(--brand-tint);border-radius:var(--radius-pill);border:1px solid #0000;align-self:flex-start;padding:3px 10px}.gain-pill{font-size:var(--text-label);color:var(--cta-soft);background:var(--cta-tint);border-radius:var(--radius-pill);border:1px solid #0000;margin-top:8px;padding:4px 12px;font-weight:700;display:inline-block}.seg{background:var(--overlay-1);border-radius:var(--radius-pill);gap:2px;padding:3px;display:flex}.seg button{color:var(--text-muted);font-size:var(--text-label);border-radius:var(--radius-pill);cursor:pointer;background:0 0;border:none;padding:4px 12px;font-family:inherit;font-weight:700}.seg .seg__on{background:var(--cta);color:var(--cta-ink)}.seg--tabs{background:var(--surface-raised);border:1px solid var(--border-card);border-radius:var(--radius-pill);padding:var(--space-1);align-self:flex-start;gap:var(--space-1)}.seg--tabs button{font-size:var(--text-body);border:1px solid #0000;padding:7px 18px;transition:background-color .15s,border-color .15s,color .15s}.seg--tabs button:hover{color:var(--text-strong)}.seg--tabs .seg__on{background:var(--cta-tint);border-color:var(--cta);color:var(--cta)}.seg--tabs button:focus-visible{outline:2px solid var(--border-emphasis);outline-offset:2px}.seg--modes{background:var(--surface-raised);border:1px solid var(--border-card);border-radius:var(--radius-pill);padding:var(--space-1);gap:var(--space-1)}.seg--modes button{min-width:0;min-height:44px;padding:4px var(--space-2);font-size:var(--text-body);border:1px solid #0000;flex:1 1 0;transition:background-color .15s,border-color .15s,color .15s}.seg--modes button:hover:not(:disabled){color:var(--text-strong)}.seg--modes .seg__on{background:var(--cta-tint);border-color:var(--cta);color:var(--cta)}.seg--modes button:focus-visible{outline:2px solid var(--border-emphasis);outline-offset:2px}.seg--modes button:disabled{opacity:.5;cursor:not-allowed}.seg--modes button.seg--modes__dim{color:var(--text-subtle);opacity:.5}.seg--modes .seg__on.seg--modes__dim{border-color:var(--cta);color:var(--cta);opacity:.4;background:0 0}.vocab-tabbar{gap:var(--space-3);flex-direction:column;display:flex}.dim-list{gap:var(--space-4);flex-direction:column;display:flex}.dim-row{align-items:baseline;gap:var(--space-2);grid-template-columns:1fr auto;display:grid}.dim-row__label{align-items:center;gap:var(--space-2);font-size:var(--text-body);color:var(--brand-soft);font-weight:500;display:flex}.dim-row__hint{font-size:var(--text-micro);color:var(--error-soft);white-space:nowrap;font-weight:700}.dim-row__value{font-size:var(--text-h2);color:var(--text-strong);font-variant-numeric:tabular-nums;font-weight:700;line-height:1}.dim-row__track{border-radius:var(--radius-sm);background:var(--overlay-1);grid-column:1/-1;height:4px;overflow:hidden}.dim-row__fill{border-radius:var(--radius-sm);background:var(--brand);height:100%;transition:width .6s cubic-bezier(.2,.8,.2,1);display:block}.dim-row--unmeasured .dim-row__label,.dim-row--gated .dim-row__label{color:var(--text-muted)}.dim-row--unmeasured .dim-row__value{font-size:var(--text-label);color:var(--text-muted);font-weight:700}.dim-row__gate{font-size:var(--text-label);color:var(--text-muted);white-space:nowrap}.dim-row__track--gated{border:1px dashed var(--border-mid);box-sizing:border-box;background:0 0}.dim-row__note{font-size:var(--text-micro);color:var(--text-muted);grid-column:1/-1;line-height:1.45}.radar-card.col{gap:var(--space-4)}.cando{font-size:var(--text-body);align-items:flex-start;gap:10px;display:flex}.cando--locked{opacity:.55}.cando__tick{border-radius:var(--radius-circle);border:1px solid var(--border-mid);width:22px;height:22px;color:var(--text-muted);font-size:var(--text-label);flex-shrink:0;justify-content:center;align-items:center;display:flex}.cando__tick--on{background:var(--cta);border-color:var(--cta);color:var(--cta-ink);box-shadow:none}.milestone-strip{border:2px dashed var(--border-mid);border-radius:var(--radius-card);color:var(--brand);font-size:var(--text-body);cursor:pointer;background:0 0;padding:12px;font-family:inherit;font-weight:700}.review-card{cursor:pointer;color:var(--text-strong);font-family:inherit;font-size:inherit;text-align:inherit}.review-word{font-size:var(--text-h1);margin:6px 0;font-weight:800}.review-back{border-top:1px dashed var(--border-card);flex-direction:column;gap:6px;padding-top:10px;display:flex}.review-ex{font-size:var(--text-title);color:var(--cta-soft);font-weight:600}.sm2-row{gap:var(--space-2);display:flex}.sm2-btn{font-size:var(--text-body);flex-direction:column;gap:2px;padding:10px 6px;display:flex}.sm2-hint{font-size:var(--text-micro);opacity:.8;font-weight:400}.onb__privacy{margin-top:var(--space-3)}.onb__privacy-line{font-size:var(--text-label);margin:0}.onb__privacy-toggle{margin-left:var(--space-1);color:var(--cta);cursor:pointer;font-family:inherit;font-size:var(--text-label);background:0 0;border:0;text-decoration:underline}.onb__privacy-qa{gap:var(--space-2);margin:var(--space-2) 0 0;font-size:var(--text-label);flex-direction:column;display:flex}.onb__privacy-qa dt{color:var(--text-strong);font-weight:700}.onb__privacy-qa dd{color:var(--text-muted);margin:0}.review-rest{gap:var(--space-2)}.week-grid{gap:var(--space-6);display:grid}.week-turns{font-size:var(--text-body);color:var(--text-muted);flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.week-turns__n{font-size:var(--text-display);color:var(--highlight);font-variant-numeric:tabular-nums;font-weight:800;line-height:1}.week-errors{gap:var(--space-3);flex-direction:column;display:flex}.week-errors__title{font-size:var(--text-label);letter-spacing:.04em;color:var(--text-muted);font-weight:700}.week-error__label{font-size:var(--text-title);color:var(--text-strong);font-weight:700;line-height:1.35}.week-error__quote{font-size:var(--text-body);color:var(--brand-soft);line-height:1.5}.week-error__quote-lead{font-size:var(--text-micro);color:var(--text-muted)}.week-error__src{font-size:var(--text-micro);color:var(--text-subtle);text-overflow:ellipsis;white-space:nowrap;max-width:100%;line-height:1.5;display:block;overflow:hidden}.week-suggest{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sheet);background:var(--cta-tint);border:1px solid #0000;flex-wrap:wrap;display:flex}.week-suggest__text{flex-direction:column;gap:2px;min-width:0;display:flex}.week-suggest__lead{font-size:var(--text-label);color:var(--text-muted)}.week-suggest__form{font-size:var(--text-title);color:var(--cta-soft);font-weight:700}.week-suggest .btn{flex-shrink:0;width:100%}.week-suggest--reason{flex-flow:column;align-items:stretch;min-width:0}.week-reason{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.week-reason .week-error__quote{overflow-wrap:anywhere}.week-others{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.week-others__tags{flex-wrap:wrap;gap:6px;display:flex}.week-others__tags .pill-tag{text-overflow:ellipsis;max-width:100%;overflow:hidden}.report-entry{margin-top:var(--space-4);gap:var(--space-2)}.report-entry__btn{font-size:var(--text-micro);opacity:.72}.form-card{gap:var(--space-3)}.form-band{border-radius:var(--radius-card);gap:10px;padding:12px 14px 12px 12px;display:flex}.form-band__mark{border-radius:var(--radius-pill);flex-shrink:0;width:6px}.form-band__body{flex-direction:column;flex-grow:1;gap:10px;min-width:0;display:flex}.form-band--topic{background:var(--bg-sunken)}.form-band--topic .form-band__mark{background:var(--brand)}.form-band--ok{background:var(--cta-tint)}.form-band--ok .form-band__mark{background:var(--cta)}.form-band--off{background:var(--bg-sunken)}.form-band--off .form-band__mark{background:var(--border-mid)}.form-band--neutral{background:var(--overlay-2)}.form-band--neutral .form-band__mark{background:var(--text-subtle)}.form-card__source{font-size:var(--text-micro);white-space:nowrap;max-width:100%;display:flex}.form-card__source-ctx{text-overflow:ellipsis;min-width:0;overflow:hidden}.form-card__rule{background:var(--border-card);height:1px}.form-card__intent{flex-direction:column;gap:5px;display:flex}.form-card__intent-label{font-size:var(--text-micro);letter-spacing:.06em;color:var(--text-subtle);font-weight:700}.form-card__prompt{font-size:var(--text-title);color:var(--text-strong);font-weight:500;line-height:1.5}.form-card__task{font-size:var(--text-label);color:var(--text-muted)}.form-card__note{font-size:var(--text-micro)}.form-card__input{box-sizing:border-box;width:100%;font-family:inherit;font-size:var(--text-title);min-height:44px;padding:10px var(--space-4);border-radius:var(--radius-card);border:var(--border-width) solid var(--border-mid);background:var(--bg-sunken);color:var(--text-strong)}.form-compare{background:var(--bg-sunken);border-radius:var(--radius-sheet);flex-direction:column;gap:11px;padding:12px 13px;display:flex}.form-compare__row{flex-direction:column;gap:5px;display:flex}.form-compare__label{font-size:var(--text-micro);letter-spacing:.06em;color:var(--text-subtle);font-weight:700}.form-compare__rule{background:var(--overlay-1);height:1px}.form-compare__text{font-size:var(--text-title);color:var(--text-strong);line-height:1.6}.form-verdict{font-size:var(--text-body)}.form-verdict--ok{color:var(--cta);font-weight:700}.form-verdict--skip{color:var(--text-muted)}.form-verdict--off{color:var(--brand);font-weight:700}.form-card__aftermath{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;min-height:44px;display:flex}.form-card__dispute{appearance:none;font:inherit;font-size:var(--text-body);color:var(--brand);text-underline-offset:4px;cursor:pointer;white-space:nowrap;background:0 0;border:0;min-height:44px;padding:0 2px;text-decoration:underline;text-decoration-thickness:1px}.form-card__dispute:hover{text-decoration-thickness:2px}.form-card__dispute:disabled{opacity:.55;cursor:default;text-decoration:none}.form-card__peek{font-size:var(--text-body);min-height:44px}.form-card__analysis-band .form-band__body{gap:var(--space-6)}.form-card__analysis{gap:var(--space-2);flex-direction:column;display:flex}.form-card__analysis-lead{font-size:var(--text-h2);color:var(--text-strong);font-weight:700;line-height:1.35}.form-card__analysis--pending .form-card__analysis-lead{color:var(--text-muted);font-weight:500}.form-card__analysis-sub{font-size:var(--text-body);color:var(--text-strong);line-height:1.55}.form-card__analysis-grammar{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.form-card__analysis-grammar li{font-size:var(--text-body);color:var(--text-muted);line-height:1.5}.form-card__analysis-hint{font-size:var(--text-micro);color:var(--text-muted)}.form-card__support{gap:var(--space-3);border-left:1px solid var(--overlay-1);flex-direction:column;padding-left:10px;display:flex}.form-card__thread{flex-direction:column;gap:10px;display:flex}.form-card__action{gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--overlay-1);flex-direction:column;display:flex}.form-card__retry,.form-card__escape{font-size:var(--text-body);min-height:44px}.form-card__grade{gap:var(--space-2);display:flex}.form-card__grade .btn{width:auto;min-width:0;min-height:44px;font-size:var(--text-body);justify-content:center;align-self:auto;align-items:center;gap:var(--space-2);background:var(--overlay-2);color:var(--text-strong);box-shadow:inset 0 0 0 1px var(--border-card);flex:1 1 0;display:flex}.form-card__grade .btn:active{box-shadow:inset 0 0 0 1px var(--border-card);transform:translateY(2px)}.form-card__grade-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width>=1024px){.form-card__grade-label{clip:auto;white-space:normal;border:0;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}}.form-card__grade-note{font-size:var(--text-micro);color:var(--text-muted)}.form-card__ask{gap:var(--space-2);align-items:center;display:flex}.form-card__ask .form-card__input{flex:auto;min-width:0}@media (width<=1023.98px){.form-card__ask{flex-wrap:wrap;align-items:stretch}.form-card__ask .form-card__input{flex:100%}.form-card__ask .btn{align-self:flex-start}}.form-card__ask .btn{width:auto;min-height:44px;font-size:var(--text-body);padding:12px var(--space-3);flex:none;align-self:auto}.form-card__ask-done{font-size:var(--text-micro);color:var(--text-muted)}.vocab-add{background:var(--cta);color:var(--cta-ink);border-radius:var(--radius-pill);font-size:var(--text-label);cursor:pointer;box-shadow:none;border:none;padding:6px 12px;font-family:inherit;font-weight:700}.vocab-add--on{background:var(--cta-tint);color:var(--cta);border:var(--border-width) solid var(--cta);box-shadow:none}.profile{align-items:center;gap:14px;display:flex}.profile b,.setting-row .col--grow{overflow-wrap:anywhere;min-width:0}.profile__avatar{border-radius:var(--radius-circle);background:linear-gradient(135deg, var(--lav-vivid), var(--brand-deep));width:56px;height:56px;font-size:var(--text-h1);flex-shrink:0;justify-content:center;align-items:center;display:flex}.sub-entry{align-items:center;gap:var(--space-3);cursor:pointer;color:var(--text-strong);font-family:inherit;font-size:var(--text-title);display:flex}.sub-entry__tile{border-radius:var(--radius-sheet);background:var(--grad-feature);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;display:flex}.plus-badge{font-size:var(--text-micro);background:var(--cta);color:var(--cta-ink);border-radius:var(--radius-pill);vertical-align:middle;padding:2px 7px;font-weight:800}.setting-row{align-items:center;gap:10px;display:flex}.setting-row__ic{background:var(--brand-tint);border-radius:var(--radius-sheet);flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;display:flex}.pack-card{border:3px solid var(--border-emphasis);background:var(--grad-feature)}.plan-row{background:var(--bg-sunken);border:var(--border-width) solid var(--border-card);border-radius:var(--radius-card);color:var(--text-strong);font-family:inherit;font-size:var(--text-title);cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.plan-row--on{border-color:var(--cta);background:var(--cta-tint)}.challenge-card{background:var(--grad-feature)}.scene-preview{border-radius:var(--radius-sm);color:#1a1e23;font-style:italic;font-size:var(--text-body);background:#fff;border:1.5px solid #000;padding:10px 12px;line-height:1.5;box-shadow:0 4px #000}.badge-grid{gap:var(--space-2);grid-template-columns:repeat(3,1fr);display:grid}.badge{align-items:center;gap:var(--space-1);text-align:center;border-radius:var(--radius-card);border:1px solid var(--border-card);font-size:var(--text-micro);flex-direction:column;padding:10px 6px;display:flex}.badge__emblem{border-radius:var(--radius-circle);border:1px solid var(--border-mid);justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;display:flex}.badge__cando{font-weight:700;line-height:1.3}.badge--locked{opacity:.55;filter:grayscale()}.badge--ready{border-color:var(--cta)}.badge--ready .badge__emblem{border-color:var(--cta);color:var(--cta)}.badge--earned{background:var(--brand-tint)}.badge--earned .badge__emblem{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}.auth__hero-logo{margin:0 auto 14px}.app-shell{justify-content:center;width:100%;display:flex}.app-stage{background:var(--bg);flex:1;min-width:0;display:flex}.side-nav{display:none}.grid-cards,.home-hero{gap:var(--space-6);flex-direction:column;display:flex}.home-hero{position:relative}.home-hero__title{margin:4px 0 6px;position:relative}.home-ling{z-index:1;cursor:pointer;touch-action:pan-y;background:0 0;border:0;padding:4px;line-height:0;position:absolute;bottom:-6px;right:0}.home-ling__body{display:inline-block}.home-ling__body--coo{animation:.6s ease-out home-ling-coo}@keyframes home-ling-coo{0%{transform:rotate(0)}25%{transform:rotate(-10deg)scale(1.08)}50%{transform:rotate(8deg)}to{transform:rotate(0)}}@media (prefers-reduced-motion:reduce){.home-ling__body{animation:none}.home-ling__body--coo{animation:.6s ease-out home-ling-coo-still}.home-ling[aria-busy=true] .home-ling__body{opacity:.6}}.home-ling--still .home-ling__body--coo{animation:.6s ease-out home-ling-coo-still}.home-ling--still[aria-busy=true] .home-ling__body{opacity:.6}@keyframes home-ling-coo-still{0%,to{filter:none}30%{filter:brightness(1.25) drop-shadow(0 0 6px var(--brand))}}.ling{display:block;overflow:visible}.ling *{transform-box:view-box}.ling .g-walk,.ling .g-shift,.ling .g-jump,.ling .g-tilt,.ling .g-breathe,.ling .g-breathe2{transform-origin:79px 188px}.ling .g-shift{transition:transform .5s ease-out}.ling .g-jump{transition:transform .35s ease-out}.ling .g-tilt{transform:rotate(var(--tilt,0deg));transition:transform .3s ease-out}.ling .g-face{transform:translate(var(--lx,0px), var(--ly,0px));transition:transform .22s ease-out}.ling .g-eye{transition:transform 80ms ease-in}.ling .g-eye-l{transform-origin:38.8px 100px}.ling .g-eye-r{transform-origin:122px 100px}.ling .droop-l,.ling .ant-l,.ling .ant-q-l{transform-origin:40px 42px}.ling .droop-r,.ling .ant-r,.ling .ant-q-r{transform-origin:120px 40px}.ling .droop-l,.ling .droop-r{transition:transform .9s}.ling .g-arm-l{transform-origin:50px 158px}.ling .g-arm-r{transform-origin:106px 158px}.ling .g-cheek-l{transform-origin:25.8px 124px}.ling .g-cheek-r{transform-origin:135px 124px}.ling .g-arm-l,.ling .g-arm-r,.ling .g-cheek-l,.ling .g-cheek-r{transition:transform .35s ease-out}.ling .g-spark-bl{transform-origin:15px 165.6px}.ling .g-spark-tr{transform-origin:158.8px 32px}.ling .z{transform-box:fill-box;transform-origin:50%}.ling .f-closed{display:none}.ling .g-zzz{opacity:0;transition:opacity .6s}.ling[data-face=content] .f-eyes,.ling[data-face=closed] .f-eyes{display:none}.ling[data-face=content] .f-closed,.ling[data-face=closed] .f-closed{display:inline}.ling[data-face=sleepy] .g-eye{transform:scaleY(.45)}.ling--alive .g-breathe{animation:3.2s ease-in-out infinite ling-breathe}.ling--alive .ant-l{animation:2.8s ease-in-out infinite ling-sway-l}.ling--alive .ant-r{animation:2.8s ease-in-out -1.1s infinite ling-sway-r}.ling--alive .g-spark-bl{animation:2.6s ease-in-out infinite ling-twinkle}.ling--alive .g-spark-tr{animation:2.6s ease-in-out -1.3s infinite ling-twinkle}@keyframes ling-breathe{0%,to{transform:none}50%{transform:translateY(calc(var(--u) * var(--k) * -5px)) scale(calc(1 - .015 * var(--k)), calc(1 + .035 * var(--k)))}}@keyframes ling-sway-l{0%,to{transform:rotate(calc(var(--antdeg) * var(--k) * -1deg))}50%{transform:rotate(calc(var(--antdeg) * var(--k) * 1deg))}}@keyframes ling-sway-r{0%,to{transform:rotate(calc(var(--antdeg) * var(--k) * 1deg))}50%{transform:rotate(calc(var(--antdeg) * var(--k) * -1deg))}}@keyframes ling-twinkle{0%,to{opacity:1;transform:none}50%{opacity:.45;transform:scale(.55)rotate(30deg)}}@keyframes ling-twinkle-fast{0%,to{opacity:1;transform:none}50%{opacity:.45;transform:scale(.55)rotate(30deg)}}@keyframes ling-quiver{0%,to{transform:none}25%{transform:rotate(calc(var(--antdeg) * 1.2deg))}75%{transform:rotate(calc(var(--antdeg) * -1.2deg))}}.ling.m-curious .droop-l{transform:rotate(9deg)}.ling.m-curious .droop-r{transform:rotate(-9deg)}.ling.m-curious .g-shift{transform:translateX(calc(var(--dir,1) * var(--u) * var(--k) * 6px))}.ling.r-curious .g-jump{animation:.75s cubic-bezier(.3,.7,.4,1) ling-hop}.ling.r-curious .g-eye{transform:scale(1.1)}@keyframes ling-hop{0%{transform:none}18%{transform:scale(1.08,.9)}48%{transform:translate(calc(var(--dir,1) * var(--u) * var(--k) * 4px), calc(var(--u) * var(--k) * -22px)) scale(.95, 1.06)}74%{transform:scale(1.07,.93)}to{transform:none}}.ling.r-happy .g-jump{animation:1.6s cubic-bezier(.3,.7,.4,1) ling-bounce}.ling.r-happy .g-arm-l{animation:.4s ease-in-out 4 ling-arm-l}.ling.r-happy .g-arm-r{animation:.4s ease-in-out 4 ling-arm-r}.ling.r-happy .g-cheek-l,.ling.r-happy .g-cheek-r{animation:1.6s ling-blush}.ling.r-happy .g-spark-bl,.ling.r-happy .g-spark-tr{animation:.5s ease-in-out 3 ling-twinkle-fast}@keyframes ling-bounce{0%{transform:none}10%{transform:scale(1.1,.88)}26%{transform:translateY(calc(var(--u) * var(--k) * -28px)) scale(.94, 1.08)}42%{transform:scale(1.1,.88)}58%{transform:translateY(calc(var(--u) * var(--k) * -18px)) scale(.96, 1.05)}74%{transform:scale(1.06,.94)}88%{transform:scale(.99,1.01)}to{transform:none}}@keyframes ling-arm-l{0%,to{transform:none}50%{transform:rotate(-26deg)}}@keyframes ling-arm-r{0%,to{transform:none}50%{transform:rotate(26deg)}}@keyframes ling-blush{0%,to{transform:none}25%,75%{transform:scale(1.3)}}.ling.r-eager .g-jump{animation:.9s ease-out ling-eager}@keyframes ling-eager{0%{transform:none}22%{transform:scale(1.06,.92)}50%{transform:translateY(calc(var(--u) * var(--k) * -20px)) rotate(var(--ctatilt,6deg)) scale(.96, 1.05)}78%{transform:rotate(calc(var(--ctatilt,6deg) * .5)) scale(1.04, .96)}to{transform:none}}.ling.m-shy .g-arm-l{transform:translate(-2px,-10px)rotate(-14deg)}.ling.m-shy .g-arm-r{transform:translate(2px,-10px)rotate(14deg)}.ling.m-shy .g-cheek-l,.ling.m-shy .g-cheek-r{transform:scale(1.35)}.ling.r-shy .g-jump{animation:1.1s ease-in-out ling-shy-wiggle}.ling.r-shy .f-eyes{animation:1.1s ease-in-out ling-shy-look}.ling.r-shy .ant-q-l,.ling.r-shy .ant-q-r{animation:.22s ease-in-out 4 ling-quiver}@keyframes ling-shy-wiggle{0%,to{transform:none}20%{transform:translateX(calc(var(--u) * var(--k) * -6px)) rotate(-4deg)}45%{transform:translateX(calc(var(--u) * var(--k) * 6px)) rotate(4deg)}70%{transform:translateX(calc(var(--u) * var(--k) * -3px)) rotate(-2deg)}}@keyframes ling-shy-look{0%,to{transform:none}15%,60%{transform:translateY(4px)}}.ling.m-sleepy .droop-l{transform:rotate(-12deg)}.ling.m-sleepy .droop-r{transform:rotate(12deg)}.ling.m-sleepy.is-asleep .droop-l{transform:rotate(-20deg)}.ling.m-sleepy.is-asleep .droop-r{transform:rotate(20deg)}.ling.m-sleepy .g-breathe,.ling.m-sleepy .ant-l,.ling.m-sleepy .ant-r,.ling.m-sleepy .g-spark{animation-play-state:paused}.ling.m-sleepy .g-breathe2{animation:5s ease-in-out infinite ling-breathe-sleep}.ling.m-sleepy.is-asleep .g-face{transform:translateY(3px)}.ling.m-sleepy.is-asleep .g-zzz{opacity:1}.ling.m-sleepy.is-asleep .z{animation:3s ease-in infinite ling-zfloat}.ling.m-sleepy.is-asleep .z2{animation-delay:-1s}.ling.m-sleepy.is-asleep .z3{animation-delay:-2s}@keyframes ling-breathe-sleep{0%,to{transform:none}50%{transform:translateY(calc(var(--u) * var(--k) * -3px)) scale(1, calc(1 + .025 * var(--k)))}}@keyframes ling-zfloat{0%{opacity:0;transform:translate(0)scale(.6)}20%{opacity:1}to{opacity:0;transform:translate(8px,-22px)scale(1.1)}}.ling.r-wake .g-jump{animation:1s ease-in-out ling-stretch}@keyframes ling-stretch{0%,to{transform:none}35%,60%{transform:scale(.95,1.09)}82%{transform:scale(1.04,.96)}}.ling.r-wait .ant-q-l,.ling.r-wait .ant-q-r{animation:.24s ease-in-out 10 ling-quiver}.ling.r-wait .g-jump{animation:.6s ease-in-out 4 ling-wait-bob}.ling.m-waiting .g-face{transform:translateY(-3px)}@keyframes ling-wait-bob{0%,to{transform:none}50%{transform:translateY(calc(var(--u) * var(--k) * -6px))}}.ling.r-greet .g-arm-r{animation:1.6s ease-in-out ling-wave}.ling.r-greet .g-jump{animation:1.6s ease-in-out ling-lean}@keyframes ling-wave{0%,to{transform:none}18%{transform:rotate(70deg)}34%{transform:rotate(42deg)}50%{transform:rotate(74deg)}66%{transform:rotate(42deg)}82%{transform:rotate(66deg)}}@keyframes ling-lean{0%,to{transform:none}20%,80%{transform:rotate(4deg)}}.ling.is-blink .g-eye{transform:scaleY(.08)}.home-ling--still .ling,.home-ling--still .ling *{transition:none!important;animation:none!important}@media (width>=600px) and (width<=1023.98px){body{justify-content:stretch}.app-shell{justify-content:flex-start}.side-nav{background:var(--bg-deep);border-right:1px solid var(--border-card);flex-direction:column;flex-shrink:0;align-items:stretch;gap:4px;width:72px;height:100vh;padding:12px 6px;display:flex;position:sticky;top:0}.side-nav__brand{display:none}.side-nav__tab{color:var(--text-muted);font-size:var(--text-micro);cursor:pointer;text-align:center;background:0 0;border:none;border-radius:12px;flex-direction:column;align-items:center;gap:4px;min-height:44px;padding:10px 2px;font-family:inherit;font-weight:600;display:flex}.side-nav__tab--on{color:var(--cta);background:var(--cta-tint);font-weight:700}.side-nav__ic{text-align:center;width:24px;font-size:20px}.nav{display:none}.phone{height:100vh}.shell--wide,.shell--main{max-width:680px;margin:0 auto}.shell--narrow{max-width:480px;margin:0 auto}.home-hero{width:100%}.grid-cards{gap:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.grid-cards>*{min-width:0}}@media (width>=1024px){body{justify-content:stretch}#root{max-width:none}.app-shell{justify-content:flex-start}.side-nav{width:var(--sidebar-w);background:var(--bg-deep);border-right:1px solid var(--border-card);flex-direction:column;flex-shrink:0;gap:2px;height:100vh;padding:10px;display:flex;position:sticky;top:0}.side-nav__brand{font-size:var(--text-button);color:var(--text-strong);padding:14px 10px 18px;font-weight:800}.side-nav__tab{align-items:center;gap:var(--space-3);color:var(--text-muted);font-size:var(--text-body);cursor:pointer;text-align:left;background:0 0;border:none;padding:12px 10px;font-family:inherit;font-weight:600;display:flex}.side-nav__tab--on{color:var(--cta);font-weight:700}.side-nav__ic{text-align:center;width:22px;font-size:18px}.phone{max-width:none;height:100vh}.shell--wide{max-width:var(--content-max);margin:0 auto}.shell--main{max-width:var(--content-main);margin:0 auto}.shell--narrow{max-width:480px;margin:0 auto}.nav{display:none}.grid-cards{gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}.grid-cards--lg{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.grid-cards>*{min-width:0}.dim-list{gap:var(--space-4) var(--space-8);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.dim-row{column-gap:var(--space-4);grid-template-columns:auto auto 1fr;align-content:start}.home-hero{width:100%;max-width:var(--content-main);margin-left:0;margin-right:auto}.phone--cosmic>.phone__body{column-gap:var(--space-8);row-gap:var(--space-6);grid-template-columns:minmax(0,1fr) minmax(320px,400px);grid-auto-flow:dense;align-content:start;align-items:start;display:grid}.phone--cosmic>.phone__body>*{grid-column:1}.phone--cosmic>.phone__body>.home-hero~*{grid-column:2}.phone--cosmic>.phone__body>.home-rec-head{align-self:end;margin-top:0}.side-nav__tab--on{background:var(--cta-tint);border-radius:12px}.badge-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.week-grid--2col{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);align-items:start}.week-grid--2col .week-turns{grid-area:1/1}.week-grid--2col .week-errors{grid-area:1/2/span 2}.week-grid--2col .week-suggest{grid-area:2/1;align-self:end}.week-grid:not(.week-grid--2col),.form-card,.review-card,.history-replay>*{max-width:var(--content-main)}.week-suggest .btn{width:auto}.week-grid--reason.week-grid--2col .week-suggest{grid-area:1/2/span 2;align-self:start}.week-grid--reason.week-grid--2col .week-others{grid-area:2/1;align-self:end}.week-suggest--reason .btn{align-self:flex-start}.phone.auth{grid-template-columns:minmax(0,1fr) 420px;align-items:stretch;max-width:none;margin:0;display:grid}.phone.auth>*{min-height:0}.auth__demo[hidden]{padding:var(--space-6) clamp(var(--space-8), 6vw, 120px) var(--space-6) var(--space-6);background:var(--bg-deep);border-right:1px solid var(--border-card);flex-direction:column;align-items:flex-end;display:flex;overflow:hidden auto}.auth__demo-inner{width:100%;max-width:460px;margin-block:auto}.auth__demo-brand{margin:0 0 var(--space-8)}.auth__demo-brand .auth__mark{margin:0 0 var(--space-4)}.auth__demo-brandname{font-size:var(--text-display);color:var(--text-strong);letter-spacing:.5px;margin:0 0 var(--space-2);font-weight:700;line-height:1.1}.auth__demo-brand p{font-size:var(--text-h2);color:var(--text-muted);margin:0}.auth .phone__body .auth__hero{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:0;padding:0;position:absolute;overflow:hidden}.auth__demo-head{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);font-size:var(--text-label);color:var(--text-muted);display:flex}.auth__demo-chat{gap:var(--space-3);flex-direction:column;display:flex}.auth__demo-note{margin-top:var(--space-4);font-size:var(--text-label);color:var(--text-muted);line-height:1.5}.auth__demo-foot{align-items:center;gap:var(--space-3);display:flex}.auth__demo-foot .auth__demo-note{margin:0}.auth__demo-mascot{display:block}.auth__demo-logo{margin:0 0 var(--space-4)}.auth__demo-tag{font-size:var(--text-micro);color:var(--error-soft);background:var(--error-tint);border:1px solid var(--error-soft);border-radius:var(--radius-pill);vertical-align:middle;padding:1px 7px;font-weight:700;display:inline-block}.auth .phone__body{padding:var(--space-6);background:var(--bg);grid-column:2;gap:0}.auth .phone__body:before{content:"";margin-top:auto}.auth .phone__body:after{content:"";margin-bottom:auto}.auth .auth__field{margin-bottom:var(--space-4)}.auth .error-card{margin:0 0 var(--space-4)}.auth .auth__main{margin:var(--space-4) 0 0}.auth .auth__foot{margin:var(--space-6) 0 0}.auth [title=暫未開放],.auth .auth__divider{display:none}.auth .auth__forgot-note[hidden]{font-size:var(--text-label);color:var(--text-muted);display:inline}.auth .error-card__msg{scrollbar-width:thin;scrollbar-color:var(--border-mid) transparent;max-height:7.5em;overflow-y:auto}.auth .auth__field:focus-within{border-color:var(--border-emphasis)}.auth :is(button,a):focus-visible{outline:var(--border-width) solid var(--cta);outline-offset:3px}.auth .auth__field input:-webkit-autofill{-webkit-box-shadow:0 0 0 100px var(--surface-raised) inset;-webkit-text-fill-color:var(--text-strong);caret-color:var(--text-strong)}.auth .auth__field input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 100px var(--surface-raised) inset;-webkit-text-fill-color:var(--text-strong);caret-color:var(--text-strong)}@media (forced-colors:active){.auth .btn{border:var(--border-width) solid ButtonText}}}.onb__scroll{flex-direction:column;display:flex}.onb__hero{text-align:center;justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-6) 0;flex-direction:column;flex:1;display:flex}.onb__hero h1{margin:var(--space-2) 0 0}.onb__bubble{align-items:center;gap:var(--space-2);background:var(--surface-raised);border:1px solid var(--border-mid);padding:var(--space-2) var(--space-4);font-size:var(--text-label);color:var(--text-strong);border-radius:999px;display:inline-flex;position:relative}.onb__bubble:before{content:"";background:var(--surface-raised);border-left:1px solid var(--border-mid);border-top:1px solid var(--border-mid);width:10px;height:10px;margin-left:-5px;position:absolute;top:-6px;left:50%;transform:rotate(45deg)}.onb__dots{gap:3px;display:inline-flex}.onb__slot{flex:none;display:block;position:relative}@keyframes onb-egg-wobble{0%,to{transform:rotate(0)}25%{transform:rotate(-4deg)}75%{transform:rotate(4deg)}}.onb__slot [data-mascot=egg]{transform-origin:50% 90%;animation:.4s ease-in-out .6s 2 onb-egg-wobble}.onb__hatch-note{font-size:var(--text-label);color:var(--text-muted);text-align:center;text-wrap:pretty;margin:0}@media (prefers-reduced-motion:reduce){.onb__slot [data-mascot=egg]{animation:none}}.onb__dots i{background:var(--cta-soft);border-radius:999px;width:4px;height:4px;font-style:normal;animation:1.2s infinite onb-blink}.onb__dots i:nth-child(2){animation-delay:.2s}.onb__dots i:nth-child(3){animation-delay:.4s}@keyframes onb-blink{0%,60%,to{opacity:.25}30%{opacity:1}}.onb__promise{font-size:var(--text-body);color:var(--cta-soft);margin:0;font-weight:500}.onb__head--compact{align-items:center;gap:var(--space-3);margin:var(--space-1) 0 var(--space-6);display:flex}.onb__head--compact h1{font-size:var(--text-h2)}.onb__head--compact .onb__promise{font-size:var(--text-label)}.onb__panel-head{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.onb__fold{cursor:pointer;align-items:center;gap:var(--space-1);color:var(--text-subtle);font-family:inherit;font-size:var(--text-label);background:0 0;border:none;min-height:44px;display:flex}.onb__goals{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.onb__goal{align-items:flex-start;gap:var(--space-2);padding:var(--space-4);cursor:pointer;min-width:0;font-size:var(--text-title);color:var(--text-strong);text-align:left;flex-direction:column;display:flex}.onb__goal--on{border-color:var(--border-emphasis)}.onb__goal-ic{color:var(--cta-soft);font-size:var(--text-h2)}.onb__level{margin:var(--space-6) 0 0}.onb__level-lbl{margin-bottom:var(--space-2);display:block}.onb__hint{margin-top:var(--space-1);font-size:var(--text-label);display:block}.onb__tune{margin-top:var(--space-6);border:none;border-top:1px solid var(--border-card);justify-content:center;align-items:center;gap:var(--space-1);width:100%;min-height:48px;color:var(--text-subtle);font-size:var(--text-body);cursor:pointer;background:0 0;font-family:inherit;display:flex}.onb__action{padding-top:var(--space-6);margin-top:auto}.btn--big{font-size:var(--text-h2);border-radius:var(--radius-card);padding:18px 20px}.onb__link{cursor:pointer;width:100%;color:var(--text-muted);font-family:inherit;font-size:var(--text-body);padding:var(--space-3) 0 0;background:0 0;border:none;justify-content:center;align-items:center;min-height:48px;display:flex}.review-card{position:relative}.review-card__flip{z-index:0;border-radius:inherit;cursor:pointer;background:0 0;border:none;padding:0;position:absolute;inset:0}.review-card__speak{z-index:1;vertical-align:middle;margin-left:var(--space-2);align-items:center;display:inline-flex;position:relative}.scenario-node{align-items:center;gap:var(--space-4);border:var(--border-width) solid transparent;border-radius:var(--radius-card);background:var(--surface-raised);width:100%;box-shadow:var(--shadow-card);text-align:left;flex-direction:row;padding:18px;display:flex;position:relative}.scenario-node__tile{border-radius:var(--radius-sheet);background:var(--brand-tint);width:56px;height:56px;color:var(--brand);flex-shrink:0;justify-content:center;align-items:center;display:flex}.scenario-node__tile svg{width:26px;height:26px}.scenario-node__body{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.scenario-node__title{font-size:var(--text-title);line-height:1.3}.scenario-node__cando{font-size:var(--text-label);color:var(--text-muted);line-height:1.5}.scenario-node__start{border-radius:var(--radius-pill);background:var(--cta-tint);color:var(--cta-soft);font-size:var(--text-label);letter-spacing:.06em;text-transform:uppercase;flex-shrink:0;padding:8px 12px;font-weight:700;line-height:1}.app-stage:has(>.phone--cosmic){background-color:var(--bg);background-image:radial-gradient(900px 420px at 0% 0%, var(--glow-1), transparent 60%), radial-gradient(700px 380px at 100% 100%, var(--glow-2), transparent 60%)}.phone--cosmic{background:0 0}.privacy-note{margin-top:var(--space-3)}.privacy-note__line{font-size:var(--text-label);margin:0}.privacy-note__toggle{margin-left:var(--space-1);color:var(--cta);cursor:pointer;font-family:inherit;font-size:var(--text-label);background:0 0;border:0;text-decoration:underline}.privacy-note__qa{gap:var(--space-2);margin:var(--space-2) 0 0;font-size:var(--text-label);flex-direction:column;display:flex}.privacy-note__qa dt{color:var(--text-strong);font-weight:700}.privacy-note__qa dd{color:var(--text-muted);margin:0}.companion-bubble{width:fit-content;max-width:100%;margin:var(--space-3) auto var(--space-2);background:var(--surface-raised);border:1px solid var(--border-mid);padding:var(--space-2) var(--space-4);font-size:var(--text-label);color:var(--text-strong);overflow-wrap:anywhere;border-radius:14px;display:block;position:relative}.companion-bubble:before{content:"";background:var(--surface-raised);border-left:1px solid var(--border-mid);border-top:1px solid var(--border-mid);width:10px;height:10px;margin-left:-5px;position:absolute;top:-6px;left:50%;transform:rotate(45deg)}.next-stop{align-items:center;gap:var(--space-2);min-width:0;font-size:var(--text-label);color:var(--text-muted);display:flex}.next-stop__text{overflow-wrap:anywhere;flex:1;min-width:0}.next-stop__label{color:var(--text-subtle)}.next-stop__change{min-width:44px;min-height:44px;padding:0 var(--space-2);cursor:pointer;font-family:inherit;font-size:var(--text-label);color:var(--cta-soft);background:0 0;border:none;flex-shrink:0}.next-stop__change:disabled{opacity:.5;cursor:default}.companion-bubble--plain{margin:0}.companion-bubble--plain:before{display:none}.companion-s11{align-items:flex-start;gap:var(--space-1);flex-direction:column;display:flex}.companion-s11__who{font-size:var(--text-micro)}.onb__talk{justify-items:center;display:grid}.onb__talk>*{grid-area:1/1}.onb__talk--static,.onb__ling{align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.opening-card__worldframe{font-size:var(--text-label);margin-bottom:var(--space-1)}.fs-micro{font-size:var(--text-micro)}.fs-label{font-size:var(--text-label)}.fs-body{font-size:var(--text-body)}.fs-title{font-size:var(--text-title)}.fs-button{font-size:var(--text-button)}.fs-h2{font-size:var(--text-h2)}.sheet--brand{border-left-color:var(--brand)}:root[data-theme=light] .sheet--brand{border-left-color:var(--highlight)}.hint-example{margin-top:4px}.mascot--center{margin:0 auto;display:block}.gap-6{gap:6px}.gap-10{gap:10px}.col--grow{flex:1;gap:2px}.col--grow4{flex:1;gap:4px}.col--grow-left{text-align:left;flex:1;gap:2px}.grow{flex:1}.items-center{align-items:center}.push-down{margin-top:auto}.speak-gap{margin-left:8px}.mascot--block{display:block}.field--flush{margin-bottom:0}.btn--fit{width:auto}.gap-2{gap:2px}.text-left{text-align:left}.items-end{align-items:flex-end}.self-start{align-self:flex-start}.story-wait{align-items:center;gap:var(--space-2);padding:var(--space-3) 0;display:flex}.story-empty{align-items:flex-start}.story-actions{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.story-actions>.btn:only-child{grid-column:1/-1}.story-draft{border-left-color:var(--brand);gap:var(--space-3);flex-direction:column;display:flex}.story-draft__label{font-size:var(--text-button);color:var(--text-strong);font-weight:700}.story-draft__input{resize:vertical;width:100%;min-height:200px;font-family:inherit;font-size:var(--text-title);color:var(--text-strong);background:var(--bg-sunken);border:var(--border-width) solid var(--border-mid);border-radius:var(--radius-sheet);padding:var(--space-3) var(--space-4);line-height:1.7}.story-draft__input:focus{border-color:var(--border-emphasis);outline:none}.story-draft__voice{align-items:center;gap:var(--space-2);display:flex}.story-head{border-left-color:var(--brand);gap:var(--space-1);flex-direction:column;display:flex}.story-head__title{overflow-wrap:anywhere;line-height:1.35}.story-ep{gap:var(--space-1);box-shadow:none;border-color:var(--border-card);flex-direction:column;display:flex}.story-ep .muted{line-height:1.6}.story-card{gap:var(--space-3);flex-direction:column;display:flex}.story-card__status{font-size:var(--text-body);color:var(--brand-soft);background:var(--brand-tint);border-radius:var(--radius-sheet);padding:10px 12px}.story-card__status--done{color:var(--text-muted);background:var(--bg-sunken)}.story-card__btn{align-self:flex-end;min-height:44px;padding:0 22px}.story-recap{border-left-color:var(--brand);gap:var(--space-2);flex-direction:column;display:flex}.story-recap__h{font-size:var(--text-button);color:var(--text-strong)}.story-recap__p{font-size:var(--text-title);color:var(--text-strong);margin:0;line-height:1.9}.story-upnext{font-weight:700}.story-next{width:100%;margin-top:var(--space-2);color:var(--text-strong);text-align:left;cursor:pointer;background:0 0;border:none;padding:0 12px 12px 0;font-family:inherit;display:grid;position:relative}.story-next__old,.story-next__slip{gap:var(--space-1);padding:var(--space-4);border-radius:var(--radius-sheet);flex-direction:column;grid-area:1/1;min-width:0;transition:transform .45s cubic-bezier(.2,1.2,.4,1),box-shadow .3s;display:flex}.story-next__old{background:var(--surface-raised);border:1px solid var(--border-card);z-index:1;transform:rotate(1.2deg)}.story-next__slip{z-index:2;transform-origin:30% 0;background-color:var(--surface-raised);background-image:repeating-linear-gradient(180deg, transparent 0 25px, var(--border-card) 25px 26px);box-shadow:var(--shadow-card);animation:.6s cubic-bezier(.2,1.35,.4,1) backwards story-slip-drop;position:relative;transform:translate(7px,7px)rotate(-1.5deg)}.story-next--peek .story-next__old{z-index:2;box-shadow:var(--shadow-card);transform:translate(-4px,-4px)rotate(-1deg)}.story-next--peek .story-next__slip{z-index:1;box-shadow:none;transform:translate(10px,12px)rotate(2.5deg)}.story-next__tag{font-size:var(--text-micro);color:var(--text-muted);background:var(--bg-sunken);border-radius:var(--radius-sm);align-self:flex-start;padding:2px 8px;font-weight:700}.story-slip__tape{opacity:.8;background:repeating-linear-gradient(135deg, var(--brand-soft) 0 6px, var(--border-mid) 6px 12px);height:18px;position:absolute;top:-9px}.story-slip__tape--l{width:54px;left:16px;transform:rotate(-8deg)}.story-slip__tape--r{width:44px;right:18px;transform:rotate(7deg)}.story-slip__badge{align-self:flex-start;align-items:center;gap:var(--space-1);font-size:var(--text-label);color:var(--brand-soft);background:var(--brand-tint);border-radius:var(--radius-pill);padding:4px 10px;font-weight:900;display:inline-flex}.story-peek-hint{text-align:center;margin:0}@keyframes story-slip-drop{0%{opacity:0;transform:translate(6px,-80px)rotate(-10deg)scale(1.05)}to{opacity:1;transform:translate(7px,7px)rotate(-1.5deg)}}@media (prefers-reduced-motion:reduce){.story-next__old,.story-next__slip{transition:none;animation:none}}.story-plot{gap:var(--space-2);flex-direction:column;display:flex}.story-plot__toggle{border:1px solid var(--border-card);border-radius:var(--radius-sheet);background:var(--surface-raised);min-height:44px;font-family:inherit;font-size:var(--text-label);color:var(--text-muted);cursor:pointer}.story-plot__list{padding-left:var(--space-6);gap:var(--space-2);font-size:var(--text-body);flex-direction:column;margin:0;line-height:1.6;display:flex}.story-plot__retry{font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.story-ling{align-items:center;gap:var(--space-3);margin:var(--space-3) var(--space-4) 0;background:var(--surface-raised);border:var(--border-width) dashed var(--border-mid);border-radius:var(--radius-card);padding:10px var(--space-4) 10px var(--space-2);box-shadow:var(--shadow-card);animation:.5s cubic-bezier(.2,1.35,.4,1) backwards story-ling-peek;display:flex;transform:rotate(-1deg)}.story-ling__mascot{flex:none}.story-ling__coo{font-size:var(--text-title);color:var(--brand);font-weight:900}.story-ling__line{font-size:var(--text-body);color:var(--text-strong);line-height:1.6}@keyframes story-ling-peek{0%{opacity:0;transform:translateY(-16px)rotate(-1deg)}to{opacity:1;transform:rotate(-1deg)}}.story-quake{background-image:repeating-linear-gradient(172deg, transparent 0 38px, var(--brand-tint) 38px 42px)}@media (prefers-reduced-motion:reduce){.story-ling{animation:none}}.story-close{z-index:20;padding:var(--space-6);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.story-close__box{align-items:center;gap:var(--space-3);text-align:center;background:var(--surface-raised);border-radius:var(--radius-lg);width:100%;max-width:360px;padding:var(--space-6);box-shadow:var(--shadow-card-black);flex-direction:column;display:flex;position:relative}.story-close__box .h2{margin:0}.story-close__body{margin:0;line-height:1.7}.story-close__tape{opacity:.9;background:repeating-linear-gradient(135deg, var(--brand-soft) 0 6px, var(--border-mid) 6px 12px);width:74px;height:20px;margin-left:-37px;position:absolute;top:-10px;left:50%;transform:rotate(-3deg)}.story-safety{gap:var(--space-3);flex-direction:column;display:flex}.story-safety__p{margin:0;line-height:1.6}.story-safety__q{font-weight:700}.story-answers{gap:var(--space-2);flex-wrap:wrap;display:flex}.story-answers>.btn{flex:auto;width:auto;min-width:0}.story-resources{gap:var(--space-1);font-size:var(--text-body);color:var(--text-strong);flex-direction:column;line-height:1.6;display:flex}.story-resources__lead{color:var(--text-muted);font-size:var(--text-label)}.story-resources__list{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.story-resources__num{font-weight:700}.story-resources__emergency{gap:var(--space-1);flex-wrap:wrap;display:flex}.story-rewrites{gap:var(--space-2);margin-top:var(--space-2);flex-direction:column;display:flex}.story-quiet-link{min-height:44px;font:inherit;font-size:var(--text-label);color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-self:flex-start;align-items:center;padding:0;text-decoration:underline;display:inline-flex}.story-quiet-link:disabled{cursor:default;opacity:.6}.story-card__actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.story-care{gap:var(--space-2);border-left:3px solid var(--cta);padding-left:var(--space-3);flex-direction:column;display:flex}.story-care__h{font-size:var(--text-body);color:var(--text-strong)}.story-fiction{display:block}.story-privacy{margin:0;line-height:1.6}.story-memory__title{margin:0}.story-memory__intro{margin:0;line-height:1.6}.story-memory__sec{gap:var(--space-2);box-shadow:none;border-color:var(--border-card);flex-direction:column;display:flex}.story-memory__list{padding-left:var(--space-6);gap:var(--space-1);flex-direction:column;margin:0;line-height:1.6;display:flex}.story-memory__none{margin:0}.story-mark{margin-right:var(--space-1);vertical-align:middle}@media (width>=1024px){.story-col>*{max-width:var(--content-main)}}@media (width<=1023.98px){.phone--journal>.phone__body,.phone--journal .home-hero{gap:12px}.phone--journal .home-hero__title{margin:0}.phone--journal .home-rec-head{margin-top:6px}}.jr-sprite{width:0;height:0;position:absolute;overflow:hidden}.jr-book{display:none}.phone--journal .phone__body{position:relative}.jr-stage{--jr-head:clamp(56px, min(18vw, 10.5vh), 72px);z-index:1;margin:0 calc(var(--space-6) * -1);height:calc(var(--jr-head) * 1.225 + 8px + clamp(28px, 6vh - 6px, 46px));position:relative}.jr-stage__scene{pointer-events:none;position:absolute;inset:0;overflow:hidden}.jr-stage__scene>svg{position:absolute}.jr-sheet--under{border-radius:5px 2px 2px 6px;width:calc(100% + 12px);height:calc(100% - 9px);top:9px;left:18px;transform:rotate(1.2deg)}.jr-sheet--top{transform-origin:0;border-radius:5px 2px 2px 6px;width:calc(100% + 18px);height:calc(100% - 7px);top:4px;left:12px;transform:rotate(-.9deg)}.jr-stage__tape{width:60px;height:17px;top:2px;left:2px;transform:rotate(-32deg)}.jr-stage__pressed{width:30px;height:44px;top:6px;right:18px;transform:rotate(14deg)}.jr-stage__lamp{width:300px;height:210px;top:-110px;right:-90px}.jr-vig{aspect-ratio:8/5;width:auto;height:calc(100% - 14px);bottom:7px;right:12%;overflow:visible}.jr-dd{overflow:visible}.jr-dd--plane{width:78px;height:35px;top:12px;left:34px}.jr-dd--balloon{display:none}.jr-dd--cup{width:30px;height:27px;bottom:9px;left:30px}.jr-dd--sprig{width:20px;height:28px;bottom:9px;right:34px}.jr-dd--ground{width:calc(100% - 52px);height:10px;bottom:6px;left:26px}.scene .jr-lamp{animation:7s ease-in-out infinite jr-lamp}@keyframes jr-lamp{0%,to{opacity:.62}50%{opacity:1}}.home-ling-walk{z-index:2;position:absolute;inset:0 28px 6px}.home-ling--walker{transform:translateX(var(--x,0px));transition:transform var(--walk-ms,0s) ease-in-out;position:absolute;inset:auto auto 0 0}.home-ling--walker.home-ling--still{transition:none}.ling.is-walking .g-walk{animation:.36s ease-in-out infinite ling-step}@keyframes ling-step{0%,to{transform:none}50%{transform:translateY(calc(var(--u) * var(--k) * -5px)) rotate(2deg)}}[data-ling-motion=off] .scene,[data-ling-motion=off] .scene *,[data-ling-motion=off] .home-ling--walker{transition:none!important;animation:none!important}@media (prefers-reduced-motion:reduce){.scene,.scene *,.home-ling--walker{transition:none!important;animation:none!important}}.btn--ticket{--stub:52px;--notch:7px;-webkit-mask:radial-gradient(circle var(--notch) at calc(100% - var(--stub)) 0, #0000 95%, #000) top / 100% 51% no-repeat, radial-gradient(circle var(--notch) at calc(100% - var(--stub)) 100%, #0000 95%, #000) bottom / 100% 51% no-repeat;-webkit-mask:radial-gradient(circle var(--notch) at calc(100% - var(--stub)) 0, #0000 95%, #000) top / 100% 51% no-repeat, radial-gradient(circle var(--notch) at calc(100% - var(--stub)) 100%, #0000 95%, #000) bottom / 100% 51% no-repeat;mask:radial-gradient(circle var(--notch) at calc(100% - var(--stub)) 0, #0000 95%, #000) top / 100% 51% no-repeat, radial-gradient(circle var(--notch) at calc(100% - var(--stub)) 100%, #0000 95%, #000) bottom / 100% 51% no-repeat;box-shadow:none;border-radius:12px;justify-content:flex-start;align-items:center;gap:0;padding:0;display:flex}.btn--ticket .btn__tx{justify-content:center;align-items:center;gap:var(--space-2);letter-spacing:.04em;flex:1;padding:12px 8px 12px 16px;display:inline-flex}.btn--ticket .btn__stub{width:var(--stub);align-self:stretch;place-items:center;display:grid;position:relative}.btn--ticket .btn__stub:before{content:"";opacity:.32;border-left:2px dashed;position:absolute;top:9px;bottom:9px;left:-1px}.btn--ticket .btn__stub svg{width:22px;height:22px}.btn-ticket-wrap{filter:drop-shadow(var(--shadow-cta-flat,0 6px 14px #00f7da38))}:root[data-theme=light] .btn-ticket-wrap{filter:drop-shadow(0 6px 14px #5b3ce042)}.scenario-node{position:relative}.scenario-node__tape{pointer-events:none;width:58px;height:17px;position:absolute;top:-8px;left:20px;transform:rotate(-4deg)}.scenario-node:nth-child(2n)>.scenario-node__tape{left:auto;right:26px;transform:rotate(5deg)}.jr-recart{display:none}@media (width>=600px) and (width<=1023.98px){.jr-stage{--jr-head:88px;height:calc(var(--jr-head) * 1.225 + 8px + 58px)}.home-ling-walk{left:44px;right:44px}.jr-dd--cup{left:44px}.jr-dd--sprig{right:56px}.jr-vig{right:24%}.btn--ticket{--stub:60px}}@media (width>=1024px){.jr-book{--jr-lip:14px;--jr-gutter:var(--space-6);z-index:0;pointer-events:none;top:calc(var(--jr-lip) * -1);bottom:calc(var(--space-6) - var(--jr-lip));left:calc((var(--jr-lip) + var(--jr-gutter)) * -1);right:calc(var(--space-6) - var(--jr-lip));display:block;position:absolute}.phone--journal>.phone__body{padding-left:calc(var(--space-6) + var(--space-6));padding-right:calc(var(--space-6) + var(--space-6))}.jr-book>svg{position:absolute}.jr-book__cover{width:100%;height:100%;top:0;left:0}.jr-book__page{top:var(--jr-lip);height:calc(100% - var(--jr-lip) * 2);width:calc(50% - var(--jr-lip))}.jr-book__page--l{left:var(--jr-lip);border-radius:10px 3px 3px 10px}.jr-book__page--r{border-radius:3px 10px 10px 3px;left:50%;transform:scaleX(-1)}.jr-book__cord{width:3px;height:calc(100% - 8px);top:4px;left:calc(50% - 1.5px)}.jr-book__lamp{width:50%;height:56%;top:28%;left:1%}.jr-book__tape{width:64px;height:19px}.jr-book__tape--a{top:-2px;left:-14px;transform:rotate(-38deg)}.jr-book__tape--b{width:72px;top:26px;right:16px;transform:rotate(38deg)}.jr-book__pressed{width:40px;height:58px;top:34px;right:78px;transform:rotate(-22deg)}.phone--journal>.phone__body>:not(.jr-book):not(.jr-sprite){z-index:1;position:relative}.jr-stage{--jr-head:clamp(88px, calc(88px + (100vw - 1024px) * .125), 120px);height:auto;min-height:calc(var(--jr-head) * 1.225 + 8px + 56px);flex:1;margin:6px 0 0}.jr-stage__scene{overflow:visible}.jr-sheet--under,.jr-sheet--top,.jr-stage__lamp,.jr-stage__tape,.jr-stage__pressed,.jr-dd--plane{display:none}.jr-vig{aspect-ratio:auto;width:100%;height:calc(100% - 9px);inset:0 0 9px}.jr-dd--balloon{width:40px;height:56px;display:block;top:10%;left:6%}.jr-dd--cup{width:46px;height:42px;bottom:14px;left:-4px}.jr-dd--sprig{width:31px;height:43px;bottom:14px;right:2px}.jr-dd--ground{width:calc(100% + 12px);bottom:8px;left:-6px}.home-ling-walk{bottom:8px;left:0;right:0}.btn-ticket-wrap{align-self:stretch;width:100%;margin-top:4px}.btn--ticket{--stub:66px;--notch:8px;border-radius:14px;min-height:68px}.btn--ticket .btn__tx{padding-left:20px}.btn--ticket .btn__stub svg{width:26px;height:26px}.phone--journal>.phone__body{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.phone--journal .grid-cards{flex-direction:column;gap:22px;display:flex}.phone--journal .scenario-node:nth-child(odd){transform:rotate(-.6deg)}.phone--journal .scenario-node:nth-child(2n){transform:rotate(.5deg)}.phone--journal .scenario-node{transition:transform .18s ease-out}.phone--journal .scenario-node:hover{transform:rotate(0)translateY(-2px)}[data-ling-motion=off] .scenario-node{transition:none!important}.jr-recart{width:calc(50% - var(--jr-lip));left:50%;bottom:var(--jr-lip);height:calc(54% - var(--jr-lip));border-radius:0 0 10px;display:block}}.onb--prologue .phone__body{padding:0}.pro{flex-direction:column;flex:1;width:100%;min-height:100%;display:flex;position:relative;overflow:hidden}.pro__scene{transition:opacity .6s linear;position:absolute;inset:0}.pro__scene svg{width:100%;height:100%;display:block}.pro__scene--now{opacity:1}.pro__scene--now.pro__scene--off,.pro__scene--other{opacity:0}.pro__scene--other.pro__scene--on{opacity:1}@keyframes pro-walk{0%{transform:translateY(0)}to{transform:translateY(60px)}}.pro--walk .pro__scene--now .pro-dash,.pro--journal .pro__scene--now .pro-dash{animation:1.1s linear infinite pro-walk}.pro__ground{cursor:pointer;z-index:2;background:0 0;border:0;justify-content:center;align-items:center;width:170px;height:190px;margin-left:-85px;padding:0;display:flex;position:absolute;top:66%;left:50%}.pro__ground-img{display:block}@keyframes pro-approach{0%{opacity:.7;transform:translateY(-140px)scale(.35)}to{opacity:1;transform:none}}.pro--walk .pro__ground{animation:2.2s ease-out forwards pro-approach}@keyframes pro-ring{0%{opacity:0;transform:scale(.8)}30%{opacity:.7}to{opacity:0;transform:scale(1.25)}}.pro__ring{border:2px solid var(--cta-soft);opacity:0;pointer-events:none;border-radius:50%;animation:1s ease-out .2s 2 pro-ring;position:absolute;inset:10px}@keyframes pro-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.pro--glow .pro__ground-img{animation:.5s ease-in-out 2 pro-pulse}@keyframes pro-flash{0%{opacity:0}45%{opacity:1}70%{opacity:1}to{opacity:0}}.pro__flash{background:var(--surface-raised);opacity:0;pointer-events:none;z-index:3;animation:2.4s ease-in-out forwards pro-flash;position:absolute;inset:0}.pro--glow .pro__flash{animation-delay:.6s}.pro__ff{right:var(--space-3);top:var(--space-3);z-index:5;min-height:44px;padding:0 var(--space-3);border:1px dashed var(--border-mid);border-radius:var(--radius-pill,999px);background:var(--surface-raised);color:var(--text-muted);font-family:inherit;font-size:var(--text-label);cursor:pointer;position:absolute}.pro__stage{z-index:2;justify-content:center;align-items:center;gap:var(--space-4);padding:72px var(--space-4) var(--space-6);box-sizing:border-box;flex-direction:column;flex:1;display:flex;position:relative}@keyframes pro-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.pro__stage{animation:.5s ease-out both pro-in}@keyframes pro-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.pro__journal{animation:3s ease-in-out infinite pro-bob}.pro__journal img{display:block}.pro__bubble{background:var(--surface-raised);border:1px solid var(--border-mid);max-width:340px;min-height:60px;padding:var(--space-3) var(--space-4);font-size:var(--text-body);color:var(--text-strong);text-wrap:pretty;border-radius:18px;margin:0;line-height:1.6;animation:.35s ease-out both pro-in;position:relative}.pro__bubble:before{content:"";background:var(--surface-raised);border-left:1px solid var(--border-mid);border-top:1px solid var(--border-mid);width:12px;height:12px;margin-left:-6px;position:absolute;top:-7px;left:50%;transform:rotate(45deg)}.pro__slot{display:block}.pro__slot [data-mascot=egg]{animation:none}@keyframes pro-drop{0%{opacity:0;transform:translateY(-90px)scale(.6)}to{opacity:1;transform:none}}.pro__slot--drop [data-mascot=egg]{animation:.6s cubic-bezier(.3,1.4,.5,1) both pro-drop}.pro__slot--wobble [data-mascot=egg]{transform-origin:50% 90%;animation:.4s ease-in-out 2 onb-egg-wobble}.pro__eep{position:absolute;top:6px;right:-14px}.pro__eep:before{display:none}.pro__eep:after{content:"";background:var(--surface-raised);border-right:1px solid var(--border-mid);border-bottom:1px solid var(--border-mid);width:10px;height:10px;position:absolute;bottom:-6px;left:12px;transform:rotate(45deg)}.pro__reply{align-items:center;gap:var(--space-2);flex-direction:column;width:100%;max-width:340px;display:flex}.pro__say{border:1.5px dashed var(--border-emphasis);border-radius:var(--radius-card);background:var(--surface-raised);width:100%;min-height:52px;color:var(--text-strong);font-family:inherit;font-size:var(--text-body);padding:var(--space-3) var(--space-4);text-align:left;cursor:pointer;animation:.3s ease-out both pro-in}.pro__say-who{color:var(--text-subtle);margin-right:var(--space-2)}.pro__next{border:1.5px solid var(--border-emphasis);border-radius:var(--radius-card);background:var(--surface-raised);width:100%;min-height:52px;color:var(--text-strong);font-family:inherit;font-size:var(--text-body);padding:var(--space-3) var(--space-4);cursor:pointer;animation:.3s ease-out both pro-in}.pro__say:disabled,.pro__next:disabled{opacity:.35;cursor:default}@media (prefers-reduced-motion:reduce){.pro--static .pro__journal,.pro--static .pro__stage,.pro--static .pro__bubble,.pro--static .pro__say,.pro--static .pro__next,.pro__scene--now .pro-dash,.pro__ground,.pro__ring,.pro__ground-img,.pro__flash,.pro__slot--drop [data-mascot=egg],.pro__slot--wobble [data-mascot=egg]{animation:none!important}.pro__scene{transition:none}}html[data-motif=journal][data-grade] .nav{border-top-style:dashed}html[data-motif=journal][data-grade] .side-nav{border-right-style:dashed}html[data-motif=journal][data-grade] .app-stage{isolation:isolate;position:relative}html[data-motif=journal][data-grade] .m-stage{z-index:-1;pointer-events:none;position:absolute;inset:0;overflow:hidden}html[data-motif=journal][data-grade] .m-floor,html[data-motif=journal][data-grade] .m-scene{pointer-events:none;position:absolute;inset:0;overflow:hidden}html[data-motif=journal][data-grade] .m-floor>svg{width:100%;height:100%;display:block}html[data-motif=journal][data-grade] .m-rule{pointer-events:none;width:2px;position:absolute;top:0;bottom:0;left:12px}html[data-motif=journal][data-grade] .m-rule>svg{height:100%;display:block}html[data-motif=journal][data-grade]:not([data-grade=shell]) .app-stage>.phone{background:0 0}html[data-motif=journal][data-grade] .m-sprite{width:0;height:0;position:absolute;overflow:hidden}html[data-motif=journal][data-grade] .m-piece{pointer-events:none;display:block;position:absolute;overflow:visible}html[data-motif=journal][data-grade] .h1,html[data-motif=journal][data-grade] .onb__hero,html[data-motif=journal][data-grade] .auth__hero,html[data-motif=journal][data-grade] .cheer-card,html[data-motif=journal][data-grade] .phone__body>.card{position:relative}html[data-motif=journal][data-grade] .m-underline{width:min(100%,120px);height:8px;top:calc(100% + 2px);left:0}html[data-motif=journal][data-grade] .onb .h1>.m-underline{left:50%;transform:translate(-50%)}html[data-motif=journal][data-grade] .m-tape{z-index:1;width:58px;height:17px;top:-8px}html[data-motif=journal][data-grade] .m-tape--l{left:22px;transform:rotate(-4deg)}html[data-motif=journal][data-grade] .m-tape--r{right:26px;transform:rotate(5deg)}html[data-motif=journal][data-grade] .m-s0-plane{width:78px;height:35px;top:118px;left:0}html[data-motif=journal][data-grade] .m-s0-pressed{width:30px;height:44px;top:66px;right:4px;transform:rotate(12deg)}html[data-motif=journal][data-grade] .m-s0-stars{width:34px;height:26px;top:36px;right:52px}html[data-motif=journal][data-grade] .m-s9-plane{width:78px;height:35px;top:28px;left:0}html[data-motif=journal][data-grade] .m-s9-pressed{width:30px;height:44px;top:8px;right:0;transform:rotate(12deg)}html[data-motif=journal][data-grade] .m-margin{display:none}@media (width>=1024px){html[data-motif=journal][data-grade] .m-margin{display:block}html[data-motif=journal][data-grade] .m-m-balloon{width:40px;height:56px;top:12%;right:7%}html[data-motif=journal][data-grade] .m-m-plane{width:96px;height:43px;top:9%;left:5%}html[data-motif=journal][data-grade] .m-m-cup{width:46px;height:42px;bottom:10%;left:7%}html[data-motif=journal][data-grade] .m-m-sprig{width:31px;height:43px;bottom:11%;right:8%}html[data-motif=journal][data-grade] .m-s9-dplane{width:96px;height:43px;top:120px;right:270px}html[data-motif=journal][data-grade] .m-s9-dpressed{width:40px;height:58px;top:92px;right:56px;transform:rotate(-16deg)}html[data-motif=journal][data-grade] .auth .phone__body .auth__hero{position:absolute}html[data-motif=journal][data-grade] .m-s9-plane,html[data-motif=journal][data-grade] .m-s9-pressed{display:none}html[data-motif=journal][data-grade=full] .auth .phone__body{background:0 0}}
