/* Landscape UI refresh: game controls stay local, global tools stay in the shell. */
.gd-library-scroll .gd-route-group{display:block;grid-column:1/-1;min-width:0}.gd-route-group h3{margin:8px 0;color:#d6fa72;font-size:16px}.gd-route-group>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.gd-route-group button{width:100%;text-align:left}.gd-route-group button small{display:block}
.game-session #arena.arena-faceoff:not(.fighting){display:flex;flex-direction:column;overflow:hidden;padding:8px 16px!important;background:radial-gradient(ellipse at 50% 50%,#392d47,#131e29 75%)}
.arena-faceoff>.section-top{height:32px;min-height:32px;margin:0!important;padding-right:60px}.arena-faceoff>.section-top .eyebrow,.arena-faceoff>.section-top>.tag,.arena-faceoff>.arena-main-mode{display:none}.arena-faceoff>.section-top h2{font-size:20px;margin:0}.arena-faceoff>.other-battles{position:absolute;bottom:18px;left:18px;z-index:5;margin:0;max-width:240px}.arena-faceoff>.other-battles[open]{bottom:12px;background:#192c38;padding:12px;border:1px solid #647174;border-radius:12px}.arena-faceoff #arenaSetup{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.6fr) minmax(0,1fr);grid-template-rows:24px minmax(0,1fr) 58px 50px;gap:4px 12px;flex:1;min-height:0;position:relative}.arena-faceoff #singlePlayerPath{display:contents}.arena-faceoff .arena-faceoff-progress{grid-column:1/-1;grid-row:1;font-size:12px;color:#c5b9cd;padding:0 64px 0 0}.arena-faceoff #arenaFavoriteCard{grid-column:1;grid-row:2;min-height:0;align-self:center}.arena-faceoff .arena-favorite{border:0;background:transparent;display:flex;flex-direction:column;gap:3px;text-align:center;margin:0;padding:0}.arena-faceoff .arena-favorite>svg,.arena-faceoff .arena-favorite>img{height:clamp(60px,18vh,150px);width:150px;max-width:100%;object-fit:contain}.arena-faceoff .arena-favorite>div{display:flex;flex-direction:column;align-items:center;gap:2px}.arena-faceoff .arena-favorite strong{font-size:18px}.arena-faceoff .arena-favorite span{font-size:12px}.arena-faceoff .arena-favorite button{padding:5px;min-height:36px;font-size:12px}.arena-faceoff .arena-faceoff-rival{grid-column:3;grid-row:2;display:flex;flex-direction:column;justify-content:center;min-height:0;gap:2px}.arena-faceoff .arena-guide{display:flex;gap:8px;margin:0;padding:0;background:transparent;border:0;min-height:0}.arena-faceoff .arena-guide>svg,.arena-faceoff .arena-guide>img{width:74px;height:92px;flex:none;object-fit:contain}.arena-faceoff .arena-guide h3{margin:0;font-size:20px}.arena-faceoff .arena-guide span,.arena-faceoff .rival-quote{font-size:12px;margin:4px 0}.arena-faceoff .arena-next-echo{display:flex;gap:8px;margin:0;padding:0;border:0;background:transparent}.arena-faceoff .arena-echo-preview{width:66px;height:66px;flex:none}.arena-faceoff .arena-echo-preview svg{height:100%;width:100%}.arena-faceoff .arena-next-echo h4{margin:1px 0;font-size:16px}.arena-faceoff .arena-tier{font-size:12px;padding:0;background:transparent}.arena-faceoff .arena-faceoff-center{grid-column:2;grid-row:2;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;text-align:center}.arena-faceoff-center>strong{font-size:32px;font-style:italic;color:#ffda8e}.arena-faceoff .rival-echo-steps{display:grid;grid-template-columns:repeat(5,24px);gap:4px;margin:0}.arena-faceoff .rival-step{padding:3px;min-height:24px;border-radius:5px;font-size:12px}.arena-faceoff #campaignWinReward{color:#d6fa72;font-size:13px}.arena-faceoff #campaignEquipment{grid-column:1/-1;grid-row:3;min-height:0}.arena-faceoff .campaign-equipment-current{display:flex;align-items:center;gap:10px;margin:0;padding:5px 12px;min-height:50px}.arena-faceoff .campaign-equipment-current>span{font-size:26px}.arena-faceoff .campaign-equipment-current>div{display:grid;grid-template-columns:auto 1fr;gap:2px 10px}.arena-faceoff .campaign-equipment-current small:first-child{display:none}.arena-faceoff .campaign-equipment-current strong{font-size:15px}.arena-faceoff .campaign-equipment-current small{font-size:12px}.arena-faceoff .campaign-equipment-current button{margin-left:auto;font-size:12px}.arena-faceoff .campaign-equipment-choices:not([hidden]){position:absolute;inset:26px 0 0;z-index:9;background:#172731;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-content:center;padding:18px;gap:8px}.arena-faceoff .campaign-equipment-choices button{display:flex;flex-direction:column;gap:8px;align-items:center}.arena-faceoff #startBattle{grid-row:4;grid-column:3;align-self:center;width:100%;margin:0;background:#ffcd63;color:#2a2334;border-color:#ffcd63;font-weight:800;letter-spacing:2px}.arena-faceoff #arenaHint{display:none}.arena-faceoff #arenaNeedsEcho{grid-row:2;grid-column:1;padding:8px}.arena-faceoff .arena-complete{grid-column:1/-1;grid-row:2;z-index:3;background:#172731;padding:16px;text-align:center}.arena-faceoff .arena-journey{position:absolute;bottom:4px;left:34%;margin:0;z-index:8;font-size:12px}.arena-faceoff .arena-journey[open]{inset:26px 0 0;background:#172731;overflow:auto;padding:12px;border:1px solid #526e70;border-radius:10px}.arena-faceoff .arena-journey summary{min-height:44px;display:flex;align-items:center}.arena-faceoff .arena-opponents{max-height:none;grid-template-columns:repeat(5,minmax(0,1fr))}.arena-faceoff .arena-rival>svg,.arena-faceoff .arena-rival>img{width:45px;height:55px}
.game-session #adventure.sock-compact .sock-view-bar{min-height:36px!important;height:36px;padding:0 70px 0 10px;gap:8px;background:#152b32d9}.sock-compact .sock-view-bar [data-adventure-leave]{margin-left:auto;min-height:32px;font-size:12px;padding:4px 10px}.game-session .sock-compact #expPauseView{display:none!important}.game-session .sock-compact .sock-duel-bar{display:none!important}.game-session .sock-compact .sock-scene-messages{top:8px!important;left:10px!important;right:10px!important;max-width:none!important;pointer-events:none}.sock-energy-pips{display:flex;gap:5px}.sock-energy-pips i{display:block;width:15px;height:15px;border-radius:4px;background:#ffffff25;transform:rotate(45deg)}.sock-energy-pips i.filled{background:#ffdc77;box-shadow:0 0 7px #ffdc7755}[data-energy]{display:flex;align-items:center;gap:12px;font-size:13px}.sock-turn-status{justify-content:center}.sock-turns .sock-duel-challenge{position:relative}.sock-turns .sock-scene-messages [data-scene-log]{display:none}
/* Thinner dungeon overlays and readable, separate supply counts. */
.game-session #echo-dungeons .dg-hud{left:6px!important;right:64px!important;top:4px!important;min-height:38px!important;height:38px!important;display:flex!important;flex-wrap:nowrap!important;gap:8px!important;padding:3px 6px!important;align-items:center!important;border-radius:9px}.game-session #echo-dungeons .dg-hud>div:first-child{min-width:0;flex:1}.game-session #echo-dungeons .dg-hud strong{font-size:12px;max-width:none;white-space:nowrap;display:block;overflow:hidden;text-overflow:ellipsis}.game-session #echo-dungeons .dg-hud>div>small{display:none}.game-session #echo-dungeons .dg-hud .dg-gold{display:none}.game-session #echo-dungeons .dg-hud .dg-xp{font-size:12px;white-space:nowrap}.game-session #echo-dungeons .dg-hud .dg-xp small{display:none}.game-session #echo-dungeons .dg-hud button{height:32px!important;min-height:32px!important;margin:0!important;padding:4px 9px!important;font-size:12px!important}.game-session #echo-dungeons .dg-hud .dg-map-primary{background:#d6fa72;color:#172831;padding:4px 14px!important;font-weight:800}.game-session #echo-dungeons .dg-location{top:46px!important;min-height:16px!important;padding:0 8px!important;font-size:11px;right:6px!important}.game-session #echo-dungeons .dg-party-hud{padding:4px 8px!important;gap:6px!important;min-height:0!important}.game-session #echo-dungeons .dg-party-hud button{min-height:36px!important;padding:4px 8px!important;font-size:12px!important}.game-session #echo-dungeons .dg-powers button{min-height:36px!important;height:auto!important;padding:4px 7px!important}.game-session #echo-dungeons .dg-powers button small{font-size:10px;line-height:1}.game-session #echo-dungeons .dg-powers button small:empty{display:none}.dg-supply-count{font-weight:900;color:#ffdb79;font-size:15px;white-space:nowrap}#dgEndRun{background:#a73e4f;border-color:#e58c8c;color:#fff}.dg-forfeit-warning{display:block!important;color:#f3c7c5;margin:5px}.game-session #dgPausePanel>div{padding:16px!important;max-width:440px}.game-session #dgPausePanel h2{font-size:20px}.game-session #dgPausePanel p{font-size:13px}
/* Stuff Wars: a ready-to-play team, with optional setup in bounded panels. */
.game-session #stuff-wars.sw-compact-setup{display:flex;flex-direction:column;gap:5px;overflow:hidden!important;padding:8px 14px!important}.sw-compact-setup .section-top{height:30px;min-height:30px;margin:0!important;padding-right:60px}.sw-compact-setup .section-top h2{font-size:20px;margin:0}.sw-compact-setup .section-top .eyebrow,.sw-compact-setup .section-top>.tag,.sw-compact-setup .sw-intro{display:none}.sw-setup-grid{display:grid;grid-template-columns:minmax(200px,.7fr) minmax(0,1.3fr);gap:10px;flex:1;min-height:0;align-content:center}.sw-setup-grid h3{font-size:14px;margin:3px 0}.sw-setup-grid h3 small{font-size:11px;font-weight:400}.sw-setup-fort,.sw-setup-team{min-width:0}.sw-compact-setup .sw-selected-fort{padding:8px;margin:0;gap:8px;min-height:0}.sw-compact-setup .sw-selected-fort>img{width:68px;height:70px}.sw-compact-setup .sw-selected-fort strong{font-size:15px}.sw-compact-setup .sw-selected-fort p{font-size:12px;margin:3px 0}.sw-compact-setup .sw-selected-fort small{font-size:11px}.sw-compact-setup .sw-selected-fort button{min-height:36px;padding:4px 8px;font-size:11px}.sw-compact-setup .sw-lineup{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin:0}.sw-compact-setup .sw-slot{padding:5px;min-height:115px;max-width:100%;min-width:0}.sw-compact-setup .sw-slot img{width:54px;height:54px;max-width:100%}.sw-compact-setup .sw-slot strong{font-size:11px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sw-compact-setup .sw-slot .sw-role,.sw-compact-setup .sw-slot small{font-size:10px}.sw-setup-options{grid-column:1/-1;margin:0}.sw-setup-options>summary{min-height:36px;display:flex;align-items:center;font-size:13px}.sw-setup-options[open]{position:absolute;inset:46px 12px 60px;background:#172731;z-index:12;padding:12px;border:1px solid #587374;border-radius:10px;overflow:auto}.sw-compact-setup .sw-start{flex:none;align-self:flex-end;min-width:210px;width:auto;margin:0;height:44px}.sw-compact-setup>details:not(.sw-setup-options){position:absolute;bottom:15px;left:16px;font-size:12px;max-width:50%}.sw-compact-setup>details[open]{inset:44px 14px 58px;background:#172731;border:1px solid #587374;padding:12px;overflow:auto;z-index:15;max-width:none}.sw-compact-setup #swFortChoices:not([hidden]),.sw-compact-setup #swUpgrades:not(:empty),.sw-compact-setup #swPicker:not(:empty){position:absolute;inset:45px 12px 58px;background:#172731;z-index:16;border:1px solid #587374;border-radius:10px;overflow:auto;padding:12px}.sw-compact-setup .sw-picker{position:static;max-height:none;box-shadow:none}.sw-compact-setup .sw-saved{display:flex;align-items:center;gap:8px;padding:5px 10px;margin:0;font-size:11px;flex:none}.sw-compact-setup .sw-saved strong{font-size:12px}.sw-compact-setup .sw-saved button{min-height:36px;padding:4px 8px;font-size:12px}.sw-compact-setup .sw-saved span{display:none}.sw-confirming-leave .sw-saved{position:absolute;inset:45px 12px 8px;background:#172731;z-index:20;display:grid;place-items:center}.sw-confirming-leave .sw-result{width:min(460px,100%);text-align:center}.sw-confirming-leave .sw-setup-grid,.sw-confirming-leave #swStart{visibility:hidden}
@media(max-height:380px){.arena-faceoff .arena-guide>svg,.arena-faceoff .arena-guide>img{height:70px;width:58px}.arena-faceoff .arena-echo-preview{width:48px;height:48px}.arena-faceoff .rival-quote{display:none}.arena-faceoff .arena-favorite>svg,.arena-faceoff .arena-favorite>img{height:64px}.arena-faceoff .campaign-equipment-current small{font-size:11px}.sw-compact-setup .sw-slot{min-height:92px}.sw-compact-setup .sw-slot img{height:40px;width:40px}.sw-compact-setup .sw-selected-fort>img{height:50px;width:50px}.sw-compact-setup .sw-selected-fort small{display:none}}
/* Echo Chasers garage is a real full-screen landscape menu, separate from gameplay. */
.game-session #car-crash.cc-full-play{padding:0!important;overflow:hidden!important}
#car-crash.cc-dashboard .cc-overlay{inset:0;position:absolute;background:#17222e;display:block;padding:0;z-index:8;overflow:hidden}
#car-crash.cc-dashboard .cc-card{width:100%;height:100%;max-width:none;max-height:none;border:0;border-radius:0;padding:8px 16px;text-align:left;display:flex;flex-direction:column;gap:4px;background:radial-gradient(ellipse at 30% 60%,#3e3552,#172832 80%);overflow:hidden}
#car-crash.cc-dashboard .cc-head,#car-crash.cc-dashboard .cc-controls,#car-crash.cc-dashboard .cc-hud,#car-crash.cc-dashboard .cc-damage{visibility:hidden}
#car-crash .cc-dashboard-title{height:36px;flex:none;display:flex;align-items:center;gap:16px;padding-right:64px}#car-crash .cc-dashboard-title h3{font-size:24px;font-weight:900;font-style:italic;margin:0;letter-spacing:-1px}#car-crash .cc-dashboard-title h3 span{color:#ffcd63}#car-crash .cc-dashboard-title>span{margin-left:auto;color:#d6fa72;font-size:13px}#car-crash .cc-dashboard-title button{min-height:32px;padding:4px 8px;font-size:12px}
#car-crash .cc-dashboard-grid{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}#car-crash .cc-dashboard-grid>section{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:8px 12px;background:#26343c99;border-radius:12px}#car-crash .cc-dashboard-grid small{font-size:11px;color:#c2dbcc}#car-crash .cc-dashboard-grid canvas{position:static!important;display:block;width:100%!important;height:clamp(60px,20vh,160px)!important;min-height:0!important;object-fit:contain;flex:1}
#car-crash .cc-dashboard-grid .cc-selector{margin:0;gap:8px;padding:0;display:grid;grid-template-columns:38px minmax(0,1fr) 38px;align-items:center}#car-crash .cc-dashboard-grid .cc-selector article{padding:0;min-height:0;text-align:center}#car-crash .cc-dashboard-grid .cc-selector h4{font-size:18px;margin:0}#car-crash .cc-dashboard-grid .cc-selector p{font-size:11px;margin:2px 0;line-height:1.25}#car-crash .cc-dashboard-grid .cc-selector button{min-height:36px;min-width:36px;padding:3px;font-size:22px}#car-crash .cc-ownership{display:flex;justify-content:space-between;align-items:center;gap:8px}#car-crash .cc-ownership button{min-height:32px;padding:3px 8px;font-size:12px}
#car-crash .cc-driver-picker{width:100%;display:flex;align-items:center;gap:8px;padding:3px 8px;min-height:36px;font-size:12px}#car-crash .cc-driver-picker img{width:28px;height:28px;object-fit:contain;margin:0}#car-crash .cc-driver-picker small{margin-left:auto}#car-crash .cc-boss-reward{font-size:13px;color:#ffdc8b;text-align:center}#car-crash .cc-unlock-note{text-align:center;min-height:18px}
#car-crash .cc-saved-chase{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:3px 8px;background:#36424e;font-size:12px;min-height:32px;flex:none}#car-crash .cc-saved-chase button{min-height:28px;padding:3px 8px;font-size:11px}#car-crash .cc-dashboard-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;flex:none;background:transparent;margin:0;padding:0}#car-crash .cc-dashboard-footer small{font-size:12px;color:#c2d4ca}#car-crash .cc-dashboard-footer .cc-start{margin:0;min-height:44px;min-width:190px;padding:7px 20px;background:#ffcd63;color:#2a2334;font-size:16px;font-weight:800}
#car-crash.cc-dashboard .cc-buy-confirm:not(:empty){position:absolute;inset:12px;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#172731fa;border:1px solid #789181;border-radius:12px;z-index:10;padding:20px;text-align:center}#car-crash.cc-dashboard .cc-buy-confirm p{max-width:520px;font-size:14px}#car-crash.cc-dashboard .cc-buy-confirm button{min-height:44px}
/* Mobile action controls float at the edges; the road occupies the entire view. */
@media(pointer:coarse) and (max-height:600px){.game-session #car-crash:not(.cc-dashboard) .cc-head{position:absolute;inset:auto 6px 8px auto;z-index:5;background:transparent!important;min-height:0!important;padding:0!important;pointer-events:none}.game-session #car-crash:not(.cc-dashboard) .cc-head>div:first-child,.game-session #car-crash:not(.cc-dashboard) .cc-head [data-full],.game-session #car-crash:not(.cc-dashboard) .cc-head [data-exit],.game-session #car-crash:not(.cc-dashboard) .cc-head [data-music-toggle],.game-session #car-crash:not(.cc-dashboard) .cc-head [data-garage],.game-session #car-crash:not(.cc-dashboard) .cc-head [data-pause]{display:none!important}.game-session #car-crash:not(.cc-dashboard) .cc-head [data-audio-retry]{pointer-events:auto}.game-session #car-crash .cc-stage{height:100%!important;min-height:0!important;position:absolute!important;inset:0!important}.game-session #car-crash:not(.cc-dashboard) .cc-controls{position:absolute;inset:0;pointer-events:none;background:transparent!important;padding:0!important;border:0!important;z-index:4}.game-session #car-crash:not(.cc-dashboard) .cc-controls>p,.game-session #car-crash:not(.cc-dashboard) .cc-controls>[data-choose]{display:none}.game-session #car-crash .cc-powers{position:absolute;bottom:10px;right:12px;display:flex;gap:8px;pointer-events:auto;width:auto}.game-session #car-crash .cc-powers button{min-width:76px;min-height:46px;padding:8px;font-size:13px;box-shadow:0 3px 9px #0008}.game-session #car-crash .cc-wrench{position:absolute;left:10px;bottom:10px;pointer-events:auto;background:#153541c4;border-radius:10px;padding:4px;min-width:160px;max-width:200px}.game-session #car-crash .cc-wrench button{width:44px;height:44px;min-height:44px}.game-session #car-crash .cc-hud{top:8px;left:10px;right:68px;background:transparent;gap:6px}.game-session #car-crash .cc-hud span{padding:3px 6px;font-size:11px;background:#132a35b8}.game-session #car-crash .cc-damage{left:10px;top:40px;background:#132a35a8;padding:4px 7px;font-size:11px;max-width:200px}.game-session #car-crash .cc-damage [data-level-name],.game-session #car-crash .cc-damage [data-panels]{display:none}.game-session #car-crash .cc-bubble{font-size:12px}}
@media(max-height:360px){#car-crash .cc-dashboard-grid{gap:10px}#car-crash .cc-dashboard-grid>section{padding:4px 10px}#car-crash .cc-dashboard-grid canvas{height:60px!important}#car-crash .cc-dashboard-title{height:30px}#car-crash .cc-dashboard-title h3{font-size:20px}#car-crash .cc-dashboard-grid .cc-selector h4{font-size:16px}#car-crash .cc-dashboard-grid .cc-selector p{font-size:10px}#car-crash .cc-dashboard-grid{gap:8px}#car-crash .cc-ownership button{min-height:28px}#car-crash .cc-driver-picker{min-height:30px}#car-crash .cc-driver-picker img{height:24px;width:24px}}
@media(max-height:380px){.arena-faceoff .arena-favorite{flex-direction:row;align-items:center;text-align:left;gap:6px}.arena-faceoff .arena-favorite>svg,.arena-faceoff .arena-favorite>img{width:75px;height:75px;flex:none}.arena-faceoff .arena-favorite>div{align-items:flex-start;min-width:0}.arena-faceoff .arena-favorite strong{font-size:15px;line-height:1.15}.arena-faceoff .arena-favorite button{min-height:44px;font-size:12px}.arena-faceoff .arena-faceoff-center{gap:5px}.arena-faceoff #campaignWinReward{font-size:11px}.arena-faceoff #arenaSetup{grid-template-columns:minmax(0,1fr) 150px minmax(0,1fr);grid-template-rows:20px minmax(0,1fr) 52px 46px}.arena-faceoff .arena-guide>svg,.arena-faceoff .arena-guide>img{height:55px;width:48px}.arena-faceoff .arena-guide h3{font-size:18px}.arena-faceoff .arena-next-echo h4{font-size:14px}.arena-faceoff .arena-tier{font-size:11px}.arena-faceoff .arena-echo-preview{width:42px;height:42px}}
#car-crash .cc-dashboard-grid{grid-template-rows:minmax(0,1fr)}#car-crash .cc-dashboard-grid>section{min-height:0;overflow:hidden;gap:3px}#car-crash .cc-dashboard-grid canvas{flex:1 1 60px;max-height:160px;width:100%;min-height:30px!important}#car-crash.cc-dashboard .cc-card .cc-dashboard-footer .cc-start{width:auto;flex:0 0 220px}
@media(max-height:360px){#car-crash .cc-dashboard-grid canvas{flex:1 1 50px;max-height:65px;height:50px!important}#car-crash .cc-dashboard-grid>section{gap:2px}#car-crash .cc-driver-picker{flex-shrink:0}#car-crash .cc-dashboard-grid .cc-selector{flex-shrink:0}}
.arena-faceoff [data-equipment-close]{position:absolute;top:6px;right:8px;min-height:36px!important;font-size:12px!important}.arena-faceoff .campaign-equipment-choices:not([hidden]){padding-top:45px}
.game-session .sock-compact .sock-scene-messages{left:50%!important;right:auto!important;width:min(460px,60%);max-width:calc(100% - 24px)!important;transform:translateX(-50%)}
#car-crash.cc-dashboard .cc-head,#car-crash.cc-dashboard .cc-controls{display:none!important}#car-crash.cc-dashboard .cc-stage{flex:1;min-height:0!important;height:100%!important}
.game-session .sock-compact .sock-scene-messages [data-scene-log]{display:none}.game-session .sock-compact .sock-view-bar .sock-scene-messages{width:min(460px,44%);top:4px!important;padding:4px 8px;min-height:25px;border-radius:8px}.game-session .sock-compact .sock-view-bar .sock-scene-messages strong{font-size:13px}
.game-session #echo-dungeons .dg-map-primary{display:flex;align-items:center;justify-content:center;gap:5px}.game-session #echo-dungeons .dg-map-primary svg{flex:none}.game-session #echo-dungeons .dg-party-hud button{height:40px!important;min-height:40px!important;padding:3px 6px!important}.game-session #echo-dungeons .dg-party-hud [data-dg-power]{display:grid;grid-template-columns:20px 1fr;grid-template-rows:1fr auto;column-gap:4px;align-items:center}.game-session #echo-dungeons .dg-party-hud [data-dg-power]>span{grid-row:1/3;font-size:17px;line-height:18px}.game-session #echo-dungeons .dg-party-hud [data-dg-power]>b{font-size:11px;line-height:12px}.game-session #echo-dungeons .dg-party-hud [data-dg-power]>small{font-size:10px;line-height:10px}.game-session #echo-dungeons .dg-party-hud [data-dg-power]>small:empty{display:none}

/* v3.54: collection artwork stays in the portrait area; stats remain unobstructed. */
#collection .collection-header-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}
#collection .cards>.card{display:flex;flex-direction:column;isolation:isolate;overflow:hidden;min-width:0}
#collection .cards>.card .card-visual{position:relative;display:grid;place-items:center;flex:0 0 auto;height:clamp(140px,22vh,220px);max-height:220px;min-height:0;overflow:hidden;isolation:isolate;padding:18px 12px 6px;box-sizing:border-box}
#collection .cards>.card .card-visual>div{position:relative;width:100%;height:100%;min-height:0;max-height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}
#collection .cards>.card .card-visual img,#collection .cards>.card .card-visual .object-image{position:relative;display:block!important;width:100%!important;height:100%!important;max-height:100%!important;max-width:100%!important;min-width:0!important;object-fit:contain!important;object-position:center!important;transform:none!important;margin:0!important}
#collection .cards>.card .card-info{position:relative;isolation:isolate;z-index:2;display:block;flex:none;min-height:100px;background:#14232e;overflow:hidden}
#collection .cards>.card .card-info h3,#collection .cards>.card .card-info p{position:relative;z-index:3;overflow-wrap:anywhere}
#collection .card-number,#collection .element,#collection .favorite-marker{z-index:3}
@media(max-height:400px){#collection .cards>.card .card-visual{height:130px}#collection .cards>.card .card-info{padding:9px}}

/* v3.54: meaningful visible pre-battle settings, not a hidden one-line details summary. */
.sw-compact-setup .sw-setup-grid{align-content:start;grid-template-rows:auto auto}
.sw-compact-setup .sw-battle-selection{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:clamp(4px,1vh,16px)}
.sw-compact-setup .sw-battle-choice{min-width:0;min-height:clamp(74px,15vh,132px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;text-align:left;gap:4px;padding:12px 16px;border:1px solid #739f9b;border-radius:14px;background:linear-gradient(135deg,#214550,#102631)}
.sw-compact-setup .sw-battle-choice small{font-size:11px;letter-spacing:1px;color:#d9fb9b}
.sw-compact-setup .sw-battle-choice strong{font-size:clamp(17px,3.4vh,28px);line-height:1.12;color:#fff}
.sw-compact-setup .sw-battle-choice span{font-size:12px;color:#bcebdc;text-decoration:underline;text-underline-offset:3px}
.sw-compact-setup .sw-setup-options{position:absolute;left:0;top:0;max-width:1px;max-height:1px;visibility:hidden;pointer-events:none}
.sw-compact-setup .sw-setup-options[open]{visibility:visible;pointer-events:auto;max-width:none;max-height:none;inset:46px 12px 60px;z-index:18}
.sw-compact-setup .sw-setup-options[open]>summary{position:sticky;top:-12px;background:#172731;z-index:2;padding:12px;font-size:15px;cursor:pointer}
@media(max-height:440px){.sw-compact-setup .sw-battle-choice{min-height:70px;padding:7px 12px}.sw-compact-setup .sw-battle-choice strong{font-size:16px}.sw-compact-setup .sw-battle-choice span{font-size:11px}.sw-compact-setup .sw-setup-grid{gap:5px}}
/* Give the racing dashboard the weight of a landscape driving game, not a blank settings page. */
#car-crash.cc-dashboard .cc-card{background:radial-gradient(ellipse at 50% 14%,#3a4a60,#111c2d 80%)}
#car-crash.cc-dashboard .cc-dashboard-grid{gap:clamp(10px,2vw,24px);align-items:stretch}
#car-crash.cc-dashboard .cc-dashboard-grid>section{position:relative;overflow:hidden;justify-content:space-between;gap:8px;padding:clamp(9px,1.8vh,20px);border:1px solid #6e8294;background:linear-gradient(180deg,#172e3b,#253341);box-shadow:inset 0 0 35px #0b1627a8}
#car-crash.cc-dashboard .cc-dashboard-grid>section:before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.38}
#car-crash.cc-dashboard .cc-dashboard-car:before{background:repeating-linear-gradient(90deg,transparent 0 70px,#6e8f8f21 71px 74px),linear-gradient(180deg,#7f829533,#223948 65%,#0c1c27)}
#car-crash.cc-dashboard .cc-dashboard-track:before{background:repeating-linear-gradient(0deg,transparent 0 48px,#eddfb433 50px 55px,transparent 57px 110px),linear-gradient(90deg,#638b6d 0 17%,#3a444b 18% 82%,#638b6d 83%)}
#car-crash.cc-dashboard .cc-dashboard-grid canvas{position:relative;z-index:1;flex:1 1 0!important;width:100%!important;height:0!important;max-height:310px!important;min-height:0!important;object-fit:contain}
#car-crash.cc-dashboard .cc-dashboard-grid .cc-selector{position:relative;z-index:2;margin-top:auto;background:#132531c7;border-radius:14px;padding:6px}
#car-crash.cc-dashboard .cc-dashboard-grid small,#car-crash.cc-dashboard .cc-ownership,#car-crash.cc-dashboard .cc-driver-picker,#car-crash.cc-dashboard .cc-boss-reward,#car-crash.cc-dashboard .cc-unlock-note{position:relative;z-index:2}
#car-crash.cc-dashboard .cc-dashboard-grid .cc-selector h4{font-size:clamp(18px,3vh,26px)}
#car-crash.cc-dashboard .cc-dashboard-grid .cc-selector button{min-height:42px;min-width:42px;font-size:28px}
#car-crash.cc-dashboard .cc-dashboard-grid .cc-boss-reward{color:#ffe18b;font-size:clamp(13px,2.1vh,18px);text-align:center}
@media(max-height:410px){#car-crash.cc-dashboard .cc-dashboard-grid>section{gap:2px;padding:5px 8px}#car-crash.cc-dashboard .cc-dashboard-grid .cc-selector button{min-height:30px;min-width:30px}}

/* v3.56: front-three-quarter illustrated targets replace overhead boss renders. */
#car-crash.cc-dashboard .cc-dashboard-grid .cc-boss-artwork{
 position:relative;z-index:1;flex:1 1 auto;min-height:0;
 border:1px solid #a8b9a378;border-radius:12px;
 overflow:hidden;display:flex;align-items:center;justify-content:center;
 background:linear-gradient(150deg,#465671,#1a3341);
}
#car-crash.cc-dashboard .cc-boss-artwork svg{
 width:100%;height:100%;max-height:none;display:block;
 image-rendering:pixelated;object-fit:cover;
 filter:drop-shadow(0 5px 12px #07141a85);
}
#car-crash.cc-dashboard .cc-chase-boss-count{
 position:absolute;right:8px;top:8px;z-index:3;
 border-radius:9px;background:#132631e8;color:#fff2bc;
 font-size:12px;font-weight:800;padding:5px 8px;
}
#car-crash.cc-dashboard .cc-dashboard-track:before{opacity:0!important}
#car-crash.cc-dashboard .cc-boss-artwork+.cc-selector{margin-top:0}
@media(max-height:430px){
 #car-crash.cc-dashboard .cc-boss-artwork{min-height:0}
 #car-crash.cc-dashboard .cc-chase-boss-count{font-size:9px;padding:3px 5px}
}

/* v3.57: real landscape tablets use the same edge-mounted in-game controls
   and full-road stage as phones. No desktop/desktop-tablet changes. */
@media (pointer:coarse) and (orientation:landscape) and (min-height:600px){
 .game-session #car-crash.cc-tablet-play:not(.cc-dashboard) .cc-stage{
  position:absolute!important;inset:0!important;width:100%!important;
  height:100%!important;min-height:0!important;z-index:1;
 }
 .game-session #car-crash.cc-tablet-play:not(.cc-dashboard) .cc-head{
  position:absolute!important;inset:auto 8px 8px auto!important;
  z-index:6;min-height:0!important;padding:0!important;
  background:transparent!important;border:0!important;pointer-events:none;
 }
 .game-session #car-crash.cc-tablet-play:not(.cc-dashboard) .cc-head>div:first-child,
 .game-session #car-crash.cc-tablet-play:not(.cc-dashboard) .cc-head [data-full],
 .game-session #car-crash.cc-tablet-play:not(.cc-dashboard) .cc-head [data-exit],
 .game-session #car-crash.cc-tablet-play:not(.cc-dashboard) .cc-head [data-music-toggle],
 .game-session #car-crash.cc-tablet-play:not(.cc-dashboard) .cc-head [data-garage],
 .game-session #car-crash.cc-tablet-play:not(.cc-dashboard) .cc-head [data-pause]{display:none!important}
 .game-session #car-crash.cc-tablet-play:not(.cc-dashboard) .cc-controls{
  position:absolute!important;inset:0!important;z-index:5;
  pointer-events:none;background:transparent!important;border:0!important;
  padding:0!important;margin:0!important;
 }
 .game-session #car-crash.cc-tablet-play:not(.cc-dashboard) .cc-controls>p,
 .game-session #car-crash.cc-tablet-play:not(.cc-dashboard) .cc-controls>[data-choose]{display:none!important}
 .game-session #car-crash.cc-tablet-play:not(.cc-dashboard) .cc-powers{
  position:absolute;bottom:max(12px,env(safe-area-inset-bottom));right:max(12px,env(safe-area-inset-right));
  display:flex;flex-wrap:nowrap;gap:7px;pointer-events:auto;width:auto;
 }
 .game-session #car-crash.cc-tablet-play:not(.cc-dashboard) .cc-powers button{
  min-width:68px;min-height:44px;padding:6px 9px;
  font-size:12px;line-height:1.1;box-shadow:0 3px 10px #0009;
 }
 .game-session #car-crash.cc-tablet-play:not(.cc-dashboard) .cc-wrench{
  position:absolute;bottom:max(12px,env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left));
  pointer-events:auto;min-width:150px;max-width:190px;
  padding:4px;gap:6px;border-radius:11px;background:#153541d8;
 }
 .game-session #car-crash.cc-tablet-play:not(.cc-dashboard) .cc-wrench button{
  width:44px;height:44px;min-height:44px;padding:5px;
 }
 .game-session #car-crash.cc-tablet-play:not(.cc-dashboard) .cc-wrench strong{font-size:11px}
 .game-session #car-crash.cc-tablet-play:not(.cc-dashboard) .cc-wrench small{font-size:9px;margin-top:1px}
 .game-session #car-crash.cc-tablet-play:not(.cc-dashboard) .cc-hud{
  top:8px;left:max(10px,env(safe-area-inset-left));right:70px;gap:6px;
 }
 .game-session #car-crash.cc-tablet-play:not(.cc-dashboard) .cc-hud span{
  padding:5px 8px;font-size:11px;background:#132a35d7;
 }
 .game-session #car-crash.cc-tablet-play:not(.cc-dashboard) .cc-damage{
  top:46px;left:10px;padding:5px 7px;font-size:11px;max-width:240px;
  background:#132a35c9;
 }
 .game-session #car-crash.cc-tablet-play:not(.cc-dashboard) .cc-damage [data-panels]{display:none}
 .game-session #car-crash.cc-tablet-play:not(.cc-dashboard) .cc-bubble{
  padding:7px 10px;font-size:12px;
 }
}
/* Compact 7-inch landscape tablets should remain finger-accessible. */
@media (pointer:coarse) and (orientation:landscape) and (min-height:600px) and (max-height:780px){
 .game-session #car-crash.cc-tablet-play:not(.cc-dashboard) .cc-powers button{min-width:64px;padding:5px 7px}
 .game-session #car-crash.cc-tablet-play:not(.cc-dashboard) .cc-wrench{max-width:164px;min-width:146px}
 .game-session #car-crash.cc-tablet-play:not(.cc-dashboard) .cc-hud span{padding:4px 6px;font-size:10px}
}


/* V3.58: capture is landscape-first with two large primary choices. */
#capture>.section-top{padding-right:64px;display:flex;justify-content:space-between;align-items:center;gap:8px}
#captureHelpBtn{flex:0 0 auto;min-height:42px;padding:6px 14px;border:1px solid #688382;background:#1c3338;color:#e2ffa3;border-radius:10px;white-space:nowrap}
#capture .capture-controls #randomObjectBtn{background:#233947;color:#ecf6fc;border:1px solid #477181;font-weight:800;min-height:48px}
#capture .capture-controls #cameraBtn{min-height:48px;font-weight:800}
#capture #captureActions:not([hidden]){display:flex;flex-direction:column;gap:6px;margin-top:10px}
#capture #captureActions #objectName{max-height:44px}
#capture .capture-zone #captureImage{object-fit:contain;max-width:100%;max-height:100%}
#captureHelpDialog{inset:0;margin:auto;padding:0;max-width:min(960px,96vw);width:96vw;max-height:94dvh;overflow:auto;background:#101b27;color:#f2f7f5;border:1px solid #87a6a5;border-radius:16px;box-shadow:0 25px 90px #000b}
#captureHelpDialog::backdrop{background:#000c}
#captureHelpDialog .capture-help-header,#captureHelpDialog .capture-help-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px}
#captureHelpDialog .capture-help-header strong{font-size:clamp(14px,2vw,20px)}
#captureHelpDialog button{min-height:42px;border:1px solid #668a88;border-radius:9px;background:#1a303c;color:#ecfff4;padding:6px 12px;font:inherit;font-weight:700}
#captureHelpDialog video{display:block;width:100%;max-height:69dvh;aspect-ratio:16/9;object-fit:contain;background:black}
#captureHelpDialog .capture-help-footer span{font-size:clamp(11px,1.5vw,14px);color:#d6fa72}
#captureHelpDialog .capture-help-footer button{white-space:nowrap}
@media(max-height:520px) and (orientation:landscape){
 #capture>.section-top{padding-right:58px}
 #capture .capture-controls>h3{margin-block:2px}
 #capture .capture-controls>p{margin-block:2px}
 #capture .capture-controls #cameraBtn,#capture .capture-controls #randomObjectBtn{min-height:42px}
 #capture #captureActions:not([hidden]){gap:3px}
 #captureHelpDialog video{max-height:61dvh}
}

/* Boss images share one stage; card-wide thumbnail rules must not size them. */
#car-crash.cc-dashboard .cc-boss-portrait-stage{position:relative;display:block;width:100%;height:100%;min-height:0;flex:1;align-self:stretch}
#car-crash.cc-dashboard .cc-boss-portrait-stage>svg,
#car-crash.cc-dashboard .cc-card .cc-boss-raster{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;margin:0;image-rendering:pixelated}
#car-crash.cc-dashboard .cc-boss-portrait-stage>svg[hidden]{display:none!important}
#car-crash.cc-dashboard .cc-dashboard-grid>section>:not(canvas):not(.cc-boss-artwork){flex-shrink:0}
@media(max-height:360px){
 #car-crash.cc-dashboard .cc-card{padding:4px 10px;gap:2px}
 #car-crash.cc-dashboard .cc-dashboard-title{height:30px}
 #car-crash.cc-dashboard .cc-dashboard-grid .cc-selector{padding:2px}
 #car-crash.cc-dashboard .cc-dashboard-grid .cc-selector h4{font-size:16px}
 #car-crash.cc-dashboard .cc-dashboard-footer{min-height:44px}
 #car-crash.cc-dashboard .cc-driver-picker{min-height:30px;font-size:11px}
}

