:root{--ink:#3a2214;--paper:#f3ead6;--rust:#9a4520;--sage:#8f9c7a}
*{box-sizing:border-box}
body{margin:0;overflow:hidden;font-family:'DM Mono',monospace;color:var(--ink);background:#d9d4c2}
canvas{position:fixed;inset:0;width:100vw;height:100vh;display:block;cursor:crosshair;touch-action:none}
header{position:fixed;top:10px;left:0;right:0;text-align:center;pointer-events:none}
h1{font-family:'Fraunces',serif;font-weight:900;font-size:clamp(40px,9vw,104px);margin:0;letter-spacing:-2px;color:var(--rust);
  text-shadow:0 0 0 #000;-webkit-text-stroke:2px #f3ead6;paint-order:stroke fill}
.sub{margin:2px 12px;font-size:13px;background:rgba(243,234,214,.75);display:inline-block;padding:3px 10px;border-radius:20px}
#controls{position:fixed;left:12px;bottom:48px;width:min(300px,calc(100vw - 24px));background:var(--paper);border:1.5px solid var(--ink);
  border-radius:4px;padding:10px 12px;box-shadow:4px 4px 0 rgba(58,34,20,.35);font-size:12px;
  background-image:repeating-linear-gradient(0deg,transparent 0 21px,rgba(154,69,32,.08) 21px 22px)}
#controls.closed #panel{display:none}
.mini{all:unset;cursor:pointer;font-family:'Fraunces',serif;font-style:italic;font-weight:300;font-size:16px}
.count{margin:6px 0;letter-spacing:1px}
label{display:block;margin:6px 0}
input[type=range]{width:100%;accent-color:var(--rust)}
.chk input{accent-color:var(--rust)}
.row{display:flex;gap:8px;margin-top:8px}
.row button{flex:1;font-family:'Fraunces',serif;font-weight:900;font-size:16px;background:var(--rust);color:var(--paper);border:1.5px solid var(--ink);
  border-radius:3px;padding:7px 4px;cursor:pointer;transition:transform .25s}
#fewer{background:var(--paper);color:var(--ink)}
.row button:active{transform:translate(2px,2px)}
#tag{position:fixed;pointer-events:none;background:var(--paper);border:1.5px solid var(--ink);padding:4px 8px;font-size:12px;border-radius:3px;display:none;white-space:nowrap}
#ticker{position:fixed;left:0;right:0;bottom:0;height:28px;background:var(--ink);color:var(--paper);overflow:hidden;font-size:13px;line-height:28px}
#tickinner{white-space:nowrap;display:inline-block;padding-left:100%;animation:tick 120s linear infinite}
@keyframes tick{to{transform:translateX(-100%)}}
footer{position:fixed;bottom:34px;right:12px;font-size:12px;background:rgba(243,234,214,.8);padding:2px 8px;border-radius:3px}
footer a{color:var(--rust);font-weight:500}