:root {
  --c-on-tertiary-fixed: 39 25 0;
  --c-secondary-fixed-dim: 185 195 255;
  --c-inverse-surface: 45 48 58;
  --c-on-primary-fixed-variant: 146 0 35;
  --c-error: 186 26 26;
  --c-inverse-primary: 255 179 179;
  --c-on-tertiary-fixed-variant: 94 66 0;
  --c-on-secondary-container: 224 226 255;
  --c-primary-container: 231 14 62;
  --c-outline: 146 110 110;
  --c-surface-dim: 216 217 230;
  --c-surface: 250 248 255;
  --c-tertiary-fixed-dim: 255 186 32;
  --c-surface-container-low: 242 243 255;
  --c-secondary-container: 29 80 255;
  --c-outline-variant: 231 188 188;
  --c-on-secondary-fixed: 0 18 87;
  --c-on-background: 24 27 37;
  --c-secondary-fixed: 221 225 255;
  --c-tertiary: 121 86 0;
  --c-surface-container-high: 230 231 245;
  --c-primary: 186 0 47;
  --c-on-surface-variant: 93 63 63;
  --c-surface-bright: 250 248 255;
  --c-on-error: 255 255 255;
  --c-primary-fixed-dim: 255 179 179;
  --c-surface-container-lowest: 255 255 255;
  --c-on-tertiary-container: 255 251 255;
  --c-on-error-container: 147 0 10;
  --c-secondary: 0 57 210;
  --c-on-primary-fixed: 64 0 10;
  --c-tertiary-container: 152 109 0;
  --c-surface-container: 236 237 250;
  --c-background: 250 248 255;
  --c-on-primary-container: 255 251 255;
  --c-on-tertiary: 255 255 255;
  --c-on-primary: 255 255 255;
  --c-inverse-on-surface: 239 240 253;
  --c-primary-fixed: 255 218 217;
  --c-on-secondary-fixed-variant: 0 51 193;
  --c-tertiary-fixed: 255 222 168;
  --c-surface-container-highest: 224 226 239;
  --c-on-secondary: 255 255 255;
  --c-on-surface: 24 27 37;
  --c-surface-tint: 191 0 48;
  --c-error-container: 255 218 214;
  --c-surface-variant: 224 226 239;
  --c-ink: 17 20 29;
  --c-white-fixed: 255 255 255;
  color-scheme: light;
}
html.dark {
  --c-surface: 14 16 24;
  --c-surface-dim: 12 14 20;
  --c-surface-bright: 40 43 56;
  --c-surface-container-lowest: 22 25 36;
  --c-surface-container-low: 27 30 43;
  --c-surface-container: 33 36 51;
  --c-surface-container-high: 40 44 61;
  --c-surface-container-highest: 48 52 71;
  --c-on-surface: 232 234 246;
  --c-on-surface-variant: 190 188 204;
  --c-inverse-surface: 232 234 246;
  --c-inverse-on-surface: 33 36 51;
  --c-outline: 160 140 150;
  --c-outline-variant: 84 74 84;
  --c-surface-tint: 255 179 179;
  --c-primary: 246 62 96;
  --c-on-primary: 255 255 255;
  --c-primary-container: 231 14 62;
  --c-on-primary-container: 255 251 255;
  --c-inverse-primary: 186 0 47;
  --c-secondary: 140 162 255;
  --c-on-secondary: 0 20 100;
  --c-secondary-container: 29 80 255;
  --c-on-secondary-container: 224 226 255;
  --c-tertiary: 255 186 32;
  --c-on-tertiary: 39 25 0;
  --c-tertiary-container: 152 109 0;
  --c-on-tertiary-container: 255 251 255;
  --c-error: 255 180 171;
  --c-error-container: 147 0 10;
  --c-on-error-container: 255 218 214;
  --c-on-error: 105 0 5;
  --c-primary-fixed: 72 14 28;
  --c-primary-fixed-dim: 255 179 179;
  --c-on-primary-fixed: 255 218 217;
  --c-on-primary-fixed-variant: 255 179 179;
  --c-secondary-fixed: 24 38 92;
  --c-secondary-fixed-dim: 185 195 255;
  --c-on-secondary-fixed: 221 225 255;
  --c-on-secondary-fixed-variant: 185 195 255;
  --c-tertiary-fixed: 68 50 8;
  --c-tertiary-fixed-dim: 255 186 32;
  --c-on-tertiary-fixed: 255 222 168;
  --c-on-tertiary-fixed-variant: 255 205 110;
  --c-background: 14 16 24;
  --c-on-background: 232 234 246;
  --c-surface-variant: 48 52 71;
  color-scheme: dark;
}
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { overflow-x: hidden; background: rgb(var(--c-surface)); }
.no-scrollbar { scrollbar-width: none; } .no-scrollbar::-webkit-scrollbar { display: none; }
.material-symbols-outlined { font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24; line-height: 1; user-select: none; }
.icon-fill { font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24; }
.pb-safe { padding-bottom: env(safe-area-inset-bottom, 0px); }
.stretched::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.above-stretch { position: relative; z-index: 2; }
.fade-edge { -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 16px, #000 calc(100% - 24px), transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 16px, #000 calc(100% - 24px), transparent 100%); }
.marquee { display: inline-flex; white-space: nowrap; animation: marquee 70s linear infinite; }
.marquee:hover { animation-play-state: paused; }
@keyframes marquee { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .marquee { animation: none; } html { scroll-behavior: auto; } .animate-ping, .animate-pulse { animation: none !important; } }
.line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.line-clamp-3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.promo-grad { background-image: linear-gradient(90deg, rgb(255 222 168), rgb(255 186 32 / .85), rgb(221 225 255)); color: #271900; }
html.dark .promo-grad { background-image: linear-gradient(90deg, rgb(70 50 10), rgb(60 44 80), rgb(24 38 92)); color: #ffdea8; }
.tile { background: linear-gradient(135deg, var(--t1), var(--t2)); }
.prose-article { font-family: 'Newsreader', Georgia, serif; font-size: 19px; line-height: 30px; color: rgb(var(--c-on-surface)); }
.prose-article p { margin: 0 0 1.1em; }
.prose-article h2 { font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 800; font-size: 24px; line-height: 30px; letter-spacing: -0.015em; margin: 1.8em 0 .6em; scroll-margin-top: 9rem; }
.prose-article h3 { font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 700; font-size: 19px; margin: 1.4em 0 .5em; }
.prose-article ul, .prose-article ol { margin: 0 0 1.2em 1.4em; } .prose-article ul { list-style: disc; } .prose-article ol { list-style: decimal; }
.prose-article li { margin: .35em 0; padding-left: .2em; } .prose-article li::marker { color: rgb(var(--c-secondary)); }
.prose-article blockquote { margin: 1.6em 0; padding: 1rem 1.25rem; border-left: 4px solid rgb(var(--c-primary-container)); background: rgb(var(--c-surface-container-low)); border-radius: 0 .75rem .75rem 0; font-size: 22px; line-height: 32px; font-weight: 500; }
.prose-article strong { font-weight: 700; }
.toggle { position: relative; width: 44px; height: 26px; border-radius: 9999px; background: rgb(var(--c-surface-container-highest)); transition: background .2s; flex-shrink: 0; }
.toggle::after { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 9999px; background: #fff; box-shadow: 0 1px 3px rgb(0 0 0 / .25); transition: transform .2s; }
input:checked + .toggle { background: rgb(var(--c-primary-container)); } input:checked + .toggle::after { transform: translateX(18px); }
a:focus-visible, button:focus-visible, input:focus-visible + .toggle { outline: 2px solid rgb(var(--c-secondary)); outline-offset: 2px; }
