:root{color:#e8eceb;font-synthesis:none;--gold:#cda85c;--muted:#7d898d;--panel:#10161b;--line:#c4d2d226;background:#080c10;font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;min-height:100%;margin:0}body{background:#080c10;min-height:100vh}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent;color:inherit}.eyebrow{color:var(--gold);letter-spacing:.18em;margin:0 0 12px;font:500 11px/1.2 IBM Plex Mono,monospace}.primary-button,.secondary-button{border:1px solid var(--gold);background:var(--gold);color:#0b0e0f;letter-spacing:.05em;cursor:pointer;border-radius:2px;justify-content:center;align-items:center;min-height:48px;padding:0 24px;font:600 13px IBM Plex Mono,monospace;display:inline-flex}.secondary-button{color:#e9e3d6;background:0 0}.primary-button:hover:not(:disabled){background:#e1c174}.secondary-button:hover:not(:disabled){background:#cda85c14}button:disabled{cursor:not-allowed;opacity:.35}label{color:#9da7a8;letter-spacing:.08em;text-transform:uppercase;gap:8px;font:500 11px IBM Plex Mono,monospace;display:grid}input{color:#f1f3f1;background:#0b1014;border:1px solid #293238;border-radius:2px;outline:none;min-width:0;padding:13px 14px;font:500 14px Inter,sans-serif}input:focus{border-color:var(--gold);box-shadow:0 0 0 1px #cda85c2e}.form-error{color:#ef8c79;font-size:13px}.login-shell{background:radial-gradient(circle at 74% 45%,#ad89411f,#0000 18%),linear-gradient(90deg,#080c10fa 0 46%,#080c108c 72%),repeating-radial-gradient(circle at 74% 45%,#0000 0 74px,#bac6c30b 75px 76px),#080c10;align-items:center;min-height:100vh;padding:48px clamp(24px,8vw,140px);display:grid;overflow:hidden}.login-shell:after{content:"";aspect-ratio:1;opacity:.48;pointer-events:none;background:radial-gradient(circle at 50% 49%,#d4b55d 0 2px,#0000 3px),radial-gradient(circle at 42% 56%,#8ba5af 0 1px,#0000 2px),radial-gradient(circle at 58% 37%,#8ba5af 0 1px,#0000 2px),radial-gradient(circle at 64% 61%,#8ba5af 0 1.5px,#0000 2.5px),radial-gradient(circle,#384f5647,#0000 55%);width:min(66vw,850px);position:fixed;top:50%;right:-10vw;transform:translateY(-50%)}.login-card{z-index:1;width:min(500px,100%);position:relative}.login-card h1,.hub-header h1,.lobby-header h1{color:#f2f0e9;letter-spacing:-.02em;text-transform:uppercase;margin:0;font:600 clamp(44px,5.2vw,74px)/.9 Barlow Condensed,sans-serif}.login-card .intro{color:#929c9d;max-width:430px;margin:28px 0 38px;font-size:15px;line-height:1.7}.login-card form{gap:16px;max-width:390px;display:grid}.google-button{width:300px;text-decoration:none}.dev-note{color:#596468;margin:0;font:10px IBM Plex Mono,monospace}.dev-note code{color:#899395}.hub-shell{background:linear-gradient(120deg,#0c1217,#070a0d 60%);min-height:100vh;padding:54px clamp(24px,7vw,110px)}.hub-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;padding-bottom:36px;display:flex}.hub-header h1{font-size:clamp(42px,5vw,66px)}.identity{color:#aab2b2;align-items:center;gap:22px;font-size:13px;display:flex}.text-button{color:var(--gold);cursor:pointer;background:0 0;border:0;padding:0;font:11px IBM Plex Mono,monospace}.hub-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:42px;display:grid}.action-card{background:#0d1318;align-content:start;min-height:370px;padding:38px;display:grid;position:relative}.create-card{background:linear-gradient(145deg,#cda85c14,#0000 52%),#0d1318}.card-number{color:#cda85c26;font:600 48px Barlow Condensed;position:absolute;top:22px;right:30px}.action-card h2{text-transform:uppercase;max-width:360px;margin:24px 0 10px;font:600 30px Barlow Condensed}.action-card>p{max-width:450px;color:var(--muted);margin:0 0 34px;font-size:14px;line-height:1.55}.action-card label{margin-top:auto}.action-card button{justify-self:start;margin-top:18px}.code-input{max-width:260px;color:var(--gold);letter-spacing:.25em;font:600 20px IBM Plex Mono}.campaign-list{max-width:900px;margin-top:54px}.campaign-row{border:0;border-bottom:1px solid var(--line);cursor:pointer;text-align:left;background:0 0;justify-content:space-between;align-items:center;width:100%;padding:18px 2px;display:flex}.campaign-row:hover strong{color:var(--gold)}.campaign-row span:first-child{gap:6px;display:grid}.campaign-row small,.empty-copy{color:var(--muted)}.status{color:#9aa6a8;letter-spacing:.1em;text-transform:uppercase;border:1px solid #425057;padding:6px 9px;font:10px IBM Plex Mono}.status.active{color:#75b798;border-color:#5e8e79}.lobby-shell{background:radial-gradient(circle at 50% 0,#cda85c14,#0000 30%),#080c10;min-height:100vh;padding:44px clamp(22px,6vw,96px)}.lobby-header{text-align:center}.lobby-header h1{margin-top:16px;font-size:clamp(42px,5vw,64px)}.lobby-header>p:last-child{color:var(--muted)}.back-link{color:#8e999a;font:11px IBM Plex Mono;text-decoration:none;position:absolute;left:clamp(22px,6vw,96px)}.invite-code{background:#cda85c0d;border:1px solid #cda85c59;grid-template-columns:1fr auto;align-items:center;width:min(500px,100%);margin:42px auto;padding:17px 20px;display:grid}.invite-code span{color:#8e999a;letter-spacing:.14em;font:10px IBM Plex Mono}.invite-code strong{color:var(--gold);letter-spacing:.2em;grid-row:span 2;font:600 28px IBM Plex Mono}.invite-code button{color:#d8dcd8;cursor:pointer;background:0 0;border:0;justify-self:start;padding:4px 0;font:10px IBM Plex Mono}.seat-grid{border:1px solid var(--line);background:var(--line);grid-template-columns:repeat(5,minmax(130px,1fr));gap:1px;max-width:1200px;margin:0 auto;display:grid}.seat{text-align:center;background:#0c1115;align-content:center;place-items:center;gap:12px;min-height:230px;padding:20px;display:grid;position:relative}.seat.occupied{background:linear-gradient(#cda85c0f,#0000),#0e1418}.seat-index{color:#465157;font:10px IBM Plex Mono;position:absolute;top:12px;left:14px}.avatar,.empty-avatar{width:62px;height:62px;color:var(--gold);background:#161a1b;border:1px solid #836f43;border-radius:50%;place-items:center;font:600 17px IBM Plex Mono;display:grid}.empty-avatar{background:0 0;border-style:dashed;border-color:#303a3f}.seat strong{letter-spacing:.03em;text-transform:uppercase;font:600 17px Barlow Condensed}.seat small{color:#647075;text-transform:uppercase;font:10px IBM Plex Mono}.lobby-footer{justify-content:space-between;align-items:center;max-width:1200px;margin:28px auto 0;display:flex}.lobby-count{display:grid}.lobby-footer strong{color:var(--gold);font:600 24px IBM Plex Mono}.lobby-footer span,.lobby-footer p{color:var(--muted);font-size:12px}.lobby-actions{align-items:center;gap:12px;display:flex}.autofill-button{color:#a7b2b4;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:#65747a14;border:1px dashed #65747a;min-height:48px;padding:0 18px;font:600 10px IBM Plex Mono,monospace}.loading-screen{color:#8c989b;letter-spacing:.1em;text-transform:uppercase;background:#080c10;place-content:center;justify-items:center;gap:18px;min-height:100vh;font:11px IBM Plex Mono;display:grid}.signal{border:1px solid var(--gold);border-top-color:#0000;border-radius:50%;width:35px;height:35px;animation:1.2s linear infinite rotate}@keyframes rotate{to{transform:rotate(360deg)}}.command-shell{--house-color:#cda85c;background:#06090d;grid-template:80px minmax(0,1fr)/76px minmax(0,1fr);height:100vh;display:grid;overflow:hidden}.command-header{border-bottom:1px solid var(--line);background:#0d1216;grid-column:1/-1;grid-template-columns:240px 1fr auto auto;align-items:center;display:grid}.brand-mark{border-right:1px solid var(--line);place-content:center;align-items:center;height:100%;padding:0 22px;display:grid}.brand-mark span{color:var(--gold);letter-spacing:.14em;font:700 26px/1 Barlow Condensed}.brand-mark small{color:#879397;letter-spacing:.1em;margin-top:5px;font:11px IBM Plex Mono}.campaign-title{align-items:center;gap:12px;padding:0 26px;display:flex}.campaign-title div,.house-identity div{gap:4px;display:grid}.campaign-title strong,.house-identity strong{letter-spacing:.05em;text-transform:uppercase;font:600 17px Barlow Condensed}.campaign-title small,.house-identity small{color:#8a969a;letter-spacing:.08em;font:11px IBM Plex Mono}.live-dot{background:#70b890;border-radius:50%;width:6px;height:6px;box-shadow:0 0 8px #70b890}.house-identity{border-left:1px solid var(--line);text-align:right;align-items:center;gap:20px;height:100%;padding:0 22px;display:flex}.house-identity strong{color:var(--house-color)}.house-sigil{border:1px solid var(--house-color);width:38px;height:38px;color:var(--house-color);place-items:center;font:600 11px IBM Plex Mono;display:grid}.dev-perspective{text-transform:none;border-left:1px dashed #354047;gap:4px;min-width:230px;padding:0 20px;display:grid}.dev-perspective small{color:#8a969a;letter-spacing:.09em;font:11px IBM Plex Mono}.dev-perspective select{color:#d1d7d7;cursor:pointer;background:0 0;border:0;outline:none;max-width:240px;font:12px IBM Plex Mono}.dev-perspective option{color:#d9dede;background:#11171b}.command-nav{border-right:1px solid var(--line);background:#0b1014;flex-direction:column;display:flex}.command-nav button{color:#78858a;letter-spacing:.06em;text-transform:uppercase;background:0 0;border:0;border-bottom:1px solid #ffffff0d;align-content:center;place-items:center;gap:6px;height:78px;font:11px IBM Plex Mono;display:grid}.command-nav button span{font-size:17px}.command-nav button.active{border-left:2px solid var(--house-color);background:linear-gradient(90deg, color-mix(in srgb, var(--house-color) 10%, transparent), transparent);color:var(--house-color)}.map-workspace{min-width:0;min-height:0;position:relative;overflow:hidden}.pixi-map{position:absolute;inset:0}.pixi-map canvas{width:100%;height:100%;display:block}.map-toolbar{z-index:3;pointer-events:none;justify-content:space-between;align-items:flex-start;display:flex;position:absolute;top:18px;left:22px;right:22px}.search-box{border:1px solid var(--line);pointer-events:auto;background:#0a0f13ed;align-items:center;width:min(340px,34vw);display:flex;position:relative}.search-submit{color:var(--gold);cursor:pointer;background:0 0;border:0;align-self:stretch;padding:0 0 0 14px;font-size:18px}.search-box input{background:0 0;border:0;width:100%;font-size:14px}.search-results{border:1px solid var(--line);background:#0d1317;position:absolute;top:47px;left:-1px;right:-1px;box-shadow:0 12px 32px #00000059}.search-results button{text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #ffffff0d;justify-content:space-between;width:100%;padding:11px 13px;font-size:14px;display:flex}.search-results button:hover{background:#cda85c14}.search-results small{color:#8a969a;font:11px IBM Plex Mono}.map-legend{border:1px solid var(--line);color:#a1abad;pointer-events:auto;background:#0a0f13e6;align-items:center;gap:14px;padding:11px 13px;font:11px IBM Plex Mono;display:flex}.map-legend span{align-items:center;gap:6px;display:flex}.map-legend i{background:#aeb8ba;border-radius:50%;flex:none;width:6px;height:6px;display:inline-block}.map-legend i.own-system{background:var(--house-color);box-shadow:0 0 6px var(--house-color)}.map-legend i.house-capital{background:radial-gradient(circle,#e6c878 0 2px,#0000 2.5px 4px,#e6c878 4.5px 5px,#0000 5.5px);border:1px solid #e6c878;width:12px;height:12px}.map-legend i.regional-capital{background:radial-gradient(circle,#e6c878 0 2px,#0000 2.5px);border:1px solid #e6c878;width:10px;height:10px}.map-legend>small{color:#748186;font-size:10px}.region-focus{z-index:3;background:#0d1318f0;border:1px solid #e6c87866;align-items:center;gap:11px;padding:10px 12px;display:flex;position:absolute;top:68px;left:50%;transform:translate(-50%);box-shadow:0 10px 26px #00000047}.region-focus span{color:var(--gold);letter-spacing:.1em;font:10px IBM Plex Mono}.region-focus strong{font-size:13px}.region-focus small{color:#93a0a3;font-size:11px}.region-focus button{color:#d8c285;cursor:pointer;background:0 0;border:0;padding:3px 6px;font-size:11px}.system-panel{z-index:4;border:1px solid var(--line);border-top:2px solid var(--house-color);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0d1318f2;width:min(370px,100% - 44px);min-height:270px;max-height:calc(100% - 130px);padding:26px;position:absolute;bottom:46px;right:22px;overflow-y:auto;box-shadow:0 20px 50px #00000057}.system-panel h2{text-transform:uppercase;margin:0 0 12px;font:600 34px Barlow Condensed}.system-panel>p:last-child{color:var(--muted);font-size:13px;line-height:1.6}.panel-close{color:#8b9799;cursor:pointer;background:0 0;border:0;font-size:22px;position:absolute;top:8px;right:12px}.system-faction{background:#ffffff06;border-left:2px solid;gap:5px;padding:12px 14px;display:grid}.capital-badge{color:#e6c878;letter-spacing:.09em;border:1px solid #d4b967;width:fit-content;margin:0 0 16px;padding:5px 8px;font:600 11px IBM Plex Mono}.capital-badge.house{box-shadow:0 0 12px #e6c87824}.system-faction span,.system-panel dt{color:#879397;letter-spacing:.08em;font:11px IBM Plex Mono}.system-faction strong{font:500 14px IBM Plex Mono}.system-panel dl{margin:20px 0}.system-panel dl div{border-bottom:1px solid #ffffff0d;grid-template-columns:96px 1fr;padding:10px 0;display:grid}.system-panel dd{color:#c3caca;text-transform:capitalize;margin:0;font:13px/1.45 IBM Plex Mono}.system-panel dl .region-row{align-items:start}.region-row dd{flex-wrap:wrap;gap:6px;display:flex}.region-row button{color:#c3caca;text-align:left;cursor:pointer;background:#11191e;border:1px solid #3b474c;padding:5px 7px;font:11px IBM Plex Mono}.region-row button:hover,.region-row button.active{border-color:var(--gold);color:#f1d88e;background:#cda85c1a}.record-link{color:var(--gold);font:12px IBM Plex Mono;text-decoration:none}.map-status{z-index:2;border-top:1px solid var(--line);color:#748186;letter-spacing:.06em;text-transform:uppercase;background:#070a0deb;justify-content:space-between;align-items:center;height:30px;padding:0 13px;font:11px IBM Plex Mono;display:flex;position:absolute;bottom:0;left:0;right:0}.review-shell{background:radial-gradient(circle at 80% 0,#cda85c14,#0000 30%),#080c10;min-height:100vh;padding:44px clamp(22px,6vw,96px)}.review-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;padding-bottom:30px;display:flex}.review-header h1{color:#f2f0e9;letter-spacing:-.01em;text-transform:uppercase;margin:8px 0 0;font:600 clamp(30px,3.4vw,44px)/.95 Barlow Condensed,sans-serif}.review-header .back-link{font-size:13px;position:static}.review-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:380px 1fr;gap:1px;min-height:60vh;margin-top:30px;display:grid}.review-list{background:#0d1318;max-height:78vh;padding:18px;overflow-y:auto}.review-summary{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 16px;font:11px IBM Plex Mono,monospace}.review-card{border:1px solid var(--line);cursor:pointer;background:linear-gradient(145deg,#14222f80,#0c172180);border-left:3px solid #0000;margin-bottom:10px;padding:16px}.review-card.selected{border-left-color:var(--gold);background:linear-gradient(145deg,#cda85c1a,#0000)}.review-card-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.review-card-title strong{letter-spacing:.02em;text-transform:uppercase;font:600 15px Barlow Condensed}.review-card-meta{color:#9aa6a8;margin:6px 0 2px;font-size:12px}.review-card-reason{color:var(--muted);text-transform:capitalize;margin:0 0 12px;font:11px IBM Plex Mono}.pill{letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:3px 8px;font:600 10px IBM Plex Mono}.pill.unsure{color:var(--gold);background:#cda85c24;border:1px solid #cda85c66}.review-card-actions{gap:8px;display:flex}.pill-button{letter-spacing:.04em;text-transform:uppercase;cursor:pointer;border-radius:2px;flex:1;min-height:34px;padding:0 8px;font:600 11px IBM Plex Mono}.pill-button.valid{color:#75b798;background:#5e8e791a;border:1px solid #5e8e79}.pill-button.valid:hover:not(:disabled){background:#5e8e7938}.pill-button.unsure{color:var(--gold);background:#cda85c14;border:1px solid #cda85c80}.pill-button.unsure:hover:not(:disabled){background:#cda85c33}.pill-button.invalid{color:#ef8c79;background:#a1554e1a;border:1px solid #a1554e}.pill-button.invalid:hover:not(:disabled){background:#a1554e38}.review-detail{background:#0b1014;flex-direction:column;min-width:0;display:flex}.review-detail-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.review-detail-header h2{text-transform:uppercase;margin:0;font:600 24px Barlow Condensed}.review-detail-header a{color:var(--gold);white-space:nowrap;font:11px IBM Plex Mono;text-decoration:none}.review-article{flex:1;min-height:0;display:flex;position:relative}.review-article iframe{background:#fff;border:0;flex:1;width:100%}.review-article-status{z-index:1;color:var(--muted);text-align:center;background:#0b1014;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:0 40px;font:12px IBM Plex Mono,monospace;display:flex;position:absolute;inset:0}.review-detail .empty-copy{margin:auto}@media (width<=760px){.review-grid{grid-template-columns:1fr}.review-list{max-height:none}.review-article{min-height:60vh}}@media (width<=800px){.hub-grid{grid-template-columns:1fr}.hub-header{flex-direction:column;align-items:flex-start;gap:25px}.seat-grid{grid-template-columns:repeat(2,1fr)}.back-link{margin-bottom:35px;display:block;position:static}.command-header{grid-template-columns:100px 1fr}.brand-mark{padding:0 10px}.brand-mark small,.house-identity{display:none}.dev-perspective{min-width:150px;padding:0 10px}.dev-perspective select{max-width:150px}.command-shell{grid-template:64px minmax(0,1fr)/52px minmax(0,1fr)}.command-nav button{height:62px;font-size:0}.map-legend{display:none}.search-box{width:calc(100vw - 112px)}.system-panel{width:auto;bottom:35px;left:12px;right:12px}}
