:root{--bg:#0e0e0e;--panel:#171717;--line:#2a2a2a;--txt:#e8e4da;--dim:#7a776f;--acc:#d7ff3a}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--txt);font-family:'Martian Mono',monospace;font-size:12px}
body{background-image:radial-gradient(circle at 15% -10%,#2a1d14 0,transparent 45%),radial-gradient(circle at 110% 110%,#132622 0,transparent 40%),linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px);background-size:auto,auto,24px 24px,24px 24px;min-height:100vh}
.disp{font-family:'Unbounded',sans-serif}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:4px}
.btn{border:1px solid var(--line);border-radius:4px;padding:4px 8px;background:#1d1d1d;color:var(--txt);cursor:pointer;transition:.12s}
.btn:hover{border-color:#555}
.btn.on{background:var(--acc);color:#111;border-color:var(--acc)}
input,select,textarea{background:#101010;border:1px solid var(--line);color:var(--txt);border-radius:4px;padding:3px 6px;font-family:inherit;font-size:11px}
input[type=range]{padding:0;accent-color:var(--acc);width:100%}
.cell{border-radius:2px;border:1px solid #262626;cursor:pointer;user-select:none;touch-action:none}
@keyframes pulse{0%,100%{filter:brightness(1)}50%{filter:brightness(1.5)}}
.pulse{animation:pulse .5s infinite}
@keyframes flashy{from{box-shadow:0 0 0 3px var(--fc)}to{box-shadow:0 0 0 0 transparent}}
.flash{animation:flashy .7s ease-out}
@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.rise{animation:rise .4s both}
.scroll::-webkit-scrollbar{height:6px;width:6px}.scroll::-webkit-scrollbar-thumb{background:#333}
a{color:var(--acc)}
.excard{cursor:pointer;transition:.15s}.excard:hover{border-color:var(--acc);transform:translateY(-2px)}