/* Chess for Champs: one look for the whole app.
   Warm ivory panels, charcoal sidebar, gold accents, black body text, white text on dark buttons.
   Loaded after app.css and cloud.css, so these tokens win. Controlled teal and red are accents only. */
:root{
  --charcoal:#1E2931; --charcoal-2:#283540; --charcoal-3:#33424F; --navy:#0E2B3E; --edge:#0D3045;
  --baize:#1E2931; --baize-deep:#182128; --baize-soft:#283540;
  --brass:#E9A92B; --brass-light:#F4C95A; --brass-ink:#8A5F06;
  --vellum:#F5EEDC; --panel:#FFFDF6; --line:#BCAE8B;
  --ink:#111418; --ink-soft:#3B434C;
  --oxblood:#A3302F; --moss:#2B7A57; --slate:#1F4E73; --teal:#2A8590;
  --dpanel:#1E2931; --dpanel-2:#283540; --dline:#3E4F5D; --dink:#F6F3EA; --dink-soft:#C9D2D9;
  --display:"Poppins","Segoe UI",system-ui,sans-serif;
  --head:var(--display);
  --body:"Inter","Segoe UI",system-ui,sans-serif;
  --bar-h:44px;
  --c-slate-rgb:31,78,115; --c-moss-rgb:43,122,87; --c-brass-rgb:233,169,43; --c-oxblood-rgb:163,48,47; --c-deep-rgb:14,43,62; --c-flame-rgb:200,110,50;
}
body{ background:var(--vellum); color:var(--ink); }
a{ color:var(--slate); }
h1,h2,h3{ font-family:var(--head); color:var(--ink); }
.sr-only{ position:absolute!important; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }

/* ---------- top bar: Home at the left, Owner Access at the right ---------- */
.sitebar{ position:sticky; top:0; z-index:60; display:flex; align-items:center; gap:10px; height:calc(var(--bar-h) + env(safe-area-inset-top,0px)); padding:env(safe-area-inset-top,0px) 14px 0; background:var(--charcoal); color:#fff; border-bottom:2px solid var(--brass); }
.sitebar .menu-btn{ display:none; background:transparent; border:1px solid rgba(255,255,255,.35); color:#fff; border-radius:8px; min-height:36px; min-width:44px; padding:0 12px; font-weight:700; font-size:14px; }
.sitebar a{ text-decoration:none; font-weight:700; font-size:14px; }
.sb-home{ display:inline-flex; align-items:center; gap:7px; color:#fff; min-height:36px; padding:0 12px; border-radius:8px; border:1px solid rgba(255,255,255,.28); }
.sb-home svg{ width:16px; height:16px; }
.sb-home:hover,.sb-home:focus-visible{ border-color:var(--brass); }
.sb-spacer{ flex:1 1 auto; }
.sb-owner{ color:#E8DFC8; min-height:36px; display:inline-flex; align-items:center; padding:0 12px; border-radius:8px; border:1px solid rgba(255,255,255,.18); font-size:13px!important; font-weight:600!important; }
.sb-owner:hover,.sb-owner:focus-visible{ border-color:var(--brass); color:#fff; }
.sitebar .topbar-cta{ margin-left:0; }
.topbar{ display:none!important; }
body.door-mode .sitebar{ display:flex!important; }

/* ---------- sidebar: charcoal, restrained, emblem on top ---------- */
.shell{ min-height:calc(100vh - var(--bar-h)); }
.nav{ top:calc(var(--bar-h) + env(safe-area-inset-top,0px)); height:calc(100vh - var(--bar-h) - env(safe-area-inset-top,0px));
  background:var(--charcoal)!important; background-image:none!important; color:#EEF1F3; }
.wordmark{ padding:0 0 14px; margin-bottom:12px; border-bottom:1px solid rgba(255,255,255,.14); }
.wordmark .emblem{ display:block; width:150px; max-width:80%; height:auto; margin:0 auto; border-radius:8px; }
.nav h2{ color:#C9D2D9; }
.nav a{ color:#EEF1F3; }
.nav a[aria-current]{ background:var(--charcoal-3); }
.me-chip,.side-badge{ color:#1b1405; }
.nav-art{ opacity:.9; }

/* ---------- buttons: charcoal with white text, gold for the main action ---------- */
.btn{ background:var(--charcoal); color:#fff; border:1px solid var(--charcoal); }
.btn:hover,.btn:focus-visible{ background:var(--charcoal-3); }
.btn-brass{ background:var(--brass); color:#14110a; border-color:#B9811A; }
.btn-brass:hover,.btn-brass:focus-visible{ background:var(--brass-light); }
.btn-quiet{ background:transparent; color:var(--ink); border:1.5px solid var(--charcoal); }
.btn-quiet:hover,.btn-quiet:focus-visible{ background:rgba(30,41,49,.08); }

/* ---------- boxed sections (shared by both pages) ---------- */
.box{ background:var(--panel); border:2px solid var(--edge); border-radius:10px; position:relative; }
.panel,.tile,.welcome-bar,.continue-card,.student-cta,.start-card,.door-quotes .quote-card{ background:var(--panel); color:var(--ink); border-color:var(--edge); }
.tile{ border:1.5px solid var(--edge); }

/* ---------- footer ---------- */
.sitefoot{ background:var(--navy); color:#fff; text-align:center; padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px)); border-top:3px solid var(--brass); }
.sitefoot a{ color:#fff; font-family:var(--head); font-weight:700; font-size:20px; letter-spacing:.02em; text-decoration:none; }
.sitefoot a:hover,.sitefoot a:focus-visible{ text-decoration:underline; }

@media (max-width:900px){
  .sitebar .menu-btn{ display:inline-flex; align-items:center; }
  body.door-mode .sitebar .menu-btn{ display:none!important; }
  .nav{ top:0; height:100%; }
}
@media (prefers-reduced-motion:reduce){ *{ scroll-behavior:auto!important; } }

/* ---------- components that were designed for the old dark canvas: now ivory with black text ---------- */
:root{ --c-path:#1F4E73; --c-tools:#1F4E73; --c-first:#1F4E73; --c-play:#C9890F; --c-test:#A3302F; --c-power:#8C2A2E; }
.welcome-bar{ background:var(--panel); border:2px solid var(--edge); color:var(--ink); }
.welcome-text span{ color:var(--ink-soft); }
.welcome-avatar{ background:var(--charcoal); color:#fff; }
.tile.cat-first{ background:linear-gradient(180deg, rgba(31,78,115,.08), var(--panel) 40%); }
.tile.cat-first .cat-tag{ background:var(--c-first); color:#fff; }
.tile.cat-power{ background:linear-gradient(180deg, rgba(140,42,46,.08), var(--panel) 40%); }
.tile.cat-power .cat-tag{ background:var(--c-power); color:#fff; }
.tile.cat-tools .cat-tag{ background:rgba(31,78,115,.12); color:var(--slate); }
.d-banner + .d-equip{ margin-top:12px; }
.d-row .ring-mid small,.d-row .ring-mid span,.d-ring .ring-mid *{ color:var(--ink-soft)!important; }
.d-ring .ring-mid .big,.d-ring .ring-mid b{ color:var(--ink)!important; }
.d-title{ font-weight:900; -webkit-text-stroke:1px var(--head-navy); paint-order:stroke fill; }
.new-badge{ background:#BF352B; color:#fff; }
.side-badge.stu{ background:#1F6C75; color:#fff; }
.page-kicker .pk-label{ color:var(--ink); }
.oa-name{ color:var(--slate); }
.td-stat b{ color:var(--ink); }
.start-step.hue-coral .step-badge{ background:#B4531E; color:#fff; }
.tile .cat-tag{ color:var(--ink); }
.tile.cat-first .cat-tag,.tile.cat-power .cat-tag{ color:#fff; }
/* dark activity panels keep light text and gold links */
.study-card a:not(.btn),.panel:has(.activity) a:not(.btn),.panel.kc-q a:not(.btn){ color:var(--brass-light); }
.study-card .btn-quiet,.panel:has(.activity) .btn-quiet,.panel.kc-q .btn-quiet{ color:#fff; border-color:rgba(255,255,255,.65); }
.oa-card b{ color:var(--ink); }
.tile.cat-puzzle .cat-tag{ color:#7A3A12; }

/* Tournament Directors: their training tools only */
body.role-td .nav .grp-lessons, body.role-td .nav .grp-your-class, body.role-td .nav .grp-main [data-coach], body.role-td .nav .nav-more{ display:none!important; }
