@font-face{font-family:Recursive Variable;font-style:oblique 0deg 15deg;font-display:swap;font-weight:300 1000;src:url(/assets/recursive-cyrillic-ext-full-normal-DL48ug1z.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Recursive Variable;font-style:oblique 0deg 15deg;font-display:swap;font-weight:300 1000;src:url(/assets/recursive-vietnamese-full-normal-C9d0lu7G.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Recursive Variable;font-style:oblique 0deg 15deg;font-display:swap;font-weight:300 1000;src:url(/assets/recursive-latin-ext-full-normal-Ced8ljaz.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Recursive Variable;font-style:oblique 0deg 15deg;font-display:swap;font-weight:300 1000;src:url(/assets/recursive-latin-full-normal-Bbk0y8ID.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--pad:#e6efe1;--pad-deep:#d6e3cf;--grid:#5c8c6429;--sheet:#fbfdf9;--graphite:#2f3237;--graphite-soft:#5b6157;--ink:#2448c8;--ink-soft:#e3e9fb;--mark:#f2d43c;--red:#c8362c;--line:#b9cbb2;--radius:6px;--font:"Recursive Variable", system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);color:var(--graphite);background-color:var(--pad);background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);font-variation-settings:"CASL" 0, "MONO" 0;background-size:24px 24px;margin:0;font-size:1.0625rem;line-height:1.55}h1,h2,h3{font-variation-settings:"CASL" 1;margin:0 0 .5em;font-weight:700;line-height:1.15}h1{letter-spacing:-.02em;font-size:clamp(2.3rem,5.4vw,4.1rem);font-weight:800}h2{font-size:1.45rem}h3{font-size:1.1rem}a{color:var(--ink);text-underline-offset:3px}.num{font-variation-settings:"MONO" 1, "CASL" 0;font-variant-numeric:tabular-nums}.nowrap{white-space:nowrap}.muted{color:var(--graphite-soft)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{background:var(--sheet);z-index:10;padding:8px 12px;position:absolute;top:8px;left:-999px}.skip:focus{left:8px}:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.top{justify-content:space-between;align-items:center;gap:16px;padding:14px clamp(16px,4vw,40px);display:flex}.brand{color:var(--graphite);font-variation-settings:"CASL" 1;align-items:center;gap:10px;font-size:1.3rem;font-weight:800;text-decoration:none;display:inline-flex}.brand-mark{fill:none;width:34px;height:34px;stroke:var(--graphite);stroke-width:2.4px;stroke-linecap:round}.top nav{gap:18px;font-size:.98rem;display:flex}.top nav a{color:var(--graphite)}.btn{border:2px solid var(--graphite);border-radius:var(--radius);background:var(--sheet);min-height:44px;color:var(--graphite);font:inherit;cursor:pointer;box-shadow:2px 2px 0 var(--graphite);align-items:center;gap:8px;padding:9px 16px;font-weight:650;transition:transform 80ms,box-shadow 80ms;display:inline-flex}.btn svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.btn:hover:not(:disabled){box-shadow:3px 3px 0 var(--graphite);transform:translate(-1px,-1px)}.btn:active:not(:disabled){box-shadow:0 0 0 var(--graphite);transform:translate(2px,2px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--ink);border-color:var(--ink);color:#fff;box-shadow:2px 2px #13286f}.btn-primary:hover:not(:disabled){box-shadow:3px 3px #13286f}.btn-primary .i-play{fill:currentColor}.btn-primary.is-running .i-play{display:none}.btn:focus-within{outline:3px solid var(--ink);outline-offset:2px}.linkish{font:inherit;color:var(--ink);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}main{padding:0 clamp(16px,4vw,40px) 40px}.home{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center;gap:clamp(20px,4vw,56px);padding-top:clamp(8px,3vw,36px);display:grid}.hero-copy{max-width:34rem}.lede{margin:0 0 1.4em;font-size:1.2rem}.actions{flex-wrap:wrap;gap:12px;display:flex}.fine{color:var(--graphite-soft);max-width:32rem;margin-top:1.2em;font-size:.95rem}.home-error{color:var(--red);font-weight:600}.hero-figure{margin:0;position:relative}.hero-figure canvas,.stage-wrap canvas{width:100%;height:auto;box-shadow:0 1px 0 var(--line), 0 18px 40px -22px #1e321e8c;background:#fff;border-radius:4px;display:block}.hero-figure{transform:rotate(.6deg)}.hero-figure figcaption{color:var(--graphite-soft);font-variation-settings:"CASL" 1;margin-top:10px;font-size:.92rem}.samples{grid-column:1/-1;margin-top:clamp(8px,2vw,20px)}.sample-list{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.sample{cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;background:0 0;border:0;padding:0}.sample img{border-radius:3px;width:100%;height:auto;transition:transform .12s;display:block;box-shadow:0 8px 18px -12px #1e321eb3}.sample span{margin-top:6px;font-size:.97rem;font-weight:600;display:block}.sample:hover img,.sample:focus-visible img{transform:rotate(-1deg)translateY(-2px)}.how{max-width:72rem;margin-top:clamp(36px,6vw,72px)}.steps{counter-reset:step;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:0;padding:0;list-style:none;display:grid}.steps li{counter-increment:step;background:var(--sheet);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px}.steps li:before{content:counter(step);border:2px solid var(--graphite);font-variation-settings:"CASL" 1;border-radius:50%;place-items:center;width:30px;height:30px;margin-bottom:10px;font-weight:800;display:inline-grid}.steps p{margin:0;font-size:.98rem}.how-foot{margin-top:18px}.pad-head p{color:var(--graphite-soft);margin:0 0 12px}.pad-tools{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.tool{border:1.5px solid var(--graphite);background:var(--sheet);min-height:40px;font:inherit;cursor:pointer;border-radius:999px;padding:6px 14px;font-weight:600}.tool[aria-pressed=true]{background:var(--graphite);color:var(--sheet)}.spacer{flex:1}.pad-surface{max-width:1100px;position:relative}.pad-surface canvas{touch-action:none;cursor:crosshair;border-radius:4px;width:100%;height:auto;display:block;box-shadow:0 18px 40px -22px #1e321e8c}.pad-label{font:inherit;border:2px solid var(--ink);background:#fff;border-radius:4px;width:9rem;padding:4px 8px;font-size:1.1rem;position:absolute;transform:translateY(-50%)}.lab{grid-template-columns:minmax(0,1fr) minmax(300px,400px);align-items:start;gap:clamp(16px,3vw,32px);padding-top:8px;display:grid}.stage-wrap{position:relative}.stage-wrap canvas{cursor:pointer;touch-action:manipulation}.stage-wrap.is-predicting canvas{cursor:crosshair;outline:4px solid var(--mark);outline-offset:3px}.scan{pointer-events:none;background:#2448c80d;border-radius:4px;position:absolute;inset:0;overflow:hidden}.scan-line{background:var(--ink);height:3px;animation:2.2s ease-in-out infinite alternate scan;position:absolute;left:0;right:0;box-shadow:0 0 18px 6px #2448c859}@keyframes scan{0%{top:0}to{top:calc(100% - 3px)}}.stage-status{min-height:1.6em;margin:12px 0 8px;font-weight:600}.stage-status[data-tone=error]{color:var(--red)}.controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.toggle{cursor:pointer;align-items:center;gap:6px;min-height:44px;font-size:.95rem;display:inline-flex}.toggle input{width:18px;height:18px;accent-color:var(--ink)}#predict[aria-pressed=true]{background:var(--mark)}.readouts{background:var(--sheet);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:auto minmax(0,1fr);gap:12px 24px;margin-top:18px;padding:14px 16px;display:grid}.clock{font-size:2rem;font-weight:700;line-height:1}.energy-bar{background:var(--pad-deep);border-radius:3px;height:16px;display:flex;overflow:hidden}.energy-bar span{height:100%;display:block}.energy-key{flex-wrap:wrap;gap:4px 16px;margin:8px 0 0;padding:0;font-size:.88rem;list-style:none;display:flex}.energy-key i{border-radius:2px;width:10px;height:10px;margin-right:6px;display:inline-block}.graph{grid-column:1/-1}.graph canvas{width:100%;height:auto;display:block}.graph-label{margin:4px 0 0;font-size:.9rem}.sheet{background:var(--sheet);border:1px solid var(--line);border-radius:var(--radius);max-height:calc(100vh - 24px);padding:18px 18px 20px;font-size:.97rem;position:sticky;top:12px;overflow:auto}.sheet h2{color:var(--ink)}.sheet h3{margin-top:1.3em}.what{color:var(--ink);font-variation-settings:"CASL" 1;margin:0 0 4px;font-size:1.05rem}.meta{color:var(--graphite-soft);margin:0 0 14px;font-size:.88rem}table.objects{border-collapse:collapse;width:100%;margin:10px 0 6px;font-size:.9rem}table.objects caption{text-align:left;padding-bottom:4px;font-weight:700}table.objects th,table.objects td{text-align:left;vertical-align:top;border-top:1px solid var(--line);padding:6px 4px}table.objects thead th{color:var(--graphite-soft);border-top:0;font-size:.8rem;font-weight:600}table.objects tbody th small{color:var(--ink);font-variation-settings:"CASL" 1;font-weight:400;display:block}table.objects input{width:4.6rem;min-height:34px;font:inherit;font-variation-settings:"MONO" 1;border:1.5px solid var(--line);background:#fff;border-radius:4px;padding:3px 6px}table.objects input:focus{border-color:var(--ink)}.kind{border:2px solid var(--graphite);width:10px;height:10px;margin-right:6px;display:inline-block}.kind-ball{border-radius:50%}.tag{background:var(--pad-deep);width:fit-content;color:var(--graphite-soft);border-radius:3px;margin-top:2px;padding:0 5px;font-size:.72rem;display:block}.tag-read{background:var(--ink-soft);color:var(--ink)}.scale-row .tag{margin-left:6px;display:inline-block}.fixed-list{margin:6px 0}.scale-row{margin:10px 0}.scale-row input{width:5rem;min-height:34px;font:inherit;border:1.5px solid var(--line);border-radius:4px;padding:3px 6px}.notes{margin:0;padding-left:1.1em}.notes li{margin-bottom:6px}.notes li[data-level=problem]{color:var(--red)}.checks .check{border:1.5px solid var(--ink);border-radius:var(--radius);background:var(--ink-soft);margin-bottom:10px;padding:10px 12px}.check p{margin:0 0 4px}.check-title{font-weight:700}.formula{font-variation-settings:"CASL" 1;font-size:1.15rem}.measured{color:var(--red);font-weight:600}.check-guess{background:#fbf1b8!important;border-color:#b59a00!important}.raw{margin-top:16px}.raw summary{cursor:pointer;font-weight:600}.raw pre{font-variation-settings:"MONO" 1;background:#f1f4ef;border-radius:4px;max-height:320px;padding:10px;font-size:.78rem;overflow:auto}.sheet-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.foot{color:var(--graphite-soft);padding:22px clamp(16px,4vw,40px) 36px;font-size:.9rem}@media (width<=900px){.home,.lab{grid-template-columns:minmax(0,1fr)}.hero-figure{order:-1}.sheet{max-height:none;position:static}.steps,.readouts{grid-template-columns:minmax(0,1fr)}}@media (width<=520px){.top nav a[href=\#how],.controls .spacer,table.objects thead{display:none}table.objects tr{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;padding:6px 0;display:grid}table.objects th,table.objects td{border:0}table.objects tbody th{grid-column:1/-1}table.objects td[data-label]:before{content:attr(data-label);color:var(--graphite-soft);font-size:.78rem;display:block}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation-duration:.01ms!important}}.report{max-width:76rem}.report section{margin-bottom:36px}.report-intro p{max-width:48rem}.table-wrap{background:var(--sheet);border:1px solid var(--line);border-radius:var(--radius);padding:4px 12px;overflow-x:auto}.report-table{font-size:.95rem}.report-table td{white-space:nowrap}.tested li{max-width:54rem;margin-bottom:10px}.legend{align-items:center;gap:10px;display:flex}.sw{border-top:4px solid;width:28px;height:0;display:inline-block}.sw-truth{border-top:4px dashed #1f7a3f}.sw-ai{border-color:var(--ink);margin-left:12px}.gallery{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;display:grid}.case{background:var(--sheet);border:1px solid var(--line);border-radius:var(--radius);margin:0;padding:8px}.case canvas{border-radius:3px;width:100%;height:auto;display:block}.case figcaption{padding:8px 4px 2px;font-size:.88rem}.case figcaption ul{margin:6px 0 0;padding-left:1.1em}.case-fail strong{color:var(--red)}.case-pass strong{color:#1f7a3f}.report select{font:inherit;min-height:40px;margin:0 16px 0 6px}code{font-variation-settings:"MONO" 1;font-size:.95em}
