*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;min-width:0;font:16px/1.5 system-ui,sans-serif;background:radial-gradient(ellipse at 15% 0%,hsl(260 34% 21%),#10141e 65%);color:#f3f4fb}main{width:min(100%,540px);margin:auto;padding:20px 16px 40px}header{border-top:3px solid var(--accent);padding-top:14px}.kicker{font-size:12px;letter-spacing:.18em;color:var(--accent);text-transform:uppercase}h1{font-size:clamp(25px,7vw,37px);line-height:1.1;margin:10px 0 15px;overflow-wrap:anywhere}p{margin:12px 0}#rules{color:#d1d9e5;font-size:14px}.hud{background:#0a101a99;border:1px solid #ffffff20;border-radius:15px;padding:12px;margin:18px 0}#status{color:var(--accent);font-weight:800;letter-spacing:.12em}#detail{font-size:13px;color:#cad3df;margin-top:6px}#board{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:5px;background:#060b13aa;padding:6px;border-radius:16px;border:1px solid #ffffff20}button{font:inherit;color:inherit;min-height:48px;min-width:44px;border:1px solid #526377;border-radius:10px;background:#233246;padding:8px;cursor:pointer;touch-action:manipulation;overflow-wrap:anywhere}button:hover{filter:brightness(1.15)}button:focus-visible{outline:3px solid #fff;outline-offset:2px}button:disabled{cursor:default;opacity:.8}.tile{padding:4px;font-size:18px;white-space:pre-line;aspect-ratio:1;background:linear-gradient(135deg,#1f2939,#111c2b)}.tile.piece{background:linear-gradient(145deg,hsl(260 45% 34%),hsl(260 35% 20%));border-color:var(--accent);box-shadow:inset 0 2px #ffffff20}.tile.player{background:#346454;border-color:#b5f8d9}.tile.hot{background:#662d47;border-color:#ffa3b9}.shafts .tile{min-height:130px;aspect-ratio:auto;font-size:12px;line-height:1.7}#controls{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}#controls button{flex:1 1 110px}#restart{width:100%;margin-top:12px;background:var(--accent);color:#10141c;font-weight:800}#feedback{min-height:42px;font-size:13px;color:#ccdbeb}footer{font-size:12px;color:#aab9cb;margin-top:20px}details{margin-top:16px;font-size:13px}summary{min-height:44px;cursor:pointer;padding:10px 0}@media(max-width:350px){main{padding:14px 10px 30px}.tile{min-width:44px}#board{gap:3px;padding:4px}.shafts .tile{font-size:11px;padding:2px}h1{font-size:27px}}:root{--accent:hsl(260 70% 74%)}