@font-face{font-family:Orbitron;font-style:normal;font-display:swap;font-weight:700;src:url(./orbitron-latin-700-normal-4jsRXGGJ.woff2) format("woff2"),url(./orbitron-latin-700-normal-DmYOh-W9.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Orbitron;font-style:normal;font-display:swap;font-weight:900;src:url(./orbitron-latin-900-normal-DrIi7unX.woff2) format("woff2"),url(./orbitron-latin-900-normal-BbJatbhp.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:500;src:url(./rajdhani-devanagari-500-normal-B_DH_jja.woff2) format("woff2"),url(./rajdhani-devanagari-500-normal-BPH8g_s8.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:500;src:url(./rajdhani-latin-ext-500-normal-DiyUS11w.woff2) format("woff2"),url(./rajdhani-latin-ext-500-normal-CyRWJZ5B.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:500;src:url(./rajdhani-latin-500-normal-ByNUCHrt.woff2) format("woff2"),url(./rajdhani-latin-500-normal-DfvNI-Td.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:700;src:url(./rajdhani-devanagari-700-normal-BQQOj9BB.woff2) format("woff2"),url(./rajdhani-devanagari-700-normal-DBRwWuxA.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:700;src:url(./rajdhani-latin-ext-700-normal-S6aYESQK.woff2) format("woff2"),url(./rajdhani-latin-ext-700-normal-BPaQ7tlD.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:700;src:url(./rajdhani-latin-700-normal-BPDUZo87.woff2) format("woff2"),url(./rajdhani-latin-700-normal-e0Uj8ZlN.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Share Tech Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./share-tech-mono-latin-400-normal-CCqdbj5z.woff2) format("woff2"),url(./share-tech-mono-latin-400-normal-15MgdvEM.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--acc: #5dffa0;--acc2: #6fe8ff;--amber: #ffc04a;--red: #ff4a4a;--ink: #e6f4ee;--dim: rgba(230, 244, 238, .55);--panel: rgba(6, 16, 14, .72);--line: rgba(93, 255, 160, .28);--zh: "Microsoft JhengHei", "PingFang TC", "Noto Sans TC", sans-serif;--mono: "Share Tech Mono", Consolas, monospace;--disp: Orbitron, "Rajdhani", sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#05080a;color:var(--ink);font-family:Rajdhani,var(--zh)}canvas#gl{position:fixed;inset:0;width:100vw;height:100vh;display:block}canvas#hud{position:fixed;inset:0;pointer-events:none}#ui{position:fixed;inset:0;pointer-events:none}.mono{font-family:var(--mono)}.dim{color:var(--dim)}em{font-style:normal;font-family:var(--disp);font-size:.55em;letter-spacing:.18em;opacity:.55;margin-left:.6em}.screen{position:absolute;inset:0;display:none;pointer-events:auto;animation:fadein .35s ease}.screen.show{display:flex}.dim-bg{background:#0208088c;backdrop-filter:blur(3px);align-items:center;justify-content:center}@keyframes fadein{0%{opacity:0}to{opacity:1}}.screen:before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 3px)}button{font:inherit;color:var(--ink);background:transparent;border:0;cursor:pointer;pointer-events:auto}#loading{background:radial-gradient(circle at 50% 40%,#0d1d1a,#020405 70%);align-items:center;justify-content:center}.load-box{width:min(420px,80vw);text-align:center}.load-bar{height:3px;background:#ffffff14;margin:26px 0 12px;overflow:hidden}.load-bar i{display:block;height:100%;width:0;background:var(--acc);box-shadow:0 0 12px var(--acc);transition:width .2s}#loadText{font-size:13px;color:var(--dim);letter-spacing:.2em}#title{align-items:center;background:linear-gradient(90deg,#02080ad9,#02080a73 38%,#0000 65%)}.title-wrap{margin-left:clamp(24px,8vw,140px)}.eyebrow{font-size:12px;letter-spacing:.32em;color:var(--acc);opacity:.8;margin-bottom:14px}.logo{font-family:var(--disp);font-weight:900;font-size:clamp(46px,7vw,104px);letter-spacing:.08em;line-height:.95;background:linear-gradient(180deg,#fff 10%,#a9c7c0 60%,#6f8f88);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 24px rgba(0,0,0,.6))}.logo.small{font-size:38px}.logo-zh{font-family:var(--zh);font-weight:900;font-size:clamp(22px,2.6vw,36px);letter-spacing:.9em;color:var(--acc);margin:8px 0 44px 4px;text-shadow:0 0 18px rgba(93,255,160,.5)}.menu{display:flex;flex-direction:column;gap:6px;width:min(380px,80vw)}.menu button{text-align:left;font-size:22px;font-family:var(--zh);font-weight:700;padding:13px 18px 13px 16px;border-left:2px solid transparent;position:relative;transition:all .18s ease;background:linear-gradient(90deg,#5dffa000 0% 100%)}.menu button .k{font-family:var(--mono);font-size:13px;color:var(--acc);opacity:.7;margin-right:16px}.menu button em{font-size:11px}.menu button:hover{border-left-color:var(--acc);background:linear-gradient(90deg,#5dffa029,#5dffa000);padding-left:26px}.corner-info{position:absolute;right:24px;bottom:18px;font-size:12px;color:var(--dim);letter-spacing:.08em}.bar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:24px;padding:22px 36px}.bar h2{margin:0;font-family:var(--zh);font-size:24px;font-weight:800;letter-spacing:.08em}.back{font-size:16px;padding:8px 14px;border:1px solid var(--line);clip-path:polygon(8px 0,100% 0,100% 100%,0 100%,0 8px)}.back:hover{background:#5dffa01f}#missions{background:linear-gradient(180deg,#02080ae6,#02080ab3)}.brief-grid{position:absolute;inset:84px 36px 28px;display:grid;grid-template-columns:minmax(260px,340px) 1fr;gap:22px}.mission-list{display:flex;flex-direction:column;gap:10px;overflow-y:auto}.mcard{text-align:left;padding:16px 18px;background:var(--panel);border:1px solid rgba(255,255,255,.06);position:relative;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%);transition:all .15s}.mcard:hover{border-color:var(--line)}.mcard.sel{border-color:var(--acc);background:linear-gradient(90deg,#5dffa024,#06100ebf)}.mcard .code{font-family:var(--mono);font-size:12px;color:var(--acc);letter-spacing:.15em}.mcard .t{font-family:var(--zh);font-size:21px;font-weight:800;margin:4px 0 2px}.mcard .s{font-family:var(--zh);font-size:13px;color:var(--dim)}.mcard .rk{position:absolute;right:16px;top:14px;font-family:var(--disp);font-weight:900;font-size:22px;color:var(--amber)}.brief-panel{background:var(--panel);border:1px solid var(--line);display:flex;flex-direction:column;min-height:0;clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,22px 100%,0 calc(100% - 22px))}.brief-head{display:flex;justify-content:space-between;align-items:flex-end;padding:22px 28px 16px;border-bottom:1px solid var(--line);gap:20px}.brief-head h3{margin:4px 0;font-family:var(--zh);font-size:34px;font-weight:900;letter-spacing:.06em}.brief-head .en{color:var(--acc);letter-spacing:.3em;font-size:13px}.brief-meta{display:flex;gap:26px;text-align:right}.brief-meta label{display:block;font-size:12px;color:var(--dim);font-family:var(--zh)}.brief-meta b{font-family:var(--zh);font-size:18px;color:var(--amber)}.brief-body{flex:1;display:grid;grid-template-columns:1fr minmax(240px,42%);gap:24px;padding:20px 28px;min-height:0;overflow:hidden}.brief-text{font-family:var(--zh);font-size:16px;line-height:1.85;overflow-y:auto;color:#cfe3dc}.brief-text p{margin:0 0 14px}.brief-map{display:flex;flex-direction:column;align-items:center;gap:8px;min-height:0}.brief-map canvas{width:100%;max-width:440px;aspect-ratio:1;border:1px solid var(--line);background:#041311}.map-legend{font-size:12px;color:var(--dim);font-family:var(--zh)}.brief-foot{display:flex;justify-content:space-between;align-items:center;padding:16px 28px;border-top:1px solid var(--line);gap:16px}.threats{display:flex;gap:8px;flex-wrap:wrap}.threats span{font-family:var(--zh);font-size:13px;padding:4px 10px;border:1px solid rgba(255,74,74,.45);color:#ffb3b3}.primary{font-family:var(--zh);font-size:20px;font-weight:800;padding:13px 34px;color:#021a0d;background:var(--acc);clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);box-shadow:0 0 24px #5dffa066;transition:filter .15s}.primary em{opacity:.6}.primary:hover{filter:brightness(1.15)}#controls{background:#02080ae0}.controls-grid{position:absolute;inset:96px 36px 30px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;overflow-y:auto}.ctl-col{background:var(--panel);border:1px solid var(--line);padding:20px 24px}.ctl-col h4{margin:0 0 14px;font-family:var(--zh);font-size:18px;color:var(--acc)}.ctl-col dl{display:grid;grid-template-columns:auto 1fr;gap:10px 18px;margin:0;font-family:var(--zh)}.ctl-col dt{font-family:var(--mono);font-size:14px;color:var(--amber);white-space:nowrap}.ctl-col dd{margin:0;font-size:15px;color:#cfe3dc}.tips ul{margin:0;padding-left:18px;font-family:var(--zh);font-size:14.5px;line-height:1.8;color:#cfe3dc}.tips b{color:var(--acc)}#settings{background:#02080ae0}.settings-box{margin:110px auto 0;width:min(560px,90vw);background:var(--panel);border:1px solid var(--line);padding:18px 28px;height:max-content}.settings-box .row{display:grid;grid-template-columns:140px 1fr 60px;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.05);font-family:var(--zh);font-size:16px}.settings-box .row:last-child{border-bottom:0}.settings-box input[type=range]{accent-color:var(--acc);width:100%}.settings-box input[type=checkbox]{accent-color:var(--acc);width:20px;height:20px;justify-self:start}.settings-box select{background:#0b1a17;color:var(--ink);border:1px solid var(--line);padding:6px 10px;font-family:var(--zh);font-size:15px;justify-self:start}.settings-box output{font-family:var(--mono);color:var(--amber)}.pause-box{display:flex;flex-direction:column;gap:10px;width:min(340px,86vw);background:var(--panel);border:1px solid var(--line);padding:28px}.pause-box h2{margin:0 0 12px;font-family:var(--zh);font-size:28px;text-align:center}.pause-box button:not(.primary){font-family:var(--zh);font-size:17px;padding:11px;border:1px solid rgba(255,255,255,.08)}.pause-box button:not(.primary):hover{border-color:var(--acc);background:#5dffa01a}.debrief-box{width:min(760px,92vw);background:var(--panel);border:1px solid var(--line);padding:32px 40px;clip-path:polygon(0 0,calc(100% - 24px) 0,100% 24px,100% 100%,24px 100%,0 calc(100% - 24px))}.result{font-family:var(--disp);font-weight:900;font-size:clamp(30px,4.6vw,52px);letter-spacing:.1em;text-align:center}.result.ok{color:var(--acc);text-shadow:0 0 26px rgba(93,255,160,.5)}.result.bad{color:var(--red);text-shadow:0 0 26px rgba(255,74,74,.5)}.reason{text-align:center;font-family:var(--zh);font-size:18px;color:var(--dim);margin:6px 0 22px}.debrief-grid{display:grid;grid-template-columns:180px 1fr;gap:28px;align-items:center}.rank-box{text-align:center}.rank-box label{font-family:var(--zh);color:var(--dim);font-size:14px}.rank{font-family:var(--disp);font-weight:900;font-size:110px;line-height:1;color:var(--amber);text-shadow:0 0 30px rgba(255,192,74,.45)}.score{font-size:22px;color:var(--ink)}.stats{width:100%;border-collapse:collapse;font-family:var(--zh);font-size:16px}.stats td{padding:7px 4px;border-bottom:1px solid rgba(255,255,255,.06)}.stats td:last-child{text-align:right;font-family:var(--mono);color:var(--acc)}.debrief-actions{display:flex;gap:12px;justify-content:center;margin-top:26px;flex-wrap:wrap}.debrief-actions button:not(.primary){font-family:var(--zh);font-size:17px;padding:12px 22px;border:1px solid var(--line)}.debrief-actions button:not(.primary):hover{background:#5dffa01a}.lock-hint{position:absolute;left:50%;top:38%;transform:translate(-50%);padding:14px 26px;background:#0000008c;border:1px solid var(--line);font-family:var(--zh);font-size:18px;display:none;pointer-events:none;animation:pulse 1.4s ease-in-out infinite}.lock-hint.show{display:block}@keyframes pulse{50%{opacity:.55}}@media(max-width:900px){.brief-grid{grid-template-columns:1fr;overflow-y:auto}.brief-body,.controls-grid{grid-template-columns:1fr}}
