/* Smorg: shared palette for desktop and companions. Warm stone grey and paper; each station section is its own world. */
html[data-theme="smorg"] {
  color-scheme:dark;
  --tint:#e9e4d6; --accent:#e9e4d6; --accent-2:#aeaba3; --accent-3:#f2f0ea;
  --font:"Inter","Helvetica Neue",Arial,sans-serif;
  --bg:#22211f; --panel:#2c2b28; --panel-2:#363531; --border:#4a4844;
  --text:#ebe9e3; --muted:#b3b0a8; --input-bg:#1e1d1b; --link:#f2f0ea;
  --green:#8fd3a3; --red:#ff8f86; --amber:#f0c467; --orange:#ffad7a;
  --radius:2px; --radius-btn:0px; --radius-input:0px;
  --surface:var(--panel); --surface-border-color:var(--border);
  --grad-brand:linear-gradient(var(--text),var(--text));
  --grad-primary:linear-gradient(var(--text),var(--text));
  --grad-primary-hover:linear-gradient(var(--muted),var(--muted));
  --btn-soft:linear-gradient(var(--panel-2),var(--panel-2));
  --btn-soft-hover:linear-gradient(var(--border),var(--border));
  --app-bg:var(--bg); --shadow:none; --shadow-glow:none;
}
html[data-theme="smorg"][data-mode="light"] {
  color-scheme:light;
  --tint:#1d1c1a; --accent:#1d1c1a; --accent-2:#4f4d48; --accent-3:#1d1c1a;
  --bg:#dddbd5; --panel:#ebe9e4; --panel-2:#d1cec7; --border:#b3b0a8;
  --text:#1d1c1a; --muted:#4c4a45; --input-bg:#f3f2ee; --link:#1d1c1a;
  --green:#1e6b3a; --red:#a8261f; --amber:#7a5000; --orange:#9c3f00;
  --grad-primary-hover:linear-gradient(#3a3935,#3a3935);
}

/* ---------- Worlds: each section of a station is its own studio identity (theme-sitenav.js sets data-sm-world) ---------- */
html[data-theme="smorg"] { --sm-font:"Archivo","Helvetica Neue",sans-serif; --sm-stretch:125%; --sm-weight:700; --sm-case:uppercase; --sm-style:normal; --sm-track:-.01em; --sm-word:var(--text); }
html[data-theme="smorg"][data-sm-world="fuel"] {
  --bg:#0d0c0a; --panel:#181613; --panel-2:#221f1a; --border:#3b362c; --text:#ecdfc2; --muted:#bcae8e; --input-bg:#12110e; --link:#ecdfc2; --accent:#ecdfc2; --tint:#ecdfc2;
  --sm-font:"Zilla Slab","Rockwell",serif; --sm-stretch:100%; --sm-weight:700; --sm-track:0; --sm-word:#e9dcc0;
}
html[data-theme="smorg"][data-mode="light"][data-sm-world="fuel"] { --bg:#efe6d2; --panel:#f8f2e4; --panel-2:#e3d7be; --border:#c4b48f; --text:#13110d; --muted:#594e37; --input-bg:#fbf7ee; --link:#13110d; --accent:#13110d; --tint:#13110d; --sm-word:#13110d; }
html[data-theme="smorg"][data-sm-world="money"] {
  --bg:#0b2a20; --panel:#10362a; --panel-2:#164434; --border:#2c604d; --text:#efe7d2; --muted:#bccab9; --input-bg:#0a251c; --link:#dcc07c; --accent:#d4b46a; --tint:#d4b46a;
  --sm-font:"Cinzel","Trajan Pro",serif; --sm-stretch:100%; --sm-weight:700; --sm-track:.04em; --sm-word:#d9bb72;
}
html[data-theme="smorg"][data-mode="light"][data-sm-world="money"] { --bg:#f1ede1; --panel:#fbf8f0; --panel-2:#e4dece; --border:#c3bba3; --text:#0c3326; --muted:#46584d; --input-bg:#fdfbf6; --link:#7a5c14; --accent:#7a5c14; --tint:#0c3326; --sm-word:#0c3326; }
html[data-theme="smorg"][data-sm-world="store"] {
  --bg:#2a0f0b; --panel:#391611; --panel-2:#491d16; --border:#703228; --text:#fbe9e2; --muted:#e3bdb0; --input-bg:#240d09; --link:#ff8a70; --accent:#ff6a4d; --tint:#ff6a4d;
  --sm-font:"Unbounded","Archivo",sans-serif; --sm-stretch:100%; --sm-weight:700; --sm-track:-.03em; --sm-word:#ff6a4d;
}
html[data-theme="smorg"][data-mode="light"][data-sm-world="store"] { --bg:#f6ebe4; --panel:#fff7f2; --panel-2:#eed8cc; --border:#d7b09f; --text:#3a120b; --muted:#71433a; --input-bg:#fffaf7; --link:#b5341c; --accent:#b5341c; --tint:#b5341c; --sm-word:#c63b22; }
html[data-theme="smorg"][data-sm-world="lottery"] {
  --bg:#0e1a4a; --panel:#14245d; --panel-2:#1c2f72; --border:#36498f; --text:#f5f1cd; --muted:#c6c8e2; --input-bg:#0c1640; --link:#f2e86d; --accent:#f2e86d; --tint:#f2e86d;
  --sm-font:"Syne","Archivo",sans-serif; --sm-stretch:100%; --sm-weight:700; --sm-track:-.035em; --sm-word:#f2e86d;
}
html[data-theme="smorg"][data-mode="light"][data-sm-world="lottery"] { --bg:#f4f0c6; --panel:#fdfbe7; --panel-2:#e9e2a8; --border:#cbc27e; --text:#13227a; --muted:#46508a; --input-bg:#fffef4; --link:#1f3fb5; --accent:#1f3fb5; --tint:#1f3fb5; --sm-word:#1f3fb5; }
html[data-theme="smorg"][data-sm-world="team"] {
  --bg:#2a1814; --panel:#36201b; --panel-2:#442923; --border:#6b443a; --text:#f4e2db; --muted:#d3b4aa; --input-bg:#24140f; --link:#f2bba9; --accent:#f0b8a6; --tint:#f0b8a6;
  --sm-font:"Instrument Serif","EB Garamond",serif; --sm-stretch:100%; --sm-weight:400; --sm-case:none; --sm-style:italic; --sm-track:-.02em; --sm-word:#f4e2db;
}
html[data-theme="smorg"][data-mode="light"][data-sm-world="team"] { --bg:#f2e0d9; --panel:#fbf1ed; --panel-2:#e8cec4; --border:#cfab9e; --text:#3a1f1a; --muted:#6c483f; --input-bg:#fdf7f4; --link:#9a3f33; --accent:#9a3f33; --tint:#9a3f33; --sm-word:#3a1f1a; }

@keyframes sm-dissolve { from { filter:blur(18px); opacity:0; transform:scale(1.03); } }

/* ---------- Page: the stage, quiet small type, flat surfaces ---------- */
html[data-theme="smorg"][data-mode] body { background:var(--bg); color:var(--text); font-family:var(--font); letter-spacing:-.005em; transition:background-color .6s ease,color .6s ease !important; }
html[data-theme="smorg"][data-mode] #content { padding-bottom:96px; }
html[data-theme="smorg"][data-mode] :is(h1,h2,h3,h4) { font-family:var(--font); font-weight:600; letter-spacing:-.02em; color:var(--text); }
html[data-theme="smorg"][data-mode] .section-head h2 { font-family:var(--sm-font); font-stretch:var(--sm-stretch); font-weight:var(--sm-weight); font-style:var(--sm-style); text-transform:var(--sm-case); letter-spacing:var(--sm-track);
  font-size:clamp(44px,7vw,112px); line-height:.88; color:var(--sm-word); }
/* On a station page the stage already names the station, so the title row keeps only its buttons. */
html.sn-on[data-theme="smorg"][data-mode] #content > .section-head { float:right; margin:0 0 0 16px; }
html.sn-on[data-theme="smorg"][data-mode] #content > .section-head h2 { display:none; }
html[data-theme="smorg"][data-mode] :is(a,.link) { color:var(--link); text-underline-offset:.22em; }
html[data-theme="smorg"] ::selection { background:var(--text); color:var(--bg); }

/* Header: tiny serif wordmark top-left, everything else whisper-quiet. */
html[data-theme="smorg"][data-mode][data-style] .topbar { background:transparent !important; border-color:transparent !important; box-shadow:none !important; }
html[data-theme="smorg"][data-mode] .topbar .brand { font-family:"EB Garamond",Georgia,serif; font-weight:500; font-size:19px; letter-spacing:-.02em; background:none; color:var(--text); -webkit-text-fill-color:currentColor; }

/* Surfaces: flat, hairline, square. */
html[data-theme="smorg"][data-mode][data-style] :is(.card,.stat,.modal,.login-card,.status-strip,.station-rail-right) {
  background:var(--panel) !important; border:1px solid var(--border) !important; border-radius:2px !important; box-shadow:none !important; -webkit-backdrop-filter:none; backdrop-filter:none;
}
html[data-theme="smorg"][data-mode] .card::before { display:none; }
html[data-theme="smorg"][data-mode][data-style] .card:hover { transform:none !important; border-color:var(--text) !important; }
html[data-theme="smorg"][data-mode] .station-card h3 { font-family:var(--sm-font); font-stretch:var(--sm-stretch); font-weight:var(--sm-weight); font-style:var(--sm-style); text-transform:var(--sm-case); font-size:30px; line-height:.95; letter-spacing:var(--sm-track); }
html[data-theme="smorg"][data-mode] :is(.stat .label,.cal .dow) { font-size:11px; text-transform:uppercase; letter-spacing:.12em; color:var(--muted); font-weight:600; }
html[data-theme="smorg"][data-mode] .stat .value { font-family:var(--sm-font); font-stretch:var(--sm-stretch); font-weight:var(--sm-weight); font-style:var(--sm-style); letter-spacing:var(--sm-track); }

/* Controls: small uppercase labels on hairline slabs. */
html[data-theme="smorg"][data-mode][data-style] .btn { border-radius:0 !important; font-size:11.5px; font-weight:600; text-transform:uppercase; letter-spacing:.1em; box-shadow:none !important; }
html[data-theme="smorg"][data-mode][data-style] #content .btn:not(.primary):not(.info):not(.danger) { background:transparent !important; border:1px solid var(--border); color:var(--text); }
html[data-theme="smorg"][data-mode][data-style] #content .btn:not(.primary):not(.info):not(.danger):hover { border-color:var(--text); }
html[data-theme="smorg"][data-mode][data-style] :is(.btn.primary,.btn.info) { background:var(--text) !important; color:var(--bg) !important; border:0; }
html[data-theme="smorg"][data-mode][data-style] :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea) { border-radius:0; border:1px solid var(--border); background:var(--input-bg); box-shadow:none; }
html[data-theme="smorg"][data-mode] :is(input[type="checkbox"],input[type="radio"]) { accent-color:var(--text); }
html[data-theme="smorg"][data-mode][data-style] .seg button.active { background:var(--text) !important; color:var(--bg) !important; }
html[data-theme="smorg"][data-mode] .month-bar { flex-wrap:wrap; row-gap:10px; }
html[data-theme="smorg"][data-mode] .month-bar .title { font-family:var(--sm-font); font-stretch:var(--sm-stretch); font-weight:var(--sm-weight); font-style:var(--sm-style); text-transform:var(--sm-case); letter-spacing:var(--sm-track); }

/* Calendar: a flat contact sheet; today inverted. */
html[data-theme="smorg"][data-mode][data-style] .cal .day:not(.empty) { border-radius:0 !important; box-shadow:none !important; transform:none !important; }
html[data-theme="smorg"][data-mode] .cal .day .num { font-family:var(--sm-font); font-stretch:var(--sm-stretch); font-weight:var(--sm-weight); font-style:var(--sm-style); letter-spacing:var(--sm-track); }
html[data-theme="smorg"][data-mode][data-style] .cal .day.today { background:var(--text) !important; color:var(--bg); outline:0; }
html[data-theme="smorg"][data-mode][data-style] .cal .day.today :is(.num,.mini,.mini *) { color:var(--bg) !important; }

/* ---------- The stage (theme-sitenav.js): taglines spread across the width, the page as a giant word ---------- */
html.sn-on[data-theme="smorg"][data-mode] .station-rail-left { display:none !important; }
html.sn-on[data-theme="smorg"][data-mode] .station-layout { grid-template-columns:minmax(0,1fr) 230px !important; }
html.sn-on[data-theme="smorg"][data-mode] .station-layout:not(:has(.station-rail-right)) { grid-template-columns:minmax(0,1fr) !important; }
@media (max-width:980px) { html.sn-on[data-theme="smorg"][data-mode] .station-layout { grid-template-columns:minmax(0,1fr) !important; } }
.sn-smorg { margin:0 0 20px; }
.sn-smorg .sm-stage { padding:4px 0; transition:filter .45s ease,opacity .45s ease !important; }
.sn-smorg .sm-tags { display:grid; grid-template-columns:1fr auto 1fr; gap:16px; font-family:var(--sm-font); font-stretch:var(--sm-stretch); font-style:var(--sm-style);
  font-weight:700; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--sm-word); }
.sn-smorg .sm-tags span:nth-child(2) { text-align:center; } .sn-smorg .sm-tags span:last-child { text-align:right; }
.sn-smorg .sm-word { font-family:var(--sm-font); font-stretch:var(--sm-stretch); font-weight:var(--sm-weight); font-style:var(--sm-style); text-transform:var(--sm-case);
  letter-spacing:var(--sm-track); font-size:clamp(48px,10vw,176px); line-height:.86; text-align:center; color:var(--sm-word); margin-top:.12em; text-wrap:balance; } /* theme-sitenav.js shrinks a word that is wider than the stage */
.sn-smorg .sm-swap :is(.sm-word,.sm-tags) { animation:sm-dissolve .9s cubic-bezier(.2,.7,.2,1) !important; }
html.sm-peek .sn-smorg .sm-stage { filter:blur(12px); opacity:.5; }

/* ---------- The index: every page along the bottom, like the studio's project list ---------- */
.sm-index { display:none; }
html[data-theme="smorg"] .sm-index {
  position:fixed; left:0; right:0; bottom:0; z-index:60; display:flex; align-items:flex-end; gap:34px; overflow-x:auto; scrollbar-width:none;
  padding:12px clamp(18px,3vw,48px); background:color-mix(in srgb,var(--bg) 88%,transparent); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
  border-top:1px solid var(--border); font-family:var(--font);
}
html[data-theme="smorg"] .sm-index::-webkit-scrollbar { display:none; }
html[data-theme="smorg"] .sm-index .sm-sec { display:flex; align-items:flex-end; gap:22px; flex:none; }
html[data-theme="smorg"] .sm-index .sm-sec-h { writing-mode:vertical-rl; transform:rotate(180deg); font-size:9.5px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); line-height:1; padding-right:6px; border-right:1px solid var(--border); }
html[data-theme="smorg"] .sm-index .sm-item { all:unset; box-sizing:border-box; cursor:pointer; display:flex; flex-direction:column; gap:3px; flex:none; opacity:.55; transition:opacity .2s !important; }
html[data-theme="smorg"] .sm-index .sm-item b { font-size:13px; font-weight:600; color:var(--text); white-space:nowrap; padding-bottom:2px; }
html[data-theme="smorg"] .sm-index .sm-item small { font-size:10.5px; color:var(--muted); white-space:nowrap; }
html[data-theme="smorg"] .sm-index .sm-item:is(:hover,:focus-visible,.on) { opacity:1; }
html[data-theme="smorg"] .sm-index .sm-item.on b { box-shadow:0 -2px 0 var(--sm-word) inset; }
html[data-theme="smorg"] .sm-index .sm-item:focus-visible { outline:2px solid var(--text); outline-offset:3px; }

/* ---------- Gallery preview ---------- */
.theme-showcase[data-preset="smorg"] .theme-showcase-orbit { display:none; }
.theme-showcase[data-preset="smorg"] .theme-showcase-pane { background:#0d0c0a; border:0; border-radius:2px; }
.theme-showcase[data-preset="smorg"] .theme-showcase-type { font-family:"Zilla Slab",serif; font-weight:700; text-transform:uppercase; color:#e9dcc0; }
.theme-showcase[data-preset="smorg"] .theme-showcase-mini-button { background:#e9dcc0; border-radius:0; }

@media (max-width:700px) {
  html[data-theme="smorg"][data-mode][data-style] .cal { gap:3px; padding-inline:0; grid-template-columns:repeat(7,minmax(0,1fr)); }
  html[data-theme="smorg"][data-mode][data-style] .cal .day:not(.empty) { min-width:0; padding:6px 4px !important; overflow:hidden; }
  html[data-theme="smorg"][data-mode] .cal .dow { letter-spacing:.02em; font-size:10px; }
  .sn-smorg .sm-tags { grid-template-columns:1fr 1fr; font-size:10px; letter-spacing:.08em; } .sn-smorg .sm-tags span:nth-child(2) { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  .sn-smorg .sm-swap :is(.sm-word,.sm-tags) { animation:none !important; }
  html.sm-peek .sn-smorg .sm-stage { filter:none; opacity:1; }
}
