.micro{background:#fff8;padding:10px;border:2px dashed var(--ink)}
.array-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0}
.number-card{display:grid;grid-template-columns:1fr 46px 58px 46px;align-items:center;gap:8px;border:2px solid var(--ink);background:#fffdf7;padding:12px;box-shadow:4px 4px 0 var(--ink)}
.number-card span{font-weight:800}.number-card output{font:800 1.8rem "Fraunces",serif;text-align:center}
.nudge{width:46px;height:46px;border:2px solid var(--ink);background:var(--sun);font-size:1.4rem;cursor:pointer}
.meters{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}
.meter{display:grid;gap:7px;border:2px solid var(--ink);background:#d8f0df;padding:16px}.meter.hot{background:#ffe7bc}.meter strong{font:800 2.4rem "Fraunces",serif}.meter small{overflow-wrap:anywhere}
.step-tape{display:flex;flex-wrap:wrap;gap:5px;min-height:42px;padding:8px;border:2px dashed var(--muted);background:#fffdf7;margin-bottom:14px}
.tick{display:inline-grid;place-items:center;min-width:27px;height:27px;padding:0 5px;border:1px solid var(--ink);background:#e7f0f7;font-size:.77rem}.tick.negative{background:#ffe1d3}.tick.zero{background:#eee;color:var(--muted)}
.locked{border-style:dashed;opacity:.63}.locked.unlocked{border-style:solid;opacity:1}
fieldset{border:0;padding:0;margin:14px 0;display:grid;gap:10px}fieldset label{display:block;border:2px solid;padding:12px;background:#fffdf7;cursor:pointer}
.hint-btn{margin-top:10px}.duel{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.duel div{display:grid;gap:8px;border:2px solid var(--ink);padding:15px;background:#fffdf7}.duel code{font-size:1.05rem;font-weight:800}.duel span{font-size:.82rem}
.solution{margin-top:16px;padding:18px;border:3px solid var(--green);background:#e5f4e9;line-height:1.6}.solution li+li{margin-top:8px}.source-note{border-left:6px solid var(--blue);padding:10px;background:#fff}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:4px solid var(--blue);outline-offset:3px}
@media(max-width:820px){.array-controls{grid-template-columns:1fr}.meters{grid-template-columns:1fr}.number-card{grid-template-columns:1fr 46px 58px 46px}}
@media(max-width:560px){.duel{grid-template-columns:1fr}.number-card{grid-template-columns:1fr 42px 50px 42px}.nudge{width:42px;height:42px}.nav-bottom{flex-wrap:wrap}}
