:root{--bg:#08131d;--panel:#101f2d;--panel2:#142736;--edge:#2b3d4d;--text:#edf7fb;--muted:#879eab;--gold:#f4c47d;--teal:#55d3bc;--red:#f1857c;--bright:#75bbd9}
*{box-sizing:border-box}body{margin:0;color:var(--text);background:radial-gradient(circle at 55% -5%,#1e3b4c 0,#0a1a29 40%,#06111c 100%);font:14px Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid var(--teal);outline-offset:2px}button:disabled{opacity:.42;cursor:not-allowed}.topbar{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#0a1722eb;border-bottom:1px solid #2d4352;padding:14px 22px;min-height:78px}.branding{display:flex;align-items:center;gap:12px;min-width:255px}.emblem{position:relative;display:flex;align-items:center;justify-content:center;color:#06131f;background:linear-gradient(145deg,#ffe6a4,#d2a45e);font-size:38px;width:51px;height:51px;border-radius:14px;box-shadow:0 0 30px #bb96503a}.emblem i{position:absolute;font-size:11px;top:19px;font-style:normal}.wordmark{font-size:22px;letter-spacing:3.5px;font-weight:900}.brandhint{font-size:9px;color:#a0b7c1;letter-spacing:2.0px;margin-top:4px}.brandhint b{color:var(--gold)}.ticker{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.res{border:1px solid #2d4b59;background:#142b38;border-radius:9px;padding:8px 11px;min-width:96px}.res small{display:block;color:#97aeb9;letter-spacing:.9px;font-size:9px;font-weight:800}.res strong{font-size:16px;letter-spacing:.4px}.muted{color:var(--muted);font-size:12px;letter-spacing:1.1px}.headright{display:flex;align-items:center;gap:12px}.status{border:1px solid #275c52;color:#8de2ca;background:#122c2c;border-radius:22px;padding:9px 11px;letter-spacing:1px;font-size:10px;font-weight:900;white-space:nowrap}.status i{display:inline-block;width:7px;height:7px;background:var(--teal);border-radius:50%;margin-right:5px;box-shadow:0 0 9px #52dbc6}.headuser{border:1px solid #8f7450;background:linear-gradient(120deg,#f7d9a0,#c99347);border-radius:9px;padding:11px 13px;color:#162330;font-weight:850;white-space:nowrap}.notice-strip{height:35px;display:flex;align-items:center;gap:14px;padding:0 24px;background:#152a39;border-bottom:1px solid #2e4857;letter-spacing:1.6px;font-size:9px;color:#a7bdc8}.notice-strip span:first-child{color:var(--gold);font-weight:900}.notice-strip b{background:#253b47;border:1px solid #416071;padding:4px 7px;border-radius:4px;color:#bad1dd;font-size:8px}.notice-strip span:last-child{margin-left:auto;color:#63d7c4}.workspace{max-width:1920px;margin:auto;display:grid;grid-template-columns:225px minmax(400px,1fr) 300px;gap:15px;padding:16px;min-height:calc(100vh - 151px)}.sidebar,.intel,.mapcard,.card,.metric{border:1px solid var(--edge);background:linear-gradient(145deg,#152637,#101e2b);border-radius:15px;box-shadow:0 16px 50px #01080f50}.sidebar{padding:16px 11px;display:flex;flex-direction:column;gap:13px}.railtitle,.eyebrow{font-size:9px;font-weight:900;letter-spacing:2.3px;color:#88abb9}.railtitle{padding:9px 11px}.nav{display:flex;flex-direction:column;gap:5px}.nav button{border:1px solid transparent;background:transparent;text-align:left;color:#a2b6c5;padding:13px;border-radius:10px;font-weight:650;display:flex;align-items:center;gap:13px}.nav button span{font-size:21px;font-weight:400;width:20px;text-align:center;color:#8babb7}.nav button:hover,.nav button.active{color:#f9d49d;background:#273d4b;border-color:#456173}.nav button.active span{color:var(--gold)}.sidebox{margin-top:13px;padding:14px;border:1px solid #304d5e;border-radius:12px;background:#162d3b}.side-nation{font-size:17px;font-weight:800;margin:9px 0}.sidebox p{font-size:11px;line-height:1.65;color:#a1bbc8;margin:0 0 13px}.smallline{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-top:1px solid #345061;font-size:11px;color:#a7bdca}.smallline strong{color:#fff;font-size:13px}.railbottom{margin-top:auto;padding:15px 10px 5px;font-weight:800;font-size:10px;letter-spacing:.5px;color:#bbd1db}.railbottom p{font-size:10px;color:#6f91a1;font-weight:500}.maincol{min-width:0;display:flex;flex-direction:column;gap:15px}.pagehead{min-height:82px;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:1px 5px}.pagehead h1{font-size:25px;letter-spacing:-.8px;margin:6px 0}.pagehead p{color:#9fb5c3;margin:0;font-size:12px}.season-pill{border:1px solid #3b635e;border-radius:30px;padding:8px 11px;color:#9cddd1;white-space:nowrap;letter-spacing:1px;font-size:9px;font-weight:850}.mapcard{overflow:hidden}.maptop{padding:17px 18px;display:flex;align-items:center;justify-content:space-between;gap:8px}.maptop strong{display:block;font-size:12px;letter-spacing:1.5px}.maptop span{display:block;font-size:9px;letter-spacing:1.4px;color:#839eae;margin-top:5px}.mapbuttons{display:flex;gap:6px}.mapbuttons .maptag{border:1px solid #365366;border-radius:7px;color:#b4c9d4;background:#152b3b;padding:8px;font-size:9px;margin:0}.maparea{background:radial-gradient(circle at 55% 35%,#214459,#0d2637 72%,#0b1f30);position:relative}.maparea canvas{display:block;width:100%;height:auto;cursor:crosshair;touch-action:manipulation}.mapcorner{position:absolute;top:17px;left:17px;pointer-events:none;border:1px solid #507a84a1;background:#0b222dad;padding:8px 10px;font-size:10px;color:#accdd3;letter-spacing:1.3px;border-radius:6px}.mapfooter{display:flex;gap:19px;align-items:center;flex-wrap:wrap;padding:14px 17px;background:#152937;border-top:1px solid #2b4757;color:#adc3ce;font-size:10px}.mapfooter span{display:flex;align-items:center;gap:6px}.mapfooter em{margin-left:auto;color:#7194a5;font-style:normal}.legend{display:inline-block;width:9px;height:9px;background:var(--teal);border-radius:2px}.legend.neutral{background:#586d64}.legend.enemy{background:#e18a7e}.legend.water{background:#25536d}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:13px}.metric{padding:18px}.metric span{font-size:9px;letter-spacing:1.5px;color:#88a9b8;font-weight:850}.metric strong{display:block;font-size:28px;line-height:1.5;letter-spacing:-1px}.metric small{font-size:10px;color:#9bb7c5}.intel{padding:20px 17px;display:flex;flex-direction:column;gap:12px;align-self:start;min-height:400px;max-height:calc(100vh - 145px);overflow:auto}.intel h2{font-size:19px;margin:3px 0 0}.intel p{line-height:1.7;color:#a5bdca;font-size:12px;margin:1px 0}.infoline{display:flex;justify-content:space-between;border-bottom:1px solid #2c4758;padding:10px 0;gap:12px;font-size:12px}.infoline span{color:#96b2be}.infoline strong{text-align:right}.line{border-top:1px solid #345263;margin:3px 0}.action{width:100%;border:1px solid #456477;border-radius:9px;padding:12px 10px;color:#e9f5fa;background:#234052;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:6px}.action:hover{background:#30546a}.action small{font-size:10px;color:#aec6d2}.action.yellow{background:#53402b;border-color:#917249}.action.yellow:hover{background:#6b5132}.action.danger{background:#4b2d36;border-color:#96616b}.action.danger:hover{background:#63404b}.action:disabled{opacity:.42}.mini-title{font-size:10px;color:#8eaebb;letter-spacing:1.8px;font-weight:900;margin-top:8px}.callout{border:1px solid #3c5a66;background:#1b3240;border-radius:9px;padding:12px;font-size:11px;line-height:1.65;color:#bed2de}.card{padding:22px;margin-bottom:13px}.card h2{font-size:19px;margin:4px 0 10px}.card p{font-size:12px;line-height:1.7;color:#adc2cd}.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.innercard{border:1px solid #345063;background:#1a3040;border-radius:12px;padding:17px}.innercard h3{margin:4px 0 7px;font-size:16px}.innercard p{font-size:11px;color:#a6c0cd;min-height:31px}.tiny{font-size:11px;color:#a1b9c8}.cost{color:#e8c28a;font-size:11px;margin:11px 0}.roster{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.unit{text-align:center;background:#1a3042;border:1px solid #3a5464;border-radius:12px;padding:18px 8px}.unit .uniticon{font-size:25px;color:var(--gold)}.unit strong{display:block;font-size:25px;margin:5px 0}.unit small{font-size:10px;color:#9db6c6}.entry{border-bottom:1px solid #345061;padding:12px 0;color:#b5cbd6;font-size:12px;line-height:1.6}.entry time{color:var(--gold);font-size:10px;display:block}.formrow{display:flex;gap:8px;margin:12px 0}.field{background:#0e2332;border:1px solid #466273;color:white;padding:11px;border-radius:8px;min-width:0;flex:1}.btn{background:#29495b;border:1px solid #496b79;color:#e0edf4;padding:11px 13px;border-radius:8px;font-weight:750}.btn:hover{background:#385a6d}.goldbutton{border:none;border-radius:9px;background:linear-gradient(110deg,#ffde9e,#d49e54);color:#102333;font-weight:900;padding:13px 15px}.goldbutton:hover{filter:brightness(1.05)}.banner{background:linear-gradient(110deg,#173d40,#233c42);border:1px solid #507d73;border-radius:12px;padding:16px;margin-bottom:14px}.banner h3{margin:0 0 7px}.banner p{margin:0}.tag{display:inline-block;background:#233e4d;border:1px solid #446477;border-radius:14px;padding:5px 8px;color:#bcd2dd;font-size:10px}.bigvalue{font-size:18px;font-weight:900;color:var(--gold)}footer{display:flex;justify-content:space-between;gap:10px;padding:12px 24px;border-top:1px solid #1d3745;font-size:9px;letter-spacing:1.4px;color:#728d9a}.modal-cover{position:fixed;inset:0;background:#020b12d9;display:grid;place-items:center;z-index:40;padding:18px;backdrop-filter:blur(8px)}.modal-cover.hidden{display:none}.authmodal{position:relative;width:min(100%,460px);padding:32px;border:1px solid #4e6a72;border-radius:20px;background:radial-gradient(circle at top,#254655,#101f2d 70%);box-shadow:0 25px 120px #000e}.authmark{display:grid;place-items:center;width:56px;height:56px;background:#dbb16a;color:#17323c;border-radius:15px;font-size:40px;margin-bottom:18px}.authmodal h2{font-size:27px;letter-spacing:-1px;margin:10px 0}.authmodal p{font-size:12px;color:#b0c5d0;line-height:1.7}.authmodal label{display:block;font-size:11px;font-weight:850;margin:12px 0;color:#c3d4db;letter-spacing:.6px}.authmodal input{display:block;width:100%;padding:14px;background:#0c2432;color:#fff;border-radius:9px;border:1px solid #456879;margin-top:8px}.authmodal .goldbutton{display:block;width:100%;margin-top:22px}.authtabs{display:flex;background:#092231;border-radius:10px;padding:4px;margin:20px 0}.authtabs button{width:50%;padding:10px;background:transparent;border:0;color:#8cb0be;border-radius:8px;font-weight:850}.authtabs button.active{background:#284a5b;color:#ffdb9e}.close{position:absolute;right:18px;top:16px;background:none;border:0;font-size:21px;color:#a5bac5}.fineprint{font-size:10px!important;text-align:center}.toast{position:fixed;bottom:20px;right:20px;background:#193d46;color:#e7fcf9;border:1px solid #5d988f;border-radius:11px;padding:14px 18px;z-index:60;max-width:380px;box-shadow:0 20px 50px #000b;opacity:0;transform:translateY(30px);transition:.2s;pointer-events:none;font-size:12px;line-height:1.5}.toast.show{opacity:1;transform:translateY(0)}@media(max-width:1260px){.workspace{grid-template-columns:195px minmax(300px,1fr)}.intel{grid-column:2;max-height:none}.ticker{justify-content:flex-end}}@media(max-width:830px){.topbar{padding:11px;flex-wrap:wrap}.branding{min-width:0}.wordmark{font-size:18px}.brandhint{font-size:8px}.ticker{order:3;width:100%;justify-content:flex-start}.res{min-width:74px}.res strong{font-size:13px}.notice-strip{gap:7px;padding:0 9px;font-size:8px}.notice-strip span:nth-child(2){display:none}.workspace{display:flex;flex-direction:column;padding:9px}.sidebar{gap:2px;padding:7px}.railtitle,.railbottom,.sidebox{display:none}.nav{flex-direction:row;overflow-x:auto}.nav button{flex:0 0 auto;font-size:11px;padding:9px}.nav button span{font-size:14px;width:auto}.pagehead{padding:12px 4px}.pagehead h1{font-size:22px}.season-pill{display:none}.maptop{padding:12px}.mapbuttons{display:none}.mapfooter{gap:10px;font-size:9px}.metrics{gap:7px}.metric{padding:12px}.metric strong{font-size:19px}.metric span{font-size:8px}.card-grid,.roster{grid-template-columns:1fr}.intel{padding:17px}.notice-strip span:last-child{font-size:8px}footer{padding:12px;flex-wrap:wrap}}

.authmodal label.hidden{display:none}
