:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#090c16;--panel:#111628;--panel-2:#161d35;--line:#26304f;--line-bright:#3b4a78;--text:#e8ecf8;--muted:#8a93b3;--accent:#ffc94d;--accent-2:#ff9a3d;--cyan:#46d9ff;--lumenite:#7fe3f0;--ferrox:#e0914f;--e280:#b98bff;--secured:#6ee7a8;--peace:#3fcf9a;--danger:#ff5a4f;--glow:#46d9ff59;--topbar-h:44px;--panel-w:320px;font-family:system-ui,sans-serif;font-size:13px}html,body{background:var(--bg);height:100%;color:var(--text);margin:0}#app{grid-template-columns:minmax(0, 1fr) var(--panel-w);grid-template-rows:auto minmax(0,1fr);height:100vh;display:grid;position:relative}#map{grid-area:2/1;min-width:0;position:relative;overflow:hidden}#panel{background:radial-gradient(120% 50% at 100% 0%, #46d9ff12, transparent 60%), linear-gradient(180deg, var(--panel-2), var(--panel));border-left:1px solid var(--line);flex-direction:column;grid-area:2/2;gap:12px;padding:12px;display:flex;overflow-y:auto;box-shadow:inset 1px 0 #ffffff08}#panel section{border:1px solid var(--line);background:#090c1673;border-radius:8px;padding:8px 10px}#panel h3{text-transform:uppercase;letter-spacing:.1em;color:var(--cyan);border-bottom:1px solid var(--line);background:linear-gradient(90deg,#46d9ff1f,#0000);border-radius:8px 8px 0 0;margin:-8px -10px 6px;padding:6px 10px;font-size:11px}#topbar{height:var(--topbar-h);box-sizing:border-box;white-space:nowrap;border-bottom:1px solid var(--line-bright);z-index:4;scrollbar-width:none;background:linear-gradient(#ffffff0d,#0000 60%),linear-gradient(90deg,#121a33,#0e1426 50%,#121a33);grid-area:1/1/auto/-1;align-items:center;gap:10px;min-width:0;padding:0 10px;display:flex;overflow:auto hidden;box-shadow:0 1px #46d9ff40,0 4px 14px #00000080}#topbar button{padding:4px 12px}.hud-stats{gap:6px;display:flex}.stat{--c:var(--muted);border:1px solid color-mix(in srgb, var(--c) 45%, transparent);background:color-mix(in srgb, var(--c) 10%, transparent);font-variant-numeric:tabular-nums;cursor:default;border-radius:999px;align-items:center;gap:6px;padding:3px 9px;display:inline-flex}.stat.lumenite{--c:var(--lumenite)}.stat.ferrox{--c:var(--ferrox)}.stat.e280{--c:var(--e280)}.stat.secured{--c:var(--secured)}.stat.units{--c:var(--cyan)}.stat-dot{background:var(--c);width:8px;height:8px;box-shadow:0 0 6px var(--c);transform:rotate(45deg)}.stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px}.stat-value{color:var(--c);font-weight:600}.hud-spacer{flex:1}.hud-group{border-left:1px solid var(--line);gap:4px;padding-left:10px;display:flex}.row{justify-content:space-between;gap:8px;padding:1px 0;display:flex}.row .key{color:var(--muted);white-space:pre}.row .value{text-align:right}.controls,.toggle{flex-wrap:wrap;gap:6px;display:flex}button{--b:var(--line-bright);color:var(--text);border:1px solid var(--b);font:inherit;cursor:pointer;background:linear-gradient(#ffffff17,#fff0 55%),linear-gradient(#212a48,#161d36);border-radius:6px;padding:5px 10px;font-weight:500;transition:border-color .12s,box-shadow .12s,transform 60ms,filter .12s;position:relative;box-shadow:inset 0 1px #ffffff1a,0 1px 2px #00000080}button:hover:not(:disabled){border-color:var(--cyan);box-shadow:inset 0 1px 0 #ffffff24, 0 0 0 1px var(--glow), 0 0 12px var(--glow);filter:brightness(1.12)}button:active:not(:disabled){transform:translateY(1px)}button:focus-visible{outline:2px solid var(--cyan);outline-offset:1px}button:disabled{opacity:.4;cursor:default;filter:saturate(.4)}button.primary{color:#1d1300;background:linear-gradient(180deg, #ffffff59, #fff0 55%), linear-gradient(180deg, var(--accent), var(--accent-2));text-shadow:0 1px #ffffff4d;border-color:#ffd97a;font-weight:700}button.primary:hover:not(:disabled){border-color:#fff0c2;box-shadow:inset 0 1px #fff6,0 0 14px #ffc94d8c}button.peace{border-color:color-mix(in srgb, var(--peace) 60%, transparent);color:#c9ffe9;background:linear-gradient(#ffffff14,#fff0 55%),linear-gradient(#164536,#0f2f26)}button.peace:hover:not(:disabled){border-color:var(--peace);box-shadow:0 0 12px #3fcf9a73}button.danger{border-color:color-mix(in srgb, var(--danger) 60%, transparent);color:#ffd6d2;background:linear-gradient(#ffffff14,#fff0 55%),linear-gradient(#5a1a1f,#3a1015)}button.danger:hover:not(:disabled){border-color:var(--danger);box-shadow:0 0 12px #ff5a4f80}button.icon{min-width:32px;padding:4px 8px;font-size:15px;line-height:1}button.on{border-color:var(--accent);color:var(--accent);box-shadow:inset 0 0 0 1px #ffc94d66,0 0 10px #ffc94d59}dialog.confirm{max-width:420px;color:var(--text);background:linear-gradient(180deg, var(--panel-2), var(--panel));border:1px solid var(--line-bright);border-radius:10px;padding:18px 20px 16px;box-shadow:0 0 0 1px #46d9ff26,0 20px 60px #000000b3}dialog.confirm::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#04060ca6}dialog.confirm h2{margin:0 0 8px;font-size:17px}dialog.confirm p{color:#c3cae3;margin:0 0 16px;line-height:1.5}.dialog-buttons{justify-content:flex-end;gap:8px;display:flex}.dialog-buttons button{padding:6px 16px}.check{color:var(--muted);margin-top:6px;display:block}.slider{width:100%;accent-color:var(--accent);margin:8px 0 2px;display:block}a.link{color:var(--accent);margin-top:6px;display:block}.log{border:1px solid var(--line);background:#00000040;border-radius:6px;max-height:260px;padding:4px 6px;font-size:12px;line-height:1.45;overflow-y:auto}.muted{color:var(--muted)}#cover{background:var(--bg);cursor:pointer;z-index:10;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;inset:0}#cover[hidden]{display:none}.cover-text{font-size:28px;font-weight:600}.cover-hint{color:var(--muted)}.order-list{flex-direction:column;gap:4px;display:flex}button.order{text-align:left;justify-content:space-between;gap:8px;display:flex}button.order .detail{color:var(--muted);font-size:12px}.order-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}button.order.tile{text-align:center;background:radial-gradient(70% 55% at 50% 38%,#46d9ff29,#0000),linear-gradient(#1c2442,#121830);flex-direction:column;justify-content:flex-start;align-items:center;gap:2px;padding:6px 4px 5px}.tile-art{object-fit:contain;filter:drop-shadow(0 3px 3px #0000008c);pointer-events:none;width:100%;height:58px}.tile-art.letter{color:var(--cyan);justify-content:center;align-items:center;font-size:20px;font-weight:700;display:flex}.tile-name{font-size:12px;font-weight:600}button.order.tile .detail{font-size:10.5px;line-height:1.25}.form{border-top:1px solid var(--line);flex-direction:column;gap:4px;padding:4px 0;display:flex}.amounts{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.amounts input{width:56px}input,select{color:var(--text);border:1px solid var(--line);font:inherit;background:#0d1222;border-radius:4px;padding:3px 4px}select{max-width:200px}.hint{color:#bfe9ff;border:1px solid #2f6f8a;border-radius:4px;margin:0;padding:6px 8px}#panel h2{margin:0;font-size:15px}.field{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;padding:2px 0;display:flex}.field input{width:170px}.inline{color:var(--muted)}input.small{width:64px}.problems{color:#ff9a8a;margin:0 0 6px;padding-left:18px;font-size:12px}.ok{color:#8ee59a;margin:0 0 6px}.refusal{color:#ffb4a8;border-left:3px solid #e0604c;margin:8px 0;padding:4px 8px}.warning{color:#ffd27a;margin:6px 0 0}#lobby{max-width:640px;margin:40px auto;padding:0 16px}.lobby-form{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.lobby-form select{max-width:100%}.copy-row{flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0;display:flex}.copy-row label{width:100%}.copy-row input{flex:1;min-width:0}.primary-link{font-weight:700}.clock{font-variant-numeric:tabular-nums}[hidden]{display:none!important}#banner{text-overflow:ellipsis;border:2px solid var(--line);font-variant-numeric:tabular-nums;background:#090c16b3;border-radius:6px;flex-shrink:0;max-width:420px;padding:4px 12px;overflow:hidden;box-shadow:inset 0 0 10px #00000080}#banner:empty{display:none}#banner.mine{color:var(--accent);font-weight:700}#toast{background:linear-gradient(180deg, var(--panel-2), var(--panel));border:2px solid var(--accent);color:var(--accent);cursor:pointer;z-index:3;border-radius:10px;padding:16px 28px;font-size:22px;font-weight:700;position:absolute;top:18%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 30px #ffc94d59}
