:root{--accent:#f4bf6c}
*{box-sizing:border-box}body{margin:0;background:#0b1520;color:#edf5f5;font:16px/1.4 system-ui,sans-serif}main{max-width:560px;margin:auto;padding:20px 16px 30px}header{border-top:4px solid var(--accent);padding-top:14px}h1{font-size:32px;letter-spacing:-1.2px;margin:4px 0 10px}p{margin:9px 0}.eyebrow{color:var(--accent);font-size:11px;letter-spacing:2px;font-weight:800}.intro{color:#c0d0db;font-size:14px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0 12px}.stats>div{background:#172a38;border-radius:9px;padding:9px;font-size:11px;color:#b7cbd5}.stats strong{display:block;color:white;font-size:23px}.play{background:#101e2a;padding:12px;border:1px solid #304757;border-radius:14px}#detail{min-height:42px;font-size:14px;color:var(--accent);font-weight:700;margin:0 0 8px}.board{display:grid;gap:5px}.cell{min-width:0;height:52px;border:1px solid #3b5060;border-radius:8px;background:#1a2d3b;color:#d3e4ef;font:700 20px system-ui;position:relative;padding:0}.cell small{position:absolute;top:2px;left:5px;font-size:9px;font-weight:400;color:#9fb3c1}.cell.filled{background:#b77539;color:#fff1c9;border-color:#e4a855;box-shadow:inset 0 -5px #8d532c}.cell.wall{background:repeating-linear-gradient(45deg,#34404c 0 5px,#26313b 5px 10px);color:#bec5c9}.cell.dock{outline:2px dashed #f8d36f;outline-offset:-5px}.cell.legal{background:#244f46;border-color:#79dfb2}.cell.selected{outline:3px solid #fff;outline-offset:-3px}.cell.preview{box-shadow:inset 0 0 0 3px #9ce3f1;background:#285763}.cell.danger{box-shadow:inset 0 0 0 3px #ff968d;background:#683f41}.cell.color2{background:#277d7c;box-shadow:inset 0 -5px #175858;border-color:#70d3c5}.cell.color3{background:#76549e;box-shadow:inset 0 -5px #563b79;border-color:#b69ad6}.cell:disabled{opacity:1}button{cursor:pointer;touch-action:manipulation}button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #fff;outline-offset:2px}.controls{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.controls button,footer button{min-height:44px;flex:1;border:1px solid #55717e;border-radius:8px;background:#233d4b;color:#f4ffff;font:700 13px system-ui;padding:9px}button:disabled{opacity:.45;cursor:default}.controls button:first-child{background:var(--accent);color:#10202b;border-color:transparent}#notice{min-height:48px;font-size:14px;color:#d9e8ec;margin-bottom:0}#notice.won{color:#a5f0b7}#notice.lost{color:#ffaaa0}footer{display:flex;gap:10px;margin:12px 0}footer button{flex:initial;padding:10px 18px}footer label{font-size:12px;display:flex;align-items:center;gap:6px}input{width:80px;min-height:44px;background:#182e3b;border:1px solid #55717e;border-radius:6px;color:white;padding:8px}summary{min-height:44px;padding:12px 0;cursor:pointer;color:#b7cbd5;font-size:13px}details p,.keyhelp{font-size:12px;color:#9baebc}.legend{font-size:12px;color:#aabecb;margin:8px 0}.tower .cell{height:44px}.tower h1{font-size:30px}.tower main{padding-top:14px}.tower .stats{margin:12px 0}.tower .intro{font-size:13px}@media(max-width:350px){main{padding:12px 10px}.cell{height:48px}}
.play{padding:9px}.board{gap:3px}.cell{height:46px;border-radius:12px}.cell.alternate{border:2px dotted #d3ad75}.cell.preview{border:2px solid #a3eff0}.controls button{flex-basis:28%}
.cell{height:65px}.controls button{flex-basis:28%}
.cell{height:54px}.cell span{font-size:19px}.controls button{flex-basis:22%;font-size:12px}