/* Starry day/night palettes. Shared shell geometry lives in forest-theme.css. */
html:root[data-icon-theme="stars"] {
  --coast-bg:#f1f0f8;--coast-paper:#fdfbff;--coast-soft:#edebf7;--coast-sea:#e3dff4;
  --coast-line:#d8d4e8;--coast-ink:#33344e;--coast-muted:#6a6880;
  --coast-brand:#655195;--coast-hover:#51417c;--coast-coral:#a35a77;--coast-sand:#f1e5d0;
  --coast-shadow:0 4px 18px #4640710c;
  --forest-sidebar:#e8e6f2;--forest-on-brand:#fffcff;--forest-apricot:#ebdbee;
  --forest-blue:#e2edf5;--forest-lilac:#eee5f4;--forest-halo:#dcd6ef;
  --forest-popover-shadow:0 18px 56px #2d245233;
  --gw-bg:var(--coast-bg);--gw-paper:var(--coast-paper);--gw-ink:var(--coast-ink);
  --gw-muted:var(--coast-muted);--gw-brand:var(--coast-brand);--gw-line:var(--coast-line);
  --gw-green:var(--coast-sea);--gw-peach:var(--forest-apricot);--gw-gold:#c3a374;
  --cosmos-light:#9b90bf;--cosmos-orbit:#b8b0d4;--cosmos-halo:#e5dff0;
}
html:root[data-icon-theme="stars"][data-theme="dark"] {
  --coast-bg:#171b2e;--coast-paper:#23283f;--coast-soft:#2c314b;--coast-sea:#393854;
  --coast-line:#454b67;--coast-ink:#edecf7;--coast-muted:#b9bbd2;
  --coast-brand:#c5b6ef;--coast-hover:#ded2fa;--coast-coral:#e8aac1;--coast-sand:#473d33;
  --coast-shadow:0 4px 18px #090c202b;
  --forest-sidebar:#1e2338;--forest-on-brand:#261d3b;--forest-apricot:#43394f;
  --forest-blue:#2b3d52;--forest-lilac:#3c3351;--forest-halo:#38364f;
  --forest-popover-shadow:0 18px 56px #070a2170;--gw-gold:#dac391;
  --cosmos-light:#e2d1ff;--cosmos-orbit:#66618e;--cosmos-halo:#292941;
}
.cosmos-scene {display:none}
html[data-icon-theme="stars"] .cosmos-scene {display:block;width:100%;height:auto;overflow:visible;color:var(--cosmos-light)}
.cosmos-halo {fill:var(--cosmos-halo)}
.cosmos-orbits {stroke:var(--cosmos-orbit);opacity:.55}
html[data-icon-theme="stars"] .coast-welcome-scene>[data-forest-panorama],
html[data-icon-theme="stars"] .coast-welcome-scene .coast-weather,
html[data-icon-theme="stars"] .gw-hero-visual>.gw-world {display:none!important}
html[data-icon-theme="stars"] .coast-welcome-scene>.cosmos-scene {height:208px;min-height:0;align-self:center}
html[data-icon-theme="stars"] .coast-welcome[data-scene-expanded="true"] .cosmos-scene {height:clamp(260px,24vw,420px)}
html[data-icon-theme="stars"] .coast-welcome-scene {align-self:stretch;align-items:center}
html[data-icon-theme="stars"] .coast-welcome-scene .coast-scene-controls {left:auto;right:14px;top:12px}
html[data-icon-theme="stars"] .coast-welcome {
  background:radial-gradient(ellipse at 87% 25%,var(--coast-sea),transparent 56%),linear-gradient(105deg,var(--coast-paper),var(--coast-soft))!important;
}
html[data-icon-theme="stars"] .gw-hero-visual>.cosmos-scene {min-height:350px;max-height:540px}
html[data-icon-theme="stars"] .official-site :is(.gw-halo,.gw-invite-spark) {color:var(--cosmos-light);fill:var(--cosmos-halo)}
html[data-icon-theme="stars"] .official-site .gw-pet-button {background:var(--coast-paper);border-color:var(--coast-line);color:var(--coast-brand)}
html[data-icon-theme="stars"] .official-site .gw-play {background:var(--coast-soft)}
html[data-icon-theme="stars"] .official-site .gw-cat-card {background:var(--forest-blue);border-color:var(--coast-line)}
html[data-icon-theme="stars"] .official-site .gw-friends-card {background:var(--forest-lilac);border-color:var(--coast-line)}
html[data-icon-theme="stars"] .official-site :is(.gw-pill,.gw-cat-content p,.gw-card-bottom,.gw-game-links a) {color:var(--coast-muted)}
html[data-icon-theme="stars"] .official-site .gw-invitation:before,
html[data-icon-theme="stars"] .official-site .gw-invitation:after {border-color:var(--coast-line)}
html[data-icon-theme="stars"] .digital-store {
  --ds-awning:#b2a4d1;--ds-elephant:#bfcbe1;--ds-ear:#dfc5db;--ds-apron:#9289b1;
  --ds-art-stroke:#747492;--ds-rose:#cfaccb;
}
html[data-icon-theme="stars"][data-theme="dark"] .digital-store {
  --ds-awning:#746889;--ds-elephant:#96a6c4;--ds-ear:#b9a1ba;--ds-apron:#635d83;
  --ds-art-stroke:#b7b1d3;--ds-rose:#c5a6c4;
}
html[data-icon-theme="stars"] .digital-store .ds-hero,
html[data-icon-theme="stars"] .digital-store .ds-market-hero {
  background:radial-gradient(ellipse at 85% 0,var(--coast-sea),transparent 65%),var(--coast-soft);
}
html[data-icon-theme="stars"] .rc-page {
  --rc-leaf:#ada9d0;--rc-skin:#b7c7dc;--rc-pink:#d7bbd6;--rc-outline:#777193;--rc-aura:#b6a7dc;
}
html[data-icon-theme="stars"][data-theme="dark"] .rc-page {
  --rc-leaf:#706785;--rc-skin:#9bacc7;--rc-pink:#c2a1bf;--rc-outline:#49445f;
}
/* One compact, fully visible row; adding a theme never lengthens the account menu. */
.icon-theme-options {grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.coast-app .icon-theme-options button,.site-appearance .icon-theme-options button {flex-direction:column;gap:5px;min-height:66px;padding:8px 4px;font-size:11px;white-space:nowrap}
.icon-theme-options img {width:28px;height:28px}
.site-appearance-panel {width:286px}
@media(max-width:920px){html[data-icon-theme="stars"] .coast-welcome-scene>.cosmos-scene {height:160px}}
@media(max-width:600px){html[data-icon-theme="stars"] .gw-hero-visual>.cosmos-scene {min-height:250px}}
@media(prefers-reduced-motion:no-preference){
  html[data-icon-theme="stars"] .cosmos-craft {animation:cosmos-float 8s ease-in-out infinite}
  html[data-icon-theme="stars"] .cosmos-planet {animation:cosmos-drift 14s ease-in-out infinite;transform-origin:571px 119px}
  html[data-icon-theme="stars"] .cosmos-stars {animation:cosmos-twinkle 6s ease-in-out infinite}
  html[data-icon-theme="stars"] .cosmos-moon {animation:cosmos-float 11s ease-in-out infinite reverse}
}
@keyframes cosmos-float {0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes cosmos-drift {0%,100%{transform:rotate(-4deg)}50%{transform:rotate(5deg)}}
@keyframes cosmos-twinkle {0%,100%{opacity:.42}50%{opacity:1}}
[data-scene-paused="true"] .cosmos-scene *,[data-scene-offscreen="true"] .cosmos-scene *,[data-gw-running="false"] .cosmos-scene * {animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.cosmos-scene * {animation:none!important}}

/* A full-width window onto a continuous illustrated universe, not a scaled postcard. */
.space-panorama {display:none;overflow:hidden;color:var(--cosmos-light);pointer-events:none}
html[data-icon-theme="stars"] .coast-welcome-scene>.space-panorama {display:block;width:100%;height:240px;min-width:0;flex:1}
html[data-icon-theme="stars"] .coast-welcome-scene {min-width:0;overflow:hidden;position:relative}
html[data-icon-theme="stars"] .coast-app .coast-welcome {grid-template-columns:minmax(310px,.85fr) minmax(0,1.15fr)}
html[data-icon-theme="stars"] .coast-app .coast-welcome[data-scene-expanded="true"] {grid-template-columns:minmax(0,1fr)}
html[data-icon-theme="stars"] .coast-app .coast-welcome[data-scene-expanded="true"] .coast-welcome-copy {display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 28px}
html[data-icon-theme="stars"] .coast-app .coast-welcome[data-scene-expanded="true"] h1 {font-size:22px;white-space:nowrap}
html[data-icon-theme="stars"] .coast-welcome[data-scene-expanded="true"] .space-panorama {height:clamp(280px,25vw,440px)}
html[data-icon-theme="stars"] .coast-welcome-scene .coast-scene-controls {z-index:2;display:flex;gap:6px}
.sp-orbit-line {fill:none;stroke:var(--cosmos-orbit);stroke-width:1;opacity:.45}
.space-panorama .sp-caption {display:none}
.sp-planet-label {fill:var(--coast-muted);font:12px system-ui,sans-serif;letter-spacing:3px}
.sp-boast {fill:var(--coast-brand);font:600 15px system-ui,sans-serif}
.space-panorama .sp-motion {animation-play-state:paused;animation-delay:var(--sp-delay,0s)}
html[data-icon-theme="stars"] .space-panorama .sp-motion {animation-play-state:running}
@media(prefers-reduced-motion:no-preference){
 .sp-scroll {animation:sp-pan var(--sp-duration,140s) linear infinite;will-change:transform}
 .sp-back-track {animation:sp-background 280s linear infinite;will-change:transform}
 .sp-bob {animation:sp-bob 7s ease-in-out infinite}
 .sp-rock {animation:sp-rock 11s ease-in-out infinite}
 .sp-flight {animation:sp-flight 6s ease-in-out infinite}
 .sp-thrust {animation:sp-thrust .8s ease-in-out infinite;transform-origin:0 0}
 .sp-cape {animation:sp-cape 1.8s ease-in-out infinite;transform-origin:0 0}
 .sp-ear {animation:sp-ear 3.8s ease-in-out infinite;transform-origin:0 0}
 .sp-blink {animation:sp-blink 6.7s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
 .sp-wave {animation:sp-wave 3.4s ease-in-out infinite;transform-origin:0 0}
 .sp-dish,.sp-antenna {animation:sp-dish 5s ease-in-out infinite;transform-origin:0 0}
 .sp-panels {animation:sp-panels 10s ease-in-out infinite;transform-origin:0 0}
 .sp-signal {animation:sp-signal 2.4s ease-out infinite}
 .sp-tentacle {animation:sp-tentacle 2.8s ease-in-out infinite;transform-origin:0 0}
 .sp-planet-turn {animation:sp-turn 85s linear infinite;transform-origin:0 0}
 .sp-slow {animation-duration:110s}
 .sp-halo-turn {animation:sp-rock 14s ease-in-out infinite;transform-origin:0 0}
 .sp-bands {animation:sp-bands 24s ease-in-out infinite alternate}
 .sp-wheel {animation:sp-turn 3.6s linear infinite;transform-origin:0 0}
 .sp-rover-drive {animation:sp-rover-drive 9s ease-in-out infinite}
 .sp-comet {animation:sp-comet 9s ease-in-out infinite}
 .sp-twinkle,.sp-lights {animation:sp-twinkle 5.3s ease-in-out infinite}
 .sp-proud {animation:sp-proud 3.6s ease-in-out infinite;transform-origin:0 75px}
 .sp-look-up {animation:sp-look-up 6s ease-in-out infinite;transform-origin:0 -12px}
 .sp-flag {animation:sp-flag 3s ease-in-out infinite;transform-origin:0 0}
 .sp-earth-turn {animation:sp-bands 36s ease-in-out infinite alternate}
 .sp-speech {animation:sp-speech 8s ease-in-out infinite;transform-origin:0 30px}
 .sp-reverse {animation-direction:reverse}
}
@keyframes sp-pan {from{transform:translateX(0)}to{transform:translateX(var(--sp-distance,-4480px))}}
@keyframes sp-background {from{transform:translateX(0)}to{transform:translateX(-4480px)}}
@keyframes sp-bob {0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes sp-rock {0%,100%{transform:rotate(-5deg) translateY(0)}50%{transform:rotate(5deg) translateY(-6px)}}
@keyframes sp-flight {0%,100%{transform:translate(0,0) rotate(-3deg)}50%{transform:translate(15px,-13px) rotate(3deg)}}
@keyframes sp-thrust {0%,100%{transform:scaleX(.8);opacity:.6}50%{transform:scaleX(1.15);opacity:1}}
@keyframes sp-cape {0%,100%{transform:skewY(-6deg) scaleY(.94)}50%{transform:skewY(7deg) scaleY(1.08)}}
@keyframes sp-ear {0%,80%,100%{transform:scaleX(1)}90%{transform:scaleX(.8)}}
@keyframes sp-blink {0%,43%,47%,100%{transform:scaleY(1)}45%{transform:scaleY(.1)}}
@keyframes sp-wave {0%,40%,100%{transform:rotate(0)}15%,65%{transform:rotate(17deg)}28%,78%{transform:rotate(-12deg)}}
@keyframes sp-dish {0%,100%{transform:rotate(-9deg)}50%{transform:rotate(10deg)}}
@keyframes sp-panels {0%,100%{transform:scaleX(1)}50%{transform:scaleX(.85)}}
@keyframes sp-signal {0%,100%{opacity:.1;transform:translateY(0)}65%{opacity:.9;transform:translateY(-5px)}}
@keyframes sp-tentacle {0%,100%{transform:rotate(-12deg)}50%{transform:rotate(13deg)}}
@keyframes sp-turn {to{transform:rotate(360deg)}}
@keyframes sp-bands {from{transform:translateX(-30px)}to{transform:translateX(32px)}}
@keyframes sp-rover-drive {0%,100%{transform:translateX(-17px)}50%{transform:translate(17px,-2px)}}
@keyframes sp-comet {0%,100%{transform:translate(-10px,0);opacity:.5}50%{transform:translate(38px,-13px);opacity:1}}
@keyframes sp-twinkle {0%,100%{opacity:.35}50%{opacity:.95}}
@keyframes sp-proud {0%,100%{transform:rotate(-2deg)}50%{transform:rotate(3deg) translateY(-4px)}}
@keyframes sp-look-up {0%,100%{transform:rotate(0)}50%{transform:rotate(7deg)}}
@keyframes sp-flag {0%,100%{transform:skewY(-3deg) scaleX(.96)}50%{transform:skewY(4deg) scaleX(1)}}
@keyframes sp-speech {0%,100%{opacity:.65;transform:translateY(0) scale(.98)}50%{opacity:1;transform:translateY(-4px) scale(1.02)}}
[data-scene-paused="true"] .space-panorama .sp-motion,[data-scene-offscreen="true"] .space-panorama .sp-motion {animation-play-state:paused!important}
html[data-icon-theme="stars"] [data-forest-panorama] :is(.fp-motion,.kf-motion) {animation-play-state:paused!important}
@media(min-width:1800px){html[data-icon-theme="stars"] .coast-welcome-scene>.space-panorama {height:260px}}
@media(max-width:920px){html[data-icon-theme="stars"] .coast-welcome-scene>.space-panorama {height:190px}html[data-icon-theme="stars"] .coast-welcome[data-scene-expanded="true"] .space-panorama {height:260px}html[data-icon-theme="stars"] .coast-app .coast-welcome[data-scene-expanded="true"] .coast-welcome-copy {display:block;padding:18px 18px 8px}html[data-icon-theme="stars"] .coast-app .coast-welcome[data-scene-expanded="true"] h1 {white-space:normal}}
@media(prefers-reduced-motion:reduce){.space-panorama .sp-motion {animation:none!important}.space-panorama .sp-scroll {transform:translateX(var(--sp-static-position,0px))}}
