:root{--bg:#0a1714;--panel:#122821ed;--lime:#f3d474;--line:#486556;--muted:#b2c4b0}
html,body{width:100%;min-height:100%;margin:0}body{background:#0a1714}header{position:fixed;z-index:8;top:0;left:0;right:0;height:54px;padding:0 24px;background:linear-gradient(#081811e8,#08181100);border:0}.header-right>span,.brand>.tag{display:none}main{max-width:none;padding:0}footer{position:fixed;bottom:8px;left:18px;z-index:3;padding:0;font-size:9px}body[data-scene=run] footer{display:none}button{border-radius:5px;box-shadow:0 3px 0 #07130b66}button:hover{transform:none}
#run{height:100dvh}#run>.hero{position:fixed;z-index:5;right:20px;top:65px;margin:0;gap:12px}#run>.hero>div{display:none}#pauseBtn{padding:7px 12px;background:#10271be8;font-size:12px}
#run .layout{display:block;height:100%}.game-shell{height:100%;border:0;border-radius:0;overflow:hidden}
#game,.game-shell:has(#tutorialCard:not(.hidden)) #game{position:absolute;inset:0;width:100%;height:100dvh;min-height:0}
.game-top{position:absolute;z-index:3;top:58px;left:22px;right:150px;background:transparent;padding:0;justify-content:flex-start;gap:24px;pointer-events:none;text-shadow:1px 2px #102014;font-size:12px}
.game-bottom{position:absolute;z-index:3;left:50%;transform:translateX(-50%);bottom:18px;width:min(880px,calc(100% - 36px));padding:10px;background:#0b201be8;border:1px solid #6b8664;box-shadow:0 8px 30px #0005;border-radius:9px;align-items:center;flex-wrap:nowrap}
.hud-party{flex:1;min-width:0}.hud-mon{width:185px;min-width:0;flex:1;position:relative;padding:8px 10px;background:#10271e}.hud-mon b{font-size:12px}.hud-mon small{display:block;font-size:10px;margin-top:3px}.hud-mon img{float:left}.hud-mon .hp{clear:both;margin-top:8px}.hud-mon em,em{font-size:12px;font-style:normal;color:#f3d474}
.controls{gap:6px}.controls button{font-size:11px;padding:12px 9px;background:#163c2e}.hp{height:5px}.hp i{background:#a4da7a}.xp{height:4px;background:#071710;margin:5px 0;overflow:hidden;border-radius:2px}.xp i{display:block;height:100%;background:#7dd6ee;transition:width .3s}
#terrainStatus{position:absolute;z-index:3;bottom:135px;left:50%;transform:translateX(-50%);background:#0b201bcc!important;border-radius:5px;white-space:nowrap;font-size:11px!important;padding:5px 12px!important}
#tutorialCard{position:absolute;z-index:4;top:100px;left:22px;max-width:390px;background:#102a20eb;border:1px solid #8a9d6c;border-left:4px solid #f3d474;border-radius:6px;padding:13px 16px;box-shadow:0 5px 25px #0004}#tutorialCard b{font-size:16px}#tutorialCard p{font-size:12px}#tutorialCard button{padding:6px 8px}
.overlay{z-index:7}.dialog{max-height:85dvh;overflow:auto;padding:24px}.dialog h2{font-size:24px}.dialog p{font-size:12px;margin:12px 0}.dialog .loot{font-size:14px;padding:8px}.dialog .row{margin-top:15px}.growth-card{display:flex;align-items:center;gap:9px;text-align:left;min-width:0;padding:8px 0}.growth-card img{width:60px;height:60px;image-rendering:pixelated;object-fit:contain}.growth-card>div{flex:1}.growth-card b{font-size:13px}.growth-card small{font-size:10px;color:#bdd0bc}.growth-card .evolve{background:#e4c66a;color:#17291a;font-size:11px}.growth-results{border-top:1px solid #557254;padding-top:10px}.evolution-reveal img{animation:evolveGlow .7s ease-out}@keyframes evolveGlow{from{filter:brightness(7);transform:scale(.6)}to{filter:brightness(1);transform:scale(1)}}
#camp{min-height:100dvh;display:grid;place-items:center;padding:70px 24px 35px;isolation:isolate}.camp-backdrop{position:fixed;inset:0;z-index:-2;background:#264c31}.camp-backdrop:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse,#071b1070,#04100cdd)}.camp-backdrop canvas{width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.camp-menu{width:min(870px,100%)}#camp .hero{margin-bottom:20px;align-items:center}#camp .hero h1{font-size:48px;color:#f6d56f;text-shadow:3px 4px #14321e;letter-spacing:4px;margin:8px 0}#camp .hero p{display:block;font-size:12px;color:#d6e2c9}.number{font-size:30px}.camp-grid{display:grid;grid-template-columns:1fr 360px;gap:30px;align-items:center}#partnerStage{text-align:center;display:flex;flex-direction:column;align-items:center;text-shadow:1px 2px #18321d}#partnerStage>img{width:210px;height:210px;image-rendering:pixelated;filter:drop-shadow(0 18px 5px #06190b66)}#partnerStage h2{font-size:22px;margin:0 0 8px}#partnerStage small{color:#cadfc0}.side{padding:20px;background:#0b211ce8}.side h2{margin:8px 0}.squad-row{display:flex;gap:8px;align-items:center}.squad-row .growth-card{flex:1}.slot-pick{padding:7px}.slot-pick.selected{border-color:#f3d474;color:#f3d474}.side .primary{padding:14px;margin-top:14px}
.collection{margin-top:22px;background:#0b211ce8}.panel-title{padding:12px 16px}.panel-title h2{font-size:13px}.cards{padding:10px;gap:7px;grid-template-columns:repeat(6,1fr)}.card{min-height:112px;padding:9px 5px;background:#142d22}.card .pixel-mon{width:60px;height:60px;transform:scale(1.15)}.card b{font-size:12px}.card.selected{border-color:#f3d474}.tag{font-size:9px;letter-spacing:1.5px}
@media(max-width:740px){header{height:48px;padding:0 12px}.brand{font-size:12px;letter-spacing:1px}.header-right{gap:4px}.header-right button{font-size:10px;padding:6px}.game-top{left:12px;top:54px;right:65px;gap:9px;font-size:10px;flex-wrap:wrap}#cargoBrief{font-size:10px}#run>.hero{right:12px;top:50px}#pauseBtn{font-size:0;padding:6px}#pauseBtn:after{content:"Ⅱ";font-size:12px}#tutorialCard{top:87px;left:12px;right:12px;max-width:none;padding:9px 10px}#tutorialCard b{font-size:14px}#tutorialCard p{font-size:11px;margin-top:3px}.game-bottom{bottom:10px;width:calc(100% - 20px);flex-wrap:wrap;gap:8px;padding:8px}.hud-party{width:100%;flex-basis:100%;gap:6px}.hud-mon{padding:6px 8px}.hud-mon b{font-size:11px}.hud-mon small{font-size:9px}.controls{width:100%;justify-content:space-between}.controls button{font-size:10px;padding:8px}#terrainStatus{bottom:162px;font-size:10px!important}#mobile{z-index:4;left:14px;bottom:195px!important;opacity:.85}#mobile button{background:#103622d9}.dialog{padding:18px}#camp{padding:65px 14px 30px}#camp .hero h1{font-size:32px}.camp-grid{grid-template-columns:1fr;gap:12px}#partnerStage{display:none}.side{padding:14px}.cards{grid-template-columns:repeat(3,1fr)}.card{min-height:100px}.card .pixel-mon{width:46px;height:46px}.collection{margin-top:12px}.panel-title .tag{font-size:8px}.camp-menu .hero{margin-bottom:10px}.number{font-size:24px}footer{position:static;padding:8px 14px;background:#0a1714}}
@media(prefers-reduced-motion:reduce){.evolution-reveal img{animation:none}.xp i{transition:none}}
.upgrade-dialog{max-width:780px;width:94%;padding:24px}.upgrade-dialog h2{margin:8px 0 20px}.upgrade-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.upgrade-card{display:flex;flex-direction:column;align-items:center;padding:18px 12px;background:linear-gradient(#244b36,#10271e);border:1px solid #698c64;min-height:230px;box-shadow:0 5px 0 #06120c}.upgrade-card:hover,.upgrade-card:focus-visible{border-color:#f3d474;outline:2px solid #f3d474;outline-offset:2px;background:#31543a}.upgrade-card img{width:80px;height:80px;image-rendering:pixelated}.upgrade-card b{font-size:17px;color:#f6e3a4}.upgrade-card p{font-size:12px;line-height:1.6;margin:9px 0;flex:1}.upgrade-card small{color:#8fe1e7;font-size:11px}.build-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;margin-top:12px}.build-chips span{border:1px solid #657c58;background:#10291ec9;padding:4px 8px;border-radius:4px;color:#f3dc97;font-size:10px}
.build-summary{display:block;color:#f3d474!important;margin-top:3px}
@media(max-width:600px){.upgrade-dialog{padding:17px 14px;max-height:88dvh}.upgrade-dialog h2{font-size:20px;margin-bottom:12px}.upgrade-cards{grid-template-columns:1fr;gap:9px}.upgrade-card{display:grid;grid-template-columns:50px 1fr;grid-template-rows:auto auto auto;text-align:left;align-items:center;column-gap:12px;min-height:114px;padding:10px 12px}.upgrade-card img{grid-column:1;grid-row:1/4;width:50px;height:50px}.upgrade-card .tag{display:none}.upgrade-card b{grid-column:2;font-size:15px}.upgrade-card p{grid-column:2;font-size:11px;margin:4px 0}.upgrade-card small{grid-column:2;font-size:10px}}
