:root{--red:#B22222;--cream:#FFF4D6;--hay:#E8C547;--wood:#6B4423}
*{box-sizing:border-box}
body{margin:0;background:repeating-linear-gradient(90deg,#3b2414 0 40px,#43291a 40px 80px);color:var(--cream);font-family:'Courier Prime',monospace;min-height:100vh}
.marquee{text-align:center;padding:12px;background:repeating-linear-gradient(90deg,var(--red) 0 30px,var(--cream) 30px 60px);border-bottom:6px solid var(--hay)}
.marquee h1{margin:0;font-family:'Rye',serif;font-size:clamp(28px,6vw,56px);color:var(--cream);text-shadow:3px 3px 0 var(--red),5px 5px 0 #000;display:inline-block;background:var(--wood);padding:4px 18px;border-radius:12px}
.marquee p{margin:6px auto 0;background:#000a;display:inline-block;padding:2px 10px;border-radius:6px;font-weight:700}
main{display:flex;gap:16px;justify-content:center;padding:14px;flex-wrap:wrap}
.board-wrap{flex:0 1 600px}
canvas{width:100%;max-width:600px;height:auto;border:8px solid var(--wood);border-radius:14px;box-shadow:0 10px 30px #000a;touch-action:none;display:block}
#controls{flex:0 1 280px;min-width:260px;background:var(--cream);color:var(--wood);border-radius:14px;padding:14px;border:4px solid var(--red);box-shadow:0 8px 0 #0006;align-self:flex-start}
.balance{font-family:'Bungee';font-size:34px;text-align:center;color:var(--red)}
.group{margin:10px 0}.group label{font-family:'Bungee';font-size:13px;display:block;margin-bottom:4px}
.row{display:flex;gap:6px;flex-wrap:wrap}
.chip{font-family:'Bungee';border:3px solid var(--wood);background:#fff;color:var(--wood);border-radius:10px;padding:8px 12px;cursor:pointer;box-shadow:0 3px 0 var(--wood);flex:1}
.chip.on{background:var(--hay)}
.chip:active{transform:translateY(3px);box-shadow:none}
.big{width:100%;font-family:'Rye';font-size:30px;background:radial-gradient(circle at 40% 30%,#ff5a5a,var(--red));color:var(--cream);border:4px solid #6b0f0f;border-radius:16px;padding:12px;margin:8px 0;cursor:pointer;box-shadow:0 7px 0 #6b0f0f}
.big:active{transform:translateY(6px);box-shadow:0 1px 0 #6b0f0f}
ul{list-style:none;padding:0;margin:0;font-size:13px;max-height:130px;overflow:auto}
li{padding:3px 0;border-bottom:1px dashed #6b442355}
.stats{font-size:12px;margin-top:8px}
#toast{position:fixed;top:40%;left:50%;transform:translate(-50%,-50%) scale(0);background:var(--red);color:var(--cream);font-family:'Rye';font-size:28px;padding:18px 26px;border-radius:16px;border:4px solid var(--hay);transition:transform .3s;text-align:center;z-index:9;pointer-events:none;max-width:90vw}
#toast.show{transform:translate(-50%,-50%) scale(1)}
footer{text-align:center;padding:14px;font-size:13px}footer a{color:var(--hay)}