:root{color-scheme:dark;--gold:#e6c787;--ink:#0b101b;--muted:#a6afba}*{box-sizing:border-box}body{margin:0;background:var(--ink);color:#f1eee6;font-family:"PingFang SC","Microsoft YaHei",sans-serif;overflow:hidden}button,a,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit}button,a{color:inherit}button{cursor:pointer;border:1px solid #b5ad953e;background:#111c2bb0;padding:12px 20px}button:hover{border-color:var(--gold);background:#354052}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button:disabled{opacity:.5;cursor:wait}a{text-decoration:none}canvas#arena,.shade,#hurt{position:fixed;inset:0;width:100%;height:100%}.shade{pointer-events:none;background:linear-gradient(#070d1880,transparent 22%,transparent 72%,#060a12ba)}header{position:fixed;inset:25px 34px auto;display:flex;align-items:center;justify-content:space-between;gap:20px;z-index:4}header a{font-family:serif;font-size:22px;letter-spacing:4px}header a span,.sector{font:10px monospace;letter-spacing:2px;color:var(--muted)}header button{padding:9px 14px;font-size:11px}.menu{position:absolute;inset:95px 6vw 40px;display:flex;align-items:center;justify-content:space-between;gap:40px}.brief{max-width:620px}.eyebrow,small{font:10px monospace;letter-spacing:2px;color:var(--gold)}h1{font-family:"Songti SC",serif;font-size:clamp(64px,8vw,120px);font-weight:400;letter-spacing:18px;line-height:1.1;margin:24px 0}h1 em{font-style:normal;color:var(--gold)}.rule{height:1px;background:linear-gradient(90deg,var(--gold),transparent);width:200px}.intro{font-size:14px;line-height:2;color:#c2c8d1;margin:22px 0}.mission{display:flex;gap:22px;font-size:11px;color:var(--gold);margin:24px 0}.primary{background:var(--gold);color:#1b202b;border:none;min-width:240px;padding:17px 26px;letter-spacing:3px;font-weight:600}.primary:hover{background:#ffdf9c;color:#111}.difficulty{display:flex;gap:20px;align-items:center;font-size:12px;margin:20px 0}.difficulty select{padding:8px;border:1px solid #b5ad953e;background:#0d1827}.hint{font-size:11px;color:var(--muted)}aside{width:295px;padding:26px;background:#0b1425c9;border-top:1px solid #e6c78769;backdrop-filter:blur(10px)}aside h3{font-family:serif;font-size:29px;font-weight:400;line-height:1.5;margin:20px 0}aside p{font-size:12px;line-height:1.9;color:#afb7c5}dl{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:24px 0;font-size:11px}dt{font-family:monospace;color:var(--gold)}dd{margin:0;text-align:right;color:#d0d5dd}aside>small:last-child{font-size:9px;letter-spacing:0;color:var(--muted)}[hidden]{display:none!important}#hud{position:fixed;inset:0;pointer-events:none}.objective{position:absolute;top:106px;left:34px}.objective h2{font-size:21px;font-weight:400;margin:12px 0}.objective p{font-size:12px;color:var(--muted)}#waveDots{display:flex;gap:6px}#waveDots i{width:33px;height:3px;background:#ffffff25}#waveDots i.done{background:var(--gold)}.telemetry{position:absolute;right:34px;top:108px;display:flex;align-items:flex-end;flex-direction:column}.telemetry>span{font:14px monospace;color:var(--muted)}.telemetry strong{font:40px monospace;margin:12px 0 2px}.telemetry small{font-size:9px}#radar{width:130px;height:130px;margin-top:20px}#crosshair{position:absolute;left:50%;top:50%;width:18px;height:18px;transform:translate(-50%,-50%);border:1px solid #fff8;border-radius:50%}#crosshair b{position:absolute;inset:7px;background:#fff;border-radius:50%}#hitmarker{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:40px;color:var(--gold);opacity:0}#notice{position:absolute;top:26%;width:100%;text-align:center;color:var(--gold);font-size:22px;letter-spacing:4px;text-shadow:0 2px 10px #000;opacity:0}#executeHint{display:none;position:absolute;top:60%;width:100%;text-align:center;color:#ffe2a2;font-size:20px;text-shadow:0 2px 8px black}#executeHint span{display:block;font-size:11px;margin-top:8px}footer{position:absolute;bottom:30px;left:34px;right:34px;display:flex;align-items:end;gap:44px}footer small{display:block;margin-bottom:8px}.health{width:210px}.health strong{font:52px monospace}.health>span{font:13px monospace;color:var(--muted)}.healthTrack,.dash>div{height:5px;background:#ffffff26;margin-top:8px}.healthTrack i,.dash i{height:100%;display:block;background:var(--gold)}.dash{width:150px}.dash>span{display:block;margin-top:10px;font-size:11px;color:var(--muted)}.weapon{margin-left:auto;text-align:right}.weapon strong{font:35px monospace}.weapon strong span{font-size:12px}.weapon p{font-size:11px;color:var(--muted);margin-bottom:0}#hurt{pointer-events:none;box-shadow:inset 0 0 100px #ff382b;opacity:0}.overlay{position:fixed;inset:0;background:#050b16c9;display:grid;place-items:center;backdrop-filter:blur(10px);z-index:5}.overlay>div{width:min(460px,90vw);padding:40px;border-top:1px solid var(--gold);background:#101b2c}.overlay h2{font-family:serif;font-size:40px;font-weight:400}.overlay p{color:var(--muted);font-size:14px;line-height:1.9;white-space:pre-line}.overlay button{display:block;width:100%;margin:12px 0}.overlay a{display:block;text-align:center;margin-top:23px;font-size:12px;color:var(--muted)}@media(max-width:760px){header{inset:16px}.sector,header a span{display:none}.menu{inset:75px 25px 15px;overflow:auto;align-items:flex-start}aside{display:none}h1{font-size:66px;margin:15px 0}.intro{margin:14px 0}.mission{margin:15px 0}.objective{left:16px;top:78px}.telemetry{right:16px;top:78px}footer{left:16px;right:16px;gap:20px}.health{width:130px}.dash{width:80px}.weapon p{max-width:125px;line-height:1.7}footer small{font-size:8px;letter-spacing:0}.health strong{font-size:38px}}
.menu::before{content:"";position:fixed;inset:0;background:linear-gradient(90deg,rgba(6,12,24,.94),rgba(6,12,24,.68) 36%,rgba(6,12,24,.08) 75%);z-index:-1}.menu{isolation:isolate}
.rosterLink{display:block;margin-top:18px;font-size:11px;letter-spacing:1px;color:var(--gold)}
#arsenal{position:absolute;bottom:158px;left:34px;display:flex;gap:6px;align-items:center;font:10px monospace;flex-wrap:wrap;max-width:650px}#arsenal span{padding:8px 10px;border:1px solid #ffffff26;background:#071120aa;color:#aab4c4}#arsenal span.selected{color:#ffe5ac;border-color:#e6c787;background:#3b3527cc}#arsenal b{font-weight:400;padding:8px;color:#c3cee1;text-shadow:0 1px 5px black}#actionState{position:absolute;left:0;right:0;top:56%;text-align:center;color:#ffe3a7;font-size:13px;text-shadow:0 2px 5px black}#chargeMeter{position:absolute;top:54%;left:calc(50% - 44px);width:88px;height:4px;background:#ffffff33}#chargeFill{display:block;height:100%;background:#ffe7a7;box-shadow:0 0 9px #ffc95b}.combatHelp{font-size:12px;margin:18px 0;color:#c0cbdc}.combatHelp summary{cursor:pointer;color:var(--gold)}.combatHelp p{font-size:11px!important}aside{width:315px;padding:22px}dl{gap:10px;margin:17px 0}aside h3{margin:12px 0;font-size:26px}.overlay>div{max-height:90vh;overflow:auto}@media(max-width:760px){#arsenal{left:16px;bottom:155px;right:16px;gap:4px}#arsenal span,#arsenal b{padding:6px;font-size:9px}}
.damage{position:fixed;left:0;top:0;pointer-events:none;font:600 17px monospace;color:#ffe9ad;opacity:0;z-index:3;text-shadow:0 2px 6px #0009;transition:none}
.damage.kill{color:#ffdf6b;font-weight:700}
#hitmarker.killed{color:#ff9d5c;transform:translate(-50%,-50%) scale(1.5)}
#hitmarker.melee{color:#fff2c9}#speedlines{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}#crosshair{transition:transform .15s ease,border-color .15s ease}
#crosshair.aim{border-color:#ffd75ecc;border-width:1px;transform:translate(-50%,-50%) scale(.7)}#lockMarker{position:absolute;left:0;top:0;pointer-events:none}
#lockMarker i{position:absolute;left:-16px;top:-16px;width:32px;height:32px;border:1.5px solid #ffd75e;border-radius:6px;transform:rotate(45deg);animation:lockspin 2.4s linear infinite}
#lockMarker b{position:absolute;left:-2px;top:-2px;width:4px;height:4px;background:#ffd75e;border-radius:50%}
@keyframes lockspin{to{transform:rotate(405deg)}}/* ---- KIU 地面战体系：认真度下注 / 姿态提示 / 滑条 ---- */
#intensityTag{font:11px monospace;color:#c9d3e4;margin-top:8px;padding:6px 10px;border:1px solid #e6c78733;background:#241d0f66;letter-spacing:1px}
#intensityTag b{color:#ffe5ac;font-size:14px;margin-left:4px}
#intensityTag.danger{border-color:#ff6f58aa;color:#ffb1a4}#intensityTag.danger b{color:#ff8d7d}
#heartsHud{font:11px monospace;color:#c9d3e4;margin-top:6px;padding:6px 10px;border:1px solid #e6c78733;background:#1d240f66;letter-spacing:1px}
#heartsHud b{color:#ffe5ac;font-size:14px;margin-left:4px}
#stanceState{position:absolute;left:0;right:0;top:calc(56% + 46px);text-align:center;font:12px monospace;letter-spacing:3px;color:#9fd8ff;text-shadow:0 2px 6px #000;opacity:0;transition:opacity .18s}
#stanceState.on{opacity:1}
.difficulty{flex-wrap:wrap;gap:10px 14px}
.difficulty input[type=range]{width:220px;accent-color:var(--gold);cursor:pointer}
.difficulty b{font:18px monospace;color:var(--gold);min-width:34px}
.difficulty small{flex-basis:100%;font-size:10px;color:var(--muted)}
#revive{animation:revivePulse 1.2s ease-in-out infinite}
@keyframes revivePulse{0%,100%{background:var(--gold)}50%{background:#ffdf9c;transform:scale(1.02)}}
@media(max-width:760px){#intensityTag{font-size:9px;padding:4px 8px}#stanceState{font-size:10px}.difficulty input[type=range]{width:150px}}
/* ---- 神器军械库 ---- */
.armory{margin:18px 0;padding:16px;border:1px solid #e6c78733;background:#0d1827aa;max-height:270px;overflow:auto}
.armory-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.armory-head span{font:10px monospace;color:var(--muted)}
.equip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}
.equip-slot{padding:8px;border:1px solid #ffffff22;background:#071120aa;cursor:pointer;min-height:56px}
.equip-slot .slot-key{font:9px monospace;color:var(--gold)}
.equip-slot .slot-name{font-size:12px;color:#ffe5ac;margin:3px 0;display:block}
.equip-slot .slot-meta{font:9px monospace;color:#aab4c4}
.equip-slot.filled{border-color:#e6c78766}.equip-slot.selected{border-color:var(--gold);background:#3b352799}
.equip-slot.empty{opacity:.45}
.inventory-list{max-height:96px;overflow:auto;margin-bottom:10px}
.inv-row{display:flex;justify-content:space-between;align-items:center;padding:5px 8px;border:1px solid #ffffff14;margin-bottom:4px;cursor:pointer;font-size:11px}
.inv-row:hover{border-color:#e6c78755}
.inv-row .inv-name{color:#ffe5ac}.inv-row .inv-cls{font:9px monospace;color:#8fa0b8}
.inv-row .inv-mods{font:9px monospace;color:#7fa4c9}
.inv-row.equipped{background:#241d0f66;border-color:#e6c78744}
.inv-row .stars{color:var(--gold);font:10px monospace}
.fuse-row{display:flex;gap:8px;align-items:center}
.fuse-row select{flex:1;padding:7px;border:1px solid #b5ad953e;background:#0d1827;color:#f1eee6;font-size:11px}
.fuse-x{color:var(--gold);font-size:16px}
.fuse-row button{padding:9px 18px;font-size:12px;letter-spacing:2px}
.drop-summary{margin:14px 0;padding:12px;border:1px solid #e6c78755;background:#241d0f88;font-size:12px;line-height:1.9;text-align:left}
.drop-summary b{color:#ffe5ac}
.drop-summary .drop-cls{font:10px monospace;color:#8fa0b8}
@media(max-width:760px){.equip-grid{grid-template-columns:repeat(2,1fr)}.armory{max-height:210px}}
