/* GrowNewsUS palette tokens: light values from DESIGN.md; dark variant is ours. */
:root {
  --c-surface: 250 248 255;
  --c-surface-dim: 210 217 244;
  --c-surface-bright: 250 248 255;
  --c-surface-container-lowest: 255 255 255;
  --c-surface-container-low: 242 243 255;
  --c-surface-container: 234 237 255;
  --c-surface-container-high: 226 231 255;
  --c-surface-container-highest: 218 226 253;
  --c-on-surface: 19 27 46;
  --c-on-surface-variant: 60 74 60;
  --c-inverse-surface: 40 48 68;
  --c-inverse-on-surface: 238 240 255;
  --c-outline: 108 123 106;
  --c-outline-variant: 187 203 184;
  --c-surface-tint: 0 110 42;
  --c-primary: 0 110 42;
  --c-on-primary: 255 255 255;
  --c-primary-container: 0 200 83;
  --c-on-primary-container: 0 76 27;
  --c-inverse-primary: 60 227 106;
  --c-secondary: 137 81 0;
  --c-on-secondary: 255 255 255;
  --c-secondary-container: 253 157 26;
  --c-on-secondary-container: 102 59 0;
  --c-tertiary: 0 99 152;
  --c-on-tertiary: 255 255 255;
  --c-tertiary-container: 87 181 251;
  --c-on-tertiary-container: 0 69 107;
  --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: 105 255 135;
  --c-primary-fixed-dim: 60 227 106;
  --c-on-primary-fixed: 0 33 8;
  --c-on-primary-fixed-variant: 0 83 30;
  --c-secondary-fixed: 255 220 188;
  --c-secondary-fixed-dim: 255 184 107;
  --c-on-secondary-fixed: 44 23 0;
  --c-on-secondary-fixed-variant: 104 61 0;
  --c-tertiary-fixed: 204 229 255;
  --c-tertiary-fixed-dim: 147 204 255;
  --c-on-tertiary-fixed: 0 29 49;
  --c-on-tertiary-fixed-variant: 0 75 115;
  --c-background: 250 248 255;
  --c-on-background: 19 27 46;
  --c-surface-variant: 218 226 253;
  --c-electric-mint: 16 185 129;
  --c-hot-rose: 244 63 94;
  --c-spring-lime: 132 204 22;
  --c-paper-tint-mint: 240 253 244;
  --c-paper-tint-cream: 254 253 248;
  --c-paper-surface: 248 252 248;
  --c-surface-border: 226 232 240;
  --c-tint-sky: 224 242 254;
  --c-tint-rose: 255 228 230;
  --c-ink: 15 23 42;
  --c-white-fixed: 255 255 255;
}
html { color-scheme: light; }
html.dark {
  --c-surface: 13 20 32;
  --c-surface-dim: 10 15 24;
  --c-surface-bright: 26 35 51;
  --c-surface-container-lowest: 20 28 42;
  --c-surface-container-low: 24 33 47;
  --c-surface-container: 29 39 56;
  --c-surface-container-high: 36 48 68;
  --c-surface-container-highest: 44 57 80;
  --c-on-surface: 230 236 247;
  --c-on-surface-variant: 182 196 180;
  --c-inverse-surface: 230 236 247;
  --c-inverse-on-surface: 26 34 50;
  --c-outline: 138 154 136;
  --c-outline-variant: 58 74 58;
  --c-surface-tint: 60 227 106;
  --c-primary: 60 227 106;
  --c-on-primary: 0 57 26;
  --c-primary-container: 0 200 83;
  --c-on-primary-container: 0 33 10;
  --c-inverse-primary: 0 110 42;
  --c-secondary: 255 184 107;
  --c-on-secondary: 44 23 0;
  --c-secondary-container: 253 157 26;
  --c-on-secondary-container: 44 23 0;
  --c-tertiary: 147 204 255;
  --c-on-tertiary: 0 29 49;
  --c-tertiary-container: 87 181 251;
  --c-on-tertiary-container: 0 29 49;
  --c-error: 255 180 171;
  --c-on-error: 105 0 5;
  --c-error-container: 122 31 31;
  --c-on-error-container: 255 218 214;
  --c-primary-fixed: 15 58 31;
  --c-primary-fixed-dim: 60 227 106;
  --c-on-primary-fixed: 184 255 200;
  --c-on-primary-fixed-variant: 105 255 135;
  --c-secondary-fixed: 61 39 6;
  --c-secondary-fixed-dim: 255 184 107;
  --c-on-secondary-fixed: 255 220 188;
  --c-on-secondary-fixed-variant: 255 220 188;
  --c-tertiary-fixed: 13 44 69;
  --c-tertiary-fixed-dim: 147 204 255;
  --c-on-tertiary-fixed: 204 229 255;
  --c-on-tertiary-fixed-variant: 204 229 255;
  --c-background: 13 20 32;
  --c-on-background: 230 236 247;
  --c-surface-variant: 44 57 80;
  --c-electric-mint: 52 211 153;
  --c-hot-rose: 251 113 133;
  --c-spring-lime: 163 230 53;
  --c-paper-tint-mint: 16 38 27;
  --c-paper-tint-cream: 26 26 20;
  --c-paper-surface: 13 20 32;
  --c-surface-border: 42 53 72;
  --c-tint-sky: 12 42 64;
  --c-tint-rose: 58 21 32;
  --c-ink: 6 10 18;
  --c-white-fixed: 255 255 255;
}
html.dark { 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; }
.card { background: rgb(var(--c-surface-container-lowest)); border: 1px solid rgb(var(--c-surface-border)); }
.lift { transition: transform .2s, box-shadow .2s; }
.lift:hover { transform: translateY(-1px); box-shadow: 0 10px 25px -5px rgba(0, 200, 83, 0.10), 0 8px 10px -6px rgba(15, 23, 42, 0.05); }
.btn-primary { background: rgb(var(--c-primary-container)); color: #fff; transition: transform .15s, box-shadow .15s, background .15s; }
.btn-primary:hover { transform: translateY(-1px); box-shadow: 0 10px 25px -5px rgba(0, 200, 83, 0.35); background: rgb(var(--c-primary)); }
html.dark .btn-primary:hover { color: rgb(var(--c-on-primary)); }
.field:focus { outline: none; border-color: rgb(var(--c-primary-container)); box-shadow: 0 0 0 3px rgba(0, 200, 83, 0.2); }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.marquee { display: inline-flex; animation: marquee 70s linear infinite; }
.marquee:hover { animation-play-state: paused; }
@keyframes bars { 0%, 100% { transform: scaleY(.45); } 50% { transform: scaleY(1); } }
.wave span { transform-origin: center; }
.wave.playing span { animation: bars .9s ease-in-out infinite; }
.wave.playing span:nth-child(2n) { animation-delay: .15s; } .wave.playing span:nth-child(3n) { animation-delay: .3s; }
@media (prefers-reduced-motion: reduce) { .marquee, .wave.playing span { 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; }
.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; }
details > summary::-webkit-details-marker { display: none; }
.prose-article { font-family: "Inter", sans-serif; font-size: 18px; line-height: 30px; color: rgb(var(--c-on-surface)); }
.prose-article > * + * { margin-top: 1.1em; }
.prose-article h2 { font-family: "Playfair Display", serif; font-size: 28px; line-height: 36px; font-weight: 700; margin-top: 1.8em; scroll-margin-top: 150px; }
.prose-article h3 { font-family: "Plus Jakarta Sans", sans-serif; font-size: 19px; line-height: 26px; font-weight: 700; margin-top: 1.5em; scroll-margin-top: 150px; }
.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 > p:first-child::first-letter { font-family: "Playfair Display", serif; font-size: 3.2em; line-height: .9; font-weight: 700; float: left; margin: .05em .12em 0 0; color: rgb(var(--c-primary)); }
.prose-article blockquote { font-family: "Playfair Display", serif; font-style: italic; border-left: 4px solid rgb(var(--c-primary-container)); background: rgb(var(--c-paper-tint-cream)); padding: 16px 20px; border-radius: 0 1rem 1rem 0; font-size: 20px; line-height: 31px; }
@media (max-width: 767px) { .prose-article { font-size: 16.5px; line-height: 28px; } .prose-article h2 { font-size: 23px; line-height: 30px; } }
