@media (prefers-reduced-motion:reduce){.rise,.rise.is-visible,.mask>*,.mask.is-visible>*,.draw,.draw.is-visible{opacity:1;transition:none;transform:none}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--ink-bg:#0e1013;--ink-bg-1:#15181d;--ink-bg-2:#1c2027;--ink-fg:#e8e9ea;--ink-fg-sub:#969ca6;--ink-line:#262a31;--paper-bg:#faf9f7;--paper-bg-1:#fff;--paper-bg-2:#f1efea;--paper-fg:#1a1a19;--paper-fg-sub:#686864;--paper-line:#e3e0d9;--paper-mark:#b7412f;--paper-ai:#245f9e;--paper-ok:#2f6b4f;--paper-warn:#8a5200;--paper-mark-soft:#f3e3df;--ink-mark:#e0654c;--ink-ai:#6fb4ff;--ink-ok:#5fbf8e;--ink-warn:#ffb24d;--ink-mark-soft:#2a1a17;--fs-display:30px;--fs-title:22px;--fs-head:17px;--fs-body:16px;--fs-sub:14px;--fs-meta:12px;--fs-label:11px;--tr-label:.22em;--tr-title:.04em;--tr-body:0;--tr-boot:.66em;--lh-body:1.9;--lh-tight:1.45;--lh-ui:1.5;--font-sans:"Helvetica Neue", Inter, "Hiragino Sans", "Noto Sans JP", sans-serif;--font-num:ui-monospace, "SF Mono", "Roboto Mono", "Hiragino Sans", monospace;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:72px;--hair:1px;--hair-mark:3px;--r:2px;--r-panel:4px;--r-round:50%;--mo-fast:.18s;--mo:.32s;--mo-slow:.45s;--ease:cubic-bezier(.2, 0, 0, 1);--stagger:90ms;--shell-max:720px;--read-max:620px;--gutter:20px;--tap-min:44px;--panel-bg:var(--ink-bg-1);--panel-ink:var(--ink-fg);--panel-sub:var(--ink-fg-sub);--glow-warm:#ffb24d;--glow-cool:#4fa3ff;--glow-hot:#ff5b4a;--fs-lockup:clamp(44px, 19vw, 96px);--tr-lockup:.02em;--lh-lockup:.92;--material:url(/material.webp);--material-size:auto 800%;--material-lift:#cad0da47;--door-glow-warm:#ffb24d1a;--door-glow-cool:#4fa3ff12;--door-image:url(/door.webp);--door-edge:#0e1013f2;--door-veil:#0e10138c;--grain-opacity:.16;--mo-ambient:60s;--r-sheet:12px;--scrim:#060709b8}:root,.face-paper{--bg:var(--paper-bg);--bg-1:var(--paper-bg-1);--bg-2:var(--paper-bg-2);--fg:var(--paper-fg);--fg-sub:var(--paper-fg-sub);--line:var(--paper-line);--mark:var(--paper-mark);--ai:var(--paper-ai);--ok:var(--paper-ok);--warn:var(--paper-warn);--mark-soft:var(--paper-mark-soft)}body.is-shell,.face-ink,.gate,.boot,.milestone,.fig-panel,.meter{--bg:var(--ink-bg);--bg-1:var(--ink-bg-1);--bg-2:var(--ink-bg-2);--fg:var(--ink-fg);--fg-sub:var(--ink-fg-sub);--line:var(--ink-line);--mark:var(--ink-mark);--ai:var(--ink-ai);--ok:var(--ink-ok);--warn:var(--ink-warn);--mark-soft:var(--ink-mark-soft)}.face-ink,.face-paper{background:var(--bg);color:var(--fg)}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);letter-spacing:var(--tr-body);margin:0;padding:0;overflow-x:hidden}body{-webkit-text-size-adjust:100%;text-rendering:optimizelegibility;transition:background-color var(--mo-slow) var(--ease), color var(--mo-slow) var(--ease)}a{color:var(--mark)}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums;letter-spacing:var(--tr-body)}.label{font-size:var(--fs-label);letter-spacing:var(--tr-label);line-height:var(--lh-ui);color:var(--fg-sub)}.rise{opacity:0;transform:translateY(var(--sp-3));transition:opacity var(--mo) var(--ease), transform var(--mo) var(--ease);transition-delay:var(--rise-delay,0s)}.rise.is-visible{opacity:1;transform:none}.mask{display:block;overflow:hidden}.mask>*{transition:transform var(--mo) var(--ease);transition-delay:var(--rise-delay,0s);display:block;transform:translateY(100%)}.mask.is-visible>*{transform:none}.draw{transform-origin:0;transition:transform var(--mo) var(--ease);transition-delay:var(--stagger);transform:scaleX(0)}.draw.is-visible{transform:scaleX(1)}.calm .mask>*,.calm .draw{transition-duration:var(--mo-fast);transition-delay:0s}@media (prefers-reduced-motion:reduce){.rise,.rise.is-visible,.mask>*,.mask.is-visible>*,.draw,.draw.is-visible{opacity:1;transition:none;transform:none}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sh-label{font-size:var(--fs-label);letter-spacing:var(--tr-label);line-height:var(--lh-ui);color:var(--fg-sub)}.sh-rule{height:var(--hair);background:var(--line)}.sh-dot{width:var(--sp-1);height:var(--sp-1);border-radius:var(--r);background:var(--mark);display:inline-block}body.is-shell .btn-quiet{border-color:var(--line);color:var(--fg-sub);background:0 0}body.is-shell .btn-danger{background:0 0}.btn-quiet.is-on{border-color:var(--mark);color:var(--mark)}body.is-shell .settings-textarea,body.is-shell .settings-input{background:var(--bg-1);border-color:var(--line);color:var(--fg)}body.is-shell .settings-message{background:var(--mark-soft);color:var(--fg)}body.is-shell .settings-note{color:var(--fg-sub)}body.is-shell .install{border-color:var(--line);background:var(--bg-1)}body.is-shell .install-body,body.is-shell .install-how{color:var(--fg-sub)}body.is-shell .install-close{border-color:var(--line);color:var(--fg);background:0 0}.boot{z-index:100;padding:var(--sp-7) var(--sp-5);background:var(--bg);color:var(--fg);opacity:1;transition:opacity var(--mo-slow) var(--ease);place-items:center;display:grid;position:fixed;inset:0;overflow-y:auto}.boot.is-leaving{opacity:0;pointer-events:none}.boot-inner{width:100%;max-width:calc(var(--sp-8) * 4)}.boot-rule{width:0;height:var(--hair);background:var(--line);transition:width var(--mo-slow) var(--ease)}.boot-rule.is-in{width:100%}.boot-rule.is-short.is-in{width:var(--sp-8)}.boot-mark{margin:var(--sp-5) 0 0;font-size:var(--fs-display);font-weight:400;line-height:var(--lh-tight);letter-spacing:var(--tr-boot);opacity:0;transition:opacity var(--mo-slow) var(--ease), letter-spacing var(--mo-slow) var(--ease)}.boot-mark.is-in{opacity:1;letter-spacing:var(--tr-label)}.boot-module,.boot-spec,.boot-count,.boot-sub,.boot-enter{opacity:0;transform:translateY(var(--sp-2));transition:opacity var(--mo) var(--ease), transform var(--mo) var(--ease)}.boot-module.is-in,.boot-spec.is-in,.boot-count.is-in,.boot-sub.is-in,.boot-enter.is-in{opacity:1;transform:none}.boot-module{align-items:center;gap:var(--sp-2);margin:var(--sp-3) 0 var(--sp-5);font-size:var(--fs-label);letter-spacing:var(--tr-label);line-height:var(--lh-ui);color:var(--fg-sub);display:flex}.boot-dot{width:var(--sp-1);height:var(--sp-1);border-radius:var(--r);background:var(--mark);flex:none}.boot-spec{gap:var(--sp-5);margin:var(--sp-4) 0 0;display:flex}.boot-spec dt{font-size:var(--fs-label);letter-spacing:var(--tr-label);line-height:var(--lh-ui);color:var(--fg-sub)}.boot-spec dd{margin:var(--sp-1) 0 0;font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:var(--fs-head);line-height:var(--lh-tight)}.boot-count{margin:var(--sp-5) 0 0}.boot-count-num{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:var(--fs-display);line-height:var(--lh-tight);letter-spacing:var(--tr-body);display:block}.boot-count-unit{margin-top:var(--sp-1);font-size:var(--fs-label);letter-spacing:var(--tr-label);line-height:var(--lh-ui);color:var(--fg-sub);display:block}.boot-sub{margin:var(--sp-6) 0 0;font-size:var(--fs-meta);line-height:var(--lh-ui);color:var(--fg-sub)}.boot-enter{min-height:var(--tap-min);margin-top:var(--sp-6);padding:0 var(--sp-5);border:var(--hair) solid var(--fg-sub);border-radius:var(--r);color:var(--fg);font:inherit;font-size:var(--fs-sub);letter-spacing:var(--tr-label);line-height:var(--lh-ui);cursor:pointer;pointer-events:none;background:0 0}.boot-enter.is-in{pointer-events:auto}.boot-ask-label{margin:var(--sp-6) 0 0;font-size:var(--fs-sub);line-height:var(--lh-ui);color:var(--fg-sub)}.boot-ask{flex-direction:column;align-items:center;width:100%;display:flex}.boot-ask-input{width:100%;min-height:var(--tap-min);margin-top:var(--sp-3);padding:0 var(--sp-3);border:0;border-bottom:var(--hair) solid var(--line);border-radius:var(--r);color:var(--fg);font:inherit;font-size:var(--fs-body);text-align:center;background:0 0}.boot-ask-input:focus{border-bottom-color:var(--mark);outline:none}.boot-ask-input::placeholder{color:var(--fg-sub)}.boot-ask-skip{min-height:var(--tap-min);margin-top:var(--sp-1);color:var(--fg-sub);font:inherit;font-size:var(--fs-sub);text-underline-offset:var(--sp-1);cursor:pointer;background:0 0;border:0;text-decoration:underline}.boot-ask-note{margin:var(--sp-2) 0 0;font-size:var(--fs-meta);line-height:var(--lh-body);color:var(--fg-sub)}.dash{padding:var(--sp-2) 0 var(--sp-7)}.dash-head{padding:var(--sp-4) 0 0}.dash-card{margin-top:var(--sp-3);padding:var(--sp-5) var(--sp-4);border:var(--hair) solid var(--line);border-radius:var(--r);background:var(--bg-1)}.dash-card-label{align-items:center;gap:var(--sp-2);font-size:var(--fs-label);letter-spacing:var(--tr-label);line-height:var(--lh-ui);color:var(--mark);display:flex}.dash-card-num{margin:var(--sp-4) 0 0;font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:var(--fs-meta);color:var(--fg-sub)}.dash-card-title{margin:var(--sp-1) 0 0;font-size:var(--fs-title);font-weight:700;line-height:var(--lh-tight);letter-spacing:var(--tr-title)}.dash-card-rule{height:var(--hair);margin:var(--sp-4) 0;background:var(--line)}.dash-card-state{margin-left:var(--sp-2);padding-left:var(--sp-2);border-left:var(--hair) solid var(--line);color:var(--mark)}.dash-card-meter{margin:var(--sp-4) 0}.dash-card-bar{height:var(--hair-mark);background:var(--line);position:relative}.dash-card-bar:after{content:"";transform-origin:0;transform:scaleX(var(--fill,0));background:var(--mark);transition:transform var(--mo-slow) var(--ease);position:absolute;inset:0}.dash-card-meter-text{margin-top:var(--sp-2);font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:var(--fs-meta);color:var(--fg-sub);display:block}.dash-open{width:100%;min-height:var(--tap-min);border-radius:var(--r);background:var(--mark);color:var(--bg);font:inherit;font-size:var(--fs-body);font-weight:700;line-height:var(--lh-ui);cursor:pointer;border:none;display:block}.dash-card-note{margin:var(--sp-3) 0 0;font-size:var(--fs-meta);line-height:var(--lh-body);color:var(--fg-sub)}.dash-inst{gap:var(--hair);margin:var(--sp-4) 0 0;border:var(--hair) solid var(--line);border-radius:var(--r);background:var(--line);grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.dash-inst>div{padding:var(--sp-3) var(--sp-2);background:var(--bg-1)}.dash-inst dt{font-size:var(--fs-label);letter-spacing:var(--tr-label);line-height:var(--lh-ui);color:var(--fg-sub);white-space:nowrap}.dash-inst dd{margin:var(--sp-1) 0 0;font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:var(--fs-body);line-height:var(--lh-tight)}.dash-sec{margin-top:var(--sp-6)}.dash-part{grid-template-columns:calc(var(--sp-7) + var(--sp-4)) 1fr auto;align-items:center;gap:var(--sp-2);padding:var(--sp-3) 0;border-top:var(--hair) solid var(--line);font-size:var(--fs-sub);display:grid}.dash-part:last-child{border-bottom:var(--hair) solid var(--line)}.dash-pips{gap:var(--sp-1);flex-wrap:wrap;display:flex}.dash-pip{width:var(--sp-3);height:var(--sp-5);cursor:pointer;background:0 0;border:none;padding:0;position:relative}.dash-pip:before{content:"";inset:var(--sp-2) var(--hair);background:var(--line);position:absolute}.dash-pip:after{content:"";inset:var(--sp-2) var(--hair);transform-origin:0;transform:scaleX(var(--fill,0));background:var(--mark);position:absolute}.dash-pip.is-locked:before{opacity:.4}.dash-pip.is-read:after{border:var(--hair) solid var(--mark);background:0 0;transform:none}.dash-pip.is-done:after,.dash-pip.is-perfect:after{background:var(--mark);transform:none}.dash-pip.is-perfect:before{inset:var(--sp-1) var(--hair) var(--sp-2);background:var(--mark)}.dash-pip.is-current:before,.dash-pip.is-current:after{inset-block:var(--sp-1)}.dash-part-count{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:var(--fs-meta);color:var(--fg-sub)}.dash-nav{gap:var(--sp-2);margin-top:var(--sp-5);grid-template-columns:1fr 1fr;display:grid}.dash-tile{min-height:calc(var(--tap-min) + var(--sp-5));padding:var(--sp-3) var(--sp-4);border:var(--hair) solid var(--line);border-radius:var(--r);background:var(--bg-1);color:var(--fg);font:inherit;text-align:left;cursor:pointer}.dash-tile:disabled{opacity:.45;cursor:not-allowed}.dash-tile-label{font-size:var(--fs-label);letter-spacing:var(--tr-label);line-height:var(--lh-ui);color:var(--fg-sub)}.dash-tile-name{margin-top:var(--sp-1);font-size:var(--fs-sub);line-height:var(--lh-ui)}.dash-foot{margin-top:var(--sp-5)}.map{padding:var(--sp-2) 0 var(--sp-7)}.map-head{padding:var(--sp-4) 0 var(--sp-1)}.map-head-title{margin:var(--sp-2) 0 0;font-size:var(--fs-title);font-weight:700;line-height:var(--lh-tight);letter-spacing:var(--tr-title)}.map-part{align-items:center;gap:var(--sp-3);margin:var(--sp-5) 0 0;font-size:var(--fs-label);letter-spacing:var(--tr-label);line-height:var(--lh-ui);color:var(--fg-sub);display:flex}.map-part:after{content:"";height:var(--hair);background:var(--line);flex:1}.map-list{margin:0;padding:0;list-style:none}.map-row{grid-template-columns:var(--sp-6) 1fr auto;align-items:stretch;gap:var(--sp-2);width:100%;min-height:var(--tap-min);padding:var(--sp-2) 0;color:var(--fg);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;display:grid}.map-node{place-items:center;display:grid;position:relative}.map-node:before{content:"";width:var(--hair);margin-left:calc(var(--hair) / -2);background:var(--line);position:absolute;top:0;bottom:0;left:50%}.map-item:first-child .map-node:before{top:50%}.map-item:last-child .map-node:before{bottom:50%}.map-dot{z-index:1;box-sizing:border-box;width:var(--sp-4);height:var(--sp-4);border-radius:var(--r-round);background:conic-gradient(var(--mark) calc(var(--fill,0) * 1turn), var(--line) 0);place-items:center;display:grid;position:relative}.map-dot:before{content:"";width:var(--sp-2);height:var(--sp-2);border-radius:var(--r-round);background:var(--bg)}.map-item.is-locked .map-dot{border:var(--hair) dashed var(--line);background:0 0}.map-item.is-read .map-dot,.map-item.is-done .map-dot,.map-item.is-perfect .map-dot,.map-item.is-done .map-dot:before,.map-item.is-perfect .map-dot:before{background:var(--mark)}.map-item.is-perfect .map-dot{outline:var(--hair) solid var(--mark);outline-offset:var(--hair-mark)}.map-item.is-current .map-dot{width:var(--sp-5);height:var(--sp-5)}.map-item.is-current .map-dot:before{width:var(--sp-3);height:var(--sp-3)}.map-dot.is-exam{width:var(--sp-3);height:var(--sp-3);border-radius:var(--r);background:var(--line);transform:rotate(45deg)}.map-dot.is-exam:before{border-radius:var(--r)}.map-legend{gap:var(--sp-2) var(--sp-4);margin:var(--sp-3) 0 0;padding:var(--sp-3) 0;border-top:var(--hair) solid var(--line);border-bottom:var(--hair) solid var(--line);font-size:var(--fs-meta);color:var(--fg-sub);flex-wrap:wrap;list-style:none;display:flex}.map-legend-item{align-items:center;gap:var(--sp-2);display:flex}.map-legend-item.is-reading .map-dot{--fill:.55}.map-legend-item.is-read .map-dot,.map-legend-item.is-done .map-dot,.map-legend-item.is-done .map-dot:before{background:var(--mark)}.map-legend-item.is-locked .map-dot{border:var(--hair) dashed var(--line);background:0 0}.map-body{align-self:center;min-width:0}.map-num{font-size:var(--fs-meta);line-height:var(--lh-ui);color:var(--fg-sub)}.map-min{font-family:var(--font-num);font-variant-numeric:tabular-nums;color:var(--fg-sub)}.map-name{margin-top:var(--sp-1);font-size:var(--fs-body);line-height:var(--lh-tight);display:block}.map-item.is-locked .map-name{color:var(--fg-sub)}.map-item.is-done .map-name,.map-item.is-perfect .map-name{color:var(--fg)}.map-item.is-current .map-row{padding-left:var(--sp-2);border-left:var(--hair-mark) solid var(--mark)}.map-item.is-current .map-name{font-weight:700}.map-side{align-self:center;justify-items:end;gap:var(--sp-1);font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:var(--fs-meta);color:var(--fg-sub);white-space:nowrap;display:grid}.map-state{font-family:var(--font-sans);font-size:var(--fs-meta)}.map-item.is-reading .map-state,.map-item.is-read .map-state,.map-item.is-done .map-state,.map-item.is-perfect .map-state{color:var(--mark)}.map-detail{font-size:var(--fs-meta);color:var(--fg-sub)}.map-head-note{margin:var(--sp-1) 0 0;font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:var(--fs-meta);color:var(--fg-sub)}.map-foot{margin-top:var(--sp-6)}.map-confirm{z-index:60;padding:var(--sp-5) var(--gutter) var(--sp-6);background:var(--bg-1);border-top:var(--hair) solid var(--line);animation:sheet-in var(--mo) var(--ease);position:fixed;inset:auto 0 0}.map-confirm-inner{max-width:var(--shell-max);margin:0 auto}.map-confirm-lead{margin:var(--sp-2) 0 0;font-size:var(--fs-body);font-weight:700;line-height:var(--lh-tight)}.map-confirm-note{margin:var(--sp-2) 0 var(--sp-4);font-size:var(--fs-sub);line-height:var(--lh-body);color:var(--fg-sub)}.map-confirm-actions{gap:var(--sp-2);display:flex}.map-confirm-actions .btn-primary{flex:1}@keyframes sheet-in{0%{transform:translateY(100%)}to{transform:none}}.milestone{z-index:120;padding:var(--sp-6) var(--sp-5);text-align:center;background:var(--bg);color:var(--fg);animation:ms-in var(--mo-slow) var(--ease);place-items:center;display:grid;position:fixed;inset:0}.milestone-label{justify-content:center;align-items:center;gap:var(--sp-2);font-size:var(--fs-label);letter-spacing:var(--tr-label);line-height:var(--lh-ui);color:var(--mark);display:flex}.milestone-title{margin:var(--sp-4) 0 0;font-size:var(--fs-display);line-height:var(--lh-tight);letter-spacing:var(--tr-title)}.milestone-rule{width:0;height:var(--hair);margin:var(--sp-5) auto;background:var(--line);animation:ms-rule var(--mo) var(--ease) var(--stagger) forwards}.milestone-note{font-size:var(--fs-sub);line-height:var(--lh-body);color:var(--fg-sub);margin:0}.milestone-next{margin-top:var(--sp-5)}@keyframes ms-in{0%{opacity:0}to{opacity:1}}@keyframes ms-rule{to{width:calc(var(--sp-8) + var(--sp-7))}}.veil{z-index:90;background:var(--ink-bg);pointer-events:none;animation:veil-out var(--mo-slow) var(--ease) forwards;position:fixed;inset:0}@keyframes veil-out{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.boot,.boot-rule,.boot-mark,.boot-module,.boot-spec,.boot-count,.boot-sub,.boot-enter,.dash-card-bar:after{transition:none}.boot-rule{width:100%}.boot-rule.is-short{width:var(--sp-8)}.boot-mark{opacity:1;letter-spacing:var(--tr-label)}.boot-module,.boot-spec,.boot-count,.boot-sub,.boot-enter{opacity:1;transform:none}.milestone,.milestone-rule,.veil,.map-confirm{animation:none}.milestone-rule{width:calc(var(--sp-8) + var(--sp-7))}.veil{display:none}}.gate{background:var(--bg);min-height:100dvh;color:var(--fg);padding-bottom:calc(var(--tap-min) + env(safe-area-inset-bottom))}.gate-door{min-height:100dvh;padding:0 var(--gutter);grid-template-rows:1fr auto 1fr;align-items:center;display:grid;position:relative;overflow:hidden}.gate-ground{z-index:0;background:radial-gradient(60% 40% at 22% 18%, var(--door-glow-warm), transparent), radial-gradient(50% 35% at 82% 30%, var(--door-glow-cool), transparent), linear-gradient(to right, var(--door-edge), transparent 22%), linear-gradient(to bottom, var(--door-veil), transparent 55%), var(--door-image), var(--ink-bg);background-position:0 0,0 0,0 0,0 0,100%,0 0;background-repeat:no-repeat;background-size:auto,auto,auto,auto,cover,auto;position:absolute;inset:0}.gate-grain{z-index:1;pointer-events:none;opacity:var(--grain-opacity);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");position:absolute;inset:0}.gate-lockup{z-index:2;grid-row:2;position:relative}.gate-mark{font-size:var(--fs-lockup);letter-spacing:var(--tr-lockup);font-weight:800;line-height:var(--lh-lockup);background-image:linear-gradient(var(--material-lift), var(--material-lift)), var(--material);background-size:100% 100%, var(--material-size);color:#0000;animation:gate-drift var(--mo-ambient) var(--ease) infinite alternate;background-position:0 0,0%;background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text;margin:0}@keyframes gate-drift{to{background-position:0 0,100%}}.gate-module{margin:var(--sp-3) 0 0;font-size:var(--fs-label);letter-spacing:var(--tr-label);line-height:var(--lh-ui);color:var(--fg-sub)}.gate-mark-rule{width:var(--sp-7);height:var(--hair);margin:var(--sp-4) 0;background:var(--line)}.gate-more{z-index:2;width:var(--hair);height:var(--sp-6);margin-bottom:var(--sp-5);background:linear-gradient(to bottom, transparent, var(--line));grid-row:3;place-self:end center;position:relative}.gate-block{padding:var(--sp-8) var(--gutter);border-top:var(--hair) solid var(--line)}.gate-line{max-width:var(--read-max);font-size:var(--fs-title);line-height:var(--lh-tight);letter-spacing:var(--tr-title);color:var(--fg);text-wrap:pretty;margin:0}.gate-spec{gap:var(--sp-5);margin:var(--sp-6) 0 0;flex-wrap:wrap;display:flex}.gate-spec div{margin:0}.gate-spec dt{font-size:var(--fs-label);letter-spacing:var(--tr-label);line-height:var(--lh-ui);color:var(--fg-sub)}.gate-spec dd{margin:var(--sp-1) 0 0;font-size:var(--fs-title);line-height:var(--lh-tight);color:var(--fg)}.gate-note{max-width:var(--read-max);font-size:var(--fs-sub);line-height:var(--lh-body);color:var(--fg-sub);margin:0}.gate-series{align-items:center;gap:var(--sp-2);margin:var(--sp-6) 0 0;font-size:var(--fs-label);letter-spacing:var(--tr-label);line-height:var(--lh-ui);color:var(--fg-sub);display:flex}.gate-series span[data-soon]{opacity:.35}.gate-handle{z-index:20;justify-content:center;align-items:center;gap:var(--sp-2);width:100%;min-height:var(--tap-min);padding-bottom:env(safe-area-inset-bottom);border:none;border-top:var(--hair) solid var(--line);background:var(--ink-bg-1);color:var(--fg-sub);font-family:inherit;font-size:var(--fs-label);letter-spacing:var(--tr-label);line-height:var(--lh-ui);cursor:pointer;transition:color var(--mo-fast) var(--ease);border-radius:0;display:flex;position:fixed;bottom:0;left:0;right:0}.gate-handle:hover,.gate-handle:focus-visible{color:var(--fg)}.gate-handle-arrow{transition:transform var(--mo-fast) var(--ease)}.gate-handle:hover .gate-handle-arrow,.gate-handle:focus-visible .gate-handle-arrow{transform:translateY(calc(var(--sp-1) * -.5))}.gate-sheet{width:100%;max-width:none;max-height:100dvh;padding:var(--sp-5) var(--gutter) calc(var(--sp-6) + env(safe-area-inset-bottom));border:none;border-top:var(--hair) solid var(--line);border-radius:var(--r-sheet) var(--r-sheet) 0 0;background:var(--ink-bg-1);color:var(--ink-fg);transition:transform var(--mo) var(--ease);margin:0;position:fixed;inset:auto 0 0;overflow-y:auto;transform:translateY(100%)}.gate-sheet.is-up{transform:none}.gate-sheet::backdrop{background:var(--scrim)}.gate-sheet-grip{width:var(--sp-6);height:var(--hair-mark);margin:0 auto var(--sp-5);border-radius:var(--r);background:var(--ink-line)}.gate-sheet-title{margin:0 0 var(--sp-5);font-size:var(--fs-label);letter-spacing:var(--tr-label);line-height:var(--lh-ui);color:var(--ink-fg-sub)}.gate-label{margin-bottom:var(--sp-1);font-size:var(--fs-label);letter-spacing:var(--tr-label);line-height:var(--lh-ui);color:var(--ink-fg-sub);display:block}.gate-input{width:100%;min-height:var(--tap-min);margin-bottom:var(--sp-5);border:none;border-bottom:var(--hair) solid var(--ink-line);color:var(--ink-fg);font-family:inherit;font-size:var(--fs-body);line-height:var(--lh-ui);transition:border-color var(--mo-fast) var(--ease);background:0 0;border-radius:0;padding:0}.gate-input:focus{border-bottom-color:var(--ink-mark);outline:none}.gate-enter{width:100%;min-height:var(--tap-min);border:var(--hair) solid var(--ink-fg-sub);border-radius:var(--r);color:var(--ink-fg);font-family:inherit;font-size:var(--fs-sub);letter-spacing:var(--tr-label);line-height:var(--lh-ui);cursor:pointer;transition:background-color var(--mo-fast) var(--ease), color var(--mo-fast) var(--ease);background:0 0}.gate-enter:not(:disabled):hover,.gate-enter:not(:disabled):focus-visible{background:var(--ink-fg);color:var(--ink-bg)}.gate-enter:disabled{opacity:.4;cursor:default}.gate-error{margin:0 0 var(--sp-3);font-size:var(--fs-sub);line-height:var(--lh-ui);color:var(--ink-warn)}.gate-sheet-close{width:100%;min-height:var(--tap-min);margin-top:var(--sp-2);border-radius:var(--r);color:var(--ink-fg-sub);font-family:inherit;font-size:var(--fs-meta);line-height:var(--lh-ui);cursor:pointer;background:0 0;border:none;display:block}@media (prefers-reduced-motion:reduce){.gate-mark{animation:none}.gate-sheet{transition:none;transform:none}}.shell{max-width:var(--shell-max);padding:0 var(--gutter) calc(var(--sp-8) + var(--sp-5));margin:0 auto}.appbar{z-index:10;padding:var(--sp-2) var(--gutter) 0;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(var(--sp-2));backdrop-filter:blur(var(--sp-2));border-bottom:var(--hair) solid var(--line);position:sticky;top:0}.appbar-row{align-items:center;gap:var(--sp-3);min-height:var(--tap-min);padding-bottom:var(--sp-2);grid-template-columns:auto 1fr auto;display:grid}.appbar.is-shell{background:color-mix(in srgb, var(--bg) 88%, transparent)}.appbar-btn{min-height:var(--tap-min);padding:0 var(--sp-3);color:var(--fg-sub);font:inherit;font-size:var(--fs-sub);cursor:pointer;background:0 0;border:none}.appbar-brand{min-height:var(--tap-min);padding:0 var(--sp-1);color:var(--fg);font:inherit;font-size:var(--fs-label);letter-spacing:var(--tr-label);cursor:pointer;background:0 0;border:none}.appbar-center{text-align:center;font-size:var(--fs-sub);color:var(--fg-sub)}.appbar-progress{min-width:var(--tap-min);text-align:right;font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:var(--fs-sub);letter-spacing:var(--tr-body);color:var(--fg)}.appbar-unit{margin-left:var(--sp-1);font-family:var(--font-sans);font-size:var(--fs-label);color:var(--fg-sub)}.crumb{align-items:center;gap:var(--sp-2);width:100%;min-height:var(--sp-6);padding:0 0 var(--sp-2);border:none;border-top:var(--hair) solid var(--line);color:var(--fg-sub);font:inherit;font-size:var(--fs-meta);text-align:left;cursor:pointer;background:0 0;display:flex}.crumb-part{padding-top:var(--sp-2);flex:none}.crumb-sep{padding-top:var(--sp-2);color:var(--line);flex:none}.crumb-now{min-width:0;padding-top:var(--sp-2);color:var(--fg);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.crumb-caret{margin-top:var(--sp-2);border:var(--sp-1) solid transparent;border-top-color:var(--fg-sub);transition:transform var(--mo-fast) var(--ease);flex:none}.crumb-caret.is-open{transform:rotate(180deg)}.resume{align-items:center;gap:var(--sp-3);padding-bottom:var(--sp-2);border-top:var(--hair) solid var(--line);display:flex}.resume-text{min-width:0;padding-top:var(--sp-2);color:var(--fg-sub);font-size:var(--fs-meta);line-height:var(--lh-ui);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.resume-top{min-height:var(--tap-min);padding:0 var(--sp-2);color:var(--fg);font:inherit;font-size:var(--fs-meta);text-underline-offset:var(--sp-1);cursor:pointer;background:0 0;border:none;flex:none;text-decoration:underline}.appbar-read{right:0;bottom:calc(var(--hair) * -1);height:var(--hair-mark);transform-origin:0;transform:scaleX(var(--read,0));background:var(--mark);position:absolute;left:0}.crumb-sheet{max-height:58vh;padding:var(--sp-2) var(--gutter) var(--sp-4);background:color-mix(in srgb, var(--bg) 97%, transparent);-webkit-backdrop-filter:blur(var(--sp-2));backdrop-filter:blur(var(--sp-2));border-bottom:var(--hair) solid var(--line);position:absolute;top:100%;left:0;right:0;overflow-y:auto}.crumb-list{max-width:var(--read-max);margin:0 auto;padding:0;list-style:none}.crumb-item{align-items:center;gap:var(--sp-3);width:100%;min-height:var(--tap-min);padding:var(--sp-1) 0;color:var(--fg-sub);font:inherit;font-size:var(--fs-sub);line-height:var(--lh-ui);text-align:left;cursor:pointer;background:0 0;border:none;display:flex}.crumb-item-mark{width:var(--sp-2);height:var(--sp-2);border:var(--hair) solid var(--line);border-radius:var(--r-round);flex:none}.crumb-item.is-past .crumb-item-mark{background:var(--line)}.crumb-item.is-now{color:var(--fg);font-weight:700}.crumb-item.is-now .crumb-item-mark{width:var(--hair-mark);height:var(--sp-4);border-radius:var(--r);background:var(--mark);border:none}.md-p{max-width:var(--read-max);margin:0 auto var(--sp-5);font-size:var(--fs-body);line-height:var(--lh-body);letter-spacing:var(--tr-body)}.md-h2{max-width:var(--read-max);margin:var(--sp-8) auto var(--sp-4);font-size:var(--fs-title);font-weight:700;line-height:var(--lh-tight);letter-spacing:var(--tr-title)}.md-h2>span:after{content:"";width:var(--sp-6);height:var(--hair-mark);margin-top:var(--sp-2);background:var(--mark);display:block}.md-h3{max-width:var(--read-max);margin:var(--sp-7) auto var(--sp-3);font-size:var(--fs-head);font-weight:700;line-height:var(--lh-tight);letter-spacing:var(--tr-title)}.md-ul{max-width:var(--read-max);margin:0 auto var(--sp-5);padding-left:var(--sp-5);font-size:var(--fs-body);line-height:var(--lh-body)}.md-ul li{margin-bottom:var(--sp-2)}.md-quote{max-width:var(--read-max);margin:var(--sp-6) auto;padding-left:var(--sp-4);border-left:var(--hair) solid var(--mark);color:var(--fg-sub)}.md-quote p{margin:0 0 var(--sp-3)}.md-quote p:last-child{margin-bottom:0}.md-hr{max-width:var(--read-max);margin:var(--sp-7) auto;border:none;border-top:var(--hair) solid var(--line)}.chapter-head{max-width:var(--read-max);padding:var(--sp-7) 0 var(--sp-5);margin:0 auto}.chapter-num{font-size:var(--fs-label);letter-spacing:var(--tr-label);line-height:var(--lh-ui);color:var(--fg-sub)}.chapter-title{margin:var(--sp-2) 0 0;font-size:var(--fs-display);font-weight:700;line-height:var(--lh-tight);letter-spacing:var(--tr-title)}.chapter-title>span:after{content:"";width:var(--sp-7);height:var(--hair-mark);margin-top:var(--sp-4);background:var(--mark);display:block}.chapter-size{gap:var(--sp-1) var(--sp-4);margin:var(--sp-4) 0 0;font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:var(--fs-meta);letter-spacing:var(--tr-body);color:var(--fg-sub);flex-wrap:wrap;display:flex}.chapter-nav{gap:var(--sp-3);max-width:var(--read-max);margin:var(--sp-8) auto 0;padding-top:var(--sp-7);border-top:var(--hair) solid var(--line);flex-direction:column;display:flex}.chapter-peek{gap:var(--sp-3);margin:0 0 var(--sp-2);display:flex}.chapter-peek-label{padding-top:var(--sp-1);color:var(--mark);flex:none}.chapter-peek-body{min-width:0;font-size:var(--fs-sub);line-height:var(--lh-ui);color:var(--fg-sub);flex:1}.fig{margin:var(--sp-7) 0}.fig-label{margin-bottom:var(--sp-2);font-size:var(--fs-label);letter-spacing:var(--tr-label);line-height:var(--lh-ui);color:var(--fg-sub)}.fig-panel{padding:var(--sp-5) var(--sp-4);border-radius:var(--r-panel);background:var(--panel-bg);color:var(--panel-ink);overflow-x:auto}.fig-placeholder{border:var(--hair) dashed var(--panel-sub)}.fig-id{margin-bottom:var(--sp-3);font-family:var(--font-num);font-size:var(--fs-label);letter-spacing:var(--tr-label);color:var(--panel-sub)}.fig-spec{font-family:inherit;font-size:var(--fs-sub);line-height:var(--lh-body);color:var(--panel-ink);white-space:pre-wrap;word-break:break-word;margin:0}.fig-todo{margin-top:var(--sp-3);font-size:var(--fs-meta);color:var(--panel-sub)}.terms{max-width:var(--read-max);margin:var(--sp-7) auto;padding:var(--sp-5) 0;border-top:var(--hair) solid var(--line);border-bottom:var(--hair) solid var(--line)}.terms-label{margin-bottom:var(--sp-4);font-size:var(--fs-label);letter-spacing:var(--tr-label);line-height:var(--lh-ui);color:var(--fg-sub)}.terms dl{margin:0}.term{margin-bottom:var(--sp-4)}.term:last-child{margin-bottom:0}.term dt{font-size:var(--fs-body);font-weight:700}.term dd{margin:var(--sp-1) 0 0;font-size:var(--fs-body);line-height:var(--lh-body);color:var(--fg-sub)}.quiz{max-width:var(--read-max);margin:var(--sp-7) auto;padding:var(--sp-5) var(--sp-4);border:var(--hair) solid var(--line);border-radius:var(--r);background:var(--bg-2)}.quiz-progress{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:var(--fs-meta);letter-spacing:var(--tr-body);color:var(--fg-sub)}.quiz-prompt{margin:var(--sp-3) 0 var(--sp-5);font-size:var(--fs-head);font-weight:700;line-height:var(--lh-tight)}.quiz-choices{margin:0;padding:0;list-style:none}.quiz-choices li{margin-bottom:var(--sp-3)}.quiz-choice{width:100%;min-height:var(--tap-min);padding:var(--sp-3) var(--sp-4);border:var(--hair) solid var(--line);border-left:var(--hair-mark) solid transparent;border-radius:var(--r);background:var(--bg-1);color:var(--fg);font:inherit;font-size:var(--fs-sub);line-height:var(--lh-ui);text-align:left;cursor:pointer;transition:border-color var(--mo-fast) var(--ease), background-color var(--mo-fast) var(--ease);display:block}.quiz-choice:hover:not(:disabled){border-color:var(--fg-sub)}.quiz-choice.is-correct{border-color:var(--ok);font-weight:700}.quiz-choice.is-wrong{border-color:var(--warn);color:var(--fg-sub);text-decoration:line-through}.quiz-choice.is-dim{opacity:.45}.quiz-feedback{margin-top:var(--sp-5)}.quiz-verdict{margin:0 0 var(--sp-3);font-weight:700}.quiz-verdict.is-correct{color:var(--ok)}.quiz-verdict.is-wrong{color:var(--warn)}.quiz-explanation{font-size:var(--fs-sub);line-height:var(--lh-body);color:var(--fg-sub)}.quiz-dig,.quiz-next{min-height:var(--tap-min);margin-top:var(--sp-3);margin-right:var(--sp-3);padding:0 var(--sp-5);border-radius:var(--r);font:inherit;font-size:var(--fs-sub);cursor:pointer}.quiz-dig{border:var(--hair) solid var(--line);background:var(--bg-1);color:var(--fg-sub)}.quiz-dig:disabled{opacity:.5;cursor:not-allowed}.quiz-next{border:var(--hair) solid var(--mark);background:var(--mark);color:var(--bg)}.quiz-result{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:var(--fs-head);letter-spacing:var(--tr-body);margin:0}.certificate{max-width:var(--read-max);margin:var(--sp-7) auto;padding:var(--sp-6) var(--sp-5);border:var(--hair) solid var(--mark);border-radius:var(--r);background:var(--bg-1)}.certificate-body{font-family:inherit;font-size:var(--fs-body);line-height:var(--lh-body);white-space:pre-wrap;word-break:break-word;margin:0}.settings h1{margin:var(--sp-7) 0 var(--sp-4);font-size:var(--fs-title);letter-spacing:var(--tr-title);font-weight:700}.settings h2{margin:var(--sp-7) 0 var(--sp-3);font-size:var(--fs-head);font-weight:700}.settings section{margin-bottom:var(--sp-6)}.settings-note{font-size:var(--fs-sub);line-height:var(--lh-body);color:var(--fg-sub)}.settings-textarea{width:100%;margin-bottom:var(--sp-3);padding:var(--sp-3);border:var(--hair) solid var(--line);border-radius:var(--r);background:var(--bg-1);color:var(--fg);font:inherit;font-size:var(--fs-sub);resize:vertical}.settings-input{width:100%;min-height:var(--tap-min);margin-bottom:var(--sp-3);padding:0 var(--sp-3);border:var(--hair) solid var(--line);border-radius:var(--r);background:var(--bg-1);color:var(--fg);font:inherit;font-size:var(--fs-body)}.settings-message{padding:var(--sp-3) var(--sp-4);border-left:var(--hair-mark) solid var(--ok);background:var(--bg-2);font-size:var(--fs-sub)}.btn-primary,.btn-quiet,.btn-danger{min-height:var(--tap-min);padding:0 var(--sp-5);border-radius:var(--r);font:inherit;font-size:var(--fs-sub);line-height:var(--lh-ui);cursor:pointer}.btn-primary{border:var(--hair) solid var(--mark);background:var(--mark);color:var(--bg)}.btn-quiet{margin-right:var(--sp-3);border:var(--hair) solid var(--line);background:var(--bg-1);color:var(--fg-sub)}.btn-danger{border:var(--hair) solid var(--warn);color:var(--warn);background:0 0}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.exam-preview{padding-left:var(--sp-5);font-size:var(--fs-sub);line-height:var(--lh-body);color:var(--fg-sub)}.exam-src{margin-right:var(--sp-2);font-size:var(--fs-label);letter-spacing:var(--tr-label);color:var(--fg-sub)}.gallery-head{padding:var(--sp-7) 0 var(--sp-5);border-bottom:var(--hair) solid var(--line)}.gallery-head h1{font-size:var(--fs-title);letter-spacing:var(--tr-title);margin:0;font-weight:700}.gallery-sub{margin:var(--sp-2) 0 var(--sp-4);font-size:var(--fs-sub);color:var(--fg-sub)}.gallery-actions{gap:var(--sp-3);flex-wrap:wrap;display:flex}.gallery-actions .btn-quiet.is-on{border-color:var(--mark);color:var(--mark)}.gallery-note{margin:var(--sp-4) 0 0;padding:var(--sp-3) var(--sp-4);border-left:var(--hair-mark) solid var(--line);background:var(--bg-2);font-size:var(--fs-meta);line-height:var(--lh-body)}.gallery-list{margin:0;padding:0;list-style:none}.gallery-item{padding:var(--sp-6) 0;border-bottom:var(--hair) solid var(--line)}.gallery-meta{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3);flex-wrap:wrap;display:flex}.gallery-id{font-family:var(--font-num);font-size:var(--fs-sub);letter-spacing:var(--tr-body);color:var(--fg);font-weight:700}.gallery-chapter{font-size:var(--fs-meta);color:var(--fg-sub)}.gallery-state{padding:0 var(--sp-2);border:var(--hair) solid var(--line);border-radius:var(--r);font-size:var(--fs-label);letter-spacing:var(--tr-label);color:var(--fg-sub);margin-left:auto}.gallery-state.is-done{border-color:var(--ok);color:var(--ok)}.gallery-jump{margin-top:var(--sp-3);font-size:var(--fs-meta)}.chat{max-width:var(--read-max);margin:var(--sp-8) auto var(--sp-7);border:var(--hair) solid var(--line);border-top:var(--hair-mark) solid var(--ai);border-radius:var(--r);background:var(--bg-1)}.chat-head{align-items:center;gap:var(--sp-3);min-height:var(--tap-min);padding:0 var(--sp-2) 0 var(--sp-4);border-bottom:var(--hair) solid var(--line);display:flex}.chat-title{align-items:center;gap:var(--sp-2);font-size:var(--fs-sub);line-height:var(--lh-ui);color:var(--ai);font-weight:600;display:flex}.chat-title:before{content:"";width:var(--hair-mark);height:var(--fs-sub);background:var(--ai)}.chat-state{font-size:var(--fs-meta);line-height:var(--lh-ui);color:var(--fg-sub);margin-left:auto}.chat-close{min-width:var(--tap-min);min-height:var(--tap-min);color:var(--fg-sub);font-size:var(--fs-title);line-height:var(--lh-ui);cursor:pointer;background:0 0;border:none}.chat-log{max-height:60vh;padding:var(--sp-4);overflow-y:auto}.chat-empty{font-size:var(--fs-sub);line-height:var(--lh-body);color:var(--fg-sub)}.chat-role{margin:0}.chat-example{margin:var(--sp-3) 0 0;padding-left:var(--sp-3);border-left:var(--hair) solid var(--line)}.chat-turn{margin-bottom:var(--sp-4);border-radius:var(--r);font-size:var(--fs-body);line-height:var(--lh-body);overflow-wrap:anywhere}.chat-turn.is-user{padding:var(--sp-3);background:var(--bg-2);margin-left:12%}.chat-turn.is-user p{margin:0}.chat-turn.is-model{padding-left:var(--sp-4);border-left:var(--hair-mark) solid var(--ai)}.chat-turn.is-model .md-p{max-width:none;margin:0 0 var(--sp-3)}.chat-busy{font-size:var(--fs-sub);color:var(--fg-sub)}.chat-error{padding:var(--sp-3) var(--sp-4);border-left:var(--hair-mark) solid var(--warn);color:var(--warn);font-size:var(--fs-sub);line-height:var(--lh-body);margin:0}.chat-form{gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-top:var(--hair) solid var(--line);display:flex}.chat-input{min-width:0;min-height:var(--tap-min);padding:0 var(--sp-3);border:var(--hair) solid var(--line);border-radius:var(--r);background:var(--bg-1);color:var(--fg);font:inherit;font-size:var(--fs-body);flex:1}.chat-send{min-height:var(--tap-min);padding:0 var(--sp-4);border:var(--hair) solid var(--mark);border-radius:var(--r);background:var(--mark);color:var(--bg);font:inherit;font-size:var(--fs-sub);cursor:pointer;flex:none}.chat-send:disabled{opacity:.4;cursor:not-allowed}.meter{margin:var(--sp-8) 0 var(--sp-7);padding:var(--sp-5) var(--sp-4);border-radius:var(--r-panel);background:var(--bg);color:var(--fg)}.meter-label{margin-bottom:var(--sp-4);font-size:var(--fs-label);letter-spacing:var(--tr-label);line-height:var(--lh-ui);color:var(--fg-sub)}.meter-idle{font-size:var(--fs-sub);line-height:var(--lh-body);color:var(--fg-sub);margin:0}.meter-line{margin:0 0 var(--sp-3);font-size:var(--fs-body);line-height:var(--lh-body)}.meter-num{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:var(--fs-title);letter-spacing:var(--tr-body);color:var(--mark)}.meter-punch{margin:var(--sp-5) 0;padding-left:var(--sp-3);border-left:var(--hair-mark) solid var(--mark);font-size:var(--fs-head);font-weight:700;line-height:var(--lh-tight);color:var(--fg)}.meter-scale{gap:var(--sp-2);margin:var(--sp-5) 0;padding:var(--sp-3) var(--sp-4);border:var(--hair) solid var(--line);border-radius:var(--r);display:grid}.meter-scale-row{gap:var(--sp-1);font-size:var(--fs-sub);flex-wrap:wrap;align-items:baseline;display:flex}.meter-scale-label{min-width:0;color:var(--fg-sub);overflow-wrap:anywhere}.meter-scale-value{font-family:var(--font-num);font-variant-numeric:tabular-nums;letter-spacing:var(--tr-body);color:var(--mark);white-space:nowrap;margin-left:auto;font-weight:700}.meter-note{font-size:var(--fs-meta);line-height:var(--lh-body);color:var(--fg-sub);margin:0}.exam-head{max-width:var(--read-max);padding:var(--sp-7) 0 var(--sp-5);margin:0 auto}.exam-head h1{margin:0 0 var(--sp-4);font-size:var(--fs-display);font-weight:700;line-height:var(--lh-tight);letter-spacing:var(--tr-title)}.exam-line{margin:0 0 var(--sp-2);font-size:var(--fs-sub);line-height:var(--lh-body);letter-spacing:var(--tr-body)}.exam-note{font-size:var(--fs-sub);color:var(--fg-sub)}.exam-score{margin:0 0 var(--sp-3);font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:var(--fs-title);letter-spacing:var(--tr-body)}.exam-score.is-pass{color:var(--ok)}.exam-score strong{font-size:var(--fs-display);font-variant-numeric:tabular-nums}.exam-list{max-width:var(--read-max);margin:0 auto;padding:0;list-style:none}.exam-item{padding:var(--sp-6) 0;border-bottom:var(--hair) solid var(--line)}.exam-item-meta{font-family:var(--font-num);font-size:var(--fs-label);letter-spacing:var(--tr-label);color:var(--fg-sub)}.exam-prompt{margin:var(--sp-2) 0 var(--sp-4);font-size:var(--fs-body);font-weight:700;line-height:var(--lh-tight)}.exam-choices{margin:0;padding:0;list-style:none}.exam-choices li{margin-bottom:var(--sp-3)}.exam-choice{width:100%;min-height:var(--tap-min);padding:var(--sp-3) var(--sp-4);border:var(--hair) solid var(--line);border-left:var(--hair-mark) solid transparent;border-radius:var(--r);background:var(--bg-1);color:var(--fg);font:inherit;font-size:var(--fs-sub);line-height:var(--lh-ui);text-align:left;cursor:pointer;display:block}.exam-choice.is-picked{border-left-color:var(--mark);font-weight:700}.exam-submit{max-width:var(--read-max);padding:var(--sp-4) 0;background:color-mix(in srgb, var(--bg) 94%, transparent);-webkit-backdrop-filter:blur(var(--sp-2));backdrop-filter:blur(var(--sp-2));border-top:var(--hair) solid var(--line);margin:0 auto;position:sticky;bottom:0}.exam-submit .btn-primary{width:100%}.exam-progress{margin:0 0 var(--sp-2);font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:var(--fs-sub);letter-spacing:var(--tr-body);color:var(--fg-sub)}.exam-pass,.exam-fail{max-width:var(--read-max);margin:0 auto var(--sp-6);padding:var(--sp-5) var(--sp-4);background:var(--bg-2);border-left:var(--hair-mark) solid var(--line)}.exam-pass{border-left-color:var(--ok)}.exam-fail{border-left-color:var(--warn)}.exam-pass p,.exam-fail .md-p{margin-top:0}.exam-review{max-width:var(--read-max);margin:0 auto}.exam-review h2{margin:var(--sp-7) 0 var(--sp-4);font-size:var(--fs-title);letter-spacing:var(--tr-title);font-weight:700}.exam-wrong-list{margin:0;padding:0;list-style:none}.exam-wrong{padding:var(--sp-5) 0;border-bottom:var(--hair) solid var(--line)}.exam-wrong-meta{font-family:var(--font-num);font-size:var(--fs-label);letter-spacing:var(--tr-label);color:var(--fg-sub)}.exam-wrong-prompt{margin:var(--sp-2) 0 var(--sp-3);font-weight:700;line-height:var(--lh-tight)}.exam-wrong-answer,.exam-wrong-yours{margin:0 0 var(--sp-1);font-size:var(--fs-sub);line-height:var(--lh-body)}.exam-wrong-answer strong{color:var(--ok)}.exam-wrong-yours{color:var(--fg-sub)}.exam-wrong-actions{gap:var(--sp-3);margin-top:var(--sp-3);flex-wrap:wrap;display:flex}.exam-back{margin-top:var(--sp-7)}.cert-screen{max-width:var(--read-max);padding:var(--sp-7) 0;margin:0 auto}.cert-paper{padding:var(--sp-6) var(--sp-5);border:var(--hair) solid var(--mark);border-radius:var(--r);background:var(--bg-1);animation:cert-in var(--mo-slow) var(--ease);position:relative}@keyframes cert-in{0%{opacity:0;transform:translateY(calc(var(--sp-4) * -1))}to{opacity:1;transform:none}}.cert-rule{height:var(--hair-mark);margin:var(--sp-2) 0 var(--sp-5);background:var(--mark)}.cert-rule:last-child{margin:var(--sp-5) 0 var(--sp-2)}.cert-body{font-family:inherit;font-size:var(--fs-body);line-height:var(--lh-body);white-space:pre-wrap;word-break:break-word;margin:0}.cert-date{margin-top:var(--sp-5);font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:var(--fs-sub);letter-spacing:var(--tr-body);color:var(--fg-sub)}.cert-stamp{right:var(--sp-5);bottom:var(--sp-7);width:var(--sp-8);height:var(--sp-8);border:var(--hair-mark) solid var(--mark);border-radius:var(--r-round);color:var(--mark);font-size:var(--fs-head);letter-spacing:var(--tr-title);opacity:0;place-items:center;font-weight:700;display:grid;position:absolute;transform:scale(2.2)rotate(-16deg)}.cert-stamp.is-stamped{animation:cert-stamp var(--mo-slow) var(--ease) forwards}@keyframes cert-stamp{0%{opacity:0;transform:scale(2.2)rotate(-16deg)}to{opacity:.85;transform:scale(1)rotate(-12deg)}}.cert-hint{margin:var(--sp-5) 0;font-size:var(--fs-sub);color:var(--fg-sub)}.fig42-live,.fig92-live{margin:var(--sp-4) 0;padding-left:var(--sp-4);border-left:var(--hair-mark) solid var(--ai)}.fig42-gen,.fig92-btn.is-live{width:100%;min-height:var(--tap-min);border:var(--hair) solid var(--ai);border-radius:var(--r);color:var(--ai);font:inherit;font-size:var(--fs-sub);cursor:pointer;background:0 0;font-weight:700;display:block}.fig42-gen:disabled,.fig92-btn.is-live:disabled{opacity:.5;cursor:not-allowed}.fig42-results{margin:var(--sp-3) 0 0;padding-left:var(--sp-5);font-size:var(--fs-sub);line-height:var(--lh-body)}.fig42-results li{margin-bottom:var(--sp-2);overflow-wrap:anywhere}.fig42-verdict,.fig92-verdict{margin:var(--sp-3) 0 0;font-size:var(--fs-sub);font-weight:700;line-height:var(--lh-tight);color:var(--panel-ink)}.fig42-error,.fig92-error{margin:var(--sp-3) 0 0;font-size:var(--fs-sub);line-height:var(--lh-body);color:var(--warn)}.fig92-live-head{margin-bottom:var(--sp-2);font-size:var(--fs-label);letter-spacing:var(--tr-label);line-height:var(--lh-ui);color:var(--ai)}.fig92-live-text{font-size:var(--fs-sub);line-height:var(--lh-body);color:var(--panel-ink);overflow-wrap:anywhere;margin:0}.install{max-width:var(--read-max);margin:var(--sp-7) auto;padding-top:var(--sp-7);border-top:var(--hair) solid var(--line)}.install-lead{margin:0 0 var(--sp-3);font-weight:700;line-height:var(--lh-tight)}.install-body,.install-how{margin:0 0 var(--sp-4);font-size:var(--fs-sub);line-height:var(--lh-body);color:var(--fg-sub)}.install-how{color:var(--fg)}.install-close{min-height:var(--tap-min);padding:0 var(--sp-5);border:var(--hair) solid var(--line);border-radius:var(--r);background:var(--bg-1);color:var(--fg-sub);font:inherit;font-size:var(--fs-sub);cursor:pointer}@media (prefers-reduced-motion:reduce){.crumb-caret,.appbar-read,.quiz-choice{transition:none}.cert-paper,.cert-stamp.is-stamped{animation:none}.cert-stamp{opacity:.85;transform:scale(1)rotate(-12deg)}}.fig31-tabs{gap:8px;margin-bottom:14px;display:flex}.fig31-tab{min-height:var(--tap-min);border:1px solid var(--panel-sub);color:var(--panel-sub);font:inherit;cursor:pointer;transition:color .2s var(--ease), border-color .2s var(--ease), background .2s var(--ease);background:0 0;border-radius:999px;flex:1;padding:0 6px;font-size:14px}.fig31-tab.is-on{border-color:var(--glow-warm);color:#12161f;background:var(--glow-warm);font-weight:700}.fig31-hint{color:var(--panel-sub);margin:0 0 12px;font-size:14px}.fig31-stage{position:relative}.fig31-svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.fig31-curve{fill:none;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px;animation:fig31-draw .4s var(--ease) forwards;filter:drop-shadow(0 0 4px)}@keyframes fig31-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.fig31-chips{flex-wrap:wrap;gap:8px;display:flex;position:relative}.fig31-chip{min-height:var(--tap-min);min-width:var(--tap-min);border:1px solid var(--panel-sub);color:var(--panel-ink);font:inherit;cursor:pointer;transition:border-color .2s var(--ease), transform .2s var(--ease);background:#ffffff0a;border-radius:10px;padding:6px 10px;font-size:15px;line-height:1.3;position:relative}.fig31-chip.is-active{border-color:var(--glow-warm);color:#fff;border-width:2px;font-weight:700;box-shadow:0 0 12px #ffb24d80}.fig31-score{font-variant-numeric:tabular-nums;color:var(--glow-warm);margin-top:2px;font-size:11px;line-height:1;display:block}.fig31-readout{color:var(--panel-ink);margin:14px 0 0;font-size:14px}@media (prefers-reduced-motion:reduce){.fig31-curve{stroke-dashoffset:0;animation:none}}.fig61-canvas{aspect-ratio:1;width:100%;max-width:320px;image-rendering:pixelated;background:#000;border-radius:8px;margin:0 auto;display:block}.fig61-controls{gap:10px;margin:16px 0 12px;display:flex}.fig61-btn{min-height:var(--tap-min);border:1px solid var(--panel-sub);color:var(--panel-ink);font:inherit;cursor:pointer;background:0 0;border-radius:999px;flex:1;font-size:15px}.fig61-btn.is-primary{border-color:var(--glow-warm);background:var(--glow-warm);color:#12161f;font-weight:700}.fig61-btn:disabled{opacity:.4;cursor:not-allowed}.fig61-slider{display:block}.fig61-slider-label{color:var(--panel-ink);font-variant-numeric:tabular-nums;margin-bottom:8px;font-size:14px;display:block}.fig61-slider input[type=range]{width:100%;min-height:var(--tap-min);accent-color:var(--glow-warm)}.fig61-note{color:var(--panel-sub);margin:10px 0 0;font-size:14px}.fig71-hint,.fig71-axis{color:var(--panel-sub);font-size:14px}.fig71-hint{margin:0 0 14px}.fig71-axis{margin:14px 0 0}.fig71-stairs{margin:0;padding:0;list-style:none}.fig71-step{background:rgba(255, 178, 77, calc(.06 + var(--lvl) * .18));border:1px solid rgba(255, 178, 77, calc(.2 + var(--lvl) * .5));opacity:0;transition:opacity .4s var(--ease), transform .4s var(--ease), box-shadow .4s var(--ease);border-radius:10px;margin-bottom:8px;transform:translateY(14px)}.fig71-step.is-lit{opacity:1;box-shadow:0 0 calc(6px + var(--lvl) * 18px) rgba(255, 178, 77, calc(var(--lvl) * .55));transform:none}.fig71-face{width:100%;min-height:var(--tap-min);color:var(--panel-ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;padding:10px 14px;font-size:15px;display:flex}.fig71-level{color:var(--panel-sub);white-space:nowrap;font-size:13px}.fig71-aitime{color:#fff;font-weight:700}.fig71-q{color:var(--glow-warm);animation:fig71-blink 1.4s var(--ease) infinite;margin-left:auto;font-size:20px;font-weight:700}@keyframes fig71-blink{0%,to{opacity:1}50%{opacity:.2}}.fig71-detail{padding:0 14px 12px}.fig71-task,.fig71-human{margin:0;font-size:14px;line-height:1.7}.fig71-task{color:var(--panel-ink)}.fig71-human{color:var(--glow-warm);margin-top:4px}.fig71-empty{color:var(--glow-hot);font-size:14px}@media (prefers-reduced-motion:reduce){.fig71-step{opacity:1;transition:none;transform:none}.fig71-q{animation:none}}.figp-wrap{min-width:0}.figp-hint{color:var(--panel-sub);margin:0 0 12px;font-size:14px}.figp-line,.figp-result{overflow-wrap:anywhere;margin:0 0 .6em;font-size:14px;line-height:1.8}.figp-line:last-child,.figp-result:last-child{margin-bottom:0}.figp-result{border-left:2px solid var(--glow-warm);color:var(--panel-ink);padding-left:.9em}.figp-bullets{margin:0 0 .6em;padding-left:1.2em;font-size:14px;line-height:1.8}.figp-bullets li{overflow-wrap:anywhere;margin-bottom:.35em}.figp-caption{color:var(--panel-sub);overflow-wrap:anywhere;margin:14px 0 0;font-size:13px;line-height:1.7}.figp-flip{margin:0;padding:0;list-style:none}.figp-flip-card{border:1px solid var(--panel-sub);transition:border-color .3s var(--ease);border-radius:12px;margin-bottom:10px;overflow:hidden}.figp-flip-card.is-open,.figp-flip-card.is-accent{border-color:var(--glow-warm)}.figp-flip-face{width:100%;min-width:0;min-height:var(--tap-min);color:var(--panel-ink);font:inherit;text-align:left;cursor:pointer;background:#ffffff0a;border:none;align-items:center;gap:10px;padding:12px 14px;font-size:15px;display:flex}.figp-flip-label{color:#fff;overflow-wrap:anywhere;min-width:0;font-weight:700}.figp-flip-title{color:var(--glow-warm);overflow-wrap:anywhere;min-width:0;font-size:13px}.figp-flip-mark{color:var(--panel-sub);flex:none;margin-left:auto;font-size:18px}.figp-flip-body{animation:figp-open .3s var(--ease);padding:4px 14px 14px}@keyframes figp-open{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.figp-seq{counter-reset:figp;margin:0;padding:0;list-style:none}.figp-seq-item{border:1px solid var(--panel-sub);opacity:0;transition:opacity .4s var(--ease), transform .4s var(--ease), border-color .4s var(--ease);background:#ffffff08;border-radius:12px;margin-bottom:12px;padding:14px;position:relative;transform:translateY(16px)}.figp-seq-item.is-lit{opacity:1;transform:none}.figp-seq-item.is-accent.is-lit{border-color:var(--glow-warm);box-shadow:0 0 14px #ffb24d47}.figp-seq-item:not(:last-child):after{content:"";background:var(--panel-sub);width:1px;height:12px;position:absolute;bottom:-12px;left:50%}.figp-seq-head{flex-wrap:wrap;align-items:baseline;gap:8px;min-width:0;margin-bottom:8px;display:flex}.figp-seq-badge{background:var(--glow-warm);color:#12161f;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:13px;font-weight:700;display:inline-grid}.figp-seq-label{color:#fff;overflow-wrap:anywhere;min-width:0;font-size:15px;font-weight:700}.figp-seq-title{color:var(--glow-warm);overflow-wrap:anywhere;min-width:0;font-size:13px}.figp-bars{gap:10px;min-width:0;display:grid}.figp-bar-row{grid-template-columns:minmax(0,4.2em) minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;display:grid}.figp-bar-label{color:var(--panel-sub);overflow-wrap:anywhere;min-width:0;font-size:13px}.figp-bar-track{background:#ffffff12;border-radius:999px;min-width:0;height:18px;overflow:hidden}.figp-bar-fill{background:var(--glow-cool);height:100%;transition:width .7s var(--ease);border-radius:999px}.figp-bar-fill.is-accent{background:var(--glow-warm)}.figp-bar-value{font-variant-numeric:tabular-nums;color:var(--panel-ink);white-space:nowrap;flex:none;font-size:13px}.figp-bar-note{color:var(--glow-warm);overflow-wrap:anywhere;grid-column:1/-1;font-size:12px}.figp-tabs{flex-wrap:wrap;gap:8px;min-width:0;margin-bottom:14px;display:flex}.figp-tab{min-width:0;min-height:var(--tap-min);border:1px solid var(--panel-sub);color:var(--panel-sub);font:inherit;cursor:pointer;overflow-wrap:anywhere;background:0 0;border-radius:999px;flex:auto;padding:0 10px;font-size:13px}.figp-tab.is-on{border-color:var(--glow-warm);background:var(--glow-warm);color:#12161f;font-weight:700}.fig42-slider{margin-bottom:16px;display:block}.fig42-slider-label{color:var(--panel-ink);font-variant-numeric:tabular-nums;margin-bottom:8px;font-size:14px;display:block}.fig42-slider input[type=range]{width:100%;min-height:var(--tap-min);accent-color:var(--glow-warm)}.fig42-sample{border:1px solid var(--panel-sub);transition:border-color .3s var(--ease);border-radius:12px;margin-bottom:16px;padding:14px}.fig42-sample.is-low{border-color:var(--glow-cool)}.fig42-sample.is-high{border-color:var(--glow-hot)}.fig42-sample-head,.fig42-dist-head,.fig141-head{letter-spacing:.08em;color:var(--panel-sub);margin-bottom:8px;font-size:12px}.fig42-sample-text{color:#fff;overflow-wrap:anywhere;margin:0 0 8px;font-size:16px;line-height:1.7}.fig42-sample-note{color:var(--panel-sub);margin:0;font-size:13px}.fig42-dist{margin-bottom:4px}.fig141-block{margin-bottom:20px}.fig141-block:last-of-type{margin-bottom:0}@media (prefers-reduced-motion:reduce){.figp-seq-item,.figp-flip-body{opacity:1;transition:none;animation:none;transform:none}.figp-bar-fill{transition:none}}.fig01-line{border-left:2px solid var(--panel-sub);margin:0;padding:0 0 0 18px;list-style:none}.fig01-item{border:1px solid var(--panel-sub);filter:blur(3px)grayscale();opacity:.45;transition:filter .5s var(--ease), opacity .5s var(--ease), border-color .5s var(--ease);border-radius:10px;margin-bottom:14px;padding:10px 12px;position:relative}.fig01-item:before{content:"";background:var(--panel-sub);width:10px;height:10px;transition:background .5s var(--ease);border-radius:50%;position:absolute;top:18px;left:-25px}.fig01-item.is-lit{filter:none;opacity:1}.fig01-item.is-lit:before{background:var(--glow-warm)}.fig01-item.is-here{border-color:var(--glow-warm);background:#ffb24d1a}.fig01-year{color:var(--glow-warm);font-variant-numeric:tabular-nums;font-size:13px}.fig01-text{color:var(--panel-ink);overflow-wrap:anywhere;font-size:14px;line-height:1.7}.fig01-badge{background:var(--glow-warm);color:#12161f;border-radius:999px;margin-top:6px;padding:2px 8px;font-size:12px;font-weight:700;display:inline-block}.fig112-legend{gap:14px;margin-bottom:14px;font-size:13px;display:flex}.fig112-key:before{content:"";border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.fig112-key.is-us:before{background:var(--glow-hot)}.fig112-key.is-cn:before{background:var(--glow-cool)}.fig112-key.is-us{color:var(--glow-hot)}.fig112-key.is-cn{color:var(--glow-cool)}.fig112-axis{border-left:2px solid var(--panel-sub);margin:0;padding:0 0 0 20px;list-style:none}.fig112-item{opacity:0;transition:opacity .4s var(--ease), transform .4s var(--ease);margin-bottom:12px;position:relative;transform:translate(-8px)}.fig112-item.is-lit{opacity:1;transform:none}.fig112-dot{border-radius:50%;width:12px;height:12px;position:absolute;top:6px;left:-27px}.fig112-item.is-us .fig112-dot{background:var(--glow-hot)}.fig112-item.is-cn .fig112-dot{background:var(--glow-cool)}.fig112-body{background:#ffffff0a;border-left:3px solid #0000;border-radius:10px;padding:8px 12px}.fig112-item.is-us .fig112-body{border-left-color:var(--glow-hot)}.fig112-item.is-cn .fig112-body{border-left-color:var(--glow-cool)}.fig112-date{font-variant-numeric:tabular-nums;color:var(--panel-sub);margin-right:8px;font-size:13px;display:inline-block}.fig112-text{overflow-wrap:anywhere;font-size:14px;line-height:1.7}.fig11-svg{width:100%;max-width:320px;margin:0 auto;display:block}.fig11-edge.is-lit{animation:fig11-pulse .6s var(--ease)}@keyframes fig11-pulse{0%{stroke-dasharray:4 40;stroke-dashoffset:44px}to{stroke-dasharray:4 40;stroke-dashoffset:0}}.fig11-hit{cursor:pointer}.fig11-label{font-family:inherit;font-size:13px}.fig11-inputs{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.fig11-input-btn{min-width:0;min-height:var(--tap-min);border:1px solid var(--panel-sub);color:var(--panel-sub);font:inherit;cursor:pointer;background:0 0;border-radius:999px;flex:auto;padding:0 10px;font-size:13px}.fig11-input-btn.is-on{border-color:var(--glow-warm);background:var(--glow-warm);color:#12161f;font-weight:700}.fig21-canvas{aspect-ratio:1;width:100%;max-width:280px;image-rendering:pixelated;border-radius:8px;margin:0 auto;display:block}.fig21-btn,.fig22-btn,.fig81-btn,.fig92-btn{width:100%;min-height:var(--tap-min);border:1px solid var(--glow-warm);color:var(--glow-warm);font:inherit;cursor:pointer;background:0 0;border-radius:999px;margin-top:14px;font-size:15px;display:block}.fig21-btn:disabled,.fig22-btn:disabled,.fig81-btn:disabled{opacity:.4;cursor:not-allowed}.fig21-stages{margin:16px 0 0;padding:0;list-style:none}.fig21-stage{border:1px solid var(--panel-sub);opacity:.35;transition:opacity .4s var(--ease), border-color .4s var(--ease);border-radius:8px;align-items:center;gap:10px;margin-bottom:8px;padding:8px 12px;display:flex}.fig21-stage.is-lit{opacity:1;border-color:var(--glow-warm)}.fig21-stage-n{background:var(--glow-warm);color:#12161f;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:inline-grid}.fig21-stage-name{font-size:14px}.fig22-words{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.fig22-word{flex-direction:column;gap:4px;min-width:0;display:flex}.fig22-word-box{border:1px solid var(--panel-sub);min-width:38px;min-height:34px;color:var(--panel-sub);transition:color .3s var(--ease), border-color .3s var(--ease);border-radius:8px;place-items:center;padding:0 6px;font-size:13px;display:grid}.fig22-word.is-done .fig22-word-box{color:var(--panel-ink);border-color:var(--glow-cool)}.fig22-word.is-current .fig22-word-box{border-color:var(--glow-warm);color:#fff;box-shadow:0 0 10px #ffb24d80}.fig22-mem{background:var(--glow-cool);height:6px;transition:opacity .4s var(--ease);border-radius:3px}.fig22-foot{flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px;display:flex}.fig22-blink{border:1px solid var(--glow-hot);color:var(--glow-hot);animation:fig22-flash 1.2s var(--ease) infinite;border-radius:6px;padding:4px 10px;font-size:13px}@keyframes fig22-flash{0%,to{opacity:1}50%{opacity:.25}}.fig22-foot .fig22-btn{flex:auto;width:auto;margin-top:0}.fig41-field{margin-bottom:12px;display:block}.fig41-field-label{color:var(--panel-sub);margin-bottom:8px;font-size:13px;display:block}.fig41-input{width:100%;min-height:var(--tap-min);border:1px solid var(--panel-sub);color:var(--panel-ink);font:inherit;background:#ffffff0f;border-radius:10px;padding:0 12px;font-size:16px}.fig41-presets{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.fig41-preset{min-height:var(--tap-min);border:1px solid var(--panel-sub);color:var(--panel-sub);font:inherit;cursor:pointer;overflow-wrap:anywhere;background:0 0;border-radius:999px;padding:0 12px;font-size:13px}.fig41-preset.is-on{border-color:var(--glow-warm);color:var(--glow-warm)}.fig41-tokens{flex-wrap:wrap;gap:4px;min-height:40px;margin-bottom:12px;display:flex}.fig41-token{color:#12161f;overflow-wrap:anywhere;border-radius:6px;padding:5px 8px;font-size:15px}.fig41-token[data-hue="0"]{background:#ffb24d}.fig41-token[data-hue="1"]{background:#4fa3ff}.fig41-token[data-hue="2"]{background:#7fd6a2}.fig41-token[data-hue="3"]{background:#ff8fa3}.fig41-token[data-hue="4"]{background:#c9a6ff}.fig41-token[data-hue="5"]{background:#ffd76e}.fig41-count{color:var(--panel-ink);font-variant-numeric:tabular-nums;font-size:14px}.fig51-svg,.fig81-svg{width:100%;max-width:320px;margin:0 auto 14px;display:block}.fig51-axis{stroke:var(--panel-sub);stroke-width:1px}.fig51-trend{stroke:var(--glow-cool);stroke-width:2px;stroke-dasharray:4 4;opacity:.7}.fig81-curve{fill:none;stroke:var(--glow-cool);stroke-width:2px}.fig51-dot{fill:var(--glow-warm);filter:drop-shadow(0 0 6px var(--glow-warm));transition:cx .3s var(--ease), cy .3s var(--ease)}.fig51-axis-label{fill:var(--panel-sub);font-family:inherit;font-size:11px}.fig51-callout{border:1px solid var(--glow-warm);background:#ffb24d14;border-radius:10px;margin-bottom:14px;padding:12px 14px}.fig51-scale{color:var(--glow-warm);margin-bottom:6px;font-size:13px;font-weight:700}.fig51-abilities{margin:0;padding-left:1.2em;font-size:14px;line-height:1.8}.fig51-sliders{gap:10px;display:grid}.fig51-slider{display:block}.fig51-slider-name{color:var(--panel-sub);margin-bottom:2px;font-size:13px;display:block}.fig51-slider input[type=range]{width:100%;min-height:var(--tap-min);accent-color:var(--glow-warm)}.fig81-thoughts{border:1px solid var(--panel-sub);border-radius:10px;padding:14px}.fig81-head{letter-spacing:.08em;color:var(--glow-warm);margin-bottom:10px;font-size:12px}.fig81-steps{margin:0;padding-left:1.3em;font-size:14px;line-height:1.9}.fig81-steps li{overflow-wrap:anywhere}.fig81-step.is-answer{color:var(--glow-warm);font-weight:700}.fig81-caret{background:var(--glow-warm);vertical-align:text-bottom;width:2px;height:1em;margin-left:2px;animation:.8s step-end infinite fig81-caret;display:inline-block}@keyframes fig81-caret{0%,to{opacity:1}50%{opacity:0}}.fig92-list{margin:0;padding:0;list-style:none}.fig92-item{border:1px solid var(--panel-sub);transition:border-color .4s var(--ease);border-radius:12px;margin-bottom:12px;padding:14px}.fig92-item.is-accent{border-color:var(--glow-warm)}.fig92-label{color:#fff;margin-bottom:8px;font-size:15px;font-weight:700}.fig92-body{animation:figp-open .4s var(--ease)}.fig92-hidden{color:var(--panel-sub);opacity:.6;font-size:13px}.fig121-cards{margin:0;padding:0;list-style:none}.fig121-card{border:1px solid var(--panel-sub);opacity:0;transition:opacity .4s var(--ease), transform .4s var(--ease);border-radius:12px;gap:8px;margin-bottom:12px;padding:12px 14px;display:grid;transform:translateY(12px)}.fig121-card.is-lit{opacity:1;transform:none}.fig121-item{color:var(--glow-warm);font-size:14px;font-weight:700}.fig121-side{min-width:0}.fig121-side-head{color:var(--panel-sub);align-items:center;gap:6px;font-size:13px;display:flex}.fig121-side-text{overflow-wrap:anywhere;font-size:14px;line-height:1.7}.fig121-mark{flex:none;width:18px;height:18px}.fig121-stroke{fill:none;stroke:var(--glow-cool);stroke-width:2.5px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px}.fig121-mark.is-cross .fig121-stroke{stroke:var(--glow-hot)}.fig121-stroke.is-lit{animation:fig121-draw .5s var(--ease) forwards}@keyframes fig121-draw{to{stroke-dashoffset:0}}.fig121-fit{border-left:3px solid var(--glow-warm);margin-top:14px;padding:12px 14px}.fig121-fit-label{color:var(--glow-warm);margin-bottom:6px;font-size:13px;font-weight:700}.fig122-cards{margin:0;padding:0;list-style:none}.fig122-card{border:1px solid var(--panel-sub);border-radius:12px;margin-bottom:12px;padding:14px}.fig122-card.is-meter{border-color:var(--glow-hot)}.fig122-head{align-items:center;gap:10px;margin-bottom:10px;display:flex}.fig122-icon{flex:none;width:40px;height:40px}.fig122-line{fill:none;stroke:var(--panel-ink);stroke-width:2px;stroke-linecap:round}.fig122-drop{fill:var(--glow-cool);animation:fig122-drip 2s var(--ease) infinite}.fig122-drop.is-late{animation-delay:1s}@keyframes fig122-drip{0%{opacity:0;transform:translateY(-6px)}40%{opacity:1}to{opacity:0;transform:translateY(6px)}}.fig122-disc{transform-origin:24px 22px;animation:3s linear infinite fig122-spin}.fig122-needle{stroke:var(--glow-hot);stroke-width:2.5px}@keyframes fig122-spin{to{transform:rotate(360deg)}}.fig122-label{color:#fff;overflow-wrap:anywhere;font-size:15px;font-weight:700}.fig143-layer{border:1px solid var(--panel-sub);border-radius:12px;padding:14px}.fig143-layer.is-upper{border-color:var(--glow-warm);background:#ffb24d14}.fig143-layer.is-lower{border-color:var(--glow-cool);background:#4fa3ff0f}.fig143-layer-label{color:#fff;overflow-wrap:anywhere;font-size:15px;font-weight:700}.fig143-layer-title{color:var(--glow-warm);margin-bottom:8px;font-size:13px}.fig143-flow{justify-items:center;gap:4px;padding:14px 0;display:grid}.fig143-arrow{color:var(--panel-sub);animation:fig143-rise 2.4s var(--ease) infinite;align-items:center;gap:8px;font-size:13px;display:flex}.fig143-arrow-mark{color:var(--glow-warm);font-size:16px}.fig143-arrow-text{overflow-wrap:anywhere}@keyframes fig143-rise{0%{opacity:.3;transform:translateY(4px)}50%{opacity:1;transform:translateY(-4px)}to{opacity:.3;transform:translateY(4px)}}@media (prefers-reduced-motion:reduce){.fig01-item,.fig112-item,.fig121-card,.fig92-body{opacity:1;filter:none;transition:none;animation:none;transform:none}.fig11-edge.is-lit,.fig22-blink,.fig81-caret,.fig122-drop,.fig122-disc,.fig143-arrow,.fig121-stroke.is-lit{animation:none}.fig121-stroke.is-lit{stroke-dashoffset:0}}
