/* PRM-inspired dark surfaces. The light design remains in brand.css. */
html { color-scheme:light; --on-accent:#172b0b; }
.nav-actions { display:flex; align-items:center; gap:12px; flex:none; }
.theme-toggle { display:none; align-items:center; justify-content:center; width:44px; height:44px; flex:none; border:1px solid var(--line); border-radius:50%; color:var(--ink); background:transparent; cursor:pointer; padding:0; transition:background-color .18s,transform .18s; }
html[data-theme-ready] .theme-toggle { display:inline-flex; }
.theme-toggle:hover { background:var(--surface-2); }
.theme-toggle:active { transform:scale(.94); }
.theme-toggle svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.theme-toggle .theme-sun { display:none; }
.brand .mark { width:42px; height:42px; object-fit:contain; border-radius:0; }
.art-caption { color:#172b0b; }
.kicker svg { fill:currentColor; }

html[data-theme="dark"] {
  color-scheme:dark;
  --bg:#080a08; --surface:#121412; --surface-2:#1b1e19;
  --ink:#f3f5ee; --muted:#a4aba0; --line:#2c3128;
  --accent:#baff36; --lime:#baff36; --cyan:#baff36;
  --pons:#b9c5ac; --coral:#f29494; --gold:#baff36;
}
html[data-theme="dark"] ::selection { color:var(--on-accent); background:var(--accent); }
html[data-theme="dark"] :focus-visible { outline-color:var(--accent); }
html[data-theme="dark"] .theme-toggle .theme-sun { display:block; }
html[data-theme="dark"] .theme-toggle .theme-moon { display:none; }
html[data-theme="dark"] nav { background:rgba(8,10,8,.95); }
html[data-theme="dark"] .btn-primary { color:var(--on-accent); }
html[data-theme="dark"] .btn-line { border-color:#444b3e; }
html[data-theme="dark"] .btn-line:hover { background:var(--surface-2); border-color:#78846c; }
html[data-theme="dark"] .hero-eyebrow { color:#b9c0b1; }
html[data-theme="dark"] .hero-eyebrow::before { background:var(--accent); box-shadow:0 0 0 5px #1d2911; }
html[data-theme="dark"] .hero h1 .pons-word { color:var(--on-accent); }
html[data-theme="dark"] .trust span::before,
html[data-theme="dark"] .prototype-note strong::before { background:var(--accent); }
html[data-theme="dark"] .stage { border-color:#3e4934; }
html[data-theme="dark"] .stage::after { border-color:rgba(255,255,255,.2); box-shadow:none; }
html[data-theme="dark"] .readout { background:var(--surface); border:1px solid #343e2a; }
html[data-theme="dark"] .readout::before { border-color:#2b3324; box-shadow:0 0 0 28px rgba(186,255,54,.015),0 0 0 57px rgba(186,255,54,.012),0 0 0 85px rgba(186,255,54,.01); }
html[data-theme="dark"] .readout .num { color:var(--accent); }
html[data-theme="dark"] .readout .num .u,
html[data-theme="dark"] .cell span { color:var(--muted); }
html[data-theme="dark"] #sparkline { stroke:var(--accent); }
html[data-theme="dark"] #sparkfill { fill:rgba(186,255,54,.08); }
html[data-theme="dark"] .grid4,
html[data-theme="dark"] .cell { border-color:var(--line); }
html[data-theme="dark"] .ca { background:#0d100c; }
html[data-theme="dark"] .explore a { text-decoration-color:#515c46; }
html[data-theme="dark"] #how { background:#0e110d; }
html[data-theme="dark"] .rail-line { background:#424b37; }
html[data-theme="dark"] .rbadge { border-color:#37432c; box-shadow:0 0 0 9px #0e110d; }
html[data-theme="dark"] .rbadge.teal svg { color:var(--on-accent); }
html[data-theme="dark"] .rail-loop { border-color:#3d4931; color:#b9c5ad; }
html[data-theme="dark"] .dcaption { color:var(--muted); }
html[data-theme="dark"] .a-badge { background:#243017!important; color:var(--accent)!important; }
html[data-theme="dark"] #rewards { background:#0e110d; }
html[data-theme="dark"] .stat-grid,
html[data-theme="dark"] .tile { border-color:var(--line); }
html[data-theme="dark"] .checker input { background:#0b0e09; border-color:#46513b; }
html[data-theme="dark"] .checker input::placeholder { color:#929b89; }
html[data-theme="dark"] .checker input:focus { outline-color:var(--accent); border-color:var(--accent); }
html[data-theme="dark"] .checker input[aria-invalid="true"] { border-color:var(--coral); }
html[data-theme="dark"] .checker-error { color:var(--coral); }
html[data-theme="dark"] .co { background:#1a2115; }
html[data-theme="dark"] .co .v { color:var(--accent); }
html[data-theme="dark"] .ledger { background:var(--surface); }
html[data-theme="dark"] .ledger th { background:#1b2116; color:#b2bea7; }
html[data-theme="dark"] .ledger td { border-bottom-color:#272e22; }
html[data-theme="dark"] .ledger .amt { color:var(--accent); }
html[data-theme="dark"] .ledger .tx a { color:#c6d4b7; text-decoration:underline; text-decoration-color:#4d5b41; text-underline-offset:4px; }
html[data-theme="dark"] .ledger tbody tr:hover { background:#20281a; }
html[data-theme="dark"] .badge-ok { color:#c7ee94; background:#293a1b; }
html[data-theme="dark"] .spec-row:first-child { color:var(--on-accent); }
html[data-theme="dark"] .buy { background:#151e0e; border:1px solid #364827; }
html[data-theme="dark"] .step .n { color:var(--on-accent); }
html[data-theme="dark"] .warn { border-color:#465638; }
html[data-theme="dark"] details.qa summary .plus { border-color:#3e4a33; }
html[data-theme="dark"] footer { background:#0e110d; }
html[data-theme="dark"] .socials a { border-color:#3d4932; }
html[data-theme="dark"] .socials a:hover { color:var(--on-accent); border-color:var(--accent); }

@media(max-width:1050px) and (min-width:921px) {
  nav .wrap { gap:16px; }
  .navlinks { gap:14px; font-size:13px; }
  .nav-actions { gap:9px; }
  nav .btn { font-size:14px; padding:12px 18px; }
  nav .brand { font-size:22px; }
}
@media(max-width:920px) {
  .nav-actions { margin-left:auto; gap:9px; }
  html[data-theme="dark"] .rbadge { box-shadow:none; }
}
@media(max-width:640px) {
  .brand .mark { width:38px; height:38px; }
  .brand { gap:7px; }
  .nav-actions { gap:8px; }
  html[data-theme="dark"] .cell:nth-child(even),
  html[data-theme="dark"] .cell:nth-child(-n+2),
  html[data-theme="dark"] .tile:nth-child(-n+2) { border-color:var(--line); }
}
@media(max-width:380px) {
  nav .wrap { gap:10px; }
  nav .brand { font-size:17px; gap:5px; }
  nav .brand .mark { width:30px; height:30px; }
  nav .nav-actions .btn { font-size:11px; padding:10px 12px; }
  .nav-actions { gap:7px; }
}
