@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500;600;700&family=IBM+Plex+Sans:wght@300;400;500;600;700&family=IBM+Plex+Sans+Condensed:wght@400;500;600&display=swap";@layer components;@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}@layer theme{:root,:host{--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-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 #0000000d;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--shadow-2xl:0 25px 50px -12px #00000040;--inset-shadow-2xs:inset 0 1px #0000000d;--inset-shadow-xs:inset 0 1px 1px #0000000d;--inset-shadow-sm:inset 0 2px 4px #0000000d;--drop-shadow-xs:0 1px 1px #0000000d;--drop-shadow-sm:0 1px 2px #00000026;--drop-shadow-md:0 3px 3px #0000001f;--drop-shadow-lg:0 4px 4px #00000026;--drop-shadow-xl:0 9px 7px #0000001a;--drop-shadow-2xl:0 25px 25px #00000026;--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;--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:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--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:var(--default-font-feature-settings,normal);font-variation-settings:var(--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:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}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{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}: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:currentColor}@supports (color:color-mix(in lab,red,red)){::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{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-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]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-2{top:calc(var(--spacing) * 2)}.top-3{top:calc(var(--spacing) * 3)}.top-200{top:calc(var(--spacing) * 200)}.isolate{isolation:isolate}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.-mt-\[4\.9rem\]{margin-top:-4.9rem}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.-ml-8{margin-left:calc(var(--spacing) * -8)}.-ml-px{margin-left:-1px}.ml-1{margin-left:calc(var(--spacing) * 1)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-\[335\/376\]{aspect-ratio:335/376}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-5{height:calc(var(--spacing) * 5)}.h-14{height:calc(var(--spacing) * 14)}.h-14\.5{height:calc(var(--spacing) * 14.5)}.min-h-screen{min-height:100vh}.w-1{width:calc(var(--spacing) * 1)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-5{width:calc(var(--spacing) * 5)}.w-\[448px\]{width:448px}.w-full{width:100%}.max-w-\[335px\]{max-width:335px}.max-w-none{max-width:none}.flex-1{flex:1}.flex-shrink,.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.translate-y-0{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-crosshair{cursor:crosshair}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.resize{resize:both}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-items-center{justify-items:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 1) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-x-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.scroll-smooth{scroll-behavior:smooth}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-t-lg{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.rounded-l-md{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.rounded-r-md{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.rounded-br-lg{border-bottom-right-radius:var(--radius-lg)}.rounded-bl-lg{border-bottom-left-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-\[\#19140035\]{border-color:#19140035}.border-\[\#e3e3e0\]{border-color:#e3e3e0}.border-black{border-color:var(--color-black)}.border-gray-300{border-color:var(--color-gray-300)}.border-transparent{border-color:#0000}.bg-\[\#1b1b18\]{background-color:#1b1b18}.bg-\[\#FDFDFC\]{background-color:#fdfdfc}.bg-\[\#dbdbd7\]{background-color:#dbdbd7}.bg-\[\#fff2f2\]{background-color:#fff2f2}.bg-gray-200{background-color:var(--color-gray-200)}.bg-white{background-color:var(--color-white)}.p-6{padding:calc(var(--spacing) * 6)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.pb-12{padding-bottom:calc(var(--spacing) * 12)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-\[13px\]{font-size:13px}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-\[20px\]{--tw-leading:20px;line-height:20px}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.text-wrap{text-wrap:wrap}.text-\[\#1b1b18\]{color:#1b1b18}.text-\[\#706f6c\]{color:#706f6c}.text-\[\#F53003\],.text-\[\#f53003\]{color:#f53003}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-white{color:var(--color-white)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-100{opacity:1}.shadow-\[0px_0px_1px_0px_rgba\(0\,0\,0\,0\.03\)\,0px_1px_2px_0px_rgba\(0\,0\,0\,0\.06\)\]{--tw-shadow:0px 0px 1px 0px var(--tw-shadow-color,#00000008), 0px 1px 2px 0px var(--tw-shadow-color,#0000000f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[inset_0px_0px_0px_1px_rgba\(26\,26\,0\,0\.16\)\]{--tw-shadow:inset 0px 0px 0px 1px var(--tw-shadow-color,#1a1a0029);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-gray-300{--tw-ring-color:var(--color-gray-300)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.delay-300{transition-delay:.3s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-750{--tw-duration:.75s;transition-duration:.75s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.not-has-\[nav\]\:hidden:not(:has(:is(nav))){display:none}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:top-0:before{content:var(--tw-content);top:calc(var(--spacing) * 0)}.before\:top-1\/2:before{content:var(--tw-content);top:50%}.before\:bottom-0:before{content:var(--tw-content);bottom:calc(var(--spacing) * 0)}.before\:bottom-1\/2:before{content:var(--tw-content);bottom:50%}.before\:left-\[0\.4rem\]:before{content:var(--tw-content);left:.4rem}.before\:border-l:before{content:var(--tw-content);border-left-style:var(--tw-border-style);border-left-width:1px}.before\:border-\[\#e3e3e0\]:before{content:var(--tw-content);border-color:#e3e3e0}@media(hover:hover){.hover\:border-\[\#1915014a\]:hover{border-color:#1915014a}.hover\:border-\[\#19140035\]:hover{border-color:#19140035}.hover\:border-black:hover{border-color:var(--color-black)}.hover\:bg-black:hover{background-color:var(--color-black)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:text-gray-400:hover{color:var(--color-gray-400)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}}.focus\:border-blue-300:focus{border-color:var(--color-blue-300)}.focus\:ring:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:bg-gray-100:active{background-color:var(--color-gray-100)}.active\:text-gray-500:active{color:var(--color-gray-500)}.active\:text-gray-700:active{color:var(--color-gray-700)}.active\:text-gray-800:active{color:var(--color-gray-800)}@media(min-width:40rem){.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:flex-1{flex:1}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:gap-2{gap:calc(var(--spacing) * 2)}}@media(min-width:64rem){.lg\:-mt-\[6\.6rem\]{margin-top:-6.6rem}.lg\:mb-0{margin-bottom:calc(var(--spacing) * 0)}.lg\:mb-6{margin-bottom:calc(var(--spacing) * 6)}.lg\:-ml-px{margin-left:-1px}.lg\:ml-0{margin-left:calc(var(--spacing) * 0)}.lg\:block{display:block}.lg\:aspect-auto{aspect-ratio:auto}.lg\:w-\[438px\]{width:438px}.lg\:max-w-4xl{max-width:var(--container-4xl)}.lg\:grow{flex-grow:1}.lg\:flex-row{flex-direction:row}.lg\:justify-center{justify-content:center}.lg\:rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.lg\:rounded-tl-lg{border-top-left-radius:var(--radius-lg)}.lg\:rounded-r-lg{border-top-right-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.lg\:rounded-br-none{border-bottom-right-radius:0}.lg\:p-8{padding:calc(var(--spacing) * 8)}.lg\:p-20{padding:calc(var(--spacing) * 20)}}.rtl\:flex-row-reverse:where(:dir(rtl),[dir=rtl],[dir=rtl] *){flex-direction:row-reverse}@media(prefers-color-scheme:dark){.dark\:block{display:block}.dark\:hidden{display:none}.dark\:border-\[\#3E3E3A\]{border-color:#3e3e3a}.dark\:border-\[\#eeeeec\]{border-color:#eeeeec}.dark\:border-gray-600{border-color:var(--color-gray-600)}.dark\:bg-\[\#0a0a0a\]{background-color:#0a0a0a}.dark\:bg-\[\#1D0002\]{background-color:#1d0002}.dark\:bg-\[\#3E3E3A\]{background-color:#3e3e3a}.dark\:bg-\[\#161615\]{background-color:#161615}.dark\:bg-\[\#eeeeec\]{background-color:#eeeeec}.dark\:bg-gray-700{background-color:var(--color-gray-700)}.dark\:bg-gray-800{background-color:var(--color-gray-800)}.dark\:text-\[\#1C1C1A\]{color:#1c1c1a}.dark\:text-\[\#A1A09A\]{color:#a1a09a}.dark\:text-\[\#EDEDEC\]{color:#ededec}.dark\:text-\[\#F61500\]{color:#f61500}.dark\:text-\[\#FF4433\]{color:#f43}.dark\:text-gray-200{color:var(--color-gray-200)}.dark\:text-gray-300{color:var(--color-gray-300)}.dark\:text-gray-400{color:var(--color-gray-400)}.dark\:text-gray-600{color:var(--color-gray-600)}.dark\:shadow-\[inset_0px_0px_0px_1px_\#fffaed2d\]{--tw-shadow:inset 0px 0px 0px 1px var(--tw-shadow-color,#fffaed2d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark\:before\:border-\[\#3E3E3A\]:before{content:var(--tw-content);border-color:#3e3e3a}@media(hover:hover){.dark\:hover\:border-\[\#3E3E3A\]:hover{border-color:#3e3e3a}.dark\:hover\:border-\[\#62605b\]:hover{border-color:#62605b}.dark\:hover\:border-white:hover{border-color:var(--color-white)}.dark\:hover\:bg-gray-900:hover{background-color:var(--color-gray-900)}.dark\:hover\:bg-white:hover{background-color:var(--color-white)}.dark\:hover\:text-gray-200:hover{color:var(--color-gray-200)}.dark\:hover\:text-gray-300:hover{color:var(--color-gray-300)}}.dark\:focus\:border-blue-700:focus{border-color:var(--color-blue-700)}.dark\:focus\:border-blue-800:focus{border-color:var(--color-blue-800)}.dark\:active\:bg-gray-700:active{background-color:var(--color-gray-700)}.dark\:active\:text-gray-300:active{color:var(--color-gray-300)}}@starting-style{.starting\:translate-y-4{--tw-translate-y:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}}@starting-style{.starting\:translate-y-6{--tw-translate-y:calc(var(--spacing) * 6);translate:var(--tw-translate-x) var(--tw-translate-y)}}@starting-style{.starting\:opacity-0{opacity:0}}}:root{color-scheme:dark;--bg-primary:#0a0e13;--bg-secondary:#0f1318;--bg-tertiary:#151a21;--bg-elevated:#1a2029;--bg-hover:#1f2733;--bg-active:#252d38;--border-subtle:#1e2630;--border-default:#2a3340;--border-strong:#3a4555;--text-primary:#e2e8f0;--text-secondary:#94a3b8;--text-tertiary:#64748b;--text-muted:#475569;--accent:#22c55e;--accent-dim:#16a34a;--accent-glow:#22c55e26;--accent-bright:#4ade80;--danger:#ef4444;--danger-dim:#ef444426;--warning:#f59e0b;--warning-dim:#f59e0b26;--info:#3b82f6;--info-dim:#3b82f626;--font-mono:"JetBrains Mono", "Fira Code", monospace;--font-sans:"IBM Plex Sans", -apple-system, sans-serif;--font-condensed:"IBM Plex Sans Condensed", "IBM Plex Sans", sans-serif;--sidebar-width:320px;--toolbar-height:44px;--timeline-height:110px;--header-height:42px;--panel-radius:4px;--transition-fast:.12s ease;--transition-default:.2s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg-primary);height:100%;color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;font-size:13px;line-height:1.5;overflow:hidden}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}#app{grid-template-rows:var(--header-height) 1fr var(--timeline-height);grid-template-columns:var(--sidebar-width) 1fr;grid-template-areas:"header header""sidebar viewer""timeline timeline";width:100vw;height:100vh;display:grid}#app.sidebar-collapsed{grid-template-columns:0 1fr}#app.sidebar-collapsed .sidebar{opacity:0;pointer-events:none;transform:translate(-100%)}.header{background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle);z-index:100;-webkit-user-select:none;user-select:none;grid-area:header;justify-content:space-between;align-items:center;padding:0 12px;display:flex}.header-left{align-items:center;gap:12px;display:flex}.logo{font-family:var(--font-mono);letter-spacing:2px;color:var(--accent);text-transform:uppercase;align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.logo-icon{border:2px solid var(--accent);border-radius:2px;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;display:flex}.header-sep{background:var(--border-default);width:1px;height:20px}.header-status{font-family:var(--font-mono);color:var(--text-tertiary);align-items:center;gap:6px;font-size:11px;display:flex}.status-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:2s infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.header-center,.header-right{align-items:center;gap:8px;display:flex}.header-clock{font-family:var(--font-mono);color:var(--text-secondary);letter-spacing:.5px;font-size:12px}.threat-indicator{font-family:var(--font-mono);letter-spacing:.5px;color:#22c55e;cursor:default;white-space:nowrap;border:1px solid #22c55e66;border-radius:3px;padding:2px 7px;font-size:10px;font-weight:700}.btn{border:1px solid var(--border-default);border-radius:var(--panel-radius);background:var(--bg-tertiary);color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:5px 10px;font-size:12px;display:inline-flex}.btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-strong)}.btn.active{background:var(--accent-glow);color:var(--accent);border-color:var(--accent-dim)}.btn-icon{min-width:30px;padding:5px 7px;font-size:14px}.btn-accent{background:var(--accent-dim);color:#fff;border-color:var(--accent)}.btn-accent:hover{background:var(--accent);color:#000}.btn-danger{border-color:var(--danger);color:var(--danger)}.btn-danger:hover{background:var(--danger-dim)}.btn-primary{background:var(--accent-glow);color:var(--accent);border-color:var(--accent-dim)}.btn-primary:hover{background:var(--accent-dim);color:#fff;border-color:var(--accent)}.btn-primary:disabled,.btn-primary[disabled]{opacity:.45;cursor:not-allowed}.btn-active-tool{animation:1.5s infinite pulse-tool;background:var(--warning-dim)!important;color:var(--warning)!important;border-color:#f59e0b80!important}@keyframes pulse-tool{0%,to{box-shadow:none}50%{box-shadow:0 0 0 3px #f59e0b33}}.btn-group{gap:0;display:flex}.btn-group .btn{border-radius:0;margin-left:-1px}.btn-group .btn:first-child{border-radius:var(--panel-radius) 0 0 var(--panel-radius);margin-left:0}.btn-group .btn:last-child{border-radius:0 var(--panel-radius) var(--panel-radius) 0}.sidebar{background:var(--bg-secondary);border-right:1px solid var(--border-subtle);transition:transform var(--transition-default),opacity var(--transition-default);z-index:90;flex-direction:column;grid-area:sidebar;display:flex;overflow:hidden auto}.sidebar-tabs{border-bottom:1px solid var(--border-subtle);scrollbar-width:none;flex-shrink:0;display:flex;overflow-x:auto}.sidebar-tabs::-webkit-scrollbar{display:none}.sidebar-tab{text-align:center;font-family:var(--font-condensed);text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex:none;padding:7px 8px;font-size:11px;font-weight:600}.sidebar-tab:hover{color:var(--text-secondary)}.sidebar-tab.active{color:var(--accent);border-bottom-color:var(--accent);background:var(--accent-glow)}.sidebar-content{flex:1;overflow-y:auto}.tab-panel{display:none}.tab-panel.active{display:block}.panel-section{border-bottom:1px solid var(--border-subtle)}.panel-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition-fast);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.panel-header:hover{background:var(--bg-hover)}.panel-title{font-family:var(--font-condensed);text-transform:uppercase;letter-spacing:1.2px;color:var(--text-secondary);font-size:11px;font-weight:600}.panel-toggle{color:var(--text-muted);transition:transform var(--transition-fast);font-size:10px}.panel-section.collapsed .panel-toggle{transform:rotate(-90deg)}.panel-section.collapsed .panel-body{display:none}.panel-body{padding:8px 14px 14px}.layer-item{border-bottom:1px solid var(--border-subtle);align-items:center;gap:10px;padding:7px 0;display:flex}.layer-item:last-child{border-bottom:none}.layer-toggle{flex-shrink:0;width:32px;height:18px;position:relative}.layer-toggle input{opacity:0;width:0;height:0}.layer-toggle .toggle-track{background:var(--bg-active);border:1px solid var(--border-default);cursor:pointer;transition:all var(--transition-fast);border-radius:9px;position:absolute;inset:0}.layer-toggle .toggle-track:after{content:"";background:var(--text-muted);width:12px;height:12px;transition:all var(--transition-fast);border-radius:50%;position:absolute;top:2px;left:2px}.layer-toggle input:checked+.toggle-track{background:var(--accent-glow);border-color:var(--accent-dim)}.layer-toggle input:checked+.toggle-track:after{background:var(--accent);transform:translate(14px)}.layer-info{flex:1;min-width:0}.layer-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:500;overflow:hidden}.layer-desc{color:var(--text-tertiary);margin-top:1px;font-size:10px}.layer-status{font-family:var(--font-mono);border-radius:2px;flex-shrink:0;padding:2px 5px;font-size:9px}.layer-status.live{color:var(--accent);background:#22c55e26}.layer-status.static{color:var(--text-tertiary);background:#64748b26}.event-list{flex-direction:column;gap:4px;display:flex}.event-card{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-left:3px solid var(--accent);border-radius:0 var(--panel-radius) var(--panel-radius) 0;cursor:pointer;transition:all var(--transition-fast);padding:10px 12px}.event-card:hover{background:var(--bg-hover);border-color:var(--border-default)}.event-card-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.event-card-cat{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.8px;border-radius:2px;padding:1px 5px;font-size:9px;font-weight:600}.event-card-time{font-family:var(--font-mono);color:var(--text-tertiary);font-size:10px}.event-card-title{color:var(--text-primary);margin-bottom:3px;font-size:12px;font-weight:600;line-height:1.3}.event-card-desc{color:var(--text-tertiary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;display:-webkit-box;overflow:hidden}.event-card-meta{align-items:center;gap:8px;margin-top:6px;display:flex}.event-card-severity{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.5px;font-size:9px;font-weight:700}.event-card-source{color:var(--text-muted);font-size:10px}.viewer{background:#000;grid-area:viewer;position:relative;overflow:hidden}#cesiumContainer{width:100%;height:100%}.cesium-viewer-toolbar,.cesium-viewer-animationContainer,.cesium-viewer-timelineContainer,.cesium-viewer-fullscreenContainer,.cesium-viewer-infoBoxContainer,.cesium-viewer-geocoderContainer,.cesium-viewer-bottom{display:none!important}.map-controls{z-index:50;flex-direction:column;gap:4px;display:flex;position:absolute;top:10px;right:10px}.map-controls .btn-icon{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-color:var(--border-default);background:#0a0e13d9;width:34px;height:34px;font-size:16px}.draw-toolbar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-default);border-radius:var(--panel-radius);z-index:50;background:#0a0e13e6;gap:2px;padding:4px;display:flex;position:absolute;top:10px;left:50%;transform:translate(-50%)}.draw-toolbar .btn{background:0 0;border-color:#0000;padding:5px 10px;font-size:11px}.draw-toolbar .btn:hover{background:var(--bg-hover)}.draw-toolbar .btn.active{background:var(--accent-glow);color:var(--accent);border-color:var(--accent-dim)}.draw-toolbar-sep{background:var(--border-default);align-self:stretch;width:1px;margin:2px}.draw-toolbar-status{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.8px;color:var(--accent);align-self:center;padding:0 6px;font-size:10px;font-weight:600}.draw-toolbar-cancel{color:var(--text-secondary)!important;padding:5px 8px!important}.draw-toolbar-cancel:hover{color:var(--danger)!important;background:var(--danger-dim)!important;border-color:#0000!important}.coord-readout{font-family:var(--font-mono);color:var(--text-secondary);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--border-subtle);border-radius:var(--panel-radius);letter-spacing:.4px;z-index:50;pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;background:#0a0e13d1;padding:3px 9px;font-size:11px;position:absolute;bottom:8px;left:8px}.info-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-subtle);border-radius:var(--panel-radius);font-family:var(--font-mono);color:var(--text-tertiary);z-index:50;background:#0a0e13d9;gap:16px;padding:8px 12px;font-size:11px;display:flex;position:absolute;bottom:10px;left:10px}.info-overlay span{color:var(--text-secondary)}.timeline-panel{background:var(--bg-secondary);border-top:1px solid var(--border-subtle);z-index:80;-webkit-user-select:none;user-select:none;flex-direction:column;grid-area:timeline;display:flex}.timeline-controls{border-bottom:1px solid var(--border-subtle);flex-shrink:0;align-items:center;gap:8px;padding:4px 12px;display:flex}.timeline-date{font-family:var(--font-mono);color:var(--accent);min-width:160px;font-size:12px;font-weight:600}.timeline-speed{font-family:var(--font-mono);color:var(--text-tertiary);background:var(--bg-tertiary);border-radius:2px;padding:2px 6px;font-size:10px}.timeline-track-wrapper{cursor:crosshair;flex:1;position:relative;overflow:hidden}.timeline-track{width:100%;height:100%;position:relative}.timeline-track canvas{width:100%;height:100%;display:block}.timeline-cursor{background:var(--accent);pointer-events:none;z-index:10;width:2px;box-shadow:0 0 6px var(--accent-glow);position:absolute;top:0;bottom:0}.timeline-cursor:before{content:"";background:var(--accent);clip-path:polygon(50% 100%,0 0,100% 0);width:10px;height:6px;position:absolute;top:-2px;left:-4px}.timeline-event-marker{z-index:5;cursor:pointer;border-radius:50%;width:6px;height:6px;position:absolute;bottom:4px;transform:translate(-50%)}.timeline-event-marker:hover{transform:translate(-50%)scale(1.5)}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;opacity:0;pointer-events:none;transition:opacity var(--transition-default);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-backdrop.visible{opacity:1;pointer-events:auto}.modal{background:var(--bg-secondary);border:1px solid var(--border-default);width:460px;max-height:80vh;transition:transform var(--transition-default);border-radius:6px;overflow-y:auto;transform:translateY(10px);box-shadow:0 20px 60px #00000080}.modal-backdrop.visible .modal{transform:translateY(0)}.modal-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.modal-title{font-family:var(--font-condensed);text-transform:uppercase;letter-spacing:1px;color:var(--text-primary);font-size:13px;font-weight:600}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:18px}.modal-close:hover{color:var(--danger)}.modal-body{padding:18px}.modal-footer{border-top:1px solid var(--border-subtle);justify-content:flex-end;gap:8px;padding:14px 18px;display:flex}.form-group{margin-bottom:14px}.form-label{font-family:var(--font-condensed);text-transform:uppercase;letter-spacing:1px;color:var(--text-tertiary);margin-bottom:5px;font-size:10px;font-weight:600;display:block}.form-input,.form-select,.form-textarea{background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--panel-radius);width:100%;color:var(--text-primary);font-family:var(--font-sans);transition:border-color var(--transition-fast);padding:7px 10px;font-size:12px}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent-dim);box-shadow:0 0 0 2px var(--accent-glow);outline:none}.form-textarea{resize:vertical;min-height:60px}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%2364748b' stroke-width='1.5' d='M4 6l4 4 4-4'/%3e%3c/svg%3e");background-position:right 8px center;background-repeat:no-repeat;background-size:14px;padding-right:28px}.form-select option{background:var(--bg-secondary)}.ap-select{background:var(--bg-secondary);border:1px solid var(--border-default);color:var(--text-primary);font-size:12px;font-family:var(--font-sans);cursor:pointer;border-radius:4px;outline:none;padding:4px 8px}.ap-select:focus{border-color:var(--accent-dim)}.ap-select option{background:var(--bg-secondary);color:var(--text-primary)}.form-row{gap:10px;display:flex}.form-row .form-group{flex:1}.filter-tags{flex-wrap:wrap;gap:4px;padding:8px 14px;display:flex}.filter-tag{font-family:var(--font-mono);cursor:pointer;transition:all var(--transition-fast);opacity:.5;border:1px solid #0000;border-radius:2px;padding:3px 8px;font-size:10px;font-weight:500}.filter-tag.active{opacity:1;border-color:currentColor}.filter-tag:hover{opacity:.8}.search-bar{background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--panel-radius);align-items:center;gap:6px;margin:8px 14px;padding:6px 12px;display:flex}.search-bar input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-size:12px}.search-bar input::placeholder{color:var(--text-muted)}.search-icon{color:var(--text-muted);font-size:13px}.tooltip{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--panel-radius);color:var(--text-primary);z-index:200;pointer-events:none;max-width:280px;padding:8px 12px;font-size:11px;position:absolute;box-shadow:0 4px 20px #0006}.tooltip-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);margin-bottom:2px;font-size:9px}.loading-spinner{border:2px solid var(--border-default);border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.loading-bar{background:var(--border-subtle);border-radius:1px;height:2px;overflow:hidden}.loading-bar:after{content:"";background:var(--accent);border-radius:1px;width:30%;height:100%;animation:1.5s infinite loading-slide;display:block}@keyframes loading-slide{0%{transform:translate(-100%)}to{transform:translate(400%)}}.toast-container{z-index:2000;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:100px;right:20px}.toast{background:var(--bg-elevated);border:1px solid var(--border-default);border-left:3px solid var(--accent);border-radius:var(--panel-radius);color:var(--text-primary);max-width:320px;padding:10px 16px;font-size:12px;animation:.3s toast-in;box-shadow:0 4px 20px #0000004d}.toast.error{border-left-color:var(--danger)}.toast.warning{border-left-color:var(--warning)}@keyframes toast-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.context-menu{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--panel-radius);z-index:300;min-width:180px;padding:4px 0;position:absolute;box-shadow:0 8px 30px #0006}.context-menu-item{color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:8px;padding:7px 14px;font-size:12px;display:flex}.context-menu-item:hover{background:var(--bg-hover);color:var(--text-primary)}.context-menu-sep{background:var(--border-subtle);height:1px;margin:4px 0}.annotation-item{border-bottom:1px solid var(--border-subtle);align-items:center;gap:8px;padding:8px 0;display:flex}.annotation-item:last-child{border-bottom:none}.annotation-icon{border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;display:flex}.annotation-info{flex:1;min-width:0}.annotation-name{color:var(--text-primary);font-size:12px;font-weight:500}.annotation-type{color:var(--text-muted);font-size:10px}.annotation-actions{gap:2px;display:flex}.annotation-actions button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:3px;font-size:12px}.annotation-actions button:hover{color:var(--text-primary)}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:30px 20px;display:flex}.empty-state-icon{opacity:.3;margin-bottom:10px;font-size:28px}.empty-state-text{color:var(--text-muted);max-width:200px;font-size:12px}.measurement-display{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--accent-dim);border-radius:var(--panel-radius);font-family:var(--font-mono);color:var(--accent);z-index:50;background:#0a0e13e6;padding:6px 14px;font-size:13px;display:none;position:absolute;top:54px;left:50%;transform:translate(-50%)}.measurement-display.visible{display:block}@media(max-width:900px){#app{grid-template-columns:1fr;grid-template-areas:"header""viewer""timeline"}.sidebar{left:0;top:var(--header-height);bottom:var(--timeline-height);width:var(--sidebar-width);z-index:95;position:fixed;transform:translate(-100%)}.sidebar.mobile-open{transform:translate(0)}}.geocoder-wrapper{width:320px;position:relative}.geocoder-input{background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--panel-radius);width:100%;color:var(--text-primary);font-family:var(--font-mono);transition:border-color var(--transition-fast);outline:none;padding:5px 12px;font-size:12px}.geocoder-input:focus{border-color:var(--accent-dim);box-shadow:0 0 0 2px var(--accent-glow)}.geocoder-input::placeholder{color:var(--text-muted)}.geocoder-results{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--panel-radius);z-index:200;max-height:260px;margin-top:4px;display:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 8px 30px #0006}.geocoder-results.visible{display:block}.geocoder-result{cursor:pointer;transition:background var(--transition-fast);border-bottom:1px solid var(--border-subtle);align-items:flex-start;gap:8px;padding:8px 12px;display:flex}.geocoder-result:last-child{border-bottom:none}.geocoder-result:hover{background:var(--bg-hover)}.geocoder-result-type{color:var(--text-muted);flex-shrink:0;padding-top:1px;font-size:10px}.geocoder-result-name{color:var(--text-primary);font-size:12px;line-height:1.3}.geocoder-result-empty{color:var(--text-muted);cursor:default;font-size:12px}.inspector-panel{background:var(--bg-secondary);border-left:1px solid var(--border-subtle);z-index:60;width:340px;transition:transform .25s;position:absolute;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(100%);box-shadow:-4px 0 20px #0000004d}.inspector-panel.open{transform:translate(0)}.inspector-header{border-bottom:1px solid var(--border-subtle);background:var(--bg-tertiary);z-index:1;justify-content:space-between;align-items:center;padding:10px 14px;display:flex;position:sticky;top:0}.inspector-header-title{font-family:var(--font-condensed);text-transform:uppercase;letter-spacing:1px;color:var(--text-tertiary);font-size:11px;font-weight:600}.inspector-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:16px}.inspector-close:hover{color:var(--text-primary)}.inspector-body{padding:14px}.inspector-type-badge{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.5px;border-radius:3px;margin-bottom:8px;padding:3px 8px;font-size:10px;font-weight:600;display:inline-block}.inspector-title{color:var(--text-primary);margin-bottom:12px;font-size:15px;font-weight:600;line-height:1.3}.inspector-meta-grid{background:var(--border-subtle);border:1px solid var(--border-subtle);border-radius:var(--panel-radius);grid-template-columns:1fr 1fr;gap:1px;margin-bottom:12px;display:grid;overflow:hidden}.inspector-meta-item{background:var(--bg-tertiary);padding:8px 10px}.inspector-meta-full{grid-column:1/-1}.inspector-meta-label{font-family:var(--font-condensed);text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);margin-bottom:2px;font-size:9px;font-weight:600;display:block}.inspector-meta-value{color:var(--text-primary);font-size:12px}.inspector-coord-copy{cursor:pointer;font-family:var(--font-mono);font-size:11px}.inspector-coord-copy:hover{color:var(--accent)}.inspector-alert{font-weight:700;color:var(--danger)!important}.inspector-section{margin-bottom:12px}.inspector-section-title{font-family:var(--font-condensed);text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);border-bottom:1px solid var(--border-subtle);margin-bottom:6px;padding-bottom:4px;font-size:10px;font-weight:600}.inspector-description{color:var(--text-secondary);white-space:pre-wrap;font-size:12px;line-height:1.5}.inspector-tags{flex-wrap:wrap;gap:4px;display:flex}.inspector-tag{background:var(--bg-active);font-family:var(--font-mono);color:var(--text-secondary);border-radius:2px;padding:2px 6px;font-size:10px}.inspector-actions{border-top:1px solid var(--border-subtle);gap:6px;margin-top:14px;padding-top:12px;display:flex}.inspector-links{flex-direction:column;gap:4px;display:flex}.inspector-link{color:var(--info);font-size:11px;text-decoration:none}.inspector-link:hover{text-decoration:underline}.event-card-actions{border-top:1px solid var(--border-subtle);gap:2px;margin-top:6px;padding-top:6px;display:flex}.event-action-btn{cursor:pointer;color:var(--text-muted);transition:all var(--transition-fast);background:0 0;border:1px solid #0000;border-radius:2px;padding:2px 6px;font-size:11px}.event-action-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-default)}.layer-group-header{font-family:var(--font-condensed);text-transform:uppercase;letter-spacing:1.2px;color:var(--text-muted);border-bottom:1px solid var(--border-subtle);margin-top:4px;padding:10px 0 4px;font-size:9px;font-weight:600}.layer-group-header:first-child{margin-top:0}.bookmark-item{border-bottom:1px solid var(--border-subtle);cursor:pointer;transition:background var(--transition-fast);align-items:center;gap:8px;padding:7px 0;display:flex}.bookmark-item:hover{background:var(--bg-hover)}.bookmark-item:last-child{border-bottom:none}.bookmark-info{flex:1;min-width:0}.bookmark-name{color:var(--text-primary);font-size:12px;font-weight:500}.bookmark-coords{font-family:var(--font-mono);color:var(--text-muted);font-size:10px}.stats-summary{grid-template-columns:1fr 1fr;gap:6px;margin-bottom:16px;display:grid}.stats-card{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--panel-radius);text-align:center;padding:10px}.stats-card-value{font-family:var(--font-mono);color:var(--text-primary);font-size:22px;font-weight:700}.stats-card-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:2px;font-size:10px}.stats-section{margin-bottom:16px}.stats-section-title{font-family:var(--font-condensed);text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-bottom:8px;font-size:10px;font-weight:600}.stats-bars{flex-direction:column;gap:5px;display:flex}.stats-bar-row{align-items:center;gap:8px;display:flex}.stats-bar-label{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;width:100px;font-size:11px;overflow:hidden}.stats-bar-track{background:var(--bg-active);border-radius:3px;flex:1;height:6px;overflow:hidden}.stats-bar-fill{border-radius:3px;height:100%;transition:width .3s}.stats-bar-value{font-family:var(--font-mono);color:var(--text-tertiary);text-align:right;width:24px;font-size:11px}.stats-severity-row{gap:8px;display:flex}.stats-severity-item{text-align:center;background:var(--bg-tertiary);border-radius:var(--panel-radius);flex:1;padding:8px}.stats-severity-count{font-family:var(--font-mono);font-size:18px;font-weight:700}.stats-severity-label{color:var(--text-muted);margin-top:2px;font-size:10px}.stats-verify-row{margin-top:4px}.stats-verify-bar{background:#f59e0b33;border-radius:4px;height:8px;margin-bottom:6px;overflow:hidden}.stats-verify-fill.verified{background:#22c55e99;border-radius:4px;height:100%}.stats-verify-labels{justify-content:space-between;font-size:11px;display:flex}.stats-timeline-chart{height:50px;margin-bottom:2px}.stats-timeline-chart canvas{width:100%;height:100%;display:block}.stats-timeline-labels{font-family:var(--font-mono);color:var(--text-muted);justify-content:space-between;font-size:9px;display:flex}kbd{background:var(--bg-active);font-family:var(--font-mono);color:var(--text-secondary);border:1px solid var(--border-default);border-radius:2px;margin:0 1px;padding:1px 5px;font-size:10px;display:inline-block}.alert-ticker{z-index:55;background:#ef44441f;border-bottom:1px solid #ef44444d;align-items:center;height:26px;display:flex;position:absolute;top:0;left:0;right:0;overflow:hidden}.alert-ticker-label{font-family:var(--font-mono);color:var(--danger);letter-spacing:.5px;background:#ef444426;border-right:1px solid #ef444433;flex-shrink:0;align-items:center;height:100%;padding:0 10px;font-size:10px;font-weight:700;display:flex}.alert-ticker-track{flex:1;position:relative;overflow:hidden}.alert-ticker-content{white-space:nowrap;font-family:var(--font-mono);color:var(--danger);padding-left:100%;font-size:11px;animation:40s linear infinite ticker-scroll}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.feed-badge{text-align:center;min-width:16px;height:16px;line-height:16px;font-family:var(--font-mono);color:#fff;background:var(--danger);vertical-align:middle;border-radius:8px;margin-left:4px;padding:0 4px;font-size:9px;font-weight:700;display:inline-block}.feed-card .event-card-actions{flex-wrap:wrap}.feed-card .feed-promote{color:var(--accent);font-size:10px}.feed-card .feed-promote:hover{background:var(--accent-glow);border-color:var(--accent-dim)}.layer-opacity{appearance:none;background:var(--bg-active);border-radius:2px;outline:none;width:100%;height:3px;margin-top:4px}.layer-opacity::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);cursor:pointer;border-radius:50%;width:10px;height:10px}.layer-opacity::-moz-range-thumb{background:var(--accent);cursor:pointer;border:none;border-radius:50%;width:10px;height:10px}.alert-ticker~.draw-toolbar{top:36px}.alert-ticker~.measurement-display{top:80px}.modal.modal-feed-manager{flex-direction:column;width:940px;max-width:calc(100vw - 40px);height:85vh;max-height:85vh;display:flex;overflow:hidden}.modal.modal-feed-manager .modal-body{flex:1;padding:0;display:flex;overflow:hidden}.feed-manager-body{flex:1;display:flex;overflow:hidden}.fm-sidebar{border-right:1px solid var(--border-subtle);flex-direction:column;flex-shrink:0;width:190px;padding:6px 0;display:flex;overflow-y:auto}.fm-sidebar-title{letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted);padding:6px 12px 4px;font-size:9px;font-weight:700}.fm-cat-item{color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);-webkit-user-select:none;user-select:none;border-left:2px solid #0000;justify-content:space-between;align-items:center;padding:7px 12px;font-size:12px;display:flex}.fm-cat-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.fm-cat-item.active{background:var(--accent-glow);color:var(--accent);border-left-color:var(--accent)}.fm-cat-count{font-family:var(--font-mono);color:var(--text-muted);background:var(--bg-tertiary);border-radius:8px;padding:1px 5px;font-size:10px}.fm-main{flex-direction:column;flex:1;display:flex;overflow:hidden}.fm-toolbar{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px;padding:10px 12px;display:flex}.fm-search{flex:1;min-width:140px}.fm-table-wrap{flex:1;overflow-y:auto}.fm-table{border-collapse:collapse;width:100%;font-size:12px}.fm-table thead th{z-index:2;background:var(--bg-secondary);text-align:left;font-family:var(--font-condensed);text-transform:uppercase;letter-spacing:.8px;color:var(--text-tertiary);border-bottom:1px solid var(--border-default);white-space:nowrap;-webkit-user-select:none;user-select:none;padding:8px 10px;font-size:10px;font-weight:600;position:sticky;top:0}.fm-table thead th.sortable{cursor:pointer}.fm-table thead th.sortable:hover{color:var(--text-secondary)}.fm-table thead th.sort-asc:after{content:" ↑";color:var(--accent)}.fm-table thead th.sort-desc:after{content:" ↓";color:var(--accent)}.fm-table td{border-bottom:1px solid var(--border-subtle);vertical-align:middle;color:var(--text-secondary);padding:7px 10px}.fm-row{transition:background var(--transition-fast)}.fm-row:hover td{background:var(--bg-tertiary)}.fm-row.fm-disabled{opacity:.45}.fm-editable{cursor:text;text-overflow:ellipsis;white-space:nowrap;min-width:30px;max-width:220px;transition:border-color var(--transition-fast);border-bottom:1px dashed #0000;outline:none;display:inline-block;overflow:hidden}.fm-editable:hover{border-bottom-color:var(--border-strong)}.fm-editable:focus{border-bottom-color:var(--accent-dim);white-space:normal}.fm-dot{vertical-align:middle;border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-right:5px;display:inline-block}.fm-dot-ok{background:var(--accent)}.fm-dot-error{background:var(--danger)}.fm-dot-fetching{background:var(--warning);animation:1s infinite pulse-dot}.fm-dot-idle{background:var(--text-muted)}.fm-dot-disabled{background:var(--border-strong)}.fm-last-fetch{font-family:var(--font-mono);color:var(--text-muted);font-size:10px}.fm-count{font-family:var(--font-mono);text-align:right;font-size:11px}.fm-color-swatch{appearance:none;border:1px solid var(--border-default);cursor:pointer;background:0 0;border-radius:3px;width:20px;height:20px;margin:0 auto;padding:0;display:block}.fm-color-swatch::-webkit-color-swatch-wrapper{border-radius:2px;padding:0}.fm-color-swatch::-webkit-color-swatch{border:none;border-radius:2px}.fm-add-row td{background:var(--bg-tertiary);padding:6px 8px}.fm-add-row input{font-size:11px}.fm-footer{border-top:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;display:flex}.fm-footer-hint{color:var(--text-muted);font-size:10px}#app.news-panel-open{grid-template-columns:var(--sidebar-width) 1fr 340px;grid-template-areas:"header header header""sidebar viewer news-panel""timeline timeline timeline"}.news-panel{background:var(--bg-secondary);border-left:1px solid var(--border-subtle);flex-direction:column;grid-area:news-panel;width:340px;min-height:0;display:none;overflow:hidden}.news-panel.open{display:flex}.news-panel-header{border-bottom:1px solid var(--border-subtle);background:var(--bg-tertiary);flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.news-panel-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);font-size:11px;font-weight:600}.news-filters{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;flex-shrink:0;gap:4px;padding:6px 8px;display:flex}.news-filter-btn{font-family:var(--font-mono);border:1px solid var(--border-default);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast);white-space:nowrap;border-radius:3px;padding:2px 8px;font-size:10px}.news-filter-btn:hover{background:var(--bg-hover)}.news-filter-btn.active{background:var(--bg-active);color:var(--text-primary);border-color:var(--border-strong)}.news-cards{flex-direction:column;flex:1;gap:5px;padding:6px;display:flex;overflow-y:auto}.news-empty{text-align:center;color:var(--text-muted);padding:24px 12px;font-size:12px}.news-card{background:var(--bg-tertiary);border:1px solid var(--border-subtle);transition:border-color var(--transition-fast);border-radius:4px;flex-shrink:0;overflow:hidden}.news-card:hover{border-color:var(--border-default)}.news-card.expanded{border-color:var(--border-strong)}.news-card-header{cursor:pointer;-webkit-user-select:none;user-select:none;padding:7px 9px}.news-card-meta{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.news-source{font-family:var(--font-mono);letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;max-width:160px;font-size:10px;font-weight:600;overflow:hidden}.news-time{font-family:var(--font-mono);color:var(--text-muted);white-space:nowrap;flex-shrink:0;font-size:10px}.news-card-title{color:var(--text-primary);margin-bottom:5px;font-size:12px;line-height:1.4}.news-card-footer{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.news-geo-badge{color:var(--accent);cursor:pointer;white-space:nowrap;font-size:10px;font-family:var(--font-mono);border:1px solid var(--accent-dim);transition:background var(--transition-fast);border-radius:3px;padding:1px 4px}.news-geo-badge:hover{background:var(--accent-glow)}.news-geo-pending{color:var(--text-muted);font-size:11px;animation:1.2s linear infinite news-spin;display:inline-block}@keyframes news-spin{to{transform:rotate(360deg)}}.news-author{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:100px;font-size:10px;font-style:italic;overflow:hidden}.news-expand-hint{color:var(--text-muted);margin-left:auto;font-size:10px}.news-card-body{border-top:1px solid var(--border-subtle);padding:8px 9px}.news-thumb{object-fit:cover;border-radius:3px;width:100%;max-height:140px;margin-bottom:7px;display:block}.news-card-content{color:var(--text-secondary);word-break:break-word;max-height:220px;font-size:12px;line-height:1.55;overflow-y:auto}.news-card-content p{margin:0 0 6px}.news-card-content a{color:var(--info);text-decoration:none}.news-card-content a:hover{text-decoration:underline}.news-card-content img{border-radius:2px;max-width:100%}.news-card-content ul,.news-card-content ol{margin:4px 0;padding-left:16px}.news-card-content li{margin-bottom:2px}.news-card-content h1,.news-card-content h2,.news-card-content h3{color:var(--text-primary);margin:6px 0 2px;font-size:12px;font-weight:600}.news-read-more{color:var(--info);font-size:11px;font-family:var(--font-mono);margin-top:8px;text-decoration:none;display:inline-block}.news-read-more:hover{text-decoration:underline}#btn-toggle-news.active{color:var(--accent);border-color:var(--accent-dim);background:var(--accent-glow)}.news-timeline-btn,.news-add-event-btn{border:1px solid var(--border-default);background:var(--bg-elevated);color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast);border-radius:3px;padding:1px 4px;font-size:11px;line-height:1.4}.news-timeline-btn:hover{color:var(--warning);background:var(--warning-dim);border-color:#f59e0b66}.news-add-event-btn:hover{color:var(--accent);border-color:var(--accent-dim);background:var(--accent-glow)}.news-dedup-badge{color:#a855f7;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);background:#a855f714;border:1px solid #a855f766;border-radius:3px;padding:1px 5px;font-size:10px;line-height:1.4}.news-dedup-badge:hover{color:#c084fc;background:#a855f72e}.news-cluster-expansion{background:#a855f70d;border:1px solid #a855f740;border-radius:4px;margin-top:8px;padding:8px}.news-cluster-header{color:#a855f7;letter-spacing:.5px;text-transform:uppercase;margin-bottom:6px;font-size:10px;font-weight:600}.news-cluster-item{border-top:1px solid #a855f71f;padding:5px 0}.news-cluster-item:first-child{border-top:none}button.btn.active{background:var(--accent-glow);color:var(--accent);border-color:var(--accent-dim)}.news-time-badge{font-family:var(--font-mono);color:var(--warning);background:var(--warning-dim);white-space:nowrap;border:1px solid #f59e0b4d;border-radius:3px;padding:1px 5px;font-size:10px}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}
