
/* Layout: sticky nav over single-page router; navy hero with a live "turnover board", brass used only for action and key marks. */
:root{
  --bg:#f3eee3; --surface:#fbf8f1; --fg:#0e1a33; --muted:#4f5a72; --line:#d9cfbb;
  --navy:#0b2a55; --navy-2:#123a73; --on-navy:#f3f6fb; --brass:#a8742f; --brass-ink:#7a4f16; --brass-soft:#efe2cb; --paper-2:#ece5d6;
  --good:#1f7a4d; --warn:#9a6a00; --hold:#9a6a00;
  --f-display:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif;
  --f-body:"Figtree","Segoe UI",system-ui,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0a1424; --surface:#111f36; --fg:#eef2f8; --muted:#a3b0c6; --line:#243552;
  --navy:#07152b; --navy-2:#0f2a52; --on-navy:#f3f6fb; --brass:#d09a52; --brass-ink:#e2b673; --brass-soft:#2a2214;
  --good:#5ec48f; --warn:#e0b04a; --paper-2:#0e1c33; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0a1424; --surface:#111f36; --fg:#eef2f8; --muted:#a3b0c6; --line:#243552;
  --navy:#07152b; --navy-2:#0f2a52; --on-navy:#f3f6fb; --brass:#d09a52; --brass-ink:#e2b673; --brass-soft:#2a2214;
  --good:#5ec48f; --warn:#e0b04a; --paper-2:#0e1c33; color-scheme:dark}

body{margin:0}
body.cl-public{background:var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .38 0 0 0 0 .25 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}
body>br{display:none}
/* Shared shell: header, nav, buttons, footer. Used on every page including login and admin. */
header.site{position:sticky;top:0;z-index:20;background:var(--surface);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-block:10px}
.bar.wrap{max-width:1080px;margin-inline:auto;padding-inline:20px}
.logo{background:#fff;border-radius:6px;padding:2px 8px;display:flex}
.logo img{height:52px;width:auto;display:block}
header.site nav{display:flex;gap:4px;flex-wrap:wrap;margin-left:auto;align-items:center}
header.site nav a{text-decoration:none;font-weight:500;font-size:15px;padding:10px 12px;border-radius:6px;color:var(--muted)}
header.site nav a:hover{color:var(--fg)}
header.site nav a[aria-current="page"]{color:var(--fg);box-shadow:inset 0 -3px 0 var(--brass)}
.cl-btn,header.site nav a.cl-btn{display:inline-block;background:var(--brass-ink);color:#fff;font:700 16px/1 var(--f-display);padding:15px 22px;border-radius:6px;text-decoration:none;border:0;cursor:pointer}
html[data-theme="dark"] .cl-btn{background:var(--brass)}
.cl-btn:hover{filter:brightness(1.1)}
header.site nav a.cl-btn{padding:12px 16px;font-size:15px;color:#fff;box-shadow:none}
.skip{position:absolute;left:-999px;top:0;background:#fff;color:#000;padding:10px 14px;z-index:99}.skip:focus{left:8px;top:8px}
footer.cl-foot{background:var(--navy);color:#b9c6dc;padding-block:34px;font-size:15px}
footer.cl-foot .wrap{max-width:1080px;margin-inline:auto;padding-inline:20px}
footer.cl-foot .fl{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center}
footer.cl-foot .logo img{height:44px}
footer.cl-foot a{color:#dbe5f5}
footer.cl-foot .fine{display:flex;gap:16px;flex-wrap:wrap;margin-top:14px;font-size:14px;color:#8fa2c2}
body .footer{position:static;display:block;height:auto;min-height:0;padding:.75rem 1rem;text-align:center;line-height:1.4;box-sizing:border-box}
@media (max-width:860px){header.site nav{margin-left:0;width:100%}header.site nav a{padding:10px 9px;font-size:14px}}

footer.cl-foot .ph{font-weight:600}
footer.cl-foot .ph-note{color:#8fa2c2;font-style:italic;border-bottom:1px dotted #5d6f8f}
.reviews .rv-row{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-top:12px}
.reviews .rv-score{border:1px dashed #b79a63;border-radius:12px;padding:14px 22px;text-align:center}
.reviews .rv-score b{display:block;font-size:30px}
.reviews .rv-score span{font-size:13px;opacity:.75}
.reviews .rv-note{margin:0;max-width:36em}

/* dark mode: --fg is light there, so .band (background:var(--fg)) rendered light with light text */
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .band{background:var(--navy-2)}}
:root[data-theme="dark"] .band{background:var(--navy-2)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .report header{background:var(--navy-2)}}
:root[data-theme="dark"] .report header{background:var(--navy-2)}
/* Market selector (header) */
header.site nav .mkt{position:relative;margin:0 4px}
header.site nav .mkt summary{list-style:none;cursor:pointer;font-weight:600;font-size:14px;padding:9px 12px;border:1px solid var(--line,#c9d3e0);border-radius:6px;color:var(--fg)}
header.site nav .mkt summary::-webkit-details-marker{display:none}
header.site nav .mkt summary::after{content:" \25BE"}
header.site nav .mkt div{position:absolute;right:0;top:calc(100% + 6px);z-index:30;min-width:200px;background:var(--bg,#fff);border:1px solid var(--line,#c9d3e0);border-radius:8px;padding:6px;box-shadow:0 8px 24px rgba(0,0,0,.14);display:flex;flex-direction:column}
header.site nav .mkt div a{white-space:nowrap}
header.site nav .mkt div a[aria-current]{box-shadow:inset 3px 0 0 var(--brass)}
