:root{--gs-bar:0px;--gs-height:100dvh;--gs-content-height:100dvh;--gs-radius:12px}
#gameLaunch,#gameHold{position:fixed;inset:0;z-index:20000;display:grid;place-items:center;padding:16px;background:radial-gradient(ellipse at 50% 25%,#253d43,#0c1116 75%);overflow:auto}#gameLaunch[hidden],#gameHold[hidden],#gameOptions[hidden],#gameBar[hidden]{display:none!important}.gs-launch-card{width:min(560px,100%);padding:clamp(16px,4vh,38px);border:1px solid #57716d;border-radius:18px;background:#15252eef;text-align:center}.gs-launch-card h1{font-size:clamp(30px,6vh,54px);margin:8px}.gs-launch-card button,.gs-launch-card a{margin:6px;min-height:44px}.gs-launch-card p{line-height:1.5}
.game-launch-ready:not(.game-session)>.app{visibility:hidden}#gameBar{display:none}.game-session{overflow:hidden!important;padding:0!important}.game-session>.app{visibility:visible!important;max-width:none;width:100%;height:var(--gs-height);margin:0;padding:0!important}.game-session>.app>header,.game-session>.app>footer,.game-session #guestTrialNotice{display:none!important}.game-session>.app>main{position:fixed;inset:var(--gs-bar) 0 auto;height:var(--gs-content-height);padding:0;overflow:hidden}.game-session .panel:not([hidden]){box-sizing:border-box;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-height:none!important;margin:0!important;border:0!important;border-radius:0!important;padding:16px;overflow:auto;overscroll-behavior:contain}.game-session .panel[hidden]{display:none!important}
#gameBar{position:fixed;inset:0 0 auto;height:var(--gs-bar);padding:2px max(6px,env(safe-area-inset-right)) 2px max(6px,env(safe-area-inset-left));box-sizing:border-box;z-index:10000;background:#14232d;align-items:center;gap:10px;border-bottom:1px solid #405650}.game-session #gameBar{display:flex}#gameBar button{min-height:44px;padding:6px 12px;margin:0}#gameBar strong{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#gameBar span{color:#d6fa72;font-size:14px;white-space:nowrap}#gameOptions{position:fixed;inset:48px 0 0;z-index:15000;background:#101e28f9;padding:16px max(16px,env(safe-area-inset-right));overflow:auto}.gs-menu-top{display:flex;justify-content:space-between;align-items:center;gap:16px}.gs-menu-top h2{font-size:24px;margin:0}.gs-menu-tools{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.game-session #mainNavigation{position:relative!important;inset:auto!important;z-index:auto!important}.game-session .trapper-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:relative!important;inset:auto!important;padding:12px 0;margin:0;gap:10px}.game-session .trapper-nav button{min-height:48px;font-size:14px;flex-direction:row;justify-content:center}.game-session .nav-drawer{position:relative!important;inset:auto!important;width:auto;max-height:none;box-shadow:none;padding:8px}.game-session .nav-category{min-width:0}.game-session .nav-drawer button{justify-content:flex-start;width:100%;white-space:normal}.game-session #mainNavigation small{display:inline}
.game-session button,.game-session .link-button{min-height:44px;border-radius:var(--gs-radius);font:inherit;font-size:14px;line-height:1.25}.game-session .primary{background:#d6fa72;color:#152222;border-color:#d6fa72}.game-session .secondary{background:#1c303d;color:#edf5ed;border-color:#54716d}.game-session button:disabled{opacity:.5;cursor:not-allowed}.game-session button:focus-visible,.game-session input:focus-visible,.game-session select:focus-visible{outline:3px solid #ffe0a0;outline-offset:2px}.game-session h2{font-size:24px;line-height:1.2}.game-session .section-top{margin-bottom:12px;gap:12px}.game-session input:not([type=radio]):not([type=checkbox]),.game-session select{min-height:44px;font-size:16px}.game-session dialog{box-sizing:border-box;max-height:calc(var(--gs-height) - 16px);max-width:calc(100vw - 16px);overflow:auto}.game-session dialog .modal-close{position:sticky;top:0;float:right;z-index:5;min-width:44px;background:#1c303d}
.game-session .sock-fullscreen,.game-session .nk-fullscreen,.game-session .echo-home-open,.game-session .cc-full-play,.game-session .wm-playing,.game-session .sw-phone-open,.game-session .dg-phone-open{position:absolute!important;inset:0!important;height:100%!important;padding:0!important;overflow:hidden!important;z-index:1!important}.game-session #adventure.sock-fullscreen:not(.adventure-gated){overflow:hidden!important}.game-session #adventure:not(.sock-fullscreen),.game-session #word-mimic:not(.wm-playing){padding:16px!important;overflow:auto!important}.game-session #battle.campaign-fight-screen{position:absolute!important;inset:0!important;height:100%!important;z-index:10;box-sizing:border-box}.game-session .campaign-equipment-shot,.game-session .campaign-equipment-impact{z-index:3000}.game-session .wm-shell{height:100%!important;min-height:0!important}.game-session #word-mimic.wm-playing{padding:0!important}.game-session .dg-phone-entry,.game-session .sw-phone-entry,.game-session .sw-phone-exit,.game-session #dgExit,.game-session #sockExitView,.game-session [data-nk-exit],.game-session [data-home-exit],.game-session [data-full],.game-session #car-crash [data-exit]{display:none!important}.game-session #echo-home .eh-wallet{display:none}.game-session #stuff-wars.sw-phone-open{overflow:auto!important}.game-session #echo-dungeons .dg-town{max-height:100%;overflow:auto}.game-session #capture .capture-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);gap:18px}.game-session .capture-zone{min-height:180px;max-height:calc(var(--gs-content-height) - 80px);padding:12px}.game-session #cards{overflow:visible}.game-session #captureOverlay{height:var(--gs-height)!important}.game-session .capture-reveal,.game-session .capture-loading{min-height:var(--gs-height)!important}.game-session .nk-top,.game-session .echo-home-bar,.game-session .sock-view-bar{min-height:44px}
.gs-home{max-width:1100px;margin:auto}.gs-home-heading{display:flex;align-items:center;gap:20px}.gs-home-heading img{width:110px;height:110px;object-fit:contain}.gs-home-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.gs-home-grid button{min-height:100px;padding:15px;text-align:left;display:flex;flex-direction:column;justify-content:center;gap:8px}.gs-home-grid button strong{font-size:18px}.gs-home-grid small{opacity:.8}.gs-home-empty{padding:16px;background:#1c303d;border-radius:12px}
@media(max-height:450px){.game-session .panel:not([hidden]){padding:10px}.game-session h2{font-size:21px}.gs-home-heading img{width:70px;height:70px}.gs-home-grid button{min-height:76px}.game-session .gs-home h1{font-size:28px;margin:5px 0}.game-session .trapper-nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.game-session .nav-drawer{padding:4px}.game-session #battle.campaign-fight-screen{grid-template-rows:32px 46px minmax(0,1fr) 20px}.game-session .wm-alphabet button{min-height:44px}.game-session .wm-shell{overflow:auto}.gs-launch-card{padding:12px}.gs-launch-card h1{font-size:28px}.gs-launch-card p{margin:8px}}
@media(max-width:650px){#gameBar span{display:none}.gs-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.game-session #capture .capture-layout{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.game-session *{scroll-behavior:auto!important}}

.game-session .panel:not([hidden]){transform:translateZ(0)}
.game-session .dg-music-toggle{position:absolute!important;top:4px!important;right:6px!important;min-width:44px;min-height:44px}
.game-session .game-music{position:absolute!important;top:4px;right:6px}

.gs-notices{position:relative}.gs-notices .home-notices{position:relative;inset:auto;max-height:45vh;overflow:auto}.game-session #gameOptions .home-notices h2{font-size:20px}
.game-session .forge-dialog,.game-session .dg-overlay,.game-session .sw-picker{border-radius:12px}.game-session .forge-dialog>div{max-height:calc(var(--gs-content-height) - 16px);overflow:auto}
.game-session #game-home [data-game-route],.game-session .nav-drawer button{min-height:48px}

.game-session #adventure:not(.sock-fullscreen) .adventure-card{display:grid;grid-template-columns:minmax(150px,32%) minmax(0,1fr);gap:12px;min-height:0}
.game-session #adventure:not(.sock-fullscreen) .adventure-cover{height:150px!important;min-height:0!important;aspect-ratio:auto!important}
@media(max-height:450px){.game-session #adventure:not(.sock-fullscreen) .adventure-cover{height:100px!important}.game-session #adventure .adventure-card-copy{padding:12px}.game-session #adventure .adventure-card-copy h3{font-size:22px;margin:0 0 6px}.game-session #adventure .adventure-carousel{margin:6px 0}.game-session #adventure .adventure-current{margin:8px 0}.game-session #adventure .adventure-current img{width:44px;height:44px}}

.game-session .game-music,.game-session #dgMusicToggle,.game-session #dgMusicPanel,.game-session #car-crash [data-audio-toggle],.game-session #car-crash .cc-audio{display:none!important}.gs-menu-tools label{display:flex;align-items:center;gap:10px;min-height:44px}.gs-menu-tools input[type=range]{width:160px}.gs-menu-tools input[type=checkbox]{width:22px;height:22px}

#gameHold{width:100vw;height:var(--gs-height);max-width:none;max-height:none;margin:0;border:0;color:#edf5ed;box-sizing:border-box}#gameHold::backdrop{background:#0c1116}

.gs-menu-top{position:sticky;top:-16px;z-index:3;padding:8px 0;background:#101e28}.game-session .nk-top>span{display:none}
/* Short landscape keeps all gameplay controls inside the shared frame. */
.game-session #echo-dungeons .dg-arrows{grid-template-columns:repeat(3,44px)!important;grid-template-rows:repeat(3,44px)!important;gap:2px!important;padding:2px!important;bottom:calc(var(--dg-footer-height,80px) + 6px)!important;right:6px!important;box-sizing:border-box}
.game-session #echo-dungeons .dg-arrows button{min-height:44px!important;height:44px!important;padding:8px!important;display:grid;place-items:center}.game-session #echo-dungeons .dg-arrows svg{width:24px;height:24px}
.game-session #echo-dungeons .dg-hud{right:154px!important;gap:6px;min-height:44px!important}.game-session #echo-dungeons .dg-hud strong{max-width:160px}.game-session #echo-dungeons .dg-hud button{padding:5px 8px}
.game-session #car-crash [data-music-toggle],.game-session #car-crash [data-music-panel],.game-session #car-crash [data-audio-retry]{display:none!important}
.game-session #car-crash.cc-full-play .cc-stage{min-height:0!important}.game-session #car-crash .cc-head{min-height:44px!important;padding:2px 8px!important}.game-session #car-crash .cc-head h2{font-size:20px;margin:0}.game-session #car-crash .cc-head small{display:none}.game-session #car-crash .cc-controls{padding:4px 8px;gap:6px}.game-session #car-crash [data-repair-clock]{display:none}
#echo-home .eh-book-spread{overflow:hidden}#echo-home .eh-book-spread figure{min-height:0;max-height:100%;position:relative!important;top:auto;align-self:stretch}#echo-home .eh-book-spread article{overflow:auto;overscroll-behavior:contain;min-height:0}#echo-home .eh-book-spread figure>img,#echo-home .eh-book-spread figure>svg,#echo-home .eh-book-spread canvas,#echo-home .eh-book-spread .book-layer-art{height:100%!important;min-height:0!important;max-height:100%;object-fit:contain}
#echo-home .eh-book-spread{grid-template-rows:minmax(0,1fr)}
.game-session #echo-dungeons .dg-arrows{margin:0!important}

/* V3.50: game content fills the screen; global navigation is on demand. */
#gameBar{position:fixed;inset:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) auto auto;width:44px;height:44px;padding:0;border:0;background:transparent;z-index:12000}
.game-session #gameBar{display:block}
#gameBar button.gs-menu-trigger{display:grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;margin:0;font-size:25px;line-height:1;border:1px solid #90b0a999;border-radius:12px;background:#132630c9;color:#f3f8f0;opacity:.72;cursor:pointer;backdrop-filter:blur(5px);transition:opacity .15s ease,background .15s ease}
#gameBar button.gs-menu-trigger:hover,#gameBar button.gs-menu-trigger:focus-visible,#gameBar button.gs-menu-trigger:active{opacity:1;background:#1f3a49}
#gameOptions{inset:0;display:flex;justify-content:flex-end;background:#050d12ae;padding:0;overflow:hidden}
#gameOptions .gs-menu-panel{box-sizing:border-box;width:min(460px,calc(100vw - 12px));height:var(--gs-height);max-height:100%;padding:16px max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) 16px;background:#101e28;overflow-y:auto;overscroll-behavior:contain;box-shadow:-12px 0 45px #0008}
#gameOptions .gs-menu-top{position:sticky;top:-16px;z-index:3;margin:-16px -16px 0;padding:16px;min-height:44px;align-items:flex-start;border-bottom:1px solid #3b575e;background:#101e28}
#gameOptions .gs-menu-top h2{margin:0;font-size:22px}
#gameOptions .gs-menu-top h2 small{font-size:12px;color:#abc4bd;font-weight:400}
#gameOptions .gs-menu-context{display:flex;flex-wrap:wrap;gap:5px 16px;margin:8px 0 0;font-size:13px;color:#c4d6d0}
#gameOptions [data-shell-wallet]{color:#d6fa72;font-weight:700}
#gameOptions .gs-menu-home{display:block;width:100%;margin:12px 0 0;text-align:left}
.game-session #gameOptions .trapper-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px 0;margin:0;border:0;background:transparent}
.game-session #gameOptions .trapper-nav>button,.game-session #gameOptions .trapper-nav>.nav-category{min-width:0}
.game-session #gameOptions .nav-category{grid-column:1/-1}
.game-session #gameOptions .nav-category>button{justify-content:flex-start;padding:9px 12px}
.game-session #gameOptions .nav-drawer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:100%;box-sizing:border-box;margin-top:6px;border:0;background:transparent}
.game-session #gameOptions .nav-drawer strong{grid-column:1/-1}
.game-session #gameOptions .nav-drawer button{margin:0;min-height:44px;padding:8px}
.game-session #gameOptions .trapper-nav button{min-height:44px}
#gameOptions .gs-menu-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:14px;border-top:1px solid #3b575e}
#gameOptions .gs-menu-tools>label{grid-column:1/-1}
#gameOptions .gs-menu-tools>button{min-width:0;white-space:normal}
@media(max-height:450px){#gameOptions .gs-menu-top{padding:10px 16px}#gameOptions .gs-menu-panel{padding-top:10px}.game-session #gameOptions .trapper-nav{padding:8px 0}}
@media(prefers-reduced-motion:reduce){#gameBar button.gs-menu-trigger{transition:none}}
