html[data-theme="light"]{color-scheme:light;--bg:#f6f7f5;--surface:#fff;--surface-raised:#fbfcfa;--ink:#293331;--muted:#697570;--teal:#507d71;--orange:#9b7c43;--line:#dfe6e0;--soft:#edf3ee;--gold:#b7a573;--primary:#446b5f;--primary-hover:#345d50;--button-ink:#fff;--hover:#eef3ef;--input:#fff;--board-bg:#e5ebe6;--cell-bg:#fff;--cell-line:#d1dcd4;--blocked-bg:#d9e0dc;--blocked-ink:#79877e;--hero-bg:#edf1e8;--hero-label:#6e7b63;--art-bg:#e2ece5;--faint:#d0dacd;--met-bg:#d8e9df;--met-ink:#355f4d;--error:#a44e3f;--warning-bg:#f6f0de;--warning-ink:#766332;--shadow:#233c321a}
html[data-theme="dark"]{color-scheme:dark;--bg:#171d20;--surface:#20282b;--surface-raised:#252f32;--ink:#e6edeb;--muted:#a3b2ac;--teal:#9bc6b1;--orange:#c9b57a;--line:#364349;--soft:#293737;--gold:#c4b484;--primary:#a3c9b4;--primary-hover:#badac7;--button-ink:#182721;--hover:#2e3c3d;--input:#1b2428;--board-bg:#2c393b;--cell-bg:#1e292d;--cell-line:#405152;--blocked-bg:#3e4b4c;--blocked-ink:#9aa9a7;--hero-bg:#253332;--hero-label:#b0c6b4;--art-bg:#263637;--faint:#51625d;--met-bg:#304d41;--met-ink:#b4d9c3;--error:#e9aaa1;--warning-bg:#393527;--warning-ink:#d5c69d;--shadow:#070d1540}
body{background:var(--bg)!important;color:var(--ink)!important}.site-header{position:sticky;top:0;z-index:50;max-width:none;margin:0;padding:16px max(24px,calc((100vw - 1200px)/2));min-height:72px;height:auto;background:var(--bg)!important;border-bottom:1px solid var(--line)!important;box-shadow:0 1px 0 var(--shadow);display:flex;gap:30px;align-items:center;justify-content:flex-start}.site-header .brand{display:inline-flex;align-items:center;gap:9px;color:var(--ink);font-size:19px;font-weight:650;letter-spacing:-.5px;margin:0;white-space:nowrap}.site-header .brand-mark{display:inline;color:var(--gold);font-size:24px;border:0;background:none;transform:none;width:auto;height:auto;margin:0}.site-header nav{display:flex;gap:24px;color:var(--muted);font-size:14px}.site-header nav a[aria-current="page"],.site-header nav a:hover{color:var(--ink)}.header-right{margin-left:auto;display:flex;align-items:center;gap:20px}.site-header .account-nav{margin-left:0}.theme-controls{display:flex;gap:7px;align-items:center}.theme-switch{position:relative;display:inline-flex;align-items:center;gap:7px;cursor:pointer;color:var(--muted);font-size:16px;min-height:40px;margin:0}.theme-switch input{position:absolute;left:20px;opacity:0;width:42px;height:28px;margin:0;cursor:pointer}.theme-track{width:42px;height:24px;border-radius:20px;background:#c7d6cc;display:block;position:relative;border:1px solid var(--line)}.theme-track:after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;background:white;border-radius:50%;box-shadow:0 1px 3px #10291f20;transition:transform .18s}.theme-switch input:checked+.theme-track{background:#638b7b}.theme-switch input:checked+.theme-track:after{transform:translateX(18px)}.theme-switch input:focus-visible+.theme-track{outline:2px solid var(--teal);outline-offset:3px}.theme-auto{border:0!important;min-height:34px!important;padding:4px 7px!important;font-size:12px!important;color:var(--muted)!important;background:transparent!important}.theme-auto[aria-pressed="true"]{color:var(--teal)!important;background:var(--soft)!important;border-radius:6px}.site-header a{font-family:inherit}.site-header .account-nav button{font-size:14px;min-height:40px;padding:8px 13px}
button,.button,a.secondary,input,select,textarea,dialog{color:var(--ink);border-color:var(--line)}button,.button{background:var(--surface)}button:hover,.button:hover{background:var(--hover);border-color:var(--line)}button.primary,a.primary,.button.primary,.complete-row .primary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 19px;border-radius:9px;background:var(--primary);border:1px solid var(--primary);color:var(--button-ink);font-size:14px;font-weight:600;box-shadow:none;clip-path:none;text-decoration:none}button.primary:hover,a.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}a.secondary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 19px;border-radius:9px;border:1px solid var(--line);background:var(--surface);font-size:14px}.primary:disabled,.complete-row .primary:disabled{background:var(--soft);color:var(--muted);border-color:var(--line)}input,select,textarea,.account-form input{background:var(--input);color:var(--ink);border-color:var(--line)}button.quiet,.text-button{background:transparent;color:var(--muted)}button.soft-button,.play-label span{background:var(--soft);border-color:var(--line);color:var(--teal)}.brand-mark{color:var(--gold)}.muted,.lead,.save-note,.page-footer,.account-form label,.account-dialog p{color:var(--muted)}.account-message{color:var(--error)!important}.welcome{background:var(--hero-bg);border-color:var(--line)}.welcome p,.guest-note{color:var(--muted)}.subtle-label{color:var(--hero-label)}.portrait-wrap:before{background:linear-gradient(90deg,var(--hero-bg),transparent 24%)}.game-card,.rules-detail,.leaderboard-card,dialog,.account-dialog{background:var(--surface);border-color:var(--line)}.game-card:hover{border-color:var(--teal);box-shadow:0 9px 30px var(--shadow)}.game-art{background:var(--art-bg)}.art-badge{background:var(--surface-raised);color:var(--teal);box-shadow:none}.card-category{color:var(--muted)}.play-label{color:var(--teal);border-color:var(--line)}.future{background:var(--surface-raised);border-color:var(--line)}.future-symbol{color:var(--faint)}.future p,.soon{color:var(--muted)}.leaderboard-controls select,.leaderboard-table{background:var(--surface);border-color:var(--line)}.leaderboard-table th{background:var(--surface-raised);color:var(--muted)}.leaderboard-table td{color:var(--ink);border-color:var(--line)}.profile-stats{background:var(--soft)}.profile-stats strong{color:var(--teal)}dialog::backdrop,.account-dialog::backdrop{background:#0a151b88}.account-dialog-head button{background:transparent}.game-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:12px 3%;border-bottom:1px solid var(--line);background:var(--surface)}.game-toolbar .game-name{flex:1}.game-toolbar .back-link{color:var(--muted);font-size:14px}.game-toolbar .small-button{font-size:14px}.objective-panel>section,.motherboard-panel,.inventory-panel{background:var(--surface);border-color:var(--line)}.objective-panel h2,.inventory-panel h2,.integration-label strong,#asc-goal,#stat-values b{color:var(--ink)}.caption,.client-note p,.integration-label,.overlap-label,.placement-guide,.build-info,.game-footnote,.inventory-heading span,.filters label,.order-controls label,.game-name span,.asc-status,#stat-values span{color:var(--muted)}.stat-goal{background:var(--soft);color:var(--ink)}.stat-goal.met{background:var(--met-bg);color:var(--met-ink)}.trait-goal{color:var(--muted)}.trait-goal.met,.met .asc-status,#asc-goal strong{color:var(--teal)}.ascension-panel.met{border-color:var(--teal)}.board-shell,#board{background:var(--board-bg);border-color:var(--cell-line)}.board-cell:not(.filled){background:var(--cell-bg);border-color:var(--cell-line)}.board-cell.blocked{background:var(--blocked-bg);color:var(--blocked-ink)}.board-cell.selected{outline-color:var(--teal)}.board-cell.preview{background:var(--met-bg);box-shadow:inset 0 0 0 3px var(--teal)}.board-cell.preview-invalid{background:var(--warning-bg);box-shadow:inset 0 0 0 3px var(--error)}.integration-track{background:var(--soft)}.integration-track>div{background:var(--teal)}#feedback{color:var(--teal)}#feedback.error{color:var(--error)}.chip-card{background:var(--surface-raised);border-color:var(--line)}.chip-card:hover,.chip-card[aria-pressed="true"]{background:var(--soft)}.chip-card[aria-pressed="true"]{border-color:var(--teal)}.mini-cell:not(.on){background:var(--soft)}.chip-attr{color:var(--muted)}.chip-stars{color:var(--gold)}.star-tabs{border-color:var(--line)}.star-tabs button{background:transparent;color:var(--muted)}.star-tabs button[aria-pressed="true"]{background:var(--soft);color:var(--teal)}#inventory{scrollbar-color:var(--line) var(--surface)}.solver-pane-header,#solver-pane{background:var(--surface);border-color:var(--line)}.expert-branch{border-color:var(--line)}.expert-branch strong{color:var(--teal)}.expert-branch span{color:var(--muted)}
/* Solver shares the same shell without changing chip colors. */
.solver-body .shell{padding-top:14px}.solver-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--muted);font-size:14px;border-bottom:1px solid var(--line);padding:10px 0}.solver-body .panel,.solver-body .board-panel,.solver-body .goal-row,.solver-body .metrics div,.solver-body .legend-item,.solver-body .chip,.solver-body .goal-check,.solver-body .starting-stats,.solver-body .skill-tree,.solver-body .stepper,.solver-body .model-controls{background:var(--surface);color:var(--ink);border-color:var(--line);box-shadow:none}.solver-body label,.solver-body .hint,.solver-body .legend-item small,.solver-body .chip-stat,.solver-body .metrics span,.solver-body .result-notes,.solver-body .goal-check p,.solver-body .panel-heading p,.solver-body #status,.solver-body .starting-stats p{color:var(--muted)}.solver-body .metrics strong,.solver-body .stepper input[type=number],.solver-body .legend-item small b{color:var(--ink)}.solver-body .stepper button{background:var(--soft);color:var(--teal)}.solver-body .board{background:var(--board-bg)!important;border-color:var(--cell-line)}.solver-body .cell:not(.filled){background:var(--cell-bg);color:var(--muted);border-color:var(--cell-line);outline-color:var(--cell-line)}.solver-body .cell.blocked{background:var(--blocked-bg);color:var(--blocked-ink)}.solver-body .mini span:not(.on){background:var(--soft)}.solver-body .caution{background:var(--warning-bg);color:var(--warning-ink)}.solver-body .check.pass{background:var(--met-bg);color:var(--met-ink)}.solver-body .check.fail{background:var(--warning-bg);color:var(--error)}.solver-body .eyebrow,.solver-body .text-button,.solver-body .starting-stats summary,.solver-body .reference summary,.solver-body .skill-tree summary{color:var(--teal)}.solver-body .divider,.solver-body .reference{border-color:var(--line)}.solver-body input[type=number],.solver-body input[type=text],.solver-body select{background:var(--input);color:var(--ink);border-color:var(--line)}.solver-body .secondary{background:var(--soft);color:var(--teal);border-color:var(--line)}.solver-body .account-form input{background:var(--input);color:var(--ink)}.solver-body .icon-button{background:transparent;color:var(--muted)}.solver-body .chip-name{color:var(--ink)}.puzzle-preview{display:block;width:100%;height:100%;object-fit:cover;filter:none!important;transform:none!important}.workshop-visual{margin:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--art-bg);aspect-ratio:1.34}.workshop-visual svg{width:100%;height:100%;display:block}.games-page{max-width:1280px;margin:auto;padding:36px 40px}.games-page h1{font-size:38px;margin-bottom:24px}.games-page .game-grid{margin-top:20px}.account-dialog form .primary{width:100%}
@media(max-width:900px){.site-header{padding:14px 24px;gap:24px}.header-right{gap:14px}.site-header nav{gap:18px}.games-page{padding:28px 25px}}@media(max-width:680px){.site-header{padding:12px 18px;gap:12px;flex-wrap:wrap}.site-header .brand{font-size:17px;gap:6px}.site-header nav{order:3;width:auto;flex:1;margin:0;gap:20px}.header-right{display:contents}.site-header .account-nav{order:4;margin-left:auto;gap:6px}.theme-controls{margin-left:auto;order:2}.theme-auto{padding:3px 6px!important}.site-header .account-nav button{min-height:36px;padding:6px 12px}.game-toolbar{padding:10px 18px;gap:9px}.game-toolbar .game-name{min-width:150px}.game-toolbar .small-button{font-size:13px}.portrait-wrap:before{background:linear-gradient(0deg,var(--hero-bg),transparent 32%)}.games-page{padding:24px 18px}.solver-toolbar{align-items:flex-start;flex-direction:column}.site-header{box-shadow:none}}@media(prefers-reduced-motion:reduce){.theme-track:after{transition:none}}

.solver-body dialog{max-width:calc(100vw - 24px)}.solver-body #skill-dialog{max-width:960px}.solver-body .skill-columns section{background:var(--surface-raised);border-color:var(--line)}.solver-body .skill-columns h3{color:var(--teal)}.solver-body .skill-columns label,.solver-body .model-controls .toggle-row,.solver-body .guide-dialog ol{color:var(--ink)}.solver-body .skill-open span,.solver-body .special-panel summary span{color:var(--muted)}.solver-body .special-panel summary{color:var(--teal)}.solver-body .metrics .metric-success{background:var(--met-bg);border-color:var(--teal)}.solver-body .metrics .metric-success strong,.solver-body .metrics .metric-success span{color:var(--met-ink)}.solver-body .metrics .metric-failure{background:var(--warning-bg);border-color:var(--error)}.solver-body .metrics .metric-failure strong,.solver-body .metrics .metric-failure span{color:var(--error)}.solver-body .chip-name{white-space:normal}.solver-body .catalog .add-chip{color:var(--teal)}.solver-body .edit-grid button{background:var(--soft);border-color:var(--line)}.solver-body .edit-grid button.on{background:var(--teal)}
/* Card opens the workshop; its separate primary action starts playing. */
.active-game{position:relative}.game-workshop-link{color:inherit;text-decoration:none}.game-workshop-link:after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit}.game-workshop-link:focus-visible{outline:none}.game-workshop-link:focus-visible:after{outline:2px solid var(--teal);outline-offset:4px}.game-play{position:relative;z-index:2;width:100%;margin-top:20px;gap:12px;min-height:50px!important;font-size:16px!important}.game-play span{font-size:22px}.account-name{display:inline-flex;align-items:center;min-height:40px;padding:8px 13px;border-radius:9px;background:var(--soft);color:var(--teal);text-decoration:none;white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis;font-size:14px}
html[data-theme="dark"] .portrait-wrap:before{background:linear-gradient(90deg,var(--hero-bg) 0%,#253332ed 10%,#253332b8 24%,#25333266 42%,#25333222 61%,transparent 78%)}
.personal-page{max-width:1120px;margin:36px auto 60px;padding:0 32px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}.page-heading h1{font-size:38px;margin:0 0 8px;letter-spacing:-1px}.profile-layout{display:grid;grid-template-columns:320px 1fr;gap:28px;margin-top:24px;align-items:start}.panel-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:28px}.profile-preview{text-align:center;position:sticky;top:100px}.profile-preview h2{font-size:25px;margin:18px 0 4px;overflow-wrap:anywhere}.profile-avatar{display:flex;align-items:center;justify-content:center;width:94px;height:94px;border-radius:30px;margin:auto;font-size:48px}.profile-avatar[data-accent="sage"]{background:#9bc6b12b;color:#85b49d}.profile-avatar[data-accent="gold"]{background:#b7a5732b;color:#b7a573}.profile-avatar[data-accent="lavender"]{background:#aa9ec82b;color:#aa9ec8}.profile-avatar[data-accent="rose"]{background:#cc9d9d2b;color:#cc9d9d}.preview-bio{overflow-wrap:anywhere;white-space:pre-wrap;color:var(--muted);line-height:1.7;font-size:14px;min-height:40px}.profile-preview .profile-stats{display:flex;justify-content:space-around;padding:18px 8px;border-radius:12px;margin:24px 0}.profile-stats span{display:block;margin-top:4px}.profile-editors{display:grid;gap:20px}.editor-form h2{font-size:21px;margin:0 0 22px}.editor-form label{display:flex;flex-direction:column;gap:8px;font-size:14px;margin:16px 0}.editor-form input,.editor-form textarea,.editor-form select{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:var(--input);color:var(--ink);font:inherit}.editor-form textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-actions{display:flex;gap:16px;align-items:center;margin-top:22px;flex-wrap:wrap}.form-message{color:var(--muted);font-size:14px}.inline-check{display:flex!important;flex-direction:row!important;gap:9px!important;align-items:center;cursor:pointer}.inline-check input{width:16px!important;margin:0}.owner-recovery{font-size:13px!important;padding:0!important;margin-top:8px}.account-actions{display:flex;gap:20px;justify-content:space-between}.personal-page [hidden],.site-header [hidden]{display:none!important}.admin-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin:28px 0 20px;padding-bottom:12px}.admin-tabs button{border:0;background:transparent;color:var(--muted);padding:10px 18px}.admin-tabs button[aria-selected="true"]{background:var(--soft);color:var(--teal)}.list-heading{display:flex;align-items:center;justify-content:space-between;margin:24px 0 18px;gap:18px}.list-heading h2{margin:0;font-size:22px}.list-heading input{padding:10px 13px;border:1px solid var(--line);border-radius:9px;width:240px;max-width:50%}.table-scroll{padding:0;overflow:auto}.management-table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left;font-size:14px}.management-table td,.management-table th{padding:15px 20px;border-bottom:1px solid var(--line)}.management-table th{background:var(--surface-raised);color:var(--muted);font-weight:500}.management-table small{display:block;margin-top:5px;color:var(--muted)}.management-table button{font-size:13px;padding:6px 13px}.fine-print{font-size:13px;line-height:1.7}.management-dialog{max-width:540px;max-height:calc(100vh - 32px);overflow:auto}.audit-row{border-bottom:1px solid var(--line);padding:18px 0;overflow-wrap:anywhere}.audit-row:first-child{padding-top:0}.audit-row span,.audit-row small{display:block;color:var(--muted);font-size:12px;margin-top:6px}.audit-row p{font-size:13px;white-space:pre-wrap;line-height:1.6}.account-dialog .inline-check{font-size:13px}
@media(max-width:800px){.profile-layout{grid-template-columns:1fr}.profile-preview{position:static}.personal-page{padding:0 20px}.page-heading h1{font-size:30px}.page-heading{align-items:flex-start}.page-heading .secondary{font-size:13px;white-space:nowrap}.panel-card{padding:22px}.table-scroll{padding:0}}
@media(max-width:680px){html[data-theme="dark"] .portrait-wrap:before{background:linear-gradient(0deg,var(--hero-bg) 0%,#253332e6 12%,#2533329c 29%,#25333238 51%,transparent 77%)}.form-row{gap:12px}.account-name{max-width:140px}.page-heading{flex-wrap:wrap}}
/* Account controls appear only after the current session has been checked. */
[data-account-nav]{min-width:145px;min-height:40px;justify-content:flex-end;visibility:hidden;pointer-events:none}
[data-account-nav][data-account-ready="true"]{visibility:visible;pointer-events:auto}
dialog{max-height:calc(100dvh - 40px);overflow:auto;overscroll-behavior:contain}
dialog>.guide-head,dialog>.account-dialog-head,dialog>.dialog-header{position:sticky;top:-24px;z-index:10;background:var(--surface);padding:14px 0;border-bottom:1px solid var(--line);box-shadow:0 8px 12px var(--surface)}
dialog>.account-dialog-head{top:-28px}
dialog .guide-head button,dialog .account-dialog-head button{flex-shrink:0;min-width:42px;min-height:42px;border-radius:8px}
.game-card.active-game{display:flex;flex-direction:column}.game-description{display:flex;flex-direction:column;flex:1}.game-description .game-play{margin-top:auto}.game-description>p{margin-bottom:22px}.game-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:780px){.game-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.game-grid{grid-template-columns:1fr}}
dialog>.dialog-title,dialog>.dialog-head,dialog>form>.dialog-head{position:sticky;top:-24px;z-index:10;background:var(--surface);padding:14px 0;border-bottom:1px solid var(--line);box-shadow:0 8px 12px var(--surface)}
