:root {
  --c-on-primary-fixed: 64 0 12;
  --c-secondary-fixed: 255 218 210;
  --c-surface: 250 248 255;
  --c-on-surface-variant: 92 63 64;
  --c-inverse-on-surface: 238 240 255;
  --c-on-surface: 19 27 46;
  --c-surface-container-low: 242 243 255;
  --c-secondary: 181 38 3;
  --c-on-secondary-container: 87 12 0;
  --c-on-secondary-fixed: 61 6 0;
  --c-on-tertiary-container: 255 250 249;
  --c-tertiary: 129 81 0;
  --c-error: 186 26 26;
  --c-outline: 144 111 112;
  --c-outline-variant: 229 189 190;
  --c-on-error-container: 147 0 10;
  --c-surface-tint: 190 0 55;
  --c-on-primary: 255 255 255;
  --c-surface-container-highest: 218 226 253;
  --c-on-primary-container: 255 250 249;
  --c-background: 250 248 255;
  --c-primary: 184 0 53;
  --c-surface-container: 234 237 255;
  --c-on-secondary-fixed-variant: 140 25 0;
  --c-surface-dim: 210 217 244;
  --c-error-container: 255 218 214;
  --c-tertiary-fixed: 255 221 184;
  --c-on-tertiary-fixed-variant: 101 62 0;
  --c-surface-container-lowest: 255 255 255;
  --c-inverse-primary: 255 179 182;
  --c-primary-fixed-dim: 255 179 182;
  --c-tertiary-fixed-dim: 255 185 95;
  --c-secondary-container: 253 88 53;
  --c-surface-container-high: 226 231 255;
  --c-tertiary-container: 163 103 0;
  --c-primary-fixed: 255 218 218;
  --c-on-tertiary-fixed: 42 23 0;
  --c-secondary-fixed-dim: 255 180 163;
  --c-on-secondary: 255 255 255;
  --c-on-primary-fixed-variant: 146 0 40;
  --c-on-tertiary: 255 255 255;
  --c-on-error: 255 255 255;
  --c-surface-bright: 250 248 255;
  --c-surface-variant: 218 226 253;
  --c-on-background: 19 27 46;
  --c-inverse-surface: 40 48 68;
  --c-primary-container: 225 29 72;
  --c-ink: 19 27 46;
}
html.dark {
  --c-on-primary-fixed: 255 218 218;
  --c-secondary-fixed: 77 26 16;
  --c-surface: 13 19 34;
  --c-on-surface-variant: 201 203 224;
  --c-inverse-on-surface: 19 27 46;
  --c-on-surface: 238 240 255;
  --c-surface-container-low: 17 23 40;
  --c-secondary: 255 138 112;
  --c-on-secondary-container: 255 255 255;
  --c-on-secondary-fixed: 255 218 210;
  --c-on-tertiary-container: 255 250 249;
  --c-tertiary: 255 185 95;
  --c-error: 255 180 171;
  --c-outline: 154 148 168;
  --c-outline-variant: 74 63 82;
  --c-on-error-container: 147 0 10;
  --c-surface-tint: 255 143 160;
  --c-on-primary: 255 255 255;
  --c-surface-container-highest: 42 51 80;
  --c-on-primary-container: 255 250 249;
  --c-background: 13 19 34;
  --c-primary: 255 95 126;
  --c-surface-container: 26 33 52;
  --c-on-secondary-fixed-variant: 255 180 163;
  --c-surface-dim: 8 13 24;
  --c-error-container: 255 218 214;
  --c-tertiary-fixed: 74 42 0;
  --c-on-tertiary-fixed-variant: 255 185 95;
  --c-surface-container-lowest: 21 27 44;
  --c-inverse-primary: 184 0 53;
  --c-primary-fixed-dim: 122 25 48;
  --c-tertiary-fixed-dim: 107 63 0;
  --c-secondary-container: 253 88 53;
  --c-surface-container-high: 34 42 64;
  --c-tertiary-container: 163 103 0;
  --c-primary-fixed: 74 13 30;
  --c-on-tertiary-fixed: 255 221 184;
  --c-secondary-fixed-dim: 122 44 29;
  --c-on-secondary: 255 255 255;
  --c-on-primary-fixed-variant: 255 179 182;
  --c-on-tertiary: 255 255 255;
  --c-on-error: 255 255 255;
  --c-surface-bright: 34 41 61;
  --c-surface-variant: 42 51 80;
  --c-on-background: 238 240 255;
  --c-inverse-surface: 238 240 255;
  --c-primary-container: 225 29 72;
  --c-ink: 19 27 46;
  color-scheme: dark;
}
html { -webkit-text-size-adjust: 100%; }
body { font-family: "Plus Jakarta Sans", sans-serif; }
h1, h2, h3, h4 { font-family: "Montserrat", sans-serif; }
.material-symbols-outlined { font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24; display: inline-block; vertical-align: middle; line-height: 1; }
.icon-fill { font-variation-settings: 'FILL' 1, 'wght' 500, 'GRAD' 0, 'opsz' 24; }
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
.pb-safe { padding-bottom: env(safe-area-inset-bottom); }
.stretched::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.above-stretch { position: relative; z-index: 2; }
.tile { background: linear-gradient(135deg, var(--t1, #e11d48), var(--t2, #fd5835)); }
.scrim { background: linear-gradient(180deg, transparent 40%, rgba(19, 27, 46, 0.92) 100%); }
.prose-article { font-family: "Plus Jakarta Sans", sans-serif; font-size: 17px; line-height: 1.75; color: rgb(var(--c-on-surface)); }
.prose-article > * + * { margin-top: 1rem; }
.prose-article h2 { font-family: "Montserrat", sans-serif; font-weight: 800; font-size: 22px; line-height: 28px; margin-top: 2rem; scroll-margin-top: 9rem; }
.prose-article h3 { font-family: "Montserrat", sans-serif; font-weight: 700; font-size: 18px; margin-top: 1.5rem; }
.prose-article ul, .prose-article ol { padding-left: 1.4rem; }
.prose-article ul { list-style: disc; }
.prose-article ol { list-style: decimal; }
.prose-article a { color: rgb(var(--c-primary)); text-decoration: underline; }
.prose-article blockquote { border-left: 4px solid rgb(var(--c-primary-container)); padding: 0.25rem 0 0.25rem 1rem; font-style: italic; color: rgb(var(--c-on-surface-variant)); }
.prose-article strong { font-weight: 700; }
.pop-grad { background: linear-gradient(120deg, rgb(var(--c-primary-container)), rgb(var(--c-secondary-container))); color: #ffffff; }
.ticker-track { display: flex; width: max-content; animation: ticker 40s linear infinite; }
.ticker-track:hover { animation-play-state: paused; }
@keyframes ticker { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .ticker-track { animation: none; } }
