
  .neon-dominion-game{
    --bg:#07090e;--panel:#0d1119;--panel2:#111827;--ink:#e8f2ff;--muted:#8ea2b8;--line:#273244;
    --cyan:#46e0ff;--mag:#ff4fd8;--lime:#b6ff5a;--amber:#ffbf47;--red:#ff5f6d;--violet:#a98cff;
    --shadow:0 0 20px rgba(70,224,255,.08);
  }
  .neon-dominion-game, .neon-dominion-game *{box-sizing:border-box} .neon-dominion-game, .neon-dominion-game{height:100%} .neon-dominion-game{margin:0;background:
    radial-gradient(circle at 20% 0%,rgba(70,224,255,.08),transparent 30%),
    radial-gradient(circle at 85% 15%,rgba(255,79,216,.07),transparent 28%),var(--bg);color:var(--ink);
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;overflow:hidden}
  .neon-dominion-game:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 4px);mix-blend-mode:screen;opacity:.22}
  .neon-dominion-game button, .neon-dominion-game input, .neon-dominion-game select{font:inherit} .neon-dominion-game button{color:var(--ink)}
  .neon-dominion-game .app{height:100%;display:grid;grid-template-rows:auto 1fr 150px;min-width:1100px}
  .neon-dominion-game header{display:grid;grid-template-columns:320px 1fr auto;gap:14px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line);background:rgba(7,9,14,.92);backdrop-filter:blur(8px)}
  .neon-dominion-game .brand{display:flex;align-items:baseline;gap:10px;white-space:nowrap}.neon-dominion-game .brand b{font-size:19px;letter-spacing:.12em;color:var(--cyan);text-shadow:0 0 18px rgba(70,224,255,.35)}.neon-dominion-game .brand small{font-size:9px;letter-spacing:.18em;color:var(--muted)}
  .neon-dominion-game .globals{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.neon-dominion-game .track{display:grid;grid-template-columns:86px 1fr 42px;gap:8px;align-items:center;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.neon-dominion-game .bar{height:9px;border:1px solid var(--line);background:#080b11;position:relative;overflow:hidden}.neon-dominion-game .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--violet));box-shadow:0 0 10px rgba(70,224,255,.5)}.neon-dominion-game .track:nth-child(2) .bar i{background:linear-gradient(90deg,var(--lime),var(--cyan))}.neon-dominion-game .track:nth-child(3) .bar i{background:linear-gradient(90deg,var(--mag),var(--amber))}
  .neon-dominion-game .headmeta{display:flex;gap:8px;align-items:center}.neon-dominion-game .chip{border:1px solid var(--line);background:#0b1018;padding:5px 8px;font-size:11px;color:var(--muted)}.neon-dominion-game .chip strong{color:var(--ink)}
  .neon-dominion-game .main{min-height:0;display:grid;grid-template-columns:260px 1fr 390px;gap:10px;padding:10px}
  .neon-dominion-game .panel{background:linear-gradient(180deg,rgba(17,24,39,.93),rgba(10,14,21,.93));border:1px solid var(--line);box-shadow:var(--shadow);min-height:0;overflow:hidden}.neon-dominion-game .panelhead{height:34px;display:flex;align-items:center;justify-content:space-between;padding:0 9px;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}
  .neon-dominion-game .players{overflow:auto;height:100%;padding:7px}.neon-dominion-game .player{border:1px solid var(--line);background:#090d14;padding:8px;margin-bottom:7px;position:relative}.neon-dominion-game .player.active{outline:1px solid var(--cyan);box-shadow:0 0 16px rgba(70,224,255,.12)}.neon-dominion-game .player.exposed:after{content:"EXPOSED";position:absolute;right:7px;top:7px;color:var(--red);font-size:9px;letter-spacing:.12em}.neon-dominion-game .pname{font-weight:800;font-size:13px}.neon-dominion-game .corp{color:var(--muted);font-size:12px;margin-top:2px}.neon-dominion-game .symbol{display:inline-grid;place-items:center;width:19px;height:19px;margin-right:6px;border:1px solid currentColor;font-weight:900}
  .neon-dominion-game .statrow{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px}.neon-dominion-game .stat{background:#101725;border:1px solid #202c40;padding:3px 5px;font-size:12px}.neon-dominion-game .prod{color:var(--muted)}.neon-dominion-game .prod b{color:var(--lime)}
  .neon-dominion-game .center{display:grid;grid-template-rows:1fr auto auto;gap:8px;min-height:0}.neon-dominion-game .boardwrap{display:grid;grid-template-columns:1fr 214px;gap:8px;min-height:0}.neon-dominion-game .citypanel{position:relative;overflow:auto;overscroll-behavior:contain}.neon-dominion-game .cityzoom{position:relative;margin:18px auto;flex:0 0 auto}.neon-dominion-game .city{--hex-w:48px;--hex-h:56px;position:absolute;left:0;top:0;width:calc(var(--hex-w) * 9.5);height:calc(var(--hex-h) * 7);transform-origin:0 0;will-change:transform}.neon-dominion-game .hex{position:absolute;width:var(--hex-w);height:var(--hex-h);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);border:0;background:#26374f;color:#7890ab;cursor:pointer;transition:filter .12s,transform .12s;display:grid;place-items:center;line-height:1;isolation:isolate}.neon-dominion-game .hex:before{content:"";position:absolute;inset:2px;clip-path:inherit;background:#0b1018;z-index:-1}.neon-dominion-game .hex:hover{filter:brightness(1.35);transform:translateY(-2px)}.neon-dominion-game .hex.owned{font-size:16px;font-weight:900}.neon-dominion-game .hex.public{background:var(--lime);color:var(--lime)}.neon-dominion-game .hex.independent{background:var(--amber);color:var(--amber)}.neon-dominion-game .hex.pending{animation:pulse 1s infinite}.neon-dominion-game .hex .tiny{font-size:8px;color:#8ba0b8;display:block;margin-top:2px}@keyframes pulse{50%{filter:brightness(1.8)}}
  .neon-dominion-game .citylegend{position:absolute;left:10px;bottom:9px;font-size:9px;color:var(--muted);background:rgba(7,9,14,.8);padding:5px;border:1px solid var(--line)}
  .neon-dominion-game .sidebox{padding:8px;overflow:auto}.neon-dominion-game .sectiontitle{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin:3px 0 7px}.neon-dominion-game .contract{border:1px solid var(--line);padding:7px;margin-bottom:6px;background:#090d14;font-size:12px}.neon-dominion-game .contract b{display:block;font-size:12px;color:var(--amber)}.neon-dominion-game .contract .claim{margin-top:5px;width:100%}.neon-dominion-game .claimed{opacity:1}.neon-dominion-game .claimed b{color:var(--muted)}.neon-dominion-game .claimed b:after{content:" // CLAIMED";color:var(--lime)}
  .neon-dominion-game .actions{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.neon-dominion-game .act{border:1px solid var(--line);background:#0c121d;padding:7px 4px;min-height:56px;cursor:pointer;text-align:left;position:relative}.neon-dominion-game .act:hover:not(:disabled){border-color:var(--cyan);background:#101a28}.neon-dominion-game .act:disabled{opacity:1;cursor:not-allowed}.neon-dominion-game .act:disabled b{color:var(--muted)}.neon-dominion-game .act b{display:block;font-size:10px;letter-spacing:.06em}.neon-dominion-game .act small{font-size:9px;color:var(--muted)}.neon-dominion-game .key{position:absolute;right:4px;top:3px;color:#5f7895;font-size:8px}
  .neon-dominion-game .tutorialbar{border:1px solid #30425b;background:linear-gradient(90deg,rgba(14,24,38,.97),rgba(10,15,24,.97));padding:8px 10px;display:grid;grid-template-columns:150px 1fr auto;gap:10px;align-items:center;min-height:82px;box-shadow:0 0 18px rgba(70,224,255,.06)}.neon-dominion-game .tutorialbar.hidden{display:none}.neon-dominion-game .tutorialphase{font-size:9px;letter-spacing:.14em;color:var(--cyan);text-transform:uppercase}.neon-dominion-game .tutorialphase b{display:block;font-size:13px;letter-spacing:.04em;color:var(--ink);margin-top:4px}.neon-dominion-game .tutorialcopy{font-size:12px;line-height:1.38;color:#b8c8da}.neon-dominion-game .tutorialcopy strong{color:var(--lime)}.neon-dominion-game .tutorialcopy .why{color:var(--muted);margin-top:3px}.neon-dominion-game .tutorialsteps{display:flex;gap:5px;margin-top:6px}.neon-dominion-game .tutorialstep{font-size:8px;border:1px solid var(--line);padding:2px 5px;color:#6f8298}.neon-dominion-game .tutorialstep.on{border-color:var(--cyan);color:var(--cyan)}.neon-dominion-game .tutorialstep.done{border-color:#39512e;color:var(--lime)}.neon-dominion-game .tutorialgo{white-space:nowrap}.neon-dominion-game .tutorialbuttons{display:flex;flex-direction:column;gap:7px;align-items:stretch}.neon-dominion-game .tutorialauto{white-space:nowrap;border-color:var(--amber);color:var(--amber);background:rgba(255,191,71,.05)}.neon-dominion-game .tutorialauto:hover{background:rgba(255,191,71,.12);box-shadow:0 0 14px rgba(255,191,71,.18)}.neon-dominion-game .tutorial-focus{outline:2px solid var(--amber)!important;box-shadow:0 0 18px rgba(255,191,71,.35)!important;position:relative;z-index:2}.neon-dominion-game .tutorial-focus:after{content:"GUIDE";position:absolute;left:4px;top:3px;font-size:7px;letter-spacing:.08em;color:var(--amber)}.neon-dominion-game .tab.tutorial-focus:after{display:none}.neon-dominion-game .contract.tutorial-focus:after{content:"GUIDE";position:absolute;right:5px;top:4px;left:auto}.neon-dominion-game .contract.tutorial-focus{position:relative}
  .neon-dominion-game .projects{height:100%;display:grid;grid-template-rows:auto auto 1fr}.neon-dominion-game .tabs{display:flex;border-bottom:1px solid var(--line)}.neon-dominion-game .tab{flex:1;border:0;border-right:1px solid var(--line);background:#0a0f17;padding:7px;font-size:10px;cursor:pointer;color:var(--muted)}.neon-dominion-game .tab.on{background:#111a28;color:var(--cyan)}.neon-dominion-game .feedhint{padding:6px 8px;font-size:9px;color:var(--muted);border-bottom:1px solid var(--line)}.neon-dominion-game .cards{padding:7px;overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:7px;align-content:start}.neon-dominion-game .card{border:1px solid #2a374d;background:linear-gradient(160deg,#111a27,#080c12);min-height:139px;padding:7px;cursor:pointer;position:relative;overflow:hidden}.neon-dominion-game .card:hover{border-color:var(--cyan);transform:translateY(-1px)}.neon-dominion-game .card .cost{position:absolute;right:6px;top:5px;font-weight:900;color:var(--amber)}.neon-dominion-game .card h4{margin:0 34px 4px 0;font-size:11px;line-height:1.15}.neon-dominion-game .tags{font-size:8px;color:var(--cyan);text-transform:uppercase;letter-spacing:.08em;min-height:20px}.neon-dominion-game .ctext{font-size:12px;line-height:1.3;color:#b9c8da;margin-top:5px}.neon-dominion-game .vp{position:absolute;right:6px;bottom:5px;font-size:9px;color:var(--lime)}.neon-dominion-game .era{position:absolute;left:6px;bottom:5px;font-size:8px;color:#687d96;text-transform:uppercase}.neon-dominion-game .empty{padding:20px;color:var(--muted);font-size:11px}
  .neon-dominion-game .bottom{display:grid;grid-template-columns:1fr 360px;gap:10px;padding:0 10px 10px;min-height:0}.neon-dominion-game .log{overflow:auto;padding:6px 9px;font:10px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace}.neon-dominion-game .log div{border-bottom:1px dashed #1d2736;padding:2px 0}.neon-dominion-game .log .new{color:var(--cyan)}
  .neon-dominion-game .intel{padding:8px;overflow:auto;font-size:10px}.neon-dominion-game .intel h3{margin:0 0 6px;font-size:11px;color:var(--mag);letter-spacing:.08em}.neon-dominion-game .intel p{margin:0 0 6px;color:#aab9ca;line-height:1.35}.neon-dominion-game .intel b{color:var(--ink)}
  .neon-dominion-game .overlay{position:absolute;inset:0;background:rgba(2,4,7,.96);z-index:30;display:grid;place-items:center}.neon-dominion-game .overlay.hidden{display:none}.neon-dominion-game .shield{width:min(560px,90%);border:1px solid var(--cyan);background:#090e16;padding:28px;text-align:center;box-shadow:0 0 70px rgba(70,224,255,.12)}.neon-dominion-game .shield h1{font-size:22px;letter-spacing:.15em;color:var(--cyan)}.neon-dominion-game .shield p{color:var(--muted)}
  .neon-dominion-game .btn{border:1px solid var(--line);background:#111a26;padding:7px 10px;cursor:pointer;font-size:12px}.neon-dominion-game .btn:hover{border-color:var(--cyan)}.neon-dominion-game .btn.primary{border-color:var(--cyan);color:var(--cyan)}.neon-dominion-game .btn.danger{border-color:var(--red);color:var(--red)}.neon-dominion-game .btn:disabled{opacity:1;cursor:not-allowed;color:var(--muted);background:#0c121d;border-color:var(--line)}
  .neon-dominion-game .modal{position:absolute;inset:0;background:rgba(0,0,0,.76);z-index:40;display:grid;place-items:center;padding:20px}.neon-dominion-game .modal.hidden{display:none}.neon-dominion-game .dialog{width:min(1080px,96%);max-height:90%;overflow:auto;background:#0b1018;border:1px solid var(--line);box-shadow:0 20px 80px #000;padding:20px 22px;border-radius:6px}.neon-dominion-game .dialog h2{margin:0 0 12px;color:var(--cyan);font-size:24px;line-height:1.15;letter-spacing:.06em}.neon-dominion-game .dialog p, .neon-dominion-game .dialog li{font-size:14px;color:#c4d2df;line-height:1.62}.neon-dominion-game .dialog .row{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0}.neon-dominion-game .dialog input, .neon-dominion-game .dialog select, .neon-dominion-game .dialog textarea{background:#080c12;border:1px solid var(--line);color:var(--ink);padding:9px 10px}.neon-dominion-game .dialog input, .neon-dominion-game .dialog select{flex:1}.neon-dominion-game .dialog textarea{width:100%;height:180px;font:12px ui-monospace,monospace}.neon-dominion-game .dialogfooter{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;align-items:center;margin-top:18px;padding-top:14px;border-top:1px solid #233245}.neon-dominion-game .setupgrid{display:grid;grid-template-columns:110px 1fr 1fr;gap:10px;align-items:center}.neon-dominion-game .setupgrid label{font-size:12px;color:var(--muted)}
  .neon-dominion-game .toast{position:absolute;left:50%;bottom:165px;transform:translateX(-50%);z-index:50;background:#101827;border:1px solid var(--cyan);padding:8px 12px;font-size:10px;opacity:0;pointer-events:none;transition:.2s}.neon-dominion-game .toast.show{opacity:1}
  .neon-dominion-game .finalgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.neon-dominion-game .scoreline{border:1px solid var(--line);padding:8px}.neon-dominion-game .scoreline.winner{border-color:var(--lime)}
  .neon-dominion-game .micro{font-size:9px;color:var(--muted)}
  @container neon-dominion-root (max-width: 1200px){.neon-dominion-game .app{min-width:980px}.neon-dominion-game .main{grid-template-columns:220px 1fr 340px}.neon-dominion-game .city{--hex-w:42px;--hex-h:49px}.neon-dominion-game .boardwrap{grid-template-columns:1fr 185px}.neon-dominion-game .actions{grid-template-columns:repeat(4,1fr)}}

  /* v002 readability + board navigation pass */
  .neon-dominion-game .app{grid-template-rows:auto 1fr 170px;min-width:1280px}
  .neon-dominion-game header{grid-template-columns:max-content minmax(520px,1fr) auto;gap:24px;padding:12px 16px}
  .neon-dominion-game .brand{gap:12px;min-width:max-content}.neon-dominion-game .brand b{font-size:20px}.neon-dominion-game .brand small{font-size:9.5px}
  .neon-dominion-game .globals{gap:14px}.neon-dominion-game .track{grid-template-columns:104px 1fr 48px;gap:9px;font-size:12px}.neon-dominion-game .bar{height:11px}
  .neon-dominion-game .headmeta{gap:7px;flex-wrap:wrap;justify-content:flex-end}.neon-dominion-game .chip{padding:6px 9px;font-size:11.5px}
  .neon-dominion-game .main{grid-template-columns:320px minmax(650px,1fr) 470px;gap:12px;padding:12px}
  .neon-dominion-game .panelhead{height:40px;padding:0 11px;font-size:11px}
  .neon-dominion-game .players{padding:9px}.neon-dominion-game .player{padding:12px;margin-bottom:10px}.neon-dominion-game .pname{font-size:16px}.neon-dominion-game .corp{font-size:12px;margin-top:4px;line-height:1.35}.neon-dominion-game .symbol{width:22px;height:22px;margin-right:8px}.neon-dominion-game .player.exposed:after{right:10px;top:10px;font-size:10px}
  .neon-dominion-game .statrow{gap:6px;margin-top:9px}.neon-dominion-game .stat{padding:5px 7px;font-size:12px}.neon-dominion-game .player .summaryrow{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.neon-dominion-game .player .summaryrow .stat{font-weight:700}
  .neon-dominion-game .resgrid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:9px}.neon-dominion-game .resstat{border:1px solid #243249;background:#101725;padding:7px 8px;min-width:0}.neon-dominion-game .resstat .rlabel{display:block;font-size:9.5px;color:#8ea2b8;letter-spacing:.06em}.neon-dominion-game .resstat b{font-size:15px;color:#eef6ff}.neon-dominion-game .resstat small{float:right;color:var(--lime);font-size:10px;margin-top:3px}.neon-dominion-game .resstat.credit{grid-column:span 2}.neon-dominion-game .resstat.credit b{font-size:17px}
  .neon-dominion-game .center{grid-template-rows:1fr auto auto auto;gap:10px}.neon-dominion-game .boardwrap{grid-template-columns:minmax(0,1fr) 250px;gap:10px}
  .neon-dominion-game .citypanel{cursor:grab;user-select:none;touch-action:none}.neon-dominion-game .citypanel.dragging{cursor:grabbing}.neon-dominion-game .citypanel.dragging .hex{pointer-events:none}.neon-dominion-game .cityzoom{margin:24px auto}.neon-dominion-game .city{--hex-w:54px;--hex-h:62px}.neon-dominion-game .hex .tiny{font-size:9px}.neon-dominion-game .hex.owned{font-size:18px}.neon-dominion-game .citylegend{left:12px;bottom:10px;font-size:10px;padding:6px 8px;max-width:calc(100% - 170px);line-height:1.35}
  .neon-dominion-game .boardhud{position:absolute;right:10px;bottom:9px;z-index:5;display:flex;gap:6px;align-items:center;background:rgba(7,9,14,.9);border:1px solid var(--line);padding:5px 6px;font-size:10px;color:var(--muted)}.neon-dominion-game .boardhud button{padding:4px 7px}.neon-dominion-game .boardhud strong{color:var(--cyan);min-width:40px;text-align:right}
  .neon-dominion-game .sidebox{padding:10px}.neon-dominion-game .sectiontitle{font-size:11px;margin:4px 0 9px}.neon-dominion-game .contract{padding:9px;margin-bottom:8px;font-size:12px;line-height:1.4}.neon-dominion-game .contract b{font-size:12px;margin-bottom:2px}.neon-dominion-game .micro{font-size:10.5px!important;line-height:1.4}
  .neon-dominion-game .cityclock{border:1px solid #2b3b52;background:#0b111b;display:grid;grid-template-columns:160px 1fr 1fr;gap:10px;padding:9px 11px;align-items:center;min-height:68px}.neon-dominion-game .clocktitle{font-size:10px;letter-spacing:.14em;color:var(--cyan);text-transform:uppercase}.neon-dominion-game .clocktitle b{display:block;font-size:15px;letter-spacing:.03em;color:var(--ink);margin-top:3px}.neon-dominion-game .clockcell{border-left:1px solid #263348;padding-left:10px;font-size:11.5px;line-height:1.4;color:#b8c8da}.neon-dominion-game .clockcell b{color:var(--ink)}.neon-dominion-game .clockcell .accent{color:var(--lime)}.neon-dominion-game .clockbar{height:7px;margin-top:5px;border:1px solid var(--line);background:#070a10}.neon-dominion-game .clockbar i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--mag))}
  .neon-dominion-game .tutorialbar{padding:11px 13px;grid-template-columns:205px 1fr auto;gap:14px;min-height:126px}.neon-dominion-game .tutorialphase{font-size:10px}.neon-dominion-game .tutorialphase b{font-size:16px;margin-top:5px;line-height:1.15}.neon-dominion-game .tutorialcopy{font-size:12px;line-height:1.5}.neon-dominion-game .tutorialcopy .why{font-size:11.5px;margin-top:6px;color:#a7b7c9}.neon-dominion-game .tutorialcontext{font-size:12px;color:#8ea2b8;margin-bottom:5px}.neon-dominion-game .tutorialnext{font-size:12px;color:var(--cyan);margin-top:6px}.neon-dominion-game .tutorialsteps{gap:6px;margin-top:9px;flex-wrap:wrap}.neon-dominion-game .tutorialstep{font-size:9px;padding:3px 6px}.neon-dominion-game .tutorialgo{font-size:12px;padding:9px 12px}.neon-dominion-game .tutorialauto{font-size:12px;padding:9px 12px}
  .neon-dominion-game .actions{gap:8px}.neon-dominion-game .act{padding:9px 7px;min-height:70px}.neon-dominion-game .act b{font-size:12px}.neon-dominion-game .act small{font-size:10.5px;line-height:1.3;display:block;margin-top:4px}.neon-dominion-game .key{font-size:9px;right:6px;top:5px}.neon-dominion-game .act.afford{border-color:#34533d}.neon-dominion-game .act.cantpay small{color:#7a8796}
  .neon-dominion-game .projects{grid-template-rows:auto auto auto 1fr}.neon-dominion-game .tab{padding:9px 6px;font-size:11px}.neon-dominion-game .feedhint{padding:8px 10px;font-size:10.5px;line-height:1.35}.neon-dominion-game .cards{padding:9px;gap:9px}.neon-dominion-game .card{min-height:166px;padding:10px}.neon-dominion-game .card .cost{right:8px;top:7px;font-size:13px}.neon-dominion-game .card h4{margin:0 38px 6px 0;font-size:13px;line-height:1.22}.neon-dominion-game .tags{font-size:9px;min-height:22px;line-height:1.3}.neon-dominion-game .ctext{font-size:12px;line-height:1.42;margin-top:7px}.neon-dominion-game .vp{right:8px;bottom:7px;font-size:10px}.neon-dominion-game .era{left:8px;bottom:7px;font-size:9px}
  .neon-dominion-game .bottom{grid-template-columns:1fr 410px;gap:12px;padding:0 12px 12px}.neon-dominion-game .log{padding:8px 11px;font-size:12px;line-height:1.5}.neon-dominion-game .intel{padding:10px;font-size:11px}.neon-dominion-game .intel h3{font-size:12px}.neon-dominion-game .intel p{line-height:1.45}
  .neon-dominion-game .btn{padding:8px 11px;font-size:12px}.neon-dominion-game .dialog{font-size:13px}.neon-dominion-game .dialog p, .neon-dominion-game .dialog li{line-height:1.5}
  .neon-dominion-game .toast{font-size:11px;padding:9px 13px}
  
  @container neon-dominion-root (max-width: 900px){.neon-dominion-game .dialog{width:min(96%,720px);padding:16px}.neon-dominion-game .dialog h2{font-size:20px}.neon-dominion-game .carddialog{grid-template-columns:1fr;gap:18px}.neon-dominion-game .carddialog .cardpreview .card{width:min(100%,320px)}.neon-dominion-game .carddialogcopy h2{font-size:26px}.neon-dominion-game .dialogfooter{justify-content:stretch}.neon-dominion-game .dialogfooter .btn{flex:1 1 180px}}

  @container neon-dominion-root (max-width: 1700px){.neon-dominion-game .main{grid-template-columns:290px minmax(560px,1fr) 420px}.neon-dominion-game .boardwrap{grid-template-columns:minmax(0,1fr) 225px}.neon-dominion-game .cards{grid-template-columns:1fr 1fr}.neon-dominion-game .card{min-height:172px}.neon-dominion-game .brand small{display:none}.neon-dominion-game header{grid-template-columns:max-content minmax(480px,1fr) auto;gap:18px}}

  /* contextual hover help */
  .neon-dominion-game .game-tooltip{position:absolute;z-index:9999;max-width:390px;min-width:210px;padding:10px 12px;border:1px solid #3b5876;background:rgba(7,12,20,.98);box-shadow:0 10px 38px rgba(0,0,0,.6),0 0 18px rgba(70,224,255,.10);color:#dce9f7;font-size:12px;line-height:1.42;letter-spacing:0;pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity .10s ease,transform .10s ease;border-radius:3px;white-space:normal}
  .neon-dominion-game .game-tooltip.show{opacity:1;transform:translateY(0)}
  .neon-dominion-game .game-tooltip .tiptitle{display:block;color:var(--cyan);font-weight:800;font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}
  .neon-dominion-game [data-tip]:not(button):not(.card):not(.player):not(.hex){cursor:help}
  .neon-dominion-game .tiphint{border-bottom:1px dotted rgba(142,162,184,.55)}


  /* v003 // CORPORATE TACTICAL NOIR visual + narrative pass */
  .neon-dominion-game{
    --glass:rgba(12,18,29,.92);--glass2:rgba(7,12,20,.96);--paper:#101827;--paper2:#0a0f17;
    --industrial:#ff9f43;--data:#55d6ff;--bio:#a8ff78;--energy:#ffe45e;--civic:#bba6ff;
    --logistics:#71f6c4;--public:#91ffcf;--commerce:#ffcf67;--covert:#ff6a9e;
  }
  .neon-dominion-game{background:
    radial-gradient(circle at 18% -10%,rgba(70,224,255,.13),transparent 31%),
    radial-gradient(circle at 82% 5%,rgba(255,79,216,.10),transparent 27%),
    linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.012) 1px,transparent 1px),var(--bg);background-size:auto,auto,32px 32px,32px 32px,auto}
  .neon-dominion-game:before{content:"";position:absolute;inset:0;pointer-events:none;background:
    linear-gradient(115deg,transparent 0 47%,rgba(70,224,255,.018) 47.2% 47.7%,transparent 48%),
    linear-gradient(25deg,transparent 0 66%,rgba(255,79,216,.015) 66.2% 66.6%,transparent 67%);opacity:.9}
  .neon-dominion-game .app{grid-template-rows:auto 1fr 196px}
  .neon-dominion-game header{border-bottom-color:#314158;background:linear-gradient(180deg,rgba(6,10,16,.98),rgba(8,13,21,.94));box-shadow:0 7px 30px rgba(0,0,0,.28)}
  .neon-dominion-game .brand{position:relative;padding-left:14px}.neon-dominion-game .brand:before{content:"";position:absolute;left:0;top:1px;bottom:1px;width:4px;background:linear-gradient(var(--cyan),var(--mag));box-shadow:0 0 15px rgba(70,224,255,.45)}
  .neon-dominion-game .brand b{font-size:21px;letter-spacing:.15em}.neon-dominion-game .brand small{opacity:.82}
  .neon-dominion-game .panel{position:relative;border-color:#2d3c51;background:linear-gradient(155deg,rgba(16,24,38,.96),rgba(7,12,19,.96));box-shadow:0 12px 34px rgba(0,0,0,.20),0 0 18px rgba(70,224,255,.035)}
  .neon-dominion-game .panel:before{content:"";position:absolute;inset:0;pointer-events:none;border-top:1px solid rgba(255,255,255,.025);z-index:0}.neon-dominion-game .panel>*{position:relative;z-index:1}
  .neon-dominion-game .panelhead{background:linear-gradient(90deg,rgba(70,224,255,.055),transparent 45%);color:#9fb3c9;font-weight:700}
  .neon-dominion-game .chip{border-color:#31425a;background:linear-gradient(180deg,#101827,#09101a);box-shadow:inset 0 1px rgba(255,255,255,.025)}
  .neon-dominion-game .chip strong{color:#f3f8ff}.neon-dominion-game .btn{border-color:#34465e;background:linear-gradient(180deg,#142034,#0b121d);border-radius:2px;box-shadow:inset 0 1px rgba(255,255,255,.025);font-weight:700;letter-spacing:.035em}.neon-dominion-game .btn:hover{background:#15243a;box-shadow:0 0 16px rgba(70,224,255,.08)}.neon-dominion-game .btn.primary{background:linear-gradient(180deg,rgba(70,224,255,.12),rgba(70,224,255,.035));box-shadow:0 0 14px rgba(70,224,255,.08)}

  /* infrastructure rails */
  .neon-dominion-game .track{grid-template-columns:122px 1fr 54px;position:relative;padding:4px 6px;border:1px solid transparent;border-radius:2px}.neon-dominion-game .track:hover{border-color:#293a50;background:rgba(255,255,255,.018)}
  .neon-dominion-game .trackname{display:flex;align-items:center;gap:7px;font-weight:800;color:#d8e5f2}.neon-dominion-game .trackglyph{width:22px;height:22px;border:1px solid currentColor;display:grid;place-items:center;font-size:13px;background:#090f18;box-shadow:0 0 11px currentColor}.neon-dominion-game .trackstate{display:block;font-size:8px;letter-spacing:.12em;color:#7288a1;margin-top:2px}.neon-dominion-game .track.grid .trackglyph{color:var(--energy)}.neon-dominion-game .track.air .trackglyph{color:var(--bio)}.neon-dominion-game .track.net .trackglyph{color:var(--data)}
  .neon-dominion-game .bar{height:13px;border-color:#314057;background:repeating-linear-gradient(90deg,#070b11 0 12px,#0b111a 12px 13px);box-shadow:inset 0 0 12px rgba(0,0,0,.65)}.neon-dominion-game .bar i{position:relative}.neon-dominion-game .bar i:after{content:"";position:absolute;right:0;top:-2px;width:2px;height:15px;background:#fff;box-shadow:0 0 12px currentColor}

  /* operator dossiers */
  .neon-dominion-game .player{padding:0;margin-bottom:11px;border-color:#304159;background:linear-gradient(165deg,#101928,#080d14);overflow:hidden}.neon-dominion-game .player.active{outline:1px solid var(--cyan);box-shadow:0 0 0 1px rgba(70,224,255,.18),0 0 24px rgba(70,224,255,.11)}
  .neon-dominion-game .playerhead{display:grid;grid-template-columns:46px 1fr;gap:10px;padding:11px 11px 8px;border-bottom:1px solid #26354a;background:linear-gradient(90deg,rgba(70,224,255,.045),transparent)}
  .neon-dominion-game .corpmark{width:44px;height:44px;display:grid;place-items:center;border:1px solid currentColor;font:900 22px ui-monospace,monospace;position:relative;background:#080e17;clip-path:polygon(16% 0,84% 0,100% 16%,100% 84%,84% 100%,16% 100%,0 84%,0 16%)}.neon-dominion-game .corpmark:after{content:"";position:absolute;inset:5px;border:1px solid currentColor;opacity:.25}.neon-dominion-game .corp-grid{color:var(--energy)}.neon-dominion-game .corp-helix{color:var(--bio)}.neon-dominion-game .corp-null{color:var(--data)}.neon-dominion-game .corp-kestrel{color:var(--industrial)}.neon-dominion-game .corp-free{color:var(--public)}
  .neon-dominion-game .pname{font-size:17px;line-height:1.12}.neon-dominion-game .corp{font-size:12px;margin-top:4px}.neon-dominion-game .corpmotto{font:italic 10.5px/1.35 Georgia,serif;color:#9fb0c1;margin-top:5px}.neon-dominion-game .playerbody{padding:9px 11px 11px}.neon-dominion-game .player .summaryrow{margin-top:0}.neon-dominion-game .stat{border-color:#2b3c52;background:#0c1421;font-size:12px;padding:5px 7px}.neon-dominion-game .stat:first-child{color:#eef7ff}.neon-dominion-game .resgrid{gap:7px}.neon-dominion-game .resstat{background:linear-gradient(180deg,#111b2b,#0b121d);border-color:#2a3c54}.neon-dominion-game .resstat .rlabel{font:700 9.5px ui-monospace,monospace}.neon-dominion-game .resstat small{font-weight:800}.neon-dominion-game .player.exposed:after{top:8px;right:8px;padding:3px 6px;border:1px solid var(--red);background:#1a0b10;box-shadow:0 0 14px rgba(255,95,109,.15)}

  /* city tactical map */
  .neon-dominion-game .citypanel{background:
    radial-gradient(circle at center,rgba(70,224,255,.045),transparent 48%),
    linear-gradient(rgba(70,224,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(70,224,255,.018) 1px,transparent 1px),#08101a;background-size:auto,26px 26px,26px 26px,auto}
  .neon-dominion-game .citypanel:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at center,transparent 35%,rgba(0,0,0,.28) 100%)}
  .neon-dominion-game .citystamp{position:absolute;left:14px;top:13px;z-index:4;pointer-events:none;padding:8px 10px;border-left:3px solid var(--cyan);background:rgba(5,10,17,.76);box-shadow:0 7px 22px rgba(0,0,0,.25)}.neon-dominion-game .citystamp b{display:block;font-size:13px;letter-spacing:.14em;color:#e8f5ff}.neon-dominion-game .citystamp span{display:block;margin-top:2px;font:9px ui-monospace,monospace;letter-spacing:.11em;color:#7f96ae;text-transform:uppercase}
  .neon-dominion-game .hex{filter:drop-shadow(0 3px 2px rgba(0,0,0,.4));background:#31455f}.neon-dominion-game .hex:before{background:
    linear-gradient(30deg,transparent 47%,rgba(70,224,255,.035) 48% 52%,transparent 53%),
    linear-gradient(-30deg,transparent 47%,rgba(70,224,255,.025) 48% 52%,transparent 53%),#09111b}.neon-dominion-game .hex:after{content:"";position:absolute;width:8px;height:8px;border:1px solid currentColor;opacity:.14;transform:rotate(45deg)}.neon-dominion-game .hex:hover{filter:brightness(1.45) drop-shadow(0 0 8px currentColor);z-index:5}.neon-dominion-game .hex.independent:before{background:radial-gradient(circle,rgba(255,191,71,.09),transparent 62%),#11110e}.neon-dominion-game .hex.public:before{background:radial-gradient(circle,rgba(182,255,90,.09),transparent 62%),#0c1510}.neon-dominion-game .hex.owned:before{background:radial-gradient(circle,rgba(255,255,255,.06),transparent 62%),#0a1018}.neon-dominion-game .hex.owned{font-size:19px;text-shadow:0 0 8px currentColor}.neon-dominion-game .hex.pending{animation:pulse 1s infinite,legalhex 1.8s infinite}@keyframes legalhex{50%{box-shadow:0 0 18px rgba(182,255,90,.18)}}
  .neon-dominion-game .citylegend, .neon-dominion-game .boardhud{backdrop-filter:blur(8px);background:rgba(4,8,14,.86);border-color:#34455d}

  /* public contract dossiers */
  .neon-dominion-game .sectiontitle{font-weight:800;color:#9db2c9}.neon-dominion-game .contract{position:relative;padding:10px 10px 10px 39px;border-color:#35465d;background:linear-gradient(160deg,#111827,#080d14);overflow:hidden}.neon-dominion-game .contract:before{content:"\0025CE";position:absolute;left:10px;top:10px;width:20px;height:20px;display:grid;place-items:center;border:1px solid var(--amber);color:var(--amber);font-size:12px}.neon-dominion-game .contract:after{content:"PUBLIC BID";position:absolute;right:-22px;top:8px;transform:rotate(35deg);font:700 7px ui-monospace,monospace;letter-spacing:.1em;color:rgba(255,191,71,.22)}.neon-dominion-game .contract b{font-size:12px;letter-spacing:.04em}.neon-dominion-game .contractlore{font:italic 10px/1.35 Georgia,serif;color:#8194a8;margin:5px 0 3px}.neon-dominion-game .claimed:after{content:"AWARDED";color:rgba(182,255,90,.38)}
  .neon-dominion-game .doctrinecard{border:1px solid #2e4057;background:#09111b;padding:10px}.neon-dominion-game .doctrinecard .doctrinecorp{font-weight:900;color:var(--cyan);letter-spacing:.04em}.neon-dominion-game .doctrinecard .doctrinemotto{font:italic 11px/1.4 Georgia,serif;color:#9fb3c8;margin:4px 0 8px}.neon-dominion-game .storymini{border:1px solid #314057;background:linear-gradient(160deg,rgba(255,79,216,.045),rgba(70,224,255,.025));padding:10px;font-size:12px;line-height:1.43;color:#aabbd0}.neon-dominion-game .storymini b{display:block;color:var(--mag);font-size:10px;letter-spacing:.12em;margin-bottom:4px}.neon-dominion-game .storymini em{color:#d6e0ec;font-family:Georgia,serif}

  /* tactical action strip */
  .neon-dominion-game .actions{gap:9px}.neon-dominion-game .act{min-height:82px;padding:9px 8px 8px 42px;border-color:#304157;background:linear-gradient(180deg,#111b2a,#09101a);overflow:hidden}.neon-dominion-game .act:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#334861}.neon-dominion-game .act:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 20px rgba(0,0,0,.2),0 0 16px rgba(70,224,255,.06)}.neon-dominion-game .acticon{position:absolute;left:9px;top:13px;width:25px;height:25px;border:1px solid #3d536e;display:grid;place-items:center;color:var(--cyan);font-size:14px;background:#080e16}.neon-dominion-game .act b{font-size:12px;letter-spacing:.08em}.neon-dominion-game .act small{font-size:10.5px}.neon-dominion-game .act[data-kind="grid"] .acticon{color:var(--energy)}.neon-dominion-game .act[data-kind="air"] .acticon{color:var(--bio)}.neon-dominion-game .act[data-kind="net"] .acticon{color:var(--data)}.neon-dominion-game .act[data-kind="district"] .acticon{color:var(--industrial)}.neon-dominion-game .act[data-kind="breach"] .acticon{color:var(--covert)}.neon-dominion-game .act[data-kind="contract"] .acticon{color:var(--amber)}.neon-dominion-game .act[data-kind="pass"] .acticon{color:#8798aa}

  /* cards that actually read as cards */
  .neon-dominion-game .projects{background:linear-gradient(180deg,rgba(11,17,27,.98),rgba(6,10,16,.98))}.neon-dominion-game .projects .tabs{background:#070c13}.neon-dominion-game .tab{font-weight:800;letter-spacing:.06em}.neon-dominion-game .tab.on{background:#132736;box-shadow:inset 0 -2px var(--cyan)}
  .neon-dominion-game .feedhint{background:#090f18;color:#9fb2c6}.neon-dominion-game .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px;perspective:900px}.neon-dominion-game .card{--accent:var(--cyan);min-height:292px;aspect-ratio:.72;border:1px solid color-mix(in srgb,var(--accent) 50%,#29364a);border-radius:7px;background:linear-gradient(160deg,#111b2b 0%,#090f18 58%,#070b12 100%);padding:0;box-shadow:0 10px 24px rgba(0,0,0,.34),inset 0 0 0 1px rgba(255,255,255,.018);transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease;overflow:hidden}.neon-dominion-game .card:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--accent),transparent 78%);box-shadow:0 0 14px color-mix(in srgb,var(--accent) 45%,transparent)}.neon-dominion-game .card:hover{border-color:var(--accent);transform:translateY(-4px) rotateX(1deg);box-shadow:0 16px 34px rgba(0,0,0,.42),0 0 19px color-mix(in srgb,var(--accent) 13%,transparent)}
  .neon-dominion-game .card.tag-industrial{--accent:var(--industrial)}.neon-dominion-game .card.tag-data{--accent:var(--data)}.neon-dominion-game .card.tag-bio{--accent:var(--bio)}.neon-dominion-game .card.tag-energy{--accent:var(--energy)}.neon-dominion-game .card.tag-civic{--accent:var(--civic)}.neon-dominion-game .card.tag-logistics{--accent:var(--logistics)}.neon-dominion-game .card.tag-public{--accent:var(--public)}.neon-dominion-game .card.tag-commerce{--accent:var(--commerce)}.neon-dominion-game .card.tag-covert{--accent:var(--covert)}
  .neon-dominion-game .cardtop{display:flex;justify-content:space-between;align-items:start;padding:10px 10px 0}.neon-dominion-game .cardserial{font:700 8px ui-monospace,monospace;letter-spacing:.14em;color:#667b92}.neon-dominion-game .cardcost{display:grid;place-items:center;width:43px;height:33px;border:1px solid var(--accent);background:#090f17;color:var(--amber);font:900 15px ui-monospace,monospace;clip-path:polygon(8% 0,100% 0,100% 74%,84% 100%,0 100%,0 22%);box-shadow:0 0 12px color-mix(in srgb,var(--accent) 11%,transparent)}.neon-dominion-game .cardcost small{font-size:12px;margin-right:1px;color:#8ea2b8}.neon-dominion-game .card h4{margin:6px 10px 9px;font-size:15px;line-height:1.2;min-height:36px;color:#f1f7ff}.neon-dominion-game .hotkeynum{color:var(--accent);font-family:ui-monospace,monospace;margin-right:4px}
  .neon-dominion-game .cardart{height:79px;margin:0 9px 8px;border:1px solid color-mix(in srgb,var(--accent) 28%,#26354a);position:relative;overflow:hidden;background:
    linear-gradient(135deg,color-mix(in srgb,var(--accent) 10%,transparent),transparent 55%),
    repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 1px,transparent 1px 15px),
    repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 15px),#07101a}.neon-dominion-game .cardart:before{content:"";position:absolute;left:-8%;right:-8%;bottom:-29px;height:62px;background:linear-gradient(135deg,transparent 0 9%,rgba(255,255,255,.035) 9% 11%,transparent 11% 21%,rgba(255,255,255,.025) 21% 26%,transparent 26% 38%,rgba(255,255,255,.04) 38% 45%,transparent 45%);transform:skewX(-18deg)}.neon-dominion-game .cardart:after{content:"";position:absolute;right:12px;top:10px;width:34px;height:34px;border:1px solid var(--accent);opacity:.16;transform:rotate(45deg)}.neon-dominion-game .artglyph{position:absolute;left:13px;top:8px;font-size:41px;line-height:1;color:var(--accent);text-shadow:0 0 18px color-mix(in srgb,var(--accent) 48%,transparent);opacity:.95}.neon-dominion-game .artlabel{position:absolute;right:9px;bottom:7px;font:800 8px ui-monospace,monospace;letter-spacing:.14em;color:#9aadc2;text-transform:uppercase}.neon-dominion-game .artcode{position:absolute;left:11px;bottom:7px;font:7px ui-monospace,monospace;color:#526a83;letter-spacing:.09em}
  .neon-dominion-game .tagrow{display:flex;flex-wrap:wrap;gap:4px;padding:0 9px 7px}.neon-dominion-game .tagpill{border:1px solid #34465d;padding:3px 5px;background:#0b1320;font:700 8px ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase;color:#b6c7d8;white-space:nowrap}.neon-dominion-game .tagpill .tg{color:var(--accent);font-size:10px;margin-right:3px}
  .neon-dominion-game .rulesbox{margin:0 9px;border:1px solid #27384d;background:rgba(4,9,15,.55);padding:9px 10px;font-size:12.5px;line-height:1.45;color:#d0ddea;min-height:74px}.neon-dominion-game .ruleslabel{display:block;font:700 8px ui-monospace,monospace;letter-spacing:.13em;color:#7e96ae;margin-bottom:5px}.neon-dominion-game .flavor{margin:10px 10px 36px;font:italic 11px/1.48 Georgia,serif;color:#96a7ba}.neon-dominion-game .cardfooter{position:absolute;left:9px;right:9px;bottom:9px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #223147;padding-top:7px}.neon-dominion-game .cardera{font:700 8px ui-monospace,monospace;letter-spacing:.12em;color:#7288a0}.neon-dominion-game .cardvp{font:900 10px ui-monospace,monospace;color:var(--lime)}.neon-dominion-game .actualcost{font-size:12px;color:var(--cyan);margin-left:auto;margin-right:6px}
  .neon-dominion-game .carddialog{display:grid;grid-template-columns:minmax(260px,300px) minmax(0,1fr);gap:28px;align-items:start}.neon-dominion-game .carddialog .cardpreview{pointer-events:none}.neon-dominion-game .carddialog .cardpreview .card{width:min(100%,290px);margin:0 auto;min-height:0;aspect-ratio:.72}.neon-dominion-game .carddialogcopy{min-width:0;padding-right:2px}.neon-dominion-game .carddialogcopy h2{margin-bottom:8px;font-size:32px;line-height:1.08;letter-spacing:.02em}.neon-dominion-game .carddialogcopy .tags{font-size:12px;line-height:1.6;min-height:unset;color:#8cefff;margin-bottom:10px}.neon-dominion-game .carddialogcopy p{font-size:15px;line-height:1.68;margin:0 0 14px;color:#c9d7e5}.neon-dominion-game .carddialogcopy .flavorfull{border-left:3px solid var(--mag);padding:12px 14px;margin:14px 0 16px;background:rgba(255,79,216,.05);font:italic 18px/1.65 Georgia,serif;color:#cfdae6}.neon-dominion-game .carddialogcopy b{color:#eef5ff}

  /* tutorial / city clock more cinematic */
  .neon-dominion-game .cityclock{background:linear-gradient(90deg,rgba(70,224,255,.035),rgba(255,79,216,.018),#0a1019);border-color:#33465f}.neon-dominion-game .clocktitle b{font-size:16px}.neon-dominion-game .tutorialbar{border-color:#38516b;background:linear-gradient(100deg,rgba(11,28,40,.98),rgba(9,15,25,.98));box-shadow:0 0 28px rgba(70,224,255,.05)}.neon-dominion-game .tutorialphase{font-family:ui-monospace,monospace;font-weight:800}.neon-dominion-game .tutorialphase b{font-family:Inter,system-ui,sans-serif}.neon-dominion-game .tutorialcopy strong{color:#d9ffac}

  /* citywire + narrative */
  .neon-dominion-game .bottom{grid-template-columns:minmax(0,1fr) 500px}.neon-dominion-game .intel{padding:0;display:grid;grid-template-rows:auto auto auto 1fr;overflow:hidden}.neon-dominion-game .intelhead{display:flex;justify-content:space-between;align-items:center;padding:9px 11px;border-bottom:1px solid #2d3e54;background:linear-gradient(90deg,rgba(255,79,216,.07),transparent)}.neon-dominion-game .intelhead b{font-size:10px;letter-spacing:.14em;color:var(--mag)}.neon-dominion-game .intelhead span{font:8px ui-monospace,monospace;color:#71869d;letter-spacing:.1em}.neon-dominion-game .storyheadline{padding:9px 11px 3px;font-weight:900;font-size:14px;letter-spacing:.035em;color:#ecf5ff}.neon-dominion-game .storytext{padding:0 11px 8px;font:12px/1.45 Georgia,serif;color:#aebed0;border-bottom:1px solid #26364b}.neon-dominion-game .rumorline{padding:7px 11px;border-bottom:1px solid #26364b;font-size:10px;color:#8ea4ba}.neon-dominion-game .rumorline b{color:var(--amber);font-family:ui-monospace,monospace;letter-spacing:.08em}.neon-dominion-game .hottakebox{padding:8px 11px;overflow:auto;font-size:10.5px;line-height:1.4;color:#9fb1c3}.neon-dominion-game .hottakebox b{color:#e1eaf4}.neon-dominion-game .hottakebox .hotlabel{display:block;color:var(--cyan);font:800 8px ui-monospace,monospace;letter-spacing:.13em;margin-bottom:3px}.neon-dominion-game .log{background:rgba(4,8,14,.30)}.neon-dominion-game .log div{padding:3px 0;color:#93a7bc}.neon-dominion-game .log .new{color:#c8f6ff}

  /* setup/prologue + final */
  .neon-dominion-game .dialog{background:linear-gradient(160deg,#101827,#070c13);border-color:#40536e;box-shadow:0 24px 90px #000,0 0 26px rgba(70,224,255,.07)}.neon-dominion-game .prologue{border:1px solid #33465d;background:linear-gradient(120deg,rgba(70,224,255,.045),rgba(255,79,216,.025));padding:12px 14px;margin:9px 0 14px}.neon-dominion-game .prologue b{color:var(--cyan);letter-spacing:.07em}.neon-dominion-game .prologue p{margin:5px 0}.neon-dominion-game .prologue .quote{font:italic 12px/1.5 Georgia,serif;color:#aab9ca}.neon-dominion-game .scoreline{background:linear-gradient(150deg,#101a28,#090f17);padding:11px}.neon-dominion-game .scoreline.winner{box-shadow:0 0 22px rgba(182,255,90,.08)}

  
  @container neon-dominion-root (max-width: 900px){.neon-dominion-game .dialog{width:min(96%,720px);padding:16px}.neon-dominion-game .dialog h2{font-size:20px}.neon-dominion-game .carddialog{grid-template-columns:1fr;gap:18px}.neon-dominion-game .carddialog .cardpreview .card{width:min(100%,320px)}.neon-dominion-game .carddialogcopy h2{font-size:26px}.neon-dominion-game .dialogfooter{justify-content:stretch}.neon-dominion-game .dialogfooter .btn{flex:1 1 180px}}

  @container neon-dominion-root (max-width: 1700px){.neon-dominion-game .cards{grid-template-columns:1fr}.neon-dominion-game .card{aspect-ratio:auto;min-height:300px}.neon-dominion-game .bottom{grid-template-columns:minmax(0,1fr) 440px}.neon-dominion-game .track{grid-template-columns:105px 1fr 48px}.neon-dominion-game .trackstate{display:none}}



.neon-dominion-game {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  container-type: size;
  container-name: neon-dominion-root;
  background: #07090e;
  color: #e8f2ff;
  outline: none;
  isolation: isolate;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
.neon-dominion-game:focus-visible { box-shadow: inset 0 0 0 2px #46e0ff; }
.neon-dominion-game .app { width: 100%; height: 100%; min-width: 0; }
.neon-dominion-game .citypanel { scrollbar-width: none; }
.neon-dominion-game .citypanel::-webkit-scrollbar { width: 0; height: 0; }
.neon-dominion-game .panelhead,
.neon-dominion-game .sectiontitle,
.neon-dominion-game .micro,
.neon-dominion-game .contract,
.neon-dominion-game .contract b,
.neon-dominion-game .act b,
.neon-dominion-game .act small,
.neon-dominion-game .key,
.neon-dominion-game .tutorialphase,
.neon-dominion-game .tutorialcopy,
.neon-dominion-game .tutorialstep,
.neon-dominion-game .tab,
.neon-dominion-game .feedhint,
.neon-dominion-game .log,
.neon-dominion-game .intel,
.neon-dominion-game .storytext,
.neon-dominion-game .rumorline,
.neon-dominion-game .hottakebox,
.neon-dominion-game .rlabel,
.neon-dominion-game .resstat small,
.neon-dominion-game .tags,
.neon-dominion-game .tagpill,
.neon-dominion-game .cardera,
.neon-dominion-game .cardvp,
.neon-dominion-game .actualcost { font-size: 12px !important; }
.neon-dominion-game .tiny,
.neon-dominion-game .chip,
.neon-dominion-game .corpmotto,
.neon-dominion-game .citystamp span,
.neon-dominion-game .citylegend,
.neon-dominion-game .boardhud,
.neon-dominion-game .boardhud strong,
.neon-dominion-game .contractlore,
.neon-dominion-game .doctrinemotto,
.neon-dominion-game .storymini,
.neon-dominion-game .storymini b,
.neon-dominion-game .clocktitle,
.neon-dominion-game .clockcell,
.neon-dominion-game .tutorialcontext,
.neon-dominion-game .tutorialnext,
.neon-dominion-game .tutorialcopy .why,
.neon-dominion-game .cardserial,
.neon-dominion-game .cardcost small,
.neon-dominion-game .artcode,
.neon-dominion-game .artlabel,
.neon-dominion-game .ruleslabel,
.neon-dominion-game .tagpill .tg,
.neon-dominion-game .hottakebox .hotlabel,
.neon-dominion-game .intelhead b,
.neon-dominion-game .intelhead span,
.neon-dominion-game .rumorline,
.neon-dominion-game .flavor { font-size: 12px !important; color: #9fb2c6; }
.neon-dominion-game .key,
.neon-dominion-game .tutorialstep { color: #8ea2b8; }
.neon-dominion-game .player.exposed:after,
.neon-dominion-game .contract:after,
.neon-dominion-game .tutorial-focus:after { font-size: 12px !important; }
.neon-dominion-game .player .corp { font-size: 12px !important; line-height: 1.35; }
.neon-dominion-game .pname { font-size: 15px; }
.neon-dominion-game .stat { font-size: 12px !important; }
.neon-dominion-game .ctext { font-size: 12px !important; line-height: 1.45; }
.neon-dominion-game .empty { font-size: 13px; }
.neon-dominion-game .btn { min-height: 34px; font-size: 12px; }
.neon-dominion-game .game-tooltip { position: absolute; font-size: 13px; line-height: 1.5; max-width: min(390px, 80%); }
.neon-dominion-game .overlay,
.neon-dominion-game .modal,
.neon-dominion-game .toast { position: absolute; }
.neon-dominion-game .shield { width: min(560px, 90%); }
.neon-dominion-game .dialog { width: min(1080px, 96%); max-height: 90%; }
.neon-dominion-game .title-screen {
  position: absolute;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: center;
  overflow: hidden;
  cursor: pointer;
  padding-top: max(34px, var(--met-inset-tr, 0px));
  padding-right: max(34px, var(--met-inset-tr, 0px));
  padding-bottom: max(44px, var(--met-inset-bl-h, 0px), var(--met-inset-br, 0px));
  padding-left: max(34px, var(--met-inset-bl-w, 0px));
  background: radial-gradient(circle at 50% 46%, rgba(70,224,255,.04), transparent 38%);
  outline: none;
}
.neon-dominion-game .title-screen.hidden { display: none; }
.neon-dominion-game .title-screen:before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(3,7,12,.78), rgba(3,7,12,.12) 34%, rgba(3,7,12,.18) 66%, rgba(3,7,12,.78));
  pointer-events: none;
}
.neon-dominion-game .title-screen:after {
  content: "";
  position: absolute;
  inset: 0;
  box-shadow: inset 0 0 130px rgba(0,0,0,.95);
  pointer-events: none;
}
.neon-dominion-game .title-scan {
  position: absolute;
  left: 0;
  right: 0;
  height: 20%;
  top: -20%;
  background: linear-gradient(180deg, transparent, rgba(70,224,255,.055), transparent);
  animation: neon-dominion-scan 5.5s linear infinite;
  pointer-events: none;
}
@keyframes neon-dominion-scan { to { transform: translateY(600%); } }
.neon-dominion-game .title-lockup {
  position: relative;
  z-index: 2;
  width: min(900px, 88%);
  text-align: center;
  text-shadow: 0 3px 24px #000;
}
.neon-dominion-game .title-kicker {
  color: #a7bdcf;
  font: 800 12px/1.2 ui-monospace, Consolas, monospace;
  letter-spacing: .24em;
  margin-bottom: 12px;
}
.neon-dominion-game .title-logo {
  display: inline-flex;
  flex-direction: column;
  transform: skewX(-7deg);
  font-family: Impact, "Arial Black", system-ui, sans-serif;
  line-height: .8;
  letter-spacing: .045em;
  filter: drop-shadow(0 0 24px rgba(70,224,255,.24));
}
.neon-dominion-game .title-logo span {
  align-self: flex-start;
  color: #46e0ff;
  font-size: clamp(32px, 5cqw, 72px);
  -webkit-text-stroke: 1px rgba(255,255,255,.22);
}
.neon-dominion-game .title-logo strong {
  color: #eef8ff;
  font-size: clamp(58px, 9cqw, 132px);
  letter-spacing: .025em;
  text-shadow: 5px 5px 0 rgba(255,79,216,.35), 10px 10px 0 rgba(70,224,255,.12), 0 0 30px rgba(70,224,255,.24);
}
.neon-dominion-game .title-tagline {
  margin-top: 28px;
  color: #f0f6ff;
  font: 900 clamp(15px, 1.65cqw, 25px)/1.25 system-ui, sans-serif;
  letter-spacing: .16em;
}
.neon-dominion-game .title-prompt {
  margin: 30px auto 0;
  width: fit-content;
  max-width: 100%;
  border: 1px solid #46e0ff;
  background: rgba(5,14,23,.78);
  color: #9ff0ff;
  padding: 12px 18px;
  font: 900 clamp(13px, 1.35cqw, 20px)/1.2 ui-monospace, Consolas, monospace;
  letter-spacing: .08em;
  animation: neon-dominion-prompt 1.35s ease-in-out infinite alternate;
}
@keyframes neon-dominion-prompt { from { box-shadow: 0 0 6px rgba(70,224,255,.08); } to { box-shadow: 0 0 24px rgba(70,224,255,.28); } }
.neon-dominion-game .title-how { margin-top: 12px; color: #aab9ca; font-size: 12px; letter-spacing: .11em; }
.neon-dominion-game .title-ticker {
  position: absolute;
  z-index: 2;
  left: max(20px, var(--met-inset-bl-w, 0px));
  right: max(20px, var(--met-inset-br, 0px));
  bottom: max(16px, var(--met-inset-bl-h, 0px));
  border-top: 1px solid rgba(255,79,216,.42);
  padding-top: 8px;
  color: #c29ab9;
  font: 700 12px/1.2 ui-monospace, Consolas, monospace;
  letter-spacing: .055em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.neon-dominion-game.is-title .app { grid-template-rows: 1fr; }
.neon-dominion-game.is-title header,
.neon-dominion-game.is-title footer,
.neon-dominion-game.is-title .main > .panel,
.neon-dominion-game.is-title .projects,
.neon-dominion-game.is-title .sidebox,
.neon-dominion-game.is-title .cityclock,
.neon-dominion-game.is-title .tutorialbar,
.neon-dominion-game.is-title .actions,
.neon-dominion-game.is-title .citylegend,
.neon-dominion-game.is-title .boardhud,
.neon-dominion-game.is-title .citystamp { display: none !important; }
.neon-dominion-game.is-title .main { display: block; padding: 0; min-height: 100%; height: 100%; }
.neon-dominion-game.is-title .center { display: block; height: 100%; min-height: 100%; }
.neon-dominion-game.is-title .boardwrap { display: block; height: 100%; min-height: 100%; }
.neon-dominion-game.is-title .citypanel { display: block; height: 100%; border: 0; overflow: hidden; background: radial-gradient(circle at 50% 48%, rgba(20,42,62,.64), #060a10 62%); }
.neon-dominion-game.is-title .city { --hex-w: 82px; --hex-h: 95px; }
.neon-dominion-game.is-title .hex { opacity: .72; filter: saturate(.78); }
.neon-dominion-game.is-title .hex.owned,
.neon-dominion-game.is-title .hex.public,
.neon-dominion-game.is-title .hex.independent { opacity: 1; filter: saturate(1.15) brightness(1.12); }
.neon-dominion-game .pause-overlay { z-index: 70; }
.neon-dominion-game .pause-buttons { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin-top: 18px; }
.neon-dominion-game .keyhint { margin-left: 8px; color: #07090e; background: #9ec8cf; padding: 2px 5px; border-radius: 3px; }

@container neon-dominion-root (max-width: 1350px) {
  .neon-dominion-game .app { min-width: 0; }
  .neon-dominion-game header { grid-template-columns: max-content minmax(360px,1fr) auto; gap: 12px; padding: 9px 10px; }
  .neon-dominion-game .main { grid-template-columns: 220px minmax(0,1fr) 320px; gap: 8px; padding: 8px; min-height: 0; }
  .neon-dominion-game .boardwrap { grid-template-columns: minmax(0,1fr) 190px; gap: 6px; }
  .neon-dominion-game .cards { grid-template-columns: 1fr; gap: 9px; padding: 9px; }
  .neon-dominion-game .bottom { grid-template-columns: minmax(0,1fr) 360px; }
  .neon-dominion-game .globals { gap: 8px; }
  .neon-dominion-game .track { grid-template-columns: 84px minmax(50px,1fr) 40px; gap: 6px; }
  .neon-dominion-game .brand small { display: none; }
}

@container neon-dominion-root (max-width: 1000px) {
  .neon-dominion-game .app { grid-template-rows: 48px minmax(0,1fr); min-width: 0; }
  .neon-dominion-game header { grid-template-columns: 180px minmax(0,1fr) auto; gap: 8px; padding: 6px 8px; }
  .neon-dominion-game .brand b { font-size: 17px; }
  .neon-dominion-game .brand small { display: none; }
  .neon-dominion-game .globals { gap: 5px; }
  .neon-dominion-game .track { grid-template-columns: 58px minmax(34px,1fr) 28px; gap: 4px; font-size: 12px; }
  .neon-dominion-game .track .trackstate { display: none; }
  .neon-dominion-game .headmeta { gap: 4px; }
  .neon-dominion-game .headmeta .chip { display: none; }
  .neon-dominion-game .headmeta .btn { min-width: 34px; padding: 5px 6px; font-size: 12px; }
  .neon-dominion-game #stateBtn { display: none; }
  .neon-dominion-game .main { grid-template-columns: 158px minmax(0,1fr) 238px; gap: 6px; padding: 6px; min-height: 0; }
  .neon-dominion-game .players { padding: 5px; }
  .neon-dominion-game .player { padding: 6px; margin-bottom: 5px; }
  .neon-dominion-game .corpbadge { display: none; }
  .neon-dominion-game .resgrid { grid-template-columns: 1fr 1fr; gap: 4px; }
  .neon-dominion-game .resstat { min-height: 42px; padding: 4px; }
  .neon-dominion-game .resstat b { font-size: 14px; }
  .neon-dominion-game .resstat small { font-size: 12px !important; }
  .neon-dominion-game .center { grid-template-rows: minmax(128px,1fr) auto auto; gap: 5px; }
  .neon-dominion-game .boardwrap { grid-template-columns: 1fr; gap: 0; }
  .neon-dominion-game .sidebox { display: none; }
  .neon-dominion-game .cityclock { display: none; }
  .neon-dominion-game .citylegend { display: none; }
  .neon-dominion-game .tutorialbar { min-height: 78px; padding: 6px 7px; grid-template-columns: minmax(0,1fr) auto; grid-template-areas: "phase buttons" "copy copy"; gap: 5px 7px; }
  .neon-dominion-game .tutorialbar > :nth-child(1) { grid-area: phase; }
  .neon-dominion-game .tutorialbar > :nth-child(2) { grid-area: copy; }
  .neon-dominion-game .tutorialbar > :nth-child(3) { grid-area: buttons; }
  .neon-dominion-game .tutorialsteps,
  .neon-dominion-game .tutorialcontext,
  .neon-dominion-game .tutorialcopy .why { display: none; }
  .neon-dominion-game .tutorialcopy { font-size: 12px; line-height: 1.35; max-height: 50px; overflow: hidden; }
  .neon-dominion-game .tutorialbuttons { flex-direction: row; gap: 4px; }
  .neon-dominion-game .tutorialbuttons .btn { min-height: 32px; padding: 5px 6px; }
  .neon-dominion-game .actions { grid-template-columns: repeat(7,minmax(0,1fr)); gap: 3px; }
  .neon-dominion-game .act { min-height: 58px; padding: 5px 3px; }
  .neon-dominion-game .acticon { font-size: 15px; }
  .neon-dominion-game .act small { font-size: 12px !important; line-height: 1.15; }
  .neon-dominion-game .key { font-size: 12px !important; }
  .neon-dominion-game .cards { grid-template-columns: 1fr; gap: 8px; padding: 8px; }
  .neon-dominion-game .card { min-height: 285px; }
  .neon-dominion-game .cardart { height: 66px; }
  .neon-dominion-game .rulesbox { font-size: 12px; min-height: 68px; }
  .neon-dominion-game .flavor { font-size: 12px; }
  .neon-dominion-game footer.bottom { display: none !important; }
  .neon-dominion-game .dialog { width: 96%; max-height: 92%; padding: 12px 14px; }
  .neon-dominion-game .carddialog { grid-template-columns: 230px minmax(0,1fr); gap: 16px; }
  .neon-dominion-game .carddialog .cardpreview .card { width: 220px; }
  .neon-dominion-game .carddialogcopy h2 { font-size: 24px; }
  .neon-dominion-game .carddialogcopy .flavorfull { font-size: 15px; }
  .neon-dominion-game .dialog p,
  .neon-dominion-game .dialog li { font-size: 13px; line-height: 1.45; }
}

@container neon-dominion-root (max-width: 520px) {
  .neon-dominion-game:not(.is-title):not(.nd-touch) .app { display: none; }
  .neon-dominion-game:not(.is-title):not(.nd-touch):after { content: "BEST ON A COMPUTER // PHONE GAMEPLAY IS NOT SUPPORTED"; position: absolute; inset: 0; display: grid; place-items: center; padding: 28px; text-align: center; color: #e8f2ff; background: #07090e; font: 800 16px/1.5 system-ui,sans-serif; letter-spacing: .08em; }
  .neon-dominion-game .title-screen { padding: 28px 22px 70px; }
  .neon-dominion-game .title-lockup { width: 100%; }
  .neon-dominion-game .title-logo span { font-size: 32px; }
  .neon-dominion-game .title-logo strong { font-size: 58px; }
  .neon-dominion-game .title-tagline { font-size: 14px; letter-spacing: .1em; }
  .neon-dominion-game .title-prompt { font-size: 13px; line-height: 1.35; padding: 10px 12px; }
  .neon-dominion-game .title-how { font-size: 12px; line-height: 1.4; }
  .neon-dominion-game .title-ticker { left: 18px; right: 18px; bottom: 18px; font-size: 12px; white-space: normal; text-align: center; }
}
