:root {
  --c-surface: 249 249 255;
  --c-surface-dim: 211 218 239;
  --c-surface-bright: 249 249 255;
  --c-surface-container-lowest: 255 255 255;
  --c-surface-container-low: 241 243 255;
  --c-surface-container: 233 237 255;
  --c-surface-container-high: 225 232 253;
  --c-surface-container-highest: 220 226 247;
  --c-on-surface: 20 27 43;
  --c-on-surface-variant: 91 65 56;
  --c-inverse-surface: 41 48 64;
  --c-inverse-on-surface: 237 240 255;
  --c-outline: 143 112 102;
  --c-outline-variant: 227 190 179;
  --c-surface-tint: 171 53 0;
  --c-primary: 171 53 0;
  --c-on-primary: 255 255 255;
  --c-primary-container: 255 94 30;
  --c-on-primary-container: 86 22 0;
  --c-inverse-primary: 255 181 157;
  --c-secondary: 115 92 0;
  --c-on-secondary: 255 255 255;
  --c-secondary-container: 254 207 37;
  --c-on-secondary-container: 112 89 0;
  --c-tertiary: 0 109 67;
  --c-on-tertiary: 255 255 255;
  --c-tertiary-container: 0 169 106;
  --c-on-tertiary-container: 0 52 29;
  --c-error: 186 26 26;
  --c-on-error: 255 255 255;
  --c-error-container: 255 218 214;
  --c-on-error-container: 147 0 10;
  --c-primary-fixed: 255 219 208;
  --c-primary-fixed-dim: 255 181 157;
  --c-on-primary-fixed: 57 12 0;
  --c-on-primary-fixed-variant: 131 39 0;
  --c-secondary-fixed: 255 224 135;
  --c-secondary-fixed-dim: 239 193 14;
  --c-on-secondary-fixed: 35 26 0;
  --c-on-secondary-fixed-variant: 87 69 0;
  --c-tertiary-fixed: 89 254 173;
  --c-tertiary-fixed-dim: 49 225 147;
  --c-on-tertiary-fixed: 0 33 17;
  --c-on-tertiary-fixed-variant: 0 82 49;
  --c-background: 249 249 255;
  --c-on-background: 20 27 43;
  --c-surface-variant: 220 226 247;
  --c-ink: 17 24 39;
  --c-white-fixed: 255 255 255;
  color-scheme: light;
}
html.dark {
  --c-surface: 14 19 34;
  --c-surface-dim: 10 15 28;
  --c-surface-bright: 38 45 66;
  --c-surface-container-lowest: 22 28 46;
  --c-surface-container-low: 27 34 54;
  --c-surface-container: 34 42 64;
  --c-surface-container-high: 43 52 76;
  --c-surface-container-highest: 53 63 88;
  --c-on-surface: 232 236 251;
  --c-on-surface-variant: 217 194 187;
  --c-inverse-surface: 226 231 255;
  --c-inverse-on-surface: 40 48 68;
  --c-outline: 169 139 130;
  --c-outline-variant: 88 65 58;
  --c-surface-tint: 255 181 160;
  --c-primary: 255 181 160;
  --c-on-primary: 84 18 0;
  --c-primary-container: 255 87 34;
  --c-on-primary-container: 255 255 255;
  --c-inverse-primary: 176 47 0;
  --c-secondary: 238 193 42;
  --c-on-secondary: 59 47 0;
  --c-secondary-container: 253 207 57;
  --c-on-secondary-container: 59 47 0;
  --c-tertiary: 58 223 172;
  --c-on-tertiary: 0 56 42;
  --c-tertiary-container: 0 165 124;
  --c-on-tertiary-container: 255 255 255;
  --c-error: 255 180 171;
  --c-on-error: 105 0 5;
  --c-error-container: 147 0 10;
  --c-on-error-container: 255 218 214;
  --c-primary-fixed: 74 26 14;
  --c-primary-fixed-dim: 255 181 160;
  --c-on-primary-fixed: 255 219 209;
  --c-on-primary-fixed-variant: 255 181 160;
  --c-secondary-fixed: 74 59 0;
  --c-secondary-fixed-dim: 238 193 42;
  --c-on-secondary-fixed: 255 224 138;
  --c-on-secondary-fixed-variant: 238 193 42;
  --c-tertiary-fixed: 0 81 59;
  --c-tertiary-fixed-dim: 58 223 172;
  --c-on-tertiary-fixed: 96 252 199;
  --c-on-tertiary-fixed-variant: 58 223 172;
  --c-background: 14 19 34;
  --c-on-background: 232 236 251;
  --c-surface-variant: 43 52 76;
  color-scheme: dark;
}
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { overflow-x: hidden; }
.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; }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.marquee { display: inline-flex; animation: marquee 55s linear infinite; }
.marquee:hover { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) { .marquee { animation: none; } * { scroll-behavior: auto !important; } }
.fade-edge { -webkit-mask-image: linear-gradient(90deg, #000 90%, transparent); mask-image: linear-gradient(90deg, #000 90%, transparent); }
:focus-visible { outline: 2px solid rgb(var(--c-primary-container)); outline-offset: 2px; }
.pop-shadow { box-shadow: 3px 3px 0 rgb(var(--c-ink)); }
html.dark .pop-shadow { box-shadow: 3px 3px 0 rgb(0 0 0 / .6); }
.poll-bar { transition: width .7s ease; }
.reaction.on { background: rgb(var(--c-primary-container)); color: #fff; }

.prose-article { font-family: Inter, sans-serif; font-size: 17px; line-height: 30px; color: rgb(var(--c-on-surface)); }
.prose-article > * + * { margin-top: 1.1em; }
.prose-article h2 { font-family: "Plus Jakarta Sans", sans-serif; font-size: 25px; line-height: 32px; font-weight: 800; margin-top: 1.8em; letter-spacing: -0.015em; scroll-margin-top: 150px; }
.prose-article h3 { font-family: "Plus Jakarta Sans", sans-serif; font-size: 20px; line-height: 28px; font-weight: 700; margin-top: 1.5em; }
.prose-article ul, .prose-article ol { padding-left: 1.4em; }
.prose-article ul { list-style: disc; } .prose-article ol { list-style: decimal; }
.prose-article li { margin-top: .45em; padding-left: .2em; } .prose-article li::marker { color: rgb(var(--c-primary-container)); font-weight: 700; }
.prose-article strong { font-weight: 700; }
.prose-article a { color: rgb(var(--c-primary)); text-decoration: underline; }
.prose-article blockquote { border-left: 4px solid rgb(var(--c-secondary-container)); background: rgb(var(--c-surface-container-low)); padding: 16px 20px; border-radius: 0 .75rem .75rem 0; font-family: "Plus Jakarta Sans", sans-serif; font-size: 18px; line-height: 28px; font-weight: 600; font-style: italic; }
@media (max-width: 767px) { .prose-article { font-size: 16px; line-height: 28px; } .prose-article h2 { font-size: 22px; line-height: 30px; } }

details.faq > summary { list-style: none; cursor: pointer; }
details.faq > summary::-webkit-details-marker { display: none; }
details.faq[open] .faq-icon { transform: rotate(180deg); }
.faq-icon { transition: transform .2s; }
.wave span { animation: wave 1.4s ease-in-out infinite; transform-origin: bottom; }
@keyframes wave { 0%,100% { transform: scaleY(.6); } 50% { transform: scaleY(1); } }
@media (prefers-reduced-motion: reduce) { .wave span { animation: none; } }
.card-lift { transition: box-shadow .2s, transform .2s; }
.card-lift:hover { box-shadow: 0 8px 24px -4px rgba(255, 94, 30, .18); }
