#ct-game{color-scheme:dark;--bg:#062630;--panel:#0d3742;--panel2:#104451;--ink:#f2f9f5;--muted:#b2d1d1;--line:#34616a;--aqua:#94edcd;--blue:#8cd7ff;--gold:#f8d771;--red:#ffb3a3;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px;line-height:1.5}
#ct-game *{box-sizing:border-box}
#ct-game{margin:0;background:radial-gradient(ellipse at 80% 0,#155660 0,transparent 45%),linear-gradient(150deg,#072d37,#041a25);color:var(--ink);min-height:100vh}
#ct-game a{color:var(--aqua)}
#ct-game button,#ct-game input,#ct-game select,#ct-game textarea{font:inherit}
#ct-game button,#ct-game a,#ct-game input,#ct-game select,#ct-game textarea{touch-action:manipulation}
#ct-game button{border:1px solid #5d918c;background:linear-gradient(#b4f4d8,#82d7bf);color:#083c36;font-weight:750;border-radius:9px;padding:.62rem 1rem;cursor:pointer;box-shadow:inset 0 1px #eefff699,0 3px 8px #00141933}
#ct-game button:hover{filter:brightness(1.1)}
#ct-game button:disabled{opacity:.43;cursor:not-allowed}
#ct-game button.secondary{background:#173f4b;color:var(--ink);border-color:#47717a;box-shadow:none}
#ct-game button.danger{background:#49362f;color:#ffd1bd;border-color:#a47e69}
#ct-game button.small{padding:.35rem .65rem;font-size:.85rem}
#ct-game button.ghost{background:transparent;color:var(--muted);border-color:var(--line);box-shadow:none}
#ct-game button:focus-visible,#ct-game a:focus-visible,#ct-game input:focus-visible,#ct-game select:focus-visible,#ct-game summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
#ct-game .skip{position:fixed;left:12px;top:-80px;z-index:10}
#ct-game .skip:focus{top:12px;background:var(--bg);padding:10px}
#ct-game .site-head{max-width:1500px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:26px 36px;border-bottom:1px solid #56818a55}
#ct-game .brand{font-size:1.5rem;font-weight:850;text-decoration:none;color:#e5fff6;line-height:1.1;letter-spacing:-1px}
#ct-game .brand span{color:var(--aqua)}
#ct-game .brand small{display:block;font-size:.58rem;letter-spacing:1.7px;font-weight:650;margin-top:7px;color:var(--muted)}
#ct-game nav{display:flex;gap:24px}
#ct-game nav a{color:var(--muted);font-size:.88rem;text-decoration:none}
#ct-game nav a:hover{color:var(--aqua)}
#ct-game main{max-width:1500px;margin:auto;padding:30px 36px 60px;min-height:75vh}
#ct-game h1,#ct-game h2,#ct-game h3,#ct-game p{margin-top:0}
#ct-game h1{font-size:clamp(2.4rem,5vw,4.6rem);font-weight:760;letter-spacing:-2.5px;line-height:1.06;margin-bottom:20px}
#ct-game h2{font-size:1.25rem;letter-spacing:-.3px;margin-bottom:14px}
#ct-game h3{font-size:1rem;margin-bottom:8px}
#ct-game p{color:var(--muted)}
#ct-game .eyebrow{font-size:.72rem;color:var(--aqua);font-weight:800;letter-spacing:2px;text-transform:uppercase;margin-bottom:12px}
#ct-game .hero{display:grid;grid-template-columns:1.05fr 1fr;gap:42px;align-items:center;padding:28px 0 44px}
#ct-game .hero p{max-width:530px;font-size:1.08rem}
#ct-game .pill{display:inline-flex;gap:8px;align-items:center;border:1px solid #63948466;padding:4px 10px;border-radius:30px;font-size:.72rem;letter-spacing:.6px;color:var(--muted)}
#ct-game .dot{height:7px;width:7px;border-radius:50%;background:var(--aqua);display:inline-block}
#ct-game .panel{background:linear-gradient(145deg,#174550bb,#0a303dcc);border:1px solid #53778177;border-radius:15px;padding:22px;box-shadow:0 16px 44px #00131a22,inset 0 1px #e0ffff0c;min-width:0}
#ct-game .panel.tint{background:linear-gradient(145deg,#174d4c,#123b43)}
#ct-game .grid{display:grid;gap:18px}
#ct-game .cols2{grid-template-columns:repeat(2,minmax(0,1fr))}
#ct-game .cols3{grid-template-columns:repeat(3,minmax(0,1fr))}
#ct-game .cols4{grid-template-columns:repeat(4,minmax(0,1fr))}
#ct-game .span2{grid-column:span 2}
#ct-game .row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
#ct-game .between{justify-content:space-between}
#ct-game .muted{color:var(--muted)}
#ct-game .tiny{font-size:.76rem}
#ct-game .subtle{font-size:.88rem;color:var(--muted)}
#ct-game .space{margin-bottom:20px}
#ct-game .mt{margin-top:20px}
#ct-game .divider{border-top:1px solid var(--line);padding-top:18px;margin-top:18px}
#ct-game .callout{border-left:3px solid var(--aqua);padding:12px 16px;background:#98e3ca0d;color:var(--muted);border-radius:0 7px 7px 0;font-size:.9rem}
#ct-game .warning{border-color:var(--gold);color:#f6dfa4}
#ct-game .error{color:var(--red)}
#ct-game .good{color:var(--aqua)}
#ct-game .money{font-variant-numeric:tabular-nums}
#ct-game .fields{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}
#ct-game label{display:grid;gap:6px;font-size:.8rem;font-weight:650;color:var(--muted)}
#ct-game input,#ct-game select,#ct-game textarea{width:100%;min-width:0;background:#062a35;color:var(--ink);border:1px solid #4d7881;border-radius:8px;padding:.65rem .75rem}
#ct-game input[type=range]{padding:8px 0;accent-color:var(--aqua)}
#ct-game input[type=checkbox]{width:auto}
#ct-game textarea{resize:vertical;min-height:70px}
#ct-game form .row{margin-top:16px}
#ct-game form button[type=submit]{margin-top:15px}
#ct-game label output{color:var(--ink);font-weight:750}
#ct-game .stat{padding:16px;border:1px solid #5d838655;border-radius:12px;background:#052b3677}
#ct-game .stat small{font-size:.68rem;text-transform:uppercase;letter-spacing:1px;color:var(--muted);display:block}
#ct-game .stat strong{display:block;font-size:1.8rem;font-weight:700;margin:6px 0;letter-spacing:-1px}
#ct-game .stat .delta{font-size:.75rem;color:var(--aqua)}
#ct-game .game-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}
#ct-game .game-top h1{font-size:2rem;letter-spacing:-1px;margin-bottom:8px}
#ct-game .quarter{font-size:1.1rem;font-weight:750}
#ct-game .turnbar{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#0c303df5;border:1px solid #4b7c81;border-radius:12px;padding:14px 18px;box-shadow:0 8px 24px #00141c44;margin:20px 0}
#ct-game .players{display:flex;gap:7px;flex-wrap:wrap}
#ct-game .player-chip{font-size:.72rem;display:flex;gap:6px;align-items:center;background:#ffffff08;border:1px solid #45666c;padding:5px 9px;border-radius:7px}
#ct-game .player-chip.passed{border-color:#85c4a3;background:#7ae8c815}
#ct-game .player-chip.offline{opacity:.6}
#ct-game .tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);padding:0 0 13px;margin:20px 0;overflow-x:auto}
#ct-game .tabs button{white-space:nowrap;background:transparent;border:none;box-shadow:none;color:var(--muted);font-weight:650;padding:8px 13px;border-radius:7px}
#ct-game .tabs button[aria-selected=true]{background:#a2edd020;color:var(--aqua)}
#ct-game .dashboard{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px}
#ct-game .queue{align-self:start;position:sticky;top:95px}
#ct-game .queue-list{padding:0;list-style:none;margin:14px 0}
#ct-game .queue-list li{border-top:1px solid var(--line);padding:12px 0}
#ct-game .queue-list .description{font-size:.82rem}
#ct-game .queue-list button{margin-top:6px}
#ct-game .tech-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
#ct-game .tech{border-top:3px solid var(--role,var(--aqua));position:relative}
#ct-game .tech h3{padding-right:4px}
#ct-game .tech p{font-size:.84rem;margin-bottom:10px}
#ct-game .tech .status{font-size:.68rem;letter-spacing:.8px;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
#ct-game .tech .fields{gap:8px}
#ct-game .tech button{font-size:.8rem}
#ct-game .progress{height:6px;border-radius:10px;background:#05232e;margin:12px 0;overflow:hidden}
#ct-game .progress span{display:block;height:100%;background:linear-gradient(90deg,#5da3ab,var(--aqua));border-radius:10px}
#ct-game .role-card{border-top:3px solid var(--role);padding:17px;text-align:left;min-height:150px;display:flex;flex-direction:column;gap:8px;background:#0b323e;color:var(--ink);box-shadow:none}
#ct-game .role-card.selected{background:#245c5a;border-color:var(--aqua)}
#ct-game .role-card .icon{font-size:1.8rem;color:var(--role)}
#ct-game .role-card small{font-weight:450;color:var(--muted)}
#ct-game .role-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
#ct-game .map-wrap{border:1px solid #5d929155;border-radius:15px;background:radial-gradient(ellipse,#21656c55,#052a37);overflow:hidden}
#ct-game .nation{width:100%;display:block;max-height:440px}
#ct-game .nation .terrain{fill:#4b8e79;stroke:#9cceb0;stroke-width:2;filter:drop-shadow(0 15px 20px #001a26)}
#ct-game .nation .road{fill:none;stroke:#9de4d5;stroke-width:2;stroke-dasharray:5 8;opacity:.55;animation:flow 5s linear infinite}
#ct-game .nation .contract{stroke:#f5db8a;stroke-width:3;opacity:.85}
#ct-game .nation .node{fill:#123c49;stroke:#91c8ba;stroke-width:1.5}
#ct-game .nation a:hover .node{fill:#285d60}
#ct-game .nation text{fill:#eefff7;font-family:inherit}
#ct-game .nation .node-label{font-size:10px;letter-spacing:.3px}
#ct-game .nation .node-icon{font-size:24px}
#ct-game .nation .hazard{fill:none;stroke:#f6ad86;stroke-width:3;animation:pulse 2s infinite}
#ct-game .legend{display:flex;justify-content:space-between;gap:12px;padding:12px 18px;font-size:.7rem;color:var(--muted)}
#ct-game .event{border-left:2px solid #62948e;padding:8px 12px;margin-bottom:10px}
#ct-game .event.breakthrough{border-color:var(--gold);background:#efd76c0a}
#ct-game .event.disaster{border-color:var(--red);background:#ff9c7609}
#ct-game .event.vote{border-color:var(--blue)}
#ct-game .event strong{font-size:.87rem}
#ct-game .event p{font-size:.8rem;margin:5px 0 0}
#ct-game .event small{font-size:.67rem;color:var(--muted)}
#ct-game table{border-collapse:collapse;width:100%;font-size:.78rem;font-variant-numeric:tabular-nums}
#ct-game th,#ct-game td{padding:10px 8px;text-align:left;border-bottom:1px solid #3b646c;vertical-align:top}
#ct-game th{color:var(--muted);font-weight:600}
#ct-game .table-scroll{overflow:auto}
#ct-game .chart{width:100%;height:140px;overflow:visible}
#ct-game .chart text{font:10px system-ui;fill:var(--muted)}
#ct-game .empty{padding:25px 4px;color:var(--muted);font-size:.88rem}
#ct-game .metric-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #3d656c;font-size:.82rem}
#ct-game .metric-row:last-child{border:none}
#ct-game .metric-row span:first-child{color:var(--muted)}
#ct-game details{border-top:1px solid var(--line);padding-top:12px;margin-top:12px;font-size:.83rem}
#ct-game summary{cursor:pointer;color:var(--aqua)}
#ct-game details p{margin:10px 0}
#ct-game .construction{padding:12px 0;border-bottom:1px solid var(--line)}
#ct-game .construction strong{font-size:.85rem}
#ct-game .forecast{margin-top:16px;border:1px solid #7bbba177;background:#9cdcc810;border-radius:9px;padding:12px;font-size:.8rem}
#ct-game .forecast strong{color:var(--aqua)}
#ct-game #toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#d7f5e6;color:#093c37;padding:12px 20px;border-radius:10px;box-shadow:0 12px 36px #001b2588;max-width:min(650px,90vw);z-index:20;display:none}
#ct-game #toast.visible{display:block}
#ct-game #toast.error{background:#ffe0ce;color:#623023}
#ct-game #connection{max-width:1500px;margin:auto;color:var(--gold);font-size:.8rem;padding:0 36px}
#ct-game #connection:not(:empty){padding-top:12px}
#ct-game .devbar{background:#eacb6d15;border:1px solid #a28d4b;border-radius:9px;padding:10px 14px;font-size:.78rem;color:#f1da96;margin-bottom:20px}
#ct-game footer{max-width:1500px;margin:auto;border-top:1px solid #345f6a;display:flex;justify-content:space-between;gap:20px;padding:24px 36px;font-size:.75rem;color:var(--muted)}
#ct-game footer a{margin-left:18px;color:var(--muted)}
#ct-game .rules{max-width:900px}
#ct-game .rules h2{margin-top:32px}
#ct-game .rules p,#ct-game .rules li{color:var(--muted)}
#ct-game .loading{padding:60px;text-align:center}
@keyframes flow{to{stroke-dashoffset:-65}}
@keyframes pulse{50%{opacity:.3;stroke-width:10}}
@media (prefers-reduced-motion:reduce){#ct-game *{animation:none!important;scroll-behavior:auto!important}}
@media (min-width:1400px){#ct-game .hero h1{font-size:5rem}}
@media (max-width:1050px){#ct-game .dashboard{grid-template-columns:minmax(0,1fr) 270px}
#ct-game .cols4{grid-template-columns:repeat(2,minmax(0,1fr))}
#ct-game .role-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
#ct-game .hero{gap:20px}
#ct-game .tech-grid{grid-template-columns:1fr}}
@media (max-width:760px){#ct-game main{padding:22px 16px 40px}
#ct-game .site-head{padding:20px 16px}
#ct-game nav{gap:12px}
#ct-game nav a{font-size:.76rem}
#ct-game .brand{font-size:1.2rem}
#ct-game .brand small{font-size:.48rem}
#ct-game .hero,#ct-game .dashboard,#ct-game .cols2,#ct-game .cols3{grid-template-columns:1fr}
#ct-game .hero{padding:14px 0 28px}
#ct-game .hero h1{font-size:3.5rem}
#ct-game .hero .map-wrap{max-width:580px;width:100%;margin:auto}
#ct-game .span2{grid-column:auto}
#ct-game .panel{padding:17px}
#ct-game .queue{position:static;grid-row:1}
#ct-game .turnbar{position:static;align-items:flex-start;flex-direction:column}
#ct-game .turnbar>div:last-child{align-self:stretch;display:flex;justify-content:space-between;align-items:center}
#ct-game .game-top{flex-direction:column}
#ct-game .role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
#ct-game .tech-grid{grid-template-columns:1fr}
#ct-game .cols4{gap:10px}
#ct-game .stat{padding:12px}
#ct-game .stat strong{font-size:1.5rem}
#ct-game .fields{gap:10px}
#ct-game footer{padding:20px 16px;flex-direction:column}
#ct-game footer a{margin:0 16px 0 0}
#ct-game .nation{max-height:350px}
#ct-game .tabs{gap:0}
#ct-game .tabs button{padding:8px 10px}
#ct-game .legend{flex-wrap:wrap}
#ct-game h1{letter-spacing:-1.5px}}
#ct-game .tabs,#ct-game #game-content{scroll-margin-top:105px}
#ct-game .event.breakthrough,#ct-game .event.disaster,#ct-game .event.vote{animation:reveal .5s ease-out}
@keyframes reveal{from{opacity:.35;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
/* CalculaGames white-and-blue Aero glass theme */
#ct-game{color-scheme:light;--bg:#e4f5ff;--panel:#ffffffd9;--panel2:#d9efff;--ink:#174e73;--muted:#486e87;--line:#abcde3;--aqua:#0876b0;--blue:#147bbd;--gold:#956510;--red:#b24535;font-family:Nunito,"Segoe UI",sans-serif}
#ct-game{background:radial-gradient(ellipse at 12% 0,#ffffff 0,transparent 48%),radial-gradient(ellipse at 95% 45%,#b4e5ff88,transparent 55%),linear-gradient(155deg,#f4fcff,#d9efff 55%,#c8e6fa);color:var(--ink)}
#ct-game .site-head{background:linear-gradient(#faffffdd,#e8f7ff99 48%,#cdeaff99 51%,#eaf7ffd9);border-color:#a1c7df;box-shadow:0 3px 16px #297aab16,inset 0 1px white;border-radius:0 0 18px 18px}
#ct-game .brand{color:#155a8c;text-shadow:0 1px white}
#ct-game .brand span{color:#138ab8}
#ct-game .brand small{color:#487894}
#ct-game button{background:linear-gradient(#ecfaff,#a6ddff 48%,#68b8e9 51%,#3998d0);color:#104c76;border-color:#79b3d8;box-shadow:inset 0 1px white,0 3px 8px #296e9a25;text-shadow:0 1px #ffffff88}
#ct-game button.secondary{background:linear-gradient(#fff,#e7f5ff 48%,#d3eafa 51%,#e7f6ff);color:#225c82;border-color:#a2c7df;box-shadow:inset 0 1px white,0 2px 7px #286c9820}
#ct-game button.ghost{background:#ffffff70;color:#36698a;border-color:#afcce0}
#ct-game button.danger{background:linear-gradient(#fff8f3,#ffe1d6);color:#a4432e;border-color:#d9a99b}
#ct-game button:hover:not(:disabled){filter:brightness(1.035);border-color:#398fbd}
#ct-game .panel,#ct-game .panel.tint{background:linear-gradient(145deg,#ffffffed,#ffffffa8 48%,#e8f5ffd4);border:1px solid #ffffff;outline:1px solid #a9cde17a;box-shadow:inset 0 1px white,inset 0 -1px #c9e7f7,0 12px 30px #337da51b;backdrop-filter:blur(14px)}
#ct-game input,#ct-game select,#ct-game textarea{background:linear-gradient(#f7fcff,#fff);color:#194f74;border-color:#9fc3dc;box-shadow:inset 0 2px 4px #216a9710}
#ct-game .stat{background:linear-gradient(#ffffffed,#e5f4ffbb);border-color:#b0cfe3;box-shadow:inset 0 1px white,0 3px 9px #246e9410}
#ct-game .stat strong{color:#125b8d}
#ct-game .stat .delta{color:#36748f}
#ct-game .pill{border-color:#9ec9df;background:#ffffff91;color:#386b87}
#ct-game .dot{background:#1788bd}
#ct-game .eyebrow{color:#147dae}
#ct-game .callout{background:#dceffd99;border-color:#459ac5;color:#345e7a}
#ct-game .warning{border-color:#bc9034;color:#795c21}
#ct-game .forecast{background:linear-gradient(#f8fdff,#e0f2ff);border-color:#a8cee3}
#ct-game .forecast strong{color:#126b9d}
#ct-game .turnbar{background:linear-gradient(#ffffffed,#dcefffed);border-color:#a8cce2;box-shadow:inset 0 1px white,0 7px 20px #2e769a20;backdrop-filter:blur(16px)}
#ct-game .player-chip{background:#ffffff9c;border-color:#b1ccdf;color:#345e7a}
#ct-game .player-chip.passed{background:#e1f5ed;border-color:#78baa2}
#ct-game .tabs button{color:#466f89}
#ct-game .tabs button[aria-selected=true]{color:#126a9e;background:linear-gradient(#ffffff,#d2ebff);box-shadow:inset 0 1px white,0 2px 6px #477b9a1a;border:1px solid #a9cce2}
#ct-game .role-card{background:linear-gradient(#ffffffec,#e4f3ff);color:var(--ink);border:1px solid #bed8e8;border-top:3px solid var(--role)}
#ct-game .role-card.selected{background:linear-gradient(#faffff,#cceaff);border-color:#4e9dcd}
#ct-game .progress{background:#c8e0ed}
#ct-game .progress span{background:linear-gradient(90deg,#73c1e8,#268dbf)}
#ct-game .map-wrap{background:radial-gradient(ellipse at 40% 10%,#ffffffaa,transparent 60%),linear-gradient(#a9ddfb,#ddf4ff);border-color:#8ebdd8;box-shadow:inset 0 1px white,0 5px 18px #256a9518}
#ct-game .nation .node{fill:#f0fbff;stroke:#438fba;filter:drop-shadow(0 3px 4px #265e8125)}
#ct-game .nation a:hover .node{fill:#d1edff}
#ct-game .nation text{fill:#245d7b}
#ct-game .nation .node-icon{fill:#1978a7!important}
#ct-game .nation .road{stroke:#317ea8;opacity:.65}
#ct-game .nation .contract{stroke:#947126}
#ct-game .nation .terrain{stroke:#effffb;filter:drop-shadow(0 10px 12px #2a6e872b)}
#ct-game .legend{color:#2d647f;background:#ffffff70}
#ct-game .legend span[style]{color:#806024!important}
#ct-game .event.breakthrough{background:#fff5d988;border-color:#bd9838}
#ct-game .event.disaster{background:#fff0e9;border-color:#c67455}
#ct-game .event.vote{border-color:#2c91c6;background:#e7f5ff}
#ct-game .event{border-color:#9bc8dd}
#ct-game .devbar{background:#fff8dfbb;border-color:#d1bd77;color:#756125}
#ct-game .metric-row,#ct-game th,#ct-game td,#ct-game details,#ct-game .divider,#ct-game .queue-list li,#ct-game .construction{border-color:#b8d3e4}
#ct-game .chart path{stroke:#94bdd566}
#ct-game footer{border-color:#a4c7dd}
#ct-game #connection{color:#926327}
#ct-game #toast{background:#f5fdff;color:#14577c;border:1px solid #92c1de;box-shadow:0 9px 25px #236a9733}
#ct-game{flex:1;width:100%;}#ct-game main{box-sizing:border-box;}
