/* Expedition edition — readable typography and one coherent layout for every viewport. */
:root{--font:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--ui-fg:#e8efe4;--ui-border:#637c70;--ui-border-hl:#b5e2c8;--panel:#172821;--box-height:64px;--fs:14px;--fs-small:13px;--fs-tiny:12px}
html,body{background:#20362b;color:var(--ui-fg);font-family:var(--font);-webkit-font-smoothing:antialiased}
button,input,select{font-family:var(--font);font-size:14px}
.pixel-btn,.pad-btn,.pill{color:#e8efe4;background:#243b30;border:1px solid #698675;border-radius:12px;box-shadow:none;text-shadow:none;min-height:44px;font-size:14px;letter-spacing:0;transition:background .15s}
.pixel-btn:hover,.pad-btn:hover{background:#385747;transform:none;box-shadow:none}
.pixel-btn:focus-visible,.pad-btn:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #a6e6cb;outline-offset:3px}
.pixel-btn.danger{color:#ffd0bd;border-color:#a97063;background:#4c302b}
.primary-action{color:#c6f1d7!important;border-color:#92b9a2!important;background:#294937!important}
.hud,.platform-vision .hud{top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));width:auto;transform:none;gap:6px;pointer-events:none}
.hud-row{justify-content:space-between;gap:8px}
.hud-cluster{background:rgba(24,43,34,.93);border:1px solid #638271;border-radius:16px;box-shadow:0 4px 16px #17291a33;padding:5px;min-height:0;gap:6px;pointer-events:auto}
.hud-cluster-status{flex:0 1 auto;flex-wrap:nowrap}
.hud .pill,.hud .pixel-btn{min-height:42px;font-size:13px;padding:8px 12px;min-width:44px}
.hud-cluster-tools{display:none;position:absolute;right:0;top:58px;max-width:min(400px,calc(100vw - 24px));max-height:70dvh;overflow:auto;grid-template-columns:repeat(3,1fr);z-index:20;gap:8px;padding:12px}
.menu-open .hud-cluster-tools{display:grid!important}
.hud-cluster-tools .pixel-btn{display:inline-flex!important;justify-content:center;align-items:center;min-height:48px}
.hud-cluster-more{display:none!important}
#tinyHud{font-family:var(--font)!important;font-size:13px!important;color:#edf1e7!important;text-shadow:none!important;background:#1a3026e8;border:0;box-shadow:none;padding:7px 12px;border-radius:9px;max-width:max-content;letter-spacing:.2px}
#livingDungeonHud{font-family:var(--font);font-size:12px!important;color:#cfdfd2;background:#1a3026db;border:0;box-shadow:none;padding:7px 12px;border-radius:9px;max-width:max-content;display:flex;flex-wrap:wrap;gap:12px;text-shadow:none;grid-template-columns:none}
#livingDungeonHud span{font-size:12px!important}
#questHud{display:none!important}
#simulationContainer.sim{position:absolute;top:0;left:0;width:100%;height:calc(100dvh - 64px - env(safe-area-inset-bottom));min-height:0;margin:0;border:0}
#glCanvas{image-rendering:auto}
.box{height:calc(64px + env(safe-area-inset-bottom));left:0;right:0;bottom:0;width:100%;border-radius:0;border:0;border-top:1px solid #658374;background:#172b23f5;padding:10px 16px calc(10px + env(safe-area-inset-bottom));box-shadow:none;overflow:hidden;z-index:15}
.box-toolbar{display:flex;align-items:center;flex-wrap:nowrap;gap:8px;margin:0;overflow-x:auto;white-space:nowrap;font-size:13px}
.box-toolbar>span{margin-right:auto;color:#b6caba}
.box-toolbar .pixel-btn{font-size:13px;min-height:42px;flex-shrink:0}
.box .stats,.box #capturedContainer{display:none}
.collection-open .box{height:min(46dvh,390px);overflow:auto}
.collection-open .box .stats{display:block;font-size:12px;margin-bottom:8px}
.collection-open .box #capturedContainer{display:grid;grid-template-columns:repeat(auto-fill,minmax(126px,1fr));max-height:none;overflow:visible;margin-top:14px}
.pokemon-card,.item-card{background:#213a2e!important;border:1px solid #638371!important;border-radius:14px;padding:12px!important;box-shadow:none;min-width:0}
.pokemon-card.favorite{border-color:#d7c184!important}
.pokemon-card img,.item-card img{width:64px;height:64px;object-fit:contain}
.poke-name,.small-stat{font-family:var(--font);font-size:13px!important;line-height:1.45;color:#e5eee3}
.overlay{background:#0c1915aa;backdrop-filter:blur(7px);padding:20px;align-items:center}
.overlay .panel{background:#172c23;border:1px solid #779582;border-radius:24px;box-shadow:0 20px 90px #0006;color:#e5ede2;padding:26px;max-height:88dvh;overflow-y:auto}
.panel h1{font:600 clamp(24px,4vw,34px)/1.15 var(--font);letter-spacing:-.7px;color:#e7eee0}
.panel h2{font:600 22px/1.2 var(--font);color:#e7eee0}
.panel h3{font-family:var(--font)!important;font-size:16px!important;color:#c6e5d1!important}
.panel p,.panel [style*="font-size:9px"],.panel [style*="font-size:10px"],.panel [style*="font-size:8px"]{font-size:14px!important;line-height:1.65}
.panel .row{flex-wrap:wrap;gap:10px}
.panel input,.panel select{background:#243d30;color:#eff4ea;border:1px solid #769380;border-radius:12px;padding:12px;min-width:0;max-width:100%;min-height:44px}
.bag-filters{display:flex;gap:10px;margin:16px 0}.bag-filters input{flex:1;width:60%}.bag-filters select{width:40%}
.game-toast{font-family:var(--font)!important;font-size:14px!important;line-height:1.5;text-shadow:none!important;top:auto!important;bottom:calc(82px + env(safe-area-inset-bottom));max-width:min(560px,90vw);border-width:1px!important;z-index:20000!important}
.minimap{width:132px;height:132px;border:1px solid #96b79b;border-radius:18px;box-shadow:0 5px 20px #10221533;opacity:.93;right:16px!important;bottom:16px!important}
.mobile-pad{left:12px;bottom:12px;background:#1a3026dd;border:1px solid #698675;box-shadow:none;padding:6px;border-radius:16px;gap:4px;touch-action:none}
.pad-btn{width:44px;height:44px;min-height:44px;font-size:18px;border-width:1px;background:#243b30}
.mobile-pad .sense{display:none}.mobile-pad .mid-row{gap:4px}
.home-dialog .panel{max-width:570px}.home-dialog p{margin:16px 0 24px}
#welcomeOverlay .panel{max-width:520px;text-align:left;padding:40px}
#welcomeForm{display:flex;flex-direction:column;gap:12px}
#welcomeForm button{background:#b8d7b2;color:#213b28;border-color:#b8d7b2;font-weight:650}
.platform-vision .pixel-btn,.platform-quest .pixel-btn{min-height:52px;min-width:52px}
.mode-vr .box,.mode-vr .hud,.mode-vr .mobile-pad,.mode-ar .box,.mode-ar .hud,.mode-ar .mobile-pad{display:none!important}
.mode-vr #simulationContainer,.mode-ar #simulationContainer{height:100dvh}
@media(max-width:700px){
 .hud,.platform-vision .hud{left:8px;right:8px;top:max(8px,env(safe-area-inset-top))}.hud .pill{padding:6px 8px}.hud-label{display:none}.hud .pixel-btn{padding:7px 10px}.hud-cluster-status{max-width:100%}
 #livingDungeonHud{max-width:calc(100vw - 16px);font-size:11px!important;gap:6px 10px}.living-dungeon-hud span:nth-child(4){display:none}
 .box{padding-left:8px;padding-right:8px}.box-toolbar>span{display:none}.box-toolbar{gap:5px}.box-toolbar .pixel-btn{font-size:12px;padding:8px 10px}
 .minimap{width:92px;height:92px;bottom:12px!important;right:12px!important}.mobile-pad{display:flex;transform:none}.overlay{padding:10px;align-items:center}.overlay .panel{border-radius:22px;padding:22px;max-height:90dvh}#welcomeOverlay .panel{padding:26px}
 .box .pokemon-card{display:flex;flex-direction:column}.box .pokemon-card img{width:56px;height:56px}.box .pokemon-card .poke-name,.box .pokemon-card .small-stat{max-width:none}
}
@media(max-height:500px) and (orientation:landscape){#livingDungeonHud{display:none!important}.minimap{width:84px;height:84px}.mobile-pad{transform:scale(.85);transform-origin:bottom left}.hud-cluster-tools{max-height:65dvh}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
