/* A common palette for the hub, every game, and the collection. */
:root{--surface:#fff;--surface-soft:#f5f3fa;--text:#252a37;--text-soft:#9295a5;--stroke:#e9e8f0;--appearance-accent:#9a82bf;--appearance-bg:#fbfbfd}
#appearance-controls{display:flex;align-items:center;flex-shrink:0;margin-left:auto}
.appearance-switch{display:flex;gap:3px;padding:4px;border:1px solid var(--stroke);border-radius:11px;background:var(--surface)}
.appearance-option{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:7px;color:#a9a3b5;background:transparent;transition:background .2s,color .2s}
.appearance-option svg{width:15px;height:15px;pointer-events:none}
.appearance-option:hover{color:#8b75aa;background:#f5f1fb}
.appearance-option[aria-pressed=true]{color:#9172b4;background:#eee6f7}
.appearance-option:focus-visible{outline:2px solid #ad96cf;outline-offset:3px}
.topbar:has(#appearance-controls){gap:35px}
.topbar:has(#appearance-controls) .header-note{margin-left:0}
.game-page .topbar:has(#appearance-controls) .back-link{margin-left:0}
html[data-theme=dark],html[data-theme=aurora]{color-scheme:dark;--ink:#e2e5f0;--muted:#9aa4bc;--purple:#b89bea;--line:#31394b;--surface:#202737;--surface-soft:#273044;--text:#e2e5f0;--text-soft:#a0aac0;--stroke:#343e51;--appearance-accent:#b69bdc;--appearance-bg:#151a27}
html[data-theme=aurora]{--surface:#18263b;--surface-soft:#203047;--text:#e1edf3;--text-soft:#9cbbc9;--stroke:#2c445c;--appearance-accent:#b7a1ed;--appearance-bg:#101929}
:is(html[data-theme=dark],html[data-theme=aurora]) body{background:var(--appearance-bg);color:var(--text)}
html[data-theme=aurora] body{background:radial-gradient(ellipse at 15% 3%,#345d6c3b 0%,transparent 44%),radial-gradient(ellipse at 92% 20%,#66538c29 0%,transparent 40%),#101929;background-attachment:fixed}
:is(html[data-theme=dark],html[data-theme=aurora]) .topbar{border-color:var(--stroke)}
:is(html[data-theme=dark],html[data-theme=aurora]) .logo{color:var(--text)}
:is(html[data-theme=dark],html[data-theme=aurora]) nav>a,:is(html[data-theme=dark],html[data-theme=aurora]) nav>button,:is(html[data-theme=dark],html[data-theme=aurora]) .back-link{color:#a2abc1}
:is(html[data-theme=dark],html[data-theme=aurora]) nav .active{color:#e2d9f6}
:is(html[data-theme=dark],html[data-theme=aurora]) #favorite-count{color:#bbacd4;background:#30334a}
:is(html[data-theme=dark],html[data-theme=aurora]) .header-note{color:#8e9bb4}
:is(html[data-theme=dark],html[data-theme=aurora]) .appearance-switch{border-color:var(--stroke);background:var(--surface)}
:is(html[data-theme=dark],html[data-theme=aurora]) .appearance-option{color:#8f9ab1}
:is(html[data-theme=dark],html[data-theme=aurora]) .appearance-option:hover{color:#cbb2f0;background:#33354f}
:is(html[data-theme=dark],html[data-theme=aurora]) .appearance-option[aria-pressed=true]{color:#d7c1f4;background:#3a3652}
html[data-theme=aurora] .appearance-option[aria-pressed=true]{background:#34435b;color:#b3e1dd}
:is(html[data-theme=dark],html[data-theme=aurora]) .hero{background:linear-gradient(120deg,#29263d,#252d42)}
html[data-theme=aurora] .hero{background:radial-gradient(ellipse at 15% 0%,#67ad9d29,transparent 60%),radial-gradient(ellipse at 95% 95%,#8865bf40,transparent 55%),#1a2b41}
:is(html[data-theme=dark],html[data-theme=aurora]) .eyebrow,:is(html[data-theme=dark],html[data-theme=aurora]) .small{color:#a49ab9}
:is(html[data-theme=dark],html[data-theme=aurora]) .hero p{color:#aaa7bf}
:is(html[data-theme=dark],html[data-theme=aurora]) .hero-foot{color:#9b98b3}
:is(html[data-theme=dark],html[data-theme=aurora]) .primary{background:#b29ad7;color:#1e1930}
:is(html[data-theme=dark],html[data-theme=aurora]) .primary:hover{background:#c1a9e6}
:is(html[data-theme=dark],html[data-theme=aurora]) .orbit{border-color:#62608148}
:is(html[data-theme=dark],html[data-theme=aurora]) .art-caption{color:#9291ad}
:is(html[data-theme=dark],html[data-theme=aurora]) .search{background:var(--surface);border-color:var(--stroke)}
:is(html[data-theme=dark],html[data-theme=aurora]) .search input{color:#d8dceb}
:is(html[data-theme=dark],html[data-theme=aurora]) .search input::placeholder{color:#8d98b0}
:is(html[data-theme=dark],html[data-theme=aurora]) kbd{background:#30394d;color:#93a2be}
:is(html[data-theme=dark],html[data-theme=aurora]) .filters button{background:var(--surface);color:#9ca7bc;border-color:var(--stroke)}
:is(html[data-theme=dark],html[data-theme=aurora]) .filters button.selected{background:#9c84c5;border-color:#9c84c5;color:#fff}
:is(html[data-theme=dark],html[data-theme=aurora]) .game-name{color:#d8dceb}
:is(html[data-theme=dark],html[data-theme=aurora]) .game-name:hover{color:#bda5df}
:is(html[data-theme=dark],html[data-theme=aurora]) .game-status,:is(html[data-theme=dark],html[data-theme=aurora]) .collection-note{color:#8d98b0}
:is(html[data-theme=dark],html[data-theme=aurora]) .coming-banner{background:#242d40;border-color:#41465d}
:is(html[data-theme=dark],html[data-theme=aurora]) .banner-icon{background:#33354f;color:#a8a0c3}
:is(html[data-theme=dark],html[data-theme=aurora]) .coming-banner p{color:#929eb6}
:is(html[data-theme=dark],html[data-theme=aurora]) footer{border-color:var(--stroke);color:#8996b0}
/* Shared game chrome */
:is(html[data-theme=dark],html[data-theme=aurora]) .game-heading p,:is(html[data-theme=dark],html[data-theme=aurora]) .breadcrumb{color:#95a2bd}
:is(html[data-theme=dark],html[data-theme=aurora]) .breadcrumb a{color:#b2a5cb}
:is(html[data-theme=dark],html[data-theme=aurora]) .heading-icon{box-shadow:inset 0 0 0 1px #ffffff20}
:is(html[data-theme=dark],html[data-theme=aurora]) .game-favorite{background:var(--surface);border-color:var(--stroke);color:#b3a1cc}
:is(html[data-theme=dark],html[data-theme=aurora]) .game-favorite[aria-pressed=true]{background:#3c3250;color:#d1b8ec;border-color:#67527f}
:is(html[data-theme=dark],html[data-theme=aurora]) .play-panel,:is(html[data-theme=dark],html[data-theme=aurora]) .how-to,:is(html[data-theme=dark],html[data-theme=aurora]) .next-games{background:var(--surface);border-color:var(--stroke)}
:is(html[data-theme=dark],html[data-theme=aurora]) .panel-top,:is(html[data-theme=dark],html[data-theme=aurora]) .panel-bottom,:is(html[data-theme=dark],html[data-theme=aurora]) .save-note,:is(html[data-theme=dark],html[data-theme=aurora]) .all-games-link{border-color:var(--stroke)}
:is(html[data-theme=dark],html[data-theme=aurora]) .game-stat{background:var(--surface-soft)}
:is(html[data-theme=dark],html[data-theme=aurora]) .game-stat>span{color:#9b9db7}
:is(html[data-theme=dark],html[data-theme=aurora]) .game-stat>strong{color:#d4c9e7}
:is(html[data-theme=dark],html[data-theme=aurora]) .game-status-line,:is(html[data-theme=dark],html[data-theme=aurora]) .how-to li{color:#a9a8bf}
:is(html[data-theme=dark],html[data-theme=aurora]) .live-label,:is(html[data-theme=dark],html[data-theme=aurora]) .panel-bottom{color:#8e96ad}
:is(html[data-theme=dark],html[data-theme=aurora]) .control-tags>span{background:#2c344a;color:#b1a5c6}
:is(html[data-theme=dark],html[data-theme=aurora]) .game-note,:is(html[data-theme=dark],html[data-theme=aurora]) .save-note{color:#909db8}
:is(html[data-theme=dark],html[data-theme=aurora]) .next-game strong{color:#bfb5d3}
:is(html[data-theme=dark],html[data-theme=aurora]) .next-game small,:is(html[data-theme=dark],html[data-theme=aurora]) .next-arrow{color:#899bb6}
:is(html[data-theme=dark],html[data-theme=aurora]) .control-button{background:#2c344a;border-color:#41475e;color:#bdb0d3}
:is(html[data-theme=dark],html[data-theme=aurora]) .control-button:hover{background:#373b55}
:is(html[data-theme=dark],html[data-theme=aurora]) .control-button.primary{background:#a18ac4;border-color:#a18ac4;color:#171827}
:is(html[data-theme=dark],html[data-theme=aurora]) dialog{background:var(--surface);color:var(--text);border-color:var(--stroke)}
:is(html[data-theme=dark],html[data-theme=aurora]) dialog::backdrop{background:#070c18b3}
/* Ball Sort stays colourful: only the glass, empty space, and labels change. */
:is(html[data-theme=dark],html[data-theme=aurora]) .bs-game{--bs-ink:#dce2ee;--bs-muted:#95a2bb;--bs-line:#354056}
:is(html[data-theme=dark],html[data-theme=aurora]) .bs-stage-name{color:#dce2ee}
:is(html[data-theme=dark],html[data-theme=aurora]) .bs-difficulty{color:#c0abd9;border-color:#4b425e;background:#332f48}
:is(html[data-theme=dark],html[data-theme=aurora]) .bs-chapter-strip>span{background:#343d53}
:is(html[data-theme=dark],html[data-theme=aurora]) .bs-chapter-strip>.is-done{background:#655582}
:is(html[data-theme=dark],html[data-theme=aurora]) .bs-chapter-strip>.is-active{background:#b798db}
:is(html[data-theme=dark],html[data-theme=aurora]) .bs-picker{background:#252d40;border-color:#384258}
:is(html[data-theme=dark],html[data-theme=aurora]) .bs-picker summary{color:#a9b2c8}
:is(html[data-theme=dark],html[data-theme=aurora]) .bs-level{background:#2a3347;color:#a9b5cb;border-color:#3a455c}
:is(html[data-theme=dark],html[data-theme=aurora]) .bs-level.is-cleared{background:#2b403c;color:#a3c9b7;border-color:#3c574d}
:is(html[data-theme=dark],html[data-theme=aurora]) .bs-level[aria-current=step]{background:#463858;color:#dbbff0;border-color:#7d6596;box-shadow:none}
:is(html[data-theme=dark],html[data-theme=aurora]) .bs-mechanic-banner{background:linear-gradient(120deg,#2e2d45,#283349);border-color:#414058}
:is(html[data-theme=dark],html[data-theme=aurora]) .bs-rule-icon{background:#433651;color:#c4a6e2;border-color:#594569}
:is(html[data-theme=dark],html[data-theme=aurora]) .bs-rule-copy h3{color:#cec3df}
:is(html[data-theme=dark],html[data-theme=aurora]) .bs-rule-copy p{color:#a99fbe}
:is(html[data-theme=dark],html[data-theme=aurora]) .bs-rule-copy>small{color:#948ba7}
:is(html[data-theme=dark],html[data-theme=aurora]) .bs-rule-chip{background:#2d3045;color:#b5a1cb;border-color:#443c55}
:is(html[data-theme=dark],html[data-theme=aurora]) .bs-rule-chip:hover{background:#3b3450;border-color:#6b5680}
:is(html[data-theme=dark],html[data-theme=aurora]) .bs-board-meta,:is(html[data-theme=dark],html[data-theme=aurora]) .bs-feedback,:is(html[data-theme=dark],html[data-theme=aurora]) .bs-legend,:is(html[data-theme=dark],html[data-theme=aurora]) .bs-game .game-note{color:#95a4bd}
:is(html[data-theme=dark],html[data-theme=aurora]) .bs-board{background:radial-gradient(ellipse at 50% 0,#2a354b,#222b3e 75%);border-color:#3a4359;box-shadow:inset 0 1px 0 #ffffff06}
:is(html[data-theme=dark],html[data-theme=aurora]) .bs-tube{border-color:#65728b;background:linear-gradient(90deg,#d7e5ff12,#ffffff04 30%,#bdd4ff06 75%,#c1d9ff12);box-shadow:inset 2px 0 0 #d6e4ff29,inset -2px -1px 0 #22304b44,2px 5px 8px #11172324}
:is(html[data-theme=dark],html[data-theme=aurora]) .bs-tube:before{background:linear-gradient(#536079,#303d57);border-color:#738099;box-shadow:none}
:is(html[data-theme=dark],html[data-theme=aurora]) .bs-tube:after{background:linear-gradient(#c6dcff40,#b3ccff10)}
:is(html[data-theme=dark],html[data-theme=aurora]) .bs-tube-button.is-selected .bs-tube{border-color:#c6a8e6;box-shadow:0 0 0 3px #9c79c128,inset 2px 0 0 #d6e4ff29,2px 8px 14px #080c1933}
:is(html[data-theme=dark],html[data-theme=aurora]) .bs-tube-button.is-selected .bs-tube:before{border-color:#c6a8e6}
:is(html[data-theme=dark],html[data-theme=aurora]) .bs-tube-button.is-available .bs-tube{border-color:#8db8a4;background-color:#7fb7a015}
:is(html[data-theme=dark],html[data-theme=aurora]) .bs-tube-button.is-complete .bs-tube{border-color:#86ad9d;background-color:#76ac9412}
:is(html[data-theme=dark],html[data-theme=aurora]) .bs-tube-button.is-complete .bs-tube:before{border-color:#86ad9d}
:is(html[data-theme=dark],html[data-theme=aurora]) .bs-tube-button.is-hint-source .bs-tube{border-color:#bc96e0;box-shadow:0 0 0 4px #77608e50}
:is(html[data-theme=dark],html[data-theme=aurora]) .bs-tube-button.is-hint-target .bs-tube{border-color:#8dbba4;box-shadow:0 0 0 4px #618c7750}
:is(html[data-theme=dark],html[data-theme=aurora]) .bs-tube-badge{color:#a3b3ce;background:#34425d}
:is(html[data-theme=dark],html[data-theme=aurora]) .bs-tube-button.is-sealed .bs-tube{border-color:#7586a2;background:linear-gradient(120deg,#596d8f60,#34445dca);box-shadow:inset 2px 0 0 #cbdfff19}
:is(html[data-theme=dark],html[data-theme=aurora]) .bs-tube-button.is-sealed .bs-tube:before{border-color:#7f91af;background:#566a8b;box-shadow:0 2px 1px #101a2e66}
:is(html[data-theme=dark],html[data-theme=aurora]) .bs-tube-button.has-gate .bs-tube:before{border-color:var(--gate-color);background:color-mix(in srgb,var(--gate-color) 38%,#34415c)}
:is(html[data-theme=dark],html[data-theme=aurora]) .bs-ball.is-hidden{background:radial-gradient(circle at 30% 23%,#8a99b2,#576b89)!important;box-shadow:inset 0 -2px 3px #20335144}
:is(html[data-theme=dark],html[data-theme=aurora]) .bs-ball.is-hidden:after{color:#d4def0}
:is(html[data-theme=dark],html[data-theme=aurora]) .bs-tube-marker>i{box-shadow:0 0 0 2px #263146,0 0 0 3px #53627d}
:is(html[data-theme=dark],html[data-theme=aurora]) .bs-game .bs-tools .control-button{background:#2b3348;border-color:#44475e;color:#b8accd;box-shadow:none}
:is(html[data-theme=dark],html[data-theme=aurora]) .bs-game .bs-tools .control-button:hover:not(:disabled){background:#38364e;border-color:#6b597d;color:#d1bbe5}
:is(html[data-theme=dark],html[data-theme=aurora]) .bs-win{background:radial-gradient(ellipse at 50% 0,#35334c,#2b3044);border-color:#4a435e}
:is(html[data-theme=dark],html[data-theme=aurora]) .bs-win h3{color:#d3c4e4}
:is(html[data-theme=dark],html[data-theme=aurora]) .bs-win p{color:#b2a3c6}
:is(html[data-theme=dark],html[data-theme=aurora]) .bs-limit-track{background:#3d3d51}
:is(html[data-theme=dark],html[data-theme=aurora]) .bs-limit-text{color:#afa2c0}
:is(html[data-theme=dark],html[data-theme=aurora]) .bs-limit-notice{background:#442f3d;border-color:#654553}
:is(html[data-theme=dark],html[data-theme=aurora]) .bs-limit-notice strong{color:#deb0bd}
/* Puzzle and arcade boards retain distinct gameplay colours. */
:is(html[data-theme=dark],html[data-theme=aurora]) .g2048-board{background:#3d3b54}
:is(html[data-theme=dark],html[data-theme=aurora]) .g2048-cell{background:#33354b;color:#a8a0bd}
:is(html[data-theme=dark],html[data-theme=aurora]) .g2048-v2{background:#55516e;color:#f0e8fa}
:is(html[data-theme=dark],html[data-theme=aurora]) .g2048-v4{background:#6b5b85;color:#f0e8fa}
:is(html[data-theme=dark],html[data-theme=aurora]) .g2048-v8{background:#8565a8;color:#fff}
:is(html[data-theme=dark],html[data-theme=aurora]) .g2048-v16{background:#a17bbe;color:#fff}
:is(html[data-theme=dark],html[data-theme=aurora]) .g2048-v32{background:#aa87ce;color:#fff}
:is(html[data-theme=dark],html[data-theme=aurora]) .g2048-v64{background:#ba8ac7;color:#fff}
:is(html[data-theme=dark],html[data-theme=aurora]) .g2048-v128,:is(html[data-theme=dark],html[data-theme=aurora]) .g2048-v256,:is(html[data-theme=dark],html[data-theme=aurora]) .g2048-v512{background:#9b7c49;color:#fff2d6}
:is(html[data-theme=dark],html[data-theme=aurora]) .g2048-v1024,:is(html[data-theme=dark],html[data-theme=aurora]) .g2048-v2048,:is(html[data-theme=dark],html[data-theme=aurora]) .g2048-v4096{background:#a175ad;color:#fff}
:is(html[data-theme=dark],html[data-theme=aurora]) .g2048-overlay{background:#242b40ed;color:#e2d5ef}
:is(html[data-theme=dark],html[data-theme=aurora]) .gmemory-card{background:#744e6a;color:#eac9dc;box-shadow:0 4px 0 #523b50}
:is(html[data-theme=dark],html[data-theme=aurora]) .gmemory-card:hover:not(:disabled){background:#865b79}
:is(html[data-theme=dark],html[data-theme=aurora]) .gmemory-card.is-flipped{background:#4b3d58;box-shadow:inset 0 0 0 2px #785d82,0 3px 0 #312b42}
:is(html[data-theme=dark],html[data-theme=aurora]) .gmemory-face{color:#dbb5d1}
:is(html[data-theme=dark],html[data-theme=aurora]) .gmemory-card.is-matched{background:#354639;box-shadow:inset 0 0 0 1px #506851}
:is(html[data-theme=dark],html[data-theme=aurora]) .gmemory-result{background:#333146;border-color:#4c435e}
:is(html[data-theme=dark],html[data-theme=aurora]) .reaction-pad{background:#4b422e;border-color:#6f5b37;color:#e4c68d}
:is(html[data-theme=dark],html[data-theme=aurora]) .reaction-pad[data-phase=waiting]{background:#513544;border-color:#71475c;color:#e4b5ce}
:is(html[data-theme=dark],html[data-theme=aurora]) .reaction-pad[data-phase=ready]{background:#315139;border-color:#5c8052;color:#d6edbf}
:is(html[data-theme=dark],html[data-theme=aurora]) .reaction-pad[data-phase=early]{background:#574036;border-color:#865b43;color:#edc3a5}
:is(html[data-theme=dark],html[data-theme=aurora]) .reaction-pad[data-phase=result],:is(html[data-theme=dark],html[data-theme=aurora]) .reaction-pad[data-phase=complete]{background:#423550;border-color:#644b7a;color:#d6b6f0}
:is(html[data-theme=dark],html[data-theme=aurora]) .reaction-pad[data-phase=paused]{background:#343a4c;border-color:#4c536a;color:#b0b9d0}
:is(html[data-theme=dark],html[data-theme=aurora]) .reaction-round{background:#2b3247;border-color:#40455d;color:#8e9ab4}
:is(html[data-theme=dark],html[data-theme=aurora]) .reaction-round.is-current,:is(html[data-theme=dark],html[data-theme=aurora]) .reaction-round.is-done{background:#443754;border-color:#66517d;color:#cdb2e6}
:is(html[data-theme=dark],html[data-theme=aurora]) .ttt-modes{background:#2a3045}
:is(html[data-theme=dark],html[data-theme=aurora]) .ttt-mode{color:#a89abf}
:is(html[data-theme=dark],html[data-theme=aurora]) .ttt-mode[aria-pressed=true]{background:#493d5e;color:#d1b9ed}
:is(html[data-theme=dark],html[data-theme=aurora]) .ttt-turn{color:#b4a4c8}
:is(html[data-theme=dark],html[data-theme=aurora]) .ttt-board{background:#3c354f}
:is(html[data-theme=dark],html[data-theme=aurora]) .ttt-cell{background:#292e43}
:is(html[data-theme=dark],html[data-theme=aurora]) .ttt-cell:not(:disabled):hover{background:#48395c}
:is(html[data-theme=dark],html[data-theme=aurora]) .ttt-cell[data-mark=X]{color:#b997e2}
:is(html[data-theme=dark],html[data-theme=aurora]) .ttt-cell[data-mark=O]{color:#94c7a8}
:is(html[data-theme=dark],html[data-theme=aurora]) .ttt-cell.is-winning{background:#365246;box-shadow:inset 0 0 0 2px #709c7a}
:is(html[data-theme=dark],html[data-theme=aurora]) .rps-hand{background:#40374f;box-shadow:0 6px 0 #2d283e;color:#b59ecf}
:is(html[data-theme=dark],html[data-theme=aurora]) .rps-computer-hand{background:#384333;box-shadow:0 6px 0 #283226;color:#abbba0}
:is(html[data-theme=dark],html[data-theme=aurora]) .rps-label,:is(html[data-theme=dark],html[data-theme=aurora]) .rps-choice-name{color:#aa9bbd}
:is(html[data-theme=dark],html[data-theme=aurora]) .rps-result{background:#30364a;color:#b4a4c9}
:is(html[data-theme=dark],html[data-theme=aurora]) .rps-result[data-outcome=win]{background:#304438;color:#a4cb90}
:is(html[data-theme=dark],html[data-theme=aurora]) .rps-result[data-outcome=lose]{background:#4b3342;color:#d0a0b8}
:is(html[data-theme=dark],html[data-theme=aurora]) .rps-choice{background:#2d3248;color:#b0a2c5}
:is(html[data-theme=dark],html[data-theme=aurora]) .rps-choice:hover,:is(html[data-theme=dark],html[data-theme=aurora]) .rps-choice.is-selected{background:#463756;border-color:#8765a2;color:#cdb0e4}
:is(html[data-theme=dark],html[data-theme=aurora]) .snake-surface,:is(html[data-theme=dark],html[data-theme=aurora]) .snake-grid{background:#344731}
:is(html[data-theme=dark],html[data-theme=aurora]) .snake-cell{background:#3e5137}
:is(html[data-theme=dark],html[data-theme=aurora]) .snake-cell.snake-body{background:#8db96b;box-shadow:inset 0 -2px #6c954e}
:is(html[data-theme=dark],html[data-theme=aurora]) .snake-cell.snake-head{background:#b0d186}
:is(html[data-theme=dark],html[data-theme=aurora]) .snake-cell.snake-food{background:#df9aa9}
:is(html[data-theme=dark],html[data-theme=aurora]) .snake-cover{background:#263c2be8}
:is(html[data-theme=dark],html[data-theme=aurora]) .snake-cover strong{color:#c4dbb1}
:is(html[data-theme=dark],html[data-theme=aurora]) .snake-cover>span:last-child{color:#98b18d}
:is(html[data-theme=dark],html[data-theme=aurora]) .snake-game .snake-pad .control-button{background:#33452f;border-color:#4e6547;color:#b7ceaa}
/* Ice surfaces stay bright enough to read their rock and snow geometry. */
:is(html[data-theme=dark],html[data-theme=aurora]) .ice-stage-title{color:#b0cfdf}
:is(html[data-theme=dark],html[data-theme=aurora]) .ice-difficulty{background:#2a4053;border-color:#3d5a72;color:#9fc6de}
:is(html[data-theme=dark],html[data-theme=aurora]) .ice-level-picker{background:#25384c;border-color:#37516a}
:is(html[data-theme=dark],html[data-theme=aurora]) .ice-level-picker summary{color:#a3c1d3}
:is(html[data-theme=dark],html[data-theme=aurora]) .ice-level-button{background:#2d4054;border-color:#415d76;color:#9fbcd0}
:is(html[data-theme=dark],html[data-theme=aurora]) .ice-level-button.is-cleared{background:#354d40;color:#b0c6a6;border-color:#4d6852}
:is(html[data-theme=dark],html[data-theme=aurora]) .ice-level-button[aria-current=step]{background:#3d5770;color:#d0e8f4;border-color:#729bb9}
:is(html[data-theme=dark],html[data-theme=aurora]) .ice-board-shell{background:#435c73;box-shadow:0 5px 0 #2d455e,0 12px 30px #0a142d30}
:is(html[data-theme=dark],html[data-theme=aurora]) .ice-board-meta,:is(html[data-theme=dark],html[data-theme=aurora]) .ice-feedback{color:#99bacd}
:is(html[data-theme=dark],html[data-theme=aurora]) .ice-game .ice-tools .control-button,:is(html[data-theme=dark],html[data-theme=aurora]) .ice-game .ice-dpad .control-button{background:#2b4055;border-color:#405d76;color:#b1d1e5}
:is(html[data-theme=dark],html[data-theme=aurora]) .ice-game .ice-dpad .is-hint{background:#3b5b70;border-color:#8db6c9;box-shadow:0 0 0 3px #719db544;color:#d2e9ee}
:is(html[data-theme=dark],html[data-theme=aurora]) .ice-zoom-button{background:#2b4055;border-color:#476780;color:#9dc5dd}
:is(html[data-theme=dark],html[data-theme=aurora]) .ice-zoom-button[aria-pressed=true]{background:#41627a;color:#d4e8f3}
:is(html[data-theme=dark],html[data-theme=aurora]) .ice-win{background:#203b3deb}
:is(html[data-theme=dark],html[data-theme=aurora]) .ice-win h3{color:#beded2}
:is(html[data-theme=dark],html[data-theme=aurora]) .ice-win p{color:#99bfb4}
@media(max-width:1100px){.topbar:has(#appearance-controls){gap:22px}.topbar:has(#appearance-controls) .header-note{display:none}}
@media(max-width:650px){.topbar:has(#appearance-controls){gap:12px;flex-wrap:wrap;height:auto;min-height:72px;padding-top:15px;padding-bottom:14px}.topbar:has(#appearance-controls) nav{order:3;flex-basis:100%;justify-content:center;height:30px;gap:30px}.topbar:has(#appearance-controls) nav>a.active:after{bottom:-9px}.game-page .topbar:has(#appearance-controls){flex-wrap:nowrap;gap:10px}.game-page .topbar:has(#appearance-controls) .back-link{font-size:0;margin-left:0}.game-page .topbar:has(#appearance-controls) .back-link:before{content:'←';font-size:17px}.appearance-switch{padding:3px;border-radius:10px;gap:2px}.appearance-option{width:25px;height:25px}.appearance-option svg{width:14px;height:14px}}
@media(prefers-reduced-motion:reduce){.appearance-option{transition:none}html[data-theme=aurora] body{background-attachment:scroll}}
