:root{--bg: #f6f5f1;--panel: #ffffff;--ink: #1d1d1b;--muted: #6b6a65;--line: #dcdad3;--food: 46, 125, 50;--forager: #c2410c;--random: #1d4ed8;--reflex: #ca8a04;--learner: #db2777;--enforcer: #0f766e;--sel: #000;--warn: #b45309}@media (prefers-color-scheme: dark){:root{--bg: #151514;--panel: #1f1f1d;--ink: #ecebe6;--muted: #9a9890;--line: #33322f;--food: 102, 187, 106;--forager: #fb923c;--random: #60a5fa;--reflex: #facc15;--learner: #f472b6;--enforcer: #2dd4bf;--sel: #fff;--warn: #fbbf24}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.45 ui-sans-serif,system-ui,-apple-system,sans-serif}header{padding:12px 16px;border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}header h1{font-size:15px;margin:0;font-weight:600}.muted{color:var(--muted);font-size:12px}.badge{font-size:11px;padding:1px 8px;border-radius:999px;border:1px solid var(--warn);color:var(--warn)}.badge.kernel{border-color:rgb(var(--food));color:rgb(var(--food))}.hash{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}main{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;padding:16px}@media (max-width: 820px){main{grid-template-columns:1fr}}.stage{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:8px}.stage canvas{width:100%;height:auto;image-rendering:pixelated;display:block;cursor:crosshair}.worlds{display:grid;grid-template-columns:1fr;gap:8px}.stage.split .worlds{grid-template-columns:1fr 1fr}.worlds figure{margin:0}.worlds figcaption{font-size:12px;color:var(--muted);margin-top:4px;font-variant-numeric:tabular-nums}.compare{width:100%;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums;margin:6px 0}.compare th,.compare td{text-align:right;padding:2px 4px;border-top:1px solid var(--line)}.compare th:first-child,.compare td:first-child{text-align:left;color:var(--muted)}.compare th{color:var(--muted);font-weight:600;border-top:none}.hint.ok{color:rgb(var(--food))}.hint.bad{color:#dc2626}.tour{border-color:var(--forager)}.steps{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.steps li{display:flex;gap:8px;align-items:flex-start;opacity:.6}.steps li.current,.steps li.done{opacity:1}.steps li p{margin:2px 0 0}.steps .mark{flex:none;width:18px;height:18px;border-radius:50%;border:1px solid var(--line);font-size:11px;display:inline-flex;align-items:center;justify-content:center;margin-top:1px}.steps li.done .mark{background:rgb(var(--food));border-color:rgb(var(--food));color:#fff}.steps li.current .mark{border-color:var(--forager);color:var(--forager)}button.link{border:none;background:none;padding:0;color:var(--muted);text-decoration:underline;cursor:pointer;font-size:12px}.tour-toggle{margin:6px 0 0}.controls{display:flex;gap:8px;align-items:center;margin-top:8px;flex-wrap:wrap}.controls input[type=range]{flex:1;min-width:120px}.tick{font-variant-numeric:tabular-nums;min-width:80px}.goto{width:90px;font:inherit;padding:4px 6px;border:1px solid var(--line);border-radius:4px;background:var(--bg);color:var(--ink)}button,select{font:inherit;padding:4px 10px;border:1px solid var(--line);border-radius:4px;background:var(--bg);color:var(--ink);cursor:pointer}aside{display:flex;flex-direction:column;gap:12px}.card{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:10px 12px}.card h2{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 6px;font-weight:600}.card.placeholder{border-style:dashed}.card h2.sub{margin-top:10px}.row{display:flex;gap:8px;align-items:center}.row select{flex:1}.hint{margin:6px 0}.fields{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;margin:6px 0}.fields label{display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--muted)}.fields input,.fields select{font:inherit;padding:3px 6px;border:1px solid var(--line);border-radius:4px;background:var(--bg);color:var(--ink);width:100%}.history{margin:0;padding-left:0;list-style:none;font-size:12px;font-variant-numeric:tabular-nums}.history li{padding:2px 0;border-top:1px solid var(--line)}.history .when{color:var(--muted);margin-right:6px}.rates{margin-left:auto;font-variant-numeric:tabular-nums}.card.error{border-color:#dc2626;color:#dc2626}dl{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;margin:0;font-variant-numeric:tabular-nums}dt{color:var(--muted)}dd{margin:0;text-align:right}.spark{width:100%;height:60px;display:block}.legend{margin:6px 0 0;color:var(--muted);font-size:12px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin:0 4px 0 6px}.dot.forager{background:var(--forager)}.dot.random{background:var(--random)}.dot.reflex{background:var(--reflex)}.dot.learner{background:var(--learner)}.curves{width:100%;height:230px;display:block}.row.compare-row button{white-space:nowrap}.row.compare-row select{flex:1 1 auto;min-width:0}footer{padding:8px 16px 16px}:root{--xfer: #0e7490;--harm: #dc2626;--sig: #a21caf}@media (prefers-color-scheme: dark){:root{--xfer: #22d3ee;--harm: #f87171;--sig: #e879f9}}.mark{display:inline-block;width:10px;height:10px;margin:0 4px -1px 6px;box-sizing:border-box}.mark.xfer{width:12px;height:0;border-top:2px solid var(--xfer);margin-bottom:3px}.mark.harm{position:relative;width:9px;height:9px}.mark.harm:before,.mark.harm:after{content:"";position:absolute;left:-1px;top:3.5px;width:11px;border-top:2px solid var(--harm);transform:rotate(45deg)}.mark.harm:after{transform:rotate(-45deg)}.mark.sig{border:2px solid var(--sig);border-radius:50%}.pick{display:inline-flex;gap:4px;align-items:baseline}.pick select{padding:1px 6px;font-size:12px}.history li .what{color:var(--ink)}.history.memory li{border-top-color:transparent;padding:1px 0}.history .who{color:var(--muted);margin-right:6px;white-space:nowrap}.history.thread li,.history.deals li{display:flex;flex-wrap:wrap;gap:0 6px;align-items:baseline}.history.thread .when,.history.deals .when{flex:none;min-width:58px;margin-right:0}.history .what{flex:1 1 160px}.pill{flex:none;font-size:10px;line-height:1.4;padding:0 6px;border-radius:999px;border:1px solid var(--line);color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.pill.ok{border-color:rgb(var(--food));color:rgb(var(--food))}.pill.bad{border-color:#dc2626;color:#dc2626}.pill.open{border-color:var(--warn);color:var(--warn)}.partners{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin:6px 0}.partners button{padding:1px 8px;font-size:12px}.partners button.on{border-color:var(--ink);font-weight:600}.partners .goto{width:70px;padding:2px 6px;font-size:12px}dd.qrow{text-align:left;grid-column:1 / -1;font-size:12px;color:var(--muted)}:root{--accused: #d97706;--sanction: #7c3aed}@media (prefers-color-scheme: dark){:root{--accused: #fcd34d;--sanction: #a78bfa}}.badge.inst{border-color:var(--sanction);color:var(--sanction)}.mark.accused{width:9px;height:9px;border:1.5px solid var(--accused)}.mark.harmable{width:9px;height:9px;border:1.5px solid var(--sanction)}.mark.sanction:before,.mark.sanction:after{border-top-color:var(--sanction);border-top-width:2.5px}.fields label.check{flex-direction:row;align-items:center;gap:6px;justify-content:flex-start;align-self:end;padding-bottom:3px}.fields label.check input{width:auto}button.link.id{color:var(--ink);text-decoration:none;font-variant-numeric:tabular-nums}button.link.id:hover{text-decoration:underline}.curves.norms{height:260px}dl .pair{display:contents}.history.rules li{padding:3px 0}.pick input[type=checkbox]{margin:0 2px 0 0;vertical-align:-1px}
