.hg-library{padding:clamp(20px,4vw,52px);max-width:1300px;margin:auto}.hg-eyebrow{font-size:11px;letter-spacing:2px;color:#d9b36b;font-weight:800}.hg-library h2{font-size:clamp(28px,4vw,48px);letter-spacing:-1.5px;margin:8px 0}.hg-library>p{color:#9daabd}.hg-catalog{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:32px 0}.hg-catalog button{display:flex;flex-direction:column;align-items:flex-start;gap:14px;border:1px solid #303d53;border-radius:20px;padding:24px;background:linear-gradient(140deg,#1c293c,#101925);color:#eaf1fc;text-align:left;cursor:pointer;min-height:175px}.hg-catalog button span{font-size:42px;color:#e5bb6c}.hg-catalog button b{font-size:20px}.hg-catalog button small{color:#9faec3}.hg-catalog .is-selected{border-color:#efc274;box-shadow:0 0 0 2px #efc27425}.hg-catalog button:disabled{opacity:.5;cursor:default}.hg-invite{display:flex;gap:18px;align-items:flex-end}.hg-invite label{display:grid;gap:8px;min-width:240px}.hg-invite select,.hg-invite button{padding:14px;border-radius:12px;border:1px solid #42516b;background:#192438;color:#fff}.hg-invite button{background:#e5ba6e;color:#171c27;font-weight:800}
.hg-arena{position:fixed;inset:0;z-index:13000;background:#090e18;color:#edf1f8;display:flex;flex-direction:column;font-family:system-ui,sans-serif;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);height:100dvh;box-sizing:border-box}.hg-arena[hidden],.hg-arena [hidden],.hg-invite-dialog[hidden]{display:none!important}body.hg-gaming{overflow:hidden!important}.hg-arena *{box-sizing:border-box}.hg-arena button,.hg-invite-dialog button{border:1px solid #344259;background:linear-gradient(#283349,#192132);color:#eaf0fa;padding:10px 16px;border-radius:12px;font:700 13px system-ui;cursor:pointer;min-height:44px}.hg-arena button:hover{border-color:#d8b367}.hg-arena button:disabled{opacity:.45;cursor:default}.hg-arena button:focus-visible,.hg-arena input:focus-visible{outline:3px solid #6bcfe1;outline-offset:2px}.hg-top{height:70px;flex-shrink:0;display:flex;justify-content:space-between;align-items:center;padding:10px 20px;border-bottom:1px solid #273147;background:#101622}.hg-top h2{font-size:20px;line-height:1.1;margin:3px 0;color:#efc275}.hg-top small{color:#a0acc0;font-size:10px;letter-spacing:2px}.hg-tools{display:flex;gap:8px}.hg-status{min-height:30px;text-align:center;color:#f2c87d;padding:6px;font-size:12px;flex-shrink:0}.hg-stage{flex:1;min-height:0;position:relative;margin:0 12px 12px;display:flex;overflow:hidden;border:1px solid #354052;border-radius:18px;background:#111a29}.hg-garage{flex:1;min-height:0;display:flex;flex-direction:column;padding:20px;background:radial-gradient(ellipse at center,#332d23 0,#141c2d 65%)}.hg-tank-preview{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #8e713d;border-radius:18px}.hg-tank-preview h2{margin:8px;font-size:32px;text-transform:uppercase}.hg-tank-preview p{font-size:12px;color:#a4acb9}.hg-tank-preview canvas{width:min(600px,70vw);max-height:40vh;object-fit:contain;min-height:0}.hg-tank-list{display:flex;gap:10px;justify-content:center;padding:14px 0;overflow:auto;flex-shrink:0}.hg-tank-list button{min-width:100px}.hg-tank-list .selected{border:2px solid #71ce88;color:#94e3a4}.hg-garage-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0}.hg-garage-foot span{font-size:12px;color:#9ba6b8}.hg-garage-foot button,#hg-fire{background:linear-gradient(#efd092,#d7a859);color:#231e16;border-color:#f3d69f;font-weight:900}.hg-play{width:100%;height:100%;display:flex;flex-direction:column;position:relative}.hg-players{display:flex;justify-content:space-between;gap:16px;padding:12px 20px;z-index:2;flex-shrink:0}.hg-player{padding:10px 18px;background:#111827dc;border:1px solid #39465a;border-radius:12px;font-size:13px;color:#bbc7d8}.hg-player.active{border-color:#dcbc71;color:#ffe2a4}.hg-tic{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;width:min(440px,80vw,65vh);aspect-ratio:1;margin:auto;padding:16px}.hg-tic button{font-size:clamp(28px,7vw,64px);border-radius:18px;color:#7cdaeb}.hg-tic button[data-symbol="O"]{color:#f0bd77}.hg-tic button:disabled{opacity:1}.hg-tic button:disabled:empty{opacity:.65}#hg-battle-canvas{width:100%;flex:1;min-height:0;object-fit:contain;background:#d7ad72}.hg-controls{display:flex;align-items:center;gap:18px;padding:12px 20px;background:#111927;flex-shrink:0}.hg-controls label{display:flex;flex-direction:column;gap:5px;font-size:10px;color:#afbed0;flex:1}.hg-controls output{display:inline;color:#ffe2a4}.hg-controls input{width:100%;accent-color:#62d4e8;min-height:20px}.hg-controls select{padding:8px;background:#25324a;color:white;border:1px solid #3a4a65;border-radius:9px;width:100%}.hg-drive{display:flex;gap:6px}#hg-fire{min-width:100px;height:52px}.hg-chat,.hg-menu{position:absolute;right:16px;top:84px;bottom:24px;width:min(350px,90vw);background:#111a2bf5;border:1px solid #46526c;border-radius:18px;z-index:20;padding:18px;box-shadow:0 20px 80px #0008;display:flex;flex-direction:column;gap:14px}.hg-menu{bottom:auto}.hg-menu p{line-height:1.6;font-size:13px;color:#bdc8d9}.hg-chat h3,.hg-menu h3{margin:0;font-size:18px}#hg-messages{overflow:auto;flex:1;font-size:13px;overflow-wrap:anywhere}.hg-chat form{display:flex;gap:6px}.hg-chat input{min-width:0;flex:1;padding:10px;background:#0c1320;border:1px solid #37465e;color:white;border-radius:10px}.hg-result{position:absolute;inset:0;background:#0b1225e8;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;z-index:10}.hg-result h2{font-size:40px;color:#f4cd86;text-align:center}.hg-rotate{display:none;position:absolute;inset:0;background:#0a1223;z-index:40;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px}.hg-rotate span{font-size:64px;color:#ebc887}.hg-invite-dialog{background:#131e31;color:#eff4fc;border:1px solid #b99b60;border-radius:20px;padding:28px;max-width:420px}.hg-invite-dialog::backdrop{background:#000a}.hg-invite-dialog h2{font-size:24px}.hg-invite-dialog p{color:#d4b373;font-size:11px;letter-spacing:1px}
@media(max-width:800px){.hg-catalog{grid-template-columns:repeat(2,1fr)}.hg-invite{flex-wrap:wrap}.hg-invite label{width:100%}.hg-top{height:52px;padding:5px 10px}.hg-top h2{font-size:16px}.hg-top small{font-size:8px}.hg-tools{gap:4px}.hg-arena button{padding:7px 10px;min-height:40px}.hg-status{font-size:11px;min-height:24px;padding:4px}.hg-stage{margin:0 5px 5px;border-radius:12px}.hg-players{padding:5px 10px}.hg-player{padding:5px 9px;font-size:11px}.hg-controls{padding:6px 10px;gap:10px}.hg-garage{padding:10px}.hg-garage-foot span{max-width:50%;font-size:10px}.hg-tank-list{padding:7px 0}.hg-tank-list button{min-width:75px}.hg-tank-preview h2{font-size:22px}.hg-tank-preview p{margin:5px}.hg-tank-preview canvas{max-height:30vh}.hg-chat{top:58px;bottom:10px}.hg-menu{top:58px}.hg-tic{width:min(420px,85vw,65vh)}}
@media(orientation:portrait) and (max-width:950px){.hg-arena[data-game="tanks"] .hg-rotate{display:flex}}
@media(orientation:landscape) and (max-height:500px){.hg-top{height:44px}.hg-status{min-height:20px;padding:2px}.hg-top small{display:none}.hg-top h2{font-size:16px}.hg-players{padding:4px 10px}.hg-player{padding:4px 8px;font-size:10px}.hg-controls{padding:4px 10px;gap:10px}.hg-controls label{font-size:9px;gap:1px}.hg-controls input{min-height:16px}.hg-controls select{padding:4px}.hg-arena button{min-height:34px;padding:6px 10px}#hg-fire{height:42px;min-width:80px}.hg-garage{padding:8px}.hg-tank-preview canvas{max-height:23vh}.hg-tank-preview h2{font-size:18px;margin:4px}.hg-tank-preview p{margin:3px;font-size:10px}.hg-tank-list{padding:5px 0}.hg-garage-foot span{font-size:10px}.hg-tic{width:min(280px,64vh);gap:6px;padding:5px}.hg-tic button{font-size:26px}.hg-result h2{font-size:26px}}

[data-social-panel="games"] .halo-games-a[hidden]{display:none!important}

/* Round progression, social sharing and a disabled future ad boundary. */
.hg-level-info{padding:5px 12px;background:#121d30;color:#d7bb80;font-size:11px;text-align:center;letter-spacing:1px;flex-shrink:0}.hg-result{overflow:auto;padding:22px;justify-content:flex-start}.hg-result h2{margin:15px 0 5px}.hg-result section{max-width:640px;width:100%;text-align:center}.hg-result section>p{font-size:13px;color:#a9b7ce}.hg-share-buttons{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:14px 0}.hg-share-buttons a{display:inline-flex;align-items:center;justify-content:center;border:1px solid #415574;border-radius:10px;padding:10px 13px;color:#dce8ff;text-decoration:none;font:700 12px system-ui;min-height:40px}.hg-share-buttons a:hover{border-color:#d9b46e}.hg-result label{display:flex;gap:10px;align-items:center;justify-content:center;font-size:12px;color:#acbbd1;margin-bottom:10px}.hg-result select{padding:10px;background:#17243c;border:1px solid #40516f;border-radius:10px;color:#edf4ff;max-width:60%}.hg-ad-break{margin-top:160px;min-height:90px;flex-shrink:0}.hg-top .hg-tools{flex-wrap:nowrap}
@media(max-width:800px){#hg-sound{font-size:10px;padding:5px 7px}.hg-level-info{padding:3px 8px;font-size:9px}.hg-result{gap:10px}.hg-result h2{font-size:28px}.hg-result section>p{margin:6px}.hg-share-buttons{margin:8px 0}.hg-top>button{white-space:nowrap}.hg-top{gap:6px}.hg-top h2{white-space:nowrap}}
@media(orientation:landscape) and (max-height:500px){.hg-result{padding:8px;gap:6px}.hg-result h2{font-size:24px;margin:4px}.hg-result section>p{font-size:11px}.hg-share-buttons a{min-height:32px;padding:6px 9px}.hg-result label{margin:4px}.hg-result select{padding:6px}.hg-level-info{padding:2px;font-size:9px}}

.hg-catalog{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}#hg-battle-canvas{touch-action:none}.hg-arena[data-game="minigolf"] .hg-drive{display:none}@media(orientation:portrait) and (max-width:950px){.hg-arena[data-game="minigolf"] .hg-rotate{display:flex}}
/* Mobile landscape: HUD and controls float over an edge-to-edge battlefield. */
@media (orientation:landscape) and (max-height:600px), (orientation:landscape) and (pointer:coarse){
 .hg-arena.hg-live-game{padding:0;height:100dvh;width:100vw;isolation:isolate}
 .hg-live-game .hg-stage{position:absolute;inset:0;margin:0;border:0;border-radius:0;overflow:hidden}
 .hg-live-game .hg-play{height:100%;width:100%;position:relative}
 .hg-live-game #hg-battle-canvas{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:contain;flex:none;background:#182636}
 .hg-live-game .hg-top{position:absolute;top:env(safe-area-inset-top,0px);left:env(safe-area-inset-left,0px);right:env(safe-area-inset-right,0px);height:38px;padding:3px 8px;border:0;background:linear-gradient(#091220bc,#09122035);z-index:5;gap:8px}
 .hg-live-game .hg-top h2{font-size:13px}.hg-live-game .hg-top small{display:none}
 .hg-live-game .hg-top button{min-height:32px;padding:5px 9px;border-radius:10px;font-size:11px;background:#111d2cb8;backdrop-filter:blur(8px)}
 .hg-live-game .hg-tools{gap:4px}.hg-live-game #hg-sound{font-size:10px;padding:5px 7px}
 .hg-live-game .hg-status{position:absolute;top:calc(38px + env(safe-area-inset-top,0px));left:35%;right:35%;min-height:0;padding:3px 6px;font-size:10px;z-index:5;background:#0b15228c;border-radius:8px;pointer-events:none}
 .hg-live-game .hg-players{position:absolute;top:calc(40px + env(safe-area-inset-top,0px));left:calc(8px + env(safe-area-inset-left,0px));right:calc(8px + env(safe-area-inset-right,0px));padding:0;z-index:4;pointer-events:none;gap:20%}
 .hg-live-game .hg-player{max-width:35%;padding:4px 8px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#0c19269e;border-radius:9px;backdrop-filter:blur(8px)}
 .hg-live-game .hg-controls{position:absolute;bottom:calc(7px + env(safe-area-inset-bottom,0px));left:calc(8px + env(safe-area-inset-left,0px));right:calc(8px + env(safe-area-inset-right,0px));padding:5px 8px;gap:10px;background:#0915229e;border:1px solid #bbcfe230;border-radius:14px;z-index:4;backdrop-filter:blur(7px)}
 .hg-live-game .hg-controls label{font-size:9px;gap:0;min-width:0}.hg-live-game .hg-controls input{height:26px;margin:0;min-height:26px}.hg-live-game .hg-controls output{font-size:10px}.hg-live-game .hg-controls select{font-size:11px;padding:7px;min-height:34px}
 .hg-live-game .hg-drive button{min-width:40px;min-height:40px;padding:5px}.hg-live-game #hg-fire{height:42px;min-width:74px;font-size:12px}
 .hg-live-game .hg-level-info{position:absolute;bottom:calc(70px + env(safe-area-inset-bottom,0px));left:25%;right:25%;padding:3px 6px;font-size:9px;border-radius:8px;background:#0b152278;z-index:3;pointer-events:none;letter-spacing:.3px}
 .hg-live-game[data-game="minigolf"] .hg-level-info{left:15%;right:15%;font-size:8px}
 .hg-live-game .hg-chat,.hg-live-game .hg-menu{top:45px;right:8px;z-index:12}.hg-live-game .hg-result{padding-top:65px;z-index:10}
}
.hg-sea{flex:1;min-height:0;overflow:auto;padding:8px 20px 16px;background:radial-gradient(ellipse at top,#174a64,#0a1728)}.hg-sea-setup{display:flex;gap:7px;flex-wrap:wrap;justify-content:center;align-items:center}.hg-sea-setup p{width:100%;margin:2px 0 8px;color:#b8d5e5;font-size:12px;text-align:center}.hg-sea-setup button{font-size:10px;padding:6px 9px;min-height:32px}.hg-sea-setup .selected{border-color:#e9bd70;color:#f5d499}.hg-sea-boards{display:grid;grid-template-columns:1fr 1fr;gap:26px;max-width:950px;margin:10px auto}.hg-sea-boards section{min-width:0}.hg-sea-boards h3{text-align:center;font-size:13px;color:#bbdfec;margin:5px 0 9px}.hg-sea-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:3px;width:min(100%,48vh);aspect-ratio:1;margin:auto}.hg-sea-grid .hg-sea-cell{min-width:0;min-height:0;aspect-ratio:1;border-radius:5px;padding:0;font-size:18px;background:#15344b;border:1px solid #315471;color:#d7edf7}.hg-sea-grid .hg-sea-cell.ship{background:#536e81;color:#e3edf0}.hg-sea-grid .hg-sea-cell.hit{background:#9b4e40;color:#ffe0a2}.hg-sea-grid .hg-sea-cell.miss{background:#173348;color:#a8d5e6}.hg-sea-grid .hg-sea-cell:disabled{opacity:1}.hg-sea-tabs{display:none;justify-content:center;gap:12px;margin:10px 0}.hg-sea-tabs button{font-size:12px}.hg-arena[data-game="sea-battle"] .hg-players{padding:6px 12px}
@media(orientation:portrait) and (max-width:700px){.hg-sea{padding:8px 10px}.hg-sea-tabs{display:flex}.hg-sea-boards{grid-template-columns:1fr;gap:0;margin:0}.hg-sea-grid{width:min(88vw,46vh)}.hg-sea[data-view="own"] .hg-sea-target,.hg-sea[data-view="target"] .hg-sea-own{display:none}.hg-sea-setup button{font-size:9px;padding:5px 7px}.hg-sea-setup p{font-size:10px;margin-bottom:5px}}
@media(orientation:landscape) and (max-height:600px){.hg-arena[data-game="sea-battle"] .hg-top{height:38px}.hg-arena[data-game="sea-battle"] .hg-status{min-height:19px;font-size:10px;padding:2px}.hg-arena[data-game="sea-battle"] .hg-players{padding:3px 8px}.hg-arena[data-game="sea-battle"] .hg-player{font-size:10px;padding:3px 6px}.hg-sea{padding:2px 8px 8px}.hg-sea-setup{gap:4px}.hg-sea-setup p{font-size:10px;margin:0}.hg-sea-setup button{font-size:8px;min-height:28px;padding:4px 6px}.hg-sea-boards{gap:18px;margin:3px auto}.hg-sea-boards h3{font-size:10px;margin:2px}.hg-sea-grid{width:min(35vw,calc(100dvh - 180px));gap:2px}.hg-sea-grid .hg-sea-cell{font-size:12px;border-radius:3px}}
/* Existing golf controls remain a single row; Tank uses independent corner HUDs. */
.hg-control-left,.hg-control-right{display:contents}
.hg-arena[data-game="tanks"].hg-live-game .hg-play{position:relative;min-height:0}
.hg-arena[data-game="tanks"].hg-live-game .hg-controls{position:absolute;inset:auto 0 0;height:138px;display:block;width:auto;padding:0;border:0;background:none;box-shadow:none;backdrop-filter:none;pointer-events:none;z-index:6}
.hg-arena[data-game="tanks"] .hg-control-left,.hg-arena[data-game="tanks"] .hg-control-right{position:absolute;bottom:max(10px,env(safe-area-inset-bottom));display:grid;gap:6px;width:240px;max-width:38%;pointer-events:auto;background:linear-gradient(145deg,#14232d30,#14232d10);border:1px solid #ffffff35;border-radius:20px;padding:10px;color:#fff;text-shadow:0 1px 3px #000a}
.hg-arena[data-game="tanks"] .hg-control-left{left:max(12px,env(safe-area-inset-left));grid-template-columns:1fr}
.hg-arena[data-game="tanks"] .hg-control-right{right:max(12px,env(safe-area-inset-right));grid-template-columns:minmax(0,1fr) 76px;align-items:center}
.hg-arena[data-game="tanks"] .hg-controls label{display:block;flex:none;width:100%;min-width:0;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#fff}
.hg-arena[data-game="tanks"] .hg-controls output{float:right;color:#fff;font-size:14px;font-variant-numeric:tabular-nums;letter-spacing:0}
.hg-arena[data-game="tanks"] .hg-controls input[type="range"]{width:100%;height:32px;margin:0;accent-color:#f0ffe9;cursor:pointer;touch-action:pan-x;filter:drop-shadow(0 1px 2px #0008)}
.hg-arena[data-game="tanks"] .hg-controls select{width:100%;min-height:34px;border-radius:12px;margin-top:2px;background:#14232d55;color:#fff;border:1px solid #fff7;font-size:12px}
.hg-arena[data-game="tanks"] .hg-controls select option{background:#172837;color:#fff}
.hg-arena[data-game="tanks"] .hg-drive{display:flex;gap:12px;justify-content:center}
.hg-arena[data-game="tanks"] .hg-drive button{width:46px;height:46px;min-height:46px;padding:0;border-radius:50%;background:#14232d30;border:2px solid #fffc;box-shadow:0 2px 8px #0002;color:#fff;font-size:20px;touch-action:manipulation}
.hg-arena[data-game="tanks"] #hg-fire{grid-column:2;grid-row:1 / 3;width:76px;height:76px;min-width:0;min-height:76px;padding:0;border-radius:50%;background:radial-gradient(circle,#fbb66255,#da6e3933);border:3px solid #fff;box-shadow:0 0 0 5px #ffffff15,0 4px 15px #0003;color:#fff;font-size:13px;font-weight:900;letter-spacing:.05em;touch-action:manipulation;text-shadow:0 1px 3px #623716}
.hg-arena[data-game="tanks"] .hg-controls button:active:not(:disabled){transform:scale(.94);background:#ffffff50}
.hg-arena[data-game="tanks"] .hg-controls :disabled{opacity:.5;cursor:default}
.hg-arena[data-game="tanks"] .hg-level-info{position:absolute;bottom:8px;left:40%;right:40%;width:20%;max-width:none;font-size:10px;text-align:center;pointer-events:none;transform:none}
@media (orientation:landscape) and (max-height:600px){
.hg-arena[data-game="tanks"].hg-live-game .hg-controls{height:120px}
.hg-arena[data-game="tanks"] .hg-control-left,.hg-arena[data-game="tanks"] .hg-control-right{width:210px;max-width:36%;padding:6px 8px;gap:3px;border-radius:17px;bottom:max(7px,env(safe-area-inset-bottom))}
.hg-arena[data-game="tanks"] .hg-control-left{left:max(8px,env(safe-area-inset-left))}
.hg-arena[data-game="tanks"] .hg-control-right{right:max(8px,env(safe-area-inset-right));grid-template-columns:minmax(0,1fr) 64px;column-gap:8px}
.hg-arena[data-game="tanks"] .hg-drive button{width:42px;height:42px;min-height:42px}
.hg-arena[data-game="tanks"] .hg-controls input[type="range"]{height:28px}
.hg-arena[data-game="tanks"] .hg-controls label{font-size:9px}
.hg-arena[data-game="tanks"] #hg-fire{width:64px;height:64px;min-height:64px;font-size:11px}
.hg-arena[data-game="tanks"] .hg-level-info{left:38%;right:38%;width:24%;bottom:8px;font-size:9px}
}
/* Hill Rally: transparent pedals and a canvas that fills the private game room. */
.hg-arena[data-game="hill-race"] .hg-stage{position:absolute;inset:0;margin:0;border:0;border-radius:0}
.hg-arena[data-game="hill-race"] .hg-play{height:100%;width:100%;padding:0;position:relative}
.hg-arena[data-game="hill-race"] #hg-battle-canvas{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:contain;background:#284254}
.hg-arena[data-game="hill-race"] .hg-top{position:absolute;inset:0 0 auto;z-index:5;height:52px;background:#10253377;border:0;backdrop-filter:blur(8px);padding:4px max(12px,env(safe-area-inset-right)) 4px max(12px,env(safe-area-inset-left))}
.hg-arena[data-game="hill-race"] .hg-status{position:absolute;z-index:5;top:54px;left:30%;right:30%;background:#10253399;border-radius:12px;padding:5px;color:#fff}
.hg-arena[data-game="hill-race"] .hg-players{position:absolute;z-index:4;top:58px;left:12px;right:12px;padding:0;pointer-events:none}
.hg-arena[data-game="hill-race"] .hg-player{background:#10253399;border-color:#ffffff40;color:#fff}
.hr-controls{position:absolute;inset:0;pointer-events:none;z-index:6}
.hr-ready{position:absolute;top:48%;left:50%;transform:translate(-50%,-50%);pointer-events:auto;min-width:220px;min-height:58px!important;background:linear-gradient(135deg,#9ff0bb,#5dc9c2)!important;color:#113a42!important;box-shadow:0 8px 28px #0004;font-size:18px!important}
.hr-left{position:absolute;left:max(18px,env(safe-area-inset-left));bottom:max(16px,env(safe-area-inset-bottom));display:flex;align-items:flex-end;gap:14px}
.hr-controls button[data-race]{pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;border:2px solid #fffd;background:#132a3c35;color:#fff;box-shadow:0 3px 12px #0002;border-radius:50%;height:82px;width:82px;font-size:26px;padding:0;text-shadow:0 1px 4px #0006}
.hr-controls button small{display:block;font-size:10px;letter-spacing:.13em}
.hr-controls button[data-race]:active{background:#fff5;transform:scale(.96)}
.hr-gas{position:absolute;right:max(18px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));background:#8cdb8650!important}
.hr-tilt{display:flex;gap:8px;align-self:center}
.hr-tilt button[data-race]{width:46px;height:46px;min-height:46px;font-size:22px}
.hg-arena[data-game="hill-race"] .hg-result{z-index:10;padding-top:70px;background:#081a2be8}
.hg-arena[data-game="hill-race"] .hg-chat,.hg-arena[data-game="hill-race"] .hg-menu{z-index:12;top:58px}
@media(orientation:portrait) and (max-width:950px){.hg-arena[data-game="hill-race"] .hg-rotate{display:flex}}
@media(orientation:landscape) and (max-height:600px){
.hg-arena[data-game="hill-race"] .hg-top{height:40px}.hg-arena[data-game="hill-race"] .hg-top h2{font-size:15px}.hg-arena[data-game="hill-race"] .hg-top small{display:none}.hg-arena[data-game="hill-race"] .hg-top button{min-height:32px;padding:5px 9px}
.hg-arena[data-game="hill-race"] .hg-status{top:42px;font-size:10px;left:31%;right:31%}
.hg-arena[data-game="hill-race"] .hg-players{top:43px}.hg-arena[data-game="hill-race"] .hg-player{font-size:10px;padding:4px 7px}
.hr-controls button[data-race]{width:68px;height:68px;min-height:68px}.hr-tilt button[data-race]{width:44px;height:44px;min-height:44px}.hr-left,.hr-gas{bottom:max(8px,env(safe-area-inset-bottom))}
}

/* Cannon Clash uses the same full-screen room frame. */
/* Hill Rally: transparent pedals and a canvas that fills the private game room. */
.hg-arena[data-game="cannon-clash"] .hg-stage{position:absolute;inset:0;margin:0;border:0;border-radius:0}
.hg-arena[data-game="cannon-clash"] .hg-play{height:100%;width:100%;padding:0;position:relative}
.hg-arena[data-game="cannon-clash"] #hg-battle-canvas{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:contain;background:#284254}
.hg-arena[data-game="cannon-clash"] .hg-top{position:absolute;inset:0 0 auto;z-index:5;height:52px;background:#10253377;border:0;backdrop-filter:blur(8px);padding:4px max(12px,env(safe-area-inset-right)) 4px max(12px,env(safe-area-inset-left))}
.hg-arena[data-game="cannon-clash"] .hg-status{position:absolute;z-index:5;top:54px;left:30%;right:30%;background:#10253399;border-radius:12px;padding:5px;color:#fff}
.hg-arena[data-game="cannon-clash"] .hg-players{position:absolute;z-index:4;top:58px;left:12px;right:12px;padding:0;pointer-events:none}
.hg-arena[data-game="cannon-clash"] .hg-player{background:#10253399;border-color:#ffffff40;color:#fff}
.hr-controls{position:absolute;inset:0;pointer-events:none;z-index:6}
.hr-ready{position:absolute;top:48%;left:50%;transform:translate(-50%,-50%);pointer-events:auto;min-width:220px;min-height:58px!important;background:linear-gradient(135deg,#9ff0bb,#5dc9c2)!important;color:#113a42!important;box-shadow:0 8px 28px #0004;font-size:18px!important}
.hr-left{position:absolute;left:max(18px,env(safe-area-inset-left));bottom:max(16px,env(safe-area-inset-bottom));display:flex;align-items:flex-end;gap:14px}
.hr-controls button[data-race]{pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;border:2px solid #fffd;background:#132a3c35;color:#fff;box-shadow:0 3px 12px #0002;border-radius:50%;height:82px;width:82px;font-size:26px;padding:0;text-shadow:0 1px 4px #0006}
.hr-controls button small{display:block;font-size:10px;letter-spacing:.13em}
.hr-controls button[data-race]:active{background:#fff5;transform:scale(.96)}
.hr-gas{position:absolute;right:max(18px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));background:#8cdb8650!important}
.hr-tilt{display:flex;gap:8px;align-self:center}
.hr-tilt button[data-race]{width:46px;height:46px;min-height:46px;font-size:22px}
.hg-arena[data-game="cannon-clash"] .hg-result{z-index:10;padding-top:70px;background:#081a2be8}
.hg-arena[data-game="cannon-clash"] .hg-chat,.hg-arena[data-game="cannon-clash"] .hg-menu{z-index:12;top:58px}
@media(orientation:portrait) and (max-width:950px){.hg-arena[data-game="cannon-clash"] .hg-rotate{display:flex}}
@media(orientation:landscape) and (max-height:600px){
.hg-arena[data-game="cannon-clash"] .hg-top{height:40px}.hg-arena[data-game="cannon-clash"] .hg-top h2{font-size:15px}.hg-arena[data-game="cannon-clash"] .hg-top small{display:none}.hg-arena[data-game="cannon-clash"] .hg-top button{min-height:32px;padding:5px 9px}
.hg-arena[data-game="cannon-clash"] .hg-status{top:42px;font-size:10px;left:31%;right:31%}
.hg-arena[data-game="cannon-clash"] .hg-players{top:43px}.hg-arena[data-game="cannon-clash"] .hg-player{font-size:10px;padding:4px 7px}
.hr-controls button[data-race]{width:68px;height:68px;min-height:68px}.hr-tilt button[data-race]{width:44px;height:44px;min-height:44px}.hr-left,.hr-gas{bottom:max(8px,env(safe-area-inset-bottom))}
}

.cc-controls{position:absolute;inset:0;z-index:6;pointer-events:none}
.cc-left{position:absolute;left:max(12px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom));width:230px;max-width:40%;padding:9px 13px;border-radius:18px;border:1px solid #ffffff4d;background:#13253740;pointer-events:auto}
.cc-left label{display:block;font-size:10px;font-weight:800;color:#fff;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 1px 3px #0007}
.cc-left output{float:right;font-size:13px}
.cc-left input{display:block;width:100%;height:30px;margin:0;accent-color:#a5fff0;touch-action:pan-x}
.cc-fire{position:absolute;right:max(18px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));height:82px!important;width:82px;border-radius:50%!important;pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;border:3px solid #fff!important;background:radial-gradient(circle,#ffaf7666,#b4684933)!important;font-size:32px!important;box-shadow:0 0 0 5px #ffffff15;text-shadow:0 2px 5px #0005;padding:0!important}
.cc-fire small{display:block;font-size:10px;letter-spacing:.16em}
.cc-fire:active{transform:scale(.94);background:#ffffff55!important}
@media(orientation:landscape) and (max-height:600px){.cc-left{width:200px;padding:5px 9px;bottom:max(6px,env(safe-area-inset-bottom))}.cc-left input{height:27px}.cc-fire{width:70px;height:70px!important;bottom:max(8px,env(safe-area-inset-bottom))}}
/* Player-count catalog keeps solo play separate from invitations. */
.hg-categories{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0 4px}
.hg-categories button{border:1px solid #344d62;border-radius:14px;background:#152436;color:#c6d8e7;min-height:46px;padding:10px 22px;font-weight:800;cursor:pointer}
.hg-categories button[aria-selected="true"]{background:linear-gradient(135deg,#8ae3d4,#87bfe5);color:#102838;border-color:#9ef7e7;box-shadow:0 4px 16px #65d5d51a}
.hg-catalog [hidden],.hg-library [hidden]{display:none!important}
.hg-arena[data-game="sky-runner"] .hg-stage{position:absolute;inset:0;margin:0;border:0;border-radius:0}
.hg-arena[data-game="sky-runner"] .hg-play{height:100%;width:100%;padding:0;position:relative}
.hg-arena[data-game="sky-runner"] #hg-battle-canvas{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:contain;background:#18344c;touch-action:none}
.hg-arena[data-game="sky-runner"] .hg-top{position:absolute;inset:0 0 auto;z-index:5;height:52px;background:#11294288;border:0;backdrop-filter:blur(8px);padding:4px max(12px,env(safe-area-inset-right)) 4px max(12px,env(safe-area-inset-left))}
.hg-arena[data-game="sky-runner"] .hg-top h2{color:#d2fff0}
.hg-arena[data-game="sky-runner"] .hg-status{position:absolute;z-index:5;top:55px;left:25%;right:25%;background:#11294299;border-radius:12px;padding:5px;color:#ecfff9}
.hg-arena[data-game="sky-runner"] .hg-players{display:none}
.sr-controls{position:absolute;inset:0;pointer-events:none;z-index:6}
.sr-ready{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);pointer-events:auto;min-width:230px;min-height:60px!important;font-size:18px!important;background:linear-gradient(135deg,#b5f3c7,#77d9e9)!important;color:#173b4c!important;box-shadow:0 10px 32px #09203966;border-radius:18px!important}
.sr-buttons{position:absolute;bottom:max(12px,env(safe-area-inset-bottom));left:max(18px,env(safe-area-inset-left));right:max(18px,env(safe-area-inset-right));display:flex;justify-content:space-between;gap:10px;pointer-events:auto;max-width:700px;margin:auto}
.sr-buttons button{height:60px;width:66px;border:2px solid #e9fff7!important;border-radius:18px!important;background:#17334c55!important;color:#efffff;font-size:24px!important;padding:0!important;box-shadow:0 3px 12px #0002;touch-action:none;user-select:none;-webkit-user-select:none}
.sr-buttons small{display:block;font-size:8px;letter-spacing:.1em}
.sr-buttons button:active{transform:scale(.94);background:#a5eecc55!important}
.hg-arena[data-game="sky-runner"] .hg-result{z-index:10;background:#0e263ce8;padding-top:70px}
.hg-arena[data-game="sky-runner"] .hg-result h2{font-size:clamp(22px,4vw,40px);max-width:750px;text-align:center}
.hg-arena[data-game="sky-runner"] .hg-chat,.hg-arena[data-game="sky-runner"] .hg-menu{z-index:12;top:58px}
@media(max-width:650px) and (orientation:portrait){
.hg-arena[data-game="sky-runner"] .hg-top{height:64px;padding:5px 8px;gap:4px}
.hg-arena[data-game="sky-runner"] .hg-top h2{font-size:15px}.hg-arena[data-game="sky-runner"] .hg-top small{font-size:8px;letter-spacing:1px}
.hg-arena[data-game="sky-runner"] .hg-top button{min-height:38px;padding:7px 9px;font-size:11px}.hg-arena[data-game="sky-runner"] .hg-tools{gap:4px}
.hg-arena[data-game="sky-runner"] .hg-status{top:68px;left:8%;right:8%;font-size:11px}
.sr-buttons{left:12px;right:12px;bottom:max(14px,env(safe-area-inset-bottom))}.sr-buttons button{width:58px;height:60px}
.hg-arena[data-game="sky-runner"] .hg-menu{top:105px}
.hg-categories button{flex:1;padding:10px 12px;font-size:12px}
}
@media(orientation:landscape) and (max-height:600px){.hg-arena[data-game="sky-runner"] .hg-top{height:40px}.hg-arena[data-game="sky-runner"] .hg-top small{display:none}.hg-arena[data-game="sky-runner"] .hg-top h2{font-size:15px}.hg-arena[data-game="sky-runner"] .hg-top button{min-height:32px;padding:5px 9px}.hg-arena[data-game="sky-runner"] .hg-status{top:42px;font-size:10px}.sr-buttons button{width:52px;height:46px;min-height:46px}.sr-buttons{bottom:max(7px,env(safe-area-inset-bottom));max-width:90%}}
