/* ============================================================
   THEME — design tokens + base + paper texture (dossier look)
   Shared across every module. Dark mode via [data-theme].
   ============================================================ */
:root{
  --paper:#ece5d6; --card:#f6f1e6; --card2:#efe8d8;
  --ink:#211c17; --ink-soft:#6c6355; --line:#c9bfa8; --line-strong:#a89b7d;
  --rosso:#b02418; --rosso-deep:#7c1710; --amber:#c07a12; --olive:#5c6b3a;
  --steel:#3f6377; --green:#4a6d2f; --violet:#6b4a8f;
  --shadow:rgba(33,28,23,.10);
  --mono:ui-monospace,'Roboto Mono','SF Mono',Menlo,Consolas,monospace;
  --disp:'Arial Narrow','Roboto Condensed','Oswald',system-ui,sans-serif;
  --sans:system-ui,-apple-system,'Segoe UI',sans-serif;
  --r:9px; --gap:16px;
}
:root[data-theme="dark"]{
  --paper:#15130f; --card:#1e1a15; --card2:#242019;
  --ink:#ece5d6; --ink-soft:#9a917f; --line:#3a3428; --line-strong:#52493a;
  --rosso:#e2564a; --rosso-deep:#b03428; --amber:#e0a24a; --olive:#8aa05a;
  --steel:#6ba3bd; --green:#8fc06a; --violet:#a98cd0;
  --shadow:rgba(0,0,0,.5);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--paper); color:var(--ink); font-family:var(--sans);
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
  background-image:
    linear-gradient(rgba(120,110,85,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(120,110,85,.08) 1px,transparent 1px);
  background-size:26px 26px;
}
body::after{ content:""; position:fixed; inset:0; pointer-events:none; z-index:0; opacity:.03;
  background-image:radial-gradient(#000 .6px,transparent .6px); background-size:3px 3px; }
:root[data-theme="dark"] body::after{ opacity:.06; background-image:radial-gradient(#fff .6px,transparent .6px); }

a{color:inherit}
::selection{background:var(--rosso); color:var(--paper)}
:focus-visible{outline:2px solid var(--rosso); outline-offset:2px}

.mono{font-family:var(--mono)}
.disp{font-family:var(--disp)}
.rtl{direction:rtl; text-align:right}
.muted{color:var(--ink-soft)}
.rosso{color:var(--rosso)}
.hidden{display:none !important}

/* headings shared */
.h-disp{font-family:var(--disp); font-weight:700; text-transform:uppercase; letter-spacing:.04em; line-height:1}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important; transition-duration:.001ms !important}
}
