/* Classic themes, handcrafted one by one. html.cx is set by theme-classics.js while a classic is active;
   #cx-art is its moving art layer (three <i> layers) behind the page; .sn-<theme> is its station-page nav. */

/* ---------- shared groundwork ---------- */
#cx-art { display:none; }
html.cx #cx-art { display:block; position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden; }
html.cx #cx-art > i { position:absolute; display:block; }
html.cx.sn-on[data-mode] .station-rail-left { display:none !important; }
html.cx.sn-on[data-mode] .station-layout { grid-template-columns:minmax(0,1fr) 230px !important; }
html.cx.sn-on[data-mode] .station-layout:not(.has-right) { grid-template-columns:minmax(0,1fr) !important; }
@media (max-width:980px) { html.cx.sn-on[data-mode] .station-layout { grid-template-columns:minmax(0,1fr) !important; } }
html.cx .sn button { all:unset; box-sizing:border-box; cursor:pointer; }
html.cx .sn button:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
@media (prefers-reduced-motion:reduce) {
  html.cx *, html.cx *::before, html.cx *::after, html.cx #cx-art > i { animation:none !important; transition:none !important; }
}

/* =====================================================================================================
   PRISM — light through crystal. Outfit + Space Grotesk; cut-gem stations with an iridescent rim and a
   sweeping sheen; a spectrum of section bands; faceted page chips; holographic light turning behind.
   ===================================================================================================== */
html.cx[data-theme="prism"] {
  --pr-holo:conic-gradient(from var(--pr-a,0deg),#5ee2ca,#7cc8ff,#b9a6ff,#f0a6e0,#e9c896,#9be38a,#5ee2ca);
  --pr-glass:color-mix(in srgb,#152a35 72%,transparent); --pr-ink:#edf8f7; --pr-dim:#9fc3c2;
  --font:"Outfit","Avenir Next",system-ui,sans-serif; --pr-num:"Space Grotesk","Outfit",system-ui,sans-serif;
  --radius:4px; --radius-btn:4px;
}
html.cx[data-theme="prism"][data-mode="light"] { --pr-glass:color-mix(in srgb,#ffffff 70%,transparent); --pr-ink:#182f3a; --pr-dim:#4d6a72; }
@property --pr-a { syntax:'<angle>'; inherits:true; initial-value:0deg; }
html.cx[data-theme="prism"][data-mode][data-style] body { font-family:var(--font); background:radial-gradient(1000px 600px at 50% -20%,#16323d,transparent 70%),#0b1720; }
html.cx[data-theme="prism"][data-mode="light"][data-style] body { background:radial-gradient(1000px 600px at 50% -20%,#ffffff,transparent 70%),#eef4f4; }
/* Art: a holographic bloom turning slowly, and a soft beam of light across it. */
html.cx[data-theme="prism"] #cx-art .cx-a {
  width:120vmax; height:120vmax; left:50%; top:45%; margin:-60vmax 0 0 -60vmax; border-radius:50%;
  background:conic-gradient(from 0deg,#5ee2ca,#7cc8ff,#b9a6ff,#f0a6e0,#e9c896,#9be38a,#5ee2ca);
  filter:blur(110px); opacity:.2; animation:pr-turn 70s linear infinite;
}
html.cx[data-theme="prism"] #cx-art .cx-b {
  inset:-20% -40%; background:linear-gradient(115deg,transparent 40%,#ffffff12 48%,#ffffff24 50%,#ffffff12 52%,transparent 60%);
  animation:pr-beam 18s ease-in-out infinite alternate;
}
html.cx[data-theme="prism"][data-mode="light"] #cx-art .cx-a { opacity:.28; }
html.cx[data-theme="prism"][data-mode="light"] #cx-art .cx-b { background:linear-gradient(115deg,transparent 40%,#ffffff60 50%,transparent 60%); }
@keyframes pr-turn { to { transform:rotate(360deg); } }
@keyframes pr-beam { from { transform:translateX(-12%); } to { transform:translateX(12%); } }
@keyframes pr-spin { to { --pr-a:360deg; } }

html.cx[data-theme="prism"][data-mode][data-style] :is(h1,h2,h3,h4,.brand) { font-family:var(--font); font-weight:700; letter-spacing:-.02em; }
html.cx[data-theme="prism"][data-mode][data-style] .section-head h2 {
  font-size:clamp(34px,3.4vw,52px); font-weight:800; letter-spacing:-.035em; line-height:1.02;
  background:linear-gradient(100deg,#5ee2ca,#7cc8ff 25%,#b9a6ff 50%,#f0a6e0 70%,#e9c896 90%) 0 0/200% 100%; -webkit-background-clip:text; background-clip:text; color:transparent;
  animation:pr-text 9s ease-in-out infinite alternate;
}
html.cx[data-theme="prism"][data-mode="light"][data-style] .section-head h2 { background-image:linear-gradient(100deg,#0f9a86,#2f7fd1 25%,#6d4fe0 50%,#c1449f 72%,#a87c1f 92%); }
@keyframes pr-text { to { background-position:100% 0; } }
html.cx[data-theme="prism"][data-mode][data-style] :is(.stat .value,.sc-bal-num,.cal .day .num,.month-bar .title,td) { font-family:var(--pr-num); font-variant-numeric:tabular-nums; }

/* Chamfered crystal buttons with a holographic face. */
html.cx[data-theme="prism"][data-mode][data-style] :is(.btn,.seg button) {
  border-radius:0 !important; border:0 !important; font:600 13px var(--font); letter-spacing:.02em;
  clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);
  transition:filter .25s,transform .25s cubic-bezier(.22,1,.36,1),background-position .6s;
}
html.cx[data-theme="prism"][data-mode][data-style] :is(.btn.primary,.btn.info,.seg button.active) {
  color:#0b1720 !important; background:linear-gradient(110deg,#5ee2ca,#7cc8ff,#b9a6ff,#f0a6e0,#e9c896,#5ee2ca) 0 0/300% 100% !important; box-shadow:none !important;
}
html.cx[data-theme="prism"][data-mode][data-style] :is(.btn.primary,.btn.info):hover { background-position:100% 0 !important; }
html.cx[data-theme="prism"][data-mode][data-style] :is(.btn:not(.primary):not(.info),.seg button:not(.active)) {
  color:var(--pr-ink); background:linear-gradient(var(--pr-glass),var(--pr-glass)) padding-box,linear-gradient(110deg,#5ee2ca88,#b9a6ff88,#e9c89688) border-box !important; border:1px solid transparent !important; box-shadow:none !important;
}
html.cx[data-theme="prism"][data-mode][data-style] :is(.btn,.seg button):hover { transform:translateY(-1px); filter:brightness(1.08) saturate(1.2); }
html.cx[data-theme="prism"][data-mode][data-style] :is(.btn,.seg button):active { transform:translateY(1px) scale(.98); }
html.cx[data-theme="prism"][data-mode][data-style] :is(input,select,textarea) { border-radius:2px; border:1px solid #5ee2ca55; background:var(--pr-glass); }

/* Panels: glass with a hairline iridescent edge. */
html.cx[data-theme="prism"][data-mode][data-style] :is(.card,.stat,.panel):not(.station-card):not(.add-card) {
  border-radius:4px; border:1px solid transparent !important;
  background:linear-gradient(var(--pr-glass),var(--pr-glass)) padding-box,linear-gradient(130deg,#5ee2ca66,#b9a6ff44 40%,#e9c89666) border-box !important;
  backdrop-filter:blur(18px) saturate(1.3); box-shadow:0 20px 40px -24px #000c;
}

/* ---------- dashboard: cut-gem stations ---------- */
html.cx[data-theme="prism"][data-mode][data-style] .station-grid { display:flex !important; flex-wrap:wrap; justify-content:center; gap:30px !important; padding:24px 0 40px; }
html.cx[data-theme="prism"][data-mode][data-style] .station-grid > .station-card {
  --cut:26px; width:320px; min-height:0; box-sizing:border-box; padding:26px 28px 24px !important; position:relative; isolation:isolate;
  border:0 !important; border-radius:0 !important; color:var(--pr-ink);
  clip-path:polygon(var(--cut) 0,calc(100% - var(--cut)) 0,100% var(--cut),100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,var(--cut) 100%,0 calc(100% - var(--cut)),0 var(--cut));
  background:
    linear-gradient(105deg,transparent 30%,#ffffff2a 45%,#ffffff10 52%,transparent 64%) -160% 0/70% 100% no-repeat,
    linear-gradient(160deg,color-mix(in srgb,#5ee2ca 14%,var(--pr-glass)),var(--pr-glass) 45%,color-mix(in srgb,#b9a6ff 16%,var(--pr-glass))) !important;
  backdrop-filter:blur(16px) saturate(1.4); box-shadow:none !important;
  transition:background-position 1s cubic-bezier(.22,1,.36,1),transform .5s cubic-bezier(.22,1,.36,1);
  animation:pr-rise .8s cubic-bezier(.22,1,.36,1) backwards;
}
/* The iridescent rim: a holographic frame drawn just inside the facet edges. */
html.cx[data-theme="prism"][data-mode][data-style] .station-grid > .station-card::after {
  content:"" !important; display:block !important; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:var(--pr-holo); animation:pr-spin 12s linear infinite;
  -webkit-mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0); mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);
  padding:1.5px; clip-path:inherit; opacity:.9;
}
html.cx[data-theme="prism"][data-mode][data-style] .station-grid > .station-card::before { display:none !important; }
html.cx[data-theme="prism"][data-mode][data-style] .station-grid > .station-card:nth-child(2) { animation-delay:.08s; }
html.cx[data-theme="prism"][data-mode][data-style] .station-card :is(h3,.sc-bal-num,.ov-v) { color:var(--pr-ink) !important; }
html.cx[data-theme="prism"][data-mode][data-style] .station-card :is(.meta,.sc-bal-label,.sc-bal-suffix,.ov-l,.muted) { color:var(--pr-dim) !important; }
html.cx[data-theme="prism"][data-mode][data-style] .station-card h3 { font-size:22px; font-weight:700; letter-spacing:-.02em; }
html.cx[data-theme="prism"][data-mode][data-style] .station-card .sc-head { margin-bottom:10px; }
html.cx[data-theme="prism"][data-mode][data-style] .station-card .sc-badge { font:600 10px var(--pr-num); letter-spacing:.14em; text-transform:uppercase; color:#0b1720; border:0; border-radius:0; padding:4px 8px; background:linear-gradient(110deg,#5ee2ca,#b9a6ff); clip-path:polygon(5px 0,100% 0,100% calc(100% - 5px),calc(100% - 5px) 100%,0 100%,0 5px); }
html.cx[data-theme="prism"][data-mode][data-style] .station-card .sc-balance { background:none !important; border:0 !important; box-shadow:none !important; padding:6px 0 12px; margin:0; border-bottom:1px solid #5ee2ca33 !important; }
html.cx[data-theme="prism"][data-mode][data-style] .station-card .sc-bal-num { font-size:30px; font-weight:600; letter-spacing:-.02em; background:linear-gradient(100deg,#edf8f7,#c6f5ec 60%,#e3d9ff); -webkit-background-clip:text; background-clip:text; color:transparent !important; }
html.cx[data-theme="prism"][data-mode="light"][data-style] .station-card .sc-bal-num { background-image:linear-gradient(100deg,#182f3a,#0f6d62 60%,#4b3a9e); }
html.cx[data-theme="prism"][data-mode][data-style] .station-card .sc-bal-label { font:500 10px var(--pr-num); letter-spacing:.18em; text-transform:uppercase; }
html.cx[data-theme="prism"][data-mode][data-style] .station-card .sc-prices { margin:12px 0 10px; gap:6px; }
html.cx[data-theme="prism"][data-mode][data-style] .station-card .gp { font:600 12px var(--pr-num); border-radius:0; border:0 !important; padding:4px 9px; background:#5ee2ca1c !important; color:var(--pr-ink) !important; clip-path:polygon(5px 0,100% 0,100% calc(100% - 5px),calc(100% - 5px) 100%,0 100%,0 5px); }
html.cx[data-theme="prism"][data-mode][data-style] .station-card .gp-prem { background:#b9a6ff22 !important; }
html.cx[data-theme="prism"][data-mode][data-style] .station-card .gp-dsl { background:#e9c89622 !important; }
html.cx[data-theme="prism"][data-mode][data-style] .station-card .sc-rows { border:0; margin:0; padding:0; }
html.cx[data-theme="prism"][data-mode][data-style] .station-card .ov-row { border:0; padding:2px 0; font-size:12px; }
html.cx[data-theme="prism"][data-mode][data-style] .station-grid > .add-card {
  width:150px; min-height:0; height:150px; padding:0 !important; display:flex !important; align-items:center; justify-content:center; border:0 !important; border-radius:0 !important;
  clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%); background:linear-gradient(135deg,#5ee2ca33,#b9a6ff33) !important; box-shadow:none !important; font:600 13px var(--font); color:var(--pr-ink) !important;
}
html.cx[data-theme="prism"][data-mode][data-style] .station-grid > .add-card::before,html.cx[data-theme="prism"][data-mode][data-style] .station-grid > .add-card::after { display:none !important; }
@keyframes pr-rise { from { transform:translateY(24px) rotateX(18deg); opacity:0; filter:hue-rotate(90deg); } to { transform:none; opacity:1; filter:none; } }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  html.cx[data-theme="prism"][data-mode][data-style] .station-grid > .station-card:hover { background-position:260% 0,0 0 !important; transform:translateY(-6px) perspective(900px) rotateX(4deg) rotateY(-5deg); }
  html.cx[data-theme="prism"][data-mode][data-style] .station-grid > .add-card:hover { transform:rotate(45deg) scale(1.05); transition:transform .6s cubic-bezier(.22,1,.36,1); }
}

/* ---------- station page: the spectrum ---------- */
.sn-prism { margin:4px 0 22px; }
.sn-prism .pr-secs { display:flex; gap:0; border-radius:2px; overflow:hidden; box-shadow:0 14px 30px -20px #000c; }
html.cx .sn-prism button.pr-sec {
  flex:1 1 0; min-width:0; display:flex; align-items:center; gap:10px; padding:16px 18px; position:relative;
  font:600 14px var(--font); color:#0b1720;
  background:linear-gradient(180deg,color-mix(in srgb,var(--c) 92%,#fff),var(--c));
  transition:flex-grow .55s cubic-bezier(.22,1,.36,1),filter .3s;
  animation:pr-band .6s cubic-bezier(.22,1,.36,1) calc(var(--n) * 60ms) backwards;
}
html.cx .sn-prism button.pr-sec[aria-selected="true"] { flex-grow:2.2; }
html.cx .sn-prism button.pr-sec[aria-selected="false"] { filter:saturate(.75) brightness(.86); }
html.cx .sn-prism button.pr-sec:hover { filter:none; }
.sn-prism .pr-ico { font-size:15px; opacity:.75; }
html.cx .sn-prism button.pr-sec[aria-selected="true"]::after { content:""; position:absolute; left:50%; bottom:-1px; width:14px; height:8px; background:var(--bg); clip-path:polygon(50% 0,100% 100%,0 100%); transform:translateX(-50%); }
@keyframes pr-band { from { transform:scaleY(0); transform-origin:bottom; opacity:0; } to { transform:none; opacity:1; } }
.sn-prism .pr-tray { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.sn-prism .pr-tray.in > * { animation:pr-facet .45s cubic-bezier(.22,1,.36,1) calc(var(--n) * 40ms) backwards; }
@keyframes pr-facet { from { transform:translateY(8px) scale(.96); opacity:0; } to { transform:none; opacity:1; } }
html.cx .sn-prism button.pr-pg {
  display:inline-flex; align-items:center; gap:8px; padding:11px 18px; font:500 14px var(--font); color:var(--pr-ink);
  clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);
  background:linear-gradient(var(--pr-glass),var(--pr-glass)) padding-box,linear-gradient(130deg,var(--c),transparent 60%) border-box; border:1px solid transparent;
  transition:transform .3s cubic-bezier(.22,1,.36,1),background .3s;
}
html.cx .sn-prism button.pr-pg:hover { transform:translateY(-2px); background:linear-gradient(color-mix(in srgb,var(--c) 18%,var(--pr-glass)),color-mix(in srgb,var(--c) 18%,var(--pr-glass))) padding-box,linear-gradient(130deg,var(--c),transparent 70%) border-box; }
html.cx .sn-prism button.pr-pg[aria-current="page"] { color:#0b1720; font-weight:700; background:linear-gradient(110deg,var(--c),color-mix(in srgb,var(--c) 50%,#fff)) padding-box,linear-gradient(var(--c),var(--c)) border-box; }

/* Month bar, stats, calendar */
html.cx[data-theme="prism"][data-mode][data-style] .month-bar .title { font-size:24px; font-weight:600; letter-spacing:-.02em; }
html.cx[data-theme="prism"][data-mode][data-style] .station-stats-side .stat {
  border-radius:0 !important; clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px);
}
html.cx[data-theme="prism"][data-mode][data-style] .stat .label { font:500 10px var(--pr-num); letter-spacing:.18em; text-transform:uppercase; color:var(--pr-dim); }
html.cx[data-theme="prism"][data-mode][data-style] .stat .value { font-size:24px; font-weight:600; letter-spacing:-.02em; }
html.cx[data-theme="prism"][data-mode][data-style] .cal .dow { font:500 11px var(--pr-num); letter-spacing:.2em; color:var(--pr-dim); }
html.cx[data-theme="prism"][data-mode][data-style] .cal .day:not(.empty) {
  border-radius:0; border:1px solid #5ee2ca26 !important; background:var(--pr-glass) !important; box-shadow:none !important;
  clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);
  transition:transform .35s cubic-bezier(.22,1,.36,1),background .3s;
}
html.cx[data-theme="prism"][data-mode][data-style] .cal .day.empty { background:transparent !important; border:0 !important; }
html.cx[data-theme="prism"][data-mode][data-style] .cal .day .badge { border-radius:0; background:#5ee2ca1f; color:inherit; border:0; font-family:var(--pr-num); }
html.cx[data-theme="prism"][data-mode][data-style] .cal .day.today { background:linear-gradient(135deg,#5ee2ca,#7cc8ff 35%,#b9a6ff 65%,#f0a6e0) !important; }
html.cx[data-theme="prism"][data-mode][data-style] .cal .day.today :is(.num,.muted,div,span) { color:#0b1720 !important; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  html.cx[data-theme="prism"][data-mode][data-style] .cal .day:not(.empty):not(.today):hover { transform:translateY(-3px); background:color-mix(in srgb,#5ee2ca 12%,var(--pr-glass)) !important; }
}
@media (max-width:760px) {
  .sn-prism .pr-secs { flex-wrap:wrap; }
  html.cx .sn-prism button.pr-sec { flex:1 1 30%; padding:12px; font-size:13px; }
  html.cx .sn-prism button.pr-sec[aria-selected="true"] { flex-grow:1; }
}

/* =====================================================================================================
   OCEAN — the tide. Sora + Avenir; porthole stations with a brass rim and water that sloshes on hover;
   a tide line where section buoys bob; sea-glass page pebbles; layered waves drifting along the bottom.
   ===================================================================================================== */
html.cx[data-theme="ocean"] {
  --oc-teal:#14b8a6; --oc-sky:#38bdf8; --oc-foam:#e2f4fb; --oc-deep:#04141c; --oc-ink:#e2f4fb; --oc-dim:#8fb9c9;
  --oc-glass:color-mix(in srgb,#0c2c40 82%,transparent); --oc-brass:#c9a66b;
  --font:"Avenir Next",Avenir,"Sora",system-ui,sans-serif; --oc-display:"Sora","Avenir Next",system-ui,sans-serif;
  --radius:20px; --radius-btn:999px;
}
html.cx[data-theme="ocean"][data-mode="light"] { --oc-ink:#0c3a44; --oc-dim:#4b7480; --oc-glass:#ffffffd9; --oc-deep:#e9f6fa; }
html.cx[data-theme="ocean"][data-mode][data-style] body { font-family:var(--font); background:linear-gradient(180deg,#06202c 0,#04141c 55%,#021018 100%); }
html.cx[data-theme="ocean"][data-mode="light"][data-style] body { background:linear-gradient(180deg,#f2fbfd 0,#e3f4f9 60%,#cdeaf2 100%); }
html.cx[data-theme="ocean"] #cx-art > i { left:-50%; width:200%; bottom:0; background-repeat:repeat-x; background-size:50% 100%; }
html.cx[data-theme="ocean"] #cx-art .cx-a { height:150px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 140' preserveAspectRatio='none'%3E%3Cpath d='M0 70.0 L0 70.0 L20 75.8 L40 81.4 L60 86.5 L80 90.8 L100 94.2 L120 96.6 L140 97.8 L160 97.8 L180 96.6 L200 94.2 L220 90.8 L240 86.5 L260 81.4 L280 75.8 L300 70.0 L320 64.2 L340 58.6 L360 53.5 L380 49.2 L400 45.8 L420 43.4 L440 42.2 L460 42.2 L480 43.4 L500 45.8 L520 49.2 L540 53.5 L560 58.6 L580 64.2 L600 70.0 L620 75.8 L640 81.4 L660 86.5 L680 90.8 L700 94.2 L720 96.6 L740 97.8 L760 97.8 L780 96.6 L800 94.2 L820 90.8 L840 86.5 L860 81.4 L880 75.8 L900 70.0 L920 64.2 L940 58.6 L960 53.5 L980 49.2 L1000 45.8 L1020 43.4 L1040 42.2 L1060 42.2 L1080 43.4 L1100 45.8 L1120 49.2 L1140 53.5 L1160 58.6 L1180 64.2 L1200 70.0 L1200 140 L0 140 Z' fill='%230e7490'/%3E%3C/svg%3E"); opacity:.30; animation:oc-roll 26s linear infinite; }
html.cx[data-theme="ocean"] #cx-art .cx-b { height:120px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 140' preserveAspectRatio='none'%3E%3Cpath d='M0 70.0 L0 70.0 L20 74.6 L40 78.9 L60 82.9 L80 86.3 L100 89.1 L120 90.9 L140 91.9 L160 91.9 L180 90.9 L200 89.1 L220 86.3 L240 82.9 L260 78.9 L280 74.6 L300 70.0 L320 65.4 L340 61.1 L360 57.1 L380 53.7 L400 50.9 L420 49.1 L440 48.1 L460 48.1 L480 49.1 L500 50.9 L520 53.7 L540 57.1 L560 61.1 L580 65.4 L600 70.0 L620 74.6 L640 78.9 L660 82.9 L680 86.3 L700 89.1 L720 90.9 L740 91.9 L760 91.9 L780 90.9 L800 89.1 L820 86.3 L840 82.9 L860 78.9 L880 74.6 L900 70.0 L920 65.4 L940 61.1 L960 57.1 L980 53.7 L1000 50.9 L1020 49.1 L1040 48.1 L1060 48.1 L1080 49.1 L1100 50.9 L1120 53.7 L1140 57.1 L1160 61.1 L1180 65.4 L1200 70.0 L1200 140 L0 140 Z' fill='%2314b8a6'/%3E%3C/svg%3E"); opacity:.32; animation:oc-roll 19s linear infinite reverse; }
html.cx[data-theme="ocean"] #cx-art .cx-c { height:95px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 140' preserveAspectRatio='none'%3E%3Cpath d='M0 70.0 L0 70.0 L20 73.3 L40 76.5 L60 79.4 L80 81.9 L100 83.9 L120 85.2 L140 85.9 L160 85.9 L180 85.2 L200 83.9 L220 81.9 L240 79.4 L260 76.5 L280 73.3 L300 70.0 L320 66.7 L340 63.5 L360 60.6 L380 58.1 L400 56.1 L420 54.8 L440 54.1 L460 54.1 L480 54.8 L500 56.1 L520 58.1 L540 60.6 L560 63.5 L580 66.7 L600 70.0 L620 73.3 L640 76.5 L660 79.4 L680 81.9 L700 83.9 L720 85.2 L740 85.9 L760 85.9 L780 85.2 L800 83.9 L820 81.9 L840 79.4 L860 76.5 L880 73.3 L900 70.0 L920 66.7 L940 63.5 L960 60.6 L980 58.1 L1000 56.1 L1020 54.8 L1040 54.1 L1060 54.1 L1080 54.8 L1100 56.1 L1120 58.1 L1140 60.6 L1160 63.5 L1180 66.7 L1200 70.0 L1200 140 L0 140 Z' fill='%2338bdf8'/%3E%3C/svg%3E"); opacity:.28; animation:oc-roll 14s linear infinite; }
html.cx[data-theme="ocean"][data-mode="light"] #cx-art > i { opacity:.22; }
@keyframes oc-roll { to { transform:translateX(25%); } }
@keyframes oc-bob { 0%,100% { transform:translateY(0) rotate(-2deg); } 50% { transform:translateY(-5px) rotate(2deg); } }

html.cx[data-theme="ocean"][data-mode][data-style] :is(h1,h2,h3,h4,.brand) { font-family:var(--oc-display); font-weight:600; letter-spacing:-.02em; }
html.cx[data-theme="ocean"][data-mode][data-style] .section-head h2 { font-size:clamp(32px,3.2vw,48px); font-weight:700; color:var(--oc-ink); }
html.cx[data-theme="ocean"][data-mode][data-style] .section-head h2::after { content:""; display:block; width:120px; height:10px; margin-top:8px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 60' preserveAspectRatio='none'%3E%3Cpath d='M0 30.0 L0 30.0 L20 34.1 L40 37.4 L60 39.5 L80 39.9 L100 38.7 L120 35.9 L140 32.1 L160 27.9 L180 24.1 L200 21.3 L220 20.1 L240 20.5 L260 22.6 L280 25.9 L300 30.0 L320 34.1 L340 37.4 L360 39.5 L380 39.9 L400 38.7 L420 35.9 L440 32.1 L460 27.9 L480 24.1 L500 21.3 L520 20.1 L540 20.5 L560 22.6 L580 25.9 L600 30.0 L600 60 L0 60 Z' fill='%2338bdf8'/%3E%3C/svg%3E") center/60px 100% repeat-x; opacity:.9; }
html.cx[data-theme="ocean"][data-mode][data-style] :is(.stat .value,.sc-bal-num,.cal .day .num,.month-bar .title) { font-family:var(--oc-display); font-variant-numeric:tabular-nums; }

html.cx[data-theme="ocean"][data-mode][data-style] :is(.btn,.seg button) { border-radius:999px; font:600 13px var(--oc-display); text-transform:none; letter-spacing:0; transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .3s,background .3s; }
html.cx[data-theme="ocean"][data-mode][data-style] :is(.btn.primary,.btn.info,.seg button.active) {
  color:#04141c !important; border:0 !important; background:linear-gradient(135deg,#5eead4,#14b8a6 45%,#38bdf8) !important;
  box-shadow:inset 0 1px 0 #ffffff70,0 10px 22px -10px #14b8a6 !important;
}
html.cx[data-theme="ocean"][data-mode][data-style] :is(.btn:not(.primary):not(.info),.seg button:not(.active)) { color:var(--oc-ink); border:1px solid #38bdf844 !important; background:#38bdf812 !important; box-shadow:none !important; }
html.cx[data-theme="ocean"][data-mode][data-style] :is(.btn,.seg button):hover { transform:translateY(-2px); }
html.cx[data-theme="ocean"][data-mode][data-style] :is(.btn,.seg button):active { transform:scale(.96); }
html.cx[data-theme="ocean"][data-mode][data-style] :is(input,select,textarea) { border-radius:14px; border:1px solid #38bdf844; background:var(--oc-glass); }
html.cx[data-theme="ocean"][data-mode][data-style] :is(.card,.stat,.panel):not(.station-card):not(.add-card) {
  border-radius:22px !important; border:1px solid #38bdf826 !important; background:var(--oc-glass) !important; backdrop-filter:blur(14px);
  box-shadow:inset 0 1px 0 #ffffff12,0 24px 50px -30px #000 !important;
}

/* ---------- dashboard: porthole stations ---------- */
html.cx[data-theme="ocean"][data-mode][data-style] .station-grid { display:flex !important; flex-wrap:wrap; justify-content:center; gap:40px !important; padding:24px 0 60px; }
html.cx[data-theme="ocean"][data-mode][data-style] .station-grid > .station-card {
  width:290px; height:290px; min-height:0; box-sizing:border-box; padding:46px 36px 30px !important; border-radius:50% !important; position:relative; overflow:hidden; isolation:isolate;
  display:flex !important; flex-direction:column; align-items:center; text-align:center; color:var(--oc-foam);
  border:10px solid var(--oc-brass) !important;
  background:radial-gradient(70% 60% at 35% 25%,#1d6f8a,#0b3a50 60%,#062433) !important;
  box-shadow:inset 0 0 0 2px #00000055,inset 0 0 0 5px #e8cf9a55,inset 0 12px 30px #0008,0 0 0 2px #8b6a35,0 20px 40px -14px #000c !important;
  animation:oc-surface .8s cubic-bezier(.22,1,.36,1) backwards;
}
html.cx[data-theme="ocean"][data-mode][data-style] .station-grid > .station-card:nth-child(2) { animation-delay:.1s; }
/* Water inside the window: a wave that rises a little and sloshes when you point at it. */
html.cx[data-theme="ocean"][data-mode][data-style] .station-grid > .station-card::after {
  content:"" !important; display:block !important; position:absolute; left:-50%; right:-50%; bottom:-6%; height:34%; z-index:-1;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 140' preserveAspectRatio='none'%3E%3Cpath d='M0 70.0 L0 70.0 L20 74.6 L40 78.9 L60 82.9 L80 86.3 L100 89.1 L120 90.9 L140 91.9 L160 91.9 L180 90.9 L200 89.1 L220 86.3 L240 82.9 L260 78.9 L280 74.6 L300 70.0 L320 65.4 L340 61.1 L360 57.1 L380 53.7 L400 50.9 L420 49.1 L440 48.1 L460 48.1 L480 49.1 L500 50.9 L520 53.7 L540 57.1 L560 61.1 L580 65.4 L600 70.0 L620 74.6 L640 78.9 L660 82.9 L680 86.3 L700 89.1 L720 90.9 L740 91.9 L760 91.9 L780 90.9 L800 89.1 L820 86.3 L840 82.9 L860 78.9 L880 74.6 L900 70.0 L920 65.4 L940 61.1 L960 57.1 L980 53.7 L1000 50.9 L1020 49.1 L1040 48.1 L1060 48.1 L1080 49.1 L1100 50.9 L1120 53.7 L1140 57.1 L1160 61.1 L1180 65.4 L1200 70.0 L1200 140 L0 140 Z' fill='%2314b8a6'/%3E%3C/svg%3E") 0 0/50% 100% repeat-x; opacity:.55; animation:oc-roll 9s linear infinite; transition:height .8s cubic-bezier(.22,1,.36,1);
}
html.cx[data-theme="ocean"][data-mode][data-style] .station-grid > .station-card::before {
  content:"" !important; display:block !important; position:absolute; inset:10% 46% auto 14%; height:22%; border-radius:50%; z-index:1; pointer-events:none;
  background:radial-gradient(closest-side,#ffffff38,transparent); transform:rotate(-30deg); opacity:1;
}
html.cx[data-theme="ocean"][data-mode][data-style] .station-card :is(h3,.meta,.sc-bal-num,.sc-bal-label,.sc-bal-suffix,.ov-l,.ov-v,.gp,.muted) { color:var(--oc-foam) !important; }
html.cx[data-theme="ocean"][data-mode][data-style] .station-card .sc-head { flex-direction:column; align-items:center; gap:4px; margin:0; }
html.cx[data-theme="ocean"][data-mode][data-style] .station-card h3 { font-size:19px; font-weight:600; line-height:1.15; }
html.cx[data-theme="ocean"][data-mode][data-style] .station-card .meta { font-size:12px; opacity:.75; }
html.cx[data-theme="ocean"][data-mode][data-style] .station-card .sc-badge { display:none; }
html.cx[data-theme="ocean"][data-mode][data-style] .station-card .sc-balance { background:none !important; border:0 !important; box-shadow:none !important; padding:10px 0 6px; margin:0; }
html.cx[data-theme="ocean"][data-mode][data-style] .station-card .sc-bal-num { font-size:26px; font-weight:600; }
html.cx[data-theme="ocean"][data-mode][data-style] .station-card .sc-bal-label { font:500 9px var(--oc-display); letter-spacing:.18em; text-transform:uppercase; opacity:.75; }
html.cx[data-theme="ocean"][data-mode][data-style] .station-card .sc-prices { justify-content:center; gap:5px; margin:2px 0 6px; }
html.cx[data-theme="ocean"][data-mode][data-style] .station-card .gp { font:600 11px var(--oc-display); border-radius:999px; border:0 !important; background:#ffffff1f !important; padding:3px 8px; }
html.cx[data-theme="ocean"][data-mode][data-style] .station-card .sc-rows { border:0; margin:0; padding:0; }
html.cx[data-theme="ocean"][data-mode][data-style] .station-card :is(.ov-row:first-child,.ov-l) { display:none; }
html.cx[data-theme="ocean"][data-mode][data-style] .station-card .ov-row { border:0; justify-content:center; font-size:11px; }
html.cx[data-theme="ocean"][data-mode][data-style] .station-grid > .add-card {
  width:130px; height:130px; min-height:0; padding:0 !important; align-self:center; display:flex !important; align-items:center; justify-content:center; text-align:center;
  border-radius:50% !important; border:2px dashed #38bdf866 !important; background:#38bdf80f !important; box-shadow:none !important; font:600 12px var(--oc-display); color:var(--oc-sky) !important;
}
html.cx[data-theme="ocean"][data-mode][data-style] .station-grid > .add-card::before,html.cx[data-theme="ocean"][data-mode][data-style] .station-grid > .add-card::after { display:none !important; }
@keyframes oc-surface { from { transform:translateY(60px) scale(.9); opacity:0; } to { transform:none; opacity:1; } }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  html.cx[data-theme="ocean"][data-mode][data-style] .station-grid > .station-card:hover { transform:translateY(-6px) rotate(-2deg); transition:transform .6s cubic-bezier(.34,1.56,.64,1); }
  html.cx[data-theme="ocean"][data-mode][data-style] .station-grid > .station-card:hover::after { height:48%; animation-duration:3.5s; }
  html.cx[data-theme="ocean"][data-mode][data-style] .station-grid > .add-card:hover { animation:oc-bob 2.4s ease-in-out infinite; }
}

/* ---------- station page: the tide line ---------- */
.sn-ocean { margin:6px 0 22px; position:relative; }
.sn-ocean .oc-secs { display:flex; flex-wrap:wrap; gap:6px 26px; padding:14px 10px 26px; position:relative; overflow:hidden; }
.sn-ocean .oc-secs::after { content:""; position:absolute; left:-30%; right:0; bottom:4px; height:18px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 60' preserveAspectRatio='none'%3E%3Cpath d='M0 30.0 L0 30.0 L20 34.1 L40 37.4 L60 39.5 L80 39.9 L100 38.7 L120 35.9 L140 32.1 L160 27.9 L180 24.1 L200 21.3 L220 20.1 L240 20.5 L260 22.6 L280 25.9 L300 30.0 L320 34.1 L340 37.4 L360 39.5 L380 39.9 L400 38.7 L420 35.9 L440 32.1 L460 27.9 L480 24.1 L500 21.3 L520 20.1 L540 20.5 L560 22.6 L580 25.9 L600 30.0 L600 60 L0 60 Z' fill='%2338bdf8'/%3E%3C/svg%3E") 0 0/120px 100% repeat-x; opacity:.55; animation:oc-roll 10s linear infinite; }
html.cx .sn-ocean button.oc-sec { display:flex; flex-direction:column; align-items:center; gap:6px; font:600 13px var(--oc-display); color:var(--oc-dim); position:relative; z-index:1; transition:color .3s; }
.sn-ocean .oc-ico {
  display:grid; place-items:center; width:46px; height:46px; border-radius:50%; font-size:20px; position:relative;
  background:radial-gradient(circle at 35% 30%,#ffffffcc,transparent 30%),linear-gradient(180deg,var(--c) 0 50%,#f8fafc 50% 62%,var(--c) 62%);
  box-shadow:0 8px 14px -6px #000a,inset 0 -4px 6px #0003;
  animation:oc-bob 3.2s ease-in-out calc(var(--n) * -.5s) infinite;
}
html.cx .sn-ocean button.oc-sec[aria-selected="true"] { color:var(--oc-ink); }
html.cx .sn-ocean button.oc-sec[aria-selected="true"] .oc-ico { box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 35%,transparent),0 10px 18px -6px #000c; transform:translateY(-6px); }
html.cx .sn-ocean button.oc-sec:hover .oc-ico { animation-duration:1.4s; }
.sn-ocean .oc-tray { display:flex; flex-wrap:wrap; gap:10px; margin-top:12px; }
.sn-ocean .oc-tray.in > * { animation:oc-wash .55s cubic-bezier(.22,1,.36,1) calc(var(--n) * 45ms) backwards; }
@keyframes oc-wash { from { transform:translateX(-18px); opacity:0; } to { transform:none; opacity:1; } }
html.cx .sn-ocean button.oc-pg {
  display:inline-flex; align-items:center; gap:8px; padding:10px 18px; font:500 14px var(--oc-display); color:var(--oc-ink);
  border-radius:58% 42% 52% 48% / 55% 50% 50% 45%; background:linear-gradient(160deg,color-mix(in srgb,var(--c) 28%,transparent),color-mix(in srgb,var(--c) 10%,transparent));
  border:1px solid color-mix(in srgb,var(--c) 40%,transparent); backdrop-filter:blur(8px);
  transition:transform .35s cubic-bezier(.34,1.56,.64,1),background .3s,border-radius .6s;
}
html.cx .sn-ocean button.oc-pg:hover { transform:translateY(-3px); border-radius:46% 54% 44% 56% / 50% 58% 42% 50%; }
html.cx .sn-ocean button.oc-pg[aria-current="page"] { color:#04141c; font-weight:600; background:linear-gradient(135deg,#5eead4,var(--c)); border-color:transparent; }

html.cx[data-theme="ocean"][data-mode][data-style] .month-bar .title { font-size:24px; font-weight:600; }
html.cx[data-theme="ocean"][data-mode][data-style] .stat .label { font:600 10px var(--oc-display); letter-spacing:.14em; text-transform:uppercase; color:var(--oc-dim); }
html.cx[data-theme="ocean"][data-mode][data-style] .stat .value { font-size:24px; font-weight:600; }
html.cx[data-theme="ocean"][data-mode][data-style] .station-stats-side .stat { border-radius:18px !important; border-left:0 !important; }
html.cx[data-theme="ocean"][data-mode][data-style] .cal .dow { font:600 11px var(--oc-display); letter-spacing:.14em; color:var(--oc-dim); }
html.cx[data-theme="ocean"][data-mode][data-style] .cal .day:not(.empty) { border-radius:18px !important; border:1px solid #38bdf81f !important; background:var(--oc-glass) !important; box-shadow:none !important; overflow:hidden; position:relative; transition:transform .4s cubic-bezier(.22,1,.36,1); }
html.cx[data-theme="ocean"][data-mode][data-style] .cal .day.empty { background:transparent !important; border:0 !important; box-shadow:none !important; }
html.cx[data-theme="ocean"][data-mode][data-style] .cal .day .badge { border-radius:999px; background:#38bdf81f; color:inherit; border:0; }
html.cx[data-theme="ocean"][data-mode][data-style] .cal .day.today { border-color:#5eead4 !important; background:linear-gradient(180deg,var(--oc-glass) 45%,#14b8a655) !important; }
html.cx[data-theme="ocean"][data-mode][data-style] .cal .day.today::after { content:""; position:absolute; left:-50%; right:-50%; bottom:0; height:40%; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 140' preserveAspectRatio='none'%3E%3Cpath d='M0 70.0 L0 70.0 L20 74.6 L40 78.9 L60 82.9 L80 86.3 L100 89.1 L120 90.9 L140 91.9 L160 91.9 L180 90.9 L200 89.1 L220 86.3 L240 82.9 L260 78.9 L280 74.6 L300 70.0 L320 65.4 L340 61.1 L360 57.1 L380 53.7 L400 50.9 L420 49.1 L440 48.1 L460 48.1 L480 49.1 L500 50.9 L520 53.7 L540 57.1 L560 61.1 L580 65.4 L600 70.0 L620 74.6 L640 78.9 L660 82.9 L680 86.3 L700 89.1 L720 90.9 L740 91.9 L760 91.9 L780 90.9 L800 89.1 L820 86.3 L840 82.9 L860 78.9 L880 74.6 L900 70.0 L920 65.4 L940 61.1 L960 57.1 L980 53.7 L1000 50.9 L1020 49.1 L1040 48.1 L1060 48.1 L1080 49.1 L1100 50.9 L1120 53.7 L1140 57.1 L1160 61.1 L1180 65.4 L1200 70.0 L1200 140 L0 140 Z' fill='%2314b8a6'/%3E%3C/svg%3E") 0 0/50% 100% repeat-x; opacity:.6; animation:oc-roll 6s linear infinite; pointer-events:none; }
@media (hover:hover) { html.cx[data-theme="ocean"][data-mode][data-style] .cal .day:not(.empty):hover { transform:translateY(-3px); } }
@media (max-width:600px) { html.cx[data-theme="ocean"][data-mode][data-style] .station-grid > .station-card { width:270px; height:270px; } }

/* =====================================================================================================
   EMERALD — a greenhouse. Jost (Futura) caps; leaf-shaped stations; plant-marker stakes for sections and
   seed-packet tags for pages; leaf-cut buttons; leaves swaying in the corners.
   ===================================================================================================== */
html.cx[data-theme="emerald"] {
  --em-g:#10b981; --em-l:#34d399; --em-lime:#a3e635; --em-ink:#e6f6ea; --em-dim:#93c5a6; --em-panel:color-mix(in srgb,#123020 86%,transparent);
  --font:"Jost",Futura,"Century Gothic",system-ui,sans-serif; --radius:18px; --radius-btn:16px;
}
html.cx[data-theme="emerald"][data-mode="light"] { --em-ink:#12402a; --em-dim:#4f7a60; --em-panel:#ffffffe0; }
html.cx[data-theme="emerald"][data-mode][data-style] body { font-family:var(--font); background:radial-gradient(900px 600px at 15% 0,#103a26,transparent 70%),radial-gradient(800px 600px at 100% 100%,#0d2e1d,transparent 70%),#08160e; }
html.cx[data-theme="emerald"][data-mode="light"][data-style] body { background:radial-gradient(900px 600px at 15% 0,#ffffff,transparent 70%),radial-gradient(800px 600px at 100% 100%,#d7f0de,transparent 70%),#eaf7ee; }
html.cx[data-theme="emerald"] #cx-art > i { background-repeat:no-repeat; background-size:contain; transform-origin:50% 100%; opacity:.22; }
html.cx[data-theme="emerald"] #cx-art .cx-a { width:340px; height:500px; left:-90px; bottom:-120px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 300'%3E%3Cpath d='M100 290 C100 230 100 160 100 20' stroke='%2334d399' stroke-width='3' fill='none' opacity='.6'/%3E%3Cpath d='M100 20 C170 70 190 170 100 270 C10 170 30 70 100 20Z' fill='%2310b981'/%3E%3Cpath d='M100 60 C140 90 150 150 100 230 C60 150 70 95 100 60Z' fill='%2334d399' opacity='.35'/%3E%3C/svg%3E"); animation:em-sway 9s ease-in-out infinite; }
html.cx[data-theme="emerald"] #cx-art .cx-b { width:420px; height:420px; right:-110px; top:-80px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 240'%3E%3Cpath d='M20 220 C80 160 140 90 220 20' stroke='%23059669' stroke-width='4' fill='none'/%3E%3Cellipse cx='40' cy='200' rx='26' ry='9' transform='rotate%28-55 40 200%29' fill='%2310b981' opacity='.9'/%3E%3Cellipse cx='58' cy='214' rx='24' ry='8' transform='rotate%2825 58 214%29' fill='%2334d399' opacity='.8'/%3E%3Cellipse cx='62' cy='179' rx='26' ry='9' transform='rotate%28-55 62 179%29' fill='%2310b981' opacity='.9'/%3E%3Cellipse cx='80' cy='193' rx='24' ry='8' transform='rotate%2825 80 193%29' fill='%2334d399' opacity='.8'/%3E%3Cellipse cx='84' cy='158' rx='26' ry='9' transform='rotate%28-55 84 158%29' fill='%2310b981' opacity='.9'/%3E%3Cellipse cx='102' cy='172' rx='24' ry='8' transform='rotate%2825 102 172%29' fill='%2334d399' opacity='.8'/%3E%3Cellipse cx='106' cy='137' rx='26' ry='9' transform='rotate%28-55 106 137%29' fill='%2310b981' opacity='.9'/%3E%3Cellipse cx='124' cy='151' rx='24' ry='8' transform='rotate%2825 124 151%29' fill='%2334d399' opacity='.8'/%3E%3Cellipse cx='128' cy='116' rx='26' ry='9' transform='rotate%28-55 128 116%29' fill='%2310b981' opacity='.9'/%3E%3Cellipse cx='146' cy='130' rx='24' ry='8' transform='rotate%2825 146 130%29' fill='%2334d399' opacity='.8'/%3E%3Cellipse cx='150' cy='95' rx='26' ry='9' transform='rotate%28-55 150 95%29' fill='%2310b981' opacity='.9'/%3E%3Cellipse cx='168' cy='109' rx='24' ry='8' transform='rotate%2825 168 109%29' fill='%2334d399' opacity='.8'/%3E%3Cellipse cx='172' cy='74' rx='26' ry='9' transform='rotate%28-55 172 74%29' fill='%2310b981' opacity='.9'/%3E%3Cellipse cx='190' cy='88' rx='24' ry='8' transform='rotate%2825 190 88%29' fill='%2334d399' opacity='.8'/%3E%3Cellipse cx='194' cy='53' rx='26' ry='9' transform='rotate%28-55 194 53%29' fill='%2310b981' opacity='.9'/%3E%3Cellipse cx='212' cy='67' rx='24' ry='8' transform='rotate%2825 212 67%29' fill='%2334d399' opacity='.8'/%3E%3C/svg%3E"); transform-origin:100% 0; animation:em-sway 12s ease-in-out -3s infinite reverse; }
html.cx[data-theme="emerald"] #cx-art .cx-c { width:240px; height:360px; right:16%; bottom:-170px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 300'%3E%3Cpath d='M100 290 C100 230 100 160 100 20' stroke='%2334d399' stroke-width='3' fill='none' opacity='.6'/%3E%3Cpath d='M100 20 C170 70 190 170 100 270 C10 170 30 70 100 20Z' fill='%2310b981'/%3E%3Cpath d='M100 60 C140 90 150 150 100 230 C60 150 70 95 100 60Z' fill='%2334d399' opacity='.35'/%3E%3C/svg%3E"); animation:em-sway 7s ease-in-out -2s infinite; opacity:.14; }
html.cx[data-theme="emerald"][data-mode="light"] #cx-art > i { opacity:.28; }
@keyframes em-sway { 0%,100% { transform:rotate(-3deg); } 50% { transform:rotate(3deg); } }
@keyframes em-grow { from { transform:scale(.6) rotate(-6deg); opacity:0; transform-origin:0 100%; } to { transform:none; opacity:1; } }

html.cx[data-theme="emerald"][data-mode][data-style] :is(h1,h2,h3,h4,.brand) { font-family:var(--font); font-weight:500; letter-spacing:.06em; text-transform:uppercase; }
html.cx[data-theme="emerald"][data-mode][data-style] .section-head h2 { font-size:clamp(28px,2.8vw,42px); font-weight:400; letter-spacing:.14em; color:var(--em-ink); }
html.cx[data-theme="emerald"][data-mode][data-style] .section-head h2::first-letter { color:var(--em-l); font-weight:600; }
html.cx[data-theme="emerald"][data-mode][data-style] :is(.stat .value,.sc-bal-num,.cal .day .num,.month-bar .title) { font-family:var(--font); font-variant-numeric:tabular-nums; letter-spacing:.02em; }

html.cx[data-theme="emerald"][data-mode][data-style] :is(.btn,.seg button) { border-radius:16px 4px 16px 4px !important; font:500 12px var(--font); letter-spacing:.12em; text-transform:uppercase; transition:transform .4s cubic-bezier(.22,1,.36,1),border-radius .4s,background .3s; }
html.cx[data-theme="emerald"][data-mode][data-style] :is(.btn.primary,.btn.info,.seg button.active) { color:#08160e !important; border:0 !important; background:linear-gradient(135deg,#a3e635,#34d399 50%,#10b981) !important; box-shadow:0 8px 18px -8px #10b981 !important; }
html.cx[data-theme="emerald"][data-mode][data-style] :is(.btn:not(.primary):not(.info),.seg button:not(.active)) { color:var(--em-ink); border:1px solid #34d39955 !important; background:#10b98112 !important; box-shadow:none !important; }
html.cx[data-theme="emerald"][data-mode][data-style] :is(.btn,.seg button):hover { border-radius:4px 16px 4px 16px !important; transform:translateY(-1px); }
html.cx[data-theme="emerald"][data-mode][data-style] :is(input,select,textarea) { border-radius:12px 3px 12px 3px !important; border:1px solid #34d39955; background:var(--em-panel); }
html.cx[data-theme="emerald"][data-mode][data-style] :is(.card,.stat,.panel):not(.station-card):not(.add-card) { border-radius:26px 6px 26px 6px !important; border:1px solid #34d39930 !important; background:var(--em-panel) !important; box-shadow:0 24px 40px -30px #000 !important; }

/* ---------- dashboard: leaf stations ---------- */
html.cx[data-theme="emerald"][data-mode][data-style] .station-grid { display:flex !important; flex-wrap:wrap; justify-content:center; gap:30px !important; padding:24px 0 50px; }
html.cx[data-theme="emerald"][data-mode][data-style] .station-grid > .station-card {
  width:320px; min-height:0; box-sizing:border-box; padding:30px 34px 28px !important; color:#f0fdf4; position:relative; overflow:hidden; isolation:isolate;
  border:0 !important; border-radius:6px 130px 6px 130px !important;
  background:radial-gradient(120% 90% at 0 100%,#065f46,transparent 70%),linear-gradient(135deg,#34d399,#10b981 45%,#047857) !important;
  box-shadow:inset 0 1px 0 #ffffff40,0 22px 34px -18px #022c1d !important;
  transition:border-radius .7s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1);
  animation:em-grow .9s cubic-bezier(.22,1,.36,1) backwards;
}
html.cx[data-theme="emerald"][data-mode][data-style] .station-grid > .station-card:nth-child(2) { background:radial-gradient(120% 90% at 0 100%,#3f6212,transparent 70%),linear-gradient(135deg,#bef264,#84cc16 45%,#4d7c0f) !important; color:#1a2e05; animation-delay:.12s; }
/* The midrib: a soft lighter vein across the leaf. */
html.cx[data-theme="emerald"][data-mode][data-style] .station-grid > .station-card::before {
  content:"" !important; display:block !important; position:absolute; inset:auto; left:-10%; top:50%; width:120%; height:60%; z-index:-1; opacity:1;
  background:radial-gradient(50% 6% at 50% 50%,#ffffff2e,transparent); transform:rotate(-24deg); pointer-events:none;
}
html.cx[data-theme="emerald"][data-mode][data-style] .station-grid > .station-card::after { display:none !important; }
html.cx[data-theme="emerald"][data-mode][data-style] .station-card :is(h3,.meta,.sc-bal-num,.sc-bal-label,.sc-bal-suffix,.ov-l,.ov-v,.gp,.muted) { color:inherit !important; }
html.cx[data-theme="emerald"][data-mode][data-style] .station-card h3 { font-size:17px; font-weight:600; letter-spacing:.1em; }
html.cx[data-theme="emerald"][data-mode][data-style] .station-card .meta { font-size:12px; letter-spacing:.08em; opacity:.8; text-transform:uppercase; }
html.cx[data-theme="emerald"][data-mode][data-style] .station-card .sc-badge { font:600 10px var(--font); letter-spacing:.14em; text-transform:uppercase; color:inherit; background:#ffffff26; border:0; border-radius:10px 3px 10px 3px; padding:4px 9px; }
html.cx[data-theme="emerald"][data-mode][data-style] .station-card .sc-balance { background:none !important; border:0 !important; box-shadow:none !important; padding:12px 0 10px; margin:0; }
html.cx[data-theme="emerald"][data-mode][data-style] .station-card .sc-bal-num { font-size:30px; font-weight:400; letter-spacing:0; }
html.cx[data-theme="emerald"][data-mode][data-style] .station-card .sc-bal-label { font:500 10px var(--font); letter-spacing:.2em; text-transform:uppercase; opacity:.8; }
html.cx[data-theme="emerald"][data-mode][data-style] .station-card .sc-prices { gap:6px; margin:4px 0 8px; }
html.cx[data-theme="emerald"][data-mode][data-style] .station-card .gp { font:500 12px var(--font); border:0 !important; background:#ffffff24 !important; border-radius:10px 3px 10px 3px; padding:4px 9px; }
html.cx[data-theme="emerald"][data-mode][data-style] .station-card .sc-rows { border:0; margin:0; padding:0; }
html.cx[data-theme="emerald"][data-mode][data-style] .station-card .ov-row { border:0; padding:1px 0; font-size:12px; }
html.cx[data-theme="emerald"][data-mode][data-style] .station-card :is(.ov-row:first-child,.ov-l) { display:none; }
html.cx[data-theme="emerald"][data-mode][data-style] .station-grid > .add-card {
  width:140px; height:140px; min-height:0; padding:0 !important; align-self:center; display:flex !important; align-items:center; justify-content:center; text-align:center;
  border-radius:6px 70px 6px 70px !important; border:2px dashed #34d39977 !important; background:#10b98112 !important; box-shadow:none !important;
  font:500 11px var(--font); letter-spacing:.14em; text-transform:uppercase; color:var(--em-l) !important;
}
html.cx[data-theme="emerald"][data-mode][data-style] .station-grid > .add-card::before,html.cx[data-theme="emerald"][data-mode][data-style] .station-grid > .add-card::after { display:none !important; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  html.cx[data-theme="emerald"][data-mode][data-style] .station-grid > .station-card:hover { border-radius:130px 6px 130px 6px !important; transform:translateY(-4px) rotate(-1deg); }
}

/* ---------- station page: plant markers + seed packets ---------- */
.sn-emerald { margin:6px 0 22px; }
.sn-emerald .em-secs { display:flex; flex-wrap:wrap; gap:14px; align-items:flex-end; padding-bottom:6px; border-bottom:2px solid #34d39926; }
html.cx .sn-emerald button.em-sec {
  position:relative; display:flex; flex-direction:column; align-items:center; gap:4px; padding:10px 16px 22px; min-width:86px;
  font:500 12px var(--font); letter-spacing:.12em; text-transform:uppercase; color:var(--em-ink);
  background:color-mix(in srgb,var(--c) 20%,var(--em-panel)); border:1px solid color-mix(in srgb,var(--c) 45%,transparent);
  clip-path:polygon(0 0,100% 0,100% calc(100% - 14px),50% 100%,0 calc(100% - 14px));
  transform-origin:50% 100%; transition:transform .5s cubic-bezier(.34,1.56,.64,1),background .3s;
  animation:em-grow .6s cubic-bezier(.22,1,.36,1) calc(var(--n) * 60ms) backwards;
}
.sn-emerald .em-ico { font-size:20px; }
html.cx .sn-emerald button.em-sec:hover { transform:rotate(-3deg); }
html.cx .sn-emerald button.em-sec[aria-selected="true"] { background:linear-gradient(180deg,var(--c),color-mix(in srgb,var(--c) 70%,#000)); color:#08160e; transform:translateY(-6px); }
.sn-emerald .em-tray { display:flex; flex-wrap:wrap; gap:14px; margin-top:16px; }
.sn-emerald .em-tray.in > * { animation:em-grow .5s cubic-bezier(.22,1,.36,1) calc(var(--n) * 45ms) backwards; }
html.cx .sn-emerald button.em-pg {
  position:relative; display:inline-flex; align-items:center; gap:8px; padding:12px 18px 12px 30px; font:500 13px var(--font); letter-spacing:.06em; color:var(--em-ink);
  background:var(--em-panel); border:1px solid #34d39940; border-radius:12px 3px 12px 3px; transition:transform .35s cubic-bezier(.22,1,.36,1),background .3s;
}
html.cx .sn-emerald button.em-pg::before { content:""; position:absolute; left:11px; top:50%; width:8px; height:8px; margin-top:-4px; border-radius:50%; background:var(--bg); box-shadow:inset 0 1px 2px #0008,0 0 0 1px #34d39966; }
html.cx .sn-emerald button.em-pg:hover { transform:translateY(-2px) rotate(-1.5deg); background:color-mix(in srgb,var(--c) 16%,var(--em-panel)); }
html.cx .sn-emerald button.em-pg[aria-current="page"] { color:#08160e; font-weight:600; background:linear-gradient(135deg,#a3e635,var(--c)); border-color:transparent; }

html.cx[data-theme="emerald"][data-mode][data-style] .month-bar .title { font-size:20px; font-weight:400; letter-spacing:.14em; text-transform:uppercase; }
html.cx[data-theme="emerald"][data-mode][data-style] .stat .label { font:500 10px var(--font); letter-spacing:.2em; text-transform:uppercase; color:var(--em-dim); }
html.cx[data-theme="emerald"][data-mode][data-style] .stat .value { font-size:24px; font-weight:400; }
html.cx[data-theme="emerald"][data-mode][data-style] .station-stats-side .stat { border-radius:18px 4px 18px 4px !important; border-left:0 !important; }
html.cx[data-theme="emerald"][data-mode][data-style] .cal .dow { font:500 11px var(--font); letter-spacing:.2em; color:var(--em-dim); }
html.cx[data-theme="emerald"][data-mode][data-style] .cal .day:not(.empty) { border-radius:18px 4px 18px 4px !important; border:1px solid #34d39924 !important; background:var(--em-panel) !important; box-shadow:none !important; transition:transform .4s cubic-bezier(.22,1,.36,1),border-radius .4s; }
html.cx[data-theme="emerald"][data-mode][data-style] .cal .day.empty { background:transparent !important; border:0 !important; box-shadow:none !important; }
html.cx[data-theme="emerald"][data-mode][data-style] .cal .day .num { font-weight:400; }
html.cx[data-theme="emerald"][data-mode][data-style] .cal .day .badge { border-radius:8px 2px 8px 2px; background:#10b9811f; color:inherit; border:0; font-family:var(--font); }
html.cx[data-theme="emerald"][data-mode][data-style] .cal .day.today { background:linear-gradient(135deg,#34d399,#10b981) !important; border-color:transparent !important; }
html.cx[data-theme="emerald"][data-mode][data-style] .cal .day.today :is(.num,.muted,div,span) { color:#08160e !important; }
html.cx[data-theme="emerald"][data-mode][data-style] .cal .day.today .num::after { content:" 🌱"; font-size:13px; }
@media (hover:hover) { html.cx[data-theme="emerald"][data-mode][data-style] .cal .day:not(.empty):hover { border-radius:4px 18px 4px 18px !important; transform:translateY(-2px); } }

/* =====================================================================================================
   SUNSET — golden hour, editorial. Instrument Serif italic + Baskerville; postcard stations with a painted
   sunset and a stamp; a horizon where the sun rises over the open section; a sun sinking behind the page.
   ===================================================================================================== */
html.cx[data-theme="sunset"] {
  --ss-coral:#fb7185; --ss-orange:#fb923c; --ss-gold:#f59e0b; --ss-ink:#ffeae0; --ss-dim:#d9a8a0; --ss-panel:color-mix(in srgb,#341829 84%,transparent);
  --font:Baskerville,"EB Garamond",Georgia,serif; --ss-display:"Instrument Serif",Baskerville,Georgia,serif; --radius:14px; --radius-btn:12px;
}
html.cx[data-theme="sunset"][data-mode="light"] { --ss-ink:#5a2433; --ss-dim:#9a5a5f; --ss-panel:#fff7f4e6; }
html.cx[data-theme="sunset"][data-mode][data-style] body { font-family:var(--font); background:linear-gradient(180deg,#2a0f22 0,#3a1426 40%,#1a0f16 75%); }
html.cx[data-theme="sunset"][data-mode="light"][data-style] body { background:linear-gradient(180deg,#ffe4d6 0,#ffd2c2 35%,#fdeee9 70%); }
html.cx[data-theme="sunset"] #cx-art .cx-a {
  width:46vmax; height:46vmax; right:6vw; top:52vh; border-radius:50%;
  background:radial-gradient(circle,#fff3c4 0,#fdba74 30%,#fb7185 62%,#fb718500 72%); filter:blur(4px); opacity:.55;
  animation:ss-set 30s ease-in-out infinite alternate;
}
html.cx[data-theme="sunset"] #cx-art .cx-b { left:0; right:0; top:52vh; bottom:0; background:linear-gradient(180deg,transparent,#fb71851c 18%,#7c2d5266 45%,#1a0f16 92%); }
html.cx[data-theme="sunset"] #cx-art .cx-c { left:0; right:0; top:0; height:60vh; background:radial-gradient(80% 60% at 75% 100%,#fb923c2e,transparent 70%); }
html.cx[data-theme="sunset"][data-mode="light"] #cx-art .cx-a { opacity:.6; }
html.cx[data-theme="sunset"][data-mode="light"] #cx-art .cx-b { background:linear-gradient(180deg,#fb718520,#fdeee9 70%); }
@keyframes ss-set { from { transform:translateY(-6vh); } to { transform:translateY(10vh) scale(1.05); } }
@keyframes ss-in { from { transform:translateY(20px); opacity:0; } to { transform:none; opacity:1; } }

html.cx[data-theme="sunset"][data-mode][data-style] :is(h1,h2,h3,h4,.brand) { font-family:var(--ss-display); font-weight:400; letter-spacing:0; }
html.cx[data-theme="sunset"][data-mode][data-style] .section-head h2 { font-size:clamp(40px,4vw,64px); font-style:italic; line-height:1; color:var(--ss-ink); }
html.cx[data-theme="sunset"][data-mode][data-style] .section-head h2::after { content:""; display:inline-block; width:.42em; height:.42em; margin-left:.2em; border-radius:50%; background:radial-gradient(circle at 40% 40%,#fff3c4,#fb923c 60%,#fb7185); vertical-align:.1em; box-shadow:0 0 20px #fb923c88; }
html.cx[data-theme="sunset"][data-mode][data-style] :is(.stat .value,.sc-bal-num,.month-bar .title,.cal .day .num) { font-family:var(--ss-display); font-variant-numeric:lining-nums; }

html.cx[data-theme="sunset"][data-mode][data-style] :is(.btn,.seg button) { border-radius:12px !important; font:600 14px var(--font); letter-spacing:.01em; text-transform:none; transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .3s,filter .3s; }
html.cx[data-theme="sunset"][data-mode][data-style] :is(.btn.primary,.btn.info,.seg button.active) { color:#2a0f16 !important; border:0 !important; background:linear-gradient(120deg,#fde68a,#fb923c 45%,#fb7185) !important; box-shadow:0 10px 24px -10px #fb7185 !important; }
html.cx[data-theme="sunset"][data-mode][data-style] :is(.btn:not(.primary):not(.info),.seg button:not(.active)) { color:var(--ss-ink); border:1px solid #fb923c44 !important; background:#fb923c10 !important; box-shadow:none !important; }
html.cx[data-theme="sunset"][data-mode][data-style] :is(.btn,.seg button):hover { transform:translateY(-2px); filter:brightness(1.06); }
html.cx[data-theme="sunset"][data-mode][data-style] :is(input,select,textarea) { border-radius:10px !important; border:1px solid #fb923c44; background:var(--ss-panel); font-family:var(--font); }
html.cx[data-theme="sunset"][data-mode][data-style] :is(.card,.stat,.panel):not(.station-card):not(.add-card) { border-radius:16px !important; border:1px solid #fb923c26 !important; background:var(--ss-panel) !important; box-shadow:inset 0 1px 0 #fde68a14,0 24px 40px -30px #000 !important; }

/* ---------- dashboard: postcards ---------- */
html.cx[data-theme="sunset"][data-mode][data-style] .station-grid { display:flex !important; flex-wrap:wrap; justify-content:center; align-items:flex-start; gap:34px !important; padding:24px 0 50px; }
html.cx[data-theme="sunset"][data-mode][data-style] .station-grid > .station-card {
  width:330px; min-height:0; box-sizing:border-box; padding:140px 22px 20px !important; position:relative; color:#3a1426;
  border:0 !important; border-radius:4px !important;
  background:
    radial-gradient(circle at 70% 96px,#fff3c4 0 22px,#fdba74 23px 30px,#fdba7400 44px),
    linear-gradient(180deg,#3b1a4d 0,#a43a63 34px,#fb7185 70px,#fdba74 104px,#fde68a 118px,#6d2a46 118px,#3b1a4d 128px) 10px 10px/calc(100% - 20px) 118px no-repeat,
    #fff8ef !important;
  box-shadow:0 1px 0 #fff,0 18px 30px -16px #000c,0 2px 6px #0004 !important;
  transform:rotate(-1.4deg); transition:transform .55s cubic-bezier(.22,1,.36,1),box-shadow .5s;
  animation:ss-in .8s cubic-bezier(.22,1,.36,1) backwards;
}
html.cx[data-theme="sunset"][data-mode][data-style] .station-grid > .station-card:nth-child(2n) { transform:rotate(1.2deg); animation-delay:.1s;
  background:
    radial-gradient(circle at 26% 98px,#fff3c4 0 18px,#fb923c 19px 26px,#fb923c00 40px),
    linear-gradient(180deg,#1f1640 0,#6b2c6e 34px,#f472b6 72px,#fb923c 104px,#fde68a 118px,#4a2140 118px,#1f1640 128px) 10px 10px/calc(100% - 20px) 118px no-repeat,
    #fff8ef !important; }
/* The stamp: perforated edge with the station's initial. */
html.cx[data-theme="sunset"][data-mode][data-style] .station-grid > .station-card::before {
  content:"" !important; display:block !important; position:absolute; inset:auto; top:18px; right:18px; width:42px; height:50px; opacity:1;
  background:radial-gradient(circle at 50% 42%,#fff3c4 0 6px,transparent 7px),linear-gradient(160deg,#fb7185,#f59e0b) !important;
  border:3px dotted #fff8ef; box-sizing:border-box; box-shadow:0 2px 4px #0003; transform:rotate(6deg);
}
html.cx[data-theme="sunset"][data-mode][data-style] .station-grid > .station-card::after { display:none !important; }
html.cx[data-theme="sunset"][data-mode][data-style] .station-card :is(h3,.sc-bal-num,.ov-v) { color:#3a1426 !important; }
html.cx[data-theme="sunset"][data-mode][data-style] .station-card :is(.meta,.sc-bal-label,.sc-bal-suffix,.ov-l,.muted) { color:#9a5a5f !important; }
html.cx[data-theme="sunset"][data-mode][data-style] .station-card .sc-head { margin-bottom:4px; }
html.cx[data-theme="sunset"][data-mode][data-style] .station-card h3 { font-size:26px; font-style:italic; line-height:1.05; }
html.cx[data-theme="sunset"][data-mode][data-style] .station-card .meta { font:italic 14px var(--font); }
html.cx[data-theme="sunset"][data-mode][data-style] .station-card .sc-badge { font:600 10px var(--font); letter-spacing:.14em; text-transform:uppercase; color:#be123c; border:1.5px solid #be123c88; background:transparent; border-radius:3px; padding:2px 7px; transform:rotate(-4deg); }
html.cx[data-theme="sunset"][data-mode][data-style] .station-card .sc-balance { background:none !important; border:0 !important; box-shadow:none !important; padding:8px 0; margin:6px 0; border-block:1px solid #3a142620 !important; border-radius:0; }
html.cx[data-theme="sunset"][data-mode][data-style] .station-card .sc-bal-num { font-size:32px; }
html.cx[data-theme="sunset"][data-mode][data-style] .station-card .sc-bal-label { font:600 9px var(--font); letter-spacing:.2em; text-transform:uppercase; }
html.cx[data-theme="sunset"][data-mode][data-style] .station-card .sc-prices { gap:6px; margin:6px 0; }
html.cx[data-theme="sunset"][data-mode][data-style] .station-card .gp { font:600 12px var(--font); color:#3a1426 !important; border:0 !important; background:#fb923c22 !important; border-radius:3px; padding:3px 8px; }
html.cx[data-theme="sunset"][data-mode][data-style] .station-card .sc-rows { border:0; margin:0; padding:0; }
html.cx[data-theme="sunset"][data-mode][data-style] .station-card .ov-row { border:0; padding:1px 0; font:italic 13px var(--font); }
html.cx[data-theme="sunset"][data-mode][data-style] .station-card .ov-row:first-child { display:none; }
html.cx[data-theme="sunset"][data-mode][data-style] .station-grid > .add-card {
  width:200px; min-height:0; height:130px; padding:0 !important; display:flex !important; align-items:center; justify-content:center; text-align:center;
  border-radius:4px !important; border:2px dashed #fb923c66 !important; background:transparent !important; box-shadow:none !important; font:italic 20px var(--ss-display); color:var(--ss-orange) !important; transform:rotate(2deg);
}
html.cx[data-theme="sunset"][data-mode][data-style] .station-grid > .add-card::before,html.cx[data-theme="sunset"][data-mode][data-style] .station-grid > .add-card::after { display:none !important; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  html.cx[data-theme="sunset"][data-mode][data-style] .station-grid > .station-card:hover { transform:rotate(0) translateY(-8px) scale(1.02); box-shadow:0 1px 0 #fff,0 30px 44px -18px #000d !important; }
}

/* ---------- station page: the horizon ---------- */
.sn-sunset { margin:8px 0 24px; }
.sn-sunset .ss-secs { position:relative; display:flex; flex-wrap:wrap; gap:4px 30px; padding:30px 6px 12px; border-bottom:1px solid #fb923c55; }
.sn-sunset .ss-secs::after { content:""; position:absolute; left:0; right:0; bottom:-1px; height:1px; background:linear-gradient(90deg,transparent,#fde68a,transparent); }
html.cx .sn-sunset button.ss-sec { position:relative; font:italic 400 26px var(--ss-display); color:var(--ss-dim); transition:color .35s,transform .45s cubic-bezier(.22,1,.36,1); }
.sn-sunset .ss-ico { display:none; }
html.cx .sn-sunset button.ss-sec:hover { color:var(--ss-ink); transform:translateY(-2px); }
html.cx .sn-sunset button.ss-sec[aria-selected="true"] { color:var(--ss-ink); }
html.cx .sn-sunset button.ss-sec[aria-selected="true"]::before {
  content:""; position:absolute; left:50%; top:-24px; width:22px; height:22px; margin-left:-11px; border-radius:50%;
  background:radial-gradient(circle at 40% 40%,#fff3c4,#fb923c 60%,#fb7185); box-shadow:0 0 18px #fb923c,0 0 40px #fb718566;
  animation:ss-rise .7s cubic-bezier(.22,1,.36,1);
}
@keyframes ss-rise { from { transform:translateY(22px) scale(.6); opacity:0; } to { transform:none; opacity:1; } }
.sn-sunset .ss-tray { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 4px; margin-top:14px; font:italic 17px var(--font); }
.sn-sunset .ss-tray.in > * { animation:ss-in .5s cubic-bezier(.22,1,.36,1) calc(var(--n) * 45ms) backwards; }
html.cx .sn-sunset button.ss-pg { display:inline-flex; align-items:center; gap:6px; padding:6px 10px; border-radius:8px; font:500 16px var(--font); color:var(--ss-ink); transition:background .25s,color .25s; }
html.cx .sn-sunset button.ss-pg + button.ss-pg::before { content:"·"; margin:0 10px 0 -6px; color:var(--ss-orange); }
html.cx .sn-sunset button.ss-pg:hover { background:#fb923c18; }
html.cx .sn-sunset button.ss-pg[aria-current="page"] { color:#2a0f16; background:linear-gradient(120deg,#fde68a,#fb923c 60%,#fb7185); font-style:italic; }

html.cx[data-theme="sunset"][data-mode][data-style] .month-bar .title { font-size:32px; font-style:italic; }
html.cx[data-theme="sunset"][data-mode][data-style] .stat .label { font:600 10px var(--font); letter-spacing:.18em; text-transform:uppercase; color:var(--ss-dim); }
html.cx[data-theme="sunset"][data-mode][data-style] .stat .value { font-size:30px; }
html.cx[data-theme="sunset"][data-mode][data-style] .station-stats-side .stat { border-radius:12px !important; border-left:0 !important; }
html.cx[data-theme="sunset"][data-mode][data-style] .cal .dow { font:italic 15px var(--ss-display); color:var(--ss-dim); text-transform:none; letter-spacing:0; }
html.cx[data-theme="sunset"][data-mode][data-style] .cal .day:not(.empty) { border-radius:12px !important; border:1px solid #fb923c1f !important; background:var(--ss-panel) !important; box-shadow:none !important; transition:transform .4s cubic-bezier(.22,1,.36,1); }
html.cx[data-theme="sunset"][data-mode][data-style] .cal .day.empty { background:transparent !important; border:0 !important; box-shadow:none !important; }
html.cx[data-theme="sunset"][data-mode][data-style] .cal .day .num { font-size:24px; font-style:italic; }
html.cx[data-theme="sunset"][data-mode][data-style] .cal .day .badge { border-radius:4px; background:#fb923c1f; color:inherit; border:0; font-family:var(--font); }
html.cx[data-theme="sunset"][data-mode][data-style] .cal .day.today { background:radial-gradient(circle at 78% 72%,#fff3c4 0 10px,#fb923c 11px 16px,transparent 26px),linear-gradient(180deg,#a43a63,#fb7185 60%,#fdba74) !important; border-color:transparent !important; }
html.cx[data-theme="sunset"][data-mode][data-style] .cal .day.today :is(.num,.muted,div,span) { color:#fff8ef !important; }
@media (hover:hover) { html.cx[data-theme="sunset"][data-mode][data-style] .cal .day:not(.empty):hover { transform:translateY(-3px); } }

/* =====================================================================================================
   SLATE — neo-brutalist Swiss. Inter + DM Mono; hard 2px borders and offset block shadows; huge numerals;
   folder-tab sections; a bold lettered page index; flat grey with one electric-blue signal.
   ===================================================================================================== */
html.cx[data-theme="slate"] {
  --sl-ink:#e5e9ef; --sl-line:#e5e9ef; --sl-bg:#0b0f14; --sl-panel:#1c242e; --sl-sig:#38bdf8; --sl-dim:#94a3b8; --sl-shadow:#000;
  --font:"Inter","Helvetica Neue",system-ui,sans-serif; --sl-mono:"DM Mono",ui-monospace,monospace; --radius:0px; --radius-btn:0px;
}
html.cx[data-theme="slate"][data-mode="light"] { --sl-ink:#0b0f14; --sl-line:#0b0f14; --sl-panel:#ffffff; --sl-dim:#475569; --sl-shadow:#0b0f14; }
html.cx[data-theme="slate"][data-mode][data-style] body { font-family:var(--font); background:#11161d; }
html.cx[data-theme="slate"][data-mode="light"][data-style] body { background:#eef1f5; }
html.cx[data-theme="slate"] #cx-art .cx-a { right:4vw; bottom:3vh; font:900 26vw/0.8 var(--font); color:transparent; -webkit-text-stroke:1px #ffffff10; }
html.cx[data-theme="slate"] #cx-art .cx-a::before { content:"§"; }
html.cx[data-theme="slate"][data-mode="light"] #cx-art .cx-a { -webkit-text-stroke:1px #0b0f1414; }
@keyframes sl-drop { from { transform:translate(-8px,-8px); box-shadow:0 0 0 var(--sl-shadow); opacity:0; } to { transform:none; opacity:1; } }

html.cx[data-theme="slate"][data-mode][data-style] :is(h1,h2,h3,h4,.brand) { font-family:var(--font); font-weight:800; letter-spacing:-.04em; }
html.cx[data-theme="slate"][data-mode][data-style] .section-head h2 { font-size:clamp(40px,4.4vw,72px); font-weight:900; letter-spacing:-.06em; line-height:.9; color:var(--sl-ink); }
html.cx[data-theme="slate"][data-mode][data-style] .section-head h2::after { content:"."; color:var(--sl-sig); }
html.cx[data-theme="slate"][data-mode][data-style] :is(.stat .value,.sc-bal-num,.month-bar .title,.cal .day .num) { font-family:var(--font); font-weight:800; letter-spacing:-.04em; font-variant-numeric:tabular-nums; }

html.cx[data-theme="slate"][data-mode][data-style] :is(.btn,.seg button) { border-radius:0 !important; font:700 13px var(--font); letter-spacing:-.01em; text-transform:none; border:2px solid var(--sl-line) !important; box-shadow:4px 4px 0 var(--sl-shadow) !important; transition:transform .12s,box-shadow .12s; }
html.cx[data-theme="slate"][data-mode][data-style] :is(.btn.primary,.btn.info,.seg button.active) { color:#0b0f14 !important; background:var(--sl-sig) !important; }
html.cx[data-theme="slate"][data-mode][data-style] :is(.btn:not(.primary):not(.info),.seg button:not(.active)) { color:var(--sl-ink); background:var(--sl-panel) !important; }
html.cx[data-theme="slate"][data-mode][data-style] :is(.btn,.seg button):hover { transform:translate(-2px,-2px); box-shadow:6px 6px 0 var(--sl-shadow) !important; }
html.cx[data-theme="slate"][data-mode][data-style] :is(.btn,.seg button):active { transform:translate(4px,4px); box-shadow:0 0 0 var(--sl-shadow) !important; }
html.cx[data-theme="slate"][data-mode][data-style] :is(input,select,textarea) { border-radius:0 !important; border:2px solid var(--sl-line); background:var(--sl-panel); }
html.cx[data-theme="slate"][data-mode][data-style] :is(.card,.stat,.panel):not(.station-card):not(.add-card) { border-radius:0 !important; border:2px solid var(--sl-line) !important; background:var(--sl-panel) !important; box-shadow:6px 6px 0 var(--sl-shadow) !important; }

/* ---------- dashboard: spec blocks ---------- */
html.cx[data-theme="slate"][data-mode][data-style] .station-grid { display:grid !important; grid-template-columns:repeat(auto-fill,minmax(300px,330px)) !important; justify-content:start; gap:30px !important; padding:20px 8px 50px 0; }
html.cx[data-theme="slate"][data-mode][data-style] .station-grid > .station-card {
  min-height:0; padding:0 !important; color:var(--sl-ink); position:relative;
  border:2px solid var(--sl-line) !important; border-radius:0 !important; background:var(--sl-panel) !important; box-shadow:8px 8px 0 var(--sl-shadow) !important;
  display:grid !important; grid-template-columns:1fr; animation:sl-drop .45s cubic-bezier(.22,1,.36,1) backwards; transition:transform .15s,box-shadow .15s;
}
html.cx[data-theme="slate"][data-mode][data-style] .station-grid > .station-card:nth-child(2) { animation-delay:.08s; }
html.cx[data-theme="slate"][data-mode][data-style] .station-grid > .station-card::before,html.cx[data-theme="slate"][data-mode][data-style] .station-grid > .station-card::after { display:none !important; }
html.cx[data-theme="slate"][data-mode][data-style] .station-card .sc-head { padding:14px 16px; border-bottom:2px solid var(--sl-line); margin:0; background:var(--sl-ink); }
html.cx[data-theme="slate"][data-mode][data-style] .station-card .sc-head :is(h3,.meta) { color:var(--sl-bg) !important; }
html.cx[data-theme="slate"][data-mode][data-style] .station-card h3 { font-size:20px; }
html.cx[data-theme="slate"][data-mode][data-style] .station-card .meta { font:500 11px var(--sl-mono); }
html.cx[data-theme="slate"][data-mode][data-style] .station-card .sc-badge { font:500 10px var(--sl-mono); text-transform:uppercase; color:var(--sl-bg); background:var(--sl-sig); border:0; border-radius:0; padding:3px 6px; }
html.cx[data-theme="slate"][data-mode][data-style] .station-card .ov { padding:0 16px 14px; }
html.cx[data-theme="slate"][data-mode][data-style] .station-card .sc-balance { background:none !important; border:0 !important; box-shadow:none !important; padding:12px 0 8px; margin:0; }
html.cx[data-theme="slate"][data-mode][data-style] .station-card :is(.sc-bal-num,.ov-v) { color:var(--sl-ink) !important; }
html.cx[data-theme="slate"][data-mode][data-style] .station-card :is(.sc-bal-label,.sc-bal-suffix,.ov-l,.muted) { color:var(--sl-dim) !important; }
html.cx[data-theme="slate"][data-mode][data-style] .station-card .sc-bal-num { font-size:40px; letter-spacing:-.05em; line-height:1; }
html.cx[data-theme="slate"][data-mode][data-style] .station-card .sc-bal-suffix { font:500 11px var(--sl-mono); color:var(--sl-sig) !important; }
html.cx[data-theme="slate"][data-mode][data-style] .station-card .sc-bal-label { font:500 10px var(--sl-mono); text-transform:uppercase; }
html.cx[data-theme="slate"][data-mode][data-style] .station-card .sc-prices { gap:0; margin:6px 0 10px; border:2px solid var(--sl-line); }
html.cx[data-theme="slate"][data-mode][data-style] .station-card .gp { flex:1; text-align:center; font:500 12px var(--sl-mono); border:0 !important; border-radius:0; background:transparent !important; color:var(--sl-ink) !important; padding:6px 2px; }
html.cx[data-theme="slate"][data-mode][data-style] .station-card .gp + .gp { border-left:2px solid var(--sl-line) !important; }
html.cx[data-theme="slate"][data-mode][data-style] .station-card .sc-rows { border:0; margin:0; padding:0; }
html.cx[data-theme="slate"][data-mode][data-style] .station-card .ov-row { border:0; padding:2px 0; font:500 11px var(--sl-mono); }
html.cx[data-theme="slate"][data-mode][data-style] .station-grid > .add-card { min-height:120px; display:flex !important; align-items:center; justify-content:center; border:2px dashed var(--sl-line) !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; font:800 15px var(--font); color:var(--sl-ink) !important; }
html.cx[data-theme="slate"][data-mode][data-style] .station-grid > .add-card::before,html.cx[data-theme="slate"][data-mode][data-style] .station-grid > .add-card::after { display:none !important; }
@media (hover:hover) {
  html.cx[data-theme="slate"][data-mode][data-style] .station-grid > .station-card:hover { transform:translate(-3px,-3px); box-shadow:11px 11px 0 var(--sl-sig) !important; }
}

/* ---------- station page: folder tabs + lettered index ---------- */
.sn-slate { margin:8px 0 22px; }
.sn-slate .sl-secs { display:flex; flex-wrap:wrap; gap:0; border-bottom:2px solid var(--sl-line); }
html.cx .sn-slate button.sl-sec { display:flex; align-items:baseline; gap:8px; padding:10px 18px; margin-right:-2px; margin-bottom:-2px; font:800 15px var(--font); letter-spacing:-.02em; color:var(--sl-dim); border:2px solid var(--sl-line); border-bottom-color:transparent; background:transparent; transition:background .15s,color .15s; }
.sn-slate .sl-ico { font:500 11px var(--sl-mono); }
html.cx .sn-slate button.sl-sec:hover { color:var(--sl-ink); }
html.cx .sn-slate button.sl-sec[aria-selected="true"] { color:var(--sl-ink); background:var(--sl-panel); border-bottom-color:var(--sl-panel); }
html.cx .sn-slate button.sl-sec[aria-selected="true"] .sl-ico { color:var(--sl-sig); }
.sn-slate .sl-tray { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:0; border:2px solid var(--sl-line); border-top:0; background:var(--sl-panel); counter-reset:sl; }
html.cx .sn-slate button.sl-pg { counter-increment:sl; display:flex; align-items:center; gap:10px; padding:12px 14px; font:700 14px var(--font); color:var(--sl-ink); border-right:2px solid var(--sl-line); border-bottom:2px solid var(--sl-line); margin:0 -2px -2px 0; transition:background .12s,color .12s; }
html.cx .sn-slate button.sl-pg::before { content:counter(sl,decimal-leading-zero); font:500 11px var(--sl-mono); color:var(--sl-dim); }
html.cx .sn-slate button.sl-pg:hover { background:var(--sl-ink); color:var(--sl-bg); }
html.cx .sn-slate button.sl-pg[aria-current="page"] { background:var(--sl-sig); color:#0b0f14; }
html.cx .sn-slate button.sl-pg[aria-current="page"]::before { color:#0b0f14; }

html.cx[data-theme="slate"][data-mode][data-style] .month-bar .title { font-size:26px; }
html.cx[data-theme="slate"][data-mode][data-style] .stat .label { font:500 10px var(--sl-mono); text-transform:uppercase; letter-spacing:.06em; color:var(--sl-dim); }
html.cx[data-theme="slate"][data-mode][data-style] .stat .value { font-size:28px; }
html.cx[data-theme="slate"][data-mode][data-style] .station-stats-side .stat { border:0 !important; border-bottom:2px solid var(--sl-line) !important; box-shadow:none !important; }
html.cx[data-theme="slate"][data-mode][data-style] .cal .dow { font:500 11px var(--sl-mono); text-transform:uppercase; color:var(--sl-dim); }
html.cx[data-theme="slate"][data-mode][data-style] .cal .day:not(.empty) { border-radius:0 !important; border:2px solid var(--sl-line) !important; background:var(--sl-panel) !important; box-shadow:4px 4px 0 var(--sl-shadow) !important; transition:transform .12s,box-shadow .12s; }
html.cx[data-theme="slate"][data-mode][data-style] .cal .day.empty { background:transparent !important; border:0 !important; box-shadow:none !important; }
html.cx[data-theme="slate"][data-mode][data-style] .cal .day .num { font-size:24px; }
html.cx[data-theme="slate"][data-mode][data-style] .cal .day .badge { border-radius:0; background:transparent; border:1px solid var(--sl-dim); color:inherit; font-family:var(--sl-mono); }
html.cx[data-theme="slate"][data-mode][data-style] .cal .day.today { background:var(--sl-sig) !important; }
html.cx[data-theme="slate"][data-mode][data-style] .cal .day.today :is(.num,.muted,div,span) { color:#0b0f14 !important; }
@media (hover:hover) { html.cx[data-theme="slate"][data-mode][data-style] .cal .day:not(.empty):hover { transform:translate(-2px,-2px); box-shadow:6px 6px 0 var(--sl-sig) !important; } }

/* =====================================================================================================
   NORD — arctic calm. Plus Jakarta Sans; frosted ice-slab stations with a snow cap; quiet fjord-stone
   sections and frosted page chips; aurora borealis curtains drifting behind.
   ===================================================================================================== */
html.cx[data-theme="nord"] {
  --nd-frost:#88c0d0; --nd-blue:#81a1c1; --nd-snow:#eceff4; --nd-ink:#eceff4; --nd-dim:#a3adc2; --nd-panel:color-mix(in srgb,#3b4252 72%,transparent);
  --font:"Plus Jakarta Sans","Lucida Grande",system-ui,sans-serif; --radius:20px; --radius-btn:14px;
}
html.cx[data-theme="nord"][data-mode="light"] { --nd-ink:#2e3440; --nd-dim:#5e6779; --nd-panel:#ffffffcc; }
html.cx[data-theme="nord"][data-mode][data-style] body { font-family:var(--font); background:linear-gradient(180deg,#232833,#2b303b 50%,#2e3440); }
html.cx[data-theme="nord"][data-mode="light"][data-style] body { background:linear-gradient(180deg,#f5f7fa,#eceff4 60%,#e5e9f0); }
html.cx[data-theme="nord"] #cx-art > i { inset:-10% 0 0; background:radial-gradient(circle,#ffffffcc 0 1.6px,transparent 2.2px) 0 0/97px 89px,radial-gradient(circle,#e5f1f6aa 0 1.2px,transparent 1.8px) 41px 31px/131px 113px; animation:nd-snow 18s linear infinite; }
html.cx[data-theme="nord"] #cx-art .cx-b { animation-duration:26s; opacity:.6; background-position:23px 57px,71px 9px; }
html.cx[data-theme="nord"] #cx-art .cx-c { inset:auto 0 0; height:22vh; background:linear-gradient(180deg,transparent,#d8dee91c); animation:none; }
html.cx[data-theme="nord"][data-mode="light"] #cx-art > i { filter:invert(.55); }
@keyframes nd-snow { from { transform:translate(0,0); } to { transform:translate(-40px,178px); } }
@keyframes nd-curtain { from { transform:translateX(-6vw) skewX(-12deg) scaleY(.9); } to { transform:translateX(6vw) skewX(10deg) scaleY(1.15); } }
@keyframes nd-settle { from { transform:translateY(-14px); opacity:0; filter:blur(6px); } to { transform:none; opacity:1; filter:none; } }

html.cx[data-theme="nord"][data-mode][data-style] :is(h1,h2,h3,h4,.brand) { font-family:var(--font); font-weight:700; letter-spacing:-.02em; }
html.cx[data-theme="nord"][data-mode][data-style] .section-head h2 { font-size:clamp(32px,3.2vw,48px); font-weight:300; letter-spacing:-.03em; color:var(--nd-ink); }
html.cx[data-theme="nord"][data-mode][data-style] .section-head h2::after { content:" ❄"; font-size:.5em; color:var(--nd-frost); vertical-align:.35em; }
html.cx[data-theme="nord"][data-mode][data-style] :is(.stat .value,.sc-bal-num,.month-bar .title,.cal .day .num) { font-family:var(--font); font-weight:300; letter-spacing:-.02em; font-variant-numeric:tabular-nums; }

html.cx[data-theme="nord"][data-mode][data-style] :is(.btn,.seg button) { border-radius:14px !important; font:600 13px var(--font); text-transform:none; letter-spacing:0; transition:transform .4s cubic-bezier(.22,1,.36,1),background .3s,box-shadow .3s; }
html.cx[data-theme="nord"][data-mode][data-style] :is(.btn.primary,.btn.info,.seg button.active) { color:#2e3440 !important; border:0 !important; background:linear-gradient(180deg,#9fd0de,#88c0d0) !important; box-shadow:inset 0 1px 0 #ffffff80,0 8px 18px -10px #88c0d0 !important; }
html.cx[data-theme="nord"][data-mode][data-style] :is(.btn:not(.primary):not(.info),.seg button:not(.active)) { color:var(--nd-ink); border:1px solid #d8dee933 !important; background:#eceff40d !important; box-shadow:none !important; backdrop-filter:blur(10px); }
html.cx[data-theme="nord"][data-mode][data-style] :is(.btn,.seg button):hover { transform:translateY(-1px); }
html.cx[data-theme="nord"][data-mode][data-style] :is(input,select,textarea) { border-radius:12px !important; border:1px solid #d8dee933; background:var(--nd-panel); }
html.cx[data-theme="nord"][data-mode][data-style] :is(.card,.stat,.panel):not(.station-card):not(.add-card) { border-radius:20px !important; border:1px solid #d8dee924 !important; background:var(--nd-panel) !important; backdrop-filter:blur(20px) saturate(1.2); box-shadow:inset 0 1px 0 #ffffff14,0 24px 50px -30px #000 !important; }

/* ---------- dashboard: ice slabs ---------- */
html.cx[data-theme="nord"][data-mode][data-style] .station-grid { display:flex !important; flex-wrap:wrap; justify-content:center; gap:28px !important; padding:30px 0 50px; }
html.cx[data-theme="nord"][data-mode][data-style] .station-grid > .station-card {
  width:310px; min-height:0; box-sizing:border-box; padding:34px 26px 22px !important; position:relative; color:var(--nd-ink);
  border:1px solid #ffffff2a !important; border-radius:24px !important;
  background:linear-gradient(160deg,#ffffff24,#ffffff08 40%,#88c0d012) !important; backdrop-filter:blur(22px) saturate(1.3);
  box-shadow:inset 0 1px 0 #ffffff40,inset 0 -20px 40px -30px #88c0d0,0 26px 50px -30px #000 !important;
  animation:nd-settle .9s cubic-bezier(.22,1,.36,1) backwards; transition:transform .6s cubic-bezier(.22,1,.36,1);
}
html.cx[data-theme="nord"][data-mode="light"][data-style] .station-grid > .station-card { background:linear-gradient(160deg,#ffffffd9,#ffffffa6 60%,#e5f2f6cc) !important; border-color:#ffffff !important; }
html.cx[data-theme="nord"][data-mode][data-style] .station-grid > .station-card:nth-child(2) { animation-delay:.12s; }
/* Snow cap */
html.cx[data-theme="nord"][data-mode][data-style] .station-grid > .station-card::before {
  content:"" !important; display:block !important; position:absolute; inset:auto; left:-1px; right:-1px; top:-6px; height:16px; opacity:1;
  background:linear-gradient(180deg,#ffffff,#eef6f9) !important; border-radius:24px 24px 60% 40% / 18px 18px 100% 70%;
  box-shadow:0 3px 6px -2px #88c0d080,inset 0 -2px 3px #d8eef4;
}
html.cx[data-theme="nord"][data-mode][data-style] .station-grid > .station-card::after { display:none !important; }
html.cx[data-theme="nord"][data-mode][data-style] .station-card :is(h3,.sc-bal-num,.ov-v) { color:var(--nd-ink) !important; }
html.cx[data-theme="nord"][data-mode][data-style] .station-card :is(.meta,.sc-bal-label,.sc-bal-suffix,.ov-l,.muted) { color:var(--nd-dim) !important; }
html.cx[data-theme="nord"][data-mode][data-style] .station-card h3 { font-size:20px; }
html.cx[data-theme="nord"][data-mode][data-style] .station-card .sc-badge { font:600 10px var(--font); letter-spacing:.08em; text-transform:uppercase; color:#2e3440; background:#88c0d0; border:0; border-radius:999px; padding:3px 9px; }
html.cx[data-theme="nord"][data-mode][data-style] .station-card .sc-balance { background:none !important; border:0 !important; box-shadow:none !important; padding:12px 0 8px; margin:0; }
html.cx[data-theme="nord"][data-mode][data-style] .station-card .sc-bal-num { font-size:34px; }
html.cx[data-theme="nord"][data-mode][data-style] .station-card .sc-bal-label { font:600 10px var(--font); letter-spacing:.14em; text-transform:uppercase; }
html.cx[data-theme="nord"][data-mode][data-style] .station-card .sc-prices { gap:6px; margin:6px 0 8px; }
html.cx[data-theme="nord"][data-mode][data-style] .station-card .gp { font:600 12px var(--font); border:1px solid #d8dee933 !important; background:#eceff410 !important; color:var(--nd-ink) !important; border-radius:10px; padding:4px 9px; }
html.cx[data-theme="nord"][data-mode][data-style] .station-card .sc-rows { border:0; margin:0; padding:0; }
html.cx[data-theme="nord"][data-mode][data-style] .station-card :is(.ov-row:first-child,.ov-l) { display:none; }
html.cx[data-theme="nord"][data-mode][data-style] .station-card .ov-row { border:0; font-size:12px; }
html.cx[data-theme="nord"][data-mode][data-style] .station-grid > .add-card { width:150px; height:150px; min-height:0; padding:0 !important; align-self:center; display:flex !important; align-items:center; justify-content:center; text-align:center; border-radius:24px !important; border:1.5px dashed #88c0d077 !important; background:transparent !important; box-shadow:none !important; font:600 13px var(--font); color:var(--nd-frost) !important; }
html.cx[data-theme="nord"][data-mode][data-style] .station-grid > .add-card::before,html.cx[data-theme="nord"][data-mode][data-style] .station-grid > .add-card::after { display:none !important; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) { html.cx[data-theme="nord"][data-mode][data-style] .station-grid > .station-card:hover { transform:translateY(-6px); } }

/* ---------- station page: fjord stones ---------- */
.sn-nord { margin:8px 0 22px; }
.sn-nord .nd-secs { display:flex; flex-wrap:wrap; gap:8px; padding:6px; border-radius:22px; background:var(--nd-panel); border:1px solid #d8dee924; backdrop-filter:blur(16px); width:max-content; max-width:100%; }
html.cx .sn-nord button.nd-sec { display:flex; align-items:center; gap:8px; padding:9px 16px; border-radius:16px; font:600 13px var(--font); color:var(--nd-dim); transition:background .35s,color .35s,transform .45s cubic-bezier(.22,1,.36,1); animation:nd-settle .6s cubic-bezier(.22,1,.36,1) calc(var(--n) * 50ms) backwards; }
.sn-nord .nd-ico { color:var(--c); font-size:12px; }
html.cx .sn-nord button.nd-sec:hover { color:var(--nd-ink); background:#eceff40d; }
html.cx .sn-nord button.nd-sec[aria-selected="true"] { color:#2e3440; background:linear-gradient(180deg,color-mix(in srgb,var(--c) 70%,#fff),var(--c)); box-shadow:0 8px 16px -10px var(--c); }
html.cx .sn-nord button.nd-sec[aria-selected="true"] .nd-ico { color:#2e3440; }
.sn-nord .nd-tray { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.sn-nord .nd-tray.in > * { animation:nd-settle .55s cubic-bezier(.22,1,.36,1) calc(var(--n) * 45ms) backwards; }
html.cx .sn-nord button.nd-pg { display:inline-flex; align-items:center; gap:8px; padding:10px 16px; border-radius:14px; font:500 13px var(--font); color:var(--nd-ink); background:var(--nd-panel); border:1px solid #d8dee920; backdrop-filter:blur(14px); transition:transform .4s cubic-bezier(.22,1,.36,1),border-color .3s; }
html.cx .sn-nord button.nd-pg:hover { transform:translateY(-2px); border-color:color-mix(in srgb,var(--c) 60%,transparent); }
html.cx .sn-nord button.nd-pg[aria-current="page"] { color:#2e3440; font-weight:700; background:#eceff4; border-color:#fff; }

html.cx[data-theme="nord"][data-mode][data-style] .month-bar .title { font-size:26px; }
html.cx[data-theme="nord"][data-mode][data-style] .stat .label { font:600 10px var(--font); letter-spacing:.12em; text-transform:uppercase; color:var(--nd-dim); }
html.cx[data-theme="nord"][data-mode][data-style] .stat .value { font-size:28px; }
html.cx[data-theme="nord"][data-mode][data-style] .station-stats-side .stat { border-radius:16px !important; border-left:0 !important; }
html.cx[data-theme="nord"][data-mode][data-style] .cal .dow { font:600 11px var(--font); letter-spacing:.12em; color:var(--nd-dim); }
html.cx[data-theme="nord"][data-mode][data-style] .cal .day:not(.empty) { border-radius:16px !important; border:1px solid #d8dee91c !important; background:var(--nd-panel) !important; box-shadow:none !important; transition:transform .4s cubic-bezier(.22,1,.36,1); }
html.cx[data-theme="nord"][data-mode][data-style] .cal .day.empty { background:transparent !important; border:0 !important; box-shadow:none !important; }
html.cx[data-theme="nord"][data-mode][data-style] .cal .day .num { font-size:22px; }
html.cx[data-theme="nord"][data-mode][data-style] .cal .day .badge { border-radius:8px; background:#88c0d01f; color:inherit; border:0; }
html.cx[data-theme="nord"][data-mode][data-style] .cal .day.today { background:linear-gradient(180deg,#eceff4,#d8eef4) !important; border-color:#fff !important; }
html.cx[data-theme="nord"][data-mode][data-style] .cal .day.today :is(.num,.muted,div,span) { color:#2e3440 !important; }
@media (hover:hover) { html.cx[data-theme="nord"][data-mode][data-style] .cal .day:not(.empty):hover { transform:translateY(-2px); } }

/* =====================================================================================================
   TERMINAL — a green-phosphor CRT. VT323-like DM Mono + Press Start 2P headings; terminal-window stations
   with a title bar and blinking cursor; a shell prompt to `cd` into sections; pages printed like `ls`.
   ===================================================================================================== */
html.cx[data-theme="terminal"] {
  --tm-g:#4ade80; --tm-bright:#b9ffb9; --tm-dim:#3f8f55; --tm-bg:#040804; --tm-panel:#071107; --tm-glow:0 0 6px #22c55e88;
  --font:"DM Mono",ui-monospace,Menlo,monospace; --tm-display:"Press Start 2P","DM Mono",monospace; --radius:2px; --radius-btn:0px;
}
html.cx[data-theme="terminal"][data-mode="light"] { --tm-g:#15803d; --tm-bright:#14532d; --tm-dim:#4d7c5b; --tm-panel:#f4fbf4; --tm-glow:none; }
html.cx[data-theme="terminal"][data-mode][data-style] body { font-family:var(--font); background:radial-gradient(120% 90% at 50% 40%,#0a160a,#020402 85%); }
html.cx[data-theme="terminal"][data-mode="light"][data-style] body { background:#e9f5e9; }
html.cx[data-theme="terminal"] #cx-art .cx-a { inset:0; background:repeating-linear-gradient(180deg,#00000000 0 2px,#0000002e 2px 3px); opacity:.5; z-index:3; }
html.cx[data-theme="terminal"] #cx-art .cx-b { left:0; right:0; height:22vh; top:-22vh; background:linear-gradient(180deg,transparent,#22c55e0c,transparent); animation:tm-roll 7s linear infinite; }
html.cx[data-theme="terminal"][data-mode="light"] #cx-art .cx-a { display:none; }
html.cx[data-theme="terminal"] #cx-art { z-index:2; }
@keyframes tm-roll { to { transform:translateY(130vh); } }
@keyframes tm-blink { 50% { opacity:0; } }
@keyframes tm-print { from { clip-path:inset(0 100% 0 0); } to { clip-path:inset(0); } }

html.cx[data-theme="terminal"][data-mode][data-style] * { text-shadow:var(--tm-glow); }
html.cx[data-theme="terminal"][data-mode][data-style] :is(h1,h2,h3,h4,.brand) { font-family:var(--tm-display); font-weight:400; letter-spacing:0; color:var(--tm-bright); }
html.cx[data-theme="terminal"][data-mode][data-style] .section-head h2 { font-size:clamp(20px,2vw,30px); line-height:1.4; color:var(--tm-bright); }
html.cx[data-theme="terminal"][data-mode][data-style] .section-head h2::before { content:"> "; color:var(--tm-g); }
html.cx[data-theme="terminal"][data-mode][data-style] .section-head h2::after { content:"█"; margin-left:.2em; color:var(--tm-g); animation:tm-blink 1.1s steps(1) infinite; }
html.cx[data-theme="terminal"][data-mode][data-style] :is(.stat .value,.sc-bal-num,.month-bar .title,.cal .day .num) { font-family:var(--font); font-weight:500; color:var(--tm-bright); }
html.cx[data-theme="terminal"][data-mode][data-style] :is(p,span,div,td,label,.muted) { color:inherit; }

html.cx[data-theme="terminal"][data-mode][data-style] :is(.btn,.seg button) { border-radius:0 !important; font:500 13px var(--font); text-transform:uppercase; letter-spacing:.06em; transition:none; }
html.cx[data-theme="terminal"][data-mode][data-style] :is(.btn.primary,.btn.info,.seg button.active) { color:var(--tm-bg) !important; border:1px solid var(--tm-g) !important; background:var(--tm-g) !important; box-shadow:0 0 12px #22c55e66 !important; text-shadow:none; }
html.cx[data-theme="terminal"][data-mode][data-style] :is(.btn:not(.primary):not(.info),.seg button:not(.active)) { color:var(--tm-g); border:1px solid var(--tm-dim) !important; background:transparent !important; box-shadow:none !important; }
html.cx[data-theme="terminal"][data-mode][data-style] :is(.btn:not(.primary):not(.info),.seg button:not(.active))::before { content:"[ "; }
html.cx[data-theme="terminal"][data-mode][data-style] :is(.btn:not(.primary):not(.info),.seg button:not(.active))::after { content:" ]"; }
html.cx[data-theme="terminal"][data-mode][data-style] :is(.btn,.seg button):hover { color:var(--tm-bg) !important; background:var(--tm-g) !important; text-shadow:none; }
html.cx[data-theme="terminal"][data-mode][data-style] :is(input,select,textarea) { border-radius:0 !important; border:1px solid var(--tm-dim); background:var(--tm-panel); color:var(--tm-bright); font-family:var(--font); caret-color:var(--tm-g); }
html.cx[data-theme="terminal"][data-mode][data-style] :is(.card,.stat,.panel):not(.station-card):not(.add-card) { border-radius:0 !important; border:1px solid var(--tm-dim) !important; background:var(--tm-panel) !important; box-shadow:0 0 18px -6px #22c55e44 !important; color:var(--tm-g); }

/* ---------- dashboard: terminal windows ---------- */
html.cx[data-theme="terminal"][data-mode][data-style] .station-grid { display:grid !important; grid-template-columns:repeat(auto-fill,minmax(300px,340px)) !important; gap:26px !important; padding:20px 0 50px; }
html.cx[data-theme="terminal"][data-mode][data-style] .station-grid > .station-card {
  min-height:0; padding:40px 18px 16px !important; position:relative; color:var(--tm-g);
  border:1px solid var(--tm-g) !important; border-radius:4px !important; background:var(--tm-panel) !important; box-shadow:0 0 0 1px #000,0 0 24px -6px #22c55e88 !important;
  animation:tm-print .6s steps(12,end) backwards;
}
html.cx[data-theme="terminal"][data-mode][data-style] .station-grid > .station-card:nth-child(2) { animation-delay:.25s; }
html.cx[data-theme="terminal"][data-mode][data-style] .station-grid > .station-card::before {
  content:"● ● ●   ~/stations/" !important; display:block !important; position:absolute; inset:0 0 auto 0; height:26px; line-height:26px; padding:0 12px; opacity:1;
  font:500 11px var(--font); letter-spacing:.06em; color:var(--tm-bg); background:var(--tm-g) !important; text-shadow:none;
}
html.cx[data-theme="terminal"][data-mode][data-style] .station-grid > .station-card::after { content:"█" !important; display:block !important; position:absolute; inset:auto; right:12px; top:4px; color:var(--tm-bg); animation:tm-blink 1s steps(1) infinite; background:none !important; opacity:1; width:auto; height:auto; }
html.cx[data-theme="terminal"][data-mode][data-style] .station-card :is(h3,.sc-bal-num,.ov-v) { color:var(--tm-bright) !important; }
html.cx[data-theme="terminal"][data-mode][data-style] .station-card :is(.meta,.sc-bal-label,.sc-bal-suffix,.ov-l,.muted,.gp) { color:var(--tm-g) !important; }
html.cx[data-theme="terminal"][data-mode][data-style] .station-card h3 { font:400 13px/1.5 var(--tm-display); }
html.cx[data-theme="terminal"][data-mode][data-style] .station-card h3::before { content:"$ cat "; font:500 13px var(--font); color:var(--tm-g); }
html.cx[data-theme="terminal"][data-mode][data-style] .station-card .meta { font:500 12px var(--font); }
html.cx[data-theme="terminal"][data-mode][data-style] .station-card .meta::before { content:"# "; }
html.cx[data-theme="terminal"][data-mode][data-style] .station-card .sc-badge { font:500 10px var(--font); text-transform:uppercase; color:var(--tm-bg); background:var(--tm-dim); border:0; border-radius:0; padding:2px 6px; text-shadow:none; }
html.cx[data-theme="terminal"][data-mode][data-style] .station-card .sc-balance { background:none !important; border:0 !important; box-shadow:none !important; padding:10px 0 6px; margin:0; }
html.cx[data-theme="terminal"][data-mode][data-style] .station-card .sc-bal-num { font-size:26px; }
html.cx[data-theme="terminal"][data-mode][data-style] .station-card .sc-bal-label { font-size:0 !important; }
html.cx[data-theme="terminal"][data-mode][data-style] .station-card .sc-bal-label::before { content:"└─ " attr(data-term); font:500 11px var(--font); opacity:.7; }
html.cx[data-theme="terminal"][data-mode][data-style] .station-card .sc-prices { gap:10px; margin:8px 0; }
html.cx[data-theme="terminal"][data-mode][data-style] .station-card .gp { font:500 12px var(--font); border:0 !important; background:transparent !important; border-radius:0; padding:0; }
html.cx[data-theme="terminal"][data-mode][data-style] .station-card .sc-rows { border:0; margin:0; padding:0; }
html.cx[data-theme="terminal"][data-mode][data-style] .station-card .ov-row { border:0; padding:1px 0; font:500 12px var(--font); }
html.cx[data-theme="terminal"][data-mode][data-style] .station-grid > .add-card { min-height:120px; display:flex !important; align-items:center; justify-content:center; border:1px dashed var(--tm-dim) !important; border-radius:4px !important; background:transparent !important; box-shadow:none !important; font:500 13px var(--font); color:var(--tm-g) !important; }
html.cx[data-theme="terminal"][data-mode][data-style] .station-grid > .add-card::before { content:"$ " !important; display:inline !important; position:static; background:none !important; opacity:1; }
html.cx[data-theme="terminal"][data-mode][data-style] .station-grid > .add-card::after { display:none !important; }
@media (hover:hover) { html.cx[data-theme="terminal"][data-mode][data-style] .station-grid > .station-card:hover { box-shadow:0 0 0 1px #000,0 0 40px -4px #22c55e !important; } }

/* ---------- station page: the shell ---------- */
.sn-terminal { margin:8px 0 22px; padding:14px 16px; border:1px solid var(--tm-dim); background:var(--tm-panel); font:500 14px/1.7 var(--font); color:var(--tm-g); }
.sn-terminal .tm-secs { display:flex; flex-wrap:wrap; align-items:baseline; gap:2px 14px; }
.sn-terminal .tm-secs::before { content:"admin@portal:~$ cd"; color:var(--tm-bright); margin-right:4px; }
.sn-terminal .tm-ico { display:none; }
html.cx .sn-terminal button.tm-sec { font:500 14px var(--font); color:var(--tm-dim); text-transform:lowercase; }
html.cx .sn-terminal button.tm-sec b { font-weight:500; }
html.cx .sn-terminal button.tm-sec b::after { content:"/"; }
html.cx .sn-terminal button.tm-sec:hover { color:var(--tm-g); text-decoration:underline; }
html.cx .sn-terminal button.tm-sec[aria-selected="true"] { color:var(--tm-bg); background:var(--tm-g); padding:0 4px; text-shadow:none; }
.sn-terminal .tm-tray { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:0 20px; margin-top:8px; padding-top:8px; border-top:1px dashed var(--tm-dim); }
.sn-terminal .tm-tray::before { content:"$ ls -1"; grid-column:1 / -1; color:var(--tm-bright); }
.sn-terminal .tm-tray.in > * { animation:tm-print .3s steps(8,end) calc(var(--n) * 50ms) backwards; }
html.cx .sn-terminal button.tm-pg { display:flex; gap:8px; font:500 14px var(--font); color:var(--tm-g); padding:1px 0; }
html.cx .sn-terminal button.tm-pg > span { display:none; }
html.cx .sn-terminal button.tm-pg::before { content:"./"; color:var(--tm-dim); }
html.cx .sn-terminal button.tm-pg:hover { color:var(--tm-bright); }
html.cx .sn-terminal button.tm-pg[aria-current="page"] { color:var(--tm-bg); background:var(--tm-g); text-shadow:none; }
html.cx .sn-terminal button.tm-pg[aria-current="page"]::after { content:" ◀ running"; }

html.cx[data-theme="terminal"][data-mode][data-style] .month-bar .title { font-size:20px; }
html.cx[data-theme="terminal"][data-mode][data-style] .stat .label { font:500 11px var(--font); text-transform:uppercase; color:var(--tm-dim); }
html.cx[data-theme="terminal"][data-mode][data-style] .stat .value { font-size:22px; }
html.cx[data-theme="terminal"][data-mode][data-style] .station-stats-side .stat { border-left:0 !important; }
html.cx[data-theme="terminal"][data-mode][data-style] .cal .dow { font:500 12px var(--font); text-transform:lowercase; color:var(--tm-dim); }
html.cx[data-theme="terminal"][data-mode][data-style] .cal .day:not(.empty) { border-radius:0 !important; border:1px solid #22c55e33 !important; background:var(--tm-panel) !important; box-shadow:none !important; color:var(--tm-g); }
html.cx[data-theme="terminal"][data-mode][data-style] .cal .day.empty { background:transparent !important; border:0 !important; box-shadow:none !important; }
html.cx[data-theme="terminal"][data-mode][data-style] .cal .day .num { font-size:18px; }
html.cx[data-theme="terminal"][data-mode][data-style] .cal .day .badge { border-radius:0; background:transparent; border:0; color:var(--tm-dim); font-family:var(--font); padding:0 2px; }
html.cx[data-theme="terminal"][data-mode][data-style] .cal .day .badge::before { content:"["; }
html.cx[data-theme="terminal"][data-mode][data-style] .cal .day .badge::after { content:"]"; }
html.cx[data-theme="terminal"][data-mode][data-style] .cal .day.today { background:var(--tm-g) !important; border-color:var(--tm-g) !important; }
html.cx[data-theme="terminal"][data-mode][data-style] .cal .day.today :is(.num,.muted,div,span) { color:var(--tm-bg) !important; text-shadow:none; }
@media (hover:hover) { html.cx[data-theme="terminal"][data-mode][data-style] .cal .day:not(.empty):hover { border-color:var(--tm-g) !important; } }

/* =====================================================================================================
   MOCHA — a coffee house. Caveat chalk lettering + Georgia; chalkboard menu stations in a wood frame;
   a café menu board for sections with menu-item pages; steam curling up behind the page.
   ===================================================================================================== */
html.cx[data-theme="mocha"] {
  --mc-chalk:#f2ede4; --mc-crema:#e0b978; --mc-coffee:#c08457; --mc-wood:#6b4426; --mc-board:#2b2e2a; --mc-ink:#f2e6dc; --mc-dim:#c2ab98; --mc-panel:color-mix(in srgb,#31211a 86%,transparent);
  --font:Georgia,"Times New Roman",serif; --mc-hand:"Caveat","Marker Felt",cursive; --radius:10px; --radius-btn:8px;
}
html.cx[data-theme="mocha"][data-mode="light"] { --mc-ink:#3a2418; --mc-dim:#7c5a44; --mc-panel:#fbf5efe8; }
html.cx[data-theme="mocha"][data-mode][data-style] body { font-family:var(--font); background:radial-gradient(900px 600px at 30% 0,#2b1c14,transparent 70%),#17100c; }
html.cx[data-theme="mocha"][data-mode="light"][data-style] body { background:radial-gradient(900px 600px at 30% 0,#fff,transparent 70%),#f3e9e0; }
html.cx[data-theme="mocha"] #cx-art > i { bottom:-10vh; width:12vw; height:60vh; border-radius:50%; background:radial-gradient(closest-side,#ffffff26,transparent); filter:blur(18px); animation:mc-steam 9s ease-in infinite; }
html.cx[data-theme="mocha"] #cx-art .cx-a { left:18vw; }
html.cx[data-theme="mocha"] #cx-art .cx-b { left:48vw; animation-delay:-3s; animation-duration:11s; }
html.cx[data-theme="mocha"] #cx-art .cx-c { left:76vw; animation-delay:-6s; animation-duration:10s; }
html.cx[data-theme="mocha"][data-mode="light"] #cx-art > i { background:radial-gradient(closest-side,#c0845726,transparent); }
@keyframes mc-steam { 0% { transform:translateY(0) scaleX(.6) skewX(0); opacity:0; } 30% { opacity:.9; } 100% { transform:translateY(-70vh) scaleX(1.4) skewX(18deg); opacity:0; } }
@keyframes mc-chalk { from { clip-path:inset(0 100% 0 0); } to { clip-path:inset(0); } }

html.cx[data-theme="mocha"][data-mode][data-style] :is(h1,h2,h3,h4,.brand) { font-family:var(--font); font-weight:700; letter-spacing:0; }
html.cx[data-theme="mocha"][data-mode][data-style] .section-head h2 { font:700 clamp(40px,4vw,62px)/1 var(--mc-hand); color:var(--mc-ink); }
html.cx[data-theme="mocha"][data-mode][data-style] .section-head h2::after { content:" ☕"; font-size:.6em; }
html.cx[data-theme="mocha"][data-mode][data-style] :is(.stat .value,.sc-bal-num,.month-bar .title) { font-family:var(--font); font-weight:700; font-variant-numeric:lining-nums; }

html.cx[data-theme="mocha"][data-mode][data-style] :is(.btn,.seg button) { border-radius:8px !important; font:700 13px var(--font); letter-spacing:.02em; text-transform:none; transition:transform .25s,box-shadow .25s; }
html.cx[data-theme="mocha"][data-mode][data-style] :is(.btn.primary,.btn.info,.seg button.active) { color:#2a1a10 !important; border:0 !important; background:linear-gradient(180deg,#ecd3a4,#e0b978 50%,#c9965a) !important; box-shadow:inset 0 1px 0 #fff8,0 3px 0 #7a5131 !important; }
html.cx[data-theme="mocha"][data-mode][data-style] :is(.btn:not(.primary):not(.info),.seg button:not(.active)) { color:var(--mc-ink); border:1px solid #c0845766 !important; background:#c084570f !important; box-shadow:none !important; }
html.cx[data-theme="mocha"][data-mode][data-style] :is(.btn,.seg button):active { transform:translateY(2px); }
html.cx[data-theme="mocha"][data-mode][data-style] :is(input,select,textarea) { border-radius:8px !important; border:1px solid #c0845755; background:var(--mc-panel); }
html.cx[data-theme="mocha"][data-mode][data-style] :is(.card,.stat,.panel):not(.station-card):not(.add-card) { border-radius:12px !important; border:1px solid #c0845730 !important; background:var(--mc-panel) !important; box-shadow:0 20px 34px -26px #000 !important; }

/* ---------- dashboard: chalkboard menu cards ---------- */
html.cx[data-theme="mocha"][data-mode][data-style] .station-grid { display:flex !important; flex-wrap:wrap; justify-content:center; gap:30px !important; padding:24px 0 50px; }
html.cx[data-theme="mocha"][data-mode][data-style] .station-grid > .station-card {
  width:320px; min-height:0; box-sizing:border-box; padding:22px 24px 20px !important; position:relative; color:var(--mc-chalk); text-align:center;
  border:12px solid #6b4426 !important; border-radius:6px !important;
  background:radial-gradient(70% 60% at 30% 20%,#3a3f39,transparent 70%),radial-gradient(60% 50% at 80% 90%,#ffffff08,transparent),#2b2e2a !important;
  box-shadow:inset 0 0 0 1px #00000088,inset 0 0 30px #0007,0 0 0 2px #3d2512,0 22px 34px -18px #000c,inset 0 2px 0 #ffffff10 !important;
  animation:mc-chalk .9s cubic-bezier(.22,1,.36,1) backwards; transition:transform .5s cubic-bezier(.22,1,.36,1);
}
html.cx[data-theme="mocha"][data-mode][data-style] .station-grid > .station-card:nth-child(2) { animation-delay:.15s; }
html.cx[data-theme="mocha"][data-mode][data-style] .station-grid > .station-card::before { content:"~ today's menu ~" !important; display:block !important; position:static; margin:0 0 4px; font:500 15px var(--mc-hand); color:var(--mc-crema); background:none !important; opacity:1; height:auto; }
html.cx[data-theme="mocha"][data-mode][data-style] .station-grid > .station-card::after { display:none !important; }
html.cx[data-theme="mocha"][data-mode][data-style] .station-card :is(h3,.meta,.sc-bal-num,.sc-bal-label,.sc-bal-suffix,.ov-l,.ov-v,.gp,.muted) { color:var(--mc-chalk) !important; }
html.cx[data-theme="mocha"][data-mode][data-style] .station-card .sc-head { flex-direction:column; align-items:center; gap:0; }
html.cx[data-theme="mocha"][data-mode][data-style] .station-card h3 { font:700 32px/1 var(--mc-hand); }
html.cx[data-theme="mocha"][data-mode][data-style] .station-card .meta { font:500 17px var(--mc-hand); opacity:.75; }
html.cx[data-theme="mocha"][data-mode][data-style] .station-card .sc-badge { display:none; }
html.cx[data-theme="mocha"][data-mode][data-style] .station-card .sc-balance { background:none !important; border:0 !important; box-shadow:none !important; padding:6px 0; margin:8px 0; border-block:1px dashed #f2ede444 !important; border-radius:0; }
html.cx[data-theme="mocha"][data-mode][data-style] .station-card .sc-bal-num { font:700 34px var(--mc-hand); color:var(--mc-crema) !important; }
html.cx[data-theme="mocha"][data-mode][data-style] .station-card .sc-bal-suffix { font:500 18px var(--mc-hand); }
html.cx[data-theme="mocha"][data-mode][data-style] .station-card .sc-bal-label { font:500 15px var(--mc-hand); opacity:.75; }
html.cx[data-theme="mocha"][data-mode][data-style] .station-card .sc-prices { justify-content:center; gap:14px; margin:6px 0; }
html.cx[data-theme="mocha"][data-mode][data-style] .station-card .gp { font:700 18px var(--mc-hand); border:0 !important; background:transparent !important; padding:0; border-radius:0; }
html.cx[data-theme="mocha"][data-mode][data-style] .station-card .sc-rows { border:0; margin:0; padding:0; }
html.cx[data-theme="mocha"][data-mode][data-style] .station-card :is(.ov-row:first-child,.ov-l) { display:none; }
html.cx[data-theme="mocha"][data-mode][data-style] .station-card .ov-row { border:0; justify-content:center; font:500 17px var(--mc-hand); opacity:.85; }
html.cx[data-theme="mocha"][data-mode][data-style] .station-grid > .add-card { width:150px; height:150px; min-height:0; padding:0 !important; align-self:center; display:flex !important; align-items:center; justify-content:center; text-align:center; border-radius:50% !important; border:3px dashed #c0845777 !important; background:transparent !important; box-shadow:none !important; font:700 20px var(--mc-hand); color:var(--mc-crema) !important; }
html.cx[data-theme="mocha"][data-mode][data-style] .station-grid > .add-card::before,html.cx[data-theme="mocha"][data-mode][data-style] .station-grid > .add-card::after { display:none !important; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) { html.cx[data-theme="mocha"][data-mode][data-style] .station-grid > .station-card:hover { transform:rotate(-1.2deg) translateY(-4px); } }

/* ---------- station page: the menu board ---------- */
.sn-mocha { margin:8px 0 22px; padding:16px 20px 18px; border:10px solid #6b4426; border-radius:6px; background:radial-gradient(70% 70% at 30% 20%,#3a3f39,transparent 70%),#2b2e2a; box-shadow:0 0 0 2px #3d2512,inset 0 0 26px #0008,0 16px 30px -20px #000; color:var(--mc-chalk); }
.sn-mocha .mc-secs { display:flex; flex-wrap:wrap; gap:6px 26px; padding-bottom:10px; border-bottom:1px dashed #f2ede440; }
html.cx .sn-mocha button.mc-sec { display:flex; align-items:center; gap:6px; font:700 25px var(--mc-hand); color:#f2ede4aa; transition:color .3s,transform .35s cubic-bezier(.22,1,.36,1); }
.sn-mocha .mc-ico { font-size:16px; }
html.cx .sn-mocha button.mc-sec:hover { color:#f2ede4; transform:rotate(-2deg); }
html.cx .sn-mocha button.mc-sec[aria-selected="true"] { color:var(--c); text-decoration:underline wavy; text-decoration-thickness:1.5px; text-underline-offset:6px; }
.sn-mocha .mc-tray { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:2px 30px; margin-top:12px; }
.sn-mocha .mc-tray.in > * { animation:mc-chalk .5s cubic-bezier(.22,1,.36,1) calc(var(--n) * 60ms) backwards; }
html.cx .sn-mocha button.mc-pg { display:flex; align-items:baseline; gap:6px; padding:5px 2px; font:500 20px var(--mc-hand); color:#f2ede4; }
html.cx .sn-mocha button.mc-pg > span { font-size:15px; }
html.cx .sn-mocha button.mc-pg::after { content:""; flex:1; border-bottom:2px dotted #f2ede444; margin:0 0 6px 6px; order:3; }
html.cx .sn-mocha button.mc-pg:hover { color:var(--mc-crema); }
html.cx .sn-mocha button.mc-pg[aria-current="page"] { color:var(--mc-crema); font-weight:700; }
html.cx .sn-mocha button.mc-pg[aria-current="page"]::before { content:"♥"; order:4; font-size:14px; color:var(--mc-crema); }

html.cx[data-theme="mocha"][data-mode][data-style] .month-bar .title { font:700 32px var(--mc-hand); }
html.cx[data-theme="mocha"][data-mode][data-style] .stat .label { font:500 16px var(--mc-hand); text-transform:none; letter-spacing:0; color:var(--mc-dim); }
html.cx[data-theme="mocha"][data-mode][data-style] .stat .value { font-size:24px; }
html.cx[data-theme="mocha"][data-mode][data-style] .station-stats-side .stat { border-left:0 !important; border-radius:10px !important; }
html.cx[data-theme="mocha"][data-mode][data-style] .cal .dow { font:700 18px var(--mc-hand); color:var(--mc-dim); text-transform:none; letter-spacing:0; }
html.cx[data-theme="mocha"][data-mode][data-style] .cal .day:not(.empty) { border-radius:10px !important; border:1px solid #c0845726 !important; background:var(--mc-panel) !important; box-shadow:none !important; transition:transform .3s; }
html.cx[data-theme="mocha"][data-mode][data-style] .cal .day.empty { background:transparent !important; border:0 !important; box-shadow:none !important; }
html.cx[data-theme="mocha"][data-mode][data-style] .cal .day .num { font:700 26px var(--mc-hand); }
html.cx[data-theme="mocha"][data-mode][data-style] .cal .day .badge { border-radius:6px; background:#c084571f; color:inherit; border:0; }
html.cx[data-theme="mocha"][data-mode][data-style] .cal .day.today { background:radial-gradient(circle at 76% 72%,transparent 0 13px,#e0b97888 13px 15px,transparent 15px 17px,#c0845766 17px 18px,transparent 18px),#2b2e2a !important; border:2px solid #6b4426 !important; }
html.cx[data-theme="mocha"][data-mode][data-style] .cal .day.today :is(.num,.muted,div,span) { color:#f2ede4 !important; }
@media (hover:hover) { html.cx[data-theme="mocha"][data-mode][data-style] .cal .day:not(.empty):hover { transform:translateY(-2px); } }

/* =====================================================================================================
   WINE — a cellar. Playfair Display + Didot; cream wine-label stations with a burgundy double frame,
   crest and vintage line; a bottle rack for sections; italic tasting-note pages; candlelight flicker.
   ===================================================================================================== */
html.cx[data-theme="wine"] {
  --wn-b:#be123c; --wn-deep:#4c0519; --wn-gold:#c8a24a; --wn-cream:#f6efe0; --wn-ink:#ffe1e7; --wn-dim:#d49aa8; --wn-panel:color-mix(in srgb,#360f1e 86%,transparent);
  --font:Didot,"Bodoni 72","Playfair Display",Georgia,serif; --wn-display:"Playfair Display",Didot,Georgia,serif; --radius:4px; --radius-btn:3px;
}
html.cx[data-theme="wine"][data-mode="light"] { --wn-ink:#4c0519; --wn-dim:#8a4a5a; --wn-panel:#fffaf6f0; }
html.cx[data-theme="wine"][data-mode][data-style] body { font-family:var(--font); background:radial-gradient(800px 500px at 50% 10%,#3b0a1c,transparent 70%),#140509; }
html.cx[data-theme="wine"][data-mode="light"][data-style] body { background:radial-gradient(800px 500px at 50% 10%,#fff,transparent 70%),#fdeaee; }
html.cx[data-theme="wine"] #cx-art .cx-a { width:50vmax; height:50vmax; left:50%; top:-20vmax; margin-left:-25vmax; border-radius:50%; background:radial-gradient(closest-side,#f59e0b26,transparent); animation:wn-candle 4s ease-in-out infinite; }
html.cx[data-theme="wine"] #cx-art .cx-b { inset:0; box-shadow:inset 0 0 200px 60px #000a; }
html.cx[data-theme="wine"][data-mode="light"] #cx-art .cx-b { box-shadow:inset 0 0 180px 40px #be123c22; }
@keyframes wn-candle { 0%,100% { opacity:.8; transform:scale(1); } 30% { opacity:1; transform:scale(1.04); } 60% { opacity:.7; transform:scale(.98); } }
@keyframes wn-pour { from { transform:translateY(16px); opacity:0; filter:blur(3px); } to { transform:none; opacity:1; filter:none; } }

html.cx[data-theme="wine"][data-mode][data-style] :is(h1,h2,h3,h4,.brand) { font-family:var(--wn-display); font-weight:600; letter-spacing:.01em; }
html.cx[data-theme="wine"][data-mode][data-style] .section-head h2 { font-size:clamp(36px,3.6vw,56px); font-weight:800; font-style:italic; color:var(--wn-ink); }
html.cx[data-theme="wine"][data-mode][data-style] .section-head h2::after { content:""; display:block; width:120px; height:1px; margin-top:12px; background:linear-gradient(90deg,var(--wn-gold),transparent); }
html.cx[data-theme="wine"][data-mode][data-style] :is(.stat .value,.sc-bal-num,.month-bar .title,.cal .day .num) { font-family:var(--wn-display); font-weight:600; }

html.cx[data-theme="wine"][data-mode][data-style] :is(.btn,.seg button) { border-radius:3px !important; font:600 12px var(--wn-display); letter-spacing:.14em; text-transform:uppercase; transition:background .3s,color .3s,box-shadow .3s; }
html.cx[data-theme="wine"][data-mode][data-style] :is(.btn.primary,.btn.info,.seg button.active) { color:var(--wn-cream) !important; border:1px solid var(--wn-gold) !important; background:linear-gradient(180deg,#9f1239,#5f0a22) !important; box-shadow:inset 0 1px 0 #ffffff26,0 6px 16px -8px #000 !important; }
html.cx[data-theme="wine"][data-mode][data-style] :is(.btn:not(.primary):not(.info),.seg button:not(.active)) { color:var(--wn-ink); border:1px solid #c8a24a66 !important; background:transparent !important; box-shadow:none !important; }
html.cx[data-theme="wine"][data-mode][data-style] :is(.btn:not(.primary):not(.info),.seg button:not(.active)):hover { background:#c8a24a1a !important; }
html.cx[data-theme="wine"][data-mode][data-style] :is(input,select,textarea) { border-radius:2px !important; border:1px solid #c8a24a55; background:var(--wn-panel); }
html.cx[data-theme="wine"][data-mode][data-style] :is(.card,.stat,.panel):not(.station-card):not(.add-card) { border-radius:4px !important; border:1px solid #c8a24a33 !important; background:var(--wn-panel) !important; box-shadow:0 20px 34px -26px #000 !important; }

/* ---------- dashboard: wine labels ---------- */
html.cx[data-theme="wine"][data-mode][data-style] .station-grid { display:flex !important; flex-wrap:wrap; justify-content:center; gap:34px !important; padding:24px 0 50px; }
html.cx[data-theme="wine"][data-mode][data-style] .station-grid > .station-card {
  width:290px; min-height:0; box-sizing:border-box; padding:30px 26px 24px !important; text-align:center; position:relative; color:var(--wn-deep);
  border:0 !important; border-radius:0 !important;
  clip-path:polygon(14px 0,calc(100% - 14px) 0,100% 14px,100% calc(100% - 14px),calc(100% - 14px) 100%,14px 100%,0 calc(100% - 14px),0 14px);
  background:radial-gradient(90% 70% at 50% 30%,#fffdf6,#f6efe0 70%,#e8dcc4) !important;
  box-shadow:inset 0 0 0 8px #f6efe0,inset 0 0 0 9px #be123c,inset 0 0 0 12px #f6efe0,inset 0 0 0 13px #c8a24a !important;
  animation:wn-pour .9s cubic-bezier(.22,1,.36,1) backwards; transition:transform .5s cubic-bezier(.22,1,.36,1);
}
html.cx[data-theme="wine"][data-mode][data-style] .station-grid > .station-card:nth-child(2) { animation-delay:.12s; }
html.cx[data-theme="wine"][data-mode][data-style] .station-grid > .station-card::before { content:"❦" !important; display:block !important; position:static; margin:0 auto 2px; font-size:24px; color:#be123c; background:none !important; opacity:1; height:auto; width:auto; }
html.cx[data-theme="wine"][data-mode][data-style] .station-grid > .station-card::after { content:"Réserve · 2026" !important; display:block !important; position:static; margin-top:10px; font:italic 600 13px var(--wn-display); color:#9a7a3a; background:none !important; opacity:1; height:auto; width:auto; }
html.cx[data-theme="wine"][data-mode][data-style] .station-card :is(h3,.sc-bal-num,.ov-v,.gp) { color:var(--wn-deep) !important; }
html.cx[data-theme="wine"][data-mode][data-style] .station-card :is(.meta,.sc-bal-label,.sc-bal-suffix,.ov-l,.muted) { color:#8a4a5a !important; }
html.cx[data-theme="wine"][data-mode][data-style] .station-card .sc-head { flex-direction:column; align-items:center; gap:2px; }
html.cx[data-theme="wine"][data-mode][data-style] .station-card h3 { font:800 24px/1.05 var(--wn-display); text-transform:uppercase; letter-spacing:.04em; }
html.cx[data-theme="wine"][data-mode][data-style] .station-card .meta { font:italic 14px var(--font); }
html.cx[data-theme="wine"][data-mode][data-style] .station-card .sc-badge { display:none; }
html.cx[data-theme="wine"][data-mode][data-style] .station-card .sc-balance { background:none !important; border:0 !important; box-shadow:none !important; padding:8px 0; margin:10px 0 6px; border-block:1px solid #c8a24a !important; border-radius:0; }
html.cx[data-theme="wine"][data-mode][data-style] .station-card .sc-bal-num { font-size:28px; }
html.cx[data-theme="wine"][data-mode][data-style] .station-card .sc-bal-label { font:600 9px var(--wn-display); letter-spacing:.24em; text-transform:uppercase; }
html.cx[data-theme="wine"][data-mode][data-style] .station-card .sc-prices { justify-content:center; gap:10px; margin:6px 0 0; }
html.cx[data-theme="wine"][data-mode][data-style] .station-card .gp { font:italic 600 13px var(--wn-display); border:0 !important; background:transparent !important; padding:0; border-radius:0; }
html.cx[data-theme="wine"][data-mode][data-style] .station-card .sc-rows { display:none; }
html.cx[data-theme="wine"][data-mode][data-style] .station-grid > .add-card { width:150px; height:200px; min-height:0; padding:0 !important; align-self:center; display:flex !important; align-items:center; justify-content:center; text-align:center; border-radius:4px !important; border:1px dashed #c8a24a88 !important; background:transparent !important; box-shadow:none !important; font:italic 600 17px var(--wn-display); color:var(--wn-gold) !important; }
html.cx[data-theme="wine"][data-mode][data-style] .station-grid > .add-card::before,html.cx[data-theme="wine"][data-mode][data-style] .station-grid > .add-card::after { display:none !important; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) { html.cx[data-theme="wine"][data-mode][data-style] .station-grid > .station-card:hover { transform:translateY(-6px) rotate(-.6deg); } }

/* ---------- station page: the bottle rack ---------- */
.sn-wine { margin:8px 0 22px; }
.sn-wine .wn-secs { display:flex; flex-wrap:wrap; gap:16px; padding:14px 18px; border-radius:4px; background:linear-gradient(180deg,#2a1208,#1a0b05); box-shadow:inset 0 2px 10px #000; }
.sn-wine .wn-ico { display:none; }
html.cx .sn-wine button.wn-sec { display:flex; align-items:center; gap:10px; font:italic 600 17px var(--wn-display); color:#d9c9b0; transition:color .3s; }
/* Bottle base seen from the rack: dark glass with a coloured foil ring */
html.cx .sn-wine button.wn-sec::before { content:""; width:38px; height:38px; flex:none; border-radius:50%; background:radial-gradient(circle at 40% 35%,#3a4a3a,#0d140d 60%); box-shadow:0 0 0 4px var(--c),0 0 0 6px #0008,inset 0 0 8px #000; transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .3s; }
html.cx .sn-wine button.wn-sec:hover::before { transform:rotate(25deg) scale(1.06); }
html.cx .sn-wine button.wn-sec[aria-selected="true"] { color:#fff; }
html.cx .sn-wine button.wn-sec[aria-selected="true"]::before { transform:scale(1.12); box-shadow:0 0 0 4px var(--c),0 0 0 6px var(--wn-gold),0 0 18px var(--c); }
.sn-wine .wn-tray { display:flex; flex-wrap:wrap; gap:4px 22px; margin-top:14px; padding:0 6px; }
.sn-wine .wn-tray.in > * { animation:wn-pour .5s cubic-bezier(.22,1,.36,1) calc(var(--n) * 50ms) backwards; }
html.cx .sn-wine button.wn-pg { display:inline-flex; align-items:center; gap:8px; padding:6px 0; font:italic 500 17px var(--wn-display); color:var(--wn-ink); border-bottom:1px solid transparent; transition:border-color .3s,color .3s; }
html.cx .sn-wine button.wn-pg > span { font-style:normal; font-size:14px; }
html.cx .sn-wine button.wn-pg:hover { border-color:var(--wn-gold); }
html.cx .sn-wine button.wn-pg[aria-current="page"] { color:var(--wn-gold); border-color:var(--wn-gold); font-weight:700; }

html.cx[data-theme="wine"][data-mode][data-style] .month-bar .title { font-size:28px; font-style:italic; }
html.cx[data-theme="wine"][data-mode][data-style] .stat .label { font:600 10px var(--wn-display); letter-spacing:.2em; text-transform:uppercase; color:var(--wn-dim); }
html.cx[data-theme="wine"][data-mode][data-style] .stat .value { font-size:26px; }
html.cx[data-theme="wine"][data-mode][data-style] .station-stats-side .stat { border-left:0 !important; }
html.cx[data-theme="wine"][data-mode][data-style] .cal .dow { font:italic 600 15px var(--wn-display); color:var(--wn-dim); text-transform:none; letter-spacing:0; }
html.cx[data-theme="wine"][data-mode][data-style] .cal .day:not(.empty) { border-radius:3px !important; border:1px solid #c8a24a26 !important; background:var(--wn-panel) !important; box-shadow:none !important; transition:transform .3s; }
html.cx[data-theme="wine"][data-mode][data-style] .cal .day.empty { background:transparent !important; border:0 !important; box-shadow:none !important; }
html.cx[data-theme="wine"][data-mode][data-style] .cal .day .num { font-size:22px; font-style:italic; }
html.cx[data-theme="wine"][data-mode][data-style] .cal .day .badge { border-radius:2px; background:#be123c22; color:inherit; border:0; }
html.cx[data-theme="wine"][data-mode][data-style] .cal .day.today { background:linear-gradient(180deg,#9f1239,#4c0519) !important; border:1px solid var(--wn-gold) !important; }
html.cx[data-theme="wine"][data-mode][data-style] .cal .day.today :is(.num,.muted,div,span) { color:var(--wn-cream) !important; }
@media (hover:hover) { html.cx[data-theme="wine"][data-mode][data-style] .cal .day:not(.empty):hover { transform:translateY(-2px); } }

/* =====================================================================================================
   SUNBURST — 70s retro. Shrikhand + Trebuchet; cream stations wrapped in curving orange-yellow-red stripes;
   chunky section pills on a rainbow rail; retro chips; giant sun rays turning slowly behind.
   ===================================================================================================== */
html.cx[data-theme="sunburst"] {
  --sb-o:#f97316; --sb-y:#facc15; --sb-r:#ef4444; --sb-cream:#fff4e0; --sb-brown:#5a2a0c; --sb-ink:#ffeeda; --sb-dim:#e0b48a; --sb-panel:color-mix(in srgb,#3a1e08 86%,transparent);
  --font:"Trebuchet MS","Rubik",system-ui,sans-serif; --sb-display:"Shrikhand","Rubik",cursive; --radius:22px; --radius-btn:999px;
}
html.cx[data-theme="sunburst"][data-mode="light"] { --sb-ink:#5a2a0c; --sb-dim:#9a5a2c; --sb-panel:#fffaf0ee; }
html.cx[data-theme="sunburst"][data-mode][data-style] body { font-family:var(--font); background:#1d0f04; }
html.cx[data-theme="sunburst"][data-mode="light"][data-style] body { background:#fff2e2; }
html.cx[data-theme="sunburst"] #cx-art .cx-a { width:220vmax; height:220vmax; left:50%; top:100%; margin:-110vmax 0 0 -110vmax; border-radius:50%; background:repeating-conic-gradient(#f9731618 0 7deg,transparent 7deg 14deg); animation:sb-spin 120s linear infinite; -webkit-mask:radial-gradient(closest-side,#000 30%,transparent 70%); mask:radial-gradient(closest-side,#000 30%,transparent 70%); }
html.cx[data-theme="sunburst"] #cx-art .cx-b { width:40vmax; height:40vmax; left:50%; bottom:-20vmax; margin-left:-20vmax; border-radius:50%; background:radial-gradient(closest-side,#facc1555,#f9731633 60%,transparent); }
html.cx[data-theme="sunburst"][data-mode="light"] #cx-art .cx-a { background:repeating-conic-gradient(#f9731622 0 7deg,transparent 7deg 14deg); }
@keyframes sb-spin { to { transform:rotate(360deg); } }
@keyframes sb-groove { from { transform:translateY(30px) scale(.9); opacity:0; } 70% { transform:translateY(-4px) scale(1.02); opacity:1; } to { transform:none; } }

html.cx[data-theme="sunburst"][data-mode][data-style] :is(h1,h2,h3,h4,.brand) { font-family:var(--font); font-weight:800; }
html.cx[data-theme="sunburst"][data-mode][data-style] .section-head h2 { font:400 clamp(36px,3.6vw,58px)/1.05 var(--sb-display); color:var(--sb-y); text-shadow:3px 3px 0 var(--sb-o),6px 6px 0 var(--sb-r); }
html.cx[data-theme="sunburst"][data-mode="light"][data-style] .section-head h2 { color:var(--sb-o); text-shadow:3px 3px 0 var(--sb-y),6px 6px 0 var(--sb-r); }
html.cx[data-theme="sunburst"][data-mode][data-style] :is(.stat .value,.sc-bal-num,.month-bar .title) { font-family:var(--font); font-weight:800; }

html.cx[data-theme="sunburst"][data-mode][data-style] :is(.btn,.seg button) { border-radius:999px !important; font:800 13px var(--font); text-transform:none; letter-spacing:0; transition:transform .3s cubic-bezier(.34,1.56,.64,1); }
html.cx[data-theme="sunburst"][data-mode][data-style] :is(.btn.primary,.btn.info,.seg button.active) { color:var(--sb-brown) !important; border:0 !important; background:linear-gradient(180deg,#facc15 0 33%,#f97316 33% 66%,#ef4444 66%) !important; box-shadow:0 4px 0 #7c2d12 !important; }
html.cx[data-theme="sunburst"][data-mode][data-style] :is(.btn.primary,.btn.info,.seg button.active) { color:#fff !important; text-shadow:0 1px 0 #7c2d12; }
html.cx[data-theme="sunburst"][data-mode][data-style] :is(.btn:not(.primary):not(.info),.seg button:not(.active)) { color:var(--sb-ink); border:2px solid #f9731688 !important; background:transparent !important; box-shadow:none !important; }
html.cx[data-theme="sunburst"][data-mode][data-style] :is(.btn,.seg button):hover { transform:translateY(-2px) rotate(-2deg); }
html.cx[data-theme="sunburst"][data-mode][data-style] :is(input,select,textarea) { border-radius:16px !important; border:2px solid #f9731666; background:var(--sb-panel); }
html.cx[data-theme="sunburst"][data-mode][data-style] :is(.card,.stat,.panel):not(.station-card):not(.add-card) { border-radius:22px !important; border:2px solid #f9731633 !important; background:var(--sb-panel) !important; box-shadow:0 20px 34px -26px #000 !important; }

/* ---------- dashboard: striped retro cards ---------- */
html.cx[data-theme="sunburst"][data-mode][data-style] .station-grid { display:flex !important; flex-wrap:wrap; justify-content:center; gap:34px !important; padding:24px 0 50px; }
html.cx[data-theme="sunburst"][data-mode][data-style] .station-grid > .station-card {
  width:320px; min-height:0; box-sizing:border-box; padding:24px 26px 22px 26px !important; position:relative; overflow:hidden; color:var(--sb-brown);
  border:0 !important; border-radius:36px !important;
  background:radial-gradient(circle at 100% 0,transparent 0 70px,#ef4444 70px 84px,#f97316 84px 98px,#facc15 98px 112px,transparent 112px),var(--sb-cream) !important;
  box-shadow:0 0 0 4px #5a2a0c,0 10px 0 #5a2a0c,0 22px 30px -16px #000c !important;
  animation:sb-groove .8s cubic-bezier(.34,1.56,.64,1) backwards; transition:transform .45s cubic-bezier(.34,1.56,.64,1);
}
html.cx[data-theme="sunburst"][data-mode][data-style] .station-grid > .station-card:nth-child(2) { animation-delay:.12s; background:radial-gradient(circle at 100% 0,transparent 0 70px,#facc15 70px 84px,#f97316 84px 98px,#ef4444 98px 112px,transparent 112px),var(--sb-cream) !important; }
html.cx[data-theme="sunburst"][data-mode][data-style] .station-grid > .station-card::before,html.cx[data-theme="sunburst"][data-mode][data-style] .station-grid > .station-card::after { display:none !important; }
html.cx[data-theme="sunburst"][data-mode][data-style] .station-card :is(h3,.sc-bal-num,.ov-v,.gp) { color:var(--sb-brown) !important; }
html.cx[data-theme="sunburst"][data-mode][data-style] .station-card :is(.meta,.sc-bal-label,.sc-bal-suffix,.ov-l,.muted) { color:#9a5a2c !important; }
html.cx[data-theme="sunburst"][data-mode][data-style] .station-card h3 { font:400 26px/1.05 var(--sb-display); color:var(--sb-o) !important; max-width:72%; }
html.cx[data-theme="sunburst"][data-mode][data-style] .station-card .meta { font:700 12px var(--font); }
html.cx[data-theme="sunburst"][data-mode][data-style] .station-card .sc-badge { display:none; }
html.cx[data-theme="sunburst"][data-mode][data-style] .station-card .sc-balance { background:none !important; border:0 !important; box-shadow:none !important; padding:10px 0 4px; margin:0; }
html.cx[data-theme="sunburst"][data-mode][data-style] .station-card .sc-bal-num { font-size:30px; }
html.cx[data-theme="sunburst"][data-mode][data-style] .station-card .sc-bal-label { font:800 9px var(--font); letter-spacing:.16em; text-transform:uppercase; }
html.cx[data-theme="sunburst"][data-mode][data-style] .station-card .sc-prices { gap:6px; margin:6px 0; }
html.cx[data-theme="sunburst"][data-mode][data-style] .station-card .gp { font:800 12px var(--font); border:2px solid var(--sb-brown) !important; background:#fff !important; border-radius:999px; padding:2px 8px; }
html.cx[data-theme="sunburst"][data-mode][data-style] .station-card .sc-rows { border:0; margin:0; padding:0; }
html.cx[data-theme="sunburst"][data-mode][data-style] .station-card :is(.ov-row:first-child,.ov-l) { display:none; }
html.cx[data-theme="sunburst"][data-mode][data-style] .station-card .ov-row { border:0; font:700 12px var(--font); }
html.cx[data-theme="sunburst"][data-mode][data-style] .station-grid > .add-card { width:140px; height:140px; min-height:0; padding:0 !important; align-self:center; display:flex !important; align-items:center; justify-content:center; text-align:center; border-radius:50% !important; border:3px dashed var(--sb-o) !important; background:transparent !important; box-shadow:none !important; font:400 16px var(--sb-display); color:var(--sb-y) !important; }
html.cx[data-theme="sunburst"][data-mode][data-style] .station-grid > .add-card::before,html.cx[data-theme="sunburst"][data-mode][data-style] .station-grid > .add-card::after { display:none !important; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) { html.cx[data-theme="sunburst"][data-mode][data-style] .station-grid > .station-card:hover { transform:rotate(-2deg) translateY(-6px); } }

/* ---------- station page: rainbow rail ---------- */
.sn-sunburst { margin:8px 0 22px; }
.sn-sunburst .sb-secs { display:flex; flex-wrap:wrap; gap:10px; padding:10px; border-radius:999px; background:linear-gradient(180deg,#facc15 0 33%,#f97316 33% 66%,#ef4444 66%); box-shadow:0 0 0 3px #5a2a0c; width:max-content; max-width:100%; }
html.cx .sn-sunburst button.sb-sec { display:flex; align-items:center; gap:6px; padding:8px 16px; border-radius:999px; font:400 16px var(--sb-display); color:var(--sb-brown); background:var(--sb-cream); box-shadow:0 3px 0 #5a2a0c; transition:transform .35s cubic-bezier(.34,1.56,.64,1); animation:sb-groove .6s cubic-bezier(.34,1.56,.64,1) calc(var(--n) * 60ms) backwards; }
.sn-sunburst .sb-ico { font-size:14px; }
html.cx .sn-sunburst button.sb-sec:hover { transform:translateY(-3px) rotate(-3deg); }
html.cx .sn-sunburst button.sb-sec[aria-selected="true"] { color:#fff; background:var(--sb-brown); box-shadow:0 3px 0 #2a1205; }
.sn-sunburst .sb-tray { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.sn-sunburst .sb-tray.in > * { animation:sb-groove .5s cubic-bezier(.34,1.56,.64,1) calc(var(--n) * 45ms) backwards; }
html.cx .sn-sunburst button.sb-pg { display:inline-flex; align-items:center; gap:8px; padding:9px 18px; border-radius:999px; font:800 13px var(--font); color:var(--sb-ink); border:2px solid color-mix(in srgb,var(--c) 70%,transparent); transition:transform .3s cubic-bezier(.34,1.56,.64,1),background .2s; }
html.cx .sn-sunburst button.sb-pg:hover { transform:translateY(-2px); background:color-mix(in srgb,var(--c) 18%,transparent); }
html.cx .sn-sunburst button.sb-pg[aria-current="page"] { color:var(--sb-brown); background:var(--sb-y); border-color:var(--sb-brown); }

html.cx[data-theme="sunburst"][data-mode][data-style] .month-bar .title { font:400 28px var(--sb-display); color:var(--sb-o); }
html.cx[data-theme="sunburst"][data-mode][data-style] .stat .label { font:800 10px var(--font); letter-spacing:.14em; text-transform:uppercase; color:var(--sb-dim); }
html.cx[data-theme="sunburst"][data-mode][data-style] .stat .value { font-size:24px; }
html.cx[data-theme="sunburst"][data-mode][data-style] .station-stats-side .stat { border-left:0 !important; }
html.cx[data-theme="sunburst"][data-mode][data-style] .cal .dow { font:800 11px var(--font); letter-spacing:.14em; color:var(--sb-o); }
html.cx[data-theme="sunburst"][data-mode][data-style] .cal .day:not(.empty) { border-radius:20px !important; border:2px solid #f9731633 !important; background:var(--sb-panel) !important; box-shadow:none !important; transition:transform .3s cubic-bezier(.34,1.56,.64,1); }
html.cx[data-theme="sunburst"][data-mode][data-style] .cal .day.empty { background:transparent !important; border:0 !important; box-shadow:none !important; }
html.cx[data-theme="sunburst"][data-mode][data-style] .cal .day .num { font:400 22px var(--sb-display); }
html.cx[data-theme="sunburst"][data-mode][data-style] .cal .day .badge { border-radius:999px; background:#f9731626; color:inherit; border:0; }
html.cx[data-theme="sunburst"][data-mode][data-style] .cal .day.today { background:radial-gradient(circle at 100% 100%,#ef4444 0 30px,#f97316 30px 44px,#facc15 44px 58px,var(--sb-cream) 58px) !important; border-color:#5a2a0c !important; }
html.cx[data-theme="sunburst"][data-mode][data-style] .cal .day.today :is(.num,.muted,div,span) { color:var(--sb-brown) !important; }
@media (hover:hover) { html.cx[data-theme="sunburst"][data-mode][data-style] .cal .day:not(.empty):hover { transform:rotate(-2deg) scale(1.03); } }

/* =====================================================================================================
   ELECTRIC — a cyberpunk HUD. Oxanium; angled neon panels with corner brackets that glitch when you point;
   HUD tabs with a lime indicator; bracketed page readouts; a synthwave grid floor rolling toward you.
   ===================================================================================================== */
html.cx[data-theme="electric"] {
  --el-c:#06b6d4; --el-m:#d946ef; --el-l:#a3e635; --el-ink:#e2f8ff; --el-dim:#7fb3c4; --el-panel:color-mix(in srgb,#0a2b36 70%,transparent);
  --font:"Oxanium","Futura",system-ui,sans-serif; --radius:0px; --radius-btn:0px;
}
html.cx[data-theme="electric"][data-mode="light"] { --el-ink:#06303d; --el-dim:#3f7383; --el-panel:#ffffffe6; }
html.cx[data-theme="electric"][data-mode][data-style] body { font-family:var(--font); background:linear-gradient(180deg,#02090d,#04141b 60%,#120424); }
html.cx[data-theme="electric"][data-mode="light"][data-style] body { background:linear-gradient(180deg,#f4feff,#e7fbff); }
html.cx[data-theme="electric"] #cx-art .cx-a {
  left:-50%; right:-50%; bottom:-10vh; height:46vh; transform:perspective(320px) rotateX(62deg); transform-origin:50% 100%;
  background:linear-gradient(#d946ef66 1px,transparent 1px) 0 0/100% 40px,linear-gradient(90deg,#06b6d455 1px,transparent 1px) 0 0/40px 100%;
  -webkit-mask:linear-gradient(transparent,#000 60%); mask:linear-gradient(transparent,#000 60%); animation:el-floor 2.4s linear infinite; opacity:.55;
}
html.cx[data-theme="electric"] #cx-art .cx-b { left:0; right:0; bottom:34vh; height:2px; background:linear-gradient(90deg,transparent,#d946ef,#06b6d4,transparent); box-shadow:0 0 18px #d946ef; opacity:.6; }
html.cx[data-theme="electric"][data-mode="light"] #cx-art .cx-a { opacity:.3; }
@keyframes el-floor { to { background-position:0 40px,0 0; } }
@keyframes el-glitch { 0% { transform:translate(0); } 20% { transform:translate(-2px,1px); clip-path:inset(10% 0 60% 0); } 40% { transform:translate(2px,-1px); clip-path:inset(50% 0 20% 0); } 60% { transform:translate(-1px,0); clip-path:inset(30% 0 40% 0); } 100% { transform:translate(0); clip-path:inset(0); } }
@keyframes el-boot { from { opacity:0; transform:scaleY(.02); filter:brightness(3); } 50% { opacity:1; transform:scaleY(1); } to { filter:none; } }

html.cx[data-theme="electric"][data-mode][data-style] :is(h1,h2,h3,h4,.brand) { font-family:var(--font); font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
html.cx[data-theme="electric"][data-mode][data-style] .section-head h2 { font-size:clamp(30px,3vw,46px); font-weight:800; color:var(--el-ink); text-shadow:-2px 0 #d946ef,2px 0 #06b6d4; }
html.cx[data-theme="electric"][data-mode][data-style] :is(.stat .value,.sc-bal-num,.month-bar .title,.cal .day .num) { font-family:var(--font); font-weight:700; letter-spacing:.02em; }

html.cx[data-theme="electric"][data-mode][data-style] :is(.btn,.seg button) { border-radius:0 !important; font:700 12px var(--font); letter-spacing:.12em; text-transform:uppercase; clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px); transition:background .2s,color .2s; }
html.cx[data-theme="electric"][data-mode][data-style] :is(.btn.primary,.btn.info,.seg button.active) { color:#02090d !important; border:0 !important; background:linear-gradient(90deg,#06b6d4,#a3e635) !important; box-shadow:none !important; }
html.cx[data-theme="electric"][data-mode][data-style] :is(.btn:not(.primary):not(.info),.seg button:not(.active)) { color:var(--el-c); border:0 !important; background:#06b6d41f !important; box-shadow:inset 0 0 0 1px #06b6d4 !important; }
html.cx[data-theme="electric"][data-mode][data-style] :is(.btn,.seg button):hover { animation:el-glitch .3s steps(2) 1; }
html.cx[data-theme="electric"][data-mode][data-style] :is(input,select,textarea) { border-radius:0 !important; border:1px solid #06b6d466; background:var(--el-panel); font-family:var(--font); }
html.cx[data-theme="electric"][data-mode][data-style] :is(.card,.stat,.panel):not(.station-card):not(.add-card) { border-radius:0 !important; border:1px solid #06b6d444 !important; background:var(--el-panel) !important; backdrop-filter:blur(8px); box-shadow:0 0 30px -14px #06b6d4 !important; clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px); }

/* ---------- dashboard: HUD panels ---------- */
html.cx[data-theme="electric"][data-mode][data-style] .station-grid { display:flex !important; flex-wrap:wrap; justify-content:center; gap:28px !important; padding:24px 0 50px; }
html.cx[data-theme="electric"][data-mode][data-style] .station-grid > .station-card {
  --n1:#06b6d4; width:320px; min-height:0; box-sizing:border-box; padding:26px 24px 20px !important; position:relative; color:var(--el-ink);
  border:0 !important; border-radius:0 !important; clip-path:polygon(22px 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%,0 22px);
  background:linear-gradient(var(--n1),var(--n1)) 0 0/100% 2px no-repeat,linear-gradient(var(--n1),var(--n1)) 0 100%/60% 2px no-repeat,linear-gradient(160deg,#06b6d41f,#0a2b36cc 40%,#d946ef14) !important;
  box-shadow:none !important; backdrop-filter:blur(8px);
  animation:el-boot .7s cubic-bezier(.22,1,.36,1) backwards;
}
html.cx[data-theme="electric"][data-mode][data-style] .station-grid > .station-card:nth-child(2) { --n1:#d946ef; animation-delay:.15s; }
html.cx[data-theme="electric"][data-mode][data-style] .station-grid > .station-card::before { content:"" !important; display:block !important; position:absolute; inset:auto; right:10px; top:10px; width:16px; height:16px; border-top:2px solid var(--el-l); border-right:2px solid var(--el-l); background:none !important; opacity:1; }
html.cx[data-theme="electric"][data-mode][data-style] .station-grid > .station-card::after { content:"" !important; display:block !important; position:absolute; inset:auto; left:10px; bottom:10px; width:16px; height:16px; border-bottom:2px solid var(--el-l); border-left:2px solid var(--el-l); background:none !important; opacity:1; }
html.cx[data-theme="electric"][data-mode][data-style] .station-card :is(h3,.sc-bal-num,.ov-v,.gp) { color:var(--el-ink) !important; }
html.cx[data-theme="electric"][data-mode][data-style] .station-card :is(.meta,.sc-bal-label,.sc-bal-suffix,.ov-l,.muted) { color:var(--el-dim) !important; }
html.cx[data-theme="electric"][data-mode][data-style] .station-card h3 { font-size:18px; letter-spacing:.06em; }
html.cx[data-theme="electric"][data-mode][data-style] .station-card .meta { font:500 11px var(--font); letter-spacing:.12em; text-transform:uppercase; }
html.cx[data-theme="electric"][data-mode][data-style] .station-card .sc-badge { font:700 9px var(--font); letter-spacing:.14em; text-transform:uppercase; color:#02090d; background:var(--el-l); border:0; border-radius:0; padding:3px 7px; }
html.cx[data-theme="electric"][data-mode][data-style] .station-card .sc-balance { background:none !important; border:0 !important; box-shadow:none !important; padding:10px 0 6px; margin:0; }
html.cx[data-theme="electric"][data-mode][data-style] .station-card .sc-bal-num { font-size:30px; text-shadow:0 0 12px var(--n1); }
html.cx[data-theme="electric"][data-mode][data-style] .station-card .sc-bal-label { font:600 9px var(--font); letter-spacing:.24em; text-transform:uppercase; }
html.cx[data-theme="electric"][data-mode][data-style] .station-card .sc-prices { gap:6px; margin:6px 0 4px; }
html.cx[data-theme="electric"][data-mode][data-style] .station-card .gp { font:600 11px var(--font); border:1px solid color-mix(in srgb,var(--n1) 70%,transparent) !important; background:transparent !important; border-radius:0; padding:3px 7px; }
html.cx[data-theme="electric"][data-mode][data-style] .station-card .sc-rows { border:0; margin:0; padding:0; }
html.cx[data-theme="electric"][data-mode][data-style] .station-card :is(.ov-row:first-child) { display:none; }
html.cx[data-theme="electric"][data-mode][data-style] .station-card .ov-row { border:0; font:500 11px var(--font); }
html.cx[data-theme="electric"][data-mode][data-style] .station-grid > .add-card { width:150px; min-height:0; height:120px; padding:0 !important; align-self:center; display:flex !important; align-items:center; justify-content:center; text-align:center; border:1px dashed #a3e63588 !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; font:700 11px var(--font); letter-spacing:.14em; text-transform:uppercase; color:var(--el-l) !important; }
html.cx[data-theme="electric"][data-mode][data-style] .station-grid > .add-card::before,html.cx[data-theme="electric"][data-mode][data-style] .station-grid > .add-card::after { display:none !important; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) { html.cx[data-theme="electric"][data-mode][data-style] .station-grid > .station-card:hover { animation:el-glitch .35s steps(3) 1; } }

/* ---------- station page: HUD tabs ---------- */
.sn-electric { margin:8px 0 22px; }
.sn-electric .el-secs { display:flex; flex-wrap:wrap; gap:4px; }
html.cx .sn-electric button.el-sec { display:flex; align-items:center; gap:8px; padding:10px 18px; font:700 13px var(--font); letter-spacing:.1em; text-transform:uppercase; color:var(--el-dim); background:#06b6d414; clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%); transition:background .2s,color .2s; animation:el-boot .5s cubic-bezier(.22,1,.36,1) calc(var(--n) * 50ms) backwards; }
.sn-electric .el-ico { font-size:10px; color:var(--c); }
html.cx .sn-electric button.el-sec:hover { color:var(--el-ink); background:#06b6d42a; }
html.cx .sn-electric button.el-sec[aria-selected="true"] { color:#02090d; background:linear-gradient(90deg,var(--c),color-mix(in srgb,var(--c) 60%,#a3e635)); }
html.cx .sn-electric button.el-sec[aria-selected="true"] .el-ico { color:#02090d; }
.sn-electric .el-tray { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; padding-top:12px; border-top:1px solid #06b6d433; }
.sn-electric .el-tray.in > * { animation:el-boot .4s cubic-bezier(.22,1,.36,1) calc(var(--n) * 40ms) backwards; }
html.cx .sn-electric button.el-pg { display:inline-flex; align-items:center; gap:8px; padding:8px 12px; font:600 13px var(--font); color:var(--el-ink); transition:color .2s,text-shadow .2s; }
html.cx .sn-electric button.el-pg::before { content:"["; color:var(--c); }
html.cx .sn-electric button.el-pg::after { content:"]"; color:var(--c); }
html.cx .sn-electric button.el-pg:hover { color:var(--c); text-shadow:0 0 8px var(--c); }
html.cx .sn-electric button.el-pg[aria-current="page"] { color:#02090d; background:var(--el-l); }
html.cx .sn-electric button.el-pg[aria-current="page"]::before, html.cx .sn-electric button.el-pg[aria-current="page"]::after { color:#02090d; }

html.cx[data-theme="electric"][data-mode][data-style] .month-bar .title { font-size:22px; }
html.cx[data-theme="electric"][data-mode][data-style] .stat .label { font:600 10px var(--font); letter-spacing:.2em; text-transform:uppercase; color:var(--el-dim); }
html.cx[data-theme="electric"][data-mode][data-style] .stat .value { font-size:24px; }
html.cx[data-theme="electric"][data-mode][data-style] .station-stats-side .stat { border-left:2px solid var(--el-l) !important; clip-path:none; }
html.cx[data-theme="electric"][data-mode][data-style] .cal .dow { font:600 11px var(--font); letter-spacing:.2em; color:var(--el-dim); }
html.cx[data-theme="electric"][data-mode][data-style] .cal .day:not(.empty) { border-radius:0 !important; border:1px solid #06b6d433 !important; background:var(--el-panel) !important; box-shadow:none !important; clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px); transition:border-color .2s; }
html.cx[data-theme="electric"][data-mode][data-style] .cal .day.empty { background:transparent !important; border:0 !important; box-shadow:none !important; }
html.cx[data-theme="electric"][data-mode][data-style] .cal .day .badge { border-radius:0; background:transparent; border:1px solid #06b6d455; color:inherit; font-family:var(--font); }
html.cx[data-theme="electric"][data-mode][data-style] .cal .day.today { background:linear-gradient(135deg,#06b6d4,#a3e635) !important; border-color:transparent !important; }
html.cx[data-theme="electric"][data-mode][data-style] .cal .day.today :is(.num,.muted,div,span) { color:#02090d !important; }
@media (hover:hover) { html.cx[data-theme="electric"][data-mode][data-style] .cal .day:not(.empty):hover { border-color:var(--el-m) !important; } }

/* =====================================================================================================
   GALAXY — deep space. Space Grotesk + Optima; ringed-planet stations with sphere shading; a constellation
   of glowing section stars; orbit-chip pages; a twinkling starfield, nebula clouds and a shooting star.
   ===================================================================================================== */
html.cx[data-theme="galaxy"] {
  --gx-v:#8b5cf6; --gx-p:#e879f9; --gx-s:#38bdf8; --gx-ink:#ece6ff; --gx-dim:#a99bd6; --gx-panel:color-mix(in srgb,#221548 70%,transparent);
  --font:"Space Grotesk",Optima,system-ui,sans-serif; --radius:18px; --radius-btn:999px;
}
html.cx[data-theme="galaxy"][data-mode="light"] { --gx-ink:#2a1a5e; --gx-dim:#6a5aa0; --gx-panel:#ffffffd9; }
html.cx[data-theme="galaxy"][data-mode][data-style] body { font-family:var(--font); background:radial-gradient(1000px 700px at 70% 20%,#2a1660,transparent 70%),radial-gradient(800px 600px at 10% 90%,#0e2a5a,transparent 70%),#06040f; }
html.cx[data-theme="galaxy"][data-mode="light"][data-style] body { background:radial-gradient(1000px 700px at 70% 20%,#e6dcff,transparent 70%),#efecff; }
html.cx[data-theme="galaxy"] #cx-art .cx-a { inset:0; background:radial-gradient(circle,#fff 0 1px,transparent 1.5px) 0 0/97px 89px,radial-gradient(circle,#c4b5fd 0 1px,transparent 1.5px) 41px 53px/131px 113px,radial-gradient(circle,#fff 0 1.5px,transparent 2px) 77px 19px/173px 157px; animation:gx-twinkle 5s ease-in-out infinite alternate; }
html.cx[data-theme="galaxy"] #cx-art .cx-b { width:70vmax; height:40vmax; right:-20vmax; top:10vh; border-radius:50%; background:radial-gradient(closest-side,#e879f933,#8b5cf622 50%,transparent); filter:blur(30px); transform:rotate(-25deg); animation:gx-nebula 30s ease-in-out infinite alternate; }
html.cx[data-theme="galaxy"] #cx-art .cx-c { width:160px; height:2px; left:70%; top:12%; background:linear-gradient(90deg,transparent,#fff); border-radius:2px; transform:rotate(-30deg); opacity:0; animation:gx-shoot 9s ease-in infinite 3s; }
html.cx[data-theme="galaxy"][data-mode="light"] #cx-art .cx-a { opacity:.25; filter:invert(1); }
@keyframes gx-twinkle { from { opacity:.55; } to { opacity:1; } }
@keyframes gx-nebula { from { transform:rotate(-25deg) scale(1); } to { transform:rotate(-15deg) scale(1.15); } }
@keyframes gx-shoot { 0%,88% { opacity:0; transform:rotate(-30deg) translateX(0); } 90% { opacity:1; } 100% { opacity:0; transform:rotate(-30deg) translateX(-50vw); } }
@keyframes gx-orbit { from { transform:scale(.4) rotate(-40deg); opacity:0; } to { transform:none; opacity:1; } }

html.cx[data-theme="galaxy"][data-mode][data-style] :is(h1,h2,h3,h4,.brand) { font-family:var(--font); font-weight:700; letter-spacing:-.02em; }
html.cx[data-theme="galaxy"][data-mode][data-style] .section-head h2 { font-size:clamp(32px,3.2vw,50px); font-weight:300; letter-spacing:.06em; text-transform:uppercase; background:linear-gradient(90deg,#c4b5fd,#f0abfc,#7dd3fc); -webkit-background-clip:text; background-clip:text; color:transparent; }
html.cx[data-theme="galaxy"][data-mode][data-style] :is(.stat .value,.sc-bal-num,.month-bar .title,.cal .day .num) { font-family:var(--font); font-weight:500; }

html.cx[data-theme="galaxy"][data-mode][data-style] :is(.btn,.seg button) { border-radius:999px !important; font:600 13px var(--font); text-transform:none; letter-spacing:0; transition:box-shadow .3s,transform .3s; }
html.cx[data-theme="galaxy"][data-mode][data-style] :is(.btn.primary,.btn.info,.seg button.active) { color:#fff !important; border:0 !important; background:linear-gradient(120deg,#8b5cf6,#e879f9) !important; box-shadow:0 0 18px #8b5cf688 !important; }
html.cx[data-theme="galaxy"][data-mode][data-style] :is(.btn:not(.primary):not(.info),.seg button:not(.active)) { color:var(--gx-ink); border:1px solid #c4b5fd44 !important; background:#8b5cf614 !important; box-shadow:none !important; }
html.cx[data-theme="galaxy"][data-mode][data-style] :is(.btn,.seg button):hover { box-shadow:0 0 22px #e879f988 !important; transform:translateY(-1px); }
html.cx[data-theme="galaxy"][data-mode][data-style] :is(input,select,textarea) { border-radius:14px !important; border:1px solid #c4b5fd44; background:var(--gx-panel); }
html.cx[data-theme="galaxy"][data-mode][data-style] :is(.card,.stat,.panel):not(.station-card):not(.add-card) { border-radius:20px !important; border:1px solid #c4b5fd2e !important; background:var(--gx-panel) !important; backdrop-filter:blur(14px); box-shadow:0 20px 40px -28px #000 !important; }

/* ---------- dashboard: ringed planets ---------- */
html.cx[data-theme="galaxy"][data-mode][data-style] .station-grid { display:flex !important; flex-wrap:wrap; justify-content:center; gap:60px !important; padding:40px 0 60px; }
html.cx[data-theme="galaxy"][data-mode][data-style] .station-grid > .station-card {
  width:270px; height:270px; min-height:0; box-sizing:border-box; padding:50px 34px !important; text-align:center; color:#fff; position:relative; overflow:visible;
  border:0 !important; border-radius:50% !important; display:flex !important; flex-direction:column; align-items:center; justify-content:center;
  background:radial-gradient(circle at 34% 30%,#c4b5fd,#8b5cf6 35%,#4c1d95 70%,#1e0b4a) !important;
  box-shadow:inset -26px -30px 50px #0009,inset 10px 10px 30px #ffffff30,0 0 60px -10px #8b5cf6 !important;
  animation:gx-orbit 1s cubic-bezier(.22,1,.36,1) backwards; transition:transform .7s cubic-bezier(.22,1,.36,1);
}
html.cx[data-theme="galaxy"][data-mode][data-style] .station-grid > .station-card:nth-child(2) { animation-delay:.15s; background:radial-gradient(circle at 34% 30%,#a5f3fc,#38bdf8 35%,#1e40af 72%,#0b1640) !important; box-shadow:inset -26px -30px 50px #0009,inset 10px 10px 30px #ffffff30,0 0 60px -10px #38bdf8 !important; }
/* The ring: a tilted ellipse that passes behind the planet at the top and in front at the bottom. */
html.cx[data-theme="galaxy"][data-mode][data-style] .station-grid > .station-card::before { content:"" !important; display:block !important; position:absolute; inset:auto; left:-34px; right:-34px; top:50%; height:70px; margin-top:-35px; border-radius:50%; border:3px solid #f0abfcaa; box-shadow:0 0 12px #e879f966; transform:rotate(-16deg); z-index:-1; background:none !important; opacity:1; width:auto; }
html.cx[data-theme="galaxy"][data-mode][data-style] .station-grid > .station-card::after { content:"" !important; display:block !important; position:absolute; inset:auto; left:-34px; right:-34px; top:50%; height:70px; margin-top:-35px; border-radius:50%; border:3px solid #f0abfcaa; border-top-color:transparent; border-left-color:transparent; border-right-color:transparent; transform:rotate(-16deg); background:none !important; opacity:1; width:auto; pointer-events:none; }
html.cx[data-theme="galaxy"][data-mode][data-style] .station-card :is(h3,.meta,.sc-bal-num,.sc-bal-label,.sc-bal-suffix,.ov-l,.ov-v,.gp,.muted) { color:#fff !important; text-shadow:0 1px 4px #0008; }
html.cx[data-theme="galaxy"][data-mode][data-style] .station-card .sc-head { flex-direction:column; align-items:center; gap:0; margin:0; }
html.cx[data-theme="galaxy"][data-mode][data-style] .station-card h3 { font-size:17px; line-height:1.1; }
html.cx[data-theme="galaxy"][data-mode][data-style] .station-card .meta { font-size:11px; opacity:.8; }
html.cx[data-theme="galaxy"][data-mode][data-style] .station-card .sc-badge { display:none; }
html.cx[data-theme="galaxy"][data-mode][data-style] .station-card .sc-balance { background:none !important; border:0 !important; box-shadow:none !important; padding:6px 0 2px; margin:0; }
html.cx[data-theme="galaxy"][data-mode][data-style] .station-card .sc-bal-num { font-size:24px; }
html.cx[data-theme="galaxy"][data-mode][data-style] .station-card .sc-bal-label { font:600 8px var(--font); letter-spacing:.2em; text-transform:uppercase; opacity:.8; }
html.cx[data-theme="galaxy"][data-mode][data-style] .station-card .sc-prices { justify-content:center; gap:4px; margin:4px 0 0; }
html.cx[data-theme="galaxy"][data-mode][data-style] .station-card .gp { font:600 10px var(--font); border:0 !important; background:#ffffff26 !important; border-radius:999px; padding:2px 6px; }
html.cx[data-theme="galaxy"][data-mode][data-style] .station-card .sc-rows { display:none; }
html.cx[data-theme="galaxy"][data-mode][data-style] .station-grid > .add-card { width:110px; height:110px; min-height:0; padding:0 !important; align-self:center; display:flex !important; align-items:center; justify-content:center; text-align:center; border-radius:50% !important; border:2px dashed #c4b5fd66 !important; background:transparent !important; box-shadow:none !important; font:600 11px var(--font); color:#c4b5fd !important; }
html.cx[data-theme="galaxy"][data-mode][data-style] .station-grid > .add-card::before,html.cx[data-theme="galaxy"][data-mode][data-style] .station-grid > .add-card::after { display:none !important; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) { html.cx[data-theme="galaxy"][data-mode][data-style] .station-grid > .station-card:hover { transform:rotate(-8deg) scale(1.04); } }

/* ---------- station page: constellation ---------- */
.sn-galaxy { margin:8px 0 22px; }
.sn-galaxy .gx-secs { position:relative; display:flex; flex-wrap:wrap; gap:8px 34px; padding:10px 4px 16px; }
.sn-galaxy .gx-secs::before { content:""; position:absolute; left:20px; right:20px; top:31px; border-top:1px dashed #c4b5fd44; }
html.cx .sn-galaxy button.gx-sec { position:relative; display:flex; flex-direction:column; align-items:center; gap:6px; font:600 12px var(--font); letter-spacing:.08em; text-transform:uppercase; color:var(--gx-dim); animation:gx-orbit .7s cubic-bezier(.22,1,.36,1) calc(var(--n) * 70ms) backwards; }
.sn-galaxy .gx-ico { display:grid; place-items:center; width:42px; height:42px; font-size:18px; color:var(--c); border-radius:50%; background:radial-gradient(circle,color-mix(in srgb,var(--c) 30%,transparent),transparent 70%); transition:transform .5s cubic-bezier(.22,1,.36,1),text-shadow .3s; }
html.cx .sn-galaxy button.gx-sec:hover .gx-ico { transform:scale(1.25) rotate(45deg); }
html.cx .sn-galaxy button.gx-sec[aria-selected="true"] { color:var(--gx-ink); }
html.cx .sn-galaxy button.gx-sec[aria-selected="true"] .gx-ico { transform:scale(1.4); text-shadow:0 0 10px var(--c),0 0 24px var(--c); background:radial-gradient(circle,color-mix(in srgb,var(--c) 55%,transparent),transparent 70%); }
.sn-galaxy .gx-tray { display:flex; flex-wrap:wrap; gap:10px; margin-top:6px; }
.sn-galaxy .gx-tray.in > * { animation:gx-orbit .5s cubic-bezier(.22,1,.36,1) calc(var(--n) * 45ms) backwards; }
html.cx .sn-galaxy button.gx-pg { display:inline-flex; align-items:center; gap:8px; padding:9px 18px; border-radius:999px; font:500 13px var(--font); color:var(--gx-ink); border:1px solid color-mix(in srgb,var(--c) 45%,transparent); background:#8b5cf60f; transition:box-shadow .3s,transform .3s; }
html.cx .sn-galaxy button.gx-pg:hover { box-shadow:0 0 16px color-mix(in srgb,var(--c) 60%,transparent); transform:translateY(-2px); }
html.cx .sn-galaxy button.gx-pg[aria-current="page"] { color:#fff; background:linear-gradient(120deg,#8b5cf6,#e879f9); border-color:transparent; box-shadow:0 0 16px #8b5cf688; }

html.cx[data-theme="galaxy"][data-mode][data-style] .month-bar .title { font-size:22px; letter-spacing:.06em; text-transform:uppercase; font-weight:300; }
html.cx[data-theme="galaxy"][data-mode][data-style] .stat .label { font:600 10px var(--font); letter-spacing:.18em; text-transform:uppercase; color:var(--gx-dim); }
html.cx[data-theme="galaxy"][data-mode][data-style] .stat .value { font-size:24px; }
html.cx[data-theme="galaxy"][data-mode][data-style] .station-stats-side .stat { border-left:0 !important; }
html.cx[data-theme="galaxy"][data-mode][data-style] .cal .dow { font:600 11px var(--font); letter-spacing:.2em; color:var(--gx-dim); }
html.cx[data-theme="galaxy"][data-mode][data-style] .cal .day:not(.empty) { border-radius:16px !important; border:1px solid #c4b5fd22 !important; background:var(--gx-panel) !important; box-shadow:none !important; transition:box-shadow .3s; }
html.cx[data-theme="galaxy"][data-mode][data-style] .cal .day.empty { background:transparent !important; border:0 !important; box-shadow:none !important; }
html.cx[data-theme="galaxy"][data-mode][data-style] .cal .day .badge { border-radius:999px; background:#8b5cf622; color:inherit; border:0; }
html.cx[data-theme="galaxy"][data-mode][data-style] .cal .day.today { background:radial-gradient(circle at 70% 70%,#c4b5fd 0 10px,#8b5cf6 22px,transparent 23px),var(--gx-panel) !important; border-color:#e879f9 !important; box-shadow:0 0 16px #8b5cf688 !important; }
@media (hover:hover) { html.cx[data-theme="galaxy"][data-mode][data-style] .cal .day:not(.empty):hover { box-shadow:0 0 18px #8b5cf655 !important; } }

/* =====================================================================================================
   VELVET — an art-deco cabaret. Limelight + Hoefler italic; magenta-velvet theatre-ticket stations with
   notches, perforation and an ADMIT ONE stub; a bulb-ringed marquee for sections; spotlights sweeping.
   ===================================================================================================== */
html.cx[data-theme="velvet"] {
  --vv-m:#b5179e; --vv-p:#e15bc6; --vv-gold:#f6c453; --vv-ink:#f7e3f2; --vv-dim:#cf9ec2; --vv-panel:color-mix(in srgb,#301428 86%,transparent);
  --font:"Hoefler Text","Cormorant Garamond",Georgia,serif; --vv-deco:"Limelight","Playfair Display",serif; --radius:6px; --radius-btn:4px;
}
html.cx[data-theme="velvet"][data-mode="light"] { --vv-ink:#4a0f3e; --vv-dim:#8a4a7a; --vv-panel:#fff8fcf0; }
html.cx[data-theme="velvet"][data-mode][data-style] body { font-family:var(--font); font-size:16px; background:repeating-linear-gradient(90deg,#180915 0,#26101f 40px,#180915 80px),#160a14; }
html.cx[data-theme="velvet"][data-mode="light"][data-style] body { background:#faeef6; }
html.cx[data-theme="velvet"] #cx-art > i { top:-10vh; width:30vw; height:120vh; background:linear-gradient(180deg,#f6c45326,transparent 80%); clip-path:polygon(45% 0,55% 0,100% 100%,0 100%); transform-origin:50% 0; filter:blur(6px); }
html.cx[data-theme="velvet"] #cx-art .cx-a { left:10vw; animation:vv-sweep 11s ease-in-out infinite alternate; }
html.cx[data-theme="velvet"] #cx-art .cx-b { right:10vw; animation:vv-sweep 13s ease-in-out -5s infinite alternate-reverse; }
html.cx[data-theme="velvet"][data-mode="light"] #cx-art > i { background:linear-gradient(180deg,#b5179e1a,transparent 80%); }
@keyframes vv-sweep { from { transform:rotate(-18deg); } to { transform:rotate(18deg); } }
@keyframes vv-tear { from { transform:translateY(14px) rotate(-3deg); opacity:0; } to { opacity:1; } }
@keyframes vv-bulbs { 50% { opacity:.35; } }

html.cx[data-theme="velvet"][data-mode][data-style] :is(h1,h2,h3,h4,.brand) { font-family:var(--vv-deco); font-weight:400; letter-spacing:.04em; }
html.cx[data-theme="velvet"][data-mode][data-style] .section-head h2 { font-size:clamp(34px,3.4vw,54px); color:var(--vv-gold); text-shadow:0 0 16px #f6c45355; }
html.cx[data-theme="velvet"][data-mode="light"][data-style] .section-head h2 { color:var(--vv-m); }
html.cx[data-theme="velvet"][data-mode][data-style] .section-head h2::before, html.cx[data-theme="velvet"][data-mode][data-style] .section-head h2::after { content:"◆"; font-size:.35em; vertical-align:.5em; margin:0 .4em; color:var(--vv-p); }
html.cx[data-theme="velvet"][data-mode][data-style] :is(.stat .value,.sc-bal-num,.month-bar .title,.cal .day .num) { font-family:var(--vv-deco); font-weight:400; }

html.cx[data-theme="velvet"][data-mode][data-style] :is(.btn,.seg button) { border-radius:4px !important; font:italic 600 14px var(--font); letter-spacing:.02em; text-transform:none; transition:background .3s,box-shadow .3s; }
html.cx[data-theme="velvet"][data-mode][data-style] :is(.btn.primary,.btn.info,.seg button.active) { color:#2a0a22 !important; border:0 !important; background:linear-gradient(180deg,#fde68a,#f6c453 45%,#c9952a) !important; box-shadow:inset 0 1px 0 #fff8,0 0 0 1px #8a5a12,0 6px 16px -6px #f6c45388 !important; }
html.cx[data-theme="velvet"][data-mode][data-style] :is(.btn:not(.primary):not(.info),.seg button:not(.active)) { color:var(--vv-ink); border:1px solid #f6c45366 !important; background:#b5179e1f !important; box-shadow:none !important; }
html.cx[data-theme="velvet"][data-mode][data-style] :is(input,select,textarea) { border-radius:4px !important; border:1px solid #f6c45355; background:var(--vv-panel); }
html.cx[data-theme="velvet"][data-mode][data-style] :is(.card,.stat,.panel):not(.station-card):not(.add-card) { border-radius:6px !important; border:1px solid #f6c45333 !important; background:var(--vv-panel) !important; box-shadow:0 20px 34px -26px #000 !important; }

/* ---------- dashboard: theatre tickets ---------- */
html.cx[data-theme="velvet"][data-mode][data-style] .station-grid { display:flex !important; flex-wrap:wrap; justify-content:center; gap:30px !important; padding:24px 0 50px; }
html.cx[data-theme="velvet"][data-mode][data-style] .station-grid > .station-card {
  width:360px; min-height:0; box-sizing:border-box; padding:22px 92px 20px 30px !important; position:relative; color:var(--vv-ink);
  border:0 !important; border-radius:6px !important;
  -webkit-mask:radial-gradient(12px at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(12px at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat;
  mask:radial-gradient(12px at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(12px at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat;
  background:linear-gradient(90deg,transparent calc(100% - 72px),#00000033 calc(100% - 72px)),radial-gradient(120% 120% at 20% 10%,#e15bc6,#b5179e 45%,#6b0b5c) !important;
  box-shadow:inset 0 0 0 4px #b5179e,inset 0 0 0 5px var(--vv-gold) !important;
  animation:vv-tear .8s cubic-bezier(.22,1,.36,1) backwards; transition:transform .5s cubic-bezier(.22,1,.36,1);
}
html.cx[data-theme="velvet"][data-mode][data-style] .station-grid > .station-card:nth-child(2) { animation-delay:.12s; background:linear-gradient(90deg,transparent calc(100% - 72px),#00000033 calc(100% - 72px)),radial-gradient(120% 120% at 20% 10%,#8b5cf6,#5b21b6 45%,#2e0b5c) !important; box-shadow:inset 0 0 0 4px #5b21b6,inset 0 0 0 5px var(--vv-gold) !important; }
/* Perforation + stub */
html.cx[data-theme="velvet"][data-mode][data-style] .station-grid > .station-card::before { content:"" !important; display:block !important; position:absolute; inset:auto; top:10px; bottom:10px; right:72px; width:0; height:auto; border-left:2px dashed #f6c45399; background:none !important; opacity:1; }
html.cx[data-theme="velvet"][data-mode][data-style] .station-grid > .station-card::after { content:"ADMIT ONE" !important; display:block !important; position:absolute; inset:auto; right:-14px; top:50%; width:auto; height:auto; transform:translateY(-50%) rotate(90deg); font:400 13px var(--vv-deco); letter-spacing:.2em; color:var(--vv-gold); background:none !important; opacity:1; }
html.cx[data-theme="velvet"][data-mode][data-style] .station-card :is(h3,.sc-bal-num,.ov-v,.gp) { color:#fff7fc !important; }
html.cx[data-theme="velvet"][data-mode][data-style] .station-card :is(.meta,.sc-bal-label,.sc-bal-suffix,.ov-l,.muted) { color:#f6c453 !important; }
html.cx[data-theme="velvet"][data-mode][data-style] .station-card h3 { font:400 21px/1.1 var(--vv-deco); }
html.cx[data-theme="velvet"][data-mode][data-style] .station-card .meta { font:italic 14px var(--font); }
html.cx[data-theme="velvet"][data-mode][data-style] .station-card .sc-badge { display:none; }
html.cx[data-theme="velvet"][data-mode][data-style] .station-card .sc-balance { background:none !important; border:0 !important; box-shadow:none !important; padding:8px 0 4px; margin:6px 0 0; border-top:1px solid #f6c45355 !important; border-radius:0; }
html.cx[data-theme="velvet"][data-mode][data-style] .station-card .sc-bal-num { font-size:26px; }
html.cx[data-theme="velvet"][data-mode][data-style] .station-card .sc-bal-label { font:italic 600 11px var(--font); letter-spacing:.06em; }
html.cx[data-theme="velvet"][data-mode][data-style] .station-card .sc-prices { gap:10px; margin:4px 0 0; }
html.cx[data-theme="velvet"][data-mode][data-style] .station-card .gp { font:italic 600 13px var(--font); border:0 !important; background:transparent !important; padding:0; border-radius:0; }
html.cx[data-theme="velvet"][data-mode][data-style] .station-card .sc-rows { display:none; }
html.cx[data-theme="velvet"][data-mode][data-style] .station-grid > .add-card { width:150px; min-height:0; height:110px; padding:0 !important; align-self:center; display:flex !important; align-items:center; justify-content:center; text-align:center; border-radius:6px !important; border:1px dashed #f6c45388 !important; background:transparent !important; box-shadow:none !important; font:400 14px var(--vv-deco); color:var(--vv-gold) !important; }
html.cx[data-theme="velvet"][data-mode][data-style] .station-grid > .add-card::before,html.cx[data-theme="velvet"][data-mode][data-style] .station-grid > .add-card::after { display:none !important; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) { html.cx[data-theme="velvet"][data-mode][data-style] .station-grid > .station-card:hover { transform:rotate(-1.5deg) translateY(-6px); } }

/* ---------- station page: the marquee ---------- */
.sn-velvet { margin:8px 0 22px; }
.sn-velvet .vv-secs { position:relative; display:flex; flex-wrap:wrap; justify-content:center; gap:4px 26px; padding:18px 24px; border-radius:10px; background:linear-gradient(180deg,#2a0a22,#1a0716); box-shadow:inset 0 0 0 3px #8a5a12,inset 0 0 0 5px #2a0a22,inset 0 0 0 6px var(--vv-gold); }
/* Bulbs around the sign */
.sn-velvet .vv-secs::before { content:""; position:absolute; inset:8px; border-radius:6px; pointer-events:none; background:radial-gradient(circle,#fde68a 0 2.5px,transparent 3.5px) 0 0/18px 18px; -webkit-mask:linear-gradient(#000 0 0) top/100% 6px no-repeat,linear-gradient(#000 0 0) bottom/100% 6px no-repeat; mask:linear-gradient(#000 0 0) top/100% 6px no-repeat,linear-gradient(#000 0 0) bottom/100% 6px no-repeat; animation:vv-bulbs 1.2s steps(1) infinite; filter:drop-shadow(0 0 3px #f6c453); }
.sn-velvet .vv-ico { display:none; }
html.cx .sn-velvet button.vv-sec { font:400 21px var(--vv-deco); letter-spacing:.06em; color:#f6c45380; transition:color .3s,text-shadow .3s; }
html.cx .sn-velvet button.vv-sec:hover { color:#f6c453cc; }
html.cx .sn-velvet button.vv-sec[aria-selected="true"] { color:#fde68a; text-shadow:0 0 8px #f6c453,0 0 22px #e15bc6; }
.sn-velvet .vv-tray { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:16px; }
.sn-velvet .vv-tray.in > * { animation:vv-tear .45s cubic-bezier(.22,1,.36,1) calc(var(--n) * 45ms) backwards; }
html.cx .sn-velvet button.vv-pg { display:inline-flex; align-items:center; gap:8px; padding:9px 18px; font:italic 600 15px var(--font); color:var(--vv-ink); border:1px solid #f6c45366; clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 50%,calc(100% - 8px) 100%,8px 100%,0 50%); background:#b5179e1f; transition:background .3s; }
html.cx .sn-velvet button.vv-pg:hover { background:#b5179e44; }
html.cx .sn-velvet button.vv-pg[aria-current="page"] { color:#2a0a22; background:linear-gradient(180deg,#fde68a,#f6c453); }

html.cx[data-theme="velvet"][data-mode][data-style] .month-bar .title { font-size:26px; color:var(--vv-gold); }
html.cx[data-theme="velvet"][data-mode][data-style] .stat .label { font:italic 600 13px var(--font); color:var(--vv-dim); text-transform:none; letter-spacing:0; }
html.cx[data-theme="velvet"][data-mode][data-style] .stat .value { font-size:24px; }
html.cx[data-theme="velvet"][data-mode][data-style] .station-stats-side .stat { border-left:0 !important; }
html.cx[data-theme="velvet"][data-mode][data-style] .cal .dow { font:400 13px var(--vv-deco); letter-spacing:.1em; color:var(--vv-dim); }
html.cx[data-theme="velvet"][data-mode][data-style] .cal .day:not(.empty) { border-radius:4px !important; border:1px solid #f6c45322 !important; background:var(--vv-panel) !important; box-shadow:none !important; transition:transform .3s; }
html.cx[data-theme="velvet"][data-mode][data-style] .cal .day.empty { background:transparent !important; border:0 !important; box-shadow:none !important; }
html.cx[data-theme="velvet"][data-mode][data-style] .cal .day .badge { border-radius:2px; background:#b5179e2e; color:inherit; border:0; }
html.cx[data-theme="velvet"][data-mode][data-style] .cal .day.today { background:radial-gradient(120% 120% at 20% 10%,#e15bc6,#b5179e 50%,#6b0b5c) !important; border:1px solid var(--vv-gold) !important; }
html.cx[data-theme="velvet"][data-mode][data-style] .cal .day.today :is(.num,.muted,div,span) { color:#fde68a !important; }
@media (hover:hover) { html.cx[data-theme="velvet"][data-mode][data-style] .cal .day:not(.empty):hover { transform:translateY(-2px); } }

/* =====================================================================================================
   RIVIERA — the 60s seaside. DM Serif Display + Cochin; cabana stations under a scalloped striped awning;
   scalloped awning tabs for sections; rope-edged page chips; sunlight glinting on the water.
   ===================================================================================================== */
html.cx[data-theme="riviera"] {
  --rv-t:#17a2b8; --rv-m:#4dd0c4; --rv-sand:#eac26a; --rv-cream:#fffaf0; --rv-coral:#f08a5d; --rv-ink:#e3f6f7; --rv-dim:#8cc0c4; --rv-panel:color-mix(in srgb,#0c3038 84%,transparent);
  --font:Cochin,"Baskerville","DM Serif Display",Georgia,serif; --rv-display:"DM Serif Display",Cochin,Georgia,serif; --radius:16px; --radius-btn:999px;
}
html.cx[data-theme="riviera"][data-mode="light"] { --rv-ink:#0b3a42; --rv-dim:#4a7a80; --rv-panel:#fffffff0; }
html.cx[data-theme="riviera"][data-mode][data-style] body { font-family:var(--font); font-size:16px; background:linear-gradient(180deg,#062a32,#04161a 60%,#05343c); }
html.cx[data-theme="riviera"][data-mode="light"][data-style] body { background:linear-gradient(180deg,#f7fcfc,#e8f6f6 60%,#cdeeee); }
html.cx[data-theme="riviera"] #cx-art > i { left:0; right:0; bottom:0; height:26vh; background:radial-gradient(circle,#fff 0 1.2px,transparent 2px) 0 0/167px 61px,radial-gradient(circle,#eac26a 0 1px,transparent 1.8px) 71px 29px/223px 83px,radial-gradient(circle,#fff 0 1px,transparent 1.6px) 113px 47px/281px 97px; -webkit-mask:linear-gradient(transparent,#000); mask:linear-gradient(transparent,#000); animation:rv-glint 3s ease-in-out infinite alternate; }
html.cx[data-theme="riviera"] #cx-art .cx-b { animation-delay:-1.5s; background-position:20px 7px,51px 19px; }
html.cx[data-theme="riviera"][data-mode="light"] #cx-art > i { filter:invert(.5); }
@keyframes rv-glint { from { opacity:.1; } to { opacity:.45; } }
@keyframes rv-unroll { from { transform:scaleY(.2); transform-origin:50% 0; opacity:0; } to { transform:none; opacity:1; } }

html.cx[data-theme="riviera"][data-mode][data-style] :is(h1,h2,h3,h4,.brand) { font-family:var(--rv-display); font-weight:400; letter-spacing:0; }
html.cx[data-theme="riviera"][data-mode][data-style] .section-head h2 { font-size:clamp(36px,3.6vw,56px); font-style:italic; color:var(--rv-ink); }
html.cx[data-theme="riviera"][data-mode][data-style] .section-head h2::after { content:" ⛱"; font-style:normal; font-size:.6em; }
html.cx[data-theme="riviera"][data-mode][data-style] :is(.stat .value,.sc-bal-num,.month-bar .title,.cal .day .num) { font-family:var(--rv-display); font-weight:400; }

html.cx[data-theme="riviera"][data-mode][data-style] :is(.btn,.seg button) { border-radius:999px !important; font:italic 600 15px var(--font); text-transform:none; letter-spacing:0; transition:transform .3s,box-shadow .3s; }
html.cx[data-theme="riviera"][data-mode][data-style] :is(.btn.primary,.btn.info,.seg button.active) { color:#fff !important; border:0 !important; background:linear-gradient(180deg,#22b8cf,#17a2b8) !important; box-shadow:0 0 0 2px #fffaf0,0 0 0 3px #17a2b8,0 8px 16px -8px #17a2b8 !important; }
html.cx[data-theme="riviera"][data-mode][data-style] :is(.btn:not(.primary):not(.info),.seg button:not(.active)) { color:var(--rv-ink); border:1.5px dashed #eac26a99 !important; background:transparent !important; box-shadow:none !important; }
html.cx[data-theme="riviera"][data-mode][data-style] :is(.btn,.seg button):hover { transform:translateY(-2px); }
html.cx[data-theme="riviera"][data-mode][data-style] :is(input,select,textarea) { border-radius:12px !important; border:1px solid #4dd0c455; background:var(--rv-panel); }
html.cx[data-theme="riviera"][data-mode][data-style] :is(.card,.stat,.panel):not(.station-card):not(.add-card) { border-radius:16px !important; border:1px solid #4dd0c433 !important; background:var(--rv-panel) !important; box-shadow:0 20px 34px -26px #000 !important; }

/* ---------- dashboard: cabanas ---------- */
html.cx[data-theme="riviera"][data-mode][data-style] .station-grid { display:flex !important; flex-wrap:wrap; justify-content:center; align-items:flex-start; gap:34px !important; padding:24px 0 50px; }
html.cx[data-theme="riviera"][data-mode][data-style] .station-grid > .station-card {
  --stripe:#17a2b8; width:300px; min-height:0; box-sizing:border-box; padding:84px 24px 22px !important; position:relative; text-align:center; color:#0b3a42; overflow:visible;
  border:0 !important; border-radius:6px 6px 18px 18px !important; background:var(--rv-cream) !important;
  box-shadow:0 2px 0 #e8dcc4,0 22px 30px -16px #000c !important; animation:rv-unroll .8s cubic-bezier(.22,1,.36,1) backwards; transition:transform .5s cubic-bezier(.22,1,.36,1);
}
html.cx[data-theme="riviera"][data-mode][data-style] .station-grid > .station-card:nth-child(2) { --stripe:#f08a5d; animation-delay:.12s; }
/* The awning: stripes with a scalloped edge */
html.cx[data-theme="riviera"][data-mode][data-style] .station-grid > .station-card::before {
  content:"" !important; display:block !important; position:absolute; inset:auto; left:-10px; right:-10px; top:-4px; height:70px; width:auto; opacity:1;
  background:repeating-linear-gradient(90deg,var(--stripe) 0 26px,#fffaf0 26px 52px) !important;
  -webkit-mask:radial-gradient(13px at 13px 100%,#0000 98%,#000) 0 0/26px 100% repeat-x,linear-gradient(#000,#000) 0 0/100% calc(100% - 13px) no-repeat;
  mask:radial-gradient(13px at 13px 100%,#0000 98%,#000) 0 0/26px 100% repeat-x,linear-gradient(#000,#000) 0 0/100% calc(100% - 13px) no-repeat;
  border-radius:8px 8px 0 0; filter:drop-shadow(0 4px 3px #0003);
}
html.cx[data-theme="riviera"][data-mode][data-style] .station-grid > .station-card::after { display:none !important; }
html.cx[data-theme="riviera"][data-mode][data-style] .station-card :is(h3,.sc-bal-num,.ov-v,.gp) { color:#0b3a42 !important; }
html.cx[data-theme="riviera"][data-mode][data-style] .station-card :is(.meta,.sc-bal-label,.sc-bal-suffix,.ov-l,.muted) { color:#4a7a80 !important; }
html.cx[data-theme="riviera"][data-mode][data-style] .station-card .sc-head { flex-direction:column; align-items:center; gap:0; }
html.cx[data-theme="riviera"][data-mode][data-style] .station-card h3 { font:italic 400 25px/1.05 var(--rv-display); }
html.cx[data-theme="riviera"][data-mode][data-style] .station-card .meta { font:italic 14px var(--font); }
html.cx[data-theme="riviera"][data-mode][data-style] .station-card .sc-badge { display:none; }
html.cx[data-theme="riviera"][data-mode][data-style] .station-card .sc-balance { background:none !important; border:0 !important; box-shadow:none !important; padding:8px 0; margin:6px 0; }
html.cx[data-theme="riviera"][data-mode][data-style] .station-card .sc-bal-num { font-size:30px; color:var(--stripe) !important; }
html.cx[data-theme="riviera"][data-mode][data-style] .station-card .sc-bal-label { font:italic 600 12px var(--font); }
html.cx[data-theme="riviera"][data-mode][data-style] .station-card .sc-prices { justify-content:center; gap:6px; margin:4px 0; }
html.cx[data-theme="riviera"][data-mode][data-style] .station-card .gp { font:italic 600 13px var(--font); border:1.5px dashed var(--rv-sand) !important; background:transparent !important; border-radius:999px; padding:2px 9px; }
html.cx[data-theme="riviera"][data-mode][data-style] .station-card .sc-rows { border:0; margin:0; padding:0; }
html.cx[data-theme="riviera"][data-mode][data-style] .station-card :is(.ov-row:first-child,.ov-l) { display:none; }
html.cx[data-theme="riviera"][data-mode][data-style] .station-card .ov-row { border:0; justify-content:center; font:italic 13px var(--font); }
html.cx[data-theme="riviera"][data-mode][data-style] .station-grid > .add-card { width:170px; height:70px; min-height:0; padding:0 !important; align-self:center; display:flex !important; align-items:center; justify-content:center; text-align:center; border-radius:999px !important; border:3px dashed #eac26a !important; background:transparent !important; box-shadow:none !important; font:italic 400 17px var(--rv-display); color:var(--rv-ink) !important; }
html.cx[data-theme="riviera"][data-mode][data-style] .station-grid > .add-card::before,html.cx[data-theme="riviera"][data-mode][data-style] .station-grid > .add-card::after { display:none !important; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) { html.cx[data-theme="riviera"][data-mode][data-style] .station-grid > .station-card:hover { transform:translateY(-6px) rotate(-.8deg); } }

/* ---------- station page: awning tabs ---------- */
.sn-riviera { margin:8px 0 22px; }
.sn-riviera .rv-secs { display:flex; flex-wrap:wrap; gap:8px; }
html.cx .sn-riviera button.rv-sec { position:relative; display:flex; align-items:center; gap:6px; padding:10px 18px 18px; font:italic 400 17px var(--rv-display); color:#0b3a42;
  background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--c) 85%,#fff) 0 14px,#fffaf0 14px 28px);
  -webkit-mask:radial-gradient(7px at 7px 100%,#0000 98%,#000) 0 0/14px 100% repeat-x,linear-gradient(#000,#000) 0 0/100% calc(100% - 7px) no-repeat;
  mask:radial-gradient(7px at 7px 100%,#0000 98%,#000) 0 0/14px 100% repeat-x,linear-gradient(#000,#000) 0 0/100% calc(100% - 7px) no-repeat;
  border-radius:8px 8px 0 0; filter:saturate(.7) brightness(.9); transition:transform .4s cubic-bezier(.22,1,.36,1),filter .3s; animation:rv-unroll .6s cubic-bezier(.22,1,.36,1) calc(var(--n) * 60ms) backwards; }
html.cx .sn-riviera button.rv-sec b { background:#fffaf0e6; padding:1px 8px; border-radius:6px; font-weight:400; }
.sn-riviera .rv-ico { font-style:normal; font-size:14px; }
html.cx .sn-riviera button.rv-sec:hover { filter:none; transform:translateY(-2px); }
html.cx .sn-riviera button.rv-sec[aria-selected="true"] { filter:none; transform:translateY(4px); }
.sn-riviera .rv-tray { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.sn-riviera .rv-tray.in > * { animation:rv-unroll .45s cubic-bezier(.22,1,.36,1) calc(var(--n) * 45ms) backwards; }
html.cx .sn-riviera button.rv-pg { display:inline-flex; align-items:center; gap:8px; padding:9px 18px; border-radius:999px; font:italic 600 15px var(--font); color:var(--rv-ink); border:2px dashed color-mix(in srgb,var(--rv-sand) 70%,transparent); transition:transform .3s,background .3s; }
html.cx .sn-riviera button.rv-pg:hover { transform:translateY(-2px); background:#eac26a1a; }
html.cx .sn-riviera button.rv-pg[aria-current="page"] { color:#0b3a42; background:#fffaf0; border-color:var(--c); border-style:solid; }

html.cx[data-theme="riviera"][data-mode][data-style] .month-bar .title { font-size:28px; font-style:italic; }
html.cx[data-theme="riviera"][data-mode][data-style] .stat .label { font:italic 600 13px var(--font); color:var(--rv-dim); text-transform:none; letter-spacing:0; }
html.cx[data-theme="riviera"][data-mode][data-style] .stat .value { font-size:26px; }
html.cx[data-theme="riviera"][data-mode][data-style] .station-stats-side .stat { border-left:0 !important; }
html.cx[data-theme="riviera"][data-mode][data-style] .cal .dow { font:italic 600 14px var(--font); color:var(--rv-dim); text-transform:none; letter-spacing:0; }
html.cx[data-theme="riviera"][data-mode][data-style] .cal .day:not(.empty) { border-radius:14px !important; border:1px solid #4dd0c426 !important; background:var(--rv-panel) !important; box-shadow:none !important; transition:transform .3s; }
html.cx[data-theme="riviera"][data-mode][data-style] .cal .day.empty { background:transparent !important; border:0 !important; box-shadow:none !important; }
html.cx[data-theme="riviera"][data-mode][data-style] .cal .day .badge { border-radius:999px; background:#4dd0c41f; color:inherit; border:0; }
html.cx[data-theme="riviera"][data-mode][data-style] .cal .day.today { background:repeating-linear-gradient(90deg,#17a2b8 0 14px,#fffaf0 14px 28px) 0 0/100% 18px no-repeat,#fffaf0 !important; border-color:#17a2b8 !important; }
html.cx[data-theme="riviera"][data-mode][data-style] .cal .day.today :is(.num,.muted,div,span) { color:#0b3a42 !important; }
html.cx[data-theme="riviera"][data-mode][data-style] .cal .day.today .num { margin-top:14px; display:inline-block; }
@media (hover:hover) { html.cx[data-theme="riviera"][data-mode][data-style] .cal .day:not(.empty):hover { transform:translateY(-2px); } }

/* =====================================================================================================
   MEADOW — a field journal. Iowan italic + Caveat notes; notebook-page stations with washi-tape corners;
   bunting flags strung across for sections; a handwritten page checklist; dandelion seeds drifting by.
   ===================================================================================================== */
html.cx[data-theme="meadow"] {
  --md-g:#7aa93f; --md-o:#b5c95a; --md-y:#e3b24a; --md-paper:#fbf8ec; --md-ink:#eef3dd; --md-dim:#a8b48a; --md-panel:color-mix(in srgb,#213013 86%,transparent);
  --font:"Iowan Old Style",Palatino,Georgia,serif; --md-hand:"Caveat","Bradley Hand",cursive; --radius:6px; --radius-btn:6px;
}
html.cx[data-theme="meadow"][data-mode="light"] { --md-ink:#2c3a16; --md-dim:#6a7650; --md-panel:#fffef7f0; }
html.cx[data-theme="meadow"][data-mode][data-style] body { font-family:var(--font); background:radial-gradient(900px 600px at 50% 0,#22320f,transparent 70%),#101707; }
html.cx[data-theme="meadow"][data-mode="light"][data-style] body { background:radial-gradient(900px 600px at 50% 0,#fff,transparent 70%),#f1f4e2; }
html.cx[data-theme="meadow"] #cx-art .cx-a { left:0; right:0; bottom:0; height:16vh; background:radial-gradient(ellipse 6px 60px at 50% 100%,#7aa93f 0 99%,transparent) 0 100%/22px 100% repeat-x,radial-gradient(ellipse 5px 46px at 50% 100%,#5c8a2c 0 99%,transparent) 11px 100%/31px 100% repeat-x; opacity:.35; -webkit-mask:linear-gradient(transparent,#000 70%); mask:linear-gradient(transparent,#000 70%); animation:md-grass 6s ease-in-out infinite alternate; transform-origin:50% 100%; }
html.cx[data-theme="meadow"] #cx-art :is(.cx-b,.cx-c) { width:18px; height:18px; border-radius:50%; background:radial-gradient(circle,#fff 0 2px,#ffffff88 3px,transparent 9px); box-shadow:0 0 6px #fff8; top:110vh; animation:md-seed 26s linear infinite; }
html.cx[data-theme="meadow"] #cx-art .cx-b { left:20vw; }
html.cx[data-theme="meadow"] #cx-art .cx-c { left:66vw; animation-duration:34s; animation-delay:-14s; }
html.cx[data-theme="meadow"][data-mode="light"] #cx-art :is(.cx-b,.cx-c) { background:radial-gradient(circle,#a8b48a 0 2px,#a8b48a66 3px,transparent 9px); }
@keyframes md-grass { from { transform:skewX(-3deg); } to { transform:skewX(3deg); } }
@keyframes md-seed { from { transform:translate(0,0) rotate(0); } 50% { transform:translate(80px,-60vh) rotate(180deg); } to { transform:translate(-40px,-125vh) rotate(360deg); } }
@keyframes md-pin { from { transform:translateY(-20px) rotate(-6deg); opacity:0; } to { opacity:1; } }

html.cx[data-theme="meadow"][data-mode][data-style] :is(h1,h2,h3,h4,.brand) { font-family:var(--font); font-weight:600; font-style:italic; }
html.cx[data-theme="meadow"][data-mode][data-style] .section-head h2 { font-size:clamp(34px,3.4vw,52px); font-weight:500; color:var(--md-ink); }
html.cx[data-theme="meadow"][data-mode][data-style] .section-head h2::after { content:" 🌼"; font-style:normal; font-size:.6em; }
html.cx[data-theme="meadow"][data-mode][data-style] :is(.stat .value,.sc-bal-num,.month-bar .title) { font-family:var(--font); font-style:italic; font-weight:600; }

html.cx[data-theme="meadow"][data-mode][data-style] :is(.btn,.seg button) { border-radius:6px !important; font:italic 600 15px var(--font); text-transform:none; letter-spacing:0; transition:transform .25s; }
html.cx[data-theme="meadow"][data-mode][data-style] :is(.btn.primary,.btn.info,.seg button.active) { color:#1c2a0c !important; border:0 !important; background:linear-gradient(180deg,#c9dc6e,#b5c95a) !important; box-shadow:0 3px 0 #5c7a2a !important; }
html.cx[data-theme="meadow"][data-mode][data-style] :is(.btn:not(.primary):not(.info),.seg button:not(.active)) { color:var(--md-ink); border:1px solid #b5c95a66 !important; background:transparent !important; box-shadow:none !important; }
html.cx[data-theme="meadow"][data-mode][data-style] :is(.btn,.seg button):hover { transform:rotate(-1.5deg); }
html.cx[data-theme="meadow"][data-mode][data-style] :is(input,select,textarea) { border-radius:4px !important; border:1px solid #b5c95a55; background:var(--md-panel); }
html.cx[data-theme="meadow"][data-mode][data-style] :is(.card,.stat,.panel):not(.station-card):not(.add-card) { border-radius:6px !important; border:1px solid #b5c95a33 !important; background:var(--md-panel) !important; box-shadow:0 20px 34px -26px #000 !important; }

/* ---------- dashboard: journal pages ---------- */
html.cx[data-theme="meadow"][data-mode][data-style] .station-grid { display:flex !important; flex-wrap:wrap; justify-content:center; align-items:flex-start; gap:36px !important; padding:30px 0 50px; }
html.cx[data-theme="meadow"][data-mode][data-style] .station-grid > .station-card {
  width:300px; min-height:0; box-sizing:border-box; padding:30px 24px 22px !important; position:relative; color:#2c3a16; overflow:visible;
  border:0 !important; border-radius:2px !important; transform:rotate(-1.6deg);
  background:linear-gradient(#e3b24a33,#e3b24a33) 30px 0/1.5px 100% no-repeat,repeating-linear-gradient(180deg,transparent 0 25px,#7aa93f26 25px 26px) 0 12px,var(--md-paper) !important;
  box-shadow:0 1px 3px #0003,0 18px 26px -16px #000c !important;
  animation:md-pin .8s cubic-bezier(.22,1,.36,1) backwards; transition:transform .5s cubic-bezier(.22,1,.36,1);
}
html.cx[data-theme="meadow"][data-mode][data-style] .station-grid > .station-card:nth-child(2) { transform:rotate(1.4deg); animation-delay:.12s; }
/* Washi tape on the top corners */
html.cx[data-theme="meadow"][data-mode][data-style] .station-grid > .station-card::before { content:"" !important; display:block !important; position:absolute; inset:auto; left:-14px; top:6px; width:80px; height:24px; transform:rotate(-38deg); background:repeating-linear-gradient(45deg,#e3b24acc 0 6px,#f0cc7acc 6px 12px) !important; opacity:.85; }
html.cx[data-theme="meadow"][data-mode][data-style] .station-grid > .station-card::after { content:"" !important; display:block !important; position:absolute; inset:auto; right:-14px; top:6px; width:80px; height:24px; transform:rotate(38deg); background:repeating-linear-gradient(-45deg,#b5c95acc 0 6px,#cddd88cc 6px 12px) !important; opacity:.85; }
html.cx[data-theme="meadow"][data-mode][data-style] .station-card :is(h3,.sc-bal-num,.ov-v,.gp) { color:#2c3a16 !important; }
html.cx[data-theme="meadow"][data-mode][data-style] .station-card :is(.meta,.sc-bal-label,.sc-bal-suffix,.ov-l,.muted) { color:#6a7650 !important; }
html.cx[data-theme="meadow"][data-mode][data-style] .station-card h3 { font:italic 600 23px var(--font); }
html.cx[data-theme="meadow"][data-mode][data-style] .station-card .meta { font:500 18px var(--md-hand); }
html.cx[data-theme="meadow"][data-mode][data-style] .station-card .sc-badge { display:none; }
html.cx[data-theme="meadow"][data-mode][data-style] .station-card .sc-balance { background:none !important; border:0 !important; box-shadow:none !important; padding:6px 0; margin:4px 0; }
html.cx[data-theme="meadow"][data-mode][data-style] .station-card .sc-bal-num { font:700 32px var(--md-hand); color:#4f7a1f !important; }
html.cx[data-theme="meadow"][data-mode][data-style] .station-card .sc-bal-label { font:500 16px var(--md-hand); }
html.cx[data-theme="meadow"][data-mode][data-style] .station-card .sc-prices { gap:12px; margin:2px 0; }
html.cx[data-theme="meadow"][data-mode][data-style] .station-card .gp { font:700 18px var(--md-hand); border:0 !important; background:transparent !important; padding:0; border-radius:0; }
html.cx[data-theme="meadow"][data-mode][data-style] .station-card .sc-rows { border:0; margin:0; padding:0; }
html.cx[data-theme="meadow"][data-mode][data-style] .station-card :is(.ov-row:first-child,.ov-l) { display:none; }
html.cx[data-theme="meadow"][data-mode][data-style] .station-card .ov-row { border:0; font:500 17px var(--md-hand); }
html.cx[data-theme="meadow"][data-mode][data-style] .station-grid > .add-card { width:150px; min-height:0; height:150px; padding:0 !important; align-self:center; display:flex !important; align-items:center; justify-content:center; text-align:center; border-radius:2px !important; border:2px dashed #b5c95a88 !important; background:transparent !important; box-shadow:none !important; font:700 20px var(--md-hand); color:var(--md-o) !important; transform:rotate(2deg); }
html.cx[data-theme="meadow"][data-mode][data-style] .station-grid > .add-card::before,html.cx[data-theme="meadow"][data-mode][data-style] .station-grid > .add-card::after { display:none !important; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) { html.cx[data-theme="meadow"][data-mode][data-style] .station-grid > .station-card:hover { transform:rotate(0) translateY(-6px); } }

/* ---------- station page: bunting + checklist ---------- */
.sn-meadow { margin:8px 0 22px; }
.sn-meadow .md-secs { position:relative; display:flex; flex-wrap:wrap; gap:4px 10px; padding:14px 6px 0; }
.sn-meadow .md-secs::before { content:""; position:absolute; left:0; right:0; top:10px; height:14px; border-top:2px solid #a8b48a; border-radius:50% 50% 0 0 / 14px 14px 0 0; }
html.cx .sn-meadow button.md-sec { position:relative; display:flex; flex-direction:column; align-items:center; gap:0; width:118px; padding:6px 0 38px; font:700 17px var(--md-hand); color:#1c2a0c;
  background:var(--c); clip-path:polygon(0 0,100% 0,50% 100%); transform-origin:50% 0; transition:transform .5s cubic-bezier(.34,1.56,.64,1); animation:md-pin .6s cubic-bezier(.22,1,.36,1) calc(var(--n) * 70ms) backwards; }
.sn-meadow .md-ico { font-size:15px; }
html.cx .sn-meadow button.md-sec:hover { transform:rotate(-6deg); }
html.cx .sn-meadow button.md-sec[aria-selected="true"] { transform:scale(1.12); filter:drop-shadow(0 4px 6px #0006); }
.sn-meadow .md-tray { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:2px 24px; margin-top:16px; }
.sn-meadow .md-tray.in > * { animation:md-pin .45s cubic-bezier(.22,1,.36,1) calc(var(--n) * 45ms) backwards; }
html.cx .sn-meadow button.md-pg { display:flex; align-items:center; gap:10px; padding:5px 2px; font:500 21px var(--md-hand); color:var(--md-ink); }
html.cx .sn-meadow button.md-pg > span { font-size:15px; }
html.cx .sn-meadow button.md-pg::before { content:""; width:15px; height:15px; flex:none; border:2px solid #a8b48a; border-radius:50% 45% 55% 50%; }
html.cx .sn-meadow button.md-pg:hover { color:var(--md-o); }
html.cx .sn-meadow button.md-pg[aria-current="page"] { color:var(--md-o); }
html.cx .sn-meadow button.md-pg[aria-current="page"]::before { content:"✓"; display:grid; place-items:center; font:700 15px var(--md-hand); color:#101707; background:var(--md-o); border-color:var(--md-o); }

html.cx[data-theme="meadow"][data-mode][data-style] .month-bar .title { font-size:26px; }
html.cx[data-theme="meadow"][data-mode][data-style] .stat .label { font:500 17px var(--md-hand); color:var(--md-dim); text-transform:none; letter-spacing:0; }
html.cx[data-theme="meadow"][data-mode][data-style] .stat .value { font-size:24px; }
html.cx[data-theme="meadow"][data-mode][data-style] .station-stats-side .stat { border-left:0 !important; }
html.cx[data-theme="meadow"][data-mode][data-style] .cal .dow { font:700 18px var(--md-hand); color:var(--md-dim); text-transform:none; letter-spacing:0; }
html.cx[data-theme="meadow"][data-mode][data-style] .cal .day:not(.empty) { border-radius:4px !important; border:1px solid #b5c95a26 !important; background:var(--md-panel) !important; box-shadow:none !important; transition:transform .3s; }
html.cx[data-theme="meadow"][data-mode][data-style] .cal .day.empty { background:transparent !important; border:0 !important; box-shadow:none !important; }
html.cx[data-theme="meadow"][data-mode][data-style] .cal .day .num { font:700 26px var(--md-hand); }
html.cx[data-theme="meadow"][data-mode][data-style] .cal .day .badge { border-radius:3px; background:#b5c95a22; color:inherit; border:0; }
html.cx[data-theme="meadow"][data-mode][data-style] .cal .day.today { background:repeating-linear-gradient(180deg,transparent 0 19px,#7aa93f33 19px 20px),var(--md-paper) !important; border-color:#e3b24a !important; transform:rotate(-1.5deg); }
html.cx[data-theme="meadow"][data-mode][data-style] .cal .day.today :is(.num,.muted,div,span) { color:#2c3a16 !important; }
@media (hover:hover) { html.cx[data-theme="meadow"][data-mode][data-style] .cal .day:not(.empty):hover { transform:rotate(-1deg) translateY(-2px); } }

/* =====================================================================================================
   DUSK — a fashion magazine at twilight. Bodoni Moda; magazine-cover stations with a big masthead,
   twilight cover art, cover lines and a barcode; an "In this issue" contents page; the sky shifting hue.
   ===================================================================================================== */
html.cx[data-theme="dusk"] {
  --dk-v:#8b5cf6; --dk-p:#ec6aa8; --dk-a:#f9b64d; --dk-ink:#ece7fb; --dk-dim:#a99fcf; --dk-panel:color-mix(in srgb,#231a44 84%,transparent);
  --font:"Bodoni Moda",Bodoni,Didot,serif; --radius:2px; --radius-btn:0px;
}
html.cx[data-theme="dusk"][data-mode="light"] { --dk-ink:#2a1a4e; --dk-dim:#6a5a90; --dk-panel:#fffcfff0; }
html.cx[data-theme="dusk"][data-mode][data-style] body { font-family:var(--font); background:linear-gradient(180deg,#0f0c22 0,#2a1748 45%,#5a2350 80%,#7a3442); background-attachment:fixed; }
html.cx[data-theme="dusk"][data-mode="light"][data-style] body { background:linear-gradient(180deg,#f0ecfb,#f7e6ef 60%,#fde7d4); background-attachment:fixed; }
html.cx[data-theme="dusk"] #cx-art .cx-a { inset:0; background:radial-gradient(circle,#fff 0 1px,transparent 1.5px) 0 0/151px 97px,radial-gradient(circle,#fde7f3 0 .8px,transparent 1.3px) 67px 41px/199px 131px; -webkit-mask:linear-gradient(#000,transparent 55%); mask:linear-gradient(#000,transparent 55%); opacity:.7; }
html.cx[data-theme="dusk"] #cx-art .cx-b { inset:0; background:linear-gradient(180deg,transparent 40%,#ec6aa822 80%,#f9b64d33); animation:dk-hue 20s ease-in-out infinite alternate; }
html.cx[data-theme="dusk"][data-mode="light"] #cx-art .cx-a { display:none; }
@keyframes dk-hue { from { filter:hue-rotate(0); opacity:.7; } to { filter:hue-rotate(-30deg); opacity:1; } }
@keyframes dk-print { from { transform:translateY(20px) rotate(2deg); opacity:0; } to { opacity:1; } }

html.cx[data-theme="dusk"][data-mode][data-style] :is(h1,h2,h3,h4,.brand) { font-family:var(--font); font-weight:800; letter-spacing:-.01em; }
html.cx[data-theme="dusk"][data-mode][data-style] .section-head h2 { font-size:clamp(40px,4.4vw,72px); font-weight:800; line-height:.95; letter-spacing:-.03em; color:var(--dk-ink); }
html.cx[data-theme="dusk"][data-mode][data-style] .section-head h2::before { content:"N°26 — "; font:italic 500 .3em var(--font); letter-spacing:.1em; vertical-align:.9em; color:var(--dk-p); }
html.cx[data-theme="dusk"][data-mode][data-style] :is(.stat .value,.sc-bal-num,.month-bar .title,.cal .day .num) { font-family:var(--font); font-weight:500; }

html.cx[data-theme="dusk"][data-mode][data-style] :is(.btn,.seg button) { border-radius:0 !important; font:500 11px var(--font); letter-spacing:.24em; text-transform:uppercase; transition:background .3s,color .3s; }
html.cx[data-theme="dusk"][data-mode][data-style] :is(.btn.primary,.btn.info,.seg button.active) { color:#0f0c22 !important; border:0 !important; background:var(--dk-ink) !important; box-shadow:none !important; }
html.cx[data-theme="dusk"][data-mode][data-style] :is(.btn:not(.primary):not(.info),.seg button:not(.active)) { color:var(--dk-ink); border:1px solid #ece7fb55 !important; background:transparent !important; box-shadow:none !important; }
html.cx[data-theme="dusk"][data-mode][data-style] :is(.btn,.seg button):hover { background:var(--dk-p) !important; color:#fff !important; }
html.cx[data-theme="dusk"][data-mode][data-style] :is(input,select,textarea) { border-radius:0 !important; border:1px solid #ece7fb44; background:var(--dk-panel); font-family:var(--font); }
html.cx[data-theme="dusk"][data-mode][data-style] :is(.card,.stat,.panel):not(.station-card):not(.add-card) { border-radius:0 !important; border:1px solid #ece7fb26 !important; background:var(--dk-panel) !important; box-shadow:0 20px 34px -26px #000 !important; }

/* ---------- dashboard: magazine covers ---------- */
html.cx[data-theme="dusk"][data-mode][data-style] .station-grid { display:flex !important; flex-wrap:wrap; justify-content:center; align-items:flex-start; gap:34px !important; padding:24px 0 50px; }
html.cx[data-theme="dusk"][data-mode][data-style] .station-grid > .station-card {
  width:260px; height:340px; min-height:0; box-sizing:border-box; padding:16px 18px !important; position:relative; color:#fff; overflow:hidden;
  border:0 !important; border-radius:0 !important; display:flex !important; flex-direction:column;
  background:radial-gradient(circle at 70% 64%,#fde68a 0 18px,#f9b64d88 28px,transparent 60px),linear-gradient(180deg,#1e1450 0,#6b2c8e 38%,#ec6aa8 68%,#f9b64d 92%) !important;
  box-shadow:0 26px 40px -20px #000d,0 1px 0 #fff3 !important;
  animation:dk-print .8s cubic-bezier(.22,1,.36,1) backwards; transition:transform .5s cubic-bezier(.22,1,.36,1);
}
html.cx[data-theme="dusk"][data-mode][data-style] .station-grid > .station-card:nth-child(2) { animation-delay:.12s; background:radial-gradient(circle at 30% 60%,#fff7d6 0 14px,#fde68a88 24px,transparent 56px),linear-gradient(180deg,#0b1a3e 0,#3b2a8e 40%,#8b5cf6 66%,#ec6aa8 94%) !important; }
html.cx[data-theme="dusk"][data-mode][data-style] .station-grid > .station-card::before { content:"" !important; display:block !important; position:absolute; inset:auto; right:14px; bottom:14px; width:46px; height:26px; opacity:1; background:repeating-linear-gradient(90deg,#111 0 2px,#fff 2px 3px,#111 3px 4px,#fff 4px 6px,#111 6px 7px,#fff 7px 9px) !important; box-shadow:0 0 0 3px #fff; }
html.cx[data-theme="dusk"][data-mode][data-style] .station-grid > .station-card::after { content:"VOL. 26 · OCTOBER" !important; display:block !important; position:absolute; inset:auto; left:18px; bottom:16px; width:auto; height:auto; font:500 9px var(--font); letter-spacing:.2em; color:#fff; background:none !important; opacity:1; }
html.cx[data-theme="dusk"][data-mode][data-style] .station-card :is(h3,.meta,.sc-bal-num,.sc-bal-label,.sc-bal-suffix,.ov-l,.ov-v,.gp,.muted) { color:#fff !important; text-shadow:0 1px 6px #0006; }
html.cx[data-theme="dusk"][data-mode][data-style] .station-card .sc-head { flex-direction:column; align-items:stretch; gap:0; margin:0; }
html.cx[data-theme="dusk"][data-mode][data-style] .station-card h3 { font:800 34px/.9 var(--font); letter-spacing:-.04em; text-transform:uppercase; }
html.cx[data-theme="dusk"][data-mode][data-style] .station-card .meta { font:italic 500 13px var(--font); margin-top:4px; }
html.cx[data-theme="dusk"][data-mode][data-style] .station-card .sc-badge { display:none; }
html.cx[data-theme="dusk"][data-mode][data-style] .station-card .sc-balance { background:none !important; border:0 !important; box-shadow:none !important; padding:0; margin:auto 0 0; }
html.cx[data-theme="dusk"][data-mode][data-style] .station-card .sc-bal-num { font:800 26px var(--font); }
html.cx[data-theme="dusk"][data-mode][data-style] .station-card .sc-bal-label { font:italic 500 12px var(--font); }
html.cx[data-theme="dusk"][data-mode][data-style] .station-card .sc-prices { flex-direction:column; align-items:flex-start; gap:0; margin:6px 0 30px; }
html.cx[data-theme="dusk"][data-mode][data-style] .station-card .gp { font:500 12px var(--font); letter-spacing:.08em; border:0 !important; background:transparent !important; padding:0; border-radius:0; }
html.cx[data-theme="dusk"][data-mode][data-style] .station-card .sc-rows { display:none; }
html.cx[data-theme="dusk"][data-mode][data-style] .station-grid > .add-card { width:160px; height:210px; min-height:0; padding:0 !important; align-self:center; display:flex !important; align-items:center; justify-content:center; text-align:center; border-radius:0 !important; border:1px dashed #ece7fb66 !important; background:transparent !important; box-shadow:none !important; font:italic 500 16px var(--font); color:var(--dk-ink) !important; }
html.cx[data-theme="dusk"][data-mode][data-style] .station-grid > .add-card::before,html.cx[data-theme="dusk"][data-mode][data-style] .station-grid > .add-card::after { display:none !important; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) { html.cx[data-theme="dusk"][data-mode][data-style] .station-grid > .station-card:hover { transform:translateY(-8px) rotate(-1.2deg); } }

/* ---------- station page: in this issue ---------- */
.sn-dusk { margin:8px 0 24px; }
.sn-dusk .dk-secs { position:relative; display:flex; flex-wrap:wrap; gap:2px 28px; padding-top:22px; border-top:3px solid var(--dk-ink); }
.sn-dusk .dk-secs::before { content:"IN THIS ISSUE"; position:absolute; left:0; top:4px; font:500 9px var(--font); letter-spacing:.3em; color:var(--dk-p); }
html.cx .sn-dusk button.dk-sec { display:flex; align-items:baseline; gap:6px; font:800 26px var(--font); letter-spacing:-.02em; color:#ece7fb66; transition:color .3s; flex-direction:row-reverse; }
.sn-dusk .dk-ico { font:italic 500 11px var(--font); letter-spacing:.06em; color:var(--c); }
html.cx .sn-dusk button.dk-sec:hover { color:#ece7fbcc; }
html.cx .sn-dusk button.dk-sec[aria-selected="true"] { color:var(--dk-ink); }
html.cx .sn-dusk button.dk-sec[aria-selected="true"] b { box-shadow:inset 0 -10px 0 color-mix(in srgb,var(--c) 45%,transparent); }
.sn-dusk .dk-tray { display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:0 26px; margin-top:12px; }
.sn-dusk .dk-tray.in > * { animation:dk-print .45s cubic-bezier(.22,1,.36,1) calc(var(--n) * 45ms) backwards; }
html.cx .sn-dusk button.dk-pg { display:flex; align-items:baseline; gap:8px; padding:8px 0; border-bottom:1px solid #ece7fb22; font:italic 500 17px var(--font); color:var(--dk-ink); transition:padding .3s; }
html.cx .sn-dusk button.dk-pg > span { font-style:normal; font-size:13px; }
html.cx .sn-dusk button.dk-pg:hover { padding-left:8px; color:var(--c); }
html.cx .sn-dusk button.dk-pg[aria-current="page"] { color:var(--c); font-weight:800; font-style:normal; }

html.cx[data-theme="dusk"][data-mode][data-style] .month-bar .title { font-size:30px; font-weight:800; }
html.cx[data-theme="dusk"][data-mode][data-style] .stat .label { font:500 9px var(--font); letter-spacing:.24em; text-transform:uppercase; color:var(--dk-dim); }
html.cx[data-theme="dusk"][data-mode][data-style] .stat .value { font-size:28px; }
html.cx[data-theme="dusk"][data-mode][data-style] .station-stats-side .stat { border-left:0 !important; }
html.cx[data-theme="dusk"][data-mode][data-style] .cal .dow { font:500 10px var(--font); letter-spacing:.24em; color:var(--dk-dim); }
html.cx[data-theme="dusk"][data-mode][data-style] .cal .day:not(.empty) { border-radius:0 !important; border:1px solid #ece7fb1c !important; background:var(--dk-panel) !important; box-shadow:none !important; }
html.cx[data-theme="dusk"][data-mode][data-style] .cal .day.empty { background:transparent !important; border:0 !important; box-shadow:none !important; }
html.cx[data-theme="dusk"][data-mode][data-style] .cal .day .num { font-size:26px; font-weight:800; }
html.cx[data-theme="dusk"][data-mode][data-style] .cal .day .badge { border-radius:0; background:transparent; border:1px solid #ece7fb44; color:inherit; }
html.cx[data-theme="dusk"][data-mode][data-style] .cal .day.today { background:linear-gradient(180deg,#6b2c8e,#ec6aa8 70%,#f9b64d) !important; border-color:transparent !important; }
html.cx[data-theme="dusk"][data-mode][data-style] .cal .day.today :is(.num,.muted,div,span) { color:#fff !important; }

/* =====================================================================================================
   BOURBON — a distillery. Zilla Slab + Optima; oak barrel-head stations with grain rings and an iron hoop,
   letters branded into the wood; a tasting flight of amber glasses for sections; stamped cask-tag pages.
   ===================================================================================================== */
html.cx[data-theme="bourbon"] {
  --bb-a:#c8922a; --bb-g:#daa944; --bb-wood:#8a5a2b; --bb-iron:#2b2622; --bb-ink:#f5e8d0; --bb-dim:#c4a67a; --bb-panel:color-mix(in srgb,#2e2112 86%,transparent);
  --font:Optima,"Candara",system-ui,sans-serif; --bb-slab:"Zilla Slab","Rockwell",serif; --radius:8px; --radius-btn:4px;
}
html.cx[data-theme="bourbon"][data-mode="light"] { --bb-ink:#3a2410; --bb-dim:#7c5a32; --bb-panel:#fffaf0f0; }
html.cx[data-theme="bourbon"][data-mode][data-style] body { font-family:var(--font); background:radial-gradient(900px 600px at 50% 110%,#5a3510,transparent 70%),#15100a; }
html.cx[data-theme="bourbon"][data-mode="light"][data-style] body { background:radial-gradient(900px 600px at 50% 110%,#f0d9a8,transparent 70%),#f6edd8; }
html.cx[data-theme="bourbon"] #cx-art .cx-a { width:80vmax; height:50vmax; left:50%; bottom:-28vmax; margin-left:-40vmax; border-radius:50%; background:radial-gradient(closest-side,#daa94433,#c8922a14 50%,transparent); animation:bb-swirl 14s ease-in-out infinite alternate; }
@keyframes bb-swirl { from { transform:scale(1) rotate(0); } to { transform:scale(1.1) rotate(8deg); } }
@keyframes bb-roll { from { transform:translateX(-60px) rotate(-90deg); opacity:0; } to { transform:none; opacity:1; } }

html.cx[data-theme="bourbon"][data-mode][data-style] :is(h1,h2,h3,h4,.brand) { font-family:var(--bb-slab); font-weight:700; letter-spacing:.01em; }
html.cx[data-theme="bourbon"][data-mode][data-style] .section-head h2 { font-size:clamp(34px,3.4vw,52px); text-transform:uppercase; letter-spacing:.04em; color:var(--bb-g); }
html.cx[data-theme="bourbon"][data-mode][data-style] .section-head h2::after { content:"EST. 2026"; display:block; font:600 11px var(--font); letter-spacing:.4em; color:var(--bb-dim); margin-top:6px; }
html.cx[data-theme="bourbon"][data-mode][data-style] :is(.stat .value,.sc-bal-num,.month-bar .title,.cal .day .num) { font-family:var(--bb-slab); font-weight:700; }

html.cx[data-theme="bourbon"][data-mode][data-style] :is(.btn,.seg button) { border-radius:4px !important; font:700 13px var(--bb-slab); letter-spacing:.06em; text-transform:uppercase; transition:transform .2s,box-shadow .2s; }
html.cx[data-theme="bourbon"][data-mode][data-style] :is(.btn.primary,.btn.info,.seg button.active) { color:#1a0f05 !important; border:0 !important; background:linear-gradient(180deg,#f0c86a,#daa944 45%,#b07a22) !important; box-shadow:inset 0 1px 0 #fff6,0 3px 0 #6a4310 !important; }
html.cx[data-theme="bourbon"][data-mode][data-style] :is(.btn:not(.primary):not(.info),.seg button:not(.active)) { color:var(--bb-ink); border:1px solid #daa94455 !important; background:#8a5a2b26 !important; box-shadow:none !important; }
html.cx[data-theme="bourbon"][data-mode][data-style] :is(.btn,.seg button):active { transform:translateY(2px); }
html.cx[data-theme="bourbon"][data-mode][data-style] :is(input,select,textarea) { border-radius:4px !important; border:1px solid #daa94455; background:var(--bb-panel); }
html.cx[data-theme="bourbon"][data-mode][data-style] :is(.card,.stat,.panel):not(.station-card):not(.add-card) { border-radius:8px !important; border:1px solid #daa94430 !important; background:var(--bb-panel) !important; box-shadow:0 20px 34px -26px #000 !important; }

/* ---------- dashboard: barrel heads ---------- */
html.cx[data-theme="bourbon"][data-mode][data-style] .station-grid { display:flex !important; flex-wrap:wrap; justify-content:center; gap:40px !important; padding:30px 0 50px; }
html.cx[data-theme="bourbon"][data-mode][data-style] .station-grid > .station-card {
  width:280px; height:280px; min-height:0; box-sizing:border-box; padding:40px 34px !important; text-align:center; color:#2a170a; position:relative;
  border:12px solid var(--bb-iron) !important; border-radius:50% !important; display:flex !important; flex-direction:column; align-items:center; justify-content:center;
  background:radial-gradient(circle at 50% 50%,transparent 0 20%,#00000014 21%,transparent 23% 38%,#00000012 39%,transparent 41% 58%,#00000010 59%,transparent 61%),repeating-linear-gradient(90deg,#c48a4c 0 46px,#b07a3e 46px 48px,#c8904f 48px 92px),#c48a4c !important;
  box-shadow:inset 0 0 30px #5a320f99,inset 0 0 0 3px #00000044,0 0 0 2px #4a403a,0 20px 34px -14px #000d !important;
  animation:bb-roll .9s cubic-bezier(.22,1,.36,1) backwards; transition:transform .6s cubic-bezier(.22,1,.36,1);
}
html.cx[data-theme="bourbon"][data-mode][data-style] .station-grid > .station-card:nth-child(2) { animation-delay:.12s; }
html.cx[data-theme="bourbon"][data-mode][data-style] .station-grid > .station-card::before,html.cx[data-theme="bourbon"][data-mode][data-style] .station-grid > .station-card::after { display:none !important; }
html.cx[data-theme="bourbon"][data-mode][data-style] .station-card :is(h3,.meta,.sc-bal-num,.sc-bal-label,.sc-bal-suffix,.ov-l,.ov-v,.gp,.muted) { color:#2a170a !important; text-shadow:0 1px 0 #e0b07a66; }
html.cx[data-theme="bourbon"][data-mode][data-style] .station-card .sc-head { flex-direction:column; align-items:center; gap:0; margin:0; }
html.cx[data-theme="bourbon"][data-mode][data-style] .station-card h3 { font:700 19px/1.1 var(--bb-slab); text-transform:uppercase; letter-spacing:.04em; }
html.cx[data-theme="bourbon"][data-mode][data-style] .station-card .meta { font:600 10px var(--font); letter-spacing:.2em; text-transform:uppercase; }
html.cx[data-theme="bourbon"][data-mode][data-style] .station-card .sc-badge { display:none; }
html.cx[data-theme="bourbon"][data-mode][data-style] .station-card .sc-balance { background:none !important; border:0 !important; box-shadow:none !important; padding:6px 0 2px; margin:4px 0; border-block:2px solid #2a170a55 !important; border-radius:0; }
html.cx[data-theme="bourbon"][data-mode][data-style] .station-card .sc-bal-num { font-size:24px; }
html.cx[data-theme="bourbon"][data-mode][data-style] .station-card .sc-bal-label { font:700 8px var(--font); letter-spacing:.24em; text-transform:uppercase; }
html.cx[data-theme="bourbon"][data-mode][data-style] .station-card .sc-prices { justify-content:center; gap:8px; margin:4px 0 0; }
html.cx[data-theme="bourbon"][data-mode][data-style] .station-card .gp { font:700 11px var(--bb-slab); border:0 !important; background:transparent !important; padding:0; border-radius:0; }
html.cx[data-theme="bourbon"][data-mode][data-style] .station-card .sc-rows { display:none; }
html.cx[data-theme="bourbon"][data-mode][data-style] .station-grid > .add-card { width:130px; height:130px; min-height:0; padding:0 !important; align-self:center; display:flex !important; align-items:center; justify-content:center; text-align:center; border-radius:50% !important; border:2px dashed #daa94488 !important; background:transparent !important; box-shadow:none !important; font:700 12px var(--bb-slab); text-transform:uppercase; color:var(--bb-g) !important; }
html.cx[data-theme="bourbon"][data-mode][data-style] .station-grid > .add-card::before,html.cx[data-theme="bourbon"][data-mode][data-style] .station-grid > .add-card::after { display:none !important; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) { html.cx[data-theme="bourbon"][data-mode][data-style] .station-grid > .station-card:hover { transform:rotate(-10deg) scale(1.03); } }

/* ---------- station page: tasting flight ---------- */
.sn-bourbon { margin:8px 0 22px; }
.sn-bourbon .bb-secs { display:flex; flex-wrap:wrap; gap:6px 22px; padding:14px 18px 10px; border-radius:8px; background:linear-gradient(180deg,#5a3a1c,#3a2410); box-shadow:inset 0 2px 0 #ffffff14,0 6px 0 #241509; }
.sn-bourbon .bb-ico { display:none; }
html.cx .sn-bourbon button.bb-sec { display:flex; flex-direction:column; align-items:center; gap:6px; font:700 12px var(--bb-slab); letter-spacing:.08em; text-transform:uppercase; color:#e8d3a8; }
/* A rocks glass with amber poured to a level that rises when chosen */
html.cx .sn-bourbon button.bb-sec::before { content:""; width:38px; height:42px; border-radius:3px 3px 10px 10px; border:2px solid #f5e8d0aa; border-top:0; background:linear-gradient(0deg,var(--c) 0 34%,#f5e8d014 34%); box-shadow:inset 0 -3px 6px #0004; transition:background-size .6s cubic-bezier(.22,1,.36,1),transform .4s cubic-bezier(.22,1,.36,1); }
html.cx .sn-bourbon button.bb-sec:hover::before { transform:translateY(-3px) rotate(-6deg); }
html.cx .sn-bourbon button.bb-sec[aria-selected="true"] { color:#fff; }
html.cx .sn-bourbon button.bb-sec[aria-selected="true"]::before { background:linear-gradient(0deg,var(--c) 0 72%,#fff3 72% 78%,#f5e8d014 78%); box-shadow:inset 0 -3px 6px #0004,0 0 18px color-mix(in srgb,var(--c) 70%,transparent); }
.sn-bourbon .bb-tray { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.sn-bourbon .bb-tray.in > * { animation:bb-roll .45s cubic-bezier(.22,1,.36,1) calc(var(--n) * 45ms) backwards; }
html.cx .sn-bourbon button.bb-pg { position:relative; display:inline-flex; align-items:center; gap:8px; padding:9px 16px 9px 26px; font:700 13px var(--bb-slab); letter-spacing:.04em; color:#2a170a; background:#e9d6ac; border-radius:3px 10px 10px 3px; clip-path:polygon(10px 0,100% 0,100% 100%,10px 100%,0 50%); transition:transform .25s; }
html.cx .sn-bourbon button.bb-pg::before { content:""; position:absolute; left:10px; top:50%; width:6px; height:6px; margin-top:-3px; border-radius:50%; background:#6a4310; }
html.cx .sn-bourbon button.bb-pg:hover { transform:rotate(-2deg) translateY(-2px); }
html.cx .sn-bourbon button.bb-pg[aria-current="page"] { background:linear-gradient(180deg,#f0c86a,#daa944); }

html.cx[data-theme="bourbon"][data-mode][data-style] .month-bar .title { font-size:24px; text-transform:uppercase; }
html.cx[data-theme="bourbon"][data-mode][data-style] .stat .label { font:700 10px var(--font); letter-spacing:.2em; text-transform:uppercase; color:var(--bb-dim); }
html.cx[data-theme="bourbon"][data-mode][data-style] .stat .value { font-size:26px; }
html.cx[data-theme="bourbon"][data-mode][data-style] .station-stats-side .stat { border-left:0 !important; }
html.cx[data-theme="bourbon"][data-mode][data-style] .cal .dow { font:700 11px var(--bb-slab); letter-spacing:.14em; color:var(--bb-dim); }
html.cx[data-theme="bourbon"][data-mode][data-style] .cal .day:not(.empty) { border-radius:6px !important; border:1px solid #daa94424 !important; background:var(--bb-panel) !important; box-shadow:none !important; }
html.cx[data-theme="bourbon"][data-mode][data-style] .cal .day.empty { background:transparent !important; border:0 !important; box-shadow:none !important; }
html.cx[data-theme="bourbon"][data-mode][data-style] .cal .day .badge { border-radius:3px; background:#c8922a26; color:inherit; border:0; }
html.cx[data-theme="bourbon"][data-mode][data-style] .cal .day.today { background:linear-gradient(0deg,#c8922a 0 46%,#e0b45a 46% 50%,var(--bb-panel) 50%) !important; border-color:#daa944 !important; }
html.cx[data-theme="bourbon"][data-mode][data-style] .cal .day.today .num { color:var(--bb-g) !important; }

/* =====================================================================================================
   SAKURA — Japanese spring. Shippori Mincho + Zen Maru Gothic; wooden ema-plaque stations on a red cord;
   split noren curtains for sections; tanzaku paper-slip pages; cherry petals falling past a blossom branch.
   ===================================================================================================== */
html.cx[data-theme="sakura"] {
  --sk-p:#f2728f; --sk-blush:#f9b8c8; --sk-wood:#d9b48a; --sk-red:#c8333f; --sk-indigo:#2c4a7a; --sk-ink:#fdf0f5; --sk-dim:#d4a8b8; --sk-panel:color-mix(in srgb,#2a1425 84%,transparent);
  --font:"Zen Maru Gothic","Century Gothic",system-ui,sans-serif; --sk-mincho:"Shippori Mincho","Hiragino Mincho ProN",serif; --radius:12px; --radius-btn:8px;
}
html.cx[data-theme="sakura"][data-mode="light"] { --sk-ink:#3a1a28; --sk-dim:#8a5a6c; --sk-panel:#fffafcf0; }
html.cx[data-theme="sakura"][data-mode][data-style] body { font-family:var(--font); background:radial-gradient(900px 600px at 90% 0,#3a1630,transparent 70%),#140c13; }
html.cx[data-theme="sakura"][data-mode="light"][data-style] body { background:radial-gradient(900px 600px at 90% 0,#ffe4ec,transparent 70%),#fdf3f6; }
html.cx[data-theme="sakura"] #cx-art .cx-a { right:-20px; top:50px; width:440px; height:264px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 240'%3E%3Cpath d='M400 20 C320 40 260 60 200 110 C160 140 120 150 70 170' stroke='%233a2028' stroke-width='9' fill='none' stroke-linecap='round'/%3E%3Cpath d='M260 64 C250 30 230 20 210 14' stroke='%233a2028' stroke-width='5' fill='none' stroke-linecap='round'/%3E%3Cg transform='translate%28330 34%29'%3E%3Cellipse cx='0' cy='-7' rx='5' ry='8' transform='rotate%280%29' fill='%23f9b8c8'/%3E%3Cellipse cx='0' cy='-7' rx='5' ry='8' transform='rotate%2872%29' fill='%23f9b8c8'/%3E%3Cellipse cx='0' cy='-7' rx='5' ry='8' transform='rotate%28144%29' fill='%23f9b8c8'/%3E%3Cellipse cx='0' cy='-7' rx='5' ry='8' transform='rotate%28216%29' fill='%23f9b8c8'/%3E%3Cellipse cx='0' cy='-7' rx='5' ry='8' transform='rotate%28288%29' fill='%23f9b8c8'/%3E%3Ccircle r='3' fill='%23f2728f'/%3E%3C/g%3E%3Cg transform='translate%28290 52%29'%3E%3Cellipse cx='0' cy='-7' rx='5' ry='8' transform='rotate%280%29' fill='%23f9b8c8'/%3E%3Cellipse cx='0' cy='-7' rx='5' ry='8' transform='rotate%2872%29' fill='%23f9b8c8'/%3E%3Cellipse cx='0' cy='-7' rx='5' ry='8' transform='rotate%28144%29' fill='%23f9b8c8'/%3E%3Cellipse cx='0' cy='-7' rx='5' ry='8' transform='rotate%28216%29' fill='%23f9b8c8'/%3E%3Cellipse cx='0' cy='-7' rx='5' ry='8' transform='rotate%28288%29' fill='%23f9b8c8'/%3E%3Ccircle r='3' fill='%23f2728f'/%3E%3C/g%3E%3Cg transform='translate%28240 82%29'%3E%3Cellipse cx='0' cy='-7' rx='5' ry='8' transform='rotate%280%29' fill='%23f9b8c8'/%3E%3Cellipse cx='0' cy='-7' rx='5' ry='8' transform='rotate%2872%29' fill='%23f9b8c8'/%3E%3Cellipse cx='0' cy='-7' rx='5' ry='8' transform='rotate%28144%29' fill='%23f9b8c8'/%3E%3Cellipse cx='0' cy='-7' rx='5' ry='8' transform='rotate%28216%29' fill='%23f9b8c8'/%3E%3Cellipse cx='0' cy='-7' rx='5' ry='8' transform='rotate%28288%29' fill='%23f9b8c8'/%3E%3Ccircle r='3' fill='%23f2728f'/%3E%3C/g%3E%3Cg transform='translate%28212 16%29'%3E%3Cellipse cx='0' cy='-7' rx='5' ry='8' transform='rotate%280%29' fill='%23f9b8c8'/%3E%3Cellipse cx='0' cy='-7' rx='5' ry='8' transform='rotate%2872%29' fill='%23f9b8c8'/%3E%3Cellipse cx='0' cy='-7' rx='5' ry='8' transform='rotate%28144%29' fill='%23f9b8c8'/%3E%3Cellipse cx='0' cy='-7' rx='5' ry='8' transform='rotate%28216%29' fill='%23f9b8c8'/%3E%3Cellipse cx='0' cy='-7' rx='5' ry='8' transform='rotate%28288%29' fill='%23f9b8c8'/%3E%3Ccircle r='3' fill='%23f2728f'/%3E%3C/g%3E%3Cg transform='translate%28180 118%29'%3E%3Cellipse cx='0' cy='-7' rx='5' ry='8' transform='rotate%280%29' fill='%23f9b8c8'/%3E%3Cellipse cx='0' cy='-7' rx='5' ry='8' transform='rotate%2872%29' fill='%23f9b8c8'/%3E%3Cellipse cx='0' cy='-7' rx='5' ry='8' transform='rotate%28144%29' fill='%23f9b8c8'/%3E%3Cellipse cx='0' cy='-7' rx='5' ry='8' transform='rotate%28216%29' fill='%23f9b8c8'/%3E%3Cellipse cx='0' cy='-7' rx='5' ry='8' transform='rotate%28288%29' fill='%23f9b8c8'/%3E%3Ccircle r='3' fill='%23f2728f'/%3E%3C/g%3E%3Cg transform='translate%28140 140%29'%3E%3Cellipse cx='0' cy='-7' rx='5' ry='8' transform='rotate%280%29' fill='%23f9b8c8'/%3E%3Cellipse cx='0' cy='-7' rx='5' ry='8' transform='rotate%2872%29' fill='%23f9b8c8'/%3E%3Cellipse cx='0' cy='-7' rx='5' ry='8' transform='rotate%28144%29' fill='%23f9b8c8'/%3E%3Cellipse cx='0' cy='-7' rx='5' ry='8' transform='rotate%28216%29' fill='%23f9b8c8'/%3E%3Cellipse cx='0' cy='-7' rx='5' ry='8' transform='rotate%28288%29' fill='%23f9b8c8'/%3E%3Ccircle r='3' fill='%23f2728f'/%3E%3C/g%3E%3Cg transform='translate%28100 158%29'%3E%3Cellipse cx='0' cy='-7' rx='5' ry='8' transform='rotate%280%29' fill='%23f9b8c8'/%3E%3Cellipse cx='0' cy='-7' rx='5' ry='8' transform='rotate%2872%29' fill='%23f9b8c8'/%3E%3Cellipse cx='0' cy='-7' rx='5' ry='8' transform='rotate%28144%29' fill='%23f9b8c8'/%3E%3Cellipse cx='0' cy='-7' rx='5' ry='8' transform='rotate%28216%29' fill='%23f9b8c8'/%3E%3Cellipse cx='0' cy='-7' rx='5' ry='8' transform='rotate%28288%29' fill='%23f9b8c8'/%3E%3Ccircle r='3' fill='%23f2728f'/%3E%3C/g%3E%3Cg transform='translate%28360 22%29'%3E%3Cellipse cx='0' cy='-7' rx='5' ry='8' transform='rotate%280%29' fill='%23f9b8c8'/%3E%3Cellipse cx='0' cy='-7' rx='5' ry='8' transform='rotate%2872%29' fill='%23f9b8c8'/%3E%3Cellipse cx='0' cy='-7' rx='5' ry='8' transform='rotate%28144%29' fill='%23f9b8c8'/%3E%3Cellipse cx='0' cy='-7' rx='5' ry='8' transform='rotate%28216%29' fill='%23f9b8c8'/%3E%3Cellipse cx='0' cy='-7' rx='5' ry='8' transform='rotate%28288%29' fill='%23f9b8c8'/%3E%3Ccircle r='3' fill='%23f2728f'/%3E%3C/g%3E%3Cg transform='translate%28260 70%29'%3E%3Cellipse cx='0' cy='-7' rx='5' ry='8' transform='rotate%280%29' fill='%23f9b8c8'/%3E%3Cellipse cx='0' cy='-7' rx='5' ry='8' transform='rotate%2872%29' fill='%23f9b8c8'/%3E%3Cellipse cx='0' cy='-7' rx='5' ry='8' transform='rotate%28144%29' fill='%23f9b8c8'/%3E%3Cellipse cx='0' cy='-7' rx='5' ry='8' transform='rotate%28216%29' fill='%23f9b8c8'/%3E%3Cellipse cx='0' cy='-7' rx='5' ry='8' transform='rotate%28288%29' fill='%23f9b8c8'/%3E%3Ccircle r='3' fill='%23f2728f'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat; opacity:.55; transform-origin:100% 0; animation:sk-sway 9s ease-in-out infinite alternate; }
html.cx[data-theme="sakura"] #cx-art :is(.cx-b,.cx-c) { inset:0; }
html.cx[data-theme="sakura"] #cx-art :is(.cx-b,.cx-c)::before, html.cx[data-theme="sakura"] #cx-art :is(.cx-b,.cx-c)::after { content:""; position:absolute; top:-30px; width:20px; height:20px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath d='M20 4 C28 8 31 18 24 26 L20 22 L16 26 C9 18 12 8 20 4Z' fill='%23f9b8c8'/%3E%3Cpath d='M20 8 L20 20' stroke='%23f2728f' stroke-width='1' opacity='.5'/%3E%3C/svg%3E") center/contain no-repeat; opacity:.85; animation:sk-fall linear infinite; }
html.cx[data-theme="sakura"] #cx-art .cx-b::before { left:78%; animation-duration:16s; }
html.cx[data-theme="sakura"] #cx-art .cx-b::after { left:58%; width:14px; height:14px; animation-duration:21s; animation-delay:-7s; }
html.cx[data-theme="sakura"] #cx-art .cx-c::before { left:86%; width:16px; height:16px; animation-duration:19s; animation-delay:-12s; }
html.cx[data-theme="sakura"] #cx-art .cx-c::after { left:40%; animation-duration:25s; animation-delay:-3s; }
@keyframes sk-sway { from { transform:rotate(-2deg); } to { transform:rotate(2deg); } }
@keyframes sk-fall { from { transform:translate(0,0) rotate(0); } 50% { transform:translate(-90px,55vh) rotate(220deg); } to { transform:translate(-40px,112vh) rotate(460deg); } }
@keyframes sk-hang { 0% { transform:rotate(-8deg); opacity:0; } 50% { transform:rotate(4deg); opacity:1; } 75% { transform:rotate(-2deg); } 100% { transform:rotate(0); } }

html.cx[data-theme="sakura"][data-mode][data-style] :is(h1,h2,h3,h4,.brand) { font-family:var(--sk-mincho); font-weight:700; letter-spacing:.04em; }
/* The earlier Sakura cut every surface into a blossom; the new design uses plaques and plain tiles. */
html.cx[data-theme="sakura"][data-mode][data-style] :is(.station-card,.stat,.cal .day,.add-card) { -webkit-mask:none !important; mask:none !important; animation-name:none; }
html.cx[data-theme="sakura"][data-mode][data-style] .station-grid > .station-card { animation-name:sk-hang !important; }
html.cx[data-theme="sakura"][data-mode][data-style] .section-head h2 { font-size:clamp(32px,3.2vw,50px); font-weight:500; color:var(--sk-ink); }
html.cx[data-theme="sakura"][data-mode][data-style] .section-head h2::after { content:"桜"; margin-left:.35em; font-size:.55em; color:#fff; background:var(--sk-red); padding:.15em .3em; border-radius:3px; vertical-align:.3em; }
html.cx[data-theme="sakura"][data-mode][data-style] :is(.stat .value,.sc-bal-num,.month-bar .title,.cal .day .num) { font-family:var(--sk-mincho); font-weight:700; }

html.cx[data-theme="sakura"][data-mode][data-style] :is(.btn,.seg button) { border-radius:8px !important; font:700 13px var(--font); text-transform:none; letter-spacing:.04em; transition:transform .3s,background .3s; }
html.cx[data-theme="sakura"][data-mode][data-style] :is(.btn.primary,.btn.info,.seg button.active) { color:#fff !important; border:0 !important; background:linear-gradient(180deg,#f58aa3,#f2728f) !important; box-shadow:0 3px 0 #b8445f !important; }
html.cx[data-theme="sakura"][data-mode][data-style] :is(.btn:not(.primary):not(.info),.seg button:not(.active)) { color:var(--sk-ink); border:1px solid #f9b8c855 !important; background:transparent !important; box-shadow:none !important; }
html.cx[data-theme="sakura"][data-mode][data-style] :is(.btn,.seg button):hover { transform:translateY(-2px); }
html.cx[data-theme="sakura"][data-mode][data-style] :is(input,select,textarea) { border-radius:8px !important; border:1px solid #f9b8c855; background:var(--sk-panel); }
html.cx[data-theme="sakura"][data-mode][data-style] :is(.card,.stat,.panel):not(.station-card):not(.add-card) { border-radius:12px !important; border:1px solid #f9b8c830 !important; background:var(--sk-panel) !important; box-shadow:0 20px 34px -26px #000 !important; }

/* ---------- dashboard: ema plaques ---------- */
html.cx[data-theme="sakura"][data-mode][data-style] .station-grid { display:flex !important; flex-wrap:wrap; justify-content:center; align-items:flex-start; gap:34px !important; padding:50px 0 50px; }
html.cx[data-theme="sakura"][data-mode][data-style] .station-grid > .station-card {
  width:270px; min-height:0; box-sizing:border-box; padding:76px 24px 24px !important; text-align:center; position:relative; color:#3a2010; overflow:visible;
  border:0 !important; border-radius:0 0 10px 10px !important; clip-path:polygon(50% 0,100% 22%,100% 100%,0 100%,0 22%);
  background:linear-gradient(90deg,#00000008 0 30%,transparent 30% 60%,#00000008 60%),repeating-linear-gradient(0deg,#d9b48a 0 5px,#d2ab80 5px 9px),#d9b48a !important;
  box-shadow:inset 0 0 0 6px #c99b6a !important; transform-origin:50% -40px;
  animation:sk-hang 1.4s cubic-bezier(.22,1,.36,1) backwards; transition:transform .8s cubic-bezier(.22,1,.36,1);
}
html.cx[data-theme="sakura"][data-mode][data-style] .station-grid > .station-card:nth-child(2) { animation-delay:.2s; }
/* Red cord knot at the peak, and a sakura stamp */
html.cx[data-theme="sakura"][data-mode][data-style] .station-grid > .station-card::before { content:"" !important; display:block !important; position:absolute; inset:auto; left:50%; top:30px; width:12px; height:12px; margin-left:-6px; border-radius:50%; background:#3a2010 !important; box-shadow:0 0 0 3px #c8333f; opacity:1; }
html.cx[data-theme="sakura"][data-mode][data-style] .station-grid > .station-card::after { content:"✿" !important; display:grid !important; place-items:center; position:absolute; inset:auto; right:18px; bottom:16px; width:30px; height:30px; border-radius:4px; background:#c8333f !important; color:#fff; font-size:16px; opacity:.9; transform:rotate(-6deg); }
html.cx[data-theme="sakura"][data-mode][data-style] .station-card :is(h3,.sc-bal-num,.ov-v,.gp) { color:#3a2010 !important; }
html.cx[data-theme="sakura"][data-mode][data-style] .station-card :is(.meta,.sc-bal-label,.sc-bal-suffix,.ov-l,.muted) { color:#7a5030 !important; }
html.cx[data-theme="sakura"][data-mode][data-style] .station-card .sc-head { flex-direction:column; align-items:center; gap:2px; }
html.cx[data-theme="sakura"][data-mode][data-style] .station-card h3 { font:700 22px/1.2 var(--sk-mincho); }
html.cx[data-theme="sakura"][data-mode][data-style] .station-card .meta { font:500 12px var(--font); letter-spacing:.06em; }
html.cx[data-theme="sakura"][data-mode][data-style] .station-card .sc-badge { display:none; }
html.cx[data-theme="sakura"][data-mode][data-style] .station-card .sc-balance { background:none !important; border:0 !important; box-shadow:none !important; padding:8px 0; margin:6px 0; border-block:1px solid #7a503044 !important; border-radius:0; }
html.cx[data-theme="sakura"][data-mode][data-style] .station-card .sc-bal-num { font-size:27px; }
html.cx[data-theme="sakura"][data-mode][data-style] .station-card .sc-bal-label { font:700 9px var(--font); letter-spacing:.2em; text-transform:uppercase; }
html.cx[data-theme="sakura"][data-mode][data-style] .station-card .sc-prices { justify-content:center; gap:8px; margin:6px 0 20px; }
html.cx[data-theme="sakura"][data-mode][data-style] .station-card .gp { font:700 12px var(--sk-mincho); border:0 !important; background:transparent !important; padding:0; border-radius:0; }
html.cx[data-theme="sakura"][data-mode][data-style] .station-card .sc-rows { display:none; }
html.cx[data-theme="sakura"][data-mode][data-style] .station-grid > .add-card { width:150px; min-height:0; height:170px; padding:0 !important; align-self:center; display:flex !important; align-items:center; justify-content:center; text-align:center; border:2px dashed #f9b8c888 !important; border-radius:0 !important; clip-path:polygon(50% 0,100% 22%,100% 100%,0 100%,0 22%); background:#f2728f12 !important; box-shadow:none !important; font:700 14px var(--sk-mincho); color:var(--sk-blush) !important; }
html.cx[data-theme="sakura"][data-mode][data-style] .station-grid > .add-card::before,html.cx[data-theme="sakura"][data-mode][data-style] .station-grid > .add-card::after { display:none !important; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) { html.cx[data-theme="sakura"][data-mode][data-style] .station-grid > .station-card:hover { transform:rotate(-3deg); } }

/* ---------- station page: noren + tanzaku ---------- */
.sn-sakura { margin:8px 0 22px; }
.sn-sakura .sk-secs { display:flex; flex-wrap:wrap; gap:4px; padding-top:8px; border-top:6px solid #5a3a28; border-radius:3px; }
html.cx .sn-sakura button.sk-sec {
  position:relative; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:4px; width:96px; height:96px; padding-top:12px; font:700 13px var(--font); color:#fff;
  background:linear-gradient(90deg,transparent calc(50% - 1px),#0000004d calc(50% - 1px) calc(50% + 1px),transparent calc(50% + 1px)),var(--c);
  border-radius:0 0 4px 4px; transform-origin:50% 0; transition:transform .5s cubic-bezier(.22,1,.36,1),filter .3s; filter:saturate(.6) brightness(.8);
  animation:sk-hang .9s cubic-bezier(.22,1,.36,1) calc(var(--n) * 80ms) backwards;
}
.sn-sakura .sk-ico { font:700 24px var(--sk-mincho); color:#fff; opacity:.9; }
html.cx .sn-sakura button.sk-sec:hover { filter:none; transform:skewX(-4deg); }
html.cx .sn-sakura button.sk-sec[aria-selected="true"] { filter:none; transform:scaleY(1.08); box-shadow:0 10px 14px -8px #000; }
.sn-sakura .sk-tray { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.sn-sakura .sk-tray.in > * { animation:sk-hang .6s cubic-bezier(.22,1,.36,1) calc(var(--n) * 50ms) backwards; }
html.cx .sn-sakura button.sk-pg { position:relative; display:inline-flex; align-items:center; gap:8px; padding:10px 16px 10px 22px; font:700 14px var(--sk-mincho); color:#3a1a28; background:linear-gradient(180deg,#fff6f8,#ffe4ec); border-radius:2px; box-shadow:0 2px 4px #0004; transition:transform .35s cubic-bezier(.22,1,.36,1); }
html.cx .sn-sakura button.sk-pg::before { content:""; position:absolute; left:8px; top:50%; width:5px; height:5px; margin-top:-2.5px; border-radius:50%; background:var(--sk-red); }
html.cx .sn-sakura button.sk-pg:nth-child(odd) { background:linear-gradient(180deg,#f2fff6,#dff5e6); }
html.cx .sn-sakura button.sk-pg:hover { transform:rotate(-2deg) translateY(-2px); }
html.cx .sn-sakura button.sk-pg[aria-current="page"] { color:#fff; background:var(--sk-red); }
html.cx .sn-sakura button.sk-pg[aria-current="page"]::before { background:#fff; }

html.cx[data-theme="sakura"][data-mode][data-style] .month-bar .title { font-size:26px; }
html.cx[data-theme="sakura"][data-mode][data-style] .stat .label { font:700 10px var(--font); letter-spacing:.14em; text-transform:uppercase; color:var(--sk-dim); }
html.cx[data-theme="sakura"][data-mode][data-style] .stat .value { font-size:26px; }
html.cx[data-theme="sakura"][data-mode][data-style] .station-stats-side .stat { border-left:0 !important; }
html.cx[data-theme="sakura"][data-mode][data-style] .cal .dow { font:700 12px var(--sk-mincho); color:var(--sk-dim); }
html.cx[data-theme="sakura"][data-mode][data-style] .cal .day:not(.empty) { border-radius:10px !important; border:1px solid #f9b8c826 !important; background:var(--sk-panel) !important; box-shadow:none !important; transition:transform .3s; }
html.cx[data-theme="sakura"][data-mode][data-style] .cal .day.empty { background:transparent !important; border:0 !important; box-shadow:none !important; }
html.cx[data-theme="sakura"][data-mode][data-style] .cal .day .badge { border-radius:999px; background:#f2728f22; color:inherit; border:0; }
html.cx[data-theme="sakura"][data-mode][data-style] .cal .day.today { background:radial-gradient(circle at 78% 74%,#c8333f 0 13px,transparent 14px),linear-gradient(180deg,#fff6f8,#ffe4ec) !important; border-color:#f2728f !important; }
html.cx[data-theme="sakura"][data-mode][data-style] .cal .day.today :is(.num,.muted,div,span) { color:#3a1a28 !important; }
@media (hover:hover) { html.cx[data-theme="sakura"][data-mode][data-style] .cal .day:not(.empty):hover { transform:translateY(-2px); } }

/* =====================================================================================================
   DARK GOLD — luxury. Cinzel + Marcellus; black metal card stations framed in gold foil with an engraved
   chip and a sheen that sweeps across; milled gold coins for sections; gold dust drifting in the dark.
   ===================================================================================================== */
html.cx[data-theme="gilded"] {
  --gd-g1:#f5d488; --gd-g2:#c48822; --gd-g3:#7a4f0a; --gd-ink:#eedec0; --gd-dim:#b39a6a; --gd-panel:color-mix(in srgb,#171004 88%,transparent);
  --gd-foil:linear-gradient(115deg,#c48822,#f5d488 22%,#d9a440 40%,#fff1c4 52%,#d9a440 64%,#f5d488 82%,#c48822);
  --font:"Marcellus","Cinzel",serif; --gd-cinzel:"Cinzel","Marcellus",serif; --radius:6px; --radius-btn:3px;
}
html.cx[data-theme="gilded"][data-mode="light"] { --gd-ink:#3a2604; --gd-dim:#7a5a2a; --gd-panel:#fffaf0f0; }
html.cx[data-theme="gilded"][data-mode][data-style] body { font-family:var(--font); background:radial-gradient(900px 600px at 50% -10%,#2a1c06,transparent 70%),#0c0803; }
html.cx[data-theme="gilded"][data-mode="light"][data-style] body { background:radial-gradient(900px 600px at 50% -10%,#fff,transparent 70%),#ede0be; }
html.cx[data-theme="gilded"] #cx-art > i { inset:-10%; background:radial-gradient(circle,#f5d488 0 1px,transparent 1.6px) 0 0/89px 113px,radial-gradient(circle,#c48822 0 1.2px,transparent 1.8px) 41px 57px/127px 151px; opacity:.45; animation:gd-dust 40s linear infinite; }
html.cx[data-theme="gilded"] #cx-art .cx-b { animation-duration:60s; animation-direction:reverse; opacity:.3; background-position:23px 71px,97px 19px; }
@keyframes gd-dust { to { transform:translate(-60px,-120px); } }
@keyframes gd-sheen { from { background-position:-200% 0; } to { background-position:200% 0; } }
@keyframes gd-strike { from { transform:scale(1.15) rotateY(60deg); opacity:0; } to { transform:none; opacity:1; } }

html.cx[data-theme="gilded"][data-mode][data-style] :is(h1,h2,h3,h4,.brand) { font-family:var(--gd-cinzel); font-weight:700; letter-spacing:.08em; }
html.cx[data-theme="gilded"][data-mode][data-style] .section-head h2 { font-size:clamp(32px,3.2vw,50px); background:var(--gd-foil) 0 0/200% 100%; -webkit-background-clip:text; background-clip:text; color:transparent; animation:gd-sheen 7s ease-in-out infinite alternate; }
html.cx[data-theme="gilded"][data-mode][data-style] :is(.stat .value,.sc-bal-num,.month-bar .title,.cal .day .num) { font-family:var(--gd-cinzel); font-weight:600; letter-spacing:.02em; }

html.cx[data-theme="gilded"][data-mode][data-style] :is(.btn,.seg button) { border-radius:3px !important; font:600 12px var(--gd-cinzel); letter-spacing:.16em; text-transform:uppercase; transition:background-position .6s,box-shadow .3s; }
html.cx[data-theme="gilded"][data-mode][data-style] :is(.btn.primary,.btn.info,.seg button.active) { color:#1a1004 !important; border:0 !important; background:var(--gd-foil) 0 0/200% 100% !important; box-shadow:0 0 0 1px #7a4f0a,0 6px 16px -8px #c48822 !important; }
html.cx[data-theme="gilded"][data-mode][data-style] :is(.btn.primary,.btn.info):hover { background-position:100% 0 !important; }
html.cx[data-theme="gilded"][data-mode][data-style] :is(.btn:not(.primary):not(.info),.seg button:not(.active)) { color:var(--gd-g1); border:1px solid #c4882266 !important; background:transparent !important; box-shadow:none !important; }
html.cx[data-theme="gilded"][data-mode][data-style] :is(input,select,textarea) { border-radius:3px !important; border:1px solid #c4882255; background:var(--gd-panel); }
html.cx[data-theme="gilded"][data-mode][data-style] :is(.card,.stat,.panel):not(.station-card):not(.add-card) { border-radius:6px !important; border:1px solid #c4882240 !important; background:var(--gd-panel) !important; box-shadow:0 20px 34px -26px #000 !important; }

/* ---------- dashboard: black metal cards ---------- */
html.cx[data-theme="gilded"][data-mode][data-style] .station-grid { display:flex !important; flex-wrap:wrap; justify-content:center; gap:34px !important; padding:30px 0 50px; perspective:1000px; }
html.cx[data-theme="gilded"][data-mode][data-style] .station-grid > .station-card {
  width:340px; height:214px; min-height:0; box-sizing:border-box; padding:22px 24px 18px 26px !important; position:relative; overflow:hidden; color:var(--gd-ink);
  border:1.5px solid transparent !important; border-radius:14px !important;
  background:linear-gradient(105deg,transparent 30%,#fff1c41c 45%,transparent 60%) -200% 0/200% 100% no-repeat padding-box,linear-gradient(150deg,#1c1c1f,#0b0b0d 55%,#18140c) padding-box,var(--gd-foil) border-box !important;
  box-shadow:0 26px 40px -20px #000,0 0 0 1px #000 !important; display:grid !important; grid-template-columns:1fr auto; grid-template-rows:auto 1fr auto; column-gap:10px;
  animation:gd-strike .9s cubic-bezier(.22,1,.36,1) backwards; transition:transform .6s cubic-bezier(.22,1,.36,1),background-position 1s;
}
html.cx[data-theme="gilded"][data-mode][data-style] .station-grid > .station-card:nth-child(2) { animation-delay:.12s; }
/* EMV chip */
html.cx[data-theme="gilded"][data-mode][data-style] .station-grid > .station-card::before { content:"" !important; display:block !important; position:absolute; inset:auto; left:26px; top:96px; width:42px; height:32px; border-radius:6px; opacity:1; background:linear-gradient(90deg,transparent 30%,#7a4f0a 30% 32%,transparent 32% 68%,#7a4f0a 68% 70%,transparent 70%),linear-gradient(0deg,transparent 45%,#7a4f0a 45% 55%,transparent 55%),linear-gradient(135deg,#f5d488,#c48822) !important; box-shadow:inset 0 0 0 1px #7a4f0a; }
html.cx[data-theme="gilded"][data-mode][data-style] .station-grid > .station-card::after { display:none !important; }
html.cx[data-theme="gilded"][data-mode][data-style] .station-card .sc-head > div { min-width:0; }
html.cx[data-theme="gilded"][data-mode][data-style] .station-card .sc-balance::after { display:none !important; }
html.cx[data-theme="gilded"][data-mode][data-style] .section-head h2 { filter:none !important; text-shadow:none !important; -webkit-text-fill-color:transparent; }
html.cx[data-theme="gilded"][data-mode][data-style] .station-card > .sc-head { grid-column:1 / 3; grid-row:1; margin:0; }
html.cx[data-theme="gilded"][data-mode][data-style] .station-card :is(h3,.sc-bal-num,.ov-v,.gp) { color:var(--gd-g1) !important; }
html.cx[data-theme="gilded"][data-mode][data-style] .station-card :is(.meta,.sc-bal-label,.sc-bal-suffix,.ov-l,.muted) { color:var(--gd-dim) !important; }
html.cx[data-theme="gilded"][data-mode][data-style] .station-card h3 { font:700 15px var(--gd-cinzel); letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
html.cx[data-theme="gilded"][data-mode][data-style] .station-card .meta { font:400 11px var(--font); letter-spacing:.2em; text-transform:uppercase; }
html.cx[data-theme="gilded"][data-mode][data-style] .station-card .sc-badge { font:600 9px var(--gd-cinzel); letter-spacing:.16em; text-transform:uppercase; color:var(--gd-g1); border:1px solid #c4882288; background:transparent; border-radius:2px; padding:2px 6px; }
html.cx[data-theme="gilded"][data-mode][data-style] .station-card > .ov { display:contents; }
html.cx[data-theme="gilded"][data-mode][data-style] .station-card .sc-balance { grid-column:1 / 3; grid-row:3; background:none !important; border:0 !important; box-shadow:none !important; padding:0; margin:0; text-align:right; }
html.cx[data-theme="gilded"][data-mode][data-style] .station-card .sc-bal-num { font-size:26px; letter-spacing:.06em; background:var(--gd-foil); -webkit-background-clip:text; background-clip:text; color:transparent !important; }
html.cx[data-theme="gilded"][data-mode][data-style] .station-card .sc-bal-label { font:400 9px var(--font); letter-spacing:.3em; text-transform:uppercase; }
html.cx[data-theme="gilded"][data-mode][data-style] .station-card .sc-prices { grid-column:2; grid-row:2; flex-direction:column; align-items:flex-end; gap:2px; margin:8px 0 0; }
html.cx[data-theme="gilded"][data-mode][data-style] .station-card .gp { font:600 11px var(--gd-cinzel); letter-spacing:.06em; border:0 !important; background:transparent !important; padding:0; border-radius:0; }
html.cx[data-theme="gilded"][data-mode][data-style] .station-card .sc-rows { display:none; }
html.cx[data-theme="gilded"][data-mode][data-style] .station-card .sc-live :is(.sc-spark,.sc-day) { display:none; }
html.cx[data-theme="gilded"][data-mode][data-style] .station-grid > .add-card { width:150px; height:100px; min-height:0; padding:0 !important; align-self:center; display:flex !important; align-items:center; justify-content:center; text-align:center; border-radius:14px !important; border:1px dashed #c4882288 !important; background:transparent !important; box-shadow:none !important; font:600 11px var(--gd-cinzel); letter-spacing:.14em; text-transform:uppercase; color:var(--gd-g1) !important; }
html.cx[data-theme="gilded"][data-mode][data-style] .station-grid > .add-card::before,html.cx[data-theme="gilded"][data-mode][data-style] .station-grid > .add-card::after { display:none !important; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) { html.cx[data-theme="gilded"][data-mode][data-style] .station-grid > .station-card:hover { transform:rotateX(8deg) rotateY(-10deg) translateY(-4px); background-position:200% 0,0 0,0 0 !important; } }

/* ---------- station page: gold coins ---------- */
.sn-gilded { margin:8px 0 22px; }
.sn-gilded .gd-secs { display:flex; flex-wrap:wrap; gap:10px 24px; padding:8px 4px; }
html.cx .sn-gilded button.gd-sec { display:flex; flex-direction:column; align-items:center; gap:7px; font:600 11px var(--gd-cinzel); letter-spacing:.14em; text-transform:uppercase; color:var(--gd-dim); animation:gd-strike .7s cubic-bezier(.22,1,.36,1) calc(var(--n) * 70ms) backwards; }
.sn-gilded .gd-ico { display:grid; place-items:center; width:52px; height:52px; border-radius:50%; font:700 16px var(--gd-cinzel); color:#5a3a06;
  background:radial-gradient(circle,#f5d488 0 56%,transparent 57%),repeating-conic-gradient(#c48822 0 4deg,#7a4f0a 4deg 8deg),#c48822; box-shadow:inset 0 0 0 2px #7a4f0a,0 6px 12px -4px #000; transition:transform .7s cubic-bezier(.22,1,.36,1); }
html.cx .sn-gilded button.gd-sec:hover .gd-ico { transform:rotateY(180deg); }
html.cx .sn-gilded button.gd-sec[aria-selected="true"] { color:var(--gd-g1); }
html.cx .sn-gilded button.gd-sec[aria-selected="true"] .gd-ico { transform:scale(1.15); box-shadow:inset 0 0 0 2px #7a4f0a,0 0 22px #c4882299; }
.sn-gilded .gd-tray { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.sn-gilded .gd-tray.in > * { animation:gd-strike .45s cubic-bezier(.22,1,.36,1) calc(var(--n) * 40ms) backwards; }
html.cx .sn-gilded button.gd-pg { display:inline-flex; align-items:center; gap:8px; padding:10px 18px; border-radius:3px; font:400 14px var(--font); letter-spacing:.06em; color:var(--gd-ink); background:#0b0b0d; border:1px solid #c4882255; transition:border-color .3s,color .3s; }
html.cx .sn-gilded button.gd-pg:hover { border-color:var(--gd-g1); color:var(--gd-g1); }
html.cx .sn-gilded button.gd-pg[aria-current="page"] { color:#1a1004; background:var(--gd-foil); border-color:transparent; }

html.cx[data-theme="gilded"][data-mode][data-style] .month-bar .title { font-size:22px; letter-spacing:.1em; }
html.cx[data-theme="gilded"][data-mode][data-style] .stat .label { font:600 10px var(--gd-cinzel); letter-spacing:.2em; text-transform:uppercase; color:var(--gd-dim); }
html.cx[data-theme="gilded"][data-mode][data-style] .stat .value { font-size:24px; color:var(--gd-g1); }
html.cx[data-theme="gilded"][data-mode][data-style] .station-stats-side .stat { border-left:0 !important; }
html.cx[data-theme="gilded"][data-mode][data-style] .cal .dow { font:600 11px var(--gd-cinzel); letter-spacing:.2em; color:var(--gd-dim); }
html.cx[data-theme="gilded"][data-mode][data-style] .cal .day:not(.empty) { border-radius:4px !important; border:1px solid #c4882226 !important; background:var(--gd-panel) !important; box-shadow:none !important; transition:border-color .3s; }
html.cx[data-theme="gilded"][data-mode][data-style] .cal .day.empty { background:transparent !important; border:0 !important; box-shadow:none !important; }
html.cx[data-theme="gilded"][data-mode][data-style] .cal .day .num { color:var(--gd-g1); }
html.cx[data-theme="gilded"][data-mode][data-style] .cal .day .badge { border-radius:2px; background:transparent; border:1px solid #c4882244; color:inherit; }
html.cx[data-theme="gilded"][data-mode][data-style] .cal .day.today { background:var(--gd-foil) !important; border-color:transparent !important; }
html.cx[data-theme="gilded"][data-mode][data-style] .cal .day.today :is(.num,.muted,div,span) { color:#1a1004 !important; }
@media (hover:hover) { html.cx[data-theme="gilded"][data-mode][data-style] .cal .day:not(.empty):hover { border-color:var(--gd-g2) !important; } }

/* =====================================================================================================
   ZEPHYR — wind and aero glass. Space Grotesk; airfoil stations (teardrop glass that leans into the wind,
   with streamlines trailing behind); sections riding a gust line; streamlined capsule pages; wind streaks.
   ===================================================================================================== */
html.cx[data-theme="zephyr"] {
  --zp-s:#0ea5e9; --zp-l:#38bdf8; --zp-t:#14b8a6; --zp-ink:#f0f9ff; --zp-dim:#94b8cf; --zp-panel:color-mix(in srgb,#0d1829 66%,transparent);
  --font:"Space Grotesk",system-ui,sans-serif; --radius:24px; --radius-btn:999px;
}
html.cx[data-theme="zephyr"][data-mode="light"] { --zp-ink:#0b2a3e; --zp-dim:#4a6a80; --zp-panel:#ffffffcc; }
html.cx[data-theme="zephyr"][data-mode][data-style] body { font-family:var(--font); background:linear-gradient(160deg,#0a1628,#070d18 50%,#081a24); }
html.cx[data-theme="zephyr"][data-mode="light"][data-style] body { background:linear-gradient(160deg,#ffffff,#eef8ff 50%,#e2f4fb); }
html.cx[data-theme="zephyr"] #cx-art > i { left:-40vw; height:2px; width:40vw; border-radius:2px; background:linear-gradient(90deg,transparent,#7dd3fc88,transparent); animation:zp-gust 5s cubic-bezier(.5,0,.5,1) infinite; }
html.cx[data-theme="zephyr"] #cx-art .cx-a { top:24%; }
html.cx[data-theme="zephyr"] #cx-art .cx-b { top:46%; width:28vw; animation-delay:-1.8s; animation-duration:6.5s; }
html.cx[data-theme="zephyr"] #cx-art .cx-c { top:72%; width:46vw; animation-delay:-3.4s; animation-duration:4.4s; }
html.cx[data-theme="zephyr"] #cx-art > i::after { content:""; position:absolute; left:20%; top:14px; width:60%; height:1px; background:linear-gradient(90deg,transparent,#5eead466,transparent); }
@keyframes zp-gust { from { transform:translateX(0) translateY(0); opacity:0; } 20% { opacity:1; } to { transform:translateX(180vw) translateY(-14px); opacity:0; } }
@keyframes zp-glide { from { transform:translateX(-50px) skewX(10deg); opacity:0; } to { transform:none; opacity:1; } }

html.cx[data-theme="zephyr"][data-mode][data-style] :is(h1,h2,h3,h4,.brand) { font-family:var(--font); font-weight:600; letter-spacing:-.02em; }
html.cx[data-theme="zephyr"][data-mode][data-style] .section-head h2 { font-size:clamp(34px,3.4vw,54px); font-weight:300; font-style:italic; letter-spacing:-.04em; color:var(--zp-ink); }
html.cx[data-theme="zephyr"][data-mode][data-style] .section-head h2::after { content:""; display:block; width:160px; height:6px; margin-top:6px; background:linear-gradient(90deg,var(--zp-l),transparent); border-radius:6px; transform:skewX(-30deg); }
html.cx[data-theme="zephyr"][data-mode][data-style] :is(.stat .value,.sc-bal-num,.month-bar .title,.cal .day .num) { font-family:var(--font); font-weight:500; }

html.cx[data-theme="zephyr"][data-mode][data-style] :is(.btn,.seg button) { border-radius:999px 999px 999px 8px !important; font:600 13px var(--font); text-transform:none; letter-spacing:0; transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .3s; }
html.cx[data-theme="zephyr"][data-mode][data-style] :is(.btn.primary,.btn.info,.seg button.active) { color:#04121e !important; border:0 !important; background:linear-gradient(100deg,#7dd3fc,#38bdf8 50%,#2dd4bf) !important; box-shadow:0 10px 22px -10px #38bdf8 !important; }
html.cx[data-theme="zephyr"][data-mode][data-style] :is(.btn:not(.primary):not(.info),.seg button:not(.active)) { color:var(--zp-ink); border:1px solid #7dd3fc44 !important; background:#ffffff0a !important; backdrop-filter:blur(10px); box-shadow:none !important; }
html.cx[data-theme="zephyr"][data-mode][data-style] :is(.btn,.seg button):hover { transform:translateX(4px); }
html.cx[data-theme="zephyr"][data-mode][data-style] :is(input,select,textarea) { border-radius:14px !important; border:1px solid #7dd3fc44; background:var(--zp-panel); }
html.cx[data-theme="zephyr"][data-mode][data-style] :is(.card,.stat,.panel):not(.station-card):not(.add-card) { border-radius:24px 24px 24px 8px !important; border:1px solid #ffffff1c !important; background:var(--zp-panel) !important; backdrop-filter:blur(22px) saturate(1.3); box-shadow:inset 0 1px 0 #ffffff14,0 24px 50px -30px #000 !important; }

/* ---------- dashboard: airfoils ---------- */
html.cx[data-theme="zephyr"][data-mode][data-style] .station-grid { display:flex !important; flex-wrap:wrap; justify-content:center; gap:30px 50px !important; padding:30px 0 50px; }
html.cx[data-theme="zephyr"][data-mode][data-style] .station-grid > .station-card {
  width:340px; min-height:0; box-sizing:border-box; padding:28px 60px 26px 34px !important; position:relative; overflow:visible; color:var(--zp-ink);
  border:1px solid #ffffff30 !important; border-radius:120px 30px 30px 120px / 90px 60px 60px 90px !important;
  background:linear-gradient(100deg,#ffffff22,#ffffff08 50%,#38bdf812) !important; backdrop-filter:blur(22px) saturate(1.4);
  box-shadow:inset 6px 6px 18px #ffffff18,inset 0 1px 0 #ffffff40,0 26px 40px -26px #000 !important; transform:rotate(-3deg);
  animation:zp-glide .9s cubic-bezier(.22,1,.36,1) backwards; transition:transform .7s cubic-bezier(.22,1,.36,1);
}
html.cx[data-theme="zephyr"][data-mode="light"][data-style] .station-grid > .station-card { background:linear-gradient(100deg,#ffffffe6,#ffffffa6 60%,#e0f2fecc) !important; border-color:#fff !important; }
html.cx[data-theme="zephyr"][data-mode][data-style] .station-grid > .station-card:nth-child(2) { animation-delay:.12s; }
/* Streamlines trailing off the back edge */
html.cx[data-theme="zephyr"][data-mode][data-style] .station-grid > .station-card::after { content:"" !important; display:block !important; position:absolute; inset:auto; right:-46px; top:30%; width:70px; height:40%; opacity:1; background:linear-gradient(90deg,#7dd3fc88,transparent) 0 0/100% 2px no-repeat,linear-gradient(90deg,#5eead477,transparent) 0 50%/80% 2px no-repeat,linear-gradient(90deg,#7dd3fc66,transparent) 0 100%/60% 2px no-repeat !important; animation:zp-stream 1.6s linear infinite; }
html.cx[data-theme="zephyr"][data-mode][data-style] .station-grid > .station-card::before { display:none !important; }
@keyframes zp-stream { from { transform:translateX(-6px); opacity:.4; } to { transform:translateX(10px); opacity:1; } }
html.cx[data-theme="zephyr"][data-mode][data-style] .station-card :is(h3,.sc-bal-num,.ov-v,.gp) { color:var(--zp-ink) !important; }
html.cx[data-theme="zephyr"][data-mode][data-style] .station-card :is(.meta,.sc-bal-label,.sc-bal-suffix,.ov-l,.muted) { color:var(--zp-dim) !important; }
html.cx[data-theme="zephyr"][data-mode][data-style] .station-card h3 { font-size:19px; font-style:italic; }
html.cx[data-theme="zephyr"][data-mode][data-style] .station-card .sc-badge { display:none; }
html.cx[data-theme="zephyr"][data-mode][data-style] .station-card .sc-balance::after,html.cx[data-theme="ignis"][data-mode][data-style] .station-card .sc-balance::after { display:none !important; }
html.cx[data-theme="zephyr"][data-mode][data-style] .station-card .sc-balance { background:none !important; border:0 !important; box-shadow:none !important; padding:8px 0 4px; margin:0; }
html.cx[data-theme="zephyr"][data-mode][data-style] .station-card .sc-bal-num { font-size:30px; font-weight:300; }
html.cx[data-theme="zephyr"][data-mode][data-style] .station-card .sc-bal-label { font:600 9px var(--font); letter-spacing:.2em; text-transform:uppercase; }
html.cx[data-theme="zephyr"][data-mode][data-style] .station-card .sc-prices { gap:6px; margin:6px 0 4px; }
html.cx[data-theme="zephyr"][data-mode][data-style] .station-card .gp { font:600 11px var(--font); border:1px solid #7dd3fc44 !important; background:#ffffff0d !important; border-radius:999px; padding:2px 8px; }
html.cx[data-theme="zephyr"][data-mode][data-style] .station-card .sc-rows { border:0; margin:0; padding:0; }
html.cx[data-theme="zephyr"][data-mode][data-style] .station-card :is(.ov-row:first-child,.ov-l) { display:none; }
html.cx[data-theme="zephyr"][data-mode][data-style] .station-card .ov-row { border:0; font-size:12px; }
html.cx[data-theme="zephyr"][data-mode][data-style] .station-grid > .add-card { width:150px; height:90px; min-height:0; padding:0 !important; align-self:center; display:flex !important; align-items:center; justify-content:center; text-align:center; border-radius:60px 14px 14px 60px !important; border:1.5px dashed #7dd3fc66 !important; background:transparent !important; box-shadow:none !important; font:600 12px var(--font); color:var(--zp-l) !important; transform:rotate(-3deg); }
html.cx[data-theme="zephyr"][data-mode][data-style] .station-grid > .add-card::before,html.cx[data-theme="zephyr"][data-mode][data-style] .station-grid > .add-card::after { display:none !important; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) { html.cx[data-theme="zephyr"][data-mode][data-style] .station-grid > .station-card:hover { transform:rotate(-6deg) translate(10px,-8px); } }

/* ---------- station page: gust line ---------- */
.sn-zephyr { margin:8px 0 22px; }
.sn-zephyr .zp-secs { position:relative; display:flex; flex-wrap:wrap; gap:8px 12px; padding:6px 0 14px; }
.sn-zephyr .zp-secs::after { content:""; position:absolute; left:0; right:20%; bottom:4px; height:2px; background:linear-gradient(90deg,#7dd3fc,#2dd4bf 40%,transparent); border-radius:2px; }
html.cx .sn-zephyr button.zp-sec { display:flex; align-items:center; gap:8px; padding:9px 18px 9px 14px; border-radius:999px 999px 999px 6px; font:600 13px var(--font); color:var(--zp-ink); background:var(--zp-panel); border:1px solid #ffffff1c; backdrop-filter:blur(14px); transition:transform .5s cubic-bezier(.22,1,.36,1),background .3s; animation:zp-glide .6s cubic-bezier(.22,1,.36,1) calc(var(--n) * 60ms) backwards; }
.sn-zephyr .zp-ico { color:var(--c); font-size:15px; transition:transform .5s cubic-bezier(.22,1,.36,1); }
html.cx .sn-zephyr button.zp-sec:hover { transform:translateX(6px); }
html.cx .sn-zephyr button.zp-sec:hover .zp-ico { transform:translateX(4px) rotate(-15deg); }
html.cx .sn-zephyr button.zp-sec[aria-selected="true"] { color:#04121e; background:linear-gradient(100deg,#7dd3fc,var(--c)); border-color:transparent; }
html.cx .sn-zephyr button.zp-sec[aria-selected="true"] .zp-ico { color:#04121e; }
.sn-zephyr .zp-tray { display:flex; flex-wrap:wrap; gap:10px; margin-top:12px; }
.sn-zephyr .zp-tray.in > * { animation:zp-glide .5s cubic-bezier(.22,1,.36,1) calc(var(--n) * 40ms) backwards; }
html.cx .sn-zephyr button.zp-pg { display:inline-flex; align-items:center; gap:8px; padding:9px 18px; border-radius:999px 999px 999px 6px; font:500 13px var(--font); color:var(--zp-ink); border:1px solid color-mix(in srgb,var(--c) 40%,transparent); background:#ffffff08; transition:transform .4s cubic-bezier(.22,1,.36,1); }
html.cx .sn-zephyr button.zp-pg:hover { transform:translateX(4px); }
html.cx .sn-zephyr button.zp-pg[aria-current="page"] { color:#04121e; background:#f0f9ff; border-color:#fff; font-weight:600; }

html.cx[data-theme="zephyr"][data-mode][data-style] .month-bar .title { font-size:26px; font-style:italic; font-weight:300; }
html.cx[data-theme="zephyr"][data-mode][data-style] .stat .label { font:600 10px var(--font); letter-spacing:.16em; text-transform:uppercase; color:var(--zp-dim); }
html.cx[data-theme="zephyr"][data-mode][data-style] .stat .value { font-size:26px; font-weight:300; }
html.cx[data-theme="zephyr"][data-mode][data-style] .station-stats-side .stat { border-left:0 !important; }
html.cx[data-theme="zephyr"][data-mode][data-style] .cal .dow { font:600 11px var(--font); letter-spacing:.16em; color:var(--zp-dim); }
html.cx[data-theme="zephyr"][data-mode][data-style] .cal .day:not(.empty) { border-radius:18px 18px 18px 6px !important; border:1px solid #ffffff14 !important; background:var(--zp-panel) !important; box-shadow:none !important; backdrop-filter:blur(10px); transition:transform .4s cubic-bezier(.22,1,.36,1); }
html.cx[data-theme="zephyr"][data-mode][data-style] .cal .day.empty { background:transparent !important; border:0 !important; box-shadow:none !important; }
html.cx[data-theme="zephyr"][data-mode][data-style] .cal .day .badge { border-radius:999px; background:#38bdf81c; color:inherit; border:0; }
html.cx[data-theme="zephyr"][data-mode][data-style] .cal .day.today { background:linear-gradient(120deg,#7dd3fc,#38bdf8 60%,#2dd4bf) !important; border-color:transparent !important; }
html.cx[data-theme="zephyr"][data-mode][data-style] .cal .day.today :is(.num,.muted,div,span) { color:#04121e !important; }
@media (hover:hover) { html.cx[data-theme="zephyr"][data-mode][data-style] .cal .day:not(.empty):hover { transform:translateX(4px); } }

/* =====================================================================================================
   IGNIS — fire. Oxanium + Unbounded; molten-ember stations glowing from inside with a flickering heat haze
   and charred edges; coal sections that ignite; heat-forged tag pages; sparks rising from the bottom.
   ===================================================================================================== */
html.cx[data-theme="ignis"] {
  --ig-r:#f43f5e; --ig-o:#f97316; --ig-y:#fbbf24; --ig-ink:#fff5f2; --ig-dim:#d6a394; --ig-panel:color-mix(in srgb,#1f0c08 86%,transparent);
  --font:"Oxanium",system-ui,sans-serif; --ig-display:"Unbounded","Oxanium",system-ui,sans-serif; --radius:10px; --radius-btn:8px;
}
html.cx[data-theme="ignis"][data-mode="light"] { --ig-ink:#3a1208; --ig-dim:#8a4a3a; --ig-panel:#fffaf8f0; }
html.cx[data-theme="ignis"][data-mode][data-style] body { font-family:var(--font); background:radial-gradient(1200px 500px at 50% 120%,#7a1d06,transparent 70%),#140806; }
html.cx[data-theme="ignis"][data-mode="light"][data-style] body { background:radial-gradient(1200px 500px at 50% 120%,#fed7aa,transparent 70%),#fff7f5; }
html.cx[data-theme="ignis"] #cx-art > i { bottom:-20px; width:4px; height:4px; border-radius:50%; background:#fbbf24; box-shadow:0 0 6px 2px #f97316,30vw -10px 0 0 #fde68a,30vw -10px 6px 2px #f43f5e,62vw 0 0 0 #fbbf24,62vw 0 6px 2px #f97316; animation:ig-spark 6s ease-in infinite; }
html.cx[data-theme="ignis"] #cx-art .cx-a { left:12vw; }
html.cx[data-theme="ignis"] #cx-art .cx-b { left:24vw; animation-delay:-2s; animation-duration:7.5s; }
html.cx[data-theme="ignis"] #cx-art .cx-c { left:6vw; animation-delay:-4s; animation-duration:5s; }
@keyframes ig-spark { 0% { transform:translate(0,0); opacity:0; } 10% { opacity:1; } 50% { transform:translate(30px,-50vh); } 100% { transform:translate(-20px,-100vh); opacity:0; } }
@keyframes ig-flicker { 0%,100% { filter:brightness(1); } 25% { filter:brightness(1.1) saturate(1.1); } 50% { filter:brightness(.95); } 75% { filter:brightness(1.08); } }
@keyframes ig-ignite { from { filter:brightness(0) saturate(0); transform:scale(.94); } 60% { filter:brightness(1.5) saturate(1.3); } to { filter:none; transform:none; } }

html.cx[data-theme="ignis"][data-mode][data-style] :is(h1,h2,h3,h4,.brand) { font-family:var(--ig-display); font-weight:700; letter-spacing:-.01em; }
html.cx[data-theme="ignis"][data-mode][data-style] .section-head h2 { font-size:clamp(32px,3.2vw,50px); background:linear-gradient(0deg,#f43f5e,#f97316 40%,#fbbf24 75%,#fff7d6); -webkit-background-clip:text; background-clip:text; color:transparent; filter:drop-shadow(0 0 14px #f9731688); animation:ig-flicker 2.4s ease-in-out infinite; }
html.cx[data-theme="ignis"][data-mode][data-style] :is(.stat .value,.sc-bal-num,.month-bar .title,.cal .day .num) { font-family:var(--font); font-weight:700; }

html.cx[data-theme="ignis"][data-mode][data-style] :is(.btn,.seg button) { border-radius:8px !important; font:700 12px var(--font); letter-spacing:.08em; text-transform:uppercase; transition:box-shadow .3s,transform .2s; }
html.cx[data-theme="ignis"][data-mode][data-style] :is(.btn.primary,.btn.info,.seg button.active) { color:#1a0602 !important; border:0 !important; background:linear-gradient(0deg,#f43f5e,#f97316 45%,#fbbf24) !important; box-shadow:0 0 18px #f9731688,inset 0 1px 0 #fff6 !important; }
html.cx[data-theme="ignis"][data-mode][data-style] :is(.btn:not(.primary):not(.info),.seg button:not(.active)) { color:var(--ig-ink); border:1px solid #f9731655 !important; background:#f973160f !important; box-shadow:none !important; }
html.cx[data-theme="ignis"][data-mode][data-style] :is(.btn,.seg button):hover { box-shadow:0 0 22px #f43f5e88 !important; transform:translateY(-1px); }
html.cx[data-theme="ignis"][data-mode][data-style] :is(input,select,textarea) { border-radius:8px !important; border:1px solid #f9731655; background:var(--ig-panel); }
html.cx[data-theme="ignis"][data-mode][data-style] :is(.card,.stat,.panel):not(.station-card):not(.add-card) { border-radius:10px !important; border:1px solid #f9731630 !important; background:var(--ig-panel) !important; box-shadow:0 0 30px -16px #f97316,0 20px 34px -26px #000 !important; }

/* ---------- dashboard: embers ---------- */
html.cx[data-theme="ignis"][data-mode][data-style] .station-grid { display:flex !important; flex-wrap:wrap; justify-content:center; gap:34px !important; padding:30px 0 50px; }
html.cx[data-theme="ignis"][data-mode][data-style] .station-grid > .station-card {
  width:320px; min-height:0; box-sizing:border-box; padding:30px 36px 34px !important; position:relative; overflow:hidden; color:#fff7ed;
  border:0 !important; border-radius:40% 46% 36% 44% / 30% 34% 46% 50% !important;
  background:radial-gradient(70% 60% at 50% 75%,#fde68a,#fbbf24 22%,#f97316 48%,#c2410c 72%,#3a0e04 100%) !important;
  box-shadow:inset 0 0 0 3px #1a060299,inset 0 -20px 40px #fde68a33,0 0 50px -6px #f97316aa,0 20px 34px -18px #000 !important;
  animation:ig-ignite 1.1s ease-out backwards,ig-flicker 3s ease-in-out 1.1s infinite; transition:border-radius 1.2s ease-in-out;
}
html.cx[data-theme="ignis"][data-mode][data-style] .station-grid > .station-card:nth-child(2) { animation-delay:.2s,1.3s; background:radial-gradient(70% 60% at 50% 75%,#fecdd3,#fb7185 22%,#f43f5e 48%,#9f1239 74%,#2a0610 100%) !important; box-shadow:inset 0 0 0 3px #1a060299,0 0 50px -6px #f43f5eaa,0 20px 34px -18px #000 !important; }
html.cx[data-theme="ignis"][data-mode][data-style] .station-grid > .station-card::before { content:"" !important; display:block !important; position:absolute; inset:auto; left:10%; right:10%; top:-30%; height:60%; opacity:1; background:radial-gradient(closest-side,#fff7d644,transparent) !important; filter:blur(8px); animation:ig-flicker 1.6s ease-in-out infinite; }
html.cx[data-theme="ignis"][data-mode][data-style] .station-grid > .station-card::after { display:none !important; }
html.cx[data-theme="ignis"][data-mode][data-style] .station-card :is(h3,.meta,.sc-bal-num,.sc-bal-label,.sc-bal-suffix,.ov-l,.ov-v,.gp,.muted) { color:#fff7ed !important; text-shadow:0 1px 3px #7a1d06; }
html.cx[data-theme="ignis"][data-mode][data-style] .station-card h3 { font:700 18px var(--ig-display); }
html.cx[data-theme="ignis"][data-mode][data-style] .station-card .sc-badge { display:none; }
html.cx[data-theme="ignis"][data-mode][data-style] .station-card .sc-balance { background:#1a06023d !important; border:0 !important; box-shadow:none !important; padding:8px 12px; margin:10px 0 6px; border-radius:12px; }
html.cx[data-theme="ignis"][data-mode][data-style] .station-card .sc-bal-num { font-size:28px; }
html.cx[data-theme="ignis"][data-mode][data-style] .station-card .sc-bal-label { font:700 9px var(--font); letter-spacing:.2em; text-transform:uppercase; }
html.cx[data-theme="ignis"][data-mode][data-style] .station-card .sc-prices { gap:6px; margin:4px 0; }
html.cx[data-theme="ignis"][data-mode][data-style] .station-card .gp { font:700 11px var(--font); border:0 !important; background:#1a060240 !important; border-radius:6px; padding:3px 8px; }
html.cx[data-theme="ignis"][data-mode][data-style] .station-card .sc-rows { display:none; }
html.cx[data-theme="ignis"][data-mode][data-style] .station-card :is(.ov-row:first-child,.ov-l) { display:none; }
html.cx[data-theme="ignis"][data-mode][data-style] .station-card .ov-row { border:0; font:700 12px var(--font); }
html.cx[data-theme="ignis"][data-mode][data-style] .station-grid > .add-card { width:130px; height:130px; min-height:0; padding:0 !important; align-self:center; display:flex !important; align-items:center; justify-content:center; text-align:center; border-radius:50% !important; border:2px dashed #f9731688 !important; background:radial-gradient(circle,#f9731622,transparent 70%) !important; box-shadow:none !important; font:700 11px var(--font); letter-spacing:.06em; text-transform:uppercase; color:var(--ig-y) !important; }
html.cx[data-theme="ignis"][data-mode][data-style] .station-grid > .add-card::before,html.cx[data-theme="ignis"][data-mode][data-style] .station-grid > .add-card::after { display:none !important; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) { html.cx[data-theme="ignis"][data-mode][data-style] .station-grid > .station-card:hover { border-radius:58% 42% 54% 46% / 52% 60% 40% 48% !important; box-shadow:inset 0 0 0 3px #1a060299,0 0 80px 0 #f97316,0 20px 34px -18px #000 !important; } }

/* ---------- station page: coals ---------- */
.sn-ignis { margin:8px 0 22px; }
.sn-ignis .ig-secs { display:flex; flex-wrap:wrap; gap:12px 20px; padding:14px 18px; border-radius:12px; background:linear-gradient(180deg,#2a0e06,#140806); box-shadow:inset 0 2px 12px #000; }
html.cx .sn-ignis button.ig-sec { display:flex; flex-direction:column; align-items:center; gap:6px; font:700 11px var(--font); letter-spacing:.1em; text-transform:uppercase; color:#d6a394; }
.sn-ignis .ig-ico { display:grid; place-items:center; width:48px; height:42px; border-radius:46% 54% 44% 56% / 52% 48% 52% 48%; font-size:19px; background:radial-gradient(circle at 50% 60%,#3a2420,#1a0e0c 70%); box-shadow:inset 0 -3px 6px #000; filter:grayscale(.6) brightness(.7); transition:all .5s ease-out; }
html.cx .sn-ignis button.ig-sec:hover .ig-ico { filter:none; }
html.cx .sn-ignis button.ig-sec[aria-selected="true"] { color:var(--ig-y); }
html.cx .sn-ignis button.ig-sec[aria-selected="true"] .ig-ico { filter:none; background:radial-gradient(circle at 50% 70%,#fde68a,var(--c) 45%,#7a1d06); box-shadow:0 0 22px var(--c),inset 0 -3px 6px #7a1d06; animation:ig-flicker 1.6s ease-in-out infinite; }
.sn-ignis .ig-tray { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.sn-ignis .ig-tray.in > * { animation:ig-ignite .5s ease-out calc(var(--n) * 45ms) backwards; }
html.cx .sn-ignis button.ig-pg { display:inline-flex; align-items:center; gap:8px; padding:9px 16px; border-radius:6px; font:700 13px var(--font); color:var(--ig-ink); background:linear-gradient(180deg,#2e1a16,#1a0e0c); border:1px solid #3a2420; transition:box-shadow .3s,border-color .3s; }
html.cx .sn-ignis button.ig-pg:hover { border-color:var(--c); box-shadow:0 0 14px color-mix(in srgb,var(--c) 60%,transparent); }
html.cx .sn-ignis button.ig-pg[aria-current="page"] { color:#1a0602; background:linear-gradient(0deg,#f43f5e,#f97316 45%,#fbbf24); border-color:transparent; box-shadow:0 0 16px #f97316aa; }

html.cx[data-theme="ignis"][data-mode][data-style] .month-bar .title { font-size:22px; }
html.cx[data-theme="ignis"][data-mode][data-style] .stat .label { font:700 10px var(--font); letter-spacing:.18em; text-transform:uppercase; color:var(--ig-dim); }
html.cx[data-theme="ignis"][data-mode][data-style] .stat .value { font-size:24px; }
html.cx[data-theme="ignis"][data-mode][data-style] .station-stats-side .stat { border-left:0 !important; }
html.cx[data-theme="ignis"][data-mode][data-style] .cal .dow { font:700 11px var(--font); letter-spacing:.16em; color:var(--ig-dim); }
html.cx[data-theme="ignis"][data-mode][data-style] .cal .day:not(.empty) { border-radius:10px !important; border:1px solid #f9731624 !important; background:var(--ig-panel) !important; box-shadow:none !important; transition:box-shadow .3s; }
html.cx[data-theme="ignis"][data-mode][data-style] .cal .day.empty { background:transparent !important; border:0 !important; box-shadow:none !important; }
html.cx[data-theme="ignis"][data-mode][data-style] .cal .day .badge { border-radius:4px; background:#f9731622; color:inherit; border:0; }
html.cx[data-theme="ignis"][data-mode][data-style] .cal .day.today { background:radial-gradient(70% 60% at 50% 80%,#fde68a,#fbbf24 25%,#f97316 55%,#7a1d06) !important; border-color:transparent !important; box-shadow:0 0 22px #f97316aa !important; animation:ig-flicker 2.4s ease-in-out infinite; }
html.cx[data-theme="ignis"][data-mode][data-style] .cal .day.today :is(.num,.muted,div,span) { color:#1a0602 !important; }
@media (hover:hover) { html.cx[data-theme="ignis"][data-mode][data-style] .cal .day:not(.empty):hover { box-shadow:0 0 18px -4px #f97316 !important; } }

/* =====================================================================================================
   DUNE — the desert. Marcellus + Cinzel; carved sandstone-tablet stations with chiselled lettering and
   stratified rock bands; oasis markers along a dune ridge; layered dunes drifting under a hot sun.
   ===================================================================================================== */
html.cx[data-theme="dune"] {
  --du-sand:#d4a373; --du-ochre:#e09f3e; --du-rust:#bc6c25; --du-stone:#e8cfa6; --du-ink:#fefbf6; --du-dim:#c8ad8a; --du-panel:color-mix(in srgb,#201a14 84%,transparent);
  --font:"Marcellus",Georgia,serif; --du-cinzel:"Cinzel","Marcellus",serif; --radius:4px; --radius-btn:2px;
}
html.cx[data-theme="dune"][data-mode="light"] { --du-ink:#3a2410; --du-dim:#7a5a3a; --du-panel:#fffcf6f0; }
html.cx[data-theme="dune"][data-mode][data-style] body { font-family:var(--font); background:linear-gradient(180deg,#1c140d 0,#2a1e12 50%,#15110d); }
html.cx[data-theme="dune"][data-mode="light"][data-style] body { background:linear-gradient(180deg,#fffaf0,#fcefd8 60%,#f4dcb4); }
html.cx[data-theme="dune"] #cx-art > i { left:-50%; width:200%; bottom:0; background-repeat:repeat-x; background-size:50% 100%; }
html.cx[data-theme="dune"] #cx-art .cx-a { height:34vh; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1800 200' preserveAspectRatio='none'%3E%3Cpath d='M0 200 L0 90.0 L20 99.5 L40 108.5 L60 116.8 L80 123.8 L100 129.4 L120 133.4 L140 135.6 L160 136.1 L180 135.1 L200 132.6 L220 129.0 L240 124.6 L260 119.7 L280 114.7 L300 109.7 L320 105.2 L340 101.2 L360 97.9 L380 95.2 L400 93.2 L420 91.7 L440 90.5 L460 89.5 L480 88.3 L500 86.8 L520 84.8 L540 82.1 L560 78.8 L580 74.8 L600 70.3 L620 65.3 L640 60.3 L660 55.4 L680 51.0 L700 47.4 L720 44.9 L740 43.9 L760 44.4 L780 46.6 L800 50.6 L820 56.2 L840 63.2 L860 71.5 L880 80.5 L900 90.0 L920 99.5 L940 108.5 L960 116.8 L980 123.8 L1000 129.4 L1020 133.4 L1040 135.6 L1060 136.1 L1080 135.1 L1100 132.6 L1120 129.0 L1140 124.6 L1160 119.7 L1180 114.7 L1200 109.7 L1220 105.2 L1240 101.2 L1260 97.9 L1280 95.2 L1300 93.2 L1320 91.7 L1340 90.5 L1360 89.5 L1380 88.3 L1400 86.8 L1420 84.8 L1440 82.1 L1460 78.8 L1480 74.8 L1500 70.3 L1520 65.3 L1540 60.3 L1560 55.4 L1580 51.0 L1600 47.4 L1620 44.9 L1640 43.9 L1660 44.4 L1680 46.6 L1700 50.6 L1720 56.2 L1740 63.2 L1760 71.5 L1780 80.5 L1800 90.0 L1800 200 Z' fill='%233a2a1a'/%3E%3C/svg%3E"); animation:du-drift 80s linear infinite; }
html.cx[data-theme="dune"] #cx-art .cx-b { height:26vh; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1800 200' preserveAspectRatio='none'%3E%3Cpath d='M0 200 L0 120.0 L20 122.9 L40 124.9 L60 126.0 L80 125.8 L100 124.2 L120 121.3 L140 117.2 L160 111.8 L180 105.5 L200 98.4 L220 91.0 L240 83.5 L260 76.3 L280 69.6 L300 63.9 L320 59.2 L340 55.8 L360 53.8 L380 53.2 L400 53.8 L420 55.6 L440 58.4 L460 61.8 L480 65.7 L500 69.8 L520 73.9 L540 77.7 L560 81.0 L580 83.9 L600 86.2 L620 87.9 L640 89.2 L660 90.2 L680 91.1 L700 92.0 L720 93.0 L740 94.5 L760 96.4 L780 98.8 L800 101.7 L820 105.1 L840 108.8 L860 112.7 L880 116.5 L900 120.0 L920 122.9 L940 124.9 L960 126.0 L980 125.8 L1000 124.2 L1020 121.3 L1040 117.2 L1060 111.8 L1080 105.5 L1100 98.4 L1120 91.0 L1140 83.5 L1160 76.3 L1180 69.6 L1200 63.9 L1220 59.2 L1240 55.8 L1260 53.8 L1280 53.2 L1300 53.8 L1320 55.6 L1340 58.4 L1360 61.8 L1380 65.7 L1400 69.8 L1420 73.9 L1440 77.7 L1460 81.0 L1480 83.9 L1500 86.2 L1520 87.9 L1540 89.2 L1560 90.2 L1580 91.1 L1600 92.0 L1620 93.0 L1640 94.5 L1660 96.4 L1680 98.8 L1700 101.7 L1720 105.1 L1740 108.8 L1760 112.7 L1780 116.5 L1800 120.0 L1800 200 Z' fill='%235a3e22'/%3E%3C/svg%3E"); animation:du-drift 55s linear infinite reverse; }
html.cx[data-theme="dune"] #cx-art .cx-c { height:18vh; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1800 200' preserveAspectRatio='none'%3E%3Cpath d='M0 200 L0 93.1 L20 92.5 L40 91.6 L60 90.5 L80 89.0 L100 87.0 L120 84.6 L140 81.8 L160 78.7 L180 75.4 L200 72.1 L220 69.0 L240 66.2 L260 64.0 L280 62.5 L300 62.0 L320 62.4 L340 63.8 L360 66.3 L380 69.7 L400 74.0 L420 78.9 L440 84.2 L460 89.6 L480 95.1 L500 100.2 L520 104.8 L540 108.7 L560 111.7 L580 113.8 L600 114.9 L620 115.1 L640 114.5 L660 113.2 L680 111.3 L700 109.0 L720 106.5 L740 104.0 L760 101.6 L780 99.5 L800 97.7 L820 96.3 L840 95.2 L860 94.3 L880 93.7 L900 93.1 L920 92.5 L940 91.6 L960 90.5 L980 89.0 L1000 87.0 L1020 84.6 L1040 81.8 L1060 78.7 L1080 75.4 L1100 72.1 L1120 69.0 L1140 66.2 L1160 64.0 L1180 62.5 L1200 62.0 L1220 62.4 L1240 63.8 L1260 66.3 L1280 69.7 L1300 74.0 L1320 78.9 L1340 84.2 L1360 89.6 L1380 95.1 L1400 100.2 L1420 104.8 L1440 108.7 L1460 111.7 L1480 113.8 L1500 114.9 L1520 115.1 L1540 114.5 L1560 113.2 L1580 111.3 L1600 109.0 L1620 106.5 L1640 104.0 L1660 101.6 L1680 99.5 L1700 97.7 L1720 96.3 L1740 95.2 L1760 94.3 L1780 93.7 L1800 93.1 L1800 200 Z' fill='%238a5a2c'/%3E%3C/svg%3E"); animation:du-drift 38s linear infinite; opacity:.85; }
html.cx[data-theme="dune"] #cx-art::before { content:""; position:absolute; right:12vw; top:12vh; width:22vmax; height:22vmax; border-radius:50%; background:radial-gradient(circle,#fde68a,#e09f3e 45%,#e09f3e00 70%); opacity:.35; filter:blur(2px); }
html.cx[data-theme="dune"][data-mode="light"] #cx-art > i { opacity:.35; }
@keyframes du-drift { to { transform:translateX(25%); } }
@keyframes du-rise { from { transform:translateY(30px); opacity:0; filter:blur(4px) sepia(1); } to { transform:none; opacity:1; filter:none; } }

html.cx[data-theme="dune"][data-mode][data-style] :is(h1,h2,h3,h4,.brand) { font-family:var(--du-cinzel); font-weight:700; letter-spacing:.06em; }
html.cx[data-theme="dune"][data-mode][data-style] .section-head h2 { font-size:clamp(32px,3.2vw,50px); color:var(--du-stone); text-shadow:0 2px 0 #00000066,0 -1px 0 #ffffff22; }
html.cx[data-theme="dune"][data-mode][data-style] :is(.stat .value,.sc-bal-num,.month-bar .title,.cal .day .num) { font-family:var(--du-cinzel); font-weight:600; }

html.cx[data-theme="dune"][data-mode][data-style] :is(.btn,.seg button) { border-radius:2px !important; font:600 12px var(--du-cinzel); letter-spacing:.14em; text-transform:uppercase; transition:transform .25s,box-shadow .25s; }
html.cx[data-theme="dune"][data-mode][data-style] :is(.btn.primary,.btn.info,.seg button.active) { color:#2a1808 !important; border:0 !important; background:linear-gradient(180deg,#f0c98a,#d4a373 55%,#b8834e) !important; box-shadow:inset 0 1px 0 #fff6,inset 0 -2px 0 #0003,0 3px 0 #6a4320 !important; }
html.cx[data-theme="dune"][data-mode][data-style] :is(.btn:not(.primary):not(.info),.seg button:not(.active)) { color:var(--du-stone); border:1px solid #d4a37366 !important; background:transparent !important; box-shadow:none !important; }
html.cx[data-theme="dune"][data-mode][data-style] :is(.btn,.seg button):active { transform:translateY(2px); }
html.cx[data-theme="dune"][data-mode][data-style] :is(input,select,textarea) { border-radius:2px !important; border:1px solid #d4a37355; background:var(--du-panel); }
html.cx[data-theme="dune"][data-mode][data-style] :is(.card,.stat,.panel):not(.station-card):not(.add-card) { border-radius:4px !important; border:1px solid #d4a37330 !important; background:var(--du-panel) !important; backdrop-filter:blur(6px); box-shadow:0 20px 34px -26px #000 !important; }

/* ---------- dashboard: sandstone tablets ---------- */
html.cx[data-theme="dune"][data-mode][data-style] .station-grid { display:flex !important; flex-wrap:wrap; justify-content:center; align-items:flex-end; gap:34px !important; padding:30px 0 50px; }
html.cx[data-theme="dune"][data-mode][data-style] .station-grid > .station-card {
  width:280px; min-height:0; box-sizing:border-box; padding:40px 26px 26px !important; text-align:center; position:relative; color:#4a2e14;
  border:0 !important; border-radius:140px 140px 6px 6px !important;
  background:repeating-linear-gradient(180deg,transparent 0 22px,#00000010 22px 24px,transparent 24px 46px,#ffffff14 46px 47px),radial-gradient(120% 80% at 30% 20%,#f4dfb8,#e2c08e 55%,#c99a62) !important;
  box-shadow:inset 0 0 0 2px #00000014,inset 0 4px 10px #ffffff40,inset 0 -10px 20px #7a4a2033,0 20px 30px -16px #000c !important;
  animation:du-rise 1s cubic-bezier(.22,1,.36,1) backwards; transition:transform .6s cubic-bezier(.22,1,.36,1);
}
html.cx[data-theme="dune"][data-mode][data-style] .station-grid > .station-card:nth-child(2) { animation-delay:.15s; background:repeating-linear-gradient(180deg,transparent 0 22px,#00000012 22px 24px,transparent 24px 46px,#ffffff14 46px 47px),radial-gradient(120% 80% at 30% 20%,#f0c9a0,#d99a6a 55%,#b06a3a) !important; }
html.cx[data-theme="dune"][data-mode][data-style] .station-grid > .station-card::before { content:"☀" !important; display:block !important; position:static; margin:0 auto 4px; font-size:20px; color:#a0602a; background:none !important; opacity:.8; height:auto; width:auto; }
html.cx[data-theme="dune"][data-mode][data-style] .station-grid > .station-card::after { display:none !important; }
html.cx[data-theme="dune"][data-mode][data-style] .station-card :is(h3,.sc-bal-num,.ov-v,.gp) { color:#4a2e14 !important; text-shadow:0 1px 0 #ffffff66,0 -1px 0 #00000022; }
html.cx[data-theme="dune"][data-mode][data-style] .station-card :is(.meta,.sc-bal-label,.sc-bal-suffix,.ov-l,.muted) { color:#7a5030 !important; }
html.cx[data-theme="dune"][data-mode][data-style] .station-card .sc-head { flex-direction:column; align-items:center; gap:2px; }
html.cx[data-theme="dune"][data-mode][data-style] .station-card h3 { font:700 19px/1.15 var(--du-cinzel); letter-spacing:.06em; }
html.cx[data-theme="dune"][data-mode][data-style] .station-card .meta { font:400 12px var(--font); letter-spacing:.14em; text-transform:uppercase; }
html.cx[data-theme="dune"][data-mode][data-style] .station-card .sc-badge { display:none; }
html.cx[data-theme="dune"][data-mode][data-style] .station-card .sc-balance::after { display:none !important; }
html.cx[data-theme="dune"][data-mode][data-style] .station-card .sc-balance { background:none !important; border:0 !important; box-shadow:none !important; padding:10px 0; margin:10px 0 6px; border-block:2px solid #7a503044 !important; border-radius:0; }
html.cx[data-theme="dune"][data-mode][data-style] .station-card .sc-bal-num { font-size:27px; }
html.cx[data-theme="dune"][data-mode][data-style] .station-card .sc-bal-label { font:600 9px var(--du-cinzel); letter-spacing:.22em; text-transform:uppercase; }
html.cx[data-theme="dune"][data-mode][data-style] .station-card .sc-prices { justify-content:center; gap:10px; margin:6px 0 0; }
html.cx[data-theme="dune"][data-mode][data-style] .station-card .gp { font:600 12px var(--du-cinzel); border:0 !important; background:transparent !important; padding:0; border-radius:0; }
html.cx[data-theme="dune"][data-mode][data-style] .station-card .sc-rows { display:none; }
html.cx[data-theme="dune"][data-mode][data-style] .station-grid > .add-card { width:150px; height:190px; min-height:0; padding:0 !important; align-self:flex-end; display:flex !important; align-items:center; justify-content:center; text-align:center; border-radius:75px 75px 4px 4px !important; border:1.5px dashed #d4a37388 !important; background:transparent !important; box-shadow:none !important; font:600 12px var(--du-cinzel); letter-spacing:.1em; text-transform:uppercase; color:var(--du-sand) !important; }
html.cx[data-theme="dune"][data-mode][data-style] .station-grid > .add-card::before,html.cx[data-theme="dune"][data-mode][data-style] .station-grid > .add-card::after { display:none !important; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) { html.cx[data-theme="dune"][data-mode][data-style] .station-grid > .station-card:hover { transform:translateY(-8px); } }

/* ---------- station page: the caravan route ---------- */
.sn-dune { margin:8px 0 22px; }
.sn-dune .du-secs { position:relative; display:flex; flex-wrap:wrap; gap:6px 30px; padding:4px 10px 24px; }
.sn-dune .du-secs::after { content:""; position:absolute; left:0; right:0; bottom:6px; height:16px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1800 200' preserveAspectRatio='none'%3E%3Cpath d='M0 200 L0 93.1 L20 92.5 L40 91.6 L60 90.5 L80 89.0 L100 87.0 L120 84.6 L140 81.8 L160 78.7 L180 75.4 L200 72.1 L220 69.0 L240 66.2 L260 64.0 L280 62.5 L300 62.0 L320 62.4 L340 63.8 L360 66.3 L380 69.7 L400 74.0 L420 78.9 L440 84.2 L460 89.6 L480 95.1 L500 100.2 L520 104.8 L540 108.7 L560 111.7 L580 113.8 L600 114.9 L620 115.1 L640 114.5 L660 113.2 L680 111.3 L700 109.0 L720 106.5 L740 104.0 L760 101.6 L780 99.5 L800 97.7 L820 96.3 L840 95.2 L860 94.3 L880 93.7 L900 93.1 L920 92.5 L940 91.6 L960 90.5 L980 89.0 L1000 87.0 L1020 84.6 L1040 81.8 L1060 78.7 L1080 75.4 L1100 72.1 L1120 69.0 L1140 66.2 L1160 64.0 L1180 62.5 L1200 62.0 L1220 62.4 L1240 63.8 L1260 66.3 L1280 69.7 L1300 74.0 L1320 78.9 L1340 84.2 L1360 89.6 L1380 95.1 L1400 100.2 L1420 104.8 L1440 108.7 L1460 111.7 L1480 113.8 L1500 114.9 L1520 115.1 L1540 114.5 L1560 113.2 L1580 111.3 L1600 109.0 L1620 106.5 L1640 104.0 L1660 101.6 L1680 99.5 L1700 97.7 L1720 96.3 L1740 95.2 L1760 94.3 L1780 93.7 L1800 93.1 L1800 200 Z' fill='%238a5a2c'/%3E%3C/svg%3E") 0 0/360px 100% repeat-x; opacity:.7; }
html.cx .sn-dune button.du-sec { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; gap:6px; font:600 12px var(--du-cinzel); letter-spacing:.12em; text-transform:uppercase; color:var(--du-dim); animation:du-rise .7s cubic-bezier(.22,1,.36,1) calc(var(--n) * 70ms) backwards; }
.sn-dune .du-ico { display:grid; place-items:center; width:40px; height:48px; font-size:18px; color:#4a2e14; background:linear-gradient(180deg,#f4dfb8,#d4a373); clip-path:polygon(50% 0,100% 30%,100% 100%,0 100%,0 30%); transition:transform .5s cubic-bezier(.22,1,.36,1); }
html.cx .sn-dune button.du-sec:hover .du-ico { transform:translateY(-4px); }
html.cx .sn-dune button.du-sec[aria-selected="true"] { color:var(--du-stone); }
html.cx .sn-dune button.du-sec[aria-selected="true"] .du-ico { background:linear-gradient(180deg,#fde68a,var(--c)); transform:translateY(-8px) scale(1.12); filter:drop-shadow(0 0 10px #e09f3e); }
.sn-dune .du-tray { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.sn-dune .du-tray.in > * { animation:du-rise .5s cubic-bezier(.22,1,.36,1) calc(var(--n) * 45ms) backwards; }
html.cx .sn-dune button.du-pg { display:inline-flex; align-items:center; gap:8px; padding:10px 18px; font:400 15px var(--font); color:#4a2e14; background:linear-gradient(180deg,#f0dcb6,#d9b98a); border-radius:3px; box-shadow:inset 0 1px 0 #fff8,inset 0 -2px 0 #0002,0 2px 0 #7a5030; transition:transform .25s; }
html.cx .sn-dune button.du-pg:hover { transform:translateY(-2px); }
html.cx .sn-dune button.du-pg[aria-current="page"] { color:#fefbf6; background:linear-gradient(180deg,#d4874a,#bc6c25); }

html.cx[data-theme="dune"][data-mode][data-style] .month-bar .title { font-size:22px; letter-spacing:.08em; }
html.cx[data-theme="dune"][data-mode][data-style] .stat .label { font:600 10px var(--du-cinzel); letter-spacing:.2em; text-transform:uppercase; color:var(--du-dim); }
html.cx[data-theme="dune"][data-mode][data-style] .stat .value { font-size:24px; }
html.cx[data-theme="dune"][data-mode][data-style] .station-stats-side .stat { border-left:0 !important; }
html.cx[data-theme="dune"][data-mode][data-style] .cal .dow { font:600 11px var(--du-cinzel); letter-spacing:.2em; color:var(--du-dim); }
html.cx[data-theme="dune"][data-mode][data-style] .cal .day:not(.empty) { border-radius:3px !important; border:1px solid #d4a37326 !important; background:var(--du-panel) !important; box-shadow:none !important; backdrop-filter:blur(6px); }
html.cx[data-theme="dune"][data-mode][data-style] .cal .day.empty { background:transparent !important; border:0 !important; box-shadow:none !important; }
html.cx[data-theme="dune"][data-mode][data-style] .cal .day .badge { border-radius:2px; background:#d4a37322; color:inherit; border:0; }
html.cx[data-theme="dune"][data-mode][data-style] .cal .day.today { background:radial-gradient(120% 80% at 30% 20%,#f4dfb8,#e2c08e 55%,#c99a62) !important; border-color:transparent !important; }
html.cx[data-theme="dune"][data-mode][data-style] .cal .day.today :is(.num,.muted,div,span) { color:#4a2e14 !important; }

/* =====================================================================================================
   TIDE WATER — an aquarium. Sora; glass-droplet stations with refraction highlights and caustic light
   playing inside; bubble sections that rise; glass-pebble pages; bubbles streaming up behind the page.
   ===================================================================================================== */
html.cx[data-theme="hydro"] {
  --hy-c:#06b6d4; --hy-s:#38bdf8; --hy-t:#14b8a6; --hy-ink:#ecfeff; --hy-dim:#8cc4cf; --hy-panel:color-mix(in srgb,#091a2e 70%,transparent);
  --font:"Sora",system-ui,sans-serif; --radius:24px; --radius-btn:999px;
}
html.cx[data-theme="hydro"][data-mode="light"] { --hy-ink:#083344; --hy-dim:#3f7383; --hy-panel:#ffffffd0; }
html.cx[data-theme="hydro"][data-mode][data-style] body { font-family:var(--font); background:linear-gradient(180deg,#06243a 0,#040e1a 60%,#02080f); }
html.cx[data-theme="hydro"][data-mode="light"][data-style] body { background:linear-gradient(180deg,#e6fbff,#f0fdfa 60%,#d6f5f5); }
html.cx[data-theme="hydro"] #cx-art .cx-a { inset:-10%; background:radial-gradient(40% 18% at 25% 15%,#22d3ee1c,transparent 70%),radial-gradient(30% 14% at 70% 30%,#38bdf816,transparent 70%),radial-gradient(36% 16% at 45% 60%,#14b8a612,transparent 70%); filter:blur(10px); animation:hy-caustic 12s ease-in-out infinite alternate; }
html.cx[data-theme="hydro"] #cx-art :is(.cx-b,.cx-c) { bottom:-30px; width:14px; height:14px; border-radius:50%; border:1.5px solid #a5f3fc99; background:radial-gradient(circle at 35% 30%,#ffffffaa 0 2px,transparent 3px); box-shadow:40vw 10px 0 -2px #a5f3fc66,62vw -30px 0 1px #a5f3fc55,82vw 20px 0 -3px #a5f3fc77; animation:hy-rise 9s ease-in infinite; }
html.cx[data-theme="hydro"] #cx-art .cx-b { left:8vw; }
html.cx[data-theme="hydro"] #cx-art .cx-c { left:22vw; animation-delay:-4.5s; animation-duration:11s; }
html.cx[data-theme="hydro"][data-mode="light"] #cx-art :is(.cx-b,.cx-c) { border-color:#06b6d466; }
@keyframes hy-caustic { from { transform:translate(0,0) scale(1); } to { transform:translate(-30px,20px) scale(1.08); } }
@keyframes hy-rise { 0% { transform:translate(0,0); opacity:0; } 10% { opacity:1; } 50% { transform:translate(14px,-50vh); } 100% { transform:translate(-10px,-105vh); opacity:0; } }
@keyframes hy-drip { from { transform:translateY(-30px) scale(.9,1.1); opacity:0; } 60% { transform:translateY(4px) scale(1.04,.96); opacity:1; } to { transform:none; } }

html.cx[data-theme="hydro"][data-mode][data-style] :is(h1,h2,h3,h4,.brand) { font-family:var(--font); font-weight:600; letter-spacing:-.02em; }
html.cx[data-theme="hydro"][data-mode][data-style] .section-head h2 { font-size:clamp(32px,3.2vw,50px); font-weight:300; background:linear-gradient(180deg,#ecfeff,#67e8f9 60%,#06b6d4); -webkit-background-clip:text; background-clip:text; color:transparent; }
html.cx[data-theme="hydro"][data-mode="light"][data-style] .section-head h2 { background-image:linear-gradient(180deg,#0e7490,#06b6d4); }
html.cx[data-theme="hydro"][data-mode][data-style] :is(.stat .value,.sc-bal-num,.month-bar .title,.cal .day .num) { font-family:var(--font); font-weight:400; }

html.cx[data-theme="hydro"][data-mode][data-style] :is(.btn,.seg button) { border-radius:999px !important; font:600 13px var(--font); text-transform:none; letter-spacing:0; transition:transform .45s cubic-bezier(.34,1.56,.64,1),box-shadow .3s; }
html.cx[data-theme="hydro"][data-mode][data-style] :is(.btn.primary,.btn.info,.seg button.active) { color:#022c35 !important; border:0 !important; background:radial-gradient(120% 140% at 30% 0,#cffafe,#22d3ee 50%,#0891b2) !important; box-shadow:inset 0 2px 0 #ffffffa0,inset 0 -3px 6px #0e749066,0 8px 20px -8px #22d3ee !important; }
html.cx[data-theme="hydro"][data-mode][data-style] :is(.btn:not(.primary):not(.info),.seg button:not(.active)) { color:var(--hy-ink); border:1px solid #67e8f944 !important; background:#22d3ee10 !important; backdrop-filter:blur(10px); box-shadow:inset 0 1px 0 #ffffff22 !important; }
html.cx[data-theme="hydro"][data-mode][data-style] :is(.btn,.seg button):hover { transform:translateY(-3px) scale(1.03); }
html.cx[data-theme="hydro"][data-mode][data-style] :is(input,select,textarea) { border-radius:16px !important; border:1px solid #67e8f944; background:var(--hy-panel); }
html.cx[data-theme="hydro"][data-mode][data-style] :is(.card,.stat,.panel):not(.station-card):not(.add-card) { border-radius:24px !important; border:1px solid #67e8f926 !important; background:var(--hy-panel) !important; backdrop-filter:blur(16px) saturate(1.3); box-shadow:inset 0 1px 0 #ffffff18,0 24px 50px -30px #000 !important; }

/* ---------- dashboard: glass droplets ---------- */
html.cx[data-theme="hydro"][data-mode][data-style] .station-grid { display:flex !important; flex-wrap:wrap; justify-content:center; gap:44px !important; padding:40px 0 50px; }
html.cx[data-theme="hydro"][data-mode][data-style] .station-grid > .station-card {
  width:270px; height:320px; min-height:0; box-sizing:border-box; padding:110px 34px 30px !important; text-align:center; position:relative; overflow:hidden; color:var(--hy-ink);
  border:0 !important; border-radius:50% 50% 50% 50% / 62% 62% 40% 40% !important; display:flex !important; flex-direction:column; align-items:center;
  background:radial-gradient(40% 18% at 34% 30%,#ffffff70,transparent 70%),radial-gradient(14% 7% at 66% 82%,#ffffff40,transparent 70%),radial-gradient(100% 80% at 50% 70%,#22d3ee55,#0891b244 50%,#06243a33) !important;
  box-shadow:inset 0 0 0 1.5px #a5f3fc66,inset -14px -20px 40px #0e749066,inset 10px 10px 30px #ffffff22,0 30px 40px -20px #000c !important; backdrop-filter:blur(10px) saturate(1.5);
  animation:hy-drip 1s cubic-bezier(.34,1.56,.64,1) backwards; transition:border-radius 1s ease-in-out,transform .6s cubic-bezier(.34,1.56,.64,1);
}
html.cx[data-theme="hydro"][data-mode][data-style] .station-grid > .station-card:nth-child(2) { animation-delay:.15s; }
html.cx[data-theme="hydro"][data-mode][data-style] .station-grid > .station-card::before { content:"" !important; display:block !important; position:absolute; inset:0; height:auto; width:auto; opacity:.6; background:radial-gradient(30% 12% at 40% 62%,#a5f3fc33,transparent 70%),radial-gradient(22% 9% at 62% 74%,#a5f3fc26,transparent 70%) !important; animation:hy-caustic 6s ease-in-out infinite alternate; border-radius:inherit; }
html.cx[data-theme="hydro"][data-mode][data-style] .station-grid > .station-card::after { display:none !important; }
html.cx[data-theme="hydro"][data-mode][data-style] .station-card > * { position:relative; }
html.cx[data-theme="hydro"][data-mode][data-style] .station-card :is(h3,.sc-bal-num,.ov-v,.gp) { color:var(--hy-ink) !important; }
html.cx[data-theme="hydro"][data-mode][data-style] .station-card :is(.meta,.sc-bal-label,.sc-bal-suffix,.ov-l,.muted) { color:#a5f3fc !important; }
html.cx[data-theme="hydro"][data-mode][data-style] .station-card .sc-head { flex-direction:column; align-items:center; gap:0; margin:0; }
html.cx[data-theme="hydro"][data-mode][data-style] .station-card h3 { font-size:17px; line-height:1.15; }
html.cx[data-theme="hydro"][data-mode][data-style] .station-card .meta { font-size:11px; }
html.cx[data-theme="hydro"][data-mode][data-style] .station-card .sc-badge { display:none; }
html.cx[data-theme="hydro"][data-mode][data-style] .station-card .sc-balance::after { display:none !important; }
html.cx[data-theme="hydro"][data-mode][data-style] .station-card .sc-balance { background:none !important; border:0 !important; box-shadow:none !important; padding:6px 0 2px; margin:0; }
html.cx[data-theme="hydro"][data-mode][data-style] .station-card .sc-bal-num { font-size:25px; }
html.cx[data-theme="hydro"][data-mode][data-style] .station-card .sc-bal-label { font:600 8px var(--font); letter-spacing:.2em; text-transform:uppercase; }
html.cx[data-theme="hydro"][data-mode][data-style] .station-card .sc-prices { justify-content:center; gap:4px; margin:6px 0 0; }
html.cx[data-theme="hydro"][data-mode][data-style] .station-card .gp { font:600 10px var(--font); border:0 !important; background:#ffffff1c !important; border-radius:999px; padding:2px 7px; }
html.cx[data-theme="hydro"][data-mode][data-style] .station-card .sc-rows { display:none; }
html.cx[data-theme="hydro"][data-mode][data-style] .station-grid > .add-card { width:110px; height:110px; min-height:0; padding:0 !important; align-self:center; display:flex !important; align-items:center; justify-content:center; text-align:center; border-radius:50% !important; border:1.5px solid #a5f3fc66 !important; background:radial-gradient(circle at 35% 30%,#ffffff40 0 6px,transparent 10px) !important; box-shadow:inset 0 0 20px #22d3ee33 !important; font:600 11px var(--font); color:#a5f3fc !important; animation:hy-bob 4s ease-in-out infinite; }
@keyframes hy-bob { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-8px); } }
html.cx[data-theme="hydro"][data-mode][data-style] .station-grid > .add-card::before,html.cx[data-theme="hydro"][data-mode][data-style] .station-grid > .add-card::after { display:none !important; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) { html.cx[data-theme="hydro"][data-mode][data-style] .station-grid > .station-card:hover { border-radius:46% 54% 52% 48% / 58% 64% 40% 42% !important; transform:translateY(-6px); } }

/* ---------- station page: bubbles ---------- */
.sn-hydro { margin:8px 0 22px; }
.sn-hydro .hy-secs { display:flex; flex-wrap:wrap; align-items:flex-end; gap:12px 18px; padding:10px 4px; }
html.cx .sn-hydro button.hy-sec { display:flex; flex-direction:column; align-items:center; gap:6px; font:600 12px var(--font); color:var(--hy-dim); animation:hy-drip .7s cubic-bezier(.34,1.56,.64,1) calc(var(--n) * 60ms) backwards; }
.sn-hydro .hy-ico { display:grid; place-items:center; width:50px; height:50px; border-radius:50%; font-size:20px; border:1.5px solid color-mix(in srgb,var(--c) 60%,#fff); background:radial-gradient(circle at 34% 28%,#ffffffb0 0 4px,transparent 7px),radial-gradient(circle,color-mix(in srgb,var(--c) 20%,transparent),color-mix(in srgb,var(--c) 40%,transparent)); box-shadow:inset 0 0 14px color-mix(in srgb,var(--c) 40%,transparent); transition:transform .6s cubic-bezier(.34,1.56,.64,1); }
html.cx .sn-hydro button.hy-sec:hover .hy-ico { transform:translateY(-6px); }
html.cx .sn-hydro button.hy-sec[aria-selected="true"] { color:var(--hy-ink); }
html.cx .sn-hydro button.hy-sec[aria-selected="true"] .hy-ico { transform:translateY(-12px) scale(1.18); box-shadow:inset 0 0 14px color-mix(in srgb,var(--c) 60%,transparent),0 0 20px color-mix(in srgb,var(--c) 70%,transparent); }
.sn-hydro .hy-tray { display:flex; flex-wrap:wrap; gap:10px; margin-top:6px; }
.sn-hydro .hy-tray.in > * { animation:hy-drip .55s cubic-bezier(.34,1.56,.64,1) calc(var(--n) * 45ms) backwards; }
html.cx .sn-hydro button.hy-pg { display:inline-flex; align-items:center; gap:8px; padding:10px 18px; border-radius:52% 48% 50% 50% / 60% 60% 40% 40%; font:500 13px var(--font); color:var(--hy-ink); background:radial-gradient(60% 40% at 30% 20%,#ffffff26,transparent),#22d3ee14; border:1px solid #67e8f933; backdrop-filter:blur(8px); transition:transform .5s cubic-bezier(.34,1.56,.64,1); }
html.cx .sn-hydro button.hy-pg:hover { transform:translateY(-3px) scale(1.04); }
html.cx .sn-hydro button.hy-pg[aria-current="page"] { color:#022c35; font-weight:700; background:radial-gradient(120% 140% at 30% 0,#cffafe,#22d3ee 55%,#0891b2); border-color:transparent; }

html.cx[data-theme="hydro"][data-mode][data-style] .month-bar .title { font-size:24px; font-weight:300; }
html.cx[data-theme="hydro"][data-mode][data-style] .stat .label { font:600 10px var(--font); letter-spacing:.14em; text-transform:uppercase; color:var(--hy-dim); }
html.cx[data-theme="hydro"][data-mode][data-style] .stat .value { font-size:24px; font-weight:300; }
html.cx[data-theme="hydro"][data-mode][data-style] .station-stats-side .stat { border-left:0 !important; }
html.cx[data-theme="hydro"][data-mode][data-style] .stat::after { display:none !important; }
html.cx[data-theme="hydro"][data-mode][data-style] .cal .dow { font:600 11px var(--font); letter-spacing:.14em; color:var(--hy-dim); }
html.cx[data-theme="hydro"][data-mode][data-style] .cal .day:not(.empty) { border-radius:22px !important; border:1px solid #67e8f91c !important; background:var(--hy-panel) !important; box-shadow:inset 0 1px 0 #ffffff12 !important; backdrop-filter:blur(10px); transition:transform .5s cubic-bezier(.34,1.56,.64,1); }
html.cx[data-theme="hydro"][data-mode][data-style] .cal .day.empty { background:transparent !important; border:0 !important; box-shadow:none !important; }
html.cx[data-theme="hydro"][data-mode][data-style] .cal .day .badge { border-radius:999px; background:#22d3ee1c; color:inherit; border:0; }
html.cx[data-theme="hydro"][data-mode][data-style] .cal .day.today { background:radial-gradient(40% 24% at 30% 22%,#ffffff80,transparent 70%),radial-gradient(120% 120% at 50% 70%,#22d3ee,#0891b2) !important; border-color:transparent !important; }
html.cx[data-theme="hydro"][data-mode][data-style] .cal .day.today :is(.num,.muted,div,span) { color:#022c35 !important; }
@media (hover:hover) { html.cx[data-theme="hydro"][data-mode][data-style] .cal .day:not(.empty):hover { transform:translateY(-3px); } }

/* =====================================================================================================
   MUNDIAL — the World Cup. Syne + Archivo Expanded; foil player-trading-card stations with a rating badge,
   gold border and a holo shimmer; a stadium scoreboard for sections; jersey chips; floodlights sweeping.
   ===================================================================================================== */
html.cx[data-theme="mundial"] {
  --mu-gold:#f59e0b; --mu-g2:#fbbf24; --mu-pitch:#0f5132; --mu-ink:#fffdfa; --mu-dim:#b8b2a6; --mu-panel:color-mix(in srgb,#0f1015 86%,transparent);
  --font:"Archivo","Inter",system-ui,sans-serif; --mu-wide:"Archivo","Syne",system-ui,sans-serif; --radius:10px; --radius-btn:6px;
}
html.cx[data-theme="mundial"][data-mode="light"] { --mu-ink:#18140a; --mu-dim:#6a6050; --mu-panel:#fffffff0; }
html.cx[data-theme="mundial"][data-mode][data-style] body { font-family:var(--font); background:linear-gradient(180deg,#070709 0,#0c1a10 70%,#0f2a18); }
html.cx[data-theme="mundial"][data-mode="light"][data-style] body { background:linear-gradient(180deg,#faf8f5,#eef6ec 70%); }
html.cx[data-theme="mundial"] #cx-art .cx-a { left:0; right:0; bottom:0; height:28vh; background:repeating-linear-gradient(90deg,#16a34a14 0 70px,#15803d1f 70px 140px); transform:perspective(400px) rotateX(55deg); transform-origin:50% 100%; -webkit-mask:linear-gradient(transparent,#000); mask:linear-gradient(transparent,#000); }
html.cx[data-theme="mundial"] #cx-art :is(.cx-b,.cx-c) { top:-20vh; width:26vw; height:110vh; background:linear-gradient(180deg,#fffbe633,transparent 75%); clip-path:polygon(44% 0,56% 0,100% 100%,0 100%); filter:blur(8px); transform-origin:50% 0; }
html.cx[data-theme="mundial"] #cx-art .cx-b { left:4vw; animation:mu-light 9s ease-in-out infinite alternate; }
html.cx[data-theme="mundial"] #cx-art .cx-c { right:4vw; animation:mu-light 11s ease-in-out -3s infinite alternate-reverse; }
@keyframes mu-light { from { transform:rotate(-22deg); } to { transform:rotate(10deg); } }
@keyframes mu-holo { from { background-position:0 0; } to { background-position:200% 0; } }
@keyframes mu-deal { from { transform:translateY(-40px) rotateY(180deg); opacity:0; } to { transform:none; opacity:1; } }

html.cx[data-theme="mundial"][data-mode][data-style] :is(h1,h2,h3,h4,.brand) { font-family:var(--font); font-weight:800; letter-spacing:-.02em; }
html.cx[data-theme="mundial"][data-mode][data-style] :is(.stat .value,.big,.value,td) { font-stretch:100%; }
html.cx[data-theme="mundial"][data-mode][data-style] .section-head h2 { font:900 clamp(32px,3.4vw,54px) var(--mu-wide); font-stretch:125%; text-transform:uppercase; color:var(--mu-ink); }
html.cx[data-theme="mundial"][data-mode][data-style] .section-head h2::after { content:"★★"; margin-left:.3em; font-size:.45em; color:var(--mu-gold); vertical-align:.4em; }
html.cx[data-theme="mundial"][data-mode][data-style] :is(.stat .value,.sc-bal-num,.month-bar .title,.cal .day .num) { font-family:var(--mu-wide); font-weight:800; }

html.cx[data-theme="mundial"][data-mode][data-style] :is(.btn,.seg button) { border-radius:6px !important; font:800 12px var(--mu-wide); letter-spacing:.06em; text-transform:uppercase; transition:transform .2s,box-shadow .2s; }
html.cx[data-theme="mundial"][data-mode][data-style] :is(.btn.primary,.btn.info,.seg button.active) { color:#18140a !important; border:0 !important; background:linear-gradient(180deg,#fde68a,#fbbf24 40%,#d97706) !important; box-shadow:inset 0 1px 0 #fff8,0 3px 0 #7a4a06 !important; }
html.cx[data-theme="mundial"][data-mode][data-style] :is(.btn:not(.primary):not(.info),.seg button:not(.active)) { color:var(--mu-ink); border:1px solid #fbbf2455 !important; background:#ffffff08 !important; box-shadow:none !important; }
html.cx[data-theme="mundial"][data-mode][data-style] :is(.btn,.seg button):hover { transform:translateY(-2px); }
html.cx[data-theme="mundial"][data-mode][data-style] :is(input,select,textarea) { border-radius:6px !important; border:1px solid #fbbf2455; background:var(--mu-panel); }
html.cx[data-theme="mundial"][data-mode][data-style] :is(.card,.stat,.panel):not(.station-card):not(.add-card) { border-radius:10px !important; border:1px solid #fbbf2430 !important; background:var(--mu-panel) !important; box-shadow:0 20px 34px -26px #000 !important; }

/* ---------- dashboard: player cards ---------- */
html.cx[data-theme="mundial"][data-mode][data-style] .station-grid { display:flex !important; flex-wrap:wrap; justify-content:center; gap:34px !important; padding:30px 0 50px; perspective:1000px; counter-reset:mu; }
html.cx[data-theme="mundial"][data-mode][data-style] .station-grid > .station-card {
  counter-increment:mu; width:250px; height:350px; min-height:0; box-sizing:border-box; padding:88px 20px 20px !important; text-align:center; position:relative; overflow:hidden; color:#18140a;
  border:4px solid transparent !important; border-radius:18px 18px 18px 18px !important; display:flex !important; flex-direction:column; align-items:center;
  clip-path:polygon(0 8%,12% 0,88% 0,100% 8%,100% 100%,0 100%);
  background:linear-gradient(115deg,transparent 30%,#ffffff55 45%,transparent 60%) 0 0/200% 100% padding-box,radial-gradient(80% 50% at 50% 20%,#fff7d6,#fbbf24 55%,#b45309) padding-box,linear-gradient(135deg,#fde68a,#b45309,#fde68a) border-box !important;
  box-shadow:0 26px 40px -18px #000d !important;
  animation:mu-deal .9s cubic-bezier(.22,1,.36,1) backwards,mu-holo 4s linear 1s infinite; transition:transform .6s cubic-bezier(.22,1,.36,1);
}
html.cx[data-theme="mundial"][data-mode][data-style] .station-grid > .station-card:nth-child(2) { animation-delay:.15s,1.15s; background:linear-gradient(115deg,transparent 30%,#ffffff55 45%,transparent 60%) 0 0/200% 100% padding-box,radial-gradient(80% 50% at 50% 20%,#f1f5f9,#cbd5e1 55%,#64748b) padding-box,linear-gradient(135deg,#f1f5f9,#64748b,#f1f5f9) border-box !important; }
/* Rating + position, top-left */
html.cx[data-theme="mundial"][data-mode][data-style] .station-grid > .station-card::before { content:"9" counter(mu) "\A ST" !important; white-space:pre; display:block !important; position:absolute; inset:auto; left:18px; top:20px; text-align:center; font:900 30px/0.9 var(--mu-wide); font-stretch:115%; color:#18140a; background:none !important; opacity:1; height:auto; width:auto; }
html.cx[data-theme="mundial"][data-mode][data-style] .station-grid > .station-card::after { content:"⛽" !important; display:grid !important; place-items:center; position:absolute; inset:auto; right:20px; top:24px; width:44px; height:44px; font-size:26px; background:none !important; opacity:1; }
html.cx[data-theme="mundial"][data-mode][data-style] .station-card :is(h3,.sc-bal-num,.ov-v,.gp) { color:#18140a !important; }
html.cx[data-theme="mundial"][data-mode][data-style] .station-card :is(.meta,.sc-bal-label,.sc-bal-suffix,.ov-l,.muted) { color:#5a3a06 !important; }
html.cx[data-theme="mundial"][data-mode][data-style] .station-card .sc-head { flex-direction:column; align-items:center; gap:0; margin:0; }
html.cx[data-theme="mundial"][data-mode][data-style] .station-card h3 { font:900 18px/1.05 var(--mu-wide); font-stretch:112%; text-transform:uppercase; }
html.cx[data-theme="mundial"][data-mode][data-style] .station-card .meta { font:700 11px var(--font); letter-spacing:.08em; text-transform:uppercase; }
html.cx[data-theme="mundial"][data-mode][data-style] .station-card .sc-badge { display:none; }
html.cx[data-theme="mundial"][data-mode][data-style] .station-card .sc-balance::after { display:none !important; }
html.cx[data-theme="mundial"][data-mode][data-style] .station-card .sc-balance { background:none !important; border:0 !important; box-shadow:none !important; padding:8px 0; margin:10px 0 6px; border-block:2px solid #18140a33 !important; border-radius:0; width:100%; }
html.cx[data-theme="mundial"][data-mode][data-style] .station-card .sc-bal-num { font-size:24px; }
html.cx[data-theme="mundial"][data-mode][data-style] .station-card .sc-bal-label { font:800 9px var(--font); letter-spacing:.2em; text-transform:uppercase; }
html.cx[data-theme="mundial"][data-mode][data-style] .station-card .sc-prices { display:grid; grid-template-columns:repeat(3,1fr); gap:4px; margin:6px 0 0; width:100%; }
html.cx[data-theme="mundial"][data-mode][data-style] .station-card .gp { font:900 12px var(--mu-wide); border:0 !important; background:transparent !important; padding:0; border-radius:0; }
html.cx[data-theme="mundial"][data-mode][data-style] .station-card .sc-rows { display:none; }
html.cx[data-theme="mundial"][data-mode][data-style] .station-grid > .add-card { width:150px; height:210px; min-height:0; padding:0 !important; align-self:center; display:flex !important; align-items:center; justify-content:center; text-align:center; border-radius:12px !important; border:2px dashed #fbbf2488 !important; background:transparent !important; box-shadow:none !important; font:800 12px var(--mu-wide); text-transform:uppercase; color:var(--mu-g2) !important; clip-path:polygon(0 8%,12% 0,88% 0,100% 8%,100% 100%,0 100%); }
html.cx[data-theme="mundial"][data-mode][data-style] .station-grid > .add-card::before,html.cx[data-theme="mundial"][data-mode][data-style] .station-grid > .add-card::after { display:none !important; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) { html.cx[data-theme="mundial"][data-mode][data-style] .station-grid > .station-card:hover { transform:rotateY(-14deg) rotateX(6deg) translateY(-6px); } }

/* ---------- station page: scoreboard ---------- */
.sn-mundial { margin:8px 0 22px; }
.sn-mundial .mu-secs { display:flex; flex-wrap:wrap; gap:2px; padding:4px; border-radius:8px; background:#0a0a0c; box-shadow:inset 0 0 0 2px #2a2a30,0 10px 20px -12px #000; width:max-content; max-width:100%; }
html.cx .sn-mundial button.mu-sec { display:flex; align-items:center; gap:8px; padding:10px 16px; border-radius:5px; font:800 13px var(--mu-wide); letter-spacing:.06em; text-transform:uppercase; color:#8a8476; background:#141418; transition:background .2s,color .2s; }
.sn-mundial .mu-ico { font-size:14px; }
html.cx .sn-mundial button.mu-sec:hover { color:#fffdfa; }
html.cx .sn-mundial button.mu-sec[aria-selected="true"] { color:#18140a; background:linear-gradient(180deg,#fde68a,#fbbf24 45%,#d97706); }
.sn-mundial .mu-tray { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; counter-reset:mupg; }
.sn-mundial .mu-tray.in > * { animation:mu-deal .5s cubic-bezier(.22,1,.36,1) calc(var(--n) * 45ms) backwards; }
html.cx .sn-mundial button.mu-pg { counter-increment:mupg; display:inline-flex; align-items:center; gap:8px; padding:8px 14px 8px 8px; border-radius:8px; font:700 13px var(--font); color:var(--mu-ink); background:var(--mu-panel); border:1px solid #fbbf2433; transition:transform .25s,border-color .2s; }
html.cx .sn-mundial button.mu-pg::before { content:counter(mupg); display:grid; place-items:center; width:26px; height:26px; border-radius:6px; font:900 13px var(--mu-wide); color:#18140a; background:linear-gradient(180deg,#fde68a,#d97706); }
html.cx .sn-mundial button.mu-pg > span { display:none; }
html.cx .sn-mundial button.mu-pg:hover { transform:translateY(-2px); border-color:var(--mu-g2); }
html.cx .sn-mundial button.mu-pg[aria-current="page"] { color:#18140a; background:linear-gradient(180deg,#fde68a,#fbbf24); border-color:transparent; }
html.cx .sn-mundial button.mu-pg[aria-current="page"]::before { color:#fbbf24; background:#18140a; }

html.cx[data-theme="mundial"][data-mode][data-style] .month-bar .title { font-size:22px; text-transform:uppercase; }
html.cx[data-theme="mundial"][data-mode][data-style] .stat .label { font:800 10px var(--font); letter-spacing:.16em; text-transform:uppercase; color:var(--mu-dim); }
html.cx[data-theme="mundial"][data-mode][data-style] .stat .value { font-size:24px; }
html.cx[data-theme="mundial"][data-mode][data-style] .station-stats-side .stat { border-left:0 !important; }
html.cx[data-theme="mundial"][data-mode][data-style] .cal .dow { font:800 11px var(--mu-wide); letter-spacing:.12em; color:var(--mu-dim); }
html.cx[data-theme="mundial"][data-mode][data-style] .cal .day:not(.empty) { border-radius:8px !important; border:1px solid #fbbf2422 !important; background:var(--mu-panel) !important; box-shadow:none !important; }
html.cx[data-theme="mundial"][data-mode][data-style] .cal .day.empty { background:transparent !important; border:0 !important; box-shadow:none !important; }
html.cx[data-theme="mundial"][data-mode][data-style] .cal .day .badge { border-radius:4px; background:#fbbf2422; color:inherit; border:0; }
html.cx[data-theme="mundial"][data-mode][data-style] .cal .day.today { background:radial-gradient(80% 60% at 50% 20%,#fff7d6,#fbbf24 55%,#b45309) !important; border-color:transparent !important; }
html.cx[data-theme="mundial"][data-mode][data-style] .cal .day.today :is(.num,.muted,div,span) { color:#18140a !important; }

/* =====================================================================================================
   SKY — aviation. Plus Jakarta Sans + DM Mono; boarding-pass stations with a perforated stub, route
   line and barcode; a split-flap departures board for sections; flight-row pages; clouds and a contrail.
   ===================================================================================================== */
html.cx[data-theme="sky"] {
  --sy-b:#0284c7; --sy-l:#38bdf8; --sy-sun:#fbbf24; --sy-ink:#f0f9ff; --sy-dim:#8fb2cc; --sy-panel:color-mix(in srgb,#0b1c36 82%,transparent);
  --font:"Plus Jakarta Sans",system-ui,sans-serif; --sy-mono:"DM Mono",ui-monospace,monospace; --radius:14px; --radius-btn:10px;
}
html.cx[data-theme="sky"][data-mode="light"] { --sy-ink:#0b2540; --sy-dim:#4a6a85; --sy-panel:#fffffff0; }
html.cx[data-theme="sky"][data-mode][data-style] body { font-family:var(--font); background:linear-gradient(180deg,#061122,#0b2a4e 60%,#164e7a); }
html.cx[data-theme="sky"][data-mode="light"][data-style] body { background:linear-gradient(180deg,#bfe3ff,#e3f3ff 60%,#f0f8ff); }
html.cx[data-theme="sky"] #cx-art :is(.cx-a,.cx-b) { width:300px; height:90px; border-radius:60px; background:#ffffff14; filter:blur(2px); box-shadow:60px -26px 0 10px #ffffff10,130px -4px 0 0 #ffffff12; animation:sy-cloud 70s linear infinite; }
html.cx[data-theme="sky"] #cx-art .cx-a { top:20vh; left:-320px; }
html.cx[data-theme="sky"] #cx-art .cx-b { top:62vh; left:-320px; transform:scale(.7); animation-duration:95s; animation-delay:-40s; }
html.cx[data-theme="sky"] #cx-art .cx-c { top:14vh; left:-30vw; width:30vw; height:2px; background:linear-gradient(90deg,transparent,#ffffff66); border-radius:2px; animation:sy-contrail 22s linear infinite; }
html.cx[data-theme="sky"] #cx-art .cx-c::after { content:"✈"; position:absolute; right:-14px; top:-10px; font-size:16px; color:#fff; }
html.cx[data-theme="sky"][data-mode="light"] #cx-art :is(.cx-a,.cx-b) { background:#ffffffd9; box-shadow:60px -26px 0 10px #ffffffcc,130px -4px 0 0 #ffffffd9; }
html.cx[data-theme="sky"][data-mode="light"] #cx-art .cx-c::after { color:#0b2540; }
@keyframes sy-cloud { to { transform:translateX(calc(100vw + 640px)); } }
@keyframes sy-contrail { to { transform:translateX(150vw) translateY(-6vh); } }
@keyframes sy-flap { 0% { transform:rotateX(90deg); } 60% { transform:rotateX(-12deg); } 100% { transform:none; } }
@keyframes sy-print { from { clip-path:inset(0 0 100% 0); } to { clip-path:inset(0); } }

html.cx[data-theme="sky"][data-mode][data-style] :is(h1,h2,h3,h4,.brand) { font-family:var(--font); font-weight:800; letter-spacing:-.02em; }
html.cx[data-theme="sky"][data-mode][data-style] .section-head h2 { font-size:clamp(32px,3.2vw,50px); color:var(--sy-ink); }
html.cx[data-theme="sky"][data-mode][data-style] .section-head h2::after { content:" ✈"; color:var(--sy-sun); font-size:.6em; }
html.cx[data-theme="sky"][data-mode][data-style] :is(.stat .value,.sc-bal-num,.month-bar .title,.cal .day .num) { font-family:var(--font); font-weight:800; }

html.cx[data-theme="sky"][data-mode][data-style] :is(.btn,.seg button) { border-radius:10px !important; font:700 13px var(--font); text-transform:none; letter-spacing:0; transition:transform .3s,box-shadow .3s; }
html.cx[data-theme="sky"][data-mode][data-style] :is(.btn.primary,.btn.info,.seg button.active) { color:#fff !important; border:0 !important; background:linear-gradient(180deg,#0ea5e9,#0284c7) !important; box-shadow:0 6px 16px -6px #0284c7 !important; }
html.cx[data-theme="sky"][data-mode][data-style] :is(.btn:not(.primary):not(.info),.seg button:not(.active)) { color:var(--sy-ink); border:1px solid #38bdf844 !important; background:#ffffff0c !important; box-shadow:none !important; }
html.cx[data-theme="sky"][data-mode][data-style] :is(.btn,.seg button):hover { transform:translateY(-2px); }
html.cx[data-theme="sky"][data-mode][data-style] :is(input,select,textarea) { border-radius:10px !important; border:1px solid #38bdf844; background:var(--sy-panel); }
html.cx[data-theme="sky"][data-mode][data-style] :is(.card,.stat,.panel):not(.station-card):not(.add-card) { border-radius:14px !important; border:1px solid #38bdf82a !important; background:var(--sy-panel) !important; backdrop-filter:blur(10px); box-shadow:0 20px 34px -26px #000 !important; }

/* ---------- dashboard: boarding passes ---------- */
html.cx[data-theme="sky"][data-mode][data-style] .station-grid { display:flex !important; flex-wrap:wrap; justify-content:center; gap:30px !important; padding:30px 0 50px; }
html.cx[data-theme="sky"][data-mode][data-style] .station-grid > .station-card {
  width:380px; min-height:0; box-sizing:border-box; padding:54px 108px 18px 22px !important; position:relative; color:#0b2540;
  border:0 !important; border-radius:14px !important;
  -webkit-mask:radial-gradient(11px at calc(100% - 86px) 0,#0000 98%,#000) top/100% 51% no-repeat,radial-gradient(11px at calc(100% - 86px) 100%,#0000 98%,#000) bottom/100% 51% no-repeat;
  mask:radial-gradient(11px at calc(100% - 86px) 0,#0000 98%,#000) top/100% 51% no-repeat,radial-gradient(11px at calc(100% - 86px) 100%,#0000 98%,#000) bottom/100% 51% no-repeat;
  background:linear-gradient(90deg,transparent calc(100% - 86px),#e0f2fe calc(100% - 86px)),linear-gradient(#0284c7,#0284c7) 0 0/100% 36px no-repeat,#ffffff !important;
  box-shadow:none !important; filter:drop-shadow(0 16px 20px #0008);
  animation:sy-print .8s cubic-bezier(.22,1,.36,1) backwards; transition:transform .5s cubic-bezier(.22,1,.36,1);
}
html.cx[data-theme="sky"][data-mode][data-style] .station-grid > .station-card:nth-child(2) { animation-delay:.15s; background:linear-gradient(90deg,transparent calc(100% - 86px),#fef3c7 calc(100% - 86px)),linear-gradient(#f59e0b,#f59e0b) 0 0/100% 36px no-repeat,#ffffff !important; }
html.cx[data-theme="sky"][data-mode][data-style] .station-grid > .station-card::before { content:"BOARDING PASS  ·  ✈  ·  GATE 1" !important; display:block !important; position:absolute; inset:auto; left:20px; top:11px; width:auto; height:auto; font:500 11px var(--sy-mono); letter-spacing:.12em; color:#fff; background:none !important; opacity:1; }
html.cx[data-theme="sky"][data-mode][data-style] .station-grid > .station-card::after { content:"" !important; display:block !important; position:absolute; inset:auto; right:18px; top:52px; bottom:20px; width:50px; height:auto; opacity:1; background:repeating-linear-gradient(0deg,#0b2540 0 2px,transparent 2px 4px,#0b2540 4px 5px,transparent 5px 8px,#0b2540 8px 11px,transparent 11px 12px) !important; }
html.cx[data-theme="sky"][data-mode][data-style] .station-card :is(h3,.sc-bal-num,.ov-v,.gp) { color:#0b2540 !important; }
html.cx[data-theme="sky"][data-mode][data-style] .station-card :is(.meta,.sc-bal-label,.sc-bal-suffix,.ov-l,.muted) { color:#4a6a85 !important; }
html.cx[data-theme="sky"][data-mode][data-style] .station-card .sc-head { margin-bottom:6px; }
html.cx[data-theme="sky"][data-mode][data-style] .station-card h3, html.cx[data-theme="mundial"][data-mode][data-style] .station-card h3 { text-shadow:none !important; }
html.cx[data-theme="sky"][data-mode][data-style] .stat::after { display:none !important; }
html.cx[data-theme="sky"][data-mode][data-style] .station-card h3 { font-size:20px; }
html.cx[data-theme="sky"][data-mode][data-style] .station-card .meta { font:500 11px var(--sy-mono); text-transform:uppercase; }
html.cx[data-theme="sky"][data-mode][data-style] .station-card .sc-badge { display:none; }
html.cx[data-theme="sky"][data-mode][data-style] .station-card .sc-balance::after { display:none !important; }
html.cx[data-theme="sky"][data-mode][data-style] .station-card .sc-balance { background:none !important; border:0 !important; box-shadow:none !important; padding:6px 0; margin:0; border-top:1px dashed #0b254033 !important; border-radius:0; }
html.cx[data-theme="sky"][data-mode][data-style] .station-card .sc-bal-num { font-size:26px; }
html.cx[data-theme="sky"][data-mode][data-style] .station-card .sc-bal-label { font:500 10px var(--sy-mono); letter-spacing:.12em; text-transform:uppercase; }
html.cx[data-theme="sky"][data-mode][data-style] .station-card .sc-prices { gap:12px; margin:4px 0 0; }
html.cx[data-theme="sky"][data-mode][data-style] .station-card .gp { font:500 12px var(--sy-mono); border:0 !important; background:transparent !important; padding:0; border-radius:0; }
html.cx[data-theme="sky"][data-mode][data-style] .station-card .sc-rows { display:none; }
html.cx[data-theme="sky"][data-mode][data-style] .station-grid > .add-card { width:150px; height:110px; min-height:0; padding:0 !important; align-self:center; display:flex !important; align-items:center; justify-content:center; text-align:center; border-radius:14px !important; border:2px dashed #38bdf866 !important; background:transparent !important; box-shadow:none !important; font:500 12px var(--sy-mono); text-transform:uppercase; color:var(--sy-l) !important; }
html.cx[data-theme="sky"][data-mode][data-style] .station-grid > .add-card::before,html.cx[data-theme="sky"][data-mode][data-style] .station-grid > .add-card::after { display:none !important; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) { html.cx[data-theme="sky"][data-mode][data-style] .station-grid > .station-card:hover { transform:translateY(-6px) rotate(-1deg); } }

/* ---------- station page: departures board ---------- */
.sn-sky { margin:8px 0 22px; padding:14px 16px; border-radius:10px; background:#0a0f17; box-shadow:inset 0 0 0 2px #1c2533,0 14px 26px -16px #000; }
.sn-sky .sy-secs { display:flex; flex-wrap:wrap; gap:6px; }
.sn-sky .sy-secs::before { content:"DEPARTURES"; flex-basis:100%; font:500 11px var(--sy-mono); letter-spacing:.3em; color:var(--sy-sun); margin-bottom:6px; }
html.cx .sn-sky button.sy-sec { display:flex; align-items:center; gap:8px; padding:8px 12px; border-radius:4px; font:500 14px var(--sy-mono); text-transform:uppercase; letter-spacing:.06em; color:#e5e7eb; background:linear-gradient(180deg,#1b2230 0 49%,#0e131c 51% 100%); box-shadow:inset 0 0 0 1px #000; perspective:300px; }
.sn-sky .sy-ico { color:var(--sy-sun); font-size:12px; }
html.cx .sn-sky button.sy-sec[aria-selected="true"] { color:#0a0f17; background:linear-gradient(180deg,#fde68a 0 49%,#fbbf24 51%); }
html.cx .sn-sky button.sy-sec[aria-selected="true"] .sy-ico { color:#0a0f17; }
html.cx .sn-sky button.sy-sec[aria-selected="true"] b { display:inline-block; animation:sy-flap .5s cubic-bezier(.22,1,.36,1); }
.sn-sky .sy-tray { display:grid; grid-template-columns:1fr; gap:0; margin-top:12px; }
.sn-sky .sy-tray.in > * { animation:sy-flap .45s cubic-bezier(.22,1,.36,1) calc(var(--n) * 60ms) backwards; }
html.cx .sn-sky button.sy-pg { display:flex; align-items:center; gap:12px; padding:8px 6px; font:500 14px var(--sy-mono); text-transform:uppercase; color:#e5e7eb; border-bottom:1px solid #1c2533; }
html.cx .sn-sky button.sy-pg::after { content:"ON TIME"; margin-left:auto; font-size:11px; color:#4ade80; letter-spacing:.1em; }
html.cx .sn-sky button.sy-pg:hover { background:#1b2230; }
html.cx .sn-sky button.sy-pg[aria-current="page"] { color:var(--sy-sun); }
html.cx .sn-sky button.sy-pg[aria-current="page"]::after { content:"BOARDING"; color:var(--sy-sun); animation:tm-blink 1s steps(1) infinite; }

html.cx[data-theme="sky"][data-mode][data-style] .month-bar .title { font-size:24px; }
html.cx[data-theme="sky"][data-mode][data-style] .stat .label { font:500 10px var(--sy-mono); letter-spacing:.12em; text-transform:uppercase; color:var(--sy-dim); }
html.cx[data-theme="sky"][data-mode][data-style] .stat .value { font-size:24px; }
html.cx[data-theme="sky"][data-mode][data-style] .station-stats-side .stat { border-left:0 !important; }
html.cx[data-theme="sky"][data-mode][data-style] .cal .dow { font:500 11px var(--sy-mono); letter-spacing:.14em; color:var(--sy-dim); }
html.cx[data-theme="sky"][data-mode][data-style] .cal .day:not(.empty) { border-radius:12px !important; border:1px solid #38bdf822 !important; background:var(--sy-panel) !important; box-shadow:none !important; }
html.cx[data-theme="sky"][data-mode][data-style] .cal .day.empty { background:transparent !important; border:0 !important; box-shadow:none !important; }
html.cx[data-theme="sky"][data-mode][data-style] .cal .day .badge { border-radius:4px; background:#38bdf81c; color:inherit; border:0; font-family:var(--sy-mono); }
html.cx[data-theme="sky"][data-mode][data-style] .cal .day.today { background:linear-gradient(#0284c7,#0284c7) 0 0/100% 10px no-repeat,#fff !important; border-color:transparent !important; }
html.cx[data-theme="sky"][data-mode][data-style] .cal .day.today :is(.num,.muted,div,span) { color:#0b2540 !important; }

/* =====================================================================================================
   SOLUNA — sun and moon. Outfit; split day/night stations (a golden sun half and a starry moon half
   divided by a soft horizon, the sun and moon trading places on hover); moon-phase sections; a slow
   celestial cycle behind the page — the sun sets as the moon rises.
   ===================================================================================================== */
html.cx[data-theme="soluna"] {
  --so-sun:#f59e0b; --so-moon:#c084fc; --so-sky:#38bdf8; --so-ink:#f8fafc; --so-dim:#a8b2c8; --so-panel:color-mix(in srgb,#0f172a 80%,transparent);
  --font:"Outfit",system-ui,sans-serif; --radius:22px; --radius-btn:999px;
}
html.cx[data-theme="soluna"][data-mode="light"] { --so-ink:#1a1530; --so-dim:#5a5a78; --so-panel:#fffffff0; }
html.cx[data-theme="soluna"][data-mode][data-style] body { font-family:var(--font); background:linear-gradient(90deg,#1a1408 0,#070b16 50%,#0b0720); }
html.cx[data-theme="soluna"][data-mode="light"][data-style] body { background:linear-gradient(90deg,#fff6e0,#fffdf5 50%,#f0ebff); }
html.cx[data-theme="soluna"] #cx-art .cx-a { width:26vmax; height:26vmax; left:-8vmax; top:8vh; border-radius:50%; background:radial-gradient(circle,#fde68a,#f59e0b 40%,#f59e0b00 70%); opacity:.4; animation:so-sun 40s ease-in-out infinite alternate; }
html.cx[data-theme="soluna"] #cx-art .cx-b { width:16vmax; height:16vmax; right:4vw; top:12vh; border-radius:50%; background:radial-gradient(circle at 36% 36%,#f5f3ff,#c4b5fd 60%,#7c3aed); box-shadow:0 0 60px #a78bfa66,inset -18px -14px 0 #1e1b4b66; opacity:.45; animation:so-moon 40s ease-in-out infinite alternate; }
html.cx[data-theme="soluna"] #cx-art .cx-c { inset:0 0 0 50%; background:radial-gradient(circle,#fff 0 1px,transparent 1.5px) 0 0/89px 73px,radial-gradient(circle,#ddd6fe 0 1px,transparent 1.5px) 41px 37px/131px 97px; opacity:.6; animation:gx-twinkle 5s ease-in-out infinite alternate; }
html.cx[data-theme="soluna"][data-mode="light"] #cx-art .cx-c { display:none; }
@keyframes so-sun { from { transform:translateY(0); } to { transform:translateY(40vh); opacity:.2; } }
@keyframes so-moon { from { transform:translateY(30vh); opacity:.2; } to { transform:translateY(0); } }
@keyframes so-rise { from { transform:translateY(30px) rotate(-6deg); opacity:0; } to { transform:none; opacity:1; } }

html.cx[data-theme="soluna"][data-mode][data-style] :is(h1,h2,h3,h4,.brand) { font-family:var(--font); font-weight:700; letter-spacing:-.02em; }
html.cx[data-theme="soluna"][data-mode][data-style] .section-head h2 { -webkit-text-fill-color:transparent; filter:none !important; text-shadow:none !important; opacity:1 !important; }
html.cx[data-theme="soluna"][data-mode][data-style] .section-head h2 { font-size:clamp(34px,3.4vw,54px); font-weight:800; background:linear-gradient(90deg,#fde68a,#f59e0b 35%,#c084fc 65%,#38bdf8); -webkit-background-clip:text; background-clip:text; color:transparent; }
html.cx[data-theme="soluna"][data-mode][data-style] .section-head h2::after { content:" ☀︎☾"; font-size:.5em; -webkit-text-fill-color:#fbbf24; }
html.cx[data-theme="soluna"][data-mode][data-style] :is(.stat .value,.sc-bal-num,.month-bar .title,.cal .day .num) { font-family:var(--font); font-weight:600; }

html.cx[data-theme="soluna"][data-mode][data-style] :is(.btn,.seg button) { border-radius:999px !important; font:600 13px var(--font); text-transform:none; letter-spacing:0; transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .3s; }
html.cx[data-theme="soluna"][data-mode][data-style] :is(.btn.primary,.btn.info,.seg button.active) { color:#1a1530 !important; border:0 !important; background:linear-gradient(90deg,#fbbf24 0 50%,#c4b5fd 50%) !important; box-shadow:0 8px 18px -8px #a78bfa !important; }
html.cx[data-theme="soluna"][data-mode][data-style] :is(.btn:not(.primary):not(.info),.seg button:not(.active)) { color:var(--so-ink); border:1px solid #c4b5fd44 !important; background:#ffffff08 !important; box-shadow:none !important; }
html.cx[data-theme="soluna"][data-mode][data-style] :is(.btn,.seg button):hover { transform:translateY(-2px); }
html.cx[data-theme="soluna"][data-mode][data-style] :is(input,select,textarea) { border-radius:14px !important; border:1px solid #c4b5fd44; background:var(--so-panel); }
html.cx[data-theme="soluna"][data-mode][data-style] :is(.card,.stat,.panel):not(.station-card):not(.add-card) { border-radius:22px !important; border:1px solid #c4b5fd26 !important; background:var(--so-panel) !important; backdrop-filter:blur(14px); box-shadow:0 20px 40px -28px #000 !important; }

/* ---------- dashboard: day/night cards ---------- */
html.cx[data-theme="soluna"][data-mode][data-style] .station-grid { display:flex !important; flex-wrap:wrap; justify-content:center; gap:34px !important; padding:30px 0 50px; }
html.cx[data-theme="soluna"][data-mode][data-style] .station-grid > .station-card {
  width:320px; min-height:0; box-sizing:border-box; padding:84px 26px 22px !important; position:relative; overflow:hidden; color:#fff; text-align:center;
  border:0 !important; border-radius:28px !important;
  background:radial-gradient(circle,#fff 0 1px,transparent 1.5px) 0 0/43px 37px,linear-gradient(105deg,#fbbf24 0,#f59e0b 35%,#f97316 46%,#4c1d95 54%,#1e1b4b 70%,#0b0720) !important;
  background-size:43px 37px,100% 100% !important; background-repeat:repeat,no-repeat !important;
  box-shadow:inset 0 1px 0 #ffffff40,0 26px 40px -20px #000c !important;
  animation:so-rise .9s cubic-bezier(.22,1,.36,1) backwards;
}
html.cx[data-theme="soluna"][data-mode][data-style] .station-grid > .station-card:nth-child(2) { animation-delay:.15s; }
/* The sun and the moon, trading places on hover */
html.cx[data-theme="soluna"][data-mode][data-style] .station-grid > .station-card::before { content:"" !important; display:block !important; position:absolute; inset:auto; left:34px; top:18px; width:46px; height:46px; border-radius:50%; opacity:1; background:radial-gradient(circle,#fffbeb,#fde68a 50%,#f59e0b) !important; box-shadow:0 0 30px #fde68a; transition:transform 1s cubic-bezier(.22,1,.36,1); }
html.cx[data-theme="soluna"][data-mode][data-style] .station-grid > .station-card::after { content:"" !important; display:block !important; position:absolute; inset:auto; right:34px; top:20px; width:40px; height:40px; border-radius:50%; opacity:1; background:radial-gradient(circle at 36% 36%,#f5f3ff,#c4b5fd 70%) !important; box-shadow:inset -10px -6px 0 #1e1b4b88,0 0 24px #a78bfa88; transition:transform 1s cubic-bezier(.22,1,.36,1); }
html.cx[data-theme="soluna"][data-mode][data-style] .station-card :is(h3,.meta,.sc-bal-num,.sc-bal-label,.sc-bal-suffix,.ov-l,.ov-v,.gp,.muted) { color:#fff !important; text-shadow:0 1px 6px #0007; }
html.cx[data-theme="soluna"][data-mode][data-style] .station-card .sc-head { flex-direction:column; align-items:center; gap:0; }
html.cx[data-theme="soluna"][data-mode][data-style] .station-card h3 { font-size:20px; }
html.cx[data-theme="soluna"][data-mode][data-style] .station-card .sc-badge { display:none; }
html.cx[data-theme="soluna"][data-mode][data-style] .station-card .sc-balance::after { display:none !important; }
html.cx[data-theme="soluna"][data-mode][data-style] .station-card .sc-balance { background:#00000026 !important; border:0 !important; box-shadow:none !important; padding:8px 12px; margin:10px 0 8px; border-radius:16px; backdrop-filter:blur(6px); }
html.cx[data-theme="soluna"][data-mode][data-style] .station-card .sc-bal-num { font-size:28px; }
html.cx[data-theme="soluna"][data-mode][data-style] .station-card .sc-bal-label { font:600 9px var(--font); letter-spacing:.2em; text-transform:uppercase; }
html.cx[data-theme="soluna"][data-mode][data-style] .station-card .sc-prices { justify-content:center; gap:6px; margin:2px 0; }
html.cx[data-theme="soluna"][data-mode][data-style] .station-card .gp { font:600 11px var(--font); border:0 !important; background:#ffffff26 !important; border-radius:999px; padding:2px 8px; }
html.cx[data-theme="soluna"][data-mode][data-style] .station-card .sc-rows { display:none; }
html.cx[data-theme="soluna"][data-mode][data-style] .station-grid > .add-card { width:130px; height:130px; min-height:0; padding:0 !important; align-self:center; display:flex !important; align-items:center; justify-content:center; text-align:center; border-radius:50% !important; border:0 !important; background:linear-gradient(90deg,#fbbf2433 0 50%,#c4b5fd33 50%) !important; box-shadow:inset 0 0 0 2px #c4b5fd55 !important; font:600 12px var(--font); color:var(--so-ink) !important; }
html.cx[data-theme="soluna"][data-mode][data-style] .station-grid > .add-card::before,html.cx[data-theme="soluna"][data-mode][data-style] .station-grid > .add-card::after { display:none !important; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  html.cx[data-theme="soluna"][data-mode][data-style] .station-grid > .station-card:hover::before { transform:translateX(206px); }
  html.cx[data-theme="soluna"][data-mode][data-style] .station-grid > .station-card:hover::after { transform:translateX(-206px); }
}

/* ---------- station page: moon phases ---------- */
.sn-soluna { margin:8px 0 22px; }
.sn-soluna .sl2-secs { display:flex; flex-wrap:wrap; gap:10px 26px; padding:10px 18px; border-radius:999px; background:linear-gradient(90deg,#fbbf2414,#c4b5fd14); border:1px solid #c4b5fd26; width:max-content; max-width:100%; }
html.cx .sn-soluna button.sl2-sec { display:flex; flex-direction:column; align-items:center; gap:4px; font:600 12px var(--font); color:var(--so-dim); transition:color .3s; }
.sn-soluna .sl2-ico { font-size:24px; filter:grayscale(.4); transition:transform .6s cubic-bezier(.22,1,.36,1),filter .3s; }
html.cx .sn-soluna button.sl2-sec:hover .sl2-ico { transform:rotate(-30deg) scale(1.1); filter:none; }
html.cx .sn-soluna button.sl2-sec[aria-selected="true"] { color:var(--so-ink); }
html.cx .sn-soluna button.sl2-sec[aria-selected="true"] .sl2-ico { filter:drop-shadow(0 0 10px var(--c)); transform:scale(1.25); }
.sn-soluna .sl2-tray { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.sn-soluna .sl2-tray.in > * { animation:so-rise .5s cubic-bezier(.22,1,.36,1) calc(var(--n) * 45ms) backwards; }
html.cx .sn-soluna button.sl2-pg { display:inline-flex; align-items:center; gap:8px; padding:9px 18px; border-radius:999px; font:500 13px var(--font); color:var(--so-ink); border:1px solid color-mix(in srgb,var(--c) 40%,transparent); background:#ffffff08; transition:transform .35s cubic-bezier(.22,1,.36,1); }
html.cx .sn-soluna button.sl2-pg:hover { transform:translateY(-2px); }
html.cx .sn-soluna button.sl2-pg[aria-current="page"] { color:#1a1530; font-weight:700; background:linear-gradient(90deg,#fbbf24 0 50%,#c4b5fd 50%); border-color:transparent; }

html.cx[data-theme="soluna"][data-mode][data-style] .month-bar .title { font-size:24px; }
html.cx[data-theme="soluna"][data-mode][data-style] .stat .label { font:600 10px var(--font); letter-spacing:.16em; text-transform:uppercase; color:var(--so-dim); }
html.cx[data-theme="soluna"][data-mode][data-style] .stat .value { font-size:24px; }
html.cx[data-theme="soluna"][data-mode][data-style] :is(.station-stats-side .stat) { border-left:0 !important; }
html.cx[data-theme="soluna"][data-mode][data-style] .stat::after { display:none !important; }
html.cx[data-theme="soluna"][data-mode][data-style] .cal .dow { font:600 11px var(--font); letter-spacing:.16em; color:var(--so-dim); }
html.cx[data-theme="soluna"][data-mode][data-style] .cal .day:not(.empty) { border-radius:18px !important; border:1px solid #c4b5fd1c !important; background:var(--so-panel) !important; box-shadow:none !important; }
html.cx[data-theme="soluna"][data-mode][data-style] .cal .day.empty { background:transparent !important; border:0 !important; box-shadow:none !important; }
html.cx[data-theme="soluna"][data-mode][data-style] .cal .day .badge { border-radius:999px; background:#c4b5fd1c; color:inherit; border:0; }
html.cx[data-theme="soluna"][data-mode][data-style] .cal .day.today { background:linear-gradient(105deg,#fbbf24 0 46%,#4c1d95 54%,#1e1b4b) !important; border-color:transparent !important; }
html.cx[data-theme="soluna"][data-mode][data-style] .cal .day.today :is(.num,.muted,div,span) { color:#fff !important; }

/* =====================================================================================================
   SUPER MARIO — the overworld. Press Start 2P + Rubik; brick-and-? block stations that bump when you point
   (with a coin popping out); ? block sections; coin-chip pages; scrolling clouds and green hills.
   ===================================================================================================== */
html.cx[data-theme="mario"] {
  --mr-red:#e52521; --mr-blue:#2675d8; --mr-yellow:#fcd116; --mr-green:#43b047; --mr-brick:#c84c0c; --mr-ink:#f1f6ff; --mr-dim:#a9bbd6; --mr-panel:color-mix(in srgb,#182a43 88%,transparent);
  --font:"Rubik",system-ui,sans-serif; --mr-pixel:"Press Start 2P",monospace; --radius:4px; --radius-btn:4px;
}
html.cx[data-theme="mario"][data-mode="light"] { --mr-ink:#10233f; --mr-dim:#4a6080; --mr-panel:#fffffff0; }
html.cx[data-theme="mario"][data-mode][data-style] body { font-family:var(--font); background:linear-gradient(180deg,#101c32,#1a3260 70%,#24477a); }
html.cx[data-theme="mario"][data-mode="light"][data-style] body { background:linear-gradient(180deg,#5c94fc,#8cb6ff 70%,#b8d4ff); }
html.cx[data-theme="mario"] #cx-art .cx-a { left:0; right:0; bottom:0; height:56px; background:linear-gradient(180deg,#43b047 0 10px,#c84c0c 10px) 0 0/100% 100%,linear-gradient(90deg,#00000033 2px,transparent 2px) 0 10px/28px 100%; background-blend-mode:multiply; image-rendering:pixelated; opacity:.9; }
html.cx[data-theme="mario"] #cx-art .cx-b { left:-50%; width:200%; bottom:56px; height:140px; background:radial-gradient(120px 110px at 160px 140px,#43b047 98%,transparent) 0 0/620px 100% repeat-x,radial-gradient(80px 70px at 470px 140px,#2e8b3a 98%,transparent) 0 0/620px 100% repeat-x; opacity:.75; animation:mr-scroll 60s linear infinite; }
html.cx[data-theme="mario"] #cx-art .cx-c { left:-50%; width:200%; top:12vh; height:60px; background:radial-gradient(28px 22px at 40px 34px,#fff 98%,transparent) 0 0/420px 100% repeat-x,radial-gradient(36px 28px at 76px 28px,#fff 98%,transparent) 0 0/420px 100% repeat-x,radial-gradient(28px 22px at 112px 34px,#fff 98%,transparent) 0 0/420px 100% repeat-x; opacity:.6; animation:mr-scroll 90s linear infinite reverse; }
@keyframes mr-scroll { to { transform:translateX(25%); } }
@keyframes mr-bump { 0% { transform:translateY(0); } 30% { transform:translateY(-14px); } 60% { transform:translateY(2px); } 100% { transform:translateY(0); } }
@keyframes mr-coin { 0% { transform:translateY(0) scaleX(1); opacity:0; } 20% { opacity:1; } 50% { transform:translateY(-46px) scaleX(-1); } 100% { transform:translateY(-30px) scaleX(1); opacity:0; } }
@keyframes mr-spin { 0%,100% { transform:scaleX(1); } 50% { transform:scaleX(.2); } }

html.cx[data-theme="mario"][data-mode][data-style] :is(h1,h2,h3,h4,.brand) { font-family:var(--font); font-weight:800; }
html.cx[data-theme="mario"][data-mode][data-style] .section-head h2 { font:400 clamp(20px,2.2vw,32px)/1.4 var(--mr-pixel); color:#fff; text-shadow:3px 3px 0 #000; }
html.cx[data-theme="mario"][data-mode][data-style] .section-head h2::after { content:" ×99"; color:var(--mr-yellow); font-size:.55em; }
html.cx[data-theme="mario"][data-mode][data-style] :is(.stat .value,.sc-bal-num,.month-bar .title) { font-family:var(--font); font-weight:800; }
html.cx[data-theme="mario"][data-mode][data-style] .cal .day .num { font:400 13px var(--mr-pixel); }

html.cx[data-theme="mario"][data-mode][data-style] :is(.btn,.seg button) { border-radius:4px !important; font:800 13px var(--font); text-transform:uppercase; letter-spacing:.04em; border:3px solid #000 !important; transition:transform .12s; }
html.cx[data-theme="mario"][data-mode][data-style] :is(.btn.primary,.btn.info,.seg button.active) { color:#fff !important; background:var(--mr-red) !important; box-shadow:inset -3px -3px 0 #8a0f0c,inset 3px 3px 0 #ff7a76,0 4px 0 #000 !important; text-shadow:2px 2px 0 #000; }
html.cx[data-theme="mario"][data-mode][data-style] :is(.btn:not(.primary):not(.info),.seg button:not(.active)) { color:#fff; background:var(--mr-blue) !important; box-shadow:inset -3px -3px 0 #123c78,inset 3px 3px 0 #6aa6ff,0 4px 0 #000 !important; text-shadow:1px 1px 0 #000; }
html.cx[data-theme="mario"][data-mode][data-style] :is(.btn,.seg button):active { transform:translateY(4px); box-shadow:none !important; }
html.cx[data-theme="mario"][data-mode][data-style] :is(input,select,textarea) { border-radius:4px !important; border:3px solid #000; background:#fff; color:#10233f; }
html.cx[data-theme="mario"][data-mode][data-style] :is(.card,.stat,.panel):not(.station-card):not(.add-card) { border-radius:6px !important; border:3px solid #000 !important; background:var(--mr-panel) !important; box-shadow:5px 5px 0 #000 !important; }

/* ---------- dashboard: ? blocks ---------- */
html.cx[data-theme="mario"][data-mode][data-style] .station-grid { display:flex !important; flex-wrap:wrap; justify-content:center; gap:40px !important; padding:60px 0 80px; }
html.cx[data-theme="mario"][data-mode][data-style] .station-grid > .station-card {
  width:290px; min-height:0; box-sizing:border-box; padding:24px 22px !important; position:relative; overflow:visible; color:#3a1e00; text-align:center;
  border:4px solid #000 !important; border-radius:6px !important;
  background:radial-gradient(circle,#7a4100 0 3px,transparent 3.5px) 8px 8px/calc(100% - 16px) calc(100% - 16px),linear-gradient(180deg,#ffd84a,#fcb216) !important;
  background-repeat:space,no-repeat !important;
  box-shadow:inset -6px -6px 0 #c47a00,inset 6px 6px 0 #ffe98a,6px 6px 0 #000 !important;
}
html.cx[data-theme="mario"][data-mode][data-style] .station-grid > .station-card:nth-child(2) { background:linear-gradient(90deg,#00000044 2px,transparent 2px) 0 0/36px 18px,linear-gradient(0deg,#00000044 2px,transparent 2px) 0 0/36px 18px,linear-gradient(180deg,#e0742a,#c84c0c) !important; color:#fff; box-shadow:inset -6px -6px 0 #7a2a00,inset 6px 6px 0 #ff9a5a,6px 6px 0 #000 !important; }
html.cx[data-theme="mario"][data-mode][data-style] .station-grid > .station-card::before { content:"" !important; display:block !important; position:absolute; inset:auto; left:50%; top:-8px; width:26px; height:30px; margin-left:-13px; border-radius:50%; opacity:0; background:radial-gradient(ellipse at 40% 40%,#fff6a0,#fcd116 50%,#c47a00) !important; border:3px solid #000; }
html.cx[data-theme="mario"][data-mode][data-style] .station-grid > .station-card::after { display:none !important; }
html.cx[data-theme="mario"][data-mode][data-style] .station-card :is(h3,.meta,.sc-bal-num,.sc-bal-label,.sc-bal-suffix,.ov-l,.ov-v,.gp,.muted) { color:inherit !important; }
html.cx[data-theme="mario"][data-mode][data-style] .station-grid > .station-card:nth-child(2) :is(h3,.meta,.sc-bal-num,.sc-bal-label,.sc-bal-suffix,.gp) { text-shadow:2px 2px 0 #000; }
html.cx[data-theme="mario"][data-mode][data-style] .station-card .sc-head { flex-direction:column; align-items:center; gap:4px; }
html.cx[data-theme="mario"][data-mode][data-style] .station-card h3 { font:400 13px/1.5 var(--mr-pixel); }
html.cx[data-theme="mario"][data-mode][data-style] .station-card .meta { font:800 11px var(--font); text-transform:uppercase; }
html.cx[data-theme="mario"][data-mode][data-style] .station-card .sc-badge { display:none; }
html.cx[data-theme="mario"][data-mode][data-style] .station-card .sc-balance::after { display:none !important; }
html.cx[data-theme="mario"][data-mode][data-style] .station-card .sc-balance { background:#00000022 !important; border:3px solid #000 !important; box-shadow:none !important; padding:8px; margin:10px 0 8px; border-radius:4px; }
html.cx[data-theme="mario"][data-mode][data-style] .station-card .sc-bal-num { font-size:24px; }
html.cx[data-theme="mario"][data-mode][data-style] .station-card .sc-bal-label { font:400 8px var(--mr-pixel); }
html.cx[data-theme="mario"][data-mode][data-style] .station-card .sc-prices { justify-content:center; gap:6px; margin:4px 0 0; }
html.cx[data-theme="mario"][data-mode][data-style] .station-card .gp { font:800 12px var(--font); border:2px solid #000 !important; background:#fff !important; color:#000 !important; border-radius:3px; padding:2px 6px; text-shadow:none !important; }
html.cx[data-theme="mario"][data-mode][data-style] .station-card .sc-rows { display:none; }
html.cx[data-theme="mario"][data-mode][data-style] .station-grid > .add-card { width:120px; height:130px; min-height:0; padding:0 0 30px !important; align-self:flex-end; display:flex !important; align-items:center; justify-content:center; text-align:center; border:4px solid #000 !important; border-radius:6px 6px 0 0 !important; background:linear-gradient(90deg,#2e8b3a 0 15%,#6ad46a 15% 30%,#43b047 30% 85%,#2e8b3a 85%) !important; box-shadow:0 -16px 0 -4px #43b047,0 -16px 0 0 #000 !important; font:400 9px/1.6 var(--mr-pixel); color:#fff !important; text-shadow:2px 2px 0 #000; }
html.cx[data-theme="mario"][data-mode][data-style] .station-grid > .add-card::before,html.cx[data-theme="mario"][data-mode][data-style] .station-grid > .add-card::after { display:none !important; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  html.cx[data-theme="mario"][data-mode][data-style] .station-grid > .station-card:hover { animation:mr-bump .35s steps(6) 1; }
  html.cx[data-theme="mario"][data-mode][data-style] .station-grid > .station-card:hover::before { animation:mr-coin .7s ease-out 1; }
}

/* ---------- station page: ? blocks + coins ---------- */
.sn-mario { margin:8px 0 22px; }
.sn-mario .mr-secs { display:flex; flex-wrap:wrap; gap:0; }
html.cx .sn-mario button.mr-sec { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; width:92px; height:72px; font:800 11px var(--font); text-transform:uppercase; color:#3a1e00;
  border:3px solid #000; margin-right:-3px; background:linear-gradient(180deg,#ffd84a,#fcb216); box-shadow:inset -4px -4px 0 #c47a00,inset 4px 4px 0 #ffe98a; }
.sn-mario .mr-ico { font:400 18px var(--mr-pixel); color:#fff; text-shadow:2px 2px 0 #7a4100; }
html.cx .sn-mario button.mr-sec:hover { animation:mr-bump .3s steps(5) 1; }
html.cx .sn-mario button.mr-sec[aria-selected="true"] { background:#a0623a; color:#fff; box-shadow:inset -4px -4px 0 #5a2a10,inset 4px 4px 0 #c88a5a; }
html.cx .sn-mario button.mr-sec[aria-selected="true"] .mr-ico { color:#fcd116; text-shadow:2px 2px 0 #000; }
.sn-mario .mr-tray { display:flex; flex-wrap:wrap; gap:12px; margin-top:16px; }
.sn-mario .mr-tray.in > * { animation:mr-bump .4s steps(6) calc(var(--n) * 60ms) backwards; }
html.cx .sn-mario button.mr-pg { display:inline-flex; align-items:center; gap:10px; padding:8px 14px 8px 8px; border-radius:4px; font:800 13px var(--font); color:#fff; background:var(--mr-blue); border:3px solid #000; box-shadow:0 4px 0 #000; text-shadow:1px 1px 0 #000; transition:transform .12s; }
html.cx .sn-mario button.mr-pg::before { content:""; width:16px; height:20px; border-radius:50%; border:2px solid #000; background:radial-gradient(ellipse at 40% 40%,#fff6a0,#fcd116 50%,#c47a00); animation:mr-spin 1.2s steps(4) infinite; }
html.cx .sn-mario button.mr-pg > span { display:none; }
html.cx .sn-mario button.mr-pg:active { transform:translateY(4px); box-shadow:none; }
html.cx .sn-mario button.mr-pg[aria-current="page"] { background:var(--mr-red); }

html.cx[data-theme="mario"][data-mode][data-style] .month-bar .title { font:400 16px var(--mr-pixel); }
html.cx[data-theme="mario"][data-mode][data-style] .stat .label { font:400 8px var(--mr-pixel); color:var(--mr-yellow); text-transform:uppercase; }
html.cx[data-theme="mario"][data-mode][data-style] .stat .value { font-size:24px; }
html.cx[data-theme="mario"][data-mode][data-style] .station-stats-side .stat { border-left:3px solid #000 !important; }
html.cx[data-theme="mario"][data-mode][data-style] .stat::after { display:none !important; }
html.cx[data-theme="mario"][data-mode][data-style] .cal .dow { font:400 9px var(--mr-pixel); color:#fff; text-shadow:2px 2px 0 #000; }
html.cx[data-theme="mario"][data-mode][data-style] .cal .day:not(.empty) { border-radius:4px !important; border:3px solid #000 !important; background:linear-gradient(90deg,#0000002e 2px,transparent 2px) 0 0/30px 15px,linear-gradient(0deg,#0000002e 2px,transparent 2px) 0 0/30px 15px,#c84c0c !important; box-shadow:inset -4px -4px 0 #7a2a00,inset 4px 4px 0 #ff9a5a !important; color:#fff; }
html.cx[data-theme="mario"][data-mode][data-style] .cal .day:not(.empty) :is(.num,.muted,div,span) { text-shadow:1px 1px 0 #000; }
html.cx[data-theme="mario"][data-mode][data-style] .cal .day.empty { background:transparent !important; border:0 !important; box-shadow:none !important; }
html.cx[data-theme="mario"][data-mode][data-style] .cal .day .badge { border-radius:2px; background:#000a; color:#fff; border:0; }
html.cx[data-theme="mario"][data-mode][data-style] .cal .day.today { background:linear-gradient(180deg,#ffd84a,#fcb216) !important; box-shadow:inset -4px -4px 0 #c47a00,inset 4px 4px 0 #ffe98a !important; }
html.cx[data-theme="mario"][data-mode][data-style] .cal .day.today :is(.num,.muted,div,span) { color:#3a1e00 !important; text-shadow:none; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) { html.cx[data-theme="mario"][data-mode][data-style] .cal .day:not(.empty):hover { animation:mr-bump .3s steps(5) 1; } }

/* =====================================================================================================
   BUBBLY — iridescence. Fredoka; round soap-bubble stations with a thin-film rainbow rim that swirls, a
   glossy highlight and a gentle float; bubble sections; iridescent pill pages; bubbles drifting up.
   ===================================================================================================== */
html.cx[data-theme="bubbly"] { --bu-ink:#eafaff; --bu-dim:#9cc4d4; --bu-panel:color-mix(in srgb,#122836 70%,transparent); --font:"Fredoka","Rubik",system-ui,sans-serif; }
html.cx[data-theme="bubbly"][data-mode="light"] { --bu-ink:#0b2a3a; --bu-dim:#4a7080; --bu-panel:#ffffffcc; }
@property --bu-a { syntax:'<angle>'; inherits:true; initial-value:0deg; }
@keyframes bu-film { to { --bu-a:360deg; } }
@keyframes bu-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-10px); } }
@keyframes bu-blow { from { transform:scale(.2); opacity:0; } 70% { transform:scale(1.06); opacity:1; } to { transform:scale(1); } }
html.cx[data-theme="bubbly"] #cx-art :is(.cx-a,.cx-b,.cx-c) { bottom:-80px; width:60px; height:60px; border-radius:50%; background:radial-gradient(circle at 32% 28%,#ffffffcc 0 4px,transparent 8px),conic-gradient(from 0deg,#2fd0e044,#ef8fd644,#8f9cff44,#7ee8c844,#2fd0e044); -webkit-mask:radial-gradient(circle,transparent 60%,#000 62%); mask:radial-gradient(circle,transparent 60%,#000 62%); animation:hy-rise 14s ease-in infinite; }
html.cx[data-theme="bubbly"] #cx-art .cx-a { left:12vw; }
html.cx[data-theme="bubbly"] #cx-art .cx-b { left:58vw; width:40px; height:40px; animation-delay:-6s; animation-duration:18s; }
html.cx[data-theme="bubbly"] #cx-art .cx-c { left:84vw; width:80px; height:80px; animation-delay:-11s; animation-duration:20s; }
html.cx[data-theme="bubbly"][data-mode][data-style] .section-head h2 { font:700 clamp(34px,3.4vw,54px) var(--font); background:conic-gradient(from var(--bu-a),#2fd0e0,#ef8fd6,#8f9cff,#7ee8c8,#2fd0e0); -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent; animation:bu-film 8s linear infinite; }

html.cx[data-theme="bubbly"][data-mode][data-style] .station-grid { display:flex !important; flex-wrap:wrap; justify-content:center; gap:40px !important; padding:40px 0 60px; }
html.cx[data-theme="bubbly"][data-mode][data-style] .station-grid > .station-card {
  width:280px !important; height:280px; min-height:0; box-sizing:border-box; padding:46px 34px !important; text-align:center; position:relative; overflow:visible; color:var(--bu-ink);
  border:0 !important; border-radius:50% !important; display:flex !important; flex-direction:column; align-items:center; justify-content:center;
  background:radial-gradient(30% 22% at 32% 24%,#ffffffb0,transparent 70%),radial-gradient(10% 7% at 70% 78%,#ffffff70,transparent 70%),radial-gradient(circle,#2fd0e00f 0 60%,#8f9cff22 85%,#ef8fd633) !important;
  box-shadow:inset 0 0 30px #2fd0e033,0 20px 40px -24px #000a !important; backdrop-filter:blur(4px) saturate(1.3);
  animation:bu-blow .9s cubic-bezier(.34,1.56,.64,1) backwards,bu-float 5s ease-in-out .9s infinite !important;
}
html.cx[data-theme="bubbly"][data-mode][data-style] .station-grid > .station-card:nth-child(2) { animation-delay:.2s,1.6s !important; }
/* The swirling thin-film rim */
html.cx[data-theme="bubbly"][data-mode][data-style] .station-grid > .station-card::before { content:"" !important; display:block !important; position:absolute; inset:0; height:auto; width:auto; border-radius:50%; opacity:1; z-index:0; pointer-events:none; background:conic-gradient(from var(--bu-a),#2fd0e0,#ef8fd6,#8f9cff,#7ee8c8,#f7b267,#2fd0e0) !important; -webkit-mask:radial-gradient(circle,transparent 66%,#000 69%,#000 71%,transparent 72%); mask:radial-gradient(circle,transparent 66%,#000 69%,#000 71%,transparent 72%); animation:bu-film 6s linear infinite; filter:blur(.4px); }
html.cx[data-theme="bubbly"][data-mode][data-style] .station-grid > .station-card::after { display:none !important; }
html.cx[data-theme="bubbly"][data-mode][data-style] .station-card :is(h3,.sc-bal-num,.ov-v,.gp) { color:var(--bu-ink) !important; }
html.cx[data-theme="bubbly"][data-mode][data-style] .station-card :is(.meta,.sc-bal-label,.sc-bal-suffix,.ov-l,.muted) { color:var(--bu-dim) !important; }
html.cx[data-theme="bubbly"][data-mode][data-style] .station-card .sc-head { flex-direction:column; align-items:center; gap:0; margin:0; }
html.cx[data-theme="bubbly"][data-mode][data-style] .station-card h3 { font:600 18px/1.1 var(--font); }
html.cx[data-theme="bubbly"][data-mode][data-style] .station-card .sc-badge { display:none; }
html.cx[data-theme="bubbly"][data-mode][data-style] .station-card .sc-balance::after { display:none !important; }
html.cx[data-theme="bubbly"][data-mode][data-style] .station-card .sc-balance { background:none !important; border:0 !important; box-shadow:none !important; padding:6px 0 2px; margin:0; }
html.cx[data-theme="bubbly"][data-mode][data-style] .station-card .sc-bal-num { font:600 25px var(--font); }
html.cx[data-theme="bubbly"][data-mode][data-style] .station-card .sc-bal-label { font:600 8px var(--font); letter-spacing:.2em; text-transform:uppercase; }
html.cx[data-theme="bubbly"][data-mode][data-style] .station-card .sc-prices { justify-content:center; gap:4px; margin:6px 0 0; }
html.cx[data-theme="bubbly"][data-mode][data-style] .station-card .gp { font:600 10px var(--font); border:0 !important; background:#ffffff1c !important; border-radius:999px; padding:2px 7px; }
html.cx[data-theme="bubbly"][data-mode][data-style] .station-card .sc-rows { display:none !important; }
html.cx[data-theme="bubbly"][data-mode][data-style] .station-grid > .add-card { width:110px; height:110px; min-height:0; padding:0 !important; align-self:center; display:flex !important; align-items:center; justify-content:center; text-align:center; border-radius:50% !important; border:1.5px dashed #8f9cff88 !important; background:transparent !important; box-shadow:none !important; font:600 12px var(--font); color:var(--bu-dim) !important; }
html.cx[data-theme="bubbly"][data-mode][data-style] .station-grid > .add-card::before,html.cx[data-theme="bubbly"][data-mode][data-style] .station-grid > .add-card::after { display:none !important; }

.sn-bubbly { margin:8px 0 22px; }
.sn-bubbly .bu-secs { display:flex; flex-wrap:wrap; align-items:flex-end; gap:12px 20px; padding:6px 4px; }
html.cx .sn-bubbly button.bu-sec { display:flex; flex-direction:column; align-items:center; gap:6px; font:600 12px var(--font); color:var(--bu-dim); animation:bu-blow .7s cubic-bezier(.34,1.56,.64,1) calc(var(--n) * 60ms) backwards; }
.sn-bubbly .bu-ico { position:relative; display:grid; place-items:center; width:50px; height:50px; border-radius:50%; font-size:20px; background:radial-gradient(30% 24% at 32% 26%,#ffffffb0,transparent 70%),radial-gradient(circle,transparent 60%,color-mix(in srgb,var(--c) 40%,transparent)); box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--c) 70%,#fff); transition:transform .6s cubic-bezier(.34,1.56,.64,1); }
html.cx .sn-bubbly button.bu-sec:hover .bu-ico { transform:translateY(-6px) scale(1.06); }
html.cx .sn-bubbly button.bu-sec[aria-selected="true"] { color:var(--bu-ink); }
html.cx .sn-bubbly button.bu-sec[aria-selected="true"] .bu-ico { transform:translateY(-10px) scale(1.2); box-shadow:inset 0 0 0 2px #fff,0 0 20px color-mix(in srgb,var(--c) 70%,transparent); }
.sn-bubbly .bu-tray { display:flex; flex-wrap:wrap; gap:10px; margin-top:8px; }
.sn-bubbly .bu-tray.in > * { animation:bu-blow .5s cubic-bezier(.34,1.56,.64,1) calc(var(--n) * 45ms) backwards; }
html.cx .sn-bubbly button.bu-pg { display:inline-flex; align-items:center; gap:8px; padding:9px 18px; border-radius:999px; font:600 13px var(--font); color:var(--bu-ink); background:linear-gradient(var(--bu-panel),var(--bu-panel)) padding-box,conic-gradient(from var(--bu-a),#2fd0e0,#ef8fd6,#8f9cff,#7ee8c8,#2fd0e0) border-box; border:1.5px solid transparent; animation:bu-film 6s linear infinite; transition:transform .5s cubic-bezier(.34,1.56,.64,1); }
html.cx .sn-bubbly button.bu-pg:hover { transform:translateY(-3px) scale(1.04); }
html.cx .sn-bubbly button.bu-pg[aria-current="page"] { color:#0b2a3a; background:conic-gradient(from var(--bu-a),#7ee8f0,#f5b8e6,#b8c0ff,#a8f0d8,#7ee8f0) padding-box,#fff border-box; }

/* =====================================================================================================
   CLOUDY — skyforms. Quicksand; fluffy cumulus stations built from soft puffs that drift; little cloud
   sections; puffy cloud-chip pages; a sky of slow clouds behind the page.
   ===================================================================================================== */
html.cx[data-theme="cloudy"] { --cd-ink:#eef5ff; --cd-dim:#9fb8d6; --font:"Quicksand","Fredoka",system-ui,sans-serif; }
html.cx[data-theme="cloudy"][data-mode="light"] { --cd-ink:#1d3557; --cd-dim:#4a6a90; }
@keyframes cd-drift { 0%,100% { transform:translateX(0); } 50% { transform:translateX(12px); } }
@keyframes cd-form { from { transform:scale(.7); opacity:0; filter:blur(10px); } to { transform:none; opacity:1; filter:none; } }
html.cx[data-theme="cloudy"][data-mode][data-style] .section-head h2 { font:700 clamp(34px,3.4vw,54px) var(--font); color:var(--cd-ink); }
html.cx[data-theme="cloudy"][data-mode][data-style] .station-grid { display:flex !important; flex-wrap:wrap; justify-content:center; gap:60px 50px !important; padding:70px 0 60px; }
html.cx[data-theme="cloudy"][data-mode][data-style] .station-grid > .station-card {
  width:300px !important; min-height:0; box-sizing:border-box; padding:30px 30px 24px !important; text-align:center; position:relative; overflow:visible; color:#1d3557;
  border:0 !important; border-radius:80px !important; background:#ffffff !important;
  box-shadow:inset 0 -14px 24px #d6e6fa,0 22px 40px -22px #0b1e3a !important;
  animation:cd-form 1s cubic-bezier(.22,1,.36,1) backwards,cd-drift 9s ease-in-out 1s infinite !important;
}
html.cx[data-theme="cloudy"][data-mode][data-style] .station-grid > .station-card:nth-child(2) { animation-delay:.2s,1.6s !important; }
/* Puffs on top of the cloud */
html.cx[data-theme="cloudy"][data-mode][data-style] .station-grid > .station-card::before { content:"" !important; display:block !important; position:absolute; inset:auto; left:40px; top:-46px; width:110px; height:110px; border-radius:50%; background:#fff !important; opacity:1; z-index:-1; box-shadow:84px 4px 0 14px #fff; }
html.cx[data-theme="cloudy"][data-mode][data-style] .station-grid > .station-card::after { content:"" !important; display:block !important; position:absolute; inset:auto; right:24px; top:-20px; width:70px; height:70px; border-radius:50%; background:#fff !important; opacity:1; z-index:-1; }
html.cx[data-theme="cloudy"][data-mode][data-style] .station-card > * { position:relative; z-index:1; }
html.cx[data-theme="cloudy"][data-mode][data-style] .station-card :is(h3,.sc-bal-num,.ov-v,.gp) { color:#1d3557 !important; }
html.cx[data-theme="cloudy"][data-mode][data-style] .station-card :is(.meta,.sc-bal-label,.sc-bal-suffix,.ov-l,.muted) { color:#5a7aa0 !important; }
html.cx[data-theme="cloudy"][data-mode][data-style] .station-card .sc-head { flex-direction:column; align-items:center; gap:0; }
html.cx[data-theme="cloudy"][data-mode][data-style] .station-card h3 { font:700 21px var(--font); }
html.cx[data-theme="cloudy"][data-mode][data-style] .station-card .sc-badge { display:none; }
html.cx[data-theme="cloudy"][data-mode][data-style] .station-card .sc-balance::after { display:none !important; }
html.cx[data-theme="cloudy"][data-mode][data-style] .station-card .sc-balance { background:none !important; border:0 !important; box-shadow:none !important; padding:6px 0; margin:0; }
html.cx[data-theme="cloudy"][data-mode][data-style] .station-card .sc-bal-num { font:700 28px var(--font); color:#3a7bd5 !important; }
html.cx[data-theme="cloudy"][data-mode][data-style] .station-card .sc-bal-label { font:700 9px var(--font); letter-spacing:.2em; text-transform:uppercase; }
html.cx[data-theme="cloudy"][data-mode][data-style] .station-card .sc-prices { justify-content:center; gap:6px; margin:4px 0 0; }
html.cx[data-theme="cloudy"][data-mode][data-style] .station-card .gp { font:700 11px var(--font); border:0 !important; background:#e8f1fd !important; border-radius:999px; padding:3px 9px; }
html.cx[data-theme="cloudy"][data-mode][data-style] .station-card .sc-rows { display:none !important; }
html.cx[data-theme="cloudy"][data-mode][data-style] .station-grid > .add-card { width:150px; height:80px; min-height:0; padding:0 !important; align-self:center; display:flex !important; align-items:center; justify-content:center; text-align:center; border-radius:40px !important; border:2px dashed #9fc8f5 !important; background:#ffffff14 !important; box-shadow:none !important; font:700 13px var(--font); color:var(--cd-ink) !important; }
html.cx[data-theme="cloudy"][data-mode][data-style] .station-grid > .add-card::before,html.cx[data-theme="cloudy"][data-mode][data-style] .station-grid > .add-card::after { display:none !important; }

.sn-cloudy { margin:8px 0 22px; }
.sn-cloudy .cd-secs { display:flex; flex-wrap:wrap; gap:12px 16px; padding:14px 4px 6px; }
html.cx .sn-cloudy button.cd-sec { position:relative; display:flex; align-items:center; gap:8px; padding:10px 20px; border-radius:999px; font:700 14px var(--font); color:#1d3557; background:#ffffffe6; box-shadow:inset 0 -6px 10px #d6e6fa,0 10px 18px -12px #0b1e3a; transition:transform .6s cubic-bezier(.22,1,.36,1); animation:cd-form .8s cubic-bezier(.22,1,.36,1) calc(var(--n) * 70ms) backwards; }
html.cx .sn-cloudy button.cd-sec::before { content:""; position:absolute; left:18%; top:-12px; width:30px; height:30px; border-radius:50%; background:#ffffffe6; z-index:-1; box-shadow:22px 2px 0 -4px #ffffffe6; }
html.cx .sn-cloudy button.cd-sec:hover { transform:translateY(-4px); }
html.cx .sn-cloudy button.cd-sec[aria-selected="true"] { color:#fff; background:linear-gradient(180deg,#7fb4ef,#3a7bd5); box-shadow:0 10px 20px -10px #3a7bd5; }
html.cx .sn-cloudy button.cd-sec[aria-selected="true"]::before { background:#7fb4ef; box-shadow:22px 2px 0 -4px #7fb4ef; }
.sn-cloudy .cd-tray { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.sn-cloudy .cd-tray.in > * { animation:cd-form .55s cubic-bezier(.22,1,.36,1) calc(var(--n) * 45ms) backwards; }
html.cx .sn-cloudy button.cd-pg { display:inline-flex; align-items:center; gap:8px; padding:9px 18px; border-radius:999px; font:700 13px var(--font); color:var(--cd-ink); background:#ffffff1c; border:1.5px solid #ffffff44; backdrop-filter:blur(8px); transition:transform .4s cubic-bezier(.22,1,.36,1),background .3s; }
html.cx .sn-cloudy button.cd-pg:hover { transform:translateY(-3px); background:#ffffff33; }
html.cx .sn-cloudy button.cd-pg[aria-current="page"] { color:#1d3557; background:#fff; border-color:#fff; }

/* =====================================================================================================
   BUBBLEGUM — pink bubblegum. Fredoka + Quicksand; glossy bubblegum stations; a candy-jar page picker;
   marshmallow calendar; puffy candy buttons that squish; sprinkles and cotton-candy clouds drifting by.
   ===================================================================================================== */
html.cx[data-theme="rose"] {
  --cc-pink:#f472b6; --cc-lilac:#c084fc; --cc-mint:#2dd4bf; --cc-lemon:#facc15;
  --cc-ink:#ffe7f6; --cc-shadow:#5b1240;
  --font:"Quicksand","Avenir Next Rounded",system-ui,sans-serif;
  --cc-display:"Fredoka","Quicksand",system-ui,sans-serif;
  --radius:22px; --radius-btn:999px; --radius-input:16px;
}
html.cx[data-theme="rose"][data-mode="light"] { --cc-ink:#5a1840; --cc-shadow:#e7a8cc; }
html.cx[data-theme="rose"][data-mode][data-style] body {
  font-family:var(--font); font-weight:500;
  background:radial-gradient(1200px 700px at 85% -10%,#4a1240 0,transparent 60%),radial-gradient(900px 600px at -10% 110%,#20124a 0,transparent 60%),#1d0a17;
}
html.cx[data-theme="rose"][data-mode="light"][data-style] body {
  background:radial-gradient(1100px 700px at 90% -10%,#ffd6ec 0,transparent 60%),radial-gradient(900px 600px at -10% 110%,#e3d4ff 0,transparent 60%),#fdeaf5;
}
/* Art: sprinkles + two cotton-candy clouds drifting. */
html.cx[data-theme="rose"] #cx-art .cx-a {
  inset:-10%; opacity:.55;
  background:
    radial-gradient(circle,#f9a8d4 0 2.5px,transparent 3.5px) 0 0/173px 191px,
    radial-gradient(circle,#5eead4 0 2px,transparent 3px) 61px 97px/211px 167px,
    radial-gradient(circle,#fde68a 0 2.5px,transparent 3.5px) 127px 41px/239px 229px,
    radial-gradient(circle,#d8b4fe 0 2px,transparent 3px) 89px 151px/263px 197px;
  -webkit-mask:radial-gradient(75% 65% at 50% 40%,#0006 30%,#000 100%); mask:radial-gradient(75% 65% at 50% 40%,#0006 30%,#000 100%);
  animation:cc-sprinkle 70s linear infinite;
}
html.cx[data-theme="rose"] #cx-art :is(.cx-b,.cx-c) { width:52vmax; height:34vmax; border-radius:50%; filter:blur(60px); opacity:.42; }
html.cx[data-theme="rose"] #cx-art .cx-b { left:-12vmax; top:30vh; background:radial-gradient(closest-side,#f9a8d4,#f472b6 55%,transparent); animation:cc-drift 26s ease-in-out infinite alternate; }
html.cx[data-theme="rose"] #cx-art .cx-c { right:-14vmax; top:-8vh; background:radial-gradient(closest-side,#ddd6fe,#c084fc 55%,transparent); animation:cc-drift 32s ease-in-out -9s infinite alternate-reverse; }
html.cx[data-theme="rose"][data-mode="light"] #cx-art .cx-a { opacity:.35; }
html.cx[data-theme="rose"][data-mode="light"] #cx-art :is(.cx-b,.cx-c) { opacity:.55; }
@keyframes cc-sprinkle { to { transform:translateY(-382px); } }
@keyframes cc-drift { from { transform:translate(0,0) scale(1); } to { transform:translate(14vmax,-6vmax) scale(1.12); } }

/* Type */
html.cx[data-theme="rose"][data-mode][data-style] :is(h1,h2,h3,h4,.brand) { font-family:var(--cc-display); font-weight:600; letter-spacing:0; }
html.cx[data-theme="rose"][data-mode][data-style] .section-head h2 {
  font-size:clamp(34px,3.4vw,52px); font-weight:700; line-height:1.05;
  background:linear-gradient(100deg,#f9a8d4,#f472b6 30%,#c084fc 62%,#5eead4); -webkit-background-clip:text; background-clip:text; color:transparent;
  filter:drop-shadow(0 3px 0 var(--cc-shadow));
}
html.cx[data-theme="rose"][data-mode="light"][data-style] .section-head h2 { background-image:linear-gradient(100deg,#db2777,#a855f7 55%,#0d9488); }
html.cx[data-theme="rose"][data-mode][data-style] :is(.stat .value,.sc-bal-num,.cal .day .num,.month-bar .title) { font-family:var(--cc-display); font-weight:600; }

/* Buttons: puffy candy that squishes. */
html.cx[data-theme="rose"][data-mode][data-style] :is(.btn,.seg button,.tab) {
  border-radius:999px; font-family:var(--cc-display); font-weight:600; letter-spacing:.01em; text-transform:none;
  border:0; transition:transform .35s cubic-bezier(.34,1.56,.64,1),filter .2s,box-shadow .2s;
}
html.cx[data-theme="rose"][data-mode][data-style] :is(.btn.primary,.btn.info,.seg button.active,.tab.active) {
  color:#fff !important; text-shadow:0 1px 0 #0003;
  background:linear-gradient(180deg,#f9a8d4,#f472b6 55%,#db2777) !important;
  box-shadow:inset 0 2px 0 #fff8,inset 0 -3px 0 #0002,0 4px 0 #9d174d,0 10px 18px -8px #f472b6aa !important;
}
html.cx[data-theme="rose"][data-mode][data-style] :is(.btn:not(.primary):not(.info),.seg button:not(.active)) {
  color:var(--cc-ink); background:color-mix(in srgb,#c084fc 22%,transparent) !important;
  box-shadow:inset 0 2px 0 #ffffff30,0 3px 0 color-mix(in srgb,#c084fc 45%,#000) !important;
}
html.cx[data-theme="rose"][data-mode][data-style] :is(.btn,.seg button):hover { transform:translateY(-2px) scale(1.03); filter:saturate(1.15); }
html.cx[data-theme="rose"][data-mode][data-style] :is(.btn,.seg button):active { transform:translateY(2px) scale(.96,.92); }
html.cx[data-theme="rose"][data-mode][data-style] :is(input,select,textarea) { border-radius:16px; border:2px solid color-mix(in srgb,#f472b6 45%,transparent); background:color-mix(in srgb,var(--panel) 80%,transparent); font-family:var(--font); }

/* Panels are soft marshmallow. */
html.cx[data-theme="rose"][data-mode][data-style] :is(.card,.stat,.panel):not(.station-card):not(.add-card) {
  border-radius:24px; border:2px solid color-mix(in srgb,#f472b6 26%,transparent);
  box-shadow:inset 0 2px 0 #ffffff1c,0 6px 0 color-mix(in srgb,#f472b6 18%,transparent),0 18px 30px -18px #000a;
}

/* ---------- dashboard: bubblegum stations ---------- */
html.cx[data-theme="rose"][data-mode][data-style] .station-grid {
  display:flex !important; flex-wrap:wrap; justify-content:center; align-items:center; gap:34px 38px !important; padding:26px 0 40px;
}
html.cx[data-theme="rose"][data-mode][data-style] .station-grid > .station-card {
  --gum:#f472b6; --gum-hi:#fbcfe8; --gum-lo:#be185d; --gum-ink:#fff;
  width:310px; min-height:0; padding:34px 30px 30px !important; box-sizing:border-box;
  border:0 !important; color:var(--gum-ink);
  border-radius:52% 48% 46% 54% / 46% 52% 48% 54% !important;
  background:
    radial-gradient(38% 24% at 28% 18%,#ffffffd0,#ffffff00 70%),
    radial-gradient(14% 9% at 74% 80%,#ffffff70,#ffffff00 70%),
    radial-gradient(120% 120% at 30% 20%,var(--gum-hi) 0,var(--gum) 45%,var(--gum-lo) 100%) !important;
  box-shadow:inset -10px -14px 26px #0000002e,inset 8px 10px 18px #ffffff40,0 22px 34px -16px color-mix(in srgb,var(--gum-lo) 80%,#000) !important;
  text-align:center;
  animation:cc-pop .7s cubic-bezier(.34,1.56,.64,1) backwards;
  transition:border-radius .8s cubic-bezier(.34,1.56,.64,1);
}
html.cx[data-theme="rose"][data-mode][data-style] .station-grid > .station-card:nth-child(3n+2) { --gum:#ec4899; --gum-hi:#fbcfe8; --gum-lo:#9d174d; animation-delay:.08s; }
html.cx[data-theme="rose"][data-mode][data-style] .station-grid > .station-card:nth-child(3n) { --gum:#fb7185; --gum-hi:#ffe4e6; --gum-lo:#be123c; animation-delay:.16s; }
html.cx[data-theme="rose"][data-mode][data-style] .station-card :is(h3,.meta,.sc-bal-num,.sc-bal-label,.sc-bal-suffix,.ov-l,.ov-v,.gp,.muted) { color:var(--gum-ink) !important; text-shadow:0 1px 1px #0003; }
html.cx[data-theme="rose"][data-mode][data-style] .station-card .sc-head { display:flex; flex-direction:column; align-items:center; gap:6px; margin-bottom:8px; }
html.cx[data-theme="rose"][data-mode][data-style] .station-card h3 { font-size:24px; font-weight:700; }
html.cx[data-theme="rose"][data-mode][data-style] .station-card .meta { font-size:13px; opacity:.9; }
html.cx[data-theme="rose"][data-mode][data-style] .station-card .sc-badge { order:-1; font:600 11px var(--cc-display); letter-spacing:.06em; text-transform:uppercase; color:var(--gum-lo); background:#ffffffd9; border:0; border-radius:999px; padding:3px 10px; box-shadow:0 2px 0 #0002; }
html.cx[data-theme="rose"][data-mode][data-style] .station-card .sc-balance { background:none !important; border:0 !important; box-shadow:none !important; padding:4px 0 10px; margin:0; }
html.cx[data-theme="rose"][data-mode][data-style] .station-card .sc-bal-num { font-size:30px; font-weight:700; }
html.cx[data-theme="rose"][data-mode][data-style] .station-card .sc-bal-label { font:600 10px var(--cc-display); letter-spacing:.14em; text-transform:uppercase; opacity:.85; }
html.cx[data-theme="rose"][data-mode][data-style] .station-card .sc-prices { justify-content:center; gap:6px; margin:4px 0 10px; }
html.cx[data-theme="rose"][data-mode][data-style] .station-card .gp { background:#ffffff33 !important; border:0 !important; border-radius:999px; font:600 12px var(--cc-display); padding:4px 9px; box-shadow:inset 0 1px 0 #fff6; }
html.cx[data-theme="rose"][data-mode][data-style] .station-card .sc-rows { border:0; margin:0; padding:0; }
html.cx[data-theme="rose"][data-mode][data-style] .station-card .ov-row { border:0; padding:1px 0; justify-content:center; gap:6px; font-size:12px; }
html.cx[data-theme="rose"][data-mode][data-style] .station-card .ov-row:first-child,
html.cx[data-theme="rose"][data-mode][data-style] .station-card .ov-l { display:none; }
html.cx[data-theme="rose"][data-mode][data-style] .station-card .ov-v { font:600 13px var(--cc-display); }
html.cx[data-theme="rose"][data-mode][data-style] .station-grid > :is(.station-card,.add-card)::before,
html.cx[data-theme="rose"][data-mode][data-style] .station-grid > :is(.station-card,.add-card)::after { display:none !important; }
html.cx[data-theme="rose"][data-mode][data-style] .station-grid > .add-card {
  width:120px; height:120px; min-height:0; padding:0 !important; border-radius:50% !important; display:flex !important; align-items:center; justify-content:center; text-align:center;
  font:600 13px/1.2 var(--cc-display); color:#f472b6 !important; border:3px dashed #f472b6 !important; background:color-mix(in srgb,#f472b6 16%,transparent) !important; box-shadow:none !important;
}
html.cx[data-theme="rose"][data-mode="light"][data-style] .station-grid > .add-card { color:#be185d !important; }
@keyframes cc-pop { from { transform:scale(.4); opacity:0; } 70% { transform:scale(1.06); opacity:1; } to { transform:scale(1); } }
@keyframes cc-jelly { 0% { transform:scale(1,1); } 30% { transform:scale(1.08,.92); } 50% { transform:scale(.95,1.06); } 70% { transform:scale(1.03,.97); } 100% { transform:scale(1.04,1.04); } }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  html.cx[data-theme="rose"][data-mode][data-style] .station-grid > .station-card:hover { animation:cc-jelly .6s cubic-bezier(.34,1.56,.64,1) forwards; border-radius:48% 52% 54% 46% / 54% 46% 52% 48% !important; }
  html.cx[data-theme="rose"][data-mode][data-style] .station-grid > .add-card:hover { transform:rotate(90deg) scale(1.08); transition:transform .5s cubic-bezier(.34,1.56,.64,1); }
}

/* ---------- station page: the candy jar ---------- */
.sn-rose { margin:4px 0 22px; }
.sn-rose .cc-secs { display:flex; flex-wrap:wrap; gap:14px 18px; justify-content:flex-start; padding:4px 2px 0; }
html.cx .sn-rose button.cc-sec {
  display:flex; flex-direction:column; align-items:center; gap:7px; width:84px;
  font:600 13px var(--cc-display); color:var(--cc-ink); text-align:center;
  animation:cc-pop .6s cubic-bezier(.34,1.56,.64,1) calc(var(--n) * 50ms) backwards;
}
.sn-rose .cc-ico {
  display:grid; place-items:center; width:62px; height:56px; font-size:25px;
  border-radius:50% 50% 44% 44% / 62% 62% 38% 38%;
  background:radial-gradient(40% 30% at 32% 24%,#ffffffd0,#fff0 70%),radial-gradient(120% 120% at 30% 20%,color-mix(in srgb,var(--c) 40%,#fff),var(--c) 50%,color-mix(in srgb,var(--c) 60%,#000));
  box-shadow:inset -5px -7px 12px #0003,0 6px 0 color-mix(in srgb,var(--c) 55%,#000),0 12px 18px -8px color-mix(in srgb,var(--c) 70%,#000);
  transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .3s;
}
html.cx .sn-rose button.cc-sec[aria-selected="true"] .cc-ico { transform:translateY(-6px) scale(1.12); box-shadow:inset -5px -7px 12px #0003,0 10px 0 color-mix(in srgb,var(--c) 55%,#000),0 0 0 4px color-mix(in srgb,var(--c) 35%,transparent),0 18px 22px -8px color-mix(in srgb,var(--c) 80%,#000); }
html.cx .sn-rose button.cc-sec[aria-selected="true"] b { color:var(--c); }
html.cx .sn-rose button.cc-sec:hover .cc-ico { transform:translateY(-4px) rotate(-6deg) scale(1.06); }
html.cx .sn-rose button.cc-sec:active .cc-ico { transform:scale(.9,.84); }
.sn-rose .cc-tray {
  display:flex; flex-wrap:wrap; gap:12px 22px; margin-top:18px; padding:18px 26px;
  border-radius:28px; background:color-mix(in srgb,var(--c) 14%,transparent); border:2px dashed color-mix(in srgb,var(--c) 50%,transparent);
}
.sn-rose .cc-tray.in { animation:cc-tray .45s cubic-bezier(.34,1.56,.64,1); }
@keyframes cc-tray { from { transform:translateY(-8px) scale(.98); opacity:.4; } to { transform:none; opacity:1; } }
/* A wrapped sweet: pill body with twisted wrapper ends. */
html.cx .sn-rose button.cc-pg {
  position:relative; display:inline-flex; align-items:center; gap:7px; padding:9px 18px; border-radius:999px;
  font:600 14px var(--cc-display); color:#fff; text-shadow:0 1px 0 #0003;
  background:linear-gradient(180deg,color-mix(in srgb,var(--c) 55%,#fff),var(--c) 60%,color-mix(in srgb,var(--c) 75%,#000));
  box-shadow:inset 0 2px 0 #fff7,0 4px 0 color-mix(in srgb,var(--c) 60%,#000);
  animation:cc-pop .5s cubic-bezier(.34,1.56,.64,1) calc(var(--n) * 40ms) backwards;
  transition:transform .35s cubic-bezier(.34,1.56,.64,1);
}
.sn-rose .cc-pg::before, .sn-rose .cc-pg::after {
  content:""; position:absolute; top:50%; width:14px; height:22px; background:color-mix(in srgb,var(--c) 70%,#fff); transform:translateY(-50%);
}
.sn-rose .cc-pg::before { left:-11px; clip-path:polygon(0 0,100% 35%,100% 65%,0 100%,30% 50%); }
.sn-rose .cc-pg::after { right:-11px; clip-path:polygon(100% 0,0 35%,0 65%,100% 100%,70% 50%); }
html.cx .sn-rose button.cc-pg:hover { transform:translateY(-3px) rotate(-2deg); }
html.cx .sn-rose button.cc-pg:active { transform:scale(.94,.9); }
html.cx .sn-rose button.cc-pg[aria-current="page"] { color:color-mix(in srgb,var(--c) 70%,#000); text-shadow:none; background:#fff; box-shadow:inset 0 -3px 0 color-mix(in srgb,var(--c) 30%,#fff),0 4px 0 color-mix(in srgb,var(--c) 60%,#000),0 0 0 3px var(--c); }
html.cx .sn-rose button.cc-pg[aria-current="page"]::before, html.cx .sn-rose button.cc-pg[aria-current="page"]::after { background:#fff; }

/* Month bar + stats + calendar */
html.cx[data-theme="rose"][data-mode][data-style] .month-bar .title { font-size:26px; font-weight:700; color:var(--cc-pink); }
html.cx[data-theme="rose"][data-mode][data-style] .station-stats-side { display:grid; gap:12px; }
html.cx[data-theme="rose"][data-mode][data-style] .station-stats-side .stat {
  --t:#f472b6; border:0 !important; border-radius:22px; padding:14px 16px;
  background:linear-gradient(160deg,color-mix(in srgb,var(--t) 34%,transparent),color-mix(in srgb,var(--t) 12%,transparent)) !important;
  box-shadow:inset 0 2px 0 #ffffff26,0 5px 0 color-mix(in srgb,var(--t) 40%,transparent) !important;
}
html.cx[data-theme="rose"][data-mode][data-style] .station-stats-side .stat:nth-child(5n+2) { --t:#c084fc; }
html.cx[data-theme="rose"][data-mode][data-style] .station-stats-side .stat:nth-child(5n+3) { --t:#2dd4bf; }
html.cx[data-theme="rose"][data-mode][data-style] .station-stats-side .stat:nth-child(5n+4) { --t:#fb923c; }
html.cx[data-theme="rose"][data-mode][data-style] .station-stats-side .stat:nth-child(5n+5) { --t:#facc15; }
html.cx[data-theme="rose"][data-mode][data-style] .stat .label { font:700 11px var(--cc-display); letter-spacing:.08em; }
html.cx[data-theme="rose"][data-mode][data-style] .stat .value { font-size:24px; }
html.cx[data-theme="rose"][data-mode][data-style] .cal .dow { font:700 12px var(--cc-display); letter-spacing:.1em; color:var(--cc-pink); }
html.cx[data-theme="rose"][data-mode][data-style] .cal .day:not(.empty) {
  border-radius:22px; border:0; background:color-mix(in srgb,var(--panel) 85%,#f472b6) !important;
  box-shadow:inset 0 2px 0 #ffffff1e,0 5px 0 color-mix(in srgb,#f472b6 22%,transparent) !important;
  transition:transform .35s cubic-bezier(.34,1.56,.64,1);
}
html.cx[data-theme="rose"][data-mode="light"][data-style] .cal .day:not(.empty) { background:#fff !important; box-shadow:0 5px 0 #f9c5de !important; }
html.cx[data-theme="rose"][data-mode][data-style] .cal .day .num { font-size:20px; }
html.cx[data-theme="rose"][data-mode][data-style] .cal .day.empty { background:transparent !important; box-shadow:none !important; border:0 !important; }
html.cx[data-theme="rose"][data-mode][data-style] .cal .day .badge { border-radius:999px; background:color-mix(in srgb,#c084fc 30%,transparent); color:inherit; border:0; font-family:var(--cc-display); }
html.cx[data-theme="rose"][data-mode][data-style] .cal .day.today {
  background:
    radial-gradient(circle,#fff 0 1.6px,transparent 2.4px) 6px 8px/29px 31px,
    radial-gradient(circle,#fde68a 0 1.6px,transparent 2.4px) 19px 21px/37px 33px,
    linear-gradient(160deg,#f9a8d4,#f472b6 60%,#ec4899) !important;
  box-shadow:0 5px 0 #9d174d,0 0 0 3px #f9a8d455 !important;
}
html.cx[data-theme="rose"][data-mode][data-style] .cal .day.today :is(.num,.muted,div,span) { color:#fff !important; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  html.cx[data-theme="rose"][data-mode][data-style] .cal .day:not(.empty):hover { transform:translateY(-4px) rotate(-1.5deg) scale(1.03); }
}
@media (max-width:600px) {
  html.cx[data-theme="rose"][data-mode][data-style] .station-grid > .station-card { width:min(310px,100%); }
  .sn-rose .cc-secs { gap:10px; justify-content:center; }
  html.cx .sn-rose button.cc-sec { width:62px; font-size:11px; }
  .sn-rose .cc-ico { width:50px; height:46px; font-size:21px; }
  .sn-rose .cc-tray { padding:14px 18px; gap:10px 20px; }
}

/* =====================================================================================================
   BLUEPRINT — technical drawing. Inter Tight + DM Mono; spec-sheet stations with registration marks;
   an indexed command bar; directory-style page list; blueprint dot field with a slow scan glow.
   ===================================================================================================== */
html.cx[data-theme="azure"] {
  --ix-a:#7dd3fc; --ix-b:#0ea5e9; --ix-c:#fde68a; --ix-ink:#eaf6ff; --ix-dim:#9cc3e4; --ix-line:#bae6fd3a;
  --ix-panel:color-mix(in srgb,#0b3460 82%,transparent);
  --font:"Inter Tight","Inter",system-ui,sans-serif; --ix-mono:"DM Mono",ui-monospace,Menlo,monospace;
  --radius:8px; --radius-btn:6px;
}
html.cx[data-theme="azure"][data-mode="light"] { --ix-ink:#0b3460; --ix-dim:#4a6d90; --ix-line:#0b346033; --ix-panel:#ffffffe6; --ix-a:#0369a1; --ix-c:#b45309; }
html.cx[data-theme="azure"][data-mode][data-style] body { font-family:var(--font); background:linear-gradient(#ffffff0d 1px,transparent 1px) 0 0/24px 24px,linear-gradient(90deg,#ffffff0d 1px,transparent 1px) 0 0/24px 24px,linear-gradient(#ffffff1a 1px,transparent 1px) 0 0/120px 120px,linear-gradient(90deg,#ffffff1a 1px,transparent 1px) 0 0/120px 120px,#0b3460; }
html.cx[data-theme="azure"][data-mode="light"][data-style] body { background:linear-gradient(#0369a112 1px,transparent 1px) 0 0/24px 24px,linear-gradient(90deg,#0369a112 1px,transparent 1px) 0 0/24px 24px,#f4f9ff; }
html.cx[data-theme="azure"] #cx-art .cx-a {
  inset:0; background:radial-gradient(circle,#bae6fd 0 1px,transparent 1.6px) 0 0/26px 26px; opacity:.28;
  -webkit-mask:radial-gradient(80% 70% at 60% 30%,#000,transparent 80%); mask:radial-gradient(80% 70% at 60% 30%,#000,transparent 80%);
}
html.cx[data-theme="azure"] #cx-art .cx-b {
  left:0; right:0; height:40vh; top:-40vh; background:linear-gradient(180deg,transparent,#ffffff10 45%,#7dd3fc12 55%,transparent);
  animation:ix-scan 14s cubic-bezier(.45,0,.55,1) infinite;
}
html.cx[data-theme="azure"][data-mode="light"] #cx-art .cx-a { opacity:.22; }
@keyframes ix-scan { to { transform:translateY(140vh); } }

html.cx[data-theme="azure"][data-mode][data-style] :is(h1,h2,h3,h4,.brand) { font-family:var(--font); font-weight:600; letter-spacing:-.025em; }
html.cx[data-theme="azure"][data-mode][data-style] .section-head h2 { font-size:clamp(32px,3.2vw,48px); font-weight:600; letter-spacing:-.04em; color:var(--ix-ink); }
html.cx[data-theme="azure"][data-mode][data-style] .section-head h2::before { content:"// "; font:500 .5em var(--ix-mono); color:var(--ix-a); vertical-align:middle; letter-spacing:0; }
html.cx[data-theme="azure"][data-mode][data-style] :is(.stat .value,.sc-bal-num,.cal .day .num,.month-bar .title,td,.gp,.ov-v) { font-family:var(--ix-mono); font-variant-numeric:tabular-nums; letter-spacing:-.02em; }

html.cx[data-theme="azure"][data-mode][data-style] :is(.btn,.seg button) { border-radius:6px; font:600 13px var(--font); letter-spacing:0; text-transform:none; transition:background-color .2s,box-shadow .2s,transform .15s; }
html.cx[data-theme="azure"][data-mode][data-style] :is(.btn.primary,.btn.info,.seg button.active) {
  color:#fff !important; background:linear-gradient(180deg,#38bdf8,#0284c7) !important; border:1px solid #7dd3fc !important;
  box-shadow:inset 0 1px 0 #ffffff40,0 0 0 1px #0b3460,0 8px 20px -8px #0ea5e9cc !important;
}
html.cx[data-theme="azure"][data-mode][data-style] :is(.btn:not(.primary):not(.info),.seg button:not(.active)) { color:var(--ix-ink); background:transparent !important; border:1px solid var(--ix-line) !important; box-shadow:none !important; }
html.cx[data-theme="azure"][data-mode][data-style] :is(.btn:not(.primary):not(.info),.seg button:not(.active)):hover { border-color:var(--ix-a) !important; background:#7dd3fc14 !important; }
html.cx[data-theme="azure"][data-mode][data-style] :is(.btn,.seg button):active { transform:translateY(1px); }
html.cx[data-theme="azure"][data-mode][data-style] :is(input,select,textarea) { border-radius:6px; border:1px solid var(--ix-line); background:var(--ix-panel); font-family:var(--font); }
html.cx[data-theme="azure"][data-mode][data-style] :is(.card,.stat,.panel):not(.station-card):not(.add-card) { border-radius:8px; border:1px solid var(--ix-line) !important; background:var(--ix-panel) !important; box-shadow:inset 0 1px 0 #ffffff0c,0 20px 40px -28px #000 !important; }

/* ---------- dashboard: spec-sheet stations ---------- */
html.cx[data-theme="azure"][data-mode][data-style] .station-grid { display:grid !important; grid-template-columns:repeat(auto-fill,minmax(300px,340px)) !important; justify-content:center; gap:22px !important; padding:20px 0 40px; counter-reset:ix; }
html.cx[data-theme="azure"][data-mode][data-style] .station-grid > .station-card {
  counter-increment:ix; position:relative; min-height:0; padding:34px 22px 18px !important; border-radius:6px !important; color:var(--ix-ink);
  border:1px solid var(--ix-line) !important; background:
    linear-gradient(var(--ix-a),var(--ix-a)) 10px 10px/12px 1.5px no-repeat, linear-gradient(var(--ix-a),var(--ix-a)) 10px 10px/1.5px 12px no-repeat,
    linear-gradient(var(--ix-a),var(--ix-a)) calc(100% - 10px) 10px/12px 1.5px no-repeat, linear-gradient(var(--ix-a),var(--ix-a)) calc(100% - 10px) 10px/1.5px 12px no-repeat,
    linear-gradient(var(--ix-a),var(--ix-a)) 10px calc(100% - 10px)/12px 1.5px no-repeat, linear-gradient(var(--ix-a),var(--ix-a)) 10px calc(100% - 10px)/1.5px 12px no-repeat,
    linear-gradient(var(--ix-a),var(--ix-a)) calc(100% - 10px) calc(100% - 10px)/12px 1.5px no-repeat, linear-gradient(var(--ix-a),var(--ix-a)) calc(100% - 10px) calc(100% - 10px)/1.5px 12px no-repeat,
    var(--ix-panel) !important;
  box-shadow:0 24px 40px -30px #000 !important;
  transition:border-color .3s,box-shadow .3s,transform .4s cubic-bezier(.22,1,.36,1);
  animation:ix-boot .6s cubic-bezier(.22,1,.36,1) backwards;
}
html.cx[data-theme="azure"][data-mode][data-style] .station-grid > .station-card:nth-child(2) { animation-delay:.08s; }
html.cx[data-theme="azure"][data-mode][data-style] .station-grid > .station-card::before {
  content:"STN-0" counter(ix) "  ·  ONLINE" !important; display:block !important; position:absolute; left:30px; top:12px; right:auto; bottom:auto; height:auto; width:auto;
  font:500 10px var(--ix-mono); letter-spacing:.14em; color:var(--ix-a); background:none !important; opacity:1;
}
html.cx[data-theme="azure"][data-mode][data-style] .station-grid > .station-card::after { display:none !important; }
html.cx[data-theme="azure"][data-mode][data-style] .station-card :is(h3,.sc-bal-num,.ov-v) { color:var(--ix-ink) !important; }
html.cx[data-theme="azure"][data-mode][data-style] .station-card :is(.meta,.sc-bal-label,.sc-bal-suffix,.ov-l,.muted) { color:var(--ix-dim) !important; }
html.cx[data-theme="azure"][data-mode][data-style] .station-card h3 { font-size:20px; font-weight:600; letter-spacing:-.03em; }
html.cx[data-theme="azure"][data-mode][data-style] .station-card .meta { font:400 12px var(--ix-mono); }
html.cx[data-theme="azure"][data-mode][data-style] .station-card .sc-badge { font:500 10px var(--ix-mono); letter-spacing:.1em; text-transform:uppercase; border-radius:4px; border:1px solid var(--ix-line); background:transparent; color:var(--ix-c); padding:3px 7px; }
html.cx[data-theme="azure"][data-mode][data-style] .station-card .sc-balance { background:none !important; border:0 !important; box-shadow:none !important; padding:12px 0; margin:12px 0 4px; border-block:1px dashed var(--ix-line) !important; border-radius:0; }
html.cx[data-theme="azure"][data-mode][data-style] .station-card .sc-bal-num { font-size:28px; font-weight:500; }
html.cx[data-theme="azure"][data-mode][data-style] .station-card .sc-bal-suffix { font:500 11px var(--ix-mono); text-transform:uppercase; letter-spacing:.1em; color:#f59e0b !important; }
html.cx[data-theme="azure"][data-mode][data-style] .station-card .sc-bal-label { font:500 10px var(--ix-mono); letter-spacing:.16em; text-transform:uppercase; }
html.cx[data-theme="azure"][data-mode][data-style] .station-card .sc-prices { gap:0; margin:8px 0; border:1px solid var(--ix-line); border-radius:4px; overflow:hidden; }
html.cx[data-theme="azure"][data-mode][data-style] .station-card .gp { flex:1; text-align:center; border:0 !important; border-radius:0; background:transparent !important; color:var(--ix-ink) !important; font-size:12px; padding:6px 4px; }
html.cx[data-theme="azure"][data-mode][data-style] .station-card .gp + .gp { border-left:1px solid var(--ix-line) !important; }
html.cx[data-theme="azure"][data-mode][data-style] .station-card .sc-rows { border:0; margin:6px 0 0; padding:0; }
html.cx[data-theme="azure"][data-mode][data-style] .station-card .ov-row { border:0; padding:2px 0; font-size:12px; }
html.cx[data-theme="azure"][data-mode][data-style] .station-grid > .add-card {
  min-height:120px; align-self:stretch; display:flex !important; align-items:center; justify-content:center; border-radius:6px !important; border:1px dashed var(--ix-line) !important;
  background:transparent !important; box-shadow:none !important; font:500 12px var(--ix-mono); letter-spacing:.1em; text-transform:uppercase; color:var(--ix-dim) !important;
}
html.cx[data-theme="azure"][data-mode][data-style] .station-grid > .add-card::before,html.cx[data-theme="azure"][data-mode][data-style] .station-grid > .add-card::after { display:none !important; }
@keyframes ix-boot { from { opacity:0; transform:translateY(10px); clip-path:inset(0 0 100% 0); } to { opacity:1; transform:none; clip-path:inset(0); } }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  html.cx[data-theme="azure"][data-mode][data-style] .station-grid > .station-card:hover { border-color:var(--ix-a) !important; transform:translateY(-3px); box-shadow:0 0 0 3px #0ea5e926,0 24px 50px -24px #0ea5e9aa !important; }
  html.cx[data-theme="azure"][data-mode][data-style] .station-grid > .add-card:hover { border-color:var(--ix-a) !important; color:var(--ix-a) !important; }
}

/* ---------- station page: the command bar ---------- */
.sn-azure { margin:2px 0 22px; }
.sn-azure .ix-secs { display:flex; gap:4px; padding:4px; border:1px solid var(--ix-line); border-radius:8px; background:var(--ix-panel); width:max-content; max-width:100%; flex-wrap:wrap; }
html.cx .sn-azure button.ix-sec { position:relative; display:flex; align-items:center; gap:9px; padding:9px 14px; border-radius:5px; font:600 13px var(--font); color:var(--ix-dim); transition:color .2s,background .2s; }
.sn-azure .ix-ico { font:500 10px var(--ix-mono); color:var(--ix-a); opacity:.8; }
html.cx .sn-azure button.ix-sec:hover { color:var(--ix-ink); background:#7dd3fc10; }
html.cx .sn-azure button.ix-sec[aria-selected="true"] { color:#fff; background:linear-gradient(180deg,#38bdf8,#0284c7); box-shadow:inset 0 1px 0 #ffffff40,0 6px 14px -6px #0ea5e9; }
html.cx .sn-azure button.ix-sec[aria-selected="true"] .ix-ico { color:#e0f2fe; opacity:1; }
.sn-azure .ix-tray { display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:0 26px; margin-top:12px; padding:6px 4px; }
.sn-azure .ix-tray.in > * { animation:ix-type .35s steps(6,end) calc(var(--n) * 35ms) backwards; }
@keyframes ix-type { from { clip-path:inset(0 100% 0 0); } to { clip-path:inset(0); } }
html.cx .sn-azure button.ix-pg { display:flex; align-items:center; gap:10px; padding:9px 6px; border-bottom:1px dashed var(--ix-line); font:500 14px var(--font); color:var(--ix-ink); transition:padding .25s cubic-bezier(.22,1,.36,1),color .2s; }
html.cx .sn-azure button.ix-pg::before { content:"›"; font:500 14px var(--ix-mono); color:var(--ix-a); opacity:.5; transition:opacity .2s; }
html.cx .sn-azure button.ix-pg:hover { padding-left:12px; color:var(--ix-a); }
html.cx .sn-azure button.ix-pg:hover::before { opacity:1; }
html.cx .sn-azure button.ix-pg[aria-current="page"] { color:var(--ix-a); font-weight:600; }
html.cx .sn-azure button.ix-pg[aria-current="page"]::before { content:"▸"; opacity:1; }
html.cx .sn-azure button.ix-pg[aria-current="page"]::after { content:"OPEN"; margin-left:auto; font:500 9px var(--ix-mono); letter-spacing:.14em; color:var(--ix-c); border:1px solid #22d3ee55; border-radius:3px; padding:2px 5px; }

html.cx[data-theme="azure"][data-mode][data-style] .month-bar .title { font-size:22px; font-weight:500; }
html.cx[data-theme="azure"][data-mode][data-style] .stat .label { font:500 10px var(--ix-mono); letter-spacing:.16em; text-transform:uppercase; color:var(--ix-dim); }
html.cx[data-theme="azure"][data-mode][data-style] .stat .value { font-size:22px; font-weight:500; }
html.cx[data-theme="azure"][data-mode][data-style] .station-stats-side .stat { border-left:2px solid var(--ix-a) !important; }
html.cx[data-theme="azure"][data-mode][data-style] .cal .dow { font:500 11px var(--ix-mono); letter-spacing:.18em; color:var(--ix-dim); }
html.cx[data-theme="azure"][data-mode][data-style] .cal .day:not(.empty) { border-radius:6px; border:1px solid var(--ix-line) !important; background:var(--ix-panel) !important; box-shadow:none !important; transition:border-color .2s,box-shadow .2s; }
html.cx[data-theme="azure"][data-mode][data-style] .cal .day.empty { background:transparent !important; border:0 !important; box-shadow:none !important; }
html.cx[data-theme="azure"][data-mode][data-style] .cal .day .num { font-size:15px; font-weight:500; color:var(--ix-a); }
html.cx[data-theme="azure"][data-mode][data-style] .cal .day .badge { border-radius:3px; background:transparent; border:1px solid var(--ix-line); color:var(--ix-dim); font-family:var(--ix-mono); }
html.cx[data-theme="azure"][data-mode][data-style] .cal .day.today { border-color:var(--ix-a) !important; box-shadow:0 0 0 3px #0ea5e92e,inset 0 0 30px #0ea5e922 !important; }
html.cx[data-theme="azure"][data-mode][data-style] .cal .day.today .num::after { content:" ● NOW"; font-size:9px; letter-spacing:.14em; color:var(--ix-c); }
@media (hover:hover) { html.cx[data-theme="azure"][data-mode][data-style] .cal .day:not(.empty):hover { border-color:var(--ix-a) !important; } }

/* =====================================================================================================
   NEON NIGHTS — a neon city at night. Syne + Optima; neon-tube capsule stations that flicker on; section names
   lit as neon signs; glowing capsule pages; UV haze pulsing in the dark.
   ===================================================================================================== */
html.cx[data-theme="fuchsia"] {
  --gr-v:#a855f7; --gr-l:#c084fc; --gr-c:#22d3ee; --gr-ink:#f1e8ff; --gr-dim:#a993c9; --gr-panel:color-mix(in srgb,#271644 80%,transparent);
  --font:Optima,"Candara","Outfit",system-ui,sans-serif; --gr-display:"Syne",Optima,system-ui,sans-serif; --radius:16px; --radius-btn:999px;
}
html.cx[data-theme="fuchsia"][data-mode="light"] { --gr-ink:#3b2064; --gr-dim:#7a5ba8; --gr-panel:#ffffffe0; }
html.cx[data-theme="fuchsia"][data-mode][data-style] body { font-family:var(--font); background:linear-gradient(90deg,#00000066 2px,transparent 2px) 0 0/64px 30px,linear-gradient(#00000080 2px,transparent 2px) 0 0/64px 30px,linear-gradient(90deg,transparent 31px,#00000066 31px 33px,transparent 33px) 0 15px/64px 30px,#1c0f1e; }
html.cx[data-theme="fuchsia"][data-mode="light"][data-style] body { background:#fbecfd; }
html.cx[data-theme="fuchsia"] #cx-art .cx-a { width:70vmax; height:70vmax; left:-20vmax; top:-25vmax; border-radius:50%; background:radial-gradient(closest-side,#a855f766,transparent); filter:blur(40px); animation:gr-haze 9s ease-in-out infinite alternate; }
html.cx[data-theme="fuchsia"] #cx-art .cx-b { width:60vmax; height:60vmax; right:-18vmax; bottom:-25vmax; border-radius:50%; background:radial-gradient(closest-side,#22d3ee44,transparent); filter:blur(40px); animation:gr-haze 11s ease-in-out -4s infinite alternate; }
html.cx[data-theme="fuchsia"][data-mode="light"] #cx-art > i { opacity:.5; }
@keyframes gr-haze { from { opacity:.55; transform:scale(1); } to { opacity:1; transform:scale(1.12); } }
@keyframes gr-flicker { 0%,18%,22%,25%,53%,57%,100% { opacity:1; } 20%,24%,55% { opacity:.35; } }
@keyframes gr-on { 0% { opacity:0; } 10% { opacity:.8; } 12% { opacity:.2; } 20% { opacity:1; } 22% { opacity:.4; } 30%,100% { opacity:1; } }

html.cx[data-theme="fuchsia"][data-mode][data-style] :is(h1,h2,h3,h4,.brand) { font-family:var(--gr-display); font-weight:700; letter-spacing:-.01em; }
html.cx[data-theme="fuchsia"][data-mode][data-style] .section-head h2 {
  font-size:clamp(34px,3.4vw,54px); font-weight:800; color:#fdf4ff;
  text-shadow:0 0 6px #e879f9,0 0 18px #a855f7,0 0 40px #a855f7aa; animation:gr-flicker 7s infinite;
}
html.cx[data-theme="fuchsia"][data-mode="light"][data-style] .section-head h2 { color:#6b21a8; text-shadow:0 0 18px #c084fc88; }
html.cx[data-theme="fuchsia"][data-mode][data-style] :is(.stat .value,.sc-bal-num,.month-bar .title,.cal .day .num) { font-family:"Outfit",var(--font); font-weight:600; letter-spacing:-.01em; }

html.cx[data-theme="fuchsia"][data-mode][data-style] :is(.btn,.seg button) { border-radius:999px !important; font:700 12px var(--gr-display); letter-spacing:.06em; text-transform:uppercase; transition:box-shadow .3s,transform .3s,color .3s; }
html.cx[data-theme="fuchsia"][data-mode][data-style] :is(.btn.primary,.btn.info,.seg button.active) { color:#fdf4ff !important; background:#a855f726 !important; border:2px solid #e879f9 !important; box-shadow:0 0 10px #c084fcaa,inset 0 0 12px #c084fc66 !important; text-shadow:0 0 8px #e879f9; }
html.cx[data-theme="fuchsia"][data-mode][data-style] :is(.btn:not(.primary):not(.info),.seg button:not(.active)) { color:var(--gr-ink); background:transparent !important; border:2px solid #22d3ee88 !important; box-shadow:none !important; }
html.cx[data-theme="fuchsia"][data-mode][data-style] :is(.btn,.seg button):hover { box-shadow:0 0 18px #22d3ee99,inset 0 0 10px #22d3ee44 !important; transform:translateY(-1px); }
html.cx[data-theme="fuchsia"][data-mode][data-style] :is(input,select,textarea) { border-radius:12px !important; border:1.5px solid #a855f766; background:var(--gr-panel); }
html.cx[data-theme="fuchsia"][data-mode][data-style] :is(.card,.stat,.panel):not(.station-card):not(.add-card) { border-radius:18px !important; border:1px solid #a855f740 !important; background:var(--gr-panel) !important; box-shadow:0 0 0 1px #0a0614,0 0 30px -12px #a855f7 !important; }

/* ---------- dashboard: neon capsules ---------- */
html.cx[data-theme="fuchsia"][data-mode][data-style] .station-grid { display:flex !important; flex-wrap:wrap; justify-content:center; gap:30px !important; padding:24px 0 50px; }
html.cx[data-theme="fuchsia"][data-mode][data-style] .station-grid > .station-card {
  --neon:#e879f9; width:330px; min-height:0; box-sizing:border-box; padding:26px 30px !important; color:var(--gr-ink); position:relative;
  border-radius:60px !important; border:2.5px solid var(--neon) !important; background:#120a22e6 !important;
  box-shadow:0 0 6px var(--neon),0 0 22px color-mix(in srgb,var(--neon) 70%,transparent),inset 0 0 18px color-mix(in srgb,var(--neon) 40%,transparent) !important;
  animation:gr-on 1.6s linear backwards; transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .3s;
}
html.cx[data-theme="fuchsia"][data-mode="light"][data-style] .station-grid > .station-card { background:#ffffffee !important; }
html.cx[data-theme="fuchsia"][data-mode][data-style] .station-grid > .station-card:nth-child(2n) { --neon:#22d3ee; animation-delay:.3s; }
html.cx[data-theme="fuchsia"][data-mode][data-style] .station-grid > .station-card::before,html.cx[data-theme="fuchsia"][data-mode][data-style] .station-grid > .station-card::after { display:none !important; }
html.cx[data-theme="fuchsia"][data-mode][data-style] .station-card :is(h3,.sc-bal-num,.ov-v) { color:var(--gr-ink) !important; }
html.cx[data-theme="fuchsia"][data-mode][data-style] .station-card :is(.meta,.sc-bal-label,.sc-bal-suffix,.ov-l,.muted) { color:var(--gr-dim) !important; }
html.cx[data-theme="fuchsia"][data-mode][data-style] .station-card h3 { font-size:21px; font-weight:800; color:var(--neon) !important; text-shadow:0 0 10px var(--neon); }
html.cx[data-theme="fuchsia"][data-mode][data-style] .station-card .meta { font:500 12px var(--font); letter-spacing:.06em; }
html.cx[data-theme="fuchsia"][data-mode][data-style] .station-card .sc-badge { font:700 10px var(--gr-display); letter-spacing:.12em; text-transform:uppercase; color:var(--neon); border:1.5px solid var(--neon); background:transparent; border-radius:999px; padding:3px 9px; box-shadow:0 0 8px color-mix(in srgb,var(--neon) 60%,transparent); }
html.cx[data-theme="fuchsia"][data-mode][data-style] .station-card .sc-balance { background:none !important; border:0 !important; box-shadow:none !important; padding:10px 0 6px; margin:0; }
html.cx[data-theme="fuchsia"][data-mode][data-style] .station-card .sc-bal-num { font-size:30px; font-weight:700; }
html.cx[data-theme="fuchsia"][data-mode][data-style] .station-card .sc-bal-label { font:700 9px var(--gr-display); letter-spacing:.2em; text-transform:uppercase; }
html.cx[data-theme="fuchsia"][data-mode][data-style] .station-card .sc-prices { gap:6px; margin:6px 0; }
html.cx[data-theme="fuchsia"][data-mode][data-style] .station-card .gp { font:700 11px var(--gr-display); color:var(--gr-ink) !important; border:1px solid color-mix(in srgb,var(--neon) 60%,transparent) !important; background:transparent !important; border-radius:999px; padding:3px 9px; }
html.cx[data-theme="fuchsia"][data-mode][data-style] .station-card .sc-rows { border:0; margin:0; padding:0; }
html.cx[data-theme="fuchsia"][data-mode][data-style] .station-card :is(.ov-row:first-child) { display:none; }
html.cx[data-theme="fuchsia"][data-mode][data-style] .station-card .ov-row { border:0; font-size:12px; }
html.cx[data-theme="fuchsia"][data-mode][data-style] .station-grid > .add-card {
  width:110px; height:110px; min-height:0; padding:0 !important; align-self:center; display:flex !important; align-items:center; justify-content:center; text-align:center;
  border-radius:50% !important; border:2px dashed #a855f788 !important; background:transparent !important; box-shadow:none !important; font:700 11px var(--gr-display); letter-spacing:.08em; text-transform:uppercase; color:var(--gr-l) !important;
}
html.cx[data-theme="fuchsia"][data-mode][data-style] .station-grid > .add-card::before,html.cx[data-theme="fuchsia"][data-mode][data-style] .station-grid > .add-card::after { display:none !important; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  html.cx[data-theme="fuchsia"][data-mode][data-style] .station-grid > .station-card:hover { transform:translateY(-4px) scale(1.02); box-shadow:0 0 8px var(--neon),0 0 40px var(--neon),inset 0 0 26px color-mix(in srgb,var(--neon) 50%,transparent) !important; }
}

/* ---------- station page: neon signs + capsules ---------- */
.sn-fuchsia { margin:8px 0 22px; }
.sn-fuchsia .gr-secs { display:flex; flex-wrap:wrap; gap:8px 30px; padding:8px 4px; }
.sn-fuchsia .gr-ico { display:none; }
html.cx .sn-fuchsia button.gr-sec { font:800 22px var(--gr-display); letter-spacing:.02em; color:color-mix(in srgb,var(--c) 45%,#3b2a55); transition:color .3s,text-shadow .3s; animation:gr-on 1.2s linear calc(var(--n) * 120ms) backwards; }
html.cx .sn-fuchsia button.gr-sec:hover { color:color-mix(in srgb,var(--c) 75%,#fff); }
html.cx .sn-fuchsia button.gr-sec[aria-selected="true"] { color:#fff; text-shadow:0 0 4px var(--c),0 0 12px var(--c),0 0 28px var(--c); animation:gr-flicker 6s infinite; }
html.cx[data-theme="fuchsia"][data-mode="light"] .sn-fuchsia button.gr-sec[aria-selected="true"] { color:color-mix(in srgb,var(--c) 70%,#000); }
.sn-fuchsia .gr-tray { display:flex; flex-wrap:wrap; gap:12px; margin-top:12px; }
.sn-fuchsia .gr-tray.in > * { animation:gr-on .9s linear calc(var(--n) * 70ms) backwards; }
html.cx .sn-fuchsia button.gr-pg { display:inline-flex; align-items:center; gap:8px; padding:10px 18px; border-radius:999px; font:600 13px var(--font); color:var(--gr-ink); border:1.5px solid color-mix(in srgb,var(--c) 55%,transparent); transition:box-shadow .3s,background .3s; }
html.cx .sn-fuchsia button.gr-pg:hover { box-shadow:0 0 14px color-mix(in srgb,var(--c) 70%,transparent); }
html.cx .sn-fuchsia button.gr-pg[aria-current="page"] { color:#fff; border-color:var(--c); background:color-mix(in srgb,var(--c) 22%,transparent); box-shadow:0 0 10px var(--c),inset 0 0 12px color-mix(in srgb,var(--c) 50%,transparent); }

html.cx[data-theme="fuchsia"][data-mode][data-style] .month-bar .title { font-size:24px; font-weight:700; }
html.cx[data-theme="fuchsia"][data-mode][data-style] .stat .label { font:700 10px var(--gr-display); letter-spacing:.16em; text-transform:uppercase; color:var(--gr-dim); }
html.cx[data-theme="fuchsia"][data-mode][data-style] .stat .value { font-size:24px; }
html.cx[data-theme="fuchsia"][data-mode][data-style] .station-stats-side .stat { border-radius:16px !important; border-left:0 !important; }
html.cx[data-theme="fuchsia"][data-mode][data-style] .cal .dow { font:700 11px var(--gr-display); letter-spacing:.16em; color:var(--gr-dim); }
html.cx[data-theme="fuchsia"][data-mode][data-style] .cal .day:not(.empty) { border-radius:16px !important; border:1px solid #a855f72e !important; background:var(--gr-panel) !important; box-shadow:none !important; transition:box-shadow .3s,border-color .3s; }
html.cx[data-theme="fuchsia"][data-mode][data-style] .cal .day.empty { background:transparent !important; border:0 !important; box-shadow:none !important; }
html.cx[data-theme="fuchsia"][data-mode][data-style] .cal .day .badge { border-radius:999px; background:transparent; border:1px solid #a855f755; color:inherit; }
html.cx[data-theme="fuchsia"][data-mode][data-style] .cal .day.today { border:2px solid #e879f9 !important; box-shadow:0 0 12px #e879f9,inset 0 0 16px #e879f955 !important; }
html.cx[data-theme="fuchsia"][data-mode][data-style] .cal .day.today .num { color:#fdf4ff; text-shadow:0 0 8px #e879f9; }
@media (hover:hover) { html.cx[data-theme="fuchsia"][data-mode][data-style] .cal .day:not(.empty):hover { border-color:#22d3ee !important; box-shadow:0 0 14px #22d3ee66 !important; } }


/* =====================================================================================================
   COTTON — Cotton Candy, spun sugar at the fair. Pacifico + Quicksand; stations are fluffy two-tone sugar
   clouds perched on striped paper cones; sections are little cones; pages are sugar puffs; drifting wisps.
   ===================================================================================================== */
html.cx[data-theme="candy"] { --ct-pink:#f9a8d4; --ct-blue:#a5d8ff; --ct-lil:#e9d5ff; --ct-ink:#fff0f8; --ct-dim:#e3b6cf; --ct-panel:color-mix(in srgb,#371334 80%,transparent);
  --font:"Quicksand",system-ui,sans-serif; --ct-script:"Pacifico","Quicksand",cursive; --radius:26px; --radius-btn:999px; }
html.cx[data-theme="candy"][data-mode="light"] { --ct-ink:#5a1846; --ct-dim:#9a5a82; --ct-panel:#fffafdf0; }
html.cx[data-theme="candy"][data-mode][data-style] body { font-family:var(--font); font-weight:600; background:radial-gradient(900px 600px at 15% 0,#3a1640,transparent 70%),radial-gradient(900px 600px at 90% 100%,#1e2a52,transparent 70%),#1d0a17; }
html.cx[data-theme="candy"][data-mode="light"][data-style] body { background:radial-gradient(900px 600px at 15% 0,#ffe0f0,transparent 70%),radial-gradient(900px 600px at 90% 100%,#dcebff,transparent 70%),#fdeaf5; }
html.cx[data-theme="candy"] #cx-art > i { width:44vmax; height:26vmax; border-radius:50%; filter:blur(50px); opacity:.35; animation:cc-drift 30s ease-in-out infinite alternate; }
html.cx[data-theme="candy"] #cx-art .cx-a { left:-10vmax; top:10vh; background:radial-gradient(closest-side,#f9a8d4,transparent); }
html.cx[data-theme="candy"] #cx-art .cx-b { right:-10vmax; top:40vh; background:radial-gradient(closest-side,#a5d8ff,transparent); animation-delay:-10s; }
html.cx[data-theme="candy"] #cx-art .cx-c { left:30vw; bottom:-12vmax; background:radial-gradient(closest-side,#e9d5ff,transparent); animation-delay:-20s; }
@keyframes ct-fluff { 0%,100% { transform:scale(1) rotate(0); } 50% { transform:scale(1.03,0.98) rotate(-1deg); } }
@keyframes ct-spin { from { transform:scale(.2) rotate(-120deg); opacity:0; } to { transform:none; opacity:1; } }
html.cx[data-theme="candy"][data-mode][data-style] :is(h1,h2,h3,h4,.brand) { font-family:var(--font); font-weight:700; }
html.cx[data-theme="candy"][data-mode][data-style] .section-head h2 { font:400 clamp(36px,3.6vw,56px)/1.2 var(--ct-script); background:linear-gradient(100deg,#f9a8d4,#e9d5ff 50%,#a5d8ff); -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent; }
html.cx[data-theme="candy"][data-mode="light"][data-style] .section-head h2 { background-image:linear-gradient(100deg,#db2777,#9333ea 50%,#2563eb); }
html.cx[data-theme="candy"][data-mode][data-style] :is(.btn,.seg button) { border-radius:999px !important; font:700 13px var(--font); text-transform:none; letter-spacing:0; transition:transform .45s cubic-bezier(.34,1.56,.64,1); }
html.cx[data-theme="candy"][data-mode][data-style] :is(.btn.primary,.btn.info,.seg button.active) { color:#5a1846 !important; border:0 !important; background:radial-gradient(60% 90% at 30% 40%,#fbcfe8,transparent 70%),radial-gradient(60% 90% at 75% 60%,#bfdbfe,transparent 70%),#f5d0fe !important; box-shadow:inset 0 2px 0 #fff9,0 8px 18px -8px #f472b6 !important; }
html.cx[data-theme="candy"][data-mode][data-style] :is(.btn:not(.primary):not(.info),.seg button:not(.active)) { color:var(--ct-ink); border:1.5px solid #f9a8d455 !important; background:#f9a8d410 !important; box-shadow:none !important; }
html.cx[data-theme="candy"][data-mode][data-style] :is(.btn,.seg button):hover { transform:scale(1.05); }
html.cx[data-theme="candy"][data-mode][data-style] :is(input,select,textarea) { border-radius:18px !important; border:1.5px solid #f9a8d455; background:var(--ct-panel); }
html.cx[data-theme="candy"][data-mode][data-style] :is(.card,.stat,.panel):not(.station-card):not(.add-card) { border-radius:26px !important; border:1.5px solid #f9a8d42e !important; background:var(--ct-panel) !important; box-shadow:0 20px 40px -28px #000 !important; }
/* Dashboard: sugar clouds on striped cones */
html.cx[data-theme="candy"][data-mode][data-style] .station-grid { display:flex !important; flex-wrap:wrap; justify-content:center; align-items:flex-start; gap:30px 44px !important; padding:30px 0 130px; }
html.cx[data-theme="candy"][data-mode][data-style] .station-grid > .station-card {
  width:300px; min-height:0; box-sizing:border-box; padding:40px 34px 36px !important; text-align:center; position:relative; overflow:visible; color:#5a1846;
  border:0 !important; border-radius:46% 54% 50% 50% / 56% 52% 48% 44% !important;
  background:radial-gradient(40% 36% at 26% 30%,#ffffffd0,transparent 70%),radial-gradient(55% 60% at 22% 55%,#fbcfe8,transparent 72%),radial-gradient(55% 60% at 78% 45%,#bfdbfe,transparent 72%),radial-gradient(60% 60% at 50% 80%,#f5d0fe,transparent 75%),#fce7f3 !important;
  box-shadow:inset 0 -10px 24px #f0abfc55,0 0 34px 6px #f9a8d455,0 30px 40px -24px #000a !important;
  animation:ct-spin 1s cubic-bezier(.22,1,.36,1) backwards,ct-fluff 6s ease-in-out 1s infinite;
}
html.cx[data-theme="candy"][data-mode][data-style] .station-grid > .station-card:nth-child(2) { animation-delay:.15s,1.4s; background:radial-gradient(40% 36% at 26% 30%,#ffffffd0,transparent 70%),radial-gradient(55% 60% at 22% 55%,#bfdbfe,transparent 72%),radial-gradient(55% 60% at 78% 45%,#e9d5ff,transparent 72%),radial-gradient(60% 60% at 50% 80%,#fbcfe8,transparent 75%),#eef2ff !important; }
/* The striped paper cone below the sugar */
html.cx[data-theme="candy"][data-mode][data-style] .station-grid > .station-card::after { content:"" !important; display:block !important; position:absolute; inset:auto; left:50%; top:calc(100% - 4px); width:70px; height:110px; margin-left:-35px; opacity:1; z-index:-1; background:repeating-linear-gradient(115deg,#fff 0 10px,#f472b6 10px 20px) !important; clip-path:polygon(0 0,100% 0,56% 100%,44% 100%); filter:drop-shadow(0 6px 6px #0005); }
html.cx[data-theme="candy"][data-mode][data-style] .station-grid > .station-card:nth-child(2)::after { background:repeating-linear-gradient(115deg,#fff 0 10px,#60a5fa 10px 20px) !important; }
html.cx[data-theme="candy"][data-mode][data-style] .station-grid > .station-card::before { display:none !important; }
html.cx[data-theme="candy"][data-mode][data-style] .station-card :is(h3,.sc-bal-num,.ov-v,.gp) { color:#5a1846 !important; }
html.cx[data-theme="candy"][data-mode][data-style] .station-card :is(.meta,.sc-bal-label,.sc-bal-suffix,.ov-l,.muted) { color:#9a5a82 !important; }
html.cx[data-theme="candy"][data-mode][data-style] .station-card .sc-head { flex-direction:column; align-items:center; gap:0; }
html.cx[data-theme="candy"][data-mode][data-style] .station-card h3 { font:400 22px/1.3 var(--ct-script); }
html.cx[data-theme="candy"][data-mode][data-style] .station-card .sc-badge { display:none; }
html.cx[data-theme="candy"][data-mode][data-style] .station-card .sc-balance::after { display:none !important; }
html.cx[data-theme="candy"][data-mode][data-style] .station-card .sc-balance { background:none !important; border:0 !important; box-shadow:none !important; padding:6px 0 2px; margin:0; }
html.cx[data-theme="candy"][data-mode][data-style] .station-card .sc-bal-num { font:700 28px var(--font); }
html.cx[data-theme="candy"][data-mode][data-style] .station-card .sc-bal-label { font:700 9px var(--font); letter-spacing:.2em; text-transform:uppercase; }
html.cx[data-theme="candy"][data-mode][data-style] .station-card .sc-prices { justify-content:center; gap:5px; margin:6px 0 0; }
html.cx[data-theme="candy"][data-mode][data-style] .station-card .gp { font:700 11px var(--font); border:0 !important; background:#ffffff99 !important; border-radius:999px; padding:2px 8px; }
html.cx[data-theme="candy"][data-mode][data-style] .station-card .sc-rows { display:none; }
html.cx[data-theme="candy"][data-mode][data-style] .station-grid > .add-card { width:130px; height:110px; min-height:0; padding:0 !important; align-self:center; display:flex !important; align-items:center; justify-content:center; text-align:center; border-radius:50% !important; border:2px dashed #f9a8d488 !important; background:transparent !important; box-shadow:none !important; font:400 15px var(--ct-script); color:var(--ct-pink) !important; }
html.cx[data-theme="candy"][data-mode][data-style] .station-grid > .add-card::before,html.cx[data-theme="candy"][data-mode][data-style] .station-grid > .add-card::after { display:none !important; }
/* Station page: little cones */
.sn-candy { margin:8px 0 22px; }
.sn-candy .ct-secs { display:flex; flex-wrap:wrap; gap:14px 22px; padding:4px 4px 0; }
html.cx .sn-candy button.ct-sec { position:relative; display:flex; flex-direction:column; align-items:center; gap:0; width:76px; padding-bottom:36px; font:700 12px var(--font); color:var(--ct-ink); animation:ct-spin .7s cubic-bezier(.22,1,.36,1) calc(var(--n) * 60ms) backwards; }
html.cx .sn-candy button.ct-sec::before { content:""; width:60px; height:44px; border-radius:50%; background:radial-gradient(40% 40% at 30% 30%,#fff,transparent 70%),radial-gradient(circle at 30% 60%,var(--c),transparent 70%),radial-gradient(circle at 70% 50%,color-mix(in srgb,var(--c) 60%,#a5d8ff),transparent 70%),color-mix(in srgb,var(--c) 70%,#fff); box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 30%,transparent); transition:transform .5s cubic-bezier(.34,1.56,.64,1); }
html.cx .sn-candy button.ct-sec::after { content:""; position:absolute; left:50%; top:40px; width:24px; height:30px; margin-left:-12px; background:repeating-linear-gradient(115deg,#fff 0 5px,#f472b6 5px 10px); clip-path:polygon(0 0,100% 0,56% 100%,44% 100%); }
html.cx .sn-candy button.ct-sec b { position:absolute; bottom:0; white-space:nowrap; }
.sn-candy .ct-ico { display:none; }
html.cx .sn-candy button.ct-sec:hover::before { transform:scale(1.12) rotate(-6deg); }
html.cx .sn-candy button.ct-sec[aria-selected="true"]::before { transform:scale(1.25); box-shadow:0 0 0 4px #fff,0 0 22px var(--c); }
.sn-candy .ct-tray { display:flex; flex-wrap:wrap; gap:12px; margin-top:16px; }
.sn-candy .ct-tray.in > * { animation:ct-spin .5s cubic-bezier(.22,1,.36,1) calc(var(--n) * 45ms) backwards; }
html.cx .sn-candy button.ct-pg { display:inline-flex; align-items:center; gap:8px; padding:10px 20px; border-radius:46% 54% 48% 52% / 60% 56% 44% 40%; font:700 13px var(--font); color:#5a1846; background:radial-gradient(60% 90% at 30% 40%,color-mix(in srgb,var(--c) 60%,#fff),transparent 70%),#fdf2f8; box-shadow:0 0 0 4px #fdf2f866; transition:transform .5s cubic-bezier(.34,1.56,.64,1); }
html.cx .sn-candy button.ct-pg:hover { transform:scale(1.06) rotate(-2deg); }
html.cx .sn-candy button.ct-pg[aria-current="page"] { background:radial-gradient(60% 90% at 30% 40%,#fbcfe8,transparent 70%),radial-gradient(60% 90% at 75% 60%,#bfdbfe,transparent 70%),#f5d0fe; box-shadow:0 0 0 4px #fff,0 0 18px #f472b6; }
html.cx[data-theme="candy"][data-mode][data-style] .month-bar .title { font:400 26px var(--ct-script); color:var(--ct-pink); }
html.cx[data-theme="candy"][data-mode][data-style] .stat .label { font:700 10px var(--font); letter-spacing:.14em; text-transform:uppercase; color:var(--ct-dim); }
html.cx[data-theme="candy"][data-mode][data-style] .stat .value { font:700 24px var(--font); }
html.cx[data-theme="candy"][data-mode][data-style] .station-stats-side .stat { border-left:0 !important; }
html.cx[data-theme="candy"][data-mode][data-style] .cal .dow { font:700 11px var(--font); letter-spacing:.14em; color:var(--ct-dim); }
html.cx[data-theme="candy"][data-mode][data-style] .cal .day:not(.empty) { border-radius:22px !important; border:1.5px solid #f9a8d422 !important; background:var(--ct-panel) !important; box-shadow:none !important; transition:transform .45s cubic-bezier(.34,1.56,.64,1); }
html.cx[data-theme="candy"][data-mode][data-style] .cal .day.empty { background:transparent !important; border:0 !important; box-shadow:none !important; }
html.cx[data-theme="candy"][data-mode][data-style] .cal .day .badge { border-radius:999px; background:#f9a8d422; color:inherit; border:0; }
html.cx[data-theme="candy"][data-mode][data-style] .cal .day.today { background:radial-gradient(60% 70% at 30% 40%,#fbcfe8,transparent 70%),radial-gradient(60% 70% at 75% 60%,#bfdbfe,transparent 70%),#f5d0fe !important; border-color:transparent !important; }
html.cx[data-theme="candy"][data-mode][data-style] .cal .day.today :is(.num,.muted,div,span) { color:#5a1846 !important; }
@media (hover:hover) { html.cx[data-theme="candy"][data-mode][data-style] .cal .day:not(.empty):hover { transform:scale(1.04) rotate(-1deg); } }

/* =====================================================================================================
   AURORA — cosmic indigo glow. Manrope; frosted indigo-glass stations with an aurora ribbon of light
   flowing through them; sections are ribbons of glow; pages are frosted lumens; aurora veils overhead.
   ===================================================================================================== */
html.cx[data-theme="indigo"] { --au-ink:#e9effb; --au-dim:#9aa6d6; --au-panel:color-mix(in srgb,#161f38 72%,transparent); --font:"Manrope",system-ui,sans-serif; --radius:20px; --radius-btn:14px; }
html.cx[data-theme="indigo"][data-mode="light"] { --au-ink:#15233f; --au-dim:#5a6690; --au-panel:#ffffffd0; }
html.cx[data-theme="indigo"][data-mode][data-style] body { font-family:var(--font); background:radial-gradient(1200px 700px at 50% -10%,#1e1b5a,transparent 70%),#07091a; }
html.cx[data-theme="indigo"][data-mode="light"][data-style] body { background:radial-gradient(1200px 700px at 50% -10%,#e0e7ff,transparent 70%),#eef2fb; }
html.cx[data-theme="indigo"] #cx-art > i { top:-15vh; height:60vh; border-radius:50%; filter:blur(50px); mix-blend-mode:screen; opacity:.5; }
html.cx[data-theme="indigo"] #cx-art .cx-a { left:-10vw; width:70vw; background:linear-gradient(100deg,transparent,#6366f1 30%,#22d3ee 55%,transparent); animation:nd-curtain 18s ease-in-out infinite alternate; }
html.cx[data-theme="indigo"] #cx-art .cx-b { left:30vw; width:60vw; background:linear-gradient(80deg,transparent,#a78bfa 35%,#34d399 65%,transparent); animation:nd-curtain 24s ease-in-out -7s infinite alternate-reverse; }
html.cx[data-theme="indigo"] #cx-art .cx-c { left:55vw; width:50vw; top:-5vh; background:linear-gradient(110deg,transparent,#818cf8 40%,#c084fc 70%,transparent); animation:nd-curtain 21s ease-in-out -12s infinite alternate; }
html.cx[data-theme="indigo"][data-mode="light"] #cx-art > i { mix-blend-mode:multiply; opacity:.22; }
@keyframes au-flow { from { background-position:0% 50%; } to { background-position:200% 50%; } }
@keyframes au-glow { from { transform:translateY(16px); opacity:0; filter:blur(8px); } to { transform:none; opacity:1; filter:none; } }
html.cx[data-theme="indigo"][data-mode][data-style] :is(h1,h2,h3,h4,.brand) { font-family:var(--font); font-weight:800; letter-spacing:-.03em; }
html.cx[data-theme="indigo"][data-mode][data-style] .section-head h2 { font-size:clamp(34px,3.4vw,54px); background:linear-gradient(90deg,#c7d2fe,#818cf8,#22d3ee,#a78bfa,#c7d2fe) 0 0/200% 100%; -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent; animation:au-flow 8s linear infinite; }
html.cx[data-theme="indigo"][data-mode][data-style] :is(.stat .value,.sc-bal-num,.month-bar .title,.cal .day .num) { font-family:var(--font); font-weight:700; }
html.cx[data-theme="indigo"][data-mode][data-style] :is(.btn,.seg button) { border-radius:14px !important; font:700 13px var(--font); text-transform:none; letter-spacing:0; transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .3s; }
html.cx[data-theme="indigo"][data-mode][data-style] :is(.btn.primary,.btn.info,.seg button.active) { color:#fff !important; border:0 !important; background:linear-gradient(90deg,#6366f1,#22d3ee,#a78bfa,#6366f1) 0 0/300% 100% !important; animation:au-flow 6s linear infinite; box-shadow:0 0 20px #6366f188 !important; }
html.cx[data-theme="indigo"][data-mode][data-style] :is(.btn:not(.primary):not(.info),.seg button:not(.active)) { color:var(--au-ink); border:1px solid #818cf844 !important; background:#818cf812 !important; backdrop-filter:blur(10px); box-shadow:none !important; }
html.cx[data-theme="indigo"][data-mode][data-style] :is(.btn,.seg button):hover { transform:translateY(-2px); }
html.cx[data-theme="indigo"][data-mode][data-style] :is(input,select,textarea) { border-radius:12px !important; border:1px solid #818cf844; background:var(--au-panel); }
html.cx[data-theme="indigo"][data-mode][data-style] :is(.card,.stat,.panel):not(.station-card):not(.add-card) { border-radius:20px !important; border:1px solid #818cf82e !important; background:var(--au-panel) !important; backdrop-filter:blur(20px) saturate(1.3); box-shadow:inset 0 1px 0 #ffffff14,0 24px 50px -30px #000 !important; }
html.cx[data-theme="indigo"][data-mode][data-style] .station-grid { display:flex !important; flex-wrap:wrap; justify-content:center; gap:30px !important; padding:30px 0 50px; }
html.cx[data-theme="indigo"][data-mode][data-style] .station-grid > .station-card {
  width:320px; min-height:0; box-sizing:border-box; padding:26px 26px 24px !important; position:relative; overflow:hidden; isolation:isolate; color:var(--au-ink);
  border:1px solid #c7d2fe33 !important; border-radius:26px !important; background:#141a3acc !important; backdrop-filter:blur(20px);
  box-shadow:inset 0 1px 0 #ffffff26,0 0 40px -10px #6366f188,0 26px 44px -26px #000 !important;
  animation:au-glow 1s cubic-bezier(.22,1,.36,1) backwards;
}
html.cx[data-theme="indigo"][data-mode="light"][data-style] .station-grid > .station-card { background:#ffffffcc !important; }
html.cx[data-theme="indigo"][data-mode][data-style] .station-grid > .station-card:nth-child(2) { animation-delay:.15s; }
/* The aurora ribbon flowing through the glass */
html.cx[data-theme="indigo"][data-mode][data-style] .station-grid > .station-card::before { content:"" !important; display:block !important; position:absolute; inset:auto; left:-20%; right:-20%; top:-30%; height:80%; width:auto; z-index:-1; opacity:.6; border-radius:50%; filter:blur(26px); background:linear-gradient(90deg,#6366f1,#22d3ee,#34d399,#a78bfa,#6366f1) 0 0/200% 100% !important; transform:rotate(-12deg); animation:au-flow 9s linear infinite; }
html.cx[data-theme="indigo"][data-mode][data-style] .station-grid > .station-card:nth-child(2)::before { background:linear-gradient(90deg,#a78bfa,#f0abfc,#22d3ee,#818cf8,#a78bfa) 0 0/200% 100% !important; }
html.cx[data-theme="indigo"][data-mode][data-style] .station-grid > .station-card::after { display:none !important; }
html.cx[data-theme="indigo"][data-mode][data-style] .station-card :is(h3,.sc-bal-num,.ov-v,.gp) { color:var(--au-ink) !important; }
html.cx[data-theme="indigo"][data-mode][data-style] .station-card :is(.meta,.sc-bal-label,.sc-bal-suffix,.ov-l,.muted) { color:var(--au-dim) !important; }
html.cx[data-theme="indigo"][data-mode][data-style] .station-card h3 { font-size:20px; }
html.cx[data-theme="indigo"][data-mode][data-style] .station-card .sc-badge { font:700 10px var(--font); letter-spacing:.08em; text-transform:uppercase; color:#fff; border:1px solid #c7d2fe55; background:#ffffff14; border-radius:999px; padding:3px 9px; }
html.cx[data-theme="indigo"][data-mode][data-style] .station-card .sc-balance::after { display:none !important; }
html.cx[data-theme="indigo"][data-mode][data-style] .station-card .sc-balance { background:none !important; border:0 !important; box-shadow:none !important; padding:14px 0 8px; margin:0; }
html.cx[data-theme="indigo"][data-mode][data-style] .station-card .sc-bal-num { font-size:32px; font-weight:800; }
html.cx[data-theme="indigo"][data-mode][data-style] .station-card .sc-bal-label { font:700 9px var(--font); letter-spacing:.2em; text-transform:uppercase; }
html.cx[data-theme="indigo"][data-mode][data-style] .station-card .sc-prices { gap:6px; margin:6px 0 8px; }
html.cx[data-theme="indigo"][data-mode][data-style] .station-card .gp { font:700 11px var(--font); border:1px solid #c7d2fe33 !important; background:#ffffff0d !important; border-radius:999px; padding:3px 9px; }
html.cx[data-theme="indigo"][data-mode][data-style] .station-card .sc-rows { border:0; margin:0; padding:0; }
html.cx[data-theme="indigo"][data-mode][data-style] .station-card :is(.ov-row:first-child,.ov-l) { display:none; }
html.cx[data-theme="indigo"][data-mode][data-style] .station-card .ov-row { border:0; font-size:12px; }
html.cx[data-theme="indigo"][data-mode][data-style] .station-grid > .add-card { width:140px; height:140px; min-height:0; padding:0 !important; align-self:center; display:flex !important; align-items:center; justify-content:center; text-align:center; border-radius:26px !important; border:1.5px dashed #818cf866 !important; background:transparent !important; box-shadow:none !important; font:700 12px var(--font); color:#a5b4fc !important; }
html.cx[data-theme="indigo"][data-mode][data-style] .station-grid > .add-card::before,html.cx[data-theme="indigo"][data-mode][data-style] .station-grid > .add-card::after { display:none !important; }
.sn-indigo { margin:8px 0 22px; }
.sn-indigo .au-secs { display:flex; flex-wrap:wrap; gap:8px; }
html.cx .sn-indigo button.au-sec { position:relative; overflow:hidden; isolation:isolate; display:flex; align-items:center; gap:8px; padding:11px 20px; border-radius:14px; font:700 13px var(--font); color:var(--au-ink); background:var(--au-panel); border:1px solid #818cf82e; transition:transform .4s cubic-bezier(.22,1,.36,1); animation:au-glow .6s cubic-bezier(.22,1,.36,1) calc(var(--n) * 60ms) backwards; }
html.cx .sn-indigo button.au-sec::before { content:""; position:absolute; inset:-40% -20%; z-index:-1; background:linear-gradient(90deg,transparent,var(--c),transparent); filter:blur(14px); opacity:0; transition:opacity .4s; }
.sn-indigo .au-ico { color:var(--c); }
html.cx .sn-indigo button.au-sec:hover { transform:translateY(-2px); }
html.cx .sn-indigo button.au-sec:hover::before { opacity:.4; }
html.cx .sn-indigo button.au-sec[aria-selected="true"]::before { opacity:.85; animation:au-flow 3s linear infinite; background-size:200% 100%; }
html.cx .sn-indigo button.au-sec[aria-selected="true"] { border-color:color-mix(in srgb,var(--c) 70%,#fff); box-shadow:0 0 20px color-mix(in srgb,var(--c) 50%,transparent); }
.sn-indigo .au-tray { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.sn-indigo .au-tray.in > * { animation:au-glow .5s cubic-bezier(.22,1,.36,1) calc(var(--n) * 45ms) backwards; }
html.cx .sn-indigo button.au-pg { display:inline-flex; align-items:center; gap:8px; padding:9px 18px; border-radius:999px; font:600 13px var(--font); color:var(--au-ink); border:1px solid color-mix(in srgb,var(--c) 40%,transparent); background:#ffffff08; backdrop-filter:blur(10px); transition:box-shadow .3s,transform .3s; }
html.cx .sn-indigo button.au-pg:hover { box-shadow:0 0 16px color-mix(in srgb,var(--c) 50%,transparent); transform:translateY(-2px); }
html.cx .sn-indigo button.au-pg[aria-current="page"] { color:#fff; background:linear-gradient(90deg,#6366f1,#22d3ee,#a78bfa,#6366f1) 0 0/300% 100%; animation:au-flow 6s linear infinite; border-color:transparent; }
html.cx[data-theme="indigo"][data-mode][data-style] .month-bar .title { font-size:24px; }
html.cx[data-theme="indigo"][data-mode][data-style] .stat .label { font:700 10px var(--font); letter-spacing:.16em; text-transform:uppercase; color:var(--au-dim); }
html.cx[data-theme="indigo"][data-mode][data-style] .stat .value { font-size:24px; }
html.cx[data-theme="indigo"][data-mode][data-style] .station-stats-side .stat { border-left:0 !important; }
html.cx[data-theme="indigo"][data-mode][data-style] .cal .dow { font:700 11px var(--font); letter-spacing:.16em; color:var(--au-dim); }
html.cx[data-theme="indigo"][data-mode][data-style] .cal .day:not(.empty) { border-radius:16px !important; border:1px solid #818cf81f !important; background:var(--au-panel) !important; box-shadow:none !important; backdrop-filter:blur(10px); }
html.cx[data-theme="indigo"][data-mode][data-style] .cal .day.empty { background:transparent !important; border:0 !important; box-shadow:none !important; }
html.cx[data-theme="indigo"][data-mode][data-style] .cal .day .badge { border-radius:999px; background:#818cf81f; color:inherit; border:0; }
html.cx[data-theme="indigo"][data-mode][data-style] .cal .day.today { background:linear-gradient(135deg,#6366f1,#22d3ee 55%,#a78bfa) !important; border-color:transparent !important; box-shadow:0 0 22px #6366f188 !important; }
html.cx[data-theme="indigo"][data-mode][data-style] .cal .day.today :is(.num,.muted,div,span) { color:#fff !important; }

/* =====================================================================================================
   GRAPE — Grape Soda. Lilita One + Fredoka; stations are crimped bottle caps fizzing with purple soda;
   sections are caps; pages are fizzy bubble pills; carbonation streaming up the whole page.
   ===================================================================================================== */
html.cx[data-theme="grape"] { --gs-ink:#f5edff; --gs-dim:#c4a8e8; --gs-panel:color-mix(in srgb,#271644 82%,transparent); --font:"Fredoka",system-ui,sans-serif; --gs-pop:"Lilita One","Fredoka",sans-serif; --radius:20px; --radius-btn:999px; }
html.cx[data-theme="grape"][data-mode="light"] { --gs-ink:#3b2064; --gs-dim:#7a5ba8; --gs-panel:#fffaffec; }
html.cx[data-theme="grape"][data-mode][data-style] body { font-family:var(--font); background:linear-gradient(180deg,#1a0b2e,#2a0f4a 55%,#3b1366); }
html.cx[data-theme="grape"][data-mode="light"][data-style] body { background:linear-gradient(180deg,#faf5ff,#f0e4ff 60%,#e4d0ff); }
html.cx[data-theme="grape"] #cx-art :is(.cx-a,.cx-b,.cx-c) { bottom:-20px; width:8px; height:8px; border-radius:50%; border:1.5px solid #e9d5ffaa; box-shadow:9vw -40px 0 -1px #e9d5ff88,17vw -12px 0 1px #e9d5ff66,29vw -70px 0 -2px #e9d5ff99,41vw -30px 0 0 #e9d5ff77,57vw -55px 0 -1px #e9d5ff88,68vw -20px 0 1px #e9d5ff66,83vw -64px 0 -2px #e9d5ff99,92vw -8px 0 0 #e9d5ff77; animation:gs-fizz 7s linear infinite; }
html.cx[data-theme="grape"] #cx-art .cx-a { left:2vw; }
html.cx[data-theme="grape"] #cx-art .cx-b { left:5vw; animation-delay:-2.3s; animation-duration:8.5s; }
html.cx[data-theme="grape"] #cx-art .cx-c { left:3vw; animation-delay:-4.6s; animation-duration:6s; }
html.cx[data-theme="grape"][data-mode="light"] #cx-art :is(.cx-a,.cx-b,.cx-c) { border-color:#a855f766; }
@keyframes gs-fizz { from { transform:translateY(0); opacity:.9; } to { transform:translateY(-110vh); opacity:0; } }
@keyframes gs-pop { 0% { transform:scale(.3) rotate(-180deg); opacity:0; } 70% { transform:scale(1.08) rotate(10deg); opacity:1; } 100% { transform:none; } }
@keyframes gs-rattle { 0%,100% { transform:rotate(0); } 25% { transform:rotate(-6deg); } 75% { transform:rotate(6deg); } }
html.cx[data-theme="grape"][data-mode][data-style] :is(h1,h2,h3,h4,.brand) { font-family:var(--font); font-weight:700; }
html.cx[data-theme="grape"][data-mode][data-style] .section-head h2 { font:400 clamp(38px,3.8vw,60px)/1.05 var(--gs-pop); color:#f5d0fe; -webkit-text-stroke:2px #581c87; paint-order:stroke fill; text-shadow:0 5px 0 #3b0764; }
html.cx[data-theme="grape"][data-mode="light"][data-style] .section-head h2 { color:#a855f7; -webkit-text-stroke:2px #3b0764; }
html.cx[data-theme="grape"][data-mode][data-style] :is(.stat .value,.sc-bal-num,.month-bar .title) { font-family:var(--gs-pop); font-weight:400; }
html.cx[data-theme="grape"][data-mode][data-style] :is(.btn,.seg button) { border-radius:999px !important; font:700 13px var(--font); text-transform:none; letter-spacing:0; transition:transform .45s cubic-bezier(.34,1.56,.64,1); }
html.cx[data-theme="grape"][data-mode][data-style] :is(.btn.primary,.btn.info,.seg button.active) { color:#fff !important; border:0 !important; background:radial-gradient(circle at 20% 30%,#ffffff55 0 3px,transparent 4px),radial-gradient(circle at 70% 60%,#ffffff44 0 2px,transparent 3px),linear-gradient(180deg,#c084fc,#9333ea 60%,#6b21a8) !important; box-shadow:inset 0 2px 0 #fff6,0 4px 0 #3b0764 !important; }
html.cx[data-theme="grape"][data-mode][data-style] :is(.btn:not(.primary):not(.info),.seg button:not(.active)) { color:var(--gs-ink); border:2px solid #c084fc66 !important; background:#a855f714 !important; box-shadow:none !important; }
html.cx[data-theme="grape"][data-mode][data-style] :is(.btn,.seg button):hover { transform:translateY(-3px) scale(1.04); }
html.cx[data-theme="grape"][data-mode][data-style] :is(input,select,textarea) { border-radius:14px !important; border:2px solid #c084fc55; background:var(--gs-panel); }
html.cx[data-theme="grape"][data-mode][data-style] :is(.card,.stat,.panel):not(.station-card):not(.add-card) { border-radius:20px !important; border:1.5px solid #c084fc30 !important; background:var(--gs-panel) !important; box-shadow:0 20px 40px -28px #000 !important; }
html.cx[data-theme="grape"][data-mode][data-style] .station-grid { display:flex !important; flex-wrap:wrap; justify-content:center; gap:40px !important; padding:30px 0 50px; }
/* A crimped bottle cap: scalloped rim, glossy top, soda printed in the middle */
html.cx[data-theme="grape"][data-mode][data-style] .station-grid > .station-card {
  width:290px; height:290px; min-height:0; box-sizing:border-box; padding:46px 40px !important; text-align:center; position:relative; overflow:visible; color:#fff;
  border:0 !important; border-radius:50% !important; display:flex !important; flex-direction:column; align-items:center; justify-content:center;
  background:radial-gradient(circle at 34% 28%,#ffffff40,transparent 34%),radial-gradient(circle,#a855f7 0 58%,#7e22ce 59% 64%,#9333ea 65%) !important;
  -webkit-mask:radial-gradient(circle,#000 66%,transparent 66.5%),conic-gradient(#000 0 0); mask:radial-gradient(circle,#000 66%,transparent 66.5%),repeating-conic-gradient(#000 0 7.5deg,transparent 7.5deg 15deg);
  -webkit-mask-composite:source-over; mask-composite:add;
  box-shadow:none !important; filter:drop-shadow(0 18px 18px #0009);
  animation:gs-pop .9s cubic-bezier(.34,1.56,.64,1) backwards;
}
html.cx[data-theme="grape"][data-mode][data-style] .station-grid > .station-card:nth-child(2) { animation-delay:.15s; background:radial-gradient(circle at 34% 28%,#ffffff40,transparent 34%),radial-gradient(circle,#e879f9 0 58%,#a21caf 59% 64%,#c026d3 65%) !important; }
html.cx[data-theme="grape"][data-mode][data-style] .station-grid > .station-card::before { content:"" !important; display:block !important; position:absolute; inset:20%; border-radius:50%; border:2px dashed #ffffff55; background:none !important; opacity:1; height:auto; width:auto; }
html.cx[data-theme="grape"][data-mode][data-style] .station-grid > .station-card::after { display:none !important; }
html.cx[data-theme="grape"][data-mode][data-style] .station-card > * { position:relative; }
html.cx[data-theme="grape"][data-mode][data-style] .station-card :is(h3,.meta,.sc-bal-num,.sc-bal-label,.sc-bal-suffix,.ov-l,.ov-v,.gp,.muted) { color:#fff !important; text-shadow:0 2px 0 #3b0764; }
html.cx[data-theme="grape"][data-mode][data-style] .station-card .sc-head { flex-direction:column; align-items:center; gap:0; margin:0; }
html.cx[data-theme="grape"][data-mode][data-style] .station-card h3 { font:400 21px/1.05 var(--gs-pop); }
html.cx[data-theme="grape"][data-mode][data-style] .station-card .meta { font-size:11px; }
html.cx[data-theme="grape"][data-mode][data-style] .station-card .sc-badge { display:none; }
html.cx[data-theme="grape"][data-mode][data-style] .station-card .sc-balance::after { display:none !important; }
html.cx[data-theme="grape"][data-mode][data-style] .station-card .sc-balance { background:none !important; border:0 !important; box-shadow:none !important; padding:4px 0 0; margin:0; }
html.cx[data-theme="grape"][data-mode][data-style] .station-card .sc-bal-num { font-size:24px; }
html.cx[data-theme="grape"][data-mode][data-style] .station-card .sc-bal-label { font:700 8px var(--font); letter-spacing:.2em; text-transform:uppercase; }
html.cx[data-theme="grape"][data-mode][data-style] .station-card .sc-prices { justify-content:center; gap:4px; margin:4px 0 0; }
html.cx[data-theme="grape"][data-mode][data-style] .station-card .gp { font:700 10px var(--font); border:0 !important; background:#00000033 !important; border-radius:999px; padding:2px 6px; text-shadow:none; }
html.cx[data-theme="grape"][data-mode][data-style] .station-card .sc-rows { display:none; }
html.cx[data-theme="grape"][data-mode][data-style] .station-grid > .add-card { width:120px; height:120px; min-height:0; padding:0 !important; align-self:center; display:flex !important; align-items:center; justify-content:center; text-align:center; border-radius:50% !important; border:3px dashed #c084fc88 !important; background:transparent !important; box-shadow:none !important; font:400 14px var(--gs-pop); color:#e9d5ff !important; }
html.cx[data-theme="grape"][data-mode][data-style] .station-grid > .add-card::before,html.cx[data-theme="grape"][data-mode][data-style] .station-grid > .add-card::after { display:none !important; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) { html.cx[data-theme="grape"][data-mode][data-style] .station-grid > .station-card:hover { animation:gs-rattle .3s ease-in-out 2; } }
.sn-grape { margin:8px 0 22px; }
.sn-grape .gs-secs { display:flex; flex-wrap:wrap; gap:12px 16px; }
html.cx .sn-grape button.gs-sec { display:flex; flex-direction:column; align-items:center; gap:6px; font:700 12px var(--font); color:var(--gs-dim); animation:gs-pop .6s cubic-bezier(.34,1.56,.64,1) calc(var(--n) * 60ms) backwards; }
.sn-grape .gs-ico { display:grid; place-items:center; width:52px; height:52px; font-size:20px; border-radius:50%; background:radial-gradient(circle at 34% 28%,#ffffff55,transparent 36%),radial-gradient(circle,var(--c) 0 60%,color-mix(in srgb,var(--c) 60%,#000) 61%); -webkit-mask:radial-gradient(circle,#000 64%,transparent 65%),repeating-conic-gradient(#000 0 10deg,transparent 10deg 20deg); mask:radial-gradient(circle,#000 64%,transparent 65%),repeating-conic-gradient(#000 0 10deg,transparent 10deg 20deg); transition:transform .5s cubic-bezier(.34,1.56,.64,1); }
html.cx .sn-grape button.gs-sec:hover .gs-ico { transform:rotate(30deg); }
html.cx .sn-grape button.gs-sec[aria-selected="true"] { color:var(--gs-ink); }
html.cx .sn-grape button.gs-sec[aria-selected="true"] .gs-ico { transform:scale(1.2) rotate(-15deg); filter:drop-shadow(0 0 12px var(--c)); }
.sn-grape .gs-tray { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.sn-grape .gs-tray.in > * { animation:gs-pop .5s cubic-bezier(.34,1.56,.64,1) calc(var(--n) * 40ms) backwards; }
html.cx .sn-grape button.gs-pg { display:inline-flex; align-items:center; gap:8px; padding:9px 18px; border-radius:999px; font:700 13px var(--font); color:var(--gs-ink); background:radial-gradient(circle at 15% 35%,#ffffff33 0 2px,transparent 3px),radial-gradient(circle at 85% 65%,#ffffff2a 0 2px,transparent 3px),#a855f71f; border:1.5px solid #c084fc44; transition:transform .45s cubic-bezier(.34,1.56,.64,1); }
html.cx .sn-grape button.gs-pg:hover { transform:translateY(-4px); }
html.cx .sn-grape button.gs-pg[aria-current="page"] { color:#fff; background:radial-gradient(circle at 15% 35%,#ffffff66 0 2px,transparent 3px),linear-gradient(180deg,#c084fc,#7e22ce); border-color:transparent; box-shadow:0 4px 0 #3b0764; }
html.cx[data-theme="grape"][data-mode][data-style] .month-bar .title { font:400 26px var(--gs-pop); color:#f5d0fe; }
html.cx[data-theme="grape"][data-mode][data-style] .stat .label { font:700 10px var(--font); letter-spacing:.14em; text-transform:uppercase; color:var(--gs-dim); }
html.cx[data-theme="grape"][data-mode][data-style] .stat .value { font-size:26px; }
html.cx[data-theme="grape"][data-mode][data-style] .station-stats-side .stat { border-left:0 !important; }
html.cx[data-theme="grape"][data-mode][data-style] .cal .dow { font:700 11px var(--font); letter-spacing:.14em; color:var(--gs-dim); }
html.cx[data-theme="grape"][data-mode][data-style] .cal .day:not(.empty) { border-radius:18px !important; border:1.5px solid #c084fc22 !important; background:var(--gs-panel) !important; box-shadow:none !important; }
html.cx[data-theme="grape"][data-mode][data-style] .cal .day.empty { background:transparent !important; border:0 !important; box-shadow:none !important; }
html.cx[data-theme="grape"][data-mode][data-style] .cal .day .badge { border-radius:999px; background:#a855f726; color:inherit; border:0; }
html.cx[data-theme="grape"][data-mode][data-style] .cal .day.today { background:radial-gradient(circle at 25% 75%,#ffffff55 0 2px,transparent 3px),radial-gradient(circle at 60% 40%,#ffffff44 0 2px,transparent 3px),linear-gradient(180deg,#c084fc,#7e22ce) !important; border-color:transparent !important; }
html.cx[data-theme="grape"][data-mode][data-style] .cal .day.today :is(.num,.muted,div,span) { color:#fff !important; }

/* =====================================================================================================
   SEPIA — Newsprint. UnifrakturMaguntia masthead + Playfair Display headlines + EB Garamond; stations are
   newspaper front pages (masthead, dateline, headline, columns); sections are section flags; pages are
   headlines; newsprint grain and halftone.
   ===================================================================================================== */
html.cx[data-theme="sepia"] { --np-paper:#f4ecd8; --np-ink:#1c1712; --np-text:#f0e6d2; --np-dim:#b8a585; --np-panel:color-mix(in srgb,#332715 88%,transparent);
  --font:"EB Garamond",Georgia,serif; --np-head:"Playfair Display",Georgia,serif; --np-mast:"UnifrakturMaguntia","Playfair Display",serif; --radius:0px; --radius-btn:0px; }
html.cx[data-theme="sepia"][data-mode="light"] { --np-text:#1c1712; --np-dim:#5a4a35; --np-panel:#fbf6eaf2; }
html.cx[data-theme="sepia"][data-mode][data-style] body { font-family:var(--font); font-size:16px; background:#1a140c; }
html.cx[data-theme="sepia"][data-mode="light"][data-style] body { background:#efe6d0; }
html.cx[data-theme="sepia"] #cx-art .cx-a { inset:0; background:radial-gradient(circle,#ffffff09 1px,transparent 1.5px) 0 0/4px 4px; }
html.cx[data-theme="sepia"][data-mode="light"] #cx-art .cx-a { background:radial-gradient(circle,#1c171210 1px,transparent 1.5px) 0 0/4px 4px; }
@keyframes np-press { from { transform:translateY(-14px) rotate(-1deg); opacity:0; } to { opacity:1; } }
html.cx[data-theme="sepia"][data-mode][data-style] :is(h1,h2,h3,h4,.brand) { font-family:var(--np-head); font-weight:900; letter-spacing:-.01em; }
html.cx[data-theme="sepia"][data-mode][data-style] .brand { font-family:var(--np-mast); font-weight:400; font-size:22px; }
html.cx[data-theme="sepia"][data-mode][data-style] .section-head h2 { font:900 clamp(38px,4vw,64px)/.95 var(--np-head); color:var(--np-text); border-bottom:4px double var(--np-text); padding-bottom:8px; }
html.cx[data-theme="sepia"][data-mode][data-style] :is(.stat .value,.sc-bal-num,.month-bar .title,.cal .day .num) { font-family:var(--np-head); font-weight:900; }
html.cx[data-theme="sepia"][data-mode][data-style] :is(.btn,.seg button) { border-radius:0 !important; font:700 12px var(--font); letter-spacing:.14em; text-transform:uppercase; transition:background .2s,color .2s; }
html.cx[data-theme="sepia"][data-mode][data-style] :is(.btn.primary,.btn.info,.seg button.active) { color:var(--np-paper) !important; border:2px solid var(--np-text) !important; background:var(--np-ink) !important; box-shadow:none !important; }
html.cx[data-theme="sepia"][data-mode][data-style] :is(.btn:not(.primary):not(.info),.seg button:not(.active)) { color:var(--np-text); border:1px solid var(--np-text) !important; background:transparent !important; box-shadow:none !important; }
html.cx[data-theme="sepia"][data-mode][data-style] :is(.btn,.seg button):hover { background:var(--np-text) !important; color:var(--np-ink) !important; }
html.cx[data-theme="sepia"][data-mode][data-style] :is(input,select,textarea) { border-radius:0 !important; border:1px solid var(--np-text); background:var(--np-panel); font-family:var(--font); }
html.cx[data-theme="sepia"][data-mode][data-style] :is(.card,.stat,.panel):not(.station-card):not(.add-card) { border-radius:0 !important; border:1px solid #f0e6d244 !important; border-top:3px solid var(--np-text) !important; background:var(--np-panel) !important; box-shadow:none !important; }
html.cx[data-theme="sepia"][data-mode][data-style] .station-grid { display:flex !important; flex-wrap:wrap; justify-content:center; align-items:flex-start; gap:30px !important; padding:24px 0 50px; }
html.cx[data-theme="sepia"][data-mode][data-style] .station-grid > .station-card {
  width:330px; min-height:0; box-sizing:border-box; padding:68px 20px 18px !important; position:relative; color:var(--np-ink);
  border:0 !important; border-radius:0 !important; background:linear-gradient(#1c1712,#1c1712) 20px 54px/calc(100% - 40px) 1px no-repeat,linear-gradient(#1c1712,#1c1712) 20px 58px/calc(100% - 40px) 3px no-repeat,radial-gradient(circle,#1c171208 1px,transparent 1.5px) 0 0/4px 4px,#f4ecd8 !important;
  box-shadow:0 1px 3px #0006,0 18px 26px -16px #000c !important; transform:rotate(-.8deg);
  animation:np-press .7s cubic-bezier(.22,1,.36,1) backwards; transition:transform .5s cubic-bezier(.22,1,.36,1);
}
html.cx[data-theme="sepia"][data-mode][data-style] .station-grid > .station-card:nth-child(2n) { transform:rotate(.8deg); animation-delay:.12s; }
html.cx[data-theme="sepia"][data-mode][data-style] .station-grid > .station-card::before { content:"The Daily Pump" !important; display:block !important; position:absolute; inset:auto; left:0; right:0; top:12px; width:auto; height:auto; text-align:center; font:400 30px/1 var(--np-mast); color:#1c1712; background:none !important; opacity:1; }
html.cx[data-theme="sepia"][data-mode][data-style] .station-grid > .station-card::after { content:"VOL. XXVI · LATE EDITION · ONE DOLLAR" !important; display:block !important; position:absolute; inset:auto; left:20px; right:20px; top:44px; width:auto; height:auto; text-align:center; font:600 8px var(--font); letter-spacing:.18em; color:#1c1712; background:none !important; opacity:1; }
html.cx[data-theme="sepia"][data-mode][data-style] .station-card :is(h3,.sc-bal-num,.ov-v,.gp) { color:#1c1712 !important; }
html.cx[data-theme="sepia"][data-mode][data-style] .station-card :is(.meta,.sc-bal-label,.sc-bal-suffix,.ov-l,.muted) { color:#4a3d2c !important; }
html.cx[data-theme="sepia"][data-mode][data-style] .station-card .sc-head { flex-direction:column; align-items:flex-start; gap:2px; margin:6px 0 0; }
html.cx[data-theme="sepia"][data-mode][data-style] .station-card h3 { font:900 26px/1 var(--np-head); text-transform:uppercase; letter-spacing:-.02em; }
html.cx[data-theme="sepia"][data-mode][data-style] .station-card .meta { font:italic 14px var(--font); }
html.cx[data-theme="sepia"][data-mode][data-style] .station-card .sc-badge { display:none; }
html.cx[data-theme="sepia"][data-mode][data-style] .station-card .sc-balance::after { display:none !important; }
html.cx[data-theme="sepia"][data-mode][data-style] .station-card .sc-balance { background:none !important; border:0 !important; box-shadow:none !important; padding:6px 0; margin:8px 0 4px; border-block:1px solid #1c1712 !important; border-radius:0; display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; }
html.cx[data-theme="sepia"][data-mode][data-style] .station-card .sc-bal-num { font-size:28px; order:2; }
html.cx[data-theme="sepia"][data-mode][data-style] .station-card .sc-bal-label { font:700 10px var(--font); letter-spacing:.14em; text-transform:uppercase; order:1; }
html.cx[data-theme="sepia"][data-mode][data-style] .station-card .sc-prices { gap:0; margin:6px 0 0; display:grid; grid-template-columns:repeat(3,1fr); column-rule:1px solid #1c1712; }
html.cx[data-theme="sepia"][data-mode][data-style] .station-card .gp { font:600 13px var(--font); text-align:center; border:0 !important; border-left:1px solid #1c171255 !important; background:transparent !important; padding:0 4px; border-radius:0; }
html.cx[data-theme="sepia"][data-mode][data-style] .station-card .gp:first-child { border-left:0 !important; }
html.cx[data-theme="sepia"][data-mode][data-style] .station-card .sc-rows { border:0; margin:6px 0 0; padding:0; }
html.cx[data-theme="sepia"][data-mode][data-style] .station-card .ov-row:first-child { display:none; }
html.cx[data-theme="sepia"][data-mode][data-style] .station-card .ov-row { border:0; font:italic 13px var(--font); }
html.cx[data-theme="sepia"][data-mode][data-style] .station-grid > .add-card { width:200px; height:130px; min-height:0; padding:0 !important; align-self:center; display:flex !important; align-items:center; justify-content:center; text-align:center; border-radius:0 !important; border:1px dashed #f0e6d288 !important; background:transparent !important; box-shadow:none !important; font:900 17px var(--np-head); color:var(--np-text) !important; }
html.cx[data-theme="sepia"][data-mode][data-style] .station-grid > .add-card::before,html.cx[data-theme="sepia"][data-mode][data-style] .station-grid > .add-card::after { display:none !important; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) { html.cx[data-theme="sepia"][data-mode][data-style] .station-grid > .station-card:hover { transform:rotate(0) translateY(-6px); } }
.sn-sepia { margin:8px 0 24px; }
.sn-sepia .np-secs { display:flex; flex-wrap:wrap; gap:0; border-block:3px double var(--np-text); }
html.cx .sn-sepia button.np-sec { display:flex; align-items:baseline; gap:8px; padding:10px 16px; font:700 13px var(--font); letter-spacing:.16em; text-transform:uppercase; color:var(--np-dim); border-right:1px solid #f0e6d244; }
.sn-sepia .np-ico { font:900 18px var(--np-head); color:var(--np-text); }
html.cx .sn-sepia button.np-sec:hover { color:var(--np-text); }
html.cx .sn-sepia button.np-sec[aria-selected="true"] { color:var(--np-ink); background:var(--np-text); }
html.cx .sn-sepia button.np-sec[aria-selected="true"] .np-ico { color:var(--np-ink); }
.sn-sepia .np-tray { columns:3 200px; column-gap:26px; column-rule:1px solid #f0e6d233; margin-top:14px; }
.sn-sepia .np-tray.in > * { animation:np-press .4s cubic-bezier(.22,1,.36,1) calc(var(--n) * 40ms) backwards; }
html.cx .sn-sepia button.np-pg { display:flex; align-items:baseline; gap:8px; width:100%; padding:6px 0; break-inside:avoid; font:900 17px/1.15 var(--np-head); color:var(--np-text); border-bottom:1px solid #f0e6d222; }
html.cx .sn-sepia button.np-pg > span { font-size:13px; }
html.cx .sn-sepia button.np-pg:hover { text-decoration:underline; text-underline-offset:3px; }
html.cx .sn-sepia button.np-pg[aria-current="page"] { font-style:italic; }
html.cx .sn-sepia button.np-pg[aria-current="page"]::after { content:"— EXTRA!"; font:700 10px var(--font); letter-spacing:.14em; color:#c43b2c; margin-left:auto; }
html.cx[data-theme="sepia"][data-mode][data-style] .month-bar .title { font-size:26px; }
html.cx[data-theme="sepia"][data-mode][data-style] .stat .label { font:700 10px var(--font); letter-spacing:.16em; text-transform:uppercase; color:var(--np-dim); }
html.cx[data-theme="sepia"][data-mode][data-style] .stat .value { font-size:26px; }
html.cx[data-theme="sepia"][data-mode][data-style] .station-stats-side .stat { border-left:0 !important; }
html.cx[data-theme="sepia"][data-mode][data-style] .cal .dow { font:700 11px var(--font); letter-spacing:.16em; color:var(--np-dim); }
html.cx[data-theme="sepia"][data-mode][data-style] .cal .day:not(.empty) { border-radius:0 !important; border:1px solid #f0e6d22a !important; background:var(--np-panel) !important; box-shadow:none !important; }
html.cx[data-theme="sepia"][data-mode][data-style] .cal .day.empty { background:transparent !important; border:0 !important; box-shadow:none !important; }
html.cx[data-theme="sepia"][data-mode][data-style] .cal .day .badge { border-radius:0; background:transparent; border:1px solid #f0e6d255; color:inherit; font-family:var(--font); }
html.cx[data-theme="sepia"][data-mode][data-style] .cal .day.today { background:radial-gradient(circle,#1c171210 1px,transparent 1.5px) 0 0/4px 4px,#f4ecd8 !important; border:2px solid #f4ecd8 !important; }
html.cx[data-theme="sepia"][data-mode][data-style] .cal .day.today :is(.num,.muted,div,span) { color:#1c1712 !important; }

/* =====================================================================================================
   CRIMSON — Blood Moon. Cinzel Decorative + Cormorant Garamond; stations are gothic arched windows lit
   by a huge blood-red moon; sections trace the phases of an eclipse; pages are wax-sealed chips; a red
   moon rising behind drifting mist and bats.
   ===================================================================================================== */
html.cx[data-theme="crimson"] { --bm-red:#ef4444; --bm-deep:#7f1d1d; --bm-ink:#ffe6e2; --bm-dim:#c99a94; --bm-panel:color-mix(in srgb,#2a0d0d 86%,transparent);
  --font:"Cormorant Garamond",Garamond,serif; --bm-goth:"Cinzel Decorative","Cinzel",serif; --radius:4px; --radius-btn:2px; }
html.cx[data-theme="crimson"][data-mode="light"] { --bm-ink:#3a0d0d; --bm-dim:#8a4a44; --bm-panel:#fff8f6f0; }
html.cx[data-theme="crimson"][data-mode][data-style] body { font-family:var(--font); font-size:17px; background:radial-gradient(70vmax 70vmax at 78% 18%,#3a0a0a,transparent 60%),#0d0505; }
html.cx[data-theme="crimson"][data-mode="light"][data-style] body { background:radial-gradient(70vmax 70vmax at 78% 18%,#fde2e2,transparent 60%),#fdecec; }
html.cx[data-theme="crimson"] #cx-art .cx-a { right:8vw; top:6vh; width:30vmax; height:30vmax; border-radius:50%; background:radial-gradient(circle at 42% 38%,#ff8a7a,#dc2626 40%,#7f1d1d 75%,#450a0a); box-shadow:0 0 120px 30px #dc262655,inset -40px -30px 80px #00000088; opacity:.75; animation:bm-rise 30s ease-in-out infinite alternate; }
html.cx[data-theme="crimson"] #cx-art .cx-b { left:-20vw; right:-20vw; bottom:-6vh; height:30vh; background:radial-gradient(50% 60% at 30% 100%,#3a1a1a88,transparent 70%),radial-gradient(40% 50% at 75% 100%,#3a1a1a77,transparent 70%); filter:blur(20px); animation:cc-drift 40s ease-in-out infinite alternate; }
html.cx[data-theme="crimson"] #cx-art .cx-c { top:22vh; left:-40px; width:26px; height:12px; background:#000; clip-path:polygon(0 30%,20% 0,35% 40%,50% 20%,65% 40%,80% 0,100% 30%,70% 70%,50% 100%,30% 70%); animation:bm-bat 16s linear infinite; }
html.cx[data-theme="crimson"][data-mode="light"] #cx-art .cx-a { opacity:.35; }
@keyframes bm-rise { from { transform:translateY(8vh); } to { transform:translateY(-2vh); } }
@keyframes bm-bat { 0% { transform:translate(0,0) scaleY(1); } 25% { transform:translate(30vw,-6vh) scaleY(.4); } 50% { transform:translate(60vw,4vh) scaleY(1); } 75% { transform:translate(90vw,-4vh) scaleY(.4); } 100% { transform:translate(120vw,0) scaleY(1); } }
@keyframes bm-reveal { from { clip-path:inset(100% 0 0 0); opacity:0; } to { clip-path:inset(0); opacity:1; } }
html.cx[data-theme="crimson"][data-mode][data-style] :is(h1,h2,h3,h4,.brand) { font-family:var(--bm-goth); font-weight:700; letter-spacing:.04em; }
html.cx[data-theme="crimson"][data-mode][data-style] .section-head h2 { font-size:clamp(32px,3.2vw,52px); color:#fecaca; text-shadow:0 0 18px #dc262688,0 2px 0 #450a0a; }
html.cx[data-theme="crimson"][data-mode="light"][data-style] .section-head h2 { color:#991b1b; text-shadow:none; }
html.cx[data-theme="crimson"][data-mode][data-style] :is(.stat .value,.sc-bal-num,.month-bar .title,.cal .day .num) { font-family:var(--bm-goth); font-weight:700; }
html.cx[data-theme="crimson"][data-mode][data-style] :is(.btn,.seg button) { border-radius:2px !important; font:700 14px var(--font); letter-spacing:.1em; text-transform:uppercase; transition:box-shadow .3s,background .3s; }
html.cx[data-theme="crimson"][data-mode][data-style] :is(.btn.primary,.btn.info,.seg button.active) { color:#fff1f0 !important; border:1px solid #fca5a5 !important; background:linear-gradient(180deg,#b91c1c,#7f1d1d) !important; box-shadow:0 0 16px #dc262666 !important; }
html.cx[data-theme="crimson"][data-mode][data-style] :is(.btn:not(.primary):not(.info),.seg button:not(.active)) { color:var(--bm-ink); border:1px solid #ef444466 !important; background:transparent !important; box-shadow:none !important; }
html.cx[data-theme="crimson"][data-mode][data-style] :is(.btn,.seg button):hover { box-shadow:0 0 20px #dc262688 !important; }
html.cx[data-theme="crimson"][data-mode][data-style] :is(input,select,textarea) { border-radius:2px !important; border:1px solid #ef444455; background:var(--bm-panel); font-family:var(--font); }
html.cx[data-theme="crimson"][data-mode][data-style] :is(.card,.stat,.panel):not(.station-card):not(.add-card) { border-radius:4px !important; border:1px solid #ef444430 !important; background:var(--bm-panel) !important; box-shadow:0 20px 34px -26px #000 !important; }
html.cx[data-theme="crimson"][data-mode][data-style] .station-grid { display:flex !important; flex-wrap:wrap; justify-content:center; align-items:flex-end; gap:34px !important; padding:30px 0 50px; }
html.cx[data-theme="crimson"][data-mode][data-style] .station-grid > .station-card {
  width:280px; min-height:0; box-sizing:border-box; padding:120px 26px 24px !important; text-align:center; position:relative; overflow:hidden; isolation:isolate; color:var(--bm-ink);
  border:3px solid #3a1414 !important; border-radius:140px 140px 4px 4px !important;
  background:radial-gradient(circle at 50% 70px,#ff8a7a 0 8px,#dc2626 34px,#991b1b 52px,#7f1d1d55 60px,transparent 80px),linear-gradient(180deg,#2a0606,#140404 60%) !important;
  box-shadow:inset 0 0 0 6px #140404,inset 0 0 0 7px #ef444455,0 0 50px -14px #dc2626,0 24px 36px -18px #000 !important;
  animation:bm-reveal 1s cubic-bezier(.22,1,.36,1) backwards; transition:box-shadow .5s;
}
html.cx[data-theme="crimson"][data-mode][data-style] .station-grid > .station-card:nth-child(2) { animation-delay:.15s; background:radial-gradient(circle at 50% 70px,#fca5a5 0 6px,#ef4444 30px,#b91c1c 48px,#7f1d1d55 56px,transparent 76px),linear-gradient(180deg,#1f0610,#0e0408 60%) !important; }
/* Tracery: the arch's mullion */
html.cx[data-theme="crimson"][data-mode][data-style] .station-grid > .station-card::before { content:"" !important; display:block !important; position:absolute; inset:auto; left:50%; top:0; width:2px; height:110px; margin-left:-1px; opacity:.6; background:linear-gradient(#3a1414,transparent) !important; z-index:1; }
html.cx[data-theme="crimson"][data-mode][data-style] .station-grid > .station-card::after { content:"" !important; display:block !important; position:absolute; inset:auto; left:20px; right:20px; top:108px; height:2px; width:auto; opacity:.6; background:#3a1414 !important; }
html.cx[data-theme="crimson"][data-mode][data-style] .station-card :is(h3,.sc-bal-num,.ov-v,.gp) { color:var(--bm-ink) !important; }
html.cx[data-theme="crimson"][data-mode][data-style] .station-card :is(.meta,.sc-bal-label,.sc-bal-suffix,.ov-l,.muted) { color:#e5a8a2 !important; }
html.cx[data-theme="crimson"][data-mode][data-style] .station-card .sc-head { flex-direction:column; align-items:center; gap:0; }
html.cx[data-theme="crimson"][data-mode][data-style] .station-card h3 { font:700 18px/1.2 var(--bm-goth); }
html.cx[data-theme="crimson"][data-mode][data-style] .station-card .meta { font:italic 15px var(--font); }
html.cx[data-theme="crimson"][data-mode][data-style] .station-card .sc-badge { display:none; }
html.cx[data-theme="crimson"][data-mode][data-style] .station-card .sc-balance::after { display:none !important; }
html.cx[data-theme="crimson"][data-mode][data-style] .station-card .sc-balance { background:none !important; border:0 !important; box-shadow:none !important; padding:8px 0; margin:8px 0 4px; border-block:1px solid #ef444444 !important; border-radius:0; }
html.cx[data-theme="crimson"][data-mode][data-style] .station-card .sc-bal-num { font-size:24px; color:#fca5a5 !important; }
html.cx[data-theme="crimson"][data-mode][data-style] .station-card .sc-bal-label { font:italic 600 13px var(--font); }
html.cx[data-theme="crimson"][data-mode][data-style] .station-card .sc-prices { justify-content:center; gap:10px; margin:4px 0 0; }
html.cx[data-theme="crimson"][data-mode][data-style] .station-card .gp { font:600 14px var(--font); border:0 !important; background:transparent !important; padding:0; border-radius:0; }
html.cx[data-theme="crimson"][data-mode][data-style] .station-card .sc-rows { display:none; }
html.cx[data-theme="crimson"][data-mode][data-style] .station-grid > .add-card { width:140px; height:180px; min-height:0; padding:0 !important; align-self:flex-end; display:flex !important; align-items:center; justify-content:center; text-align:center; border-radius:70px 70px 4px 4px !important; border:1px dashed #ef444488 !important; background:transparent !important; box-shadow:none !important; font:700 12px var(--bm-goth); color:#fca5a5 !important; }
html.cx[data-theme="crimson"][data-mode][data-style] .station-grid > .add-card::before,html.cx[data-theme="crimson"][data-mode][data-style] .station-grid > .add-card::after { display:none !important; }
@media (hover:hover) { html.cx[data-theme="crimson"][data-mode][data-style] .station-grid > .station-card:hover { box-shadow:inset 0 0 0 6px #140404,inset 0 0 0 7px #ef4444aa,0 0 80px -6px #dc2626,0 24px 36px -18px #000 !important; } }
.sn-crimson { margin:8px 0 22px; }
.sn-crimson .bm-secs { display:flex; flex-wrap:wrap; gap:12px 22px; padding:6px 4px; }
html.cx .sn-crimson button.bm-sec { display:flex; flex-direction:column; align-items:center; gap:6px; font:700 11px var(--bm-goth); letter-spacing:.06em; color:var(--bm-dim); animation:bm-reveal .7s cubic-bezier(.22,1,.36,1) calc(var(--n) * 70ms) backwards; }
.sn-crimson .bm-ico { font-size:30px; filter:grayscale(1) brightness(.7); transition:filter .4s,transform .5s cubic-bezier(.22,1,.36,1); }
html.cx .sn-crimson button.bm-sec:hover .bm-ico { filter:grayscale(.3) sepia(1) hue-rotate(-30deg) saturate(4); }
html.cx .sn-crimson button.bm-sec[aria-selected="true"] { color:#fecaca; }
html.cx .sn-crimson button.bm-sec[aria-selected="true"] .bm-ico { filter:sepia(1) hue-rotate(-40deg) saturate(6) drop-shadow(0 0 10px #dc2626); transform:scale(1.2); }
.sn-crimson .bm-tray { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.sn-crimson .bm-tray.in > * { animation:bm-reveal .45s cubic-bezier(.22,1,.36,1) calc(var(--n) * 45ms) backwards; }
html.cx .sn-crimson button.bm-pg { position:relative; display:inline-flex; align-items:center; gap:8px; padding:9px 18px 9px 34px; font:600 16px var(--font); color:var(--bm-ink); background:var(--bm-panel); border:1px solid #ef444433; transition:box-shadow .3s; }
html.cx .sn-crimson button.bm-pg::before { content:""; position:absolute; left:10px; top:50%; width:16px; height:16px; margin-top:-8px; border-radius:46% 54% 50% 50%; background:radial-gradient(circle at 40% 35%,#f87171,#991b1b 70%); box-shadow:inset 0 0 0 2px #7f1d1d; }
html.cx .sn-crimson button.bm-pg > span { display:none; }
html.cx .sn-crimson button.bm-pg:hover { box-shadow:0 0 14px #dc262666; }
html.cx .sn-crimson button.bm-pg[aria-current="page"] { color:#fff1f0; background:linear-gradient(180deg,#b91c1c,#7f1d1d); border-color:#fca5a5; }
html.cx[data-theme="crimson"][data-mode][data-style] .month-bar .title { font-size:22px; }
html.cx[data-theme="crimson"][data-mode][data-style] .stat .label { font:italic 600 14px var(--font); color:var(--bm-dim); text-transform:none; letter-spacing:0; }
html.cx[data-theme="crimson"][data-mode][data-style] .stat .value { font-size:22px; }
html.cx[data-theme="crimson"][data-mode][data-style] .station-stats-side .stat { border-left:0 !important; }
html.cx[data-theme="crimson"][data-mode][data-style] .cal .dow { font:700 11px var(--bm-goth); color:var(--bm-dim); }
html.cx[data-theme="crimson"][data-mode][data-style] .cal .day:not(.empty) { border-radius:30px 30px 3px 3px !important; border:1px solid #ef444426 !important; background:var(--bm-panel) !important; box-shadow:none !important; }
html.cx[data-theme="crimson"][data-mode][data-style] .cal .day.empty { background:transparent !important; border:0 !important; box-shadow:none !important; }
html.cx[data-theme="crimson"][data-mode][data-style] .cal .day .num { font-size:16px; }
html.cx[data-theme="crimson"][data-mode][data-style] .cal .day .badge { border-radius:2px; background:#ef444422; color:inherit; border:0; }
html.cx[data-theme="crimson"][data-mode][data-style] .cal .day.today { background:radial-gradient(circle at 70% 70%,#f87171 0 6px,#b91c1c 18px,transparent 26px),var(--bm-panel) !important; border-color:#ef4444 !important; box-shadow:0 0 16px #dc262666 !important; }

/* =====================================================================================================
   AMBER — Goldbar. Archivo Expanded + DM Mono; stations are stamped gold bullion ingots (trapezoid bars
   with a bevel, hallmark and serial number) that catch a sweeping glint; sections are ingots in the vault;
   pages are minted coins; the vault's spotlight.
   ===================================================================================================== */
html.cx[data-theme="amber"] { --gb-g1:#fde68a; --gb-g2:#f59e0b; --gb-g3:#92400e; --gb-ink:#fdeccb; --gb-dim:#cfae7a; --gb-panel:color-mix(in srgb,#33260d 86%,transparent);
  --font:"Archivo","Inter",system-ui,sans-serif; --gb-mono:"DM Mono",ui-monospace,monospace; --radius:6px; --radius-btn:4px; }
html.cx[data-theme="amber"][data-mode="light"] { --gb-ink:#4a3208; --gb-dim:#8a6a2a; --gb-panel:#fffaf0ec; }
html.cx[data-theme="amber"][data-mode][data-style] body { font-family:var(--font); background:radial-gradient(60vmax 40vmax at 50% -10%,#3a2a0a,transparent 70%),repeating-linear-gradient(90deg,#1c1305 0 60px,#1f1607 60px 120px); }
html.cx[data-theme="amber"][data-mode="light"][data-style] body { background:radial-gradient(60vmax 40vmax at 50% -10%,#fff,transparent 70%),#fdf3df; }
html.cx[data-theme="amber"] #cx-art .cx-a { top:-20vh; left:50%; width:60vw; height:110vh; margin-left:-30vw; background:radial-gradient(50% 70% at 50% 0,#fde68a22,transparent 70%); }
@keyframes gb-glint { from { background-position:-200% 0,0 0; } to { background-position:200% 0,0 0; } }
@keyframes gb-drop { from { transform:translateY(-40px); opacity:0; } 70% { transform:translateY(3px); } to { transform:none; opacity:1; } }
html.cx[data-theme="amber"][data-mode][data-style] :is(h1,h2,h3,h4,.brand) { font-family:var(--font); font-weight:800; font-stretch:115%; letter-spacing:.02em; }
html.cx[data-theme="amber"][data-mode][data-style] .section-head h2 { font-size:clamp(32px,3.2vw,50px); text-transform:uppercase; font-weight:900; background:linear-gradient(180deg,#fff7d6,#fde68a 40%,#d97706 60%,#fbbf24); -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent; filter:drop-shadow(0 2px 0 #451a03); }
html.cx[data-theme="amber"][data-mode][data-style] :is(.stat .value,.sc-bal-num,.month-bar .title,.cal .day .num) { font-family:var(--font); font-weight:800; }
html.cx[data-theme="amber"][data-mode][data-style] :is(.btn,.seg button) { border-radius:4px !important; font:800 12px var(--font); letter-spacing:.08em; text-transform:uppercase; clip-path:none !important; padding-left:14px !important; padding-right:14px !important; transition:transform .2s,filter .2s; }
html.cx[data-theme="amber"][data-mode][data-style] :is(.btn.primary,.btn.info,.seg button.active) { color:#451a03 !important; border:0 !important; background:linear-gradient(180deg,#fff1b8,#fbbf24 45%,#d97706 75%,#fbbf24) !important; box-shadow:inset 0 1px 0 #fff,inset 0 -2px 0 #92400e,0 3px 0 #451a03 !important; }
html.cx[data-theme="amber"][data-mode][data-style] :is(.btn:not(.primary):not(.info),.seg button:not(.active)) { color:var(--gb-ink); border:1px solid #f59e0b66 !important; background:#f59e0b12 !important; box-shadow:none !important; }
html.cx[data-theme="amber"][data-mode][data-style] :is(.btn,.seg button):hover { filter:brightness(1.1); transform:translateY(-1px); }
html.cx[data-theme="amber"][data-mode][data-style] :is(input,select,textarea) { border-radius:4px !important; border:1px solid #f59e0b55; background:var(--gb-panel); }
html.cx[data-theme="amber"][data-mode][data-style] :is(.card,.stat,.panel):not(.station-card):not(.add-card) { border-radius:6px !important; border:1px solid #f59e0b30 !important; background:var(--gb-panel) !important; box-shadow:0 20px 34px -26px #000 !important; }
html.cx[data-theme="amber"][data-mode][data-style] .station-grid { display:flex !important; flex-wrap:wrap; justify-content:center; gap:34px !important; padding:34px 0 50px; }
html.cx[data-theme="amber"][data-mode][data-style] .station-grid > .station-card {
  width:340px; min-height:0; box-sizing:border-box; padding:28px 46px 24px !important; text-align:center; position:relative; color:#451a03;
  border:0 !important; border-radius:6px !important; clip-path:polygon(9% 0,91% 0,100% 100%,0 100%);
  background:linear-gradient(105deg,transparent 35%,#ffffffaa 48%,transparent 60%) -200% 0/60% 100% no-repeat,
    linear-gradient(180deg,#fff7d6 0,#fde68a 8%,#fbbf24 30%,#f59e0b 55%,#d97706 80%,#b45309 100%) !important;
  box-shadow:inset 0 2px 0 #fff,inset 0 -4px 8px #92400e88 !important; filter:drop-shadow(0 18px 18px #000a);
  animation:gb-drop .8s cubic-bezier(.22,1,.36,1) backwards,gb-glint 5s ease-in-out 1s infinite;
}
html.cx[data-theme="amber"][data-mode][data-style] .station-grid > .station-card:nth-child(2) { animation-delay:.15s,2.5s; }
/* The stamped hallmark rectangle inside the bar */
html.cx[data-theme="amber"][data-mode][data-style] .station-grid > .station-card::before { content:"" !important; display:block !important; position:absolute; inset:12px 52px; border:2px solid #92400e66; border-radius:4px; box-shadow:inset 0 1px 2px #92400e55,0 1px 0 #fff8; background:none !important; opacity:1; height:auto; width:auto; pointer-events:none; }
html.cx[data-theme="amber"][data-mode][data-style] .station-grid > .station-card::after { content:"FINE GOLD · 999.9" !important; display:block !important; position:static; margin-top:8px; font:500 9px var(--gb-mono); letter-spacing:.24em; color:#78350f; background:none !important; opacity:1; height:auto; width:auto; }
html.cx[data-theme="amber"][data-mode][data-style] .station-card :is(h3,.sc-bal-num,.ov-v,.gp) { color:#451a03 !important; text-shadow:0 1px 0 #fff6; }
html.cx[data-theme="amber"][data-mode][data-style] .station-card :is(.meta,.sc-bal-label,.sc-bal-suffix,.ov-l,.muted) { color:#78350f !important; }
html.cx[data-theme="amber"][data-mode][data-style] .station-card .sc-head { flex-direction:column; align-items:center; gap:0; }
html.cx[data-theme="amber"][data-mode][data-style] .station-card h3 { font:900 17px/1.1 var(--font); font-stretch:120%; text-transform:uppercase; letter-spacing:.04em; }
html.cx[data-theme="amber"][data-mode][data-style] .station-card .meta { font:500 10px var(--gb-mono); letter-spacing:.2em; text-transform:uppercase; }
html.cx[data-theme="amber"][data-mode][data-style] .station-card .sc-badge { display:none; }
html.cx[data-theme="amber"][data-mode][data-style] .station-card .sc-balance::after { display:none !important; }
html.cx[data-theme="amber"][data-mode][data-style] .station-card .sc-balance { background:none !important; border:0 !important; box-shadow:none !important; padding:4px 0 2px; margin:4px 0 0; }
html.cx[data-theme="amber"][data-mode][data-style] .station-card .sc-bal-num { font-size:28px; font-weight:900; }
html.cx[data-theme="amber"][data-mode][data-style] .station-card .sc-bal-label { font:500 9px var(--gb-mono); letter-spacing:.2em; text-transform:uppercase; }
html.cx[data-theme="amber"][data-mode][data-style] .station-card .sc-prices { justify-content:center; gap:10px; margin:4px 0 0; }
html.cx[data-theme="amber"][data-mode][data-style] .station-card .gp { font:500 12px var(--gb-mono); border:0 !important; background:transparent !important; padding:0; border-radius:0; }
html.cx[data-theme="amber"][data-mode][data-style] .station-card .sc-rows { display:none; }
html.cx[data-theme="amber"][data-mode][data-style] .station-grid > .add-card { width:180px; height:90px; min-height:0; padding:0 !important; align-self:center; display:flex !important; align-items:center; justify-content:center; text-align:center; border:2px dashed #f59e0b88 !important; border-radius:4px !important; clip-path:polygon(9% 0,91% 0,100% 100%,0 100%); background:transparent !important; box-shadow:none !important; font:800 12px var(--font); text-transform:uppercase; color:var(--gb-g1) !important; }
html.cx[data-theme="amber"][data-mode][data-style] .station-grid > .add-card::before,html.cx[data-theme="amber"][data-mode][data-style] .station-grid > .add-card::after { display:none !important; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) { html.cx[data-theme="amber"][data-mode][data-style] .station-grid > .station-card:hover { transform:translateY(-6px); } }
.sn-amber { margin:8px 0 22px; }
.sn-amber .gb-secs { display:flex; flex-wrap:wrap; gap:10px 8px; padding:12px 14px; border-radius:6px; background:linear-gradient(180deg,#2a1f0a,#1a1306); box-shadow:inset 0 2px 10px #000; }
html.cx .sn-amber button.gb-sec { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px; width:108px; height:46px; font:900 12px var(--font); text-transform:uppercase; letter-spacing:.06em; color:#451a03; clip-path:polygon(9% 0,91% 0,100% 100%,0 100%); background:linear-gradient(180deg,#fff1b8,#fbbf24 40%,#d97706 80%,#b45309); filter:saturate(.5) brightness(.75); transition:filter .3s,transform .4s cubic-bezier(.22,1,.36,1); animation:gb-drop .6s cubic-bezier(.22,1,.36,1) calc(var(--n) * 60ms) backwards; }
.sn-amber .gb-ico { font:500 8px var(--gb-mono); letter-spacing:.2em; color:#78350f; }
html.cx .sn-amber button.gb-sec:hover { filter:none; }
html.cx .sn-amber button.gb-sec[aria-selected="true"] { filter:none; transform:translateY(-6px); box-shadow:0 0 22px #fbbf2488; }
.sn-amber .gb-tray { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.sn-amber .gb-tray.in > * { animation:gb-drop .45s cubic-bezier(.22,1,.36,1) calc(var(--n) * 40ms) backwards; }
html.cx .sn-amber button.gb-pg { display:inline-flex; align-items:center; gap:10px; padding:6px 16px 6px 6px; border-radius:999px; font:700 13px var(--font); color:var(--gb-ink); background:var(--gb-panel); border:1px solid #f59e0b44; transition:border-color .3s,transform .25s; }
html.cx .sn-amber button.gb-pg::before { content:"$"; display:grid; place-items:center; width:26px; height:26px; border-radius:50%; font:900 13px var(--font); color:#78350f; background:radial-gradient(circle,#fde68a 0 55%,transparent 56%),repeating-conic-gradient(#d97706 0 6deg,#92400e 6deg 12deg); }
html.cx .sn-amber button.gb-pg > span { display:none; }
html.cx .sn-amber button.gb-pg:hover { border-color:var(--gb-g1); transform:translateY(-2px); }
html.cx .sn-amber button.gb-pg[aria-current="page"] { color:#451a03; background:linear-gradient(180deg,#fff1b8,#fbbf24); border-color:transparent; }
html.cx[data-theme="amber"][data-mode][data-style] .month-bar .title { font-size:22px; text-transform:uppercase; }
html.cx[data-theme="amber"][data-mode][data-style] .stat .label { font:500 10px var(--gb-mono); letter-spacing:.16em; text-transform:uppercase; color:var(--gb-dim); }
html.cx[data-theme="amber"][data-mode][data-style] .stat .value { font-size:24px; }
html.cx[data-theme="amber"][data-mode][data-style] .station-stats-side .stat { border-left:0 !important; }
html.cx[data-theme="amber"][data-mode][data-style] .cal .dow { font:500 11px var(--gb-mono); letter-spacing:.16em; color:var(--gb-dim); }
html.cx[data-theme="amber"][data-mode][data-style] .cal .day:not(.empty) { border-radius:4px !important; border:1px solid #f59e0b26 !important; background:var(--gb-panel) !important; box-shadow:none !important; }
html.cx[data-theme="amber"][data-mode][data-style] .cal .day.empty { background:transparent !important; border:0 !important; box-shadow:none !important; }
html.cx[data-theme="amber"][data-mode][data-style] .cal .day .badge { border-radius:3px; background:#f59e0b22; color:inherit; border:0; font-family:var(--gb-mono); }
html.cx[data-theme="amber"][data-mode][data-style] .cal .day.today { background:linear-gradient(180deg,#fff7d6,#fde68a 10%,#fbbf24 40%,#d97706) !important; border-color:transparent !important; }
html.cx[data-theme="amber"][data-mode][data-style] .cal .day.today :is(.num,.muted,div,span) { color:#451a03 !important; }
/* =====================================================================================================
   Phone layout for every classic: month bar wraps, the calendar fits seven narrow columns, station
   cards never exceed the screen, and decorations that hang off a card's edge stay inside.
   ===================================================================================================== */
@media (max-width:600px) {
  html.cx[data-mode][data-style] .month-bar { display:grid !important; grid-template-columns:auto minmax(0,1fr) auto; gap:8px; align-items:center; }
  html.cx[data-mode][data-style] .month-bar .title { min-width:0; font-size:17px !important; text-align:center; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  html.cx[data-mode][data-style] .month-bar select { min-width:0; width:100%; }
  html.cx[data-mode][data-style] .month-bar select:first-of-type { grid-column:1 / 3; }
  html.cx[data-mode][data-style] .cal { grid-template-columns:repeat(7,minmax(0,1fr)) !important; gap:4px !important; padding:4px 0 14px !important; }
  html.cx[data-mode][data-style] .cal .dow { min-width:0; font-size:10px !important; letter-spacing:0 !important; overflow:hidden; text-overflow:clip; }
  html.cx[data-mode][data-style] .cal .day { min-width:0 !important; min-height:64px; padding:4px 3px !important; overflow:hidden; overflow-wrap:anywhere; }
  html.cx[data-mode][data-style] .cal .day .num { font-size:15px !important; }
  html.cx[data-mode][data-style] .cal .day :is(.muted,.small,.badge) { font-size:9px !important; }
  html.cx[data-mode][data-style] .station-main { padding-inline:0; min-width:0; }
  html.cx[data-mode][data-style] .station-grid { padding-left:0 !important; padding-right:0 !important; }
  html.cx[data-mode][data-style] .station-grid > :is(.station-card,.add-card) { max-width:100% !important; transform:none !important; }
  html.cx[data-mode][data-style] .section-head { flex-wrap:wrap; }
  html.cx[data-mode][data-style] .sc-actions { flex-wrap:wrap; max-width:100%; }
  html.cx[data-mode][data-style] .section-head > div { flex-wrap:wrap; justify-content:flex-end; max-width:100%; }
  html.cx[data-mode][data-style] :is(.btn,.seg button) { letter-spacing:.03em !important; }
  html.cx[data-mode][data-style] .sc-actions .btn { letter-spacing:.02em !important; }
  /* Terminal's [bracketed] buttons and Zephyr's streamline tail would push past the screen edge. */
  html.cx[data-theme="terminal"][data-mode][data-style] .topbar :is(.btn,.seg button)::before,
  html.cx[data-theme="terminal"][data-mode][data-style] .topbar :is(.btn,.seg button)::after { content:none !important; }
  html.cx[data-theme="zephyr"][data-mode][data-style] .station-grid > .station-card::after { display:none !important; }
  html.cx[data-theme="zephyr"][data-mode][data-style] .station-grid > .station-card { padding-right:34px !important; }
  html.cx[data-theme="sky"][data-mode][data-style] .station-grid > .station-card { padding-right:98px !important; }
  html.cx[data-theme="velvet"][data-mode][data-style] .station-grid > .station-card { padding-right:86px !important; }
  html.cx[data-theme="galaxy"][data-mode][data-style] .station-grid > .station-card::before,
  html.cx[data-theme="galaxy"][data-mode][data-style] .station-grid > .station-card::after { left:-10px; right:-10px; }
}
