*{box-sizing:border-box}[hidden]{display:none!important}body{background:var(--surface);color:var(--body);font-family:Fira Sans,Arial,Helvetica,sans-serif;font-size:var(--t-4);margin:0;line-height:1.5}button,input{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,input:focus-visible+.opt-face{box-shadow:var(--ring);border-radius:var(--r-s);outline:none}.vh{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.eyebrow{align-items:center;gap:var(--s-2);font-size:var(--t-6);letter-spacing:.1em;text-transform:uppercase;margin-bottom:var(--s-1);color:var(--progress);font-weight:700;display:flex}.eyebrow:before{content:"";width:var(--s-4);background:currentColor;flex:none;height:2px}.headline{margin:0 0 var(--s-2);font-size:var(--t-3);color:var(--ink);font-weight:600;line-height:1.3}.instruction{margin:calc(var(--s-1) * -1) 0 var(--s-3);font-size:var(--t-5);color:var(--muted)}.teaches{margin:0 0 var(--s-2) 0;padding:2px var(--s-2);border-radius:var(--r-pill);background:var(--mint);color:var(--progress);font-size:var(--t-6);font-weight:700;display:inline-block}.block{margin:0 0 var(--s-8)}.box-rule{border-left:3px solid var(--line);padding-left:var(--s-4)}.box-tint{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--r-m);padding:var(--s-4)}.box-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--shadow);padding:var(--s-4)}.box-panel{background:var(--know);color:var(--on-dark);border-radius:var(--r-m);padding:var(--s-4)}.box-panel .headline,.box-panel b,.box-panel strong{color:#fff}p{margin:0 0 var(--s-3)}p:last-child{margin-bottom:0}ul{margin:0 0 var(--s-3);padding-left:var(--s-6)}li+li{margin-top:var(--s-1)}.btn{justify-content:center;align-items:center;gap:var(--s-2);min-height:38px;padding:var(--s-2) var(--s-4);border-radius:var(--r-s);font-size:var(--t-5);cursor:pointer;border:1px solid #0000;font-weight:600;line-height:1.35;display:inline-flex}.btn-act{background:var(--action);color:var(--action-ink)}.btn-act:hover{background:var(--action-hover)}.btn-quiet{background:var(--surface);border-color:var(--line);color:var(--know)}.btn-quiet:hover{background:var(--mint)}.btn-keep{background:var(--correct);color:var(--surface)}.btn-keep:hover{background:var(--know)}.btn-delete{background:var(--wrong);color:var(--surface)}.btn-delete:hover{background:var(--ink)}.confirm{z-index:60;padding:var(--s-4);place-items:center;display:grid;position:fixed;inset:0}.confirm-bg{background:var(--ink);opacity:.45;position:absolute;inset:0}.confirm-box{width:min(440px,100%);padding:var(--s-6);border-radius:var(--r-l);background:var(--surface);box-shadow:var(--shadow);position:relative}.confirm-box h2{margin:0 0 var(--s-2);font-size:var(--t-3);color:var(--ink);font-weight:600}.confirm-box p{margin:0 0 var(--s-3);font-size:var(--t-5);color:var(--body)}.confirm-what{padding:var(--s-3) var(--s-4);border-radius:var(--r-s);background:var(--card);color:var(--ink);font-weight:600}.confirm-btns{justify-content:flex-end;gap:var(--s-3);margin-top:var(--s-5);display:flex}.confirm-btns .btn{justify-content:center;min-width:112px;min-height:48px}@media (pointer:coarse){.btn{min-height:44px}}.box-soft{background:var(--know-tint);border-left:4px solid var(--know);border-right:4px solid var(--know);border-radius:var(--r-m);padding:var(--s-4)}.ki{gap:var(--s-4);align-items:flex-start;display:flex}.ki-ico{background:var(--know);color:#fff;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;display:grid}.ki-claim{margin:0 0 var(--s-1);font-size:var(--t-3);color:var(--ink);font-weight:700}.ki-body{font-size:var(--t-5);margin:0}.box-trap{background:var(--careful-tint);border-left:4px solid var(--careful-fill);border-right:4px solid var(--careful-fill);border-radius:var(--r-m);padding:var(--s-4)}.box-trap .trap-claim{margin:0 0 var(--s-1);font-size:var(--t-3);color:var(--ink);font-weight:700}.box-trap .trap-body{font-size:var(--t-5);margin:0}.def{border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.def-head{background:var(--know);color:#fff;padding:var(--s-2) var(--s-4);line-height:1.3;font-size:var(--t-5);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.def-body{gap:var(--s-3);padding:var(--s-3) var(--s-4);font-size:var(--t-4);color:var(--body);align-items:flex-start;display:flex}.def-body>p{margin:0}.icon{flex:none;width:18px;height:18px}.def-body .icon{color:var(--progress);margin-top:3px}.fig svg{width:100%;max-width:420px;height:auto;margin:0 auto;display:block}.caption{margin:var(--s-3) 0 0;font-size:var(--t-5);color:var(--muted);text-align:center}.expr{font-size:var(--t-2);color:var(--ink);text-align:center;margin:0;font-weight:600}.legend{margin:var(--s-3) 0 0;padding:0;list-style:none}.legend li{padding:var(--s-2) 0;border-bottom:1px solid var(--line-soft);font-size:var(--t-5);gap:12px;margin:0;display:flex}.legend b{color:var(--progress);font-size:var(--t-4);flex:0 0 28px}.reveal-answer,.working{margin-top:var(--s-3)}.answer{margin-top:var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--r-s);background:var(--correct-tint);border-left:3px solid var(--correct);font-size:var(--t-5)}.stepbar{justify-content:space-between;align-items:baseline;gap:var(--s-3);margin:0 0 var(--s-2);font-size:var(--t-6);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-weight:700;display:flex}.steps{gap:var(--s-1);margin:0 0 var(--s-4);padding:0;list-style:none;display:flex}.steps li{flex:1 1 0;min-width:0}.steps button{border:1px solid var(--line);background:var(--surface);border-radius:var(--r-s);cursor:pointer;width:100%;min-height:40px;font-size:var(--t-5);color:var(--muted);font-weight:700}.steps button:hover{background:var(--card);color:var(--ink)}.steps button[aria-current=true]{background:var(--know);border-color:var(--know);color:#fff}.steps li.past button{border-color:var(--know);color:var(--know)}.step-body{gap:var(--s-4);align-items:flex-start;display:flex}.step-visual{font-size:var(--t-1);flex:none;line-height:1}.step-body h4{margin:0 0 var(--s-1);font-size:var(--t-4);color:var(--ink);font-weight:600}.step-body p{font-size:var(--t-5);margin:0}.compare{gap:var(--s-3);display:grid}.compare[data-n="2"]{grid-template-columns:1fr 1fr}.compare[data-n="3"]{grid-template-columns:1fr 1fr 1fr}.compare[data-n="4"]{grid-template-columns:1fr 1fr}.compare>div{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-s);padding:var(--s-3) var(--s-4)}.compare h4{margin:0 0 var(--s-1);font-size:var(--t-5);color:var(--ink);font-weight:600}.compare p{font-size:var(--t-5);margin:0}@media (width<=640px){.compare[data-n]{grid-template-columns:1fr}}.res{gap:var(--s-2);margin:0 0 var(--s-4);display:grid}.res-row{align-items:flex-start;gap:var(--s-3);padding:var(--s-3);border:1px solid var(--line-soft);border-radius:var(--r-s);display:flex}.res-code{padding:2px var(--s-2);border-radius:var(--r-pill);background:var(--mint);color:var(--progress);font-size:var(--t-6);flex:none;font-weight:700}.res-idea{min-width:0;font-size:var(--t-5);flex:1 1 0}.res-idea b{color:var(--ink);display:block}.res-idea i{color:var(--muted);margin-top:2px;font-style:normal;display:block}.res-score{font-size:var(--t-5);white-space:nowrap;flex:none;font-weight:700}.res-miss{color:var(--careful)}.res-got{color:var(--correct)}@media (width<=560px){.res-row{flex-wrap:wrap}.res-score{margin-left:auto}}table.stakes{border-collapse:collapse;width:100%;font-size:var(--t-5);margin:0 0 var(--s-5)}table.stakes th,table.stakes td{text-align:left;padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--line-soft);vertical-align:top}table.stakes th{font-size:var(--t-6);text-transform:uppercase;letter-spacing:.08em;color:var(--ink);font-weight:700}table.stakes td:first-child{color:var(--muted)}@media (width<=640px){table.stakes,table.stakes tr,table.stakes td,table.stakes th{width:100%;display:block}table.stakes tr{border-bottom:1px solid var(--line);padding:var(--s-2) 0}table.stakes td,table.stakes th{border:0;padding:2px 0}table.stakes td:first-child{font-size:var(--t-6);text-transform:uppercase;letter-spacing:.08em}}code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:var(--t-6);background:var(--mint);color:var(--know);padding:2px var(--s-2);border-radius:var(--r-s)}.reveal{gap:var(--s-2);display:grid}.reveal>div{border:1px solid var(--line);border-radius:var(--r-s);overflow:hidden}.reveal summary{cursor:pointer;padding:var(--s-3) var(--s-4);justify-content:space-between;align-items:center;gap:var(--s-3);min-height:40px;font-size:var(--t-5);color:var(--ink);background:var(--card);font-weight:600;list-style:none;display:flex}.reveal summary::-webkit-details-marker{display:none}.reveal summary:after{content:"+";color:var(--progress);font-weight:700}.reveal details[open] summary:after{content:"−"}.reveal .rv-body{padding:var(--s-3) var(--s-4);font-size:var(--t-5);border-top:1px solid var(--line)}.opts{gap:var(--s-2);margin:0 0 var(--s-4);display:grid}.opt{position:relative}.opt input{opacity:0;width:1px;height:1px;position:absolute}.opt-face{align-items:flex-start;gap:var(--s-3);border:1px solid var(--outline);background:var(--surface);border-radius:var(--r-m);padding:var(--s-2) var(--s-3);cursor:pointer;min-height:40px;font-size:var(--t-5);flex-wrap:wrap;display:flex}.opt-face:hover{background:var(--card)}.opt input:checked+.opt-face{border-color:var(--action);background:var(--card)}.box{border:2px solid var(--outline);background:var(--surface);border-radius:50%;flex:none;place-items:center;width:22px;height:22px;margin-top:1px;display:grid}.opt input[type=checkbox]+.opt-face .box{border-radius:var(--r-xs)}.box .glyph,.box .glyph-x{color:#fff;display:none}.opt input:checked+.opt-face .box{background:var(--action);border-color:var(--action)}.opt input:checked+.opt-face .box .glyph{display:block}.opt-text{flex:1 1 0;min-width:0}.mark{padding:2px var(--s-2);border-radius:var(--r-pill);font-size:var(--t-6);white-space:nowrap;flex:none;margin-left:auto;font-weight:700}.opt[data-state=got] input+.opt-face{border-color:var(--correct);background:var(--correct-tint)}.opt[data-state=got] input+.opt-face .box{background:var(--correct);border-color:var(--correct)}.opt[data-state=got] input+.opt-face .box .glyph{display:block}.opt[data-state=got] .mark{background:var(--correct-tint);color:var(--correct)}.opt[data-state=missed] input+.opt-face{border-color:var(--correct);background:var(--correct-tint);border-style:dashed}.opt[data-state=missed] .mark{background:var(--correct-tint);color:var(--correct)}.opt[data-state=wrong] input+.opt-face{border-color:var(--wrong);background:var(--wrong-tint)}.opt[data-state=wrong] input+.opt-face .box{background:var(--wrong);border-color:var(--wrong)}.opt[data-state=wrong] input+.opt-face .box .glyph{display:none}.opt[data-state=wrong] input+.opt-face .box .glyph-x{display:block}.opt[data-state=wrong] .mark{background:var(--wrong-tint);color:var(--wrong)}.opt[data-state=quiet] input+.opt-face{opacity:.7}.opt[data-state=quiet] .mark{background:var(--sidebar);color:var(--muted)}.actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.helper{font-size:var(--t-5);color:var(--muted)}.verdict{margin:0 0 var(--s-4);padding:var(--s-3) var(--s-4);border-radius:var(--r-m);border:1px solid var(--line);border-left:4px solid var(--line);background:var(--card)}.verdict h4{font-size:var(--t-5);margin:0 0 2px;font-weight:700}.verdict p{font-size:var(--t-5);margin:0}.verdict.ok{border-color:#8cc08f;border-left-color:var(--correct);background:var(--correct-tint)}.verdict.ok h4{color:var(--correct)}.verdict.no{border-color:#d9aaa4;border-left-color:var(--wrong);background:var(--wrong-tint)}.verdict.no h4{color:var(--wrong)}.verdict.care{border-color:var(--careful-line);border-left-color:var(--careful-fill);background:var(--careful-tint)}.verdict.care h4{color:var(--careful)}.numin{min-height:40px;padding:var(--s-2) var(--s-3);border:1px solid var(--outline);border-radius:var(--r-s);width:160px;font-size:var(--t-4)}.ladder{gap:var(--s-2);margin:0;padding:0;list-style:none;display:grid}.ladder li{align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-s);font-size:var(--t-5);display:flex}.ladder .rung-n{background:var(--mint);width:26px;height:26px;color:var(--know);font-size:var(--t-6);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.ladder b{color:var(--ink)}@media (width<=560px){.steps li{flex:1 1 0}}.fc-stack{margin:0 0 var(--s-6);position:relative}.fc-stack:before,.fc-stack:after{content:"";height:var(--s-8);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);position:absolute}.fc-stack:before{left:var(--s-3);right:var(--s-3);bottom:calc(var(--s-2) * -1);z-index:1}.fc-stack:after{left:var(--s-6);right:var(--s-6);bottom:calc(var(--s-4) * -1);z-index:0}.fc-stack[data-left="1"]:after,.fc-stack[data-left="0"]:before,.fc-stack[data-left="0"]:after{display:none}.fc{z-index:2;aspect-ratio:50/39;position:relative}.fc .headline{margin:0}.fc-a{margin-top:var(--s-4);padding-top:var(--s-4);border-top:1px solid var(--line-soft)}.fc-a .teaches,.fc .fig{margin:var(--s-3) 0 0}.fc .fig svg{max-height:calc(var(--s-8) * 7)}.fc:not([data-turned]) .fc-after,.fc[data-turned] .fc-before{display:none}.ans-order{margin:0 0 var(--s-4);gap:var(--s-2);padding:0;list-style:none;display:grid}.ans-order li{align-items:center;gap:var(--s-2);border:1px solid var(--outline);background:var(--surface);border-radius:var(--r-m);padding:var(--s-1) var(--s-2) var(--s-1) var(--s-3);min-height:44px;font-size:var(--t-5);display:flex}.ans-order li.dragging{opacity:.5}.ans-order .ans-grip{color:var(--muted);cursor:grab;display:flex}.ans-order .ans-txt{flex:auto}.ans-order .ans-arr{gap:var(--s-1);display:flex}.ans-order .ans-arr button{border:1px solid var(--line);background:var(--surface);border-radius:var(--r-s);cursor:pointer;width:36px;height:36px;color:var(--body);justify-content:center;align-items:center;padding:0;display:flex}.ans-order .ans-arr button:disabled{opacity:.35;cursor:default}.ans-order li[data-state=got]{border-color:var(--correct);background:var(--correct-tint)}.ans-order li[data-state=wrong]{border-color:var(--wrong);background:var(--wrong-tint)}.ans-order li[data-state] .ans-arr,.ans-order li[data-state] .ans-grip{display:none}.ans-order li[data-state=got] .mark{background:var(--correct-tint);color:var(--correct)}.ans-order li[data-state=wrong] .mark{background:var(--wrong-tint);color:var(--wrong)}@media (pointer:coarse){.ans-order .ans-arr button{width:44px;height:44px}}.ans-field{align-items:center;gap:var(--s-3);margin:0 0 var(--s-4);flex-wrap:wrap;display:flex}.ans-field label{width:100%;font-size:var(--t-5);color:var(--muted);display:block}.ans-unit{font-size:var(--t-4);color:var(--body)}.ans-text{min-height:40px;padding:var(--s-2) var(--s-3);border:1px solid var(--outline);border-radius:var(--r-s);width:280px;max-width:100%;font-size:var(--t-4)}.ans-field [data-state=got]{border-color:var(--correct);background:var(--correct-tint)}.ans-field [data-state=wrong]{border-color:var(--wrong);background:var(--wrong-tint)}.ans-field .mark{margin-left:0}.ans-field .mark.got{background:var(--correct-tint);color:var(--correct)}.ans-field .mark.wrong{background:var(--wrong-tint);color:var(--wrong)}.ans-long{width:100%;min-height:160px;font:inherit;padding:var(--s-3);border:1px solid var(--outline);border-radius:var(--r-s);font-size:var(--t-4);resize:vertical;margin:0 0 var(--s-2);line-height:1.5;display:block}.ans-long[readonly]{background:var(--card)}.ans-count{font-size:var(--t-6);color:var(--muted);margin:0 0 var(--s-4)}.ans-scheme{border-top:1px solid var(--line-soft);padding-top:var(--s-4);margin-top:var(--s-2)}.ans-scheme h4{margin:0 0 var(--s-1);font-size:var(--t-5);color:var(--ink)}.ans-scheme p.sub{margin:0 0 var(--s-3);font-size:var(--t-5);color:var(--muted)}.ans-points{margin:0 0 var(--s-4);gap:var(--s-2);padding:0;list-style:none;display:grid}.ans-points li+li{margin-top:0}.ans-points label{gap:var(--s-3);border:1px solid var(--outline);background:var(--surface);border-radius:var(--r-m);padding:var(--s-2) var(--s-3);cursor:pointer;min-height:44px;font-size:var(--t-5);align-items:flex-start;display:flex}.ans-points input{width:20px;height:20px;accent-color:var(--action);flex:none;margin:2px 0 0}.ans-points label:has(input:checked){border-color:var(--action)}.ans-self{border:1px solid var(--line);border-left:4px solid var(--action);border-radius:var(--r-m);background:var(--surface);padding:var(--s-3) var(--s-4);margin:0 0 var(--s-4)}.ans-self h4{font-size:var(--t-5);color:var(--ink);margin:0 0 2px}.ans-self p{font-size:var(--t-5);color:var(--muted);margin:0}.ans-model{margin:0 0 var(--s-4);font-size:var(--t-5)}.ans-model summary{cursor:pointer;color:var(--action);align-items:center;gap:var(--s-2);text-underline-offset:3px;min-height:44px;font-weight:600;text-decoration:underline;list-style:none;display:inline-flex}.ans-model summary::-webkit-details-marker{display:none}.ans-model[open] summary svg{transform:rotate(90deg)}.ans-model>div{border-left:3px solid var(--line);padding-left:var(--s-4)}.opt.opt-unsure{margin-top:var(--s-2)}.opt.opt-unsure .opt-text{color:var(--muted);font-style:italic}.ans-hint-link{align-items:center;gap:var(--s-2);min-height:44px;color:var(--action);font-size:var(--t-5);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline;display:inline-flex}.ans-hint-link .cost{color:var(--muted);font-weight:400}.ans-hint{gap:var(--s-3);border:1px solid var(--line);border-left:4px solid var(--action);border-radius:var(--r-m);background:var(--surface);padding:var(--s-3) var(--s-4);margin:0 0 var(--s-4);font-size:var(--t-5);align-items:flex-start;display:flex}.ans-hint svg{color:var(--ink);flex:none;margin-top:2px}.ans-hint b{color:var(--ink);display:block}.verdict p.used-line{margin-top:var(--s-2)}
