:root{--ink:#0d202c;--paper:#e6e9e1;--muted:#a8b6b8;--line:#dce7e52b;--signal:#e3b66f;--mint:#9ccbbd}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#152630;color:var(--paper);font-family:"PingFang SC","Microsoft YaHei",sans-serif}button,select,input{font:inherit}button{cursor:pointer;border:1px solid #e3b66f;background:var(--signal);color:#12212a;font-weight:700;padding:15px 22px;min-height:50px;transition:background .18s,transform .18s}button:hover:not(:disabled){background:#f4cd91;transform:translateY(-1px)}button:focus-visible,select:focus-visible{outline:2px solid white;outline-offset:4px}button:disabled{opacity:.45;cursor:wait}.secondary{background:#172d39a8;color:var(--paper);border-color:#d0d9d544}.secondary:hover:not(:disabled){background:#37505c}#world{display:block;width:100%;height:100%;position:fixed;inset:0;outline:none}#shade{position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,#091e2bea 0%,#102835c7 30%,#10283524 72%),linear-gradient(0deg,#0b1e2add,transparent 22%)}.screen{position:fixed;inset:0;padding:34px 4.3vw}.topline{display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:2px;padding-bottom:20px;border-bottom:1px solid var(--line)}.topline b{font-size:13px}.topline i{display:inline-block;width:6px;height:6px;background:var(--mint);border-radius:50%;margin:0 8px}.brief{position:absolute;top:19%;width:470px;max-width:46vw}.eyebrow{font-size:12px;letter-spacing:4px;color:var(--signal);margin-bottom:18px}h1{font-size:clamp(50px,5.9vw,90px);font-weight:800;line-height:1.06;letter-spacing:4px;margin:0 0 25px}h1 span{display:block;color:#b8c9c8}p{line-height:1.85}.lead{font-size:16px;color:#c8d3d4;margin-bottom:26px}.mission{border-left:2px solid var(--signal);padding:0 0 0 17px;margin:24px 0}.mission>span{display:block;font:11px ui-monospace,monospace;letter-spacing:1.5px;color:var(--signal);margin-bottom:8px}.mission strong{font-size:15px;font-weight:500}.mission p{font-size:12px;color:var(--muted);margin:5px 0}.actions{display:flex;gap:10px;margin-bottom:16px}#deploy{min-width:210px;display:flex;align-items:center;justify-content:space-between}.actions .secondary{padding:12px 20px}#loadStatus{font-size:11px;color:#b4c2c4;min-height:18px}.loadbar{height:2px;background:#ffffff16;max-width:350px;margin:6px 0 15px}.loadbar i{display:block;background:var(--signal);height:100%;width:0;transition:width .3s}.options{display:flex;align-items:center;gap:16px;font-size:11px;color:#c6d2d4}.options label{display:flex;align-items:center;gap:6px}select{background:#203744;color:var(--paper);border:1px solid #a8b6b844;padding:4px 6px;font-size:11px}input{accent-color:var(--signal)}.fieldnote{position:absolute;right:5%;bottom:17%;width:240px;border-top:1px solid #d2e0db88;padding-top:18px;text-shadow:0 2px 8px #11232c}.fieldnote>span{font:10px ui-monospace,monospace;letter-spacing:1.3px;color:#ddd5c4}.fieldnote h2{font-size:27px;line-height:1.45;font-weight:500;letter-spacing:2px}.fieldnote p{font-size:12px}.fieldnote>div{font-size:10px;color:#c3ced0;line-height:1.8;padding-top:15px;border-top:1px solid var(--line)}footer{position:absolute;bottom:25px;left:4.3vw;right:4.3vw;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#afc0c3;letter-spacing:1px;border-top:1px solid var(--line);padding-top:17px}[hidden]{display:none!important}#hud{position:fixed;inset:0;pointer-events:none;text-shadow:0 2px 5px #061721}.compass{position:absolute;top:26px;left:50%;transform:translateX(-50%);text-align:center;font:14px ui-monospace,monospace;letter-spacing:8px}.compass small{display:block;font:10px sans-serif;letter-spacing:2px;margin-top:12px;color:#e1e2d6}.round{position:absolute;top:25px;right:32px;display:grid;grid-template-columns:84px 102px;align-items:center;gap:7px 12px;padding:14px;background:#0d263770;border:1px solid #a6c5c635}.round b{font:24px ui-monospace,monospace;font-weight:700}.round span{font-size:11px;color:#dbe3df}.round hr{grid-column:span 2;border:0;border-top:1px solid #a6c5c635;width:100%;margin:3px 0}.map{position:absolute;left:30px;top:25px;padding:6px;background:#102d3cd9;border:1px solid #a9c6c54a;width:204px}.map canvas{width:190px;height:190px;display:block}.map>div{display:flex;justify-content:space-between;padding:7px;font:10px ui-monospace,monospace;letter-spacing:1px}.map.big{width:392px;left:50%;top:50%;transform:translate(-50%,-50%);background:#102d3cf2}.map.big canvas{width:378px;height:378px}.vitals{position:absolute;bottom:65px;left:34px;width:245px}.vitals>span,.weaponhud>span{font-size:10px;letter-spacing:2px;color:#dae1dc}.meter,.armor{height:5px;background:#203947b8;margin:10px 0 5px}.meter i,.armor i{height:100%;display:block;background:#d5e4d9;width:100%}.armor{height:3px;margin-top:4px}.armor i{background:#72a8c9;width:50%}.vitals>div:last-child{display:flex;gap:10px;align-items:center;font-size:10px;color:#c6d5d9;padding-top:5px}.vitals b{font:18px ui-monospace,monospace;color:white}.weaponhud{position:absolute;right:34px;bottom:61px;text-align:right}.weaponhud>div{margin-top:7px}.weaponhud b{font:62px/1 ui-monospace,monospace;letter-spacing:-4px;font-weight:700}.weaponhud small{font:21px ui-monospace,monospace;margin-left:12px;color:#becbd0}.weaponhud p{font-size:10px;color:#c7d4d8;margin-top:9px}.bottomnote{position:absolute;bottom:17px;left:34px;right:34px;font-size:10px;display:flex;justify-content:space-between;color:#c6d4d6;letter-spacing:1px}kbd{font:10px ui-monospace,monospace;border:1px solid #c4d5d34d;padding:2px 4px;border-radius:2px}.bottomnote kbd{margin-right:4px}#crosshair{position:absolute;left:50%;top:50%;width:30px;height:30px;transform:translate(-50%,-50%)}#crosshair i{position:absolute;background:#edf3e8;box-shadow:0 0 2px #122d33;width:1px;height:6px}#crosshair i:nth-child(1){left:15px;top:2px}#crosshair i:nth-child(2){left:15px;bottom:2px}#crosshair i:nth-child(3){top:15px;left:2px;width:6px;height:1px}#crosshair i:nth-child(4){top:15px;right:2px;width:6px;height:1px}#hitmarker{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:var(--signal);font-size:32px;opacity:0}#interaction{position:absolute;top:60%;left:50%;transform:translateX(-50%);font-size:12px;background:#15303dd9;padding:10px 18px;border:1px solid #c6d4d64d;display:none}#toast{position:absolute;top:34%;left:50%;transform:translateX(-50%);font-size:13px;color:#f1d69d;letter-spacing:2px}#zoneWarning{display:none;position:absolute;left:50%;top:17%;transform:translateX(-50%);background:#693d29dd;color:#ffdeb6;padding:10px 20px;font-size:12px;letter-spacing:2px}#damage{position:absolute;inset:0;box-shadow:inset 0 0 130px #ad392b;opacity:0;transition:opacity .16s}.modal{position:fixed;inset:0;background:#081b29b8;backdrop-filter:blur(9px);display:grid;place-items:center}.modal>div{padding:35px;width:430px;max-width:90vw;border:1px solid #afc4c740;background:#102936f5}.modal h2{font-size:36px;letter-spacing:3px;margin:18px 0}.modal small{font:10px ui-monospace,monospace;color:var(--signal);letter-spacing:2px}.modal p{font-size:13px;color:#bfcdcf}.modal button{width:100%;margin:8px 0}.modal .small{font-size:11px;margin-top:25px;line-height:2.1}dl{display:flex;justify-content:space-between;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}dt{font-size:11px;color:#acbdc2}dd{margin:12px 0 0;font:27px ui-monospace,monospace}@media(max-height:760px){.brief{top:15%}h1{font-size:58px;margin-bottom:16px}.lead{font-size:14px;margin-bottom:14px}.mission{margin:16px 0}.fieldnote{bottom:16%}}@media(max-width:850px){.brief{max-width:70vw;width:440px}.fieldnote{display:none}.screen{padding:20px 5vw}.topline{font-size:9px}.round{right:15px;top:15px}.map{left:15px;top:15px;width:154px}.map canvas{width:140px;height:140px}footer span:last-child{display:none}.bottomnote span:nth-child(2){display:none}.compass{top:20px;font-size:11px;letter-spacing:2px}.vitals{width:175px;left:20px}.weaponhud{right:20px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

#squad{position:absolute;left:28px;top:260px;width:190px;display:grid;gap:5px}#squad div{display:flex;justify-content:space-between;gap:8px;padding:8px 9px;background:#10222bbf;border-left:2px solid #8bbaaa;font-size:11px}#squad span{color:#c1d6ce}#squad b{font-weight:600}

/* 0.5 合作生存：局内经济、强化抽卡与补给站 */
.economy{position:absolute;left:28px;top:388px;width:190px;display:flex;gap:6px}
.economy div{flex:1;background:#10222bbf;border-left:2px solid var(--signal);padding:7px 8px}
.economy small{display:block;font-size:10px;color:#9fb3b6;letter-spacing:1px}
.economy b{font:15px ui-monospace,monospace;color:#f2e3c2}
#augments{position:absolute;left:28px;top:450px;width:190px;display:grid;gap:4px}
#augments div{background:#10222bbf;border-left:2px solid #8bbaaa;padding:6px 8px;font-size:11px;display:flex;justify-content:space-between;gap:6px}
#augments i{font-style:normal;color:var(--signal);font-size:10px}
#stageBar{position:absolute;left:50%;top:96px;transform:translateX(-50%);background:#0d2330d9;border:1px solid #d9b87a55;padding:9px 20px;display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:1px}
#stageBar b{font:20px ui-monospace,monospace;color:var(--signal)}
#stageBar small{color:#a9bcbe;font-size:11px}
#weaponSlots{font-size:11px;color:#9fb3b6;margin:4px 0 0;letter-spacing:.5px}
#weaponSlots b{font:12px/1.6 "PingFang SC","Microsoft YaHei",sans-serif;letter-spacing:.5px;color:#f2e3c2;font-weight:600}
.modal .wide{width:860px;max-width:94vw}
.rowbtn{display:flex;gap:10px;margin-top:18px}
.rowbtn button{width:auto;flex:1;margin:0}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}
.card{text-align:left;background:#0e2431;border:1px solid #9fb6bb33;border-top:3px solid var(--signal);padding:16px;cursor:pointer;transition:transform .15s,border-color .15s,background .15s;color:var(--paper);font:inherit;display:block}
.card:hover{transform:translateY(-3px);background:#143143;border-color:#d9b87a}
.card em{font-style:normal;display:block;font:10px ui-monospace,monospace;letter-spacing:2px;color:var(--signal);margin-bottom:8px}
.card strong{display:block;font-size:19px;letter-spacing:2px;margin-bottom:10px}
.card span{display:block;font-size:12px;line-height:1.8;color:#bfcdcf;min-height:66px}
.card u{text-decoration:none;display:inline-block;margin-top:10px;font-size:10px;letter-spacing:1px;color:#9ccbbd;border:1px solid #9ccbbd55;padding:2px 7px}
.card.core{border-top-color:#e3b66f}
.card.support{border-top-color:#9ccbbd}
.shelf{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px;max-height:46vh;overflow:auto}
.shop-item{text-align:left;background:#0e2431;border:1px solid #9fb6bb33;padding:13px;cursor:pointer;color:var(--paper);font:inherit}
.shop-item:hover:not(:disabled){background:#143143;border-color:#d9b87a}
.shop-item:disabled{opacity:.42;cursor:not-allowed}
.shop-item b{display:block;font-size:14px;margin-bottom:5px}
.shop-item span{display:block;font-size:11px;color:#a9bcbe;line-height:1.7;min-height:32px}
.shop-item i{font-style:normal;font:13px ui-monospace,monospace;color:var(--signal)}
.shop-item.green b{color:#cfd8cf}.shop-item.blue b{color:#8fc0e0}.shop-item.purple b{color:#c2a3e8}.shop-item.gold b{color:#f0cf83}
.crate{min-height:22px;margin-top:14px;font-size:13px;color:#f2e3c2;letter-spacing:1px}
@media(max-width:850px){.economy,#augments{display:none}.cards,.shelf{grid-template-columns:1fr}}
#buildBar{position:absolute;left:50%;bottom:110px;transform:translateX(-50%);display:flex;gap:8px;align-items:center;background:#0d2330cc;border:1px solid #d9b87a33;padding:8px 12px;font-size:12px}
#buildBar span{padding:4px 9px;border:1px solid transparent;color:#b9c8ca}
#buildBar span.on{border-color:var(--signal);color:#f2e3c2;background:#1b3543}
#buildBar b{font:11px ui-monospace,monospace;color:var(--signal);margin-left:6px}
#buildBar em{font-style:normal;font-size:11px;color:#93a7aa;margin-left:6px}
#mission{position:absolute;left:50%;top:140px;transform:translateX(-50%);background:#0d2330cc;border-left:2px solid var(--signal);padding:8px 16px;text-align:center;min-width:280px}
#mission small{display:block;font:10px ui-monospace,monospace;letter-spacing:2px;color:var(--signal)}
#mission b{display:block;font-size:13px;font-weight:600;margin:4px 0 2px}
#mission span{font:12px ui-monospace,monospace;color:#a9bcbe}
