/* v178: compact tactile controls, local vector props, safe-area aware touch play. */
.hg-arena button,.hg-arena a,.hg-arena select{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.hg-arena canvas{touch-action:none;user-select:none;-webkit-user-select:none}
.hg-arena button:focus-visible,.hg-arena canvas:focus-visible{outline:3px solid #73e6cc;outline-offset:3px}
.hg-arena button{transition:transform .13s ease,filter .13s ease,box-shadow .13s ease}
.hg-arena button:active{transform:translateY(2px) scale(.98);filter:brightness(.95)}
.hg-arena .hg-controls button,.hg-arena .sg-controls button,.hg-arena .iq-controls button,.hg-arena .sr-controls button,.hg-arena .hr-controls button,.hg-arena .cd-controls button{min-width:44px;min-height:44px;border-radius:14px;box-shadow:inset 0 1px 0 #ffffff30,0 4px 0 #00000025,0 6px 14px #00000022;touch-action:none}
.hg-arena input[type=range]{min-height:44px;touch-action:none;accent-color:#65d9c0}
#hg-music{white-space:nowrap;min-height:38px}
.ld-dice svg{width:100%;height:100%;filter:drop-shadow(0 5px 2px #00000025)}
.hg-sea-grid{background:linear-gradient(145deg,#153852,#0a263f);padding:5px;border:1px solid #79dfff38;border-radius:16px;box-shadow:inset 0 2px 10px #0005,0 8px 20px #0002;gap:3px}
.hg-sea-cell{position:relative;aspect-ratio:1;border-radius:7px!important;background:linear-gradient(135deg,#205775,#163d5b)!important;border:1px solid #6ccde536!important;box-shadow:inset 0 1px 0 #8cdbed22}
.hg-sea-cell.ship{background:linear-gradient(145deg,#3e6d86,#28445e)!important}
.hg-sea-cell.hit{background:radial-gradient(circle,#e36435,#692d32)!important}
.hg-sea-cell svg{display:block;width:100%;height:100%;pointer-events:none;filter:drop-shadow(0 2px 1px #0005)}
.hg-sea-cell.miss{background:#10344f!important}.sea-ripple{position:absolute;inset:25%;border:2px solid #bdeaff;border-radius:50%;box-shadow:0 0 0 4px #70c8e229}
.hg-sea-cell:not(:disabled):hover{border-color:#91ebff!important;filter:brightness(1.3)}
#hg-tic{padding:14px;background:radial-gradient(ellipse at top,#244b64,#112333);border-radius:22px;box-shadow:inset 0 1px 1px #9fefff40,0 14px 32px #0003;gap:9px}
#hg-tic button{border-radius:15px;background:linear-gradient(150deg,#315d75,#18394e);box-shadow:inset 0 2px 0 #a5edff25,0 5px 0 #081b2a;color:#8ff1dc;text-shadow:0 3px 0 #15374a,0 0 20px #62ffd844}
.ws-board,.ws-stage{filter:drop-shadow(0 8px 10px #0002)}
.ws-tile{box-shadow:inset 0 2px 0 #fff6,inset 0 -3px 0 #663c2366,0 5px 10px #35190538!important}
.cm-tile,.cm-cell{border-radius:12px!important;box-shadow:inset 0 2px 0 #fff9,0 3px 0 #d7b999,0 5px 12px #452c1920}
.halo-number-drag{position:fixed;z-index:20000;pointer-events:none;display:grid;place-items:center;min-width:54px;min-height:54px;padding:6px;border-radius:14px;background:linear-gradient(135deg,#fff8e8,#e9d3ad);color:#38291e;font-size:24px;font-weight:800;box-shadow:0 12px 25px #0005;transform:translate(-50%,-50%)}
@media(max-width:767px){.hg-arena .hg-topbar{gap:5px;flex-wrap:wrap;padding-top:max(8px,env(safe-area-inset-top));padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}.hg-arena .hg-topbar button{font-size:12px;padding:7px;min-height:38px}.hg-arena .hg-controls,.sg-controls,.iq-controls,.cd-controls{padding-bottom:max(12px,env(safe-area-inset-bottom))}.hg-sea-cell{padding:2px!important}.hg-sea-grid{gap:2px;padding:4px}.hg-sea-setup button{min-height:40px}.hg-arena [data-left],.hg-arena [data-right],.hg-arena [data-jump],.hg-arena [data-fire],.hg-arena [data-break]{min-width:52px;min-height:48px}.hg-arena button[data-token-buttons]{min-height:44px}}
@media(prefers-reduced-motion:reduce){.hg-arena button{transition:none}.hg-arena button:active{transform:none}}
.cm-bank button{touch-action:none!important;-webkit-user-select:none;user-select:none}
