@charset "UTF-8";@layer theme,base,components,utilities;@layer theme{@theme default{ --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --color-red-50: oklch(97.1% .013 17.38); --color-red-100: oklch(93.6% .032 17.717); --color-red-200: oklch(88.5% .062 18.334); --color-red-300: oklch(80.8% .114 19.571); --color-red-400: oklch(70.4% .191 22.216); --color-red-500: oklch(63.7% .237 25.331); --color-red-600: oklch(57.7% .245 27.325); --color-red-700: oklch(50.5% .213 27.518); --color-red-800: oklch(44.4% .177 26.899); --color-red-900: oklch(39.6% .141 25.723); --color-red-950: oklch(25.8% .092 26.042); --color-orange-50: oklch(98% .016 73.684); --color-orange-100: oklch(95.4% .038 75.164); --color-orange-200: oklch(90.1% .076 70.697); --color-orange-300: oklch(83.7% .128 66.29); --color-orange-400: oklch(75% .183 55.934); --color-orange-500: oklch(70.5% .213 47.604); --color-orange-600: oklch(64.6% .222 41.116); --color-orange-700: oklch(55.3% .195 38.402); --color-orange-800: oklch(47% .157 37.304); --color-orange-900: oklch(40.8% .123 38.172); --color-orange-950: oklch(26.6% .079 36.259); --color-amber-50: oklch(98.7% .022 95.277); --color-amber-100: oklch(96.2% .059 95.617); --color-amber-200: oklch(92.4% .12 95.746); --color-amber-300: oklch(87.9% .169 91.605); --color-amber-400: oklch(82.8% .189 84.429); --color-amber-500: oklch(76.9% .188 70.08); --color-amber-600: oklch(66.6% .179 58.318); --color-amber-700: oklch(55.5% .163 48.998); --color-amber-800: oklch(47.3% .137 46.201); --color-amber-900: oklch(41.4% .112 45.904); --color-amber-950: oklch(27.9% .077 45.635); --color-yellow-50: oklch(98.7% .026 102.212); --color-yellow-100: oklch(97.3% .071 103.193); --color-yellow-200: oklch(94.5% .129 101.54); --color-yellow-300: oklch(90.5% .182 98.111); --color-yellow-400: oklch(85.2% .199 91.936); --color-yellow-500: oklch(79.5% .184 86.047); --color-yellow-600: oklch(68.1% .162 75.834); --color-yellow-700: oklch(55.4% .135 66.442); --color-yellow-800: oklch(47.6% .114 61.907); --color-yellow-900: oklch(42.1% .095 57.708); --color-yellow-950: oklch(28.6% .066 53.813); --color-lime-50: oklch(98.6% .031 120.757); --color-lime-100: oklch(96.7% .067 122.328); --color-lime-200: oklch(93.8% .127 124.321); --color-lime-300: oklch(89.7% .196 126.665); --color-lime-400: oklch(84.1% .238 128.85); --color-lime-500: oklch(76.8% .233 130.85); --color-lime-600: oklch(64.8% .2 131.684); --color-lime-700: oklch(53.2% .157 131.589); --color-lime-800: oklch(45.3% .124 130.933); --color-lime-900: oklch(40.5% .101 131.063); --color-lime-950: oklch(27.4% .072 132.109); --color-green-50: oklch(98.2% .018 155.826); --color-green-100: oklch(96.2% .044 156.743); --color-green-200: oklch(92.5% .084 155.995); --color-green-300: oklch(87.1% .15 154.449); --color-green-400: oklch(79.2% .209 151.711); --color-green-500: oklch(72.3% .219 149.579); --color-green-600: oklch(62.7% .194 149.214); --color-green-700: oklch(52.7% .154 150.069); --color-green-800: oklch(44.8% .119 151.328); --color-green-900: oklch(39.3% .095 152.535); --color-green-950: oklch(26.6% .065 152.934); --color-emerald-50: oklch(97.9% .021 166.113); --color-emerald-100: oklch(95% .052 163.051); --color-emerald-200: oklch(90.5% .093 164.15); --color-emerald-300: oklch(84.5% .143 164.978); --color-emerald-400: oklch(76.5% .177 163.223); --color-emerald-500: oklch(69.6% .17 162.48); --color-emerald-600: oklch(59.6% .145 163.225); --color-emerald-700: oklch(50.8% .118 165.612); --color-emerald-800: oklch(43.2% .095 166.913); --color-emerald-900: oklch(37.8% .077 168.94); --color-emerald-950: oklch(26.2% .051 172.552); --color-teal-50: oklch(98.4% .014 180.72); --color-teal-100: oklch(95.3% .051 180.801); --color-teal-200: oklch(91% .096 180.426); --color-teal-300: oklch(85.5% .138 181.071); --color-teal-400: oklch(77.7% .152 181.912); --color-teal-500: oklch(70.4% .14 182.503); --color-teal-600: oklch(60% .118 184.704); --color-teal-700: oklch(51.1% .096 186.391); --color-teal-800: oklch(43.7% .078 188.216); --color-teal-900: oklch(38.6% .063 188.416); --color-teal-950: oklch(27.7% .046 192.524); --color-cyan-50: oklch(98.4% .019 200.873); --color-cyan-100: oklch(95.6% .045 203.388); --color-cyan-200: oklch(91.7% .08 205.041); --color-cyan-300: oklch(86.5% .127 207.078); --color-cyan-400: oklch(78.9% .154 211.53); --color-cyan-500: oklch(71.5% .143 215.221); --color-cyan-600: oklch(60.9% .126 221.723); --color-cyan-700: oklch(52% .105 223.128); --color-cyan-800: oklch(45% .085 224.283); --color-cyan-900: oklch(39.8% .07 227.392); --color-cyan-950: oklch(30.2% .056 229.695); --color-sky-50: oklch(97.7% .013 236.62); --color-sky-100: oklch(95.1% .026 236.824); --color-sky-200: oklch(90.1% .058 230.902); --color-sky-300: oklch(82.8% .111 230.318); --color-sky-400: oklch(74.6% .16 232.661); --color-sky-500: oklch(68.5% .169 237.323); --color-sky-600: oklch(58.8% .158 241.966); --color-sky-700: oklch(50% .134 242.749); --color-sky-800: oklch(44.3% .11 240.79); --color-sky-900: oklch(39.1% .09 240.876); --color-sky-950: oklch(29.3% .066 243.157); --color-blue-50: oklch(97% .014 254.604); --color-blue-100: oklch(93.2% .032 255.585); --color-blue-200: oklch(88.2% .059 254.128); --color-blue-300: oklch(80.9% .105 251.813); --color-blue-400: oklch(70.7% .165 254.624); --color-blue-500: oklch(62.3% .214 259.815); --color-blue-600: oklch(54.6% .245 262.881); --color-blue-700: oklch(48.8% .243 264.376); --color-blue-800: oklch(42.4% .199 265.638); --color-blue-900: oklch(37.9% .146 265.522); --color-blue-950: oklch(28.2% .091 267.935); --color-indigo-50: oklch(96.2% .018 272.314); --color-indigo-100: oklch(93% .034 272.788); --color-indigo-200: oklch(87% .065 274.039); --color-indigo-300: oklch(78.5% .115 274.713); --color-indigo-400: oklch(67.3% .182 276.935); --color-indigo-500: oklch(58.5% .233 277.117); --color-indigo-600: oklch(51.1% .262 276.966); --color-indigo-700: oklch(45.7% .24 277.023); --color-indigo-800: oklch(39.8% .195 277.366); --color-indigo-900: oklch(35.9% .144 278.697); --color-indigo-950: oklch(25.7% .09 281.288); --color-violet-50: oklch(96.9% .016 293.756); --color-violet-100: oklch(94.3% .029 294.588); --color-violet-200: oklch(89.4% .057 293.283); --color-violet-300: oklch(81.1% .111 293.571); --color-violet-400: oklch(70.2% .183 293.541); --color-violet-500: oklch(60.6% .25 292.717); --color-violet-600: oklch(54.1% .281 293.009); --color-violet-700: oklch(49.1% .27 292.581); --color-violet-800: oklch(43.2% .232 292.759); --color-violet-900: oklch(38% .189 293.745); --color-violet-950: oklch(28.3% .141 291.089); --color-purple-50: oklch(97.7% .014 308.299); --color-purple-100: oklch(94.6% .033 307.174); --color-purple-200: oklch(90.2% .063 306.703); --color-purple-300: oklch(82.7% .119 306.383); --color-purple-400: oklch(71.4% .203 305.504); --color-purple-500: oklch(62.7% .265 303.9); --color-purple-600: oklch(55.8% .288 302.321); --color-purple-700: oklch(49.6% .265 301.924); --color-purple-800: oklch(43.8% .218 303.724); --color-purple-900: oklch(38.1% .176 304.987); --color-purple-950: oklch(29.1% .149 302.717); --color-fuchsia-50: oklch(97.7% .017 320.058); --color-fuchsia-100: oklch(95.2% .037 318.852); --color-fuchsia-200: oklch(90.3% .076 319.62); --color-fuchsia-300: oklch(83.3% .145 321.434); --color-fuchsia-400: oklch(74% .238 322.16); --color-fuchsia-500: oklch(66.7% .295 322.15); --color-fuchsia-600: oklch(59.1% .293 322.896); --color-fuchsia-700: oklch(51.8% .253 323.949); --color-fuchsia-800: oklch(45.2% .211 324.591); --color-fuchsia-900: oklch(40.1% .17 325.612); --color-fuchsia-950: oklch(29.3% .136 325.661); --color-pink-50: oklch(97.1% .014 343.198); --color-pink-100: oklch(94.8% .028 342.258); --color-pink-200: oklch(89.9% .061 343.231); --color-pink-300: oklch(82.3% .12 346.018); --color-pink-400: oklch(71.8% .202 349.761); --color-pink-500: oklch(65.6% .241 354.308); --color-pink-600: oklch(59.2% .249 .584); --color-pink-700: oklch(52.5% .223 3.958); --color-pink-800: oklch(45.9% .187 3.815); --color-pink-900: oklch(40.8% .153 2.432); --color-pink-950: oklch(28.4% .109 3.907); --color-rose-50: oklch(96.9% .015 12.422); --color-rose-100: oklch(94.1% .03 12.58); --color-rose-200: oklch(89.2% .058 10.001); --color-rose-300: oklch(81% .117 11.638); --color-rose-400: oklch(71.2% .194 13.428); --color-rose-500: oklch(64.5% .246 16.439); --color-rose-600: oklch(58.6% .253 17.585); --color-rose-700: oklch(51.4% .222 16.935); --color-rose-800: oklch(45.5% .188 13.697); --color-rose-900: oklch(41% .159 10.272); --color-rose-950: oklch(27.1% .105 12.094); --color-slate-50: oklch(98.4% .003 247.858); --color-slate-100: oklch(96.8% .007 247.896); --color-slate-200: oklch(92.9% .013 255.508); --color-slate-300: oklch(86.9% .022 252.894); --color-slate-400: oklch(70.4% .04 256.788); --color-slate-500: oklch(55.4% .046 257.417); --color-slate-600: oklch(44.6% .043 257.281); --color-slate-700: oklch(37.2% .044 257.287); --color-slate-800: oklch(27.9% .041 260.031); --color-slate-900: oklch(20.8% .042 265.755); --color-slate-950: oklch(12.9% .042 264.695); --color-gray-50: oklch(98.5% .002 247.839); --color-gray-100: oklch(96.7% .003 264.542); --color-gray-200: oklch(92.8% .006 264.531); --color-gray-300: oklch(87.2% .01 258.338); --color-gray-400: oklch(70.7% .022 261.325); --color-gray-500: oklch(55.1% .027 264.364); --color-gray-600: oklch(44.6% .03 256.802); --color-gray-700: oklch(37.3% .034 259.733); --color-gray-800: oklch(27.8% .033 256.848); --color-gray-900: oklch(21% .034 264.665); --color-gray-950: oklch(13% .028 261.692); --color-zinc-50: oklch(98.5% 0 0); --color-zinc-100: oklch(96.7% .001 286.375); --color-zinc-200: oklch(92% .004 286.32); --color-zinc-300: oklch(87.1% .006 286.286); --color-zinc-400: oklch(70.5% .015 286.067); --color-zinc-500: oklch(55.2% .016 285.938); --color-zinc-600: oklch(44.2% .017 285.786); --color-zinc-700: oklch(37% .013 285.805); --color-zinc-800: oklch(27.4% .006 286.033); --color-zinc-900: oklch(21% .006 285.885); --color-zinc-950: oklch(14.1% .005 285.823); --color-neutral-50: oklch(98.5% 0 0); --color-neutral-100: oklch(97% 0 0); --color-neutral-200: oklch(92.2% 0 0); --color-neutral-300: oklch(87% 0 0); --color-neutral-400: oklch(70.8% 0 0); --color-neutral-500: oklch(55.6% 0 0); --color-neutral-600: oklch(43.9% 0 0); --color-neutral-700: oklch(37.1% 0 0); --color-neutral-800: oklch(26.9% 0 0); --color-neutral-900: oklch(20.5% 0 0); --color-neutral-950: oklch(14.5% 0 0); --color-stone-50: oklch(98.5% .001 106.423); --color-stone-100: oklch(97% .001 106.424); --color-stone-200: oklch(92.3% .003 48.717); --color-stone-300: oklch(86.9% .005 56.366); --color-stone-400: oklch(70.9% .01 56.259); --color-stone-500: oklch(55.3% .013 58.071); --color-stone-600: oklch(44.4% .011 73.639); --color-stone-700: oklch(37.4% .01 67.558); --color-stone-800: oklch(26.8% .007 34.298); --color-stone-900: oklch(21.6% .006 56.043); --color-stone-950: oklch(14.7% .004 49.25); --color-mauve-50: oklch(98.5% 0 0); --color-mauve-100: oklch(96% .003 325.6); --color-mauve-200: oklch(92.2% .005 325.62); --color-mauve-300: oklch(86.5% .012 325.68); --color-mauve-400: oklch(71.1% .019 323.02); --color-mauve-500: oklch(54.2% .034 322.5); --color-mauve-600: oklch(43.5% .029 321.78); --color-mauve-700: oklch(36.4% .029 323.89); --color-mauve-800: oklch(26.3% .024 320.12); --color-mauve-900: oklch(21.2% .019 322.12); --color-mauve-950: oklch(14.5% .008 326); --color-olive-50: oklch(98.8% .003 106.5); --color-olive-100: oklch(96.6% .005 106.5); --color-olive-200: oklch(93% .007 106.5); --color-olive-300: oklch(88% .011 106.6); --color-olive-400: oklch(73.7% .021 106.9); --color-olive-500: oklch(58% .031 107.3); --color-olive-600: oklch(46.6% .025 107.3); --color-olive-700: oklch(39.4% .023 107.4); --color-olive-800: oklch(28.6% .016 107.4); --color-olive-900: oklch(22.8% .013 107.4); --color-olive-950: oklch(15.3% .006 107.1); --color-mist-50: oklch(98.7% .002 197.1); --color-mist-100: oklch(96.3% .002 197.1); --color-mist-200: oklch(92.5% .005 214.3); --color-mist-300: oklch(87.2% .007 219.6); --color-mist-400: oklch(72.3% .014 214.4); --color-mist-500: oklch(56% .021 213.5); --color-mist-600: oklch(45% .017 213.2); --color-mist-700: oklch(37.8% .015 216); --color-mist-800: oklch(27.5% .011 216.9); --color-mist-900: oklch(21.8% .008 223.9); --color-mist-950: oklch(14.8% .004 228.8); --color-taupe-50: oklch(98.6% .002 67.8); --color-taupe-100: oklch(96% .002 17.2); --color-taupe-200: oklch(92.2% .005 34.3); --color-taupe-300: oklch(86.8% .007 39.5); --color-taupe-400: oklch(71.4% .014 41.2); --color-taupe-500: oklch(54.7% .021 43.1); --color-taupe-600: oklch(43.8% .017 39.3); --color-taupe-700: oklch(36.7% .016 35.7); --color-taupe-800: oklch(26.8% .011 36.5); --color-taupe-900: oklch(21.4% .009 43.1); --color-taupe-950: oklch(14.7% .004 49.3); --color-black: #000; --color-white: #fff; --spacing: .25rem; --breakpoint-sm: 40rem; --breakpoint-md: 48rem; --breakpoint-lg: 64rem; --breakpoint-xl: 80rem; --breakpoint-2xl: 96rem; --container-3xs: 16rem; --container-2xs: 18rem; --container-xs: 20rem; --container-sm: 24rem; --container-md: 28rem; --container-lg: 32rem; --container-xl: 36rem; --container-2xl: 42rem; --container-3xl: 48rem; --container-4xl: 56rem; --container-5xl: 64rem; --container-6xl: 72rem; --container-7xl: 80rem; --text-xs: .75rem; --text-xs--line-height: calc(1 / .75); --text-sm: .875rem; --text-sm--line-height: calc(1.25 / .875); --text-base: 1rem; --text-base--line-height: 1.5 ; --text-lg: 1.125rem; --text-lg--line-height: calc(1.75 / 1.125); --text-xl: 1.25rem; --text-xl--line-height: calc(1.75 / 1.25); --text-2xl: 1.5rem; --text-2xl--line-height: calc(2 / 1.5); --text-3xl: 1.875rem; --text-3xl--line-height: 1.2 ; --text-4xl: 2.25rem; --text-4xl--line-height: calc(2.5 / 2.25); --text-5xl: 3rem; --text-5xl--line-height: 1; --text-6xl: 3.75rem; --text-6xl--line-height: 1; --text-7xl: 4.5rem; --text-7xl--line-height: 1; --text-8xl: 6rem; --text-8xl--line-height: 1; --text-9xl: 8rem; --text-9xl--line-height: 1; --font-weight-thin: 100; --font-weight-extralight: 200; --font-weight-light: 300; --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --font-weight-extrabold: 800; --font-weight-black: 900; --tracking-tighter: -.05em; --tracking-tight: -.025em; --tracking-normal: 0em; --tracking-wide: .025em; --tracking-wider: .05em; --tracking-widest: .1em; --leading-tight: 1.25; --leading-snug: 1.375; --leading-normal: 1.5; --leading-relaxed: 1.625; --leading-loose: 2; --radius-xs: .125rem; --radius-sm: .25rem; --radius-md: .375rem; --radius-lg: .5rem; --radius-xl: .75rem; --radius-2xl: 1rem; --radius-3xl: 1.5rem; --radius-4xl: 2rem; --shadow-2xs: 0 1px rgb(0 0 0 / .05); --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05); --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1); --shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1); --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1); --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1); --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25); --inset-shadow-2xs: inset 0 1px rgb(0 0 0 / .05); --inset-shadow-xs: inset 0 1px 1px rgb(0 0 0 / .05); --inset-shadow-sm: inset 0 2px 4px rgb(0 0 0 / .05); --drop-shadow-xs: 0 1px 1px rgb(0 0 0 / .05); --drop-shadow-sm: 0 1px 2px rgb(0 0 0 / .15); --drop-shadow-md: 0 3px 3px rgb(0 0 0 / .12); --drop-shadow-lg: 0 4px 4px rgb(0 0 0 / .15); --drop-shadow-xl: 0 9px 7px rgb(0 0 0 / .1); --drop-shadow-2xl: 0 25px 25px rgb(0 0 0 / .15); --text-shadow-2xs: 0px 1px 0px rgb(0 0 0 / .15); --text-shadow-xs: 0px 1px 1px rgb(0 0 0 / .2); --text-shadow-sm: 0px 1px 0px rgb(0 0 0 / .075), 0px 1px 1px rgb(0 0 0 / .075), 0px 2px 2px rgb(0 0 0 / .075); --text-shadow-md: 0px 1px 1px rgb(0 0 0 / .1), 0px 1px 2px rgb(0 0 0 / .1), 0px 2px 4px rgb(0 0 0 / .1); --text-shadow-lg: 0px 1px 2px rgb(0 0 0 / .1), 0px 3px 2px rgb(0 0 0 / .1), 0px 4px 8px rgb(0 0 0 / .1); --ease-in: cubic-bezier(.4, 0, 1, 1); --ease-out: cubic-bezier(0, 0, .2, 1); --ease-in-out: cubic-bezier(.4, 0, .2, 1); --animate-spin: spin 1s linear infinite; --animate-ping: ping 1s cubic-bezier(0, 0, .2, 1) infinite; --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite; --animate-bounce: bounce 1s infinite; @keyframes spin { to { transform: rotate(360deg); } } @keyframes ping { 75%, 100% { transform: scale(2); opacity: 0; } } @keyframes pulse { 50% { opacity: .5; } } @keyframes bounce { 0%, 100% { transform: translateY(-25%); animation-timing-function: cubic-bezier(.8, 0, 1, 1); } 50% { transform: none; animation-timing-function: cubic-bezier(0, 0, .2, 1); } } --blur-xs: 4px; --blur-sm: 8px; --blur-md: 12px; --blur-lg: 16px; --blur-xl: 24px; --blur-2xl: 40px; --blur-3xl: 64px; --perspective-dramatic: 100px; --perspective-near: 300px; --perspective-normal: 500px; --perspective-midrange: 800px; --perspective-distant: 1200px; --aspect-video: 16 / 9; --default-transition-duration: .15s; --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1); --default-font-family: --theme(--font-sans, initial); --default-font-feature-settings: --theme( --font-sans--font-feature-settings, initial ); --default-font-variation-settings: --theme( --font-sans--font-variation-settings, initial ); --default-mono-font-family: --theme(--font-mono, initial); --default-mono-font-feature-settings: --theme( --font-mono--font-feature-settings, initial ); --default-mono-font-variation-settings: --theme( --font-mono--font-variation-settings, initial ); }@theme default inline reference{ --blur: 8px; --shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1); --shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05); --drop-shadow: 0 1px 2px rgb(0 0 0 / .1), 0 1px 1px rgb(0 0 0 / .06); --radius: .25rem; --max-width-prose: 65ch; }}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:--theme(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:--theme(--default-font-feature-settings,normal);font-variation-settings:--theme(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:--theme(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:--theme(--default-mono-font-feature-settings,normal);font-variation-settings:--theme(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{@tailwind utilities;}.selected-file-container{display:flex;align-items:center;gap:12px}.image-preview{width:80px;height:80px;object-fit:cover;border-radius:8px;border:2px solid #dbeafe;box-shadow:0 2px 8px #0000001a;flex-shrink:0}.file-upload-container{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:8px 0 12px}.file-input-hidden{display:none}.site-footer{margin-top:var(--sp-8);padding:0;background:var(--card);border-top:1px solid var(--line)}.site-footer-inner{max-width:1200px;margin:0 auto;padding:var(--sp-7) clamp(1.25rem,4vw,3rem) var(--sp-5)}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:var(--sp-6);align-items:start}.footer-brand{max-width:400px}.footer-brand h3{font-size:1.15rem;color:var(--brand);margin-bottom:var(--sp-3)}.footer-brand p{color:var(--muted);font-size:.9rem;line-height:1.6}.footer-links h4{margin:0 0 var(--sp-3);font-family:Space Grotesk,sans-serif;font-size:.82rem;text-transform:uppercase;letter-spacing:.07em;color:var(--ink)}.footer-links ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-2)}.footer-links a{color:var(--muted);text-decoration:none;font-size:.9rem;transition:color .18s var(--ease)}.footer-links a:hover{color:var(--brand)}.footer-links a:focus-visible{outline:2px solid var(--brand);outline-offset:4px;border-radius:2px}.footer-links-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2.5rem}.footer-icon{width:1.1rem;height:1.1rem;flex-shrink:0}.right-column{display:flex;flex-direction:column;gap:var(--sp-5)}.footer-bottom{max-width:1200px;margin:var(--sp-7) auto 0;padding-top:var(--sp-4);border-top:1px solid var(--line);text-align:center;color:var(--muted);font-size:.8rem}@media (max-width: 768px){.site-footer{margin-top:2rem;padding:2.5rem 1rem 1.5rem}.site-footer-inner{width:100%;padding:0}.footer-grid{grid-template-columns:1fr;gap:2rem;text-align:center}.footer-brand{max-width:100%;text-align:center}.footer-links-group{grid-template-columns:1fr;gap:1.5rem;justify-content:center}.footer-links{text-align:center}.footer-links ul{align-items:center}.right-column{width:100%;text-align:center}.footer-bottom{flex-direction:column;justify-content:center;text-align:center;gap:.75rem;margin-top:2rem}}.organ-icon-wrapper{display:inline-flex;align-items:center;justify-content:center;cursor:help}.export-report-button{padding:10px 18px;border:none;border-radius:12px;background:#0d9488;color:#fff;font-size:.9rem;font-weight:700;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.export-report-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #0d948840}.export-report-button:disabled{cursor:not-allowed;opacity:.65}.share-aqi-button{padding:10px 18px;border:none;border-radius:12px;background:#f97316;color:#fff;font-size:.9rem;font-weight:700;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.share-aqi-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #f973164d}.share-aqi-button:disabled{cursor:not-allowed;opacity:.65}@media (max-width: 768px){body{font-size:14.5px}.app-shell{padding-bottom:var(--sp-4)}h2{font-size:1.25rem}h3{font-size:1rem}.panel{padding:var(--sp-4);border-radius:var(--r-md)}.panel-head{margin-bottom:var(--sp-2)}.panel-head h2{font-size:1.3rem}.panel-head p{font-size:.88rem}.kpi-value{font-size:1.8rem}.content-grid{gap:var(--sp-4)}.section-nav{position:sticky;padding:var(--sp-2) var(--sp-3);margin:0 0 var(--sp-4)}.mobile-nav-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;z-index:900;animation:fadeIn .12s ease forwards}.hero{margin:var(--sp-2) auto var(--sp-3);border-radius:var(--r-md)}.hero-content{padding:var(--sp-4) var(--sp-3)}.hero h1{font-size:clamp(1.4rem,5vw,2rem)}.hero p{font-size:.92rem}.app-controls{grid-template-columns:1fr;gap:var(--sp-3);width:min(100%,94vw)}.control-group{padding:var(--sp-3)}.control-group label{font-size:.82rem;white-space:nowrap}.location-search-wrapper{max-width:100%;flex:1 1 160px;min-width:160px}.location-search-dropdown{min-width:unset;width:calc(100vw - 8rem);max-width:320px}.location-notice{flex-direction:column;align-items:stretch;gap:var(--sp-3);padding:var(--sp-3);width:min(100%,94vw)}.location-notice button{align-self:flex-end}.error-banner,.warning-banner{width:min(100%,94vw);padding:var(--sp-3);font-size:.88rem;word-break:break-word}.chart-grid{grid-template-columns:1fr;gap:var(--sp-3)}.chart-card{padding:var(--sp-3)}.kpi-grid{grid-template-columns:1fr;gap:var(--sp-3)}.kpi-grid .aqi,.kpi-grid .chart-card{grid-column:span 1}.map-wrap{height:260px;border-radius:var(--r-sm)}.hotspots li{flex-direction:column;gap:var(--sp-1)}.tips-list{grid-template-columns:1fr;padding:var(--sp-3)}.three-col{grid-template-columns:1fr}.three-col>div+div{border-left:none;padding-left:0;border-top:1px solid var(--line);padding-top:var(--sp-4)}.advisory-grid{grid-template-columns:1fr}.tabs-list-buttons{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;flex-shrink:0}.tab-btn{white-space:nowrap;padding:8px 14px;font-size:.82rem;min-height:44px}.tips-grid{grid-template-columns:1fr;gap:var(--sp-3)}.quiz-panel{padding:var(--sp-3)}.quiz-cards{grid-template-columns:1fr}.quiz-option{padding:var(--sp-3);font-size:.92rem;min-height:44px}.quiz-actions{flex-direction:column}.quiz-actions button{width:100%;justify-content:center;min-height:44px}.quiz-header-row{flex-direction:column;align-items:flex-start;gap:var(--sp-2)}.community-form input,.community-form textarea{width:100%;font-size:16px}.filter-tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;padding-bottom:var(--sp-1)}.filter-tabs button{flex-shrink:0;min-height:44px;font-size:.85rem;padding:6px 14px}.report-head{flex-direction:column;align-items:flex-start;gap:var(--sp-2)}.report-head button{width:100%;text-align:center;min-height:44px}.timeline-workflow{overflow-x:auto;flex-wrap:nowrap;white-space:nowrap;-webkit-overflow-scrolling:touch;padding-bottom:var(--sp-1)}.analytics-kpis{grid-template-columns:1fr;gap:var(--sp-3)}.analytics-kpis p{font-size:1.4rem}.calendar-legend-grid{grid-template-columns:minmax(0,1fr);gap:10px}.calendar-legend-item{min-width:0}.calendar-legend-item span:last-child{overflow-wrap:break-word;word-break:break-word}.sim-presets{grid-template-columns:1fr;gap:var(--sp-3)}.sim-comparison{flex-direction:column;gap:var(--sp-3)}.sim-side{min-width:unset;width:100%;padding:var(--sp-3)}.sim-value{font-size:2rem}.sim-arrow-wrap{flex-direction:row;gap:var(--sp-2)}.sim-arrow-big{font-size:1.4rem}.sim-city-selector{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;padding-bottom:var(--sp-1)}.sim-city-chip{flex-shrink:0;min-height:44px}.sim-city-results{grid-template-columns:1fr}.sim-pollutant-table,.game-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.sim-pollutant-table thead,.sim-pollutant-table tbody,.sim-pollutant-table tr,.sim-pollutant-table th,.sim-pollutant-table td,.game-table thead,.game-table tbody,.game-table tr,.game-table th,.game-table td{min-width:0}.game-intro-layout{grid-template-columns:1fr}.game-hud{grid-template-columns:repeat(2,1fr);gap:.5rem}.hud-metric{padding:.6rem}.hud-val{font-size:1.1rem}.game-workspace,.actions-grid{grid-template-columns:1fr}.sim-aqi-comparison{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:var(--sp-2);padding:var(--sp-3)}.aqi-val{font-size:1.6rem}.results-comparison-grid{flex-wrap:wrap;gap:var(--sp-3);padding:var(--sp-3)}.results-value{font-size:2rem}.results-banner{padding:1.5rem 1rem}.results-banner h2{font-size:1.5rem}.results-actions{flex-direction:column}.results-actions button{width:100%;min-height:44px}.deployed-policy-item{flex-direction:column;align-items:flex-start;gap:var(--sp-2)}.policy-item-reductions{flex-wrap:wrap}.mission-meta-row{flex-wrap:wrap;gap:.75rem}.hotspot-game{padding:var(--sp-4)}.hotspot-option{min-height:44px}.score-board{flex-wrap:wrap;gap:var(--sp-2)}.theme-toggle-wrap{top:var(--sp-3);right:var(--sp-3)}.section-subtitle{font-size:1rem}.community-layout,.history-layout,.quiz-layout,.game-layout{padding:0}.community-layout .panel,.history-layout .panel,.quiz-layout .panel,.game-layout .panel{border-radius:var(--r-md)}.historical-analysis-container .stats-row{flex-direction:column;gap:var(--sp-3)}.historical-analysis-container .stat-box{min-width:0}.export-report-button{width:100%;text-align:center;min-height:44px}.btn-primary,.btn-secondary,.btn-success{min-height:44px;display:inline-flex;align-items:center;justify-content:center}.back-btn{min-height:44px;padding:.5rem 1rem}.empty-state{padding:var(--sp-5) var(--sp-3)}.quiz-result,.intro-card-primary,.rules-card,.pollutants-breakdown-card,.submit-panel-card,.results-debriefing{padding:var(--sp-4)}.mode-toggle-buttons{flex-direction:column}.mode-btn{min-height:44px}.start-mission-btn{width:100%;min-height:48px}}.commute-input-wrapper{position:relative}.commute-input-wrapper input{padding-right:2.5rem}.commute-input-clear{position:absolute;top:50%;right:.5rem;transform:translateY(-50%);background:none;border:none;color:#6b7280;font-size:1.1rem;line-height:1;cursor:pointer;padding:.25rem;border-radius:50%}.info-tooltip-trigger{display:inline-flex;align-items:center;justify-content:center;width:1.1rem;height:1.1rem;border-radius:50%;border:none;background:none;color:#6b7280;cursor:pointer;padding:0}.info-tooltip-trigger:hover,.info-tooltip-trigger:focus-visible{color:#0d9488}.info-tooltip-bubble{position:absolute;bottom:calc(100% + .4rem);left:50%;transform:translate(-50%);width:max-content;max-width:220px;padding:.5rem .65rem;border-radius:.375rem;background-color:#111827;color:#fff;font-size:.78rem;line-height:1.35;font-weight:400;text-transform:none;z-index:20;box-shadow:0 2px 6px #0003;pointer-events:none}:root[data-theme=dark] .info-tooltip-trigger{color:#93a3b8}:root[data-theme=dark] .info-tooltip-trigger:hover,:root[data-theme=dark] .info-tooltip-trigger:focus-visible{color:#2dd4bf}:root[data-theme=dark] .info-tooltip-bubble{background-color:#1e293b;color:#f1f5f9;box-shadow:0 2px 8px #00000080}:root[data-theme=high-contrast] .info-tooltip-trigger{color:var(--hc-ink)!important}:root[data-theme=high-contrast] .info-tooltip-trigger:hover,:root[data-theme=high-contrast] .info-tooltip-trigger:focus-visible{color:var(--hc-brand)!important;outline:2px solid var(--hc-focus)!important;outline-offset:1px}:root[data-theme=high-contrast] .info-tooltip-bubble{background-color:var(--hc-ink)!important;color:var(--hc-surface)!important;border:1px solid var(--hc-border)!important;box-shadow:none!important;font-size:.85rem!important}.commute-swap-row{display:flex;justify-content:center;margin:-.5rem 0 .75rem}.commute-swap-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;border:1px solid #d1d5db;background-color:#fff;color:#0d9488;cursor:pointer}.commute-swap-btn:hover{background-color:#f0fdfa;border-color:#0d9488}.content-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.compare-controls-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--sp-3);padding-bottom:var(--sp-4);margin-bottom:var(--sp-5);border-bottom:1px solid var(--line)}.preset-buttons-group{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-2)}.compare-controls-bar .location-search-wrapper{max-width:560px;flex:1 1 360px;min-width:260px}.compare-controls-bar .location-search-input{width:100%;box-sizing:border-box}.compare-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--sp-4)}@media (max-width: 640px){.compare-grid{grid-template-columns:1fr}}.compare-card{position:relative;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-5);box-shadow:var(--shadow-sm);transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s var(--ease)}.compare-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.compare-card.winner-card{border-color:var(--brand);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 25%,transparent),var(--shadow-md)}.card-badge-slot{display:flex;align-items:center;min-height:1.6rem;margin-bottom:var(--sp-2)}.winner-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#166534;background:#dcfce7;border-radius:999px;padding:.25rem .7rem}.winner-badge:before{content:"✓"}.winner-badge-placeholder{display:block;height:1.6rem}.compare-card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-2)}.compare-city-name{font-family:Fraunces,serif;font-size:1.25rem;font-weight:600;color:var(--ink)}.card-actions{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.btn-change-city{border:1px solid var(--line);background:var(--card);color:var(--brand);font-size:.78rem;font-weight:700;padding:.3rem .7rem;border-radius:999px;cursor:pointer;transition:all .18s var(--ease)}.btn-change-city:hover{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 10%,transparent)}.btn-remove{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--line);background:var(--card);color:var(--muted);border-radius:999px;font-size:1rem;line-height:1;cursor:pointer;transition:all .18s var(--ease)}.btn-remove:hover{border-color:var(--danger);color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent)}.btn-text-cancel{border:none;background:none;color:var(--muted);font-size:.8rem;font-weight:600;margin-top:.4rem;cursor:pointer;text-decoration:underline}.btn-text-cancel:hover{color:var(--danger)}.aqi-display-main{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);text-align:center;padding-bottom:var(--sp-4);border-bottom:1px solid var(--line)}.pollutant-summary-box{background:var(--bg-card-alt);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);margin-top:var(--sp-4)}.summary-row{display:flex;align-items:center;justify-content:space-between;font-size:.85rem;color:var(--muted);padding:.2rem 0}.summary-row strong{color:var(--ink);font-size:.9rem}.who-bar-bg{width:100%;height:7px;border-radius:999px;background:color-mix(in srgb,var(--line) 80%,transparent);overflow:hidden;margin-top:.5rem}.who-bar-fill{height:100%;border-radius:999px;transition:width .4s var(--ease)}.pollutant-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}.pollutant-item{display:flex;align-items:center;justify-content:space-between;background:var(--bg-card-alt);border:1px solid var(--line);border-radius:var(--r-sm);padding:.5rem .7rem;font-size:.82rem}.pollutant-item span{color:var(--muted);font-weight:600}.pollutant-item strong{color:var(--ink)}@media (max-width: 480px){.pollutant-list{grid-template-columns:1fr}}.sa-col-header{display:flex;flex-direction:column;gap:.2rem;margin-bottom:var(--sp-3)}.sa-subtext{display:block;color:var(--muted);font-size:.78rem}.sa-tips-list{display:flex;flex-direction:column;gap:var(--sp-3);margin-top:var(--sp-2)}.sa-tip-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);box-shadow:var(--shadow-sm);transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s var(--ease)}.sa-tip-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--brand)}.sa-tip-card-header{margin-bottom:var(--sp-2)}.sa-tip-category-badge{display:inline-block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--brand);background:color-mix(in srgb,var(--brand) 12%,transparent);border-radius:999px;padding:.2rem .6rem}.sa-tip-title{font-family:Fraunces,serif;font-size:1rem;font-weight:600;color:var(--ink);margin-bottom:var(--sp-1)}.sa-tip-description{color:var(--muted);font-size:.86rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.sa-tip-actions{display:flex;justify-content:flex-end;margin-top:var(--sp-2)}.sa-tip-action-btn{border:1px solid var(--line);background:var(--card);color:var(--muted);font:inherit;font-size:.78rem;font-weight:700;border-radius:999px;padding:.3rem .75rem;cursor:pointer;transition:all .18s var(--ease)}.sa-tip-action-btn:hover{border-color:var(--brand);color:var(--brand)}.sa-tip-action-btn.sa-tip-btn-active{background:color-mix(in srgb,var(--brand) 14%,var(--card));border-color:var(--brand);color:var(--brand)}.sa-policy-accordion{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:var(--sp-2)}.sa-policy-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.sa-policy-card:hover{border-color:var(--sky)}.sa-policy-card.sa-policy-card-expanded{border-color:var(--brand);box-shadow:var(--shadow-sm)}.sa-policy-header-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);background:transparent;border:none;padding:var(--sp-3) var(--sp-4);font:inherit;cursor:pointer;text-align:left;color:var(--ink)}.sa-policy-title{font-weight:700;font-size:.92rem;overflow-wrap:break-word;word-break:break-word}.sa-policy-chevron{flex-shrink:0;font-size:.7rem;color:var(--muted);transition:transform .2s var(--ease)}.sa-policy-chevron.sa-chevron-rotated{transform:rotate(180deg);color:var(--brand)}.sa-policy-body{padding:0 var(--sp-4) var(--sp-4);border-top:1px solid var(--line);display:flex;flex-direction:column;gap:var(--sp-3);font-size:.86rem}.sa-policy-desc{color:var(--muted);padding-top:var(--sp-3)}.sa-policy-detail-block strong{display:block;color:var(--brand);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.2rem}.sa-policy-detail-block p{color:var(--ink);line-height:1.5}.sa-policy-learn-more-link{align-self:flex-start;color:var(--sky);font-weight:700;font-size:.82rem;text-decoration:none}.sa-policy-learn-more-link:hover{text-decoration:underline}.sa-reads-list{display:flex;flex-direction:column;gap:var(--sp-3);margin-top:var(--sp-2)}.sa-read-card-btn{display:flex;flex-direction:column;gap:var(--sp-1);width:100%;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);font:inherit;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s var(--ease)}.sa-read-card-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--sky)}.sa-read-meta{display:flex;gap:var(--sp-2);align-items:center}.sa-read-source-tag,.sa-read-time-tag{font-size:.7rem;font-weight:700;border-radius:999px;padding:.15rem .55rem}.sa-read-source-tag{background:color-mix(in srgb,var(--sky) 14%,transparent);color:var(--sky)}.sa-read-time-tag{color:var(--muted)}.sa-read-title{font-family:Fraunces,serif;font-size:.98rem;font-weight:600;color:var(--ink)}.sa-read-snippet{color:var(--muted);font-size:.84rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sa-read-cta-text{margin-top:var(--sp-1);color:var(--brand);font-size:.8rem;font-weight:700}.sa-article-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;padding:var(--sp-4);z-index:1000}.sa-article-modal-content{position:relative;width:min(560px,100%);max-height:85vh;overflow-y:auto;background:var(--card);border-radius:var(--r-lg);padding:var(--sp-6);box-shadow:var(--shadow-lg)}.sa-article-modal-close-btn{position:absolute;top:var(--sp-3);right:var(--sp-3);width:32px;height:32px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--muted);cursor:pointer;font-size:.9rem}.sa-article-modal-close-btn:hover{border-color:var(--danger);color:var(--danger)}.sa-article-modal-header{margin-bottom:var(--sp-4);padding-right:var(--sp-6)}.sa-article-modal-title{font-size:1.25rem;margin-top:var(--sp-2)}.sa-article-modal-body{display:flex;flex-direction:column;gap:var(--sp-4)}.sa-modal-section h4{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:var(--sp-1)}.sa-modal-section p{color:var(--ink);line-height:1.6;font-size:.92rem}.sa-modal-key-takeaway{background:color-mix(in srgb,var(--brand) 10%,var(--card));border-left:4px solid var(--brand);border-radius:0 var(--r-sm) var(--r-sm) 0;padding:var(--sp-3) var(--sp-4)}.sa-article-modal-footer{display:flex;justify-content:flex-end;gap:var(--sp-3);margin-top:var(--sp-5)}.sa-modal-btn-secondary{border:1px solid var(--line);background:var(--card);color:var(--muted);border-radius:var(--r-sm);padding:.6rem 1.1rem;font:inherit;font-weight:700;cursor:pointer}.sa-modal-btn-primary{border:none;background:linear-gradient(120deg,var(--brand),var(--sky));color:#fff;border-radius:var(--r-sm);padding:.6rem 1.1rem;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}@media (max-width: 768px){.sa-tip-card,.sa-read-card-btn,.sa-policy-header-btn{padding:var(--sp-3)}.sa-policy-body{padding:0 var(--sp-3) var(--sp-3)}.sa-article-modal-content{padding:var(--sp-4);width:94vw;max-height:90vh}.sa-article-modal-footer{flex-direction:column}.sa-modal-btn-secondary,.sa-modal-btn-primary{width:100%;text-align:center}}@media (max-width: 480px){.compare-controls-bar{flex-direction:column;align-items:stretch}.preset-buttons-group{width:100%;justify-content:center}.compare-controls-bar .location-search-wrapper{min-width:0;max-width:100%;width:100%;flex:1 1 auto}.compare-grid{grid-template-columns:1fr}.compare-card{padding:var(--sp-4)}}@media (max-width: 480px){.compare-controls-bar{flex-direction:column;align-items:stretch}.preset-buttons-group{width:100%;justify-content:center}.compare-controls-bar .location-search-wrapper{width:100%;max-width:100%;min-width:0;flex:1 1 auto}.compare-grid{grid-template-columns:1fr}.compare-card{padding:var(--sp-4)}.sim-comparison{flex-direction:column;gap:var(--sp-3)}.sim-side{width:100%;min-width:0;padding:var(--sp-4)}.sim-slider-range{flex-direction:column;gap:.25rem;align-items:flex-start}.sim-city-results{grid-template-columns:1fr}.sim-city-result-header{flex-direction:column;align-items:flex-start}.sim-city-chip{width:100%;justify-content:center}}:root,:root[data-theme=dark]{--ink: #eef2f6;--muted: #93a3b8;--panel: #0c1420;--card: #121b29;--line: #223047;--brand: #2dd4bf;--brand-strong: #5eead4;--accent: #fb923c;--sky: #38bdf8;--danger: #f87171;--bg-card-alt: #1a2434;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.5rem;--sp-6: 2rem;--sp-7: 2.75rem;--sp-8: 3.5rem;--r-sm: 10px;--r-md: 16px;--r-lg: 22px;--shadow-sm: 0 2px 10px rgba(0, 0, 0, .35);--shadow-md: 0 14px 34px rgba(0, 0, 0, .45);--shadow-lg: 0 24px 60px rgba(0, 0, 0, .55);--ease: cubic-bezier(.22, 1, .36, 1);--accent-fill: #3b2314;--sky-fill: #0c2a40;--sky-text: #38bdf8;--danger-fill: #3e1616;--danger-text: #f87171}:root[data-theme=light]{--ink: #0f172a;--muted: #52667a;--panel: #eef3f1;--card: #ffffff;--line: #e0e7e3;--brand: #0d9488;--brand-strong: #0b7d73;--accent: #f97316;--sky: #0284c7;--danger: #b91c1c;--bg-card-alt: #f8fafc;--shadow-sm: 0 2px 8px rgba(15, 23, 42, .05);--shadow-md: 0 10px 28px rgba(15, 23, 42, .08);--shadow-lg: 0 20px 48px rgba(15, 23, 42, .14);--accent-fill: #ffdec7;--sky-fill: #e0f2fe;--sky-text: #0284c7;--danger-fill: #ffcccc;--danger-text: #dc2626}:root[data-theme=high-contrast]{--hc-bg: #ffffff;--hc-surface: #ffffff;--hc-surface-alt: #f0f0f0;--hc-ink: #000000;--hc-muted: #2d3748;--hc-brand: #003d36;--hc-brand-hover: #001e1a;--hc-border: #000000;--hc-border-light: #4a4a4a;--hc-focus: #005248;--hc-danger: #9b1c1c;--hc-warning: #78350f;--hc-success: #14532d;--hc-link: #003d36;--hc-link-visited: #4c1d95;--hc-disabled-bg: #d1d5db;--hc-disabled-ink: #6b7280;--ink: var(--hc-ink);--muted: var(--hc-muted);--panel: var(--hc-surface-alt);--card: var(--hc-surface);--line: var(--hc-border);--brand: var(--hc-brand);--brand-strong: var(--hc-brand-hover);--accent: var(--hc-danger);--sky: #0369a1;--danger: var(--hc-danger);--bg-card-alt: var(--hc-surface-alt);--shadow-sm: none;--shadow-md: none;--shadow-lg: none;--accent-fill: #fee2e2;--sky-fill: #e0f2fe;--sky-text: #0369a1;--danger-fill: #fee2e2;--danger-text: #9b1c1c;--hc-body-size: 1.0625rem;--hc-lh: 1.7;--hc-lh-tight: 1.4}:root[data-theme=high-contrast] body{background-color:var(--hc-bg)!important;color:var(--hc-ink)!important;font-size:var(--hc-body-size)!important;line-height:var(--hc-lh)!important}:root[data-theme=high-contrast] *,:root[data-theme=high-contrast] *:before,:root[data-theme=high-contrast] *:after{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;text-shadow:none!important}:root[data-theme=high-contrast] .glass,:root[data-theme=high-contrast] [class*=glass],:root[data-theme=high-contrast] [class*=blur]{background:var(--hc-surface)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}:root[data-theme=high-contrast] [style*=gradient],:root[data-theme=high-contrast] [class*=gradient]{background-image:none!important}:root[data-theme=high-contrast] *[class]{box-shadow:none!important}:root[data-theme=high-contrast] h1{font-size:2rem!important;font-weight:800!important;color:var(--hc-ink)!important;line-height:var(--hc-lh-tight)!important;letter-spacing:-.01em!important}:root[data-theme=high-contrast] h2{font-size:1.5rem!important;font-weight:700!important;color:var(--hc-ink)!important;line-height:var(--hc-lh-tight)!important}:root[data-theme=high-contrast] h3{font-size:1.25rem!important;font-weight:700!important;color:var(--hc-ink)!important}:root[data-theme=high-contrast] h4,:root[data-theme=high-contrast] h5,:root[data-theme=high-contrast] h6{font-weight:700!important;color:var(--hc-ink)!important}:root[data-theme=high-contrast] p,:root[data-theme=high-contrast] li{color:var(--hc-ink)!important;line-height:var(--hc-lh)!important}:root[data-theme=high-contrast] small,:root[data-theme=high-contrast] .text-sm,:root[data-theme=high-contrast] [class*=muted],:root[data-theme=high-contrast] [class*=subtitle],:root[data-theme=high-contrast] [class*=caption]{color:var(--hc-muted)!important;font-weight:600!important}:root[data-theme=high-contrast] strong,:root[data-theme=high-contrast] b{font-weight:800!important;color:var(--hc-ink)!important}:root[data-theme=high-contrast] :focus-visible{outline:4px solid var(--hc-focus)!important;outline-offset:3px!important;border-radius:2px!important;box-shadow:none!important}:root[data-theme=high-contrast] .section-nav button:focus-visible,:root[data-theme=high-contrast] .theme-utility-btn:focus-visible,:root[data-theme=high-contrast] .theme-menu-item:focus-visible{outline:4px solid var(--hc-focus)!important;outline-offset:3px!important}:root[data-theme=high-contrast] a{color:var(--hc-link)!important;text-decoration:underline!important;text-underline-offset:3px!important;font-weight:600!important}:root[data-theme=high-contrast] a:visited{color:var(--hc-link-visited)!important}:root[data-theme=high-contrast] a:hover{color:var(--hc-ink)!important;text-decoration-thickness:3px!important}:root[data-theme=high-contrast] .content-card,:root[data-theme=high-contrast] .compare-card,:root[data-theme=high-contrast] .commute-card,:root[data-theme=high-contrast] .panel-card{background-color:var(--hc-surface)!important;border:2px solid var(--hc-border)!important;box-shadow:none!important;padding:1.25rem!important}:root[data-theme=high-contrast] .stat-box,:root[data-theme=high-contrast] .pollutant-summary-box{background-color:var(--hc-surface-alt)!important;border:2px solid var(--hc-border)!important;box-shadow:none!important}:root[data-theme=high-contrast] .location-search-wrapper,:root[data-theme=high-contrast] .preset-buttons-group,:root[data-theme=high-contrast] .mode-selector-group,:root[data-theme=high-contrast] .nav-sections{background-color:var(--hc-surface-alt)!important;border:2px solid var(--hc-border)!important;box-shadow:none!important}:root[data-theme=high-contrast] .btn-primary,:root[data-theme=high-contrast] button[class*=primary]{background-color:var(--hc-brand)!important;color:#fff!important;border:2px solid var(--hc-brand)!important;font-weight:700!important;text-decoration:none!important}:root[data-theme=high-contrast] .btn-primary:hover,:root[data-theme=high-contrast] button[class*=primary]:hover{background-color:var(--hc-brand-hover)!important;border-color:var(--hc-brand-hover)!important;text-decoration:underline!important}:root[data-theme=high-contrast] .btn-secondary,:root[data-theme=high-contrast] button[class*=secondary],:root[data-theme=high-contrast] button[class*=outline]{background-color:var(--hc-surface)!important;color:var(--hc-ink)!important;border:2px solid var(--hc-border)!important;font-weight:700!important}:root[data-theme=high-contrast] .btn-secondary:hover,:root[data-theme=high-contrast] button[class*=secondary]:hover{background-color:var(--hc-surface-alt)!important;border-color:var(--hc-brand)!important;color:var(--hc-brand)!important}:root[data-theme=high-contrast] .btn-danger,:root[data-theme=high-contrast] button[class*=danger]{background-color:var(--hc-danger)!important;color:#fff!important;border:2px solid var(--hc-danger)!important;font-weight:700!important}:root[data-theme=high-contrast] button:disabled,:root[data-theme=high-contrast] button[aria-disabled=true]{background-color:var(--hc-disabled-bg)!important;color:var(--hc-disabled-ink)!important;border:2px solid var(--hc-border-light)!important;cursor:not-allowed!important;font-weight:600!important;text-decoration:line-through!important}:root[data-theme=high-contrast] button:not(:disabled){border:2px solid var(--hc-border)!important;font-weight:600!important}:root[data-theme=high-contrast] button[style*=background]:not([style*="background: white"]):not([style*="background: rgb(255, 255, 255)"]):not([style*="background:#fff"]):not([style*="background: #fff"]):not(.glossary-quick-stat-chip),:root[data-theme=high-contrast] button[style*=brand],:root[data-theme=high-contrast] button.active,:root[data-theme=high-contrast] button[class*=active],:root[data-theme=high-contrast] .btn-primary,:root[data-theme=high-contrast] button[class*=primary],:root[data-theme=high-contrast] .btn-danger,:root[data-theme=high-contrast] button[class*=danger]{color:#fff!important;font-weight:700!important}:root[data-theme=high-contrast] button:not(:disabled):not([class*=primary]):not([class*=danger]):hover{border-color:var(--hc-brand)!important}:root[data-theme=high-contrast] button:not(:disabled):active{transform:scale(.97)!important}:root[data-theme=high-contrast] .glossary-quick-stat-chip,:root[data-theme=high-contrast] .glossary-cat-btn{color:var(--hc-ink)!important;background-color:var(--hc-surface)!important}:root[data-theme=high-contrast] .glossary-quick-stat-chip:hover{opacity:1!important;color:#fff!important;background-color:var(--hc-brand)!important;border-color:var(--hc-brand)!important}:root[data-theme=high-contrast] .glossary-cat-btn--active{background-color:var(--hc-brand)!important;color:#fff!important;border-color:var(--hc-brand)!important}:root[data-theme=high-contrast] .glossary-category-badge{background-color:var(--hc-surface-alt)!important;color:var(--hc-ink)!important;border:2px solid var(--hc-border)!important}:root[data-theme=high-contrast] .glossary-header-badge{background-color:var(--hc-surface-alt)!important;color:var(--hc-ink)!important;border:2px solid var(--hc-border)!important}:root[data-theme=high-contrast] .glossary-search-hint kbd{background-color:var(--hc-surface)!important;color:var(--hc-ink)!important;border:2px solid var(--hc-border)!important}:root[data-theme=high-contrast] .section-nav{background-color:var(--hc-surface-alt)!important;border-bottom:2px solid var(--hc-border)!important}:root[data-theme=high-contrast] .section-nav button{color:var(--hc-ink)!important;background:transparent!important;border:2px solid transparent!important;font-weight:600!important;transition:border-color .12s ease,background .12s ease!important}:root[data-theme=high-contrast] .section-nav button:hover{background-color:#e8e8e8!important;border-color:var(--hc-border)!important;color:var(--hc-ink)!important;text-decoration:none!important}:root[data-theme=high-contrast] .section-nav button.active{background-color:var(--hc-ink)!important;color:var(--hc-bg)!important;border:2px solid var(--hc-ink)!important;font-weight:800!important;border-bottom:4px solid var(--hc-brand)!important}:root[data-theme=high-contrast] input,:root[data-theme=high-contrast] textarea,:root[data-theme=high-contrast] select{background-color:var(--hc-surface)!important;color:var(--hc-ink)!important;border:2px solid var(--hc-border)!important;font-weight:500!important;box-shadow:none!important}:root[data-theme=high-contrast] input:hover,:root[data-theme=high-contrast] textarea:hover,:root[data-theme=high-contrast] select:hover{border-color:var(--hc-brand)!important}:root[data-theme=high-contrast] input::placeholder,:root[data-theme=high-contrast] textarea::placeholder{color:#4b5563!important;font-style:italic!important;opacity:1!important}:root[data-theme=high-contrast] input[type=checkbox],:root[data-theme=high-contrast] input[type=radio]{accent-color:var(--hc-brand)!important;width:1.25em!important;height:1.25em!important}:root[data-theme=high-contrast] .mode-chip-btn{background-color:var(--hc-surface)!important;color:var(--hc-ink)!important;border:2px solid var(--hc-border)!important;font-weight:600!important}:root[data-theme=high-contrast] .mode-chip-btn:hover{background-color:var(--hc-surface-alt)!important;border-color:var(--hc-brand)!important;color:var(--hc-brand)!important}:root[data-theme=high-contrast] .mode-chip-btn.active{background-color:var(--hc-ink)!important;color:var(--hc-bg)!important;border:2px solid var(--hc-ink)!important;font-weight:700!important}:root[data-theme=high-contrast] details,:root[data-theme=high-contrast] [class*=accordion],:root[data-theme=high-contrast] [class*=solution]{border:2px solid var(--hc-border)!important;background-color:var(--hc-surface)!important;box-shadow:none!important}:root[data-theme=high-contrast] summary,:root[data-theme=high-contrast] [class*=accordion-header],:root[data-theme=high-contrast] [class*=solution-header]{background-color:var(--hc-surface-alt)!important;color:var(--hc-ink)!important;font-weight:700!important;border-bottom:2px solid var(--hc-border)!important;padding:.85rem 1rem!important;cursor:pointer!important}:root[data-theme=high-contrast] summary:hover,:root[data-theme=high-contrast] [class*=accordion-header]:hover{background-color:#e0e0e0!important;border-color:var(--hc-brand)!important}:root[data-theme=high-contrast] details[open]>summary,:root[data-theme=high-contrast] [class*=accordion].open>[class*=accordion-header]{background-color:var(--hc-ink)!important;color:var(--hc-bg)!important;border-left:6px solid var(--hc-brand)!important}:root[data-theme=high-contrast] table{border-collapse:collapse!important;border:2px solid var(--hc-border)!important}:root[data-theme=high-contrast] th{background-color:var(--hc-ink)!important;color:var(--hc-bg)!important;font-weight:700!important;border:2px solid var(--hc-border)!important;padding:.6rem .75rem!important}:root[data-theme=high-contrast] td{border:1px solid var(--hc-border-light)!important;padding:.5rem .75rem!important;color:var(--hc-ink)!important}:root[data-theme=high-contrast] tr:hover td{background-color:var(--hc-surface-alt)!important}:root[data-theme=high-contrast] [class*=badge],:root[data-theme=high-contrast] [class*=chip],:root[data-theme=high-contrast] [class*=tag]{border:2px solid var(--hc-border)!important;font-weight:700!important;box-shadow:none!important}:root[data-theme=high-contrast] [class*=good],:root[data-theme=high-contrast] [data-aqi-band=good]{background-color:#14532d!important;color:#fff!important;border-color:#14532d!important}:root[data-theme=high-contrast] [class*=moderate],:root[data-theme=high-contrast] [data-aqi-band=moderate]{background-color:#78350f!important;color:#fff!important;border-color:#78350f!important}:root[data-theme=high-contrast] [class*=poor],:root[data-theme=high-contrast] [data-aqi-band=poor],:root[data-theme=high-contrast] [data-aqi-band=unhealthy-sensitive]{background-color:#7c2d12!important;color:#fff!important;border-color:#7c2d12!important}:root[data-theme=high-contrast] [class*=very-poor],:root[data-theme=high-contrast] [data-aqi-band=unhealthy]{background-color:#9b1c1c!important;color:#fff!important;border-color:#9b1c1c!important}:root[data-theme=high-contrast] [class*=hazardous],:root[data-theme=high-contrast] [data-aqi-band=hazardous]{background-color:#4c1d95!important;color:#fff!important;border-color:#4c1d95!important}:root[data-theme=high-contrast] .recharts-cartesian-grid line,:root[data-theme=high-contrast] .recharts-cartesian-grid-horizontal line,:root[data-theme=high-contrast] .recharts-cartesian-grid-vertical line{stroke:#000!important;stroke-opacity:.6!important;stroke-dasharray:4 3!important;stroke-width:1px!important}:root[data-theme=high-contrast] .recharts-text,:root[data-theme=high-contrast] .recharts-cartesian-axis-tick-value,:root[data-theme=high-contrast] .recharts-label{fill:#000!important;font-weight:700!important;font-size:.8rem!important}:root[data-theme=high-contrast] .recharts-legend-item-text,:root[data-theme=high-contrast] .recharts-legend-wrapper{color:#000!important;fill:#000!important;font-weight:700!important}:root[data-theme=high-contrast] .recharts-wrapper,:root[data-theme=high-contrast] .recharts-surface{background-color:var(--hc-surface)!important}:root[data-theme=high-contrast] .recharts-line-curve,:root[data-theme=high-contrast] .recharts-area-curve{stroke-width:3px!important}:root[data-theme=high-contrast] svg polyline,:root[data-theme=high-contrast] svg path[class*=line]{stroke-width:3px!important}:root[data-theme=high-contrast] .recharts-polar-grid-angle line,:root[data-theme=high-contrast] .recharts-polar-grid-concentric-polygon{stroke:#000!important;stroke-opacity:.6!important;stroke-width:1.5px!important}:root[data-theme=high-contrast] img{filter:contrast(1.15) grayscale(.2)!important}:root[data-theme=high-contrast] hr{background-color:var(--hc-border)!important;border:none!important;height:2px!important;opacity:1!important}:root[data-theme=high-contrast] .nav-divider,:root[data-theme=high-contrast] [class*=divider]{background-color:var(--hc-border)!important;opacity:1!important}:root[data-theme=high-contrast] *,:root[data-theme=high-contrast] *:before,:root[data-theme=high-contrast] *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.12s!important;scroll-behavior:auto!important}:root[data-theme=high-contrast] .theme-switcher-utility,:root[data-theme=high-contrast] .theme-popover-menu,:root[data-theme=high-contrast] details,:root[data-theme=high-contrast] summary{transition:none!important}:root[data-theme=high-contrast] .theme-utility-btn{background-color:var(--hc-ink)!important;color:var(--hc-bg)!important;border:2px solid var(--hc-ink)!important;font-weight:700!important}:root[data-theme=high-contrast] .theme-utility-btn:hover{background-color:var(--hc-brand)!important;border-color:var(--hc-brand)!important}:root[data-theme=high-contrast] .theme-popover-menu{background-color:var(--hc-surface)!important;border:2px solid var(--hc-border)!important;box-shadow:none!important}:root[data-theme=high-contrast] .theme-menu-item{color:var(--hc-ink)!important;font-weight:600!important;border:2px solid transparent!important;border-radius:4px!important}:root[data-theme=high-contrast] .theme-menu-item:hover{background-color:var(--hc-surface-alt)!important;border-color:var(--hc-brand)!important;color:var(--hc-brand)!important}:root[data-theme=high-contrast] .theme-menu-item.active{background-color:var(--hc-ink)!important;color:var(--hc-bg)!important;border-color:var(--hc-ink)!important;font-weight:700!important}:root[data-theme=high-contrast] .theme-item-check{color:var(--hc-bg)!important;font-weight:900!important}body,.content-card,.compare-card,.commute-card,.panel-card,.section-nav,button,input,select{transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease}.theme-switcher-utility{position:relative;display:inline-block}.theme-utility-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .7rem;font-size:.825rem;font-weight:600;color:var(--ink);background-color:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer;box-shadow:var(--shadow-sm);transition:all .18s var(--ease)}.theme-utility-btn:hover{border-color:var(--brand)}.theme-utility-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.theme-btn-arrow{font-size:.65rem;opacity:.75}.theme-popover-menu{position:absolute;top:calc(100% + .35rem);right:0;min-width:160px;background-color:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:var(--shadow-md);padding:.35rem;z-index:1000;display:flex;flex-direction:column;gap:.2rem}.theme-menu-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.45rem .65rem;font-size:.825rem;font-weight:500;color:var(--ink);background:transparent;border:none;border-radius:calc(var(--r-sm) - 4px);cursor:pointer;text-align:left;transition:background-color .15s var(--ease)}.theme-menu-item:hover{background-color:var(--panel)}.theme-menu-item.active{font-weight:700;color:var(--brand);background-color:var(--panel)}.theme-item-check{margin-left:auto;font-size:.85rem;color:var(--brand)}:root[data-theme=high-contrast]{--ink: #000000;--muted: #1a1a1a;--panel: #ffffff;--card: #ffffff;--line: #000000;--brand: #005f5f;--brand-strong: #004040;--accent: #7a3000;--sky: #003d78;--danger: #7a0000;--bg-card-alt: #f0f0f0;--accent-fill: #ffd699;--sky-fill: #cce5ff;--sky-text: #003d78;--danger-fill: #ffd6d6;--danger-text: #7a0000;--shadow-sm: 0 0 0 1px #000;--shadow-md: 0 0 0 2px #000;--shadow-lg: 0 0 0 3px #000}:root[data-theme=high-contrast] body{background:#fff}@media (prefers-contrast: more){:root:not([data-theme]){--ink: #000000;--muted: #1a1a1a;--panel: #ffffff;--card: #ffffff;--line: #000000;--brand: #005f5f;--brand-strong: #004040;--accent: #7a3000;--sky: #003d78;--danger: #7a0000;--shadow-sm: 0 0 0 1px #000;--shadow-md: 0 0 0 2px #000;--shadow-lg: 0 0 0 3px #000}}*,*:before,*:after{box-sizing:border-box}html,body{max-width:100vw}.inline-icon{display:inline-block;vertical-align:-.15em;margin-right:.35em;flex-shrink:0}html{scroll-behavior:smooth}body{margin:0;font-family:Space Grotesk,sans-serif;font-size:15.5px;line-height:1.55;color:var(--ink);background:radial-gradient(circle at 8% 15%,rgba(13,148,136,.14),transparent 32%),radial-gradient(circle at 92% 8%,rgba(249,115,22,.1),transparent 30%),linear-gradient(180deg,#f7faf9,#eef2f1);transition:background .32s var(--ease),color .32s var(--ease);-webkit-font-smoothing:antialiased}:root[data-theme=dark] body{background:radial-gradient(circle at 6% 12%,rgba(45,212,191,.1),transparent 34%),radial-gradient(circle at 90% 6%,rgba(251,146,60,.08),transparent 32%),linear-gradient(180deg,#05080f,#0a1018)}h1,h2,h3{margin:0;font-family:Fraunces,serif;letter-spacing:.01em;font-weight:600}h2{font-size:1.4rem}h3{font-size:1.05rem}p{margin:0}a{color:inherit}:focus-visible{outline:2px solid var(--sky);outline-offset:2px;border-radius:6px}:root[data-theme=high-contrast] :focus-visible{outline:3px solid #000000;outline-offset:3px;border-radius:4px;box-shadow:0 0 0 5px #fff}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.app-shell{min-height:100vh;animation:fade-in .6s var(--ease);padding-bottom:var(--sp-6);overflow-x:clip}.theme-toggle-wrap{position:fixed;top:var(--sp-4);right:var(--sp-4);z-index:999}.theme-toggle{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;padding:.6rem 1rem;font:inherit;font-size:.86rem;font-weight:700;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .2s var(--ease),box-shadow .2s var(--ease)}.theme-toggle:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.loading-state{display:grid;place-items:center;min-height:70vh;gap:var(--sp-4)}.loading-spinner{width:40px;height:40px;border-radius:50%;border:4px solid rgba(0,0,0,.1);border-top-color:var(--brand);animation:spin .8s linear infinite;margin:0 auto 1rem}:root[data-theme=dark] .loading-spinner{border-color:#ffffff1a;border-top-color:var(--brand)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100%;left:var(--sp-3, 1rem);z-index:1000;padding:.6rem 1.2rem;background:var(--brand, #2563eb);color:#fff;font-weight:700;font-size:.95rem;border-radius:var(--r-md, .5rem);text-decoration:none;transition:top .15s ease}.skip-link:focus-visible{top:var(--sp-3, 1rem);outline:3px solid #fff;outline-offset:2px}:root[data-theme=high-contrast] .skip-link{background:#000;color:#fff;border:2px solid #ffffff}:root[data-theme=high-contrast] .skip-link:focus-visible{outline:3px solid #ffff00;outline-offset:2px}.hero{position:relative;isolation:isolate;width:min(1180px,94vw);margin:var(--sp-3) auto var(--sp-4);border-radius:var(--r-lg);overflow:hidden;background:linear-gradient(120deg,#0284c7 10%,#00ffea 90%);color:#fff;box-shadow:var(--shadow-lg)}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 88% 100%,rgba(249,115,22,.55),transparent 55%);pointer-events:none}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0f172a00,#0f172a59)}.hero-content{position:relative;padding:var(--sp-5) var(--sp-6);max-width:780px;animation:rise-in .7s var(--ease) both}.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;font-weight:700;margin-bottom:var(--sp-3);padding:.3rem .75rem;border-radius:999px;background:#ffffff29;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.hero h1{font-size:clamp(1.8rem,3.5vw,2.8rem);line-height:1.08;margin-bottom:var(--sp-3)}.hero p{color:#fffffff2;font-size:1.05rem;max-width:640px;line-height:1.6}.section-nav{position:sticky;top:0;z-index:50;width:100%;display:flex;justify-content:center;align-items:center;gap:var(--sp-3);padding:var(--sp-3) max(var(--sp-4),calc((100vw - 1180px)/2));margin:0 0 var(--sp-5);background:color-mix(in srgb,var(--panel) 86%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--line)}.nav-sections{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--sp-2);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:.3rem;box-shadow:var(--shadow-sm)}.section-nav button{border:1px solid transparent;background:transparent;color:var(--muted);border-radius:999px;padding:.5rem 1.05rem;font:inherit;font-weight:700;font-size:.9rem;cursor:pointer;transition:all .2s var(--ease)}.section-nav button.active{color:#fff;background:linear-gradient(120deg,var(--brand),var(--sky));box-shadow:0 6px 16px #0d948847}.section-nav button:hover:not(.active){color:var(--sky);background:color-mix(in srgb,var(--sky) 8%,transparent)}.theme-toggle-inline{position:relative;width:76px;height:38px;border-radius:999px;border:none;cursor:pointer;padding:0;margin-left:0;overflow:hidden;transition:.35s;background:linear-gradient(180deg,#edf3ff,#dfe8f8);box-shadow:inset 0 2px 6px #fffc,inset 0 -2px 5px #00000014,0 4px 12px #0000002e}.nav-divider{width:1px;height:24px;background:#00000026;margin:0 1.75rem}:root[data-theme=dark] .nav-divider{background:#fff3}.theme-toggle-inline.dark{background:linear-gradient(180deg,#0f172a,#1e293b)}.toggle-thumb{position:absolute;top:3px;left:3px;width:32px;height:32px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;transition:.35s;box-shadow:0 5px 15px #00000040}.theme-toggle-inline.dark .toggle-thumb{transform:translate(40px)}.sun-icon{width:22px;height:22px;color:#ffc107}.moon-icon{width:22px;height:22px;color:#2c2c2c}.theme-toggle-inline:not(.dark):after{content:"✦";position:absolute;right:14px;top:11px;color:#9ca3af;font-size:12px}.theme-toggle-inline.dark:after{content:"✦ ✦";position:absolute;left:14px;top:10px;color:#d1d5db;font-size:10px}.theme-toggle-inline:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.app-controls{width:min(1180px,94vw);margin:0 auto var(--sp-5);display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:var(--sp-3);position:relative;z-index:20}.control-group{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-4);display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3);box-shadow:var(--shadow-sm);overflow:visible;position:relative;z-index:10;transition:box-shadow .2s var(--ease),transform .2s var(--ease)}.control-group:has(.location-search-dropdown){z-index:50}.control-group:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.control-group label,.control-group p,.control-group small{color:var(--muted);font-size:.88rem}.control-group select{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:var(--r-sm);padding:.5rem .65rem;font:inherit;cursor:pointer}.control-group.actions{justify-content:space-between}.control-group.actions button{border:none;border-radius:var(--r-sm);background:linear-gradient(120deg,var(--brand),var(--sky));color:#fff;padding:.6rem 1rem;font:inherit;font-weight:700;cursor:pointer;transition:transform .18s var(--ease),filter .18s var(--ease)}.control-group.actions button:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.08)}.control-group.actions button:disabled{opacity:.7;cursor:progress}.live-dot{width:10px;height:10px;border-radius:999px;background:#94a3b8;flex-shrink:0}.live-dot.active{background:var(--brand);box-shadow:0 0 0 5px color-mix(in srgb,var(--brand) 20%,transparent);animation:pulse 1.1s infinite}.content-grid{width:min(1180px,94vw);margin:0 auto var(--sp-6);display:grid;gap:var(--sp-5);min-width:0}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-6);box-shadow:var(--shadow-sm);animation:rise-in .5s var(--ease) both;transition:box-shadow .24s var(--ease),transform .24s var(--ease)}.kpi-card{background:var(--card);border-radius:var(--r-md);border:1px solid var(--line);padding:var(--sp-4) var(--sp-4) var(--sp-5);box-shadow:var(--shadow-sm);transition:box-shadow .22s var(--ease),transform .22s var(--ease);min-width:0}.panel-head{margin-bottom:var(--sp-1)}.panel-head h2{font-size:1.45rem}.panel-head p{color:var(--muted);margin-top:var(--sp-2);font-size:.94rem}.icon-container{width:40px;height:40px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;font-size:19px;border:1px solid var(--line)}.icon-container.lungs{background:var(--accent-fill);color:var(--accent);border-color:var(--accent)}.icon-container.heart{background:var(--danger-fill);color:var(--danger);border-color:var(--danger)}.icon-container.skin{background:var(--sky-fill);color:var(--sky);border-color:var(--sky)}.exposure-card{margin:var(--sp-2) 0 var(--sp-5);padding:var(--sp-5) var(--sp-5);background:var(--card);border:1px solid var(--line);border-left:4px solid var(--sky);border-radius:var(--r-md);display:flex;flex-direction:column;gap:var(--sp-2);box-shadow:var(--shadow-sm)}.exposure-card h3{font-size:.82rem;font-family:Space Grotesk,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.exposure-message{font-size:1.08rem;line-height:1.6;font-weight:600;margin:0}.exposure-card small{display:block;margin-top:var(--sp-1);color:var(--muted);line-height:1.4}.exposure-note{margin:0;font-size:.88rem;color:var(--muted)}.map-wrap{height:320px;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-sm)}.map{height:100%}.hotspots{margin-top:var(--sp-5)}.hotspots h3{margin-bottom:var(--sp-2);font-size:.95rem}.hotspots ul,.simple-list,.tips-list,.warnings{margin:var(--sp-2) 0 0;padding-left:0;list-style:none;color:var(--muted)}.tips-list{margin-top:var(--sp-5);padding:var(--sp-4) var(--sp-5);background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-sm);list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-2)}.tips-list:before{content:"Quick Tips";display:block;font-family:Space Grotesk,sans-serif;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--brand);margin-bottom:var(--sp-3)}.hotspots li{display:flex;justify-content:space-between;gap:var(--sp-4);padding:.55rem 0;border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent)}.hotspots li:last-child{border-bottom:none}.simple-list li,.tips-list li{position:relative;padding:.4rem 0 .4rem 1.1rem;line-height:1.5}.simple-list li:before,.tips-list li:before{content:"";position:absolute;left:0;top:.95rem;width:6px;height:6px;border-radius:999px;background:var(--brand)}.warnings li{color:var(--danger);font-weight:500;padding:.5rem .75rem;border-radius:var(--r-sm);background:color-mix(in srgb,var(--danger) 8%,transparent);margin-bottom:var(--sp-2)}.safe-note{background:color-mix(in srgb,#16a34a 14%,var(--card));color:#14532d;border-radius:var(--r-sm);padding:var(--sp-4);font-weight:500}:root[data-theme=dark] .safe-note{color:#86efac}.confidence-badge{display:inline-block;margin-top:var(--sp-2);font-size:.74rem;font-weight:700;border-radius:999px;padding:.24rem .6rem}.confidence-high{background:#dcfce7;color:#166534}.confidence-medium{background:#fef9c3;color:#854d0e}.confidence-low{background:#fee2e2;color:#991b1b}.low-confidence-note{margin-bottom:var(--sp-3);padding:.6rem .85rem;border-radius:var(--r-sm);background:#fef3c7;color:#92400e;font-size:.85rem;font-weight:500;border:1px solid #fde68a}.advisory-grid,.three-col,.analytics-kpis{display:grid;gap:var(--sp-4)}@media (min-width: 900px){.content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.advisory-grid,.three-col,.analytics-kpis{grid-template-columns:repeat(3,1fr)}.dashboard,.panel:last-child,.scenario-simulator,.content-grid>*:nth-child(4),.content-grid>*:nth-child(5){grid-column:span 2}}.three-col>div+div{border-left:1px solid var(--line);padding-left:var(--sp-5)}.three-col h3{padding-bottom:var(--sp-2);color:var(--brand);font-weight:700;display:inline-block}.advisory-grid{grid-template-columns:repeat(3,1fr)}.health-profile-section{margin-bottom:var(--sp-4)}.health-conditions-list{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-top:var(--sp-2)}.health-condition-checkbox{display:flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:6px 12px;cursor:pointer;font-size:.9rem}.personalized-advisory-banner{background:#dc262614;border:1px solid #dc2626;border-radius:var(--r-md);padding:var(--sp-4);margin-bottom:var(--sp-4)}.personalized-advisory-banner h3{color:#dc2626;margin-top:0}.personalized-advisory-banner ul{margin:0;padding-left:1.2rem}.personalized-advisory-banner li{margin-bottom:6px}.advisory-card{background:var(--card);border-radius:var(--r-md);padding:var(--sp-4);border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:transform .22s var(--ease),box-shadow .22s var(--ease)}.advisory-card h3{font-family:Fraunces,serif;font-weight:500;font-size:17px;margin-top:10px;color:var(--ink)}.advisory-card p{color:var(--muted);line-height:1.55;font-size:13.5px}@media (max-width: 899px){.advisory-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}.three-col{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.three-col h3{margin-bottom:var(--sp-2);font-size:.98rem}.pollen-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--sp-4);margin-top:var(--sp-4)}.pollen-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-4);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--sp-2);transition:transform .18s var(--ease),box-shadow .18s var(--ease)}.pollen-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.pollen-card-header{display:flex;justify-content:space-between;align-items:center}.pollen-icon-wrapper{width:36px;height:36px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center}.pollen-icon{width:20px;height:20px}.pollen-icon-wrapper.tree-bg{background:color-mix(in srgb,var(--brand) 10%,transparent);color:var(--brand)}.pollen-icon-wrapper.grass-bg{background:color-mix(in srgb,var(--sky) 10%,transparent);color:var(--sky)}.pollen-icon-wrapper.weed-bg{background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger)}.pollen-icon-wrapper.mold-bg{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent)}.pollen-value{font-size:1.5rem;font-weight:700;color:var(--ink);font-family:Space Grotesk,sans-serif;margin-top:auto}.pollen-unit{font-size:.8rem;font-weight:500;color:var(--muted)}.pollen-card h3{font-size:.95rem;font-weight:700;color:var(--ink);margin:.25rem 0 0}.pollen-card p{font-size:.8rem;color:var(--muted);margin:0;line-height:1.4}.priority-badge{font-size:.7rem;font-weight:700;padding:.15rem .5rem;border-radius:999px;text-transform:uppercase}.badge-success{background:#f0fdf4;color:#16a34a}.badge-warning{background:#fff7ed;color:#ea580c}.badge-danger{background:#fef2f2;color:#dc2626}.badge-info{background:#f0f9ff;color:#0284c7}.pollen-card.highlight-card{box-shadow:0 4px 12px #0000000d}.sun-safety-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--sp-4);margin-top:var(--sp-4);margin-bottom:var(--sp-4)}.sun-safety-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-4);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--sp-2);transition:transform .18s var(--ease),box-shadow .18s var(--ease)}.sun-safety-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.sun-safety-icon{font-size:1.5rem;margin-bottom:.25rem}.sun-safety-value,.sun-safety-risk{font-size:1.5rem;font-weight:700;color:var(--ink);font-family:Space Grotesk,sans-serif;margin-top:auto}.sun-safety-card h3{font-size:.95rem;font-weight:700;color:var(--ink);margin:0}.sun-safety-card p{font-size:.8rem;color:var(--muted);margin:0;line-height:1.4}.sun-safety-recommendations{margin-top:var(--sp-5);padding:var(--sp-4) var(--sp-5);background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-sm)}.sun-safety-recommendations h3{font-family:Space Grotesk,sans-serif;font-size:.88rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--brand);margin-bottom:var(--sp-3)}.sun-safety-recommendations ul{padding-left:var(--sp-4);margin:0 0 var(--sp-3) 0;color:var(--muted);line-height:1.6}.sun-safety-disclaimer{font-size:.75rem;color:var(--muted);line-height:1.4;margin:0}.sun-safety-button{padding:.5rem 1rem;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink);font-weight:600;font-size:.85rem;cursor:pointer;transition:all .18s var(--ease)}.sun-safety-button:hover{background:color-mix(in srgb,var(--sky) 8%,transparent);border-color:var(--sky);color:var(--sky)}.community-form{display:grid;gap:var(--sp-3);margin-bottom:var(--sp-5)}.community-form input,.community-form textarea{border:1px solid var(--line);border-radius:var(--r-sm);padding:.75rem .85rem;font:inherit;background:var(--card);color:var(--ink);transition:border-color .18s var(--ease),box-shadow .18s var(--ease)}.community-form input:focus,.community-form textarea:focus{border-color:var(--sky);box-shadow:0 0 0 3px color-mix(in srgb,var(--sky) 15%,transparent);outline:none}.community-form textarea{min-height:92px;resize:vertical}.community-form button,.report-head button{border:none;border-radius:var(--r-sm);background:linear-gradient(120deg,var(--brand),var(--sky));color:#fff;padding:.65rem .9rem;font:inherit;font-weight:600;cursor:pointer;transition:transform .18s var(--ease),filter .18s var(--ease);justify-self:start}.filter-tabs{display:flex;gap:12px;margin:20px 0;flex-wrap:wrap}.filter-tabs button{border:2px solid var(--line);background:var(--card);color:var(--ink);font:inherit;font-weight:500;font-size:15px;padding:8px 15px;border-radius:10px;cursor:pointer;box-shadow:0 2px 6px #00000014;transition:transform .26s cubic-bezier(.4,0,.2,1),border-color .26s cubic-bezier(.4,0,.2,1),background .26s cubic-bezier(.4,0,.2,1),box-shadow .26s cubic-bezier(.4,0,.2,1)}.filter-tabs button:hover{transform:translateY(-2px);border-color:var(--brand)}.filter-tabs button:active{transform:scale(.96);transition-duration:.1s}.filter-tabs button.active{border-color:var(--brand);background:var(--brand);color:#fff;font-weight:600;box-shadow:0 4px 12px color-mix(in srgb,var(--brand) 30%,transparent)}.report-feed{display:grid;gap:var(--sp-4)}.report-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-4);box-shadow:var(--shadow-sm);animation:rise-in .5s var(--ease) both;transition:transform .22s var(--ease),box-shadow .22s var(--ease)}.report-card:nth-of-type(2){animation-delay:60ms}.report-card:nth-of-type(3){animation-delay:.12s}.report-card:nth-of-type(4){animation-delay:.18s}.report-card:nth-of-type(5){animation-delay:.24s}.report-card:nth-of-type(n+6){animation-delay:.3s}.report-head{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.report-title-container{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.status-badge{font-size:.72rem;font-weight:700;padding:.2rem .55rem;border-radius:999px;background:color-mix(in srgb,var(--sky) 14%,var(--card));color:var(--sky)}.report-card img{width:100%;max-height:260px;object-fit:cover;border-radius:var(--r-sm);margin-top:var(--sp-3)}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--sp-2);padding:var(--sp-7) var(--sp-4);background:var(--card);border:1px dashed var(--line);border-radius:var(--r-lg);animation:rise-in .4s var(--ease) both}.empty-state__icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin-bottom:var(--sp-2);border-radius:999px;background:color-mix(in srgb,var(--brand) 12%,transparent);color:var(--brand)}.empty-state__icon svg{width:32px;height:32px}.empty-state__title{font-family:Fraunces,serif;font-size:1.1rem;font-weight:600;color:var(--ink)}.empty-state__message{color:var(--muted);font-size:.92rem;max-width:320px;line-height:1.5}.empty-state__cta{margin-top:var(--sp-3);border:none;border-radius:var(--r-sm);background:linear-gradient(120deg,var(--brand),var(--sky));color:#fff;padding:.65rem 1.3rem;font:inherit;font-weight:700;cursor:pointer;transition:transform .18s var(--ease),filter .18s var(--ease)}.empty-state__cta:hover{transform:translateY(-2px);filter:brightness(1.08);box-shadow:var(--shadow-md)}.empty-filter-message{text-align:center;color:var(--muted);padding:var(--sp-6) var(--sp-4);font-size:.92rem}.report-feed-empty{text-align:center;color:var(--muted);padding:var(--sp-6) var(--sp-4);font-size:.92rem;line-height:1.5;overflow-wrap:break-word;word-break:break-word;box-sizing:border-box}.timeline-workflow{margin-top:var(--sp-3);display:flex;flex-wrap:wrap;gap:var(--sp-1);font-size:.82rem;color:var(--muted)}.timeline-workflow .active{color:var(--brand);font-weight:600}.timeline-workflow .inactive{color:var(--muted)}.analytics-kpis{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:var(--sp-5)}.analytics-kpis article{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-4);box-shadow:var(--shadow-sm);transition:transform .22s var(--ease),box-shadow .22s var(--ease)}.analytics-kpis h3{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-family:Space Grotesk,sans-serif;margin-bottom:var(--sp-2)}.analytics-kpis p{font-size:1.7rem;font-weight:700;font-family:Fraunces,serif;color:var(--sky)}.upload-error{color:var(--danger);font-size:.85rem;margin:0;padding:.35rem 0}.error-banner{width:min(1180px,94vw);margin:0 auto var(--sp-4);background:#fee2e2;border:1px solid #fecaca;color:#991b1b;border-radius:var(--r-sm);padding:var(--sp-4)}.warning-banner{width:min(1180px,94vw);margin:0 auto var(--sp-4);background:#fef3c7;border:1px solid #fcd34d;color:#92400e;border-radius:var(--r-sm);padding:var(--sp-4)}.location-notice{width:min(1180px,94vw);margin:0 auto var(--sp-4);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);background:#fef3c7;border:1px solid #fcd34d;color:#92400e;border-radius:var(--r-md);padding:var(--sp-4) var(--sp-5)}.location-notice p{margin:0;font-size:.95rem;line-height:1.4}.location-notice button{flex-shrink:0;border:1px solid #d97706;background:#fffbeb;color:#92400e;border-radius:var(--r-sm);padding:.4rem .8rem;cursor:pointer;font-size:.85rem;font-weight:600;transition:transform .18s var(--ease)}.location-notice button:hover{transform:translateY(-2px)}[data-theme=dark] .error-banner{background:color-mix(in srgb,#dc2626 12%,var(--card));border-color:#dc2626;color:#fca5a5}[data-theme=dark] .warning-banner,[data-theme=dark] .location-notice{background:color-mix(in srgb,#d97706 12%,var(--card));border-color:#d97706;color:#fcd34d}[data-theme=dark] .location-notice button{background:color-mix(in srgb,#d97706 15%,var(--card));border-color:#d97706;color:#fcd34d}.file-upload-button{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;min-height:48px;border-radius:10px;background:#fff;color:#0891b2;border:2px solid #0891b2}.file-upload-button:hover{background:#0891b2;color:#fff}.file-upload-button:active{transform:scale(.98)}.file-upload-button:focus-visible{outline:3px solid rgba(14,165,233,.35);outline-offset:3px}.selected-file-name{color:#6b7280;font-size:14px;font-weight:500;word-break:break-word}.upload-error{color:#dc2626;font-size:14px;margin-top:6px}@media (max-width: 640px){.file-upload-container{flex-direction:column;align-items:flex-start}.file-upload-button{width:100%;justify-content:center}.selected-file-name{max-width:100%;word-break:break-word;white-space:normal}}.quiz-layout{margin-top:var(--sp-2)}.quiz-panel{max-width:860px;margin:0 auto}.quiz-progress-track{width:100%;height:10px;border-radius:999px;background:color-mix(in srgb,var(--line) 70%,transparent);overflow:hidden;margin-bottom:var(--sp-5)}.quiz-progress-fill{height:100%;background:linear-gradient(120deg,var(--brand),var(--accent));transition:width .35s var(--ease)}.quiz-question{margin-bottom:var(--sp-4);font-size:clamp(1.05rem,2vw,1.3rem)}.quiz-options{display:grid;gap:var(--sp-3)}.quiz-option{border:1px solid var(--line);background:var(--card);color:var(--ink);text-align:left;border-radius:var(--r-md);padding:var(--sp-4);font:inherit;cursor:pointer;transition:all .18s var(--ease)}.quiz-option.selected{border-color:var(--sky)}.quiz-option.correct{border-color:#16a34a;background:color-mix(in srgb,#16a34a 18%,var(--card))}.quiz-option.wrong{border-color:#dc2626;background:color-mix(in srgb,#dc2626 15%,var(--card))}.quiz-feedback{margin-top:var(--sp-4);border-radius:var(--r-md);padding:var(--sp-4);border:1px solid var(--line);animation:rise-in .3s var(--ease) both}.quiz-feedback.correct{color:#166534;background:#dcfce7}.quiz-feedback.wrong{color:#991b1b;background:#fee2e2}.quiz-actions{margin-top:var(--sp-4);display:flex;gap:var(--sp-3);flex-wrap:wrap}.quiz-actions button,.quiz-result button{border:none;border-radius:var(--r-sm);background:linear-gradient(120deg,var(--brand),var(--sky));color:#fff;padding:.6rem 1.1rem;font:inherit;font-weight:700;cursor:pointer;transition:transform .18s var(--ease),filter .18s var(--ease)}.quiz-actions button:disabled{opacity:.5;cursor:not-allowed}.quiz-result{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-5);box-shadow:var(--shadow-sm)}.quiz-score{margin:var(--sp-2) 0;font-size:1.4rem;font-weight:700;color:var(--sky)}.quiz-selector{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-5);margin-top:var(--sp-4);box-shadow:var(--shadow-sm)}.quiz-selector h2{margin-bottom:var(--sp-2)}.quiz-selector>p{color:var(--muted);margin-bottom:var(--sp-5)}.quiz-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:var(--sp-4)}.quiz-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-4);cursor:pointer;text-align:left;transition:all .22s var(--ease)}.quiz-card h3{margin-bottom:var(--sp-2);color:var(--ink)}.quiz-card p{color:var(--muted);font-size:.9rem;margin-bottom:var(--sp-3);line-height:1.5}.quiz-count{display:inline-block;background:linear-gradient(120deg,var(--brand),var(--sky));color:#fff;border-radius:999px;padding:.28rem .65rem;font-size:.8rem;font-weight:700}.quiz-header-row{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-3)}.back-btn{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:var(--r-sm);padding:.45rem .75rem;font:inherit;cursor:pointer;font-size:.9rem;transition:all .18s var(--ease)}.back-btn:hover{background:color-mix(in srgb,var(--line) 50%,transparent)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}.panel:hover,.kpi-card:hover,.chart-card:hover,.report-card:hover,.advisory-card:hover,.analytics-kpis article:hover,.quiz-selector:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.theme-toggle:hover,.theme-toggle-inline:hover,.control-group.actions button:hover:not(:disabled),.community-form button:hover,.report-head button:hover,.quiz-actions button:hover,.quiz-result button:hover,.back-btn:hover{transform:translateY(-2px);filter:brightness(1.08);box-shadow:var(--shadow-md)}.quiz-option:hover{border-color:var(--sky);transform:translateY(-2px);box-shadow:0 8px 18px #38bdf826}.quiz-card:hover{border-color:var(--sky);box-shadow:0 10px 24px #0284c72e;transform:translateY(-4px)}.sim-presets{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--sp-3);margin-bottom:var(--sp-5)}.sim-preset-card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-1);background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-4);cursor:pointer;text-align:left;font:inherit;color:var(--ink);transition:all .22s var(--ease)}.sim-preset-card:hover{border-color:var(--brand);box-shadow:0 8px 20px #0d948829;transform:translateY(-2px)}.sim-preset-card.active{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 12%,var(--card));box-shadow:0 6px 18px #0d948833}.sim-preset-icon{display:flex;margin-bottom:var(--sp-1)}.sim-preset-label{font-weight:700;font-size:.92rem}.sim-preset-desc{font-size:.78rem;color:var(--muted);line-height:1.4}.sim-preset-tags{display:flex;flex-wrap:wrap;gap:var(--sp-1);margin-top:var(--sp-2)}.sim-tag{font-size:.7rem;font-weight:600;background:color-mix(in srgb,var(--brand) 18%,var(--card));color:var(--brand);border-radius:999px;padding:.12rem .5rem}.sim-sliders{display:flex;flex-direction:column;gap:var(--sp-4);margin-bottom:var(--sp-5)}.sim-slider-group label{display:flex;align-items:center;gap:var(--sp-2);font-weight:600;font-size:.9rem;margin-bottom:var(--sp-2)}.sim-slider-emoji{display:inline-flex}.sim-slider-value{margin-left:auto;color:var(--brand);font-weight:700}.sim-slider-group input[type=range]{width:100%;height:6px;border-radius:999px;background:var(--line);-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;cursor:pointer}.sim-slider-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:999px;background:linear-gradient(120deg,var(--brand),var(--sky));cursor:pointer;border:2px solid var(--card);box-shadow:0 2px 8px #0f172a3d}.sim-slider-range{display:flex;justify-content:space-between;font-size:.78rem;color:var(--muted);margin-top:var(--sp-2)}.sim-comparison{display:flex;align-items:center;justify-content:center;gap:var(--sp-4);margin-bottom:var(--sp-5);flex-wrap:wrap}.sim-side{display:flex;flex-direction:column;align-items:center;gap:var(--sp-1);background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-4) var(--sp-6);min-width:150px;box-shadow:var(--shadow-sm)}.sim-label{font-size:.78rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.sim-value{font-size:2.5rem;font-weight:700;font-family:Fraunces,serif;line-height:1}.sim-band{font-size:.84rem;font-weight:600}.sim-arrow-wrap{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2)}.sim-arrow-big{font-size:1.8rem;color:var(--muted)}.sim-improvement-badge{background:#16a34a;color:#fff;font-size:.78rem;font-weight:700;padding:.18rem .6rem;border-radius:999px}.sim-worsened-badge{background:var(--danger);color:#fff;font-size:.78rem;font-weight:700;padding:.18rem .6rem;border-radius:999px}.sim-city-section{margin-bottom:var(--sp-5)}.sim-section-label{font-size:.83rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--sp-3)}.sim-city-selector{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.sim-city-chip{display:inline-flex;align-items:center;gap:var(--sp-2);border:1px solid var(--line);background:var(--card);color:var(--muted);border-radius:999px;padding:.4rem .95rem;font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .18s var(--ease)}.sim-city-chip:hover{border-color:var(--sky);color:var(--sky)}.sim-city-chip.active{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 14%,var(--card));color:var(--brand)}.sim-chip-spinner{display:inline-block;width:10px;height:10px;border:2px solid var(--line);border-top-color:var(--brand);border-radius:50%;animation:spin .7s linear infinite}.sim-city-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:var(--sp-4)}.sim-city-result-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-4);display:flex;flex-direction:column;gap:.6rem;transition:all .2s ease}.sim-city-result-card:hover{border-color:var(--sky);box-shadow:var(--shadow-md);transform:translateY(-2px)}.sim-city-result-header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.sim-city-name{font-weight:700;font-size:1rem}.sim-improvement{font-size:.78rem;font-weight:700;background:#dcfce7;color:#166534;border-radius:999px;padding:.16rem .6rem}.sim-worsened{font-size:.78rem;font-weight:700;background:#fee2e2;color:#991b1b;border-radius:999px;padding:.16rem .6rem}.sim-no-change{font-size:.78rem;color:var(--muted)}.sim-city-aqi-row{display:flex;align-items:center;justify-content:center;gap:var(--sp-4)}.sim-mini-aqi{display:flex;flex-direction:column;align-items:center;gap:var(--sp-1)}.sim-mini-label{font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.sim-mini-value{font-size:1.75rem;font-weight:700;font-family:Fraunces,serif;line-height:1}.sim-mini-band{font-size:.72rem;font-weight:600}.sim-mini-arrow{font-size:1.2rem;color:var(--muted)}.sim-pollutant-table{width:100%;border-collapse:collapse;font-size:.84rem}.sim-pollutant-table th{color:var(--muted);font-weight:600;text-align:left;padding:var(--sp-2);border-bottom:1px solid var(--line);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.sim-pollutant-row td{padding:.45rem var(--sp-2);border-bottom:1px solid color-mix(in srgb,var(--line) 50%,transparent);color:var(--ink)}.sim-pollutant-row td small{color:var(--muted);font-size:.72rem}.sim-table-arrow{color:var(--muted);text-align:center}.sim-val-better{color:#16a34a;font-weight:600}.sim-val-same{color:var(--ink)}.sim-loading-card,.sim-error-card{display:flex;align-items:center;justify-content:center;gap:var(--sp-3);min-height:90px;color:var(--muted);font-size:.9rem}.sim-loading-spinner{display:inline-block;width:18px;height:18px;border:3px solid var(--line);border-top-color:var(--brand);border-radius:50%;animation:spin .7s linear infinite}.health-advisory-panel{display:flex;flex-direction:column;gap:var(--sp-5)}.section-subtitle{font-family:Space Grotesk,sans-serif;font-size:1.15rem;font-weight:700;color:var(--ink);margin:var(--sp-4) 0 var(--sp-1)}.advisory-card-header{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-2)}.organ-icon{width:24px;height:24px;color:var(--brand);flex-shrink:0}.divider-line{height:1px;background:var(--line);margin:var(--sp-4) 0}.tabs-container{display:flex;flex-direction:column;gap:var(--sp-4)}.tabs-header{display:flex;flex-direction:column;gap:var(--sp-3)}@media (min-width: 768px){.tabs-header{flex-direction:row;justify-content:space-between;align-items:center}}.tabs-list-buttons{display:flex;background:color-mix(in srgb,var(--line) 40%,transparent);padding:4px;border-radius:var(--r-md);gap:4px;border:1px solid var(--line);align-self:flex-start}.tab-btn{background:transparent;border:none;padding:6px 16px;font-family:Space Grotesk,sans-serif;font-size:.88rem;font-weight:600;color:var(--muted);border-radius:calc(var(--r-md) - 2px);cursor:pointer;transition:all .18s var(--ease)}.tab-btn:hover{color:var(--ink)}.tab-btn.active{background:var(--card);color:var(--brand);box-shadow:var(--shadow-sm)}.tab-description{color:var(--muted);font-size:.92rem;margin-top:-8px}.tips-grid{display:grid;grid-template-columns:1fr;gap:var(--sp-4)}@media (min-width: 768px){.tips-grid{grid-template-columns:repeat(3,1fr)}}.tip-action-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-3);box-shadow:var(--shadow-sm);transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s var(--ease)}.tip-action-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--brand)}.tip-header{display:flex;justify-content:space-between;align-items:center}.tip-icon-wrapper{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--brand) 10%,transparent);color:var(--brand)}.tip-icon-wrapper svg{width:20px;height:20px}.priority-badge{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 8px;border-radius:var(--r-sm)}.badge-info{background:color-mix(in srgb,var(--brand) 12%,transparent);color:var(--brand)}.badge-warning{background:color-mix(in srgb,var(--warning, #eab308) 12%,transparent);color:var(--warning, #ca8a04)}.badge-danger{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}.tip-body h4{font-family:Space Grotesk,sans-serif;font-size:1rem;font-weight:700;color:var(--ink);margin-bottom:var(--sp-1)}.tip-body p{font-size:.88rem;color:var(--muted);line-height:1.5}.history-layout{animation:fadeSlideUp .5s var(--ease) forwards}.calendar-heatmap-empty{padding:3rem;text-align:center;color:var(--ink);opacity:.6}.calendar-heatmap-container{margin-top:1rem}.calendar-heatmap-scroll{overflow-x:auto;padding-bottom:1rem}.calendar-heatmap{display:flex;gap:4px}.calendar-heatmap-week{display:flex;flex-direction:column;gap:4px}.calendar-day{width:14px;height:14px;border-radius:2px;background-color:var(--line);transition:transform .18s ease,opacity .18s ease;opacity:.9}.calendar-day:hover:not(.empty){transform:scale(1.2);opacity:1;box-shadow:0 0 10px #0000001a;z-index:10}.calendar-day.empty{background-color:transparent;pointer-events:none}.calendar-heatmap-labels{display:flex;gap:4px;margin-bottom:4px}.calendar-heatmap-label-cell{width:14px;flex-shrink:0;height:14px;position:relative}.calendar-month-label{position:absolute;left:0;top:0;font-size:.6rem;font-weight:600;color:var(--muted);white-space:nowrap;line-height:1;-webkit-user-select:none;user-select:none;letter-spacing:.02em}.calendar-year-label{color:var(--brand);font-weight:700;font-size:.6rem}.calendar-heatmap-week.calendar-year-start{border-left:2px solid var(--brand);padding-left:2px;margin-left:2px}.calendar-floating-tooltip{background:var(--ink);color:var(--card);padding:8px 12px;border-radius:var(--r-sm);box-shadow:var(--shadow-lg);border:1px solid var(--line);font-family:inherit;font-size:.75rem;line-height:1.4;white-space:nowrap;display:flex;flex-direction:column;gap:4px;animation:fadeIn .12s ease forwards}.calendar-tooltip-date{font-size:.7rem;opacity:.85;font-weight:500;color:var(--card)}.calendar-tooltip-body{display:flex;align-items:center;gap:6px}.calendar-tooltip-badge{padding:2px 6px;border-radius:4px;color:#fff;font-weight:700;font-size:.7rem;line-height:1.2}.calendar-tooltip-label{font-weight:600;color:var(--card)}.location-search-wrapper{position:relative;width:100%;max-width:200px;flex-shrink:1;min-width:0}.location-search-input{width:100%;padding:.5rem 1rem;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--card);color:var(--ink);font-family:inherit;font-size:.95rem;transition:all .2s var(--ease)}.location-search-input::placeholder{color:var(--muted)}.location-search-input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 15%,transparent)}.location-search-spinner{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;border:2px solid var(--muted);border-top-color:var(--brand);border-radius:50%;animation:location-spin .8s linear infinite}.location-search-dropdown{position:absolute;top:calc(100% + 4px);left:0;width:100%;min-width:unset;max-width:calc(100vw - 2rem);max-height:250px;overflow-y:auto;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-md);z-index:100;list-style:none;padding:0;margin:0}.location-search-header{padding:.5rem 1rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--panel);font-weight:600}.location-search-empty{padding:1rem;text-align:center;color:var(--muted);font-size:.9rem}.location-search-item{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;cursor:pointer;transition:background .2s var(--ease);font-size:.95rem;color:var(--ink)}.location-search-item:hover,.location-search-item.active{background:var(--panel)}.location-search-item .location-icon,.location-search-item .recent-icon{width:16px;height:16px;opacity:.5;flex-shrink:0}@keyframes location-spin{to{transform:translateY(-50%) rotate(360deg)}}.game-layout{grid-column:span 12;display:flex;flex-direction:column;gap:1.5rem}.game-section{display:flex;flex-direction:column;gap:1.5rem}.game-intro-layout{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem}@media (max-width: 900px){.game-intro-layout{grid-template-columns:1fr}}.intro-card-primary,.rules-card,.pollutants-breakdown-card,.submit-panel-card,.results-debriefing{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1.5rem;box-shadow:0 4px 20px #00000008;display:flex;flex-direction:column;gap:1.25rem}.intro-card-primary h3,.rules-card h3,.results-debriefing h3{font-family:Fraunces,serif;font-size:1.4rem;color:var(--brand)}.mission-grid{display:flex;flex-direction:column;gap:1rem}.mission-select-card{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:12px;border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;text-align:left;transition:all .2s ease;font-family:inherit}.mission-select-card:hover{transform:translateY(-2px);border-color:var(--brand);box-shadow:0 4px 12px #0000000d}.mission-select-card.active{border-color:var(--brand);background:linear-gradient(140deg,#0d948814,#0284c70a);box-shadow:0 0 0 2px var(--brand)}:root[data-theme=dark] .mission-select-card.active{background:linear-gradient(140deg,#22d3ee1f,#38bdf80f)}.mission-icon-lg{display:flex;align-items:center;justify-content:center;color:var(--brand);flex-shrink:0}.mission-select-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.mission-title-row{display:flex;justify-content:space-between;align-items:center}.mission-name{font-weight:700;font-size:1.05rem}.difficulty-badge{font-size:.75rem;padding:.2rem .6rem;border-radius:99px;font-weight:700;text-transform:uppercase}.difficulty-badge.easy{background:#1f9d5526;color:#1f9d55}.difficulty-badge.medium{background:#f59e0b26;color:#d97706}.difficulty-badge.hard{background:#ef444426;color:#ef4444}.mission-desc{font-size:.88rem;color:var(--muted);line-height:1.4}.mission-meta-row{display:flex;gap:1.5rem;font-size:.82rem;color:var(--muted);margin-top:.3rem}.mode-toggle-section{display:flex;flex-direction:column;gap:.75rem;border-top:1px solid var(--line);padding-top:1.25rem}.mode-toggle-section h4{font-size:.95rem;margin:0}.mode-toggle-buttons{display:flex;gap:.75rem}.mode-btn{flex:1;padding:.6rem;border-radius:8px;border:1px solid var(--line);background:var(--panel);color:var(--muted);font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit}.mode-btn:hover:not(:disabled){border-color:var(--brand);color:var(--ink)}.mode-btn.active{background:var(--brand);color:#fff;border-color:var(--brand)}.mode-btn:disabled{opacity:.5;cursor:not-allowed}.mode-description-hint{font-size:.8rem;color:var(--muted)}.btn-primary{padding:.8rem 1.6rem;font-size:1rem;font-weight:700;border-radius:99px;background:linear-gradient(120deg,var(--brand),var(--sky));color:#fff;border:none;cursor:pointer;transition:all .2s;box-shadow:0 4px 14px #0d94884d;text-align:center;font-family:inherit}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0d948866}.start-mission-btn{padding:.9rem 2rem;font-size:1.1rem}.rules-card{height:100%}.rules-list{padding-left:1.2rem;margin:0;display:flex;flex-direction:column;gap:.75rem;font-size:.9rem;line-height:1.5}.rules-list li strong{color:var(--brand)}.fun-tip-box{background:#0284c714;border-left:4px solid var(--sky);border-radius:0 8px 8px 0;padding:.8rem;font-size:.85rem;line-height:1.4;color:var(--muted);margin-top:auto}.game-playing-layout{display:flex;flex-direction:column;gap:1.25rem}.game-hud{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.hud-metric{background:var(--card);border:1px solid var(--line);padding:1rem;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;text-align:center;box-shadow:0 4px 10px #00000005}.hud-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600}.hud-val{font-size:1.35rem;font-weight:700;color:var(--ink)}.hud-val.countdown{font-variant-numeric:tabular-nums}.hud-val.countdown.critical{color:var(--danger);animation:pulse-red 1s infinite alternate}@keyframes pulse-red{0%{text-shadow:0 0 2px rgba(185,28,28,.1)}to{text-shadow:0 0 10px rgba(185,28,28,.5)}}.success-text{color:#1f9d55;font-weight:700}.danger-text{color:var(--accent);font-weight:700}.game-progress-wrapper{background:var(--card);border:1px solid var(--line);padding:.8rem 1.2rem;border-radius:12px}.progress-bar-container{height:24px;background:var(--panel);border-radius:12px;overflow:hidden;position:relative;border:1px solid var(--line)}.progress-bar{height:100%;background:linear-gradient(90deg,var(--accent),var(--sky));transition:width .3s ease;border-radius:12px}.progress-bar.target-met{background:linear-gradient(90deg,var(--brand),#1f9d55)}.progress-bar-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.82rem;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6)}.game-notice-banner{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);color:#d97706;padding:.75rem 1rem;border-radius:8px;font-size:.88rem;font-weight:600;text-align:center}.game-workspace{display:grid;grid-template-columns:3fr 2fr;gap:1.5rem}@media (max-width: 950px){.game-workspace{grid-template-columns:1fr}}.actions-section,.dashboard-section{display:flex;flex-direction:column;gap:1rem}.actions-section h3,.dashboard-section h3{font-family:Fraunces,serif;font-size:1.2rem;color:var(--ink)}.actions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media (max-width: 600px){.actions-grid{grid-template-columns:1fr}}.policy-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.5rem;cursor:pointer;text-align:left;position:relative;transition:all .2s;color:var(--ink);font-family:inherit}.policy-card:hover:not(:disabled){transform:translateY(-2px);border-color:var(--brand);box-shadow:0 4px 12px #0000000d}.policy-card.deployed{border-color:var(--brand);background:linear-gradient(140deg,#0d94880d,#0284c705);box-shadow:0 0 0 2px var(--brand)}:root[data-theme=dark] .policy-card.deployed{background:linear-gradient(140deg,#22d3ee14,#38bdf80a)}.policy-card:disabled{opacity:.55;cursor:not-allowed;background:var(--panel)}.policy-header{display:flex;align-items:center;gap:.5rem}.policy-icon{display:flex;color:var(--brand)}.policy-name{font-weight:700;font-size:.95rem}.policy-desc{font-size:.8rem;color:var(--muted);line-height:1.4;flex:1}.policy-reductions-taglist{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.2rem}.reduction-tag{background:#0284c71a;color:var(--sky);font-size:.72rem;font-weight:700;padding:.15rem .4rem;border-radius:4px}.policy-deployed-stamp{position:absolute;top:.8rem;right:.8rem;font-size:.65rem;font-weight:800;background:var(--brand);color:#fff;padding:.15rem .4rem;border-radius:4px;letter-spacing:.05em}.sim-aqi-comparison{display:flex;align-items:center;justify-content:space-between;background:var(--card);border:1px solid var(--line);padding:1.25rem;border-radius:14px;box-shadow:0 4px 10px #00000005}.sim-aqi-card{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center}.aqi-label{font-size:.8rem;font-weight:600;color:var(--muted);text-transform:uppercase}.aqi-val{font-size:2.2rem;font-weight:800;font-family:Fraunces,serif;line-height:1.2}.aqi-band{font-size:.85rem;font-weight:700}.sim-aqi-arrow{display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:1.6rem;font-weight:800;color:var(--muted);padding:0 .5rem}.arrow-reduction-percentage{font-size:.75rem;background:#1f9d5526;color:#1f9d55;padding:.15rem .4rem;border-radius:4px;font-weight:700;margin-top:-.2rem}.hotspot-game{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-5);box-shadow:var(--shadow-sm)}.hotspot-options{display:grid;gap:12px;margin-top:16px}.hotspot-option{padding:12px;border:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer;background:var(--panel);transition:.2s ease}.hotspot-option:hover{border-color:var(--brand);transform:translateY(-2px)}.score-board{display:flex;justify-content:space-between;margin-bottom:16px;font-weight:600}.game-table{width:100%;border-collapse:collapse;font-size:.88rem}.game-table th{text-align:left;color:var(--muted);font-weight:600;padding:.5rem;border-bottom:1px solid var(--line)}.game-table td{padding:.55rem .5rem;border-bottom:1px dashed var(--line)}.game-row td.better{color:#1f9d55;font-weight:700}.submit-panel-card{display:flex;flex-direction:column;gap:.75rem}.btn-success{padding:.85rem;font-size:1.05rem;font-weight:700;border-radius:8px;background:linear-gradient(120deg,var(--brand),#1f9d55);color:#fff;border:none;cursor:pointer;transition:all .2s;box-shadow:0 4px 10px #1f9d5533;text-align:center;font-family:inherit}.btn-success:hover{transform:translateY(-1px);box-shadow:0 6px 16px #1f9d554d}.btn-link{background:transparent;color:var(--muted);border:none;font-weight:600;cursor:pointer;text-align:center;font-size:.9rem;font-family:inherit}.btn-link:hover{color:var(--danger);text-decoration:underline}.game-completed-layout{display:flex;flex-direction:column;gap:1.5rem;max-width:750px;margin:0 auto}.results-banner{border-radius:16px;padding:2.5rem 1.5rem;text-align:center;color:#fff;display:flex;flex-direction:column;align-items:center;gap:.75rem}.results-banner.success{background:linear-gradient(145deg,var(--brand),#15803d);box-shadow:0 8px 24px #15803d40}.results-banner.failure{background:linear-gradient(145deg,#475569,#1e293b);box-shadow:0 8px 24px #1e293b40}.results-emoji{display:flex}.results-banner h2{font-size:2.2rem;font-family:Fraunces,serif}.results-subheading{font-size:1.05rem;line-height:1.5;max-width:600px;color:#ffffffe6}.results-comparison-grid{display:flex;align-items:center;justify-content:space-around;background:var(--card);border:1px solid var(--line);padding:1.5rem;border-radius:16px;box-shadow:0 4px 16px #00000008}.results-card-metric{display:flex;flex-direction:column;align-items:center;text-align:center}.results-label{font-size:.85rem;font-weight:600;color:var(--muted);text-transform:uppercase}.results-value{font-size:2.8rem;font-weight:800;font-family:Fraunces,serif;line-height:1.1}.results-band{font-size:.95rem;font-weight:700}.results-card-metric-arrow{display:flex;flex-direction:column;align-items:center;font-size:2rem;font-weight:800;color:var(--muted)}.final-reduction{font-size:.9rem;background:#1f9d5526;color:#1f9d55;padding:.2rem .6rem;border-radius:99px;font-weight:700;margin-top:-.2rem}.deployed-policies-list{display:flex;flex-direction:column;gap:.85rem}.deployed-policy-item{display:flex;align-items:center;gap:1rem;padding:.9rem 1.2rem;border-radius:10px;background:var(--panel);border:1px solid var(--line)}.policy-item-icon{display:flex;color:var(--brand);flex-shrink:0}.policy-item-info{flex:1}.policy-item-info h4{font-weight:700;font-size:.95rem;margin:0 0 .15rem}.policy-item-info p{font-size:.8rem;color:var(--muted);line-height:1.3}.policy-item-reductions{display:flex;gap:.4rem}.reduct-badge{background:#0d94881a;color:var(--brand);font-size:.72rem;font-weight:700;padding:.15rem .4rem;border-radius:4px;white-space:nowrap}.results-actions{display:flex;gap:1rem;justify-content:center;margin-top:.5rem}.btn-secondary{padding:.8rem 1.6rem;border-radius:99px;border:1px solid var(--line);background:var(--card);color:var(--muted);font-weight:700;cursor:pointer;transition:all .2s;font-family:inherit}.btn-secondary:hover{border-color:var(--brand);color:var(--ink)}.no-policies{text-align:center;color:var(--muted);font-style:italic;font-size:.9rem}.share-card-container{position:fixed;left:-9999px;top:0;width:380px;background:linear-gradient(145deg,#0f172a,#1e293b);border-radius:22px;padding:24px;font-family:Space Grotesk,system-ui,-apple-system,sans-serif;color:#f8fafc;box-sizing:border-box;border:1.5px solid #334155;box-shadow:0 25px 50px -12px #000000bf}.share-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.share-card-badge{font-size:11px;font-weight:700;letter-spacing:1.5px;color:#38bdf8;text-transform:uppercase}.share-card-date{font-size:12px;font-weight:600;color:#64748b}.share-card-city{margin:0 0 16px;font-size:28px;font-weight:800;color:#fff;letter-spacing:-.5px}.share-card-hero{background:#ffffff08;border-radius:16px;padding:20px 24px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(255,255,255,.08)}.share-card-hero-left{display:flex;flex-direction:column}.share-card-hero-sub{font-size:10px;letter-spacing:1.5px;color:#94a3b8;text-transform:uppercase;font-weight:700;margin-bottom:6px}.share-card-hero-value{font-size:60px;font-weight:900;line-height:1.15;letter-spacing:-2px;padding-bottom:24px}.share-card-hero-pill{display:flex;align-items:center;justify-content:center;padding:8px 18px 18px;border-radius:20px;font-size:13px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:#fff;box-shadow:0 4px 14px #0000004d;margin-top:12px}.share-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.share-card-tile{background:#ffffff0a;border-radius:14px;padding:12px 8px;text-align:center;border:1px solid rgba(255,255,255,.07);transition:border-color .2s ease}.share-card-tile-label{font-size:11px;font-weight:700;color:#94a3b8;margin-bottom:4px;letter-spacing:.5px}.share-card-tile-value{font-size:18px;font-weight:800;margin-bottom:2px}.share-card-tile-unit{font-size:10px;color:#64748b;font-weight:500}.share-card-footer{padding-top:14px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify:space-between;align-items:center;gap:12px;font-size:11px;color:#64748b}@media (max-width: 640px){.content-grid{grid-template-columns:minmax(0,1fr)}.history-layout,.panel,.content-grid>*{min-width:0;max-width:100%}.calendar-heatmap-container{width:100%;min-width:0;max-width:100%}.calendar-heatmap-scroll{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.calendar-heatmap{width:max-content}}.calendar-legend{margin-top:16px}.calendar-legend-title{font-size:14px;font-weight:600;margin-bottom:10px}.calendar-legend-grid{display:grid;grid-template-columns:repeat(2,max-content);gap:10px 24px}.calendar-legend-item{display:flex;align-items:center;gap:8px}.calendar-legend-color{width:12px;height:12px;border-radius:3px;flex-shrink:0}@media (max-width: 767px){.nav-sections{justify-content:space-between!important;flex-wrap:nowrap!important;padding:.3rem .5rem!important}.nav-divider{display:none!important}}.historical-analysis-container .stats-row{display:flex;gap:1.5rem}@media (max-width: 768px){body{font-size:14.5px}.app-shell{padding-bottom:var(--sp-4)}h2{font-size:1.25rem}h3{font-size:1rem}.panel{padding:var(--sp-4);border-radius:var(--r-md)}.panel-head{margin-bottom:var(--sp-2)}.panel-head h2{font-size:1.3rem}.panel-head p{font-size:.88rem}.kpi-value{font-size:1.8rem}.content-grid{gap:var(--sp-4)}.section-nav{position:sticky;padding:var(--sp-2) var(--sp-3);margin:0 0 var(--sp-4)}.hero{margin:var(--sp-2) auto var(--sp-3);border-radius:var(--r-md)}.hero-content{padding:var(--sp-4) var(--sp-3)}.hero h1{font-size:clamp(1.4rem,5vw,2rem)}.hero p{font-size:.92rem}.app-controls{grid-template-columns:1fr;gap:var(--sp-3);width:min(100%,94vw)}.control-group{padding:var(--sp-3)}.control-group label{font-size:.82rem;white-space:nowrap}.location-search-wrapper{max-width:100%;flex:1 1 160px;min-width:160px}.location-search-dropdown{min-width:unset;width:calc(100vw - 8rem);max-width:320px}.location-notice{flex-direction:column;align-items:stretch;gap:var(--sp-3);padding:var(--sp-3);width:min(100%,94vw)}.location-notice button{align-self:flex-end}.error-banner,.warning-banner{width:min(100%,94vw);padding:var(--sp-3);font-size:.88rem;word-break:break-word}.chart-grid{grid-template-columns:1fr;gap:var(--sp-3)}.chart-card{padding:var(--sp-3)}.kpi-grid{grid-template-columns:1fr;gap:var(--sp-3)}.kpi-grid .aqi,.kpi-grid .chart-card{grid-column:span 1}.map-wrap{height:260px;border-radius:var(--r-sm)}.hotspots li{flex-direction:column;gap:var(--sp-1)}.tips-list{grid-template-columns:1fr;padding:var(--sp-3)}.three-col{grid-template-columns:1fr}.three-col>div+div{border-left:none;padding-left:0;border-top:1px solid var(--line);padding-top:var(--sp-4)}.advisory-grid{grid-template-columns:1fr}.tabs-list-buttons{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;flex-shrink:0}.tab-btn{white-space:nowrap;padding:8px 14px;font-size:.82rem;min-height:44px}.tips-grid{grid-template-columns:1fr;gap:var(--sp-3)}.quiz-panel{padding:var(--sp-3)}.quiz-cards{grid-template-columns:1fr}.quiz-option{padding:var(--sp-3);font-size:.92rem;min-height:44px}.quiz-actions{flex-direction:column}.quiz-actions button{width:100%;justify-content:center;min-height:44px}.quiz-header-row{flex-direction:column;align-items:flex-start;gap:var(--sp-2)}.community-form input,.community-form textarea{width:100%;font-size:16px}.filter-tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;padding-bottom:var(--sp-1)}.filter-tabs button{flex-shrink:0;min-height:44px;font-size:.85rem;padding:6px 14px}.report-head{flex-direction:column;align-items:flex-start;gap:var(--sp-2)}.report-head button{width:100%;text-align:center;min-height:44px}.timeline-workflow{overflow-x:auto;flex-wrap:nowrap;white-space:nowrap;-webkit-overflow-scrolling:touch;padding-bottom:var(--sp-1)}.analytics-kpis{grid-template-columns:1fr;gap:var(--sp-3)}.analytics-kpis p{font-size:1.4rem}.sim-presets{grid-template-columns:1fr;gap:var(--sp-3)}.sim-comparison{flex-direction:column;gap:var(--sp-3)}.sim-side{min-width:unset;width:100%;padding:var(--sp-3)}.sim-value{font-size:2rem}.sim-arrow-wrap{flex-direction:row;gap:var(--sp-2)}.sim-arrow-big{font-size:1.4rem}.sim-city-selector{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;padding-bottom:var(--sp-1)}.sim-city-chip{flex-shrink:0;min-height:44px}.sim-city-results{grid-template-columns:1fr}.sim-pollutant-table,.game-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.sim-pollutant-table thead,.sim-pollutant-table tbody,.sim-pollutant-table tr,.sim-pollutant-table th,.sim-pollutant-table td,.game-table thead,.game-table tbody,.game-table tr,.game-table th,.game-table td{min-width:0}.game-intro-layout{grid-template-columns:1fr}.game-hud{grid-template-columns:repeat(2,1fr);gap:.5rem}.hud-metric{padding:.6rem}.hud-val{font-size:1.1rem}.game-workspace,.actions-grid{grid-template-columns:1fr}.sim-aqi-comparison{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:var(--sp-2);padding:var(--sp-3)}.aqi-val{font-size:1.6rem}.results-comparison-grid{flex-wrap:wrap;gap:var(--sp-3);padding:var(--sp-3)}.results-value{font-size:2rem}.results-banner{padding:1.5rem 1rem}.results-banner h2{font-size:1.5rem}.results-actions{flex-direction:column}.results-actions button{width:100%;min-height:44px}.deployed-policy-item{flex-direction:column;align-items:flex-start;gap:var(--sp-2)}.policy-item-reductions{flex-wrap:wrap}.mission-meta-row{flex-wrap:wrap;gap:.75rem}.hotspot-game{padding:var(--sp-4)}.hotspot-option{min-height:44px}.score-board{flex-wrap:wrap;gap:var(--sp-2)}.theme-toggle-wrap{top:var(--sp-3);right:var(--sp-3)}.section-subtitle{font-size:1rem}.community-layout,.history-layout,.quiz-layout,.game-layout{padding:0}.community-layout .panel,.history-layout .panel,.quiz-layout .panel,.game-layout .panel{border-radius:var(--r-md)}.historical-analysis-container .stats-row{flex-direction:column;gap:var(--sp-3)}.historical-analysis-container .stat-box{min-width:0}.export-report-button{width:100%;text-align:center;min-height:44px}.btn-primary,.btn-secondary,.btn-success{min-height:44px;display:inline-flex;align-items:center;justify-content:center}.back-btn{min-height:44px;padding:.5rem 1rem}.empty-state{padding:var(--sp-5) var(--sp-3)}.quiz-result,.intro-card-primary,.rules-card,.pollutants-breakdown-card,.submit-panel-card,.results-debriefing{padding:var(--sp-4)}.mode-toggle-buttons{flex-direction:column}.mode-btn{min-height:44px}.start-mission-btn{width:100%;min-height:48px}}@media (max-width: 480px){.hero h1{font-size:clamp(1.2rem,6vw,1.6rem)}.hero-content{padding:var(--sp-3) var(--sp-2)}.panel{padding:var(--sp-3);border-radius:var(--r-sm)}.panel-head h2{font-size:1.15rem}.kpi-value{font-size:1.6rem}.sim-value,.results-value{font-size:1.75rem}.section-nav button{padding:.4rem .7rem;font-size:.8rem}.quiz-option{padding:var(--sp-2);font-size:.88rem}.quiz-question{font-size:1rem}.advisory-card{padding:var(--sp-3)}.advisory-card h3{font-size:.95rem}.advisory-card p{font-size:.82rem}.tip-action-card{padding:var(--sp-3)}.game-hud{gap:.4rem}.hud-label{font-size:.7rem}.hud-val{font-size:.95rem}}@media (max-width: 360px){.section-nav button{padding:.35rem .6rem;font-size:.75rem}.hero h1{font-size:1.15rem}.kpi-value{font-size:1.4rem}.quiz-score{font-size:1.1rem}.sim-preset-card{padding:var(--sp-3)}.report-feed-empty{padding:var(--sp-4) var(--sp-3);font-size:.85rem}}.commute-container{width:100%;padding:3rem 2rem}.commute-title{margin-bottom:1.5rem;font-size:1.8rem;font-weight:700;color:var(--ink)}.commute-layout{display:grid;grid-template-columns:1fr;gap:1.5rem}@media (min-width: 992px){.commute-layout{grid-template-columns:1fr 2fr}}.commute-sidebar{background-color:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1.5rem;height:fit-content;box-shadow:0 1px 3px #0000001a;color:#111827}.commute-form .form-group{margin-bottom:1.25rem}.commute-form label{display:block;margin-bottom:.5rem;font-weight:500;color:#374151}.commute-form input{width:100%;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:.5rem;background-color:#fff;color:#111827;font-family:inherit}.commute-form input:focus{outline:2px solid #0d9488;border-color:transparent}.commute-btn{width:100%;margin-top:1rem;padding:.8rem 1.5rem;background-color:#0d9488;color:#fff;border:none;border-radius:.5rem;font-weight:600;font-size:1rem;cursor:pointer;transition:background-color .2s}.commute-btn:hover{background-color:#0f766e}.commute-btn:disabled{background-color:#9ca3af;cursor:not-allowed}.commute-stats{margin-top:1.5rem;padding:1rem;background-color:#f0fdfa;border:1px solid #ccfbf1;border-radius:.5rem}.commute-stats h3{color:#0f766e;margin-bottom:.5rem;font-size:1.1rem;font-weight:600}.commute-stats p{color:#111827}.commute-stats strong{color:#0f766e}.commute-map-container{height:500px;border-radius:.75rem;overflow:hidden;border:2px solid #e5e7eb;background-color:#f9fafb;z-index:1}.commute-saved-locations{margin-bottom:1.25rem}.commute-chip-row{display:flex;flex-wrap:wrap;gap:.5rem}.commute-chip-group{display:inline-flex;align-items:center;gap:.25rem}.saved-location-chip{padding:.4rem .75rem;border:1px solid #ccfbf1;background-color:#f0fdfa;color:#0f766e;border-radius:999px;font-size:.85rem;font-weight:600;cursor:pointer}.saved-location-chip--dest{background-color:#fff;border-style:dashed}.saved-location-chip:hover{background-color:#ccfbf1}.saved-location-remove{border:none;background:none;color:#9ca3af;cursor:pointer;font-size:1rem;line-height:1;padding:0 .25rem}.saved-location-remove:hover{color:#ef4444}.commute-save-row{display:flex;gap:.5rem;flex-wrap:wrap}.commute-save-row input{flex:1 1 140px}.commute-history{margin-top:1.5rem}.commute-history h3{color:#0f766e;margin-bottom:.5rem;font-size:1.1rem;font-weight:600}.commute-history-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.commute-history-item{width:100%;text-align:left;padding:.6rem .9rem;border:1px solid #e5e7eb;border-radius:.5rem;background-color:#fff;color:#111827;cursor:pointer;font-size:.9rem}.commute-history-item:hover{background-color:#f0fdfa;border-color:#ccfbf1}.commute-save-btn{padding:.5rem .9rem;border:1px solid #0d9488;background-color:#fff;color:#0d9488;border-radius:.5rem;font-weight:600;font-size:.85rem;cursor:pointer;transition:background-color .2s,color .2s}.commute-save-btn:hover:not(:disabled){background-color:#0d9488;color:#fff}.commute-save-btn:disabled{border-color:#9ca3af;color:#9ca3af;cursor:not-allowed}.overview-grid,.overview-card,.overview-icon{display:none}@media (max-width:768px){.overview-item{padding:1rem 0}.overview-item h4{font-size:1.05rem}.overview-item p{font-size:.95rem;line-height:1.6}}.alert-history{margin-top:var(--sp-4, 1.5rem);border-top:1px solid var(--line);padding-top:var(--sp-3, 1rem)}.alert-history-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-2, .75rem)}.alert-history-head h3{margin:0;font-size:.95rem;font-weight:700;color:var(--ink)}.alert-history-clear{background:none;border:1px solid var(--line);border-radius:var(--r-md, .5rem);color:var(--muted);cursor:pointer;font-size:.78rem;padding:.25rem .6rem;transition:color .15s,border-color .15s}.alert-history-clear:hover{border-color:var(--brand);color:var(--brand)}.alert-history-empty{font-size:.85rem;color:var(--muted);margin:0}.alert-history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem;max-height:14rem;overflow-y:auto}.alert-history-item{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md, .5rem);padding:.5rem .75rem;display:flex;flex-direction:column;gap:.2rem}.alert-history-meta{font-size:.75rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alert-history-warning{font-size:.82rem;color:var(--ink);line-height:1.45}.factoid-card{background:color-mix(in srgb,var(--brand) 8%,var(--card));border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:var(--r-md);padding:var(--sp-4) var(--sp-5);margin:var(--sp-4) 0}.factoid-label{display:block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--brand);margin-bottom:var(--sp-1)}.factoid-text{color:var(--ink);font-size:.95rem;line-height:1.55}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin-top:1rem}.achievement-card{border:1px solid var(--line);border-radius:var(--r-md);padding:1rem;text-align:center;background:var(--card)}.achievement-card.locked{opacity:.5;filter:grayscale(1)}.achievement-icon{font-size:2rem;display:block;margin-bottom:.5rem}.achievement-status{display:block;margin-top:.5rem;font-size:.8rem;color:var(--muted)}.badge-toast{position:fixed;bottom:1.5rem;right:1.5rem;display:flex;align-items:center;gap:.75rem;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:1rem;max-width:320px;z-index:1000}.calendar-day-nodata{opacity:.55;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.35) 0,rgba(255,255,255,.35) 1px,transparent 1px,transparent 3px)}.calendar-legend-coverage{margin:.75rem 0 0;font-size:.8rem;color:var(--muted);line-height:1.5}.symptom-report-trigger-btn{padding:10px 18px;border:none;border-radius:12px;background:#dc2626;color:#fff;font-size:.9rem;font-weight:700;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;flex-shrink:0}.symptom-report-trigger-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #dc26264d}.symptom-report-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;padding:var(--sp-4);z-index:1000}.symptom-report-modal{position:relative;width:min(420px,100%);max-height:85vh;overflow-y:auto;background:var(--card);border-radius:var(--r-lg);padding:var(--sp-6);box-shadow:var(--shadow-lg)}.symptom-report-close-btn{position:absolute;top:var(--sp-3);right:var(--sp-3);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:transparent;color:var(--muted);font-size:1rem;line-height:1;cursor:pointer}.symptom-report-close-btn:hover{background:color-mix(in srgb,var(--line) 40%,transparent);color:var(--ink)}.symptom-report-close-btn:focus-visible{outline:2px solid var(--primary, #0d9488);outline-offset:2px}.symptom-report-subtext{color:var(--muted);font-size:.88rem;margin:var(--sp-1) 0 var(--sp-4)}.symptom-report-options{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-2);margin-bottom:var(--sp-5)}.symptom-report-option{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--ink);border:1px solid var(--line);border-radius:var(--r-sm);padding:.5rem .7rem;cursor:pointer}.symptom-report-actions{display:flex;justify-content:flex-end;gap:var(--sp-3)}.symptom-report-thanks{color:#16a34a;font-weight:600}.symptom-report-error{color:#b91c1c;font-size:.88rem;font-weight:600;margin:0 0 var(--sp-4)}@media (max-width: 480px){.symptom-report-options{grid-template-columns:1fr}}.notif-settings-panel{margin-bottom:var(--sp-4);padding:var(--sp-5);background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-sm);animation:rise-in .25s var(--ease) both}.notif-settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-4);padding-bottom:var(--sp-3);border-bottom:1px solid var(--line)}.notif-settings-title{font-size:.95rem;font-weight:700;color:var(--ink);letter-spacing:.01em}.notif-settings-close{display:flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;padding:0;background:transparent;border:1px solid transparent;border-radius:var(--r-sm);cursor:pointer;font-size:1rem;color:var(--muted);line-height:1;transition:background .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease)}.notif-settings-close:hover{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 30%,transparent)}.notif-settings-close:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:var(--r-sm)}.notif-settings-section{margin-bottom:var(--sp-4)}.notif-settings-section+.notif-settings-section{padding-top:var(--sp-3);border-top:1px solid color-mix(in srgb,var(--line) 60%,transparent)}.notif-section-label{display:block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:var(--sp-3)}.notif-aqi-row{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;font-size:.88rem;font-weight:500;color:var(--ink)}.notif-input{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-sm);padding:.3rem .6rem;font:inherit;font-size:.88rem;width:5.5rem;transition:border-color .18s var(--ease),box-shadow .18s var(--ease)}.notif-input:hover{border-color:var(--brand)}.notif-input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 18%,transparent)}.notif-pollutant-rows{display:flex;flex-direction:column;gap:0}.notif-pollutant-row{display:flex;justify-content:space-between;align-items:center;font-size:.87rem;color:var(--ink);padding:.4rem 0;border-bottom:1px solid color-mix(in srgb,var(--line) 45%,transparent)}.notif-pollutant-row:last-child{border-bottom:none}.notif-pollutant-name{font-weight:500;color:var(--ink)}.notif-quiet-label{display:flex;align-items:center;gap:var(--sp-2);font-size:.88rem;font-weight:600;color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none}.notif-quiet-times{display:flex;gap:var(--sp-5);flex-wrap:wrap;margin-top:var(--sp-3);font-size:.85rem}.notif-time-label{display:flex;align-items:center;gap:var(--sp-2);color:var(--ink);font-weight:500}.notif-time-input{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-sm);padding:.3rem .5rem;font:inherit;font-size:.85rem;transition:border-color .18s var(--ease),box-shadow .18s var(--ease)}.notif-time-input:hover{border-color:var(--brand)}.notif-time-input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 18%,transparent)}.notif-save-btn{display:inline-flex;align-items:center;padding:.52rem 1.25rem;cursor:pointer;background:var(--brand);color:var(--panel);border:none;border-radius:var(--r-sm);font:inherit;font-size:.88rem;font-weight:700;letter-spacing:.02em;transition:filter .18s var(--ease),transform .18s var(--ease),box-shadow .18s var(--ease);box-shadow:var(--shadow-sm)}:root[data-theme=light] .notif-save-btn{color:#fff}.notif-save-btn:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:var(--shadow-md)}.notif-save-btn:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.notif-save-btn:active{transform:translateY(0);filter:brightness(.94)}.notif-gear-btn{display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:var(--r-sm);padding:.35rem;cursor:pointer;color:var(--muted);transition:background .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease),transform .24s var(--ease)}.notif-gear-btn:hover{background:color-mix(in srgb,var(--brand) 12%,transparent);color:var(--brand);border-color:color-mix(in srgb,var(--brand) 35%,transparent);transform:rotate(35deg)}.notif-gear-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px;color:var(--brand)}:root[data-theme=high-contrast] .notif-settings-panel{background:var(--hc-surface)!important;border:2px solid var(--hc-border)!important;box-shadow:none!important}:root[data-theme=high-contrast] .notif-settings-header{border-bottom:2px solid var(--hc-border)!important}:root[data-theme=high-contrast] .notif-settings-title{color:var(--hc-ink)!important;font-weight:800!important}:root[data-theme=high-contrast] .notif-settings-close{color:var(--hc-ink)!important;border:2px solid var(--hc-border)!important}:root[data-theme=high-contrast] .notif-settings-close:hover{background:var(--hc-surface-alt)!important;border-color:var(--hc-brand)!important;color:var(--hc-brand)!important}:root[data-theme=high-contrast] .notif-section-label{color:var(--hc-muted)!important;font-weight:700!important}:root[data-theme=high-contrast] .notif-settings-section+.notif-settings-section{border-top-color:var(--hc-border)!important}:root[data-theme=high-contrast] .notif-aqi-row,:root[data-theme=high-contrast] .notif-pollutant-name,:root[data-theme=high-contrast] .notif-quiet-label,:root[data-theme=high-contrast] .notif-time-label{color:var(--hc-ink)!important;font-weight:600!important}:root[data-theme=high-contrast] .notif-pollutant-row{color:var(--hc-ink)!important;border-bottom-color:var(--hc-border-light)!important}:root[data-theme=high-contrast] .notif-save-btn{background-color:var(--hc-brand)!important;color:#fff!important;border:2px solid var(--hc-brand)!important;font-weight:700!important;box-shadow:none!important}:root[data-theme=high-contrast] .notif-save-btn:hover{background-color:var(--hc-brand-hover)!important;border-color:var(--hc-brand-hover)!important;filter:none!important;transform:none!important;text-decoration:underline!important}:root[data-theme=high-contrast] .notif-gear-btn{color:var(--hc-ink)!important;border:2px solid var(--hc-border)!important}:root[data-theme=high-contrast] .notif-gear-btn:hover{background:var(--hc-surface-alt)!important;border-color:var(--hc-brand)!important;color:var(--hc-brand)!important;transform:none!important}@media (max-width: 540px){.notif-settings-panel{padding:var(--sp-4)}.notif-aqi-row{flex-direction:column;align-items:flex-start;gap:var(--sp-2)}.notif-input{width:100%;max-width:9rem}.notif-pollutant-row{flex-wrap:wrap;gap:var(--sp-2)}.notif-quiet-times{flex-direction:column;gap:var(--sp-2)}.notif-time-input{width:100%;max-width:9rem}}._dashboardTools_1cb49_1{margin-top:var(--sp-3);display:flex;justify-content:space-between;align-items:center;gap:var(--sp-4);flex-wrap:wrap}._dashboardHeaderRow_1cb49_10{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;flex-wrap:wrap}._dashboardHeaderActions_1cb49_18{display:flex;gap:.5rem;flex-shrink:0;flex-wrap:wrap}._rangeSwitch_1cb49_25{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:var(--card)}._rangeSwitch_1cb49_25 button{border:none;background:transparent;color:var(--muted);font:inherit;font-weight:600;padding:.4rem .9rem;cursor:pointer;transition:all .18s var(--ease)}._rangeSwitch_1cb49_25 button._active_1cb49_44{background:linear-gradient(120deg,var(--brand),var(--sky));color:#fff}._dashboardMeta_1cb49_49{font-size:.88rem;color:var(--muted)}._kpiGrid_1cb49_54{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--sp-4)}._aqi_1cb49_60{grid-column:span 1}._chartCard_1cb49_64{grid-column:span 2}._kpiCard_1cb49_68{background:var(--card);border-radius:var(--r-md);border:1px solid var(--line);padding:var(--sp-4) var(--sp-4) var(--sp-5);box-shadow:var(--shadow-sm);transition:transform .22s var(--ease),box-shadow .22s var(--ease);min-width:0}._kpiCard_1cb49_68 h3{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}._kpiCard_1cb49_68._aqi_1cb49_60{display:flex;flex-direction:column;gap:.4rem}._kpiValue_1cb49_93{font-size:2.15rem;font-weight:700;font-family:Fraunces,serif;line-height:1.05}._kpiCard_1cb49_68 p{margin:0}._pollutantStatusPill_1cb49_104{font-size:.75rem;font-weight:700;padding:.2rem .55rem;border-radius:20px;display:inline-flex;align-items:center;gap:.25rem;text-transform:uppercase;letter-spacing:.3px;line-height:1}._pollutantValueContainer_1cb49_117{display:flex;align-items:baseline;gap:.35rem;margin-top:.25rem;margin-bottom:.35rem}._pollutantValue_1cb49_117{font-size:1.75rem;font-weight:800;line-height:1.1;letter-spacing:-.5px}._pollutantUnit_1cb49_132{font-size:.85rem;font-weight:600;color:var(--muted, #64748b)}._pollutantMetaInfo_1cb49_138{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:var(--muted, #64748b);margin-top:.4rem;margin-bottom:.5rem}._pollutantLimit_1cb49_148{font-weight:500}._pollutantPercent_1cb49_152{font-weight:700}._pollutantProgressFill_1cb49_156{height:100%;border-radius:10px;transition:width .5s cubic-bezier(.4,0,.2,1)}._exportReportButton_1cb49_162{padding:10px 18px;border:none;border-radius:12px;background:#0d9488;color:#fff;font-size:.9rem;font-weight:700;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}._exportReportButton_1cb49_162:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #0d948840}._exportReportButton_1cb49_162:disabled{cursor:not-allowed;opacity:.65}._shareAQIButton_1cb49_187{padding:10px 18px;border:none;border-radius:12px;background:#f97316;color:#fff;font-size:.9rem;font-weight:700;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}._shareAQIButton_1cb49_187:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #f973164d}._shareAQIButton_1cb49_187:disabled{cursor:not-allowed;opacity:.65}._chartGrid_1cb49_212{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--sp-4)}._pollutantsGrid_1cb49_218{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--sp-4);margin-top:var(--sp-4)}._pollutantCard_1cb49_225{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-4);box-shadow:var(--shadow-sm);transition:transform .18s var(--ease),box-shadow .18s var(--ease)}._pollutantCard_1cb49_225:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}._pollutantCardHeader_1cb49_239{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}._pollutantCardHeader_1cb49_239 h4{margin:0;font-size:1rem}._pollutantProgressTrack_1cb49_252{width:100%;height:.5rem;background:#94a3b82e;border-radius:999px;overflow:hidden;margin-top:1rem}@media (max-width: 640px){._dashboardHeaderRow_1cb49_10{flex-direction:column;align-items:stretch}._dashboardHeaderRow_1cb49_10>div:first-child{flex:none;width:100%}._dashboardHeaderActions_1cb49_18{width:100%;justify-content:flex-start}._chartCard_1cb49_64,._aqi_1cb49_60{grid-column:1 / -1}}.morning-briefing{background:var(--card, #ffffff);border:1px solid var(--line, #e2e8f0);border-radius:1rem;padding:1.5rem;margin-bottom:2rem;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}[data-theme=dark] .morning-briefing{background:var(--card, #1e293b);border-color:var(--line, #334155)}.slide-up-animation{animation:slideUpFade .6s ease-out forwards}@keyframes slideUpFade{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.briefing-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;border-bottom:1px solid var(--line, #e2e8f0);padding-bottom:1rem}[data-theme=dark] .briefing-header{border-bottom-color:var(--line, #334155)}.greeting-container{display:flex;align-items:center;gap:1rem}.greeting-container h3{margin:0;font-size:1.25rem;color:var(--ink, #0f172a)}[data-theme=dark] .greeting-container h3{color:var(--ink, #f8fafc)}.streak-badge{background:linear-gradient(135deg,#f97316,#ef4444);color:#fff;padding:.25rem .75rem;border-radius:9999px;font-size:.875rem;font-weight:600;display:inline-flex;align-items:center;gap:.25rem;box-shadow:0 2px 4px #ef44444d}.dismiss-btn{background:transparent;border:none;color:var(--muted, #64748b);font-size:1.25rem;cursor:pointer;padding:.25rem;line-height:1;transition:color .2s}.dismiss-btn:hover{color:var(--ink, #0f172a)}[data-theme=dark] .dismiss-btn:hover{color:var(--ink, #f8fafc)}.briefing-content{display:flex;flex-direction:column;gap:1rem}@media (min-width: 768px){.briefing-content{flex-direction:row;gap:1.5rem}}.briefing-item{display:flex;gap:1rem;flex:1;background:var(--bg-surface, #f8fafc);padding:1rem;border-radius:.75rem}[data-theme=dark] .briefing-item{background:#ffffff0d}.briefing-item .icon{font-size:1.5rem;flex-shrink:0}.briefing-item strong{display:block;font-size:.875rem;color:var(--muted, #64748b);margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.05em}[data-theme=dark] .briefing-item strong{color:var(--muted, #94a3b8)}.briefing-item p{margin:0;font-size:.95rem;color:var(--ink, #0f172a);line-height:1.4}[data-theme=dark] .briefing-item p{color:var(--ink, #f1f5f9)}._siteFooter_1ahwo_1{margin-top:var(--sp-8);padding:0;background:var(--card);border-top:1px solid var(--line)}._siteFooterInner_1ahwo_8{max-width:1200px;margin:0 auto;padding:var(--sp-7) clamp(1.25rem,4vw,3rem) var(--sp-5)}._footerGrid_1ahwo_14{display:grid;grid-template-columns:1.6fr 1fr;gap:var(--sp-6);align-items:start}._footerBrand_1ahwo_21{max-width:400px}._footerBrand_1ahwo_21 h3{font-size:1.15rem;color:var(--brand);margin-bottom:var(--sp-3)}._footerBrand_1ahwo_21 p{color:var(--muted);font-size:.9rem;line-height:1.6}._footerLinks_1ahwo_37 h4{margin:0 0 var(--sp-3);font-family:Space Grotesk,sans-serif;font-size:.82rem;text-transform:uppercase;letter-spacing:.07em;color:var(--ink)}._footerLinks_1ahwo_37 ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-2)}._footerLinks_1ahwo_37 a{color:var(--muted);text-decoration:none;font-size:.9rem;transition:color .18s var(--ease)}._footerLinks_1ahwo_37 a:hover{color:var(--brand)}._footerLinks_1ahwo_37 a:focus-visible{outline:2px solid var(--brand);outline-offset:4px;border-radius:2px}._footerLinksGroup_1ahwo_72{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2.5rem}._footerIcon_1ahwo_78{width:1.1rem;height:1.1rem;flex-shrink:0}._footerBottom_1ahwo_84{max-width:1200px;margin:var(--sp-7) auto 0;padding-top:var(--sp-4);border-top:1px solid var(--line);text-align:center;color:var(--muted);font-size:.8rem}@media (max-width: 768px){._siteFooter_1ahwo_1{margin-top:2rem;padding:2.5rem 1rem 1.5rem}._siteFooterInner_1ahwo_8{width:100%;padding:0}._footerGrid_1ahwo_14{grid-template-columns:1fr;gap:2rem;text-align:center}._footerBrand_1ahwo_21{max-width:100%;text-align:center}._footerLinksGroup_1ahwo_72{grid-template-columns:1fr;gap:1.5rem;justify-content:center}._footerLinks_1ahwo_37{text-align:center}._footerLinks_1ahwo_37 ul{align-items:center}._footerBottom_1ahwo_84{flex-direction:column;justify-content:center;text-align:center;gap:.75rem;margin-top:2rem}}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker-wrapper{display:inline-block;padding:0;border:0}.react-datepicker{font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;background-color:#fff;color:#000;border:1px solid #aeaeae;border-radius:.3rem;display:inline-block;position:relative;line-height:initial}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker-popper{z-index:1;line-height:0}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker__header{text-align:center;background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select){border-top-right-radius:.3rem}.react-datepicker__year-dropdown-container--select,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--scroll{display:inline-block;margin:0 15px}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{margin-top:0;color:#000;font-weight:700;font-size:.944rem}h2.react-datepicker__current-month{padding:0;margin:0}.react-datepicker-time__header{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-datepicker__navigation{align-items:center;background:none;display:flex;justify-content:center;text-align:center;cursor:pointer;position:absolute;top:2px;padding:0;border:none;z-index:1;height:32px;width:32px;text-indent:-999em;overflow:hidden}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{position:relative;top:0;display:block;margin-left:auto;margin-right:auto}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover *:before{border-color:#a6a6a6}.react-datepicker__navigation-icon{position:relative;top:-1px;font-size:20px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{transform:rotate(45deg);left:-7px}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{transform:rotate(225deg);right:-7px}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.4rem;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;width:4rem;margin:2px}.react-datepicker__month{margin:.4rem;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;width:4rem;margin:2px}.react-datepicker__input-time-container{clear:both;width:100%;float:left;margin:5px 0 10px 15px;text-align:left}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{margin-left:5px;display:inline-block}.react-datepicker__time-container{float:right;border-left:1px solid #aeaeae;width:85px}.react-datepicker__time-container--with-today-button{display:inline;border:1px solid #aeaeae;border-radius:.3rem;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{position:relative;background:#fff;border-bottom-right-radius:.3rem}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{width:85px;overflow-x:hidden;margin:0 auto;text-align:center;border-bottom-right-radius:.3rem}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{list-style:none;margin:0;height:calc(195px + .85rem);overflow-y:scroll;padding-right:0;padding-left:0;width:100%;box-sizing:content-box}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{cursor:pointer;background-color:#f0f0f0}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{cursor:default;background-color:transparent}.react-datepicker__week-number{color:#ccc;display:inline-block;width:1.7rem;line-height:1.7rem;text-align:center;margin:.166rem}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__week-number--selected{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{white-space:nowrap;margin-bottom:-8px}.react-datepicker__week{white-space:nowrap}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:#000;display:inline-block;width:1.7rem;line-height:1.7rem;text-align:center;margin:.166rem}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{border-radius:.3rem;background-color:#3dcc4a;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{position:relative;border-radius:.3rem;background-color:#ff6803;color:#fff}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{visibility:visible;opacity:1}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{border-radius:.3rem;background-color:#bad9f1;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{cursor:default;color:#ccc}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{position:absolute;bottom:70%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__input-container{position:relative;display:inline-block;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{position:absolute;padding:.5rem;box-sizing:content-box}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__year-read-view,.react-datepicker__month-read-view,.react-datepicker__month-year-read-view{border:1px solid transparent;border-radius:.3rem;position:relative}.react-datepicker__year-read-view:hover,.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover{cursor:pointer}.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{transform:rotate(135deg);right:-16px;top:0}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{background-color:#f0f0f0;position:absolute;width:50%;left:25%;top:30px;z-index:1;text-align:center;border-radius:.3rem;border:1px solid #aeaeae}.react-datepicker__year-dropdown:hover,.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover{cursor:pointer}.react-datepicker__year-dropdown--scrollable,.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__year-option,.react-datepicker__month-option,.react-datepicker__month-year-option{line-height:20px;width:100%;display:block;margin-left:auto;margin-right:auto}.react-datepicker__year-option:first-of-type,.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__year-option:last-of-type,.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover{background-color:#ccc}.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__year-option--selected,.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected{position:absolute;left:15px}.react-datepicker__close-icon{cursor:pointer;background-color:transparent;border:0;outline:0;padding:0 6px 0 0;position:absolute;top:0;right:0;height:100%;display:table-cell;vertical-align:middle}.react-datepicker__close-icon:after{cursor:pointer;background-color:#216ba5;color:#fff;border-radius:50%;height:16px;width:16px;padding:2px;font-size:12px;line-height:1;text-align:center;display:table-cell;vertical-align:middle;content:"×"}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{cursor:default;background-color:#ccc}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;cursor:pointer;text-align:center;font-weight:700;padding:5px 0;clear:left}.react-datepicker__portal{position:fixed;width:100vw;height:100vh;background-color:#000c;left:0;top:0;justify-content:center;align-items:center;display:flex;z-index:2147483647}.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__time-name{width:3rem;line-height:3rem}@media (max-width: 400px),(max-height: 550px){.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__time-name{width:2rem;line-height:2rem}}.react-datepicker__portal .react-datepicker__current-month,.react-datepicker__portal .react-datepicker-time__header{font-size:1.44rem}.react-datepicker__children-container{width:13.8rem;margin:.4rem;padding-right:.2rem;padding-left:.2rem;height:auto}.react-datepicker__aria-live{position:absolute;clip-path:circle(0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;width:1px;white-space:nowrap}.react-datepicker__calendar-icon{width:1em;height:1em;vertical-align:-.125em}.geo-error-banner-dismiss{background:none;border:none;color:#c2410c;font-weight:700;cursor:pointer;padding-left:1rem}.commute-error-banner{background-color:#fef2f2;border:1px solid #fca5a5;color:#b91c1c;padding:.75rem 1rem;border-radius:.5rem;margin-bottom:1rem;font-size:.9rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.commute-error-banner--no-data{background-color:#fff7ed;border:1px solid #fdba74;color:#c2410c;margin-bottom:1.5rem;align-items:flex-start;justify-content:flex-start;flex-wrap:wrap;gap:.4rem}.commute-error-dismiss{background:none;border:none;color:#b91c1c;font-weight:700;cursor:pointer}.commute-origin-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.commute-origin-head label{margin-bottom:0}.commute-locate-btn{background:none;border:none;color:#0d9488;font-size:.85rem;font-weight:600;cursor:pointer;padding:0}.commute-locate-btn:hover:not(:disabled){text-decoration:underline}.commute-locate-btn:disabled{cursor:default}.commute-route-option{display:block;width:100%;text-align:left;padding:1rem;margin-bottom:.75rem;border-radius:.5rem;border:2px solid #e5e7eb;background:#fff;cursor:pointer;transition:all .2s ease-in-out}.commute-route-option.active{border-color:#0d9488;background:#f0fdfa}.commute-route-option-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.commute-route-option-title{font-size:1.1rem;color:#374151}.commute-route-option.active .commute-route-option-title{color:#0f766e}.commute-cleanest-wrap{display:inline-flex;align-items:center;gap:.25rem}.commute-cleanest-badge{background:#10b981;color:#fff;padding:.2rem .5rem;border-radius:1rem;font-size:.75rem;font-weight:700}.commute-route-option-meta{display:flex;justify-content:space-between;font-size:.9rem;color:#4b5563}.commute-route-pm{font-weight:600;color:#b45309}.commute-route-pm--cleanest{color:#059669}.commute-route-pm--unmeasured{color:#64748b;display:inline-flex;align-items:center;gap:.25rem}.commute-map-container{position:relative}.commute-map-container .leaflet-container{height:100%;width:100%}.route-aqi-legend{position:absolute;bottom:1rem;right:1rem;background-color:#fffffff2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid #e2e8f0;border-radius:.5rem;padding:.6rem .8rem;box-shadow:0 2px 8px #00000026;z-index:1000;font-size:.8rem;color:#1e293b;font-family:inherit}.route-aqi-legend-title{font-weight:700;margin-bottom:.4rem;color:#0f172a}.route-aqi-legend-list{display:flex;flex-direction:column;gap:.25rem}.route-aqi-legend-item{display:flex;align-items:center;gap:.4rem}.route-aqi-legend-swatch{display:inline-block;width:10px;height:10px;border-radius:50%}.carbon-calculator-container{max-width:1100px;margin:0 auto;padding:2rem 1.25rem 4rem;display:flex;flex-direction:column;gap:1.5rem}.carbon-header-card{background:linear-gradient(135deg,var(--card, #1e293b) 0%,var(--bg-card-alt, #0f172a) 100%);border:1px solid var(--line, #334155);border-radius:1rem;padding:2rem 2.25rem;position:relative;overflow:hidden}.carbon-header-card:before{content:"";position:absolute;top:-40px;right:-40px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(34,197,94,.15) 0%,transparent 70%);pointer-events:none}.carbon-header-badge{display:inline-block;padding:.3rem .85rem;background:#22c55e1f;border:1px solid rgba(34,197,94,.35);border-radius:999px;color:#86efac;font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;margin-bottom:.85rem}.carbon-calculator-title{font-size:clamp(1.4rem,3vw,2rem);font-weight:800;color:var(--ink, #f8fafc);margin:0 0 .55rem;line-height:1.2}.carbon-calculator-subtitle{color:var(--muted, #94a3b8);font-size:.95rem;line-height:1.65;margin:0;max-width:680px}.carbon-layout-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;align-items:start}@media (max-width: 800px){.carbon-layout-grid{grid-template-columns:1fr}}.carbon-inputs-column,.carbon-results-column{display:flex;flex-direction:column;gap:1rem}.carbon-card{background:var(--card, #1e293b);border:1.5px solid var(--line, #334155);border-radius:.875rem;padding:1.25rem 1.35rem;display:flex;flex-direction:column;gap:1rem;transition:border-color .2s}.carbon-card:hover{border-color:#22c55e59}.carbon-card-heading{font-size:1rem;font-weight:700;color:var(--ink, #f8fafc);margin:0;display:flex;align-items:center;gap:.45rem}.carbon-icon{font-size:1.15rem}.carbon-subheading{font-size:.95rem;font-weight:700;color:var(--ink, #f8fafc);margin:0 0 .25rem}.carbon-form-group{display:flex;flex-direction:column;gap:.45rem}.carbon-form-group label{font-size:.85rem;font-weight:600;color:var(--muted, #94a3b8)}.carbon-label-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.carbon-label-row label{font-size:.85rem;font-weight:600;color:var(--muted, #94a3b8);margin:0}.carbon-value-display{font-size:.85rem;font-weight:700;color:#86efac;white-space:nowrap}.carbon-form-row-2col{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.carbon-select{width:100%;padding:.6rem .85rem;border:1.5px solid var(--line, #334155);border-radius:.5rem;background:var(--bg, #0f172a);color:var(--ink, #f8fafc);font-size:.88rem;font-family:inherit;cursor:pointer;transition:border-color .18s;outline:none}.carbon-select:focus{border-color:#22c55e;box-shadow:0 0 0 3px #22c55e2e}.carbon-range-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:5px;border-radius:999px;background:var(--line, #334155);outline:none;cursor:pointer;transition:background .15s}.carbon-range-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#22c55e;cursor:pointer;box-shadow:0 0 0 3px #22c55e40;transition:box-shadow .15s}.carbon-range-slider::-webkit-slider-thumb:hover{box-shadow:0 0 0 5px #22c55e4d}.carbon-range-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#22c55e;cursor:pointer;border:none;box-shadow:0 0 0 3px #22c55e40}.carbon-number-input{width:100%;padding:.6rem .75rem;border:1.5px solid var(--line, #334155);border-radius:.5rem;background:var(--bg, #0f172a);color:var(--ink, #f8fafc);font-size:.9rem;font-family:inherit;outline:none;transition:border-color .18s}.carbon-number-input:focus{border-color:#22c55e;box-shadow:0 0 0 3px #22c55e2e}.carbon-number-input::placeholder{color:var(--muted, #64748b);font-size:.8rem}.carbon-action-buttons{display:flex;gap:.75rem;flex-wrap:wrap}.carbon-btn-save{display:inline-flex;align-items:center;gap:.4rem;padding:.65rem 1.25rem;background:#22c55e;color:#052e16;border:none;border-radius:.6rem;font-size:.9rem;font-weight:700;cursor:pointer;transition:background .18s,transform .15s}.carbon-btn-save:hover{background:#16a34a;transform:translateY(-1px)}.carbon-btn-reset{display:inline-flex;align-items:center;gap:.4rem;padding:.65rem 1.25rem;background:transparent;color:var(--muted, #94a3b8);border:1.5px solid var(--line, #334155);border-radius:.6rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:border-color .18s,color .18s}.carbon-btn-reset:hover{border-color:var(--muted, #64748b);color:var(--ink, #f8fafc)}.carbon-toast-success{padding:.65rem 1rem;background:#22c55e1f;border:1px solid rgba(34,197,94,.35);border-radius:.5rem;color:#86efac;font-size:.88rem;font-weight:600;animation:carbon-fade-in .25s ease}@keyframes carbon-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.carbon-hero-result-card{background:linear-gradient(135deg,#22c55e1f,#10b98114);border:1.5px solid rgba(34,197,94,.3);border-radius:.875rem;padding:1.5rem 1.35rem;display:flex;flex-direction:column;gap:1rem}.carbon-impact-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.carbon-result-label{font-size:.82rem;font-weight:600;color:var(--muted, #94a3b8);text-transform:uppercase;letter-spacing:.05em}.carbon-impact-badge{display:inline-block;padding:.25rem .7rem;border-radius:999px;font-size:.75rem;font-weight:700;border:1px solid transparent}.carbon-impact-badge.impact-badge-low{background:#22c55e26;color:#86efac;border-color:#22c55e66}.carbon-impact-badge.impact-badge-moderate{background:#eab30826;color:#fde047;border-color:#eab30866}.carbon-impact-badge.impact-badge-high{background:#ef444426;color:#fca5a5;border-color:#ef444466}.carbon-hero-values{display:flex;align-items:center;gap:1.25rem}.carbon-hero-metric{display:flex;flex-direction:column;gap:.15rem}.carbon-metric-number{font-size:2.4rem;font-weight:900;color:#22c55e;line-height:1;font-variant-numeric:tabular-nums}.carbon-metric-unit{font-size:.78rem;color:var(--muted, #94a3b8);font-weight:500}.carbon-hero-divider{width:1px;height:3rem;background:var(--line, #334155);flex-shrink:0}.carbon-hero-metric-secondary{display:flex;flex-direction:column;gap:.15rem}.carbon-secondary-number{font-size:1.6rem;font-weight:800;color:#4ade80;line-height:1;font-variant-numeric:tabular-nums}.carbon-secondary-unit{font-size:.78rem;color:var(--muted, #94a3b8);font-weight:500}.carbon-impact-description{font-size:.88rem;color:var(--muted, #94a3b8);line-height:1.6;margin:0}.carbon-benchmark-list{display:flex;flex-direction:column;gap:.85rem}.carbon-benchmark-item{display:flex;flex-direction:column;gap:.3rem}.carbon-benchmark-header{display:flex;align-items:center;justify-content:space-between;font-size:.82rem;color:var(--muted, #94a3b8)}.carbon-benchmark-header strong{color:var(--ink, #f8fafc);font-weight:700}.carbon-bar-bg{height:7px;background:var(--line, #334155);border-radius:999px;overflow:hidden}.carbon-bar-fill{height:100%;border-radius:999px;transition:width .4s ease}.carbon-bar-user{background:#22c55e}.carbon-bar-india{background:#f59e0b}.carbon-bar-target{background:#3b82f6}.carbon-breakdown-list{display:flex;flex-direction:column;gap:.75rem}.carbon-breakdown-item{display:flex;flex-direction:column;gap:.3rem}.carbon-breakdown-info{display:flex;align-items:center;justify-content:space-between;font-size:.83rem}.carbon-breakdown-label{color:var(--muted, #94a3b8);font-weight:500}.carbon-breakdown-value{color:var(--ink, #f8fafc);font-weight:700;font-size:.8rem}.carbon-breakdown-bar-bg{height:5px;background:var(--line, #334155);border-radius:999px;overflow:hidden}.carbon-breakdown-bar-fill{height:100%;background:linear-gradient(90deg,#22c55e,#3b82f6);border-radius:999px;transition:width .4s ease}.carbon-tips-list{display:flex;flex-direction:column;gap:.75rem}.carbon-tip-card{padding:.85rem 1rem;background:#6366f10f;border:1px solid rgba(99,102,241,.2);border-radius:.6rem;display:flex;flex-direction:column;gap:.35rem;transition:border-color .18s}.carbon-tip-card:hover{border-color:#6366f166}.carbon-tip-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.carbon-tip-tag{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#a5b4fc;background:#6366f126;border-radius:999px;padding:.15rem .5rem}.carbon-tip-impact{font-size:.72rem;font-weight:600;color:#86efac}.carbon-tip-title{font-size:.9rem;font-weight:700;color:var(--ink, #f8fafc);margin:0}.carbon-tip-text{font-size:.82rem;color:var(--muted, #94a3b8);line-height:1.55;margin:0}.carbon-history-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.carbon-history-list{display:flex;flex-direction:column;gap:.5rem}.carbon-history-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .85rem;background:var(--bg, #0f172a);border:1px solid var(--line, #334155);border-radius:.5rem;transition:border-color .15s}.carbon-history-item:hover{border-color:#22c55e4d}.carbon-history-info{display:flex;flex-direction:column;gap:.15rem;min-width:0}.carbon-history-date{font-size:.78rem;color:var(--muted, #64748b);font-weight:500}.carbon-history-value{font-size:.85rem;font-weight:700;color:var(--ink, #f8fafc);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 640px){.carbon-calculator-container{padding:1rem .75rem 3rem;gap:1rem}.carbon-header-card{padding:1.25rem 1rem}.carbon-hero-values{flex-direction:column;align-items:flex-start;gap:.75rem}.carbon-hero-divider{display:none}.carbon-form-row-2col{grid-template-columns:1fr}.carbon-action-buttons{flex-direction:column}.carbon-btn-save,.carbon-btn-reset{width:100%;justify-content:center}}.glossary-container{max-width:1100px;margin:0 auto;padding:2rem 1.25rem 4rem;display:flex;flex-direction:column;gap:1.5rem}.glossary-header-card{background:linear-gradient(135deg,var(--card, #1e293b) 0%,var(--bg-card-alt, #0f172a) 100%);border:1px solid var(--line, #334155);border-radius:1rem;padding:2rem 2.25rem;position:relative;overflow:hidden}.glossary-header-card:before{content:"";position:absolute;top:-40px;right:-40px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(99,102,241,.18) 0%,transparent 70%);pointer-events:none}.glossary-header-badge{display:inline-block;padding:.3rem .85rem;background:#6366f126;border:1px solid rgba(99,102,241,.4);border-radius:999px;color:#a5b4fc;font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;margin-bottom:1rem}.glossary-title{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:800;color:var(--ink, #f8fafc);margin:0 0 .6rem;line-height:1.2}.glossary-subtitle{color:var(--muted, #94a3b8);font-size:.97rem;line-height:1.65;margin:0 0 1.5rem;max-width:680px}.glossary-quick-stats{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.glossary-quick-stat-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .75rem;border:1px solid;border-radius:999px;font-size:.8rem;font-weight:600;cursor:pointer;transition:opacity .15s,transform .15s;background:transparent}.glossary-quick-stat-chip:hover{opacity:.8;transform:translateY(-1px)}.glossary-quick-stat-num{background:#ffffff26;border-radius:999px;padding:0 .4rem;font-size:.72rem}.glossary-search-bar{display:flex;flex-direction:column;gap:.4rem}.glossary-search-wrapper{position:relative;display:flex;align-items:center}.glossary-search-icon{position:absolute;left:1rem;font-size:1rem;pointer-events:none;z-index:1}.glossary-search-input{width:100%;padding:.85rem 3rem .85rem 2.8rem;border:2px solid var(--line, #334155);border-radius:.75rem;background:var(--card, #1e293b);color:var(--ink, #f8fafc);font-size:1rem;font-family:inherit;transition:border-color .2s,box-shadow .2s;outline:none}.glossary-search-input::placeholder{color:var(--muted, #64748b)}.glossary-search-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f133}.glossary-search-clear{position:absolute;right:.85rem;background:none;border:none;color:var(--muted, #64748b);font-size:.9rem;cursor:pointer;padding:.25rem .4rem;border-radius:.25rem;transition:color .15s}.glossary-search-clear:hover{color:var(--ink, #f8fafc)}.glossary-search-hint{font-size:.78rem;color:var(--muted, #64748b);padding-left:.25rem}.glossary-search-hint kbd{display:inline-block;padding:.05rem .35rem;background:var(--bg, #0f172a);border:1px solid var(--line, #334155);border-radius:.25rem;font-family:monospace;font-size:.75rem;color:var(--muted, #94a3b8)}.glossary-category-filter{display:flex;flex-wrap:wrap;gap:.5rem}.glossary-cat-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .9rem;border:1.5px solid var(--line, #334155);border-radius:999px;background:transparent;color:var(--muted, #94a3b8);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .18s}.glossary-cat-btn:hover{border-color:var(--brand, #6366f1);color:var(--ink, #f8fafc)}.glossary-cat-btn--active{color:#f8fafc}.glossary-cat-emoji{font-size:.95rem}.glossary-cat-count{background:#ffffff1f;border-radius:999px;padding:.05rem .4rem;font-size:.72rem;font-weight:700}.glossary-controls-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.glossary-sort-group{display:flex;align-items:center;gap:.4rem}.glossary-sort-label{font-size:.82rem;color:var(--muted, #64748b);font-weight:600}.glossary-sort-btn{padding:.3rem .7rem;border:1.5px solid var(--line, #334155);border-radius:.5rem;background:transparent;color:var(--muted, #94a3b8);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .15s}.glossary-sort-btn:hover{border-color:var(--brand, #6366f1);color:var(--ink, #f8fafc)}.glossary-sort-btn--active{background:#6366f126;border-color:#6366f1;color:#a5b4fc}.glossary-stats-bar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.85rem;color:var(--muted, #64748b)}.glossary-stats-count strong{color:var(--ink, #f8fafc);font-weight:700}.glossary-stats-filter em{color:var(--brand, #a5b4fc);font-style:normal}.glossary-alpha-nav{display:flex;flex-wrap:wrap;gap:.2rem;padding:.75rem;background:var(--card, #1e293b);border:1px solid var(--line, #334155);border-radius:.75rem}.glossary-alpha-btn{width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border:none;border-radius:.4rem;background:transparent;color:var(--ink, #f8fafc);font-size:.82rem;font-weight:700;cursor:pointer;transition:background .15s,color .15s}.glossary-alpha-btn:hover{background:#6366f133;color:#a5b4fc}.glossary-alpha-btn--disabled{color:var(--line, #334155);cursor:default}.glossary-results{display:flex;flex-direction:column;gap:.6rem}.glossary-letter-group{display:flex;flex-direction:column;gap:.5rem;scroll-margin-top:4rem}.glossary-letter-heading{display:flex;align-items:center;font-size:1.4rem;font-weight:900;color:#6366f1;padding:.25rem 0;border-bottom:2px solid rgba(99,102,241,.25);margin-bottom:.25rem}.glossary-card{background:var(--card, #1e293b);border:1.5px solid var(--line, #334155);border-radius:.75rem;overflow:hidden;transition:border-color .2s,box-shadow .2s}.glossary-card:hover{border-color:#6366f180;box-shadow:0 4px 16px #0003}.glossary-card--expanded{box-shadow:0 6px 24px #00000040}.glossary-card-header{width:100%;text-align:left;background:none;border:none;padding:1rem 1.25rem;cursor:pointer;display:flex;flex-direction:column;gap:.4rem}.glossary-card-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.glossary-card-term-group{display:flex;flex-direction:column;gap:.15rem;min-width:0}.glossary-card-term{font-size:1.05rem;font-weight:800;color:var(--ink, #f8fafc);transition:color .15s;line-height:1.3}.glossary-card-fullform{font-size:.8rem;color:var(--muted, #64748b);font-weight:400;line-height:1.3}.glossary-card-meta{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.glossary-category-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .6rem;border:1px solid;border-radius:999px;font-size:.72rem;font-weight:700;white-space:nowrap;text-transform:capitalize}.glossary-chevron{color:var(--muted, #64748b);font-size:1rem;transition:transform .2s;display:block;line-height:1}.glossary-chevron--up{transform:rotate(180deg)}.glossary-card-preview{font-size:.87rem;color:var(--muted, #94a3b8);margin:0;line-height:1.5;text-align:left}.glossary-card-body{padding:1rem 1.25rem 1.25rem;display:flex;flex-direction:column;gap:1rem;border-top:1px solid var(--line, #334155);margin-top:0;animation:glossary-expand .2s ease}@keyframes glossary-expand{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.glossary-definition{font-size:.95rem;color:var(--ink, #f1f5f9);line-height:1.7;margin:0}.glossary-example-box{background:#6366f114;border-left:3px solid #6366f1;border-radius:0 .5rem .5rem 0;padding:.75rem 1rem;display:flex;flex-direction:column;gap:.35rem}.glossary-example-label{font-size:.75rem;font-weight:700;color:#a5b4fc;text-transform:uppercase;letter-spacing:.06em}.glossary-example-text{font-size:.88rem;color:var(--muted, #94a3b8);line-height:1.6;margin:0;font-style:italic}.glossary-related{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem}.glossary-related-label{font-size:.78rem;font-weight:700;color:var(--muted, #64748b);white-space:nowrap}.glossary-related-chips{display:flex;flex-wrap:wrap;gap:.35rem}.glossary-related-chip{display:inline-block;padding:.2rem .6rem;background:#6366f11f;border:1px solid rgba(99,102,241,.3);border-radius:999px;font-size:.75rem;font-weight:600;color:#a5b4fc}.glossary-highlight{background:#facc154d;color:#fde047;border-radius:.2rem;padding:0 .15rem}.glossary-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 1.5rem;text-align:center;background:var(--card, #1e293b);border:1.5px dashed var(--line, #334155);border-radius:1rem;gap:.5rem}.glossary-empty-icon{font-size:3rem;margin-bottom:.5rem}.glossary-empty-title{font-size:1.2rem;font-weight:700;color:var(--ink, #f8fafc);margin:0}.glossary-empty-text{color:var(--muted, #64748b);font-size:.9rem;max-width:380px;margin:0}.glossary-empty-hint{color:var(--brand, #6366f1);font-size:.85rem;margin:0}.glossary-pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.5rem;padding:1rem 0}.glossary-page-btn{padding:.45rem 1rem;border:1.5px solid var(--line, #334155);border-radius:.5rem;background:transparent;color:var(--muted, #94a3b8);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s}.glossary-page-btn:hover:not(:disabled){border-color:#6366f1;color:#a5b4fc}.glossary-page-btn:disabled{opacity:.35;cursor:default}.glossary-page-numbers{display:flex;align-items:center;gap:.3rem}.glossary-page-num{width:2.2rem;height:2.2rem;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--line, #334155);border-radius:.5rem;background:transparent;color:var(--muted, #94a3b8);font-size:.85rem;font-weight:700;cursor:pointer;transition:all .15s}.glossary-page-num:hover{border-color:#6366f1;color:#a5b4fc}.glossary-page-num--active{background:#6366f1;border-color:#6366f1;color:#fff}.glossary-page-ellipsis{color:var(--muted, #64748b);padding:0 .15rem}.glossary-page-info{font-size:.8rem;color:var(--muted, #64748b);padding-left:.5rem}.glossary-footer-note{padding:1rem 1.25rem;background:var(--card, #1e293b);border:1px solid var(--line, #334155);border-radius:.75rem;text-align:center}.glossary-footer-note p{font-size:.82rem;color:var(--muted, #64748b);margin:0;line-height:1.6}@media (max-width: 640px){.glossary-container{padding:1rem .75rem 3rem;gap:1rem}.glossary-header-card{padding:1.25rem 1rem}.glossary-card-title-row{flex-direction:column;gap:.5rem}.glossary-card-meta{flex-direction:row;justify-content:flex-start}.glossary-controls-row{flex-direction:column;align-items:flex-start}.glossary-alpha-btn{width:1.7rem;height:1.7rem;font-size:.72rem}.glossary-pagination{gap:.35rem}}
