:root{--topbar-h:46px;--chat-w:470px;--rail-w:58px;--rail-w-open:214px;--shadow:0 1px 2px color-mix(in srgb, var(--c-ink) 4%, transparent);--on-deep:#f4f3ee}*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0;overflow:hidden}body{padding-left:var(--rail-w)}body.paper{--grain-op:.22;font-size:16px;line-height:1.6;overflow:hidden}body.paper:after{z-index:300}@media (max-width:640px){body{padding-bottom:56px;padding-left:0}}.wrap{max-width:860px;margin:0 auto;padding:0 22px}h1,h2,h3{color:var(--c-ink);font-family:var(--f);letter-spacing:-.035em;margin:0;font-weight:420;line-height:1.15}h1{font-size:clamp(34px,5.4vw,58px);font-weight:var(--w-head);letter-spacing:-.045em;text-wrap:balance;line-height:1.04}h2{margin-bottom:6px;font-size:clamp(24px,3.2vw,32px)}h3{letter-spacing:-.02em;margin-bottom:4px;font-size:19px;font-weight:500}p{margin:0 0 16px}.lede{max-width:56ch;color:var(--soft);font-size:19px;font-weight:400;line-height:1.6}.eyebrow{color:var(--c-accent-ink);font:500 12.5px var(--mono);letter-spacing:0;margin-bottom:12px;display:block}strong{font-weight:600}mark{background:linear-gradient(transparent 62%, var(--c-error-soft) 62%);color:inherit;padding:0 2px}.m,.mi{font-family:var(--mono);font-variant-ligatures:none;letter-spacing:0;direction:ltr;unicode-bidi:isolate}.m{border:1px solid var(--line-2);border-inline-start:2px solid var(--c-accent);border-radius:var(--r-xs);background:var(--sheet);text-align:left;white-space:pre-wrap;margin:18px 0;padding:14px 18px;font-size:15px;line-height:2.05;display:block;overflow-x:auto}.m.res{border-inline-start-color:var(--c-error);background:var(--win)}.m .cmt{color:var(--soft);font-size:13px}.mi{border:1px solid var(--line);background:var(--sheet);border-radius:3px;padding:0 6px;font-size:.9em;display:inline-block}button{border-radius:var(--r-xs);background:var(--c-ink);color:var(--on-ink);font:500 15px / 1.25 var(--f);letter-spacing:-.01em;cursor:pointer;border:none;padding:10px 18px;transition:background .3s,color .3s,box-shadow .3s,transform .15s}button:hover{background:color-mix(in srgb, var(--c-ink) 86%, var(--paper))}button:active{transform:scale(.98)}button.ghost{color:var(--c-ink);box-shadow:inset 0 0 0 1px var(--line);background:0 0}button.ghost:hover{background:var(--sheet);box-shadow:inset 0 0 0 1px var(--handle)}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,.opt:focus-visible,a:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}input[type=range]{width:100%;height:22px;accent-color:var(--c-accent);appearance:none;background:0 0}input[type=range]::-webkit-slider-runnable-track{background:var(--line);border-radius:2px;height:2px}input[type=range]::-webkit-slider-thumb{border:1.5px solid var(--c-accent);background:var(--win);width:14px;height:14px;box-shadow:0 1px 3px color-mix(in srgb, var(--c-ink) 18%, transparent);cursor:grab;-webkit-appearance:none;transition:transform .3s var(--out);border-radius:3px;margin-top:-6px}input[type=range]:active::-webkit-slider-thumb{cursor:grabbing;transform:scale(1.15)}input[type=range]::-moz-range-track{background:var(--line);border-radius:2px;height:2px}input[type=range]::-moz-range-thumb{border:1.5px solid var(--c-accent);background:var(--win);border-radius:3px;width:12px;height:12px}.sr-only,.bf-sr,.drill-sr{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{inset-inline-start:-9999px;z-index:200;border-radius:var(--r-sm);background:var(--win);box-shadow:var(--shadow-pop);color:var(--c-ink);padding:8px 14px;position:absolute;top:8px}.skip-link:focus{inset-inline-start:calc(var(--rail-w) + 8px)}.draw{stroke-dasharray:1400;stroke-dashoffset:1400px;animation:draw 1.9s var(--fold) forwards}@keyframes draw{to{stroke-dashoffset:0}}.fade{opacity:0;animation:.9s .9s forwards fade}@keyframes fade{to{opacity:1}}@keyframes tick-in{0%{opacity:0;transform:scale(.6)}}@keyframes nudge{20%{transform:translate(-4px)}40%{transform:translate(3px)}60%{transform:translate(-2px)}80%{transform:translate(1px)}}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}.draw{stroke-dashoffset:0}.fade{opacity:1}}
.rail{z-index:125;width:var(--rail-w);border-right:1px solid var(--line);background:var(--panel);transition:width .45s var(--out), box-shadow .45s;flex-direction:column;justify-content:space-between;padding:10px 8px 12px;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.rail:hover,.rail:focus-within{width:var(--rail-w-open);box-shadow:var(--shadow-pop)}.rail-group,.rail-foot{flex-direction:column;gap:2px;display:flex}.rail-item{border-radius:var(--r-sm);width:100%;height:40px;color:var(--soft);font:500 14.5px var(--f);letter-spacing:-.01em;text-align:start;white-space:nowrap;cursor:pointer;background:0 0;border:none;align-items:center;gap:12px;padding:0 10px;transition:background .3s,color .3s,box-shadow .3s;display:flex;position:relative}a.rail-item{text-decoration:none}.rail-item:hover{background:var(--sheet);color:var(--c-ink)}.rail-item[aria-pressed=true],.rail-item[aria-current=page]{background:var(--win);color:var(--c-ink);box-shadow:0 0 0 1px var(--line), 0 1px 2px color-mix(in srgb, var(--c-ink) 6%, transparent)}.rail-item:before{content:"";background:var(--c-accent);width:2px;transition:transform .5s var(--out);border-radius:0 2px 2px 0;position:absolute;top:10px;bottom:10px;left:-8px;transform:scaleY(0)}.rail-item[aria-current=page]:before,.rail-item[aria-pressed=true]:before{transform:none}.rail-ico{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex:0 0 20px;width:20px;height:20px}.rail-label{opacity:0;pointer-events:none;transition:opacity .3s, transform .45s var(--out);transform:translate(-4px)}.rail:hover .rail-label,.rail:focus-within .rail-label{opacity:1;transform:none}.acct-chip{position:relative}.acct-avatar{object-fit:cover;border-radius:50%;flex:0 0 20px;width:20px;height:20px}.acct-bal{background:var(--c-accent);min-width:16px;height:16px;color:var(--c-on-accent);font:500 10px / 16px var(--mono);letter-spacing:0;text-align:center;border-radius:99px;padding:0 4px;position:absolute;top:4px;left:24px}.rail:hover .acct-bal,.rail:focus-within .acct-bal{margin-inline-start:auto;position:static}@media (max-width:640px){.rail{z-index:126;border-right:none;border-top:1px solid var(--line);flex-direction:row;justify-content:space-around;width:auto;height:56px;padding:6px 8px;position:fixed;inset:auto 0 0}.rail:hover,.rail:focus-within{width:auto;box-shadow:none}.rail-group,.rail-foot{flex-direction:row;gap:2px}.rail-label{display:none}.rail-item{height:44px}.rail-item:before{border-radius:0 0 2px 2px;width:auto;height:2px;inset:-6px 10px auto;transform:scaleX(0)}}
.deck{z-index:1;scroll-snap-type:y mandatory;scrollbar-width:none;height:100dvh;transition:margin .45s var(--out);position:relative;overflow:hidden auto}.deck::-webkit-scrollbar{width:0;height:0}.slide{border-bottom:1px solid var(--line);scroll-snap-align:start;flex-direction:column;height:100dvh;font-size:17px;line-height:1.7;display:flex;position:relative}.slide:last-child{border-bottom:none}.slide-inner{padding:calc(var(--topbar-h) + 30px) 0 104px;scrollbar-width:thin;scrollbar-color:var(--handle) transparent;flex:auto;overflow:hidden auto}.slide.hero .slide-inner{padding-top:calc(var(--topbar-h) + 48px)}.slide h2{margin-bottom:14px}header.hero-head{padding:0 0 10px}.hero-figure{margin:34px 0 8px}.card{border:1px solid var(--line);border-radius:var(--r-md);background:var(--win);box-shadow:var(--shadow);margin:20px 0;padding:20px 22px}.grid{gap:12px;display:grid}@media (min-width:640px){.grid.g2{grid-template-columns:1fr 1fr}}.sym{border:1px solid var(--line);border-radius:var(--r-md);background:var(--win);align-items:flex-start;gap:16px;padding:16px 18px;display:flex}.sym .glyph{min-width:56px;color:var(--c-accent-ink);font-family:var(--mono);text-align:center;direction:ltr;unicode-bidi:isolate;font-size:24px;font-weight:500;line-height:1.4}.sym .txt{font-size:16px;line-height:1.65}.sym .txt b{color:var(--c-ink);font-size:15px;font-weight:500;display:block}.sym .txt span{color:var(--soft)}.controls{flex-wrap:wrap;align-items:center;gap:20px;margin-top:14px;display:flex}.ctl{flex:220px}.ctl label{color:var(--soft);justify-content:space-between;align-items:baseline;margin-bottom:4px;font-size:14px;display:flex}.ctl label .val{color:var(--c-error-ink);font:500 14px var(--mono);letter-spacing:0;direction:ltr;unicode-bidi:isolate}figure{margin:22px 0}.slide figure{border:1px solid var(--line-2);border-radius:var(--r-md);background-color:var(--sheet);background-image:linear-gradient(color-mix(in srgb, var(--c-ink) 4%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--c-ink) 4%, transparent) 1px, transparent 1px);background-size:10px 10px;padding:14px}figure svg{width:100%;height:auto;display:block}figure svg text,.trk-fig svg text{font-family:var(--mono);letter-spacing:0}figcaption{color:var(--soft);margin-top:8px;font-size:14px;line-height:1.6}.readout{font:13.5px var(--mono);letter-spacing:0;direction:ltr;unicode-bidi:isolate;flex-wrap:wrap;gap:8px 14px;margin-top:10px;display:flex}.readout span{border:1px solid var(--line);background:var(--win);border-radius:3px;padding:3px 9px}.step{margin:34px 0;padding-inline-start:52px;position:relative}.step .num{inset-inline-start:0;border-radius:var(--r-sm);background:var(--win);width:32px;height:32px;box-shadow:inset 0 0 0 1px var(--line);color:var(--c-accent-ink);font:500 14px var(--mono);letter-spacing:0;place-items:center;display:grid;position:absolute;top:2px}.trap{border-inline-start:2px solid var(--c-highlight);background:var(--note-bg);border-start-end-radius:var(--r-sm);border-end-end-radius:var(--r-sm);margin:18px 0;padding:16px 20px}.trap b{color:var(--note-ink)}.q{border:1px solid var(--line);border-radius:var(--r-md);background:var(--win);margin:16px 0;padding:18px 20px}.q .qt{margin-bottom:12px;font-weight:500}.opts{gap:8px;display:grid}.opt{border-radius:var(--r-sm);background:var(--sheet);box-shadow:inset 0 0 0 1px var(--line);color:var(--c-ink);font:inherit;text-align:start;cursor:pointer;border:0;padding:10px 14px;font-size:16px;transition:box-shadow .3s,background .3s;position:relative}.opt:hover{background:var(--sheet);box-shadow:inset 0 0 0 1px var(--c-accent)}.opt.right,.opt.wrong{padding-inline-end:40px}.opt.right{background:var(--c-accent-soft);box-shadow:inset 0 0 0 1.5px var(--c-accent);font-weight:500}.opt.wrong{background:var(--c-error-soft);box-shadow:inset 0 0 0 1.5px var(--c-error);animation:nudge .45s var(--out)}.opt.right:after,.opt.wrong:after{inset-inline-end:14px;animation:tick-in .45s var(--out);margin-top:-.6em;font-weight:600;line-height:1.2;position:absolute;top:50%}.opt.right:after{content:"✓";color:var(--c-accent-ink)}.opt.wrong:after{content:"✗";color:var(--c-error-ink)}.fb{min-height:0;color:var(--soft);margin-top:10px;font-size:15px}.fb:empty{display:none}.toc{border:1px solid var(--line);border-radius:var(--r-md);background:var(--win);margin:30px 0 0;padding:18px 22px}.toc ol{margin:8px 0 0;padding-inline-start:22px;line-height:2}.toc li::marker{color:var(--faint);font-family:var(--mono);font-size:13px}.toc a{color:var(--c-ink);background:linear-gradient(var(--line), var(--line)) 0 100% / 100% 1px no-repeat;text-decoration:none;transition:color .3s,background .4s}.toc a:hover{color:var(--c-accent-ink);background-image:linear-gradient(var(--c-accent), var(--c-accent))}.answer-final{border-radius:var(--r-md);background:var(--c-deep);color:var(--on-deep);margin:26px 0;padding:24px 26px}.answer-final h2,.answer-final h3,.answer-final b,.answer-final strong{color:var(--on-deep)}.answer-final .m{border-color:color-mix(in srgb, var(--on-deep) 14%, transparent);border-inline-start-color:var(--c-highlight);background:color-mix(in srgb, var(--on-deep) 7%, transparent);color:var(--on-deep)}.topbar{inset-inline:0;left:var(--rail-w);z-index:120;height:var(--topbar-h);border-bottom:1px solid var(--line);background:var(--topbar-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);align-items:center;gap:14px;padding:0 14px;display:flex;position:fixed;top:0}.tb-count{color:var(--faint);font:12px var(--mono);letter-spacing:0;white-space:nowrap;direction:ltr;unicode-bidi:isolate}.segs{flex:auto;align-items:center;gap:3px;min-width:0;display:flex}.seg{background:linear-gradient(var(--handle), var(--handle)) 0 7px / 1px 8px no-repeat;cursor:pointer;border:none;border-radius:0;flex:1 1 0;min-width:6px;height:22px;padding:0;display:block;position:relative}.seg:hover{background:linear-gradient(var(--handle), var(--handle)) 0 7px / 1px 8px no-repeat}.seg:active{transform:none}.seg:before{content:"";inset-inline:0;background:var(--line);height:2px;transition:background .35s;position:absolute;top:10px}.seg:hover:before{background:color-mix(in srgb, var(--c-accent) 45%, var(--line))}.seg.done:before{background:var(--c-accent)}.seg.current:before{background:var(--c-error)}.seg.passed:after{content:"";background:var(--c-accent);border-radius:50%;width:4px;height:4px;position:absolute;top:2px;left:50%;transform:translate(-50%)}.seg.current:after{content:"";border:1.5px solid var(--c-error);background:var(--sheet);width:8px;height:8px;animation:tick-in .45s var(--out);border-radius:1px;position:absolute;top:11px;left:50%;transform:translate(-50%,-50%)}.seg:focus-visible{outline:2px solid var(--c-accent);outline-offset:1px;border-radius:2px}.tb-right{align-items:center;gap:8px;display:flex}.tb-btn{border-radius:var(--r-xs);box-shadow:inset 0 0 0 1px var(--line);color:var(--soft);white-space:nowrap;background:0 0;padding:5px 10px;font-size:12.5px;font-weight:500}.tb-btn:hover{background:var(--win);color:var(--c-ink)}.tb-btn[aria-pressed=true]{background:var(--c-accent);box-shadow:none;color:var(--c-on-accent)}.tb-btn:disabled{opacity:.45;cursor:default}.slide-tools{bottom:16px;z-index:70;border-radius:var(--r-md);background:color-mix(in srgb, var(--win) 94%, transparent);box-shadow:var(--shadow-pop);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-wrap:wrap;align-items:center;gap:2px;padding:4px;display:flex;position:absolute;inset-inline-start:16px}.st{color:var(--soft);background:0 0;border:none;border-radius:5px;padding:6px 11px;font-size:13px;font-weight:500}.st:hover{background:var(--sheet);color:var(--c-ink)}.st[aria-pressed=true]{background:var(--c-ink);color:var(--on-ink)}.st[disabled]{opacity:.4;cursor:not-allowed}.st[disabled]:hover{color:var(--soft);background:0 0}.st.busy{background:var(--c-highlight-soft);color:var(--c-accent-ink)}.st-icon{font-family:var(--mono);padding:6px 9px}.slide-tools a.st{align-items:center;line-height:1.5;text-decoration:none;display:inline-flex}.practice-btn{border-radius:var(--r-xs);box-shadow:inset 0 0 0 1px var(--line);color:var(--soft);background:0 0;padding:6px 12px;font-size:13px}.practice-btn:hover{background:var(--c-ink);box-shadow:none;color:var(--on-ink)}@media (max-width:720px){.tb-count{display:none}.tb-btn{padding:5px 8px;font-size:11.5px}.slide-tools{inset-inline:10px;justify-content:center;bottom:10px}.st{padding:6px 9px;font-size:12px}}@media (max-width:640px){.study.mode-lesson .topbar{left:0}.study.mode-lesson .deck,.study.mode-lesson .slide{height:calc(100dvh - 56px)}}
.chat{z-index:130;width:var(--chat-w);border-left:1px solid var(--line);background:var(--win);max-width:100%;box-shadow:-24px 0 60px -32px color-mix(in srgb, var(--c-ink) 28%, transparent);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.chat[hidden]{display:none}.chat-head{min-height:var(--topbar-h);border-bottom:1px solid var(--line-2);background:var(--panel);justify-content:space-between;align-items:center;gap:10px;padding:6px 10px 6px 14px;display:flex}.chat.tutor .chat-head-title{min-width:0}.chat-head strong{font:500 15px var(--f);letter-spacing:-.015em}.chat-head .where{color:var(--faint);font:11.5px / 1.35 var(--mono);letter-spacing:0;display:block}.chat-head-acts{flex:none;align-items:center;gap:6px;display:flex}.chat-x,.chat-lasso{border-radius:var(--r-sm);min-width:30px;height:30px;box-shadow:inset 0 0 0 1px var(--line);color:var(--soft);background:0 0;justify-content:center;align-items:center;padding:0 8px;font-size:14px;display:inline-flex}.chat-x:hover,.chat-lasso:hover{background:var(--win);color:var(--c-ink)}.chat-bal{border-radius:var(--r-xs);background:var(--c-accent-soft);color:var(--c-accent-ink);font:500 11.5px var(--mono);letter-spacing:0;white-space:nowrap;padding:3px 8px}.tutor-ico{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.chat-mic .tutor-ico,.msg-say .tutor-ico{display:block}.chat-log{scrollbar-width:thin;scrollbar-color:var(--handle) transparent;flex-direction:column;flex:auto;gap:12px;padding:16px 14px;display:flex;overflow-y:auto}.msg{border-radius:var(--r-md);max-width:100%;animation:rise-in .5s var(--out);padding:10px 13px;font-size:15px;line-height:1.7}.msg.user{background:var(--under);max-width:90%;color:var(--c-ink);border-end-end-radius:3px;align-self:flex-end}.msg.bot{background:var(--sheet);box-shadow:inset 0 0 0 1px var(--line-2);border-end-start-radius:3px}.msg.sys{border-inline-start:2px solid var(--c-highlight);border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--note-bg);color:var(--note-ink);font-size:14px}.msg .m{margin:10px 0;font-size:14px;line-height:1.9}.msg p{margin:0 0 8px}.msg p:last-child{margin-bottom:0}.msg ul,.msg ol{margin:0 0 8px;padding-inline-start:22px}.msg .ctx{border-inline-start:2px dashed var(--c-error);max-height:6.5em;color:var(--soft);white-space:pre-wrap;margin-bottom:8px;padding-inline-start:8px;font-size:13px;overflow:hidden}.msg-math{direction:ltr;unicode-bidi:isolate}.msg-math.display{text-align:center;margin:10px 0;display:block;overflow-x:auto}.msg .ML__mathlive{direction:ltr;unicode-bidi:isolate}.msg-cut{color:var(--soft);font-size:13px;font-style:italic}.msg .dots{color:var(--faint)}.msg-err{box-shadow:none;background:0 0;border:none;padding:0}.dots:after{content:"";animation:1.1s steps(4,end) infinite dots}@keyframes dots{0%{content:""}25%{content:"·"}50%{content:"··"}75%{content:"···"}}.chat-ctx{border:1px dashed color-mix(in srgb, var(--c-error) 70%, transparent);border-inline-start:2px solid var(--c-error);border-radius:var(--r-sm);background:var(--sheet);max-height:130px;color:var(--soft);white-space:pre-wrap;margin:0 12px 8px;padding:8px 10px;font-size:13px;overflow:auto}.chat-ctx[hidden]{display:none}.chat-ctx .drop{float:inline-end;box-shadow:inset 0 0 0 1px var(--line);color:var(--soft);background:0 0;border-radius:3px;margin-inline-start:8px;padding:2px 8px;font-size:11px}.chat-form{border-top:1px solid var(--line-2);background:var(--win);align-items:flex-end;gap:8px;padding:10px 12px 12px;display:flex}.chat-form textarea{border-radius:var(--r-sm);background:var(--field);max-height:160px;box-shadow:inset 0 0 0 1px var(--line);color:var(--c-ink);font:inherit;resize:none;border:0;flex:auto;padding:8px 10px;font-size:15px;line-height:1.55}.chat-form textarea:focus{box-shadow:inset 0 0 0 1px var(--c-accent);outline:none}.chat-form button{padding:9px 14px;font-size:14px}.chat-form button:disabled{opacity:.5;cursor:default}.chat-note{color:var(--soft);padding:12px 14px;font-size:14px;line-height:1.7}.chat-voice-note{border-top:1px solid var(--line-2);padding-block:6px}.chat-read{border-radius:var(--r-xs);box-shadow:inset 0 0 0 1px var(--line);color:var(--soft);font:inherit;background:0 0;padding:4px 10px;font-size:12.5px}.chat-read:hover{background:var(--win);color:var(--c-ink)}.chat-read[aria-pressed=true]{background:var(--c-accent);box-shadow:none;color:var(--c-on-accent)}.chat-read[hidden]{display:none}.msg-say{margin-top:6px;width:28px;height:28px;box-shadow:inset 0 0 0 1px var(--line);color:var(--soft);background:0 0;border-radius:50%;margin-inline-start:auto;padding:0;font-size:13px;line-height:1;display:block}.msg-say .tutor-ico{margin:auto}.msg-say:hover{background:var(--win);color:var(--c-accent-ink)}.msg-say.on{background:var(--c-accent);box-shadow:none;color:var(--c-on-accent)}.msg-say.failed{box-shadow:inset 0 0 0 1px var(--c-error);color:var(--c-error-ink)}.chat-mic{border-radius:var(--r-sm);width:40px;box-shadow:inset 0 0 0 1px var(--line);color:var(--soft);background:0 0;flex:none;padding:9px 0;font-size:16px;line-height:1}.chat-mic .tutor-ico{margin:auto}.chat-mic:hover{background:var(--win);color:var(--c-ink)}.chat-mic[hidden]{display:none}.chat-mic.rec{background:var(--c-error);box-shadow:none;color:var(--on-ink);animation:mic-pulse 1.1s var(--out) infinite}@keyframes mic-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--c-error) 45%, transparent)}to{box-shadow:0 0 0 8px color-mix(in srgb, var(--c-error) 0%, transparent)}}.chat-chips{border-top:1px solid var(--line-2);flex-wrap:wrap;gap:6px;padding:10px 14px 4px;display:flex}.chat-chip{border-radius:var(--r-xs);background:var(--sheet);box-shadow:inset 0 0 0 1px var(--line);color:var(--c-ink);text-align:start;padding:6px 11px;font-size:12.5px;font-weight:500;line-height:1.3}.chat-chip:hover{background:var(--c-accent-soft);box-shadow:inset 0 0 0 1px var(--c-accent);color:var(--c-ink)}.ai-notice{border-inline-start:2px solid var(--c-highlight);border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--note-bg);color:var(--c-ink);padding:11px 14px;font-size:14.5px;line-height:1.6}.ai-notice-title{margin-bottom:2px;font-weight:500;display:block}.ai-notice-body{color:var(--soft);margin:0 0 8px}.ai-notice-acts{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ai-notice-acts:empty{display:none}.ai-notice-btn{border-radius:var(--r-xs);box-shadow:inset 0 0 0 1px var(--line);color:var(--c-ink);cursor:pointer;background:0 0;padding:6px 12px;font-size:13.5px;font-weight:500;text-decoration:none;display:inline-block}.ai-notice-btn:hover{background:var(--win)}.ai-notice-btn.primary{background:var(--c-ink);box-shadow:none;color:var(--on-ink)}.auth-form{margin:0;display:inline-block}@media (min-width:1180px){.study.chat-open .deck{margin-right:var(--chat-w)}.study.chat-open .topbar{right:var(--chat-w)}}.lasso-overlay{top:0;bottom:0;right:0;left:var(--rail-w);z-index:141;background:color-mix(in srgb, var(--c-ink) 4%, transparent);cursor:crosshair;touch-action:none;position:fixed}.lasso-overlay.done{cursor:default;pointer-events:none}.lasso-canvas{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.lasso-hint{top:calc(var(--topbar-h) + 10px);border-radius:var(--r-sm);background:var(--c-ink);width:max-content;max-width:92%;box-shadow:var(--shadow-pop);color:var(--on-ink);margin:0 auto;padding:8px 14px;font-size:13.5px;font-weight:500;position:absolute;inset-inline:0}.lasso-overlay .lasso-hint{pointer-events:none;top:14px}.select-bar{z-index:142;border-radius:var(--r-lg);background:var(--win);width:min(440px,100vw - 24px);box-shadow:var(--shadow-pop);pointer-events:auto;animation:rise-in .45s var(--out);flex-direction:column;gap:8px;padding:10px 12px 11px;display:flex;position:fixed}.select-bar[hidden]{display:none}.select-sel{border-inline-start:2px dashed var(--c-error);max-height:3em;color:var(--soft);text-align:start;direction:ltr;unicode-bidi:plaintext;padding-inline-start:8px;font-size:13px;line-height:1.5;overflow:hidden}.select-form{gap:6px;margin:0;display:flex}.select-input{border-radius:var(--r-sm);background:var(--field);min-width:0;box-shadow:inset 0 0 0 1px var(--line);color:var(--c-ink);font:inherit;border:0;flex:auto;padding:8px 10px;font-size:15px}.select-input:focus{box-shadow:inset 0 0 0 1px var(--c-accent);outline:none}.select-chips{flex-wrap:wrap;gap:6px;display:flex}.select-chip{border-radius:var(--r-xs);background:var(--sheet);box-shadow:inset 0 0 0 1px var(--line);color:var(--c-ink);font:inherit;cursor:pointer;align-items:center;gap:6px;padding:5px 10px;font-size:13.5px;font-weight:500;display:inline-flex}.select-chip:hover{background:var(--c-accent-soft);box-shadow:inset 0 0 0 1px var(--c-accent);color:var(--c-ink)}.select-chip-n{background:var(--win);min-width:15px;height:15px;box-shadow:inset 0 0 0 1px var(--line);color:var(--soft);font:500 10px / 15px var(--mono);text-align:center;border-radius:3px}.select-chip-l{direction:ltr;unicode-bidi:plaintext}.select-note:empty{display:none}.select-note{border-radius:var(--r-sm);background:var(--c-accent-soft);color:var(--c-accent-ink);text-align:start;direction:ltr;unicode-bidi:isolate;padding:6px 9px;font-size:15px;font-weight:500}.lasso-go,.lasso-x{border-radius:var(--r-sm);padding:7px 12px;font-size:14px}.lasso-x{box-shadow:inset 0 0 0 1px var(--line);color:var(--soft);background:0 0}.lasso-x:hover{background:var(--sheet);color:var(--c-ink)}.lasso-loading{color:var(--faint);align-self:center;font-size:12.5px}@media (max-width:640px){.lasso-overlay{bottom:56px;left:0}}@media (max-width:520px){.chat{width:100%}}.msg-plot{margin:12px 0 4px}.msg-plot .hd-sheet{border-radius:var(--r-sm)}.msg-plot.wait .hd-sheet{animation:1.1s ease-in-out infinite alternate plot-wait}@keyframes plot-wait{to{opacity:.55}}
.study.mode-drill .deck,.study.mode-drill #segs,.study.mode-drill #tb-autoplay,.study.mode-drill #tb-count,.study:not(.mode-drill) .drill-root{display:none}.drill-root{inset:0;left:var(--rail-w);z-index:110;background:var(--paper);position:fixed;overflow-y:auto}@media (min-width:1180px){.study.chat-open .drill-root{right:var(--chat-w)}}.drill-wrap{max-width:820px;margin:0 auto;padding:30px 22px 64px}.drill-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.drill-head .drill-title{margin:0}.drill-count{color:var(--faint);font:12.5px var(--mono);letter-spacing:0;direction:ltr;unicode-bidi:isolate}.drill-loading{color:var(--soft);font-size:15px}.skill-chip{border-radius:var(--r-xs);background:var(--c-accent-soft);color:var(--c-accent-ink);font:500 12px var(--mono);letter-spacing:0;padding:4px 9px}.skill-chip.danger{background:var(--c-error-soft);color:var(--c-error-ink)}.drill-card{border:1px solid var(--line);border-radius:var(--r-md);background:var(--win);box-shadow:var(--shadow);animation:rise-in .5s var(--out);padding:22px 24px}.drill-title{letter-spacing:-.03em;margin:0 0 4px;font-size:22px;font-weight:420}.drill-story{max-width:62ch;color:var(--soft);margin:6px 0 12px;font-size:15px;line-height:1.55}h1.drill-title,h3.nm{margin-top:0}.drill-step{color:var(--soft);margin-bottom:12px;font-size:13px}.drill-given,.drill-ask{white-space:normal;padding:10px 16px;line-height:1.6}.drill-ask{border-inline-start-color:var(--c-error)!important;background:var(--win)!important;font-size:17px!important}.drill-given .math-display,.drill-ask .math-display{margin:4px 0}.given-gap{height:6px}.math-text{direction:ltr;unicode-bidi:isolate}.math-display{text-align:left;display:block;overflow:auto hidden}.conf-row{margin:18px 0 6px}.conf-label{color:var(--soft);margin-bottom:8px;font-size:14.5px}.conf-btns{flex-wrap:wrap;gap:8px;display:flex}.conf-btns button{border-radius:var(--r-sm);background:var(--sheet);box-shadow:inset 0 0 0 1px var(--line);color:var(--c-ink);flex:auto;padding:10px 14px;font-size:15px}.conf-btns button:hover{background:var(--c-accent-soft);box-shadow:inset 0 0 0 1px var(--c-accent)}.conf-btns button .k{color:var(--faint);font:11.5px var(--mono);margin-inline-end:6px}.drill-opts{gap:8px;margin-top:16px;display:grid}.drill-opt{border-radius:var(--r-sm);background:var(--sheet);box-shadow:inset 0 0 0 1px var(--line);color:var(--c-ink);font:inherit;text-align:start;align-items:center;gap:12px;padding:12px 15px;font-size:17px;font-weight:400;display:flex;position:relative}.drill-opt:hover:not(:disabled){background:var(--sheet);box-shadow:inset 0 0 0 1px var(--c-accent)}.drill-opt:disabled{opacity:.5;cursor:not-allowed}.drill-opt .kbd{background:var(--win);box-shadow:inset 0 0 0 1px var(--line);color:var(--soft);font:11.5px var(--mono);border-radius:3px;flex:none;padding:1px 7px}.drill-opt .val{font-family:var(--mono);direction:ltr;unicode-bidi:isolate;font-size:16px}.drill-opt.right{opacity:1;background:var(--c-accent-soft);box-shadow:inset 0 0 0 1.5px var(--c-accent);font-weight:500}.drill-opt.wrong{opacity:1;background:var(--c-error-soft);box-shadow:inset 0 0 0 1.5px var(--c-error);animation:nudge .45s var(--out)}.drill-opt.right:after,.drill-opt.wrong:after{animation:tick-in .45s var(--out);margin-inline-start:auto;font-weight:600}.drill-opt.right:after{content:"✓";color:var(--c-accent-ink)}.drill-opt.wrong:after{content:"✗";color:var(--c-error-ink)}.drill-fb{border-radius:var(--r-sm);margin-top:16px;padding:14px 16px;font-size:16px;line-height:1.7;display:none}.drill-fb.on{animation:rise-in .45s var(--out);display:block}.drill-fb.ok{border-inline-start:2px solid var(--c-accent);background:var(--c-accent-soft)}.drill-fb.no{border-inline-start:2px solid var(--c-highlight);background:var(--note-bg)}.drill-fb b{margin-bottom:4px;font-weight:500;display:block}.drill-fb .acts{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.drill-fb .acts button{padding:8px 14px;font-size:14px}.drill-fb .fb-danger{color:var(--c-error-ink);margin-top:6px;font-weight:500}.drill-fb:focus{outline:none}.drill-foot{flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px;display:flex}.drill-foot .hint{color:var(--faint);margin-inline-start:auto;font-size:12.5px}.drill-foot .hint span{box-shadow:inset 0 0 0 1px var(--line);font-family:var(--mono);border-radius:3px;padding:0 5px}.end-score{margin:8px 0 0;font-size:17px;font-weight:500}.end-note{color:var(--soft);margin:6px 0 0}.sess-end{border:1px solid var(--line);border-radius:var(--r-md);background:var(--win);padding:22px 24px}.sess-end ul{margin:12px 0 0;padding-inline-start:20px;font-size:16px;line-height:1.9}.drill-err{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.drill-err p{margin:0;font-size:14.5px;line-height:1.6}.drill-err form{margin:0}.drill-err button,.drill-err-act{padding:7px 14px;font-size:14px}.drill-err-act,.drill-link{border-radius:var(--r-xs);align-items:center;font-weight:500;text-decoration:none;display:inline-flex}.drill-err-act{background:var(--c-ink);color:var(--on-ink)}.drill-err-act:hover{background:color-mix(in srgb, var(--c-ink) 86%, var(--paper))}.drill-link{box-shadow:inset 0 0 0 1px var(--line);color:var(--c-ink);padding:9px 16px;font-size:15px}.drill-link:hover{background:var(--win)}.tutor-chips{flex-wrap:wrap;align-items:center;gap:6px;margin-top:18px;display:flex}.chips-lbl{color:var(--faint);margin-inline-end:4px;font-size:12.5px}.tutor-chips .chat-chip{font-family:inherit}.map-grid{gap:12px;margin-top:16px;display:grid}.skill-card{border:1px solid var(--line);border-radius:var(--r-md);background:var(--win);animation:rise-in .5s var(--out) both;padding:15px 17px}.skill-card:nth-child(2){animation-delay:60ms}.skill-card:nth-child(3){animation-delay:.12s}.skill-card:nth-child(n+4){animation-delay:.18s}.skill-card.danger{border-inline-start:2px solid var(--c-error)}.skill-card .row1{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.skill-card .nm,.skill-card h3.nm{margin:0;font-size:17px;font-weight:500}.skill-card .tag{box-shadow:inset 0 0 0 1px var(--c-error);color:var(--c-error-ink);font:500 11px var(--mono);letter-spacing:0;border-radius:3px;padding:1px 7px}.bar{gap:3px;margin:10px 0 8px;display:flex}.bar i{background:var(--under);border-radius:2px;flex:1 1 0;height:6px}.bar i.on{background:var(--c-accent);animation:fill-in .6s var(--out) both}.skill-card.danger .bar i.on{background:var(--c-error)}@keyframes fill-in{0%{opacity:.3;transform:scaleY(.2)}}.skill-card .ln{color:var(--soft);font-size:14.5px;line-height:1.6}.skill-card .fx{color:var(--faint);margin-top:6px;font-size:13.5px}.heat{flex-wrap:wrap;gap:3px;margin-top:10px;display:flex}.heat i{background:var(--under);border-radius:2px;width:13px;height:13px}.heat i.h1{background:color-mix(in srgb, var(--c-error) 60%, var(--under))}.heat i.h2{background:color-mix(in srgb, var(--c-highlight) 55%, var(--under))}.heat i.h3{background:color-mix(in srgb, var(--c-accent) 55%, var(--under))}.heat i.h4{background:var(--c-accent)}.wp{margin-top:16px}.palette{flex-direction:column;gap:6px;margin:16px 0 10px;display:flex}.wp .palette{margin-bottom:10px}.pal-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.pal-lbl{min-width:56px;color:var(--faint);font:11.5px var(--mono);letter-spacing:0}.pal-btn{border-radius:var(--r-sm);background:var(--sheet);min-width:38px;box-shadow:inset 0 0 0 1px var(--line), 0 1px 0 var(--line);color:var(--c-ink);transition:transform .4s var(--out), box-shadow .3s, color .3s;direction:ltr;unicode-bidi:isolate;flex-direction:column;align-items:center;padding:5px 10px;font-size:15px;font-weight:500;line-height:1.15;display:inline-flex}.pal-btn:hover{background:var(--sheet);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--c-accent) 55%, transparent), 0 3px 0 color-mix(in srgb, var(--c-accent) 24%, transparent);color:var(--c-accent-ink);transform:translateY(-2px)}.pal-btn:focus-visible{outline:2px solid var(--c-accent);outline-offset:1px}.pal-main{font-family:var(--mono)}.pal-sub{font:10.5px var(--mono);opacity:.6}.pal-start .pal-main{color:var(--c-accent-ink);font-weight:500}.pal-answer{background:var(--c-accent-soft);box-shadow:inset 0 0 0 1px var(--c-accent)}.pal-bare{opacity:.72}.pal-bare .pal-main{font-weight:500}.pad{border:1px solid var(--line);border-radius:var(--r-md);background:var(--win);min-height:160px;max-height:46vh;box-shadow:var(--shadow);padding:8px 6px;overflow-y:auto}.pad-row{flex-wrap:wrap;align-items:center;gap:8px;padding:1px 4px;display:flex;position:relative}.pad-mark{color:#0000;font:600 15px var(--mono);text-align:center;flex:0 0 20px}.pad-mark.ok{color:var(--c-accent-ink);animation:tick-in .45s var(--out)}.pad-mark.bad{color:var(--c-error-ink);animation:tick-in .45s var(--out)}.pad-mark.carry{color:var(--c-accent-ink);opacity:.7}.pad-row.v-ok:after,.pad-row.v-bad:after,.pad-row.v-carry:after{content:"";inset-inline:32px 8px;pointer-events:none;transform-origin:0;height:0;animation:underline .7s var(--out) both;position:absolute;bottom:2px}[dir=rtl] .pad-row.v-ok:after,[dir=rtl] .pad-row.v-bad:after,[dir=rtl] .pad-row.v-carry:after{transform-origin:100%}.pad-row.v-ok:after{border-bottom:1px solid var(--c-accent)}.pad-row.v-bad:after{border-bottom:1.5px dashed var(--c-error)}.pad-row.v-carry:after{border-bottom:1.5px dotted var(--c-highlight)}.pad-row.v-bad .pad-cell{animation:nudge .45s var(--out)}@keyframes underline{0%{transform:scaleX(0)}}.pad-cell{flex:auto;min-width:0;display:flex;position:relative}.pad-line{color:var(--c-ink);font-family:var(--mono);direction:ltr;unicode-bidi:isolate;background:0 0;border:none;border-bottom:1px solid #0000;outline:none;flex:auto;padding:6px 4px;font-size:16px}.pad-line:focus{border-bottom-color:var(--line);background:var(--sheet)}.pad-line::placeholder{color:var(--faint);font-family:var(--f);font-size:15px}.pad-ph{color:var(--faint);text-overflow:ellipsis;white-space:nowrap;pointer-events:none;font-size:15px;position:absolute;top:50%;left:8px;right:44px;overflow:hidden;transform:translateY(-50%)}.pad-row:focus-within .pad-ph{opacity:.5}.pad-note{border-inline-start:2px solid var(--line);max-width:42%;color:var(--soft);flex:none;padding-inline-start:8px;font-size:12.5px}.pad-note.bad{border-inline-start-color:var(--c-error);color:var(--c-error-ink)}.pad-note.dim{opacity:.6}.pad-ask{border-radius:var(--r-xs);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--c-error) 45%, var(--line));color:var(--c-error-ink);font:inherit;cursor:pointer;animation:rise-in .45s var(--out) both;background:0 0;border:0;flex:none;padding:3px 10px;font-size:12.5px}.pad-ask:hover{background:color-mix(in srgb, var(--c-error) 10%, transparent)}.pad-ask:focus-visible{outline:2px solid var(--c-accent);outline-offset:1px}.bank-pad-item .pad-ask{margin-block-start:4px;margin-inline-start:28px}@media (prefers-reduced-motion:reduce){.pad-ask{animation:none}}.pad-foot{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.pad-foot button{padding:9px 16px;font-size:15px}.pad-status{max-width:50%;color:var(--faint);text-align:end;margin-inline-start:auto;font-size:12.5px}.pad-status.ready{color:var(--c-accent-ink)}.pad-status.warn{color:var(--c-error-ink)}.pad-analyze,.pad-check{font-weight:500}.pad-analyze{background:var(--c-error);color:var(--on-ink)}.pad-check{background:var(--c-accent);color:var(--c-on-accent)}.pad-analyze:hover,.pad-check:hover{background:var(--c-ink);color:var(--on-ink)}.pad-math{direction:ltr;unicode-bidi:isolate;background:0 0;border:none;border-bottom:1px solid #0000;flex:auto;min-height:34px;padding:6px 4px;font-size:19px}.pad-math:focus-within{border-bottom-color:var(--line);background:var(--sheet)}.pad-math::part(menu-toggle){display:none}.pad-math::part(virtual-keyboard-toggle){opacity:.35}.pad-math::part(virtual-keyboard-toggle):hover{opacity:1}.math-slot{flex:auto;min-width:0;display:flex}.math-slot-host{display:contents}.math-slot[data-mode=math] .math-plain{display:none}.math-plain{min-width:0;color:var(--c-ink);font-family:var(--mono);background:0 0;border:none;border-bottom:1px solid #0000;outline:none;flex:auto;padding:6px 4px;font-size:16px}.math-plain:focus{border-bottom-color:var(--line);background:var(--sheet)}.hint-box{border-inline-start:2px solid var(--c-highlight);border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--note-bg);animation:rise-in .45s var(--out);margin-top:12px;padding:11px 14px}.hint-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:5px;display:flex}.hint-n{color:var(--note-ink);font:500 11.5px var(--mono);letter-spacing:0}.hint-x{color:var(--note-ink);background:0 0;border:none;padding:0 4px;font-size:13px;line-height:1}.hint-x:hover{color:var(--c-error-ink);background:0 0}.hint-body{white-space:pre-wrap;font-size:15.5px;line-height:1.75}.hint-body .math-text{margin:0 2px}button.stuck{border-radius:var(--r-sm);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--c-highlight) 70%, transparent);color:var(--note-ink);background:0 0;font-weight:500}button.stuck:hover:not(:disabled){background:var(--c-highlight-soft);box-shadow:inset 0 0 0 1px var(--c-highlight);color:var(--c-ink)}button.stuck:disabled{opacity:.45;cursor:not-allowed}.card-lite{border:1px solid var(--line);border-radius:var(--r-md);background:var(--win);margin-top:14px;padding:14px 16px}.opt-box{margin-top:14px}.opt-lbl{color:var(--soft);margin-bottom:6px;font-size:13px}@media (max-width:640px){.study.mode-drill .drill-root{bottom:56px;left:0}.drill-wrap{padding:18px 16px 40px}.drill-card{padding:16px}.drill-title{font-size:19px}.pad-note{flex-basis:100%;max-width:none;margin-inline-start:28px}.pad-status{text-align:start;flex-basis:100%;max-width:none;margin-inline-start:0}}.pad-mark.eq{color:var(--faint)}.fb-solution{border-inline-start:2px solid var(--c-accent);background:var(--sheet);animation:rise-in .45s var(--out);direction:ltr;unicode-bidi:isolate;margin-top:12px;padding:10px 14px}.fb-solution b{color:var(--c-accent-ink);font:500 11.5px var(--mono);letter-spacing:0;margin-bottom:4px;display:block}.idea{gap:14px;padding-block:8px 24px;display:grid}.idea-title{margin:0}.idea-body{align-items:start;gap:18px;display:grid}.idea-lines{gap:10px;margin:0;padding-inline-start:20px;font-size:16px;line-height:1.6;display:grid}.idea-lines li::marker{color:var(--c-accent-ink);font:500 13px var(--mono)}.idea-picture{max-width:420px;margin:0}.iv{width:100%;height:auto;display:block}.iv-frame{fill:var(--surface-raised);stroke:var(--line)}.iv-a,.iv-b{fill:color-mix(in srgb, var(--c-accent) 14%, transparent);stroke:var(--c-accent);stroke-width:1.5px}.iv-b{fill:color-mix(in srgb, var(--c-highlight) 18%, transparent);stroke:var(--c-highlight)}.iv-k{fill:var(--c-ink);font:italic 500 15px var(--serif,var(--mono))}.iv-t{fill:var(--c-ink);font:13px var(--mono)}.iv-s{fill:var(--soft);font:11.5px var(--mono)}.iv-strong{fill:var(--c-accent-ink);font-weight:600}.iv-dim{fill:var(--faint)}.iv-warn-t{fill:var(--c-error-ink);font-weight:600}.iv-slot{fill:var(--surface);stroke:var(--line)}.iv-slot-first{stroke:var(--c-accent)}.iv-edge{stroke:var(--line);stroke-width:1.5px}.iv-edge.iv-hot{stroke:var(--c-accent);stroke-width:2px}.iv-edge.iv-warn{stroke:var(--c-error);stroke-width:2px}.iv-axis{stroke:var(--line)}.iv-bar{fill:color-mix(in srgb, var(--c-accent) 28%, transparent)}.iv-bar-on{fill:var(--c-accent)}.iv-mean{stroke:var(--c-error);stroke-dasharray:4 4}.iv-curve{fill:none;stroke:var(--c-accent);stroke-width:2px}.iv-area{fill:color-mix(in srgb, var(--c-accent) 26%, transparent)}.iv-warn-area{fill:color-mix(in srgb, var(--c-error) 22%, transparent)}.iv-col{fill:color-mix(in srgb, var(--c-accent) 9%, transparent)}.iv-dot{fill:var(--c-accent)}.idea-worked{border:1px solid var(--line);border-radius:var(--r-md);background:var(--win);gap:10px;padding:16px 18px;display:grid}.idea-h2{letter-spacing:-.02em;margin:0;font-size:17px;font-weight:450}.idea-steps{gap:12px;margin:0;padding-inline-start:20px;display:grid}.idea-steps li::marker{color:var(--soft);font:12px var(--mono)}.idea-sol{border-inline-start:2px solid color-mix(in srgb, var(--c-accent) 45%, var(--line));color:var(--soft);padding-inline-start:12px}.idea-worked>.ghost{justify-self:start}.idea-go{justify-content:flex-start;display:flex}.idea-open{margin-inline-start:auto}@media (min-width:820px){.idea-body{grid-template-columns:minmax(0,1fr) minmax(0,380px)}}.study.in-exam .rail-chat,.study.in-exam .tutor{display:none}.exam-intro{max-width:60ch;color:var(--soft);margin:6px 0 18px;line-height:1.6}.exam-go,.exam-nav{flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;display:flex}.exam-clock{font:500 15px var(--mono);font-variant-numeric:tabular-nums;margin-inline-start:auto}.exam-clock.low{color:var(--c-error-ink)}.exam-answer{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;font-weight:500;display:flex}.exam-answer input{border:1px solid var(--line);border-radius:var(--r-xs);background:var(--field);max-width:320px;height:40px;color:var(--c-ink);font:15px var(--mono);flex:200px;padding:0 12px}.exam-answer input:focus-visible{outline:2px solid var(--c-accent);outline-offset:1px}.exam-dots{flex-wrap:wrap;gap:6px;margin:18px 0 0;padding:0;list-style:none;display:flex}.exam-dots button{border:1px solid var(--line);border-radius:var(--r-xs);width:32px;height:32px;color:var(--soft);font:12.5px var(--mono);background:0 0}.exam-dots button.done{border-color:color-mix(in srgb, var(--c-accent) 55%, var(--line));color:var(--c-accent-ink)}.exam-dots button.on{background:var(--c-ink);border-color:var(--c-ink);color:var(--on-ink)}.exam-review{gap:14px;margin:12px 0 0;padding:0;list-style:none;display:grid}.exam-item{border:1px solid var(--line);border-inline-start:3px solid var(--c-accent);border-radius:var(--r-md);background:var(--win);gap:8px;padding:14px 16px;display:grid}.exam-item.no{border-inline-start-color:var(--c-error)}.exam-item-head{align-items:center;gap:8px;display:flex}.exam-mark{color:var(--c-accent-ink);font-weight:600}.exam-item.no .exam-mark{color:var(--c-error-ink)}.exam-line{margin:0;font-size:14.5px}.exam-mistake{color:var(--c-error-ink);margin:0;font-size:14px}.exam-solution summary{cursor:pointer;color:var(--soft);font-size:14px}
.study.mode-today .deck,.study.mode-settings .deck,.study.mode-bank .deck,.study.mode-track .deck,.study.mode-today #segs,.study.mode-settings #segs,.study.mode-bank #segs,.study.mode-track #segs,.study.mode-today #tb-autoplay,.study.mode-settings #tb-autoplay,.study.mode-bank #tb-autoplay,.study.mode-track #tb-autoplay,.study.mode-today #tb-count,.study.mode-settings #tb-count,.study.mode-bank #tb-count,.study.mode-track #tb-count,.study:not(.mode-today) .home-root,.study:not(.mode-settings) .set-root,.study:not(.mode-bank) .bank-root,.study:not(.mode-track) .trk-root,.study:not(.mode-formulas) .formulas-root{display:none}.home-root,.set-root,.bank-root,.trk-root,.formulas-root{inset:0;left:var(--rail-w);z-index:110;background:var(--paper);scrollbar-width:thin;scrollbar-color:var(--handle) transparent;position:fixed;overflow-y:auto}@media (min-width:1180px){.study.chat-open .home-root,.study.chat-open .set-root,.study.chat-open .bank-root,.study.chat-open .trk-root,.study.chat-open .formulas-root{right:var(--chat-w)}}.home-hero,.home-card,.home-topic,.home-stat,.home-map-col,.set-field,.bank-card,.solve-card,.draft-card,.bank-signin,.trk-card{border:1px solid var(--line);border-radius:var(--r-md);background:var(--win)}.home-card,.home-topic,.home-stat,.home-map-col,.set-field,.bank-card{animation:rise-in .55s var(--out) both}.home-wrap{max-width:880px;margin:0 auto;padding:30px 22px 72px}.home-title{font-size:clamp(26px,3.2vw,34px);font-weight:var(--w-head);letter-spacing:-.04em;margin:0 0 18px}.home-hero{box-shadow:var(--shadow-win);animation:rise-in .55s var(--out) both;padding:26px 26px 24px;position:relative;overflow:hidden}.home-hero:after{content:"";top:0;background:linear-gradient(225deg, var(--paper) 50%, transparent 50%), linear-gradient(45deg, var(--sheet) 50%, var(--under) 100%);width:30px;height:30px;filter:drop-shadow(-2px 3px 3px color-mix(in srgb, var(--c-ink) 8%, transparent));transition:width .6s var(--fold), height .6s var(--fold);position:absolute;inset-inline-end:0}[dir=rtl] .home-hero:after{background:linear-gradient(135deg, var(--paper) 50%, transparent 50%), linear-gradient(-45deg, var(--sheet) 50%, var(--under) 100%)}.home-hero:hover:after{width:40px;height:40px}.home-h{margin:8px 0 4px;font-size:clamp(24px,3.2vw,32px)}.home-hero .home-h{color:var(--c-accent-ink);font:500 12.5px var(--mono);letter-spacing:0;margin:0 0 8px}.home-next-line{letter-spacing:-.02em;margin:0 0 4px;font-size:20px;font-weight:500}.home-why{color:var(--soft);margin:0 0 18px;font-size:14.5px}.home-go,.home-btn{border-radius:var(--r-xs);background:var(--c-ink);height:44px;color:var(--on-ink);align-items:center;padding:0 20px;font-size:16px;font-weight:500;text-decoration:none;display:inline-flex}.home-go:hover,.home-btn:hover{background:color-mix(in srgb, var(--c-ink) 86%, var(--paper))}.home-row{grid-template-columns:1fr;gap:12px;margin:16px 0 0;display:grid}@media (min-width:700px){.home-row{grid-template-columns:repeat(3,1fr)}}.home-card{flex-direction:column;gap:4px;padding:16px 18px;display:flex}.home-card:nth-child(2),.home-stat:nth-child(2),.home-topic:nth-child(2){animation-delay:60ms}.home-card:nth-child(3),.home-stat:nth-child(3),.home-topic:nth-child(3){animation-delay:.12s}.home-stat:nth-child(n+4),.home-topic:nth-child(n+4){animation-delay:.18s}.home-card-k{color:var(--soft);font-size:13px}.home-card-v{font-size:28px;font-weight:var(--w-head);letter-spacing:-.04em;line-height:1.1}.home-card-note{color:var(--soft);font-size:13px}.home-link{border-radius:var(--r-xs);box-shadow:inset 0 0 0 1px var(--line);color:var(--c-ink);background:0 0;align-self:flex-start;margin-top:6px;padding:5px 12px;font-size:13.5px;text-decoration:none;display:inline-block}.home-link:hover{background:var(--c-ink);box-shadow:none;color:var(--on-ink)}.home-stats{grid-template-columns:repeat(2,1fr);gap:10px;margin:0;display:grid}@media (min-width:700px){.home-stats{grid-template-columns:repeat(5,1fr)}}.home-stat{padding:12px 14px}.home-stat dt{color:var(--soft);font-size:12.5px}.home-stat dd{font-size:24px;font-weight:var(--w-head);letter-spacing:-.04em;margin:4px 0 0}.home-weak-card{gap:6px}.home-weak-name{font-size:18px}.home-weak-line{margin:0;font-size:15px;line-height:1.6}.home-weak-tally{color:var(--soft);margin:0;font-size:14px}.home-sub{letter-spacing:-.03em;margin:34px 0 12px;font-size:20px;font-weight:420}.home-map{grid-template-columns:1fr;gap:12px;display:grid}@media (min-width:760px){.home-map{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}}.home-map-col{padding:14px 16px}.home-map-h{color:var(--faint);font:500 12px var(--mono);letter-spacing:0;margin:0 0 8px}.home-map-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.home-map-list li{flex-direction:column;gap:2px;display:flex}.home-map-name{font-weight:500}.home-map-n{color:var(--c-error-ink);font-size:13.5px}.home-map-why{color:var(--soft);font-size:13.5px;line-height:1.5}.home-map-why:empty{display:none}.home-topics,ul.home-topics{grid-template-columns:1fr;gap:10px;margin:0;padding:0;list-style:none;display:grid}@media (min-width:760px){.home-topics{grid-template-columns:1fr 1fr}}.home-topic{padding:14px 16px}.home-topic-head{align-items:center;gap:10px;display:flex}.today-actions{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.today-actions .home-link{align-items:center;height:44px;margin-top:0;padding:0 16px;font-size:15px;display:inline-flex}.today-mock.loud{background:var(--c-error);box-shadow:none;color:var(--c-on-accent)}.today-last{color:var(--soft);font:13px var(--mono);margin:10px 0 0}.today-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 18px;margin:0 0 18px;display:flex}.today-head .home-title{margin:0}.today-exam{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.today-days{letter-spacing:-.01em;font-size:15px;font-weight:500}.today-days.past{color:var(--c-error-ink)}.today-date{color:var(--soft);align-items:center;gap:8px;font-size:13.5px;display:inline-flex}.today-date input,.set-date{border:1px solid var(--line);border-radius:var(--r-xs);background:var(--field);height:34px;color:var(--c-ink);font:13.5px var(--mono);padding:0 10px}.today-date input:focus-visible,.set-date:focus-visible{outline:2px solid var(--c-accent);outline-offset:1px}.set-exam{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.today-list,.today-topics{margin:0;padding:0;list-style:none}.today-mistake{border-top:1px solid var(--line);animation:rise-in .55s var(--out) both;grid-template-columns:1fr auto;align-items:center;gap:6px 14px;padding:14px 0;display:grid}.today-mistake:last-child{border-bottom:1px solid var(--line)}.today-mistake-text{flex-direction:column;grid-column:1/-1;gap:2px;display:flex}.today-mistake .home-link{justify-self:end;margin-top:0}.today-sub-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px;display:flex}.today-count{color:var(--soft);font:13px var(--mono)}.today-topics{grid-template-columns:1fr;column-gap:28px;display:grid}.today-topic{border-bottom:1px solid var(--line);align-items:center;gap:12px;min-height:42px;display:flex}.today-topic-name{flex:1;min-width:0;font-size:15px}.today-topic-go{color:inherit;transition:background-size .35s var(--out);background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;flex:0 auto;margin-inline-end:auto;text-decoration:none}.today-topic-go:hover,.today-topic-go:focus-visible{background-size:100% 1px}.today-topic[data-status=none] .today-topic-name,.today-topic[data-status=none] .home-topic-n{color:var(--mid)}.today-solve{text-decoration:none}.today-solve:hover{background:var(--c-ink);box-shadow:none;color:var(--on-ink)}.today-rule{color:var(--soft);margin:10px 0 0;font-size:13px}.today-learn{grid-template-columns:1fr;gap:12px;display:grid}.today-card{color:inherit;transition:transform .4s var(--out), box-shadow .4s var(--out);flex-direction:column;gap:4px;padding:16px 18px;text-decoration:none;display:flex}.today-card:hover{box-shadow:var(--shadow-win);transform:translateY(-2px)}@media (min-width:700px){.today-mistake{grid-template-columns:1fr auto auto}.today-mistake-text{grid-column:auto}.today-topics,.today-learn{grid-template-columns:1fr 1fr}}@media (prefers-reduced-motion:reduce){.today-mistake{animation:none}.today-card,.today-card:hover{transition:none;transform:none}}.home-topic-n{border-radius:var(--r-sm);width:26px;height:26px;box-shadow:inset 0 0 0 1px var(--line);color:var(--c-accent-ink);font:500 12.5px var(--mono);flex:0 0 26px;place-items:center;display:grid}.home-topic-name{font-size:16.5px;font-weight:500}.home-topic-desc{color:var(--soft);margin:8px 0 10px;font-size:14px;line-height:1.6}.home-topic-tags{flex-wrap:wrap;gap:6px;display:flex}.home-tag{box-shadow:inset 0 0 0 1px var(--line);color:var(--soft);font:11.5px var(--mono);letter-spacing:0;border-radius:3px;padding:2px 8px}.home-tag.ok{background:var(--c-accent-soft);box-shadow:none;color:var(--c-accent-ink)}.home-topic .home-link{margin-top:10px}.set-wrap{max-width:640px;margin:0 auto;padding:30px 22px 72px}.set-title{font-size:clamp(26px,3.2vw,34px);font-weight:var(--w-head);letter-spacing:-.04em;margin:0 0 22px}.set-field{margin-bottom:12px;padding:18px 20px}.set-label,.set-field h2.set-label{letter-spacing:-.02em;margin:0 0 4px;font-size:16.5px;font-weight:500}.set-note{color:var(--soft);margin:0 0 12px;font-size:13.5px;line-height:1.6}.set-sub{margin:16px 0 4px;font-size:15px;font-weight:500}.set-choices{border-radius:var(--r-sm);background:var(--sheet);box-shadow:inset 0 0 0 1px var(--line);flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.set-pill{height:32px;color:var(--soft);background:0 0;border-radius:4px;padding:0 14px;font-size:14px;font-weight:500}.set-pill:hover{color:var(--c-ink);background:0 0}.set-pill.on{background:var(--win);box-shadow:0 0 0 1px var(--line), 0 1px 2px color-mix(in srgb, var(--c-ink) 6%, transparent);color:var(--c-ink)}.set-pill:disabled{opacity:.5;cursor:default}.set-danger{margin-top:22px}.set-clear{border-radius:var(--r-xs);box-shadow:inset 0 0 0 1px var(--c-error);color:var(--c-error-ink);background:0 0;padding:8px 16px;font-size:14px}.set-clear:hover{background:var(--c-error);box-shadow:none;color:var(--on-ink)}.set-clear:disabled{opacity:.5;cursor:default}.set-prefs{flex-direction:column;gap:8px;display:flex}.set-ta{border-radius:var(--r-sm);background:var(--field);width:100%;min-height:76px;box-shadow:inset 0 0 0 1px var(--line);color:var(--c-ink);font:inherit;resize:vertical;border:0;padding:10px 12px;font-size:15px;line-height:1.6}.set-ta:focus{box-shadow:inset 0 0 0 1px var(--c-accent);outline:none}.set-save-row{align-items:center;gap:12px;margin-top:8px;display:flex}.set-count{color:var(--faint);font:12px var(--mono);margin-inline-start:auto}.set-prompt-wrap{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.set-prompt{border-radius:var(--r-sm);background:var(--sheet);width:100%;max-height:360px;box-shadow:inset 0 0 0 1px var(--line-2);color:var(--soft);font:12px / 1.65 var(--mono);text-align:left;white-space:pre-wrap;direction:ltr;unicode-bidi:isolate;margin:12px 0 0;padding:12px 14px;overflow:auto}.set-meters{flex-wrap:wrap;gap:10px;display:flex}.set-meter{border-radius:var(--r-sm);background:var(--sheet);box-shadow:inset 0 0 0 1px var(--line-2);flex-direction:column;flex:140px;gap:2px;padding:10px 14px;display:flex}.set-meter-v{font-size:24px;font-weight:var(--w-head);letter-spacing:-.04em;line-height:1.1}.set-meter-k{color:var(--soft);font-size:12.5px}.set-packs{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:10px 0;display:grid}.set-pack{border-radius:var(--r-md);background:var(--sheet);box-shadow:inset 0 0 0 1px var(--line);flex-direction:column;gap:4px;padding:14px 16px;display:flex;position:relative}.set-pack.featured{background:var(--win);box-shadow:inset 0 0 0 1px var(--c-accent), var(--shadow-win)}.set-pack-name{font-size:16px;font-weight:500}.set-pack-price{font-size:26px;font-weight:var(--w-head);letter-spacing:-.04em}.set-pack-contents{color:var(--soft);margin-bottom:8px;font-size:13.5px}.set-pack-buy{align-self:flex-start}.set-fine{color:var(--faint);margin:4px 0 0;font-size:12.5px}.set-warn{color:var(--c-error-ink)}.set-flash{border-inline-start:2px solid var(--c-accent);border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--c-accent-soft);color:var(--c-ink);animation:rise-in .45s var(--out);justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px;padding:10px 14px;font-size:14.5px;display:flex}.set-flash.cancel{border-inline-start-color:var(--c-highlight);background:var(--note-bg)}.set-flash-x{border-radius:var(--r-xs);box-shadow:inset 0 0 0 1px var(--line);color:var(--soft);background:0 0;padding:3px 10px;font-size:12.5px}.set-account{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.set-avatar{object-fit:cover;border-radius:50%}.set-account-name{font-weight:500}.set-dialog,.bank-dialog{border-radius:var(--r-lg);background:var(--win);max-width:min(440px,100vw - 32px);box-shadow:var(--shadow-win);color:var(--c-ink);opacity:1;transition:opacity .3s, transform .45s var(--out), display .45s allow-discrete, overlay .45s allow-discrete;border:0;padding:20px 22px;transform:none}@starting-style{.set-dialog[open],.bank-dialog[open]{opacity:0;transform:scale(.98)translateY(6px)}}.set-dialog::backdrop,.bank-dialog::backdrop{background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.set-dialog-acts{justify-content:flex-end}.bank-dialog-title{margin:0 0 8px;font-size:18px}.bank-dialog-body{margin:0 0 16px;line-height:1.6}.bank-dialog-acts{justify-content:flex-end;gap:8px;display:flex}.bank-wrap{max-width:880px;margin:0 auto;padding:26px 22px 64px}.bank-title{font-size:clamp(26px,3.2vw,34px);font-weight:var(--w-head);letter-spacing:-.04em;margin:0 0 12px}.bank-section-title{margin:6px 0 10px;font-size:19px}.bank-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.bank-tabs{border-radius:var(--r-sm);background:var(--sheet);box-shadow:inset 0 0 0 1px var(--line);gap:2px;padding:3px;display:inline-flex}.bank-tab{color:var(--soft);background:0 0;border-radius:4px;padding:6px 14px;font-size:14px;font-weight:500}.bank-tab:hover{color:var(--c-ink);background:0 0}.bank-tab.on{background:var(--win);box-shadow:0 0 0 1px var(--line);color:var(--c-ink)}.bank-count{color:var(--faint);font:12.5px var(--mono)}.bank-empty{color:var(--soft);text-align:center;padding:48px 20px}.bank-empty p{margin-bottom:8px;font-size:16px}.bank-cta,.bank-go{border-radius:var(--r-xs);background:var(--c-ink);color:var(--on-ink);font-weight:500}.bank-cta{margin-top:12px;padding:10px 20px;font-size:15px}.bank-go{padding:7px 14px;font-size:14px}.bank-cta:hover,.bank-go:hover{background:color-mix(in srgb, var(--c-ink) 86%, var(--paper))}.bank-filters{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.bank-levels{border-top:1px solid var(--line);flex-basis:100%;align-items:center;margin:2px 0 0;padding-top:10px}.chip{border-radius:var(--r-xs);background:var(--win);box-shadow:inset 0 0 0 1px var(--line);color:var(--soft);padding:5px 11px;font-size:12.5px}.chip:hover{background:var(--win);box-shadow:inset 0 0 0 1px var(--handle);color:var(--c-ink)}.chip.on{background:var(--c-ink);box-shadow:none;color:var(--on-ink)}.bank-search{margin-bottom:12px}.bank-search .formula-search{width:100%;margin:0}.bank-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.bank-card{transition:transform .5s var(--out), box-shadow .4s;flex-direction:column;display:flex;overflow:hidden}.bank-card:hover{box-shadow:var(--shadow-win);transform:translateY(-2px)}.bank-card:nth-child(2){animation-delay:50ms}.bank-card:nth-child(3){animation-delay:.1s}.bank-card:nth-child(4){animation-delay:.15s}.bank-card:nth-child(n+5){animation-delay:.2s}.bank-card-body{flex-direction:column;flex:auto;gap:9px;padding:14px 16px;display:flex}.bank-card-title{letter-spacing:-.015em;margin:0;font-size:16px;font-weight:500;line-height:1.4}.bank-card-snip{color:var(--soft);overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.6}.bank-card-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.topic-chip,.mode-chip{font:11.5px var(--mono);letter-spacing:0;border-radius:3px;padding:2px 7px}.topic-chip{background:var(--c-accent-soft);color:var(--c-accent-ink)}.mode-chip{box-shadow:inset 0 0 0 1px var(--line);color:var(--soft)}.mode-chip.gen{background:var(--c-error-soft);box-shadow:none;color:var(--c-error-ink)}.bank-card-acts{gap:6px;margin-top:auto;padding-top:4px;display:flex}.bank-alt,.bank-del{border-radius:var(--r-xs);box-shadow:inset 0 0 0 1px var(--line);color:var(--soft);background:0 0;padding:7px 12px;font-size:13.5px}.bank-alt:hover{background:var(--sheet);color:var(--c-ink)}.bank-del{margin-inline-start:auto}.bank-del:hover{background:var(--c-error);box-shadow:none;color:var(--on-ink)}.bank-danger{border-radius:var(--r-xs);background:var(--c-error);color:var(--on-ink);padding:7px 16px;font-size:14px;font-weight:500}.bank-hint-line{color:var(--soft);margin:0 0 12px;font-size:13.5px}.bank-solve-bar{flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 4px;display:flex}.bank-solve-bar .bank-del{margin-inline-start:auto}.bank-solve .given-grid{list-style:none}.bank-pad{border:1px solid var(--line);border-radius:var(--r-md);background:var(--win);padding:10px 8px}.bank-pad-lines{margin:0;padding:0;list-style:none}.bank-pad .pad-line{border:none;border-bottom:1px solid var(--line-2);min-width:0;color:var(--c-ink);font:inherit;font-family:var(--mono);background:0 0;flex:auto;padding:7px 6px;font-size:16px}.bank-pad .pad-mark{text-align:center;flex:none;width:1.2em}.bank-pad .pad-note{border-inline-start:2px solid var(--line);margin:2px 0 6px;margin-inline-start:2em;padding-inline-start:8px;font-size:13px}.bank-pad-answer{color:var(--c-accent-ink);border-inline-start-color:var(--c-accent)!important}.bank-pad .given-add{margin:8px 0 0}.bank-root .pad-status{text-align:start;max-width:100%;margin-inline-start:0;padding:2px 6px 6px}.bank-verdict{min-height:1.4em;color:var(--soft);margin:10px 2px;font-size:14px}.bank-verdict.ok{color:var(--c-accent-ink);font-weight:500}.bank-hint{border-inline-start:2px solid var(--c-highlight);border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--note-bg);margin:8px 0;padding:10px 14px}.bank-hint-title{margin:0 0 4px;font-size:14px}.bank-landing{border:1px dashed var(--c-accent);border-radius:var(--r-sm);flex-direction:column;align-items:flex-start;gap:8px;margin:10px 0;padding:10px 14px;display:flex}.bank-landing p{margin:0}.bank-signin{margin:12px 0;padding:20px 22px}.bank-signin h2{margin:0 0 6px;font-size:18px}.bank-signin p{color:var(--soft);margin:0 0 4px;line-height:1.6}.bank-import-intro{color:var(--soft);line-height:1.6}.bank-drop{border:1.5px dashed var(--handle);border-radius:var(--r-md);background:var(--sheet);text-align:center;margin:10px 0 12px;padding:26px 18px;transition:border-color .3s,background .3s}.bank-drop.over{border-color:var(--c-accent);background:var(--c-accent-soft)}.bank-drop-btn{cursor:pointer;margin-top:0;display:inline-block}.bank-drop input:focus-visible+.bank-drop-btn{outline:2px solid var(--c-accent);outline-offset:3px}.bank-drop-hint{color:var(--faint);margin:10px 0 0;font-size:13px}.bank-dup{border-inline-start:2px solid var(--c-error);border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--c-error-soft);margin:10px 0;padding:10px 14px}.bank-dup p{margin:0 0 8px}.draft-card{flex-wrap:wrap;gap:16px;margin:10px 0;padding:16px;display:flex}.draft-thumb{flex:0 0 200px;max-width:100%}.draft-thumb img{border-radius:var(--r-sm);background:var(--win);width:100%;box-shadow:0 0 0 1px var(--line);cursor:zoom-in}.draft-main,.draft-body{flex-direction:column;flex:320px;gap:10px;min-width:0;display:flex}.draft-row{flex-wrap:wrap;gap:12px;display:flex}.draft-row .draft-field{flex:180px}.draft-status{color:var(--soft);font-size:13.5px}.draft-status.ok{color:var(--c-accent-ink)}.draft-status.err{color:var(--c-error-ink)}.draft-status.warn{color:var(--note-ink)}.draft-field{flex-direction:column;gap:4px;display:flex}.draft-label{color:var(--faint);font:11.5px var(--mono);letter-spacing:0}.draft-givens{border:none;margin:0;padding:0}.draft-problems{margin:0;padding:0;list-style:none}.draft-input,.draft-area,.given-sym,.given-val{border-radius:var(--r-xs);background:var(--field);min-width:0;box-shadow:inset 0 0 0 1px var(--line);color:var(--c-ink);font:inherit;border:0;padding:7px 9px}.draft-input,.draft-area{width:100%;font-size:15px}.draft-area{resize:vertical;line-height:1.6}.draft-input:focus,.draft-area:focus,.given-sym:focus,.given-val:focus{box-shadow:inset 0 0 0 1px var(--c-accent);outline:none}.draft-preview{border-radius:var(--r-sm);background:var(--sheet);box-shadow:inset 0 0 0 1px var(--line-2);flex-direction:column;gap:6px;padding:11px 13px;display:flex}.draft-acts{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.given-row{align-items:center;gap:6px;display:flex}.given-sym,.given-val{font-family:var(--mono);font-size:14.5px}.given-sym{flex:0 0 90px}.given-val{flex:auto}.given-eq{color:var(--faint);font-family:var(--mono)}.given-x{color:var(--faint);background:0 0;border:none;padding:2px 7px;font-size:14px}.given-x:hover{color:var(--c-error-ink);background:0 0}.given-add{border:1px dashed var(--handle);border-radius:var(--r-xs);color:var(--soft);background:0 0;align-self:flex-start;padding:5px 12px;font-size:12.5px}.given-add:hover{border-color:var(--c-accent);color:var(--c-accent-ink);background:0 0}.solve-card{margin:14px 0 16px;padding:20px 22px}.solve-statement{white-space:pre-wrap;margin:12px 0;font-size:16.5px;line-height:1.8}.given-grid{border-inline-start:2px solid var(--c-accent);border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--sheet);grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px 14px;margin:14px 0;padding:12px 14px;display:grid}.given-cell{direction:ltr;unicode-bidi:isolate;flex-wrap:wrap;align-items:baseline;gap:7px;display:flex}.given-k{color:var(--c-accent-ink);font:500 15px var(--mono)}.given-v{font:15px var(--mono)}.given-note{color:var(--soft);direction:rtl;unicode-bidi:isolate;font-size:12.5px}.given-cell .ML__latex{font-size:15.5px}.solve-statement .ML__latex,.solve-asked .ML__latex{font-size:1em}[data-math] .ML__latex{direction:ltr;unicode-bidi:isolate;display:inline-block}.solve-asked{border-inline-start:2px solid var(--c-error);border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--sheet);white-space:pre-wrap;margin:14px 0 4px;padding:12px 15px;font-size:17px;font-weight:500;line-height:1.75}.solve-shot{color:var(--soft);margin-top:14px;font-size:13.5px}.solve-shot summary{cursor:pointer;padding:4px 0}.solve-shot img{border-radius:var(--r-sm);background:var(--win);width:100%;box-shadow:0 0 0 1px var(--line);margin-top:10px}.formulas-wrap{max-width:980px;margin:0 auto;padding:26px 22px 64px}.formulas-title{font-size:clamp(26px,3.2vw,34px);font-weight:var(--w-head);letter-spacing:-.04em;margin:0 0 6px}.formulas-intro{color:var(--soft);margin:0 0 14px;line-height:1.6}.formulas-search-row .formula-search{width:100%;margin:0 0 6px}.formula-count{color:var(--faint);font:12px var(--mono);margin:4px 0 10px}.formula-group{margin:0 0 22px}.formula-group-title{color:var(--c-accent-ink);font:500 12.5px var(--mono);letter-spacing:0;margin:0 0 10px}.formula-group-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;display:grid}.formula-card{border:1px solid var(--line);border-radius:var(--r-md);background:var(--win);margin-bottom:0;padding:12px 14px;transition:box-shadow .4s}.formula-card:hover{box-shadow:var(--shadow-win)}.formula-name{justify-content:space-between;gap:8px;margin:0;font-size:14px;font-weight:500;display:flex}.formula-topic{color:var(--faint);font:400 11px var(--mono);white-space:nowrap}.formula-tex{text-align:center;direction:ltr;unicode-bidi:isolate;margin:8px 0 4px;font-size:15px;overflow-x:auto}.formula-note{color:var(--soft);margin:4px 0 0;font-size:13px;line-height:1.6}.formula-use,.formula-all{border-radius:var(--r-xs);box-shadow:inset 0 0 0 1px var(--line);color:var(--c-ink);font:inherit;cursor:pointer;background:0 0;margin-top:8px;padding:3px 10px;font-size:12px;font-weight:500}.formula-all{border:1px dashed var(--handle);box-shadow:none;font-size:13px}.formula-use:hover{background:var(--c-ink);box-shadow:none;color:var(--on-ink)}.formula-search{border-radius:var(--r-sm);background:var(--field);box-shadow:inset 0 0 0 1px var(--line);color:var(--c-ink);font:inherit;border:0;margin:10px 12px 4px;padding:8px 10px;font-size:14px}.formula-search:focus{box-shadow:inset 0 0 0 1px var(--c-accent);outline:none}.formula-empty{color:var(--soft);padding:14px 2px;font-size:14px}.formula-side{top:0;bottom:0;z-index:135;border-inline-end:1px solid var(--line);background:var(--win);width:min(340px,86vw);box-shadow:var(--shadow-pop);transform:translateX(var(--formula-off,-105%));transition:transform .6s var(--fold);flex-direction:column;display:flex;position:fixed;inset-inline-start:0}html[dir=rtl] .formula-side,body[dir=rtl] .formula-side{--formula-off:105%}.formula-side.open{transform:translate(0)}.formula-side[hidden]{display:none}.formula-head{min-height:var(--topbar-h);border-bottom:1px solid var(--line-2);background:var(--panel);flex:none;justify-content:space-between;align-items:center;padding:6px 12px 6px 14px;display:flex}.formula-title,.formula-side .formula-title{margin:0;font-size:15px;font-weight:500}.formula-x{border-radius:var(--r-sm);color:var(--soft);cursor:pointer;background:0 0;border:none;padding:2px 8px;font-size:16px}.formula-x:hover{background:var(--sheet);color:var(--c-ink)}.formula-list{flex:auto;padding:8px 12px 20px;overflow-y:auto}.formula-side .formula-search{flex:none;margin:10px 12px 4px}.formula-side .formula-group-grid{grid-template-columns:1fr}.formula-side .formula-card{margin-bottom:10px}.formula-side .formula-name{font-size:14px}.trk-wrap{max-width:660px;margin:0 auto;padding:26px 22px 84px}.trk-strip{align-items:center;gap:12px;margin-bottom:20px;display:flex}.trk-bar{background:var(--line);border-radius:2px;flex:auto;height:2px;overflow:hidden}.trk-bar i{background:var(--c-accent);height:100%;transition:width .6s var(--out);border-radius:2px;display:block}.trk-count{color:var(--faint);font:12px var(--mono)}.trk-card{box-shadow:var(--shadow-win);animation:rise-in .5s var(--out);padding:28px 28px 24px}.trk-h{letter-spacing:-.035em;margin:0 0 14px;font-size:clamp(22px,2.6vw,28px);font-weight:420}.trk-h:focus{outline:none}.trk-p{color:var(--soft);margin:0 0 12px;font-size:17px;line-height:1.75}.trk-p strong,.trk-p b{color:var(--c-ink);font-weight:500}.trk-ask{letter-spacing:-.02em;margin:6px 0 16px;font-size:clamp(19px,2.4vw,23px);font-weight:500}.trk-cap,.trk-note{color:var(--soft);margin:10px 0 0;font-size:14.5px;line-height:1.7}.trk-tag{background:var(--c-accent-soft);color:var(--c-accent-ink);font:500 11.5px var(--mono);letter-spacing:0;border-radius:3px;margin-bottom:10px;padding:2px 8px;display:inline-block}.trk-fig{margin:8px 0 4px}.trk-fig svg{direction:ltr;width:100%;height:auto;display:block}.trk-fig .axis{stroke:var(--line);stroke-width:1.5px}.trk-fig .mid,.trk-fig .cut{stroke:var(--c-error);stroke-width:1.5px;stroke-dasharray:4 4}.trk-fig .wide{fill:none;stroke:var(--c-mark);stroke-width:2px}.trk-fig .narrow{fill:none;stroke:var(--c-accent);stroke-width:2.5px}.trk-fig .area{fill:var(--c-accent-soft);stroke:none}.trk-fig .lbl{fill:var(--soft);font-size:12px}.trk-fig .narrow-l{fill:var(--c-accent-ink)}.trk-fig .wide-l{fill:var(--c-mark)}.trk-rule{border-radius:var(--r-sm);background:var(--sheet);box-shadow:inset 0 0 0 1px var(--line-2);text-align:center;direction:ltr;unicode-bidi:isolate;margin:10px 0;padding:16px 14px;font-size:18px}.trk-worked{border-inline-start:2px solid var(--c-accent);margin:14px 0;padding-inline-start:14px}.trk-worked-tex{direction:ltr;unicode-bidi:isolate;margin-bottom:4px;font-size:17px}.trk-worked-why{color:var(--soft);font-size:14px}.trk-given{border-radius:var(--r-sm);background:var(--sheet);box-shadow:inset 0 0 0 1px var(--line-2);margin-bottom:14px;padding:12px 14px}.trk-given-line{direction:ltr;unicode-bidi:isolate;padding:3px 0;font-size:16.5px}.trk-form{align-items:stretch;gap:8px;margin-top:4px;display:flex}.trk-in{border-radius:var(--r-sm);background:var(--field);min-width:0;box-shadow:inset 0 0 0 1px var(--line);color:var(--c-ink);font:17px var(--mono);text-align:left;direction:ltr;border:0;flex:auto;align-items:center;padding:10px 13px;display:flex}.trk-in:focus-within{box-shadow:inset 0 0 0 1px var(--c-accent);outline:none}.trk-form .trk-in math-field,.trk-form .trk-in input{width:100%;min-width:0;color:var(--c-ink);background:0 0;border:none;outline:none;flex:auto;font-size:17px}.trk-in-note{color:var(--faint);margin:6px 0 0;font-size:13px}.trk-go{border-radius:var(--r-sm);background:var(--c-accent);color:var(--c-on-accent);padding:10px 22px;font-size:16px;font-weight:500}.trk-go:hover{background:var(--c-ink);color:var(--on-ink)}.trk-go:disabled,.trk-quiet:disabled{opacity:.55;cursor:default}.trk-acts{flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px;display:flex}.trk-help{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.trk-quiet{border-radius:var(--r-xs);box-shadow:inset 0 0 0 1px var(--line);color:var(--soft);background:0 0;padding:6px 13px;font-size:13.5px}.trk-quiet:hover{background:var(--sheet);color:var(--c-ink)}.trk-loud{box-shadow:inset 0 0 0 1px var(--c-accent);color:var(--c-accent-ink);font-weight:500}.trk-out{flex-direction:column;gap:8px;margin-top:14px;display:flex}.trk-good,.trk-bad{border-radius:0 var(--r-sm) var(--r-sm) 0;animation:rise-in .4s var(--out);flex-wrap:wrap;align-items:center;gap:8px;padding:11px 14px;font-size:15.5px;display:flex}.trk-good{border-inline-start:2px solid var(--c-accent);background:var(--c-accent-soft);color:var(--c-ink);font-weight:500}.trk-good:before{content:"✓";color:var(--c-accent-ink);animation:tick-in .45s var(--out)}.trk-bad{border-inline-start:2px solid var(--c-error);background:var(--c-error-soft);color:var(--c-ink);animation:rise-in .4s var(--out), nudge .45s var(--out)}.trk-bad:before{content:"✗";color:var(--c-error-ink)}.trk-bad b{font-weight:600}.trk-hint{border-inline-start:2px solid var(--c-highlight);border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--note-bg);color:var(--c-ink);animation:rise-in .4s var(--out);padding:11px 14px;font-size:15px;line-height:1.7}.trk-hint b{color:var(--note-ink);font:500 11.5px var(--mono);letter-spacing:0;margin-bottom:3px;display:block}.trk-fixed{color:var(--c-accent-ink);font-weight:500}.trk-open .trk-h{margin-bottom:20px}.trk-choice{border-radius:var(--r-md);background:var(--sheet);width:100%;box-shadow:inset 0 0 0 1px var(--line);color:var(--c-ink);text-align:start;transition:box-shadow .3s, background .3s, transform .4s var(--out);margin-bottom:10px;padding:16px 18px;font-size:16.5px;font-weight:500;display:block}.trk-choice:hover{background:var(--c-accent-soft);box-shadow:inset 0 0 0 1px var(--c-accent);color:var(--c-ink);transform:translateY(-1px)}.trk-end .trk-h{margin-bottom:10px}@media (max-width:640px){.home-root,.set-root,.bank-root,.trk-root,.formulas-root{bottom:56px;left:0}.formula-side{width:100vw;bottom:56px}.bank-wrap,.formulas-wrap{padding:16px 16px 40px}}@media (max-width:560px){.home-wrap{padding:18px 16px 70px}.home-hero{padding:20px 16px}.trk-wrap{padding:16px 16px 80px}.trk-card{padding:20px 16px 18px}.trk-go{padding:10px 16px}}@media (max-width:520px){.bank-grid{grid-template-columns:1fr}.draft-thumb{flex:100%}}
.math-slot math-field.mf,math-field.pad-line,.trk-in math-field{--caret-color:var(--c-error);--selection-background-color:var(--c-accent-soft);--selection-color:var(--c-ink);--contains-highlight-background-color:transparent;--placeholder-color:var(--faint);--smart-fence-color:var(--faint);color:var(--c-ink)}.math-slot math-field.mf{background:0 0;border:none;border-bottom:1px solid #0000;border-radius:0;outline:none;flex:auto;min-width:0;padding:5px 6px;font-size:19px;display:block}.math-slot math-field.mf:focus-within{border-bottom-color:var(--line);background:var(--sheet)}.math-slot math-field.mf::part(menu-toggle){display:none}.math-slot math-field.mf::part(virtual-keyboard-toggle){color:var(--faint)}.math-slot math-field.mf::part(virtual-keyboard-toggle):hover{color:var(--c-ink)}
