/* Presentation only: no layout, visibility, stacking, terminal metrics, map
   geometry, semantic game colors, or interaction rules belong in this file. */
html[data-site-theme='dark'] {
  --polish-page: #0b1019;
  --polish-panel: #131c28;
  --polish-raised: #1c2838;
  --polish-edge: #2e3b4d;
  --polish-muted: #aab8c9;
  --polish-text: #ecf0f5;
  --polish-accent: #ffca7c;
  --polish-wash: #ffca7c12;
  --polish-shadow: #00000030;
}
html[data-site-theme='saga'] {
  --polish-page: #10243a;
  --polish-panel: #152e48;
  --polish-raised: #1e3c59;
  --polish-edge: #3e607d;
  --polish-muted: #becddd;
  --polish-text: #f4f1e6;
  --polish-accent: #ffd18a;
  --polish-wash: #ffd18a0a;
  --polish-shadow: #00000024;
}

/* A shared frame with quieter surfaces and a warm accent. */
html[data-site-theme] #app {
  border-color: var(--polish-edge);
  background: var(--polish-page);
  box-shadow: 0 0 0 1px var(--polish-edge), 0 20px 60px var(--polish-shadow);
}
html[data-site-theme] #app .titlebar {
  background: linear-gradient(110deg, var(--polish-raised), var(--polish-panel));
  border-bottom-color: var(--polish-edge);
  box-shadow: inset 0 2px var(--polish-accent);
}
html[data-site-theme] #app .titlebar .title,
html[data-site-theme] #app .titlebar .title .db {
  color: var(--polish-text); text-shadow: none;
}
html[data-site-theme] #app .titlebar .title b { color: var(--polish-accent); text-shadow: none; }
html[data-site-theme] #app .titlebar .stat,
html[data-site-theme] #app .titlebar .stat b { color: var(--polish-muted); }
html[data-site-theme] #app .dragon-mark { filter: none; box-shadow: inset -2px -3px #93421820; }
html[data-site-theme] #app .menubar {
  background: var(--polish-panel); border-bottom-color: var(--polish-edge); box-shadow: none;
}
html[data-site-theme] #app .tab {
  border-radius: 8px; text-shadow: none; box-shadow: none;
}
html[data-site-theme] #app .tab:where(:not(.tab-play):not(.tab-discord):not(.tab-admin):not(.tab-logout)) { color: var(--polish-muted); }
html[data-site-theme] #app .tab:where(:not(.tab-admin):not(.tab-logout)):hover {
  color: var(--polish-text); background: var(--polish-raised); border-color: var(--polish-edge);
}
html[data-site-theme] #app .tab.active:not(.tab-admin),
html[data-site-theme] #app .tab.tab-play {
  color: #251a0e; background: #ffca7c; border-color: #ffca7c;
}
html[data-site-theme] #app .tab.tab-play:hover { background: #ffdcaa; border-color: #ffdcaa; color: #251a0e; }
html[data-site-theme] #app .tab.tab-discord { background: #5865a826; border-color: #7987d166; color: var(--polish-text); }
html[data-site-theme] #app .tab.tab-char:not(.active) { background: var(--polish-wash); border-color: var(--polish-edge); }
html[data-site-theme] .navmenu,
html[data-site-theme] .charmenu {
  background: var(--polish-panel); border-color: var(--polish-edge);
  box-shadow: 0 12px 35px var(--polish-shadow), inset 0 1px #ffffff08;
}
html[data-site-theme] .navmenu-item:not(.item-admin),
html[data-site-theme] .charmenu-item { color: var(--polish-text); }
html[data-site-theme] .navmenu-item:not(.item-admin):hover,
html[data-site-theme] .charmenu-item:hover { background: var(--polish-raised); color: var(--polish-accent); box-shadow: none; }
html[data-site-theme] .navmenu-item.current:not(.item-admin) { background: var(--polish-wash); color: var(--polish-accent); }
html[data-site-theme] #app .viewport:not(:has(> .pane-play)) { background: var(--polish-page); }

/* Public pages: consistent panels, fields, tables, and restrained highlights. */
html[data-site-theme] #app :is(.box, .home-section, .home-links) {
  background: var(--polish-panel); border-color: var(--polish-edge);
  box-shadow: 0 6px 24px var(--polish-shadow), inset 0 1px #ffffff05;
}
html[data-site-theme] #app .box > .box-hd {
  background: linear-gradient(100deg, var(--polish-raised), var(--polish-panel));
  border-bottom-color: var(--polish-edge);
}
html[data-site-theme] #app .box > .box-hd .h { color: var(--polish-accent); text-shadow: none; }
html[data-site-theme] #app .box.hero {
  border-color: var(--polish-edge);
  background: linear-gradient(115deg, #172333 0%, #242832 60%, #594034 100%);
  box-shadow: 0 14px 40px var(--polish-shadow);
}
html[data-site-theme] #app .hero-word { text-shadow: 0 3px 12px #0003; }
html[data-site-theme] #app .hero-sub { color: #ffca7c; text-shadow: none; }
html[data-site-theme] #app .hero-bd::after { filter: none; opacity: .8; box-shadow: inset -18px -22px #702c1014, 0 0 0 12px #ffc87508; }
html[data-site-theme] #app .hstat { border-color: #ffca7c40; background: #0b101960; }
html[data-site-theme] #app .home-link { border-color: var(--polish-edge); }
html[data-site-theme] #app :is(.home-eyebrow, .home-section-hd h2, .home-step h3, .home-link b) { color: var(--polish-accent); }
html[data-site-theme] #app :is(.home-step p, .home-link small) { color: var(--polish-muted); }
html[data-site-theme] #app .home-link:hover { background: var(--polish-wash); box-shadow: inset 3px 0 var(--polish-accent); }
html[data-site-theme] #app :is(.cli-wrap, .who-wrap) { background: var(--polish-panel); border-color: var(--polish-edge); }
html[data-site-theme] #app .cli:where(:not(.lb-table)) thead th { background: var(--polish-raised); color: var(--polish-text); border-bottom-color: var(--polish-edge); }
html[data-site-theme] #app :is(.cli:where(:not(.lb-table)) th, .cli:where(:not(.lb-table)) td, .who th, .who td) { border-color: var(--polish-edge); }
html[data-site-theme] #app .cli:where(:not(.lb-table)) tbody tr:nth-child(even),
html[data-site-theme] #app .who tbody tr:nth-child(even) { background: var(--polish-wash); }
html[data-site-theme] #app .cli:where(:not(.lb-table)) tbody tr:hover,
html[data-site-theme] #app .who tbody tr:hover { background: var(--polish-raised); box-shadow: inset 3px 0 var(--polish-accent); }
html[data-site-theme] #app .inp { border-color: var(--polish-edge); border-radius: 7px; box-shadow: inset 0 1px 4px var(--polish-shadow); }
html[data-site-theme] #app .inp:focus { border-color: var(--polish-accent); box-shadow: 0 0 0 3px var(--polish-wash); }
html[data-site-theme] #app .btn { border-radius: 7px; box-shadow: none; text-shadow: none; }
html[data-site-theme] .modal-win { border-color: var(--polish-edge); box-shadow: 0 24px 80px #0008; }
html[data-site-theme] .modal-bar { background: var(--polish-raised); border-bottom-color: var(--polish-edge); }
html[data-site-theme] .modal-title { color: var(--polish-text); }
html[data-site-theme] .modal-x { color: var(--polish-text); border-color: var(--polish-edge); }

/* Cockpit chrome uses its own dark surface palette in both site themes.
   The terminal's user-selected palette and all ANSI spans remain authoritative. */
html[data-site-theme] .play.cockpit {
  --deck-panel: #111b28;
  --deck-raised: #1b2a3d;
  --deck-edge: #334459;
  --deck-muted: #a8b8ca;
  --deck-text: #e1e8f1;
  --deck-accent: #ffca7c;
  border-color: #263548; box-shadow: 0 0 0 1px #334459, inset 0 1px #ffffff08;
}
html[data-site-theme] .play.cockpit .play-bar {
  color: var(--deck-muted); border-bottom-color: var(--deck-edge);
  background: linear-gradient(100deg, #1b2a3d, #111b28); box-shadow: inset 0 1px #ffffff08;
}
html[data-site-theme] .play.cockpit .play-bar .x {
  color: var(--deck-text); background: #ffffff05; border-color: var(--deck-edge);
  border-radius: 6px; box-shadow: none;
}
html[data-site-theme] .play.cockpit .play-bar .x:not(.disc):hover,
html[data-site-theme] .play.cockpit .play-bar .x.mode.on {
  color: var(--deck-accent); background: #ffca7c12; border-color: #ffca7c66;
}
html[data-site-theme] .play.cockpit .play-bar .x.disc:hover { color: #ffb3ae; border-color: #e97770; background: #e977701a; }
html[data-site-theme] .play.cockpit:not(.full-client) .play-rail {
  background: linear-gradient(180deg, #0d1622, #0a111b); border-color: var(--deck-edge);
}
html[data-site-theme] .play.cockpit .pr-card { border-color: var(--deck-edge); border-radius: 9px; box-shadow: 0 4px 16px #0003; }
html[data-site-theme] .play.cockpit .pr-card:not(.pr-map) { background: var(--deck-panel); }
html[data-site-theme] .play.cockpit .pr-hd {
  background: linear-gradient(100deg, var(--deck-raised), #152131);
  border-bottom-color: #2d3e51; color: var(--deck-muted); text-shadow: none;
}
html[data-site-theme] .play.cockpit .pr-hd .t { color: #ffcf8c; text-shadow: none; }
html[data-site-theme] .play.cockpit .pr-target .pr-hd .t { color: #ff8f8a; }
html[data-site-theme] .play.cockpit .pr-hd .sub { color: var(--deck-muted); }
html[data-site-theme] .play.cockpit :is(.pr-status, .pr-maploc) { background: #131f2d; border-color: var(--deck-edge); }
html[data-site-theme] .play.cockpit .env-read i { color: var(--deck-muted); }
html[data-site-theme] .play.cockpit .pr-maploc .sub { color: #a8b8ca; }
html[data-site-theme] .play.cockpit .nb-chip { border-radius: 6px; }
html[data-site-theme] .play.cockpit .nb-chip:not(.tracked):not(.hostile) { background-color: #ffffff04; }
html[data-site-theme] .play.cockpit .qmenu { background: #142132; border-color: var(--deck-edge); border-radius: 9px; box-shadow: 0 14px 36px #0007; }
html[data-site-theme] .play.cockpit .qmenu .qm-it:hover { background: #223249; }
html[data-site-theme] .play.cockpit .pr-ctabs { background: #111c2a; border-color: var(--deck-edge); }
html[data-site-theme] .play.cockpit :is(.pr-ctab, .pr-compass button, .play-macros button) {
  background: #19283a; color: var(--deck-text); border-color: #3a4d64; border-radius: 6px;
}
html[data-site-theme] .play.cockpit .pr-compass button.lit { color: var(--deck-accent); border-color: #aa8554; }
html[data-site-theme] .play.cockpit :is(.pr-ctab.on, .pr-ctab:hover, .pr-compass button.lit:hover, .play-macros button:hover) {
  color: #251a0e; background: var(--deck-accent); border-color: var(--deck-accent);
}
html[data-site-theme] .play.cockpit .pr-strip { background: #111b28; border-color: var(--deck-edge); box-shadow: 0 -4px 16px #0002; }
html[data-site-theme] .play.cockpit .pr-strip button { color: var(--deck-muted); background: transparent; border-color: var(--deck-edge); text-shadow: none; }
html[data-site-theme] .play.cockpit .pr-strip button.on { color: var(--deck-accent); background: #ffca7c12; box-shadow: inset 0 2px var(--deck-accent); }
html[data-site-theme] .play.cockpit:not(.full-client) .play-in {
  background: linear-gradient(180deg, #172436, #111b28); border-top-color: #49536a;
  box-shadow: inset 0 1px #ffffff06, 0 -5px 20px #0002;
}
html[data-site-theme] .play.cockpit .play-in :is(.play-command-input, .play-command-password) {
  background: var(--term-bg); border-color: #465b73; border-radius: 7px;
  box-shadow: inset 3px 0 var(--term-accent), inset 0 1px 6px #0004;
}
html[data-site-theme] .play.cockpit .play-in :is(.play-command-input, .play-command-password):focus {
  border-color: var(--term-accent); box-shadow: 0 0 0 2px color-mix(in srgb, var(--term-accent) 15%, transparent), inset 3px 0 var(--term-accent);
}
html[data-site-theme] .play.cockpit .play-in-hint { color: var(--deck-muted); }
html[data-site-theme] .play.cockpit .play-macros { border-color: var(--deck-edge); }
html[data-site-theme] .play.cockpit .rail-split:hover { background-color: #ffca7c55; }

/* Settings and command search: the same visual language, original sizing. */
html[data-site-theme] .play.cockpit .play-drawer { background: #111b28; border-color: #465b73; box-shadow: -16px 0 45px #0006; }
html[data-site-theme] .play.cockpit .pd-tabs { background: #172436; border-bottom-color: #334459; }
html[data-site-theme] .play.cockpit :is(.pd-tab, .pd-btn) { color: var(--deck-text); background: #1b2a3d; border-color: #3a4d64; border-radius: 6px; }
html[data-site-theme] .play.cockpit :is(.pd-tab.on, .pd-tab:hover, .pd-btn:hover) { background: #ffca7c; border-color: #ffca7c; color: #251a0e; }
html[data-site-theme] .play.cockpit :is(.pd-in, .pd-select, .pal-in) { background: #0b1420; border-color: #465b73; }
html[data-site-theme] .play.cockpit .pal-card { background: #111b28; border-color: #465b73; box-shadow: 0 20px 60px #0008; }
html[data-site-theme] .play.cockpit .pal-item.sel { background: #1d2c40; box-shadow: inset 3px 0 #ffca7c; }
html[data-site-theme] .play.cockpit .pal-item .pal-name { color: #ffcf8c; }
