/* v1.1: object controls, adjacent platform touch regions and compact radial menus. */
.ui-icon{width:24px;height:24px;display:inline-block;vertical-align:middle;flex-shrink:0}.phone{overflow:hidden}:root .phone{min-height:0}.topbar{padding:9px 12px 4px}.brand h1{font-size:17px}.brand-icon{width:28px;height:28px;font-size:19px}.brand small{font-size:7px}.header-actions{gap:5px}.icon-button{width:34px;height:34px;padding:6px}.icon-button .ui-icon{width:20px;height:20px}.status-grid{padding:4px 12px 5px;gap:8px}.status-grid small{font-size:8px}.status-grid b{font-size:17px}.status-grid .pause-button{height:34px;width:34px;padding:6px}.status-grid .pause-button .ui-icon{width:21px;height:21px}.status-grid .gold-stat{padding:0;background:none;border:0}.target-slot{min-height:29px;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:0 10px 4px;background:#172c33}.target-card{width:fit-content;max-width:230px;min-width:126px;padding:4px 8px;border:1px solid #a6c6bb22;border-radius:8px;background:#243d43;font-size:9px}.target-title{display:flex;align-items:center;gap:12px;justify-content:space-between;white-space:nowrap}.target-track{height:3px;margin:3px 0;background:#102b31;border-radius:3px;overflow:hidden}.target-track i{height:100%;display:block;background:#e7b673}.armor-row{position:relative;display:flex;gap:5px;align-items:center;font-size:8px;padding-bottom:3px;margin-top:2px}.armor-row .ui-icon{width:13px;height:13px;color:#a8c9c8}.armor-row b{margin-left:auto}.armor-row i{position:absolute;bottom:0;left:0;width:var(--armor);height:1px;background:#88b9c4}.field{position:relative;min-height:200px;background:#344d53;isolation:isolate}.field canvas{display:block;object-fit:fill}.field-caption{top:8px;left:9px;right:auto;font-size:8px}.toast{top:35px!important;left:12px;right:12px;text-align:center;pointer-events:none;font-size:9px}.object-hotspot,.platform-hotspot{position:absolute;background:transparent;border:0;border-radius:0;z-index:3;padding:0}.object-hotspot:hover,.platform-hotspot:hover{background:#eee6cf08}.object-hotspot:focus-visible,.platform-hotspot:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}.fence-hotspot{left:8%;width:84%}.platform-hotspot{bottom:0;width:43%;height:17%}.platform-hotspot#platform-left{left:7%}.platform-hotspot#platform-right{right:7%}.platform-hotspot.active{background:linear-gradient(0deg,#f6d38d14,transparent 65%)}.object-turrets{position:absolute;left:0;right:0;height:45px;z-index:5;pointer-events:none}.turret-object{position:absolute;width:42px;height:45px;left:calc(28% - 21px);padding:0;background:transparent;border:0;pointer-events:auto}.turret-object:nth-child(2){left:calc(72% - 21px)}.turret-object:hover{background:#e6dbb510}.mount-plus{position:absolute;bottom:7px;left:12px;font-size:20px;font-weight:500;color:#ead5a1;text-shadow:0 1px 3px #172f38}.fuel-tube{position:absolute;right:0;bottom:7px;width:10px;height:28px;border-color:#c4dfc588;background:repeating-linear-gradient(0deg,#092b3459 0 5px,#d6dfbe88 5px 6px)}.fuel-tube i{inset:auto 0 0;width:100%;background:#eba64bbf;transition:height .15s}.fuel-tube.blue i{background:#81dfffbb}.turret-object .reload{position:absolute;left:30px;bottom:35px;color:#ffc47c;font-size:10px;white-space:nowrap}.reloading .ui-icon{opacity:.45;animation:reload-breathe 2.5s infinite}.reloading .reload{animation:reload-breathe 2.5s infinite}.crew-anchor{position:absolute;transform:translateX(-50%);z-index:5;background:#172f38b3;border:1px solid #b8c8b533;font-size:9px;padding:5px 6px;min-height:30px;border-radius:15px;white-space:nowrap}.crew-anchor .ui-icon{width:14px;height:14px;margin-right:3px;color:#d7dbba}.weapon-dock{position:absolute;left:50%;transform:translateX(-50%);display:flex;justify-content:center;gap:2px;z-index:5;max-width:94%}.weapon-token{position:relative;width:34px;height:32px;padding:3px 1px;background:#19343c8c;border:1px solid #d7d3b322;border-radius:8px;flex-shrink:1}.weapon-token .ui-icon{width:23px;height:23px;color:#d0ded0}.weapon-token small{position:absolute;bottom:-10px;left:0;right:0;font-size:8px;text-align:center;color:#e4e2bd;text-shadow:0 1px 3px #10252d}.weapon-token .reload{position:absolute;right:-3px;bottom:-12px;font-size:9px;color:#ffd28c;background:#1c333c;border-radius:4px;padding:0 2px}.thumb-tools{flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:6px;padding:7px 9px 3px;background:#193139}.throw-group{position:relative;display:flex;gap:2px;align-items:center}.throw-group>button:first-child{min-width:44px;height:39px;padding:5px 7px;background:#304a50;position:relative}.throw-group b{font-size:10px;margin-left:3px;color:#f3dbac}.throw-group .ui-icon{width:22px;height:22px}.throw-group .upgrade-mini{width:23px;height:32px;padding:0;font-size:17px;color:#d4caa6;background:#243c43}.thumb-tools .text-button{font-size:9px;white-space:nowrap;padding:6px 3px;min-height:34px}.thumb-tools .icon-button{width:29px;height:32px;padding:4px}.thumb-tools .icon-button .ui-icon{width:19px;height:19px}footer{padding:3px 12px max(5px,env(safe-area-inset-bottom));font-size:7px;background:#193139}.popover{left:50%;right:auto;bottom:5px;transform:translateX(-50%);width:324px;max-width:calc(100% - 12px);height:246px;max-height:none;overflow:visible;padding:0;background:linear-gradient(0deg,#112a32f7,#193840f2);border-radius:160px 160px 18px 18px;backdrop-filter:blur(9px);z-index:15;box-shadow:0 8px 28px #071b2980}.fan-head{position:absolute;top:103px;left:71px;right:71px;display:flex;flex-direction:column;text-align:center;pointer-events:none;z-index:2}.fan-head b{font-size:10px;color:#f3ddb5}.fan-head small{font-size:8px;color:#b4c8c5;margin-top:3px;line-height:1.4}.fan-actions{position:absolute;inset:8px 0 0;width:320px;left:50%;transform:translateX(-50%)}.fan-item{position:absolute;transform:translate(-50%,-50%);width:47px;height:48px;border-radius:50%;padding:4px;background:#3c565b;border:1px solid #d5c79a55;color:#e1e7d5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0}.fan-item:active{transform:translate(-50%,-50%) scale(.96)}.fan-item .ui-icon{width:24px;height:24px}.fan-item .coin-price{font-size:9px;color:#edd291;display:flex;align-items:center;gap:2px;line-height:1}.fan-item .coin-price .ui-icon{width:10px;height:10px}.fan-item small{position:absolute;top:49px;font-size:8px;white-space:nowrap;color:#d6ded0;text-shadow:0 1px 2px #132a32}.fan-item:disabled{opacity:.46}.fan-close{position:absolute;left:139px;top:168px;border-radius:50%;width:42px;height:42px;background:#294650;padding:9px}.fan-info{position:absolute;left:196px;top:174px;width:30px;height:30px;padding:4px;border-radius:50%;background:#2a464d}.fan-info .ui-icon{width:18px;height:18px}.fan-hint{position:absolute;left:30px;right:30px;bottom:9px;font-size:8px;text-align:center;color:#b6c8c2;line-height:1.3}.tutorial{top:108px}.pause-badge{font-size:11px}.hidden{display:none!important}
@media(max-width:480px){:root .phone{height:100dvh;max-height:none;min-height:0}}@media(max-width:370px){.thumb-tools{gap:4px;padding-left:5px;padding-right:5px}.thumb-tools .icon-button{width:25px}.thumb-tools .text-button{font-size:8px}.weapon-token{width:31px}.topbar{padding-top:6px}}@media(min-width:481px){:root .phone{height:calc(100dvh - 30px);margin:15px auto;max-height:1020px}}

.target-slot{height:72px;min-height:72px}.fan-item[aria-disabled="true"]{opacity:.46}.fan-item[aria-disabled="true"]:hover{background:#3c565b}.pause-badge{bottom:55px;right:8px;pointer-events:none}.weapon-token:nth-child(even) .ui-icon{color:#c0d5d0}

.target-slot{height:80px;min-height:80px}.armor-row{line-height:11px;padding-bottom:2px;margin-top:1px}.armor-row .ui-icon{width:10px;height:10px}

/* v1.2: floating icon arcs, no fan-shaped panel or dismiss button. */
.popover,.popover.tutorial-target{position:absolute!important;top:auto!important;background:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;outline:none!important;pointer-events:none;z-index:25}.fan-item,.fan-info{pointer-events:auto}.fan-item{background:#17323bde;border:2px solid #d9c79c73;box-shadow:0 3px 8px #091d2e88;width:49px;height:49px}.fan-item .cartoon-icon{width:34px;height:30px;filter:drop-shadow(0 1px 1px #0005)}.fan-item small{font-size:9px;color:#f6e8c3;background:#172f38da;padding:1px 3px;border-radius:4px;top:50px}.fan-item .coin-price{font-size:9px;line-height:11px}.fan-item .coin-price .ui-icon{width:11px;height:11px;filter:none}.fan-head{top:102px;left:78px;right:78px;padding:7px 8px;background:#152c36df;border-radius:10px}.fan-head small{font-size:9px}.fan-info{left:145px;top:181px;background:#233d45d9}.fan-dismiss-note{position:absolute;top:215px;left:0;right:0;text-align:center;font-size:8px;color:#d7e5de;text-shadow:0 1px 3px #081725}.fan-hint{bottom:-3px;color:#ead7a8;background:#142d37cd;border-radius:6px;padding:2px;min-height:12px}.fan-close{display:none}.coin-chest-hotspot{position:absolute;left:calc(50% - 23px);bottom:4px;width:46px;height:49px;background:transparent;border:0;z-index:6}.coin-chest-hotspot:hover{background:#efc77514}.clip-buy{min-width:37px;height:39px;padding:3px;background:#304a50;position:relative}.clip-buy .ui-icon{width:27px;height:25px}.clip-buy b{position:absolute;bottom:-3px;right:1px;font-size:8px;color:#f4d69b;background:#20333b;padding:0 2px;border-radius:4px}.thumb-tools{gap:4px;padding-left:5px;padding-right:5px}.throw-group>button:first-child{min-width:39px;padding:3px}.throw-group .upgrade-mini{width:19px}.thumb-tools .icon-button{width:25px}.thumb-tools .text-button{font-size:8px;padding-left:1px;padding-right:1px}.weapon-token .cartoon-icon{width:29px;height:26px}.tutorial-target.fan-item{position:absolute!important;z-index:26}.tutorial{pointer-events:none}.tutorial button{pointer-events:auto}.coin-chest-hotspot:focus-visible{outline:2px solid var(--gold)}

.fan-nav-mark{font-size:13px;color:#c8e0d6;line-height:11px}.fan-item .coin-price{white-space:nowrap}

/* v1.3：返回、条件清单与库存冷却。 */
.fan-back{position:absolute;left:104px;top:181px;width:32px;height:32px;border-radius:50%;padding:0;background:#244451;color:#f1dcad;font-size:25px;z-index:4;pointer-events:auto}
.fan-hint{display:flex;flex-wrap:wrap;justify-content:center;gap:3px 8px;max-width:300px;line-height:1.3}
.condition{font-size:10px;background:#122d35ef;padding:3px 5px;border-radius:4px}.condition.met{color:#b8ffab;font-weight:800;border:1px solid #70bc81}.condition.unmet{color:#ffb7a1;border:1px solid #916057}
.stock-cooldown{position:absolute;inset:2px;border-radius:50%;pointer-events:none;z-index:2}.stock-cooldown i{position:absolute;inset:0;background:conic-gradient(#ffc65d var(--cooldown),#152f4044 0);border-radius:50%;mask:radial-gradient(transparent 59%,#000 63%)}.stock-cooldown small{position:absolute;left:50%;bottom:-7px;transform:translateX(-50%);background:#142a36;color:#ffe5a8;font-size:10px;font-weight:800;padding:1px 4px;border-radius:4px;white-space:nowrap}

.stock-cooldown small{top:-9px;bottom:auto}

/* v1.4：固定招募入口、已读式升级提示和长按说明。 */
.crew-anchor{left:8px!important;right:auto!important;bottom:8px!important;width:72px;height:46px;display:flex;flex-direction:column;gap:2px;justify-content:center;align-items:center;border:1px solid #729895;background:#173c48e8;border-radius:12px;z-index:10;transform:none!important;padding:4px}.crew-anchor #people{font-size:12px}.crew-anchor #people svg{width:17px;height:17px}.crew-label{font-size:10px;color:#e9dcac;font-weight:700}
.upgrade-ready{animation:upgrade-pulse 1.1s ease-in-out infinite;outline:2px solid #ffe08e;outline-offset:1px}.upgrade-ready::after{content:'↑';position:absolute;right:-3px;top:-9px;color:#193946;background:#ffe49e;border-radius:50%;font-size:12px;font-weight:900;width:17px;height:17px;line-height:17px;pointer-events:none}.reduce-flash .upgrade-ready{animation:none}
@keyframes upgrade-pulse{0%,100%{box-shadow:0 0 4px #f7c77355;filter:brightness(1)}50%{box-shadow:0 0 15px #ffdc73dd;filter:brightness(1.6)}}
.object-status{position:absolute;right:8px;top:0;color:#ffde91;background:#153742db;padding:3px 6px;border-radius:5px;font-size:10px;pointer-events:none}.fence-hotspot.upgrade-ready{outline-offset:-2px}
.popover.fence-menu{height:310px}.fence-menu .fan-head{left:75px;right:75px}.fan-head small{white-space:pre-line}.fence-menu .fan-info,.fence-menu .fan-back{top:252px}.fence-menu .fan-dismiss-note{top:286px}
.touch-tip{position:absolute;max-width:min(280px,calc(100% - 16px));padding:12px 14px;border-radius:12px;background:#132d39f5;border:1px solid #e5c58c;color:#f4e4bb;font-size:12px;line-height:1.6;z-index:100;pointer-events:none;box-shadow:0 5px 18px #061e2b88}
.key-badge{display:none;position:absolute;top:-3px;right:-2px;font:700 9px system-ui;color:#f8e6b5;background:#16303fe8;border:1px solid #869c98;border-radius:4px;padding:1px 3px;pointer-events:none;z-index:12}.weapon-dock>.key-badge{right:-14px;top:2px}.platform-hotspot>.key-badge{top:auto;bottom:7px;right:20px}.crew-anchor>.key-badge{top:0;right:1px}
@media(hover:hover) and (pointer:fine){.key-badge{display:block}}
.thumb-tools button,.header-actions button,.pause-button{position:relative}

.milestone-guide{position:absolute;z-index:25;left:12px;right:12px;top:105px;border:1px solid #e8be78;background:#18343ef5;box-shadow:0 8px 30px #081b2b77;padding:12px;border-radius:12px}.milestone-guide h3{margin:0 0 7px;font-size:14px;color:#ffd994}.milestone-guide p{font-size:11px;line-height:1.6;margin:0 0 9px;color:#e2ebde}.milestone-guide button{padding:7px 12px;font-size:12px}.tutorial .row{flex-wrap:wrap}

#lock,#pause,#lock *,#pause *{animation:none!important}#lock.upgrade-ready,#pause.upgrade-ready{outline:none}#lock.upgrade-ready::after,#pause.upgrade-ready::after{display:none}

/* Live second-run menus leave combat and the pause control visible. */
.screen.live-screen{inset:auto 8px 8px!important;min-height:0!important;max-height:46%;padding:14px;gap:10px;border:1px solid #81989b66;border-radius:14px;background:#152a32f2;backdrop-filter:blur(6px)}
.screen.live-screen .screen-header h2{font-size:17px}.screen.live-screen .setting-block{padding:9px}.screen.live-screen p{font-size:11px}
.share-card{display:grid;gap:10px}.share-card img{display:block;width:100%;height:auto;border-radius:12px;border:1px solid #8caaa455}.share-card p{font-size:11px;line-height:1.7;color:#b8c9c9}.share-page{max-width:480px;margin:20px auto;padding:16px}.share-page h1{font-size:23px;margin-bottom:10px}.share-page>a{display:block;padding:16px;text-align:center;color:#f0d09b}.share-page .menu-grid button{min-height:42px}
/* Campaign poster takes precedence; full accounting remains a tap away. */
.screen[data-view="results"]{padding:18px 16px;gap:12px;background:radial-gradient(ellipse at 80% 0,#284b46,#10232b 60%)}
.result-heading{display:flex;flex-direction:column;gap:4px}.result-heading>span{font-size:9px;color:#bdc2a8;letter-spacing:2px}.result-heading h2{font-size:25px;color:#f5d3a1;line-height:1.25}.result-heading p{margin:0!important;font-size:10px!important;line-height:1.4!important}
.share-card{gap:9px}.share-card img{aspect-ratio:2/3;background:#13232a;object-fit:contain;border-radius:10px;box-shadow:0 10px 28px #0004;border-color:#dfa85e38}.share-card>[data-share-result]{min-height:46px;font-weight:800;letter-spacing:1px;background:linear-gradient(100deg,#f3be68,#e79846);border-color:#f9d993;color:#1c2c2c}.share-card .menu-grid{grid-template-columns:repeat(3,1fr);gap:5px}.share-card .menu-grid button{font-size:10px;padding:8px 3px;background:#ffffff05}.share-card>[data-share-status]{font-size:10px!important;line-height:1.5!important;margin:0;color:#8fa8ad}.result-details{border-top:1px solid #c49b6530;padding-top:10px}.result-details>summary{color:#d3b686;font-size:11px}.result-details>.eyebrow{margin-top:12px}.result-details .settlement-hero{padding:12px;margin:12px 0}.result-details .settlement-hero h2{font-size:22px}.result-details .stat-cards{margin-bottom:12px}.share-page{padding:12px 16px;margin:0 auto;background:radial-gradient(ellipse at 80% 0,#284b46,transparent 60%)}.share-page>h1{font-size:18px;color:#f5d3a1;margin:6px 0}.share-page>p{font-size:11px;color:#a7bcb9;margin-bottom:10px}.share-page>a{margin-top:12px;border-radius:8px;background:#eca853;color:#162b2c;font-weight:800}
/* Share landing page: all essential actions fit inside the visible viewport. */
body.share-document{height:100vh;height:100dvh;overflow:hidden;margin:0;display:flex;justify-content:center}
body.share-document .share-page{width:100%;max-width:480px;height:100%;min-height:0;margin:0;padding:calc(10px + env(safe-area-inset-top)) 12px calc(10px + env(safe-area-inset-bottom));display:grid;grid-template-rows:auto minmax(0,1fr) 46px;gap:8px;overflow:hidden}
.share-document .share-page>h1{font-size:17px;line-height:24px;margin:0}
.share-document #result{min-height:0;overflow:hidden}
.share-document .share-card{position:relative;height:100%;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) 42px 34px 30px;gap:6px}
.share-document .share-card img{width:100%;height:100%;min-height:0;object-fit:contain;aspect-ratio:auto;background:transparent;border:0;box-shadow:none;border-radius:0}
.share-document .share-card>[data-share-result]{min-height:0;height:42px;padding:6px;font-size:12px}
.share-document .share-card .menu-grid{min-height:0;height:34px;gap:5px}
.share-document .share-card .menu-grid button{min-height:0;height:34px;padding:4px 2px;font-size:10px}
.share-document .share-card>[data-share-status]{min-height:0;max-height:30px;overflow:hidden;line-height:15px!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.share-document .share-card [data-share-link]:not([hidden]){position:absolute;left:0;bottom:0;width:100%;height:30px;font-size:16px;z-index:2}
.share-document .share-page>.share-start{margin:0;padding:0 16px;min-height:0;height:46px;display:flex;align-items:center;justify-content:center;gap:14px;font-size:15px;box-shadow:0 4px 14px #eaa04724}
@media(max-height:620px){.share-document .share-page{padding-top:calc(6px + env(safe-area-inset-top));padding-bottom:calc(6px + env(safe-area-inset-bottom));gap:5px;grid-template-rows:auto minmax(0,1fr) 42px}.share-document .share-page>.share-start{height:42px}.share-document .share-card{grid-template-rows:minmax(0,1fr) 36px 30px 28px;gap:4px}.share-document .share-card>[data-share-result]{height:36px}.share-document .share-card .menu-grid,.share-document .share-card .menu-grid button{height:30px}}
/* Opening cover reuses the settlement key art, without fictitious battle scores. */
.screen[data-view="splash"]{padding:0;overflow:hidden;min-height:0!important;gap:0;background:#10252b;backdrop-filter:none}
.splash-cover{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;border-radius:0;background:linear-gradient(180deg,#05131a22 40%,#05131a00 55%,#05131add 100%),url('assets/share-poster-v2.png') center 44%/cover no-repeat;text-align:left;color:#f8ddb3;overflow:hidden;cursor:pointer}
.splash-brand{position:absolute;top:5%;left:8%;right:8%;display:grid;gap:7px;text-shadow:0 3px 12px #000}
.splash-brand>small{font-size:11px;font-weight:700;letter-spacing:2px;color:#c7dedb}
.splash-brand>strong{font:900 clamp(40px,12vw,64px)/1.15 "Microsoft YaHei",system-ui,sans-serif;letter-spacing:2px;background:linear-gradient(#fff4cf,#f0b259);background-clip:text;-webkit-background-clip:text;color:transparent;filter:drop-shadow(0 3px 2px #12292b)}
.splash-brand>span{font-size:16px;font-weight:700;color:#e4e6d7;letter-spacing:2px}
.splash-prompt{position:absolute;bottom:max(7%,calc(env(safe-area-inset-bottom) + 22px));left:8%;right:8%;display:grid;justify-items:center;gap:8px;text-align:center;text-shadow:0 2px 6px #000;animation:cover-float 2.4s ease-in-out infinite}
.splash-prompt>b{font-size:21px;letter-spacing:3px;color:#ffe3a6}.splash-prompt>small{font-size:10px;color:#adc4c3;letter-spacing:2px}.splash-prompt>i{font-style:normal;color:#f2bb68;font-size:26px;line-height:18px}
@keyframes cover-float{0%,100%{transform:translateY(0);opacity:.78}50%{transform:translateY(-7px);opacity:1}}
@media(prefers-reduced-motion:reduce){.splash-prompt{animation:none}}
