.game-shell{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:var(--gap);padding:var(--pad);padding-top:max(var(--pad),env(safe-area-inset-top));padding-bottom:max(var(--pad),env(safe-area-inset-bottom));padding-left:max(var(--pad),env(safe-area-inset-left));padding-right:max(var(--pad),env(safe-area-inset-right));overflow:hidden}
.topbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(6px,1vw,12px);min-width:0}
.brand{min-width:0;overflow:hidden}
.brand>b{display:block;font-weight:950;letter-spacing:.04em;font-size:clamp(15px,2vw,28px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand span{color:var(--accent)}
.level-tag{display:none}
.hud{display:flex;gap:clamp(4px,.7vw,8px);flex-wrap:nowrap;justify-content:center;min-width:0}
.hud-card{background:rgba(20,34,56,.88);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:6px 10px;min-width:0;flex:1 1 0;max-width:118px;text-align:center;box-shadow:var(--shadow);overflow:hidden}
.hud-card small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.12em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hud-card b{display:block;font-size:clamp(12px,1.4vw,16px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.game-main{display:grid;grid-template-columns:minmax(140px,250px) minmax(0,1fr) minmax(140px,220px);gap:var(--gap);min-height:0;min-width:0;align-items:stretch}
.side-panel{background:rgba(20,34,56,.86);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:clamp(10px,1.2vw,14px);box-shadow:var(--shadow);min-height:0;min-width:0;overflow:auto;overscroll-behavior:contain}
.board-wrap{min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:0}
.bottom-controls{display:flex;justify-content:center;gap:clamp(5px,.9vw,12px);min-width:0;flex-wrap:wrap}
.bottom-controls .btn{flex:1 1 0;min-width:0;max-width:230px;padding:10px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.toolbar{display:flex;gap:clamp(4px,.7vw,8px);align-items:center}
.toolbar .btn{padding:8px 10px;min-width:44px}
.pill{border-radius:999px;padding:5px 9px;background:#223753;color:var(--muted);font-size:12px}
