:root{--bg:#0c0e14;--surface:#151924;--text:#e8e9ee;--muted:#949aab;--border:#262c3b;--accent:#f0803c;--accent-soft:#3a2116;--better:#4ade80;--worse:#ef4444;--wanted:#60a5fa;--row-hover:#1c2130;--gold:#f2c14e;--warning-bg:#3a2f12;--warning-text:#f2d48a;--dot-border:#ffffff73;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.45}:root[data-theme=light]{--bg:#f7f6f3;--surface:#fff;--text:#1d1d1f;--muted:#6b6b70;--border:#e2e0da;--accent:#c2410c;--accent-soft:#fde7da;--better:#0f766e;--worse:#be123c;--wanted:#1d4ed8;--row-hover:#f1efe9;--gold:#b7791f;--warning-bg:#fff4d6;--warning-text:#7a5300;--dot-border:#00000040;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{margin:0 0 .25rem;font-size:1.6rem}h2{margin:2rem 0 .75rem;font-size:1.15rem}.muted{color:var(--muted)}.muted a{color:inherit}.notice{background:var(--warning-bg);color:var(--warning-text);border-radius:8px;margin:1rem 0;padding:10px 14px}.status{color:var(--muted);padding:2rem 0}button{font:inherit;color:inherit;cursor:pointer}select,input.search{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:4px 8px}.note{font-size:.85rem}.theme-toggle{border:1px solid var(--border);color:var(--muted);background:0 0;border-radius:6px;margin-left:auto;padding:4px 10px}.theme-toggle:hover{color:var(--text)}.site-header{background:var(--surface);border-bottom:1px solid var(--border)}.site-header-inner,.page{max-width:1100px;margin:0 auto;padding:0 16px}.site-header-inner{flex-wrap:wrap;align-items:center;gap:24px;min-height:56px;display:flex}.site-title{color:var(--text);font-size:1.1rem;font-weight:700}.site-title span{color:var(--accent)}.site-nav{flex-wrap:wrap;gap:4px;display:flex}.site-nav a{color:var(--muted);border-radius:6px;padding:6px 10px;font-weight:500}.site-nav a:hover{color:var(--text);background:var(--row-hover);text-decoration:none}.site-nav a.active{color:var(--accent);background:var(--accent-soft)}.page{padding-block:24px 48px}@media (width<=500px){.site-header-inner{gap:0 12px;padding-block:4px}.site-nav{order:3;width:100%}}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:8px 12px}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--row-hover)}th{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-size:.8rem;font-weight:600}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable:hover{color:var(--text)}.num{text-align:right;font-variant-numeric:tabular-nums}th.wrap,td.wrap{white-space:normal}@media (width<=500px){.hide-narrow{display:none}th,td{padding-inline:8px}}.player-dot{vertical-align:baseline;border:1px solid var(--dot-border);border-radius:50%;width:.7em;height:.7em;margin-right:.4em;display:inline-block}.placement{min-width:2.2em;color:var(--muted);font-variant-numeric:tabular-nums;display:inline-block}.placement.first{color:var(--gold);font-weight:700}.winner{font-weight:600}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--row-hover);border:1px solid var(--border);border-radius:999px;padding:2px 8px;font-size:.8rem}.tiles{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:1rem 0;display:grid}.tile{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 14px}.tile-value{font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:700}.tile-label{color:var(--muted);font-size:.85rem}.tile[title]{cursor:help}.tile[title] .tile-label{text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}button.chip{cursor:pointer}button.chip:hover{border-color:var(--muted)}.link-button{color:var(--accent);background:0 0;border:none;padding:0}.link-button:hover{text-decoration:underline}.chip-off{color:var(--muted)}.chip-unusual{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.card-preview{z-index:20;pointer-events:none;filter:drop-shadow(0 6px 16px #00000073);width:264px;height:auto;position:fixed}.filter-bar{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:10px;margin:.75rem 0 1.5rem;padding:12px 14px;display:flex}.filter-row{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.filter-label{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);min-width:5.5em;font-size:.8rem;font-weight:600}.filter-summary{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:12px;font-size:.9rem;display:flex}.segmented{border:1px solid var(--border);border-radius:8px;display:inline-flex;overflow:hidden}.segmented button{border:none;border-right:1px solid var(--border);background:0 0;flex-direction:column;align-items:center;padding:4px 12px;line-height:1.2;display:flex}.segment-main{white-space:nowrap;font-weight:600}.segmented button:last-child{border-right:none}.segmented button:hover{background:var(--row-hover)}.segmented button.on{background:var(--accent);color:#fff}.segmented .count{opacity:.75;white-space:nowrap;font-size:.75em}@media (width<=500px){.segmented{flex-wrap:wrap}.segmented button{flex:1;padding:4px 8px}}.game-players{flex-direction:column;gap:4px;display:flex}.result-line{flex-wrap:wrap;column-gap:.8em;display:flex}.keep-together{white-space:nowrap}.game-facts{grid-template-columns:max-content 1fr;align-items:baseline;gap:8px 16px;margin:0 0 1rem;display:grid}.game-facts dt{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-size:.8rem;font-weight:600}.game-facts dd{margin:0}.meta{color:var(--muted);flex-wrap:wrap;gap:6px 20px;margin-bottom:1rem;display:flex}@media (width<=500px){.result-line,.result-line>span{display:block}.result-line>span+span{white-space:normal;padding-left:2.6em;font-size:.9em}}@media (width<=600px){.game-facts{grid-template-columns:1fr;gap:2px}.game-facts dd{margin-bottom:8px}}.active-game{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:10px;padding:10px 14px}.active-game-head{flex-wrap:wrap;align-items:baseline;gap:4px 12px;display:flex}.active-game-link{margin-left:auto}.active-players{margin:8px 0 0;padding:0;list-style:none}.active-players li{grid-template-columns:minmax(7em,1fr) 2fr auto;gap:4px 12px;padding:3px 0;display:grid}.active-players li.waiting{font-weight:600}.active-players li.waiting .keep-together:after{content:" ⏳"}.stalled ul{margin:6px 0 0;padding-left:1.2em}.active-players .num{white-space:nowrap}.bar-chart{max-width:640px}.bars,.bar-axis{gap:2px;display:flex}.bars{border-bottom:1px solid var(--border);align-items:flex-end;height:120px;padding-top:1.2rem}.bar-col,.bar-axis span{text-align:center;flex:1}.bar-col{flex-direction:column;justify-content:flex-end;align-items:center;height:100%;display:flex;position:relative}.bar-col:hover{background:var(--row-hover)}.bar{background:var(--accent);border-radius:4px 4px 0 0;width:70%;max-width:32px}.bar-peak{color:var(--text);font-size:.8rem;position:absolute;top:-1.2rem}.bar-axis{color:var(--muted);padding-top:4px;font-size:.75rem}.card-controls{flex-wrap:wrap;align-items:center;gap:12px;margin-block:16px;display:flex}input.search{flex:1;min-width:10rem;max-width:20rem}.chance{color:var(--muted)}.stat-better{color:var(--better)}.stat-worse{color:var(--worse)}.stat-wanted{color:var(--wanted)}.tile.tone-better{border-color:var(--better)}.tile.tone-worse{border-color:var(--worse)}.tile.tone-wanted,.tile.tone-unwanted{border-color:var(--wanted)}.card-heading{align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.card-heading h1{margin-top:0}.card-image{flex-shrink:0;width:240px;height:auto}@media (width<=600px){.card-image{width:140px}}.step-controls{z-index:1;background:var(--bg);border-bottom:1px solid var(--border);margin-bottom:12px;padding-block:10px;position:sticky;top:0}.step-buttons{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.step-buttons button{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:4px 10px}.step-buttons button:disabled{opacity:.4;cursor:default}.step-slider{width:100%;accent-color:var(--accent);margin-top:8px}.step-title{flex-wrap:wrap;align-items:baseline;gap:2px 8px;display:flex}.globals{color:var(--muted);margin-left:auto}.page:has(.replay){max-width:1700px}body:has(.replay) .site-header-inner{max-width:1700px}.replay h1{margin-bottom:4px}.replay-back{margin-left:12px;font-size:.9rem;font-weight:400}.step-log{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:10px;height:calc(10.15em + 36px);margin-bottom:12px;padding:8px 14px;overflow-y:auto}.step-log.empty{height:auto}@media (width<=600px){.step-log{height:auto;max-height:calc(17.4em + 36px)}}.step-log h2{margin:0 0 4px;font-size:1.05rem}.player-boards{gap:12px;display:grid}.replay-columns{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;gap:20px;display:grid}.replay-side{max-height:calc(100vh - 130px);position:sticky;top:118px;overflow-y:auto}@media (width<=1300px){.replay-columns{grid-template-columns:minmax(0,1fr)}.replay-side{max-height:none;position:static}}.player-board{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 14px}@media (width>=900px){.player-board{grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:20px;display:grid}.player-board>*{grid-column:1/-1}.player-board>.board-header{grid-column:1}.player-board>.resources{grid-column:2;gap:2px 16px;margin:0}.player-board>.resources div{width:96px}}.player-board.active{border-color:var(--accent)}.board-header{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:0;display:flex}.player-board .tr{margin-left:auto;font-weight:600}.player-board p{margin:6px 0}.resources{flex-wrap:wrap;gap:2px 28px;margin:8px 0;display:flex}.resources dt{color:var(--muted);font-size:.75rem}.resources dd{font-variant-numeric:tabular-nums;margin:0}.board-label{color:var(--muted);font-size:.8rem;font-weight:600}.this-step{border-left:3px solid var(--accent);padding-left:8px}.replay-log{margin:0;padding-left:1.2em}.replay-log li{margin:2px 0}.replay-log li.private{color:var(--muted)}.log-cards{display:inline}.log-cards summary{cursor:pointer;color:var(--accent);display:inline}.card-group{margin:8px 0 4px}.card-group.closed{margin-right:18px;display:inline-block}.group-toggle{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:.8rem;font-weight:600}.group-toggle:hover{color:var(--text)}.card-pictures{flex-wrap:wrap;gap:4px 6px;margin-top:4px;display:flex}.card-picture{width:120px;position:relative}.card-tops{grid-template-columns:repeat(auto-fill,132px);gap:4px 6px;margin-top:4px;display:grid}.card-top{aspect-ratio:8/5;font-size:.8rem;position:relative;overflow:hidden}.card-thumb{width:100%;height:auto;display:block}.card-count{border:2px solid var(--accent);color:#111;text-align:center;pointer-events:none;background:#fff;border-radius:12px;min-width:24px;padding:0 5px;font-size:.8rem;font-weight:700;line-height:18px;position:absolute;bottom:3px;left:2px}.change{margin-left:3px;font-size:.8em;font-weight:700}.change.gain{color:var(--better)}.change.loss{color:var(--worse)}.card-count .change.gain{color:#0f766e}.card-count .change.loss{color:#be123c}.picked,.played,.action{outline:3px solid var(--accent);border-radius:12px}.new{outline:2px dashed var(--accent);border-radius:12px}.sold,.discarded{outline:3px solid var(--worse);border-radius:12px}.card-mark{background:var(--accent);color:#fff;pointer-events:none;border-radius:8px;padding:0 6px;font-size:.72rem;font-weight:700;line-height:17px;position:absolute;bottom:3px;right:3px}.sold .card-mark,.discarded .card-mark{background:var(--worse)}.passed{opacity:.5}.this-step .card-picture{width:150px}.offered-cards{margin:1px 0}.offered-cards.open{margin:6px 0}.board-section{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:12px;padding:8px 14px}.mars-board svg{width:100%;max-width:480px;margin:4px auto;display:block}.global-tracks .cell{fill:#80808059}.global-tracks .oxygen .on{fill:#3f9bd8}.global-tracks .venus .on{fill:#d9a441}.global-tracks .temperature .on{fill:#e0603c}.global-tracks .cell.now{stroke:var(--accent);stroke-width:2.5px}.global-tracks text{fill:var(--text);font-size:13px;font-weight:600}.global-tracks tspan.change{font-size:11px}.global-tracks tspan.gain{fill:var(--better)}.global-tracks tspan.loss{fill:var(--worse)}.hex{fill:#0000001f;stroke:#ffffff73;stroke-width:1px}.hex.ocean{fill:#286edc66;stroke:#96c8ffe6}.hex.placed{fill:none;stroke:var(--accent);stroke-width:4px}.mars-board .owner{stroke:#fff;stroke-width:1.5px}.board-claims{margin:6px 0;line-height:1.9}.claim{border:1px solid var(--border);white-space:nowrap;border-radius:10px;margin-right:6px;padding:0 8px;font-size:.85rem;display:inline-block}.claim.open{color:var(--muted)}.claim.now{border-color:var(--accent);outline:2px solid var(--accent)}.colony-tiles{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;margin-top:6px;display:grid}.colony-tile{position:relative;container-type:inline-size}.colony-tile.inactive .card-thumb{opacity:.45}.colony-tile .slot{border-radius:4px;justify-content:center;align-items:center;display:flex;position:absolute}.colony-tile .slot.now{outline:3px solid var(--accent)}.colony-tile .cube{aspect-ratio:1;border:1.5px solid #fff;border-radius:3px;width:46%}.colony-tile .cube.marker{background:#fff;border-color:#555}.colony-tile .slot .change{background:var(--surface);border-radius:6px;margin:0;padding:0 3px;position:absolute;top:100%}.colony-tile .fleet{color:#fff;text-shadow:0 0 2px #000;background:#555;border:1.5px solid #fff;border-radius:8px;padding:0 6px;font-size:.75rem;font-weight:700;position:absolute;top:6%;right:3%}.colony-tile .fleet.now{outline:3px solid var(--accent)}.turmoil p{margin:6px 0}.turmoil-offices{flex-wrap:wrap;gap:4px 18px;display:flex}.turmoil .office{border-radius:6px;padding:0 4px}.party-icon{vertical-align:middle;height:1.5em}.parties{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px;display:grid}.party{border:1px solid var(--border);border-radius:8px;padding:4px 8px}.party.dominant{border-color:var(--gold)}.turmoil .now{outline:3px solid var(--accent)}.party-name{font-size:.9rem;font-weight:600}.delegates{flex-wrap:wrap;align-items:center;gap:3px;min-height:22px;margin-top:3px;font-size:.8rem;display:flex}.delegate{border:1.5px solid var(--dot-border);vertical-align:middle;border-radius:50%;width:14px;height:14px;display:inline-block}.delegate.leader{border:2px solid var(--gold);width:18px;height:18px;margin-right:4px}.turmoil-reserve .keep-together{margin-right:10px}.global-events{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px;display:grid}.global-events figure{margin:0}
