/* ReportUltra — tokens from DESIGN.md ("High-Definition Dossier"). Values are "R G B" triplets for Tailwind alpha support. */
:root {
  --c-background: 250 250 247; --c-surface: 250 250 247; --c-surface-bright: 250 250 247; --c-surface-dim: 218 218 220;
  --c-surface-container-lowest: 255 255 255; --c-surface-container-low: 243 243 238; --c-surface-container: 240 241 234;
  --c-surface-container-high: 232 232 228; --c-surface-container-highest: 226 228 220; --c-surface-variant: 226 226 229;
  --c-on-surface: 17 19 21; --c-on-background: 17 19 21; --c-on-surface-variant: 77 83 88; --c-outline: 116 118 137; --c-outline-variant: 196 197 218;
  --c-inverse-surface: 17 19 21; --c-inverse-on-surface: 241 240 243;
  --c-primary: 0 44 206; --c-on-primary: 255 255 255; --c-primary-container: 24 66 255; --c-on-primary-container: 210 214 255; --c-primary-fixed: 222 224 255;
  --c-secondary: 83 102 0; --c-secondary-container: 212 255 0; --c-on-secondary-container: 17 19 21; --c-secondary-fixed: 202 243 0;
  --c-tertiary: 130 39 0; --c-tertiary-container: 255 85 0; --c-on-tertiary-container: 255 255 255; --c-error: 186 26 26;
  --c-ink: 17 19 21; --c-white-fixed: 255 255 255; --c-citron: 212 255 0; --c-amber: 255 85 0;
  --rule: 226 228 220; --edge: 17 19 21;
  color-scheme: light;
}
html.dark {
  --c-background: 14 15 17; --c-surface: 14 15 17; --c-surface-bright: 30 32 35; --c-surface-dim: 14 15 17;
  --c-surface-container-lowest: 22 24 27; --c-surface-container-low: 19 21 24; --c-surface-container: 28 30 34;
  --c-surface-container-high: 36 38 43; --c-surface-container-highest: 44 47 52; --c-surface-variant: 52 55 61;
  --c-on-surface: 236 237 240; --c-on-background: 236 237 240; --c-on-surface-variant: 176 181 190; --c-outline: 140 144 160; --c-outline-variant: 70 74 88;
  --c-inverse-surface: 236 237 240; --c-inverse-on-surface: 17 19 21;
  --c-primary: 138 160 255; --c-on-primary: 0 15 93; --c-primary-container: 24 66 255; --c-on-primary-container: 222 224 255; --c-primary-fixed: 40 52 110;
  --c-secondary: 202 243 0; --c-on-secondary-container: 17 19 21;
  --c-error: 255 180 171;
  --rule: 52 55 61; --edge: 200 204 214;
  color-scheme: dark;
}
html { -webkit-text-size-adjust: 100%; }
body { overflow-x: hidden; }
.material-symbols-outlined { font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24; line-height: 1; }
.shadow-hard { box-shadow: 3px 3px 0 rgb(var(--edge)); }
.shadow-hard-lg { box-shadow: 4px 4px 0 rgb(var(--edge)); }
.shadow-hard-blue { box-shadow: 4px 4px 0 rgb(var(--c-primary-container)); }
.shadow-hard-sm { box-shadow: 2px 2px 0 rgb(var(--edge)); }
.edge { border: 1px solid rgb(var(--edge)); }
.rule-b { border-bottom: 1px solid rgb(var(--rule)); }
.rule-t { border-top: 1px solid rgb(var(--rule)); }
.btn-ink { background: rgb(var(--c-ink)); color: #fff; border: 1px solid rgb(var(--c-ink)); transition: transform .15s, box-shadow .15s; }
html.dark .btn-ink { background: rgb(var(--c-on-surface)); color: rgb(var(--c-ink)); }
.btn-ink:hover { transform: translate(-2px,-2px); box-shadow: 3px 3px 0 rgb(var(--c-primary-container)); }
.no-scrollbar::-webkit-scrollbar { display: none; } .no-scrollbar { scrollbar-width: none; }
.stretched::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.above-stretch { position: relative; z-index: 2; }
.redact { background: rgb(var(--c-ink)); color: rgb(var(--c-ink)); user-select: none; }
html.dark .redact { background: rgb(var(--c-on-surface)); color: rgb(var(--c-on-surface)); }
/* Article prose */
.prose-article { font-family: Inter, sans-serif; font-size: 1.0625rem; line-height: 1.8; color: rgb(var(--c-on-surface)); }
.prose-article > * + * { margin-top: 1.1em; }
.prose-article h2 { font-family: "Space Grotesk", sans-serif; font-weight: 700; font-size: 1.5rem; line-height: 1.25; letter-spacing: -0.02em; text-transform: uppercase; margin-top: 2em; padding-top: .75em; border-top: 1px solid rgb(var(--edge)); scroll-margin-top: 7rem; }
.prose-article h3 { font-family: "Space Grotesk", sans-serif; font-weight: 600; font-size: 1.2rem; margin-top: 1.6em; scroll-margin-top: 7rem; }
.prose-article ul { list-style: none; padding: 0; }
.prose-article ul li { position: relative; padding-left: 1.4em; margin-top: .5em; }
.prose-article ul li::before { content: ""; position: absolute; left: 0; top: .7em; width: .55em; height: .55em; background: rgb(var(--c-primary-container)); }
.prose-article ol { list-style: decimal; padding-left: 1.4em; }
.prose-article ol li { margin-top: .5em; }
.prose-article blockquote { border-left: 4px solid rgb(var(--c-citron)); background: rgb(var(--c-surface-container-low)); padding: 1rem 1.25rem; font-weight: 500; }
.prose-article strong { font-weight: 700; }
.prose-article a { color: rgb(var(--c-primary)); text-decoration: underline; }
input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 2px solid rgb(var(--c-primary-container)); outline-offset: 0; }
a:focus-visible, button:focus-visible { outline: 2px solid rgb(var(--c-primary-container)); outline-offset: 2px; }
.pb-safe { padding-bottom: env(safe-area-inset-bottom); }
@media print {
  header, footer, nav, .no-print { display: none !important; }
  body { background: #fff !important; padding: 0 !important; }
}
