:root{color-scheme:dark;--ink:#f3e4c6;--muted:#bdad91;--gold:#d3aa63;--edge:#766044;--base:#171411;--panel:#211d18;--bad:#e19c82;--good:#c9d7bc;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft Yahei",sans-serif;font-synthesis:none}*{box-sizing:border-box}html,body{margin:0;height:100%;background:#0d0c0a;color:var(--ink)}body{overflow:hidden;font-size:14px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.45;filter:saturate(.5)}button:active:not(:disabled){filter:brightness(.87)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #ffe0a0;outline-offset:3px}button:disabled:active{transform:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:650}h1,h2{font-family:"Songti SC","STSong",serif}p{line-height:1.65}small{font-size:11px;color:var(--muted);line-height:1.5}strong{font-weight:650;font-variant-numeric:tabular-nums}svg{width:22px;height:22px;flex:none}button svg{pointer-events:none}a{color:var(--gold)}.boot{padding:30vh 25px;text-align:center}.boot h1{margin:16px 0;font-size:26px}.boot span{color:var(--muted)}#app{height:100%;max-width:500px;margin:0 auto;position:relative;isolation:isolate;background:#15120f;overflow:hidden}.shell{display:flex;flex-direction:column;height:100%;padding-top:env(safe-area-inset-top);position:relative}.backdrop{position:absolute;inset:0;z-index:-2;background:linear-gradient(#14110fc4,#14110f18 38%,#14110fdb 78%),url('../town/assets/town-v1.png') center 52%/cover}.shell[data-page=garage] .backdrop,.shell[data-page=inventory] .backdrop,.shell[data-page=growth] .backdrop,.shell[data-page=paint] .backdrop{background:linear-gradient(#171411e0,#171411bc),url('../garage-preview/assets/workshop-v2.png') center/cover}.shell[data-page=map] .backdrop{background:linear-gradient(#171411c9,#17141145 45%,#171411ed),url('../garage-preview/assets/campaign-depth-scene.png') center/cover}.shell:not([data-page=town]):not([data-page=map]) .backdrop{background-color:#171411}.topbar{height:58px;min-height:58px;display:flex;align-items:center;gap:10px;padding:8px 15px;background:linear-gradient(#15120ff7,#15120fb8);border-bottom:1px solid #77604377}.topbar .identity{min-width:0;flex:1}.topbar h1{font-size:21px;letter-spacing:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25}.eyebrow{font-size:9px;letter-spacing:2px;color:#d5b878;display:block;margin-bottom:3px}.topbar .tag{font-size:9px;letter-spacing:1px;color:#bca480}.icon-button{width:38px;height:38px;border:1px solid #715c3a;background:linear-gradient(#362c20,#1c1914);display:inline-flex;align-items:center;justify-content:center;flex:none;clip-path:polygon(12% 0,88% 0,100% 12%,100% 88%,88% 100%,12% 100%,0 88%,0 12%)}.wallet{height:39px;min-height:39px;display:flex;align-items:center;justify-content:space-between;padding:6px 17px;background:#15120fc9;border-bottom:1px solid #77604344;font-size:12px}.wallet>span{display:flex;align-items:center;gap:7px}.wallet .coin{color:#d9b571}.wallet .coin svg{width:18px;height:18px}.link-button{border:0;background:none;padding:5px 0;min-height:30px;color:var(--gold);font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:5px}.content{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:16px 16px 18px;scrollbar-width:thin;scrollbar-color:#796243 #211c16}.content.town-content{display:flex;flex-direction:column;gap:16px}.panel{background:linear-gradient(#211b17c9,#15120ff0),url('../assets/mobile-ui-20261021/pause-content-r2.png') center 40%/440% auto;border:1px solid #88704c;box-shadow:inset 0 0 0 2px #100f0b,0 5px 15px #0005;position:relative;padding:15px;clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px),0 8px)}.panel:before,.panel:after{content:"";position:absolute;width:4px;height:4px;border-radius:50%;background:#b9985a;box-shadow:inset 1px 1px #f1db9a,inset -1px -1px #49371d;top:7px;pointer-events:none}.panel:before{left:7px}.panel:after{right:7px}.panel+.panel{margin-top:13px}.panel h2{font-size:21px;letter-spacing:1px;line-height:1.4}.panel h3{font-size:15px;line-height:1.5}.panel p{color:var(--muted);font-size:12px}.panel-head{display:flex;align-items:start;justify-content:space-between;gap:10px;margin-bottom:10px}.panel-head>*{min-width:0}.panel-head .link-button{flex:none}.town-spacer{flex:1;min-height:90px}.town-location{align-self:center;text-align:center;padding:9px 14px;color:#f8e8c9;text-shadow:0 2px 6px #000;opacity:.9;font-size:12px;letter-spacing:2px}.town-location small{color:#f8e8c9;display:block;font-size:9px;letter-spacing:3px}.town-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.town-actions .utility{min-height:66px;background:#171411d9;border:1px solid #806647;box-shadow:inset 0 0 0 2px #17120e;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;color:#e3cfaa;clip-path:polygon(6px 0,calc(100% - 6px) 0,100% 6px,100% calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,0 calc(100% - 6px),0 6px)}.utility svg{width:23px;height:23px;color:var(--gold)}.utility span{font-size:12px}.notice{padding:10px 12px;border-left:2px solid var(--gold);background:#241c13dd;font-size:12px;line-height:1.6;color:#e6d0a9;margin-bottom:12px}.notice.error{border-color:#d38972;color:#f1b09a;background:#3a211dd9}.notice .link-button{display:block}.primary,.secondary{min-height:46px;border:0;background-image:url('../assets/mobile-ui-20261021/pause-buttons-r2.png');background-repeat:no-repeat;background-size:212.732615% 273.207547%;background-position:96.437880% 48.583878%;color:#302313;font-weight:700;font-size:15px;display:inline-flex;justify-content:center;align-items:center;gap:6px;padding:10px 17px;line-height:1.25;clip-path:polygon(5% 0,95% 0,100% 18%,100% 82%,95% 100%,5% 100%,0 82%,0 18%);text-align:center;min-width:0}.secondary{background-size:212.732615% 272.180451%;background-position:3.562120% 48.689956%;color:var(--ink)}.primary.small,.secondary.small{font-size:12px;min-height:38px;padding:9px 14px}.primary.full,.secondary.full{width:100%}.action-row{display:flex;gap:10px;margin-top:13px}.action-row>*{flex:1;min-width:0}.page-footer{padding:11px 16px 12px;background:linear-gradient(#171411e8,#100e0dfc);border-top:1px solid #76604488;display:flex;align-items:center;gap:10px;flex:none;min-height:70px}.page-footer .primary{flex:1}.page-footer .secondary{width:36%;font-size:13px}.footer-note{font-size:10px;line-height:1.4;color:var(--muted);max-width:40%}.bottomnav{display:grid;grid-template-columns:repeat(4,1fr);background:#12100efa;border-top:1px solid #76604477;padding:3px 7px calc(6px + env(safe-area-inset-bottom));flex:none}.bottomnav button{border:0;background:none;min-height:51px;color:#9d8f79;font-size:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.bottomnav button svg{width:20px;height:20px}.bottomnav button[aria-current=page]{color:#edca85;background:linear-gradient(#4f392836,transparent);box-shadow:inset 0 2px #c49b52}.section-title{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:16px 0 9px}.section-title h2{font-size:16px;font-family:inherit}.section-title small{font-size:10px}.vehicle-display{height:142px;position:relative;display:flex;align-items:center;justify-content:center;margin:-5px -5px 0;background:radial-gradient(ellipse at 50% 80%,#e1b87020,transparent 65%)}.vehicle-display:after{content:"";position:absolute;width:75%;height:18%;bottom:13px;background:#0008;filter:blur(9px);border-radius:50%;z-index:-1}.vehicle-display img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 7px 6px #0009)}.vehicle-display[data-paint=desert] img{filter:sepia(.35) saturate(.8) drop-shadow(0 7px 6px #0009)}.vehicle-display[data-paint=steel] img{filter:saturate(.22) drop-shadow(0 7px 6px #0009)}.slot-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin-top:5px}.slot{padding:5px 2px;border:1px solid #705b3e;background:#191611cc;min-width:0;min-height:62px;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:3px}.slot[aria-pressed=true]{border-color:#e2bd77;box-shadow:inset 0 0 0 1px #b78f50;background:#49372488}.slot span{font-size:10px;line-height:1.2}.slot .part-icon{width:33px;height:33px}.part-icon{display:inline-block;width:52px;height:52px;flex:none;position:relative;overflow:hidden}.part-icon i{display:block;position:absolute;width:100px;height:100px;transform:scale(var(--icon-scale,.52));transform-origin:top left;background:url('../garage-preview/assets/equipment-v2/equipment-icons.png') no-repeat}.part-icon[data-icon=main-standard] i{background-size:357.0107px 357.0107px;background-position:-14.484px -16.9039px}.part-icon[data-icon=main-heavy] i{background-size:372.9368px 372.9368px;background-position:-140.7807px -23.4572px}.part-icon[data-icon=secondary-standard] i{background-size:377.1429px 377.1429px;background-position:-265.4887px -28.0451px}.part-icon[data-icon=turret-standard] i{background-size:382.9008px 382.9008px;background-position:-16.2595px -145.8779px}.part-icon[data-icon=magazine-standard] i{background-size:350.7692px 350.7692px;background-position:-128.7413px -128.4615px}.part-icon[data-icon=magazine-compact] i{background-size:445.8667px 445.8667px;background-position:-326.1778px -178.8px}.part-icon[data-icon=chassis-standard] i{background-size:360.8633px 360.8633px;background-position:-14.7482px -247.4101px}.part-icon[data-icon=chassis-amphibious] i{background-size:363.4783px 363.4783px;background-position:-136.9565px -250.8696px}.part-icon[data-icon=armor-standard] i{background-size:399.6813px 399.6813px;background-position:-285.9363px -280.3586px}.quick-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;text-align:center;padding:9px 0 2px}.quick-stats strong{display:block;font-size:16px;color:#f4d596}.quick-stats small{font-size:10px}.tool-row{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:11px}.tool-row button{border:1px solid #77604388;background:#171411ae;min-height:32px;font-size:11px;padding:5px 4px}.tabs{display:flex;gap:20px;border-bottom:1px solid #76604477;margin-bottom:13px}.tabs button{border:0;background:none;padding:10px 2px;color:var(--muted);font-size:13px;position:relative;min-width:40px}.tabs button[aria-selected=true]{color:#f1cd87}.tabs button[aria-selected=true]:after{content:"";height:2px;position:absolute;bottom:-1px;left:0;right:0;background:#cca65f}.filter-row{display:flex;align-items:center;gap:8px;margin:9px 0 11px}.filter-row select{min-width:0;flex:1}.filter-row .check-toggle{display:flex;align-items:center;gap:5px;white-space:nowrap;font-size:10px;color:var(--muted);padding:3px 0;border:0;background:none}.check-skin{width:22px;height:21px;display:inline-block;background:url('../assets/mobile-ui-20261021/pause-checkbox-r2.png') 11.432326% 12.372449%/254.361055% 266.808511%;flex:none}.check-toggle[aria-pressed=true] .check-skin{background-position:88.699080% 12.372449%}input,select,textarea{color:var(--ink);background:#13110ee8;border:1px solid #7e6546;padding:10px 10px;border-radius:0;max-width:100%;font-size:13px}select{padding:8px 7px;height:35px}input::placeholder,textarea::placeholder{color:#8a7a63}textarea{width:100%;min-height:125px;resize:vertical;line-height:1.6}label{display:block;color:var(--muted);font-size:12px;line-height:1.5}label input{width:100%;margin-top:7px}.inventory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.item-card{min-width:0;min-height:108px;border:1px solid var(--quality,#a9a198);background:linear-gradient(145deg,#342c21e8,#151310f2);padding:8px 6px 6px;position:relative;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px;box-shadow:inset 0 0 0 2px #11100d}.item-card .part-icon{width:57px;height:57px;--icon-scale:.57}.item-card .name{font-size:10px;line-height:1.4;overflow-wrap:anywhere;min-height:14px;max-width:100%}.item-level{font-size:10px;position:absolute;right:4px;top:4px;color:#f5dfac;text-shadow:0 1px 3px #000}.equipped-tag{font-size:9px;background:#b6975c;color:#1f1b15;padding:1px 5px;position:absolute;top:4px;left:4px}.item-card .quality-name{font-size:9px;color:var(--quality,#aaa)}.empty{padding:25px 10px;text-align:center;color:var(--muted);line-height:1.7;font-size:12px}.muted{color:var(--muted)}.meta-line{font-size:11px;color:var(--muted);display:flex;justify-content:space-between;gap:10px;line-height:1.6}.meta-line strong{color:var(--ink)}.tag{font-size:10px;border:1px solid #9f7f4b88;padding:3px 6px;color:#d9b574;display:inline-block;line-height:1.35}.quality{color:var(--quality,#b5b1aa)}.resource-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.resource-item{display:flex;align-items:center;gap:10px;background:#171411a8;border:1px solid #765d3d77;padding:12px;min-width:0}.resource-item svg{width:28px;height:28px;color:#d4ad6a}.resource-item strong{font-size:18px;display:block;margin-top:2px;color:#edd399}.resource-item span{font-size:11px}.resource-item small{font-size:10px;display:block}.shop-card{display:flex;gap:12px;align-items:center}.shop-card .resource-symbol{width:44px;height:44px;color:#dab87b;flex:none;display:flex;align-items:center;justify-content:center;background:#43342366;border:1px solid #8d714655}.shop-card .resource-symbol svg{width:29px;height:29px}.shop-card .shop-info{flex:1;min-width:0}.shop-card h3{font-size:14px}.shop-card p{font-size:11px}.shop-card .primary{font-size:11px;min-height:39px;padding:8px 13px;flex:none}.chest-visual{width:92px;height:71px;margin:5px auto 9px;display:flex;align-items:center;justify-content:center;color:#e0b257;background:radial-gradient(ellipse,#db9c3129,transparent 70%)}.chest-visual svg{width:80px;height:67px;filter:drop-shadow(0 5px 7px #0008)}.chest-panel{text-align:center}.chest-panel h2{font-size:22px}.chest-panel .key-line{font-size:12px;color:#c8b498;margin:7px 0}.chest-panel .key-line strong{font-size:16px;color:#efd7a3}.chest-panel .pity{font-size:11px;color:#d0b482;margin-top:8px}.chest-panel .action-row{gap:9px}.chest-panel details{text-align:left;margin-top:11px}.chest-panel summary{font-size:11px;color:var(--gold)}details{border-top:1px solid #7d634144;margin-top:12px;padding-top:11px}summary{cursor:pointer;font-size:12px;color:var(--gold);line-height:1.5}details p{margin-top:8px}.stage-feature{min-height:130px;padding:16px;margin-bottom:13px;background:linear-gradient(90deg,#171411f2,#17141180),url('../garage-preview/assets/campaign-depth-scene.png') center 47%/cover;border:1px solid #8a6e49}.stage-feature h2{font-size:23px;line-height:1.4;margin:4px 0 7px}.stage-feature p{font-size:11px;line-height:1.6;color:#e4cfac;max-width:90%}.stage-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:13px}.stage-node{border:1px solid #846b4b;background:#191611d9;min-height:72px;padding:8px 3px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#baa888}.stage-node strong{font-size:18px;font-family:Georgia,serif}.stage-node span{font-size:9px;line-height:1.35}.stage-node[aria-pressed=true]{border-color:#e5c080;background:linear-gradient(#6e512caa,#2d2418dd);color:#ffe3a9}.stage-node.locked{opacity:.57}.medals{display:flex;gap:7px;justify-content:space-between;margin:11px 0}.medal{flex:1;border:1px solid #65523b77;background:#1a1712a8;padding:9px 6px;text-align:center;color:#998a73;font-size:10px;line-height:1.5}.medal svg{width:24px;height:24px;display:block;margin:0 auto 4px}.medal.earned{color:#edca7e;border-color:#b9945377}.medal strong{display:block;font-size:11px}.thin-list{list-style:none;margin:0;padding:0}.thin-list li{border-top:1px solid #75604144;padding:10px 0;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted)}.thin-list li:first-child{border-top:0;padding-top:1px}.thin-list li strong{color:var(--ink)}.thin-list li span{min-width:0}.thin-list li .primary,.thin-list li .secondary{flex:none}.stat-table{width:100%;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}.stat-table th{font-size:10px;color:var(--muted);font-weight:400;text-align:right;padding:8px 4px;border-bottom:1px solid #735f4144}.stat-table th:first-child{text-align:left}.stat-table td{padding:10px 4px;border-bottom:1px solid #735f4133;text-align:right;line-height:1.4}.stat-table td:first-child{color:#bda987;text-align:left;font-size:11px}.stat-table td.good{color:#d6dcb8}.stat-table td.bad{color:#e1a18b}.stat-table td.same{color:#90836d}.dialog{width:min(calc(100% - 30px),420px);max-height:calc(100dvh - 44px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border:0;padding:0;color:var(--ink);background:transparent;overflow:visible;margin:auto}.dialog::backdrop{background:#090603c9;backdrop-filter:blur(2px)}.dialog-shell{max-height:calc(100dvh - 44px - env(safe-area-inset-top) - env(safe-area-inset-bottom));display:flex;flex-direction:column;background:linear-gradient(#201b16f7,#171411fa),url('../assets/mobile-ui-20261021/pause-content-r2.png') center/450% auto;border:1px solid #b3945e;box-shadow:0 10px 70px #0009,inset 0 0 0 3px #0e0d0a;clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px),0 10px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:19px 18px 13px;gap:10px;flex:none}.dialog-header h2{font-size:23px;letter-spacing:2px;line-height:1.3}.dialog-header .icon-button{height:31px;width:31px}.dialog-header .icon-button svg{width:17px;height:17px}.dialog-body{padding:0 18px 16px;overflow:auto;overscroll-behavior:contain;min-height:0}.dialog-footer{display:flex;gap:10px;padding:12px 18px 17px;border-top:1px solid #75604166;flex:none}.dialog-footer>*{flex:1;min-width:0}.dialog-footer button{font-size:13px}.item-identity{display:flex;align-items:center;gap:13px;padding:8px 0 15px}.item-identity .part-icon{width:76px;height:76px;--icon-scale:.76;border:1px solid var(--quality,#b8b3a4);background-color:#221d17}.item-identity h3{font-size:17px;margin-bottom:5px;overflow-wrap:anywhere;line-height:1.5}.item-identity>div{min-width:0}.item-identity p{font-size:11px;color:#bea98a;line-height:1.5}.description{font-size:12px;color:var(--muted);line-height:1.7;margin:8px 0 14px;overflow-wrap:anywhere}.cost-box{border:1px solid #8f714b77;padding:10px 12px;background:#35281766;margin:13px 0 0;font-size:12px;line-height:1.7}.cost-box strong{color:#f2d293}.cost-box .insufficient{color:#e5a388}.form-error{color:#f1a78e;font-size:12px;line-height:1.6;margin:10px 0}.helper{font-size:11px;line-height:1.6;color:#ac9b80;margin:9px 0}.reward-list{display:grid;gap:8px}.reward-row{display:flex;align-items:center;gap:10px;border:1px solid #79634277;background:#1714119e;padding:10px;min-width:0}.reward-row .part-icon{width:43px;height:43px;--icon-scale:.43}.reward-row svg{width:27px;height:27px;color:#d5b46e}.reward-row>span{min-width:0;flex:1;font-size:12px;overflow-wrap:anywhere;line-height:1.5}.reward-row strong{color:#efd299}.reward-row small{display:block}.result-header{text-align:center;padding:12px 0 16px}.result-header h2{font-size:29px;margin:8px 0}.result-header p{font-size:12px;color:var(--muted)}.result-total{text-align:center;font-size:35px;color:#efd08e;font-family:Georgia,serif;margin:12px 0}.result-total small{display:block;font-family:inherit;font-size:11px}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;padding:11px 0}.result-stats strong{display:block;font-size:18px;color:#ebd0a0}.result-stats span{font-size:10px;color:var(--muted)}.plan-card h3{font-size:15px;overflow-wrap:anywhere}.plan-slots{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin-top:10px}.plan-slots .part-icon{width:34px;height:34px;--icon-scale:.34}.plan-slots span{display:block;font-size:9px;color:var(--muted)}.plan-slot{min-width:0;text-align:center}.paint-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.paint-option{border:1px solid #776043;background:#1c1712a8;padding:9px 3px;min-height:62px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;font-size:11px}.paint-option[aria-pressed=true]{border-color:#e8c37d;box-shadow:inset 0 0 0 1px #b18b49}.paint-swatch{width:38px;height:18px;clip-path:polygon(12% 0,88% 0,100% 30%,100% 70%,88% 100%,12% 100%,0 70%,0 30%);background:linear-gradient(130deg,#7c806b,#a89973,#504e3d);border:1px solid #ba9a5e}.paint-swatch.desert{background:linear-gradient(130deg,#c3a070,#8d6b40,#c9ad7c)}.paint-swatch.steel{background:linear-gradient(130deg,#586067,#a3a39b,#45494b)}.growth-level{font-size:31px;color:#e7c581;font-family:Georgia,serif;line-height:1}.growth-level small{font-size:13px;color:#b6a17f}.progress-track{height:5px;background:#0c0b09;border:1px solid #6b5537;margin:12px 0 9px}.progress-track span{display:block;height:100%;background:linear-gradient(90deg,#8b622f,#d9ac59)}.growth-card .panel-head{margin-bottom:15px}.growth-card h2{font-size:20px}.growth-card .description{font-size:11px;margin-bottom:8px}.checklist{display:flex;align-items:center;gap:8px;padding:10px 7px;border:1px solid #79634277;margin-top:7px;font-size:11px;line-height:1.5;color:#d5c1a0}.checklist input{margin:0;accent-color:#c09a55;width:18px;height:18px}.checklist .part-icon{width:36px;height:36px;--icon-scale:.36}.checklist>span{min-width:0;flex:1}.checklist small{display:block;font-size:9px}.danger-link{color:#e1a38a}.guide-step{display:flex;gap:11px;padding:10px 0;border-top:1px solid #765e3e44}.guide-step:first-child{border-top:0}.guide-step>strong{flex:none;border:1px solid #977843;width:25px;height:25px;display:flex;align-items:center;justify-content:center;color:#e8bf73;font-size:12px}.guide-step h3{font-size:13px;margin:0 0 4px}.guide-step p{font-size:11px}.receipt-note{font-size:10px;color:#9d8c71;overflow-wrap:anywhere;margin-top:14px;line-height:1.5}.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(100px + env(safe-area-inset-bottom));max-width:calc(100vw - 40px);width:max-content;padding:12px 17px;background:#211b13f5;border:1px solid #d1ae70;color:#f0dec1;font-size:12px;line-height:1.6;box-shadow:0 5px 20px #0009;z-index:1000;pointer-events:none}.toast:empty{display:none}.settings-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:46px;border:0;border-bottom:1px solid #6e573b55;background:transparent;color:#dfc9a4;text-align:left;padding:10px 0;font-size:12px}.settings-row svg{width:18px;height:18px}.settings-row:last-child{border-bottom:0}.settings-row>span{flex:1}.settings-row small{font-size:10px}.sop-link{font-size:10px;display:inline-flex;margin-top:12px;color:#ad9876}.version-label{font-size:9px;letter-spacing:1px;color:#a08963;margin-top:12px;text-align:center}.screen-error{padding:35px 20px;color:#ead9b8}.screen-error h1{font-size:23px;margin-bottom:13px}.screen-error p{font-size:13px;line-height:1.7;color:#bda789}.screen-error button{margin-top:20px}
@media(max-width:359px){.topbar{padding:8px 12px;height:54px;min-height:54px}.topbar h1{font-size:19px}.wallet{padding:6px 13px;font-size:11px}.content{padding:12px 12px 15px}.panel{padding:13px}.panel h2{font-size:19px}.page-footer{padding:9px 12px 10px;min-height:65px}.primary,.secondary{font-size:14px;min-height:44px;padding:9px 14px}.bottomnav button{min-height:46px}.vehicle-display{height:108px}.slot-grid{gap:4px}.slot{min-height:55px}.slot .part-icon{width:27px;height:27px;--icon-scale:.27!important}.slot span{font-size:9px}.inventory-grid{gap:7px}.item-card{min-height:99px;padding:7px 4px 5px}.item-card .part-icon{width:49px;height:49px;--icon-scale:.49}.item-card .name{font-size:9px}.equipped-tag{font-size:8px;padding:1px 3px}.filter-row .check-toggle{font-size:9px}.tool-row{gap:5px}.tool-row button{font-size:10px}.stage-node{min-height:65px}.stage-node span{font-size:8px}.dialog{width:calc(100% - 24px)}.dialog-header{padding:17px 14px 12px}.dialog-header h2{font-size:21px}.dialog-body{padding:0 14px 14px}.dialog-footer{padding:11px 14px 15px;gap:8px}.dialog-footer button{font-size:12px}.item-identity .part-icon{width:64px;height:64px;--icon-scale:.64}.item-identity h3{font-size:15px}.shop-card{gap:9px}.shop-card .resource-symbol{width:33px;height:37px}.shop-card .primary{padding:8px 10px;font-size:10px}.town-actions{gap:7px}.town-actions .utility{min-height:59px}.medal{padding:8px 3px;font-size:9px}.medal strong{font-size:10px}.chest-visual{height:61px;margin-top:0}.chest-visual svg{height:59px}.resource-item{padding:10px 8px;gap:8px}.resource-item svg{width:24px;height:24px}.resource-item strong{font-size:16px}}
@media(max-height:650px){.town-spacer{min-height:45px}.town-actions .utility{min-height:51px}.town-actions .utility svg{height:20px}.town-content .panel{padding:12px 13px}.town-content .panel h2{font-size:19px}.town-content .panel p{font-size:11px}.town-content{gap:10px!important}.vehicle-display{height:100px}.quick-stats{padding:7px 0 0}.quick-stats strong{font-size:14px}.slot{min-height:50px}.slot .part-icon{height:26px;width:26px;--icon-scale:.26!important}.tool-row{margin-top:7px}.bottomnav button{min-height:44px}.page-footer{min-height:59px;padding-top:7px;padding-bottom:8px}.section-title{margin-top:12px}.content{padding-top:12px}.dialog-shell{max-height:calc(100dvh - 30px)}.dialog{max-height:calc(100dvh - 30px)}}
@media(min-width:600px){#app{border-left:1px solid #76604477;border-right:1px solid #76604477;box-shadow:0 0 90px #000}body{background:radial-gradient(ellipse at 50% 40%,#403122,#100e0b 65%)}.dialog{max-width:410px}.toast{max-width:420px}}
@media(prefers-reduced-motion:no-preference){.chest-reveal .reward-row{animation:rewardIn .35s both}.chest-reveal .reward-row:nth-child(2){animation-delay:.06s}.chest-reveal .reward-row:nth-child(3){animation-delay:.12s}@keyframes rewardIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}}
.garage-preview-row{display:flex;align-items:center;gap:10px}.garage-preview-row .vehicle-display{flex:1;width:65%;height:104px;margin:-8px -5px 0}.garage-preview-row .quick-stats{display:flex;flex-direction:column;gap:9px;flex:none;width:27%;padding:0}.garage-preview-row .quick-stats strong{font-size:15px}.garage-preview-row .quick-stats small{font-size:9px}.garage-compact{padding-top:9px;padding-bottom:10px}.paint-preview{height:220px}.vehicle-display[data-paint=brass] img{filter:sepia(.4) saturate(.8) drop-shadow(0 7px 6px #0009)}.vehicle-display[data-paint=charcoal] img{filter:saturate(.18) brightness(.78) drop-shadow(0 7px 6px #0009)}.paint-swatch.brass{background:linear-gradient(130deg,#c3a070,#8d6b40,#c9ad7c)}.paint-swatch.charcoal{background:linear-gradient(130deg,#586067,#a3a39b,#45494b)}.key-line svg{width:15px;height:15px;vertical-align:middle;margin-right:2px}.content>.primary.full{margin-top:12px}.growth-card>.primary.full{margin-top:13px}.item-identity .part-icon i{border:0}.part-icon i{pointer-events:none}.garage-compact .tool-row button{min-height:29px}.filter-row>small{flex:1}.stage-node strong svg{height:17px;width:17px}.dialog-body .secondary.full+.helper{margin-top:14px}.dialog-body .notice .secondary{margin-top:7px}.notice .secondary{margin-top:6px}
@media(max-width:359px){.garage-preview-row .vehicle-display{height:80px}.garage-preview-row .quick-stats{gap:6px}.garage-preview-row .quick-stats strong{font-size:13px}.garage-preview-row .quick-stats small{font-size:8px}.garage-compact{padding:7px 10px 9px}.garage-compact .slot{min-height:46px}.garage-compact .slot .part-icon{width:25px;height:25px;--icon-scale:.25!important}.garage-compact .tool-row{margin-top:7px}.garage-compact .tool-row button{min-height:28px}.garage-compact+.section-title{margin:10px 0 3px}.filter-row{margin:3px 0 8px}.paint-preview{height:180px}}
@media(max-height:650px){.garage-preview-row .vehicle-display{height:78px}.garage-preview-row .quick-stats{gap:5px}.garage-compact{padding-top:6px;padding-bottom:8px}.garage-compact .slot{min-height:44px}.garage-compact .tool-row button{min-height:26px}.garage-compact+.section-title{margin-top:9px;margin-bottom:3px}.garage-compact~.filter-row{margin-top:2px;margin-bottom:7px}}
.notice{overflow-wrap:anywhere}.primary svg,.secondary svg{width:17px;height:17px}
/* Narrow garage keeps the first complete inventory row visible beside six slots. */
@media(max-width:359px){
 .shell[data-page=garage] .garage-preview-row{gap:8px}
 .shell[data-page=garage] .garage-preview-row .vehicle-display{height:60px;margin-top:-4px}
 .shell[data-page=garage] .garage-preview-row .quick-stats{width:30%;gap:4px}
 .shell[data-page=garage] .garage-preview-row .quick-stats>div{display:flex;align-items:baseline;justify-content:space-between;gap:4px;line-height:16px}
 .shell[data-page=garage] .garage-preview-row .quick-stats strong{font-size:13px;line-height:16px}
 .shell[data-page=garage] .garage-preview-row .quick-stats small{font-size:8px;line-height:12px;white-space:nowrap}
 .shell[data-page=garage] .garage-compact{padding:6px 10px 8px}
 .shell[data-page=garage] .garage-compact .slot{min-height:44px}
 .garage-library-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;margin:9px 0 8px}
 .garage-library-toolbar>.section-title,.garage-library-toolbar>.filter-row{display:contents}
 .garage-library-toolbar>.section-title h2{font-size:14px;line-height:1.5;min-width:0}
 .garage-library-toolbar>.section-title .link-button{font-size:10px;min-height:30px;white-space:nowrap}
 .garage-library-toolbar>.filter-row>small{display:none}
 .garage-library-toolbar>.filter-row .check-toggle{font-size:9px;min-height:30px;gap:4px}
 .garage-library-toolbar .check-skin{width:20px;height:19px}
 .shell[data-page=garage] .item-card{min-height:88px;padding-top:9px;gap:3px}
 .shell[data-page=garage] .item-card .part-icon{width:39px!important;height:39px!important;--icon-scale:.39!important}
 .shell[data-page=garage] .item-card .name{font-size:10px;line-height:1.4}
 .shell[data-page=garage] .item-card .quality-name{font-size:9px}
 .shell[data-page=garage] .page-footer .primary,.shell[data-page=garage] .page-footer .secondary{min-height:44px}
}

/* Material exchange remains a full 44px touch target even in the 320px shop. */
.shell[data-page=shop] .shop-card > .primary{min-width:44px;min-height:44px;flex:0 0 auto}

/* Status messages occupy their own row; they cannot cover any action bar. */
body{display:flex;flex-direction:column}
#app{flex:1;min-height:0;height:auto;width:100%}
.toast{position:static;left:auto;bottom:auto;transform:none;flex:none;width:100%;max-width:500px;margin:0 auto;max-height:84px;overflow:auto;padding:9px 16px calc(9px + env(safe-area-inset-bottom));border-width:1px 0 0;box-shadow:inset 0 1px #e5c58944;background:linear-gradient(#35291b,#1c1711);font-size:12px;line-height:1.6}
.content{padding-bottom:32px;scroll-padding-bottom:32px}
.content>:last-child{margin-bottom:8px}
/* Expose the approved worn steel grain and bevels in secondary pages. */
.shell[data-page=shop] .panel,.shell[data-page=growth] .panel,.shell[data-page=settings] .panel,.shell[data-page=materials] .panel{background:linear-gradient(115deg,#39291b55,#0b090677),url('../assets/mobile-ui-20261021/pause-content-r2.png') center 47%/145% auto;border-color:#a58a58;box-shadow:inset 0 0 0 2px #0a0907,inset 0 4px 0 3px #c39c5136,inset 0 -4px 0 3px #0008,0 5px 12px #0008}
.shell[data-page=shop] .panel-head,.shell[data-page=growth] .panel-head,.shell[data-page=settings] .panel-head,.shell[data-page=materials] .panel-head{padding:3px 0 9px;border-bottom:1px solid #b4935355;box-shadow:0 1px #0b0909}
.resource-symbol,.resource-item>svg,.settings-row>svg:first-child{filter:drop-shadow(0 2px 1px #000);color:#e4c27c}
.shop-card .resource-symbol{background:linear-gradient(135deg,#8a6a3655,#17140fc9);border:1px solid #b38b4b88;box-shadow:inset 0 1px #e8c47d55,inset 0 -2px #0008,0 2px 4px #0007}
.resource-item{background:linear-gradient(145deg,#52412b77,#11100ee8);border-color:#9e7e4e99;box-shadow:inset 0 1px #dbc17d33,inset 0 -2px #0009}
.settings-row{background:linear-gradient(110deg,#68502d22,#0c0b0822);box-shadow:inset 0 1px #ccaa6130,inset 0 -1px #07060466}
