@import"https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&display=swap";:root{font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:#eaf8fb;background:#061019;font-synthesis:none;--cyan:#24d4ed;--orange:#ff6b38;--panel:#0b1822;--line:#25404b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:radial-gradient(circle at 20% 10%,#123342,#07121b 44%,#040a10);color:#eaf8fb}button{font:inherit;color:inherit}button:focus-visible,[tabindex]:focus-visible{outline:2px solid #fff;outline-offset:2px}[hidden]{display:none!important}.topbar{height:68px;position:fixed;inset:0 0 auto;z-index:20;padding:0 max(22px,env(safe-area-inset-right)) 0 max(22px,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;background:#07121bed;border-bottom:1px solid #213c47;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:11px}.brand>i{width:30px;height:30px;border:1px solid var(--cyan);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:radial-gradient(circle,#28d9ee 0 10%,transparent 13%),linear-gradient(60deg,transparent 48%,#28d9ee 49% 51%,transparent 52%)}.brand div{display:flex;flex-direction:column}.brand b{font:700 17px Barlow Condensed;letter-spacing:.2em}.brand span{font:500 8px Barlow Condensed;color:#6f909b;letter-spacing:.16em;margin-top:3px}.record{font-size:10px;color:#8ba3ab;letter-spacing:.08em}.record i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#45e083;box-shadow:0 0 10px #45e083;margin-right:7px}.record b{color:#fff;font-size:15px}.visual{position:fixed;left:0;top:68px;bottom:0;width:46%;overflow:hidden;background:radial-gradient(circle at center,#163442 0,#08131c 56%,#040b10)}#viewport{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.visual-label{position:absolute;left:25px;top:22px;display:flex;flex-direction:column;pointer-events:none}.visual-label span{font-size:12px;font-weight:700;letter-spacing:.1em}.visual-label small{font-size:9px;color:#70909a;margin-top:5px}.model-actions{position:absolute;bottom:22px;left:50%;transform:translate(-50%);display:flex;background:#07131ddd;border:1px solid #294652;padding:3px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.model-actions button{border:0;background:transparent;font-size:10px;color:#819aa3;padding:8px 13px;cursor:pointer}.model-actions button.active{color:#eaffff;background:#146075}.model-actions button:disabled{opacity:.38;cursor:not-allowed}.slot-hotspots{position:absolute;inset:0;pointer-events:none}.slot-hotspot{position:absolute;left:0;top:0;z-index:3;display:grid;grid-template-columns:18px auto;grid-template-rows:auto auto;column-gap:6px;align-items:center;min-width:76px;padding:6px 8px;border:1px solid #27d7ed;background:#071923d9;color:#dffcff;transform:translate(-50%,-50%);pointer-events:auto;transition:opacity .15s,border-color .15s,box-shadow .15s}.slot-hotspot i{grid-row:1/3;width:14px;height:14px;border:1px solid #35e5f5;border-radius:50%;box-shadow:inset 0 0 0 3px #071923,0 0 9px #24d4ed;background:#24d4ed}.slot-hotspot span{font-size:9px;font-weight:700;text-align:left}.slot-hotspot small{font-size:7px;color:#7ea0aa;text-align:left}.slot-hotspot.locked{border-color:#45e69d}.slot-hotspot.locked i{border-color:#45e69d;background:#45e69d;box-shadow:inset 0 0 0 3px #071923,0 0 10px #45e69d}.slot-hotspots.drag-active .slot-hotspot:not(.compatible){opacity:.2}.slot-hotspot.compatible{border-color:#fff;box-shadow:0 0 18px #24d4ed;background:#125467}.slot-hotspot.wrong{border-color:#ff714b;box-shadow:0 0 16px #ff5638}.install-flash{position:absolute;left:50%;bottom:74px;transform:translate(-50%,15px);opacity:0;padding:9px 14px;background:#0e4539e8;border:1px solid #31e597;border-radius:4px;font-size:11px;white-space:nowrap;transition:.25s;pointer-events:none}.install-flash.show{opacity:1;transform:translate(-50%)}.install-flash.bad{background:#5c251c;border-color:#ff734b}.workbench,.battle{margin-left:46%;padding:102px clamp(25px,4vw,64px) 70px;max-width:980px;min-height:100vh}.flow-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:34px}.kicker{font:600 10px Barlow Condensed;color:var(--cyan);letter-spacing:.24em}.flow-head h1,.battle-head h1{font:600 clamp(31px,4vw,48px)/1 Barlow Condensed,"PingFang SC";margin:9px 0 0}.progress{font:600 12px Barlow Condensed;color:#89a6af;border:1px solid #264652;padding:7px 10px}section+section{margin-top:34px}.section-title{display:flex;align-items:center;gap:9px;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:12px}.section-title>b{font:600 10px Barlow Condensed;color:var(--cyan)}.section-title>span{font-size:13px;font-weight:700}.section-title>small{margin-left:auto;color:#637e88;font-size:9px}.mission-list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mission{min-height:118px;border:1px solid #203943;background:#0a1720;text-align:left;padding:13px;cursor:pointer;transition:.2s}.mission span,.mission small,.mission i{display:block}.mission span{font-weight:700;font-size:14px}.mission small{font-size:10px;line-height:1.55;color:#8099a2;margin:7px 0}.mission i{font-style:normal;font-size:9px;color:#e78863}.mission:hover,.mission.active{border-color:var(--cyan);background:linear-gradient(145deg,#12333e,#0a1720)}.mission.active:after{content:"任务已锁定";font-size:8px;color:#47e59a;float:right}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.stat{position:relative;overflow:hidden;background:#0b1922;border:1px solid #1e3640;padding:10px}.stat span{display:block;font-size:9px;color:#6f8a94}.stat b{font:600 17px Barlow Condensed;margin-top:5px;display:block}.stat i{position:absolute;left:0;bottom:0;width:var(--value);max-width:100%;height:2px;background:var(--cyan);box-shadow:0 0 6px var(--cyan)}.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}.slot{display:grid;grid-template-columns:28px 1fr 20px;align-items:center;text-align:left;background:#09151e;border:1px dashed #35525d;padding:12px 9px;min-height:64px;cursor:pointer}.slot>b{font:600 10px Barlow Condensed;color:#4e727e}.slot span{font-size:11px;font-weight:700}.slot small{display:block;font-size:9px;color:#718b94;margin-top:4px}.slot i{font-style:normal;color:#577984}.slot.active{border-color:#4aa6b6}.slot.filled{border-style:solid;background:#0d242a}.slot.filled i{color:#43e395}.slot.drag-over{border-color:#fff;background:#145268;transform:translateY(-2px)}.slot-tabs{display:flex;gap:4px;margin-bottom:8px}.slot-tabs button{border:0;border-bottom:2px solid transparent;background:#0c1b25;padding:9px 14px;color:#77919b;font-size:10px;cursor:pointer}.slot-tabs button.active{border-color:var(--cyan);color:#e8fdff}.part-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.part-card{touch-action:none;background:#0b1922;border:1px solid #213943;padding:13px;cursor:grab;transition:.2s;-webkit-user-select:none;user-select:none}.part-card:hover{border-color:#4e8793;transform:translateY(-2px)}.part-card.installed{border-color:#40d99a;background:linear-gradient(150deg,#10352f,#0b1922)}.part-card.dragging{opacity:.45}.part-top{display:flex;justify-content:space-between;gap:5px}.part-top b{font-size:13px}.part-top i{font-style:normal;color:#4bd9ee;font-size:8px}.part-card p{font-size:10px;color:#a1b6bc;margin:8px 0}.deltas{font-size:9px;color:#56dcef;min-height:25px}.cost{display:flex;gap:5px;flex-wrap:wrap;margin:8px 0}.cost span{font:500 9px Barlow Condensed;border:1px solid #2b4853;padding:3px 5px;color:#a9c0c6}.part-card>small{display:block;border-top:1px solid #203640;padding-top:8px;font-size:9px;line-height:1.45;color:#db886b}.primary,.secondary{width:100%;border:0;cursor:pointer;padding:14px;margin-top:16px;font-weight:700}.primary{background:linear-gradient(100deg,#0ba9c4,#20d1e9);color:#041116;box-shadow:0 8px 24px #02b7d329}.primary span,.primary small{display:block}.primary small{font-weight:400;font-size:9px;margin-top:3px;opacity:.7}.primary:disabled{background:#24363d;color:#71858c;box-shadow:none;cursor:not-allowed}.secondary{background:transparent;border:1px solid #41606c;color:#a7bdc4}.rule-note{text-align:center;color:#59747e;font-size:9px}.result{margin-top:30px;background:#091720;border:1px solid #29434e;padding:15px}.result-head{display:flex;justify-content:space-between;align-items:center;padding:4px 3px 14px;border-bottom:1px solid #203944}.result-head b{font-size:16px}.result-head span{font-size:9px;color:#76909a}.result-head.pass b{color:#4be3a0}.result-head.fail b{color:#ff815e}.checks{margin-top:8px}.check{display:flex;gap:10px;padding:10px 4px;border-bottom:1px solid #172c35}.check>i{display:grid;place-items:center;font-style:normal;border-radius:50%;width:20px;height:20px;background:#193a32;color:#48e5a1}.check.fail>i{background:#4a2823;color:#ff8764}.check span{display:flex;flex-direction:column}.check b{font-size:11px}.check small{font-size:9px;color:#78939c;margin-top:3px}.drag-ghost{position:fixed;left:0;top:0;z-index:50;pointer-events:none;background:#0d5364;border:1px solid #54e6ff;padding:9px 12px;font-size:11px;box-shadow:0 8px 30px #000;transform:translate(-100px,-100px)}.battle{max-width:none}.battle-head{text-align:center;margin-bottom:30px}.battle-head p{color:#7d98a2;font-size:11px}.versus{display:grid;grid-template-columns:1fr 52px 1fr;align-items:stretch}.versus>div{background:#0b1a24;border:1px solid #28444f;padding:18px;text-align:center}.versus>i{display:grid;place-items:center;font:700 22px Barlow Condensed;color:var(--orange);font-style:normal}.versus small,.versus span{display:block}.versus small{color:#78939c;font-size:9px}.versus b{font:700 38px Barlow Condensed;color:#f3ffff}.versus span{font-size:9px;color:#6f8b95;line-height:1.45}.battle-log{margin:22px 0;min-height:270px}.battle-stage{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;background:#0b1922;border-left:2px solid var(--cyan);padding:13px;margin-bottom:7px;animation:stage-in .45s both}.battle-stage>i{font:600 12px Barlow Condensed;color:#4f747f}.battle-stage div{display:flex;flex-direction:column}.battle-stage b{font-size:12px}.battle-stage span{font-size:9px;color:#78939d;margin-top:4px}.battle-stage strong{font:600 17px Barlow Condensed}.battle-stage em{color:#4f747f;font-style:normal}.battle-verdict{text-align:center;padding:20px;border:1px solid #754333;background:#261712}.battle-verdict.win{border-color:#2d795b;background:#10281f}.battle-verdict b,.battle-verdict span{display:block}.battle-verdict b{font:700 28px Barlow Condensed}.battle-verdict span{font-size:9px;color:#9cb0b6;margin-top:5px}.battle-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.loader{position:fixed;inset:0;z-index:80;background:#061019;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:.45s}.loader.loaded{opacity:0;visibility:hidden}.loader>b{font:700 28px Barlow Condensed;letter-spacing:.2em}.loader>span,.loader>small{font-size:9px;color:#708b94;margin:7px}.loader>div{width:210px;height:2px;background:#19323b;margin-top:20px}.loader i{display:block;width:0;height:100%;background:var(--cyan);box-shadow:0 0 8px var(--cyan)}.error{position:fixed;z-index:90;left:50%;top:50%;transform:translate(-50%,-50%);width:min(340px,calc(100% - 40px));background:#111e26;border:1px solid #84442e;padding:22px;box-shadow:0 20px 80px #000}.error b,.error span{display:block}.error b{color:#ff8b65}.error span{font-size:10px;color:#9cafb5;margin:10px 0 18px}.error button{border:0;background:#d55b34;padding:8px 14px;cursor:pointer}@keyframes stage-in{0%{opacity:0;transform:translate(20px)}}@media(max-width:800px){.topbar{height:58px}.brand>i{width:25px;height:25px}.brand span{display:none}.visual{position:sticky;z-index:4;top:58px;width:100%;height:38vh;min-height:255px}.visual-label{left:14px;top:12px}.model-actions{bottom:10px}.model-actions button{padding:7px 11px}.install-flash{bottom:55px}.workbench,.battle{margin-left:0;padding:28px 14px calc(50px + env(safe-area-inset-bottom));min-height:auto}.flow-head{margin-bottom:25px}.flow-head h1,.battle-head h1{font-size:34px}.mission-list{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:3px}.mission{flex:0 0 82%;scroll-snap-align:start}.stats{grid-template-columns:repeat(4,1fr)}.stat{padding:8px 6px}.stat b{font-size:15px}.slots{grid-template-columns:1fr}.slot{min-height:57px}.part-cards{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 1px 8px}.part-card{touch-action:none;flex:0 0 82%;scroll-snap-align:center}.section-title>small{max-width:45%;text-align:right}.battle{padding-top:35px}.battle-log{min-height:260px}.battle-stage{grid-template-columns:25px 1fr}.battle-stage strong{grid-column:2;font-size:20px}.battle-actions{grid-template-columns:1fr}.versus{grid-template-columns:1fr 35px 1fr}.versus>div{padding:12px 6px}.versus b{font-size:30px}}@media(max-width:390px){.stats{grid-template-columns:repeat(2,1fr)}.record{font-size:8px}.record b{font-size:13px}.visual{height:35vh}.workbench{padding-top:22px}}.top-actions{display:flex;align-items:center;gap:12px}.tutorial-button{border:1px solid #368294;background:#0b2631;color:#bff8ff;padding:7px 10px;font-size:10px;cursor:pointer}.beginner-intro{margin:0 0 38px;padding:24px;border:1px solid #2a6978;background:linear-gradient(145deg,#123643,#0a1821)}.beginner-intro h1{font:600 clamp(32px,4vw,48px)/1.05 Barlow Condensed,"PingFang SC";margin:9px 0}.beginner-intro p{color:#b3cbd1;font-size:14px;line-height:1.6}.beginner-intro>div{display:flex;align-items:center;gap:15px}.beginner-intro .primary{width:auto;min-width:190px;margin:7px 0 0}.text-button{border:0;border-bottom:1px solid #637f88;background:transparent;color:#819ba4;font-size:11px;padding:8px 2px;cursor:pointer}.guide-strip{margin:0 0 25px;padding:14px;border-left:3px solid var(--cyan);background:#0c2530}.guide-steps{display:flex;gap:6px;margin-bottom:10px}.guide-steps i{font-style:normal;font-size:9px;color:#57747e;border:1px solid #27434e;padding:4px 7px}.guide-steps i.active{color:#fff;border-color:var(--cyan);background:#135265}.guide-steps i.done{color:#56dda1;border-color:#32765e}.guide-strip>b{font-size:14px}.guide-strip p{font-size:11px;color:#a5bdc4;margin:5px 0 0}.slot.guide-muted,.slot-hotspot.guide-muted{opacity:.28}.slot.guide-current,.slot-hotspot.guide-current{border-color:#fff;box-shadow:0 0 20px #24d4ed}.slot-hotspot.guide-current i{animation:guide-pulse 1.2s infinite}.part-card.guide-choice{border-color:#fff;box-shadow:0 0 16px #18bad066}.part-card.recommended{border-top:2px solid #45df9e}.recommendation{font-size:9px;line-height:1.5;color:#9ef0c8;background:#12332d;padding:7px;margin:8px 0}.part-card dl{margin:9px 0}.part-card dl>div{margin:7px 0}.part-card dt{color:#65848e;font-size:8px}.part-card dd{margin:2px 0 0;color:#b2c7cd;font-size:10px;line-height:1.45}.engineer-data{margin-top:9px;border:1px solid #203943;background:#09151e}.engineer-data summary,.acceptance-details summary{cursor:pointer;color:#86a2ab;font-size:10px;padding:10px}.engineer-data .stats{padding:0 9px 9px}.knowledge-card{margin-top:12px;border-left:3px solid #4be3a0;background:#102b27;padding:12px}.knowledge-card b,.knowledge-card span{display:block}.knowledge-card b{font-size:12px;color:#79ecc0}.knowledge-card span{font-size:10px;color:#b0c9c1;line-height:1.55;margin-top:4px}.repair-advice{margin:12px 0 3px;padding:10px;background:#37231d;border-left:3px solid #ff815e;color:#ffc0ad;font-size:11px;line-height:1.5}.result-head{align-items:flex-start;gap:15px}.result-head span{max-width:70%;font-size:10px;line-height:1.5;text-align:right}.battle-stage small{font-size:8px;color:#4f747f;margin-top:2px}@keyframes guide-pulse{50%{box-shadow:inset 0 0 0 3px #071923,0 0 18px #fff}}@media(max-width:800px){.top-actions{gap:7px}.tutorial-button{padding:6px 8px}.record i{display:none}.beginner-intro{padding:18px;margin-bottom:27px}.beginner-intro>div{align-items:flex-start;flex-direction:column;gap:4px}.beginner-intro .primary{width:100%}.guide-strip{position:relative;margin-bottom:20px}.result-head{flex-direction:column;gap:5px}.result-head span{max-width:none;text-align:left}.engineer-data .stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:390px){.record{display:none}.tutorial-button{font-size:9px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
