*,:after,:before{box-sizing:border-box}body,html{height:100%;margin:0}body{font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;background:var(--bg);color:var(--text)}button{color:inherit}.ic-duo{fill:var(--icon-duo);stroke:none}.bundle-primary-btn,.bundle-submit-btn,.catalog-resume,.cg-btn.cg-primary,.course-enroll,.exam-mark,.exam-submit,.example-step-next,.game-start,.game-submit,.ghost-pill,.growth-race-primary,.guest-btn-primary,.limit-pilot-primary,.quiz-check,.reading-annot-btn,.rv-go,.send,.seq-arrow.next,.tutor-begin,.tutor-send{--icon-duo:color-mix(in oklab,#fff 30%,transparent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:root{--cta:oklch(0.43 0.085 162);--cta-hover:oklch(0.39 0.085 162);--cta-ink:#ffffff;--success-tx:#3f6547;--success-bg:#ebf7ed;--warn-tx:#6f562a;--warn-bg:#faf2e6;--danger-tx:#8a3f3a;--danger-bg:#ffefed;--info-tx:#375f80;--info-bg:#eaf5ff;--concept-tx:#61527c;--concept-bg:#f5f1fe;--fig-accent:oklch(0.52 0.09 160);--fig-grid:color-mix(in oklab,var(--fig-accent) 10%,var(--surface));--accent:var(--info-tx);--accent-ink:#ffffff;--accent-text:var(--info-tx);--accent-strong:color-mix(in oklab,var(--info-tx) 82%,black);--accent-weak:var(--info-bg);--accent-weak-2:color-mix(in oklab,var(--info-bg) 50%,var(--surface));--accent-border:color-mix(in oklab,var(--info-tx) 32%,var(--surface));--dur-quick:.15s;--dur-fast:.25s;--dur-slow:.3s;--ease-smooth-out:cubic-bezier(.22,1,.36,1);--bg:#ffffff;--surface:#ffffff;--surface-2:#f7f6f3;--surface-3:#f1f1ef;--border:#e9e9e7;--border-2:#d9d8d4;--text:#37352f;--text-2:#55534e;--text-3:#6b6a65;--ok:var(--success-tx);--ok-text:var(--success-tx);--okd:var(--success-tx);--ok-weak:var(--success-bg);--bad:var(--danger-tx);--bad-text:var(--danger-tx);--bad-weak:var(--danger-bg);--warn:var(--warn-tx);--pen-red:oklch(0.6 0.2 18);--edge:#86857f;--icon-duo:color-mix(in oklab,var(--info-tx) 20%,transparent);--shadow-float-sm:0 4px 12px oklch(0.25 0.006 80/0.08),0 2px 4px oklch(0.25 0.006 80/0.05);--shadow-float:0 16px 40px oklch(0.25 0.006 80/0.14),0 4px 10px oklch(0.25 0.006 80/0.07);--tone-gray-bg:#f1f1ef;--tone-gray-tx:#615f5b;--tone-yellow-bg:var(--warn-bg);--tone-yellow-tx:var(--warn-tx);--tone-green-bg:var(--success-bg);--tone-green-tx:var(--success-tx);--tone-blue-bg:var(--info-bg);--tone-blue-tx:var(--info-tx);--tone-purple-bg:var(--concept-bg);--tone-purple-tx:var(--concept-tx);--tone-red-bg:var(--danger-bg);--tone-red-tx:var(--danger-tx);--r-sm:8px;--r-md:8px;--r-lg:8px;--r-xl:8px;--fs:15px;--lesson-overline:12px;--lesson-title:25px;--lesson-scene:21px;--lesson-q:19px;--lesson-choice:16px;--lesson-label:13px;--lesson-hint:14px;--rail-w:124px;--panel-w:432px;--panel-w-grade:560px;--read-w:720px}[data-theme=dark]{--cta:oklch(0.5 0.09 162);--cta-hover:oklch(0.46 0.09 162);--cta-ink:#ffffff;--success-tx:#9fc2a5;--success-bg:#202921;--warn-tx:#cfb384;--warn-bg:#2c251b;--danger-tx:#e6a49d;--danger-bg:#302321;--info-tx:#92bde2;--info-bg:#1e2830;--concept-tx:#beaede;--concept-bg:#28242f;--fig-accent:oklch(0.64 0.1 160);--accent-ink:#191919;--accent-strong:color-mix(in oklab,var(--info-tx) 82%,white);--bg:#191919;--surface:#202020;--surface-2:#252525;--surface-3:#2f2f2f;--border:#2f2f2f;--border-2:#3a3a3a;--text:#e3e2e0;--text-2:#b4b3b0;--text-3:#999895;--pen-red:oklch(0.7 0.18 20);--edge:#7a7975;--shadow-float-sm:0 6px 18px #0007;--shadow-float:0 20px 50px #00000080,0 6px 14px #0006;--tone-gray-bg:#2f2f2f;--tone-gray-tx:#a3a3a3}.app{display:grid;grid-template-columns:var(--rail-w) minmax(0,1fr) 0;height:100vh;height:100dvh;width:100vw;overflow:hidden;font-size:var(--fs)}.app[data-panel=open],.app[data-panel=split]{grid-template-columns:var(--rail-w) minmax(0,1fr) var(--panel-w)}.app[data-panel=grading]{grid-template-columns:var(--rail-w) minmax(0,1fr) var(--panel-w-grade)}.app[data-panel=reading]{grid-template-columns:var(--rail-w) minmax(0,1fr) var(--panel-w-reading,560px)}.rail{background:var(--bg);border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:stretch;padding:14px 10px;gap:4px}.rail .brand{min-height:38px;margin:0 2px 14px;display:flex;align-items:center;gap:8px;color:var(--text);font-weight:800;font-size:12px;letter-spacing:-.25px}.brand-mark{flex:0 0 auto;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--text);color:#fff;font-size:17px;letter-spacing:-.5px}.rail-btn{position:relative;width:100%;min-height:42px;padding:0 10px;border-radius:6px;border:none;background:transparent;color:var(--text-3);display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;grid-gap:8px;gap:8px;font:inherit;text-align:left;text-decoration:none;cursor:pointer;transition:color var(--dur-quick)}.rail-btn:hover{color:var(--text)}.rail-btn.active{color:var(--accent-text)}.rail-btn.active:before{content:"";position:absolute;left:-10px;top:8px;bottom:8px;width:3px;background:var(--accent);border-radius:0 2px 2px 0}.rail-btn:focus-visible{outline:2px solid var(--accent-border);outline-offset:2px}.rail-btn svg{width:19px;height:19px}.rail-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit;font-size:12.5px;font-weight:650;letter-spacing:-.15px}.rail-divider{height:1px;margin:7px 8px;background:var(--border)}.rail .spacer{flex:1 1}.rail .avatar{width:34px;height:34px;border-radius:50%;border:none;padding:0;cursor:pointer;background:var(--text-2);color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px;margin-top:4px;transition:box-shadow var(--dur-quick),transform .1s}.rail .avatar:hover{box-shadow:0 0 0 3px var(--accent-weak)}.rail .avatar.on{box-shadow:0 0 0 3px var(--accent-border)}.user-menu{position:relative;margin-top:4px}.user-menu .avatar{margin-top:0}.user-pop{position:absolute;bottom:0;left:calc(100% + 12px);width:224px;z-index:60;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-float);padding:12px;display:flex;flex-direction:column;gap:11px}.user-pop-head{display:flex;align-items:center;gap:11px}.user-pop-av{flex:0 0 auto;width:40px;height:40px;border-radius:50%;background:var(--text-2);color:#fff;display:grid;place-items:center;font-weight:700;font-size:16px}.user-pop-info{min-width:0}.user-pop-name{font-size:14px;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-pop-id{font-size:12px;color:var(--text-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-top:1px}.user-pop-role{align-self:flex-start;font-size:11px;font-weight:650;color:var(--accent-text);background:var(--accent-weak);border:1px solid var(--accent-border);border-radius:999px;padding:2px 9px}.user-logout{width:100%;display:flex;align-items:center;justify-content:center;gap:7px;padding:9px;border-radius:9px;border:1px solid var(--border-2);background:var(--surface-2);color:var(--text);font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:all var(--dur-quick)}.user-logout svg{width:16px;height:16px}.user-logout:hover{border-color:var(--bad);color:var(--bad);background:var(--bad-weak)}.chat{flex-direction:column;min-width:0;min-height:0;background:var(--bg)}.chat,.chat-header{display:flex;position:relative}.chat-header{align-items:center;gap:12px;padding:14px 22px;border-bottom:1px solid var(--border);background:color-mix(in oklab,var(--bg) 80%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:5}.chat-header .title{display:flex;flex-direction:column;gap:1px;min-width:0}.chat-header h1{font-size:15px;font-weight:650;margin:0;letter-spacing:-.2px}.chat-header .sub{font-size:11.5px;color:var(--text-3);display:flex;align-items:center;gap:6px}.dot{width:6px;height:6px;border-radius:50%;background:var(--ok);display:inline-block}.chat-header .grow{flex:1 1}.hbtn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:var(--surface);color:var(--text-2);border-radius:9px;padding:7px 11px;font-size:12.5px;font-weight:550;cursor:pointer;transition:all var(--dur-quick)}.hbtn:hover{border-color:var(--border-2);color:var(--text)}.hbtn svg{width:15px;height:15px}.hbtn.on{background:var(--accent-weak);color:var(--accent-text);border-color:var(--accent-border)}.model-chip{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;color:var(--text-2);background:var(--surface);border:1px solid var(--border);padding:5px 9px;border-radius:999px}.model-chip .sparkle{color:var(--accent-text)}.persona-menu{position:relative}.persona-trigger{padding-right:8px}.persona-trigger .persona-emoji{font-size:15px;line-height:1}.persona-trigger .persona-name{font-weight:600}.persona-trigger svg{width:13px;height:13px;opacity:.6}.persona-pop{position:absolute;top:calc(100% + 6px);right:0;z-index:40;width:268px;padding:6px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 10px 30px -8px rgba(0,0,0,.22);display:flex;flex-direction:column;gap:2px}.persona-menu.up .persona-pop{top:auto;bottom:calc(100% + 6px);right:auto;left:0}.persona-option{display:flex;align-items:flex-start;gap:10px;width:100%;padding:9px 10px;border-radius:9px;border:1px solid transparent;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:background var(--dur-quick),border-color var(--dur-quick)}.persona-option:hover{background:var(--surface-2)}.persona-option.on{background:var(--accent-weak);border-color:var(--accent-border)}.persona-option-emoji{font-size:20px;line-height:1.1;flex:none}.persona-option-text{display:flex;flex-direction:column;gap:2px;min-width:0}.persona-option-name{font-size:13.5px;font-weight:650}.persona-option.on .persona-option-name{color:var(--accent-text)}.persona-option-desc{font-size:11.5px;color:var(--text-3);line-height:1.35}.thread{flex:1 1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:28px 22px 8px;scroll-behavior:smooth}.thread-inner{max-width:var(--read-w);margin:24px auto 8px;display:flex;flex-direction:column;gap:26px}.app[data-panel=open] .thread-inner,.app[data-panel=split] .thread-inner{margin:0 auto}.msg{display:flex;gap:13px;align-items:flex-start}.msg .av{flex:0 0 auto;width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-size:13px;font-weight:700;margin-top:1px}.av.bot{background:var(--text);color:#fff}.av.me{background:var(--surface-3);color:var(--text-2)}.msg .body{min-width:0;flex:1 1}.msg .role{font-size:11.5px;font-weight:650;color:var(--text-3);margin-bottom:5px;letter-spacing:.2px}.prose{font-size:var(--fs);line-height:1.72;color:var(--text)}.prose p{margin:0 0 10px}.prose p:last-child{margin-bottom:0}.prose strong{font-weight:680}.prose .hl{background:var(--accent-weak);border-radius:4px;padding:0 3px;color:var(--accent-strong);font-weight:600}.thread[data-bubble=flat] .msg.me .av{display:none}.thread[data-bubble=flat] .msg.me .body{display:flex;flex-direction:column;align-items:flex-end}.thread[data-bubble=flat] .msg.me .body .text{max-width:86%;padding:4px 14px 4px 0;border-right:3px solid var(--border-2)}.thread[data-bubble=flat] .msg.bot .body .text{padding:0}.thread[data-bubble=bubble] .msg{gap:11px}.thread[data-bubble=bubble] .msg.me{flex-direction:row-reverse}.thread[data-bubble=bubble] .msg.me .body{display:flex;justify-content:flex-end}.thread[data-bubble=bubble] .msg.me .role{text-align:right}.thread[data-bubble=bubble] .msg.me .text{background:var(--info-bg);color:var(--text);border-radius:18px 18px 5px 18px;padding:11px 15px;max-width:86%}.thread[data-bubble=bubble] .msg.me .text .hl{background:var(--surface);color:var(--info-tx)}.thread[data-bubble=bubble] .msg.bot .text{background:var(--surface);border:1px solid var(--border);border-radius:18px 18px 18px 5px;padding:13px 16px}.thread[data-bubble=minimal] .msg .av{display:none}.thread[data-bubble=minimal] .msg{gap:0;padding-left:0}.thread[data-bubble=minimal] .msg .role{text-transform:uppercase;font-size:10.5px;letter-spacing:.12em;color:var(--text-3);margin-bottom:6px}.thread[data-bubble=minimal] .msg.me .role{color:var(--accent-text)}.thread[data-bubble=minimal] .msg .text{padding:0}.thread[data-bubble=minimal] .msg+.msg{border-top:1px solid var(--border);padding-top:22px}.msg-image{margin-top:8px;display:inline-flex;flex-direction:column;gap:0;border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;background:var(--surface);max-width:280px}.msg-image .ph{height:150px;width:280px;background:repeating-linear-gradient(135deg,var(--surface-2) 0 11px,var(--surface-3) 11px 22px);display:grid;place-items:center;position:relative}.msg-image .ph .tag{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--text-3);background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:4px 8px}.msg-image .pic{display:block;width:100%;height:auto;max-height:360px;object-fit:contain;background:var(--surface-2)}.msg-image .cap{font-size:11.5px;color:var(--text-2);padding:7px 11px;border-top:1px solid var(--border);display:flex;align-items:center;gap:6px}.msg-image .cap svg{width:13px;height:13px;color:var(--text-3)}.msg-ref{margin-top:8px;display:inline-flex;align-items:center;gap:7px;max-width:280px;padding:7px 11px;font-size:12.5px;color:var(--text-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md)}.msg-ref svg{width:14px;height:14px;color:var(--accent-text);flex:0 0 auto}.msg-ref .t{font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msg-ref .n{flex:0 0 auto;font-size:11px;font-weight:700;color:var(--accent-text);background:var(--accent-weak);border-radius:6px;padding:2px 7px}.concepts{margin-top:12px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);padding:13px 15px}.concepts .hd{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);margin-bottom:4px}.concepts .msg-t{font-size:13.5px;color:var(--text-2);margin-bottom:11px;line-height:1.5}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid var(--border-2);background:var(--surface);color:var(--text);border-radius:999px;padding:7px 14px;font-size:13px;font-weight:500;cursor:pointer;transition:all var(--dur-quick);display:inline-flex;align-items:center;gap:6px}.chip:hover{border-color:var(--accent);color:var(--accent-text);background:var(--accent-weak-2)}.chip .n{font-size:10px;color:var(--text-3);font-weight:700}.chip:hover .n{color:var(--accent-text)}.review-rec{margin-top:12px;border:1px solid var(--accent-border);border-radius:var(--r-md);background:var(--accent-weak-2);padding:13px 15px}.rv-hd{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.rv-tag{font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--info-tx);background:var(--info-bg);border-radius:999px;padding:3px 9px}.rv-concept{font-size:14px;font-weight:700;color:var(--text)}.rv-sec{font-size:12px;color:var(--text-3)}.rv-sub{font-size:12.5px;color:var(--text-2);margin:8px 0 11px;line-height:1.5}.rv-list{display:flex;flex-direction:column;margin:0 0 12px;padding:0;list-style:none;border-top:1px solid var(--border)}.rv-item{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--border);padding:7px 2px}.rv-num{font-size:13px;font-weight:600;color:var(--text)}.rv-diff{font-size:11px;color:var(--text-3);background:var(--surface-3);border-radius:999px;padding:2px 8px}.rv-go{display:inline-flex;align-items:center;gap:7px;border:0;cursor:pointer;transition:all var(--dur-quick);background:var(--cta);color:var(--cta-ink);border-radius:999px;padding:8px 16px;font-size:13px;font-weight:600}.rv-go:hover{background:var(--cta-hover)}.rv-go svg{width:15px;height:15px}.rp-bar{height:6px;border-radius:3px;background:var(--border-2);margin:10px 0 8px;overflow:hidden}.rp-fill{height:100%;background:var(--accent);transition:width var(--dur-slow)}.learn-prog{margin-top:12px;border:1px solid var(--accent-border);border-radius:var(--r-md);background:var(--accent-weak-2);padding:13px 15px}.lp-hd{display:flex;align-items:center;gap:8px;margin-bottom:10px}.lp-tag{font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--info-tx);background:var(--info-bg);border-radius:999px;padding:3px 9px}.lp-grid{display:flex;gap:10px}.lp-cell{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 6px;border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--border-2)}.lp-num{font-size:22px;font-weight:800;color:var(--accent-text);line-height:1}.lp-lbl{font-size:11.5px;color:var(--text-2)}.ld-body{display:flex;flex-direction:column;gap:16px;padding:14px}.ld-muted{color:var(--text-3);font-size:13px;line-height:1.6;padding:8px 2px}.ld-summary{display:flex;gap:10px}.ld-summary .lp-cell{flex:1 1;align-items:center;gap:3px;padding:12px 6px;border-radius:var(--r-sm);background:var(--accent-weak-2);border:1px solid var(--accent-border)}.ld-sec,.ld-summary .lp-cell{display:flex;flex-direction:column}.ld-sec{gap:7px}.ld-h{font-size:12px;font-weight:700;color:var(--text-2);margin:2px 0;letter-spacing:.02em}.ld-skill{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;padding:9px 12px;border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--border-2)}.ld-skill-name{font-size:13.5px;font-weight:600;color:var(--text)}.ld-skill-sec{font-size:11.5px;color:var(--text-3)}.ld-review{display:flex;flex-direction:column;gap:6px;text-align:left;padding:10px 12px;border-radius:var(--r-sm);cursor:pointer;background:var(--surface);border:1px solid var(--border-2)}.ld-review:disabled{cursor:default}.ld-review:not(:disabled):hover{border-color:var(--accent-border);background:var(--accent-weak-2)}.ld-review-top{display:flex;align-items:center;gap:8px}.ld-review-count{font-size:11.5px;color:var(--text-3);margin-left:auto}.typing{gap:9px;padding:4px 0}.typing,.typing-dots{display:inline-flex;align-items:center}.typing-dots{gap:4px}.typing-dots i{width:7px;height:7px;border-radius:50%;background:var(--text-3);animation:tb 1.1s ease-in-out infinite}.typing-dots i:nth-child(2){animation-delay:.15s}.typing-dots i:nth-child(3){animation-delay:.3s}@keyframes tb{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.status-label{font-size:13px;color:var(--text-2)}.proc-step.active .proc-label,.status-label{background:linear-gradient(90deg,var(--text-3) 40%,var(--text) 50%,var(--text-3) 60%) 100% 0 /300% 100% no-repeat;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:shimmer-text 2s linear infinite}@keyframes shimmer-text{to{background-position:0 0}}@media (prefers-reduced-motion:reduce){.typing-dots i{animation:none;opacity:.55}.proc-step.active .proc-label,.status-label{animation:none;background:none;-webkit-text-fill-color:currentColor;color:var(--text-2)}.proc-caret{transition:none}}.proc-steps{display:flex;flex-direction:column;gap:5px;margin:2px 0 10px}.proc-step{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-2)}.proc-step.done{color:var(--text-3)}.proc-mark{width:16px;flex:none;display:inline-flex;justify-content:center}.proc-mark .typing-dots{gap:3px}.proc-mark .typing-dots i{width:5px;height:5px}.proc-check{color:var(--accent-text);font-size:12px;font-weight:700}.proc-label{min-width:0}.proc-summary{margin:0 0 8px}.proc-summary-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-3);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:3px 10px;cursor:pointer}.proc-summary-chip:hover{color:var(--text-2)}.proc-caret{font-size:10px;transition:transform var(--dur-quick)}.proc-caret.open{transform:rotate(180deg)}.proc-summary-detail{margin:6px 0 0;padding-left:4px;display:flex;flex-direction:column;gap:3px}.proc-summary-row{font-size:12.5px;color:var(--text-2)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.cursor-blink:after{content:"▍";color:var(--accent-text);animation:bl 1s steps(2) infinite;margin-left:1px}@keyframes bl{50%{opacity:0}}.composer-wrap{padding:10px 22px 14px;background:var(--bg);border-top:1px solid var(--border)}.composer-inner{max-width:var(--read-w);margin:0 auto}.attach-preview{display:flex;align-items:center;gap:10px;margin-bottom:9px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:8px 10px 8px 8px;width:-moz-fit-content;width:fit-content;animation:pop .25s ease}@keyframes pop{0%{opacity:0;transform:translateY(6px) scale(.97)}}.attach-preview .mini{width:28px;height:28px;flex:0 0 auto;display:grid;place-items:center}.attach-preview .mini svg{width:20px;height:20px;color:var(--accent-text)}.attach-preview .nm{font-size:12.5px;font-weight:600}.attach-preview .sz{font-size:11px;color:var(--text-3)}.attach-preview .x{border:none;background:var(--surface-3);color:var(--text-2);width:22px;height:22px;border-radius:6px;cursor:pointer;display:grid;place-items:center;margin-left:6px}.attach-preview .x:hover{background:var(--bad-weak);color:var(--bad)}.composer{display:flex;align-items:flex-end;gap:8px;background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;padding:4px 0;transition:border-color var(--dur-quick)}.composer:focus-within{border-bottom-color:var(--accent)}.icon-btn{flex:0 0 auto;width:38px;height:38px;border-radius:6px;border:none;background:transparent;color:var(--text-2);cursor:pointer;display:grid;place-items:center;transition:all var(--dur-quick)}.icon-btn:hover{background:var(--surface-3);color:var(--text)}.icon-btn svg{width:19px;height:19px}.icon-btn.attach.has{color:var(--accent-text)}.composer textarea{flex:1 1;border:none;background:transparent;resize:none;font:inherit;font-size:var(--fs);line-height:1.5;color:var(--text);outline:none;padding:9px 4px;max-height:140px;min-height:41px}.composer-wrap textarea::placeholder{white-space:nowrap;text-overflow:ellipsis}.composer textarea::placeholder{color:var(--text-3)}.send{flex:0 0 auto;width:38px;height:38px;border-radius:6px;border:none;background:var(--cta);color:var(--cta-ink);cursor:pointer;display:grid;place-items:center;transition:all var(--dur-quick)}.send:hover{background:var(--cta-hover)}.send:disabled{opacity:.35;cursor:default}.send svg{width:18px;height:18px}.composer-tools{display:flex;align-items:center;gap:8px;margin-bottom:8px}.composer-tools-label{font-size:11.5px;font-weight:600;color:var(--text-3)}.gl-chiprow{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:9px}.gl-chip{display:inline-flex;align-items:center;gap:6px;min-height:40px;border:1px solid var(--border-2);background:var(--surface);color:var(--text-2);border-radius:999px;padding:9px 15px;font-size:13px;font-weight:600;cursor:pointer;transition:all var(--dur-quick)}.gl-chip:hover{border-color:var(--accent);color:var(--accent-text);background:var(--accent-weak-2)}.gl-chip-step{max-width:210px}.gl-chip-num{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--accent-weak-2);color:var(--accent-text);font-size:11px;font-weight:700}.gl-chip-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-chips{display:grid;grid-gap:7px;gap:7px;margin:-12px 0 0 43px;justify-items:start}.route-chips-q{font-size:11.5px;font-weight:650;color:var(--text-3)}.route-chips-row{display:flex;flex-wrap:wrap;gap:7px}.route-chip{display:inline-flex;align-items:center;gap:6px;min-height:38px;border:1px solid var(--border-2);background:var(--surface);color:var(--text-2);border-radius:999px;padding:7px 13px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:all var(--dur-quick)}.route-chip:focus-visible,.route-chip:hover{border-color:var(--accent);color:var(--accent-text);background:var(--accent-weak-2);outline:none}.route-chip-more{border-style:dashed}.route-chip-wrap{position:relative;display:inline-flex}.route-tip{position:absolute;bottom:calc(100% + 8px);left:50%;translate:-50% 0;background:var(--text);color:var(--surface);border-radius:10px;padding:8px 11px;font-size:12.5px;font-weight:500;line-height:1.45;text-align:center;max-width:min(260px,70vw);width:max-content;box-shadow:var(--shadow-float);opacity:0;pointer-events:none;z-index:3;transition:opacity var(--dur-quick)}.route-chips-row>.route-chip-wrap:first-child .route-tip{left:0;translate:none}.route-chips-row>.route-chip-wrap:last-of-type .route-tip{left:auto;right:0;translate:none}.route-tip:after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top:5px solid var(--text)}.route-chips-row>.route-chip-wrap:first-child .route-tip:after{left:28px}.route-chips-row>.route-chip-wrap:last-of-type .route-tip:after{left:auto;right:23px}.route-chip-wrap:hover .route-tip,.route-chip:focus-visible+.route-tip{opacity:1}@media (hover:none){.route-tip{display:none}}.route-chip-info{width:38px;padding:0;justify-content:center;font-size:14px}.route-help{margin:0;display:grid;grid-gap:7px;gap:7px;padding:11px 13px;max-width:420px;border:1px solid var(--border);background:var(--surface);border-radius:8px}.route-help-ln{display:flex;gap:9px;font-size:12.5px;line-height:1.5}.route-help dt{font-weight:650;color:var(--text);white-space:nowrap}.route-help dd{margin:0;color:var(--text-2)}.route-chips-pop{display:grid;grid-gap:7px;gap:7px;padding:10px;border:1px solid var(--border);background:var(--surface);border-radius:14px;box-shadow:var(--shadow-float)}.route-chips-note{font-size:11.5px;color:var(--text-3);line-height:1.5}.composer-hint{font-size:11px;color:var(--text-3);text-align:center;margin-top:9px}.composer-hint kbd{font-family:ui-monospace,monospace;font-size:10.5px;background:var(--surface-2);border:solid var(--border);border-width:1px 1px 2px;border-radius:5px;padding:1px 5px;color:var(--text-2)}.empty-state{flex:1 1;min-height:0;overflow-y:auto;padding:44px 28px 24px 72px;container-type:inline-size;word-break:keep-all}.chat>.empty-state{background:linear-gradient(var(--fig-grid) 1px,transparent 1px) 0 0 /24px 24px,linear-gradient(90deg,var(--fig-grid) 1px,transparent 1px) 0 0 /24px 24px,var(--bg)}.lesson-chat-panel>.empty-state{padding:24px 20px}.empty-inner{max-width:980px}.empty-kick{font-size:12px;color:var(--text-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.empty-state h2{margin:8px 0 26px;font-size:26px;font-weight:800;letter-spacing:-.03em;line-height:1.3}.empty-state p{margin:-14px 0 28px;max-width:460px;font-size:15px;line-height:1.6;color:var(--text-2)}.empty-cols{display:grid;grid-gap:36px;gap:36px}.empty-cols>section{container-type:inline-size}.empty-cols>:only-child{max-width:560px}@container (min-width: 760px){.empty-cols:has(>:nth-child(2)){grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:56px}}.empty-label{display:flex;align-items:baseline;gap:10px;margin:0;padding-bottom:8px;border-bottom:2px solid var(--text);font-size:13px;font-weight:800}.empty-rows{list-style:none;margin:0;padding:0}.empty-rows li{border-bottom:1px solid var(--border);background:color-mix(in oklab,var(--bg) 82%,transparent)}.empty-ask,.empty-row{display:grid;width:100%;border:0;background:none;color:inherit;font:inherit;text-align:left;text-decoration:none;cursor:pointer}.empty-row{grid-template-columns:34px minmax(0,1fr) auto;gap:4px 12px;align-items:start;padding:14px 0}.empty-row .no{font-size:12px;color:var(--text-3);padding-top:2px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.empty-row .ti{font-size:15px;font-weight:750}.empty-row .ti em{font-style:normal;font-size:12.5px;font-weight:600;color:var(--text-3);margin-right:8px}.empty-row .sub{grid-column:2;font-size:13.5px;color:var(--text-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.empty-row .go{grid-column:3;grid-row:1/span 2;align-self:center;font-size:13.5px;font-weight:700;color:var(--accent-text);white-space:nowrap}.empty-ask{grid-template-columns:auto minmax(0,1fr) auto;gap:2px 10px;align-items:baseline;padding:11px 0;font-size:14px}.empty-ask b{font-weight:750;white-space:nowrap}.empty-ask span{color:var(--text-2)}.empty-ask .ar{color:var(--text-3)}.empty-ask:hover b,.empty-row:hover .ti{color:var(--accent-text)}@container (max-width: 440px){.empty-ask{grid-template-columns:minmax(0,1fr) auto}.empty-ask span:not(.ar){grid-row:2}.empty-ask .ar{grid-column:2;grid-row:1/span 2;align-self:center}}.artifact-panel{background:var(--surface);border-left:1px solid var(--border);display:flex;flex-direction:column;min-width:0;overflow:hidden;animation:panelIn .34s cubic-bezier(.22,.61,.36,1)}@keyframes panelIn{0%{opacity:0;transform:translateX(18px)}}.app:not([data-panel=open]):not([data-panel=split]):not([data-panel=grading]):not([data-panel=reading]) .artifact-panel{display:none}.graph-card{border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;background:var(--surface)}.graph-card.inline{;margin-top:13px;max-width:500px}.graph-head{justify-content:space-between;gap:10px;padding:10px 13px;background:var(--surface-2);border-bottom:1px solid var(--border)}.graph-head,.graph-head .gt{display:flex;align-items:center}.graph-head .gt{gap:7px;font-size:13px;font-weight:600;color:var(--text);min-width:0}.graph-head .gt .gi{width:15px;height:15px;color:var(--accent-text);flex:none}.graph-head .gtag{flex:none;white-space:nowrap;font-size:10.5px;font-weight:650;letter-spacing:.2px;color:var(--accent-text);background:var(--accent-weak);border:1px solid var(--accent-border);border-radius:999px;padding:2px 8px}.ghead-link{display:block;padding:15px 16px 13px;background:var(--surface-2);border-bottom:1px solid var(--border)}.ghead-link .eq{font-size:23px;font-weight:700;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.005em}.ghead-link .eq .co{padding:0 3px;border-radius:5px 5px 0 0;color:var(--c,var(--fig-accent));border-bottom:2.5px solid var(--c,var(--fig-accent));font-weight:800;transition:background var(--dur-quick),box-shadow var(--dur-quick)}.ghead-link .eq .co.on{background:color-mix(in oklab,var(--c,var(--fig-accent)) 12%,var(--surface));box-shadow:0 0 0 1px color-mix(in oklab,var(--c,var(--fig-accent)) 30%,transparent)}.ghead-link .cue{margin-top:9px;font-size:12px;font-weight:600;color:var(--text-3)}.graph-board-wrap{position:relative}.jxgbox{width:100%;aspect-ratio:16/11;touch-action:none}.graph-card.inline .jxgbox{aspect-ratio:16/9}.graph-card:not(.inline) .jxgbox{max-height:400px}[data-theme=dark] .jxgbox{background:var(--surface)!important}[data-theme=dark] .jxgbox .JXGtext{color:var(--text)!important;fill:var(--text)!important}.html-visual-frame{display:block;width:100%;border:0;background:var(--surface)}.graph-card.inline.html-visual,.graph-card.inline.spatial-visual{max-width:min(720px,100%)}.spatial-visual .spatial-board{height:360px}.spatial-visual .spatial-board.labels-off .spatial-labels{display:none}.spatial-visual .spatial-head-actions{display:inline-flex;align-items:center;gap:8px}.spatial-visual .spatial-label-toggle{font:inherit;font-size:12px;padding:2px 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-2);cursor:pointer}.reading-scene{margin:18px 0}.reading-scene .graph-card.inline.spatial-visual{max-width:100%}.graph-card{container-type:inline-size}.graph-cockpit{display:grid;grid-template-columns:1fr}@container (min-width: 700px){.graph-cockpit.has-panel{grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr)}.graph-cockpit.has-panel .graph-panel{border-left:1px solid var(--border)}.graph-cockpit.has-panel .graph-board-wrap{height:100%}.graph-cockpit.has-panel .jxgbox{aspect-ratio:auto;height:100%;min-height:280px;max-height:440px}.graph-cockpit.has-panel .graph-panel>:first-child{border-top:none}}.graph-panel{display:flex;flex-direction:column;min-width:0}.graph-loading{position:absolute;inset:0;display:grid;place-items:center;background:var(--surface-2);color:var(--text-3);font-size:13px;z-index:2}.graph-skeleton-board{width:100%;aspect-ratio:16/9;background:var(--surface-2);position:relative;overflow:hidden}.graph-skeleton-board .shimmer{position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,color-mix(in oklab,var(--surface) 60%,transparent) 50%,transparent 70%);transform:translateX(-100%);animation:graph-shimmer 1.5s infinite}@keyframes graph-shimmer{to{transform:translateX(100%)}}.graph-skeleton-label{position:absolute;inset:0;display:flex;gap:8px;align-items:center;justify-content:center;color:var(--text-3);font-size:13px;z-index:2}@media (prefers-reduced-motion:reduce){.graph-skeleton-board .shimmer{animation:none;transform:none;opacity:.5}}.unitctl,.zoomctl{position:absolute;display:flex;align-items:center;border:1px solid var(--border);border-radius:9px;overflow:hidden;background:color-mix(in oklab,var(--surface) 88%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:var(--shadow-float-sm);z-index:3}.unitctl button,.zoomctl button{border:none;background:transparent;color:var(--text-2);cursor:pointer}.unitctl button+button,.zoomctl button+button{border-left:1px solid var(--border)}.zoomctl{bottom:10px;right:10px}.zoomctl button{width:30px;height:28px;font-size:15px}.zoomctl button:hover{background:var(--surface-3);color:var(--text)}.zoomctl .ax{font-size:11px;font-weight:800;color:var(--text-3);padding:0 4px 0 7px;font-family:ui-monospace,monospace}.zoomctl .sep{width:1px;align-self:stretch;background:var(--border);margin:0 2px}.zoomctl .expandbtn{display:none;place-items:center}.zoomctl .expandbtn svg{width:14px;height:14px}.unitctl{top:9px;right:9px;border-radius:8px}.unitctl button{font:inherit;font-size:11.5px;font-weight:700;padding:5px 10px;color:var(--text-2)}.unitctl button[aria-pressed=true]{background:var(--surface-3);color:var(--text)}.sliders{padding:13px 15px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:14px}.slider-row{border-radius:8px;margin:-6px;padding:6px;transition:background var(--dur-quick)}.slider-row.on{background:var(--surface-2)}.slider-row.grab{box-shadow:0 0 0 2px var(--c,var(--fig-accent))}.sliders.dragging .slider-row:not(.grab){opacity:.55}.ghost-pill{position:absolute;top:9px;left:50%;transform:translateX(-50%);z-index:3;pointer-events:none;display:flex;align-items:center;gap:5px;max-width:calc(100% - 20px);white-space:nowrap;padding:5px 12px;border-radius:999px;background:var(--fig-accent);color:#fff;font-size:12.5px;font-weight:650;box-shadow:var(--shadow-float-sm)}.ghost-pill.below-unit{top:46px}.ghost-pill .gv{font-family:ui-monospace,monospace;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.slider-row .lab{display:flex;align-items:center;gap:8px;margin-bottom:6px}.slider-row .name{display:flex;align-items:center;gap:7px;min-width:0;font-size:13px;color:var(--text-2)}.slider-row .name .cdot{flex:none;width:10px;height:10px;border-radius:3px;background:var(--c,var(--fig-accent))}.slider-row .name .what{font-size:13.5px;font-weight:600;color:var(--text)}.slider-row .name .sym{font-size:12.5px;color:var(--text-3);font-family:ui-monospace,monospace}.slider-row .val{margin-left:auto;font-family:ui-monospace,monospace;font-weight:700;font-size:15px;color:var(--c,var(--fig-accent));font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.slider-row .shint{font-size:12px;color:var(--text-3);margin-top:5px}.slider-row .exp{margin-left:10px;display:flex;align-items:center;gap:6px;font-size:12px;font-weight:650;color:var(--text-2);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.slider-row .exp input{accent-color:var(--c,var(--fig-accent));width:15px;height:15px;margin:0;cursor:pointer}.slider-row .exp.checked{color:var(--c,var(--fig-accent))}.rng{display:flex;align-items:center;gap:9px}.rng .stepbtn{flex:none;width:34px;height:34px;border-radius:9px;border:1px solid var(--border-2);background:var(--surface);color:var(--text-2);font-size:17px;line-height:1;cursor:pointer;transition:background var(--dur-quick),border-color var(--dur-quick)}.rng .stepbtn:hover:not(:disabled){border-color:var(--accent);color:var(--accent-text)}.rng .stepbtn:active:not(:disabled){background:var(--surface-3)}.rng .stepbtn:disabled{opacity:.4;cursor:not-allowed}input[type=range].slide{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:1 1;min-width:0;height:5px;border-radius:999px;background:var(--surface-3);cursor:pointer}input[type=range].slide::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--c,var(--fig-accent));border:2.5px solid var(--surface);box-shadow:var(--shadow-float-sm);cursor:-webkit-grab;cursor:grab}input[type=range].slide::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--c,var(--fig-accent));border:2.5px solid var(--surface);cursor:grab}.graph-status{display:flex;align-items:center;gap:10px;padding:10px 15px;border-top:1px solid var(--border);background:var(--surface-2);font-size:13px}.graph-status .pill{flex:none;font-size:12px;font-weight:700;border-radius:999px;padding:3px 10px;background:var(--accent-weak);color:var(--accent-text);border:1px solid var(--accent-border)}.graph-status .sent{color:var(--text-2);min-width:0}.presets{padding:11px 15px;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:8px}.preset{flex:1 1;min-width:90px;border:1px solid var(--border-2);background:var(--surface);color:var(--text-2);border-radius:8px;padding:8px 10px;font-size:12.5px;font-weight:550;cursor:pointer;transition:all var(--dur-quick)}.preset:hover{border-color:var(--accent);color:var(--accent-text)}.preset.ans{background:var(--accent-weak);color:var(--accent-text);border-color:var(--accent-border)}.watch{padding:12px 15px;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:10px 22px;background:var(--surface-2)}.watch .w{font-size:12.5px;color:var(--text-2)}.watch .w b{font-family:ui-monospace,monospace;font-size:14px;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-left:4px}.spatial-board{position:relative;width:100%;height:440px;background:#f8f9fa}.spatial-caption{padding:8px 13px;font-size:12px;color:var(--text-3);background:var(--surface-2)}.analysis,.spatial-caption{border-top:1px solid var(--border)}.analysis{padding:12px 15px;font-size:13px;color:var(--text-2);line-height:1.8}.analysis strong{color:var(--text)}.analysis .hl{background:var(--accent-weak);border-radius:4px;padding:0 3px;color:var(--accent-strong);font-weight:600}.artifact-panel.grading{padding:0}.artifact-panel.reading{position:relative;padding:0}.prp{display:flex;flex-direction:column;height:100%;min-height:0}.prp-head{flex:none;display:flex;align-items:center;gap:9px;padding:11px 14px;border-bottom:1px solid var(--border);background:var(--surface)}.prp-head .grow{flex:1 1}.prp-icon{flex:none;width:24px;height:24px;display:grid;place-items:center;color:var(--accent-text)}.prp-icon svg{width:20px;height:20px}.prp-titles{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:1px}.prp-title{font-size:14px;font-weight:700;color:var(--text)}.prp-label,.prp-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prp-label{font-size:11.5px;color:var(--text-3)}.prp-list-title{font-size:14px;font-weight:700;color:var(--text)}.prp-btn{flex:none;font:inherit;font-size:12.5px;font-weight:600;padding:6px 11px;border-radius:8px;border:1px solid var(--border-2);background:var(--surface);color:var(--text);cursor:pointer;transition:border-color var(--dur-quick),color var(--dur-quick)}.prp-btn:hover{border-color:var(--accent);color:var(--accent-text)}.prp-close{flex:none;width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-2);cursor:pointer}.prp-close:hover{background:var(--surface-2);color:var(--text)}.prp-close svg{width:14px;height:14px}.prp-back{display:inline-flex;align-items:center;gap:5px;font:inherit;font-size:13px;font-weight:600;border:none;background:transparent;color:var(--text-2);padding:6px 8px 6px 4px;border-radius:8px;cursor:pointer}.prp-back:hover{color:var(--text);background:var(--surface-3)}.prp-body{flex:1 1;min-height:0;overflow-y:auto;padding:18px 22px 40px}.prp-note{color:var(--text-3);font-size:13.5px;line-height:1.6;padding:28px 4px;text-align:center}.prp-pending-label{font-size:12px;font-weight:650;color:var(--accent-text);margin-bottom:6px}.prp-pending-cue{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-2);margin-bottom:18px}.prp-skel{display:flex;flex-direction:column;gap:11px}.prp-skel span,.reading-card-skel span{display:block;height:12px;border-radius:6px;background:var(--surface-2);position:relative;overflow:hidden}.prp-skel span:after,.reading-card-skel span:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,color-mix(in oklab,var(--surface) 60%,transparent) 50%,transparent 70%);transform:translateX(-100%);animation:graph-shimmer 1.5s infinite}@media (prefers-reduced-motion:reduce){.prp-skel span:after,.reading-card-skel span:after{animation:none;transform:none;opacity:.5}}.prp-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--border)}.prp-item,.prp-list{display:flex;flex-direction:column}.prp-item{width:100%;text-align:left;font:inherit;gap:3px;padding:11px 2px;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent;color:var(--text);cursor:pointer;transition:color var(--dur-quick)}.prp-item:hover .prp-item-title{color:var(--accent-text)}.prp-item.on{border-left:3px solid var(--accent);padding-left:10px}.prp-item-title{font-size:14px;font-weight:650}.prp-item-meta{font-size:11.5px;color:var(--text-3)}.problem-reading-figure{margin:16px 0}.problem-reading-figure .graph-card.inline{max-width:none;margin-top:0}.problem-reading-figure figcaption{margin-top:6px;font-size:13px;line-height:1.55;color:var(--text-3);text-align:center}.prp-problem{margin:0 0 20px;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2,var(--bg));font-size:14px;line-height:1.65}.prp-problem-kicker{margin-bottom:6px;font-size:12px;font-weight:600;color:var(--text-3)}.prp-problem .pp-problem-image{max-width:100%}.reading-panel-resizer{display:none}@media (min-width:901px){.reading-panel-resizer{display:block;position:absolute;left:0;top:0;width:9px;height:100%;padding:0;border:0;background:transparent;cursor:col-resize;touch-action:none;z-index:2}.reading-panel-resizer:after{content:"";position:absolute;left:50%;top:50%;width:4px;height:36px;transform:translate(-50%,-50%);border-radius:999px;background:var(--border);transition:background var(--dur-quick)}.reading-panel-resizer:focus-visible:after,.reading-panel-resizer:hover:after{background:var(--accent);height:56px}.reading-panel-resizer:focus-visible{outline:none}}.reading-card{margin-top:13px;max-width:500px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:12px 0}.reading-card-head{display:flex;align-items:center;gap:7px;margin-bottom:7px;min-width:0}.reading-card-head .ri{width:15px;height:15px;color:var(--accent-text);flex:none}.reading-card-head .rk{flex:none;font-size:10.5px;font-weight:650;color:var(--accent-text);background:var(--accent-weak);border:1px solid var(--accent-border);border-radius:999px;padding:1px 8px}.reading-card-head .rl{font-size:12px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reading-card-title{font-size:14.5px;font-weight:700;color:var(--text);margin-bottom:4px}.reading-card-gist{font-size:13px;line-height:1.55;color:var(--text-2)}.reading-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}.reading-card-meta{font-size:11.5px;color:var(--text-3)}.reading-card-open{flex:none;font:inherit;font-size:12.5px;font-weight:650;padding:6px 12px;border-radius:8px;border:1px solid var(--accent-border);background:var(--accent-weak);color:var(--accent-text);cursor:pointer}.reading-card-open:hover:not(:disabled){border-color:var(--accent)}.reading-card-open:disabled{opacity:.5;cursor:default}.reading-card-skel{display:flex;flex-direction:column;gap:8px;margin:4px 0 10px}.reading-card-skel span:first-child{width:62%}.reading-card-skel span:nth-child(3){width:84%}.reading-card-cue{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text-3)}.grade-panel{display:flex;flex-direction:column;height:100%;min-height:0}.gp-head{display:flex;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border)}.gp-back,.gp-save{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-size:13px;font-weight:600;border-radius:9px;transition:all var(--dur-quick)}.gp-back{border:none;background:transparent;color:var(--text-2);padding:6px 8px 6px 4px}.gp-back:hover{color:var(--text);background:var(--surface-3)}.gp-back svg{width:18px;height:18px}.gp-save{border:1px solid var(--border-2);background:var(--surface);color:var(--text);padding:7px 13px}.gp-save:hover{border-color:var(--accent);color:var(--accent-text)}.gp-save svg{width:15px;height:15px}.gp-head .grow{flex:1 1}.gp-title{padding:14px 16px 12px;display:flex;flex-direction:column;gap:6px}.gp-tag{align-self:flex-start;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-text);background:var(--accent-weak);padding:3px 9px;border-radius:6px}.gp-title h2{font-size:19px;font-weight:750;margin:0;letter-spacing:-.4px}.gp-filters{display:grid;grid-template-columns:1fr 1.3fr;grid-gap:10px;gap:10px;padding:0 16px 14px}.gp-field{display:flex;flex-direction:column;gap:5px;min-width:0}.gp-field>span{font-size:11px;font-weight:650;color:var(--text-3)}.gp-select{position:relative}.gp-select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;font:inherit;font-size:13px;font-weight:550;color:var(--text);background:var(--surface);border:1px solid var(--border-2);border-radius:9px;padding:9px 30px 9px 11px;cursor:pointer;text-overflow:ellipsis;transition:border-color var(--dur-quick)}.gp-select select:hover{border-color:var(--accent-border)}.gp-select select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}.gp-chev{position:absolute;right:9px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--text-3);pointer-events:none}.gp-bulk{display:flex;gap:8px;padding:0 16px 12px}.bulk{flex:1 1;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:12.5px;font-weight:600;padding:8px 6px;border-radius:9px;border:1px solid var(--border-2);background:var(--surface);color:var(--text-2);cursor:pointer;transition:all var(--dur-quick)}.bulk .bd{width:17px;height:17px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:800;color:#fff}.bulk-ok .bd{background:var(--ok)}.bulk-ok:hover{border-color:var(--ok);color:var(--ok-text)}.bulk-no .bd{background:var(--bad)}.bulk-no:hover{border-color:var(--bad);color:var(--bad)}.bulk-warn .bd{background:var(--warn)}.bulk-warn:hover{border-color:var(--warn);color:var(--warn)}.bulk-reset svg{width:15px;height:15px}.bulk-reset:hover{border-color:var(--text-2);color:var(--text)}.gp-counts{display:flex;align-items:center;gap:14px;padding:0 16px 8px;font-size:12.5px}.gp-counts .ct{color:var(--text-3);font-weight:600}.gp-counts .ct b{font-family:ui-monospace,monospace;font-size:14px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-left:3px}.gp-counts .ct.ok{color:var(--ok-text)}.gp-counts .ct.no{color:var(--bad)}.gp-counts .ct.warn{color:var(--warn)}.gp-counts .ct.none{color:var(--text-2)}.gp-counts .ct.pct{color:var(--accent-text);font-weight:700}.gp-counts .grow{flex:1 1}.gp-prog{height:4px;margin:0 16px 4px;border-radius:999px;background:var(--surface-3);overflow:hidden}.gp-prog i{display:block;height:100%;background:var(--accent);border-radius:999px;transition:width var(--dur-slow) ease}.gp-list{flex:1 1;overflow-y:auto;padding:10px 14px 6px;display:flex;flex-direction:column}.gp-row{border-bottom:1px solid var(--border);transition:border-color var(--dur-quick),background var(--dur-quick)}.gp-row:first-child{border-top:1px solid var(--border)}.gp-row.marked.st-ok{background:var(--ok-weak);border-color:color-mix(in oklab,var(--ok) 30%,var(--surface))}.gp-row.marked.st-no{background:var(--bad-weak);border-color:color-mix(in oklab,var(--bad) 30%,var(--surface))}.gp-row.marked.st-warn{background:color-mix(in oklab,var(--warn) 12%,var(--surface));border-color:color-mix(in oklab,var(--warn) 30%,var(--surface))}.gp-main{display:flex;align-items:center;gap:11px;padding:11px 13px}.gp-badge{font-family:ui-monospace,monospace;font-size:13px;color:var(--bc);background:color-mix(in oklab,var(--bc) 14%,var(--surface));border:1px solid color-mix(in oklab,var(--bc) 28%,var(--surface));padding:4px 10px;border-radius:8px;letter-spacing:-.3px}.gp-badge,.gp-sub{flex:0 0 auto;font-weight:700}.gp-sub{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--border-2);display:grid;place-items:center;font-size:11.5px;color:var(--text-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.gp-main .grow{flex:1 1}.gp-marks{display:flex;align-items:center;gap:6px}.mk{width:32px;height:32px;border-radius:9px;border:1.5px solid var(--border-2);background:var(--surface);color:var(--text-3);cursor:pointer;font-size:14px;font-weight:800;display:grid;place-items:center;transition:all var(--dur-quick)}.mk svg{width:16px;height:16px}.mk-ok:hover{border-color:var(--ok);color:var(--ok-text)}.mk-no:hover{border-color:var(--bad);color:var(--bad)}.mk-warn:hover{border-color:var(--warn);color:var(--warn)}.mk-note:hover{border-color:var(--accent);color:var(--accent-text)}.mk-ok.on{background:var(--ok);border-color:var(--ok);color:var(--accent-ink)}.mk-no.on{background:var(--bad);border-color:var(--bad);color:#fff}.mk-warn.on{background:var(--warn);border-color:var(--warn);color:#fff}.mk-note.on{background:var(--accent-weak);border-color:var(--accent-border);color:var(--accent-text)}.gp-note{padding:0 13px 12px}.gp-note input{width:100%;font:inherit;font-size:13px;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:9px 12px;outline:none}.gp-note input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}.mk-ask:hover:not(:disabled){border-color:var(--accent);color:var(--accent-text);background:var(--accent-weak)}.mk-ask:disabled{opacity:.4;cursor:default}.mk-eye:hover{border-color:var(--accent);color:var(--accent-text)}.mk-eye.on{background:var(--accent-weak);border-color:var(--accent-border);color:var(--accent-text)}.gp-preview{padding:12px 14px 14px;border-top:1px dashed var(--border-2);display:flex;flex-direction:column;gap:11px;font-size:13.5px;color:var(--text)}.gp-pv-content{line-height:1.7}.gp-pv-content .katex-block{margin:6px 0;overflow-x:auto}.gp-pv-empty{font-size:12.5px;color:var(--text-3)}.gp-pv-img{max-width:100%;align-self:flex-start;border:1px solid var(--border);border-radius:8px;background:#fff}.gp-pv-img-wrap{display:flex}.gp-pv-choices{display:flex;flex-direction:column;gap:6px}.gp-pv-choices.horizontal{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));grid-gap:8px;gap:8px}.gp-pv-choices.horizontal .gp-pv-choice{justify-content:center}.gp-pv-choice{display:flex;align-items:baseline;gap:8px;padding:7px 11px;font-size:13px;line-height:1.5;color:var(--text-2);background:var(--surface-2);border:1px solid var(--border);border-radius:8px}.pv-choice-num{flex:0 0 auto;font-weight:700;color:var(--text-3)}.pv-blocks{display:flex;flex-direction:column;gap:10px;line-height:1.7}.pv-math-block{text-align:center;margin:2px 0;overflow-x:auto}.pv-math-fallback{display:block;font-size:12.5px;color:var(--text-3)}.pv-table-wrap{overflow-x:auto}.pv-table{border-collapse:collapse;font-size:13px}.pv-table td,.pv-table th{border:1px solid var(--border);padding:6px 11px;text-align:center}.pv-table th{background:var(--surface-2);font-weight:700}.pv-blank{display:inline-block;min-width:4rem;padding:4px 8px;margin:2px 0;border-bottom:2px solid var(--border-2);font-size:12.5px;color:var(--text-3)}.pv-box{padding:11px 13px;border:1px solid var(--border-2);border-radius:var(--r-sm,8px);background:var(--surface-2)}.pv-box-process{border-color:var(--accent-border);background:var(--accent-weak-2)}.pv-box-label{font-size:12.5px;font-weight:700;color:var(--text-3);margin-bottom:7px;padding-bottom:6px;border-bottom:1px solid var(--border-2)}.pv-box-items{display:flex;flex-direction:column;gap:5px}.pv-condition-item{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;grid-gap:9px;gap:9px}.pv-condition-label{color:var(--text-2);font-weight:800}.box-condition-exam{border:1px solid var(--border-2);border-radius:var(--r-sm,8px);background:var(--surface-2)}.box-condition-exam-header{font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--text-3);padding:8px 13px 0}.box-condition-exam-body{padding:6px 13px 11px;display:flex;flex-direction:column;gap:4px}.box-condition-exam-line{display:flex;align-items:baseline;gap:7px}.box-condition-exam-label{flex:0 0 auto;font-weight:700;color:var(--text-2)}.box-condition-exam-text{color:var(--text)}.gp-list.compact{gap:5px}.gp-list.compact .gp-main{padding:7px 11px;gap:9px}.gp-list.compact .mk{width:28px;height:28px;border-radius:8px;font-size:13px}.gp-list.compact .gp-badge{padding:3px 8px;font-size:12px}.gp-list.compact .gp-sub{width:19px;height:19px;font-size:10.5px}.gp-foot{display:flex;align-items:center;gap:5px;padding:11px 16px;border-top:1px solid var(--border)}.pg{min-width:30px;height:30px;padding:0 8px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--text-2);font-size:13px;font-weight:600;cursor:pointer;transition:all var(--dur-quick);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pg:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.pg:disabled{opacity:.35;cursor:default}.pg.num.on{background:var(--info-bg);color:var(--info-tx)}.pg-total{margin-left:auto;font-size:12px;color:var(--text-3)}.katex{font-size:1.04em}.katex-display{margin:12px 0;overflow-x:auto;overflow-y:hidden;padding:2px 0}.prose .katex-display>.katex{text-align:left}.thread::-webkit-scrollbar{width:10px}.thread::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:999px;border:3px solid var(--bg)}.thread::-webkit-scrollbar-thumb:hover{background:var(--text-3)}@media (max-width:900px){.app[data-panel=grading],.app[data-panel=open],.app[data-panel=reading],.app[data-panel=split]{grid-template-columns:var(--rail-w) minmax(0,1fr) 0}.artifact-panel{position:fixed;top:0;right:0;bottom:0;width:min(560px,94vw);z-index:40;box-shadow:var(--shadow-float);border-left:1px solid var(--border)}.artifact-panel.reading{position:fixed;width:min(var(--panel-w-reading,560px),94vw)}.app:not([data-panel=open]):not([data-panel=split]):not([data-panel=grading]):not([data-panel=reading]) .artifact-panel{transform:translateX(100%);display:flex;transition:transform .35s}.scrim{position:fixed;inset:0;background:#0006;z-index:39}}@media (min-width:641px) and (max-width:900px){.artifact-panel,.artifact-panel.reading{width:calc(100vw - var(--rail-w))}}@media (min-width:901px){.scrim{display:none}}.error-box{margin-top:12px;border:1px solid color-mix(in oklab,var(--bad) 30%,var(--surface));background:var(--bad-weak);color:var(--bad);border-radius:var(--r-md);padding:11px 14px;font-size:13px;line-height:1.5}.error-box .et{font-size:11px;color:color-mix(in oklab,var(--bad) 70%,var(--text-3));margin-left:6px}.prose h1,.prose h2,.prose h3,.prose h4{font-weight:700;line-height:1.3;margin:16px 0 8px;letter-spacing:-.2px}.prose h1{font-size:1.3em}.prose h2{font-size:1.18em}.prose h3{font-size:1.06em}.prose h4{font-size:1em;color:var(--text-2)}.prose>:first-child{margin-top:0}.prose ol,.prose ul{margin:0 0 10px;padding-left:1.4em}.prose li,.prose li>ol,.prose li>ul{margin:3px 0}.prose code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em;background:var(--surface-3);border:1px solid var(--border);border-radius:5px;padding:1px 5px;color:var(--accent-strong)}.prose pre{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:12px 14px;overflow-x:auto;margin:0 0 12px}.prose pre code{background:none;border:none;padding:0;color:var(--text);font-size:.85em}.prose blockquote{margin:0 0 12px;padding:2px 14px;border-left:3px solid var(--accent-border);color:var(--text-2);background:var(--accent-weak-2);border-radius:0 var(--r-sm) var(--r-sm) 0}.prose hr{border:none;border-top:1px solid var(--border);margin:16px 0}.prose a{color:var(--accent-text);text-decoration:underline;text-underline-offset:2px}.prose table{border-collapse:collapse;width:100%;margin:0 0 12px;font-size:.92em;display:block;overflow-x:auto}.prose td,.prose th{border:1px solid var(--border);padding:7px 11px;text-align:left;vertical-align:top}.prose th{background:var(--surface-2);font-weight:650;color:var(--text);white-space:nowrap}.prose tr:nth-child(2n) td{background:color-mix(in oklab,var(--surface-2) 50%,transparent)}.auth-shell{min-height:100dvh;display:grid;place-items:center;padding:24px;color:#1e2430;background:linear-gradient(#dfe8f5 1px,transparent 0) 0 0 /24px 24px,linear-gradient(90deg,#dfe8f5 1px,transparent 0) 0 0 /24px 24px,#fff}.auth-card{width:100%;max-width:384px;display:flex;flex-direction:column;gap:14px;background:#fff;border:1px solid #d9dee6;border-radius:var(--r-sm);padding:36px 32px 32px}.auth-scribble{display:none}@media (min-width:960px){.auth-shell{grid-template-columns:minmax(0,460px) 384px;justify-content:center;column-gap:96px}.auth-scribble{display:block}}.auth-scribble-q{margin:0;font-size:15px;line-height:24px;font-weight:600}.auth-scribble-hand{margin-top:24px;font-family:var(--font-pen),cursive;font-size:31px;line-height:48px;color:#2b3140}.auth-scribble-hand p{margin:0;white-space:nowrap}.auth-scribble-ok{position:relative;display:inline-block}.auth-scribble-ok svg{position:absolute;inset:-4px -14px;width:calc(100% + 28px);height:calc(100% + 8px);overflow:visible}.auth-scribble-ok path{fill:none;stroke:#d8322b;stroke-width:2.4;stroke-linecap:round}.auth-scribble-hand .auth-scribble-red{margin-left:72px;color:#d8322b;transform:rotate(-2deg);transform-origin:left}.auth-title{margin:0;font-size:26px;font-weight:800;letter-spacing:-.03em}.auth-sub{margin:0 0 10px;font-size:14px;color:#5e6675}.auth-error{font-size:13px;color:var(--bad-text);background:color-mix(in oklab,#ef4444 12%,var(--surface));border:1px solid color-mix(in oklab,#ef4444 30%,var(--surface));border-radius:var(--r-sm);padding:9px 12px}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-field>span{font-size:13px;font-weight:600}.auth-field input{border:1px solid var(--edge);border-radius:var(--r-sm);background:#fff;padding:11px 13px;font-size:15px;color:inherit;outline:none}.auth-field input:focus{border-color:#1e2430;box-shadow:0 0 0 1px #1e2430}.auth-field input:disabled{opacity:.6}.auth-hint{font-size:12.5px;color:#5e6675}.auth-submit{margin-top:10px;border:none;border-radius:999px;cursor:pointer;background:var(--cta);color:#fff;font-size:15px;font-weight:700;padding:13px 14px}.auth-submit:hover:not(:disabled){background:var(--cta-hover)}.auth-submit:disabled{opacity:.65;cursor:default}.booklist{display:flex;flex-direction:column;padding:4px 16px 16px;overflow-y:auto}.booklist-empty{padding:28px 8px;text-align:center;font-size:13px;color:var(--text-3)}.book-card{display:flex;align-items:center;gap:12px;width:100%;text-align:left;cursor:pointer;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent;padding:13px 2px;transition:color var(--dur-quick)}.book-card:first-of-type{border-top:1px solid var(--border)}.book-card:hover .book-title{color:var(--accent-text)}.book-ic{flex:none;width:28px;height:28px;display:grid;place-items:center;color:var(--accent-text)}.book-ic svg{width:20px;height:20px}.book-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.book-title{font-size:14px;font-weight:650;color:var(--text)}.book-sub{font-size:12px;color:var(--text-3)}.book-chev{width:18px;height:18px;margin-left:auto;flex:none}.book-chev,.gp-msg{color:var(--text-3)}.gp-msg{padding:22px 8px;text-align:center;font-size:13px}.gp-msg-err{margin:0 16px;padding:9px 12px;border-radius:var(--r-sm);text-align:left;color:#ef4444;background:color-mix(in oklab,#ef4444 12%,var(--surface));border:1px solid color-mix(in oklab,#ef4444 30%,var(--surface));font-size:12.5px}.gp-save:disabled{opacity:.5;cursor:default}.convo-backdrop{position:fixed;inset:0;z-index:40;background:oklch(.2 .02 270/.18)}.convo{position:fixed;z-index:41;left:var(--rail-w);top:0;bottom:0;width:312px;max-width:calc(100vw - var(--rail-w));display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--border);box-shadow:var(--shadow-float);animation:convo-in .16s ease}@keyframes convo-in{0%{transform:translateX(-8px);opacity:.6}to{transform:none;opacity:1}}.convo-head{display:flex;align-items:center;gap:8px;padding:14px 14px 10px;border-bottom:1px solid var(--border)}.convo-title{font-size:14px;font-weight:650;letter-spacing:-.2px}.convo-head .grow{flex:1 1}.convo-new{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;cursor:pointer;padding:6px 10px;border-radius:var(--r-sm);color:var(--accent-text);background:var(--accent-weak);border:1px solid var(--accent-border)}.convo-new:hover{background:var(--accent-weak-2)}.convo-new svg{width:14px;height:14px}.convo-x{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface);cursor:pointer;color:var(--text-2)}.convo-x:hover{background:var(--surface-3)}.convo-x svg{width:15px;height:15px}.convo-list{flex:1 1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:3px}.convo-empty{padding:24px 12px;text-align:center;color:var(--text-3);font-size:12.5px}.convo-item{position:relative;cursor:pointer;padding:9px 10px;border-radius:var(--r-sm);border:1px solid transparent;display:grid;grid-template-columns:1fr auto;grid-gap:2px 8px;gap:2px 8px;align-items:start}.convo-item:hover{background:var(--surface-2)}.convo-item.active{background:var(--accent-weak);border-color:var(--accent-border)}.convo-main{min-width:0}.convo-name{font-size:13px;font-weight:600;color:var(--text);letter-spacing:-.1px}.convo-name,.convo-preview{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.convo-preview{font-size:11.5px;color:var(--text-3);margin-top:2px}.convo-meta{font-size:10.5px;color:var(--text-3);white-space:nowrap;padding-top:1px}.hw-item{border:1px solid transparent;border-radius:var(--r-sm)}.hw-item.open{border-color:var(--accent-border);background:var(--accent-weak)}.hw-head{display:flex;flex-direction:column;width:100%;text-align:left;padding:9px 10px;background:none;border:0;border-radius:var(--r-sm);cursor:pointer;font:inherit}.hw-item:not(.open) .hw-head:hover{background:var(--surface-2)}.hw-body{padding:0 10px 10px;display:flex;flex-direction:column;gap:8px}.hw-thumbs{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:6px;gap:6px}.hw-thumbs img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface-2)}.hw-actions{display:flex;gap:6px;flex-wrap:wrap}.hw-actions .convo-new:disabled{opacity:.6;cursor:default}.hw-error{padding:8px 10px;font-size:12px;color:var(--bad-text)}.convo-actions{grid-column:1/-1;display:none;gap:6px;margin-top:6px}.convo-item.active .convo-actions,.convo-item:hover .convo-actions{display:flex}.convo-act{font-size:11px;font-weight:600;cursor:pointer;padding:3px 8px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text-2)}.convo-act:hover{background:var(--surface-3);color:var(--text)}.convo-act.danger:hover{color:var(--bad);border-color:color-mix(in oklab,var(--bad) 40%,var(--border))}.convo-item.editing{padding:7px 8px}.convo-edit{width:100%;font:inherit;font-size:13px;font-weight:600;padding:6px 8px;border-radius:6px;background:var(--surface);color:var(--text);outline:none}.convo-edit,.prob-pin{border:1px solid var(--accent-border)}.prob-pin{position:relative;z-index:4;width:calc(100% - 44px);max-width:var(--read-w);margin:10px auto 0;background:color-mix(in oklab,var(--accent) 7%,var(--surface));border-radius:var(--r-md)}.pp-bar{display:flex;align-items:center;gap:12px;padding:9px 12px}.pp-badge{flex:none;width:38px;height:34px;border-radius:9px;background:var(--accent);color:var(--accent-ink);font-family:ui-monospace,monospace;font-weight:800;font-size:15px;display:grid;place-items:center;cursor:pointer;border:none;transition:transform var(--dur-quick)}.pp-badge:hover{transform:translateY(-1px)}.pp-mid{flex:1 1;min-width:0;cursor:pointer;text-align:left;border:0;padding:0;background:transparent;color:inherit;font:inherit}.pp-badge:focus-visible,.pp-btn:focus-visible,.pp-jump:focus-visible,.pp-mid:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pp-kicker{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pp-live{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:var(--accent-text);letter-spacing:.01em}.pp-live i{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:ppPulse 1.7s ease-in-out infinite}@keyframes ppPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.78)}}@media (prefers-reduced-motion:reduce){.pp-live i{animation:none}}.pp-src{font-size:11.5px;color:var(--text-2);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-actions{flex:none;display:flex;align-items:center;gap:6px}.pp-btn{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border);background:var(--surface);color:var(--text-2);border-radius:8px;padding:6px 10px;font-size:12px;font-weight:600;cursor:pointer;transition:all var(--dur-quick);white-space:nowrap}.pp-btn:hover{border-color:var(--accent-border);color:var(--accent-text)}.pp-btn svg{width:14px;height:14px}.pp-btn.icon{padding:6px;width:30px;justify-content:center}.pp-detail{padding:0 12px 12px}.pp-detail-body{display:flex;flex-direction:column;gap:10px;max-height:min(52vh,520px);overflow:auto;padding:16px;border:1px solid var(--accent-border);border-radius:8px;background:var(--surface)}.pp-statement{line-height:1.75;color:var(--text)}.pp-problem-image{display:block;max-width:100%;max-height:360px;object-fit:contain;align-self:flex-start;border:1px solid var(--border);border-radius:8px;background:#fff}.pp-status{padding:10px 0;color:var(--text-3);font-size:13px}.pp-status.error{color:var(--bad)}.pp-foot{display:flex;align-items:center;gap:12px;padding-top:10px}.pp-topic{display:inline-flex;align-items:center;gap:5px;min-width:0;color:var(--text-3);font-size:11.5px;font-weight:600}.pp-jump svg,.pp-topic svg{width:13px;height:13px;flex:none}.pp-jump{display:inline-flex;align-items:center;gap:5px;margin-left:auto;border:0;padding:4px 0;background:transparent;color:var(--accent-text);font:inherit;font-size:11.5px;font-weight:700;cursor:pointer}@media (max-width:640px){.pp-bar{gap:9px}.pp-bar,.pp-detail{padding-inline:14px}.pp-detail-body{max-height:48vh;padding:13px}.pp-src{max-width:42vw}}.catalog-page,.lesson-page{min-height:100vh;min-height:100dvh;background:var(--bg);color:var(--text)}.lesson-viewer{max-width:1280px;margin:0 auto;padding:24px 20px 80px}.lesson-bottom-nav,.lesson-breadcrumb,.lesson-chrome,.lesson-content{width:100%;max-width:860px;margin-left:auto;margin-right:auto}.lesson-breadcrumb{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--text-3);position:-webkit-sticky;position:sticky;top:0;z-index:7;margin-top:-8px;margin-bottom:16px;padding:8px 0;background:var(--bg);border-bottom:1px solid var(--border)}.lesson-breadcrumb .cur{color:var(--text);font-weight:600}.lesson-back{color:var(--text-3);text-decoration:none;font-weight:600}.lesson-back:hover{color:var(--accent-text)}.lesson-location{display:flex;align-items:center;gap:8px;min-width:0}.lesson-course-title{flex:0 1 auto;min-width:0}.lesson-lecture-switcher{position:relative;min-width:0;max-width:min(440px,50vw)}.lesson-switcher-trigger{display:flex;align-items:center;gap:5px;min-height:32px;min-width:0;margin:-6px 0;padding:4px 7px;border-radius:8px;cursor:pointer;border:0;background:transparent;font:inherit;color:inherit;transition:background var(--dur-quick),color var(--dur-quick)}.lesson-switcher-trigger:hover,.lesson-switcher-trigger[aria-expanded=true]{background:var(--surface-3)}.lesson-switcher-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lesson-switcher-trigger .cur{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-switcher-chevron{flex:0 0 auto;color:var(--text-3);font-size:15px;line-height:1;transition:transform var(--dur-quick)}.lesson-switcher-trigger[aria-expanded=true] .lesson-switcher-chevron{transform:rotate(180deg)}.lesson-switcher-menu{position:absolute;z-index:40;top:calc(100% + 10px);right:0;width:min(400px,calc(100vw - 40px));overflow:hidden;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-float)}.lesson-switcher-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 9px;color:var(--text);font-size:12px;font-weight:750}.lesson-switcher-head small{color:var(--text-3);font-size:11px;font-weight:600}.lesson-switcher-menu ol{list-style:none;margin:0;padding:0 8px 8px;max-height:min(420px,60vh);overflow-y:auto}.lesson-switcher-item{display:flex;align-items:center;gap:10px;min-height:46px;padding:7px 9px;border-radius:9px;color:var(--text-2);text-decoration:none}.lesson-switcher-item:hover{background:var(--surface-3);color:var(--text)}.lesson-switcher-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.lesson-switcher-item.current{background:var(--accent-weak);color:var(--accent-text)}.lesson-switcher-number{display:grid;place-items:center;flex:0 0 auto;width:25px;height:25px;border-radius:50%;background:var(--surface-3);color:var(--text-3);font-size:11px;font-weight:750}.lesson-switcher-item.current .lesson-switcher-number{background:var(--accent);color:var(--accent-ink)}.lesson-switcher-title{min-width:0;flex:1 1;font-size:13px;font-weight:650}.lesson-switcher-print{display:block;padding:11px 17px 12px;border-top:1px solid var(--border);color:var(--accent-strong);font-size:13px;font-weight:700;text-decoration:none}.lesson-switcher-print:hover{background:var(--surface-3)}.lesson-switcher-print:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.lesson-switcher-current{flex:0 0 auto;padding:2px 6px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-size:10px;font-weight:750}@media (max-width:640px){.lesson-breadcrumb{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;grid-row-gap:10px;row-gap:10px}.lesson-breadcrumb>.sep{display:none}.lesson-progress-count{grid-column:3;grid-row:1}.lesson-breadcrumb>.lesson-search-icon-btn{grid-column:4;grid-row:1}.lesson-breadcrumb>.lesson-ask-btn{grid-column:5;grid-row:1}.lesson-location{grid-column:1/-1;grid-row:2}.lesson-course-title{max-width:42%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-lecture-switcher{flex:1 1;max-width:none}.lesson-switcher-trigger{width:100%;min-height:44px;margin:-6px 0}.lesson-switcher-menu{left:auto;right:0;width:min(400px,calc(100vw - 40px))}.lesson-switcher-title{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.lesson-progress-count{margin-left:auto;flex:0 0 auto;font-size:12px;font-weight:650;color:var(--tone-green-tx);background:var(--tone-green-bg);border-radius:999px;padding:3px 10px}.lesson-position{margin-bottom:22px}.concept-nav{padding:0}.activity-items,.concept-items{display:flex;align-items:stretch;gap:6px;min-width:0;margin:0;padding:0;overflow-x:auto;list-style:none;scrollbar-width:thin}.concept-items{gap:2px;background:linear-gradient(var(--border),var(--border)) 0 100% /100% 1px no-repeat}.activity-items>li,.concept-items>li{display:flex;flex:0 0 auto}.concept-item{display:flex;align-items:center;gap:7px;min-height:44px;max-width:230px;padding:6px 10px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--text-3);font:inherit;cursor:pointer;transition:border-color var(--dur-quick),color var(--dur-quick)}.concept-item:hover{color:var(--text)}.activity-item:focus-visible,.activity-skip:focus-visible,.concept-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.concept-item-index{flex:0 0 auto;color:var(--text-3);font-size:11px;font-weight:750;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.concept-item-title{min-width:0;overflow:hidden;font-size:12.5px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.concept-item-current{flex:0 0 auto;color:var(--accent-text);font-size:10px;font-weight:750}.concept-item.done,.concept-item.done .concept-item-index,.concept-item.done:hover{color:var(--tone-green-tx)}.concept-item.active,.concept-item.active:hover{border-bottom-color:var(--accent);color:var(--accent-text)}.concept-item.active .concept-item-current,.concept-item.active .concept-item-index{color:var(--accent-text)}.activity-nav{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:7px;gap:7px;padding:2px 0;border-bottom:1px solid var(--border)}.activity-skip{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:44px;padding:0 8px;border:0;border-radius:8px;background:transparent;color:var(--text-2);font:inherit;font-size:12px;font-weight:650;text-decoration:none;white-space:nowrap;cursor:pointer}.activity-skip:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.activity-skip.next{color:var(--accent-text)}.activity-skip.next:hover:not(:disabled){background:var(--accent-weak-2);color:var(--accent-text)}.activity-skip:disabled{opacity:.35;cursor:default}.activity-item{display:flex;align-items:center;gap:6px;min-height:44px;max-width:240px;padding:0 8px;border:0;border-radius:6px;background:transparent;color:var(--text-3);font:inherit;cursor:pointer;transition:color var(--dur-quick)}.activity-item:hover{color:var(--text)}.activity-icon{display:grid;place-items:center;flex:none}.activity-icon svg{width:18px;height:18px}.activity-label{min-width:0;overflow:hidden;font-size:12.5px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.activity-item.has-progress{max-width:280px}.activity-state{flex:0 1 auto;min-width:0;max-width:100%;padding:1px 6px;border-radius:4px;font-size:9.5px;font-weight:700;background:var(--tone-gray-bg);color:var(--tone-gray-tx)}.activity-item.has-progress .activity-state{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-state[data-tone=done]{background:var(--tone-green-bg);color:var(--tone-green-tx)}.activity-state[data-tone=wait]{background:var(--tone-yellow-bg);color:var(--tone-yellow-tx)}.activity-state[data-tone=todo]{background:var(--tone-gray-bg);color:var(--tone-gray-tx)}.activity-item.done{color:var(--ok-text)}.activity-item.active{color:var(--accent-text)}.activity-item.active .activity-label{-webkit-text-decoration:underline 2px var(--accent);text-decoration:underline 2px var(--accent);text-underline-offset:5px}@media (max-width:640px){.lesson-viewer{padding:18px 14px 64px}.concept-item{max-width:min(230px,calc(100vw - 76px))}.activity-nav{gap:3px}.activity-skip{width:40px;padding:0;font-size:18px}.activity-skip span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.activity-item{max-width:155px}.lesson-bottom-nav{align-items:stretch;flex-wrap:wrap}.lesson-bottom-nav .seq-arrow{flex:1 1;min-width:0;padding-inline:11px;font-size:13px}.lesson-bottom-count{order:-1;flex:0 0 100%;text-align:center}.lesson-bottom-nav .lesson-next-lecture{flex-basis:62%;max-width:62%}}.seq-arrow{flex:0 0 auto;border:none;background:transparent;color:var(--text-2);font:inherit;font-size:13px;font-weight:600;cursor:pointer;padding:6px 8px;border-radius:8px;white-space:nowrap;text-decoration:none}.seq-arrow:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.seq-arrow:disabled{color:var(--text-3);opacity:.5;cursor:default}.seq-arrow:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lesson-bottom-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:36px;padding-top:20px;border-top:1px solid var(--border)}.lesson-bottom-nav .seq-arrow{min-height:44px;padding:0 20px;border-radius:var(--r-sm);border:1px solid var(--border);background:transparent;color:var(--text);font-size:15px}.lesson-bottom-nav .seq-arrow:hover:not(:disabled){border-color:var(--border-2);background:var(--surface-3)}.lesson-bottom-nav .seq-arrow.next{background:var(--cta);color:var(--cta-ink);border-color:var(--cta)}.lesson-bottom-nav .seq-arrow.next:hover:not(:disabled){background:var(--cta-hover);border-color:var(--cta-hover)}.lesson-bottom-nav .lesson-next-lecture{display:flex;flex:0 1 min(420px,62vw);min-width:0;align-items:center;gap:14px;max-width:min(420px,62vw);min-height:58px;padding:8px 16px 8px 18px;white-space:normal}.lesson-next-lecture>span:first-child{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:2px}.lesson-next-lecture small{font-size:11px;font-weight:650;line-height:1.2;opacity:.8}.lesson-next-lecture strong{max-width:330px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.3}.lesson-next-lecture>span:last-child{font-size:24px;line-height:1}.lesson-bottom-count{font-size:13px;font-weight:650;color:var(--text-3);white-space:nowrap}.lesson-eyebrow{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tone-purple-tx);background:var(--tone-purple-bg);margin-bottom:6px}.lesson-title{font-size:24px;font-weight:800;margin:0 0 20px;letter-spacing:-.02em}.reading-body{font-size:16.5px;line-height:1.78;color:var(--text);word-break:keep-all;overflow-wrap:break-word}.reading-body blockquote,.reading-body li,.reading-body p,.reading-body td{font-family:var(--font-serif-kr),"Noto Serif KR",serif}.reading-body .math-glue{white-space:nowrap}.reading-body h2{font-size:20px;font-weight:750;margin:28px 0 12px}.reading-body h3{font-size:17px;font-weight:700;margin:20px 0 9px}.reading-body p{margin:14px 0}.reading-body .katex-display{margin:22px 0}.reading-body .katex-display>.katex{display:inline-block;font-size:1.18em}.reading-body .eqbox{margin:26px 0;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}.reading-body .eqbox-label{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--surface-2);border-bottom:1px solid var(--border);font-size:12px;font-weight:800;letter-spacing:.06em;color:var(--text-3)}.reading-body .eqbox-label b{color:var(--accent-text);font-weight:800;text-transform:uppercase}.reading-body .eqbox-body{padding:14px 18px;overflow-x:auto}.reading-body .eqbox-body .katex-display{margin:6px 0}.reading-body .eqbox-why{margin:0;padding:0 18px 14px;font-size:13.5px;line-height:1.7;color:var(--text-3)}.reading-body .problem-box{margin:18px 0 18px 12px;padding:12px 18px;border:1.5px solid var(--text-3);border-radius:2px;background:var(--surface)}.reading-body .problem-box .problem-box{margin-left:0;clear:both}.reading-body .problem-box p{margin:4px 0}.reading-body .problem-blank{display:inline-block;padding:0 .5em;margin:0 .15em;border:1px solid var(--text-3);border-radius:2px;line-height:1.5}.quiz-explanation li:has(.katex),.quiz-explanation p:has(.katex),.reading-body li:has(.katex),.reading-body p:has(.katex){line-height:2.1}.reading-body li:has(.katex){margin:6px 0}.reading-body img:not(.derivation-figure-img):not(.derivation-step-figure){display:block;width:auto;max-width:min(100%,520px);height:auto;margin:22px auto;border:1px solid var(--border);border-radius:var(--r-sm);padding:14px;background-color:var(--surface);background-image:linear-gradient(var(--fig-grid) 1px,transparent 1px),linear-gradient(90deg,var(--fig-grid) 1px,transparent 1px);background-size:14px 14px;background-position:-1px -1px}.reading-split{counter-reset:rfig}.reading-split .reading-body p:has(>img:only-child:not(.derivation-figure-img):not(.derivation-step-figure)){counter-increment:rfig;width:-moz-fit-content;width:fit-content;max-width:min(100%,520px);margin:22px auto;display:flex;flex-direction:column;gap:4px}.reading-split .reading-body p:has(>img:only-child:not(.derivation-figure-img):not(.derivation-step-figure)):before{content:"그림 " counter(rfig);font:600 11px/1.4 ui-monospace,SF Mono,Menlo,monospace;letter-spacing:.04em;color:var(--text-3)}.reading-split .reading-body p:has(>img:only-child)>img{margin:0}.reading-split .reading-body .reading-pin-clone p:has(>img:only-child:not(.derivation-figure-img):not(.derivation-step-figure)){counter-increment:none}.reading-split .reading-body .reading-pin-clone p:has(>img:only-child:not(.derivation-figure-img):not(.derivation-step-figure)):before{content:none}.reading-split[data-reading-style=spread] .reading-body img:not(.derivation-figure-img):not(.derivation-step-figure){--fig-paper:#fbfaf7;background-color:var(--fig-paper);background-image:linear-gradient(color-mix(in oklab,var(--fig-accent) 12%,var(--fig-paper)) 1px,transparent 1px),linear-gradient(90deg,color-mix(in oklab,var(--fig-accent) 12%,var(--fig-paper)) 1px,transparent 1px);border-color:color-mix(in oklab,var(--fig-accent) 22%,var(--fig-paper))}.reading-split[data-reading-style=spread]>.reading-body{container-type:inline-size}@container (min-width: 800px){.reading-split[data-reading-style=spread] .reading-body p:has(>img:only-child:not(.derivation-figure-img):not(.derivation-step-figure)){float:right;clear:right;width:50%;max-width:50%;margin:6px 0 22px 32px}}.reading-split[data-reading-style=spread] .reading-body .reading-pin-clone p:has(>img:only-child:not(.derivation-figure-img):not(.derivation-step-figure)){float:none;width:-moz-fit-content;width:fit-content;max-width:100%;margin:12px auto}.reading-split[data-reading-style=spread] .reading-body .problem-box p:has(>img:only-child:not(.derivation-figure-img):not(.derivation-step-figure)){float:none;width:-moz-fit-content;width:fit-content;max-width:100%;margin:12px auto}.reading-split[data-reading-style=spread] .reading-body h2:not(.reading-interactive-title){clear:both;margin:48px 0 14px;padding-top:18px;border-top:2px dotted var(--border-2);font:700 13px/1.5 ui-monospace,SF Mono,Menlo,monospace;letter-spacing:.08em;color:var(--accent-text)}.reading-split[data-reading-style=spread] .reading-body h2:not(.reading-interactive-title):first-of-type{margin-top:8px}.reading-split[data-reading-style=spread] .reading-body .derivation-box,.reading-split[data-reading-style=spread] .reading-body .eqbox,.reading-split[data-reading-style=spread] .reading-body .katex-display,.reading-split[data-reading-style=spread] .reading-body .reading-interactive,.reading-split[data-reading-style=spread] .reading-body blockquote{clear:both}.reading-split[data-reading-style=spread] .reading-body p:has(>img:only-child:not(.derivation-figure-img):not(.derivation-step-figure)){position:relative}.reading-split[data-reading-style=spread] .reading-body p:has(>img:only-child:not(.derivation-figure-img):not(.derivation-step-figure)):before{position:absolute;left:9px;top:14px;z-index:1;writing-mode:vertical-rl;-webkit-text-orientation:upright;text-orientation:upright;letter-spacing:.02em;color:#6f6a64}.reading-split[data-reading-style=spread] .reading-body p:has(>img:only-child:not(.derivation-figure-img):not(.derivation-step-figure))>img{padding-left:30px}.reading-body figure:not(.derivation-figure){max-width:520px;margin:22px auto;display:flex;flex-direction:column;gap:8px}.reading-body figure:not(.derivation-figure) img{margin:0;max-width:100%}.reading-body figure:not(.derivation-figure) figcaption{font-size:13px;line-height:1.6;color:var(--text-3);text-align:center;text-wrap:pretty}.reading-body p:has(>img:only-child)+p>em:only-child{display:block;text-align:center;font-style:normal;font-size:13px;line-height:1.6;color:var(--text-3);margin-top:-12px}.reading-body blockquote{margin:12px 0;padding:14px 18px;border-left:0;background:var(--tone-blue-bg);border-radius:6px;color:var(--text)}.reading-body blockquote>:first-child{margin-top:0}.reading-body blockquote>:last-child{margin-bottom:0}.reading-body table{border-collapse:collapse;margin:22px auto;width:max-content;max-width:100%;font-size:14px;line-height:1.65;display:block;overflow-x:auto}.reading-body td,.reading-body th{border:1px solid var(--border);padding:11px 13px;text-align:center}.reading-body th{background:var(--surface-2);font-weight:700}.reading-body td:first-child,.reading-body th:first-child{text-align:left}.reading-body code{background:var(--surface-3);padding:1px 5px;border-radius:5px;font-size:.9em}::highlight(reading-hl){background-color:#fff3a3}[data-theme=dark] ::highlight(reading-hl){background-color:#6b6320}.reading-annot-toolbar{position:fixed;transform:translate(-50%,-100%);z-index:72;display:flex;gap:6px;padding:4px;background:var(--surface);border:1px solid var(--border-2);border-radius:var(--r-md);box-shadow:var(--shadow-float)}.reading-annot-btn{min-height:44px;padding:0 16px;border:0;border-radius:var(--r-sm);background:var(--accent);color:var(--accent-ink);font-size:15px;font-weight:650;cursor:pointer;white-space:nowrap}.reading-annot-btn.danger{background:var(--bad)}.reading-memo{margin-top:32px;border-top:1px solid var(--border);padding-top:16px}.reading-memo-summary{cursor:pointer;font-size:15px;font-weight:700;color:var(--text-2);padding:6px 0;list-style:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.reading-memo-summary::-webkit-details-marker{display:none}.reading-memo-input{width:100%;min-height:160px;margin-top:10px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text);font-family:inherit;font-size:15.5px;line-height:1.7;resize:vertical}.reading-memo-input:focus{outline:none;border-color:var(--accent-border)}.explore-block,.reading-body{position:relative}.reading-ink-canvas{position:absolute;top:0;left:0;z-index:5;pointer-events:none}.reading-ink-canvas.on{pointer-events:auto;touch-action:pinch-zoom;cursor:crosshair;outline:1px dashed var(--accent-border);outline-offset:-1px}.reading-ink-canvas.on.erase{cursor:cell}.reading-ink-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:9px 10px;background:var(--bg);border:0;border-bottom:1px solid var(--border);border-radius:0;box-shadow:none;pointer-events:auto;touch-action:manipulation}.reading-ink-toolbar.in-card,.reading-ink-toolbar.in-pad,.reading-ink-toolbar.vertical{border:1px solid var(--border);border-radius:var(--r-md)}.reading-ink-toolbar.sticky{position:-webkit-sticky;position:sticky;top:var(--lesson-head-h,0);z-index:6;margin:0 0 14px}.reading-ink-toolbar.in-pad{position:absolute;top:6px;left:6px;z-index:20;max-width:calc(100% - 12px);max-height:calc(100% - 12px);flex-direction:column;flex-wrap:wrap;align-items:stretch;gap:6px;padding:5px 6px;border-radius:var(--r-md);background:color-mix(in oklab,var(--surface) 80%,transparent);transition:background var(--dur-quick)}.reading-ink-toolbar.in-pad:focus-within,.reading-ink-toolbar.in-pad:hover{background:var(--surface)}.reading-ink-toolbar.in-pad .reading-ink-group{flex-direction:column}.reading-ink-toolbar.in-pad .reading-ink-label{display:none}.reading-ink-toolbar.in-pad .reading-ink-tool{width:34px;height:34px;padding:0;justify-content:center}.reading-ink-toolbar.in-pad .reading-ink-popover{top:0;left:calc(100% + 10px)}.reading-ink-toolbar.in-card{position:absolute;top:6px;right:6px;z-index:20;max-width:calc(100% - 12px);gap:6px;padding:5px 6px;border-radius:var(--r-md)}.reading-ink-toolbar.in-card .reading-ink-tool{height:34px}.reading-ink-toolbar.in-head{flex-wrap:nowrap;gap:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.reading-ink-toolbar.in-head .reading-ink-group{gap:2px;padding:0;border-radius:0;background:transparent}.reading-ink-toolbar.in-head .reading-ink-group+.reading-ink-group:before{content:"";flex:none;width:1px;height:20px;margin:0 5px 0 3px;background:var(--border-2)}.reading-ink-toolbar.in-head .reading-ink-label{display:none}.reading-ink-toolbar.in-head .reading-ink-tool{width:38px;height:38px;padding:0;justify-content:center;border-color:transparent;border-radius:6px}.reading-ink-toolbar.in-head .reading-ink-tool svg{color:var(--text-2)}.reading-ink-toolbar.in-head .reading-ink-tool:not(.active){background:transparent}.reading-ink-toolbar.in-head .reading-ink-tool:not(.active):hover{background:var(--surface-3)}.reading-ink-toolbar.in-head .reading-ink-tool.active svg{color:var(--accent-text)}.reading-ink-toolbar.in-head .reading-ink-menu{left:auto;right:0}@media (min-height:461px){.reading-ink-toolbar.vertical{position:fixed;right:12px;top:50%;transform:translateY(-50%);z-index:40;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:8px;padding:8px 7px;margin:0}.reading-ink-toolbar.vertical .reading-ink-group,.reading-ink-toolbar.vertical .reading-ink-modegrp{flex-direction:column}.reading-ink-toolbar.vertical .reading-ink-label{display:none}.reading-ink-toolbar.vertical .reading-ink-mode{justify-content:center;width:38px;height:38px;padding:0}.reading-ink-toolbar.vertical .reading-ink-tool{width:38px;padding:0;justify-content:center}.reading-ink-toolbar.vertical .reading-ink-popover{top:0;left:auto;right:calc(100% + 12px)}}@media (max-height:460px){.reading-ink-toolbar.vertical{position:-webkit-sticky;position:sticky;top:var(--lesson-head-h,0);z-index:6;margin:0 0 14px}}.reading-ink-cardtoggle{position:absolute;top:8px;right:10px;z-index:20;display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text-2);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;box-shadow:var(--shadow-float-sm);transition:color var(--dur-quick),border-color var(--dur-quick),background var(--dur-quick)}.reading-ink-cardtoggle:hover{color:var(--accent-text);border-color:var(--accent-border)}.reading-ink-modegrp{display:inline-flex;gap:2px}.reading-ink-mode{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 13px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text-2);font:inherit;font-size:13.5px;font-weight:650;cursor:pointer;white-space:nowrap;transition:background var(--dur-quick),color var(--dur-quick),border-color var(--dur-quick)}.reading-ink-mode svg{width:17px;height:17px;color:var(--text-3)}.reading-ink-mode:hover{color:var(--text)}.reading-ink-mode.active{background:linear-gradient(var(--accent),var(--accent)) bottom /60% 2px no-repeat;color:var(--accent-text)}.reading-ink-mode.active svg{color:var(--accent-text)}.reading-ink-group{display:inline-flex;align-items:center;gap:4px}.reading-ink-toolbar[data-mode=read] [data-ink-only]{visibility:hidden}@media (min-height:461px){.reading-ink-toolbar.vertical[data-mode=read] [data-ink-only]{display:none}}.reading-ink-toolbar.sticky .reading-ink-group.view{margin-left:auto}.reading-ink-toolbar.sticky .reading-ink-tool .reading-ink-label{display:none}.reading-ink-toolbar.sticky .reading-ink-tool{width:38px;padding:0;justify-content:center}@media (max-width:900px){.reading-ink-toolbar.sticky{gap:6px}.reading-ink-toolbar.sticky .reading-ink-group{gap:3px}.reading-ink-toolbar.sticky .reading-ink-tool{width:36px}}.reading-ink-tool{display:inline-flex;align-items:center;gap:7px;height:38px;min-height:36px;padding:0 13px 0 11px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-2);font:inherit;font-size:13px;font-weight:550;cursor:pointer;white-space:nowrap;position:relative;transition:background var(--dur-quick),color var(--dur-quick),box-shadow var(--dur-quick),border-color var(--dur-quick)}.reading-ink-tool.icon{padding:0;width:38px;justify-content:center}.reading-ink-tool svg{width:19px;height:19px;color:var(--text-3);transition:color var(--dur-quick)}.reading-ink-tool:hover{color:var(--text);background:var(--surface-3)}.reading-ink-tool:hover svg{color:var(--text-2)}.reading-ink-tool.active,.reading-ink-tool.active:hover{background:linear-gradient(var(--accent),var(--accent)) bottom /60% 2px no-repeat;color:var(--accent-text)}.reading-ink-toolbar:is(.vertical,.in-pad,.in-card) .reading-ink-tool.active,.reading-ink-toolbar:is(.vertical,.in-pad,.in-card) .reading-ink-tool.active:hover{background:var(--accent-weak);border-color:var(--accent);color:var(--accent-text)}.reading-ink-tool.active svg{color:var(--accent-text)}.reading-ink-tool:disabled{opacity:.4;cursor:default;pointer-events:none}.reading-ink-pendot{position:absolute;right:5px;top:5px;width:8px;height:8px;border-radius:50%;border:1.5px solid var(--surface)}.reading-ink-penwrap{position:relative;display:inline-flex}.reading-ink-popover{position:absolute;top:calc(100% + 8px);left:0;z-index:30;display:flex;flex-direction:column;gap:10px;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-float)}.reading-ink-poprow{display:flex;align-items:center;gap:8px}.reading-ink-menu{gap:2px;padding:6px;min-width:176px}.reading-ink-menuitem{display:flex;align-items:center;gap:9px;width:100%;height:40px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:var(--text);font:inherit;font-size:13.5px;font-weight:550;text-align:left;white-space:nowrap;cursor:pointer;flex:none}.reading-ink-menuitem svg{flex:none;width:17px;height:17px;color:var(--text-2)}.reading-ink-menuitem svg.chk{margin-left:auto;color:var(--accent-text)}.reading-ink-menuitem:hover{background:var(--surface-2)}.reading-ink-menuitem:disabled{opacity:.4;cursor:default}.reading-ink-menuitem.danger,.reading-ink-menuitem.danger svg{color:var(--bad-text)}.reading-ink-menu hr{flex:none;width:100%;margin:4px 0;border:0;border-top:1px solid var(--border)}.reading-sheet-win .reading-ink-menu{max-height:calc(var(--sheet-h, 100vh) - 62px);overflow-y:auto}.reading-ink-swatch{width:30px;height:30px;padding:0;border:1px solid var(--border-2);border-radius:50%;cursor:pointer}.reading-ink-swatch.active{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--accent)}.reading-ink-erasebtn,.reading-ink-sizebtn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid var(--border-2);border-radius:var(--r-sm);background:var(--surface-2);cursor:pointer}.reading-ink-erasebtn.active,.reading-ink-sizebtn.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.reading-ink-sizedot{display:inline-block;border-radius:50%}.reading-ink-sizedot.erase{border:1.5px solid var(--text-2);background:var(--surface)}.reading-ink-erasebtn{width:auto;padding:0 12px;font-size:13px;white-space:nowrap}.reading-ink-lassobox{position:absolute;z-index:7;pointer-events:none;border:1.5px dashed var(--accent);border-radius:6px;background:color-mix(in oklab,var(--accent) 8%,transparent)}.reading-ink-lassohandle,.reading-ink-lassorotate{position:absolute;z-index:1;pointer-events:auto;width:32px;height:32px;margin:-16px 0 0 -16px;padding:0;border:0;background:transparent;touch-action:none;display:grid;place-items:center}.reading-ink-lassohandle:before,.reading-ink-lassorotate:before{content:"";display:block;background:var(--surface);border:2px solid var(--accent)}.reading-ink-lassohandle:before{width:11px;height:11px;border-radius:3px}.reading-ink-lassorotate:before{width:15px;height:15px;border-radius:50%}.reading-ink-lassohandle:disabled,.reading-ink-lassorotate:disabled{opacity:.4}.reading-ink-lassohandle.nw{left:0;top:0;cursor:nwse-resize}.reading-ink-lassohandle.ne{left:100%;top:0;cursor:nesw-resize}.reading-ink-lassohandle.sw{left:0;top:100%;cursor:nesw-resize}.reading-ink-lassohandle.se{left:100%;top:100%;cursor:nwse-resize}.reading-ink-lassorotate{left:50%;top:calc(100% + 16px);cursor:-webkit-grab;cursor:grab}.reading-ink-lassorotate.top{top:-16px}.reading-ink-selmenu{position:absolute;bottom:calc(100% + 8px);left:0;z-index:8;pointer-events:auto;display:inline-flex;align-items:center;gap:2px;padding:4px 5px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-float);white-space:nowrap}.reading-ink-selmenu button{height:30px;padding:0 8px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text-2);font:inherit;font-size:12.5px;font-weight:650;cursor:pointer;transition:background var(--dur-quick),color var(--dur-quick)}.reading-ink-selmenu button:hover{background:var(--surface-2);color:var(--text)}.reading-ink-selmenu button:first-child{color:var(--accent-strong)}.reading-ink-selmenu button:disabled{opacity:.5;cursor:default}.reading-ink-selerr{padding:0 6px;font-size:12px;color:var(--bad)}.reading-ink-selmenu.below{bottom:auto;top:calc(100% + 8px)}.reading-ink-mathpanel{position:absolute;z-index:9;pointer-events:auto;display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px;max-width:min(520px,92%);padding:5px 7px;background:var(--surface);border:1px solid var(--accent-border);border-radius:var(--r-md);box-shadow:var(--shadow-float)}.reading-ink-mathpanel-eq{padding:0 6px 0 2px;font-size:15px;color:var(--text);border-right:1px solid var(--border)}.reading-ink-mathpanel button{height:28px;padding:0 9px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--text-2);font:inherit;font-size:12.5px;font-weight:650;cursor:pointer;transition:background var(--dur-quick),color var(--dur-quick),border-color var(--dur-quick)}.reading-ink-mathpanel button:hover{border-color:var(--accent-border);background:var(--surface);color:var(--accent-strong)}.reading-ink-mathpanel button:disabled{opacity:.5;cursor:default}.reading-ink-graph{position:absolute;z-index:7;width:min(340px,86%)}.reading-ink-graph .graph-card.inline{margin-top:0}.reading-ink-graph .reading-ink-tex-x{opacity:1}.reading-ink-graph-load{padding:18px 12px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text-3);font-size:12.5px;text-align:center}.reading-ink-mathpanel button.graph{border-color:var(--accent-border);color:var(--accent-strong)}.reading-ink-tex{position:absolute;z-index:6;padding:2px 5px;border-radius:var(--r-sm);font-size:22px;font-weight:600;color:#111;transform:rotate(-.7deg);outline:none;transition:background var(--dur-quick),box-shadow var(--dur-quick)}.reading-ink-tex .katex,.reading-ink-tex .katex *{font-family:Bradley Hand,Noteworthy,Chalkboard SE,Segoe Script,Ink Free,Comic Sans MS,cursive!important}.reading-ink-tex:focus-within,.reading-ink-tex:hover{background:var(--surface);box-shadow:0 0 0 1px var(--border)}.reading-ink-tex-x{position:absolute;top:-9px;right:-9px;width:20px;height:20px;padding:0;border:1px solid var(--border);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--surface);color:var(--text-3);font:inherit;font-size:11px;line-height:1;cursor:pointer;opacity:0;transition:opacity var(--dur-quick)}.reading-ink-tex-x:hover{color:var(--bad);background:var(--surface-2)}.reading-ink-tex-copy{display:none;margin-left:8px;padding:2px 8px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--text-2);font-family:var(--font-sans,system-ui),sans-serif;font-size:11.5px;line-height:1.4;cursor:pointer;vertical-align:middle;white-space:nowrap}.reading-ink-tex:focus-within .reading-ink-tex-x,.reading-ink-tex:hover .reading-ink-tex-x{opacity:1}.reading-ink-tex:focus-within .reading-ink-tex-copy,.reading-ink-tex:hover .reading-ink-tex-copy{display:inline-block}.reading-ink-tex-copy:hover{border-color:var(--accent-border);color:var(--accent-strong)}.reading-ink-tex-copy.done{border-color:var(--accent);color:var(--accent-strong)}.lesson-content.quiz-wide{max-width:1280px}.quiz-2col{display:grid;grid-template-columns:minmax(0,460px) minmax(0,1fr);grid-gap:28px;gap:28px;align-items:start}.quiz-2col .quiz-col{display:flex;flex-direction:column;gap:16px;min-width:0}.quiz-pad-col{position:-webkit-sticky;position:sticky;top:calc(var(--lesson-head-h, 0px) + 20px)}.quiz-pad-panel{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);overflow:hidden}.quiz-pad-head{display:flex;align-items:center;gap:8px;padding:11px 14px;border-bottom:1px solid var(--border);background:var(--surface-2)}.quiz-pad-head .qp-t{font-size:13px;font-weight:600;color:var(--text-2);letter-spacing:.01em}.quiz-pad-head .qp-sub{margin-left:auto;font-size:12px;font-weight:450;color:var(--text-2);letter-spacing:.01em}.quiz-pad-surface{position:relative;width:100%;height:600px;overflow:hidden;background-color:var(--surface);background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:26px 26px;background-position:-1px -1px}.quiz-pad-zoom{gap:4px;margin-left:10px}.quiz-pad-zoom,.quiz-pad-zoombtn{display:inline-flex;align-items:center}.quiz-pad-zoombtn{justify-content:center;width:38px;height:38px;padding:0;border:1px solid var(--edge);border-radius:var(--r-sm);background:var(--surface);color:var(--text-2);font:inherit;font-size:16px;font-weight:450;line-height:1;cursor:pointer;transition:border-color var(--dur-quick),color var(--dur-quick)}.quiz-pad-zoombtn:hover{border-color:var(--text-2);color:var(--text)}.quiz-pad-zoombtn:disabled{opacity:.4;cursor:default}.quiz-toolbar{display:flex;justify-content:flex-end;margin-bottom:14px}.quiz-pad-toggle{display:inline-flex;align-items:center;gap:9px;height:34px;padding:0 13px;border:1px solid var(--edge);border-radius:999px;background:var(--surface);color:var(--text-2);font:inherit;font-size:13px;font-weight:600;letter-spacing:.01em;cursor:pointer;transition:color var(--dur-quick),border-color var(--dur-quick)}.quiz-pad-toggle .qpt-switch{position:relative;width:34px;height:20px;border-radius:999px;background:var(--surface-3);transition:background var(--dur-quick)}.quiz-pad-toggle .qpt-switch:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--surface);box-shadow:var(--shadow-float-sm);transition:transform var(--dur-quick)}.quiz-pad-toggle.on{color:var(--text);border-color:var(--text-2)}.quiz-pad-toggle.on .qpt-switch{background:var(--text)}.quiz-pad-toggle.on .qpt-switch:after{transform:translateX(14px)}.quiz-card-2col{display:block}.quiz-card-2col>.practice-pad{position:static;width:100%;margin-top:16px}.quiz-card-2col .practice-pad-surface:not([data-manual]){min-height:420px}.practice-pad-surface{height:180px}@media (min-width:901px){.quiz-card-2col>.practice-pad{align-self:stretch;display:flex;flex-direction:column}.quiz-card-2col .practice-pad-surface:not([data-manual]){height:auto;flex:1 1;min-height:420px}.quiz-card-2col .practice-pad-surface[data-manual]{flex:none}}.practice-pad-fold-summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:6px}.practice-pad-fold-summary::-webkit-details-marker{display:none}.practice-pad-fold-summary .example-pad-sub{flex:1 1}.fold-chev{color:var(--text-3);display:inline-flex;transition:transform var(--dur-quick)}.practice-pad-fold-summary:hover .fold-chev,.quiz-answer-fold-summary:hover .fold-chev{color:var(--accent-text)}.practice-pad-fold[open]>.practice-pad-fold-summary .fold-chev{transform:rotate(180deg)}.quiz-answer-fold{margin-top:14px}.quiz-answer-fold-summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--text-2)}.quiz-answer-fold-summary::-webkit-details-marker{display:none}.quiz-answer-fold-summary strong{font-weight:720}.quiz-answer-fold-summary .qaf-note{font-size:12.5px;color:var(--text-3)}.quiz-answer-fold[open]>.quiz-answer-fold-summary .fold-chev{transform:rotate(180deg)}.practice-pad-resize{display:flex;gap:6px}.practice-pad-resize .example-pad-grow{flex:1 1}@media (max-width:900px){.lesson-content.quiz-wide{max-width:860px}.quiz-2col{grid-template-columns:1fr}.quiz-2col .quiz-pad-col{position:static}.quiz-pad-surface{height:320px}.quiz-card-2col{display:block}.quiz-card-2col>.practice-pad{position:static;margin:14px 0 16px}}.video-frame{position:relative;width:100%;aspect-ratio:16/9;background:#000;border-radius:var(--r-md);overflow:hidden;margin-bottom:18px}.video-frame iframe{border:0}.video-frame iframe,.video-frame video{position:absolute;inset:0;width:100%;height:100%}.video-frame video{background:#000}.reading-video{width:100%;max-width:680px;margin:0 auto 24px}.reading-video-lock{flex-direction:column}.reading-video-lock p{margin:0}.reading-video-pending{aspect-ratio:16/9;margin-bottom:18px;border-radius:var(--r-md);background:var(--surface-2)}.video-frame a{color:#fff;display:grid;place-items:center;height:100%}.problem-hint{font-size:14px;color:var(--text-2);margin-bottom:14px}.problem-refs{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.problem-links{display:flex;flex-wrap:wrap;gap:8px}.problem-refs li{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);font-size:14px}.ref-hd{display:flex;align-items:center;gap:10px}.ref-book{color:var(--text-3);font-size:13px}.ref-num{font-weight:700;color:var(--text)}.reading-interactive{margin-top:24px}.reading-interactive-section{margin:34px 0 8px;padding-top:22px;border-top:1px solid var(--border)}.reading-interactive-head{margin-bottom:14px}.reading-interactive-kicker{font-size:12px;font-weight:750;color:var(--accent-text);letter-spacing:.02em;margin-bottom:5px}.reading-interactive-title{font-size:20px;line-height:1.35;font-weight:780;margin:0 0 6px;color:var(--text)}.reading-interactive-guide{margin:0;color:var(--text-2);font-size:14.5px;line-height:1.65}.reading-interactive .graph-card.inline{max-width:none}@container (min-width: 700px){.reading-interactive .graph-card:not(.expanded) .graph-cockpit.has-panel{grid-template-columns:1fr}.reading-interactive .graph-card:not(.expanded) .graph-cockpit.has-panel .graph-board-wrap{height:auto}.reading-interactive .graph-card:not(.expanded) .graph-cockpit.has-panel .jxgbox{aspect-ratio:2/1;height:auto;min-height:280px;max-height:min(440px,60vh)}.reading-interactive .graph-card:not(.expanded) .graph-cockpit.has-panel .graph-panel{border-left:none;border-top:1px solid var(--border);background:var(--surface-2)}.reading-interactive .graph-card:not(.expanded) .graph-cockpit.has-panel .sliders{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:14px 24px;gap:14px 24px}.reading-interactive .graph-card:not(.expanded) .graph-cockpit.has-panel .slider-row.on{background:var(--surface-3)}}.reading-interactive .zoomctl .expandbtn{display:grid}.graph-backdrop{position:fixed;inset:0;z-index:80;background:#0006}.reading-interactive .graph-hold{margin-top:13px}.reading-interactive .graph-card.expanded{position:fixed;inset:4vh 4vw;z-index:81;margin:0 auto;max-width:1200px;display:flex;flex-direction:column;overflow-y:auto;box-shadow:var(--shadow-float)}.reading-interactive .graph-card.expanded>*{flex:none}.reading-interactive .graph-card.expanded .jxgbox{aspect-ratio:auto;height:55vh;max-height:none}@container (min-width: 700px){.reading-interactive .graph-card.expanded .graph-cockpit{flex:1 1 auto;min-height:0;grid-template-rows:minmax(0,1fr)}.reading-interactive .graph-card.expanded .graph-cockpit .graph-board-wrap{height:100%}.reading-interactive .graph-card.expanded .graph-cockpit .jxgbox{aspect-ratio:auto;height:100%;min-height:280px;max-height:none}.reading-interactive .graph-card.expanded .graph-cockpit.has-panel .graph-panel{overflow-y:auto}}.limit-approach-pilot{--limit-left:#2563eb;--limit-left-soft:color-mix(in oklab,var(--limit-left) 12%,var(--surface));--limit-right:#e96d38;--limit-right-soft:color-mix(in oklab,var(--limit-right) 12%,var(--surface));--limit-target:#0d9488;--limit-target-soft:color-mix(in oklab,var(--limit-target) 12%,var(--surface));overflow:hidden;max-width:860px;margin:0 auto;border:1px solid var(--border);border-radius:20px;background:var(--surface);line-height:1.45}.limit-pilot-topline{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px 0}.limit-pilot-status{color:var(--accent-text);font-size:11.5px;font-weight:800;letter-spacing:.035em}.limit-pilot-progress{display:flex;align-items:center;gap:5px}.limit-pilot-progress span{width:25px;height:5px;border-radius:999px;background:var(--surface-3);transition:width var(--dur-fast) ease,background-color var(--dur-fast) ease}.limit-pilot-progress span.done{background:var(--ok)}.limit-pilot-progress span.active{width:42px;background:var(--accent)}.limit-pilot-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:10px 18px 16px}.limit-pilot-heading>div:first-child{min-width:0}.limit-pilot-eyebrow{margin:0 0 3px!important;color:var(--text-3);font-size:12px;font-weight:700}.limit-pilot-heading h3{margin:0;color:var(--text);font-size:clamp(18px,2.4vw,24px);font-weight:820;line-height:1.28;letter-spacing:-.025em}.limit-pilot-formula{flex:0 0 auto;margin-top:5px;padding:7px 11px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);color:var(--text-2);font-size:14px}.limit-pilot-workspace{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(250px,1fr);min-height:390px;border-top:1px solid var(--border);background:var(--surface-2)}.limit-pilot-visual{display:grid;place-items:center;min-width:0;padding:18px;background:radial-gradient(circle at 50% 50%,color-mix(in oklab,var(--limit-target) 7%,transparent),transparent 44%),var(--surface)}.limit-pilot-graph{display:block;width:100%;height:auto;overflow:visible}.limit-graph-bg{fill:color-mix(in oklab,var(--surface-2) 65%,var(--surface))}.limit-function-line{stroke:var(--text-3);stroke-width:5;stroke-linecap:round;opacity:.72}.limit-target-guide{fill:none;stroke-width:2;stroke-dasharray:7 7}.limit-target-guide.x{stroke:color-mix(in oklab,var(--fig-accent) 60%,transparent)}.limit-target-guide.y{stroke:color-mix(in oklab,var(--limit-target) 72%,transparent)}.limit-axis-label{fill:var(--text-3);font-family:inherit;font-size:16px;font-weight:750}.limit-axis-label.target{fill:var(--limit-target)}.limit-runner,.limit-trail{stroke:var(--surface);stroke-width:3}.limit-runner{transition:cx .5s cubic-bezier(.2,.75,.3,1),cy .5s cubic-bezier(.2,.75,.3,1);filter:drop-shadow(0 4px 5px rgb(0 0 0/.17))}.limit-runner.left,.limit-trail.left{fill:var(--limit-left)}.limit-runner.right,.limit-trail.right{fill:var(--limit-right)}.limit-trail{opacity:.22}.limit-point-label{font-family:inherit;font-size:18px;font-weight:850;paint-order:stroke;stroke:var(--surface);stroke-width:5px;stroke-linejoin:round}.limit-point-label.left{fill:var(--limit-left)}.limit-point-label.right{fill:var(--limit-right)}.limit-motion-arrow{fill:none;stroke-width:3;stroke-linecap:round;opacity:.78}.limit-motion-arrow.left{stroke:var(--limit-left)}.limit-motion-arrow.right{stroke:var(--limit-right)}.limit-arrow-blue{fill:var(--limit-left)}.limit-arrow-orange{fill:var(--limit-right)}.limit-hole-halo{fill:color-mix(in oklab,var(--limit-target) 10%,transparent);stroke:color-mix(in oklab,var(--limit-target) 26%,transparent);stroke-width:2;opacity:.35;transition:r var(--dur-slow) ease,opacity var(--dur-slow) ease}.limit-hole-halo.revealed{opacity:1;filter:url(#limit-target-glow)}.limit-hole{fill:var(--surface);stroke:var(--limit-target);stroke-width:4;opacity:.52;transition:r var(--dur-slow) ease,opacity var(--dur-slow) ease}.limit-hole.revealed{opacity:1}.limit-hole-callout line{stroke:var(--limit-target);stroke-width:2}.limit-hole-callout rect{fill:var(--surface);stroke:color-mix(in oklab,var(--limit-target) 35%,var(--border))}.limit-hole-callout text{fill:var(--text-2);font-family:inherit;font-size:14px;font-weight:750}.limit-hole-callout text:last-child{fill:var(--limit-target)}.limit-pilot-side{display:flex;flex-direction:column;min-width:0;padding:18px;border-left:1px solid var(--border);background:var(--surface-2)}.limit-pilot-evidence{display:grid;grid-template-columns:1fr 1fr;grid-gap:9px;gap:9px}.limit-distance-card,.limit-evidence-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:104px;padding:10px;border:1px solid var(--border);border-radius:13px;background:var(--surface);text-align:center}.limit-distance-card>span,.limit-evidence-card>span{font-size:11px;font-weight:800}.limit-evidence-card strong{margin:4px 0 2px;font-size:18px}.limit-evidence-card b{font-size:14px}.limit-evidence-card.left{border-top:4px solid var(--limit-left);background:var(--limit-left-soft)}.limit-evidence-card.left b,.limit-evidence-card.left>span{color:var(--limit-left)}.limit-evidence-card.right{border-top:4px solid var(--limit-right);background:var(--limit-right-soft)}.limit-evidence-card.right b,.limit-evidence-card.right>span{color:var(--limit-right)}.limit-distance-card{grid-column:1/-1;min-height:90px;background:var(--limit-target-soft)}.limit-distance-card>span{color:var(--limit-target)}.limit-distance-card strong{margin:5px 0;color:var(--text);font-size:18px}.limit-distance-card small{color:var(--text-3);font-size:11px}.limit-pilot-actions{margin-top:auto;padding-top:14px}.limit-pilot-primary,.limit-pilot-secondary{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:48px;border-radius:12px;padding:10px 16px;font:inherit;font-size:14px;font-weight:800;cursor:pointer;transition:transform var(--dur-quick) ease,background var(--dur-quick) ease,border-color var(--dur-quick) ease}.limit-pilot-primary{border:1px solid var(--cta);background:var(--cta);color:var(--cta-ink)}.limit-pilot-primary:not(:disabled):hover{background:var(--cta-hover);transform:translateY(-1px)}.limit-pilot-primary:disabled{opacity:.4;cursor:default}.limit-pilot-secondary{border:1px solid var(--border-2);background:var(--surface);color:var(--text-2)}.limit-pilot-secondary:hover{border-color:var(--accent-border);color:var(--accent-text)}.limit-pilot-conclusion button:focus-visible,.limit-pilot-predictions button:focus-visible,.limit-pilot-primary:focus-visible,.limit-pilot-secondary:focus-visible{outline:3px solid var(--accent-border);outline-offset:2px}.limit-pilot-predict{display:grid;justify-items:center;min-height:355px;padding:30px 24px;border-top:1px solid var(--border);background:radial-gradient(circle at 28% 47%,var(--limit-left-soft),transparent 23%),radial-gradient(circle at 72% 47%,var(--limit-right-soft),transparent 23%),var(--surface-2)}.limit-pilot-preview{display:flex;align-items:center;gap:clamp(12px,3vw,28px);margin:16px 0 8px}.preview-dot{width:23px;height:23px;border:4px solid var(--surface);border-radius:50%}.preview-dot.left{background:var(--limit-left)}.preview-dot.right{background:var(--limit-right)}.preview-arrow{color:var(--text-3);font-size:25px}.preview-target{display:grid;place-items:center;width:62px;height:62px;border:3px dashed var(--limit-target);border-radius:50%;background:var(--surface);color:var(--limit-target);font-size:25px;font-weight:850}.limit-pilot-predict>p{margin:8px 0 16px!important;color:var(--text-2);font-size:14px;text-align:center}.limit-pilot-predictions{display:flex;width:min(100%,430px);gap:8px;margin-bottom:20px}.limit-pilot-conclusion button,.limit-pilot-predictions button{flex:1 1;min-height:48px;border:1px solid var(--border-2);border-radius:12px;background:var(--surface);color:var(--text-2);font:inherit;font-weight:750;cursor:pointer}.limit-pilot-predictions button.selected,.limit-pilot-predictions button:hover{border-color:var(--accent);background:var(--accent-weak);color:var(--accent-text)}.limit-pilot-predict>.limit-pilot-primary{width:min(100%,430px)}.limit-pilot-conclusion,.limit-pilot-insight,.limit-pilot-success{margin:auto 0}.limit-pilot-insight{display:grid;grid-template-columns:auto 1fr;grid-gap:7px 9px;gap:7px 9px;align-items:center;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.limit-pilot-insight>span:not(.limit-insight-divider){width:max-content;padding:4px 7px;border-radius:999px;font-size:10.5px;font-weight:850}.limit-insight-no{background:var(--bad-weak);color:var(--bad)}.limit-insight-yes{background:var(--limit-target-soft);color:var(--limit-target)}.limit-pilot-insight strong{font-size:13px}.limit-insight-divider{grid-column:1/-1;display:flex;align-items:center;gap:7px;color:var(--text-3);font-size:10px;font-weight:800}.limit-insight-divider:after,.limit-insight-divider:before{content:"";flex:1 1;height:1px;background:var(--border)}.limit-pilot-conclusion>p{margin:0 0 12px!important;color:var(--text-2);font-size:13px}.limit-pilot-conclusion>div{display:grid;grid-gap:9px;gap:9px}.limit-pilot-conclusion button{width:100%}.limit-pilot-conclusion button:hover{border-color:var(--accent);color:var(--accent-text)}.limit-pilot-conclusion button.wrong{border-color:var(--bad);background:var(--bad-weak);color:var(--bad)}.limit-pilot-feedback{margin:10px 0 0!important;color:var(--bad)!important;font-size:12px!important}.limit-pilot-success{display:grid;grid-template-columns:auto 1fr;grid-gap:12px;gap:12px;align-items:start;padding:14px;border:1px solid color-mix(in oklab,var(--ok) 35%,var(--border));border-radius:15px;background:var(--ok-weak)}.limit-success-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--ok);color:var(--accent-ink);font-size:18px;font-weight:900}.limit-pilot-success>div:last-child{min-width:0}.limit-pilot-success>div:last-child>span:not(.limit-success-formula){display:block;color:var(--ok-text);font-size:10.5px;font-weight:850}.limit-pilot-success strong{display:block;margin:3px 0 7px;color:var(--text);font-size:14px}.limit-success-formula{display:block;margin:10px 0;color:var(--ok-text);font-size:16px;white-space:nowrap}.limit-pilot-success small{color:var(--text-3);font-size:10.5px}@media (max-width:899px){.limit-pilot-workspace{grid-template-columns:1fr}.limit-pilot-visual{padding:12px 16px 6px}.limit-pilot-side{border-top:1px solid var(--border);border-left:0}.limit-pilot-evidence{grid-template-columns:1fr 1fr 1fr}.limit-distance-card{grid-column:auto}.limit-distance-card,.limit-evidence-card{min-height:88px}.limit-pilot-actions{padding-top:12px}}@media (max-width:599px){.limit-pilot-topline{padding-inline:13px}.limit-pilot-heading{align-items:stretch;flex-direction:column;gap:9px;padding:9px 13px 13px}.limit-pilot-heading h3{font-size:19px}.limit-pilot-formula{align-self:flex-start;margin:0}.limit-pilot-progress span{width:17px}.limit-pilot-progress span.active{width:29px}.limit-pilot-predict{min-height:330px;padding:18px 14px 24px}.limit-pilot-predictions{flex-direction:column}.limit-pilot-visual{padding:10px 8px 2px}.limit-pilot-side{padding:13px}.limit-pilot-evidence{grid-template-columns:1fr 1fr}.limit-distance-card{grid-column:1/-1;grid-row:1}.limit-evidence-card strong{font-size:16px}.limit-hole-callout{display:none}}@media (prefers-reduced-motion:reduce){.limit-pilot-primary,.limit-pilot-progress span,.limit-pilot-secondary,.limit-runner{transition:none}}.growth-race-pilot{--growth-numerator:#c2410c;--growth-numerator-soft:color-mix(in oklab,var(--growth-numerator) 11%,var(--surface));--growth-denominator:#2563eb;--growth-denominator-soft:color-mix(in oklab,var(--growth-denominator) 10%,var(--surface));--growth-target:#0f766e;--growth-target-soft:color-mix(in oklab,var(--growth-target) 11%,var(--surface));overflow:hidden;max-width:860px;margin:0 auto;border:1px solid var(--border);border-radius:20px;background:var(--surface);line-height:1.45}.growth-race-topline{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px 0}.growth-race-status{color:var(--accent-text);font-size:11.5px;font-weight:800;letter-spacing:.035em}.growth-race-progress{display:flex;align-items:center;gap:5px}.growth-race-progress>*{width:31px;height:5px;border-radius:999px;background:var(--surface-3);border:0;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:width var(--dur-fast) ease,height var(--dur-quick) ease,background-color var(--dur-fast) ease}.growth-race-progress>.done{background:var(--ok)}.growth-race-progress>.active{width:49px;background:var(--accent)}.growth-race-progress>button:enabled{cursor:pointer;position:relative}.growth-race-progress>button:enabled:after{content:"";position:absolute;inset:-13px -2px}.growth-race-progress>button:enabled:hover{height:9px}.growth-race-progress>button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.growth-race-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:9px 18px 15px}.growth-race-heading.has-problem-target{flex-direction:column;align-items:stretch;gap:9px}.growth-race-heading>div:first-child{min-width:0}.growth-race-eyebrow{margin:0 0 3px!important;color:var(--text-3);font-size:12px;font-weight:700}.growth-race-heading h3{margin:0;color:var(--text);font-size:clamp(18px,2.35vw,23px);font-weight:820;line-height:1.28;letter-spacing:-.025em}.growth-race-heading h3[tabindex="-1"]:focus{outline:none}.growth-race-problem-target{display:grid;grid-template-columns:135px minmax(0,1fr);align-items:center;grid-gap:14px;gap:14px;min-height:68px;padding:10px 18px;border:1px solid color-mix(in oklab,var(--accent) 28%,var(--border));border-left:5px solid var(--accent);border-radius:14px;background:var(--accent-weak)}.growth-race-problem-target>span:first-child{color:var(--accent-text);font-size:11px;font-weight:850;letter-spacing:.025em}.growth-race-problem-formula{display:block;min-width:0;color:var(--text);font-size:clamp(19px,2.55vw,26px);font-weight:700;text-align:center}.growth-race-workspace{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(255px,1fr);min-height:385px;border-top:1px solid var(--border);background:var(--surface-2)}.growth-race-visual{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:17px;background:radial-gradient(circle at 20% 27%,var(--growth-numerator-soft),transparent 27%),radial-gradient(circle at 80% 74%,var(--growth-denominator-soft),transparent 28%),var(--surface)}.growth-race-visual-note{display:flex;align-items:center;justify-content:center;gap:7px;margin:0 0 10px;color:var(--text-3);font-size:11.5px}.growth-race-visual-note strong{color:var(--growth-target);font-size:12px}.growth-race-lane{min-width:0;padding:12px 13px;border:1px solid var(--border);border-radius:15px;background:var(--surface)}.growth-race-lane.numerator{border-left:5px solid var(--growth-numerator)}.growth-race-lane.denominator{border-left:5px solid var(--growth-denominator)}.growth-race-lane-head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;color:var(--text-2);font-size:14px}.growth-race-lane-head>span:first-child{flex:0 0 auto;font-size:11px;font-weight:850;letter-spacing:.03em}.growth-race-lane.numerator .growth-race-lane-head>span:first-child{color:var(--growth-numerator)}.growth-race-lane.denominator .growth-race-lane-head>span:first-child{color:var(--growth-denominator)}.growth-race-leader{display:flex;align-items:center;gap:7px;margin:9px 0 10px;min-width:0}.growth-race-leader>span:first-child{flex:0 0 auto;padding:3px 7px;border-radius:999px;background:var(--surface-3);color:var(--text-3);font-size:9.5px;font-weight:800}.growth-race-leader>span:nth-child(2){color:var(--text);font-size:18px;font-weight:850}.growth-race-leader small{margin-left:auto;color:var(--text-3);font-size:11px;font-weight:800}.growth-race-track{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding-top:9px;border-top:1px dashed var(--border)}.growth-race-track strong{flex:0 0 auto;color:var(--text-2);font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.growth-race-boosters{display:flex;align-items:center;gap:4px;min-width:0}.growth-race-boosters span{display:grid;place-items:center;min-width:38px;min-height:27px;padding:3px 6px;border-radius:8px;color:white;font-size:10.5px;font-weight:850;box-shadow:0 3px 8px rgb(0 0 0/.1)}.growth-race-lane.numerator .growth-race-boosters span{background:var(--growth-numerator)}.growth-race-lane.denominator .growth-race-boosters span{background:var(--growth-denominator)}.growth-race-versus{display:grid;place-items:center;align-self:center;z-index:1;width:34px;height:22px;margin:-3px 0;border:2px solid var(--surface);border-radius:999px;background:var(--text);color:var(--surface);font-size:9px;font-style:italic;font-weight:900}.growth-race-side{display:flex;flex-direction:column;min-width:0;padding:17px;border-left:1px solid var(--border);background:var(--surface-2)}.growth-race-choice{margin:auto 0}.growth-race-choice>p,.growth-race-outcome>p{margin:0 0 12px!important;color:var(--text-2);font-size:13px;font-weight:700}.growth-race-choice>button,.growth-race-outcome>div[role=group] button{width:100%;min-height:48px;margin-bottom:8px;padding:9px 12px;border:1px solid var(--border-2);border-radius:12px;background:var(--surface);color:var(--text-2);font:inherit;font-size:13px;font-weight:750;cursor:pointer}.growth-race-choice>button:hover,.growth-race-outcome>div[role=group] button:hover{border-color:var(--accent);background:var(--accent-weak);color:var(--accent-text)}.growth-race-choice>small{display:block;margin-top:5px;color:var(--text-3);font-size:10.5px}.growth-race-current{display:flex;align-items:baseline;gap:8px;padding:10px 12px;border:1px solid var(--border);border-radius:13px;background:var(--surface)}.growth-race-current>span:first-child{color:var(--text-3);font-size:10px;font-weight:800}.growth-race-current>span:nth-child(2){color:var(--accent-text);font-size:20px;font-weight:850}.growth-race-current small{margin-left:auto;color:var(--text-3);font-size:10px}.growth-race-evidence{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin-top:9px}.growth-race-evidence>div{min-width:0;padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--surface);text-align:center}.growth-race-evidence span{display:block;margin-bottom:4px;font-size:9.5px;font-weight:850}.growth-race-evidence strong{display:flex;align-items:center;justify-content:center;min-height:31px;overflow-wrap:anywhere;color:var(--text);font-size:12.5px;line-height:1.15;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.growth-race-evidence .numerator{border-top:4px solid var(--growth-numerator);background:var(--growth-numerator-soft)}.growth-race-evidence .numerator span{color:var(--growth-numerator)}.growth-race-evidence .denominator{border-top:4px solid var(--growth-denominator);background:var(--growth-denominator-soft)}.growth-race-evidence .denominator span{color:var(--growth-denominator)}.growth-race-evidence .quotient{grid-column:1/-1;border-color:color-mix(in oklab,var(--growth-target) 35%,var(--border));background:var(--growth-target-soft)}.growth-race-evidence .quotient span{color:var(--growth-target)}.growth-race-evidence .quotient strong{color:var(--growth-target);font-size:18px}.growth-race-history{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.growth-race-history span{padding:5px 7px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-2);font-size:10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.growth-race-history span:last-child{border-color:var(--growth-target);color:var(--growth-target)}.growth-race-history b{margin-right:4px;color:var(--text-3)}.growth-race-actions{margin-top:auto;padding-top:12px}.growth-race-primary,.growth-race-secondary{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:10px 16px;border-radius:12px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:transform var(--dur-quick) ease,background var(--dur-quick) ease,border-color var(--dur-quick) ease,color var(--dur-quick) ease}.growth-race-primary{border:none;background:var(--cta);color:var(--cta-ink)}.growth-race-primary:hover{background:var(--cta-hover);transform:translateY(-1px)}.growth-race-secondary{border:1px solid var(--edge);background:var(--surface);color:var(--text-2)}.growth-race-secondary:hover{border-color:var(--text-2);color:var(--text)}.growth-race-outcome{margin:auto 0}.growth-race-history.final{margin:0 0 14px}.growth-race-outcome>div[role=group]{display:grid;grid-gap:8px;gap:8px}.growth-race-outcome>div[role=group] button{margin:0}.growth-race-outcome>div[role=group] button.wrong{border-color:var(--bad);background:var(--bad-weak);color:var(--bad)}.growth-race-feedback{margin:10px 0 0!important;color:var(--bad)!important;font-size:11px!important}.growth-race-result{display:flex;flex-direction:column;margin:auto 0}.growth-race-result-destination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border:1px solid color-mix(in oklab,var(--growth-target) 35%,var(--border));border-radius:14px;background:var(--growth-target-soft)}.growth-race-result-destination>span:first-child{color:var(--growth-target);font-size:11px;font-weight:850}.growth-race-result-destination>span:last-child{color:var(--growth-target);font-size:21px;font-weight:850}.growth-race-result>small{margin:10px 0 5px;color:var(--text-3);font-size:10.5px}.growth-race-result>strong{color:var(--text);font-size:15px;line-height:1.55}.growth-race-result>p{margin:8px 0 0!important;color:var(--text-3);font-size:10.5px}.growth-race-result>.growth-race-primary{margin-top:18px}.growth-race-summary{padding:20px;border-top:1px solid var(--border);background:var(--surface-2)}.growth-race-summary>p{margin:0 0 14px!important;color:var(--text-2);font-size:13px;text-align:center}.growth-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.growth-summary-card{min-width:0;padding:13px 10px;border:1px solid var(--border);border-radius:14px;background:var(--surface);text-align:center}.growth-summary-card>span:first-child{display:block;color:var(--text-3);font-size:9.5px;font-weight:800}.growth-summary-degrees{display:flex;align-items:center;justify-content:center;gap:10px;margin:8px 0 1px}.growth-summary-degrees b{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--surface-3);color:var(--text);font-size:16px}.growth-summary-degrees b:first-child{color:var(--growth-numerator)}.growth-summary-degrees b:last-child{color:var(--growth-denominator)}.growth-summary-degrees i{color:var(--text-3);font-size:17px;font-style:normal;font-weight:900}.growth-summary-arrow{color:var(--growth-target);font-size:15px}.growth-summary-destination{display:block;color:var(--growth-target);font-size:19px;font-weight:850}.growth-summary-card>small{display:block;margin-top:4px;color:var(--text-3);font-size:9.5px}.growth-summary-rule{display:grid;grid-template-columns:auto 1fr;grid-gap:11px;gap:11px;align-items:center;margin-top:12px;padding:12px 14px;border:1px solid color-mix(in oklab,var(--ok) 35%,var(--border));border-radius:14px;background:var(--ok-weak)}.growth-summary-rule>span:first-child{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--ok);color:var(--accent-ink);font-weight:900}.growth-summary-rule small{display:block;color:var(--ok-text);font-size:9.5px;font-weight:850}.growth-summary-rule strong{color:var(--text);font-size:14px}.growth-race-summary>.growth-race-secondary{width:auto;min-width:190px;margin:12px auto 0}.growth-summary-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:9px;gap:9px;max-width:520px;margin:12px auto 0}.growth-summary-actions .growth-race-secondary{width:auto;min-width:168px}.leading-calc-workspace{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(255px,1fr);min-height:385px;border-top:1px solid var(--border);background:var(--surface-2)}.leading-calc-main{padding:20px;background:radial-gradient(circle at 50% 45%,color-mix(in oklab,var(--growth-target) 8%,transparent),transparent 46%),var(--surface)}.leading-calc-guide,.leading-calc-main{display:flex;flex-direction:column;justify-content:center;min-width:0}.leading-calc-guide{padding:19px;border-left:1px solid var(--border);background:var(--surface-2)}.leading-calc-guide>span:first-child{color:var(--accent-text);font-size:10.5px;font-weight:850;letter-spacing:.035em}.leading-calc-guide>strong{margin-top:6px;color:var(--text);font-size:18px;line-height:1.42;letter-spacing:-.015em}.leading-calc-guide>p{margin:9px 0 18px!important;color:var(--text-2);font-size:12px;line-height:1.65}.leading-calc-guide>.growth-race-primary,.leading-calc-guide>.growth-race-secondary{margin-top:auto}.leading-calc-expression{display:flex;align-items:center;justify-content:center;gap:12px;color:var(--text);font-size:23px}.leading-calc-expression>span:first-child{padding:4px 8px;border-radius:999px;background:var(--growth-denominator-soft);color:var(--growth-denominator);font-size:10.5px;font-weight:850}.leading-calc-term-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:9px;gap:9px;margin:17px 0 12px}.leading-calc-term-grid>div{position:relative;display:grid;place-items:center;min-height:91px;padding:11px;border:1px solid var(--border);border-radius:13px;background:var(--surface);color:var(--text-2);text-align:center}.leading-calc-term-grid>div>span:first-child{font-size:20px}.leading-calc-term-grid small{margin-top:4px;color:var(--text-3);font-size:10px;font-weight:750}.leading-calc-term-grid strong{position:absolute;top:-9px;padding:3px 7px;border-radius:999px;background:var(--growth-denominator);color:white;font-size:9px;font-weight:850}.leading-calc-term-grid>div.leader{border:2px solid var(--growth-denominator);background:var(--growth-denominator-soft);color:var(--growth-denominator);box-shadow:0 0 0 3px color-mix(in oklab,var(--growth-denominator) 10%,transparent)}.leading-calc-divisor{display:flex;align-items:center;justify-content:center;gap:10px;align-self:center;min-width:230px;padding:9px 13px;border:1px solid color-mix(in oklab,var(--growth-target) 32%,var(--border));border-radius:13px;background:var(--growth-target-soft)}.leading-calc-divisor>span:first-child{color:var(--growth-target);font-size:10.5px;font-weight:850}.leading-calc-divisor>span:nth-child(2){color:var(--growth-target);font-size:20px;font-weight:850}.leading-calc-divisor small{color:var(--text-3);font-size:9.5px}.leading-calc-same-operation{display:flex;align-items:center;justify-content:center;gap:9px;align-self:center;margin-bottom:13px;padding:7px 11px;border-radius:999px;background:var(--growth-target-soft);color:var(--growth-target);font-size:11px;font-weight:800}.leading-calc-same-operation>span:last-child{font-size:16px}.leading-calc-equation-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;grid-gap:12px;gap:12px;min-width:0;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface);font-size:clamp(13px,1.65vw,17px)}.leading-calc-equation-row+.leading-calc-equation-row{margin-top:10px}.leading-calc-equation-row>span:first-child{min-width:40px;font-size:10.5px;font-weight:850;text-align:center}.leading-calc-equation-row.numerator{border-left:5px solid var(--growth-numerator)}.leading-calc-equation-row.numerator>span:first-child{color:var(--growth-numerator)}.leading-calc-equation-row.denominator{border-left:5px solid var(--growth-denominator)}.leading-calc-equation-row.denominator>span:first-child{color:var(--growth-denominator)}.leading-calc-note{margin:12px 0 0!important;color:var(--text-3);font-size:10.5px;text-align:center}.leading-calc-normalized{display:grid;justify-items:center;grid-gap:12px;gap:12px;padding:17px;border:1px solid var(--border);border-radius:15px;background:var(--surface)}.leading-calc-normalized>span:first-child{color:var(--text-3);font-size:10.5px;font-weight:800}.leading-calc-normalized>span:last-child{color:var(--text);font-size:clamp(17px,2.2vw,23px)}.leading-calc-vanishing{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:7px;gap:7px;margin-top:13px}.leading-calc-vanishing>div{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;padding:10px 6px;border:1px solid color-mix(in oklab,var(--growth-target) 30%,var(--border));border-radius:11px;background:var(--growth-target-soft);color:var(--growth-target);font-size:14px}.leading-calc-vanishing>div>span:nth-child(2){color:var(--text-3)}.leading-calc-vanishing strong{font-size:16px}.leading-calc-final{display:grid;justify-items:center;grid-gap:11px;gap:11px;padding:20px;border:1px solid color-mix(in oklab,var(--growth-target) 35%,var(--border));border-radius:16px;background:var(--growth-target-soft)}.leading-calc-final>span:first-child{color:var(--growth-target);font-size:10.5px;font-weight:850}.leading-calc-final>span:last-child{color:var(--growth-target);font-size:clamp(20px,2.7vw,28px);font-weight:850}.leading-calc-bridge{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:9px;gap:9px;margin-top:13px}.leading-calc-bridge>div{min-width:0;padding:11px;border:1px solid var(--border);border-radius:12px;background:var(--surface);text-align:center}.leading-calc-bridge>span{color:var(--growth-target);font-size:20px;font-weight:900}.leading-calc-bridge div>span{display:block;color:var(--text-3);font-size:9.5px;font-weight:800}.leading-calc-bridge strong{display:block;margin:4px 0;color:var(--text);font-size:13px}.leading-calc-bridge small{display:block;color:var(--text-3);font-size:9.5px}.leading-calc-success{display:grid;grid-template-columns:auto 1fr;grid-gap:9px;gap:9px;align-items:center;margin:15px 0 10px;padding:11px;border:1px solid color-mix(in oklab,var(--ok) 35%,var(--border));border-radius:13px;background:var(--ok-weak)}.leading-calc-success>span:first-child{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--ok);color:var(--accent-ink);font-weight:900}.leading-calc-success small{display:block;color:var(--ok-text);font-size:9.5px;font-weight:850}.leading-calc-success strong{display:block;margin-top:3px;color:var(--text);font-size:11px;line-height:1.5}.leading-calc-final-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.zero-zero-pilot{--zero-alert:#dc2626;--zero-alert-soft:color-mix(in oklab,var(--zero-alert) 9%,var(--surface));--zero-factor:#7c3aed;--zero-factor-soft:color-mix(in oklab,var(--zero-factor) 9%,var(--surface));max-width:920px}.zero-zero-problem-target .growth-race-problem-formula{font-size:clamp(18px,2.3vw,24px)}.zero-zero-calc-workspace,.zero-zero-workspace{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(255px,1fr);min-height:390px;border-top:1px solid var(--border);background:var(--surface-2)}.zero-zero-calc-main,.zero-zero-video,.zero-zero-visual{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:18px;background:radial-gradient(circle at 50% 48%,color-mix(in oklab,var(--zero-factor) 7%,transparent),transparent 50%),var(--surface)}.zero-zero-video .video-frame{margin:0;border:1px solid rgb(255 255 255/.13);border-radius:15px;box-shadow:0 14px 34px rgb(15 23 42/.2)}.zero-zero-video-missing{display:grid;place-items:center;aspect-ratio:16/9;border-radius:15px;background:var(--surface-3);color:var(--text-3);font-size:13px}.zero-zero-guide{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:19px;border-left:1px solid var(--border);background:var(--surface-2)}.zero-zero-guide>span:first-child{color:var(--accent-text);font-size:10.5px;font-weight:850;letter-spacing:.035em}.zero-zero-guide>strong{margin-top:6px;color:var(--text);font-size:17px;line-height:1.42;letter-spacing:-.015em}.zero-zero-guide>p{margin:9px 0 14px!important;color:var(--text-2);font-size:11.5px;line-height:1.6}.zero-zero-guide>.growth-race-primary,.zero-zero-guide>.growth-race-secondary{margin-top:auto}.zero-zero-observe-list{display:grid;grid-gap:8px;gap:8px;margin:14px 0 2px}.zero-zero-observe-list>div{display:grid;grid-template-columns:auto 1fr;align-items:center;grid-gap:9px;gap:9px;padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.zero-zero-observe-list b{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:var(--accent-weak);color:var(--accent-text);font-size:10px}.zero-zero-observe-list span{color:var(--text-2);font-size:10.5px;line-height:1.5}.zero-zero-substitution{display:grid;justify-items:center;width:100%}.zero-zero-substitution>span:first-child{margin-bottom:13px;padding:5px 10px;border-radius:999px;background:var(--surface-3);color:var(--text-3);font-size:10.5px;font-weight:800}.zero-zero-substitution>div:nth-child(2){display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;grid-gap:11px;gap:11px;width:min(100%,470px)}.zero-zero-substitution article{display:grid;justify-items:center;grid-gap:7px;gap:7px;min-width:0;padding:16px 12px;border:1px solid var(--border);border-radius:15px;background:var(--surface)}.zero-zero-substitution article small{color:var(--text-3);font-size:10px;font-weight:800}.zero-zero-substitution article>span:nth-child(2){color:var(--text);font-size:20px}.zero-zero-substitution article strong{color:var(--zero-alert);font-size:18px}.zero-zero-substitution>div:nth-child(2)>span{color:var(--text-3);font-size:20px;font-weight:900}.zero-zero-badge{display:flex;align-items:center;gap:10px;margin-top:15px;padding:10px 16px;border:1px solid color-mix(in oklab,var(--zero-alert) 35%,var(--border));border-radius:14px;background:var(--zero-alert-soft);color:var(--zero-alert)}.zero-zero-badge>span:first-child{font-size:24px;font-weight:900}.zero-zero-badge>span:last-child{font-size:10.5px;font-weight:850}.zero-zero-options{display:grid;grid-gap:7px;gap:7px;margin-top:14px}.zero-zero-options button{width:100%;min-height:44px;padding:9px 11px;border:1px solid var(--border-2);border-radius:11px;background:var(--surface);color:var(--text-2);font:inherit;font-size:11.5px;font-weight:750;cursor:pointer}.zero-zero-options button:hover{border-color:var(--accent);background:var(--accent-weak);color:var(--accent-text)}.zero-zero-options button.right{border-color:var(--ok);background:var(--ok-weak);color:var(--ok-text)}.zero-zero-options button.wrong{border-color:var(--bad);background:var(--bad-weak);color:var(--bad)}.zero-zero-options.formula button{font-size:15px}.zero-zero-feedback{margin:8px 0 10px!important;padding:8px 10px;border-radius:10px;font-size:10.5px!important;line-height:1.5!important}.zero-zero-feedback.ok{background:var(--ok-weak);color:var(--ok-text)!important}.zero-zero-feedback.bad{background:var(--bad-weak);color:var(--bad)!important}.zero-zero-visual-label{color:var(--text-3);font-size:10.5px;font-weight:800;text-align:center}.zero-zero-factor-clue{align-self:center;min-width:150px;margin-top:10px;padding:12px 18px;border:2px solid var(--growth-denominator);border-radius:14px;background:var(--growth-denominator-soft);color:var(--growth-denominator);font-size:23px;text-align:center}.zero-zero-visual-arrow{margin:7px auto;color:var(--zero-factor);font-size:22px;font-weight:900}.zero-zero-factor-target{display:grid;justify-items:center;grid-gap:8px;gap:8px;align-self:stretch;padding:18px;border:1px solid color-mix(in oklab,var(--zero-factor) 35%,var(--border));border-radius:15px;background:var(--zero-factor-soft);color:var(--zero-factor);text-align:center}.zero-zero-factor-target small{font-size:10px;font-weight:800}.zero-zero-factor-target>span:last-child{font-size:clamp(21px,3vw,28px);font-weight:850}.zero-zero-cancel-fraction{display:grid;justify-items:stretch;align-self:center;width:min(100%,420px);color:var(--text);font-size:clamp(23px,3.4vw,32px);text-align:center}.zero-zero-cancel-fraction>div{display:flex;align-items:center;justify-content:center;gap:5px;padding:11px}.zero-zero-cancel-fraction>span{height:2px;background:var(--text)}.zero-zero-cancel-fraction mark{padding:4px 6px;border:2px solid var(--zero-factor);border-radius:10px;background:var(--zero-factor-soft);color:var(--zero-factor)}.zero-zero-cancel-result{display:grid;justify-items:center;grid-gap:10px;gap:10px;align-self:center;width:min(100%,420px);padding:24px;border:1px solid color-mix(in oklab,var(--growth-target) 38%,var(--border));border-radius:17px;background:var(--growth-target-soft);color:var(--growth-target);text-align:center}.zero-zero-cancel-result small{font-size:10.5px;font-weight:800}.zero-zero-cancel-result>span:nth-child(2){font-size:38px;font-weight:900}.zero-zero-cancel-result strong{color:var(--text-2);font-size:11px}.zero-zero-success{display:grid;grid-template-columns:auto 1fr;grid-gap:9px;gap:9px;align-items:center;margin:12px 0 9px;padding:10px;border:1px solid color-mix(in oklab,var(--ok) 35%,var(--border));border-radius:12px;background:var(--ok-weak)}.zero-zero-success>span:first-child{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--ok);color:var(--accent-ink);font-size:11px;font-weight:900}.zero-zero-success small{display:block;color:var(--ok-text);font-size:9px;font-weight:850}.zero-zero-success strong{display:block;margin-top:2px;color:var(--text);font-size:10.5px;line-height:1.45}.zero-zero-success.compact{margin-top:auto}.zero-zero-calc-chain{display:grid;justify-items:center;width:100%}.zero-zero-calc-chain>div{display:grid;grid-template-columns:68px minmax(0,1fr);align-items:center;grid-gap:12px;gap:12px;width:min(100%,520px);padding:11px 13px;border:1px solid var(--border);border-radius:13px;background:var(--surface);color:var(--text-3);opacity:.52}.zero-zero-calc-chain>div>span:first-child{font-size:9.5px;font-weight:850}.zero-zero-calc-chain>div>span:last-child{min-width:0;font-size:clamp(15px,2vw,19px);text-align:center}.zero-zero-calc-chain>div.active{border:2px solid var(--zero-factor);background:var(--zero-factor-soft);color:var(--zero-factor);opacity:1;box-shadow:0 0 0 3px color-mix(in oklab,var(--zero-factor) 9%,transparent)}.zero-zero-calc-chain.radical>div{grid-template-columns:1fr;justify-items:center;gap:7px}.zero-zero-calc-chain.radical>div>span:last-child{width:100%;font-size:clamp(12.5px,1.6vw,16px)}.zero-zero-calc-chain.radical>div.active{border-color:var(--growth-denominator);background:var(--growth-denominator-soft);color:var(--growth-denominator);box-shadow:0 0 0 3px color-mix(in oklab,var(--growth-denominator) 9%,transparent)}.zero-zero-calc-chain>p{margin:12px 0 0!important;color:var(--text-3);font-size:10.5px}.zero-zero-final-actions{display:grid;grid-gap:7px;gap:7px;margin-top:auto}.zero-zero-text-button{border:0;background:transparent;color:var(--text-3);font:inherit;font-size:10.5px;font-weight:750;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.zero-zero-tool-map{padding:18px;border-top:1px solid var(--border);background:var(--surface-2)}.zero-zero-tool-map>p{margin:0 0 13px!important;color:var(--text-2);font-size:12.5px;text-align:center}.zero-zero-tool-map>div:nth-child(2){display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.zero-zero-tool-map article{display:grid;justify-items:center;grid-gap:8px;gap:8px;min-width:0;padding:15px;border:1px solid var(--border);border-radius:14px;background:var(--surface);text-align:center}.zero-zero-tool-map article>span:first-child{padding:4px 8px;border-radius:999px;background:var(--surface-3);color:var(--text-3);font-size:9.5px;font-weight:850}.zero-zero-tool-map article strong{color:var(--zero-factor);font-size:17px}.zero-zero-tool-map article>span:nth-child(3){min-width:0;color:var(--text);font-size:clamp(14px,2vw,18px)}.zero-zero-tool-map article small{color:var(--text-3);font-size:10px}.zero-zero-tool-map article.radical strong{color:var(--growth-denominator)}.zero-zero-rule{display:grid;grid-template-columns:auto 1fr;grid-gap:10px;gap:10px;align-items:center;margin-top:11px;padding:11px 13px;border:1px solid color-mix(in oklab,var(--ok) 35%,var(--border));border-radius:13px;background:var(--ok-weak)}.zero-zero-rule>span:first-child{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--ok);color:var(--accent-ink);font-weight:900}.zero-zero-rule small{display:block;color:var(--ok-text);font-size:9.5px;font-weight:850}.zero-zero-rule strong{color:var(--text);font-size:12.5px}.zero-zero-tool-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;max-width:570px;margin:12px auto 0}@media (min-width:900px) and (max-height:820px){.zero-zero-pilot .growth-race-topline{padding-top:8px}.zero-zero-pilot .growth-race-heading{gap:6px;padding:6px 14px 10px}.zero-zero-pilot .growth-race-problem-target{min-height:56px;padding:7px 14px}.zero-zero-calc-workspace,.zero-zero-workspace{min-height:310px}.zero-zero-guide{padding:12px 14px}.zero-zero-guide>strong{margin-top:4px;font-size:15px}.zero-zero-guide>p{margin:6px 0 9px!important;line-height:1.45}.zero-zero-success{margin:7px 0 5px;padding:8px}.zero-zero-final-actions{gap:5px}.zero-zero-guide .growth-race-primary,.zero-zero-guide .growth-race-secondary{min-height:41px;padding-block:7px}}.focused-example-pilot{max-width:1160px;font-weight:450}.focused-example-pilot strong{font-weight:600}.focused-example-pilot .growth-race-eyebrow,.focused-example-pilot .growth-race-status{color:var(--accent-text);font-size:12px;font-weight:600;letter-spacing:.02em}.focused-example-pilot .growth-race-progress>.done{background:var(--okd)}.focused-example-pilot .growth-race-progress>.active{background:var(--accent)}.focused-example-pilot .growth-race-heading h3{font-size:16px;font-weight:600;letter-spacing:-.01em}.focused-example-problem-target{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;grid-gap:24px;gap:24px;min-height:96px;padding:22px 24px;border:1px solid var(--accent-border);border-radius:8px;background:var(--accent-weak-2)}.focused-example-problem-target:has(>img){grid-template-columns:minmax(0,1fr) 300px}.focused-example-problem-target>span:first-child{grid-column:1/-1;margin-bottom:-6px;color:var(--accent-text);font-size:12px;font-weight:600;letter-spacing:.04em}.focused-example-problem-target>img{width:100%;height:auto;border-radius:8px}.focused-example-problem-target .growth-race-problem-formula{font-size:19px;font-weight:600;text-align:left;line-height:1.7;letter-spacing:-.01em}.focused-example-problem-target .growth-race-problem-formula .katex-block{margin:6px 0;overflow-x:auto}.focused-example-problem-target .growth-race-problem-formula .katex-display{margin:0;text-align:left}.focused-example-problem-target .growth-race-problem-formula .katex-display>.katex{text-align:left}.focused-example-pilot .example-think-q .katex,.focused-example-problem-target .growth-race-problem-formula .katex{font-size:1em}@media (min-width:900px){.focused-example-workspace.two-col .focused-example-problem-target .growth-race-problem-formula{font-size:clamp(17px,1.4vw,19px)}}.focused-example-workspace{display:block;border-top:1px solid var(--border);background:var(--surface-2)}.focused-example-workspace.two-col{display:grid;grid-template-columns:var(--col-w,clamp(420px,42vw,620px)) 7px minmax(0,1fr)}.focused-col-resizer{padding:0;border:0;background:transparent;cursor:col-resize;touch-action:none;position:relative}.focused-col-resizer:before{content:"";position:absolute;inset:0 2px;border-radius:3px}.focused-col-resizer:focus-visible:before,.focused-col-resizer:hover:before{background:var(--accent-border)}.focused-example-workspace.two-col>.focused-example-main{border-right:1px solid var(--border)}.focused-example-workspace.two-col .focused-example-guide{min-height:0;padding:16px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.focused-example-main>.focused-example-practice-next{margin-top:0}.focused-example-workspace.two-col .focused-example-problem-target,.focused-example-workspace.two-col .focused-example-problem-target:has(>img){grid-template-columns:minmax(0,1fr);gap:14px;padding:16px 18px}.focused-example-workspace.two-col .focused-example-problem-target>img{max-width:min(320px,100%);margin:0 auto}.focused-example-main{display:flex;flex-direction:column;justify-content:flex-start;gap:14px;min-width:0;padding:22px 24px;background:var(--surface)}.focused-example-main .example-think{margin:0;border:none;background:none;padding:0}.focused-example-main .example-think-q{margin:8px 0 16px;font-size:16px;font-weight:600;line-height:1.55;color:var(--text);letter-spacing:-.015em}.focused-example-main .example-think-q:before{content:"먼저 예상해 보세요 · ";color:var(--text-2);font-size:12px;font-weight:600;letter-spacing:.02em}.focused-example-main .example-think-choices{counter-reset:pick;gap:9px}.focused-example-main .example-think-choice{display:flex;align-items:center;gap:12px;min-height:52px;padding:13px 15px;border:1px solid var(--accent-strong);border-radius:8px;background:var(--surface);font-size:15px;font-weight:600;color:var(--text-2);line-height:1.45}.focused-example-main .example-think-choice:before{counter-increment:pick;content:counter(pick,upper-alpha);flex:none;width:26px;height:26px;border-radius:8px;background:var(--accent-weak);color:var(--accent-text);font-size:13px;font-weight:600;letter-spacing:.01em;display:grid;place-items:center}.focused-example-main .example-think-choice:hover:not(:disabled){border-color:var(--accent);background:var(--accent-weak-2);transform:translateY(-1px)}.focused-example-main .example-think-choice:hover:not(:disabled):before{background:color-mix(in oklab,var(--accent) 26%,var(--surface))}.focused-example-auto{display:flex;align-items:center;justify-content:center;gap:8px;align-self:center;padding:7px 12px;border-radius:999px;background:var(--growth-target-soft);color:var(--growth-target);font-size:12px;font-weight:600;letter-spacing:.01em}.focused-example-auto>span:first-child{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--growth-target);color:white;font-size:12px}.focused-example-auto p{margin:0!important}.focused-example-reveal{min-width:0;padding:15px 17px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-size:13px;letter-spacing:.01em;line-height:1.65}.focused-example-reveal p{margin:0 0 7px!important}.focused-example-reveal p:last-child{margin-bottom:0!important}.focused-example-reveal .katex-display{margin:9px 0;font-size:clamp(.84em,1.1vw,1em)}.focused-example-reveal.final{display:grid;place-items:center;min-height:205px;border-color:color-mix(in oklab,var(--growth-target) 35%,var(--border));background:var(--growth-target-soft);color:var(--growth-target);text-align:center}.focused-example-reveal.final .katex-display{justify-self:stretch;width:100%;max-width:100%;min-width:0;overflow-x:auto;font-size:clamp(.9em,1.1vw,1.1em)}.focused-example-guide{display:flex;flex-direction:column;min-width:0;padding:24px;border-top:1px solid var(--border);background:var(--surface-2)}.focused-example-guide>span:first-child{color:var(--accent-text);font-size:12px;font-weight:600;letter-spacing:.035em}.focused-example-guide>strong{margin-top:6px;color:var(--text);font-size:16px;line-height:1.42;letter-spacing:-.015em}.focused-example-guide-copy{margin:9px 0 16px;color:var(--text-2);font-size:13px;letter-spacing:.01em;line-height:1.6}.focused-example-key{display:grid;grid-template-columns:auto 1fr;grid-gap:9px;gap:9px;align-items:start;margin:8px 0 10px;padding:11px;border:1px solid color-mix(in oklab,var(--ok) 35%,var(--border));border-radius:8px;background:var(--ok-weak)}.focused-example-key>span:first-child{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:var(--okd);color:var(--accent-ink);font-weight:600}.focused-example-key small{display:block;color:var(--ok-text);font-size:12px;font-weight:600;letter-spacing:.01em}.focused-example-key>div>div{margin-top:3px;color:var(--text-2);font-size:12px;letter-spacing:.01em;line-height:1.55}.focused-example-actions{margin-top:auto}.focused-example-actions.final{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.focused-ink-col{position:relative;display:flex;flex-direction:column;min-width:0;min-height:calc(100svh - var(--sheet-reserve, 200px) + var(--sheet-extra, 0px));background:var(--surface-2)}.phase-worked .focused-ink-col{--sheet-reserve:195px}.phase-practice .focused-ink-col{--sheet-reserve:205px}.focused-ink-head{display:flex;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid var(--border);background:var(--surface-2)}.focused-ink-head .fih-t{font-size:13px;font-weight:600;color:var(--text-2)}.focused-ink-head .fih-sub{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--text-2)}.focused-ink-head .fih-spacer{flex:1 1}.focused-ink-btn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 11px;border:1px solid var(--edge);border-radius:9px;background:var(--surface);color:var(--text-2);font:inherit;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background var(--dur-quick),border-color var(--dur-quick),color var(--dur-quick)}.focused-ink-btn:hover{border-color:var(--text-2);background:var(--surface-2);color:var(--text)}.focused-ink-btn svg{width:15px;height:15px}.focused-ink-btn.is-active{border-color:var(--accent-border);background:var(--accent-weak);color:var(--accent-text)}.focused-ink-btn:disabled{opacity:.35;cursor:default}.focused-ink-head.has-tools{flex-wrap:wrap;row-gap:4px;padding:6px 8px}.focused-ink-tools{display:flex;align-items:center;min-height:38px}.focused-ink-head.has-tools>.fih-sub{flex:1 1;text-align:right}.focused-ink-head.has-tools>.rso-drag{flex:1 1;min-width:96px;overflow:hidden}.focused-ink-btn.icon{width:38px;height:38px;padding:0;justify-content:center;border-color:transparent;background:transparent}.focused-ink-btn.icon svg{width:19px;height:19px}.focused-ink-btn.icon:hover{border-color:transparent;background:var(--surface-3)}.focused-ink-canvas-area{position:relative;flex:1 1;min-height:0;overflow:hidden;background-color:var(--surface);background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:26px 26px;background-position:-1px -1px}.focused-ink-foot{display:flex;align-items:center;gap:8px;padding:10px 12px;border-top:1px solid var(--border);background:var(--surface)}.focused-ink-foot .fif-note{margin-left:auto;text-align:right;font-size:12px;color:var(--text-2)}.focused-ink-foot .fif-note.warn{color:var(--bad-text)}.focused-ink-col.is-full{position:fixed;inset:0;z-index:70;min-height:0;background:var(--surface)}.focused-ink-col.is-full .focused-ink-head{padding:11px 14px;background:var(--surface)}.reading-sheet-win{position:fixed;z-index:70;display:flex;flex-direction:column;border:1px solid var(--edge);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-float);background:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.reading-sheet-backdrop{position:absolute;inset:0;background-color:var(--surface);background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:26px 26px;background-position:-1px -1px}.reading-sheet-win .focused-ink-foot,.reading-sheet-win .focused-ink-head{position:relative}.reading-sheet-win .focused-ink-head{flex-wrap:wrap}.reading-sheet-win .focused-ink-canvas-area{background:none}.rso-drag{display:inline-flex;align-items:baseline;gap:8px;min-width:0;cursor:-webkit-grab;cursor:grab;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.rso-drag:active{cursor:-webkit-grabbing;cursor:grabbing}.rso-opacity{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text-2);white-space:nowrap}.rso-opacity input[type=range]{width:110px;accent-color:var(--accent)}.rso-resize{position:absolute;right:0;bottom:0;width:26px;height:26px;z-index:7;cursor:nwse-resize;touch-action:none;background:linear-gradient(135deg,transparent 58%,var(--text-2) 58%,var(--text-2) 64%,transparent 64%,transparent 72%,var(--text-2) 72%,var(--text-2) 78%,transparent 78%);opacity:.7}.focused-ink-minimap{position:absolute;left:14px;top:72px;z-index:6;display:flex;flex-direction:column;gap:8px;width:250px;max-height:min(58vh,460px);overflow-y:auto;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:color-mix(in oklab,var(--surface) 96%,transparent);box-shadow:var(--shadow-float)}.focused-ink-minimap .fim-t{color:var(--accent-text);font-size:12px;font-weight:600;letter-spacing:.02em;cursor:-webkit-grab;cursor:grab;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.focused-ink-minimap .fim-t:active{cursor:-webkit-grabbing;cursor:grabbing}.focused-ink-minimap .fim-body{color:var(--text);font-size:13px;line-height:1.6}.focused-ink-minimap .fim-body .katex{font-size:1em}.focused-ink-minimap .fim-body>img{max-width:100%;height:auto;margin-top:8px;border-radius:8px}.focused-ink-minimap .fim-attach{margin-top:6px;width:100%}.focused-ink-minimap .fim-choices{margin:8px 0 0;padding-left:17px;color:var(--text-2);font-size:12.5px;line-height:1.5}.focused-ink-minimap .fim-choices li{margin-top:4px}.focused-ink-minimap .growth-race-primary{min-height:36px;font-size:12.5px}.focused-ink-image{position:absolute;z-index:1;pointer-events:none;border:1px solid var(--accent-border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-float)}.focused-ink-image-ui{position:absolute;z-index:6;pointer-events:none;border:1px solid transparent}.focused-ink-image-ui>*{pointer-events:auto}.focused-ink-image-bar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:6px;padding:5px 8px;border-bottom:1px solid var(--border);border-radius:9px 9px 0 0;background:color-mix(in oklab,var(--accent-weak-2) 88%,transparent);color:var(--accent-text);font-size:11px;font-weight:600;cursor:move;touch-action:none}.focused-ink-image-bar .fii-x{margin-left:auto;padding:0 2px;cursor:pointer}.fii-h{position:absolute;width:9px;height:9px;margin:-5px 0 0 -5px;border:1.5px solid var(--accent);border-radius:2px;background:var(--surface);touch-action:none}.fii-h:after{content:"";position:absolute;inset:-9px}.fii-h.tl{left:0;top:0;cursor:nwse-resize}.fii-h.tr{left:100%;top:0;cursor:nesw-resize}.fii-h.bl{left:0;top:100%;cursor:nesw-resize}.fii-h.br{left:100%;top:100%;cursor:nwse-resize}.focused-example-main .quiz-card{margin:0;box-shadow:none}.focused-example-main .quiz-card-external-prompt>.quiz-answer-heading{display:flex;align-items:baseline;gap:8px;margin-top:3px;padding-top:9px;border-top:1px solid var(--border)}.focused-example-main .quiz-answer-heading strong{color:var(--text);font-size:13px;letter-spacing:.01em}.focused-example-main .quiz-answer-heading span{color:var(--text-2);font-size:12px;letter-spacing:.01em}.focused-example-main .quiz-card-external-prompt>.quiz-options,.focused-example-main .quiz-card-external-prompt>.quiz-subjective{border-top:none;padding-top:0}.focused-example-main .quiz-card-external-prompt .quiz-input-row .math-input{width:100%;max-width:none}.focused-example-main .quiz-card-external-prompt .quiz-input-row{align-items:flex-start}.focused-example-main .quiz-card-external-prompt .math-input{flex-wrap:wrap}.focused-example-main .quiz-card-external-prompt .math-hw{position:static;flex:0 0 100%;width:100%;max-width:none;margin-top:6px}.focused-example-done-steps{margin:16px 18px 18px;border:1px solid var(--ok);border-radius:8px;background:var(--ok-weak);overflow:hidden}.focused-example-done-steps>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:13px 16px;font-size:15px;font-weight:600;color:var(--text)}.focused-example-done-steps>summary::-webkit-details-marker{display:none}.focused-example-done-steps .chk{display:grid;place-items:center;flex:none;width:22px;height:22px;border-radius:50%;background:var(--okd);color:var(--accent-ink);font-size:12px;font-weight:600}.focused-example-done-steps .chev{margin-left:auto;font-size:12px;color:var(--ok-text);font-weight:600;letter-spacing:.01em}.focused-example-done-steps:not([open]) .chev-open,.focused-example-done-steps[open] .chev-close{display:none}.focused-example-done-step-list{display:grid;grid-gap:9px;gap:9px;padding:2px 16px 16px}.focused-example-done-step{display:grid;grid-template-columns:26px 1fr;grid-gap:12px;gap:12px;padding:13px 15px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.focused-example-done-step>.sn{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--okd);color:var(--accent-ink);font-size:12px;font-weight:600}.focused-example-done-step-title{margin-bottom:3px;font-size:15px;font-weight:600;color:var(--text)}.focused-example-done-step-body{font-size:15px;line-height:1.6;color:var(--text-2)}.focused-example-done-step-body p{margin:0 0 6px!important}.focused-example-done-step-body p:last-child{margin-bottom:0!important}.focused-example-practice-next{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,260px);grid-gap:13px;gap:13px;align-items:center;margin-top:12px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.focused-example-practice-next.ready{border-color:color-mix(in oklab,var(--ok) 35%,var(--border));background:var(--ok-weak)}.focused-example-practice-next small{display:block;color:var(--text-2);font-size:12px;font-weight:600;letter-spacing:.01em}.focused-example-practice-next.ready small{color:var(--ok-text)}.focused-example-practice-next strong{display:block;margin-top:3px;color:var(--text);font-size:12px;line-height:1.45}.focused-example-practice-next.locked strong{color:var(--text-3)}.focused-example-practice-next .growth-race-primary{min-height:44px}.focused-example-practice-next .growth-race-primary:disabled{border-color:var(--border);background:var(--surface-3);color:var(--text-3);opacity:.72;cursor:not-allowed;transform:none}.focused-example-done{display:flex;flex-direction:column;justify-content:center;min-height:405px;padding:22px;border-top:1px solid var(--border);background:var(--surface-2)}.focused-example-final-result{display:grid;justify-items:center;grid-gap:8px;gap:8px;padding:20px;border:1px solid color-mix(in oklab,var(--growth-target) 35%,var(--border));border-radius:8px;background:var(--growth-target-soft);color:var(--growth-target)}.focused-example-final-result>span:first-child{font-size:12px;font-weight:600;letter-spacing:.01em}.focused-example-final-result>span:last-child{font-size:19px;font-weight:600}.focused-example-transfer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:10px;gap:10px;margin-top:13px}.focused-example-transfer>div{min-width:0;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);text-align:center}.focused-example-transfer>span{color:var(--growth-target);font-size:19px;font-weight:600}.focused-example-transfer div>span{display:block;color:var(--text-2);font-size:12px;font-weight:600;letter-spacing:.01em}.focused-example-transfer strong{display:block;margin:4px 0;color:var(--text);font-size:13px}.focused-example-transfer small{display:block;color:var(--text-2);font-size:12px;letter-spacing:.01em}.focused-example-done-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:9px;gap:9px;max-width:590px;width:100%;margin:16px auto 0}.focused-quiz{overflow:hidden;max-width:1160px;margin:0 auto;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.focused-quiz-topline{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 18px 8px}.focused-quiz-topline>span:first-child{color:var(--accent-text);font-size:12px;font-weight:600;letter-spacing:.02em}.focused-quiz-chiprail{display:flex;align-items:center;flex-wrap:wrap;gap:6px;justify-content:flex-end}.fq-chip{min-width:34px;height:30px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-2);border-radius:9px;background:var(--surface);color:var(--text-2);font:inherit;font-size:13px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;cursor:pointer;transition:border-color var(--dur-quick),background var(--dur-quick),color var(--dur-quick),transform var(--dur-quick)}.fq-chip:hover:not(:disabled){transform:translateY(-1px);border-color:var(--text-2)}.fq-chip.ok{border-color:var(--ok);background:var(--ok-weak);color:var(--ok-text)}.fq-chip.no{border-color:var(--bad);background:var(--bad-weak);color:var(--bad-text)}.fq-chip.active{border-color:var(--accent);border-width:2px;background:var(--accent-weak);color:var(--accent-text)}.fq-chip.active.no{border-color:var(--bad);background:var(--bad-weak);color:var(--bad-text)}.fq-chip:disabled{border-color:var(--border);background:var(--surface-3);color:var(--text-3);cursor:not-allowed}.fq-chip .fq-chip-mark{font-size:11px;margin-left:3px;opacity:.85}.focused-quiz-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 18px 14px}.focused-quiz-heading small{display:block;color:var(--text-2);font-size:12px;font-weight:600;letter-spacing:.01em}.focused-quiz-heading strong{display:block;margin-top:3px;color:var(--text);font-size:16px;font-weight:600}.focused-quiz-heading .quiz-pad-toggle{margin:0}.focused-quiz-question{display:flex;flex-direction:column;gap:14px;min-width:0}@media (max-width:899px){.growth-race-workspace{grid-template-columns:1fr}.growth-race-visual{padding:13px 16px}.growth-race-side{border-top:1px solid var(--border);border-left:0}.growth-race-choice{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.growth-race-choice>p,.growth-race-choice>small{grid-column:1/-1}.growth-race-choice>button{margin:0}.growth-race-evidence{grid-template-columns:repeat(3,1fr)}.growth-race-evidence .quotient{grid-column:auto}.growth-race-actions{padding-top:10px}.leading-calc-workspace{grid-template-columns:1fr}.leading-calc-main{min-height:290px;padding:16px 18px}.leading-calc-guide{min-height:174px;padding:15px 18px;border-top:1px solid var(--border);border-left:0}.leading-calc-guide>p{margin-bottom:13px!important}.zero-zero-calc-workspace,.zero-zero-workspace{grid-template-columns:1fr;min-height:0}.zero-zero-calc-main,.zero-zero-video,.zero-zero-visual{min-height:286px;padding:15px 18px}.zero-zero-guide{min-height:178px;padding:14px 18px;border-top:1px solid var(--border);border-left:0}.zero-zero-workspace.video-stage .zero-zero-guide{min-height:190px}.zero-zero-observe-list{grid-template-columns:1fr 1fr;margin-top:10px}.focused-example-workspace.two-col{grid-template-columns:minmax(0,1fr)}.focused-col-resizer{display:none}.focused-example-workspace.two-col>.focused-example-main{border-right:0;border-bottom:1px solid var(--border)}.focused-example-main{min-height:300px;padding:16px 18px}.focused-example-guide{min-height:184px;padding:15px 18px;border-top:1px solid var(--border);border-left:0}.focused-example-guide-copy{margin-bottom:12px}.focused-example-done{min-height:520px}}@media (min-width:700px) and (max-width:899px){.zero-zero-calc-workspace,.zero-zero-workspace{grid-template-columns:minmax(0,1.15fr) minmax(270px,.85fr);min-height:300px}.zero-zero-calc-main,.zero-zero-guide,.zero-zero-video,.zero-zero-visual{min-height:0;padding:14px}.zero-zero-guide{border-top:0;border-left:1px solid var(--border)}.zero-zero-observe-list{grid-template-columns:1fr}}@media (max-width:599px){.focused-quiz-heading,.focused-quiz-topline,.growth-race-topline{padding-inline:13px}.focused-quiz-heading{align-items:flex-start;flex-direction:column}.growth-race-progress>*{width:23px}.growth-race-progress>.active{width:34px}.growth-race-heading{align-items:stretch;flex-direction:column;gap:8px;padding:9px 13px 13px}.growth-race-heading h3{font-size:19px}.growth-race-problem-target{grid-template-columns:1fr;gap:5px;min-height:0;padding:10px 12px}.growth-race-problem-formula{font-size:clamp(17px,5vw,21px);text-align:left}.growth-race-visual{padding:12px 10px}.growth-race-lane{padding:10px}.growth-race-track{align-items:flex-start;flex-direction:column;gap:7px}.growth-race-boosters span{min-width:34px}.growth-race-side{padding:13px}.growth-race-choice{grid-template-columns:1fr}.growth-race-choice>p,.growth-race-choice>small{grid-column:auto}.growth-race-evidence{grid-template-columns:1fr 1fr}.growth-race-evidence .quotient{grid-column:1/-1}.growth-summary-grid{grid-template-columns:1fr}.growth-race-summary{padding:14px 12px}.growth-summary-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;grid-gap:8px;gap:8px;text-align:left}.growth-summary-card>span:first-child{font-size:10px}.growth-summary-degrees{margin:0}.growth-summary-arrow{display:none}.growth-summary-destination{min-width:40px;text-align:center}.growth-summary-destination:before{content:"→";margin-right:7px;color:var(--text-3)}.growth-summary-card>small{display:none}.growth-summary-actions{grid-template-columns:1fr}.growth-summary-actions .growth-race-secondary{width:100%}.leading-calc-main{min-height:0;padding:13px 10px}.leading-calc-guide{min-height:0;padding:13px}.leading-calc-term-grid{gap:6px}.leading-calc-term-grid>div{min-height:78px;padding:8px}.leading-calc-equation-row{grid-template-columns:1fr;gap:7px;padding:11px;text-align:center}.leading-calc-equation-row>span:first-child{min-width:0}.leading-calc-vanishing{grid-template-columns:1fr 1fr}.leading-calc-bridge{grid-template-columns:1fr}.leading-calc-bridge>span{transform:rotate(90deg)}.leading-calc-final-actions{grid-template-columns:1fr}.zero-zero-calc-main,.zero-zero-video,.zero-zero-visual{min-height:0;padding:12px 10px}.zero-zero-guide{min-height:0;padding:13px}.zero-zero-observe-list{grid-template-columns:1fr}.zero-zero-substitution article{padding:12px 7px}.zero-zero-substitution article>span:nth-child(2){font-size:16px}.zero-zero-calc-chain>div{grid-template-columns:52px minmax(0,1fr);padding:9px}.zero-zero-tool-actions,.zero-zero-tool-map>div:nth-child(2){grid-template-columns:1fr}.focused-example-main{min-height:0;padding:13px 10px}.focused-example-guide{min-height:0;padding:13px}.focused-example-actions.final,.focused-example-done-actions{grid-template-columns:1fr}.focused-ink-foot,.focused-ink-head{flex-wrap:wrap;padding:8px 10px}.focused-ink-foot .fif-note{flex:1 0 100%;margin-left:0;text-align:left}.focused-ink-minimap{right:10px;left:10px;top:116px;width:auto}.focused-example-done-steps{margin-inline:13px}.focused-example-practice-next{grid-template-columns:1fr}.focused-example-done{min-height:0;padding:14px 12px}.focused-example-transfer{grid-template-columns:1fr}.focused-example-transfer>span{transform:rotate(90deg)}.reading-body:has(.growth-race-pilot)>.reading-ink-toolbar.sticky:has(.reading-ink-mode:nth-child(2)[aria-pressed=true])>.reading-ink-group{display:none}.reading-body:has(.growth-race-pilot)>.reading-ink-toolbar.sticky{flex-wrap:nowrap;gap:5px;padding:5px 6px;border-radius:12px}}@media (max-width:480px){.growth-race-pilot{border-radius:17px}.growth-race-heading{padding-bottom:10px}.growth-race-problem-target{border-radius:11px}.growth-race-visual{padding:8px}.growth-race-visual-note{margin-bottom:5px}.growth-race-lane{padding:7px 9px;border-radius:12px}.growth-race-lane-head>span:last-child{display:none}.growth-race-leader{margin:5px 0 6px}.growth-race-leader>span:nth-child(2){font-size:16px}.growth-race-track{flex-direction:row;align-items:center;gap:5px;padding-top:6px}.growth-race-track strong{font-size:9.5px}.growth-race-boosters{gap:3px}.growth-race-boosters span{min-width:31px;min-height:24px;padding:2px 4px;font-size:9.5px}.growth-race-versus{width:30px;height:19px}.growth-race-side{padding:10px}.growth-race-choice{gap:6px}.growth-race-choice>p{margin-bottom:4px!important}.growth-race-choice>button{min-height:46px}}@media (prefers-reduced-motion:reduce){.growth-race-primary,.growth-race-progress>*,.growth-race-secondary{transition:none}}.ichooser-title{font-size:14px;font-weight:650;color:var(--text);margin-bottom:10px}.ichooser-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.ichooser-tab{border:1px solid var(--border-2);background:var(--surface);color:var(--text-2);border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:all var(--dur-quick)}.ichooser-tab:hover{border-color:var(--accent);color:var(--accent-text)}.ichooser-tab.sel{background:var(--info-bg);border-color:var(--accent-border);color:var(--info-tx)}.ichooser-formula{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2,var(--surface));padding:10px 16px;margin-bottom:12px;font-size:15px;color:var(--text)}.quiz-block{display:flex;flex-direction:column;gap:16px}.quiz-card{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);padding:18px 20px;transition:border-color var(--dur-quick);font-weight:450}.quiz-card.ok{border-color:color-mix(in oklab,var(--ok) 50%,var(--border))}.quiz-card.no{border-color:color-mix(in oklab,var(--bad) 45%,var(--border))}.quiz-q-num{display:inline-flex;align-items:center;gap:6px;background:var(--accent-weak);border-radius:999px;padding:4px 12px;margin-bottom:8px}.quiz-diff,.quiz-q-num{font-size:12px;font-weight:600;color:var(--accent-text);letter-spacing:.01em}.quiz-diff:before{content:"· "}.quiz-q{padding:22px 24px;border:1px solid var(--accent-border);border-radius:8px;background:var(--accent-weak-2);font-size:19px;font-weight:600;line-height:1.65;letter-spacing:-.01em;margin-bottom:18px}.quiz-options{display:flex;flex-direction:column;gap:9px;padding-top:14px;border-top:1px solid var(--border)}.quiz-option{display:flex;align-items:center;gap:10px;text-align:left;min-height:52px;padding:13px 15px;border:1px solid var(--accent-strong);border-radius:8px;background:var(--surface);color:var(--text-2);font:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:all var(--dur-quick)}.quiz-option:hover{border-color:var(--accent);background:var(--accent-weak-2);transform:translateY(-1px)}.quiz-option:hover .opt-label{background:color-mix(in oklab,var(--accent) 26%,var(--surface))}.quiz-option.sel{border-color:var(--text);background:var(--surface-2);color:var(--text)}.quiz-option.sel .opt-label{background:var(--text);color:var(--surface)}.quiz-option.correct{border-color:var(--ok);background:var(--ok-weak)}.quiz-option.wrong{border-color:var(--bad);background:var(--bad-weak)}.opt-label{flex:0 0 auto;width:26px;height:26px;border-radius:8px;display:grid;place-items:center;font-weight:600;font-size:13px;letter-spacing:.01em;background:var(--accent-weak);color:var(--accent-text)}.quiz-subjective{display:flex;flex-direction:column;gap:14px;padding-top:14px;border-top:1px solid var(--border)}.quiz-input-row .math-input{flex:1 1;max-width:360px}.quiz-hint{font-size:13px;font-weight:550;letter-spacing:.01em;color:var(--text-2);margin:0}.quiz-ink-submit{display:grid;grid-gap:8px;gap:8px}.quiz-ink-hint{margin:0;padding:9px 11px;border-radius:var(--r-sm);border:1px solid var(--border-2);background:var(--surface-2);font-size:13.5px;line-height:1.6;color:var(--text)}.math-input{display:inline-flex;align-items:center;gap:6px}.math-input .math-field-host{flex:1 1;min-width:0;display:inline-flex}.math-field-el{flex:1 1;min-width:0;width:100%;font-size:15px;padding:8px 11px;border-radius:var(--r-sm);border:1px solid var(--border-2);background:var(--surface);color:var(--text);--hue:210}.math-field-el:focus-within{border-color:var(--accent-border);outline:none}.math-field-el[disabled]{opacity:.7;cursor:default}.math-input-fallback{flex:1 1;min-width:0;width:100%;font:inherit;font-size:15px;padding:8px 11px;border-radius:var(--r-sm);border:1px solid var(--edge);background:var(--surface);color:var(--text)}.math-input-compact{min-width:6ch}.math-input-compact .math-field-el{font-size:14px;padding:5px 7px}.math-input-kbd{flex:none;width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text-2);cursor:pointer}.math-input-kbd:hover{border-color:var(--accent-border);background:var(--accent-weak);color:var(--accent-text)}.math-input-kbd:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.math-input-kbd:disabled{opacity:.5;cursor:default}.math-input-compact .math-input-kbd{width:26px;height:26px}.math-input-hw{font-size:16px;line-height:1}.math-input-hw.is-active{border-color:var(--accent-border);background:var(--accent-weak);color:var(--accent-text)}.math-input{position:relative}.math-input-preview{bottom:calc(100% + 6px);width:max-content;padding:6px 10px;border:1px dashed var(--border-2);border-radius:var(--r-sm);background:var(--accent-weak);font-size:15px}.math-hw,.math-input-preview{position:absolute;left:0;z-index:40;max-width:86vw;box-shadow:var(--shadow-float)}.math-hw{top:calc(100% + 6px);width:400px;display:flex;flex-direction:column;gap:6px;padding:8px;background:var(--surface);border:1px solid var(--edge);border-radius:var(--r-md)}.math-hw-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px}.math-hw-hint{font-size:12px;font-weight:450;letter-spacing:.01em;color:var(--text-2)}.math-hw-actions{display:flex;gap:4px}.math-hw-btn{border:1px solid var(--edge);border-radius:var(--r-sm);background:var(--surface);color:var(--text-2);font:inherit;font-size:13px;font-weight:550;letter-spacing:.01em;line-height:1;padding:4px 8px;cursor:pointer}.math-hw-btn:hover:not(:disabled){border-color:var(--text-2);color:var(--text)}.math-hw-done{background:var(--text);border-color:var(--text);color:var(--surface);font-weight:600}.math-hw-done:hover:not(:disabled){background:var(--text);color:var(--surface);opacity:.85}.math-hw-btn:disabled{opacity:.5;cursor:default}.math-hw-canvas-wrap{height:200px}.math-hw-canvas,.math-hw-canvas *,.math-hw-canvas-wrap{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none}.math-hw-canvas{touch-action:none;border:1px dashed var(--edge);border-radius:var(--r-sm);color-scheme:only light;background-color:#fff}.math-hw-canvas,.math-hw-canvas svg{width:100%;height:100%}.math-hw-canvas.is-disabled{pointer-events:none;opacity:.5}.math-hw-notice{margin:0;padding:8px 4px;color:var(--text-2);text-align:center}.math-hw-error,.math-hw-notice{font-size:12px;font-weight:450;letter-spacing:.01em}.math-hw-error{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#d9534f}.math-hw-reconnect{border:1px solid var(--edge);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font:inherit;font-size:12px;font-weight:550;letter-spacing:.01em;padding:3px 8px;cursor:pointer}.math-hw-reconnect:hover{border-color:var(--text-2);color:var(--text)}.quiz-actions{display:flex;align-items:center;gap:12px;margin-top:14px}.quiz-check{border:none;border-radius:var(--r-sm);padding:8px 18px;background:var(--cta);color:var(--cta-ink);font:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:opacity var(--dur-quick)}.quiz-check:disabled{opacity:.45;cursor:default}.quiz-verdict{font-size:15px;font-weight:600}.quiz-verdict.ok{color:var(--ok-text)}.quiz-verdict.no{color:var(--bad-text)}.quiz-verdict.checking{color:var(--text-2);font-weight:600}.quiz-explanation{margin-top:14px;padding:14px 16px;border-radius:var(--r-sm);background:var(--surface-2);font-size:15px;font-weight:450;line-height:1.6;color:var(--text-2)}.quiz-help{margin-left:auto;border:1px solid var(--edge);border-radius:var(--r-sm);padding:7px 14px;background:transparent;color:var(--text);font:inherit;font-size:13px;font-weight:600;letter-spacing:.01em;cursor:pointer;transition:background var(--dur-quick)}.quiz-help:hover{background:var(--surface-2)}.catalog{max-width:760px;margin:0 auto;padding:40px 20px 80px}.catalog-head{margin-bottom:28px}.catalog-back{display:inline-block;font-size:13px;color:var(--text-3);text-decoration:none;margin-bottom:14px}.catalog-back:hover{color:var(--accent-text)}.catalog-head h1{font-size:26px;font-weight:800;margin:0 0 6px;letter-spacing:-.02em}.catalog-head p{font-size:14px;color:var(--text-3);margin:0}.course-card{border-top:1px solid var(--border);padding:22px 0;margin-bottom:0}.course-card:last-child{border-bottom:1px solid var(--border)}.course-card-head{margin-bottom:16px}.course-card-head h3{font-size:19px;font-weight:750;margin:0 0 4px}.course-sub{font-size:13px;color:var(--text-3);margin:0}.catalog-empty{font-size:14px;color:var(--text-3);margin:0 0 18px}.catalog-inline-link{color:var(--accent-text);font-weight:600;text-decoration:underline}.catalog-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px}.catalog-actions .catalog-resume{margin-top:0}.catalog-enroll-link{display:inline-block;padding:9px 15px;border-radius:var(--r-md);border:1px solid var(--accent-border);background:var(--accent-weak);color:var(--accent-text);font-size:13px;font-weight:650;text-decoration:none;transition:background var(--dur-quick)}.catalog-enroll-link:hover{background:var(--accent-weak-2)}.course-enroll{flex:0 0 auto;padding:9px 16px;border:none;border-radius:var(--r-md);cursor:pointer;background:var(--cta);color:var(--cta-ink);font-size:13px;font-weight:650;transition:background var(--dur-quick)}.course-enroll:hover{background:var(--cta-hover)}.lecture-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;border-top:1px solid var(--border)}.lecture-item{display:flex;align-items:center;gap:14px;text-decoration:none;padding:13px 4px;border-bottom:1px solid var(--border);color:var(--text);transition:color var(--dur-quick)}.lecture-item:hover .lecture-title{color:var(--accent-text)}.lecture-num{flex:0 0 auto;width:28px;height:28px;display:grid;place-items:center;font-weight:700;font-size:13px;color:var(--accent-text)}.lecture-info{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.lecture-title{font-size:15px;font-weight:600}.lecture-meta{font-size:12px;color:var(--text-3)}.lecture-progress{display:block;height:4px;margin-top:6px;border-radius:999px;background:var(--accent-weak);overflow:hidden}.lecture-progress-bar{display:block;height:100%;background:var(--accent);border-radius:999px;transition:width var(--dur-fast)}.lecture-arrow{width:18px;height:18px;color:var(--text-3);flex:0 0 auto}.lecture-item:hover .lecture-arrow{color:var(--accent-text)}.catalog-resume{display:inline-block;margin-top:14px;padding:9px 15px;border-radius:var(--r-md);background:var(--cta);color:var(--cta-ink);font-size:13px;font-weight:650;text-decoration:none;transition:background var(--dur-quick)}.catalog-resume:hover{background:var(--cta-hover)}.objectives-banner{display:flex;align-items:center;gap:10px;color:var(--accent-text);padding:0 0 12px;margin-bottom:20px;border-bottom:2px solid var(--accent);font-size:18px;font-weight:800;letter-spacing:-.01em}.objectives-banner svg{width:22px;height:22px;flex:0 0 auto}.objectives-heading{font-size:18px;font-weight:750;margin:26px 0 12px}.objectives-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.objectives-list li{display:flex;align-items:flex-start;gap:10px;padding:11px 0;border-bottom:1px solid var(--border);font-size:15px;line-height:1.6}.objectives-list li:first-child{border-top:1px solid var(--border)}.objectives-check{width:18px;height:18px;flex:0 0 auto;color:var(--tone-green-tx);margin-top:3px}.objectives-roadmap{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;margin-top:26px}@media (max-width:640px){.objectives-roadmap{grid-template-columns:1fr}}.objectives-road{border-left:2px solid var(--border);padding:4px 0 4px 14px}.objectives-road.now{border-left-color:var(--accent)}.objectives-road .road-label{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);margin-bottom:8px}.objectives-road.now .road-label{color:var(--accent-text)}.objectives-road ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:5px;font-size:13.5px;line-height:1.55}.lesson-summary-block{display:flex;flex-direction:column;gap:6px}.lesson-summary-section{border-top:1px solid var(--border);padding:16px 0 14px}.lesson-summary-section.big-picture{border-top:2px solid var(--accent)}.lesson-summary-label{margin-bottom:10px;color:var(--accent-text);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.lesson-summary-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}.lesson-summary-list li{position:relative;padding-left:18px;color:var(--text-2);font-size:15px;line-height:1.65}.lesson-summary-list li:before{content:"✓";position:absolute;left:0;top:0;color:var(--ok-text);font-weight:750}.lesson-summary-section.ask-yourself .lesson-summary-list li:before{content:"?";color:var(--accent-text)}.explore-prompt{margin-top:20px;padding:16px 18px;border:1px solid var(--accent-border);border-left-width:4px;border-radius:var(--r-md);background:var(--accent-weak-2);font-size:15.5px;font-weight:600;line-height:1.7}.explore-answer{width:100%;margin-top:14px;padding:12px 14px;resize:vertical;min-height:96px;border:1px solid var(--border-2);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font:inherit;font-size:14.5px;line-height:1.6;outline:none}.explore-answer:focus{border-color:var(--accent-border)}.explore-choices .checkpoint-choice{font-size:15px;padding:13px 16px}.explore-reveal{margin-top:12px;border:none;border-radius:var(--r-sm);padding:10px 18px;background:var(--cta);color:var(--cta-ink);font:inherit;font-size:14px;font-weight:650;cursor:pointer;transition:opacity var(--dur-quick)}.explore-reveal:disabled{opacity:.45;cursor:default}.explore-connection{margin-top:18px;padding:16px 18px;border-radius:var(--r-md);border:1px solid color-mix(in oklab,var(--ok) 40%,var(--border));background:color-mix(in oklab,var(--ok) 7%,var(--surface))}.checkpoint-box{margin:22px 0;padding:16px 18px;border:1px solid var(--accent-border);border-left-width:4px;border-radius:var(--r-md);background:var(--accent-weak-2)}.checkpoint-badge{font-size:12px;font-weight:700;color:var(--accent-text);letter-spacing:.01em;margin-bottom:8px}.card-attach-btn{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:26px;height:26px;padding:0;border:1px solid var(--edge);border-radius:var(--r-sm);background:transparent;color:var(--text-2);font:inherit;font-size:13px;line-height:1;cursor:pointer;opacity:.62;transition:opacity var(--dur-quick),background var(--dur-quick),border-color var(--dur-quick)}.card-attach-btn:hover{opacity:1;background:var(--surface-2);border-color:var(--text-2)}.card-attach-btn:focus-visible{opacity:1}.card-attach-btn.line{width:30px;height:30px;border:0;opacity:1}.card-attach-btn.line svg{width:17px;height:17px}.card-attach-btn.line:hover{background:var(--surface-3);color:var(--text)}.checkpoint-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.example-card-head{display:flex;justify-content:flex-end;margin-bottom:2px}.card-attach-btn.step-attach-solo{margin-left:auto}.quiz-q-num .card-attach-btn.quiz-attach{width:20px;height:20px;border-color:transparent}.checkpoint-q{font-size:15.5px;font-weight:600;line-height:1.7}.checkpoint-img{display:block;max-width:100%;max-height:320px;margin:10px auto 4px;object-fit:contain}.checkpoint-choices{display:flex;flex-direction:column;gap:8px;margin-top:12px}.checkpoint-choice{display:flex;align-items:center;text-align:left;padding:10px 14px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font:inherit;font-size:14px;cursor:pointer;transition:all var(--dur-quick)}.checkpoint-choice:hover:not(:disabled){border-color:var(--border-2);background:var(--surface-2)}.checkpoint-choice:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.checkpoint-choice.sel{border-color:var(--accent-border);background:var(--accent-weak)}.checkpoint-choice:disabled{cursor:default}.checkpoint-choice.correct{border-color:var(--ok);background:var(--ok-weak)}.checkpoint-choice.wrong{border-color:var(--bad);background:var(--bad-weak)}.checkpoint-verdict{margin-top:12px;font-size:14.5px;font-weight:700}.checkpoint-verdict.ok{color:var(--ok-text)}.checkpoint-verdict.no{color:var(--bad-text)}.attempt-line{margin-top:10px;font-size:13.5px;color:var(--text-2);display:flex;gap:6px;align-items:center;flex-wrap:wrap}.attempt-step{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:12px;font-weight:800}.attempt-step.x{background:var(--bad-weak);color:var(--bad-text);border:1px solid var(--bad)}.attempt-step.o{background:var(--ok-weak);color:var(--ok-text);border:1px solid var(--ok)}.reading-pin-clone .attempt-line{display:none}.checkpoint-reveal{margin-top:12px;border:none;border-radius:var(--r-sm);padding:9px 18px;background:var(--cta);color:var(--cta-ink);font:inherit;font-size:14px;font-weight:650;cursor:pointer;transition:opacity var(--dur-quick)}.checkpoint-reveal:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.checkpoint-reveal:disabled{opacity:.45;cursor:default}.checkpoint-answer{margin-top:14px;padding:14px 16px;border-radius:var(--r-md);border:1px solid color-mix(in oklab,var(--ok) 40%,var(--border));background:color-mix(in oklab,var(--ok) 7%,var(--surface))}.checkpoint-input-fields{display:flex;flex-direction:column;gap:12px;margin-top:12px}.checkpoint-field-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.checkpoint-field-label{font-size:14.5px;color:var(--text)}.checkpoint-field-suffix{font-size:14px;color:var(--text-2)}.checkpoint-input{min-width:0;padding:8px 11px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font:inherit;font-size:14px}.checkpoint-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent-border)}.checkpoint-input:disabled{opacity:.7;cursor:default}.checkpoint-field-row .math-input{flex:1 1 auto;max-width:260px}.checkpoint-table-wrap{margin-top:12px;overflow-x:auto}.checkpoint-table{border-collapse:collapse;font-size:14px}.checkpoint-table td,.checkpoint-table th{border:1px solid var(--border);padding:7px 10px;text-align:center;white-space:nowrap}.checkpoint-table thead th{background:var(--surface-2);font-weight:650}.checkpoint-table tbody th{background:var(--surface-2);font-weight:600}.checkpoint-input-cell{width:7ch;text-align:center;padding:6px 8px}.checkpoint-cell-wrap{display:inline-block}.checkpoint-table-select{font:inherit;font-size:15px;color:var(--text);background:var(--surface);border:1px solid var(--edge);border-radius:var(--r-sm);padding:6px 8px;min-height:36px;cursor:pointer}.checkpoint-table-select:disabled{cursor:default;opacity:.7}.quiz-input-row{display:flex;align-items:center;gap:8px}.quiz-input-help-btn{flex:none;width:36px;height:36px;border-radius:50%;border:1px solid var(--edge);background:var(--surface);color:var(--text-2);font:inherit;font-size:13px;font-weight:600;cursor:pointer;line-height:1}.quiz-input-help-btn:hover{border-color:var(--text-2);background:var(--surface-2)}.quiz-input-help{margin-top:8px;padding:10px 13px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);font-size:13px;font-weight:450;letter-spacing:.01em;color:var(--text-2);line-height:1.6}.quiz-input-help p{margin:0}.quiz-input-help code{padding:0 4px;border-radius:4px;background:var(--surface);border:1px solid var(--border);font-size:12px}.optional-box{margin:24px 0;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);overflow:hidden}.optional-summary{display:flex;align-items:center;gap:10px;padding:13px 16px;cursor:pointer;list-style:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.optional-summary::-webkit-details-marker{display:none}.optional-summary:after{content:"";margin-left:auto;width:8px;height:8px;border-right:2px solid var(--text-3);border-bottom:2px solid var(--text-3);transform:rotate(45deg);transition:transform var(--dur-quick) ease}.optional-box[open]>.optional-summary:after{transform:rotate(225deg)}.optional-summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.optional-badge{flex:none;padding:2px 9px;border-radius:999px;background:var(--surface-3);color:var(--text-2);font-size:11.5px;font-weight:700;letter-spacing:.01em}.optional-title{font-size:15px;font-weight:700;color:var(--text)}.optional-content{padding:4px 16px 16px;border-top:1px solid var(--border)}.derivation-box{margin:26px 0;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);box-shadow:0 8px 22px rgba(15,23,42,.04);overflow:hidden}.derivation-head{padding:17px 20px 15px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,var(--accent-weak-2),var(--surface))}.derivation-kicker{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--accent-text);font-size:12px;font-weight:800;letter-spacing:.04em}.derivation-title{margin:4px 0 6px;font-size:18px;font-weight:800;letter-spacing:0}.derivation-guide{margin:0;color:var(--text-2);font-size:14px;line-height:1.65}.derivation-box{container-type:inline-size}.derivation-body{display:grid;grid-template-columns:1fr}@container (min-width: 620px){.derivation-body.has-figure{grid-template-columns:minmax(240px,320px) minmax(0,1fr);align-items:start}.derivation-body.has-figure .derivation-figure{padding:16px 0 16px 18px;position:-webkit-sticky;position:sticky;top:calc(var(--lesson-head-h, 0px) + 12px)}.derivation-body.has-figure .derivation-steps{padding-left:16px}}.derivation-figure{margin:0;padding:16px 18px 0}.derivation-figure-img{display:block;width:100%;max-width:min(100%,520px);height:auto;margin:0 auto;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}.derivation-figure-caption{max-width:760px;margin:8px auto 0;color:var(--text-3);font-size:13px;line-height:1.55}.derivation-steps{display:flex;flex-direction:column;gap:12px;padding:16px 18px}.derivation-step-card{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);padding:15px 16px}.derivation-step-head{display:flex;align-items:center;gap:10px;margin-bottom:11px}.derivation-step-no{color:var(--text-3);font-size:12px;font-weight:800;letter-spacing:.04em}.derivation-question{font-size:15px;font-weight:700;line-height:1.7}.derivation-choices{display:flex;flex-direction:column;gap:8px;margin-top:12px}.derivation-choice{display:flex;align-items:center;text-align:left;min-height:46px;padding:9px 12px;border:1px solid var(--border-2);border-radius:var(--r-sm);background:var(--surface-2);color:var(--text);font:inherit;font-size:14px;cursor:pointer;transition:border-color var(--dur-quick),background var(--dur-quick)}.derivation-choice:hover:not(:disabled){border-color:var(--accent-border);background:var(--surface)}.derivation-chip:focus-visible,.derivation-choice:focus-visible,.derivation-slot:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.derivation-choice.right{border-color:var(--ok);background:var(--ok-weak);font-weight:700}.derivation-choice.wrong{border-color:var(--bad);background:var(--bad-weak)}.derivation-choice:disabled{cursor:default}.derivation-feedback{margin-top:10px;border-radius:var(--r-sm);padding:9px 12px;font-size:13.5px;line-height:1.6}.derivation-feedback.ok{background:var(--ok-weak);color:color-mix(in oklab,var(--ok) 70%,black)}.derivation-feedback.bad{background:var(--bad-weak);color:color-mix(in oklab,var(--bad) 70%,black)}.derivation-reveal{margin-top:12px;padding:12px 14px 4px;border-left:3px solid var(--ok);border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--surface-2)}.derivation-reveal-title{margin-bottom:4px;color:var(--text-3);font-size:11.5px;font-weight:800;letter-spacing:.04em}@keyframes t-ink-in{0%{-webkit-clip-path:inset(-.2em 100% -.3em 0);clip-path:inset(-.2em 100% -.3em 0);opacity:.35}to{-webkit-clip-path:inset(-.2em -2% -.3em 0);clip-path:inset(-.2em -2% -.3em 0);opacity:1}}.t-writing .t-ink{animation:t-ink-in var(--t-dur,.4s) linear both;animation-delay:var(--t-at,0s)}.t-writing .katex-display.t-ink{display:block}.t-writing{position:relative}.t-skip{position:absolute;top:6px;right:6px;z-index:2;padding:3px 10px;border:1px solid var(--border-2);border-radius:999px;background:var(--surface);color:var(--text-2);font:inherit;font-size:12px;font-weight:600;cursor:pointer}.t-skip:hover{color:var(--text);background:var(--surface-2)}.derivation-feedback.ok{animation:t-ink-in 1s linear both}@media (prefers-reduced-motion:reduce){.derivation-feedback.ok,.t-ink{animation:none}}.derivation-formula{margin:0 18px 18px;padding:16px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2)}.derivation-formula.solved{border-color:color-mix(in oklab,var(--ok) 42%,var(--border));background:color-mix(in oklab,var(--ok) 6%,var(--surface))}.derivation-formula.wrong{border-color:color-mix(in oklab,var(--bad) 45%,var(--border))}.derivation-formula-prompt{font-size:15px;font-weight:700;line-height:1.65;margin-bottom:12px}.derivation-formula-template{display:flex;align-items:center;gap:12px;flex-wrap:wrap;width:100%;padding:16px 18px;border:1px solid var(--border-2);border-radius:var(--r-md);background:var(--surface);font-size:20px}.derivation-formula-text{display:inline-flex;align-items:center;font-weight:700}.derivation-frac{display:inline-grid;grid-template-rows:auto auto;align-items:center;min-width:min(100%,245px)}.derivation-frac-bottom,.derivation-frac-top{display:flex;align-items:center;justify-content:center;gap:8px}.derivation-frac-top{padding-bottom:7px;border-bottom:2px solid var(--text)}.derivation-frac-bottom{padding-top:7px}.derivation-slot{min-width:74px;min-height:42px;display:inline-flex;align-items:center;justify-content:center;border:2px dashed var(--accent-border);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font:inherit;font-size:18px;cursor:pointer}.derivation-slot.filled{border-style:solid;border-color:var(--accent);background:var(--accent-weak-2);cursor:-webkit-grab;cursor:grab}.derivation-slot.drag-over{border-style:solid;border-color:var(--accent);background:var(--accent-weak);box-shadow:0 0 0 2px var(--accent-border)}.derivation-slot-empty{color:var(--text-3);font-weight:800}.derivation-chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:13px}.derivation-chip{min-width:62px;padding:8px 14px;border:1px solid var(--border-2);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font:inherit;font-size:16px;cursor:pointer;transition:border-color var(--dur-quick),background var(--dur-quick),opacity var(--dur-quick)}.derivation-chip:hover:not(:disabled){border-color:var(--accent-border);background:var(--accent-weak-2)}.derivation-chip.used{opacity:.45;cursor:default}.derivation-chip[draggable=true]:not(:disabled){cursor:-webkit-grab;cursor:grab}.derivation-chip[draggable=true]:not(:disabled):active{cursor:-webkit-grabbing;cursor:grabbing}.derivation-formula-feedback{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px;border-radius:var(--r-sm);padding:10px 12px;font-size:13.5px;line-height:1.6}.derivation-formula-feedback.bad{background:var(--bad-weak);color:color-mix(in oklab,var(--bad) 70%,black)}.derivation-formula-feedback.ok{display:block;border:1px solid color-mix(in oklab,var(--ok) 40%,var(--border));background:var(--ok-weak);color:var(--text)}.derivation-formula-feedback button{border:1px solid var(--border-2);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font:inherit;font-size:13px;font-weight:700;padding:6px 11px;cursor:pointer}.example-block{display:flex;flex-direction:column;gap:4px}.lesson-content.example-wide{max-width:1280px}.example-2col{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-gap:26px;gap:26px;align-items:start}.example-q-col{position:-webkit-sticky;position:sticky;top:calc(var(--lesson-head-h, 0px) + 20px)}.example-work-col{min-width:0}.example-work-col>:first-child{margin-top:0}@media (max-width:900px){.lesson-content.example-wide{max-width:860px}.example-2col{grid-template-columns:1fr}.example-q-col{position:static}.example-work-col>:first-child{margin-top:14px}}.example-card{position:relative;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);padding:18px 20px}.example-q{font-size:15.5px;font-weight:600;line-height:1.7}.example-img{border:1px solid var(--border)}.example-reveals{display:flex;flex-direction:column;gap:12px;margin-top:14px}.example-reveal{align-self:flex-start;border:1px solid var(--accent-border);border-radius:var(--r-sm);padding:10px 18px;background:var(--info-bg);color:var(--info-tx);font:inherit;font-size:14px;font-weight:650;cursor:pointer;transition:border-color var(--dur-quick)}.example-reveal:hover{border-color:var(--accent)}.example-approach,.example-solution{padding:15px 18px;border-radius:var(--r-md);border:1px solid var(--border);border-left:4px solid var(--accent-border);background:var(--surface-2,var(--surface))}.example-reveal-label{font-size:12px;font-weight:700;color:var(--accent-text);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.example-note{padding:14px 18px;border-radius:var(--r-md);border:1px solid color-mix(in oklab,var(--ok) 40%,var(--border));border-left:4px solid var(--ok);background:color-mix(in oklab,var(--ok) 7%,var(--surface))}.example-practice{margin-top:22px}.example-practice-hd{font-size:15px;font-weight:700;margin:0 0 14px;padding-top:18px;border-top:1px solid var(--border)}.example-steps{display:flex;flex-direction:column;gap:12px;margin-top:14px}.example-step-card{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);padding:16px 18px}.example-step-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.example-step-no{font-size:12px;font-weight:800;color:var(--text-3);letter-spacing:.04em}.example-step-dots{display:inline-flex;gap:6px;align-items:center}.example-step-dot{width:8px;height:8px;border-radius:50%;background:var(--surface-3);border:1px solid var(--border-2)}.example-step-dot.done{background:var(--ok);border-color:var(--ok)}.example-step-dot.now{background:var(--accent);border-color:var(--accent);transform:scale(1.25)}.example-step-hint{margin-left:auto;font:inherit;font-size:13px;font-weight:600;letter-spacing:.01em;color:var(--text-2);background:none;border:1px dashed var(--edge);border-radius:var(--r-sm);padding:5px 11px;cursor:pointer;transition:color var(--dur-quick),border-color var(--dur-quick)}.example-step-hint:hover{color:var(--text);border-color:var(--text-2)}.example-think{border:1px solid var(--accent-border);background:var(--accent-weak-2);border-radius:var(--r-md);padding:14px 16px}.example-think-q{font-weight:700;font-size:14.5px;margin-bottom:10px;line-height:1.9}.example-think-q:before{content:"🤔 "}.example-think-choices{display:flex;flex-direction:column;gap:8px}.example-think-choice{text-align:left;font:inherit;font-size:15px;background:var(--surface);border:1px solid var(--edge);border-radius:var(--r-sm);padding:9px 12px;cursor:pointer;transition:border-color var(--dur-quick),background var(--dur-quick)}.example-think-choice:hover:not(:disabled){border-color:var(--text-2)}.example-think-choice.right{border-color:var(--ok);background:var(--ok-weak);font-weight:600}.example-think-choice.wrong{border-color:var(--bad);background:var(--bad-weak)}.example-think-choice:disabled{cursor:default}.example-think-fb{margin-top:10px;font-size:13px;letter-spacing:.01em;border-radius:var(--r-sm);padding:8px 12px}.example-think-fb.ok{background:var(--ok-weak);color:var(--ok-text)}.example-think-fb.bad{background:var(--bad-weak);color:var(--bad-text)}.example-step-reveal{margin-top:12px;padding:12px 14px 4px;border-left:3px solid var(--ok);background:var(--surface-2,var(--surface));border-radius:0 var(--r-sm) var(--r-sm) 0}.example-step-title{font-size:11.5px;font-weight:800;color:var(--text-3);letter-spacing:.04em;margin-bottom:4px}.example-step-actions{margin-top:12px}.example-step-next{border:none;border-radius:var(--r-sm);padding:9px 18px;background:var(--cta);color:var(--cta-ink);font:inherit;font-size:13.5px;font-weight:700;cursor:pointer;transition:background var(--dur-quick)}.example-step-next:hover{background:var(--cta-hover)}.example-steps-done{padding:10px 14px;border-radius:var(--r-md);font-weight:700;font-size:14px;border:1px solid color-mix(in oklab,var(--ok) 40%,var(--surface));background:var(--ok-weak);color:color-mix(in oklab,var(--ok) 70%,black)}.example-pad{margin-top:18px}.example-pad-hd{font-size:13px;font-weight:600;color:var(--text-2);letter-spacing:.01em;margin-bottom:6px}.example-pad-sub{font-weight:450;color:var(--text-2)}.example-pad-surface{position:relative;width:100%;overflow:hidden;border:1px solid var(--border);border-radius:var(--r-md);background-color:var(--surface);background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:26px 26px;background-position:-1px -1px}.example-pad-grow{width:100%;margin-top:6px;font:inherit;font-size:13px;letter-spacing:.01em;color:var(--text-2);background:var(--surface-2);border:1px dashed var(--edge);border-radius:var(--r-sm);padding:6px;cursor:pointer}.example-pad-grow:hover{border-color:var(--text-2);color:var(--text)}.practice-pad{margin:14px 0 16px;padding:12px 12px 10px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2,var(--surface))}.practice-pad .example-pad-hd{margin-bottom:8px}.practice-pad .example-pad-surface{background-color:var(--surface)}.practice-pad .example-pad-grow{background:var(--surface)}.practice-cheomsak{margin-top:8px}.practice-cheomsak .example-cheomsak-btn{padding:8px 13px;font-size:13px}.example-cheomsak{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}.example-cheomsak-btn{border:1px solid var(--edge);border-radius:var(--r-md);padding:9px 16px;background:var(--surface);color:var(--text);font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background var(--dur-quick),border-color var(--dur-quick)}.example-cheomsak-btn:hover{background:var(--surface-2);border-color:var(--text-2)}.example-cheomsak-note{font-size:13px;letter-spacing:.01em;color:var(--text-2)}.example-cheomsak.empty .example-cheomsak-note{color:var(--bad-text)}.example-retry{margin-top:18px;padding:10px 14px;border-radius:var(--r-md);font-size:13.5px;line-height:1.6;border:1px solid var(--accent-border);background:var(--accent-weak-2);color:var(--text-2)}.example-help{margin-top:22px;padding-top:18px;border-top:1px solid var(--border)}.example-help-hd{font-size:13.5px;font-weight:700;color:var(--text-2);margin:0 0 14px}.tutor-loading{font-size:14px;color:var(--text-3);padding:20px 0}.tutor-start{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);padding:28px 24px;text-align:center}.tutor-intro{font-size:15px;line-height:1.7;color:var(--text-2);margin:0 0 18px}.tutor-pending-hint{border-left:3px solid var(--accent);background:var(--accent-weak);color:var(--text)}.tutor-pending-hint,.tutor-wait-hint{margin:0 0 12px;padding:8px 10px;border-radius:6px;font-size:14px;line-height:1.6}.tutor-wait-hint{border-left:3px solid var(--border-2);background:var(--surface-2);color:var(--text-2);text-align:left}.tutor-recheck{margin:6px 0 2px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}.tutor-begin{border:none;border-radius:var(--r-md);padding:11px 22px;background:var(--cta);color:var(--cta-ink);font:inherit;font-size:14.5px;font-weight:700;cursor:pointer;transition:background var(--dur-quick)}.tutor-begin:hover{background:var(--cta-hover)}.tutor-begin.secondary{background:var(--surface);color:var(--text);border:1px solid var(--border-2)}.tutor{gap:14px}.tutor,.tutor-thread{display:flex;flex-direction:column}.tutor-thread{gap:10px}.tutor-msg{max-width:85%;padding:10px 14px;border-radius:var(--r-md);font-size:14.5px;line-height:1.65}.tutor-msg.user{align-self:flex-end;background:var(--info-bg);color:var(--text);border-bottom-right-radius:4px;white-space:pre-wrap}.tutor-msg-snap{display:block;max-width:160px;width:100%;height:auto;margin:0 0 8px;border-radius:var(--r-sm);border:1px solid var(--accent-border);background:#fff}.tutor-msg.bot{align-self:flex-start;background:var(--surface);border:1px solid var(--border);border-bottom-left-radius:4px}.tutor-msg.bot>:first-child{margin-top:0}.tutor-msg.bot>:last-child{margin-bottom:0}.tutor-step{font-size:12.5px;font-style:italic;color:var(--text-3);margin-bottom:4px}.tutor-error{font-size:13px;color:var(--bad)}.tutor-composer{display:flex;gap:8px;position:relative}.tutor-composer input{flex:1 1;min-width:0;font:inherit;font-size:14.5px;padding:11px 14px;border:1px solid var(--border-2);border-radius:var(--r-md);background:var(--surface);color:var(--text);outline:none}.tutor-composer input:focus{border-color:var(--accent-border)}.tutor-send{border:none;border-radius:var(--r-md);padding:0 18px;background:var(--cta);color:var(--cta-ink);font:inherit;font-size:14px;font-weight:650;cursor:pointer;transition:opacity var(--dur-quick)}.tutor-send:disabled{opacity:.45;cursor:default}.tutor-mic{display:flex;align-items:center;justify-content:center;flex:none;width:42px;padding:0;border:1px solid var(--border-2);border-radius:var(--r-md);background:var(--surface);color:var(--text-3);cursor:pointer;transition:color var(--dur-quick),background var(--dur-quick),border-color var(--dur-quick)}.tutor-mic:hover{color:var(--text);border-color:var(--accent-border)}.tutor-mic.listening{background:var(--accent);color:var(--accent-ink);border-color:var(--accent-border);animation:tutor-mic-pulse 1.4s ease-out infinite}@keyframes tutor-mic-pulse{0%{box-shadow:0 0 0 0 var(--accent-border)}70%{box-shadow:0 0 0 6px transparent}to{box-shadow:0 0 0 0 transparent}}@media (prefers-reduced-motion:reduce){.tutor-mic.listening{animation:none}}.tutor-hw{display:flex;align-items:center;justify-content:center;flex:none;width:42px;padding:0;font-size:17px;line-height:1;border:1px solid var(--border-2);border-radius:var(--r-md);background:var(--surface);color:var(--text-3);cursor:pointer;transition:color var(--dur-quick),background var(--dur-quick),border-color var(--dur-quick)}.tutor-hw.is-active,.tutor-hw:hover{border-color:var(--accent-border)}.tutor-hw.is-active{background:var(--accent-weak);color:var(--accent-text)}.tutor-composer .math-hw{top:auto;bottom:calc(100% + 6px);left:0;right:0;width:auto;max-width:none}.tutor-chips{display:flex;flex-wrap:wrap;gap:8px;align-self:flex-start;max-width:85%}.tutor-chip{font:inherit;font-size:14px;padding:8px 14px;cursor:pointer;border:1px solid var(--accent-border);border-radius:999px;background:var(--surface);color:var(--accent-text);transition:background var(--dur-quick)}.tutor-chip:hover{background:var(--surface-2)}.game-block{margin-top:4px}.game-hud{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.game-steps{list-style:none;display:flex;gap:8px;padding:0;margin:0}.game-step{font-size:12.5px;font-weight:650;color:var(--text-3);padding:5px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2)}.game-step.active{color:var(--accent-text);border-color:var(--accent-border);background:var(--accent-weak-2)}.game-step.done{color:var(--ok-text);border-color:color-mix(in oklab,var(--ok) 40%,var(--border))}.game-step.done:before{content:"✓ "}.game-step.active{border-width:2px;padding:4px 11px}.game-mute{border:1px solid var(--border-2);background:var(--surface);border-radius:var(--r-sm);font-size:15px;line-height:1;padding:6px 9px;cursor:pointer}.game-intro{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.game-start,.game-submit{border:none;border-radius:var(--r-md);padding:11px 22px;background:var(--cta);color:var(--cta-ink);font:inherit;font-size:15px;font-weight:700;cursor:pointer;transition:opacity var(--dur-quick),transform .08s}.game-start:active,.game-submit:active{transform:translateY(1px)}.game-submit:disabled{opacity:.45;cursor:default}.game-next{border:1px solid var(--border-2);border-radius:var(--r-md);padding:10px 18px;background:var(--surface);color:var(--text);font:inherit;font-size:14px;font-weight:650;cursor:pointer}.game-mission{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:14px;padding:13px 16px;border:1px solid var(--accent-border);border-left-width:4px;border-radius:var(--r-md);background:var(--accent-weak-2);font-size:15.5px;font-weight:600;line-height:1.6}.game-mission-no{font-size:12px;font-weight:700;color:var(--accent-text);white-space:nowrap}.game-hud-right{display:flex;align-items:center;gap:10px}.game-capture{font-size:13.5px;font-weight:700;color:var(--text-2);padding:5px 12px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border)}.game-hero{align-self:stretch;width:100%;max-height:300px;object-fit:cover;object-position:center 22%;border-radius:var(--r-lg);display:block}.game-capture-ghost{width:20px;height:20px;vertical-align:-4px;object-fit:contain}.game-pred-ghost{width:44px;height:44px;object-fit:contain;transition:transform var(--dur-slow)}.game-pred-ghost.flee{transform:translateX(14px) rotate(18deg);opacity:.55}.game-goal-card{align-self:stretch;padding:16px 18px;border-radius:var(--r-md);border:1px solid var(--accent-border);border-left-width:4px;background:var(--accent-weak-2);font-size:16px;font-weight:650;line-height:1.6}.game-goal-lbl{display:block;font-size:12px;font-weight:800;color:var(--accent-text);margin-bottom:6px;letter-spacing:.02em}.game-ghost-fn{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px;padding:10px 16px;border-radius:var(--r-md);border:1px solid color-mix(in oklab,oklch(.66 .17 300) 40%,var(--border));background:color-mix(in oklab,oklch(.66 .17 300) 8%,var(--surface));font-size:18px}.game-ghost-lbl{font-size:12px;font-weight:700;color:oklch(.6 .17 300);white-space:nowrap}.game-detector{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px;padding:10px 16px;border-radius:var(--r-md);border:1px solid var(--border-2);background:var(--surface-2);font-size:15px;font-weight:650;transition:border-color var(--dur-quick),background var(--dur-quick)}.game-detector-lbl{font-size:11.5px;font-weight:800;color:var(--text-3);letter-spacing:.03em;text-transform:uppercase}.game-detector-note{font-size:13px;font-weight:500;color:var(--text-2)}.game-detector.lv-warm{border-color:color-mix(in oklab,var(--warn) 45%,var(--border));background:color-mix(in oklab,var(--warn) 9%,var(--surface))}.game-detector.lv-hot{border-color:color-mix(in oklab,var(--bad) 45%,var(--border));background:color-mix(in oklab,var(--bad) 9%,var(--surface))}.game-detector.lv-sealed{border-color:color-mix(in oklab,var(--ok) 45%,var(--border));background:color-mix(in oklab,var(--ok) 10%,var(--surface))}.game-predict-lead{font-size:14.5px;line-height:1.6;color:var(--text-2);margin:0}.game-scene{display:flex;flex-direction:column;gap:14px}.gs-svg{width:100%;aspect-ratio:16/9;display:block;border:1px solid #2a3378;border-radius:var(--r-md);background:#141a4a;box-shadow:inset 0 0 30px #0b1038;transition:box-shadow var(--dur-fast)}.gs-svg.hit{animation:gs-flash .6s ease-out}@keyframes gs-flash{0%{box-shadow:inset 0 0 30px #0b1038,0 0 0 0 #35e39abb}to{box-shadow:inset 0 0 30px #0b1038,0 0 0 16px transparent}}.gs-bg{fill:url(#gs-night)}.gs-grid{stroke:#4a5cb0;stroke-width:1;opacity:.3;stroke-dasharray:2 5}.gs-axis{stroke:#8f9fe0;stroke-width:1.4;opacity:.75}.gs-asym{stroke:#35e0e0;stroke-width:2;stroke-dasharray:7 5}.gs-rails-reveal{animation:gs-rails-in .5s ease-out}@keyframes gs-rails-in{0%{opacity:0}to{opacity:1}}.gs-curve{fill:none;stroke:#b79bff;stroke-width:2.6;stroke-linecap:round}.gs-nest{stroke:#35e0e0;stroke-width:2}.gs-nest-core{fill:#35e0e0;stroke:none}.gs-ghost{transform-box:fill-box;transform-origin:center}.gs-ghost:not(.sealed){animation:gs-bob 3s ease-in-out infinite}.gs-ghost.sealed{animation:gs-ghost-in .5s ease-out}@keyframes gs-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes gs-ghost-in{0%{opacity:0;transform:scale(.35)}to{opacity:1;transform:scale(1)}}.gs-trap{stroke-width:2.6;transition:stroke var(--dur-quick);transform-box:fill-box;transform-origin:center}.gs-trap circle{fill:none}.gs-trap.lv-none{stroke:#8fa0d8}.gs-trap.lv-warm{stroke:#ffd23f}.gs-trap.lv-hot{stroke:#ff7a3d}.gs-trap.lv-sealed,.gs-trap.on{stroke:#35e39a}.gs-trap.on{animation:gs-target-pop .6s ease-out}@keyframes gs-target-pop{0%{transform:scale(1)}40%{transform:scale(1.25)}to{transform:scale(1)}}.gs-sliders{display:flex;flex-wrap:wrap;gap:18px}.gs-slider{display:flex;flex-direction:column;gap:6px;min-width:180px;flex:1 1}.gs-slider-lbl{font-size:13.5px;color:var(--text-2)}.gs-slider-lbl b{color:var(--accent-text);font-size:15px}.gs-slider input[type=range]{width:100%;accent-color:var(--fig-accent)}.game-records{margin-top:20px}.game-records-hd{font-size:12.5px;font-weight:700;color:var(--text-3);margin-bottom:8px;letter-spacing:.01em}.game-records table{width:100%;border-collapse:collapse;font-size:14px}.game-records td,.game-records th{text-align:center;padding:8px 10px;border:1px solid var(--border)}.game-records th{background:var(--surface-2);color:var(--text-2);font-weight:650;font-size:12.5px}.game-records td{background:var(--surface)}.game-predict{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.game-combo-row{display:flex;align-items:center;gap:12px}.game-combo{font-size:14px;font-weight:650;color:var(--text-2);padding:6px 14px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border)}.game-combo b{color:var(--accent-text);font-size:16px}.game-predict-q{font-size:17px;line-height:1.6;font-weight:600}.game-predict-inputs{display:flex;gap:18px;flex-wrap:wrap}.game-predict-inputs label{display:flex;align-items:center;gap:8px;font-size:15px}.game-predict-inputs input{width:92px;font:inherit;font-size:16px;text-align:center;padding:9px 10px;border:1px solid var(--border-2);border-radius:var(--r-sm);background:var(--surface);color:var(--text);outline:none}.game-predict-inputs input:focus{border-color:var(--accent-border)}.game-verdict{font-size:15px;font-weight:700}.game-verdict.ok{color:var(--ok-text)}.game-reveal{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 16px;border-radius:var(--r-md);border:1px solid color-mix(in oklab,var(--bad) 40%,var(--border));background:color-mix(in oklab,var(--bad) 8%,var(--surface));font-size:15px}.game-reveal-lbl{font-size:12px;font-weight:700;color:var(--bad)}.game-reveal-note{font-size:13px;color:var(--text-3)}.game-formulate{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.game-formulate.shake{animation:game-shake .5s}@keyframes game-shake{10%,90%{transform:translateX(-2px)}20%,80%{transform:translateX(4px)}30%,50%,70%{transform:translateX(-7px)}40%,60%{transform:translateX(7px)}}.game-formula-prompt{font-size:16px;line-height:1.6;font-weight:600}.game-formula-template{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:20px;padding:16px 20px;border-radius:var(--r-md);border:1px solid var(--border-2);background:var(--surface-2)}.game-formula-text,.game-slot{display:inline-flex;align-items:center}.game-slot{min-width:52px;min-height:44px;padding:6px 12px;border:2px dashed var(--accent-border);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font:inherit;font-size:18px;cursor:pointer;justify-content:center;transition:border-color var(--dur-quick),background var(--dur-quick)}.game-slot.filled{border-style:solid;border-color:var(--accent);background:var(--accent-weak-2)}.game-slot:disabled{cursor:default}.game-slot-empty{color:var(--text-3)}.game-chips{display:flex;gap:10px;flex-wrap:wrap}.game-chip{min-width:48px;padding:9px 15px;border-radius:var(--r-sm);border:1px solid var(--border-2);background:var(--surface);color:var(--text);font:inherit;font-size:17px;cursor:pointer;transition:border-color var(--dur-quick),background var(--dur-quick),transform .08s}.game-chip:active{transform:translateY(1px)}.game-chip.sel{border-color:var(--accent);background:var(--accent-weak);box-shadow:0 0 0 2px var(--accent-weak)}.game-chip-hint{font-size:13px;color:var(--text-3);margin:0}.game-solved{position:relative;align-self:stretch}.game-solved-badge{font-size:20px;font-weight:800;color:var(--ok-text);margin-bottom:12px}.game-connection{padding:16px 18px;border-radius:var(--r-md);border:1px solid color-mix(in oklab,var(--ok) 40%,var(--border));background:color-mix(in oklab,var(--ok) 7%,var(--surface))}.game-confetti{position:absolute;inset:-8px 0 auto 0;height:0;pointer-events:none;overflow:visible}.game-confetti span{position:absolute;top:0;width:8px;height:12px;border-radius:2px;opacity:0;animation:game-confetti 1.1s ease-in forwards}.game-confetti span,.game-confetti span:nth-child(3n){background:var(--fig-accent)}.game-confetti span:nth-child(3n+1){background:var(--warn)}@keyframes game-confetti{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(220px) rotate(340deg);opacity:0}}@media (prefers-reduced-motion:reduce){.game-formulate.shake,.game-pred-ghost.flee,.gs-ghost.sealed,.gs-ghost:not(.sealed),.gs-rails-reveal,.gs-svg.hit,.gs-trap.on{animation:none}.game-confetti{display:none}.game-chip:active,.game-start:active,.game-submit:active{transform:none}}.ll-svg{width:100%;aspect-ratio:16/9;display:block;border:1px solid #2a3378;border-radius:var(--r-md);background:#141a4a;box-shadow:inset 0 0 30px #0b1038}.ll-svg.glitch{animation:ll-glitch .6s steps(2) 2}@keyframes ll-glitch{0%{transform:translate(0);filter:none}25%{transform:translate(-3px,2px);filter:hue-rotate(40deg) contrast(1.4)}50%{transform:translate(3px,-2px);filter:hue-rotate(-30deg)}75%{transform:translate(-2px,-1px);filter:contrast(1.6)}to{transform:translate(0);filter:none}}.ll-bg{fill:url(#ll-night)}.ll-axis{stroke:#8f9fe0;stroke-width:1.4;opacity:.7}.ll-curve{fill:none;stroke:#b79bff;stroke-width:2.6;stroke-linecap:round}.ll-secant{stroke:#ff7a3d;stroke-width:2.4}.ll-remnant{stroke:#ff7a3d;stroke-width:1.4;opacity:.28}.ll-tangent{stroke:#35e0e0;stroke-width:2.4;opacity:.8}.ll-tangent.snap{opacity:1;stroke-width:3}.ll-camera{stroke:#ffd23f;stroke-width:2.4}.ll-camera circle{fill:none}.ll-error{fill:#ff5b5b;font-size:40px;font-weight:900;letter-spacing:2px}.ll-controls{display:flex;flex-direction:column;gap:12px;margin-top:14px}.ll-eq{padding:10px 16px;border-radius:var(--r-md);border:1px solid var(--accent-border);background:var(--accent-weak-2);overflow-x:auto}.ll-measure{align-self:flex-start;border:none;border-radius:var(--r-md);padding:10px 20px;background:var(--cta);color:var(--cta-ink);font:inherit;font-size:15px;font-weight:700;cursor:pointer}.ll-checkpoints{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px;font-size:14px;font-weight:650;color:var(--text-2)}.ll-cp-list{display:inline-flex;gap:6px;flex-wrap:wrap}.ll-cp{min-width:34px;text-align:center;padding:3px 8px;border-radius:var(--r-sm);border:1px solid var(--border-2);background:var(--surface-2);color:var(--text-3);font-size:13px}.ll-cp.on{border-color:color-mix(in oklab,var(--ok) 45%,var(--border));background:color-mix(in oklab,var(--ok) 12%,var(--surface));color:var(--ok-text)}.ll-danger{align-self:flex-start;margin-top:16px;border:1px solid #ff5b5b;border-radius:var(--r-md);padding:11px 22px;background:color-mix(in oklab,#ff5b5b 16%,var(--surface));color:#ff5b5b;font:inherit;font-size:15px;font-weight:800;cursor:pointer;animation:ll-pulse 1.3s ease-in-out infinite}@keyframes ll-pulse{0%,to{box-shadow:0 0 0 0 #ff5b5b55}50%{box-shadow:0 0 0 8px transparent}}.ll-limit{margin-top:16px;padding:16px 18px;border-radius:var(--r-md);border:1px solid var(--border-2);background:var(--surface-2);display:flex;flex-direction:column;gap:12px}.ll-limit-warn{margin:0;font-size:14px;color:var(--bad);font-weight:600}.ll-limit-q{font-size:16px;font-weight:650}.ll-name-card{margin-top:16px;padding:18px;border-radius:var(--r-md);border:1px solid color-mix(in oklab,var(--ok) 40%,var(--border));background:color-mix(in oklab,var(--ok) 8%,var(--surface));display:flex;flex-direction:column;gap:12px;align-items:flex-start}.ll-name-badge{font-size:13px;font-weight:800;color:var(--ok-text);letter-spacing:.02em}.ll-log table{font-size:13.5px}.ll-row-err td{color:var(--bad);font-weight:700}.ll-def{display:flex;gap:10px;flex-wrap:wrap;font-size:20px}.ll-def,.ll-lim{align-items:center}.ll-lim{display:inline-flex;flex-direction:column;font-size:15px}.ll-lim-op{font-style:italic}.ll-lim-sub{font-size:13px}.ll-frac{flex-direction:column;gap:3px}.ll-frac,.ll-frac-den,.ll-frac-num{display:inline-flex;align-items:center}.ll-frac-den,.ll-frac-num{gap:6px;padding:0 6px}.ll-frac-bar{width:100%;height:2px;background:var(--text)}.ll-minus{font-size:20px}@media (prefers-reduced-motion:reduce){.ll-danger,.ll-svg.glitch{animation:none}}.bl-svg{width:100%;aspect-ratio:16/9;display:block;border:1px solid #2a3378;border-radius:var(--r-md);background:#141a4a;box-shadow:inset 0 0 30px #0b1038}.bl-svg.hit{animation:gs-flash .6s ease-out}.bl-bg{fill:url(#bl-night)}.bl-cable{stroke:#8f9fe0;stroke-width:3;opacity:.85}.bl-planet text{fill:#fff;font-size:13px;font-weight:800}.bl-a circle{fill:#35e0e0}.bl-b circle{fill:#ff9d5c}.bl-target{fill:none;stroke-width:2.6}.bl-target.lv-none{stroke:#8fa0d8}.bl-target.lv-warm{stroke:#ffd23f}.bl-target.lv-hot{stroke:#ff7a3d}.bl-target.lv-sealed{stroke:#35e39a}@media (prefers-reduced-motion:reduce){.bl-svg.hit{animation:none}}.bl-seg-a{stroke:#35e0e0;stroke-width:5;stroke-linecap:round}.bl-seg-b{stroke:#ff9d5c;stroke-width:5;stroke-linecap:round}.bl-tick{stroke:#cfe0ff;stroke-width:2;opacity:.8}.bl-seg-label{font-size:15px;font-weight:800}.bl-a-label{fill:#35e0e0}.bl-b-label{fill:#ff9d5c}.bl-ratio-read{margin-left:auto;font-size:13.5px;color:var(--text-2)}.bl-ratio-read b{color:var(--text)}.bl-mini{max-width:460px;margin:2px 0 6px}.bl-mini svg{width:100%;height:auto;display:block;border:1px solid #2a3378;border-radius:var(--r-md)}.bl-mini-bg{fill:#141a4a}.bl-mini-grid{stroke:#5f74d4;stroke-width:1;opacity:.5;stroke-dasharray:3 3}.bl-mini-grid.axis{stroke:#aab8f0;stroke-width:1.4;opacity:.8;stroke-dasharray:none}.bl-mini-axis-num{fill:#92a2e8;font-size:9px;opacity:.9}.bl-mini-tick{stroke:#cfe0ff;stroke-width:2;opacity:.85}.bl-mini-target{fill:none;stroke:#ffd23f;stroke-width:2.4}.bl-mini-a{fill:#35e0e0}.bl-mini-b{fill:#ff9d5c}.bl-mini-label{font-size:13px;font-weight:700}.bl-briefing{display:flex;flex-direction:column;gap:12px}.bl-briefing-board{pointer-events:none}.dlg-briefing{position:relative;padding:16px 16px 14px;border:1px solid var(--border-2);border-radius:var(--r-lg);background:var(--surface-2)}.dlg-skip{position:absolute;top:10px;right:12px;z-index:1;border:1px solid var(--border-2);border-radius:var(--r-sm);background:var(--surface);color:var(--text-3);font:inherit;font-size:12px;padding:4px 9px;cursor:pointer}.dlg-stage{display:flex;align-items:center;gap:14px;cursor:pointer}.dlg-portrait{width:72px;height:72px;flex-shrink:0;object-fit:cover;border-radius:12px;opacity:.35;filter:grayscale(.4);transition:opacity var(--dur-fast),filter var(--dur-fast),transform var(--dur-fast)}.dlg-portrait.on{opacity:1;filter:none;transform:scale(1.05)}.dlg-bubble{flex:1 1;min-width:0;padding:12px 16px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);animation:dlg-in .25s ease-out}.dlg-name{font-size:13px;font-weight:800;margin-bottom:5px}.dlg-text{font-size:15px;line-height:1.6}.dlg-controls{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:10px}.dlg-progress{font-size:12.5px;color:var(--text-3)}@keyframes dlg-in{0%{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){.dlg-bubble{animation:none}.dlg-portrait.on{transform:none}}.lh-svg,.lin-svg{width:100%;aspect-ratio:16/9;display:block;border:1px solid #2a3378;border-radius:var(--r-md);background:#141a4a;box-shadow:inset 0 0 30px #0b1038}.lin-svg.hit{animation:gs-flash .6s ease-out}.lin-bg{fill:url(#lin-night)}.lin-axis{stroke:#5f74d4;stroke-width:1.4;opacity:.55}.lin-line{stroke:#b79bff;stroke-width:3;stroke-linecap:round}.lin-line.hit{stroke:#35e39a}.lin-eq-read{margin-left:auto;font-size:13.5px;color:var(--text-2)}.lin-star{fill:none;stroke:#8fa0d8;stroke-width:2.4}.lin-star.hit{stroke:#35e39a;fill:color-mix(in oklab,#35e39a 18%,transparent)}.lin-star-label{fill:#cfe0ff;font-size:12px;font-weight:700}@media (prefers-reduced-motion:reduce){.lin-svg.hit{animation:none}}.lin-mini{max-width:460px;margin:2px 0 6px}.lin-mini svg{width:100%;height:auto;display:block;border:1px solid #2a3378;border-radius:var(--r-md)}.lin-mini-bg{fill:#141a4a}.lin-mini-grid{stroke:#5f74d4;stroke-width:1;opacity:.5;stroke-dasharray:3 3}.lin-mini-grid.axis{stroke:#aab8f0;stroke-width:1.4;opacity:.8;stroke-dasharray:none}.lin-mini-axis-num{fill:#92a2e8;font-size:9px;opacity:.9}.lin-mini-seg{stroke:#ffd23f;stroke-width:2;opacity:.85}.lin-mini-a{fill:#35e0e0}.lin-mini-b{fill:#ff9d5c}.lin-mini-label{font-size:13px;font-weight:700}.lin-a-label{fill:#35e0e0}.lin-b-label{fill:#ff9d5c}.lin-briefing{display:flex;flex-direction:column;gap:12px}.lin-briefing-board{pointer-events:none}.lh-svg.hit{animation:gs-flash .6s ease-out}.lh-bg{fill:url(#lh-night)}.lh-axis{stroke:#6b7bc8;stroke-width:1.2;opacity:.65}.lh-branch-l{fill:none;stroke:#35e0e0;stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round}.lh-branch-r{fill:none;stroke:#ff9d5c;stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round}.lh-wall{stroke:#aab2e6;stroke-width:1.6;stroke-dasharray:5 5;opacity:.8}.lh-a-label{fill:#aab2e6;font-size:13px;font-weight:700}.lh-hole{fill:#141a4a;stroke:#ffe08a;stroke-width:2.6}.lh-dot{fill:#ffcf4d;stroke:#7a5a00;stroke-width:1.2}.lh-marker-l,.lh-marker-r{fill:#b79bff;stroke:#fff;stroke-width:1.6}.lh-ghost-split{opacity:.72}@media (prefers-reduced-motion:reduce){.lh-svg.hit{animation:none}}.lh-fa-toggle{align-self:flex-start;border:1px solid var(--accent-border);border-radius:var(--r-md);background:color-mix(in oklab,var(--accent) 12%,var(--surface));color:var(--text);font:inherit;font-size:14px;font-weight:600;padding:8px 14px;cursor:pointer}.lh-fa-toggle:hover{background:color-mix(in oklab,var(--accent) 20%,var(--surface))}.lh-read{margin-left:auto;font-size:13.5px;color:var(--text-2)}.lh-read b{color:var(--text)}.lh-predict-input{display:flex;flex-direction:column;gap:6px}.lh-predict-choice{display:flex;flex-wrap:wrap;gap:16px;margin:4px 0 2px;font-size:15px}.lh-predict-choice label{display:flex;align-items:center;gap:7px;cursor:pointer}.lh-predict-val{display:flex;align-items:center;gap:8px;font-size:15px}.lh-predict-val input{width:120px;padding:7px 10px;font-size:15px;border:1px solid var(--border-2);border-radius:var(--r-sm);background:var(--surface);color:var(--text)}.lh-predict-val input:focus{border-color:var(--accent-border)}.lh-trap-row td{color:var(--warn);font-weight:600}.lh-briefing{display:flex;flex-direction:column;gap:12px}.lh-briefing-board{pointer-events:none}.cg-page{max-width:1100px;margin:0 auto;padding:28px 24px 60px}.cg-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cg-crumbs{display:flex;font-size:13px;color:var(--text-3);margin-bottom:6px}.cg-crumbs,.cg-crumbs-row{align-items:center;gap:8px}.cg-crumbs-row{display:inline-flex}.cg-crumbs .cg-chip{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:2px 10px;font-weight:600;color:var(--text-2)}.cg-title{font-size:24px;margin:0 0 4px;letter-spacing:-.02em}.cg-subtitle{color:var(--text-2);font-size:14px;margin:0 0 20px;line-height:1.6;max-width:780px}.cg-subtitle b{color:var(--accent-strong)}.cg-stage-tabs{display:flex;gap:10px;margin-bottom:18px}.cg-stage-tab{flex:1 1;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:12px 16px;font:inherit;cursor:pointer;color:var(--text-2)}.cg-stage-tab .cg-k{font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--text-3);display:block;margin-bottom:3px}.cg-stage-tab .cg-n{font-size:14.5px;font-weight:700;color:var(--text)}.cg-stage-tab .cg-d{font-size:12px;color:var(--text-3);display:block;margin-top:2px}.cg-stage-tab.cg-on{border-color:var(--accent-border);background:var(--accent-weak-2)}.cg-stage-tab.cg-on .cg-k{color:var(--accent-strong)}.cg-game{display:grid;grid-template-columns:minmax(0,1fr) 380px;grid-gap:20px;gap:20px;align-items:start}@media (max-width:920px){.cg-game{grid-template-columns:1fr}}.cg-board-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.cg-board-svg{display:block;width:100%;height:auto}.cg-board-foot{justify-content:space-between;padding:10px 16px;border-top:1px solid var(--border);font-size:12px;color:var(--text-3);background:var(--surface-2);gap:6px}.cg-board-foot,.cg-legend{display:flex;flex-wrap:wrap}.cg-legend{gap:14px}.cg-legend span{display:inline-flex;align-items:center;gap:5px}.cg-zone-sw{width:14px;height:14px;border-radius:4px;background:color-mix(in oklab,var(--fig-accent) 22%,var(--surface));border:1px solid color-mix(in oklab,var(--fig-accent) 32%,var(--surface));display:inline-block}.cg-grid-line{stroke:var(--border)}.cg-grid-num{font-size:11px;fill:var(--text-3)}.cg-axis-line{stroke:var(--text-3);stroke-width:1.5}.cg-zone-fill{fill:var(--fig-accent);opacity:.13}.cg-zone-stroke{fill:none;stroke:var(--fig-accent);stroke-width:2.5}.cg-zone-center{fill:var(--fig-accent)}.cg-ring-in{stroke:var(--fig-accent)}.cg-ring-out{stroke:var(--pen-red)}.cg-ring-none{stroke:var(--text-3)}.cg-panel{display:flex;flex-direction:column;gap:14px}.cg-card{border-top:1px solid var(--border);padding:14px 0 4px}.cg-card-h3{margin:0 0 10px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}.cg-goal-text{font-size:14px;line-height:1.65;color:var(--text-2);margin:0}.cg-goal-text b{color:var(--text)}.cg-check-rule{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px 18px;margin-top:14px}.cg-check-ineq{text-align:center;font-size:17px;font-weight:700;margin-bottom:12px}.cg-check-rhs{color:var(--accent-strong)}.cg-pt-chips{display:flex;flex-direction:column;gap:8px}.cg-pt-chip{display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:var(--r-md);padding:9px 12px;cursor:pointer;font-size:14px;background:var(--surface-2)}.cg-pt-chip:hover{background:var(--surface-3)}.cg-pt-chip .cg-nm{font-weight:700;min-width:76px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cg-pt-chip .cg-pred{margin-left:auto;font-weight:700;font-size:13px;padding:3px 10px;border-radius:999px;background:var(--surface-3);color:var(--text-3)}.cg-pt-chip[data-pred=in] .cg-pred{background:var(--ok-weak);color:var(--ok-text)}.cg-pt-chip[data-pred=out] .cg-pred{background:var(--bad-weak);color:var(--bad)}.cg-pt-chip .cg-sub{font-size:12px;color:var(--text-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cg-pt-chip.cg-wrong{border-color:var(--bad)}.cg-pt-chip.cg-right{border-color:color-mix(in oklab,var(--ok) 45%,var(--surface))}.cg-design{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px 18px;margin-top:14px}.cg-ineq-row{border:1px solid var(--border);border-radius:var(--r-md);padding:12px 10px;margin-bottom:10px;background:var(--surface-2)}.cg-ineq-row .cg-eq{font-size:16.5px;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.cg-dirbtn{font:inherit;font-size:18px;font-weight:800;cursor:pointer;border:2px solid var(--accent-border);background:var(--accent-weak-2);color:var(--accent-strong);border-radius:9px;padding:2px 12px;margin:0 4px}.cg-dirbtn:hover{background:var(--accent-weak)}.cg-knobs{display:flex;gap:6px;justify-content:center;margin-top:10px;flex-wrap:wrap}.cg-knob{display:inline-flex;align-items:center;gap:2px;background:var(--surface);border:1px solid var(--border-2);border-radius:8px;padding:1px 3px}.cg-knob small{font-size:11px;color:var(--text-3);font-weight:700;padding-left:4px}.cg-knob b{min-width:30px;text-align:center;font-size:14px}.cg-knob button{border:0;background:transparent;font-size:12px;cursor:pointer;color:var(--text-2);padding:3px 6px;border-radius:6px;font-weight:800}.cg-knob button:hover{background:var(--surface-3);color:var(--text)}.cg-add-row{width:100%;font:inherit;font-size:13.5px;font-weight:700;cursor:pointer;border:2px dashed var(--accent-border);background:var(--accent-weak-2);color:var(--accent-strong);border-radius:var(--r-md);padding:10px;display:block}.cg-add-row:hover{background:var(--accent-weak)}.cg-and-label{text-align:center;font-size:12px;font-weight:800;color:var(--text-3);letter-spacing:.1em;margin:4px 0}.cg-actions{display:flex;gap:10px;align-items:center}.cg-btn{border:0;font:inherit;font-weight:700;cursor:pointer;border-radius:var(--r-md);padding:11px 18px;font-size:14px}.cg-btn.cg-primary{background:var(--cta);color:var(--cta-ink);flex:1 1}.cg-btn.cg-primary:hover{background:var(--cta-hover)}.cg-attempts{font-size:13px;color:var(--text-3);white-space:nowrap}.cg-attempts b{color:var(--text)}.cg-stars-live{font-size:15px;letter-spacing:1px;white-space:nowrap}.cg-feedback{display:none;border-radius:var(--r-md);padding:12px 14px;font-size:14px;line-height:1.6;margin-top:12px}.cg-feedback.cg-show{display:block}.cg-feedback.cg-ok{background:var(--ok-weak);border:1px solid color-mix(in oklab,var(--ok) 40%,var(--surface))}.cg-feedback.cg-miss{background:var(--bad-weak);border:1px solid color-mix(in oklab,var(--bad) 30%,var(--surface))}.cg-feedback small{color:var(--text-3)}.cg-feedback ul{margin:6px 0 0;padding-left:18px}.cg-feedback li{margin:3px 0;font-size:13.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cg-hint{border:1px dashed var(--border-2);border-radius:var(--r-md);padding:10px 12px;font-size:13.5px;color:var(--text-2);line-height:1.6;margin-top:12px;display:none}.cg-hint.cg-show{display:block}.cg-hint .cg-tag{font-weight:700;color:var(--accent-strong);margin-right:6px}.cg-tutor-btn{display:flex;align-items:center;gap:10px;width:100%;background:var(--accent-weak-2);border:1px solid var(--accent-border);border-radius:var(--r-md);padding:12px 14px;font:inherit;font-size:13.5px;color:var(--text);cursor:pointer;text-align:left}.cg-tutor-btn:hover{background:var(--accent-weak)}.cg-tutor-btn .cg-ic{width:24px;height:24px;flex:none;color:var(--accent-text);display:grid;place-items:center;font-weight:800;font-size:16px}.cg-tutor-btn small{display:block;color:var(--text-3);margin-top:2px}.cg-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(20px);background:var(--text);color:var(--bg);font-size:13.5px;padding:12px 18px;border-radius:var(--r-md);box-shadow:var(--shadow-float);opacity:0;pointer-events:none;transition:all var(--dur-slow) ease;max-width:520px;line-height:1.5;z-index:50}.cg-toast.cg-show{opacity:1;transform:translateX(-50%) translateY(0)}@keyframes cg-pulse{0%,to{r:14;opacity:.9}50%{r:20;opacity:.4}}.cg-alarm{animation:cg-pulse 1s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.cg-alarm{animation:none!important}.cg-toast{transition:none!important}}.cg-gallery-page{max-width:1100px;margin:0 auto;padding:28px 24px 60px}.cg-gallery-lead{color:var(--text-2);font-size:14px;margin:4px 0 24px;line-height:1.6;max-width:720px}.cg-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-column-gap:28px;column-gap:28px;border-bottom:1px solid var(--border)}.cg-gallery-card{display:block;border-top:1px solid var(--border);padding:18px 0 20px;text-decoration:none;color:inherit}.cg-gallery-card:hover .cg-gallery-title{color:var(--accent-text)}.cg-gallery-crumbs{font-size:12px;color:var(--text-3);font-weight:600;margin-bottom:6px}.cg-gallery-title{font-size:18px;font-weight:800;letter-spacing:-.01em;margin-bottom:8px}.cg-gallery-tagline{font-size:13px;color:var(--text-2);line-height:1.6;margin:0 0 14px}.cg-gallery-tagline b{color:var(--accent-strong)}.cg-gallery-miscon{font-size:12.5px;color:var(--text-2);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cg-gallery-miscon-tag{background:var(--accent-weak-2);border:1px solid var(--accent-border);color:var(--accent-strong);font-weight:700;border-radius:999px;padding:2px 10px;font-size:11px}.course-card-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.course-badge{flex:0 0 auto;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;background:var(--success-bg);color:var(--success-tx)}.course-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}.course-summary-count{font-size:13px;font-weight:600;color:var(--text-2)}.course-badge.pending{color:var(--accent-text);background:var(--accent-weak);border:1px solid var(--accent-border)}.course-exam-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 11px;border-radius:999px;font-size:12px;font-weight:650;text-decoration:none;border:1px solid var(--border)}.course-exam-chip.muted{color:var(--text-3);background:var(--surface-2)}.course-exam-chip.link,.course-exam-chip.passed{color:var(--accent-text);background:var(--accent-weak);border-color:var(--accent-border)}.course-exam-chip.link{transition:background var(--dur-quick)}.course-exam-chip.link:hover{background:var(--accent-weak-2)}.problem-graded-status{font-size:13px;color:var(--text-3);margin:4px 0 12px}.exam-empty{font-size:15px;color:var(--text-3);margin:40px 0;text-align:center}.exam-body{max-width:720px}.exam-list{list-style:none;padding:0;margin:24px 0;display:flex;flex-direction:column;border-top:1px solid var(--border)}.exam-item{border-bottom:1px solid var(--border);padding:18px 0}.exam-item.no,.exam-item.ok{border-left:3px solid var(--accent-border);padding-left:14px}.exam-item.no{border-left-color:var(--warn)}.exam-q-num{display:flex;align-items:center;gap:8px;font-weight:750;font-size:14px;color:var(--text-2);margin-bottom:8px}.exam-mark{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;font-size:12px;font-weight:800;color:#fff}.exam-mark.ok{background:var(--success-tx)}.exam-mark.no{background:var(--warn)}.exam-q{font-size:15px;line-height:1.6}.exam-img{max-width:100%;height:auto;margin:10px 0;border-radius:8px}.exam-choices{margin:10px 0;display:flex;flex-direction:column;gap:4px}.exam-choice{font-size:14px;color:var(--text-2)}.exam-choice-hint{font-size:12px;color:var(--text-3);margin:4px 0 0}.exam-input{width:100%;margin-top:12px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font-size:14px}.exam-input:disabled{opacity:.7}.exam-actions{display:flex;align-items:center;gap:14px;margin-top:8px}.exam-submit{padding:11px 22px;border:none;border-radius:var(--r-md);cursor:pointer;background:var(--cta);color:var(--cta-ink);font-size:15px;font-weight:700;transition:background var(--dur-quick)}.exam-submit:hover{background:var(--cta-hover)}.exam-submit:disabled{opacity:.6;cursor:default}.exam-back-link{font-size:13px;color:var(--text-3);text-decoration:none}.exam-back-link:hover{color:var(--accent-text)}.exam-result-banner{display:flex;flex-direction:column;align-items:center;gap:4px;padding:20px;border-radius:var(--r-lg);margin:8px 0 4px;border:1px solid var(--border)}.exam-result-banner.passed{background:var(--accent-weak);border-color:var(--accent-border)}.exam-result-banner.failed{background:var(--surface-2)}.exam-score{font-size:30px;font-weight:800;letter-spacing:-.02em}.exam-verdict{font-size:15px;font-weight:650;color:var(--text-2)}.exam-best{font-size:13px;color:var(--text-3)}.course-track-tabs{display:flex;gap:8px;margin-bottom:22px;border-bottom:1px solid var(--border)}.course-track-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;cursor:pointer;padding:10px 4px;margin-bottom:-1px;font:inherit;font-size:15px;font-weight:650;color:var(--text-3);border:none;border-bottom:2px solid transparent;transition:color var(--dur-quick),border-color var(--dur-quick)}.course-track-tab:hover{color:var(--text-2)}.course-track-tab.active{color:var(--accent-text);border-bottom-color:var(--accent)}.course-track-tab-count{font-weight:600;opacity:.75}.course-subject-group{margin-bottom:26px}.course-subject-title{font-size:15px;font-weight:750;color:var(--text-2);margin:0 0 12px;letter-spacing:-.01em}.course-subject-grade{margin-left:8px;font-size:11px;font-weight:700;color:var(--text-3);background:var(--surface-2);border:1px solid var(--border);padding:2px 8px;border-radius:999px;vertical-align:2px}.subject-chips{display:flex;gap:8px;overflow-x:auto;margin:-6px 0 20px;padding-bottom:6px;scrollbar-width:none}.subject-chips::-webkit-scrollbar{display:none}.subject-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;white-space:nowrap;font:inherit;font-size:12.5px;font-weight:650;padding:6px 12px;border-radius:999px;border:1px solid var(--border-2);background:var(--surface);color:var(--text-2);transition:background var(--dur-quick),border-color var(--dur-quick),color var(--dur-quick)}.subject-chip.active,.subject-chip:hover{border-color:var(--accent-border);color:var(--accent-text)}.subject-chip.active{background:var(--accent-weak)}.subject-chip-count{font-weight:600;opacity:.7}.enroll-grid{display:grid;grid-template-columns:1fr 1fr;grid-column-gap:28px;column-gap:28px;border-bottom:1px solid var(--border)}@media (max-width:560px){.enroll-grid{grid-template-columns:1fr}}.enroll-card{border-top:1px solid var(--border);padding:14px 0;display:flex;flex-direction:column;gap:10px}.enroll-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.enroll-card-top h3{font-size:14.5px;font-weight:720;line-height:1.35;margin:0}.enroll-card .course-enroll{padding:6px 12px;font-size:12.5px}.enroll-card-meta{display:flex;align-items:center;gap:8px;margin:0;font-size:12px;color:var(--text-3)}.course-type-badge{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;white-space:nowrap}.course-type-badge.basic{background:color-mix(in oklab,#4a7dbd 14%,var(--surface));color:color-mix(in oklab,#4a7dbd 55%,var(--text))}.course-type-badge.suneung-concept{background:color-mix(in oklab,#b0673f 16%,var(--surface));color:color-mix(in oklab,#b0673f 55%,var(--text))}.course-type-badge.intuition{background:color-mix(in oklab,#7a68b3 15%,var(--surface));color:color-mix(in oklab,#7a68b3 55%,var(--text))}.course-type-badge.mock{background:color-mix(in oklab,#5a8a5a 15%,var(--surface));color:color-mix(in oklab,#5a8a5a 55%,var(--text))}.course-type-badge.class{background:var(--surface-3);color:var(--text-2)}.course-acc .course-card-head{margin-bottom:12px}.course-acc-summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px;font-size:13px;font-weight:650;color:var(--text-2)}.course-acc-summary::-webkit-details-marker{display:none}.course-acc-summary:hover{color:var(--accent-text)}.course-acc .lecture-list{margin-top:12px}.course-acc-arrow{width:16px;height:16px;color:var(--text-3);transition:transform var(--dur-quick)}.course-acc-summary:hover .course-acc-arrow{color:var(--accent-text)}.course-acc-details[open] .course-acc-arrow{transform:rotate(90deg)}.progress-summary{display:flex;align-items:center;gap:24px;flex-wrap:wrap;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);padding:18px 22px;margin-bottom:24px}.ps-main{flex:1 1 240px;min-width:200px}.ps-main-top{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}.ps-pct{font-size:30px;font-weight:800;color:var(--accent-text);line-height:1;letter-spacing:-.02em}.ps-lbl{font-size:12.5px;color:var(--text-3)}.ps-cells{gap:10px;flex-shrink:0}.ps-cell,.ps-cells{display:flex;align-items:center}.ps-cell{min-width:72px;flex-direction:column;gap:4px;padding:10px 8px;border-radius:var(--r-sm);background:var(--accent-weak-2);border:1px solid var(--accent-border)}.ps-num{font-size:20px;font-weight:800;color:var(--accent-text);line-height:1}.ps-cell-lbl{font-size:11.5px;color:var(--text-2);white-space:nowrap}.ps-link{font-size:12.5px;font-weight:650;color:var(--accent-text);text-decoration:none;white-space:nowrap}.ps-link:hover{text-decoration:underline}.org-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 16px}.org-toolbar .sp{flex:1 1}.org-chip{border:1px solid var(--border-2);background:var(--surface);font:inherit;font-size:12.5px;font-weight:650;padding:5px 11px;border-radius:999px;color:var(--text-2);cursor:pointer}.org-chip:hover:not(:disabled){border-color:var(--accent-border);color:var(--accent-text)}.org-chip:disabled{opacity:.5;cursor:default}.org-sec-h{display:flex;align-items:baseline;gap:8px;margin:22px 0 10px;font-size:13px;font-weight:800;color:var(--text-2);letter-spacing:.02em}.org-sec-h .n{font-weight:500;color:var(--text-3)}.org-error{font-size:13px;color:var(--bad-text);margin:-8px 0 14px}.org-row{position:relative}.row-card{border-bottom:1px solid var(--border)}.folder-form+.row-card,.org-sec-h+.row-card{border-top:1px solid var(--border)}.row-card>summary{list-style:none;display:grid;grid-template-columns:auto 1fr auto 96px auto 18px;grid-gap:12px;gap:12px;align-items:center;padding:6px 14px 6px 6px;cursor:pointer}.row-card>summary::-webkit-details-marker{display:none}.row-card[open]>summary{border-bottom:1px solid var(--border)}.row-t{min-width:0;display:flex;align-items:center;gap:8px}.row-t h3{font-size:15px;font-weight:700;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-meta{font-size:12px;color:var(--text-3);white-space:nowrap}.row-pct{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.row-pct .bar{flex:1 1;height:5px;background:var(--surface-3);border-radius:999px;overflow:hidden}.row-pct .bar i{display:block;height:100%;background:var(--accent)}.row-pct.done .bar i{background:var(--ok)}.row-arrow{width:16px;height:16px;color:var(--text-3);transition:transform var(--dur-quick)}.row-card[open]>summary .row-arrow{transform:rotate(90deg)}.row-body{padding:12px 14px 14px}.row-body-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}.row-body .lecture-item{padding:10px 4px}.badge-sm{font-size:11px;padding:2px 7px;flex-shrink:0}.more-btn,.pin-btn{border:0;background:none;cursor:pointer;font-size:16px;line-height:1;color:var(--text-3);min-width:40px;min-height:40px;display:grid;place-items:center;border-radius:8px}.pin-btn.on{color:var(--warn)}.more-btn:hover,.pin-btn:hover{background:var(--surface-2)}.row-menu{position:absolute;right:30px;top:44px;z-index:20;background:var(--surface);border:1px solid var(--border-2);border-radius:var(--r-md);box-shadow:var(--shadow-float);padding:6px;min-width:190px}.row-menu button{display:block;width:100%;text-align:left;border:0;background:none;font:inherit;font-size:13px;padding:9px 10px;border-radius:6px;cursor:pointer;color:var(--text)}.row-menu button:hover:not(:disabled){background:var(--surface-2)}.row-menu button:disabled{color:var(--text-3);cursor:default}.row-menu .lbl{font-size:11px;color:var(--text-3);padding:6px 10px 2px;font-weight:700}.row-menu-empty{font-size:12px;color:var(--text-3);padding:4px 10px 6px}.qgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(46px,1fr));grid-gap:6px;gap:6px}.qchip{display:flex;align-items:center;justify-content:center;height:40px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface-2);font-size:13.5px;font-weight:700;color:var(--text);text-decoration:none;position:relative}.qchip:hover{border-color:var(--accent-border);background:var(--accent-weak-2)}.qchip.done{background:var(--ok-weak);border-color:color-mix(in oklab,var(--ok) 40%,var(--surface));color:var(--ok-text)}.qchip.part:after{content:"";position:absolute;bottom:4px;left:30%;right:30%;height:3px;border-radius:2px;background:var(--accent)}.folder{margin-bottom:18px}.folder>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;padding:10px 2px;font-size:14px;font-weight:750;border-bottom:1px solid var(--border)}.folder>summary::-webkit-details-marker{display:none}.folder>summary .n{color:var(--text-3);font-weight:500;font-size:12.5px}.folder>summary .sp{flex:1 1}.folder>summary .edit{font-size:12px;color:var(--text-3);font-weight:500}.folder>summary button.edit{border:0;background:none;font-family:inherit;cursor:pointer;padding:6px 8px;border-radius:6px}.folder>summary button.edit:hover{background:var(--surface-3);color:var(--text)}.folder.arch>summary{color:var(--text-2)}.folder-empty{font-size:12.5px;color:var(--text-3);margin:2px 2px 8px}.folder-form{display:flex;gap:8px;align-items:center;padding:8px 2px 10px}.folder-form.new{padding:0;margin-bottom:12px}.folder-form input{flex:1 1;min-width:0;font:inherit;font-size:14px;padding:8px 10px;border-radius:var(--r-sm);border:1px solid var(--border-2);background:var(--surface);color:var(--text)}.ai-btn{border:1px solid var(--accent-border);background:var(--accent-weak);color:var(--accent-text);font:inherit;font-size:13.5px;font-weight:750;padding:8px 14px;border-radius:999px;cursor:pointer;min-height:40px}.ai-btn:disabled{opacity:.7;cursor:progress}.ai-tag{font-size:11px;font-weight:700;color:var(--accent-text);background:var(--accent-weak);padding:2px 7px;border-radius:999px}.prop{border:1px solid var(--accent-border);background:var(--accent-weak-2);border-radius:var(--r-lg);padding:14px 16px;margin:0 0 18px}.prop-h{font-size:15px;font-weight:800;margin-bottom:10px}.prop-h .n,.prop-item .n{font-size:12px;font-weight:500;color:var(--text-3)}.prop-item{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--accent-border);font-size:13.5px;line-height:1.5;cursor:pointer}.prop-item input{margin-top:4px;accent-color:var(--accent)}.prop-item .why{color:var(--text-2);font-size:12.5px}.prop-item .ids{color:var(--text-3);font-size:12px}.prop-act{display:flex;justify-content:flex-end;gap:8px;align-items:center;padding-top:10px}.prop-act .catalog-resume{border:0;cursor:pointer;font:inherit;margin:0}.prop-act .catalog-resume:disabled{opacity:.5;cursor:default}.new-folder{border:1px dashed var(--border-2);background:none;color:var(--text-2);font:inherit;font-size:13px;font-weight:650;padding:10px;border-radius:var(--r-md);width:100%;cursor:pointer;margin-bottom:12px}.new-folder:hover{border-color:var(--accent-border);color:var(--accent-text)}.subj-group{margin-bottom:10px}.subj-group>summary{cursor:pointer;font-size:13.5px;font-weight:750;padding:8px 2px;list-style:none;border-bottom:1px solid var(--border);display:flex;gap:6px;align-items:center}.subj-group>summary::-webkit-details-marker{display:none}.subj-group>summary .n{color:var(--text-3);font-weight:500}.subj-group>summary .row-arrow{transform:none}.subj-group[open]>summary .row-arrow{transform:rotate(90deg)}@media (max-width:720px){.row-card>summary{grid-template-columns:auto 1fr 70px auto 16px;gap:8px}.row-card>summary .row-meta{display:none}.row-t{flex-direction:column;align-items:flex-start;gap:3px}.row-t h3{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;line-height:1.35}}.pd-card{padding:18px 0}.pd-card-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}.pd-card-head h3{font-size:17px;font-weight:750;margin:0}.pd-card-count{font-size:12.5px;font-weight:600;color:var(--text-2)}.pd-card-head .pd-bar{flex:1 1 120px;min-width:90px}.pd-bar{display:block;height:6px;border-radius:999px;background:var(--border-2);overflow:hidden}.pd-bar-fill{display:block;height:100%;background:var(--accent);transition:width var(--dur-slow)}.pd-card .course-acc-summary:before{content:"▸";display:inline-block;margin-right:6px;transition:transform var(--dur-quick)}.pd-card .course-acc-details[open] .course-acc-summary:before{transform:rotate(90deg)}.pd-lec-list{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-direction:column;gap:6px}.pd-lec{display:flex;align-items:center;gap:14px;text-decoration:none;padding:11px 14px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);transition:border-color var(--dur-quick),background var(--dur-quick)}.pd-lec:hover{border-color:var(--accent-border);background:var(--accent-weak)}.pd-lec-main{flex:1 1;min-width:0;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.pd-lec-title{font-size:13.5px;font-weight:650;color:var(--text)}.pd-lec-count,.pd-lec-none{font-size:12px;color:var(--text-3)}.pd-lec-none{font-style:italic}.pd-lec-main .pd-bar{flex:1 1 80px;min-width:60px}.pd-lec-go{flex-shrink:0;font-size:12px;font-weight:650;color:var(--accent-text)}.roadmap{display:flex;flex-direction:column}.roadmap-stage{display:flex;gap:14px}.roadmap-rail{display:flex;flex-direction:column;align-items:center;width:44px;flex-shrink:0}.roadmap-dot{min-width:40px;height:28px;padding:0 6px;border-radius:999px;background:var(--surface);border:2px solid var(--border-2);display:grid;place-items:center;font-size:11.5px;font-weight:800;color:var(--text-3);flex-shrink:0}.roadmap-stage.now .roadmap-dot{border-color:var(--accent);color:var(--accent-text);background:var(--accent-weak-2)}.roadmap-line{width:2px;flex:1 1;background:var(--border-2);min-height:20px}.roadmap-body{flex:1 1;min-width:0;padding-bottom:26px}.roadmap-stage:last-child .roadmap-body{padding-bottom:0}.roadmap-stage-name{font-size:15px;font-weight:780;color:var(--text-2);margin:4px 0 12px;letter-spacing:-.01em;display:flex;align-items:center;gap:10px;flex-wrap:wrap}@media (max-width:560px){.roadmap-stage{gap:10px}.roadmap-rail{width:36px}.roadmap-dot{min-width:34px;height:24px;font-size:10.5px}}.course-status-badge{flex:0 0 auto;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:650;color:var(--text-3);background:var(--surface-2);border:1px solid var(--border)}.course-status-badge.started{color:var(--accent-text);background:var(--accent-weak);border-color:var(--accent-border)}.mock-exam-page{background:radial-gradient(circle at 88% 4%,var(--accent-weak-2),transparent 28rem),var(--bg)}.mock-exam-viewer{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:24px 0 72px}.mock-breadcrumb{display:flex;align-items:center;gap:8px;min-width:0;color:var(--text-3);font-size:13px}.mock-breadcrumb a{color:inherit;font-weight:650;text-decoration:none}.mock-breadcrumb a:hover{color:var(--accent-text)}.mock-breadcrumb span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mock-header{margin-bottom:24px}.mock-header-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:26px 0 18px}.mock-kicker{color:var(--accent-text);font-size:11px;font-weight:800;letter-spacing:.14em;margin-bottom:7px}.mock-header h1{margin:0;font-size:clamp(25px,3vw,38px);letter-spacing:-.035em}.mock-header h1,.mock-position{color:var(--text);font-weight:820}.mock-position{font-size:30px;letter-spacing:-.04em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mock-position span{color:var(--text-3);font-size:14px;font-weight:650;letter-spacing:0}.mock-problem-strip{display:flex;gap:7px;overflow-x:auto;padding:9px;background:color-mix(in oklab,var(--surface) 88%,transparent);border:1px solid var(--border);border-radius:var(--r-md);scrollbar-width:thin}.mock-problem-strip a{flex:0 0 auto;display:grid;place-items:center;min-width:42px;height:42px;padding:0 9px;border:1px solid transparent;border-radius:9px;color:var(--text-3);background:transparent;text-decoration:none;font-size:13px;font-weight:750;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mock-problem-strip a:hover{color:var(--text);background:var(--surface-2)}.mock-problem-strip a.active{color:var(--info-tx);background:var(--info-bg);border-color:var(--accent-border)}.mock-workspace{display:grid;grid-template-columns:minmax(390px,.95fr) minmax(0,1.35fr);grid-gap:28px;gap:28px;align-items:start}.mock-problem-sticky{position:-webkit-sticky;position:sticky;top:18px}@media (min-width:841px){.mock-problem-sticky{max-height:calc(100dvh - 36px);overflow-y:auto;padding-right:4px;scrollbar-gutter:stable}}.mock-section-label{display:flex;align-items:center;gap:9px;color:var(--text-2);font-size:12px;font-weight:780;letter-spacing:.04em}.mock-number{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;color:var(--info-tx);background:var(--info-bg);font-size:14px;letter-spacing:0}.mock-problem-card{margin-top:12px;padding:18px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--text);font-size:15px;line-height:1.72}.mock-problem-card img{display:block;max-width:100%;height:auto;margin:18px auto 0}.mock-source-figure{margin:0}.mock-source-figure a{display:block;overflow:hidden;border:1px solid var(--border);border-radius:var(--r-md);background:#fff;cursor:zoom-in}.mock-source-figure img{width:100%;max-width:none;margin:0;background:#fff}.mock-source-figure figcaption{margin-top:9px;color:var(--text-3);font-size:11px;line-height:1.45;text-align:right}.mock-problem-transcript{margin-top:14px;border-top:1px solid var(--border);color:var(--text-2)}.mock-problem-transcript summary{padding:13px 2px 0;color:var(--text-3);cursor:pointer;font-size:12px;font-weight:720}.mock-problem-transcript summary:hover{color:var(--accent-text)}.mock-problem-transcript-body{padding-top:16px}.mock-problem-card .pv-blocks{gap:16px}.mock-problem-card .pv-math-block{padding:8px 0}.mock-problem-card .pv-math-block .katex{font-size:1.05em}.mock-problem-card .pv-box-condition{margin:2px 0}.mock-problem-card .pv-box-process{margin-top:2px}.mock-problem-hint{margin:11px 4px 0;color:var(--text-3);font-size:12px;line-height:1.55}.mock-concept-tags{margin:14px 4px 0}.reading-concept-tags{margin:26px 0 2px;padding-top:16px;border-top:1px solid var(--border)}.mock-concept-tags-label{display:block;margin-bottom:6px;color:var(--text-3);font-size:11px;font-weight:700;letter-spacing:.04em}.mock-concept-tags-row{display:flex;flex-wrap:wrap;gap:6px}.mock-concept-chip{font-size:12.5px;padding:4px 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);text-decoration:none}a.mock-concept-chip:hover{background:var(--surface-3,var(--surface-2));border-color:var(--text-3)}.mock-concept-chip.crux{border-color:color-mix(in oklab,var(--accent) 45%,var(--border));background:color-mix(in oklab,var(--accent) 10%,var(--surface-2));font-weight:600}.mock-concept-chip.taken{border-color:color-mix(in oklab,var(--ok) 45%,var(--border));background:color-mix(in oklab,var(--ok) 11%,var(--surface-2))}a.mock-concept-chip.taken:hover{background:color-mix(in oklab,var(--ok) 18%,var(--surface-2));border-color:color-mix(in oklab,var(--ok) 60%,var(--border))}.mock-concept-chip .chip-taken-mark{color:var(--ok-text);font-weight:700}span.mock-concept-chip{color:var(--text-2,var(--text))}.mock-concept-tags-thinking{margin:8px 0 0;color:var(--text-3);font-size:12px;line-height:1.55}.mock-concept-tags-thinking strong{color:var(--text-2,var(--text));font-weight:600}.chat-concept-chips{margin:10px 0 2px}.mock-solution-column{position:relative;isolation:isolate;min-width:0;padding:24px;background:color-mix(in oklab,var(--surface) 92%,transparent);border:1px solid var(--border);border-radius:var(--r-xl)}.mock-solution-column>.reading-ink-toolbar.sticky{margin-bottom:18px}.mock-solution-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding-bottom:20px;border-bottom:1px solid var(--border)}.mock-solution-heading h2{margin:7px 0 5px;font-size:24px;letter-spacing:-.025em}.mock-solution-heading p{margin:0;color:var(--text-3);font-size:13px;line-height:1.55}.mock-asset-chips{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.mock-asset-chips span{padding:5px 9px;border:1px solid var(--border);border-radius:999px;color:var(--text-2);background:var(--surface-2);font-size:11px;font-weight:700;white-space:nowrap}.mock-blocks{display:flex;flex-direction:column;gap:24px;margin-top:22px}.mock-step-stage .example-steps{margin:0}.mock-step-stage .example-step-card{box-shadow:none}.mock-video-stage{padding:18px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface-2)}.mock-video-stage.unlocked{border-color:var(--accent-border);background:var(--surface)}.mock-stage-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.mock-stage-head span{color:var(--accent-text);font-size:10px;font-weight:800;letter-spacing:.12em}.mock-stage-head h3{margin:5px 0 0;font-size:17px;letter-spacing:-.015em}.mock-stage-state{flex:0 0 auto;padding:5px 9px;border-radius:999px;color:var(--text-3);background:var(--surface-3);font-size:11px;font-weight:700}.mock-video-stage.unlocked .mock-stage-state{color:var(--accent-text);background:var(--accent-weak)}.mock-video-lock{display:flex;align-items:center;justify-content:center;gap:12px;min-height:120px;padding:22px;border:1px dashed var(--border-2);border-radius:var(--r-md);color:var(--text-3);font-size:13px;line-height:1.55;text-align:center}.mock-video-lock span{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;color:var(--text-3)}.mock-video-stage .video-frame{overflow:hidden;border-radius:var(--r-md);background:#0b0b0b}.mock-video-stage iframe,.mock-video-stage video{display:block;width:100%;aspect-ratio:16/9}.mock-finish{margin-top:22px;padding:15px;border-radius:var(--r-md);color:var(--ok-text);background:var(--ok-weak);font-size:13px;font-weight:700;text-align:center}.mock-footer-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:12px;gap:12px;margin-top:28px;padding-top:20px;border-top:1px solid var(--border);color:var(--text-3);font-size:13px;font-weight:650}.mock-footer-nav a{width:-moz-fit-content;width:fit-content;min-height:44px;display:inline-flex;align-items:center;padding:0 15px;border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text);background:var(--surface);text-decoration:none}.mock-footer-nav a:last-child{justify-self:end}.mock-footer-nav a:hover{color:var(--accent-text);border-color:var(--accent-border)}.mock-footer-nav>span:nth-child(2){text-align:center}.mock-footer-nav .disabled{color:var(--text-3);opacity:.6}.mock-footer-nav .disabled:last-child{justify-self:end}.mock-empty{margin-top:28px;padding:28px;border:1px solid var(--border);border-radius:var(--r-lg);color:var(--text-3);background:var(--surface);text-align:center}@media (max-width:840px){.mock-exam-viewer{width:min(100% - 28px,720px);padding-top:18px}.mock-workspace{grid-template-columns:1fr;gap:18px}.mock-problem-sticky{position:static}.mock-solution-column{padding:20px}}@media (max-width:560px){.mock-exam-viewer{width:min(100% - 20px,520px);padding-bottom:44px}.mock-header-row{align-items:center;padding:20px 0 14px}.mock-position{font-size:24px}.mock-problem-strip{margin-inline:-2px}.mock-problem-card{padding:18px 0;font-size:14px}.mock-problem-card .pv-math-block .katex{font-size:1.1em}.mock-solution-column{padding:16px;border-radius:var(--r-lg)}.mock-solution-column>.reading-ink-toolbar.sticky{flex-wrap:nowrap;overflow-x:auto;max-width:100%;overscroll-behavior-x:contain;scrollbar-width:thin}.mock-solution-heading{flex-direction:column;gap:13px}.mock-asset-chips{justify-content:flex-start}.mock-stage-head{gap:8px}.mock-stage-head,.mock-video-lock{flex-direction:column}.mock-footer-nav{grid-template-columns:1fr 1fr}.mock-footer-nav>span:nth-child(2){display:none}}.vlab{display:grid;grid-template-columns:minmax(0,1fr) 260px;grid-gap:16px;gap:16px;align-items:start;border:1px solid var(--border);border-radius:var(--r-md);padding:14px;background:var(--surface)}.vlab-board{min-width:0}.vlab-svg{display:block;width:100%;height:auto;touch-action:none}.vlab-grid line{stroke:var(--border)}.vlab-axis line{stroke:var(--text-3);stroke-width:1.5}.vlab-handle{cursor:-webkit-grab;cursor:grab;stroke-width:2.4}.vlab-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.vlab-grab{stroke:transparent;stroke-width:18;cursor:-webkit-grab;cursor:grab}.vlab-grab:active{cursor:-webkit-grabbing;cursor:grabbing}.vlab-ghost-label,.vlab-slot-label,.vlab-sum-label{font-family:Times New Roman,Times,serif;font-style:italic;font-size:17px}.vlab-sum-label{font-size:18px;font-weight:600}.vlab-ghost-label{fill:#e8590c;opacity:.55;font-size:14px}.vlab-zero{fill:none;stroke-width:2.5;stroke-dasharray:4 4}.vlab-point-name{font-family:Times New Roman,Times,serif;font-size:16px;font-weight:600}.vlab-joint{fill:#fff;stroke:#e8590c;stroke-width:2}.vlab-ghost-side{stroke-width:1.6;stroke-dasharray:5 5;opacity:.5}.vlab-ghost-side,.vlab-joint,.vlab-svg text,.vlab-target,.vlab-zero{pointer-events:none}.vlab-target{fill:none;stroke:var(--fig-accent);stroke-width:2;stroke-dasharray:4 4;opacity:.6;animation:vlab-pulse 1.2s ease-in-out infinite}@keyframes vlab-pulse{0%,to{opacity:.35}50%{opacity:.8}}@media (prefers-reduced-motion:reduce){.vlab-target{animation:none}}.vlab-side{display:flex;flex-direction:column;gap:10px}.vlab-hint{margin:0}.vlab-hint,.vlab-status{font-size:13px;line-height:1.6;color:var(--text-2)}.vlab-status{display:flex;flex-direction:column;gap:6px;align-items:flex-start;border:1px solid var(--border);border-radius:var(--r-sm);padding:9px 11px;background:var(--surface-2)}.vlab-pill{font-size:11.5px;font-weight:700;color:var(--accent-text);border:1px solid var(--accent);border-radius:999px;padding:1px 9px}.vlab-readout{display:flex;flex-direction:column;gap:4px;font-size:13px;line-height:1.6;color:var(--text-2)}.vlab-readout strong{font-size:17px;color:var(--text);font-style:italic}.vlab-formula,.vlab-readout strong{font-family:Times New Roman,Times,serif}.vlab-formula{font-size:14px}.vlab-formula,.vlab-readout-idle{color:var(--text-3)}.vlab-actions{display:flex;gap:8px;flex-wrap:wrap}.vlab-flip,.vlab-reset{border:1px solid var(--border);background:transparent;border-radius:var(--r-sm);padding:5px 12px;font-size:12.5px;cursor:pointer;color:var(--text-2)}.vlab-flip.on{border-color:#059669;color:#059669;font-weight:600}@media (max-width:860px){.vlab{grid-template-columns:1fr}}.fsheet{margin:26px 0;padding:18px 20px 20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg)}.fsheet-kicker{display:block;font-size:var(--lesson-overline,12px);font-weight:800;letter-spacing:.04em;color:var(--accent-text);margin-bottom:2px}.fsheet-title{font-size:17px;font-weight:750;margin:0 0 6px}.fsheet-guide{font-size:13.5px;color:var(--text-2);margin:0 0 16px;line-height:1.65}.fsheet-formula{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:12px 16px;margin-bottom:14px;font-size:17px;line-height:1.5;overflow-x:auto}.fsheet-coef{font-weight:800}.fsheet-params{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-start;margin-bottom:12px}.fsheet-param{display:flex;flex-direction:column;gap:4px;max-width:220px}.fsheet-param-label{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-2)}.fsheet-param-label b{font-weight:700}.fsheet-param-label em{font-style:normal;color:var(--text-3)}.fsheet-dot{width:9px;height:9px;border-radius:50%;flex:none}.fsheet-param input{width:100px;padding:7px 10px;border:1.5px solid var(--border-2);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font:14px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.fsheet-param-hint{font-size:12px;color:var(--text-3);line-height:1.5}.fsheet-presets{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.fsheet-preset{border:1px solid var(--border-2);background:var(--surface);color:var(--text);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:650;cursor:pointer}.fsheet-preset:hover{border-color:var(--edge)}.fsheet-preset.is-answer{border-color:var(--accent-border);background:var(--accent-weak);color:var(--accent-text)}.fsheet-table-wrap{overflow-x:auto}.fsheet-table{border-collapse:collapse;width:100%;font-size:14px}.fsheet-table td,.fsheet-table th{border:1px solid var(--border);padding:7px 11px;text-align:right;white-space:nowrap}.fsheet-table thead th{background:var(--surface-2);font-weight:700;font-size:13px;color:var(--text-2)}.fsheet-table tbody th{background:var(--surface-2);font-weight:650;text-align:left}.fsheet-table tbody th,.fsheet-table td{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fsheet-table td.is-large{color:var(--bad-text);font-weight:700}.fsheet-td-x,.fsheet-th-x{width:34px;padding:0!important;border-left-color:transparent!important}.fsheet-td-x button{width:100%;height:100%;min-height:30px;border:0;background:transparent;color:var(--text-3);font-size:15px;line-height:1;cursor:pointer}.fsheet-td-x button:hover{color:var(--bad-text)}.fsheet-addrow{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}.fsheet-addrow input{width:130px;padding:6px 10px;border:1.5px dashed var(--border-2);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font:13.5px ui-monospace,SFMono-Regular,Menlo,monospace}.fsheet-addrow button{border:1px solid var(--border-2);background:var(--surface);color:var(--text-2);border-radius:var(--r-sm);padding:6px 13px;font-size:13px;font-weight:650;cursor:pointer}.fsheet-addrow button:hover{border-color:var(--edge);color:var(--text)}.fsheet-rowerr{font-size:12.5px;color:var(--bad-text)}.fsheet-status{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;margin-top:14px;padding:10px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);font-size:13.5px;line-height:1.6}.fsheet-pill{flex:none;border:1px solid var(--accent-border);background:var(--accent-weak);color:var(--accent-text);border-radius:999px;padding:2px 11px;font-size:12.5px;font-weight:750}.fsheet-analysis{margin-top:12px;font-size:13.5px;color:var(--text-2);line-height:1.75}@media (max-width:560px){.fsheet{padding:16px 14px 18px}.fsheet-param input{width:88px}}.ls-overlay{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.34);display:flex;justify-content:center;align-items:flex-start;padding:90px 16px 24px}.ls-dialog{width:100%;max-width:720px;max-height:calc(100vh - 130px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg,14px);box-shadow:0 18px 48px rgba(0,0,0,.18);overflow:hidden}.ls-head{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border)}.ls-head-icon{width:18px;height:18px;color:var(--text-2);flex:none}.ls-input{flex:1 1;min-width:0;border:0;background:transparent;outline:none;font-size:15px;color:var(--text);font-family:inherit}.ls-input::placeholder{color:var(--text-3,var(--text-2))}.ls-head kbd{font-family:ui-monospace,monospace;font-size:10.5px;background:var(--surface-2);border:solid var(--border);border-width:1px 1px 2px;border-radius:5px;padding:1px 5px;color:var(--text-2)}.ls-tabs{display:flex;gap:4px;padding:8px 10px 0;border-bottom:1px solid var(--border)}.ls-tab{border:0;background:transparent;cursor:pointer;font:inherit;font-size:13px;color:var(--text-2);padding:8px 12px;border-radius:var(--r-sm) var(--r-sm) 0 0;min-height:36px}.ls-tab.on{color:var(--accent-text);background:var(--accent-weak);font-weight:600}.ls-tab:focus-visible{outline:2px solid var(--accent-border);outline-offset:-2px}.ls-body{flex:1 1;overflow-y:auto;padding:8px 10px 12px}.ls-section{font-size:11.5px;color:var(--text-2);padding:10px 8px 6px;letter-spacing:.02em}.ls-list{list-style:none;margin:0;padding:0}.ls-row{display:flex;align-items:center;gap:12px;padding:8px 10px;min-height:56px;border-radius:var(--r-md,10px);border:1px solid transparent;cursor:pointer}.ls-row.selected{background:var(--accent-weak-2);border-color:var(--accent-border)}.ls-tile{flex:none;width:44px;height:44px;display:grid;place-items:center;color:var(--accent-text);font-weight:700;font-size:15px}.ls-tile svg{width:20px;height:20px}.ls-row-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.ls-row-title{font-size:14px;color:var(--text);font-weight:500}.ls-row-meta,.ls-row-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ls-row-meta{font-size:12px;color:var(--text-2)}.ls-badge{flex:none;font-size:11px;color:var(--text-2);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:2px 8px}.ls-badge.done{background:var(--ok-weak);border-color:transparent;color:var(--ok-text)}.ls-badge.going{background:var(--accent-weak);border-color:transparent;color:var(--accent-text)}.ls-empty{padding:24px 10px;color:var(--text-2);font-size:13px;text-align:center}.ls-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.ls-chips{display:flex;flex-wrap:wrap;gap:6px;padding:6px 8px 10px}.ls-chip{border:1px solid var(--border);background:var(--surface);color:var(--text-2);border-radius:999px;padding:6px 12px;font:inherit;font-size:12.5px;cursor:pointer;min-height:32px}.ls-chip.on{background:var(--accent-weak);border-color:var(--accent-border);color:var(--accent-text);font-weight:600}.ls-head .ls-chip{flex:none;max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ls-matrix-scroll{overflow-x:auto}.ls-table{border-collapse:separate;border-spacing:4px;font-size:12px}.ls-table th{font-weight:500;color:var(--text-2);text-align:left;white-space:nowrap;padding:0 6px}.ls-cell{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--accent-border);border-radius:var(--r-sm,8px);background:var(--accent-weak);color:var(--accent-text);font:inherit;font-weight:600;cursor:pointer}.ls-cell.done{background:var(--okd);color:var(--accent-ink);border-color:var(--okd)}.ls-cell.empty{border:1px dashed var(--border);background:transparent;color:var(--text-3,var(--text-2));cursor:default;font-weight:400}.ls-legend{padding:10px 8px 0}.ls-foot,.ls-legend{font-size:11.5px;color:var(--text-2)}.ls-foot{border-top:1px solid var(--border);padding:9px 14px;background:var(--surface-2)}.lesson-search-bar{width:100%;min-height:48px;display:flex;align-items:center;gap:10px;padding:0 14px;margin:12px 0 4px;border:1px solid var(--border);border-radius:var(--r-md,10px);background:var(--surface);color:var(--text-2);font:inherit;font-size:13.5px;cursor:pointer;text-align:left}.lesson-search-bar:hover{border-color:var(--accent-border);background:var(--accent-weak)}.lesson-search-bar svg{width:18px;height:18px;flex:none}.lesson-search-bar span{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-search-bar kbd{font-family:ui-monospace,monospace;font-size:10.5px;background:var(--surface-2);border:solid var(--border);border-width:1px 1px 2px;border-radius:5px;padding:1px 5px;color:var(--text-2)}.lesson-search-icon-btn{flex:none;width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:6px;background:transparent;color:var(--text-2);cursor:pointer}.lesson-search-icon-btn:hover{background:var(--surface-3);color:var(--text)}.lesson-search-icon-btn svg{width:19px;height:19px}.lesson-ask-btn{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 6px 0 14px;margin-left:4px;border:0;border-left:1px solid var(--border);border-radius:0;background:transparent;color:var(--accent-text);cursor:pointer;font:inherit;font-size:13px;font-weight:700;white-space:nowrap}.lesson-ask-btn:hover .lesson-ask-text{text-decoration:underline;text-underline-offset:3px}.lesson-ask-btn svg{width:19px;height:19px}:root{--lesson-chat-w:440px;--lesson-chat-gap:24px}.lesson-chat-panel{position:fixed;right:0;top:0;z-index:58;width:min(var(--lesson-chat-w),100vw);height:100dvh;display:flex;flex-direction:column;min-height:0;background:var(--bg);border-left:1px solid var(--border);box-shadow:var(--shadow-float)}.lesson-chat-panel[data-open=false],.lesson-chat-resizer{display:none}.lesson-chat-resizer{position:absolute;left:-4px;top:0;width:11px;height:100%;padding:0;border:0;background:transparent;cursor:col-resize;touch-action:none;z-index:1}.lesson-chat-resizer:after{content:"";position:absolute;left:50%;top:50%;width:4px;height:36px;transform:translate(-50%,-50%);border-radius:999px;background:var(--border);transition:background var(--dur-quick)}.lesson-chat-resizer:focus-visible:after,.lesson-chat-resizer:hover:after{background:var(--accent);height:56px}.lesson-chat-resizer:focus-visible{outline:none}.lesson-chat-head{flex:none;display:flex;align-items:center;gap:9px;padding:12px 14px;border-bottom:1px solid var(--border);background:var(--surface)}.lesson-chat-head strong{font-size:14px;font-weight:700;color:var(--text)}.lesson-chat-where{flex:1 1;min-width:0;font-size:11.5px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lesson-chat-close{flex:none;width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-2);cursor:pointer;font-size:13px}.lesson-chat-close:hover{background:var(--surface-2);color:var(--text)}.lesson-chat-new{flex:none;height:28px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-2);cursor:pointer;font-size:12px}.lesson-chat-new:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.lesson-chat-new:disabled{opacity:.5;cursor:default}.lesson-chat-panel .thread{padding:16px 14px 6px}.lesson-chat-panel .thread-inner{margin:0 auto 8px}.lesson-chat-panel .composer-wrap{padding:8px 14px 14px}@media (min-width:1180px){.lesson-viewer[data-chat-open=true]:not(:has([data-focused-example],[data-focused-quiz],[data-focused-concept-flow])){max-width:calc(1280px + var(--lesson-chat-w) + var(--lesson-chat-gap));padding-right:calc(var(--lesson-chat-w) + var(--lesson-chat-gap))}.lesson-viewer[data-chat-open=true]:not(:has([data-focused-example],[data-focused-quiz],[data-focused-concept-flow])) .lesson-chat-panel{right:max(0px,calc((100vw - 1280px - var(--lesson-chat-w) - var(--lesson-chat-gap)) / 2))}.lesson-viewer[data-chat-open=true]:not(:has([data-focused-example],[data-focused-quiz],[data-focused-concept-flow])) .reading-ink-toolbar.vertical{right:calc(max(0px, (100vw - 1280px - var(--lesson-chat-w) - var(--lesson-chat-gap)) / 2) + var(--lesson-chat-w) + 12px)}.lesson-viewer[data-chat-open=true]:not(:has([data-focused-example],[data-focused-quiz],[data-focused-concept-flow])) .lesson-chat-resizer{display:block}}.composer-quote{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding:7px 9px;border-radius:var(--r-md);border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--surface-2)}.composer-quote-mark{flex:none;color:var(--accent-text);font-size:13px}.composer-quote-text{flex:1 1;min-width:0;font-size:12px;line-height:1.4;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-quote .x{border:none;background:var(--surface-3);color:var(--text-2);width:22px;height:22px;border-radius:6px;cursor:pointer;display:grid;place-items:center;flex:none}.composer-quote .x:hover{background:var(--bad-weak);color:var(--bad)}.msg-quote{margin:0 0 8px;padding:8px 11px;border-left:3px solid var(--accent);border-radius:0 var(--r-md) var(--r-md) 0;background:var(--accent-weak);font-size:13px;line-height:1.65;color:var(--text-2)}.msg-quote-head{margin-bottom:4px;font-size:10.5px;font-weight:700;letter-spacing:.02em;color:var(--text-3);white-space:normal}.derivation-step-figure{display:block;max-width:min(100%,420px);height:auto;margin:4px auto 12px}.card-attach-btn.step-pin{margin-left:8px;vertical-align:middle}.card-attach-btn.step-pin[aria-pressed=true]{opacity:1;border-color:var(--accent-border);background:var(--accent-weak);color:var(--text);box-shadow:inset 0 0 0 1px var(--accent-border)}.focused-example-done-steps.pinned{margin:0;border-color:var(--accent-border);background:var(--accent-weak-2)}.focused-example-done-steps.pinned .chk{background:transparent}.focused-example-done-steps.pinned .chev{color:var(--text-2)}.focused-example-done-steps.pinned .focused-example-done-step-list{max-height:38vh;overflow-y:auto}.focused-example-done-steps.pinned .focused-example-done-step{grid-template-columns:26px minmax(0,1fr) auto}.focused-example-done-steps.pinned .focused-example-done-step>.sn{background:var(--accent)}.lesson-viewer[data-focus=true] .lesson-breadcrumb,.lesson-viewer[data-focus=true] .lesson-chat-panel,.lesson-viewer[data-focus=true] .lesson-chrome{display:none}@media (min-width:1180px){.lesson-viewer[data-focus=true][data-chat-open=true]{max-width:1280px;padding-right:20px}.lesson-viewer[data-focus=true][data-chat-open=true] .reading-ink-toolbar.vertical{right:12px}}.lesson-focus-exit{position:fixed;right:20px;bottom:20px;z-index:55;width:36px;height:36px;border-radius:999px;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text-2);font-size:16px;opacity:.55;box-shadow:var(--shadow-float-sm)}.lesson-focus-exit:focus-visible,.lesson-focus-exit:hover{opacity:1}.reading-pin-rail{position:-webkit-sticky;position:sticky;top:0;z-index:6;margin:-6px 0 14px;display:flex;flex-direction:column;gap:8px;padding:2px 0 6px;background:var(--bg)}.reading-body:has(>.reading-pin-rail)>.reading-ink-toolbar.sticky{z-index:7}.reading-pin-rail:not(:has(.reading-pin-item)){display:none}.reading-pin-thumbs{position:relative;display:flex;align-items:stretch;gap:10px;overflow-x:auto;overflow-y:hidden;padding:2px 2px 4px;scrollbar-width:thin}.reading-pin-item.thumb{flex:none;width:220px;height:132px;display:flex;flex-direction:column-reverse;cursor:pointer}.reading-pin-item.thumb .reading-pin-bar{border-bottom:0;border-top:1px solid var(--border);padding:3px 4px 3px 10px;font-size:12px}.reading-pin-item.thumb .reading-pin-view{flex:1 1;min-height:0;display:flex;flex-direction:column;justify-content:safe center}.reading-pin-item.thumb[data-dragging=true]{opacity:.45}.reading-pin-thumb-hit{position:absolute;inset:0 0 30px 0;border:0;background:transparent;cursor:pointer;touch-action:none;border-radius:var(--r-lg) var(--r-lg) 0 0}.reading-pin-thumb-hit:hover{background:color-mix(in oklab,var(--accent) 6%,transparent)}.reading-pin-lightbox{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-start;justify-content:center;padding:max(24px,4vh) 24px;background:oklch(.25 .01 160/.35)}.reading-pin-lightbox-panel{width:min(1000px,100%);max-height:100%;display:flex}.reading-pin-lightbox-panel>.reading-pin-item{flex:1 1;min-width:0;max-height:100%;overflow-y:auto;box-shadow:var(--shadow-float)}.reading-pin-lightbox-panel .reading-pin-bar{font-size:14px;padding:6px 8px 6px 14px}.reading-pin-lightbox-panel .reading-pin-view{margin:0 auto}.reading-pin-item{position:relative;flex:none;border:1px solid var(--accent-border);border-radius:var(--r-lg);background:var(--surface)}.reading-pin-bar{position:-webkit-sticky;position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 6px 4px 10px;border-bottom:1px solid var(--border);background:var(--accent-weak-2);font-size:12px;color:var(--text-2)}.reading-pin-title{display:inline-flex;align-items:center;gap:5px;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.reading-pin-title svg{color:var(--accent-text);flex:none}.reading-pin-view{overflow:hidden;pointer-events:none;padding:0;margin:0 8px}.reading-pin-clone{display:flow-root}.reading-pin-ink{position:absolute;top:0;left:0;pointer-events:none}.reading-pin-placeholder{display:flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:60px;max-width:100%;border:1px dashed var(--border);border-radius:var(--r-lg);background:var(--surface-2);color:var(--text-2);font-size:14px}.reading-pin-end[data-drop=true]:before,.reading-pin-item.thumb[data-drop=true]:before{content:"";position:absolute;top:0;bottom:0;left:-6px;width:2px;border-radius:2px;background:var(--accent)}.reading-pin-end{position:relative;flex:none;width:6px;align-self:stretch}.reading-pin-handles{position:absolute;inset:0;z-index:6;pointer-events:none}.reading-pin-handle{position:absolute;left:-26px;width:22px;height:22px;pointer-events:auto;touch-action:none;background:var(--surface)}.reading-pin-handle[aria-pressed=true]{opacity:1;border-color:var(--accent-border);background:var(--accent-weak);color:var(--accent-text)}.reading-pin-handle.part{width:18px;height:18px}.reading-pin-part{margin:0 auto}.reading-pin-part>[data-pin-part]{margin:0;position:static}.reading-split>.reading-body>.reading-ink-toolbar.sticky .reading-ink-tool .reading-ink-label{display:none}.reading-split>.reading-body>.reading-ink-toolbar.sticky{gap:6px}.guest-btn{display:inline-block;border:1px solid var(--border-2);background:var(--surface);color:var(--text);border-radius:var(--r-md);padding:10px 16px;font:inherit;font-size:14px;font-weight:650;text-decoration:none;cursor:pointer}.guest-btn:hover{background:var(--surface-2)}.guest-btn-primary,.guest-btn-primary:hover{background:var(--cta);border-color:var(--cta);color:var(--cta-ink)}.guest-dialog{width:min(400px,calc(100vw - 32px));padding:24px;border:1px solid var(--border);border-radius:var(--r-xl);background:var(--surface);color:var(--text);box-shadow:var(--shadow-float)}.guest-dialog::-webkit-backdrop{background:oklch(.2 .01 160/.45)}.guest-dialog::backdrop{background:oklch(.2 .01 160/.45)}.guest-notice-card{max-width:480px;margin:24px auto;padding:24px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface)}.guest-notice-title{margin:0 0 8px;font-size:17px;font-weight:750}.guest-notice-text{margin:0;font-size:14px;line-height:1.7;color:var(--text-2);word-break:keep-all}.guest-notice-text a{color:inherit}.guest-notice-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.landing{--l-ink:#1e2430;--l-grid:#dfe8f5;--l-red:#d8322b;--l-pen:var(--cta);--l-mute:#5e6675;--l-rule:#d9dee6;min-height:100dvh;display:flex;flex-direction:column;background:#fff;color:var(--l-ink);word-break:keep-all}.landing a{color:inherit}.landing :focus-visible{outline-color:var(--l-pen)}.landing-wrap{width:100%;max-width:1160px;margin:0 auto;padding-left:36px;padding-right:36px}.landing>main{flex:1 1}.landing-top-hero{border-bottom:1px solid var(--l-rule)}.landing-top{background:linear-gradient(var(--l-grid) 1px,transparent 1px) 0 0 /24px 24px,linear-gradient(90deg,var(--l-grid) 1px,transparent 1px) 0 0 /24px 24px,#fff}.landing-bar{display:flex;align-items:center;justify-content:space-between;height:72px;font-size:15px}.landing-brand{font-size:17px;font-weight:800;letter-spacing:-.02em}.landing-hero{display:grid;grid-template-columns:1fr 1fr;grid-gap:48px;gap:48px;align-items:start;padding-top:72px;padding-bottom:96px}.landing-hero h1{margin:0;font-size:clamp(32px,4.4vw,56px);font-weight:800;line-height:1.22;letter-spacing:-.04em}.landing-sub{max-width:24em;margin:24px 0 0;font-size:16.5px;line-height:1.7;color:var(--l-mute)}.landing-cta{display:flex;align-items:center;gap:20px;margin-top:36px;font-size:15px}.landing a.landing-btn{padding:12px 22px;border-radius:999px;background:var(--l-pen);color:#fff;font-weight:700;text-decoration:none}.landing a.landing-btn:hover{background:var(--l-ink)}.landing-q{margin:0;font-size:15px;line-height:24px;font-weight:600}.landing-hand{margin-top:24px;font-family:var(--font-pen),cursive;font-size:31px;line-height:48px;color:#2b3140}.landing-hand p{margin:0;white-space:nowrap}.landing-wrong{position:relative;display:inline-block}.landing-wrong svg{position:absolute;inset:-4px -14px;width:calc(100% + 28px);height:calc(100% + 8px);overflow:visible}.landing-wrong path{fill:none;stroke:var(--l-red);stroke-width:2.4;stroke-linecap:round;stroke-dasharray:1}.landing-hand .landing-red{margin-left:96px;white-space:normal;color:var(--l-red);transform:rotate(-2deg);transform-origin:left}@media (prefers-reduced-motion:no-preference){.landing-hand p:first-child{animation:landing-w1 14s linear infinite}.landing-hand p:nth-child(2){animation:landing-w2 14s linear infinite}.landing-hand p:nth-child(3){animation:landing-w3 14s linear infinite}.landing-wrong path{animation:landing-circle 14s linear infinite}.landing-hand .landing-red{animation:landing-note 14s linear infinite}}@keyframes landing-w1{0%{-webkit-clip-path:inset(-10px 100% -10px 0);clip-path:inset(-10px 100% -10px 0);opacity:1}9%,90%{-webkit-clip-path:inset(-10px -20px -10px 0);clip-path:inset(-10px -20px -10px 0);opacity:1}96%,to{-webkit-clip-path:inset(-10px -20px -10px 0);clip-path:inset(-10px -20px -10px 0);opacity:0}}@keyframes landing-w2{0%,12%{-webkit-clip-path:inset(-10px 100% -10px 0);clip-path:inset(-10px 100% -10px 0);opacity:1}20%,90%{-webkit-clip-path:inset(-10px -20px -10px 0);clip-path:inset(-10px -20px -10px 0);opacity:1}96%,to{-webkit-clip-path:inset(-10px -20px -10px 0);clip-path:inset(-10px -20px -10px 0);opacity:0}}@keyframes landing-w3{0%,23%{-webkit-clip-path:inset(-10px 100% -10px 0);clip-path:inset(-10px 100% -10px 0);opacity:1}31%,90%{-webkit-clip-path:inset(-10px -20px -10px 0);clip-path:inset(-10px -20px -10px 0);opacity:1}96%,to{-webkit-clip-path:inset(-10px -20px -10px 0);clip-path:inset(-10px -20px -10px 0);opacity:0}}@keyframes landing-circle{0%,38%{stroke-dashoffset:1}44%,to{stroke-dashoffset:0}}@keyframes landing-note{0%,48%{opacity:0}51%,90%{opacity:1}96%,to{opacity:0}}.landing-cap{margin:24px 0 0;font-size:14px;line-height:24px;color:var(--l-mute)}.landing-body{padding-top:72px;padding-bottom:96px}.landing-body>*+*{margin-top:80px}.landing-body dd,.landing-stats{margin:0}.landing-stats{display:flex;flex-wrap:wrap;gap:28px 56px}.landing-stats>div{display:flex;flex-direction:column}.landing-stats dt{order:2;margin-top:6px;font-size:14px;font-weight:600}.landing-stats dd{order:1;font-size:34px;font-weight:800;line-height:1.1;letter-spacing:-.03em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.landing-stats dd.landing-stat-sub{order:3;font-size:13px;font-weight:400;line-height:1.5;letter-spacing:0;color:var(--l-mute)}.landing-deck{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);grid-gap:48px;gap:48px;align-items:center}.landing-deck p{margin:16px 0 20px;font-size:15.5px;line-height:1.7;color:var(--l-mute)}.landing-deck a{font-size:15px;font-weight:700;text-underline-offset:4px}.landing-deck a:hover{color:var(--l-pen)}.landing-deck-flip{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.landing-deck-flip>div{order:2}.landing-tan{margin:0;display:flex;flex-direction:column;gap:12px}.landing-tan svg{display:block;width:100%;height:auto;border:1px solid var(--l-rule);border-radius:var(--r-sm);background:#fff}.landing-tan .grid{fill:none;stroke:var(--l-grid);stroke-width:1}.landing-tan .axis{stroke:var(--l-mute);stroke-width:1.2}.landing-tan .curve{fill:none;stroke:var(--l-ink);stroke-width:2.4}.landing-tan .sec{stroke:var(--l-mute);stroke-width:1.5;stroke-dasharray:5 4}.landing-tan .tan{stroke:var(--l-red);stroke-width:2.2}.landing-tan .p{fill:var(--l-red)}.landing-tan .q{fill:#fff;stroke:var(--l-ink);stroke-width:1.8}.landing-tan .lead{fill:none;stroke:var(--l-mute);stroke-width:1}.landing-tan .lbl{font:700 13px ui-monospace,SF Mono,Menlo,monospace;fill:var(--l-ink)}.landing-tan .lbl.red{fill:var(--l-red)}.landing-tan-ctl{display:grid;grid-template-columns:auto minmax(0,1fr) 5ch;grid-gap:14px;gap:14px;align-items:center;font-size:15px;font-weight:700}.landing-tan-ctl input{width:100%;min-height:32px;accent-color:var(--l-pen)}.landing-tan-ctl output{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.landing-tan figcaption{font-size:14px;line-height:1.6;color:var(--l-mute)}.landing-tan figcaption b{color:var(--l-ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.landing-loop{display:block;width:100%;aspect-ratio:16/9;border-radius:var(--r-sm);background:#000}.landing-note{max-width:44em;margin:24px 0 0;font-size:15px;line-height:1.7;color:var(--l-mute)}.landing-features{margin-bottom:0;display:grid;grid-template-columns:1fr 1fr;grid-gap:40px 64px;gap:40px 64px;max-width:880px}.landing-features dt{font-size:20px;font-weight:800;letter-spacing:-.02em}.landing-features dd{margin-top:8px;font-size:15.5px;line-height:1.7;color:var(--l-mute)}.landing-body h2{margin:0;font-size:28px;font-weight:800;letter-spacing:-.03em;scroll-margin-top:24px}.landing-courses{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:48px;gap:48px;margin-top:32px}.landing-course h3{min-height:3em;margin:0;font-size:15px;font-weight:700;line-height:1.5}.landing-row{display:flex;justify-content:space-between;gap:12px;width:100%;padding:12px 0;border:0;border-top:1px solid var(--l-rule);background:none;font:inherit;font-size:15px;line-height:1.55;text-align:left;text-decoration:none;cursor:pointer}.landing-row:hover{color:var(--l-pen);text-decoration:underline;text-underline-offset:4px}.landing-row.lock,.landing-row.lock:hover{color:var(--l-mute);text-decoration:none}.landing-row.lock span{font-size:13px;white-space:nowrap}.landing-foot{justify-content:space-between;gap:6px 16px;padding-top:24px;padding-bottom:40px;border-top:1px solid var(--l-rule);font-size:13px;line-height:1.8;color:var(--l-mute)}.landing-biz,.landing-foot{display:flex;flex-wrap:wrap}.landing-biz{gap:0 14px}@media (max-width:820px){.landing-wrap{padding-left:20px;padding-right:20px}.landing-hero{grid-template-columns:1fr;padding-top:48px;padding-bottom:64px}.landing-hand{font-size:25px}.landing-hand .landing-red{margin-left:24px}.landing-courses,.landing-deck,.landing-features{grid-template-columns:1fr;gap:32px}.landing-deck-flip>div{order:0}.landing-course h3{min-height:0}}@media (pointer:coarse){.icon-btn,.lesson-search-icon-btn,.send{width:44px;height:44px}.rail .avatar{width:40px;height:40px}.lesson-back{padding:12px 10px 12px 0;margin:-12px 0}}@media (hover:none){.fq-chip:hover:not(:disabled),.growth-race-primary:hover,.limit-pilot-primary:not(:disabled):hover,.pp-badge:hover,.quiz-option:hover{transform:none}.composer-hint,.lesson-search-bar kbd{display:none}}@keyframes surface-in{0%{opacity:0;scale:.9;translate:0 var(--in-y,-10px)}}@keyframes fade-in{0%{opacity:0}}.guest-dialog[open],.lesson-switcher-menu,.ls-dialog,.persona-pop,.reading-ink-popover,.reading-ink-selmenu{animation:surface-in var(--dur-slow) var(--ease-smooth-out)}.guest-dialog[open]::-webkit-backdrop{animation:fade-in var(--dur-fast) ease-out}.guest-dialog[open]::backdrop,.ls-overlay{animation:fade-in var(--dur-fast) ease-out}@keyframes surface-out{to{opacity:0;scale:.96;translate:0 calc(var(--in-y, -10px) * .6)}}@keyframes fade-out{to{opacity:0}}.surface-out{animation:surface-out var(--dur-quick) ease-in forwards;pointer-events:none}.ls-overlay.surface-out{animation:fade-out var(--dur-quick) ease-in forwards}.ls-dialog{transform-origin:top center}.lesson-switcher-menu,.persona-pop{transform-origin:top right}.persona-menu.up .persona-pop,.reading-ink-selmenu{transform-origin:bottom left;--in-y:10px}.reading-ink-popover,.reading-ink-selmenu.below{transform-origin:top left;--in-y:-10px}.reading-ink-toolbar.in-head .reading-ink-menu{transform-origin:top right}@media (min-height:461px){.reading-ink-toolbar.vertical .reading-ink-popover{transform-origin:top right}}@media (prefers-reduced-motion:reduce){.guest-dialog[open]::-webkit-backdrop{animation:none}.guest-dialog[open],.guest-dialog[open]::backdrop,.lesson-switcher-menu,.ls-dialog,.ls-overlay,.persona-pop,.reading-ink-popover,.reading-ink-selmenu{animation:none}.surface-out{display:none}}@keyframes choice-bump{40%{scale:1.03}}@keyframes choice-shake{15%{translate:-8px}30%{translate:8px}45%{translate:-6px}60%{translate:6px}75%{translate:-3px}90%{translate:2px}}@keyframes choice-ring-ok{0%{box-shadow:0 0 0 0 color-mix(in oklab,var(--ok) 45%,transparent)}to{box-shadow:0 0 0 14px transparent}}@keyframes choice-ring-bad{0%{box-shadow:0 0 0 0 color-mix(in oklab,var(--bad) 40%,transparent)}to{box-shadow:0 0 0 12px transparent}}.checkpoint-choice.sel.correct[data-picked],.derivation-choice.right[data-picked],.example-think-choice.right[data-picked],.quiz-option.sel.correct[data-picked]{animation:choice-bump .35s ease-out,choice-ring-ok .6s ease-out}.checkpoint-choice.wrong[data-picked],.derivation-choice.wrong[data-picked],.example-think-choice.wrong[data-picked],.quiz-option.wrong[data-picked]{animation:choice-shake .45s ease-in-out,choice-ring-bad .6s ease-out}.reading-pin-clone :is(.quiz-option,.checkpoint-choice,.derivation-choice,.example-think-choice){animation:none!important}@media (prefers-reduced-motion:reduce){.checkpoint-choice,.derivation-choice,.example-think-choice,.quiz-option{animation:none!important}}.rail-backdrop,.rail-toggle{display:none}@media (max-width:640px){.app{--rail-w:0px}.app>.chat{grid-column:2}.rail{position:fixed;top:0;bottom:0;left:0;z-index:46;width:240px;transform:translateX(-100%);visibility:hidden;transition:transform var(--dur-fast) var(--ease-smooth-out),visibility 0s var(--dur-fast)}.rail.open{transform:none;visibility:visible;box-shadow:var(--shadow-float);transition:transform var(--dur-fast) var(--ease-smooth-out)}.rail-backdrop{display:block;position:fixed;inset:0;z-index:45;background:oklch(.2 .02 270/.28)}.rail-toggle{display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;margin-left:-6px;border:none;border-radius:8px;background:transparent;color:var(--text-2);font:inherit;font-size:19px;cursor:pointer}.rail-toggle:hover{background:var(--surface-3)}.rail .user-pop{left:0;bottom:calc(100% + 8px)}.chat-header{padding:10px 14px;gap:8px}.empty-state{padding:24px 16px 16px}.lesson-ask-btn{min-height:44px;padding:0 4px 0 12px}.lesson-ask-text{display:none}}.bundle-section{margin:18px 0 26px}.bundle-sec-header{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:10px}.bundle-sec-sub{margin:2px 0 0;font-size:12.5px;color:var(--text-3)}.bundle-create-btn:active,.bundle-primary-btn:active:not(:disabled),.bundle-primary-link:active,.bundle-submit-btn:active:not(:disabled){transform:translateY(1px)}.bundle-create-btn{font:inherit;font-size:13px;font-weight:700;min-height:36px;padding:7px 14px;border-radius:var(--r-sm);border:1px solid var(--accent-border);background:var(--accent-weak);color:var(--accent-text);cursor:pointer}.bundle-create-btn:hover{border-color:var(--accent)}.bundle-empty-card{padding:14px 16px;border-radius:var(--r-md);border:1px dashed var(--border-2);background:var(--surface-2);font-size:13px;color:var(--text-2)}.bundle-card-grid{display:grid;border-top:1px solid var(--border)}.bundle-card{padding:14px 0;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:9px}.bundle-card-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px}.bundle-rel-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;border:1px solid var(--border)}.bundle-rel-badge.assigned{background:var(--accent-weak);color:var(--accent-text);border-color:var(--accent-border)}.bundle-rel-badge.created{background:var(--surface-2);color:var(--text-2);border-color:var(--border-2)}.bundle-rel-badge.shared{background:var(--ok-weak);color:var(--ok-text);border-color:color-mix(in oklab,var(--ok) 35%,var(--surface))}.bundle-author{color:var(--text-3);font-weight:500}.bundle-assign-tag{padding:2px 7px;border-radius:6px;background:var(--surface-2);color:var(--text-2);font-size:11px;font-weight:600}.bundle-pct-label{font-weight:700;color:var(--text-2)}.bundle-card-title-row h3{margin:0;font-size:15.5px;font-weight:700;color:var(--text)}.bundle-card-title-row h3 a{color:inherit;text-decoration:none}.bundle-card-title-row h3 a:hover{color:var(--accent-text)}.bundle-card-title-row p{margin:3px 0 0;font-size:12.5px;color:var(--text-3)}.bundle-chip-row{display:flex;flex-wrap:wrap;gap:6px}.bundle-cpt-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:6px;background:var(--surface-2);border:1px solid var(--border);font-size:12px;color:var(--text-2)}.bundle-cpt-chip b{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;background:var(--text);color:var(--surface);font-size:10px}.bundle-card-foot{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding-top:4px}.bundle-primary-btn,.bundle-primary-link{display:inline-flex;align-items:center;padding:6px 13px;border-radius:var(--r-sm);background:var(--cta);color:var(--cta-ink);font:inherit;font-size:12.5px;font-weight:700;text-decoration:none;border:none;cursor:pointer}.bundle-primary-btn:hover,.bundle-primary-link:hover{background:var(--cta-hover)}.bundle-share-banner{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 16px;margin-bottom:14px;border-radius:var(--r-md);border:1.5px solid color-mix(in oklab,var(--ok) 35%,var(--surface));background:color-mix(in oklab,var(--ok) 6%,var(--surface))}.bundle-share-main h3{margin:4px 0 2px;font-size:15px;color:var(--text)}.bundle-share-main p{margin:0 0 8px;font-size:12.5px;color:var(--text-2)}.bundle-share-cta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bundle-modal-backdrop{position:fixed;inset:0;z-index:80;background:oklch(.2 .02 270/.48);display:grid;place-items:center;padding:16px}.bundle-modal{width:min(1040px,100%);max-height:min(86vh,820px);background:var(--surface);color:var(--text);border-radius:var(--r-lg);border:1px solid var(--border);box-shadow:var(--shadow-float);display:flex;flex-direction:column;overflow:hidden}.bundle-modal-head{display:flex;justify-content:space-between;align-items:flex-start;padding:16px 20px;border-bottom:1px solid var(--border)}.bundle-modal-head h2{margin:0;font-size:17px;color:var(--text)}.bundle-modal-head p{margin:3px 0 0;font-size:12.5px;color:var(--text-3)}.bundle-close-btn{border:none;background:transparent;font-size:18px;color:var(--text-3);cursor:pointer;min-width:32px;min-height:32px;padding:4px 8px;border-radius:var(--r-sm)}.bundle-close-btn:hover{background:var(--surface-2);color:var(--text)}.bundle-modal-body{flex:1 1;min-height:0;min-width:0;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}.bundle-picker{display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden;border-right:1px solid var(--border)}.bundle-course-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:10px 14px;border-bottom:1px solid var(--border)}.bundle-tab{font:inherit;font-size:12px;font-weight:600;white-space:nowrap;min-height:28px;padding:5px 11px;border-radius:999px;border:1px solid var(--border-2);background:var(--surface-2);color:var(--text-2);cursor:pointer}.bundle-tab.on{background:var(--accent-weak);border-color:var(--accent-border);color:var(--accent-text)}.bundle-search-row{display:flex;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border)}.bundle-course-select{font:inherit;font-size:12.5px;font-weight:600;max-width:210px;min-width:130px;padding:7px 10px;background:var(--surface-2)}.bundle-course-select,.bundle-search-row input{border-radius:var(--r-sm);border:1px solid var(--border-2);color:var(--text)}.bundle-search-row input{flex:1 1;min-width:0;font:inherit;font-size:13px;padding:7px 11px;background:var(--surface)}.bundle-lecture-scroll{flex:1 1;min-height:0;overflow-y:auto;padding:8px 10px;display:flex;flex-direction:column;gap:2px}.bundle-empty{margin:0;font-size:13px;color:var(--text-3)}.bundle-course-heading{display:flex;align-items:center;gap:8px;width:100%;min-height:36px;padding:6px 8px;margin-bottom:6px;font:inherit;font-size:12.5px;text-align:left;color:var(--text-3);background:transparent;border:none;border-radius:var(--r-sm);cursor:pointer}.bundle-course-heading:hover:not(:disabled){background:var(--surface-2)}.bundle-course-heading:disabled{cursor:default}.bundle-course-heading strong{flex:1 1;min-width:0;color:var(--text)}.bundle-course-caret{width:7px;height:7px;margin:0 3px;flex:none;border-right:2px solid var(--text-3);border-bottom:2px solid var(--text-3);transform:rotate(-45deg);transition:transform .15s ease}.bundle-course-heading[aria-expanded=true] .bundle-course-caret{transform:rotate(45deg)}.bundle-course-picked{flex:none;font-style:normal;font-size:11px;font-weight:700;padding:1px 7px;border-radius:999px;background:var(--accent-weak);color:var(--accent-text)}.bundle-course-block{min-width:0}.bundle-lec-group{border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-bottom:8px}.bundle-lec-head{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;background:var(--surface-2);color:var(--text);font-size:12.5px;font-weight:700}.bundle-lec-toggle{font:inherit;font-size:11.5px;font-weight:600;min-height:28px;padding:3px 10px;border-radius:6px;border:1px solid var(--border-2);background:var(--surface);color:var(--text-2);cursor:pointer;flex:none}.bundle-lec-toggle:hover{border-color:var(--accent-border);color:var(--accent-text)}.bundle-cpt-list{list-style:none;margin:0;padding:0}.bundle-cpt-row{display:flex;align-items:flex-start;gap:10px;padding:9px 12px;border-top:1px solid var(--border);cursor:pointer;font-size:13px;color:var(--text)}.bundle-cpt-row input[type=checkbox]{width:18px;height:18px;margin:1px 0 0;flex:none;accent-color:var(--accent);cursor:pointer}.bundle-cpt-row.on{background:var(--accent-weak-2)}.bundle-cpt-main{flex:1 1;min-width:0}.bundle-cpt-title{display:flex;align-items:center;gap:6px;font-weight:600}.bundle-done-pill{font-style:normal;font-size:10.5px;font-weight:700;padding:1px 6px;border-radius:999px;background:var(--ok-weak);color:var(--ok-text)}.bundle-cpt-meta{font-size:11.5px;color:var(--text-3);margin-top:2px}.bundle-cart{min-height:0;min-width:0;overflow-y:auto;padding:14px 16px;gap:10px}.bundle-cart,.bundle-field{display:flex;flex-direction:column}.bundle-field{gap:4px}.bundle-field label{font-size:12px;font-weight:700;color:var(--text-2)}.bundle-field input{font:inherit;font-size:13px;padding:7px 10px;border-radius:var(--r-sm);border:1px solid var(--border-2);background:var(--surface);color:var(--text)}.bundle-course-select:focus-visible,.bundle-field input:focus-visible,.bundle-search-row input:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}.bundle-cart-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:4px;font-size:12px;color:var(--text-2)}.bundle-cart-head strong{color:var(--text)}.bundle-selected-list{list-style:none;margin:0;padding:0;flex:none;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.bundle-selected-empty{padding:24px 14px;text-align:center;font-size:12.5px;color:var(--text-3)}.bundle-selected-item{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;background:var(--surface);border-bottom:1px solid var(--border)}.bundle-ord{width:20px;height:20px;border-radius:50%;background:var(--text);color:var(--surface);font-size:11px;font-weight:700;display:grid;place-items:center;flex:none}.bundle-selected-info{flex:1 1;min-width:0}.bundle-selected-title{font-size:12.5px;font-weight:600;color:var(--text);overflow-wrap:anywhere}.bundle-selected-src{font-size:11px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bundle-selected-actions{display:flex;gap:4px}.bundle-selected-actions button{font:inherit;font-size:11px;min-width:28px;min-height:28px;padding:3px 6px;border-radius:6px;border:1px solid var(--border-2);background:var(--surface);color:var(--text-2);cursor:pointer}.bundle-selected-actions button:hover:not(:disabled){border-color:var(--accent-border);color:var(--accent-text)}.bundle-selected-actions button:disabled{opacity:.35;cursor:default}.bundle-assign-panel{padding:10px 12px;border-radius:8px;border:1px solid var(--accent-border);background:var(--accent-weak-2);display:flex;flex-direction:column;gap:8px}.bundle-assign-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px;font-size:12px;color:var(--text)}.bundle-assign-all{display:inline-flex;align-items:center;gap:6px;min-height:28px;font-weight:600;cursor:pointer}.bundle-assign-all input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:var(--accent)}.bundle-student-chips{display:flex;flex-wrap:wrap;gap:6px}.bundle-stu-chip{display:inline-flex;align-items:center;gap:4px;font:inherit;font-size:12px;min-height:30px;padding:4px 11px;border-radius:999px;border:1px solid var(--border-2);background:var(--surface);color:var(--text-2);cursor:pointer}.bundle-stu-chip.on{border-color:var(--accent-border);background:var(--info-bg);color:var(--info-tx);font-weight:600}.bundle-error{margin:0;font-size:12px;color:var(--bad-text);font-weight:600}.bundle-modal-foot{flex:none;display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--border);background:var(--surface)}.bundle-submit-btn{font:inherit;font-size:13px;font-weight:700;min-height:36px;padding:8px 16px;border-radius:var(--r-sm);border:none;background:var(--cta);color:var(--cta-ink);cursor:pointer}.bundle-submit-btn:disabled{opacity:.45;cursor:default}@media (max-width:780px){.bundle-modal-backdrop{padding:8px}.bundle-modal{max-height:calc(100dvh - 16px)}.bundle-modal-head{padding:12px 16px}.bundle-modal-body{display:block;overflow-y:auto;overscroll-behavior:contain}.bundle-picker{overflow:visible;border-right:none;border-bottom:1px solid var(--border)}.bundle-search-row{flex-direction:column}.bundle-course-select{max-width:none;min-width:0}.bundle-lecture-scroll{flex:none;overflow:visible}.bundle-cart{overflow:visible}.bundle-modal-foot{padding:10px 16px calc(10px + env(safe-area-inset-bottom, 0px))}}.lesson-source-badge{font-weight:600;color:var(--text-3)}.wb-cell{text-align:left!important}.wb-line{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;margin-top:6px;font-size:13px;color:var(--text)}.wb-line b{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.wb-line .meta{color:var(--text-2);font-size:12px}.wb-line .wb-status{margin-left:auto}.wb-status{font-style:normal;font-weight:600;font-size:12px;white-space:nowrap}.wb-status.assigned{color:var(--accent-text);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.wb-status.graded{color:var(--ok-text)}.wb-status.pending{color:var(--text-3)}.wb-table-card{max-width:860px;margin:0 auto;border:1px solid var(--border);border-radius:8px;background:var(--surface);overflow:hidden}.wb-table-hd{padding:14px 18px 10px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.wb-table-hd .k{color:var(--accent-text);font-size:12px;font-weight:600;letter-spacing:.02em}.wb-table-hd h3{margin:0;font-size:16px;font-weight:600;letter-spacing:-.01em}.wb-table-hd .meta{margin-left:auto;color:var(--text-3);font-size:12px}table.wb-t{width:100%;border-collapse:collapse;font-size:13px}.wb-t th{text-align:left;padding:8px 18px;font-size:12px;font-weight:600;color:var(--text-3);border-top:1px solid var(--border);background:var(--surface-2)}.wb-t td,.wb-t th{border-bottom:1px solid var(--border)}.wb-t td{padding:9px 18px;vertical-align:baseline}.wb-t tr:last-child td{border-bottom:0}.wb-t td.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.wb-t td.num b{font-weight:600}.wb-t td.num .meta{color:var(--text-2);font-size:12px}.wb-t td.dash{color:var(--text-3)}.wb-t tr.group td{padding:7px 18px;background:var(--accent-weak-2);border-top:1px solid var(--accent-border);border-bottom:1px solid var(--accent-border);font-size:12px;font-weight:600;color:var(--accent-text)}.wb-t tr.group td .wb-status{float:right}.wb-t tr.group.graded td{background:var(--ok-weak);border-color:color-mix(in oklab,var(--ok) 35%,var(--border));color:var(--ok-text)}.wb-t tr.in-group td:first-child{padding-left:30px}.wb-t td.type{color:var(--text)}@media (max-width:640px){.wb-table-card{overflow-x:auto}.wb-t td,.wb-t th{padding-left:12px;padding-right:12px}}