:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#ecf0f4;font-synthesis:none;text-rendering:optimizelegibility;--muted:#93a0ad;--line:#cedde91f;--gold:#caa56a;--surface:#101923e0;background:#0b1119;font-family:Segoe UI,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;min-height:100%;margin:0}body{min-height:100vh;background:#0b1119;min-height:100dvh}button,input,select{font:inherit}button{-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}.launcher{min-height:100vh;min-height:100dvh;padding:max(18px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));background:linear-gradient(110deg,#080e14fa 0%,#09121ae6 50%,#080f16f2 100%),radial-gradient(at 50% 5%,#253544 0%,#101923 42%,#0b1119 78%);flex-direction:column;display:flex;position:relative;overflow:hidden}.launcher:before{content:"";opacity:.15;pointer-events:none;background-image:linear-gradient(135deg,#0000 49.6%,#c4a67733 50%,#0000 50.4%);background-size:68px 68px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 35%,#0000 92%);mask-image:linear-gradient(90deg,#0000,#000 35%,#0000 92%)}.launcher__glow{filter:blur(80px);pointer-events:none;background:#a1793e21;border-radius:50%;width:620px;height:620px;position:absolute;top:-390px;left:48%}.topbar,.hero,.launch-card,.runtime-note,.footer{z-index:1;width:min(100%,950px);margin-inline:auto;position:relative}.topbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.brand{color:inherit;align-items:center;gap:12px;text-decoration:none;display:inline-flex}.brand__crest{width:42px;height:42px;color:var(--gold);letter-spacing:.03em;border:1px solid #caa56a8c;place-items:center;font:700 18px Arial Narrow,Microsoft YaHei,sans-serif;display:grid;transform:skew(-7deg)}.brand__name{letter-spacing:.11em;gap:2px;font:600 15px Arial Narrow,Microsoft YaHei,sans-serif;display:grid}.brand__name small{color:#84909b;letter-spacing:.2em;font:600 9px Segoe UI,sans-serif}.status-pill{border:1px solid var(--line);color:#bac4ce;white-space:nowrap;background:#090f15a6;border-radius:999px;align-items:center;gap:8px;padding:8px 11px;font-size:11px;display:inline-flex}.status-pill i{background:#d1ad72;border-radius:50%;width:7px;height:7px;box-shadow:0 0 12px}.status-pill[data-state=ready] i{background:#69bd90}.status-pill[data-state=error] i{background:#dc796e}.status-pill[data-state=warning] i{background:#e5b65f}.hero{padding-top:clamp(56px,11vh,112px);padding-bottom:30px}.eyebrow{color:var(--gold);letter-spacing:.22em;margin:0 0 10px;font-size:10px;font-weight:700}.hero h1{color:#f3f4f3;letter-spacing:.025em;max-width:720px;margin:0;font:600 clamp(37px,7vw,65px)/1.02 Arial Narrow,Microsoft YaHei,sans-serif}.hero__copy{color:#aab4be;max-width:630px;margin:16px 0 0;font-size:clamp(13px,2vw,15px);line-height:1.7}.launch-card{background:linear-gradient(135deg,#141f2af0,#0d161feb);border:1px solid #c3d3df24;border-radius:12px;padding:clamp(20px,4vw,34px);box-shadow:0 24px 90px #00000047}.launch-card__head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.launch-card h2{letter-spacing:.025em;margin:0;font:600 25px Arial Narrow,Microsoft YaHei,sans-serif}.file-types{color:#aab4bf;letter-spacing:.16em;font:600 10px Arial Narrow,Microsoft YaHei,sans-serif}.file-types b{color:var(--gold);padding:0 7px}.map-library{color:#aab4bf;gap:7px;margin-bottom:12px;font-size:11px;display:grid}.map-library select{color:#e3e8ec;background:#101923;border:1px solid #caa56a4d;border-radius:6px;width:100%;min-height:44px;padding:0 12px}.map-library select:disabled{opacity:.62}.launch-card__actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:17px;display:flex}.launch-card__actions--preview{justify-content:flex-start;margin-top:4px}.button{cursor:pointer;border:1px solid #0000;border-radius:6px;min-height:44px;padding:0 17px;font-size:12px;font-weight:700;transition:transform .15s,opacity .15s,background .15s}.button:active:not(:disabled){transform:translateY(1px)}.button:disabled{opacity:.42;cursor:not-allowed}.button--secondary{color:#d5c3a5;background:#0b1118b3;border-color:#caa56a59}.button--primary{color:#111820;background:linear-gradient(135deg,#dec18f,#b89054);border-color:#d0ad78;justify-content:space-between;align-items:center;min-width:145px;display:inline-flex}.message{min-height:18px;color:var(--muted);margin:12px 1px 0;font-size:11px}.message[data-state=success]{color:#8bc9a5}.message[data-state=error]{color:#e6988e}.message--note{margin-top:5px;line-height:1.6}.runtime-note{border:1px solid var(--line);background:#0b121994;border-radius:8px;align-items:flex-start;gap:12px;margin-top:18px;padding:14px 16px;display:flex}.runtime-note__mark{width:19px;height:19px;color:var(--gold);border:1px solid #caa56a99;border-radius:50%;flex:none;place-items:center;font:600 12px Georgia,serif;display:grid}.runtime-note strong{color:#dce3e8;font-size:11px}.runtime-note p{color:var(--muted);margin:4px 0 0;font-size:11px;line-height:1.55}.footer{color:#75818c;letter-spacing:.06em;justify-content:space-between;gap:12px;margin-top:auto;padding-top:32px;font-size:9px;display:flex}.footer span:last-child{color:#6e7781;letter-spacing:.14em;font-weight:700}.game-shell{z-index:5;background:#000;position:fixed;inset:0}.game-shell canvas{width:100vw;height:100vh;touch-action:none;outline:none;height:100dvh;display:block}#map-canvas{z-index:1;position:absolute;inset:0}.war3-ui-layout-canvas{z-index:2;pointer-events:none;position:absolute;inset:0}.war3-editbox-input{z-index:3;box-sizing:border-box;text-align:left;touch-action:manipulation;background:#080c10f5;border:1px solid #decda7b3;border-radius:2px;outline:none;margin:0;padding:1px 4px;font:16px/1.15 Arial,sans-serif;position:fixed}.war3-map-adapter-overlay{z-index:4;pointer-events:none;position:absolute;inset:0}.war3-map-adapter-overlay>*{pointer-events:auto}#game-shell[data-renderer=webgl2] #canvas{visibility:hidden;pointer-events:none}.game-exit{z-index:7;top:max(10px, env(safe-area-inset-top));left:max(10px, env(safe-area-inset-left));color:#f0e4d0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0c131bc7;border:1px solid #caa56a80;border-radius:6px;min-height:38px;padding:0 13px;font-size:11px;font-weight:700;position:fixed}.game-chat-open{z-index:7;top:max(10px, env(safe-area-inset-top));left:max(92px, calc(env(safe-area-inset-left) + 92px));color:#f0e4d0;background:#0c131be0;border:1px solid #caa56a80;border-radius:6px;min-height:38px;padding:0 13px;position:fixed}.game-chat{z-index:8;top:max(56px, calc(env(safe-area-inset-top) + 56px));left:max(10px, env(safe-area-inset-left));color:#f0e4d0;background:#0c131bf2;border:1px solid #caa56a80;border-radius:6px;flex-wrap:wrap;align-items:center;gap:6px;max-width:min(520px,100vw - 20px);padding:10px;display:flex;position:fixed}.game-chat label,.game-chat [role=status]{flex-basis:100%;font-size:12px}.game-chat input{flex:1;min-width:120px;padding:7px;font-size:16px}.game-chat button{min-height:36px;padding:0 10px}.resource-trace-export{z-index:7;top:max(10px, env(safe-area-inset-top));right:max(10px, env(safe-area-inset-right));min-height:38px;font-size:11px;position:fixed}.resource-trace-export[hidden]{display:none}.engine-overlay{z-index:6;background:#04080c94;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.engine-overlay[hidden]{display:none}.engine-overlay__card{text-align:center;background:#0c131bf2;border:1px solid #caa56a59;border-radius:10px;justify-items:center;gap:12px;width:min(100%,340px);padding:28px;display:grid}.engine-overlay__card strong{font-size:14px}.engine-overlay__card span:not(.engine-spinner){color:#a9b2bc;font-size:11px;line-height:1.6}.engine-spinner{border:2px solid #caa56a40;border-top-color:var(--gold);border-radius:50%;width:24px;height:24px;animation:.75s linear infinite spin}.load-progress{gap:6px;width:100%;display:grid}.load-progress[hidden]{display:none}.load-progress__head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.load-progress__head span{color:#a9b2bc;text-align:left;font-size:10px;line-height:1.5}.load-progress__head b{color:var(--gold);font-variant-numeric:tabular-nums;font-size:11px}.load-progress__track{background:#caa56a2e;border-radius:2px;height:4px;overflow:hidden}.load-progress__fill{background:linear-gradient(90deg, #caa56aa6, var(--gold));border-radius:2px;width:0;height:100%;transition:width .25s ease-out}.load-progress__dots{gap:4px;display:flex}.load-progress__dots i{background:#caa56a33;border-radius:1px;flex:1;height:2px}.load-progress__dots i[data-state=done]{background:#caa56abf}.load-progress__dots i[data-state=active]{background:var(--gold);animation:1.1s ease-in-out infinite pulse-dot}.load-progress[data-state=error] .load-progress__fill{background:#c9664f}.load-progress[data-state=error] .load-progress__head b{color:#e08a76}.input-status{right:12px;bottom:max(10px, env(safe-area-inset-bottom));color:#ffffffad;text-align:center;pointer-events:none;text-shadow:0 1px 3px #000;font-size:10px;position:fixed;left:12px}#movie{z-index:20;object-fit:contain;background:#000;width:100vw;height:100vh;display:none;position:fixed;inset:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse-dot{0%,to{opacity:.45}50%{opacity:1}}@media (max-width:620px){.launcher{padding-right:max(16px, env(safe-area-inset-right));padding-left:max(16px, env(safe-area-inset-left))}.brand__crest{width:36px;height:36px;font-size:16px}.brand__name{font-size:12px}.status-pill{padding:7px 9px;font-size:10px}.hero{padding-top:clamp(44px,9vh,78px);padding-bottom:24px}.launch-card__actions{grid-template-columns:1fr;display:grid}.button{width:100%}.footer{font-size:8px}}@media (max-height:720px) and (min-width:621px){.hero{padding-top:34px;padding-bottom:20px}}.match-result{z-index:7;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#04060abd;place-items:center;display:grid;position:fixed;inset:0}.match-result[hidden]{display:none}.match-result__card{text-align:center;background:linear-gradient(#181b23f7,#0c0e14fa);border:1px solid #caa56a61;border-radius:14px;justify-items:center;gap:12px;width:min(420px,88vw);padding:26px 24px;display:grid;box-shadow:0 24px 60px #0000008c}.match-result__card strong{letter-spacing:.12em;color:var(--gold);font-size:22px}.match-result__card p{color:#ffffffb8;margin:0;font-size:12px;line-height:1.6}.match-result[data-outcome=victory] .match-result__card strong{color:#e8c473}.match-result[data-outcome=defeat] .match-result__card strong{color:#d7785f}
