:root{--input: #4da3ff;--hidden: #35e39b;--output: #ff5c8a;--bias: #ffc24d;--pos: #5ce1ff;--neg: #ff9440;--fwd: #eafcff;--back: #c77dff;--panel-w: 290px;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:#e9eeff;color-scheme:dark}@media(max-width:1100px){:root{--panel-w: 260px}}*{box-sizing:border-box}html,body{margin:0;height:100%;background:#070b18;overflow:hidden}@media(max-width:800px){html,body{height:auto;overflow:auto}}body{font-size:13px;line-height:1.45;-webkit-font-smoothing:antialiased}code,var,.mono,kbd{font-family:JetBrains Mono,ui-monospace,monospace;font-style:normal}code{font-size:.92em;color:#e9eeff;background:#8fb4ff1f;padding:1px 5px;border-radius:5px}kbd{font-size:11px;border:1px solid rgba(150,175,255,.13);border-radius:4px;padding:0 4px}.muted{color:#7d88aa}.hint{color:#7d88aa;font-size:12px;margin:10px 0 0}.grow{flex:1}.t-input,.c-input{color:#4da3ff}.t-hidden,.c-hidden{color:#35e39b}.t-output,.c-output{color:#ff5c8a}.t-bias,.c-bias{color:#ffc24d}.t-pos,.c-pos{color:#5ce1ff}.t-neg,.c-neg{color:#ff9440}#stage{position:fixed;inset:0}#stage canvas{display:block}@media(max-width:800px){#stage{position:relative;height:58vh}}.label-layer{position:absolute;inset:0;pointer-events:none}.hud{position:fixed;inset:0;pointer-events:none}.hud>*{pointer-events:auto;position:absolute}@media(max-width:800px){.hud{position:static;display:flex;flex-direction:column;gap:12px;padding:12px 16px 24px;pointer-events:auto}.hud>*{position:static;width:auto!important;transform:none!important}}.brand{top:18px;left:18px;pointer-events:none}.brand h1{margin:0;font-size:19px;font-weight:700;letter-spacing:-.01em}.brand p{margin:2px 0 0;color:#b3bddb}@media(max-width:800px){.brand{order:-2}.brand h1{font-size:17px}}.toolbar{top:18px;right:18px;display:flex;gap:8px}@media(max-width:800px){.toolbar{order:-1}}body.mode-training .inference-only,body.mode-inference .training-only{display:none}.panel{background:#0d1326bd;border:1px solid rgba(150,175,255,.13);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);border-radius:14px;padding:14px 16px;box-shadow:0 10px 40px #00000059}.panel h2{margin:0 0 10px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#7d88aa}.panel.left,.panel.right{width:var(--panel-w);animation:panel-in .5s cubic-bezier(.2,.8,.2,1)}@media(prefers-reduced-motion:reduce){.panel.left,.panel.right{animation:none}}.panel.left{top:84px;left:18px}.panel.right{top:66px;right:18px}@keyframes panel-in{0%{opacity:0;transform:translateY(8px)}}.btn{font:inherit;font-weight:600;color:#e9eeff;background:#8fb4ff1a;border:1px solid rgba(150,175,255,.13);border-radius:9px;padding:8px 12px;cursor:pointer;transition:background .15s,border-color .15s,transform .1s}.btn:hover:not(:disabled){background:#8fb4ff33;border-color:#8fb4ff59}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.primary{background:linear-gradient(180deg,#7fb0ff,#4d8dff);border-color:transparent;color:#061022}.btn.primary:hover:not(:disabled){background:linear-gradient(180deg,#92bdff,#5f99ff)}.btn.with-icon{display:inline-flex;align-items:center;justify-content:center;gap:7px;line-height:1.2;text-align:left}.btn .btn-icon{flex:none;width:1em;font-size:.85em;text-align:center}.btn .btn-icon[data-icon=play]{font-size:1.15em}.btn.ghost{background:transparent}.btn.wide{width:100%;margin-top:12px}.btn.chip{padding:4px 10px;font-size:14px}.btn:focus-visible,input:focus-visible{outline:2px solid #8fb4ff;outline-offset:2px}.btn-row{display:flex;gap:8px}.field{margin-top:14px}.field .hint{margin-top:4px}.field-head{display:flex;justify-content:space-between;color:#b3bddb;font-weight:500}.field-head output{font-family:JetBrains Mono,ui-monospace,monospace;color:#e9eeff}input[type=range]{width:100%;accent-color:#8fb4ff;margin:8px 0 0}.switch{background:#0d1326bd;border:1px solid rgba(150,175,255,.13);backdrop-filter:blur(10px) saturate(1.2);-webkit-backdrop-filter:blur(10px) saturate(1.2);border-radius:99px;display:flex;align-items:center;gap:6px;cursor:pointer;padding:6px 12px 6px 8px;color:#b3bddb}.switch input{appearance:none;position:relative;width:26px;height:15px;margin:0;border-radius:99px;background:#8fb4ff33;cursor:pointer;transition:background .2s}.switch input:after{content:"";position:absolute;top:2px;left:2px;width:11px;height:11px;border-radius:50%;background:#e9eeff;transition:transform .2s}.switch input:checked{background:#8fb4ff}.switch input:checked:after{transform:translate(11px)}.stat{margin-bottom:12px}.stat-head{display:flex;justify-content:space-between;align-items:baseline;color:#b3bddb}.stat-head small{color:#7d88aa}.stat-head b{font:600 17px JetBrains Mono,ui-monospace,monospace;color:#e9eeff}.progress{height:5px;margin-top:6px;border-radius:99px;background:#8fb4ff1f;overflow:hidden}.progress span{display:block;height:100%;width:0;background:#8fb4ff;border-radius:99px;transition:width .3s}.spark{display:block;width:100%;height:34px;margin-top:4px;cursor:crosshair}.spark-readout{display:block;height:14px;color:#7d88aa;font:11px JetBrains Mono,ui-monospace,monospace}.sample{display:grid;gap:6px;border-top:1px solid rgba(150,175,255,.13);padding-top:10px}.sample div{display:flex;justify-content:space-between;color:#b3bddb}.sample b{color:#e9eeff;font-weight:600}.sample i{font-style:normal}#sample-guess.ok{color:#35e39b}#sample-guess.bad{color:#ff5c8a}#pad{display:block;width:100%;aspect-ratio:1;margin-bottom:10px;border-radius:10px;border:1px dashed rgba(143,180,255,.3);background:radial-gradient(circle at 50% 40%,#121c38,#0a1124);touch-action:none;cursor:crosshair}.examples{display:flex;align-items:center;gap:6px;margin-top:10px;color:#7d88aa}.examples span{flex:1}.preview{display:flex;gap:12px;align-items:center;margin-top:12px;border-top:1px solid rgba(150,175,255,.13);padding-top:12px}.preview canvas{width:72px;height:72px;image-rendering:pixelated;border-radius:6px;flex:none}.preview p{margin:0;color:#7d88aa;font-size:12px}.preview b{display:block;color:#b3bddb}.pred-result{display:flex;align-items:center;gap:12px;min-height:56px}.pred-result b{font-size:24px}.pred-icon{font-size:34px;color:#ff5c8a;text-shadow:0 0 18px rgba(255,92,138,.6)}.bars{display:grid;gap:8px;margin:12px 0}.bar-row{display:grid;grid-template-columns:92px 1fr 46px;align-items:center;gap:8px;color:#b3bddb}.bar-row i{font-style:normal;margin-right:6px}.bar-row.win{color:#e9eeff;font-weight:600}.bar-row.win .bar-fill{background:#ff5c8a;box-shadow:0 0 10px #ff5c8a99}.bar-track{height:8px;background:#8fb4ff1a;border-radius:99px;overflow:hidden}.bar-fill{display:block;height:100%;width:0;background:#ff5c8a73;border-radius:99px;transition:width .6s cubic-bezier(.2,.8,.2,1)}.bar-val{text-align:right;font-family:JetBrains Mono,ui-monospace,monospace}.explain{margin:0;color:#b3bddb}.formulas{left:18px;bottom:18px;width:calc(var(--panel-w) + 30px)}.formulas dl{margin:0;display:grid;gap:3px}.formulas dl>div{display:grid;grid-template-columns:84px 1fr;gap:8px;padding:4px 8px;margin:0 -8px;border-radius:7px;color:#7d88aa;transition:background .25s,color .25s}.formulas dl>div.active{background:#8fb4ff29;color:#e9eeff}.formulas dt{font-weight:600}.formulas dd{margin:0;white-space:nowrap;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px}.formulas var{color:inherit}.formulas small{color:#7d88aa}@media(max-width:1100px){.formulas{display:none}}.legend{right:18px;bottom:18px;width:var(--panel-w);display:grid;grid-template-columns:repeat(3,auto);justify-content:space-between;gap:6px 12px;padding:10px 14px;color:#b3bddb;font-size:12px}.legend span{display:flex;align-items:center;gap:6px;white-space:nowrap}.legend .byline{position:absolute;right:14px;bottom:10px;color:#7d88aa}.legend .byline a{color:#8fb4ff}@media(max-width:1100px){.legend{display:none}}.dot{flex:none;width:10px;height:10px;border-radius:50%;background:var(--c);box-shadow:0 0 8px var(--c)}.dot.small{width:6px;height:6px}.dot.diamond{border-radius:1px;transform:rotate(45deg) scale(.85)}.line{flex:none;width:14px;height:3px;border-radius:2px;background:var(--c)}.caption{background:#0d1326bd;border:1px solid rgba(150,175,255,.13);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);left:50%;bottom:18px;transform:translate(-50%);width:min(640px,100vw - 2 * var(--panel-w) - 4 * 18px);border-radius:14px;padding:10px 16px 12px;box-shadow:0 10px 40px #00000059}@media(max-width:1100px){.caption{width:calc(100vw - 2 * var(--panel-w) - 4 * 18px)}}@media(max-width:800px){.caption{order:0}}#steps{list-style:none;display:flex;flex-wrap:wrap;gap:4px;margin:0 0 8px;padding:0}#steps li{display:flex;align-items:center;gap:5px;padding:3px 9px 3px 4px;border-radius:99px;color:#7d88aa;font-size:11.5px;font-weight:600;transition:background .25s,color .25s}#steps li span{display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#8fb4ff1f;font-size:10px}#steps li.active{background:#8fb4ff2e;color:#e9eeff}#steps li.active span{background:#8fb4ff;color:#061022}#caption-text{margin:0;min-height:42px;font-size:14px;color:#b3bddb}#caption-text b{color:#e9eeff}.label{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;white-space:nowrap;pointer-events:none}.layer-title{text-align:center}.layer-title b{display:block;font-size:11.5px;line-height:1.25;letter-spacing:.07em;text-transform:uppercase}.layer-title span{font-size:11.5px;color:#b3bddb}.l-input b{color:#4da3ff}.l-hidden b{color:#35e39b}.l-output b{color:#ff5c8a}.l-card b{color:#b3bddb}.bias-label{color:#ffc24d;font-size:11.5px;font-weight:600}.bias-label span{color:#7d88aa;font-weight:400}@media(max-width:800px){.layer-title span,.bias-label span{display:none}}.callout{font-size:11px;font-weight:600;color:#e9eeff;background:#0d1326b3;border:1px solid rgba(150,175,255,.13);border-radius:99px;padding:2px 9px}.output-label{display:flex;align-items:center;gap:7px;padding:4px 10px 4px 8px;border-radius:99px;background:#0d1326a6;border:1px solid rgba(150,175,255,.13);font-size:12.5px;transition:border-color .3s,box-shadow .3s}.output-label i{font-style:normal;color:#ff5c8a}.output-label em{font-style:normal;font-family:JetBrains Mono,ui-monospace,monospace;color:#b3bddb;min-width:42px;text-align:right}.output-label.win{border-color:#ff5c8a;box-shadow:0 0 16px #ff5c8a73}.output-label.win em{color:#e9eeff}.tooltip{position:fixed;z-index:10;max-width:290px;padding:10px 12px;pointer-events:none;background:#090e1ef0;border:1px solid rgba(143,180,255,.25);border-radius:10px;box-shadow:0 12px 40px #00000080}.tooltip h4{margin:0 0 4px;font-size:13px}.tooltip p{margin:3px 0 0;color:#b3bddb}.tooltip p.muted{color:#7d88aa;font-size:12px;margin-top:6px}
