:root{--ink:#1a1c1e;--paper:#f7f5f0;--accent:#0d5c46;--accent-2:#e0532f;--line:#d8d3c8;--muted:#6b6f66;--card:#fff;--hover:#e9e5da;--tint:#f1eee6;--ok:#0d5c46;--warn:#c98a10;--bad:#b0483a;--violet:#5b5f9e;--mono:"JetBrains Mono",ui-monospace,Menlo,monospace;--serif:"Fraunces",Georgia,serif;--sans:"Public Sans",ui-sans-serif,system-ui,sans-serif;--r-sm:6px;--r:10px;--r-lg:14px;--r-pill:999px;--t-3xs:10px;--t-2xs:11px;--t-xs:12px;--t-sm:13px;--t-base:14px;--t-md:15px;--t-lg:16px;--t-xl:18px;--t-2xl:20px;--t-3xl:22px;--t-4xl:24px;--t-5xl:30px;--t-6xl:34px;--e-press-sm:2px 2px 0 rgba(26,28,30,.10);--e-press:4px 4px 0 rgba(26,28,30,.08);--e-press-lg:5px 5px 0 rgba(26,28,30,.12);--e-panel:0 6px 20px rgba(26,28,30,.16);--e-float:0 18px 44px rgba(26,28,30,.26);--e-modal:0 24px 60px rgba(26,28,30,.30);--focus-ring:0 0 0 2px rgba(13,92,70,.18);--z-base:1;--z-sticky:40;--z-float:60;--z-chrome:70;--z-modal:80;--z-toast:96}:root[data-theme=dark]{--ink:#e7e9ec;--paper:#16181c;--card:#1e2126;--line:#333840;--muted:#9aa0a8;--hover:#2b2f36;--tint:#23262c;--accent:#3fae86;--accent-2:#e0714f;--violet:#8b8fe0;--ok:#3fae86;--warn:#d6a24a;--bad:#e0714f}:root[data-theme=dark] body{background:var(--paper)}:root[data-theme=dark] .topbar{background:#0f1114;color:#ece7db}:root[data-theme=dark] .ednav,:root[data-theme=dark] .gradeans,:root[data-theme=dark] .inbox .convos,:root[data-theme=dark] .side,:root[data-theme=dark] .terms .k,:root[data-theme=dark] th{background:#23262c}:root[data-theme=dark] .askrow input,:root[data-theme=dark] .blk input.f,:root[data-theme=dark] .blk textarea,:root[data-theme=dark] .chip,:root[data-theme=dark] .classcard,:root[data-theme=dark] .genrow input,:root[data-theme=dark] .goalin,:root[data-theme=dark] .lhead input,:root[data-theme=dark] .opt,:root[data-theme=dark] .qcard,:root[data-theme=dark] .stdinrow input,:root[data-theme=dark] input.f,:root[data-theme=dark] select.f,:root[data-theme=dark] textarea.f{background:#23262c;color:var(--ink)}:root[data-theme=dark] .goalbox{background:#1c2a24}:root[data-theme=dark] .callout.mistake{background:#2a1f1c}:root[data-theme=dark] .callout.tip{background:#16261f}:root[data-theme=dark] .callout.note{background:#1e2030}:root[data-theme=dark] .msg.a{background:#22302b}:root[data-theme=dark] .objectives{background:#1e2030}:root[data-theme=dark] .mono,:root[data-theme=dark] code{background:#2b2f36;color:#cdd3da}:root[data-theme=dark] .lrow.on,:root[data-theme=dark] .topic.on{background:#2b2f36}:root[data-theme=dark] .btn.ghost{color:var(--ink)}:root[data-theme=dark] .cellpill.n,:root[data-theme=dark] .statuschip.draft{background:#2b2f36}:root[data-theme=dark] .quoteline{background:#3a3320;color:var(--ink)}:root[data-theme=dark] .check,:root[data-theme=dark] .classcard,:root[data-theme=dark] .diff .box,:root[data-theme=dark] .histpanel,:root[data-theme=dark] .padai-msgs,:root[data-theme=dark] .terms,:root[data-theme=dark] .test,:root[data-theme=dark] .tryit{background:var(--card)}:root[data-theme=dark] .diff .box h5,:root[data-theme=dark] .kpi{background:#23262c}:root[data-theme=dark] .kpi .n{color:#e7e9ec}:root[data-theme=dark] .aigrade,:root[data-theme=dark] .notice,:root[data-theme=dark] .qcard.info{background:#1e2030}:root[data-theme=dark] .offline-note{background:#2a2410}:root[data-theme=dark] .confirmbar{background:#2a1f1c}:root[data-theme=dark] .opt.right,:root[data-theme=dark] .sebres.pass,:root[data-theme=dark] .test.pass{background:#16261f}:root[data-theme=dark] .opt.wrong,:root[data-theme=dark] .sebres.fail,:root[data-theme=dark] .test.fail{background:#2a1f1c}:root[data-theme=dark] .cellpill.m{background:#16261f}:root[data-theme=dark] .cellpill.p{background:#2a2410}:root[data-theme=dark] .opt.sel{background:#2b2f36}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--sans);background:var(--paper);color:var(--ink);line-height:1.5;font-size:var(--t-md)}.avatar-sm{width:24px;height:24px;border-radius:var(--r-pill);background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--t-xs);overflow:hidden;flex-shrink:0}.avatar-sm img{width:100%;height:100%;object-fit:cover}.avatar-lg{width:96px;height:96px;border-radius:var(--r-pill);background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:38px;overflow:hidden;border:2px solid var(--line)}.avatar-lg img{width:100%;height:100%;object-fit:cover}button{font-family:inherit;cursor:pointer}a{color:inherit;text-decoration:none}.topbar{background:var(--ink);color:var(--paper);display:flex;align-items:center;gap:14px;padding:12px 22px;flex-wrap:wrap;position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-chrome)}.topbar .logo{font-family:var(--serif);font-weight:900;font-size:var(--t-xl)}.topbar .logo em{color:#7fd6b8;font-style:normal}.topbar .proto{font-family:var(--mono);font-size:var(--t-3xs);letter-spacing:.12em;color:#b9bcb2;border:1px solid #4a4d47;border-radius:var(--r-pill);padding:3px 10px}.topbar .spacer{flex:1 1}.viewswitch{display:flex;border:1px solid #4a4d47;border-radius:var(--r);overflow:hidden}.viewswitch a,.viewswitch button{background:transparent;color:#b9bcb2;border:none;padding:8px 15px;font-size:var(--t-sm);font-weight:600}.viewswitch a.on,.viewswitch button.on{background:var(--paper);color:var(--ink)}.modelbox{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:var(--t-2xs);color:#b9bcb2}.modelbox select{background:#2a2d2b;color:#e9e4d8;border:1px solid #4a4d47;border-radius:var(--r);padding:7px 10px;font-family:var(--mono);font-size:var(--t-xs);cursor:pointer;max-width:220px}.costbadge{font-family:var(--mono);font-size:var(--t-2xs);color:#7fd6b8;border:1px solid #2f5c4c;border-radius:var(--r-pill);padding:5px 12px;background:#22302b}.tbtn{background:#2a2d2b;color:#e9e4d8;border:1px solid #4a4d47;border-radius:var(--r);padding:7px 12px;font-size:var(--t-xs);font-weight:600}.tbtn:hover{background:#33372f}.savebadge{font-family:var(--mono);font-size:var(--t-2xs);color:#7fd6b8}.shell{display:flex;min-height:calc(100vh - 57px)}.side{width:280px;border-right:1.5px solid var(--line);padding:22px 16px;background:var(--tint);flex-shrink:0;position:-webkit-sticky;position:sticky;top:57px;height:calc(100vh - 57px);overflow-y:auto}.side h3{font-family:var(--mono);font-size:var(--t-2xs);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:4px 8px 12px}.topic{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:transparent;border:1.5px solid transparent;border-radius:var(--r);padding:11px 12px;font-size:var(--t-base);font-weight:600;color:var(--ink);margin-bottom:4px}.topic:hover{background:var(--hover)}.topic.on{background:var(--card);border-color:var(--ink);box-shadow:var(--e-press)}.topic .mini{margin-left:auto;font-family:var(--mono);font-size:var(--t-3xs);color:var(--muted)}.dot{width:10px;height:10px;border-radius:var(--r-pill);flex-shrink:0}.dot.m{background:var(--ok)}.dot.p{background:var(--warn)}.dot.n{background:#c7c2b6}.legend{margin-top:14px;padding:12px;border-top:1px solid var(--line);font-size:var(--t-xs);color:var(--muted);font-family:var(--mono);font-size:var(--t-3xs);letter-spacing:.06em}.legend div{display:flex;align-items:center;gap:8px;margin-top:6px}.main{flex:1 1;padding:28px 34px;max-width:1400px;margin:0 auto;width:100%}.crumb{font-family:var(--mono);font-size:var(--t-2xs);color:var(--muted);letter-spacing:.08em;margin-bottom:8px}h1.title{font-family:var(--serif);font-weight:900;font-size:var(--t-6xl);letter-spacing:-.01em;margin-bottom:4px}.status-pill{display:inline-block;font-family:var(--mono);font-size:var(--t-2xs);letter-spacing:.1em;padding:4px 12px;border-radius:var(--r-pill);font-weight:600;margin:0 8px 10px 0}.status-pill.m{background:var(--ok);color:#fff}.status-pill.p{background:var(--warn);color:#fff}.status-pill.n{background:#c7c2b6;color:var(--ink)}.ready{margin:6px 0 22px;max-width:560px}.ready .barwrap{height:12px;background:var(--hover);border:1.5px solid var(--ink);border-radius:var(--r-pill);overflow:hidden}.ready .bar{height:100%;background:linear-gradient(90deg,var(--warn),var(--accent));transition:width .5s}.ready .lbl{font-family:var(--mono);font-size:var(--t-3xs);color:var(--muted);margin-top:5px;line-height:1.5}.panel{background:var(--card);border:1.5px solid var(--ink);border-radius:var(--r-lg);padding:24px 26px;margin-bottom:22px;box-shadow:var(--e-press)}.panel h2{font-family:var(--serif);font-size:var(--t-2xl);font-weight:700;margin-bottom:12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.panel h2 .tag{font-family:var(--mono);font-size:var(--t-3xs);letter-spacing:.12em;text-transform:uppercase;background:var(--accent);color:#fff;padding:3px 9px;border-radius:var(--r-pill);font-weight:600}.panel h2 .tag.o{background:var(--accent-2)}.panel h2 .tag.k{background:var(--ink)}.panel h2 .tag.ai{background:var(--violet)}.panel h2 .tag.run{background:#2a6f97}.panel p{margin-bottom:10px}.panel ul{margin:0 0 10px 22px}.mono,code{font-family:var(--mono);font-size:var(--t-sm);background:#eee9de;padding:1px 6px;border-radius:var(--r-sm)}.lesson h2{font-family:var(--serif);font-weight:700;font-size:var(--t-2xl);margin:26px 0 10px;padding-bottom:5px;border-bottom:2px solid var(--line);display:block}.lesson p{margin-bottom:13px}.goalbox,.lesson p{font-size:var(--t-md)}.goalbox{margin-bottom:20px;padding:12px 16px;background:#e7f2ec;border-left:4px solid var(--accent);border-radius:0 var(--r) var(--r) 0}.codeblock{margin:14px 0;border-radius:var(--r);overflow:hidden;border:1.5px solid #2a2d25}.codeblock pre{font-family:var(--mono);font-size:var(--t-sm);background:#1e211f;color:#dfe6db;padding:14px 16px;overflow-x:auto;line-height:1.55;margin:0}.codeblock .out{background:#0f120d;color:#b7d3ad;font-family:var(--mono);font-size:var(--t-xs);padding:9px 16px;border-top:1px dashed #2a2d25;white-space:pre-wrap}.codeblock .out .lbl{color:#6b7268;margin-right:10px;font-size:var(--t-3xs);letter-spacing:.1em}.callout{border-radius:var(--r);padding:14px 18px;margin:16px 0;border-left:4px solid}.callout .ch{font-family:var(--mono);font-size:var(--t-2xs);letter-spacing:.08em;text-transform:uppercase;font-weight:700;margin-bottom:6px}.callout p{margin:0}.callout.mistake{background:#f9ebe7;border-color:var(--accent-2)}.callout.mistake .ch{color:var(--accent-2)}.callout.tip{background:#e7f2ec;border-color:var(--accent)}.callout.tip .ch{color:var(--accent)}.callout.note{background:#eef0f7;border-color:var(--violet)}.callout.note .ch{color:var(--violet)}.terms{border:1.5px solid var(--line);border-radius:var(--r);overflow:hidden;margin:16px 0;background:var(--card)}.terms .row{display:grid;grid-template-columns:170px 1fr;border-top:1px solid var(--line)}.terms .row:first-child{border-top:none}.terms .k{font-family:var(--mono);font-size:var(--t-xs);padding:9px 14px;background:var(--tint);color:var(--accent);font-weight:600}.terms .v{padding:9px 14px;font-size:var(--t-base)}.check{border:1.5px dashed var(--line);border-radius:var(--r);padding:6px 16px;margin:16px 0;background:var(--card)}.check details{padding:9px 0;border-top:1px dashed var(--line)}.check details:first-child{border-top:none}.check summary{cursor:pointer;font-weight:600;font-size:var(--t-base)}.check .ans{color:var(--muted);font-size:var(--t-base);margin-top:6px;padding-left:16px}.tryit{border:1.5px solid var(--ink);border-radius:var(--r);padding:14px 18px;margin:18px 0;background:var(--card)}.tryit .ch{font-family:var(--mono);font-size:var(--t-2xs);color:var(--accent-2);margin-bottom:6px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}.tryit .meta{font-family:var(--mono);font-size:var(--t-3xs);color:var(--muted);margin-top:8px}.btn{border:1.5px solid var(--ink);background:var(--ink);color:var(--paper);border-radius:var(--r);padding:10px 18px;font-size:var(--t-sm);font-weight:700}.btn:hover{background:#33362f}.btn.ghost{background:transparent;color:var(--ink)}.btn.ghost:hover{background:#eee9de}.btn.green{background:var(--accent);border-color:var(--accent)}.btn.orange{background:var(--accent-2);border-color:var(--accent-2)}.btn.purple{background:var(--violet);border-color:var(--violet)}.btn.blue{background:#2a6f97;border-color:#2a6f97}.btn:disabled{opacity:.45;cursor:not-allowed}.qitem{margin-bottom:18px;padding-bottom:16px;border-bottom:1px dashed var(--line)}.qitem:last-of-type{border-bottom:none}.qitem .qh{font-weight:700;margin-bottom:9px}.qitem .qh .n{font-family:var(--mono);font-size:var(--t-2xs);color:var(--accent-2);margin-right:8px}.opt{display:flex;gap:12px;align-items:flex-start;width:100%;text-align:left;border:1.5px solid var(--line);border-radius:var(--r);padding:10px 13px;margin-bottom:7px;cursor:pointer;background:var(--card);font-size:var(--t-base)}.opt.sel,.opt:hover{border-color:var(--ink)}.opt.sel{background:var(--tint);box-shadow:var(--e-press-sm)}.opt.right{border-color:var(--ok);background:#e7f2ec}.opt.wrong{border-color:var(--bad);background:#f7e9e6}.opt .letter{font-family:var(--mono);font-weight:600;font-size:var(--t-xs);background:var(--ink);color:#fff;border-radius:var(--r-sm);padding:2px 7px;flex-shrink:0}.why{font-size:var(--t-sm);margin:4px 0 0;padding:8px 12px;border-radius:var(--r);background:var(--tint);border-left:3px solid var(--accent)}.quizfoot{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:6px}.score{font-family:var(--mono);font-weight:600;font-size:var(--t-sm)}.score.ok{color:var(--ok)}.score.bad{color:var(--bad)}.cm-wrap{border-radius:var(--r);overflow:hidden;border:1.5px solid #2a2d25}.cm-wrap .cm-editor{font-family:var(--mono);font-size:var(--t-sm)}.runrow{display:flex;gap:10px;margin-top:12px;align-items:center;flex-wrap:wrap}.runnote{font-family:var(--mono);font-size:var(--t-3xs);color:var(--muted)}.console{margin-top:12px;background:#12140f;border:1.5px solid #2a2d25;border-radius:var(--r);overflow:hidden}.console .chead{background:#1e211f;color:#8b9186;font-family:var(--mono);font-size:var(--t-3xs);letter-spacing:.1em;padding:7px 14px;display:flex;justify-content:space-between;border-bottom:1px solid #2a2d25}.console .cbody{font-family:var(--mono);font-size:var(--t-sm);color:#cfe3c9;padding:14px 16px;white-space:pre-wrap;min-height:44px;line-height:1.5}.console .cbody.err{color:#f0a08f}.console .cbody .mutedtx{color:#6b7268}.stdinrow{display:flex;gap:8px;align-items:center;margin-top:10px;flex-wrap:wrap}.stdinrow input{border:1.5px solid var(--ink);border-radius:var(--r);padding:8px 12px;font-family:var(--mono);font-size:var(--t-xs);background:var(--card);min-width:240px}.stdinrow label{font-family:var(--mono);font-size:var(--t-3xs);color:var(--muted)}.modeseg{display:inline-flex;border:1.5px solid var(--ink);border-radius:var(--r);overflow:hidden;margin-bottom:6px}.modeseg button{background:var(--card);border:none;padding:8px 14px;font-size:var(--t-xs);font-weight:600;color:var(--muted)}.modeseg button.on{background:var(--ink);color:var(--paper)}.modehint{font-family:var(--mono);font-size:var(--t-3xs);color:var(--muted);margin:4px 0 12px}.tests{margin-top:14px}.test{display:flex;gap:10px;align-items:flex-start;font-family:var(--mono);font-size:var(--t-xs);padding:10px 12px;border-radius:var(--r);margin-bottom:6px;border:1px solid var(--line);background:var(--card)}.test.pass{border-color:var(--ok);background:#e7f2ec}.test.fail{border-color:var(--bad);background:#f7e9e6}.test .mark{font-weight:700;flex-shrink:0}.diff{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-top:8px}.diff .box{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--card)}.diff .box h5{font-family:var(--mono);font-size:var(--t-3xs);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:6px 10px;background:var(--tint);border-bottom:1px solid var(--line)}.diff .box pre{font-family:var(--mono);font-size:var(--t-xs);padding:9px 11px;white-space:pre-wrap;line-height:1.45}.aigrade{margin-top:12px;padding:14px 16px;border-radius:var(--r);border-left:3px solid var(--violet);background:#eef0f7;font-size:var(--t-sm)}.aigrade .verdict{font-weight:700;font-family:var(--mono);font-size:var(--t-2xs);letter-spacing:.08em;margin-bottom:6px;display:block}.aigrade .verdict.ok{color:var(--ok)}.aigrade .verdict.bad{color:var(--bad)}.aigrade .m{display:block;margin-top:8px;font-family:var(--mono);font-size:var(--t-3xs);color:var(--muted)}.genrow{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.genrow input{flex:1 1;min-width:220px;border:1.5px solid var(--ink);border-radius:var(--r);padding:10px 14px;font-family:inherit;font-size:var(--t-base);background:var(--card)}.genhint{font-family:var(--mono);font-size:var(--t-3xs);color:var(--muted);line-height:1.6}.offline-note{margin:10px 0;padding:12px 16px;border-radius:var(--r);border-left:4px solid var(--warn);background:#fbf3e2;font-size:var(--t-sm)}.tutor .quick{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.chip{border:1.5px solid var(--ink);background:var(--card);border-radius:var(--r-pill);padding:7px 14px;font-size:var(--t-xs);font-weight:600}.chip:hover{background:var(--ink);color:#fff}.askrow{gap:8px}.askrow input{flex:1 1;border:1.5px solid var(--ink);border-radius:var(--r);padding:10px 14px;font-family:inherit;font-size:var(--t-base);background:var(--card)}.msgs{max-height:360px;overflow-y:auto;margin-bottom:14px;display:flex;flex-direction:column;gap:10px}.msg{border-radius:var(--r);padding:12px 15px;font-size:var(--t-base);max-width:92%;white-space:pre-wrap}.msg.u{background:var(--ink);color:var(--paper);align-self:flex-end}.msg.a{background:#e7f2ec;border:1px solid var(--ok);align-self:flex-start}.msg.a .who{letter-spacing:.1em;color:var(--accent);margin-bottom:5px;font-weight:600}.msg.a .meta,.msg.a .who{font-family:var(--mono);font-size:var(--t-3xs);display:block}.msg.a .meta{margin-top:8px;color:var(--muted)}.msg.think{color:var(--muted);font-style:italic;background:var(--tint);border:1px dashed var(--line)}.scopenote{font-family:var(--mono);font-size:var(--t-3xs);color:var(--muted);margin-top:10px;line-height:1.6}.dash{flex:1 1;padding:28px 34px}.kpis{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px;margin-bottom:22px}.kpi{background:var(--ink);color:var(--paper);border-radius:var(--r);padding:18px 20px}.kpi .n{font-family:var(--serif);font-size:var(--t-5xl);font-weight:900;color:#e9e4d8}.kpi .n em{color:#7fd6b8;font-style:normal}.kpi p{font-size:var(--t-xs);color:#b9bcb2;margin-top:2px}.dashgrid{background:var(--card);border:1.5px solid var(--ink);border-radius:var(--r-lg);overflow:auto;box-shadow:var(--e-press)}table{width:100%;border-collapse:collapse;font-size:var(--t-base)}th{font-family:var(--mono);font-size:var(--t-3xs);letter-spacing:.1em;text-transform:uppercase;text-align:left;padding:13px 16px;background:var(--tint);border-bottom:1.5px solid var(--ink);color:var(--muted)}td{padding:12px 16px;border-bottom:1px solid var(--line)}tr:last-child td{border-bottom:none}td.name{font-weight:700}.cellpill{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:var(--t-2xs);padding:4px 11px;border-radius:var(--r-pill);font-weight:600;white-space:nowrap}.cellpill.m{background:#e7f2ec;color:var(--ok);border:1px solid var(--ok)}.cellpill.p{background:#fbf3e2;color:#9a6c0d;border:1px solid var(--warn)}.cellpill.n{background:var(--tint);color:var(--muted);border:1px solid var(--line)}.flag{font-size:var(--t-2xs);font-weight:700;color:#fff;background:var(--bad);border-radius:var(--r-sm);padding:2px 8px;margin-left:8px;font-family:var(--mono)}.flag.coast{background:var(--violet)}.dashnote{margin-top:16px;font-size:var(--t-sm);color:var(--muted);max-width:75ch}.overlay{position:fixed;inset:0;background:rgba(26,28,30,.72);display:flex;align-items:center;justify-content:center;z-index:var(--z-chrome);padding:20px}.sebwin{background:var(--paper);border-radius:var(--r-lg);max-width:680px;width:100%;max-height:92vh;overflow-y:auto;border:2px solid var(--ink)}.sebbar{background:var(--bad);color:#fff;font-family:var(--mono);font-size:var(--t-2xs);letter-spacing:.12em;padding:10px 18px;display:flex;justify-content:space-between;border-radius:var(--r-lg) var(--r-lg) 0 0;flex-wrap:wrap;gap:6px}.sebbody{padding:26px 28px}.sebbody h2{font-family:var(--serif);font-size:var(--t-4xl);font-weight:900;margin-bottom:6px}.sebbody .sub{font-size:var(--t-sm);color:var(--muted);margin-bottom:18px}.sebres{margin-top:14px;padding:16px 18px;border-radius:var(--r);font-weight:600}.sebres.pass{background:#e7f2ec;border:1.5px solid var(--ok);color:var(--ok)}.sebres.fail{background:#f7e9e6;border:1.5px solid var(--bad);color:var(--bad)}.ednav{width:262px;flex-shrink:0;border-right:1.5px solid var(--line);background:var(--tint);min-height:calc(100vh - 57px);overflow-y:auto;padding:16px 12px}.chap{margin-bottom:14px}.chaphead{display:flex;align-items:center;gap:6px;padding:0 6px 6px}.chaphead input{flex:1 1;font-family:var(--mono);font-size:var(--t-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:transparent;border:none;font-weight:700}.chaphead input:focus{outline:1px solid var(--accent);border-radius:var(--r-sm);background:var(--card)}.lrow{display:flex;gap:8px;align-items:center;width:100%;text-align:left;background:transparent;border:1.5px solid transparent;border-radius:var(--r);padding:8px 9px;font-size:var(--t-sm);font-weight:500;color:var(--ink);cursor:pointer}.lrow:hover{background:var(--hover)}.lrow.on{background:var(--card);border-color:var(--ink);box-shadow:var(--e-press-sm);font-weight:700}.lrow .num{font-family:var(--mono);font-size:var(--t-3xs);color:var(--accent);font-weight:600}.addbtn{width:100%;text-align:left;background:transparent;border:1px dashed var(--line);border-radius:var(--r);padding:7px 10px;font-size:var(--t-xs);color:var(--muted);margin-top:3px}.addbtn:hover{border-color:var(--accent);color:var(--accent)}.edmain{flex:1 1;max-width:860px;margin:0 auto;padding:26px 34px 120px}.edbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px}.edbar .seg{display:flex;border:1.5px solid var(--ink);border-radius:var(--r);overflow:hidden}.edbar .seg button{background:var(--card);border:none;padding:8px 15px;font-size:var(--t-sm);font-weight:600;color:var(--muted)}.edbar .seg button.on{background:var(--ink);color:var(--paper)}.edbar .save{font-family:var(--mono);font-size:var(--t-2xs);color:var(--accent)}.lhead{display:flex;gap:10px;margin-bottom:8px}.lhead input{border:1.5px solid var(--line);border-radius:var(--r);padding:9px 12px;font-family:inherit;background:var(--card)}.lhead .lcode{width:76px;font-family:var(--mono);font-size:var(--t-sm)}.lhead .ltitle{flex:1 1;font-family:var(--serif);font-weight:700;font-size:var(--t-2xl)}.goalin{width:100%;padding:9px 12px;font-family:inherit;font-size:var(--t-base);margin-bottom:18px}.blk,.goalin{border:1.5px solid var(--line);border-radius:var(--r);background:var(--card)}.blk{margin-bottom:12px;overflow:hidden}.blk.dragover{border-color:var(--accent);box-shadow:0 -3px 0 var(--accent)}.blk.dragging{opacity:.4}.blk .bh{display:flex;align-items:center;gap:8px;background:var(--tint);padding:6px 10px;border-bottom:1px solid var(--line)}.blk .bh .grip{cursor:-webkit-grab;cursor:grab;color:var(--muted);font-size:var(--t-base);padding:0 4px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.blk .bh .grip:active{cursor:-webkit-grabbing;cursor:grabbing}.blk .bh .kind{font-family:var(--mono);font-size:var(--t-3xs);letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--muted)}.blk .bh .sp{flex:1 1}.blk .bh button{background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);width:26px;height:24px;font-size:var(--t-xs);color:var(--muted);display:inline-flex;align-items:center;justify-content:center}.blk .bh button:hover{border-color:var(--ink);color:var(--ink)}.blk .bh button.del:hover{border-color:var(--accent-2);color:var(--accent-2)}.blk .bb{padding:12px 14px}.blk input.f,.blk textarea{width:100%;border:1px solid var(--line);border-radius:var(--r);padding:9px 11px;font-family:inherit;font-size:var(--t-base);background:var(--card);resize:vertical}.blk textarea.monoarea{font-family:var(--mono);font-size:var(--t-sm);background:#1e211f;color:#dfe6db;border:none;min-height:90px;line-height:1.55}.blk .lbl{font-family:var(--mono);font-size:var(--t-3xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:8px 0 4px}.blk .lbl:first-child{margin-top:0}.blk select{border:1px solid var(--line);border-radius:var(--r-sm);padding:6px 9px;font-family:inherit;font-size:var(--t-sm);background:var(--card)}.itemrow{display:flex;gap:6px;margin-bottom:6px}.itemrow input{flex:1 1}.itemrow input:first-child{flex:0 0 180px;font-family:var(--mono);font-size:var(--t-xs)}.itemrow button{background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);width:28px;color:var(--muted)}.itemrow button:hover{border-color:var(--accent-2);color:var(--accent-2)}.addbar{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0;padding:14px;border:1.5px dashed var(--accent);border-radius:var(--r);background:var(--card)}.addbar .lbl{width:100%;font-family:var(--mono);font-size:var(--t-3xs);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:2px}.addbar button{border:1.5px solid var(--ink);background:var(--card);border-radius:var(--r);padding:7px 13px;font-size:var(--t-xs);font-weight:600}.addbar button:hover{background:var(--ink);color:var(--paper)}.pv h1{font-family:var(--serif);font-weight:900;font-size:var(--t-5xl);margin-bottom:8px;line-height:1.1}.dockrail{position:fixed;right:0;top:38%;display:flex;flex-direction:column;gap:8px;z-index:var(--z-sticky)}.dockrail button{writing-mode:vertical-rl;background:var(--ink);color:var(--paper);border:1.5px solid var(--ink);border-right:none;border-radius:var(--r) 0 0 var(--r);padding:16px 9px;font-size:var(--t-xs);font-weight:700;letter-spacing:.04em;box-shadow:-3px 3px 0 rgba(26,28,30,.15)}.dockrail button.on,.dockrail button:hover{background:var(--accent);border-color:var(--accent)}.toolwin{background:var(--paper);border:1.5px solid var(--ink);display:flex;flex-direction:column;box-shadow:var(--e-press);overflow:hidden}.toolwin.floating{border-radius:var(--r-lg)}.toolwin.docked{border-radius:0;border-right:none;box-shadow:-8px 0 28px rgba(26,28,30,.16)}.toolbar{display:flex;align-items:center;gap:8px;padding:8px 10px 8px 14px;background:var(--ink);color:var(--paper);cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}.toolbar:active{cursor:-webkit-grabbing;cursor:grabbing}.toolbar .ttitle{font-family:var(--mono);font-size:var(--t-2xs);letter-spacing:.06em;font-weight:700}.toolbar .tctl{background:transparent;color:#b9bcb2;border:1px solid #4a4d47;border-radius:var(--r-sm);width:26px;height:24px;font-size:var(--t-xs)}.toolbar .tctl:hover{background:#33372f;color:#fff}.toolbody{flex:1 1;overflow-y:auto;padding:16px;min-height:0}.resizer{position:absolute}.resizer.corner{right:0;bottom:0;width:18px;height:18px;cursor:nwse-resize;background:linear-gradient(135deg,transparent 50%,var(--muted) 50%,var(--muted) 60%,transparent 60%)}.resizer.left{left:0;top:0;bottom:0;width:7px;cursor:ew-resize}.resizer.left:hover{background:var(--accent)}.askpop2{position:fixed;transform:translateX(-50%);z-index:var(--z-float);background:var(--paper);border:1.5px solid var(--ink);border-radius:var(--r);padding:10px;width:340px;box-shadow:var(--e-press);display:flex;flex-direction:column;gap:7px}.askpop2 .quoteprev{font-size:var(--t-xs);color:var(--muted);font-style:italic;border-left:3px solid var(--violet);padding-left:8px}.askpop2 input{border:1.5px solid var(--line);padding:8px 11px;font-family:inherit;background:var(--card)}.askpop2 input,.sentnote{border-radius:var(--r);font-size:var(--t-sm)}.sentnote{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:var(--z-float);background:var(--accent);color:#fff;padding:10px 18px;font-weight:600;box-shadow:var(--e-panel)}.padgrid{flex:1 1;gap:10px;flex-wrap:wrap}.padcode,.padgrid{display:flex;min-height:200px}.padcode{flex:1 1 320px;min-width:280px}.padcode .cm-wrap{flex:1 1;display:flex;flex-direction:column;min-height:0;height:100%}.padcode .cm-wrap>div{flex:1 1;min-height:0}.padcode .cm-editor{height:100%}.padcode .cm-scroller{overflow:auto}.padgrid .console{flex:1 1 240px;min-width:220px;min-height:160px}.padai{border-top:1.5px dashed var(--line);padding-top:10px}.padai-msgs{max-height:180px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.qcard{border:1.5px solid var(--line);border-radius:var(--r);padding:16px 18px;margin-bottom:14px;background:var(--card)}.qcard.info{background:#eef0f7;border-left:4px solid var(--violet)}.qedit{display:flex;flex-direction:column;gap:6px}.qedit-head{display:flex;gap:8px;align-items:flex-start}.qedit-head .pts{font-family:var(--mono);font-size:var(--t-3xs);color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:2px}.qedit-head .pts input{width:52px;text-align:center}.qbuild.dragging{opacity:.4}.qbuild.dragover{box-shadow:0 -4px 0 var(--accent),var(--e-press)}.qbuild-head{display:flex;align-items:center;gap:6px;margin-bottom:10px}.qbuild-head .qtype{font-family:var(--mono);font-size:var(--t-2xs);font-weight:700;color:var(--violet)}.testsettings{display:grid;grid-template-columns:1fr 130px 1fr;grid-gap:12px;gap:12px;margin-bottom:8px}.gradeans{background:var(--tint);border-radius:var(--r);padding:8px 12px;margin:6px 0;font-size:var(--t-base)}.graderow{display:flex;align-items:center;gap:8px;margin-top:8px}.graderow input[type=number]{width:60px;padding:6px;border:1.5px solid var(--ink);border-radius:var(--r-sm);text-align:center}.examwrap{min-height:calc(100vh - 57px);background:var(--paper)}.exambody{max-width:760px;margin:0 auto;padding:34px 24px 80px}.objectives{border:1.5px solid var(--line);border-left:4px solid var(--violet);border-radius:0 var(--r) var(--r) 0;background:#eef0f7;padding:12px 18px;margin:0 0 18px}.objectives .ch{font-family:var(--mono);font-size:var(--t-3xs);letter-spacing:.08em;font-weight:700;color:var(--violet);margin-bottom:6px}.objectives ul{margin:0 0 0 20px;font-size:var(--t-base)}.objectives li{margin:3px 0}.msgrow{position:relative}.msgrow .msgacts{display:none;position:absolute;top:4px;right:6px;gap:3px}.msgrow:hover .msgacts{display:inline-flex}.msgrow .msgacts button{border:none;background:var(--card);border-radius:var(--r-sm);width:22px;height:20px;font-size:var(--t-2xs);cursor:pointer;color:var(--ink)}.lessonref{display:block;margin-top:6px;font-family:var(--mono);font-size:var(--t-2xs);color:var(--accent);text-decoration:underline}.msg.u .lessonref{color:#7fd6b8}.confirmbar{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#fbeceb;border-top:1.5px solid var(--accent-2);font-size:var(--t-sm)}.quoteline{display:block;background:#fdf2b8;color:var(--ink);border-left:3px solid var(--warn);padding:5px 10px;margin:4px 0;border-radius:0 var(--r-sm) var(--r-sm) 0;font-style:italic}.msg.u .quoteline{background:var(--card)}.msgline{display:flex;align-items:flex-end;gap:8px;max-width:92%}.msgline.mine{align-self:flex-end;flex-direction:row-reverse}.msgline.theirs{align-self:flex-start}.msgline .msg{max-width:100%}.lesson-highlight{background:#fde68a;color:#1a1c1e;border-radius:var(--r-sm);padding:1px 2px;box-shadow:0 0 0 3px #fde68a;animation:hlpulse 1.4s ease 2}@keyframes hlpulse{0%,to{background:#fde68a}50%{background:#fbbf24}}.cropview{position:relative;margin:0 auto;overflow:hidden;border-radius:var(--r);background:#000;touch-action:none;cursor:-webkit-grab;cursor:grab}.cropview:active{cursor:-webkit-grabbing;cursor:grabbing}.cropring{position:absolute;inset:0;border-radius:var(--r-pill);box-shadow:0 0 0 999px rgba(22,24,28,.55);pointer-events:none}.edblk{position:relative;border-radius:var(--r)}.edblk:focus-within,.edblk:hover{outline:1.5px dashed #c9d6cf;outline-offset:6px}.edblk.dragging{opacity:.35}.edblk.dragover{box-shadow:0 -4px 0 var(--accent)}.blktools{position:absolute;top:-13px;right:6px;display:none;gap:4px;z-index:5;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:3px 5px;box-shadow:var(--e-press-sm)}.edblk:focus-within .blktools,.edblk:hover .blktools{display:flex}.blktools button,.blktools select{border:1px solid var(--line);background:var(--card);border-radius:var(--r-sm);min-width:24px;height:22px;font-size:var(--t-2xs);color:var(--muted)}.blktools button:hover{border-color:var(--ink);color:var(--ink)}.blktools button.del:hover{border-color:var(--accent-2);color:var(--accent-2)}.blktools .grip{cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}[contenteditable]{outline:none;border-radius:var(--r-sm)}[contenteditable]:focus{background:rgba(13,92,70,.045);box-shadow:var(--focus-ring)}[contenteditable]:empty:before{content:attr(data-ph);color:#b5b9ae}.insrow{display:flex;align-items:center;gap:8px;height:18px;margin:2px 0;opacity:0;transition:opacity .12s}.insrow.open,.insrow:hover{opacity:1}.insrow .line{flex:1 1;border-top:1.5px dashed var(--accent)}.insrow .plus{border:1.5px solid var(--accent);background:var(--card);color:var(--accent);border-radius:var(--r-pill);width:22px;height:22px;font-size:var(--t-base);line-height:1;font-weight:700}.insrow .plus:hover{background:var(--accent);color:#fff}.insmenu{display:flex;gap:5px;flex-wrap:wrap}.insmenu button{border:1.5px solid var(--ink);background:var(--card);border-radius:var(--r-sm);padding:4px 10px;font-size:var(--t-2xs);font-weight:600}.insmenu button:hover{background:var(--ink);color:var(--paper)}.fmtbar{position:fixed;z-index:var(--z-float);display:flex;gap:3px;background:var(--ink);border-radius:var(--r);padding:4px 5px;box-shadow:var(--e-panel)}.fmtbar button{background:transparent;color:var(--paper);border:none;border-radius:var(--r-sm);min-width:26px;height:24px;font-size:var(--t-xs)}.fmtbar button:hover{background:#33362f}.codeedit{width:100%;font-family:var(--mono);font-size:var(--t-sm);background:#1e211f;color:#dfe6db;border:none;padding:14px 16px;line-height:1.55;resize:vertical;min-height:60px;display:block}.outedit{display:flex;align-items:baseline;gap:10px;background:#0f120d;border-top:1px dashed #2a2d25;padding:6px 16px}.outedit .lbl{color:#6b7268;font-family:var(--mono);font-size:var(--t-3xs);letter-spacing:.1em}.outedit textarea{flex:1 1;background:transparent;border:none;color:#b7d3ad;font-family:var(--mono);font-size:var(--t-xs);resize:vertical;min-height:20px;outline:none}.statuschip{font-family:var(--mono);font-size:var(--t-3xs);letter-spacing:.08em;padding:5px 12px;border-radius:var(--r-pill);font-weight:700}.statuschip.draft{background:#fbf3e2;color:#9a6c0d;border:1.5px solid var(--warn)}.statuschip.live{background:color-mix(in srgb,var(--ok) 12%,var(--card));color:var(--ok);border:1.5px solid var(--ok)}.histpanel{border:1.5px solid var(--ink);border-radius:var(--r);background:var(--card);padding:14px 16px;margin-bottom:16px;box-shadow:var(--e-press)}.histpanel .vrow{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px dashed var(--line);font-size:var(--t-sm)}.histpanel .vrow:last-child{border-bottom:none}.draftdot{width:7px;height:7px;border-radius:var(--r-pill);background:var(--warn);flex-shrink:0;margin-left:auto}.edh2{font-family:var(--serif);font-weight:700;font-size:var(--t-2xl);margin:26px 0 10px;padding-bottom:5px;border-bottom:2px solid var(--line)}.navbadge{position:absolute;top:-6px;right:-6px;background:var(--accent-2);color:#fff;font-family:var(--mono);font-size:var(--t-3xs);font-weight:700;min-width:16px;height:16px;border-radius:var(--r-pill);display:inline-flex;align-items:center;justify-content:center;padding:0 4px}.classcard{border:1.5px solid var(--line);border-radius:var(--r);padding:12px 14px;margin-bottom:12px;background:var(--card)}.cchead{display:flex;gap:10px;flex-wrap:wrap}.cchead,.tbtn2{align-items:center}.tbtn2{border:1px solid var(--line);background:var(--card);border-radius:var(--r-sm);min-width:28px;height:28px;padding:0 8px;font-size:var(--t-sm);color:var(--muted);display:inline-flex;justify-content:center;text-decoration:none}.tbtn2:hover{border-color:var(--ink);color:var(--ink)}.tbtn2.danger:hover{border-color:var(--accent-2);color:var(--accent-2)}.gbanner{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 14px;margin-bottom:12px;background:#eef0f7;border:1.5px solid var(--violet);border-radius:var(--r);font-size:var(--t-base)}:root[data-theme=dark] .gbanner{background:#1e2030}.glink{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px;padding:8px 10px;background:var(--tint);border-radius:var(--r);font-size:var(--t-sm)}:root[data-theme=dark] .glink{background:#23262c}.roster{margin-top:10px;border-top:1px dashed var(--line);padding-top:8px}.rstudent{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:var(--t-base)}.inbox{display:grid;grid-template-columns:260px 1fr;grid-gap:0;gap:0;border:1.5px solid var(--ink);border-radius:var(--r-lg);overflow:hidden;min-height:460px;box-shadow:var(--e-press);background:var(--card)}.inbox .convos{border-right:1.5px solid var(--line);background:var(--tint);overflow-y:auto}.inbox .newmsg{padding:10px;border-bottom:1px solid var(--line)}.inbox .newmsg select{width:100%;padding:8px;border-radius:var(--r);border:1.5px solid var(--ink);background:var(--card);font-family:inherit;font-size:var(--t-sm)}.inbox .convo{display:block;width:100%;text-align:left;background:transparent;border:none;border-bottom:1px solid var(--line);padding:10px 12px;cursor:pointer}.inbox .convo:hover{background:var(--hover)}.inbox .convo.on{background:var(--card);box-shadow:inset 3px 0 0 var(--accent)}.inbox .crow{display:flex;align-items:center;gap:8px}.inbox .ubadge{margin-left:auto;background:var(--accent-2);color:#fff;font-family:var(--mono);font-size:var(--t-3xs);font-weight:700;padding:1px 6px;border-radius:var(--r-pill)}.inbox .cprev{color:var(--muted);font-size:var(--t-xs);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inbox .thread{display:flex;flex-direction:column}.inbox .empty{margin:auto;color:var(--muted)}.inbox .thead{padding:12px 16px;border-bottom:1.5px solid var(--line);font-family:var(--serif);font-weight:700;font-size:var(--t-lg)}.inbox .tmsgs{flex:1 1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:8px;max-height:420px}.inbox .tmsgs .msg{max-width:78%}.classtile{display:block;border:1.5px solid var(--ink);border-radius:var(--r);padding:16px 18px;background:var(--card);box-shadow:var(--e-press);text-decoration:none;color:var(--ink)}.classtile:hover{box-shadow:var(--e-press-lg);transform:translate(-1px,-1px)}.classtabs{display:flex;gap:4px;border-bottom:1.5px solid var(--line);flex-wrap:wrap}.classtabs a{padding:9px 16px;font-weight:600;font-size:var(--t-base);color:var(--muted);border-bottom:2.5px solid transparent;margin-bottom:-1.5px}.classtabs a:hover{color:var(--ink)}.classtabs a.on{color:var(--accent);border-bottom-color:var(--accent)}.foldpanel{border:1.5px solid var(--line);border-radius:var(--r);margin-bottom:16px;background:var(--card);overflow:hidden}.foldhead{display:flex;align-items:center;gap:8px;padding:4px 8px 4px 4px;background:var(--tint);border-bottom:1px solid var(--line)}.foldbtn{flex:1 1;text-align:left;background:transparent;border:none;padding:10px 12px;font-family:var(--serif);font-weight:700;font-size:var(--t-lg);color:var(--ink);cursor:pointer}.foldcaret{display:inline-block;transition:transform .15s;color:var(--muted)}.foldcaret.open{transform:rotate(90deg)}.foldbody{padding:14px 16px}:root[data-theme=dark] .foldhead{background:#23262c}.promptbox{background:#1e211f;color:#dfe6db;font-family:var(--mono);font-size:var(--t-2xs);line-height:1.55;padding:14px 16px;border-radius:var(--r);max-height:320px;overflow:auto;white-space:pre-wrap;margin:10px 0}.authwrap{min-height:calc(100vh - 57px);display:flex;align-items:flex-start;justify-content:center;padding:60px 20px}.authcard{width:100%;max-width:420px}.authalt{margin-top:16px;padding-top:14px;border-top:1px dashed var(--line);font-size:var(--t-sm);color:var(--muted)}.authalt a{color:var(--accent);font-weight:600}.codein{font-family:var(--mono);font-size:var(--t-xl);letter-spacing:.25em;text-transform:uppercase;text-align:center}.gsignin{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:11px;border:1.5px solid var(--line);border-radius:var(--r);background:#fff;color:#3c4043;font-weight:600;font-size:var(--t-base);text-decoration:none}.gsignin:hover{background:#f7f8fa;border-color:var(--muted)}:root[data-theme=dark] .gsignin{background:#fff}.gsignin .gicon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--r-pill);background:conic-gradient(from -45deg,#ea4335 0 25%,#fbbc05 0 50%,#34a853 0 75%,#4285f4 0);color:#fff;font-weight:800;font-size:var(--t-sm)}.orsep{display:flex;align-items:center;gap:10px;margin:14px 0;color:var(--muted);font-size:var(--t-xs)}.orsep:after,.orsep:before{content:"";flex:1 1;height:1px;background:var(--line)}label.field{display:block;margin:14px 0}label.field .l{font-size:var(--t-sm);font-weight:600;margin-bottom:5px;display:block}label.field .hint{font-size:var(--t-xs);color:var(--muted);font-weight:400}input.f,select.f,textarea.f{width:100%;padding:9px 12px;border-radius:var(--r);border:1.5px solid var(--line);font-size:var(--t-base);font-family:var(--sans);background:var(--card)}.notice{background:#eef0f7;border-left:4px solid var(--violet);border-radius:0 var(--r) var(--r) 0;padding:12px 16px;font-size:var(--t-sm);margin:14px 0}.meta{font-family:var(--mono);font-size:var(--t-3xs);color:var(--muted);margin-top:8px}@media (max-width:840px){.ednav,.side{display:none}.dash,.edmain,.main{padding:20px}.diff,.kpis{grid-template-columns:1fr}}.flowplay{margin:14px 0 0}.flowbar{gap:12px;margin-bottom:10px;flex-wrap:wrap}.flowbar,.flowdots{display:flex;align-items:center}.flowdots{gap:5px}.flowdots .d{width:9px;height:9px;border-radius:var(--r-pill);background:var(--line);transition:all .25s;padding:0;border:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.flowdots .d:not(:disabled){cursor:pointer}.flowdots .d:not(:disabled):hover{transform:scale(1.5)}.harness{margin-top:12px}.harness .flowcode{font-size:var(--t-sm);opacity:.85}.cmp{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px;margin-top:14px}@media (max-width:720px){.cmp{grid-template-columns:1fr}}.cmpside .cmplabel{font-family:var(--mono);font-size:var(--t-xs);font-weight:700;color:var(--accent);margin-bottom:6px}.cmpside .flowcode{font-size:var(--t-sm)}.cmpside .lbl{margin-top:8px}.cmpout{margin:0;background:#f2f6f1;border:1.5px dashed var(--accent);border-radius:var(--r);padding:9px 12px;font-family:var(--mono);font-size:var(--t-sm);white-space:pre-wrap}:root[data-theme=dark] .cmpout{background:#17211a}.flowcode .cl{display:block;padding:0 6px;margin:0 -6px;border-radius:var(--r-sm)}.flowcode .cl.new{background:rgba(122,166,122,.2);box-shadow:inset 2px 0 0 var(--accent)}.flowtable{margin-top:14px;overflow-x:auto}.flowtable table{border-collapse:collapse;font-family:var(--mono);font-size:var(--t-base)}.flowtable td,.flowtable th{border:1.5px solid var(--line);padding:7px 14px;text-align:center}.flowtable th{font-size:var(--t-xs);letter-spacing:.04em;color:var(--muted);font-weight:600;text-transform:none;background:none;text-align:center;padding:7px 14px;border-bottom:1.5px solid var(--line)}.flowtable th.fillcol{color:var(--ink)}.flowtable td.given{color:var(--muted)}.flowtable td.right{background:#eaf5ea}.flowtable td.wrong{background:#fdeceb}:root[data-theme=dark] .flowtable td.right{background:#16241a}:root[data-theme=dark] .flowtable td.wrong{background:#2a1a1a}.tcell{min-width:62px;background:none;border:none;font-family:var(--mono);font-size:var(--t-base);color:var(--muted);cursor:pointer;padding:2px 4px;border-radius:var(--r-sm)}.tcell.filled{color:var(--ink)}.tcell.sel{outline:2px solid var(--accent)}.tchips{display:flex;gap:8px;align-items:center;margin-top:10px;flex-wrap:wrap}.askbox{margin-top:12px;border:1.5px dashed var(--accent);border-radius:var(--r);padding:12px 14px}.askrow{display:flex;align-items:center;gap:10px;margin-top:8px;flex-wrap:wrap}.askrow:first-of-type{margin-top:6px}.askq{font-size:var(--t-sm);color:var(--muted)}.askin,.askq{font-family:var(--mono)}.askin{flex:1 1;min-width:140px;font-size:var(--t-base);padding:7px 10px;border:1.5px solid var(--line);border-radius:var(--r);background:var(--bg);color:var(--ink)}.askin:focus{outline:none;border-color:var(--accent)}.askheld{margin-top:10px;font-size:var(--t-base)}.askheld code{font-family:var(--mono);background:var(--line);padding:1px 5px;border-radius:var(--r-sm)}.flowback{background:none;border:none;padding:0 2px;font-size:var(--t-xl);line-height:1;color:var(--muted);cursor:pointer}.flowback:hover{color:var(--ink)}.flowdots .d.on{background:var(--accent)}.flowdots .d.now{background:var(--ink);transform:scale(1.35)}.flowstep{padding:22px 26px;transition:border-color .3s}.flowstep.won{border-color:var(--accent)}.flowq{font-family:var(--serif);font-size:var(--t-2xl);font-weight:700;margin-bottom:14px;line-height:1.35;max-width:62ch}.flowcode{width:100%;font-family:var(--mono);font-size:var(--t-base);line-height:1.6;background:#14171c;color:#e6e1d6;border:1.5px solid #2a2f37;border-radius:var(--r);padding:14px 16px;white-space:pre;overflow:auto;max-height:52vh}textarea.flowcode{resize:vertical}pre.flowcode.ro{margin:0}.flowtarget{margin-top:12px}.flowout .lbl,.flowtarget .lbl{font-family:var(--mono);font-size:var(--t-3xs);letter-spacing:.12em;color:var(--muted);margin-bottom:4px}.flowtarget pre{margin:0;background:#f2f6f1;border:1.5px dashed var(--accent);border-radius:var(--r);padding:10px 14px;font-family:var(--mono);font-size:var(--t-base)}:root[data-theme=dark] .flowtarget pre{background:#17211a}.flowout{margin-top:12px}.flowout pre{margin:0;background:#101317;color:#d9efe0;border-radius:var(--r);padding:10px 14px;font-family:var(--mono);font-size:var(--t-base);white-space:pre-wrap}.flowout.err pre{color:#f2c4bd}.flowopts{display:flex;flex-direction:column;gap:8px;margin-top:6px;max-width:760px}.optbtn{text-align:left;font-family:var(--mono);font-size:var(--t-base);padding:12px 16px;border-radius:var(--r);border:1.5px solid var(--line);background:transparent;color:inherit;cursor:pointer;transition:all .15s}.optbtn:hover:not(:disabled){border-color:var(--ink);transform:translateX(3px)}.optbtn.right{border-color:var(--accent);background:rgba(46,125,80,.09)}.optbtn.wrong{border-color:#b3352e;background:rgba(179,53,46,.08);animation:flowshake .3s}.optbtn.dim{opacity:.45}@keyframes flowshake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}.flowrun{display:flex;gap:10px;margin-top:14px;align-items:center}.flowwhy{margin-top:12px;padding:10px 14px;border-radius:var(--r);font-size:var(--t-base);line-height:1.5}.flowwhy.yes{background:rgba(46,125,80,.09);border-left:3px solid var(--accent)}.flowwhy.no{background:rgba(179,53,46,.07);border-left:3px solid #b3352e}.flowhelp{display:flex;gap:10px;align-items:center;margin-top:10px;flex-wrap:wrap}.flowhelp .hinttext{font-size:var(--t-sm);color:var(--muted);background:rgba(90,74,158,.08);border-radius:var(--r);padding:7px 12px;flex:1 1;min-width:200px}.flownext{display:flex;justify-content:flex-end;margin-top:10px;align-items:center;gap:10px}.skiplink{background:none;border:none;color:var(--muted);font-size:var(--t-xs);cursor:pointer;font-family:var(--mono)}.skiplink:hover{text-decoration:underline}.flowarrange .pool{margin-bottom:12px}.flowarrange .built,.flowarrange .pool{display:flex;flex-direction:column;gap:6px}.flowarrange .built{min-height:44px;border:1.5px dashed var(--line);border-radius:var(--r);padding:10px}.linebtn{text-align:left;font-family:var(--mono);font-size:var(--t-sm);padding:9px 13px;border-radius:var(--r);border:1.5px solid var(--line);background:transparent;color:inherit;cursor:pointer}.linebtn:hover{border-color:var(--ink)}.linebtn.placed{border-color:var(--accent)}.linebtn .n{display:inline-block;width:18px;height:18px;border-radius:var(--r-pill);background:var(--accent);color:#fff;font-size:var(--t-2xs);text-align:center;line-height:18px;margin-right:8px}.flowspot{display:flex;flex-direction:column;gap:3px}.spotline{display:flex;gap:10px;align-items:center;text-align:left;font-family:var(--mono);font-size:var(--t-base);padding:7px 12px;border-radius:var(--r);border:1.5px solid transparent;background:#14171c;color:#e6e1d6;cursor:pointer}.spotline:hover:not(:disabled){border-color:var(--accent)}.spotline .ln{color:#6b7280;font-size:var(--t-2xs);width:18px}.spotline pre{margin:0;font-family:inherit}.spotline.right{border-color:var(--accent);background:#17241b}.spotline.wrong{border-color:#b3352e;animation:flowshake .3s}.spotline.dim{opacity:.5}.fillslot{display:inline-block;min-width:34px;text-align:center;border:1.5px dashed var(--muted);border-radius:var(--r-sm);padding:0 8px;margin:0 2px;color:#eab308}.fillslot.set{border-style:solid;border-color:var(--violet);color:#cdc3f0}.fillslot.right{border-color:var(--accent);color:#9fe0b5}.fillslot.wrong{border-color:#b3352e;color:#f2a59e}.fillrow{display:flex;gap:6px;align-items:center;margin-top:8px;flex-wrap:wrap}.bchip{font-family:var(--mono);font-size:var(--t-sm);padding:6px 12px;border-radius:var(--r-pill);border:1.5px solid var(--line);background:transparent;color:inherit;cursor:pointer}.bchip:hover{border-color:var(--ink)}.bchip.on{border-color:var(--violet);background:rgba(90,74,158,.12)}.bchip.hintright{border-color:var(--accent)}.flowbuckets{margin-top:8px}.bucketrow{display:flex;gap:10px;align-items:center;padding:7px 10px;border-radius:var(--r);flex-wrap:wrap}.bucketrow .itext{font-family:var(--mono);font-size:var(--t-base);flex:1 1;min-width:140px}.bucketrow .bchips{display:flex;gap:6px;flex-wrap:wrap}.bucketrow.right{background:rgba(46,125,80,.08)}.bucketrow.wrong{background:rgba(179,53,46,.07)}.flowmatch{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin-top:8px}.flowmatch .mcol{display:flex;flex-direction:column;gap:6px}.flowmatch .btn{grid-column:1/-1;justify-self:start}.mchip{text-align:left;font-family:var(--mono);font-size:var(--t-sm);padding:9px 12px;border-radius:var(--r);border:1.5px solid var(--line);background:transparent;color:inherit;cursor:pointer}.mchip:hover:not(:disabled){border-color:var(--ink)}.mchip.sel{border-color:var(--violet);background:rgba(90,74,158,.12)}.mchip.paired{border-color:var(--accent)}.mchip:disabled{opacity:.5;cursor:default}.flowtracer{margin-top:10px}.flowexplain{margin-top:6px}.flowstdin{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-6px 0 14px}.flowstdin .lbl{font-family:var(--mono);font-size:var(--t-3xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.flowstdin .chip{font-family:var(--mono);font-size:var(--t-xs);padding:3px 10px;border-radius:var(--r-pill);border:1.5px solid var(--violet);color:var(--violet)}.playmark{color:var(--accent);font-size:var(--t-3xs);margin-left:6px;letter-spacing:-.05em}.lessonpicker{display:none}@media (max-width:840px){.shell{display:block}.lessonpicker{display:block;border-bottom:1.5px solid var(--line);background:var(--tint)}:root[data-theme=dark] .lessonpicker{background:#1b1e23}.lessonpicker>summary{cursor:pointer;padding:12px 20px;font-family:var(--mono);font-size:var(--t-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);list-style:none}.lessonpicker>summary::-webkit-details-marker{display:none}.lessonpicker .pickerbody{padding:0 12px 12px;max-height:55vh;overflow-y:auto}}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--accent);outline-offset:2px;box-shadow:0 0 0 5px rgba(255,255,255,.55);border-radius:var(--r-sm)}:root[data-theme=dark] :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{box-shadow:0 0 0 5px rgba(0,0,0,.6)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.assist{margin:-6px 0 12px}.assistbtn{background:none;border:none;padding:2px 0;cursor:pointer;font-family:var(--mono);font-size:var(--t-2xs);color:var(--violet)}.assistbtn:hover{text-decoration:underline}.assisttext{margin:4px 0 0;padding:8px 12px;border-left:3px solid var(--violet);background:rgba(90,74,158,.07);border-radius:0 var(--r) var(--r) 0;font-size:var(--t-base);line-height:1.5;display:flex;gap:10px;align-items:flex-start}.assisttext[dir=rtl]{border-left:none;border-right:3px solid var(--violet);border-radius:var(--r) 0 0 var(--r)}.assisttext .assistbtn{-webkit-margin-start:auto;margin-inline-start:auto;flex-shrink:0}.langpick{font-family:var(--mono);font-size:var(--t-2xs);padding:3px 8px;border-radius:var(--r-pill);border:1.5px solid var(--line);background:transparent;color:inherit;cursor:pointer}.optbtn.sel,.spotline.sel{border-color:var(--violet);background:rgba(90,74,158,.12)}.teachcard{margin-top:12px}.teachpoint{display:grid;grid-template-columns:minmax(70px,auto) 1fr;grid-gap:12px;gap:12px;align-items:baseline;padding:9px 0;border-top:1px solid var(--line)}.teachpoint:first-child{border-top:none}.teachpoint .tp-label{font-family:var(--mono);font-size:var(--t-xs);color:var(--violet);background:rgba(90,74,158,.1);padding:2px 8px;border-radius:var(--r-sm);white-space:nowrap}.teachpoint .tp-text{font-size:var(--t-base);line-height:1.5}.docs{margin:18px 0 24px;border:1.5px solid var(--line);border-radius:var(--r);padding:14px 18px;background:var(--paper)}.docs-title{font-family:var(--mono);font-size:var(--t-3xs);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.docs section+section{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.docs h4{font-family:var(--serif);font-size:var(--t-base);margin:0 0 8px}.docs dl{margin:0}.docs-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);grid-gap:14px;gap:14px;align-items:start;padding:5px 0}.docs-item dt{margin:0;min-width:0}.docs-item dt pre{margin:0;font-family:var(--mono);font-size:var(--t-xs);line-height:1.5;color:var(--ink);background:transparent;padding:0;white-space:pre-wrap;word-break:break-word}.docs-item dd{margin:0;font-size:var(--t-sm);color:var(--muted);line-height:1.5}@media (max-width:620px){.docs-item{grid-template-columns:1fr;gap:2px}}.teachbody{margin:6px 0 2px;max-width:78ch}.teachbody p{margin:0 0 7px;font-size:var(--t-md);line-height:1.6;color:var(--ink)}.teachbody p:last-child{margin-bottom:0}.rulelist{margin:12px 0 0;padding:0;list-style:none;counter-reset:rl}.rulelist li{counter-increment:rl;display:grid;grid-template-columns:22px 1fr;grid-gap:4px 10px;gap:4px 10px;padding:8px 0;border-top:1px solid var(--line);align-items:baseline}.rulelist li:first-child{border-top:none}.rulelist li:before{content:counter(rl) ".";font-family:var(--mono);font-size:var(--t-sm);color:var(--muted)}.rulelist .rl-t{font-size:var(--t-md);line-height:1.55}.rulelist .rl-e{grid-column:2;font-family:var(--mono);font-size:var(--t-sm);color:var(--accent);background:rgba(13,92,70,.07);padding:3px 8px;border-radius:var(--r-sm);justify-self:start}.cardstep{margin-top:12px}.cardform{flex-direction:column;margin-bottom:14px}.cardform,.cardrow{display:flex;gap:8px}.cardrow{align-items:center;flex-wrap:wrap}.cv-decl{font-family:var(--mono);font-size:var(--t-base);color:var(--ink);white-space:nowrap}.cv-type{color:var(--accent);font-weight:600}.cv-in{font-family:var(--mono);font-size:var(--t-base);padding:5px 9px;border:1.5px solid var(--line);border-radius:var(--r-sm);background:var(--card);color:var(--ink);min-width:130px}.cv-in:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.cv-in.bad{border-color:var(--bad)}.cv-in:disabled{opacity:.75}.cv-semi{font-family:var(--mono);font-size:var(--t-base);color:var(--muted);margin-left:-4px}.cv-err{font-size:var(--t-xs);color:var(--bad)}.pcard{max-width:320px;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);background:linear-gradient(160deg,var(--card),var(--paper));box-shadow:var(--e-panel)}.pcard .pc-top{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 16px;background:var(--accent);color:#fff}.pcard .pc-name{font-family:var(--serif);font-size:var(--t-xl);font-weight:700;line-height:1.2}.pcard .pc-rank{font-family:var(--mono);font-size:var(--t-md);font-weight:700;background:rgba(255,255,255,.2);border-radius:var(--r);padding:2px 10px;flex:0 0 auto}.pcard .pc-rows{padding:10px 16px 14px;display:flex;flex-direction:column}.pcard .pc-row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid var(--line);font-size:var(--t-base)}.pcard .pc-row:first-child{border-top:none}.pcard .pc-row span{color:var(--muted);text-transform:capitalize}.pcard .pc-row b{font-family:var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.term{margin-top:12px}.term .lbl{font-family:var(--mono);font-size:var(--t-3xs);letter-spacing:.12em;color:var(--muted);margin-bottom:4px}.termbody{background:#101317;border-radius:var(--r);padding:10px 14px}.termbody pre{margin:0;font-family:var(--mono);font-size:var(--t-base);line-height:1.6;color:#d9efe0;white-space:pre-wrap}.termline{display:flex;align-items:baseline}.termprompt{color:#d9efe0;white-space:pre}.terminput,.termprompt{font-family:var(--mono);font-size:var(--t-base);line-height:1.6}.terminput{flex:1 1;min-width:60px;background:transparent;border:none;outline:none;caret-color:#7fe3b0;color:#7fe3b0;padding:0}.typenote{font-size:var(--t-xs);color:var(--muted);margin-top:5px}.walk{margin-top:12px}.walkcode{margin:0 0 10px;background:#101317;border-radius:var(--r);padding:10px 0;overflow-x:auto}.walkcode .wl{display:block;padding:2px 14px;font-family:var(--mono);font-size:var(--t-base);line-height:1.6;color:#8d9aa4;white-space:pre}.walkcode .wl.now{background:rgba(127,227,176,.14);color:#d9efe0;box-shadow:inset 3px 0 0 #7fe3b0}.walknote{font-size:var(--t-md);line-height:1.55;margin-bottom:9px}.walkstate{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px}.wvar{font-family:var(--mono);font-size:var(--t-sm);background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-sm);padding:3px 10px}.wvar b{color:var(--accent);font-weight:600;margin-right:7px}.walkout .lbl{font-family:var(--mono);font-size:var(--t-3xs);letter-spacing:.12em;color:var(--muted);margin-bottom:4px}.walkout pre{margin:0 0 12px;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r);padding:8px 13px;font-family:var(--mono);font-size:var(--t-sm);white-space:pre-wrap;min-height:1.6em}.walkbar{display:flex;align-items:center;gap:9px}.walkcount{font-family:var(--mono);font-size:var(--t-xs);color:var(--muted);margin-left:auto}.anncode{display:block}.anncode .annline,.annrow{white-space:pre}.annrow{display:flex;align-items:baseline}.annpad,.anntick{flex:0 0 auto}.annnote,.anntick{color:#7fe3b0}.annnote{padding-left:.6ch}.tome{position:fixed;right:calc(22px + var(--bench-w, 0px));bottom:22px;z-index:var(--z-sticky);display:flex;align-items:center;gap:7px;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-pill);padding:8px 15px 8px 12px;box-shadow:var(--e-panel);font-family:var(--sans)}.tome:hover{border-color:var(--accent)}.tome:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tomeicon{font-size:var(--t-xl);line-height:1}.tomecount{font-size:var(--t-sm);font-weight:600;color:var(--accent);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tome.catching{animation:tomebump .45s ease-out .45s}@keyframes tomebump{0%,to{transform:scale(1)}45%{transform:scale(1.18)}}.scrollfly{position:fixed;z-index:var(--z-sticky);left:50%;top:45%;font-size:var(--t-5xl);pointer-events:none;animation:scrollfly .9s cubic-bezier(.5,-.3,.7,1) forwards}@keyframes scrollfly{0%{opacity:0;transform:translate(-50%,-50%) scale(.4) rotate(-12deg)}18%{opacity:1;transform:translate(-50%,-50%) scale(1.15) rotate(0deg)}to{opacity:0;left:calc(100% - 40px);top:calc(100% - 40px);transform:translate(-50%,-50%) scale(.35) rotate(22deg)}}@media (prefers-reduced-motion:reduce){.scrollfly{opacity:0}.scrollfly,.tome.catching{animation:none}}.tomepanel{position:fixed;right:calc(22px + var(--bench-w, 0px));bottom:74px;z-index:var(--z-sticky);width:min(360px,calc(100vw - 44px));background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-lg);padding:16px 18px;box-shadow:var(--e-float)}.tomepanel h4{margin:0 0 10px;font-family:var(--serif);font-size:var(--t-lg)}.tomepanel ol{margin:0 0 14px;padding-left:20px;display:flex;flex-direction:column;gap:7px}.tomepanel li{font-size:var(--t-base);line-height:1.5}.notes{max-width:760px;margin:0 auto;padding:28px 20px 90px}.noteshead{border-bottom:2px solid var(--ink);padding-bottom:14px;margin-bottom:26px}.noteshead h1{font-family:var(--serif);font-size:var(--t-5xl);margin:0 0 4px}.noteunit{margin-bottom:34px}.noteunit h2{font-family:var(--sans);font-size:var(--t-md);text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin:0 0 14px}.notelesson{margin-bottom:20px;padding-left:14px;border-left:2px solid var(--line)}.notelesson h3{font-family:var(--sans);font-size:var(--t-md);font-weight:600;margin:0 0 7px;display:flex;gap:9px;align-items:baseline}.notecode{font-family:var(--mono);font-size:var(--t-sm);color:var(--accent);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.notelesson h3 a{color:var(--ink);text-decoration:none}.notelesson h3 a:hover{text-decoration:underline}.notelesson ul{margin:0;padding-left:19px;display:flex;flex-direction:column;gap:6px}.notelesson li{font-size:var(--t-base);line-height:1.55}.guide{max-width:780px}.guidetoc{display:flex;flex-direction:column;gap:3px;margin-bottom:34px;padding:14px 16px;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r)}.guidetoc a{font-size:var(--t-base);color:var(--ink);text-decoration:none;padding:2px 0}.guidetoc a:hover{text-decoration:underline}.guidetoc a b{font-family:var(--mono);font-size:var(--t-xs);color:var(--accent);margin-right:7px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.guidelesson{margin-bottom:48px;scroll-margin-top:16px}.guidelesson h2{font-family:var(--serif);font-size:var(--t-3xl);margin:0 0 8px;padding-bottom:8px;border-bottom:2px solid var(--ink);display:flex;gap:10px;align-items:baseline}.guideobj{margin:0 0 18px;padding-left:19px;color:var(--muted);font-size:var(--t-base)}.guideblock{margin-bottom:22px}.guideblock h3{font-family:var(--sans);font-weight:600}.guideblock h3,.guideblock p{font-size:var(--t-md);margin:0 0 7px}.guideblock p{line-height:1.6}.guideblock .flowcode{margin:10px 0}.guidetablewrap{overflow-x:auto;margin:10px 0}.guidetable{border-collapse:collapse;font-family:var(--mono);font-size:var(--t-sm)}.guidetable th{text-align:left;padding:5px 16px 5px 0;border-bottom:1.5px solid var(--line);font-family:var(--sans);font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.guidetable td{padding:4px 16px 4px 0;color:var(--muted)}.guidetable td.ans{color:var(--accent);font-weight:500}.guidepoints{background:var(--card);border:1.5px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--r);padding:14px 18px;margin-top:20px}.guidepoints h4{font-family:var(--sans);font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.09em;color:var(--accent);margin:0 0 9px}.guidepoints ul{margin:0;padding-left:19px;display:flex;flex-direction:column;gap:6px}.guidepoints li{font-size:var(--t-base);line-height:1.5}.noteunit h2 a{color:inherit;text-decoration:none}.guidelink{display:inline-block;margin:2px 0 14px;color:var(--accent)}.guidelink,.unlocked{font-size:var(--t-sm)}.unlocked{position:fixed;right:22px;bottom:78px;z-index:var(--z-sticky);display:flex;align-items:center;gap:9px;background:var(--ink);color:var(--paper);border-radius:var(--r-pill);padding:9px 17px 9px 13px;font-family:var(--sans);font-weight:600;box-shadow:var(--e-panel);animation:unlockpop 1.6s ease-out forwards;pointer-events:none}.unlockedicon{font-size:var(--t-lg)}@keyframes unlockpop{0%{opacity:0;transform:translateY(10px) scale(.92)}14%{opacity:1;transform:translateY(0) scale(1)}76%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-6px) scale(.98)}}@media (prefers-reduced-motion:reduce){.unlocked{animation:none;opacity:1}}.notelocked{font-size:var(--t-sm);color:var(--muted);margin:7px 0 0;font-style:italic}.factswrap{overflow-x:auto;margin:12px 0 4px}.facts{border-collapse:collapse;width:100%;font-size:var(--t-base)}.facts th{text-align:left;font-family:var(--sans);font-size:var(--t-2xs);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:0 16px 6px 0;border-bottom:1.5px solid var(--line);white-space:nowrap}.facts td{padding:7px 16px 7px 0;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.5}.facts tr:last-child td{border-bottom:none}.facts td:first-child{font-family:var(--mono);font-size:var(--t-sm);color:var(--accent);white-space:nowrap}.workout{margin-top:12px}.wlevel{display:inline-block;font-family:var(--sans);font-size:var(--t-3xs);text-transform:uppercase;letter-spacing:.09em;font-weight:700;padding:2px 9px;border-radius:var(--r-pill);margin-bottom:9px}.wl-warm-up{background:rgba(13,92,70,.12);color:var(--accent)}.wl-standard{background:rgba(91,95,158,.14);color:var(--violet)}.wl-hard{background:rgba(201,138,16,.16);color:var(--warn)}.wl-olympic{background:var(--ink);color:var(--paper)}.worksub{font-size:var(--t-base);color:var(--muted);margin-bottom:12px}.workmethods{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:14px}.workmethods .lbl{font-family:var(--mono);font-size:var(--t-3xs);letter-spacing:.1em;color:var(--muted);margin-right:3px}.workmethods code{font-family:var(--mono);font-size:var(--t-xs);background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-sm);padding:2px 8px;color:var(--accent)}.planpicked{list-style:decimal;margin:0 0 12px;padding-left:22px;display:flex;flex-direction:column;gap:5px;min-height:34px}.planpicked li{font-size:var(--t-base);display:flex;gap:8px;align-items:baseline}.planpicked .planempty{list-style:none;margin-left:-22px;color:var(--muted);font-style:italic;font-size:var(--t-sm)}.planx{border:none;background:transparent;color:var(--muted);font-size:var(--t-lg);line-height:1;padding:0 4px}.planx:hover{color:var(--bad)}.planpool{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.planchip{text-align:left;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r);padding:9px 13px;font-size:var(--t-base);color:var(--ink);font-family:var(--sans)}.planchip:hover{border-color:var(--accent)}.planwrong{font-size:var(--t-base);color:var(--bad);margin-bottom:10px}.workplan{background:var(--card);border:1.5px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--r);padding:12px 16px;margin:12px 0}.workplan .lbl{font-family:var(--mono);font-size:var(--t-3xs);letter-spacing:.1em;color:var(--muted)}.workplan ol{margin:7px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:4px}.workplan li{font-size:var(--t-base);line-height:1.5}.pipe{align-items:stretch;margin:16px 0 6px;max-width:460px}.pipe,.pipestage{display:flex;flex-direction:column}.pipestage{align-items:center}.pipebox{width:100%;border-radius:var(--r);padding:10px 15px;display:flex;flex-direction:column;gap:2px;border:1.5px solid var(--line);background:var(--card)}.pipebox.pb-file{border-style:dashed}.pipebox.pb-end,.pipebox.pb-tool{border-color:var(--accent)}.pipebox.pb-end{background:var(--accent)}.pipebox.pb-end .pipelabel,.pipebox.pb-end .pipenote{color:#fff}.pipelabel{font-family:var(--mono);font-size:var(--t-base);font-weight:500;color:var(--ink)}.pipebox.pb-tool .pipelabel{color:var(--accent)}.pipenote{font-family:var(--sans);font-size:var(--t-xs);color:var(--muted);line-height:1.45}.pipearrow{color:var(--muted);font-size:var(--t-lg);line-height:1;padding:5px 0}.pipearrow:before{content:"\2193"}@media (min-width:1100px){.pipe{flex-direction:row;max-width:100%}.pipe,.pipestage{align-items:stretch}.pipestage{flex:1 1;flex-direction:row;min-width:0}.pipebox{justify-content:flex-start;padding:11px 13px}.pipelabel{font-size:var(--t-sm);overflow-wrap:normal}.pipearrow{display:flex;align-items:center;padding:0 7px}.pipearrow:before{content:"\2192"}}@media (prefers-reduced-motion:no-preference){.pipestage{opacity:0;animation:pipein .42s cubic-bezier(.16,1,.3,1) forwards;animation-delay:calc(var(--i, 0) * 90ms)}@keyframes pipein{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}}.docsfold{margin:12px 0 4px;border:1.5px solid var(--line);border-radius:var(--r);padding:9px 14px;background:var(--card)}.docsfold summary{font-family:var(--sans);font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);cursor:pointer;font-weight:600}.docsfold summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.docsfold .factswrap{margin-top:8px;margin-bottom:0}.scopewrap{margin:4px 0 2px}.scopes{--scope-line:26px;background:#14171c;color:#e6e1d6;border:1.5px solid #2a2f37;border-radius:var(--r) var(--r) 0 0;padding:16px 18px 14px;overflow-x:auto}.scopecode{position:relative;width:max-content;min-width:100%;font-family:var(--mono);font-size:var(--t-base)}.scopeline{height:var(--scope-line);line-height:var(--scope-line);white-space:pre;position:relative;z-index:1}.scopebox{position:absolute;border-radius:var(--r);pointer-events:none;z-index:0;background:var(--sc-fill);border:1.5px solid var(--sc-edge)}.scopename{position:absolute;top:-9px;left:9px;padding:0 6px;border-radius:var(--r-sm);font-family:var(--sans);font-size:var(--t-3xs);font-weight:700;line-height:15px;letter-spacing:.02em;color:#14171c;background:var(--sc-edge);white-space:nowrap}.scopebox.sk-instance,.scopekey.sk-instance{--sc-fill:rgba(127,227,176,.10);--sc-edge:rgba(127,227,176,.85)}.scopebox.sk-local,.scopekey.sk-local{--sc-fill:rgba(146,180,255,.10);--sc-edge:rgba(146,180,255,.85)}.scopebox.sk-loop,.scopekey.sk-loop{--sc-fill:rgba(240,190,110,.11);--sc-edge:rgba(240,190,110,.90)}.scopebox.sk-param,.scopekey.sk-param{--sc-fill:rgba(206,150,240,.10);--sc-edge:rgba(206,150,240,.85)}.scopelegend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;background:#1a1e24;border:1.5px solid #2a2f37;border-top:0;border-radius:0 0 var(--r) var(--r);padding:9px 16px;font-family:var(--sans);font-size:var(--t-2xs);color:#b9b3a6}.scopekey{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:#e6e1d6}.scopekey i{width:13px;height:13px;border-radius:var(--r-sm);background:var(--sc-fill);border:2px solid var(--sc-edge);flex-shrink:0}.scopekeynote{margin-left:auto;font-style:italic}@media (max-width:640px){.scopekeynote{display:none}}.unitfold{margin-bottom:6px}.unitfold>summary{display:flex;align-items:center;gap:7px;cursor:pointer;list-style:none;font-family:var(--mono);font-size:var(--t-3xs);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:700;padding:8px 9px;border-radius:var(--r)}.unitfold>summary::-webkit-details-marker{display:none}.unitfold>summary:before{content:"\25B8";font-size:var(--t-3xs);letter-spacing:0;transition:transform .12s}.unitfold[open]>summary:before{transform:rotate(90deg)}.unitfold>summary:hover{background:var(--hover);color:var(--ink)}.unitfold>summary:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.unitfold .unitname{min-width:0}.unitfold .unitcount{margin-left:auto;font-size:var(--t-3xs);letter-spacing:.04em;opacity:.8}.unitfold .unitbody{padding:2px 0 8px}.notefold{border:1.5px solid var(--line);border-radius:var(--r);background:var(--card);margin-bottom:8px}.notefold>summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none;padding:13px 15px;font-family:var(--sans);font-weight:600}.notefold>summary::-webkit-details-marker{display:none}.notefold>summary:before{content:"\25B8";color:var(--muted);font-size:var(--t-2xs);transition:transform .12s}.notefold[open]>summary:before{transform:rotate(90deg)}.notefold>summary:hover{background:var(--hover)}.notefold>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.notefold .foldtitle{min-width:0}.notefold .foldcount{margin-left:auto;flex-shrink:0;font-family:var(--mono);font-size:var(--t-3xs);color:var(--muted);font-weight:500;white-space:nowrap}.notefold>.foldbody{padding:0 15px 14px}.notefold.unit>summary .foldtitle{font-family:var(--sans);font-size:var(--t-base);text-transform:uppercase;letter-spacing:.03em}.notefold.lesson{border-radius:var(--r);margin-bottom:6px;background:transparent}.notefold.lesson>summary{padding:9px 12px;font-size:var(--t-base)}.notefold.lesson>.foldbody{padding:0 12px 12px}.notefold.lesson ul{margin:0 0 10px;padding-left:19px;display:flex;flex-direction:column;gap:6px}.notefold.lesson li{font-size:var(--t-base);line-height:1.55;font-weight:400}.docspage{max-width:820px;margin:0 auto;padding:28px 20px 90px}.docsearch{display:flex;gap:8px;align-items:center;margin-bottom:6px}.docsearch input{flex:1 1;font-family:var(--sans);font-size:var(--t-md);padding:11px 14px;border:1.5px solid var(--line);border-radius:var(--r);background:var(--card);color:var(--ink)}.docsearch input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.docscount{margin:0 0 16px}.docsjump{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:26px}.docsjump a{font-family:var(--mono);font-size:var(--t-2xs);padding:5px 10px;border:1.5px solid var(--line);border-radius:var(--r-pill);color:var(--muted);text-decoration:none;background:var(--card)}.docsjump a:hover{border-color:var(--ink);color:var(--ink)}.docsec{margin-bottom:34px;scroll-margin-top:70px}.docsec h2{font-family:var(--sans);font-size:var(--t-md);text-transform:uppercase;letter-spacing:.07em;border-bottom:2px solid var(--ink);padding-bottom:7px;margin:0 0 14px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.docwhere{margin-left:auto;font-family:var(--mono);font-size:var(--t-3xs);letter-spacing:0;text-transform:none;color:var(--muted);font-weight:400}.docspage .docs-item dd strong{display:block;color:var(--ink);font-size:var(--t-sm);margin-bottom:2px}.docspage .docs-item{padding:9px 0;border-bottom:1px solid var(--line)}.docspage .docs-item:last-child{border-bottom:0}.benchrail{flex-shrink:0;width:46px;border-left:1.5px solid var(--line);background:var(--tint);position:-webkit-sticky;position:sticky;top:57px;height:calc(100vh - 57px);flex-direction:column;gap:6px;padding:14px 0}.benchrail,.benchrail button{display:flex;align-items:center}.benchrail button{writing-mode:vertical-rl;background:transparent;border:1.5px solid transparent;border-radius:var(--r);padding:12px 5px;color:var(--muted);font-family:var(--sans);font-size:var(--t-2xs);font-weight:700;letter-spacing:.06em;cursor:pointer;gap:8px}.benchrail button:hover{background:var(--hover);color:var(--ink);border-color:var(--line)}.benchrail .bicon{font-size:var(--t-sm)}.bench{width:min(46vw,560px);max-width:78vw;border-left:1.5px solid var(--line);background:var(--card);position:-webkit-sticky;position:sticky;top:57px;height:calc(100vh - 57px);flex-direction:column;overflow:hidden}.bench,.benchhead{flex-shrink:0;display:flex}.benchhead{align-items:center;gap:4px;padding:9px 10px;border-bottom:1.5px solid var(--line);background:var(--tint)}.benchtitle{flex:1 1;text-align:center;font-family:var(--sans);font-size:var(--t-xs);font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink);display:flex;align-items:center;justify-content:center;gap:7px}.benchclose,.benchnav{background:transparent;border:1.5px solid transparent;border-radius:var(--r);height:28px;font-size:var(--t-lg);line-height:1;color:var(--muted);cursor:pointer;flex-shrink:0}.benchclose{width:28px}.benchnav{display:inline-flex;align-items:center;gap:3px;padding:0 6px}.benchnav .navarrow{font-size:var(--t-lg);line-height:1}.benchnav svg{opacity:.75}.benchnav:hover svg{opacity:1}.benchclose:hover,.benchnav:hover{background:var(--hover);color:var(--ink);border-color:var(--line)}.benchclose{font-size:var(--t-sm)}.benchdots{display:flex;gap:4px;margin:0 4px;flex-shrink:0}.benchdots i{width:5px;height:5px;border-radius:var(--r-pill);background:var(--line);display:block}.benchdots i.on{background:var(--accent)}.benchbody{flex:1 1;min-height:0;overflow:hidden;display:flex;flex-direction:column}@keyframes benchin-r{0%{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}@keyframes benchin-l{0%{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}.benchbody.fromright{animation:benchin-r .17s ease-out}.benchbody.fromleft{animation:benchin-l .17s ease-out}@media (prefers-reduced-motion:reduce){.benchbody{animation:none}}.padwrap{display:flex;flex-direction:column;height:100%;min-height:0;gap:8px;padding:10px}.padtop{display:flex;align-items:center;gap:10px;flex-shrink:0}.padcode{flex:1 1 55%;min-height:120px;overflow:hidden;border:1.5px solid var(--line);border-radius:var(--r)}.padterm{flex:1 1 45%;min-height:90px;overflow-y:auto;background:#14171c;color:#e6e1d6;border:1.5px solid #2a2f37;border-radius:var(--r);padding:11px 13px;font-family:var(--mono);font-size:var(--t-xs);line-height:1.65;white-space:pre-wrap;word-break:break-word;cursor:text}.padterm.err{border-color:#6b3a34}.padterm .termerr{color:#f0a89c}.padterm .mutedtx{color:#8b8578}.padterm .termline{display:flex;align-items:baseline;gap:7px}.padterm .caret{color:var(--ok);font-weight:700}.padterm .termline input{flex:1 1;background:transparent;border:0;outline:none;color:#fff;font-family:var(--mono);font-size:var(--t-xs);padding:0;caret-color:#7fe3b0}.refpane{flex:1 1;min-height:0;overflow-y:auto;padding:0 0 24px}.refsearch{width:calc(100% - 24px);margin:10px 12px;font-size:var(--t-sm);padding:8px 11px;border:1.5px solid var(--line);border-radius:var(--r);background:var(--paper)}.refpane h4,.refsearch{font-family:var(--sans);color:var(--ink)}.refpane h4{position:-webkit-sticky;position:sticky;top:0;z-index:2;margin:0;padding:9px 14px;background:var(--card);border-top:1.5px solid var(--line);border-bottom:1.5px solid var(--line);font-size:var(--t-2xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;display:flex;align-items:center;gap:8px}.refpane dl{margin:0}.refentry{padding:10px 14px;border-bottom:1px solid var(--line)}.refentry:last-child{border-bottom:0}.refentry dt{margin:0 0 5px}.refentry dt code{display:block;background:#14171c;color:#e6e1d6;border-radius:var(--r-sm);padding:7px 10px;font-family:var(--mono);white-space:pre;overflow-x:auto}.refentry dd,.refentry dt code{font-size:var(--t-xs);line-height:1.55}.refentry dd{margin:0;color:var(--muted)}.refalt{display:block;margin-top:3px;padding-left:9px;border-left:2px solid var(--line)}.side.folded{width:42px;padding:14px 0;display:flex;flex-direction:column;align-items:center;gap:10px}.sidespine{writing-mode:vertical-rl;letter-spacing:.16em}.sidespine,.sidetop{font-family:var(--mono);font-size:var(--t-3xs);color:var(--muted)}.sidetop{display:flex;align-items:center;justify-content:space-between;margin:0 4px 10px;letter-spacing:.14em;text-transform:uppercase}.sidefold{background:transparent;border:1.5px solid transparent;border-radius:var(--r);width:26px;height:26px;color:var(--muted);font-size:var(--t-md);line-height:1;cursor:pointer;flex-shrink:0}.sidefold:hover{background:var(--hover);color:var(--ink);border-color:var(--line)}@media (max-width:900px){.bench{inset:57px 0 0 auto;width:min(96vw,460px);box-shadow:-8px 0 28px rgba(26,28,30,.18)}.bench,.benchrail{position:fixed;z-index:var(--z-float)}.benchrail{right:0;top:57px}}.docunit{font-family:var(--serif);font-size:var(--t-2xl);margin:40px 0 18px;padding-bottom:8px;border-bottom:2px solid var(--accent);color:var(--ink)}.docunit:first-of-type{margin-top:10px}.jumpgroup{display:inline-flex;flex-wrap:wrap;align-items:center;gap:7px}.jumpgroup b{font-family:var(--mono);font-size:var(--t-3xs);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-left:4px}.bench.floating{border:1.5px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--e-float);position:fixed}.bench.floating .benchhead{cursor:-webkit-grab;cursor:grab}.bench.floating .benchhead:active{cursor:-webkit-grabbing;cursor:grabbing}.bench .benchinner{flex:1 1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.benchgrip{position:absolute;z-index:3}.benchgrip.edge{left:-3px;top:0;bottom:0;width:8px;cursor:col-resize}.benchgrip.edge:hover{background:var(--accent);opacity:.35}.benchgrip.corner{right:0;bottom:0;width:18px;height:18px;cursor:nwse-resize}.benchgrip.corner:after{content:"";position:absolute;right:4px;bottom:4px;width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted)}.bicon{display:inline-flex;align-items:center;color:var(--accent)}.benchrail .bicon{writing-mode:horizontal-tb}.refpane .refhere>h4{color:var(--accent);border-bottom-color:var(--accent)}.refbadge{float:right;font-family:var(--sans);font-size:var(--t-3xs);letter-spacing:.06em;background:var(--accent);color:#fff;border-radius:var(--r-pill);padding:2px 7px;text-transform:uppercase}.twoblocks{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;align-items:stretch}.langblock{position:relative;border:1.5px solid var(--line);border-radius:var(--r);background:var(--paper);padding:30px 22px 20px}.langblock.alt{background:#f3f1ea}:root[data-theme=dark] .langblock{background:rgba(255,255,255,.02)}:root[data-theme=dark] .langblock.alt{background:rgba(255,255,255,.05)}.langtag{position:absolute;top:-9px;left:18px;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-pill);padding:2px 10px;font-family:var(--mono);font-size:var(--t-3xs);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.langblock.alt .langtag{border-color:var(--accent);color:var(--accent)}.langblock[lang^=ja],.langblock[lang^=ko],.langblock[lang^=zh]{line-height:1.75}.langblock[lang^=ko] .flowq,.langblock[lang^=zh] .flowq{font-family:var(--sans);font-weight:700}@media (max-width:1100px){.twoblocks{grid-template-columns:1fr;gap:12px}}.altline{display:block;margin-top:5px;padding-left:12px;border-left:2px solid var(--line);font-family:var(--sans);font-size:var(--t-sm);font-weight:400;line-height:1.6;color:var(--muted)}.flowq .altline{margin-top:8px;font-size:var(--t-base)}.profilewrap{position:relative}.profilebtn{cursor:pointer;border:1.5px solid transparent;background:transparent;border-radius:var(--r);padding:4px 10px 4px 5px}.profilebtn:hover{border-color:rgba(233,228,216,.28);background:rgba(233,228,216,.08)}.profilename{color:#e9e4d8;font-family:var(--sans);font-weight:600;font-size:var(--t-sm)}.guesttag{color:#bdb7a9;font-size:var(--t-2xs)}.profilecaret{color:#bdb7a9;font-size:var(--t-3xs);margin-left:2px}.profilemenu{position:absolute;right:0;top:calc(100% + 8px);z-index:var(--z-modal);width:320px;background:var(--card);color:var(--ink);border:1.5px solid var(--line);border-radius:var(--r);box-shadow:var(--e-float);overflow:hidden}.pmhead{padding:12px 14px;border-bottom:1.5px solid var(--line);font-family:var(--sans);font-weight:700;font-size:var(--t-base);display:flex;flex-direction:column;gap:2px}.pmhead span{font-weight:400;font-size:var(--t-xs);color:var(--muted)}.pmsection{padding:12px 14px}.pmsection+.pmsection{border-top:1.5px solid var(--line)}.pmrow{display:flex;align-items:center;gap:9px;margin:9px 0;font-size:var(--t-sm);cursor:pointer}.pmrow .pmlabel{min-width:68px;color:var(--muted);font-size:var(--t-xs)}.pmrow select{flex:1 1;font-family:var(--sans);font-size:var(--t-sm);padding:6px 9px;border:1.5px solid var(--line);border-radius:var(--r);background:var(--paper);color:var(--ink)}.pmrow input[type=checkbox]:disabled+span,.pmrow select:disabled{opacity:.45}.pmnote{margin:6px 0 10px;line-height:1.5;color:var(--muted)}.pmnote,.pmnote code{font-size:var(--t-2xs)}.pmnote code{font-family:var(--mono)}.pmlinks{display:flex;flex-direction:column;gap:2px;padding:8px}.pmlinks a,.pmsignout{display:block;text-align:left;padding:8px 10px;border-radius:var(--r);font-family:var(--sans);font-size:var(--t-sm);color:var(--ink);text-decoration:none;background:transparent;border:0;cursor:pointer;width:100%}.pmlinks a:hover,.pmsignout:hover{background:var(--paper)}.pmsignout{color:var(--bad)}.notelist{margin:0 0 10px;padding-left:19px;display:flex;flex-direction:column;gap:8px}.notelist li{font-size:var(--t-base);line-height:1.55}.notealt{display:block;margin-top:3px;padding-left:10px;border-left:2px solid var(--line);color:var(--muted);font-size:var(--t-sm)}.trwrap{max-width:900px;margin:0 auto;padding:28px 20px 90px}.trbar{gap:14px;flex-wrap:wrap;margin-bottom:14px}.trbar,.trbar label{display:flex;align-items:center}.trbar label{gap:8px;font-size:var(--t-sm);color:var(--muted)}.trbar select{font-family:var(--sans);font-size:var(--t-base);padding:7px 10px;border:1.5px solid var(--line);border-radius:var(--r);background:var(--card);color:var(--ink)}.trcount{font-size:var(--t-xs);color:var(--muted)}.trerr{color:var(--bad)}.trerr,.trtable{font-size:var(--t-sm)}.trtable{width:100%;border-collapse:collapse}.trtable th{text-align:left;font-family:var(--mono);font-size:var(--t-3xs);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-bottom:2px solid var(--ink);padding:8px 6px}.trtable td{border-bottom:1px solid var(--line);padding:9px 6px;vertical-align:middle}.trtable code{font-family:var(--mono);color:var(--accent);margin-right:6px}.trtable tr.bad td{background:rgba(176,72,58,.07)}.trhave{font-family:var(--mono);font-size:var(--t-2xs)}.trhave,.trstate{color:var(--muted)}.trstate{font-size:var(--t-xs)}.trstate.done{color:var(--ok);font-weight:600}.trstate.failed{color:var(--bad);font-weight:600}.trstate.running{color:var(--warn);font-weight:600}.trreading{flex-basis:100%;font-size:var(--t-xs)}.trreading.match{color:var(--ok)}.trreading.warn{color:var(--warn)}.trmodel{font-family:var(--mono);font-size:var(--t-xs);padding:7px 9px;width:210px;background:var(--card);color:var(--ink)}.trmodel,.tutorcode{border:1.5px solid var(--line);border-radius:var(--r)}.tutorcode{margin:8px 0;overflow:hidden;background:#14171c}.tutorcode pre{margin:0;padding:11px 13px;font-family:var(--mono);font-size:var(--t-xs);line-height:1.6;color:#e6e1d6;white-space:pre;overflow-x:auto}.tutorcodebar{display:flex;gap:6px;padding:7px 9px;background:#1a1e24;border-top:1px solid #2a2f37}.tutorcodebar button{font-family:var(--sans);font-size:var(--t-2xs);font-weight:600;padding:4px 9px;border-radius:var(--r-sm);border:1px solid #3a3f47;background:transparent;color:#cfc9bc;cursor:pointer}.tutorcodebar button:hover{background:#262b32;color:#fff}.tutortext{margin:0 0 6px}.tutortext:last-child{margin-bottom:0}.padhist{max-height:190px;overflow-y:auto;border:1.5px solid var(--line);border-radius:var(--r);background:var(--paper);padding:5px;display:flex;flex-direction:column;gap:2px;flex-shrink:0}.padhist p{margin:8px 10px;font-size:var(--t-xs)}.padhist button{display:grid;grid-template-columns:auto auto 1fr;grid-gap:10px;gap:10px;align-items:baseline;text-align:left;width:100%;background:transparent;border:0;border-radius:var(--r-sm);padding:7px 9px;cursor:pointer;color:var(--ink)}.padhist button:hover{background:var(--card)}.padhistwhen{font-family:var(--mono);font-size:var(--t-3xs)}.padhistnote,.padhistwhen{color:var(--muted);white-space:nowrap}.padhistcode,.padhistnote{font-size:var(--t-2xs)}.padhistcode{font-family:var(--mono);color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.padcode.annotated{display:block;overflow:auto;position:relative;background:#14171c}.annwrap{font-family:var(--mono);font-size:var(--t-xs);line-height:1.7;padding:10px 12px 40px;color:#e6e1d6}.annrowc{display:grid;grid-template-columns:26px 1fr;grid-gap:0 10px;gap:0 10px;align-items:baseline}.annrowc code{white-space:pre;background:none;padding:0;border-radius:0;font-size:var(--t-xs);color:#cfd3da}.annnum{color:#5b6270;text-align:right;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:var(--t-2xs)}.annrowc.marked{background:rgba(127,214,184,.07);border-radius:var(--r-sm)}.annrowc.marked code{color:#fff}.annnote{grid-column:2;display:block;margin:2px 0 6px;padding-left:12px;border-left:2px solid var(--ok);line-height:1.5;color:#9fe3c4;white-space:normal}.annback,.annnote{font-family:var(--sans);font-size:var(--t-xs)}.annback{position:-webkit-sticky;position:sticky;bottom:0;left:0;margin-top:6px;background:#1a1e24;color:#cfc9bc;border:1px solid #3a3f47;border-radius:var(--r);padding:5px 11px;cursor:pointer}.annback:hover{background:#262b32;color:#fff}.padexplain{flex-shrink:0;display:flex;align-items:center;gap:12px;flex-wrap:wrap;border:1.5px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--r);padding:10px 13px;background:var(--card);font-size:var(--t-sm);line-height:1.5}.padexplain p{margin:0;flex:1 1;min-width:180px}.explainbtn{display:inline-block;margin-top:9px;background:transparent;color:#7fe3b0;border:1px solid #3a5a4c;border-radius:var(--r);padding:5px 11px;font-family:var(--sans);font-size:var(--t-xs);font-weight:600;cursor:pointer}.explainbtn:hover{background:rgba(127,227,176,.12)}.explainbtn:disabled{opacity:.5;cursor:default}@keyframes fixglow{0%{background:rgba(127,227,176,.34)}60%{background:rgba(127,227,176,.2)}to{background:rgba(127,227,176,.07)}}.annrowc.fixline{border-radius:var(--r-sm);animation:fixglow 1.5s ease-out both}.annrowc.fixline code{color:#fff}.annrowc.fixline:after{content:"changed";grid-column:2;justify-self:start;font-family:var(--sans);font-size:var(--t-3xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#7fe3b0}.annrowc.fixline.added:after{content:"added"}@media (prefers-reduced-motion:reduce){.annrowc.fixline{animation:none;background:rgba(127,227,176,.12)}}.fixrecord{font-family:var(--mono);font-size:var(--t-2xs);color:var(--ok);font-weight:600;border:1px solid var(--ok);border-radius:var(--r-pill);padding:3px 10px;white-space:nowrap}.backhost{display:inline-flex;align-items:center;gap:8px;background:transparent;border:1.5px solid rgba(233,228,216,.3);border-radius:var(--r);padding:7px 13px;font-family:var(--sans);font-size:var(--t-sm);font-weight:600;color:#e9e4d8;cursor:pointer}.backhost:hover{border-color:#7fd6b8;color:#7fd6b8}.backhost:focus-visible{outline:2px solid #7fd6b8;outline-offset:2px}.threadfor{margin:0 0 10px;font-family:var(--mono);font-size:var(--t-3xs);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.frwrap{position:fixed;inset:0;z-index:var(--z-modal);background:rgb(26 28 30/.55);display:grid;place-items:center;padding:20px}.frcard{position:relative;width:min(520px,100%);max-height:88vh;overflow-y:auto;background:var(--card);border:1.5px solid var(--ink);border-radius:var(--r-lg);padding:26px 28px;box-shadow:var(--e-modal)}.freyebrow{margin:0 0 6px;font-family:var(--mono);font-size:var(--t-3xs);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.frcard h2{font-family:var(--serif);font-size:var(--t-4xl);margin:0 0 10px;line-height:1.2}.frnote{margin:0 0 14px;font-size:var(--t-base);line-height:1.6;color:var(--muted)}.frnote.small{font-size:var(--t-sm)}.frnote code,.frnote kbd{font-family:var(--mono);font-size:var(--t-xs);background:var(--paper);border:1px solid var(--line);border-radius:var(--r-sm);padding:1px 5px}.frnote b{color:var(--ink)}.frlangs{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}.frlang{border:1.5px solid var(--line);background:var(--paper);color:var(--ink);border-radius:var(--r-pill);padding:7px 14px;font-size:var(--t-base);cursor:pointer}.frlang:hover{border-color:var(--ink)}.frlang.on{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}.frtools{margin:0 0 14px;padding-left:18px;display:flex;flex-direction:column;gap:9px}.frtools li{font-size:var(--t-base);line-height:1.55;color:var(--muted)}.frtools b{color:var(--ink)}.frrow{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px}.frgo{background:var(--accent);color:#fff;border:0;border-radius:var(--r);padding:10px 20px;font-family:var(--sans);font-size:var(--t-base);font-weight:700;cursor:pointer}.frgo:disabled{opacity:.4;cursor:default}.frghost{background:transparent;border:1.5px solid var(--line);color:var(--muted);border-radius:var(--r);padding:10px 16px;font-family:var(--sans);font-size:var(--t-base);cursor:pointer}.frghost:hover{border-color:var(--ink);color:var(--ink)}.frx{position:absolute;top:12px;right:12px;background:transparent;border:0;color:var(--muted);font-size:var(--t-base);cursor:pointer;padding:6px}.frx:hover{color:var(--ink)}.reportwrap{position:relative}.reportbtn{display:inline-flex;align-items:center;gap:7px;background:transparent;border:1.5px solid rgb(233 228 216/.3);border-radius:var(--r);padding:7px 13px;font-family:var(--sans);font-size:var(--t-sm);font-weight:600;color:#e9e4d8;cursor:pointer}.reportbtn:hover{border-color:#7fd6b8;color:#7fd6b8}.reportdot{background:var(--accent-2,#e0532f);color:#fff;border-radius:var(--r-pill);min-width:17px;height:17px;padding:0 5px;font-size:var(--t-3xs);font-weight:700;display:grid;place-items:center}.reportpanel{position:absolute;right:0;top:calc(100% + 10px);z-index:var(--z-toast);width:min(460px,calc(100vw - 28px));height:min(560px,calc(100vh - 130px));background:var(--card);color:var(--ink);border:1.5px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--e-modal);display:flex;flex-direction:column;overflow:hidden}.rphead{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1.5px solid var(--line);background:var(--paper);flex-shrink:0}.rphead div{display:flex;flex-direction:column;line-height:1.35;min-width:0}.rphead b{font-size:var(--t-md)}.rphead span{font-size:var(--t-xs);color:var(--muted)}.rphead button{margin-left:auto;background:transparent;border:0;color:var(--muted);font-size:var(--t-base);cursor:pointer;padding:5px;flex-shrink:0}.rphead button:hover{color:var(--ink)}.rpface{width:30px;height:30px;border-radius:var(--r-pill);flex-shrink:0;overflow:hidden;display:grid;place-items:center;background:var(--accent);color:#fff;font-family:var(--sans);font-size:var(--t-sm);font-weight:700}.rpface.big{width:40px;height:40px;font-size:var(--t-lg)}.rpface img{width:100%;height:100%;object-fit:cover}.rprow.mine .rpface{background:var(--ink)}.rpthread{flex:1 1;min-height:0;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.rpintro{margin:0;font-size:var(--t-sm);line-height:1.6;color:var(--muted);background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px}.rprow{display:flex;align-items:flex-end;gap:9px}.rprow.mine{flex-direction:row-reverse}.rpmsg{font-size:var(--t-base);line-height:1.55;padding:10px 14px;border-radius:var(--r-lg);background:var(--paper);border:1px solid var(--line);white-space:pre-wrap;max-width:78%;word-break:break-word}.rprow.mine .rpmsg{background:var(--accent);border-color:var(--accent);color:#fff}.rpchosen{margin:0;font-family:var(--mono);font-size:var(--t-2xs);color:var(--accent);display:flex;align-items:center;gap:8px}.rpchosen button{background:transparent;border:0;color:var(--muted);font-size:var(--t-2xs);text-decoration:underline;cursor:pointer}.rpcompose{display:flex;gap:9px;padding:12px 14px;border-top:1.5px solid var(--line);flex-shrink:0;background:var(--paper)}.rpcompose textarea{flex:1 1;font-family:var(--sans);font-size:var(--t-base);line-height:1.5;padding:9px 12px;border:1.5px solid var(--line);border-radius:var(--r);resize:none;background:var(--card);color:var(--ink)}.rpcompose textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.rpcompose .frgo{padding:9px 17px;font-size:var(--t-base);align-self:flex-end}.rpfoot{margin:0;padding:0 16px 12px;font-size:var(--t-2xs);color:var(--muted);flex-shrink:0;background:var(--paper)}.reasons{display:flex;flex-wrap:wrap;gap:6px}.reason{border:1.5px solid var(--line);background:var(--paper);color:var(--ink);border-radius:var(--r-pill);padding:6px 12px;font-family:var(--sans);font-size:var(--t-xs);cursor:pointer}.reason:hover{border-color:var(--accent);color:var(--accent)}.reporterr{margin:0;padding:0 14px 8px;color:var(--bad);font-size:var(--t-xs)}.reportsent h2{margin-bottom:6px}.badgegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:10px;gap:10px}.badgecard{display:flex;align-items:center;gap:12px;border:1.5px solid var(--line);padding:12px 14px;background:var(--paper)}.badgecard,.badgeimg{border-radius:var(--r)}.badgeimg{width:42px;height:42px;flex-shrink:0;overflow:hidden;display:grid;place-items:center;font-size:var(--t-4xl);background:var(--card);border:1.5px solid var(--line)}.badgeimg img{width:100%;height:100%;object-fit:cover}.badgecard div{display:flex;flex-direction:column;min-width:0}.badgecard b{font-size:var(--t-base)}.badgenote{font-size:var(--t-xs);color:var(--muted);line-height:1.45}.badgemake{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}.badgeimg.big{width:62px;height:62px;font-size:var(--t-6xl);border-radius:var(--r-lg)}.badgefields{flex:1 1;min-width:260px;display:flex;flex-direction:column;gap:8px}.badgeimgrow{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.badgeimgrow .f{flex:1 1;min-width:130px}.badgeimgrow .f.emoji{flex:0 0 62px;text-align:center;font-size:var(--t-xl)}.flowstep .cm-wrap .cm-editor{min-height:240px;max-height:50vh}@media (max-height:720px){.flowplay{min-height:0;justify-content:flex-start}.flowstep .cm-wrap .cm-editor{min-height:170px}}@media (min-width:1180px){.flowstep.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:0 18px;gap:0 18px;align-content:start}.flowstep.split>*{grid-column:1/-1}.flowstep.split>.flowcode{grid-column:1;align-self:start;margin-top:12px}.flowstep.split>.teachcard{grid-column:2;align-self:start}.flowstep.split>.teachcard .flowout{margin-top:12px!important}}@media (min-width:1500px){.flowq{font-size:var(--t-3xl)}.teachbody p{font-size:var(--t-lg)}.flowcode,.flowopt,.flowout pre{font-size:var(--t-md)}}@media (min-width:1800px){.flowq{font-size:var(--t-4xl)}.teachbody p{font-size:var(--t-xl)}.flowcode,.flowout pre{font-size:var(--t-lg)}}.quizgroup{display:flex;flex-direction:column}.qgtop{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1.5px solid var(--line);margin-bottom:4px}.qgtop h3{font-family:var(--serif);font-size:var(--t-2xl);margin:0}.qglist,.qgtop .meta{margin:0}.qglist{list-style:none;padding:0;display:flex;flex-direction:column}.qg{padding:18px 0;border-bottom:1px solid var(--line)}.qg:last-child{border-bottom:0}.qgq{display:flex;gap:12px;align-items:baseline;font-family:var(--serif);font-size:var(--t-lg);line-height:1.35;margin-bottom:10px}.qgn,.qgq{font-weight:700}.qgn{flex-shrink:0;width:24px;height:24px;border-radius:var(--r-pill);background:var(--sunk,var(--line));color:var(--muted);font-family:var(--mono);font-size:var(--t-xs);display:grid;place-items:center;align-self:flex-start}.qg.right .qgn{background:var(--accent);color:#fff}.qg.wrong .qgn{background:var(--bad);color:#fff}.qgcode{margin-bottom:10px;max-height:30vh}.qg .flowopts{margin-top:0}.optbtn.picked-right{border-color:var(--accent);background:rgba(46,125,80,.12);font-weight:700}.optbtn.picked-wrong{border-color:var(--bad);background:rgba(179,53,46,.1);font-weight:700}.qg .flowwhy{margin-top:10px}.aiswitch{display:flex;align-items:flex-start;gap:18px;flex-wrap:wrap;border:1.5px solid var(--line);border-left-width:5px;border-radius:var(--r);padding:16px 18px;margin:14px 0 18px;background:var(--card,transparent)}.aiswitch.on{border-left-color:var(--accent)}.aiswitch.off{border-left-color:var(--muted)}.aisw-txt{flex:1 1 320px;display:flex;flex-direction:column;gap:5px}.aisw-txt b{font-family:var(--mono);font-size:var(--t-sm);letter-spacing:.08em}.aiswitch.on .aisw-txt b{color:var(--accent)}.aisw-txt span,.aiswitch.off .aisw-txt b{color:var(--muted)}.aisw-txt span{font-size:var(--t-base);line-height:1.5;max-width:62ch}.aisw-btn{flex-shrink:0;align-self:center;padding:10px 18px;border-radius:var(--r);border:1.5px solid var(--line);background:transparent;font:inherit;font-weight:700;cursor:pointer}.aisw-btn:hover:not(:disabled){border-color:var(--fg)}.aisw-btn:disabled{opacity:.5;cursor:default}.aisw-msg{flex-basis:100%;margin:4px 0 0;font-size:var(--t-sm);color:var(--muted)}.privsum{margin:20px 0 8px;padding:14px 18px;border-left:3px solid var(--accent);background:var(--sunk,transparent);border-radius:0 var(--r) var(--r) 0}.privsum p{margin:0;font-size:var(--t-md);line-height:1.6}.qnwrap{position:relative}.qndot{background:var(--violet,var(--accent))}.qnpanel{position:absolute;top:calc(100% + 8px);right:0;z-index:var(--z-modal);width:460px;max-width:calc(100vw - 24px);max-height:70vh;overflow-y:auto;border:1.5px solid var(--line);border-radius:var(--r);box-shadow:var(--e-float);padding:0 16px 14px}.qnhead,.qnpanel{background:var(--bg)}.qnhead{position:-webkit-sticky;position:sticky;top:0;display:flex;align-items:center;gap:10px;padding:14px 0 10px;border-bottom:1px solid var(--line);margin-bottom:10px}.qnhead b{flex:1 1;font-family:var(--serif);font-size:var(--t-lg)}.qnhead button{border:0;background:none;font:inherit;color:var(--muted);cursor:pointer}.qnintro{margin:0 0 8px;font-size:var(--t-sm);line-height:1.55;color:var(--muted)}.qnlist{list-style:none;margin:0;padding:0}.qnq{padding:12px 0;border-bottom:1px solid var(--line)}.qnq:last-child{border-bottom:0}.qnqt{display:flex;gap:10px;align-items:baseline;margin:0 0 8px;font-family:var(--serif);font-size:var(--t-md);line-height:1.35}.qnn,.qnqt{font-weight:700}.qnn{flex-shrink:0;width:21px;height:21px;border-radius:var(--r-pill);background:var(--sunk,var(--line));color:var(--muted);font-family:var(--mono);font-size:var(--t-2xs);display:grid;place-items:center;align-self:flex-start}.qnopts{display:flex;flex-direction:column;gap:6px}.qnopts .optbtn{padding:8px 12px;font-size:var(--t-base)}.qnnote{display:flex;flex-direction:column;gap:5px;margin-top:12px}.qnnote span{font-size:var(--t-sm);color:var(--muted)}.qnnote textarea{width:100%;font:inherit;font-size:var(--t-base);padding:8px 10px;border:1.5px solid var(--line);border-radius:var(--r);background:transparent;color:inherit;resize:vertical}.qnfoot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.qnmuted{font-size:var(--t-sm);color:var(--muted);line-height:1.5}.qndone{padding:14px 0 6px}.qnbig{margin:0 0 6px;font-family:var(--serif);font-size:var(--t-xl)}.switches{display:flex;flex-direction:column;gap:12px;margin:14px 0 22px}.brandrow{border-left-color:var(--violet,var(--accent))}.brandedit{display:flex;gap:8px;align-items:center}.brandedit input{font:inherit;font-weight:700;padding:9px 12px;width:190px;border:1.5px solid var(--line);border-radius:var(--r);background:transparent;color:inherit}.qh{font-size:var(--t-xl);margin:22px 0 10px}.qh,.qh3{font-family:var(--serif)}.qh3{font-size:var(--t-md);margin:18px 0 8px}.qmuted{font-size:var(--t-sm);color:var(--muted);font-weight:400}.qres{border:1.5px solid var(--line);border-radius:var(--r);padding:4px 18px 18px}.qresq{margin-top:14px}.qrest{margin:0 0 8px;font-weight:700;font-size:var(--t-base)}.qbar{display:grid;grid-template-columns:minmax(90px,26%) 1fr 34px;grid-gap:10px;gap:10px;align-items:center;margin-bottom:5px;font-size:var(--t-sm)}.qbarlab{color:var(--muted);overflow-wrap:anywhere}.qbartrack{height:9px;background:var(--sunk,var(--line));overflow:hidden}.qbarfill,.qbartrack{border-radius:var(--r-pill)}.qbarfill{display:block;height:100%;background:var(--accent)}.qbarn{font-family:var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.qnotes blockquote{margin:0 0 8px;padding:9px 13px;border-left:3px solid var(--line);font-size:var(--t-base);line-height:1.5;color:var(--muted)}.qedit{margin-top:8px}.qfield{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.qfield span{font-size:var(--t-sm);color:var(--muted)}.qeqo,.qeqt,.qfield input,.qfield textarea{font:inherit;font-size:var(--t-base);padding:8px 11px;background:transparent;color:inherit;width:100%}.qeq,.qeqo,.qeqt,.qfield input,.qfield textarea{border:1.5px solid var(--line);border-radius:var(--r)}.qeq{padding:12px 14px;margin-bottom:10px}.qeqhead{display:flex;gap:9px;align-items:center;margin-bottom:8px}.qeqt{font-weight:700}.qeqo{font-family:var(--mono);font-size:var(--t-sm);resize:vertical}.qdel{flex-shrink:0;border:0;background:none;color:var(--muted);font:inherit;cursor:pointer;padding:4px}.qdel:hover{color:var(--bad)}.qrow{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:12px 0}.qcheck{display:flex;gap:8px;align-items:baseline;font-size:var(--t-base);line-height:1.45;cursor:pointer}.landing{max-width:560px;padding-top:8vh}.landing h1{font-family:var(--serif);font-size:var(--t-6xl);line-height:1.1;letter-spacing:-.02em;margin:6px 0 12px;text-wrap:balance}.landing .lede{font-size:var(--t-lg);line-height:1.6;margin:0 0 26px;max-width:54ch}.landgo{margin:26px 0 34px}.landfoot a{text-decoration:underline;text-underline-offset:2px}.landfoot{color:var(--muted);font-size:var(--t-sm);line-height:1.6;margin:0 0 4px}@media (max-width:640px){.landing h1{font-size:var(--t-5xl)}}.trstale{font-weight:700}.trpart,.trstale{color:var(--warn)}.trpart{font-family:var(--mono);font-size:var(--t-2xs)}.padlang{font:inherit;font-size:var(--t-xs);padding:4px 7px;border-radius:var(--r-sm);border:1.5px solid var(--line);background:transparent;color:var(--muted);cursor:pointer}.padlang:hover{color:var(--ink);border-color:var(--ink)}.live{display:flex;flex-direction:column;gap:10px}.livebar{display:flex;align-items:center;gap:9px;font-size:var(--t-sm);color:var(--muted);line-height:1.5}.livedot{width:8px;height:8px;border-radius:var(--r-pill);flex-shrink:0;background:var(--line);transition:background .2s ease}.livebar.busy{opacity:.65}.livebar.good{color:var(--accent)}.livebar.good .livedot{background:var(--accent)}.livebar.bad{color:var(--bad)}.livebar.bad .livedot{background:var(--bad)}.livediags{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.livediags li{display:grid;grid-template-columns:56px 1fr;grid-gap:12px;gap:12px;align-items:baseline;padding:10px 14px;border-left:3px solid var(--bad);background:var(--sunk,transparent);border-radius:0 var(--r-sm) var(--r-sm) 0;line-height:1.5}.livediags b{font-family:var(--mono);font-size:var(--t-2xs);color:var(--muted);font-weight:400}.livediags span{display:block;font-size:var(--t-md)}.livediags em{display:block;margin-top:3px;font-style:normal;font-family:var(--mono);font-size:var(--t-2xs);color:var(--muted)}.livehint{margin:0;font-size:var(--t-sm);color:var(--muted)}