/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@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-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-pan-x:initial;--tw-pan-y:initial;--tw-pinch-zoom:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--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}}}@layer theme{:root,:host{--color-zinc-100:oklch(96.7% .001 286.375);--color-zinc-500:oklch(55.2% .016 285.938);--color-zinc-900:oklch(21% .006 285.885);--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-medium:500;--font-weight-bold:700;--leading-tight:1.25;--radius-lg:.5rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--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);--blur-md:12px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--chart-line-primary:var(----chart-line-primary);--chart-line-secondary:var(----chart-line-secondary);--chart-brush-border:var(----chart-brush-border)}}@layer base,components;@layer utilities{.\@container\/chart-center{container:chart-center/inline-size}.\@container{container-type:inline-size}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.not-sr-only{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.isolate{isolation:isolate}.isolation-auto{isolation:auto}.z-50{z-index:50}.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-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.list-item{display:list-item}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row{display:table-row}.table-row-group{display:table-row-group}.aspect-square{aspect-ratio:1}.size-full{width:100%;height:100%}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-6{height:calc(var(--spacing) * 6)}.h-12{height:calc(var(--spacing) * 12)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-12{width:calc(var(--spacing) * 12)}.w-full{width:100%}.max-w-full{max-width:100%}.min-w-0{min-width:0}.min-w-\[140px\]{min-width:140px}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.translate-none{translate:none}.scale-3d{scale:var(--tw-scale-x) var(--tw-scale-y) var(--tw-scale-z)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.touch-pinch-zoom{--tw-pinch-zoom:pinch-zoom;touch-action:var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,)}.resize{resize:both}.flex-col{flex-direction:column}.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}.gap-1{gap:var(--spacing)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-reverse>:not(:last-child)){--tw-space-y-reverse:1}:where(.space-x-reverse>:not(:last-child)){--tw-space-x-reverse:1}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-y-reverse>:not(:last-child)){--tw-divide-y-reverse:1}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-s{border-start-start-radius:.25rem;border-end-start-radius:.25rem}.rounded-ss{border-start-start-radius:.25rem}.rounded-e{border-start-end-radius:.25rem;border-end-end-radius:.25rem}.rounded-se{border-start-end-radius:.25rem}.rounded-ee{border-end-end-radius:.25rem}.rounded-es{border-end-start-radius:.25rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-tl{border-top-left-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-tr{border-top-right-radius:.25rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-br{border-bottom-right-radius:.25rem}.rounded-bl{border-bottom-left-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-bs{border-block-start-style:var(--tw-border-style);border-block-start-width:1px}.border-be{border-block-end-style:var(--tw-border-style);border-block-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.bg-chart-tooltip-background{background-color:var(----chart-tooltip-background)}.bg-zinc-900{background-color:var(--color-zinc-900)}.bg-repeat{background-repeat:repeat}.mask-no-clip{-webkit-mask-clip:no-clip;mask-clip:no-clip}.mask-repeat{-webkit-mask-repeat:repeat;mask-repeat:repeat}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-1{padding-block:var(--spacing)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.pr-2{padding-right:calc(var(--spacing) * 2)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[clamp\(0\.75rem\,22cqw\,1\.875rem\)\]{font-size:clamp(.75rem,22cqw,1.875rem)}.text-\[clamp\(0\.625rem\,9cqw\,0\.75rem\)\]{font-size:clamp(.625rem,9cqw,.75rem)}.leading-none{--tw-leading:1;line-height:1}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.text-wrap{text-wrap:wrap}.text-clip{text-overflow:clip}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.text-chart-label{color:var(----chart-label)}.text-chart-tooltip-foreground{color:var(----chart-tooltip-foreground)}.text-chart-tooltip-muted{color:var(----chart-tooltip-muted)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.diagonal-fractions{--tw-numeric-fraction:diagonal-fractions;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.lining-nums{--tw-numeric-figure:lining-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.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,)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.slashed-zero{--tw-slashed-zero:slashed-zero;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.stacked-fractions{--tw-numeric-fraction:stacked-fractions;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.normal-nums{font-variant-numeric:normal}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.shadow{--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)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px 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)}.inset-ring{--tw-inset-ring-shadow:inset 0 0 0 1px var(--tw-inset-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)}.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,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);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,)}.invert{--tw-invert:invert(100%);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-blur{--tw-backdrop-blur:blur(8px);-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,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-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,)}.backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%);-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,)}.backdrop-invert{--tw-backdrop-invert:invert(100%);-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,)}.backdrop-sepia{--tw-backdrop-sepia:sepia(100%);-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,)}.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\!{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!important;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))!important;transition-duration:var(--tw-duration,var(--default-transition-duration))!important}.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))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.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)}:where(.divide-x-reverse>:not(:last-child)){--tw-divide-x-reverse:1}.ring-inset{--tw-ring-inset:inset}@media (hover:hover){.hover\:opacity-100:hover{opacity:1}}.dark\:bg-zinc-100:is(.dark *){background-color:var(--color-zinc-100)}.dark\:text-zinc-900:is(.dark *){color:var(--color-zinc-900)}}:root{--chart-1:oklch(32% 0 none);--chart-2:oklch(41% 0 none);--chart-3:oklch(54% 0 none);--chart-4:oklch(71% 0 none);--chart-5:oklch(89% 0 none);--chart-background:oklch(100% 0 0);--chart-foreground:oklch(14.5% .004 285);--chart-foreground-muted:oklch(55% .014 260);--chart-line-primary:var(--chart-1);--chart-line-secondary:var(--chart-2);--chart-crosshair:oklch(40% .1828 274.34);--chart-grid:oklch(90% 0 0);--chart-brush-border:var(--chart-grid);--chart-tooltip-background:oklch(21% .006 285/.8);--chart-tooltip-foreground:oklch(98.5% 0 0);--chart-tooltip-muted:oklch(65% .01 260);--chart-marker-background:oklch(97% .005 260);--chart-marker-border:oklch(85% .01 260);--chart-marker-foreground:oklch(30% .01 260);--chart-label:oklch(45% .01 260);--chart-scale-01:oklch(98% .003 106);--chart-scale-02:oklch(92% .008 106);--chart-scale-03:oklch(82% .015 106);--chart-scale-04:oklch(68% .02 106);--chart-scale-05:oklch(55% .025 106);--chart-scale-pattern-color:oklch(96% .005 106)}.dark{--chart-1:oklch(100% 0 none);--chart-2:oklch(73% 0 none);--chart-3:oklch(51% 0 none);--chart-4:oklch(39% 0 none);--chart-5:oklch(32% 0 none);--chart-background:oklch(14.5% 0 0);--chart-foreground:oklch(45% 0 0);--chart-foreground-muted:oklch(65% .01 260);--chart-crosshair:oklch(45% 0 0);--chart-grid:oklch(25% 0 0);--chart-brush-border:var(--chart-grid);--chart-marker-background:oklch(25% .01 260);--chart-marker-border:oklch(40% .01 260);--chart-marker-foreground:oklch(90% 0 0);--chart-label:oklch(75% .01 260);--chart-scale-01:oklch(28% .03 270);--chart-scale-02:oklch(38% .04 270);--chart-scale-03:oklch(48% .05 270);--chart-scale-04:oklch(58% .06 270);--chart-scale-05:oklch(68% .07 270);--chart-scale-pattern-color:oklch(14.5% 0 0)}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@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-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@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}:root{--bg: #f6f7f9;--bg-grad-1: rgba(234, 88, 12, .045);--bg-grad-2: rgba(13, 148, 136, .03);--sidebar: #ffffff;--surface: #ffffff;--surface-2: #f1f5f9;--surface-3: #e8edf3;--border: #e6eaf0;--border-soft: #eef1f6;--line: #e6eaf0;--hair: rgba(15, 23, 42, .06);--text: #0f172a;--text-1: #0f172a;--text-2: #475569;--text-dim: #64748b;--muted: var(--text-2);--accent: #c2410c;--accent-2: #ea580c;--accent-soft: rgba(194, 65, 12, .09);--brand: var(--accent);--brand-tint: var(--accent-soft);--teal: #0d9488;--violet: #7c3aed;--amber: #d97706;--pink: #db2777;--lime: #16a34a;--cyan: #0891b2;--track: #eef1f6;--danger: #e5484d;--focus: #c2410c;--sev-critical: #dc2626;--sev-high: #f97316;--sev-medium: #eab308;--sev-low: #16a34a;--warn: var(--sev-high);--crit: var(--sev-critical);--tac-c2: #1f6feb;--tac-exfil: #0a4ea3;--tac-lateral: #f5cd19;--tac-discovery: #54b399;--tac-initial: #79aeff;--tac-cred: #9170b8;--tac-defense: #d6bf57;--tac-other: #98a2b3;--input-bg: #ffffff;--chip-bg: rgba(15, 23, 42, .05);--code-bg: #f1f5f9;--chip-strong: rgba(15, 23, 42, .09);--glass: rgba(255, 255, 255, .82);--scrim: rgba(15, 23, 42, .38);--sidebar-top: #ffffff;--nav-active-bg: rgba(194, 65, 12, .1);--nav-active-text: var(--accent);--on-accent: #ffffff;--logo-inset: #ffffff;--logo-inset-bg: rgba(255, 255, 255, .45);--ok: #15803d;--bad: #b91c1c;--banner-error-text: #b91c1c;--ring: rgba(194, 65, 12, .38);--r: 14px;--r-sm: 11px;--r-xs: 7px;--font: "JetBrains Mono", "Cascadia Code", "SFMono-Regular", "Roboto Mono", "DejaVu Sans Mono", Consolas, ui-monospace, "Inter Variable", monospace;--mono: "SFMono-Regular", "Cascadia Code", "JetBrains Mono", Consolas, monospace;--shadow: 0 0 0 1px rgba(15, 23, 42, .04), 0 1px 2px rgba(15, 23, 42, .05), 0 18px 40px -22px rgba(15, 23, 42, .18);--shadow-sm: 0 0 0 1px rgba(15, 23, 42, .03), 0 1px 2px rgba(15, 23, 42, .06);--sidebar-w: 312px;--content-max: 1720px}:root[data-theme=dark]{--bg: #12161c;--bg-grad-1: rgba(232, 130, 30, .04);--bg-grad-2: rgba(45, 212, 191, .03);--sidebar: #0e1116;--surface: #1a1e25;--surface-2: #1f2530;--surface-3: #262d39;--border: #2b313b;--border-soft: #222831;--line: #2b313b;--tac-c2: #e8821e;--tac-exfil: #e24b4a;--tac-lateral: #4ade80;--tac-discovery: #2dd4bf;--tac-initial: #a78bfa;--tac-cred: #60a5fa;--tac-defense: #f59e0b;--tac-other: #8b929c;--hair: rgba(255, 255, 255, .05);--text: #e6eaf0;--text-1: #e6eaf0;--text-2: #c7ccd4;--text-dim: #8b929c;--muted: var(--text-2);--accent: #e8821e;--accent-2: #2dd4bf;--teal: #2dd4bf;--violet: #a78bfa;--amber: #f59e0b;--pink: #f472b6;--lime: #4ade80;--cyan: #22d3ee;--track: #222831;--danger: #e24b4a;--focus: #e8821e;--sev-critical: #e24b4a;--sev-high: #e8821e;--sev-medium: #d8a01e;--sev-low: #4ade80;--input-bg: #12161c;--chip-bg: rgba(255, 255, 255, .05);--code-bg: rgba(0, 0, 0, .3);--chip-strong: rgba(0, 0, 0, .28);--glass: rgba(14, 17, 22, .85);--scrim: rgba(4, 6, 9, .66);--sidebar-top: #0e1116;--nav-active-bg: rgba(232, 130, 30, .14);--nav-active-text: #e8821e;--on-accent: #1a1205;--logo-inset: rgba(10, 12, 16, .9);--logo-inset-bg: rgba(10, 12, 16, .35);--ok: #4ade80;--bad: #f87171;--banner-error-text: #fca5a5;--ring: rgba(232, 130, 30, .4);--glow: 0 0 0 0 transparent;--shadow: 0 24px 60px -28px rgba(0, 0, 0, .85);--shadow-sm: 0 10px 28px -18px rgba(0, 0, 0, .75)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:13.5px;line-height:1.5;letter-spacing:-.06px;font-feature-settings:"cv05" 1,"cv08" 1,"cv11" 1,"ss03" 1,"calt" 1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.tile-value,.donut-total,.legend-val,.barlist-value,.talkers .strong,.crit-count,.mag-label,.clock,.count,.refresh-countdown strong,.alert-table td,.abuse,.axis-max,.dd-json,.mono{font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:6px}.icon-btn:focus-visible,.nav-item:focus-visible,.search-clear:focus-visible,a:focus-visible,[role=button]:focus-visible,tr[tabindex]:focus-visible{outline:none;box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--focus)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.mono{font-family:var(--mono);font-size:.94em}.muted{color:var(--text-dim)}.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}.small{font-size:12px}button{font-family:inherit}.auth-shell{min-height:100%;display:grid;grid-template-columns:1.1fr 1fr;background:var(--bg)}.auth-hero{position:relative;overflow:hidden;display:flex;align-items:center;padding:56px;color:var(--text);background:linear-gradient(150deg,var(--surface-2),var(--surface));border-right:1px solid var(--border)}.auth-hero-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--hair) 1px,transparent 1px),linear-gradient(90deg,var(--hair) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(90% 80% at 30% 20%,#000 30%,transparent 80%);mask-image:radial-gradient(90% 80% at 30% 20%,#000 30%,transparent 80%);opacity:.5}.auth-hero-glow{position:absolute;width:560px;height:560px;left:-160px;top:-140px;border-radius:50%;background:radial-gradient(circle,var(--accent),transparent 68%);filter:blur(100px);opacity:.12}.auth-hero-body{position:relative;max-width:420px}.auth-hero-lead{margin:28px 0 24px;font-size:26px;font-weight:650;line-height:1.28;letter-spacing:-.01em}.auth-hero-points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;color:var(--text-2);font-size:14px}.auth-hero-points li{position:relative;padding-left:24px}.auth-hero-points li:before{content:"";position:absolute;left:0;top:9px;width:14px;height:2px;border-radius:2px;background:var(--accent)}.auth-panel{display:grid;place-items:center;padding:24px}.auth-card{width:min(372px,100%);padding:36px 32px;display:flex;flex-direction:column;gap:16px;background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow),0 0 0 1px var(--hair) inset;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.auth-title{font-size:22px;font-weight:720;margin:0;letter-spacing:-.01em}.auth-brand{display:flex;align-items:center;gap:14px}.auth-tagline{margin:-8px 0 8px;color:var(--text-dim);font-size:13px}@media (max-width: 900px){.auth-shell{grid-template-columns:1fr}.auth-hero{display:none}}.field{display:flex;flex-direction:column;gap:6px}.field>span{color:var(--text-2);font-size:12px}.field input{background:var(--input-bg);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text);padding:12px 14px;font-size:14px;transition:border-color .15s,box-shadow .15s}.field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}.brand-mark{width:34px;height:34px;border-radius:10px;flex:none;background:conic-gradient(from 200deg,var(--accent),var(--accent-2),var(--accent));box-shadow:0 0 0 1px var(--hair) inset,0 6px 18px -6px color-mix(in srgb,var(--accent) 60%,transparent);position:relative}.brand-mark:after{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:2px solid var(--logo-inset);border-radius:5px;background:var(--logo-inset-bg)}.brand-mark-lg{width:48px;height:48px;border-radius:14px}.brand-mark-lg:after{top:12px;right:12px;bottom:12px;left:12px}.brand-text{display:flex;flex-direction:column;line-height:1.15}.brand-name{font-size:17px;font-weight:750;margin:0;letter-spacing:.2px}.brand-sub{color:var(--text-dim);font-size:11.5px;margin:0}.brand{display:flex;align-items:center;gap:12px}.brand-tagline:empty{display:none}.brand-tagline{letter-spacing:.1px}.side-brand>svg,.side-brand>.brand-logo{flex-shrink:0}.side-brand .brand-text{min-width:0}.side-tagline{display:block;line-height:1.3;margin-top:2px;white-space:nowrap}.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));border:none;color:var(--on-accent);font-weight:600;width:auto;padding:9px 18px;font-size:13px;border-radius:var(--r-sm);cursor:pointer;box-shadow:0 4px 12px -7px color-mix(in srgb,var(--accent) 60%,transparent);transition:filter .15s,transform .06s}.btn-primary:active{transform:translateY(1px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-block{width:100%}.btn-primary,.btn-ghost,.btn-back,.btn-copy,.btn-danger,.btn-export,.btn-pcap,.btn-sm,.th-win,.span-tab{transition:filter .15s,background .15s,border-color .15s,color .15s,box-shadow .15s,transform .06s}button:focus-visible,.btn-primary:focus-visible,.btn-ghost:focus-visible,.btn-back:focus-visible,.btn-copy:focus-visible,.btn-danger:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ring, rgba(31, 111, 235, .35))}.btn-primary:active,.btn-ghost:active,.btn-back:active,.btn-copy:active,.btn-danger:active,.btn-export:active,.th-win:active,.span-tab:active{transform:translateY(1px)}.icon-btn{display:grid;place-items:center;width:36px;height:36px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;color:var(--text-2);cursor:pointer;transition:color .15s,border-color .15s,background .15s}.icon-btn:hover{color:var(--text);border-color:var(--accent);background:var(--surface-3)}.app{min-height:100%;display:grid;grid-template-columns:var(--sidebar-w) 1fr}.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column;background:linear-gradient(180deg,var(--sidebar-top),var(--sidebar));border-right:1px solid var(--border);padding:18px 14px}.side-brand{display:flex;align-items:center;gap:12px;padding:6px 8px 18px}.nav-section{display:block;padding:8px 12px;font-size:10.5px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--text-dim)}.side-nav{display:flex;flex-direction:column;gap:3px;flex:1}.nav-item{position:relative;display:flex;align-items:center;gap:11px;width:100%;padding:10px 12px;border:none;background:transparent;color:var(--text-2);font-size:13.5px;font-weight:500;border-radius:10px;cursor:pointer;text-align:left;transition:background .15s,color .15s}.nav-item:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.nav-item.active{background:var(--nav-active-bg);color:var(--nav-active-text);font-weight:600}.nav-item.active .nav-ico{color:var(--accent)}.nav-active-bar{display:none}.nav-ico{width:18px;height:18px;color:var(--text-dim);flex:none}.nav-item.soon{opacity:.5;cursor:default}.soon-tag{margin-left:auto;font-size:9.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--text-dim);border:1px solid var(--border);border-radius:6px;padding:1px 6px}.side-foot{margin-top:auto;padding-top:12px}.health{display:flex;align-items:center;gap:10px;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:12px}.health-dot{width:9px;height:9px;border-radius:50%;background:var(--sev-low);box-shadow:0 0 10px var(--sev-low);flex:none;animation:pulse 2s infinite}.health-dot.warn{background:var(--amber);box-shadow:0 0 10px var(--amber);animation:none}.health-title{font-size:12.5px;font-weight:600}.health-sub{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-dim)}.ico-xs{width:12px;height:12px}.main{min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 22px;height:64px;background:var(--topbar-bg, var(--glass));border-bottom:1px solid var(--border)}.search{display:flex;align-items:center;gap:9px;flex:0 1 420px;min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:11px;padding:0 12px;height:38px;color:var(--text-dim)}.search-ico{width:16px;height:16px;flex:none}.search input{flex:1;min-width:0;background:transparent;border:none;outline:none;color:var(--text);font-size:13px}.search input::placeholder{color:var(--text-dim)}.search input:focus-visible{box-shadow:none;outline:none}.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}.search.filled{border-color:var(--accent)}.search-clear{background:transparent;border:none;color:var(--text-dim);cursor:pointer;font-size:13px;padding:0 2px;line-height:1}.search-clear:hover{color:var(--text)}.search kbd{font-family:var(--mono);font-size:11px;color:var(--text-dim);border:1px solid var(--border);border-radius:5px;padding:1px 6px;background:var(--bg)}.topbar-right{display:flex;align-items:center;gap:12px;flex:none}@media (max-width: 1100px){.topbar .clock,.topbar .user-meta{display:none}}@media (max-width: 900px){.topbar .refresh-countdown{display:none}.topbar{padding-inline:16px;gap:10px}}@media (max-width: 560px){.topbar .live{font-size:0;padding:4px 6px;gap:0}.topbar .live .live-dot{width:8px;height:8px}.topbar-right{gap:6px}}.clock{font-family:var(--mono);font-size:13px;color:var(--text-2);font-variant-numeric:tabular-nums}.live{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.6px;color:var(--text-dim);border:1px solid var(--border)}.live.on{color:var(--sev-low);border-color:#2fd6a259;background:#2fd6a214}.live-dot{width:7px;height:7px;border-radius:50%;background:currentColor}.live.on .live-dot{animation:pulse 1.6s infinite}@keyframes pulse{0%{box-shadow:0 0 #2fd6a28c}70%{box-shadow:0 0 0 7px #2fd6a200}to{box-shadow:0 0 #2fd6a200}}.user-chip{display:flex;align-items:center;gap:9px;padding-left:4px}.avatar{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:12px;font-weight:700;color:var(--on-accent);background:linear-gradient(135deg,var(--accent-2),var(--accent))}.user-meta{display:flex;flex-direction:column;line-height:1.15}.user-name{font-size:13px;font-weight:600}.user-role{font-size:11px;color:var(--text-dim)}.content{flex:1;padding:24px 28px 34px;background:radial-gradient(900px 380px at 100% -12%,var(--bg-grad-1),transparent 62%),radial-gradient(700px 320px at -5% 0%,var(--bg-grad-2),transparent 60%);animation:fade .4s ease}@keyframes fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.page-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:20px}.page-title{margin:0;font-size:24px;font-weight:800;letter-spacing:-.6px}.page-sub{margin:4px 0 0;color:var(--text-dim);font-size:13px}.tiles{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(212px,1fr));margin-bottom:16px}.tiles>*{animation:fade .28s ease-out both}.tiles>*:nth-child(2){animation-delay:.05s}.tiles>*:nth-child(3){animation-delay:.1s}.tiles>*:nth-child(4){animation-delay:.15s}.tiles>*:nth-child(5){animation-delay:.2s}.tiles>*:nth-child(6){animation-delay:.25s}.rise{animation:fade .32s ease-out both}.tile{position:relative;overflow:hidden;padding:18px 20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);box-shadow:var(--shadow-sm);transition:transform .18s,border-color .18s,box-shadow .18s}.tile:hover{transform:translateY(-3px);border-color:var(--tile-accent);box-shadow:var(--shadow)}.tile:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--tile-accent)}.tile:after{content:"";position:absolute;right:-40px;top:-40px;width:140px;height:140px;background:radial-gradient(circle,var(--tile-accent),transparent 70%);opacity:.07}.tile-top{display:flex;align-items:center;gap:8px;margin-bottom:9px}.tile-ico{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;color:var(--tile-accent);background:color-mix(in srgb,var(--tile-accent) 15%,transparent)}.tile-label{color:var(--text-dim);font-size:11px;font-weight:600;letter-spacing:.7px;text-transform:uppercase}.tile-value{font-size:29px;font-weight:800;line-height:1.05;letter-spacing:-.8px;font-variant-numeric:tabular-nums}.tile-hint{margin-top:4px;color:var(--text-dim);font-size:11.5px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);padding:18px 20px;margin-bottom:16px;min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:13px}.panel-title{margin:0;font-size:12px;font-weight:700;color:var(--text);letter-spacing:.4px;text-transform:uppercase}.panel-meta{font-size:10.5px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.6px}.count{color:var(--text-dim);font-size:12.5px}.panel-head-right{display:inline-flex;align-items:center;gap:10px}.fp-toggle{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none}.fp-toggle input{cursor:pointer;accent-color:var(--accent)}.fp-toggle:hover{color:var(--text)}.new-pill{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-size:11.5px;font-weight:700;letter-spacing:.3px;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:999px;padding:3px 11px;font-family:inherit;animation:rowin .3s ease}.new-pill:hover{background:color-mix(in srgb,var(--accent) 20%,transparent);border-color:var(--accent)}.pip{width:8px;height:8px;border-radius:50%;background:var(--text-dim)}.pip.on{background:var(--sev-low);box-shadow:0 0 10px var(--sev-low);animation:pulse 1.6s infinite}.grid-2{display:grid;gap:12px;grid-template-columns:1.55fr 1fr;align-items:start}.grid-3{display:grid;gap:12px;grid-template-columns:repeat(3,1fr);align-items:stretch}.tiles>.panel,.sec-lean>.panel,.map-row .panel,.grid-2>.panel,.grid-3>.panel{margin-bottom:0}.grid-2,.grid-3{margin-bottom:16px}.areachart{width:100%;height:100%;min-height:168px;display:block}.panel.grow{display:flex;flex-direction:column}.panel.grow .panel-body{flex:1;display:flex;min-height:168px}.grid-line{stroke:var(--hair);stroke-width:1;stroke-dasharray:2 4}.axis-max{fill:var(--text-dim);font-size:10px;font-family:var(--mono);letter-spacing:.4px;text-transform:uppercase}.area-head{filter:drop-shadow(0 0 7px var(--accent-2))}.donut{display:flex;align-items:center;gap:22px;flex-wrap:wrap;justify-content:center;height:100%}.donut svg{filter:drop-shadow(0 4px 14px rgba(15,23,42,.14))}.donut-seg{transition:stroke-dashoffset .7s ease,stroke-dasharray .7s ease}.donut-total{fill:var(--text);font-size:24px;font-weight:800;font-family:var(--font);letter-spacing:-.8px}.donut-sub{fill:var(--text-dim);font-size:9.5px;text-transform:uppercase;letter-spacing:1.4px}.donut-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;font-size:12.5px;min-width:0;max-width:100%}.donut-legend li{display:flex;align-items:center;gap:9px;min-width:148px;color:var(--text-2)}.donut-legend .legend-lab{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.donut-legend .dot{width:9px;height:9px;border-radius:3px;box-shadow:0 0 8px -1px currentColor}.legend-val{flex:none;margin-left:auto;display:inline-flex;align-items:baseline;gap:7px;color:var(--text);font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}.legend-pct{color:var(--text-dim);font-size:11px;font-weight:600;min-width:30px;text-align:right}.barlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.barlist li{display:grid;grid-template-columns:1fr 84px 28px;align-items:center;gap:11px;font-size:13px}.barlist-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-2)}.barlist-track{height:7px;background:var(--track);border-radius:999px;overflow:hidden}.barlist-fill{display:block;height:100%;border-radius:999px;animation:grow .7s ease}@keyframes grow{0%{transform:scaleX(0);transform-origin:left}}.barlist-value{color:var(--text-dim);font-variant-numeric:tabular-nums;text-align:right}.feed{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.feed-item{display:flex;align-items:center;gap:11px;padding:9px 4px;border-bottom:1px solid var(--hair);animation:rowin .3s ease}.feed-item:last-child{border-bottom:none}.feed-dot{width:8px;height:8px;border-radius:50%;flex:none}.feed-body{display:flex;flex-direction:column;gap:2px;min-width:0}.feed-sig{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.feed-meta{font-size:11px;color:var(--text-dim)}.feed-time{margin-left:auto;font-size:11px;color:var(--text-dim);font-variant-numeric:tabular-nums}.banner{border-radius:var(--r-sm);padding:12px 14px;font-size:13px;margin:0 0 16px}.banner-error{background:#dc262614;border:1px solid var(--danger);color:var(--banner-error-text)}.state{display:flex;flex-direction:column;align-items:center;gap:11px;padding:64px 16px;color:var(--text-dim)}.state-empty strong{color:var(--text);font-size:16px}.spinner{width:26px;height:26px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin .6s linear;transform-origin:center}.table-wrap{overflow:auto;min-width:0;border-radius:var(--r-sm);border:1px solid var(--border-soft)}.alert-table{width:100%;border-collapse:collapse;font-size:13px}.alert-table th,.alert-table td{text-align:left;padding:11px 16px;border-bottom:1px solid var(--hair);white-space:nowrap}.alert-table thead th{position:sticky;top:0;background:var(--surface-2);color:var(--text-dim);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.alert-table tbody tr:last-child td{border-bottom:none}.th-sort{display:inline-flex;align-items:center;gap:5px;background:none;border:none;color:inherit;font:inherit;font-weight:600;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;padding:0;transition:color .12s}.th-sort:hover{color:var(--text-2)}.th-sort.on{color:var(--text)}.th-caret{font-size:9px;color:var(--text-dim)}.th-sort.on .th-caret{color:var(--accent)}.alert-table.virt td{height:41px;white-space:nowrap}.alert-table.virt .virt-pad td{height:auto}.alert-row{transition:background .12s;animation:rowin .32s ease}.alert-table.virt .alert-row{animation:none}@keyframes rowin{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}.alert-row:hover{background:var(--surface-2)}.alert-table .sig{display:flex;align-items:center;gap:6px;min-width:280px;max-width:380px;color:var(--text)}.alert-table .sig-text{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alert-table .sig .tag-pii,.alert-table .sig .tag-ioc,.alert-table .sig .tag-abuse{flex:none}.alert-table .rel{color:var(--text-dim);font-size:11px;margin-left:8px}.geo-pill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;background:var(--track);border:1px solid var(--hair);color:var(--text-2)}.alert-op{max-width:230px}.alert-op>span{display:flex;align-items:baseline;gap:5px;min-width:0;max-width:230px;overflow:hidden}.alert-op-dir{color:var(--accent);font-weight:600;flex:0 0 auto}.alert-op .mono.small{flex:0 0 auto}.alert-op-org{color:var(--text-2);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.endpoint{display:inline-flex;align-items:center;gap:7px}.endpoint-id{display:inline-flex;flex-direction:column;line-height:1.2;min-width:0}.endpoint-host{font-size:10.5px;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:160px}.ip-tag{font-size:9.5px;font-weight:700;letter-spacing:.4px;padding:1px 5px;border-radius:5px;border:1px solid transparent}.ip-tag.internal{color:var(--teal);background:#2dd4bf1a;border-color:#2dd4bf4d}.ip-tag.external{color:var(--amber);background:#ffb84d1a;border-color:#ffb84d52}.tag-pii,.tag-ioc,.tag-abuse{margin-left:8px;font-size:9.5px;font-weight:700;letter-spacing:.4px;padding:1px 6px;border-radius:5px;border:1px solid transparent;vertical-align:middle}.tag-pii{color:var(--violet);background:#a78bfa1f;border-color:#a78bfa59}.tag-ioc{color:var(--sev-critical);background:#fa4d561f;border-color:#fa4d5659}.tag-abuse{color:var(--amber);background:#ff9f431f;border-color:#ff9f4359}.abuse{font-weight:700;font-variant-numeric:tabular-nums}.abuse-low{color:var(--sev-low)}.abuse-med{color:var(--amber)}.abuse-high{color:var(--sev-critical)}.ellipsis{max-width:240px;overflow:hidden;text-overflow:ellipsis}.alert-row.clickable{cursor:pointer}.dd-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;justify-content:flex-end;background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fade .2s ease}.dd-panel{width:50vw;min-width:520px;max-width:96vw;height:100%;display:flex;flex-direction:column;background:var(--surface);border-left:1px solid var(--border);box-shadow:-20px 0 50px -20px #0009;animation:slidein .22s ease}@media (max-width: 900px){.dd-panel{width:100vw;min-width:0;max-width:100vw}}@keyframes slidein{0%{transform:translate(24px);opacity:.6}to{transform:none;opacity:1}}.dd-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid var(--border)}.dd-head-main{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.dd-head-main h3{margin:0;font-size:15px;font-weight:650}.dd-close{background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);width:30px;height:30px;border-radius:8px;cursor:pointer;flex:none}.dd-verdict{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 20px;border-bottom:1px solid var(--border);background:var(--surface-2, rgba(127,127,127,.05))}.dd-verdict-label{font-size:12px;color:var(--text-2)}.dd-vbtn{font-size:12px;font-weight:600;padding:5px 10px;border-radius:8px;cursor:pointer;border:1px solid var(--border);background:transparent;color:var(--text-2)}.dd-vbtn.tp.on{background:var(--ok, #10b981);border-color:var(--ok, #10b981);color:#fff}.dd-vbtn.fp.on{background:var(--warn, #f59e0b);border-color:var(--warn, #f59e0b);color:#fff}.dd-vbtn.btp.on{background:var(--accent);border-color:var(--accent);color:#fff}.dd-vbtn.exp.on{background:var(--text-2);border-color:var(--text-2);color:var(--bg)}.dd-vbtn.unk.on{background:transparent;border-color:var(--text-2);color:var(--text)}.dd-vbtn:disabled{opacity:.55;cursor:default}.dd-verdict-set{font-size:11px;color:var(--text-2);opacity:.8}.dd-verdict-err{font-size:11px;color:var(--sev-critical);font-weight:600}.dd-close:hover{color:var(--text);border-color:var(--accent)}.dd-body{padding:18px 20px;overflow:auto}.dd-section{margin-bottom:20px}.dd-section h4{margin:0 0 10px;font-size:11px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;color:var(--text-dim)}.dd-row{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:6px 0;font-size:13px;border-bottom:1px solid var(--hair)}.dd-row:last-child{border-bottom:none}.dd-key{color:var(--text-dim)}.dd-hint{margin:8px 0 0;color:var(--text-dim);font-size:12px}.fx-reopen{margin:8px 0 0;padding:0;border:0;background:none;font:inherit;font-size:12px;color:var(--accent);text-align:left;cursor:pointer}.fx-reopen:hover{text-decoration:underline}.dd-val{color:var(--text);word-break:break-word;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.dd-raw-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.btn-copy{background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);border-radius:7px;padding:4px 10px;font-size:12px;cursor:pointer}.btn-copy:hover{color:var(--text);border-color:var(--accent)}.dd-json{margin:0;padding:14px;border-radius:var(--r-sm);background:var(--bg);border:1px solid var(--border);font-family:var(--mono);font-size:12px;line-height:1.55;color:var(--text-2);white-space:pre-wrap;word-break:break-word;max-height:50vh;overflow:auto}.ai-analysis .btn-primary{margin-top:8px}.ai-analysis-body{margin:10px 0 6px;padding:14px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--border);font-family:inherit;font-size:13px;line-height:1.6;color:var(--text);white-space:pre-wrap;word-break:break-word;max-height:55vh;overflow:auto}.inc-ai{padding:16px 18px}.inc-ai .dd-section{border:0;padding:0;margin:0}.badge{display:inline-block;padding:2px 9px;border-radius:6px;font-size:11px;font-weight:600;border:1px solid transparent}.sev-critical{color:var(--sev-critical);background:color-mix(in srgb,var(--sev-critical) 12%,transparent);border-color:color-mix(in srgb,var(--sev-critical) 30%,transparent)}.sev-high{color:var(--sev-high);background:color-mix(in srgb,var(--sev-high) 12%,transparent);border-color:color-mix(in srgb,var(--sev-high) 30%,transparent)}.sev-medium{color:var(--sev-medium);background:color-mix(in srgb,var(--sev-medium) 15%,transparent);border-color:color-mix(in srgb,var(--sev-medium) 32%,transparent)}.sev-low{color:var(--sev-low);background:color-mix(in srgb,var(--sev-low) 12%,transparent);border-color:color-mix(in srgb,var(--sev-low) 30%,transparent)}.tile-bar{margin-top:12px;height:5px;background:var(--track);border-radius:999px;overflow:hidden}.tile-bar-fill{display:block;height:100%;border-radius:999px;animation:grow .7s ease}.refresh-countdown{font-size:12px;color:var(--text-dim);white-space:nowrap}.refresh-countdown strong{color:var(--text-2);font-family:var(--mono);font-variant-numeric:tabular-nums}.paused-pill{color:var(--amber);border:1px solid rgba(255,159,67,.35);background:#ff9f431a;border-radius:999px;padding:2px 9px;font-weight:600}.talkers{width:100%;border-collapse:collapse;font-size:13px}.talkers th{text-align:left;padding:0 8px 10px;color:var(--text-dim);font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.talkers th.num,.talkers td.num{text-align:right}.talkers td{padding:9px 8px;border-top:1px solid var(--hair);vertical-align:middle}.talkers tr:hover td{background:var(--surface-2)}.talker-id{display:inline-flex;align-items:center;gap:8px}.sev-tick{width:4px;height:18px;border-radius:2px;flex:none}.talkers .strong{font-weight:700;font-variant-numeric:tabular-nums}.crit-count{color:var(--sev-critical);font-weight:700;font-variant-numeric:tabular-nums}.rowspark{display:block}.dfeed{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.dfeed-item{display:flex;align-items:flex-start;gap:12px;padding:9px 4px 9px 12px;border-bottom:1px solid var(--hair);position:relative;animation:rowin .3s ease}.dfeed-item:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:3px;background:var(--sev)}.dfeed-item:last-child{border-bottom:none}.dfeed-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.dfeed-title{min-width:0;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dfeed-meta{font-size:11.5px;color:var(--text-dim);display:flex;align-items:center;gap:5px;flex-wrap:wrap}.dfeed-meta .arrow,.dfeed-geo{color:var(--text-2)}.mag{display:flex;align-items:center;gap:8px;margin-top:2px}.mag-track{flex:1;max-width:160px;height:5px;background:var(--track);border-radius:999px;overflow:hidden}.mag-fill{display:block;height:100%;border-radius:999px}.mag-label{font-size:11px;color:var(--text-dim);font-variant-numeric:tabular-nums}.dfeed-time{font-size:11px;color:var(--text-dim);white-space:nowrap}.inc-dash{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:14px;margin-bottom:14px}.inc-dash>.panel{min-width:0;display:flex;flex-direction:column}.inc-dash .donut{justify-content:flex-start}@media (max-width: 1100px){.inc-dash{grid-template-columns:minmax(0,1fr)}}.inc-search{flex:none;width:100%;margin-bottom:14px}.inc-filter{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:12.5px;color:var(--text-2);flex-wrap:wrap}.inc-filter-cat{padding:2px 9px;border-radius:999px;background:var(--chip-bg);border:1px solid var(--hair);color:var(--text)}.inc-filter-clear{margin-left:auto;flex:none}.colchart{width:100%;min-width:0}.cc-readout{font-size:12px;color:var(--text-2);margin-bottom:4px;min-height:17px}.cc-readout strong{color:var(--text);font-variant-numeric:tabular-nums}.cc-when{color:var(--text-dim)}.cc-grid{stroke:var(--hair);stroke-width:1;shape-rendering:crispEdges}.cc-base{stroke:var(--border);stroke-width:1;shape-rendering:crispEdges}.cc-axis{fill:var(--text-dim);font-size:10px;font-family:var(--font)}.cc-hit{fill:transparent}.cc-bar{transition:opacity .14s var(--ease),filter .14s var(--ease)}.cc-col.dim .cc-bar{opacity:.38}.cc-col.pickable{cursor:pointer}.cc-col:hover .cc-bar{filter:brightness(1.15)}@media (prefers-reduced-motion: reduce){.cc-bar{transition:none}}.reports{display:flex;flex-direction:column;gap:14px}.rp-new{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.rp-new-copy{flex:1 1 320px;min-width:0}.rp-new-title{margin:0 0 4px;font-size:15px;font-weight:700;color:var(--text)}.rp-new-blurb{margin:0;font-size:12.5px;line-height:1.55;color:var(--text-dim);max-width:66ch}.rp-new-go{flex:none}.rb{display:flex;flex-direction:column;gap:14px}.rb-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.rb-steps{list-style:none;display:flex;align-items:center;gap:8px;margin:0 0 0 auto;padding:0}.rb-step{display:flex;align-items:center;gap:7px;padding:5px 12px;border-radius:999px;font-size:12px;color:var(--text-dim);background:var(--chip-bg);white-space:nowrap}.rb-step.on{color:var(--text);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--accent)}.rb-step.done{color:var(--text-2)}.rb-step-n{width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;background:var(--track);color:var(--text-2)}.rb-step.on .rb-step-n{background:var(--accent);color:var(--on-accent)}.rb-step.done .rb-step-n{background:var(--ok);color:var(--on-accent)}.rb-sources{list-style:none;margin:0;padding:0;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.rb-source{display:grid;grid-template-columns:22px 1fr;grid-template-rows:auto auto;gap:2px 10px;width:100%;text-align:left;padding:14px;border-radius:10px;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;transition:border-color .14s var(--ease),background .14s var(--ease),transform .14s var(--ease)}.rb-source:hover{background:var(--surface-2);transform:translateY(-1px)}.rb-source.on{border-color:var(--accent);background:var(--chip-bg)}.rb-source-tick{grid-row:1 / span 2;width:20px;height:20px;border-radius:6px;margin-top:2px;border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--on-accent)}.rb-source.on .rb-source-tick{background:var(--accent);border-color:var(--accent)}.rb-source-name{font-size:13.5px;font-weight:650}.rb-source-blurb{font-size:11.5px;line-height:1.5;color:var(--text-dim)}.rb-split{display:grid;grid-template-columns:minmax(0,200px) minmax(0,1fr);gap:14px}@media (max-width: 900px){.rb-split{grid-template-columns:minmax(0,1fr)}}.rb-tabs{display:flex;flex-direction:column;gap:4px;min-width:0}.rb-tab{display:flex;align-items:center;gap:8px;min-width:0;width:100%;padding:9px 11px;border-radius:8px;cursor:pointer;text-align:left;border:1px solid transparent;background:none;color:var(--text-2);font:inherit;font-size:12.5px}.rb-tab:hover{background:var(--surface-2)}.rb-tab.on{background:var(--chip-bg);color:var(--text);border-color:var(--accent)}.rb-tab-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rb-tab-n{flex:none;font-size:11px;color:var(--text-dim);font-variant-numeric:tabular-nums}.rb-tab.need .rb-tab-n{color:var(--sev-medium)}.rb-pane{min-width:0}.rb-picker{display:flex;flex-direction:column;gap:10px;min-width:0}.rb-search{flex:none;width:100%}.rb-picker-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rb-picked{font-size:12.5px;color:var(--text-2)}.rb-picked strong{color:var(--text);font-variant-numeric:tabular-nums}.rb-cap{color:var(--sev-medium)}.rb-all{color:var(--text-dim)}.rb-note{margin:0;font-size:11.5px;line-height:1.5;color:var(--text-dim)}.rb-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:46vh;overflow-y:auto}.rb-list.rb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.rb-row{display:flex;align-items:center;gap:10px;min-width:0;padding:7px 10px;border:1px solid var(--border);border-radius:7px;background:var(--surface);font-size:12px}.rb-row.on{border-color:var(--accent);background:var(--chip-bg)}.rb-row input[type=checkbox]{flex:none;width:14px;height:14px;accent-color:var(--accent);cursor:pointer}.rb-a{flex:0 0 132px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.rb-b{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-2)}.rb-c{flex:none;color:var(--text-dim);white-space:nowrap}.rb-d{flex:0 0 145px;text-align:right;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rb-window{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rb-window-l{font-size:12.5px;color:var(--text-2)}.rb-actions{display:flex;align-items:center;gap:8px;margin-top:14px}.rb-actions .btn-primary{margin-left:auto}.rb-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.rb-field{display:flex;flex-direction:column;gap:5px;min-width:0;font-size:12.5px;color:var(--text-2)}.rb-field .ta-in{width:100%;min-width:0}.rb-sum-h{margin:18px 0 8px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim)}.rb-summary{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.rb-summary li{display:flex;align-items:center;gap:12px;min-width:0;padding:9px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font-size:12.5px}.rb-sum-name{flex:0 0 180px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-weight:600}.rb-sum-meta{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-dim)}@media (max-width: 900px){.rb-d{display:none}.rb-a{flex:1 1 auto}}.rp-search{flex:none;width:100%;margin-bottom:10px}.rp-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.rp-count{font-size:12.5px;color:var(--text-2)}.rp-count strong{color:var(--text);font-variant-numeric:tabular-nums}.rp-cap{color:var(--sev-medium)}.rp-go{margin-left:auto;flex:none}.rp-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.rp-row{display:flex;align-items:center;gap:12px;min-width:0;padding:9px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font-size:12.5px;transition:border-color .14s var(--ease),background .14s var(--ease)}.rp-row:hover{background:var(--surface-2)}.rp-row.on{border-color:var(--accent);background:var(--chip-bg)}.rp-pick{display:flex;flex:none;cursor:pointer}.rp-pick input{width:15px;height:15px;accent-color:var(--accent);cursor:pointer}.rp-host{flex:0 0 140px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.rp-tactics{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-2)}.rp-findings{flex:none;color:var(--text-dim);white-space:nowrap}.rp-seen{flex:0 0 150px;text-align:right;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rp-certin{flex:none;font-size:11px}.rp-detail-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.rp-detail{border:1px solid var(--border);border-radius:8px;overflow:hidden}.rp-detail-head{display:flex;align-items:center;gap:12px;width:100%;min-width:0;padding:10px 12px;background:var(--surface);border:none;cursor:pointer;color:var(--text);font:inherit;font-size:12.5px;text-align:left}.rp-detail-head:hover{background:var(--surface-2)}.rp-detail-n{flex:none;width:20px;height:20px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;background:var(--chip-bg);color:var(--text-2);font-size:11px;font-weight:700}.rp-detail-caret{margin-left:auto;flex:none;color:var(--text-dim)}.rp-detail-body{padding:12px;border-top:1px solid var(--hair);background:var(--bg)}.rp-simple{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.rp-simple li{display:flex;align-items:center;gap:12px;min-width:0;padding:9px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font-size:12.5px;flex-wrap:wrap}@media (max-width: 560px){.rp-simple-name{flex:1 1 100%}}.rp-simple-name{flex:0 0 220px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-weight:600}.rp-simple-meta{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-dim)}.rp-simple li .btn{margin-left:auto;flex:none}@media (max-width: 900px){.rp-seen,.rp-findings{display:none}.rp-host{flex:1 1 auto}}.inc-list{display:flex;flex-direction:column;gap:10px}.inc-list .inc-card{display:flex;flex-direction:row;align-items:center;gap:16px;text-align:left;cursor:pointer;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--edge, var(--sev-critical));border-radius:var(--r-sm);padding:14px 16px;color:var(--text);transition:border-color .15s,transform .12s,background .15s,box-shadow .15s}.inc-list .inc-card:hover{background:var(--surface-2);border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-sm)}@media (prefers-reduced-motion: reduce){.inc-list .inc-card:hover{transform:none}}.inc-card-sev{flex:none}.inc-card-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.inc-card-title{font-size:14px;font-weight:650}.inc-spread{margin-left:8px;font-size:11px;color:var(--amber);border:1px solid color-mix(in srgb,var(--amber) 30%,transparent);border-radius:6px;padding:1px 6px}.inc-playbook{margin-left:8px;font-size:11px;font-weight:600;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:6px;padding:1px 6px;white-space:nowrap}.inc-playbook.pb-objective{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,transparent);background:color-mix(in srgb,var(--danger) 8%,transparent)}.inc-card-chain{display:flex;align-items:center;gap:4px;flex-wrap:wrap;font-size:11.5px}.inc-tactic{color:var(--text-2);background:var(--surface-3);border-radius:5px;padding:1px 7px}.inc-arrow{color:var(--text-dim);margin:0 2px}.inc-card-meta{font-size:11.5px;color:var(--text-dim)}.inc-card-time{font-size:11.5px;color:var(--text-dim);white-space:nowrap}.inc-detail{animation:fade .3s ease}.inc-detail-head{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:14px}.btn-back{background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);border-radius:8px;padding:6px 12px;font-size:13px;cursor:pointer}.btn-back:hover{color:var(--text);border-color:var(--accent)}.inc-detail-title{margin:0;font-size:19px;font-weight:750;letter-spacing:-.3px}.inc-detail-head .inc-status{margin-left:auto}.inc-meta-row{display:flex;flex-wrap:wrap;gap:18px;color:var(--text-dim);font-size:12.5px;margin-bottom:14px}.inc-activity{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:1px 7px;border-radius:5px;border:1px solid var(--border);color:var(--text-dim)}.inc-activity-live{color:var(--accent);border-color:var(--accent)}.inc-shape{color:var(--text-dim);font-style:italic}.inc-meta-row strong{color:var(--text)}.inc-entry{display:flex;gap:12px;align-items:baseline;padding:12px 14px;margin-bottom:14px;background:color-mix(in srgb,var(--sev-high) 8%,transparent);border:1px solid color-mix(in srgb,var(--sev-high) 35%,transparent);border-radius:var(--r-sm);font-size:13px}.inc-entry-label{flex:none;text-transform:uppercase;font-size:10.5px;letter-spacing:1px;font-weight:700;color:var(--sev-high)}.ap-wrap{width:100%;overflow-x:auto}.inc-scroll{overflow-x:auto}.inc-scroll .ti-table,.inc-scroll .conv-table{min-width:460px}.btn-export{margin-left:auto;background:transparent;color:var(--accent-2, var(--teal));border:1px solid color-mix(in srgb,var(--accent-2) 40%,transparent);border-radius:var(--r-sm);padding:7px 13px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s}.btn-export:hover:not(:disabled){background:color-mix(in srgb,var(--accent-2) 10%,transparent);border-color:var(--accent-2)}.btn-export:disabled{opacity:.6;cursor:not-allowed}.inc-report-msg{margin:8px 0 0;font-size:12px;color:var(--teal)}.inc-card-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex:none}.inc-status{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 9px;border-radius:999px;border:1px solid var(--border-soft);color:var(--text-dim);white-space:nowrap}.inc-status.lc-new{color:var(--text-2)}.inc-status.lc-acknowledged{color:var(--teal);border-color:color-mix(in srgb,var(--teal) 40%,transparent);background:color-mix(in srgb,var(--teal) 8%,transparent)}.inc-status.lc-investigating{color:var(--violet);border-color:color-mix(in srgb,var(--violet) 40%,transparent);background:color-mix(in srgb,var(--violet) 10%,transparent)}.inc-status.lc-contained{color:var(--amber);border-color:color-mix(in srgb,var(--amber) 40%,transparent);background:color-mix(in srgb,var(--amber) 10%,transparent)}.inc-status.lc-closed{color:var(--sev-low);border-color:color-mix(in srgb,var(--sev-low) 40%,transparent);background:color-mix(in srgb,var(--sev-low) 10%,transparent)}.inc-lc{padding-bottom:14px}.lc-stepper{display:flex;gap:0;margin:4px 0 14px}.lc-step{flex:1;background:none;border:none;cursor:pointer;position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:4px 2px;color:var(--text-dim);font-size:11.5px;font-weight:600}.lc-step:before{content:"";position:absolute;top:11px;left:0;right:50%;height:2px;background:var(--border-soft)}.lc-step:after{content:"";position:absolute;top:11px;left:50%;right:0;height:2px;background:var(--border-soft)}.lc-step:first-child:before,.lc-step:last-child:after{display:none}.lc-step-dot{width:14px;height:14px;border-radius:50%;background:var(--surface-3, var(--surface-2));border:2px solid var(--border-soft);z-index:1;transition:all .15s}.lc-step.done{color:var(--text-2)}.lc-step.done .lc-step-dot{background:var(--sev-low);border-color:var(--sev-low)}.lc-step.done:before,.lc-step.done:after,.lc-step.current:before{background:var(--sev-low)}.lc-step.current{color:var(--accent)}.lc-step.current .lc-step-dot{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent)}.lc-step:hover:not(:disabled) .lc-step-dot{border-color:var(--accent)}.lc-row{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-end;margin-bottom:12px}.lc-assign{display:flex;flex-direction:column;gap:4px}.lc-assign label,.lc-notes>label{font-size:10.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim)}.lc-assign-in{display:flex;gap:6px}.lc-assign-in input{background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--r-sm);color:var(--text-1);padding:7px 10px;font:inherit;font-size:13px;min-width:180px}.lc-timing{display:flex;gap:18px;margin:0}.lc-timing>div{display:flex;flex-direction:column}.lc-timing dt{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim)}.lc-timing dd{margin:0;font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}.lc-notes{display:flex;flex-direction:column;gap:8px}.lc-note{border-left:2px solid var(--border-soft);padding:2px 0 2px 10px}.lc-note-meta{display:flex;gap:8px;font-size:11px;color:var(--text-dim)}.lc-note-author{font-weight:600;color:var(--text-2)}.lc-note-text{font-size:12.5px;color:var(--text-1);white-space:pre-wrap}.lc-note-add{display:flex;gap:8px;align-items:flex-end;margin-top:4px}.lc-note-add textarea{flex:1;background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--r-sm);color:var(--text-1);padding:8px 10px;font:inherit;font-size:13px;resize:vertical}.lc-err{color:var(--sev-high);font-size:12px;margin:8px 0 0}.attrib-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}.attrib-card{background:var(--surface-2);border:1px solid var(--border-soft);border-left-width:3px;border-radius:var(--r-sm);padding:12px 14px;display:flex;flex-direction:column;gap:8px}.attrib-card.conf-high{border-left-color:var(--sev-critical)}.attrib-card.conf-moderate{border-left-color:var(--amber)}.attrib-card.conf-low{border-left-color:var(--text-dim)}.attrib-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.attrib-name{font-size:15px;font-weight:700;color:var(--text-1)}.attrib-aliases{display:block;font-size:11px;font-weight:500;color:var(--text-dim);margin-top:1px}.attrib-conf{flex:none;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:2px 9px;border-radius:999px;white-space:nowrap}.attrib-conf.conf-high{color:var(--sev-critical);background:color-mix(in srgb,var(--sev-critical) 14%,transparent)}.attrib-conf.conf-moderate{color:var(--amber);background:color-mix(in srgb,var(--amber) 14%,transparent)}.attrib-conf.conf-low{color:var(--text-dim);background:color-mix(in srgb,var(--text-dim) 12%,transparent)}.attrib-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:11.5px;color:var(--text-dim)}.attrib-region{color:var(--violet);font-weight:600}.attrib-techs{display:flex;flex-wrap:wrap;gap:5px}.attrib-tech{font-size:11px;color:var(--accent-2, var(--teal));background:color-mix(in srgb,var(--accent-2, var(--teal)) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent-2, var(--teal)) 25%,transparent);border-radius:6px;padding:1px 7px}.attrib-ioc{font-size:11.5px;color:var(--text-2)}.attrib-caveat{margin:12px 0 0;font-size:11.5px;color:var(--text-dim);font-style:italic;border-top:1px solid var(--hair);padding-top:10px}.attackpath{max-width:100%;height:auto;display:block;margin:0 auto}.ap-node-bg{fill:var(--surface-2);stroke:var(--border);stroke-width:1.5}.ap-node-label{fill:var(--text);font-size:11px;font-weight:600}.ap-node-sub{fill:var(--text-dim);font-size:9.5px}.ap-node.ap-internet{color:var(--amber)}.ap-node.ap-internet .ap-node-bg{stroke:var(--amber)}.ap-node.ap-firewall{color:var(--teal)}.ap-node.ap-firewall .ap-node-bg{stroke:var(--teal)}.ap-node.ap-host{color:var(--accent)}.ap-node.ap-host .ap-node-bg{stroke:var(--accent)}.ap-node.ap-c2{color:var(--sev-critical)}.ap-node.ap-c2 .ap-node-bg{stroke:var(--sev-critical);fill:color-mix(in srgb,var(--sev-critical) 8%,transparent)}.ap-edge line{stroke:var(--text-dim);stroke-width:2}.ap-edge.ap-lateral line{stroke:var(--violet);stroke-dasharray:5 4}.ap-edge.ap-c2 line{stroke:var(--sev-critical)}.ap-node.ap-peer{color:var(--text-dim)}.ap-node.ap-peer .ap-node-bg{stroke:var(--border)}.ap-edge.ap-egress line{stroke:var(--border)}.ap-node.ap-draggable{cursor:grab;touch-action:none}.ap-node.ap-draggable:active{cursor:grabbing}.ap-edge-pill{fill:var(--surface-3);stroke:var(--border);stroke-width:1}.ap-edge-label{fill:var(--text-2);font-size:10px;font-family:var(--mono)}.kc{list-style:none;margin:0;padding:0}.kc-step{position:relative;padding:0 0 14px 18px;border-left:2px solid var(--border)}.kc-step:last-child{border-left-color:transparent;padding-bottom:0}.kc-step:before{content:"";position:absolute;left:-6px;top:3px;width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent)}.kc-tactic{font-size:13px;font-weight:650;margin-bottom:6px}.kc-tid{color:var(--text-dim);font-size:11px;font-weight:400}.kc-unverified{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:1px 6px;border-radius:5px;margin-left:6px;color:var(--text-dim);border:1px solid var(--border);vertical-align:middle;cursor:help}.kc-withheld{font-size:11.5px;color:var(--text-dim);border-top:1px dashed var(--border);margin:10px 0 0;padding-top:8px;line-height:1.5}.kc-withheld strong{color:var(--text-2);font-weight:650}.kc-unverified-why{font-size:11px;color:var(--text-dim);margin:-2px 0 6px;font-style:italic}.kc-finding{display:flex;align-items:center;gap:8px;font-size:12px;padding:3px 0;color:var(--text-2);flex-wrap:wrap}.kc-sig{color:var(--text)}.kc-count{color:var(--text-dim);font-variant-numeric:tabular-nums}.kc-host{color:var(--text-dim);font-size:11px}.kc-dir{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:1px 6px;border-radius:5px}.kc-inbound{color:var(--amber);background:color-mix(in srgb,var(--amber) 12%,transparent)}.kc-lateral{color:var(--violet);background:color-mix(in srgb,var(--violet) 14%,transparent)}.kc-outbound{color:var(--sev-critical);background:color-mix(in srgb,var(--sev-critical) 12%,transparent)}.conv-table{width:100%;border-collapse:collapse;font-size:12.5px}.conv-table th{text-align:left;padding:0 8px 8px;color:var(--text-dim);font-size:10.5px;text-transform:uppercase;letter-spacing:.5px}.conv-table th.num,.conv-table td.num{text-align:right}.conv-table td{padding:7px 8px;border-top:1px solid var(--hair)}.btn-pcap{background:var(--surface-2);border:1px solid var(--border);color:var(--text-dim);border-radius:6px;padding:3px 9px;font-size:11px;cursor:not-allowed}.btn-pcap.on{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent);cursor:pointer}.btn-pcap.on:hover:not(:disabled){background:var(--surface-3);border-color:var(--accent)}.btn-pcap.on:disabled{opacity:.6;cursor:wait}.ti-table{width:100%;border-collapse:collapse;font-size:12.5px}.ti-table th{text-align:left;padding:0 10px 8px;color:var(--text-dim);font-size:10.5px;text-transform:uppercase;letter-spacing:.5px}.ti-table th.num,.ti-table td.num{text-align:right}.ti-table td{padding:8px 10px;border-top:1px solid var(--hair);color:var(--text-2);vertical-align:middle}.ti-role{display:inline-block;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:1px 6px;border-radius:5px;margin-right:4px}.ti-attacker{color:var(--sev-high);background:color-mix(in srgb,var(--sev-high) 12%,transparent);border:1px solid color-mix(in srgb,var(--sev-high) 30%,transparent)}.ti-c2{color:var(--sev-critical);background:color-mix(in srgb,var(--sev-critical) 12%,transparent);border:1px solid color-mix(in srgb,var(--sev-critical) 30%,transparent)}.ap-node-intel{fill:var(--text-dim);font-size:9px;font-family:var(--mono)}.ap-node-intel.ap-intel-bad{fill:var(--sev-critical);font-weight:700}.inc-timeline{list-style:none;margin:0;padding:0}.itl{display:flex;align-items:flex-start;gap:11px;padding:7px 0;border-bottom:1px solid var(--hair)}.itl:last-child{border-bottom:none}.itl-time{flex:none;width:78px;color:var(--text-dim);font-size:11px;padding-top:1px}.itl-dot{flex:none;width:9px;height:9px;border-radius:50%;margin-top:4px;background:var(--text-dim)}.itl-dot.kc-inbound{background:var(--amber)}.itl-dot.kc-lateral{background:var(--violet)}.itl-dot.kc-outbound{background:var(--sev-critical)}.itl-body{display:flex;flex-direction:column;gap:1px;min-width:0}.itl-sig{font-size:12.5px}.itl-meta{font-size:11px;color:var(--text-dim)}.topo-page{display:flex;flex-direction:column;gap:12px}.inv-table{width:100%;border-collapse:collapse;font-size:12.5px}.inv-table th{text-align:left;padding:8px 12px;color:var(--text-dim);font-size:10.5px;text-transform:uppercase;letter-spacing:.5px;background:var(--surface-2)}.inv-table th.num,.inv-table td.num{text-align:right}.inv-table td{padding:8px 12px;border-top:1px solid var(--hair);color:var(--text-2);white-space:nowrap}.inv-row{cursor:pointer;transition:background .12s}.inv-row:hover{background:var(--surface-2)}.inv-row.sel{background:#33d6c81a}.inv-role{text-transform:capitalize;font-weight:600}.inv-table td.small{font-size:11px;color:var(--text-dim)}.topo{display:flex;gap:12px;align-items:flex-start}.topo-canvas{flex:1;min-width:0}.topo-svg{width:100%;display:block;margin:0 auto;background:radial-gradient(1100px 480px at 50% 0%,rgba(124,92,255,.05),transparent 60%);border-radius:var(--r-sm);user-select:none;-webkit-user-select:none}.topo-edge{stroke:var(--text-dim)}.topo-edge.lateral{stroke:var(--violet);stroke-dasharray:5 4}.topo-edge.active{stroke:var(--accent)}.topo-node{cursor:pointer}.topo-risk{fill:none;stroke:currentColor;stroke-width:2;opacity:.5;animation:pulse 2s infinite}.topo-node-label{fill:var(--text-2);font-size:10px}.topo-node-host{fill:var(--text-dim);font-size:8.5px}.topo-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px;font-size:11.5px;color:var(--text-dim)}.topo-legend span{display:inline-flex;align-items:center;gap:6px}.topo-legend .lg{width:10px;height:10px;border-radius:3px}.topo-scroll{width:100%;position:relative;overflow:hidden}.topo-zoom{position:absolute;top:10px;right:10px;z-index:2;display:flex;align-items:center;gap:4px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:3px;box-shadow:0 2px 8px #00000040}.topo-zoom button{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;font-size:15px;line-height:1;color:var(--text-2);background:transparent;border:none;border-radius:4px;cursor:pointer}.topo-zoom button:hover{background:var(--surface-3);color:var(--text)}.topo-zoom-lvl{min-width:38px;text-align:center;font-size:11px;color:var(--text-dim)}.hg-wrap{position:relative}.hg-svg{width:100%;display:block;user-select:none;-webkit-user-select:none;background:radial-gradient(700px 360px at 50% 50%,rgba(124,92,255,.05),transparent 65%);border-radius:var(--r-sm)}.hg-node{cursor:pointer}.hg-node-bg{fill:var(--surface-2);stroke:currentColor;stroke-width:2}.hg-node:hover .hg-node-bg{fill:var(--surface-3)}.hg-node-label{fill:var(--text-2);font-size:11px}.hg-node-sub{fill:var(--text-dim);font-size:10px}.hg-center-bg{fill:var(--surface-2);stroke:currentColor;stroke-width:2.5}.hg-center-label{fill:var(--text);font-size:13px;font-weight:700}.hg-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px;font-size:11.5px;color:var(--text-dim)}.hg-legend span{display:inline-flex;align-items:center;gap:6px}.hg-legend .lg{width:14px;height:3px;border-radius:2px}.hg-sel{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px;padding:8px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);font-size:12.5px;color:var(--text-2)}.hi-rail .apm-tile-val{font-size:22px}.hi-io{font-size:12px;color:var(--text-dim);font-weight:400}.hi-os{margin-left:8px;padding:1px 8px;border-radius:10px;font-size:11px;font-weight:600;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);vertical-align:middle}.hi-asn{margin-left:8px;padding:1px 8px;border-radius:10px;font-size:11px;font-weight:600;color:var(--accent-2, var(--accent));cursor:help;background:color-mix(in srgb,var(--accent-2, var(--accent)) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent-2, var(--accent)) 30%,transparent);vertical-align:middle}.hi-peer-asn{font-size:12px;color:var(--text-2);max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hi-graph-row{display:grid;grid-template-columns:1fr 240px;gap:12px;margin:12px 0}.hi-graph-panel,.hi-geo-panel{min-width:0}.hi-geo-list{list-style:none;margin:0;padding:0;max-height:360px;overflow-y:auto}.hi-geo-list li{display:flex;justify-content:space-between;gap:8px;padding:4px 0;font-size:12.5px;color:var(--text-2);border-bottom:1px solid var(--border)}.hi-app-c{color:var(--text-dim)}@media (max-width: 900px){.hi-graph-row{grid-template-columns:1fr}}.pk-decode{margin-top:10px}.pk-transport{display:flex;align-items:center;gap:8px;margin-left:auto}.pk-tp-btn{min-width:26px;height:24px;padding:0 6px;background:var(--surface-2);border:.5px solid var(--border-soft);border-radius:var(--r-xs);color:var(--text-2);font-size:12px;line-height:1;cursor:pointer}.pk-tp-btn:hover{color:var(--accent);border-color:var(--accent)}.pk-tp-scrub{width:180px;accent-color:var(--accent);height:4px}.pk-tp-time{font-size:10.5px;color:var(--text-dim);min-width:108px;text-align:right}.pk-tp-speed{height:24px;background:var(--surface-2);color:var(--text-2);border:.5px solid var(--border-soft);border-radius:var(--r-xs);font-size:11px}.pk-row.pending{opacity:.32}.pk-row.playhead>td{background:color-mix(in srgb,var(--accent) 16%,transparent)}.pk-gap{margin-left:3px;color:var(--amber, var(--text-dim));cursor:help}.pk-ctx{position:fixed;z-index:60;min-width:200px;padding:4px;background:var(--surface);border:.5px solid var(--border);border-radius:var(--r-sm);box-shadow:var(--shadow)}.pk-ctx-head{padding:5px 8px 6px;font-size:10px;color:var(--text-dim);border-bottom:.5px solid var(--border-soft);margin-bottom:4px}.pk-ctx-item{display:block;width:100%;padding:6px 8px;text-align:left;background:none;border:0;border-radius:var(--r-xs);color:var(--text);font:inherit;font-size:12px;cursor:pointer}.pk-ctx-item:hover:not(:disabled){background:var(--nav-active-bg, var(--surface-2));color:var(--accent)}.pk-ctx-item:disabled{color:var(--text-dim);cursor:not-allowed}.pk-list-wrap{max-height:280px;overflow:auto;border:1px solid var(--border);border-radius:var(--r-sm)}.pk-list{width:100%;border-collapse:collapse;font-size:12px}.pk-list thead th{position:sticky;top:0;background:var(--surface-2);text-align:left;padding:6px 8px;color:var(--text-dim);font-weight:600;border-bottom:1px solid var(--border);z-index:1}.pk-list td{padding:5px 8px;border-bottom:1px solid var(--border)}.pk-row{cursor:pointer}.pk-row:hover{background:var(--surface-2)}.pk-row.sel{background:color-mix(in srgb,var(--accent) 16%,transparent)}.pk-i-tcp{color:var(--accent)}.pk-i-http{color:var(--sev-low, #1f9d6b);font-weight:600}.pk-i-udp{color:var(--violet)}.pk-i-other{color:var(--text-dim)}.pk-flag{display:inline-block;margin-right:4px;padding:1px 5px;font-size:10.5px;border-radius:3px;background:var(--surface-3);color:var(--text-2);border:1px solid var(--border)}.pk-detail{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.pk-tree,.pk-hex{border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden}.pk-tree-head,.pk-hex-head{background:var(--surface-2);padding:6px 10px;font-size:11.5px;color:var(--text-dim);border-bottom:1px solid var(--border)}.pk-layer{border-bottom:1px solid var(--border)}.pk-layer>summary{cursor:pointer;padding:6px 10px;font-size:12.5px;font-weight:600;color:var(--teal);list-style:none}.pk-layer>summary::-webkit-details-marker{display:none}.pk-layer>summary:before{content:"▾ ";color:var(--text-dim)}.pk-fields{margin:0;padding:2px 10px 8px 22px}.pk-fields>div{display:flex;gap:8px;padding:2px 0}.pk-fields dt{min-width:92px;color:var(--text-dim);font-size:11.5px}.pk-fields dd{margin:0;color:var(--text-2)}.pk-hex-body{padding:8px 10px;max-height:260px;overflow:auto;font-size:11.5px;line-height:1.5}.pk-hex-row{display:flex;gap:12px;white-space:pre}.pk-hex-off{color:var(--text-dim)}.pk-hex-bytes{color:var(--text-2);flex:1}.pk-hex-ascii{color:var(--accent)}@media (max-width: 900px){.pk-detail{grid-template-columns:1fr}}.pk-viewbar{display:flex;align-items:center;gap:6px;margin-bottom:8px}.pk-viewbtn{padding:4px 12px;font-size:12px;border:1px solid var(--border);background:var(--surface);color:var(--text-2);border-radius:6px;cursor:pointer}.pk-viewbtn.on{background:var(--accent);color:#fff;border-color:var(--accent)}.pk-viewcount{margin-left:auto;color:var(--text-dim);font-size:11px}.pk-flow-wrap{overflow:auto;max-height:70vh;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.pk-flow{display:block;font-size:11px}.pk-flow-ep{fill:var(--text);font-size:12.5px;font-weight:700}.pk-flow-head{fill:var(--text-dim);font-size:11px;font-weight:600}.pk-flow-life{stroke:var(--border);stroke-width:1.5;stroke-dasharray:3 3}.pk-flow-sep{stroke:var(--border);stroke-width:1}.pk-flow-zebra{fill:var(--accent);opacity:.05}.pk-flow-row:hover .pk-flow-zebra{opacity:.12}.pk-flow-row:hover rect{fill:var(--accent);opacity:.1}.pk-flow-time{fill:var(--text-dim);font-size:10.5px}.pk-flow-arr{stroke:var(--text-2);stroke-width:1.4}.pk-flow-arr.app{stroke:var(--accent);stroke-width:1.8}.pk-flow-ah{fill:var(--text-2)}.pk-flow-arr.app+.pk-flow-ah,.pk-flow-arr.app~.pk-flow-ah{fill:var(--accent)}.pk-flow-lbl{fill:var(--text-2);font-size:10.5px}.pk-flow-lbl.app{fill:var(--accent);font-weight:600}.pk-flow-comment{fill:var(--text-dim);font-size:10.5px}.pk-flow-node{fill:var(--text-2)}.pk-flow-row:hover .pk-flow-node{fill:var(--accent)}.modules{display:flex;flex-direction:column;gap:20px}.mod-group-title{margin:0 0 10px;font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--text-dim)}.mod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.mod-tile{display:flex;flex-direction:column;align-items:flex-start;gap:7px;text-align:left;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:11px;cursor:pointer;transition:border-color .12s ease,transform .12s ease,box-shadow .12s ease}.mod-tile:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 6px 18px #0000002e}.mod-tile:focus-visible{outline:none;box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--focus, var(--accent))}.mod-ico-wrap{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:#5b8cff1f;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}.mod-ico{width:21px;height:21px}.mod-label{font-size:13.5px;font-weight:700;color:var(--text);display:inline-flex;align-items:center;gap:6px}.mod-desc{font-size:11.5px;color:var(--text-dim);line-height:1.35}.mod-dest{margin-top:6px;font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-2);opacity:.75}.mod-tile.soon{cursor:default;opacity:.6}.mod-tile.soon:hover{border-color:var(--border);transform:none;box-shadow:none}.mod-soon{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:1px 6px;border-radius:20px;background:var(--border);color:var(--text-dim)}.geo-foot{display:grid;grid-template-columns:1fr 320px;gap:12px;align-items:start}.geo-map-panel{grid-column:1}.geo-list-panel{grid-column:2}.geo-feed-panel{grid-column:1 / -1}@media (max-width: 1100px){.geo-foot{grid-template-columns:1fr}.geo-map-panel,.geo-list-panel,.geo-feed-panel{grid-column:1}}.geo-totals{margin-bottom:10px}.geo-tot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.geo-tot{background:var(--surface-2, #f1f5f9);border-radius:8px;padding:8px 10px;text-align:center}.geo-tot-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-dim)}.geo-tot-val{font-size:20px;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums}.geo-top-head{margin-top:4px}.geo-ring{fill:none;stroke-width:1.6}.geo-ring.geo-crit{stroke:var(--sev-critical, #e24b4a)}.geo-ring.geo-high{stroke:var(--sev-high, #f5a623)}.geo-ring.geo-low{stroke:var(--accent)}.geo-feed-sig{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.geo-map-wrap{width:100%}.geo-map{width:100%;height:auto;display:block;border-radius:8px}.geo-sea{fill:#eaf1fb}:root{--geo-land-base: #b9c6d9;--chart-scale-01: #fde3c4;--chart-scale-02: #fbc182;--chart-scale-03: #f79c47;--chart-scale-04: #e8721c;--chart-scale-05: #b4470c}.geo-land{fill:var(--geo-land-base);stroke:#8597ad;stroke-width:.5;stroke-linejoin:round}.geo-land-on{stroke:#6b7f99;stroke-width:.7}.geo-scale-1{fill:var(--chart-scale-01)}.geo-scale-2{fill:var(--chart-scale-02)}.geo-scale-3{fill:var(--chart-scale-03)}.geo-scale-4{fill:var(--chart-scale-04)}.geo-scale-5{fill:var(--chart-scale-05)}.geo-graticule line{stroke:#9fb0c6;stroke-width:.35;opacity:.38}.geo-legend{position:absolute;left:10px;bottom:10px;display:flex;align-items:center;gap:4px;padding:5px 8px;border-radius:999px;background:#ffffffd1;border:1px solid var(--border);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);max-width:calc(100% - 20px);flex-wrap:wrap}.geo-legend-sw{width:15px;height:9px;border-radius:2px;display:block}.geo-legend-lbl{font-size:10px;color:#334155;letter-spacing:.03em}.geo-tip{position:fixed;z-index:40;pointer-events:none;display:flex;flex-direction:column;gap:1px;padding:6px 9px;border-radius:var(--r-xs, 6px);background:var(--surface);border:1px solid var(--border);box-shadow:0 4px 14px #0f172a2e;font-size:11.5px}.geo-tip strong{font-size:12px;color:var(--text)}.geo-tip span{color:var(--text-dim)}.geo-arc{fill:none;opacity:.85;stroke-linecap:round}.geo-arc.geo-crit{stroke:var(--sev-critical, #e24b4a)}.geo-arc.geo-high{stroke:var(--sev-high, #f5a623)}.geo-arc.geo-low{stroke:var(--accent)}.geo-packet.geo-crit{fill:var(--sev-critical, #e24b4a)}.geo-packet.geo-high{fill:var(--sev-high, #f5a623)}.geo-packet.geo-low{fill:var(--accent-2, var(--accent))}.geo-home-halo{fill:var(--accent);opacity:.18;transform-box:fill-box;transform-origin:center;animation:geo-pulse 2.2s ease-out infinite}@keyframes geo-pulse{0%{opacity:.4;transform:scale(.6)}70%{opacity:0;transform:scale(2.6)}to{opacity:0}}.geo-home-core{fill:var(--accent)}.geo-home-lbl{fill:var(--text);font-size:11px;font-weight:600}.geo-head-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.geo-legend{display:flex;gap:14px;padding:6px 4px 0;font-size:11px;color:var(--text-dim);align-items:center}.geo-legend-live{display:inline-flex;align-items:center;gap:5px;margin-left:auto}.geo-live-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;animation:geo-blink 1.4s ease-in-out infinite}@keyframes geo-blink{0%,to{opacity:1}50%{opacity:.3}}@media (prefers-reduced-motion: reduce){.geo-arc,.geo-home-halo,.geo-live-dot{animation:none}}@media (prefers-reduced-motion: reduce){.stream-area,.stream-line{animation:none}}.geo-legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:4px;vertical-align:middle}.geo-dot{opacity:.55}.geo-dot.geo-crit{fill:var(--sev-critical, #e24b4a)}.geo-dot.geo-high{fill:var(--sev-high, #f5a623)}.geo-dot.geo-low{fill:var(--accent)}.geo-dot-core{fill:var(--text);opacity:.9}.geo-dot-g:hover .geo-dot{opacity:.85}.geo-list{list-style:none;margin:0;padding:0;max-height:62vh;overflow:auto}.geo-list-row{display:grid;grid-template-columns:10px 1fr 70px 34px;gap:8px;align-items:center;padding:5px 2px;border-bottom:1px solid rgba(255,255,255,.04);font-size:12px}.geo-pip{width:9px;height:9px;border-radius:50%}.geo-pip.geo-crit{background:var(--sev-critical, #e24b4a)}.geo-pip.geo-high{background:var(--sev-high, #f5a623)}.geo-pip.geo-low{background:var(--accent)}.geo-c{min-width:0;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.geo-bar{height:6px;background:var(--border);border-radius:4px;overflow:hidden}.geo-bar-fill{display:block;height:100%;background:var(--accent)}.geo-n{text-align:right;color:var(--text-dim)}.topo-tree-edge{fill:none;stroke:var(--border);stroke-width:1.5}.topo-node.infra{color:var(--teal)}.topo-node.sel .topo-node-bg{stroke-width:3}.topo-node-sub{fill:var(--text-dim);font-size:9.5px}.topo-hint{color:var(--text-dim);font-size:11px;font-style:italic}.topo-util{margin:4px 0 12px}.topo-util-row{display:flex;justify-content:space-between;font-size:12px;color:var(--text-2);padding:2px 0}.topo-util-bar{height:6px;background:var(--track);border-radius:999px;overflow:hidden;margin:6px 0 4px}.topo-util-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:999px}.topo-util-cap{font-size:10px;color:var(--text-dim)}.topo-sub{margin-top:14px}.topo-sub h4{margin:0 0 6px;font-size:10.5px;text-transform:uppercase;letter-spacing:.7px;color:var(--text-dim)}.topo-mini{width:100%;table-layout:fixed;border-collapse:collapse;font-size:11.5px}.topo-mini td:first-child{overflow-wrap:anywhere}.topo-mini td:nth-child(2){width:74px}.topo-mini td:nth-child(3){width:72px}.topo-mini td{padding:5px 4px;border-top:1px solid var(--hair);color:var(--text-2)}.topo-mini td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.topo-ports{color:var(--text-dim)}.topo-mini .ip-tag{margin-left:6px}.topo-detail{width:300px;flex:none}.topo-d-role{text-transform:capitalize;font-weight:650;font-size:13px;margin-bottom:12px}.topo-stats{margin:0;display:flex;flex-direction:column;gap:0}.topo-stats>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--hair);font-size:12.5px}.topo-stats>div:last-child{border-bottom:none}.topo-stats dt{color:var(--text-dim);margin:0}.topo-stats dd{margin:0;color:var(--text);text-align:right}.topo-alert{color:var(--sev-high);font-weight:600}@media (max-width: 1100px){.grid-2,.grid-3{grid-template-columns:1fr}.topo{flex-direction:column}.topo-detail{width:100%}}@media (max-width: 900px){.app{grid-template-columns:1fr;grid-template-rows:auto 1fr}.sidebar{position:sticky;top:0;z-index:30;height:auto;flex-direction:row;align-items:center;gap:4px;overflow-x:auto;padding:8px 10px;border-right:none;border-bottom:1px solid var(--border)}.side-brand{padding:0 8px 0 2px;flex:none;flex-direction:row;align-items:center}.side-brand .brand-text,.side-brand .side-tagline,.nav-section,.side-foot{display:none}.side-nav{flex-direction:row;gap:4px;flex:1;flex-wrap:nowrap}.nav-item{width:auto;white-space:nowrap;padding:8px 12px}.nav-active-bar,.search{display:none}}@media (max-width: 560px){.content{padding-left:12px;padding-right:12px}.nav-item span:not(.soon-tag){display:none}.page-title{font-size:20px}}@media (min-width: 2040px){.content{max-width:var(--content-max);margin-inline:auto;width:100%}.topbar{padding-inline:max(22px,calc((100% - var(--content-max)) / 2))}}.cmp{display:flex;flex-direction:column;gap:14px}.cmp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.cmp-card{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md, 14px);padding:18px;cursor:pointer;display:flex;flex-direction:column;gap:6px;transition:border-color .14s,transform .14s}.cmp-card:hover{border-color:var(--accent);transform:translateY(-2px)}.cmp-card-name{font-size:16px;font-weight:700;color:var(--text-1)}.cmp-card-auth{font-size:12px;color:var(--text-dim)}.cmp-card-meta{display:flex;gap:12px;font-size:11.5px;color:var(--text-dim);margin-top:2px}.cmp-card-ver{color:var(--teal);font-weight:600}.cmp-card-scope{font-size:11.5px;color:var(--text-2);margin:4px 0 0;line-height:1.4}.cmp-card-go{margin-top:8px;font-size:12px;font-weight:600;color:var(--accent)}.cmp-detail-head{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.cmp-export{display:flex;align-items:center;gap:8px;margin-left:auto}.cmp-title{margin:0;font-size:19px;font-weight:750}.cmp-summary{display:flex;align-items:center;gap:24px;padding:18px 20px}.cmp-cov{display:flex;flex-direction:column;align-items:center;flex:none}.cmp-cov-val{font-size:40px;font-weight:750;line-height:1;font-variant-numeric:tabular-nums}.cmp-cov-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim)}.cmp-summary-stats{display:flex;flex-wrap:wrap;gap:18px;align-items:baseline;font-size:13px;color:var(--text-2)}.cmp-summary-stats strong{font-size:16px;color:var(--text-1)}.cmp-gap-n{color:var(--amber)}.cmp-scope{flex-basis:100%;font-size:11.5px;color:var(--text-dim);margin:4px 0 0}.cmp-list{display:flex;flex-direction:column;gap:10px}.cmp-ctl{border:1px solid var(--border-soft);border-left-width:3px;border-radius:var(--r-sm);padding:12px 14px}.cmp-ctl.ok{border-left-color:var(--sev-low)}.cmp-ctl.gap{border-left-color:var(--amber);background:#ff9f430a}.cmp-ctl-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cmp-ctl-id{font-size:12px;font-weight:700;color:var(--accent-2, var(--teal))}.cmp-ctl-title{font-size:13.5px;font-weight:650;color:var(--text-1)}.cmp-ctl-domain{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);border:1px solid var(--border-soft);border-radius:6px;padding:1px 6px}.cmp-status{margin-left:auto;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 10px;border-radius:999px}.cmp-status.ok{color:var(--sev-low);background:#42be6524}.cmp-status.gap{color:var(--amber);background:#ff9f4324}.cmp-ctl-statement{font-size:12.5px;color:var(--text-2);margin:8px 0 6px;line-height:1.45}.cmp-ctl-evidence{font-size:11.5px;color:var(--text-dim);margin:0;line-height:1.45}.cmp-ctl-gap{font-size:11.5px;color:var(--amber);margin:6px 0 0}.cmp-cov-val{color:var(--text-1)}.cmp-cov-of{font-size:20px;font-weight:600;color:var(--text-dim)}.cmp-ctl.err{border-left-color:var(--text-dim);background:#8080800d}.cmp-status.err{color:var(--text-dim);background:#80808024}.cmp-ctl-owner{font-size:11px;color:var(--text-dim);margin:6px 0 0}.cmp-disclaimer{font-size:11.5px;color:var(--text-dim);line-height:1.5;margin:0 0 4px;max-width:92ch}.cmp-sched{margin-top:4px}.cmp-sched .panel-head>.btn-ghost{margin-left:auto}.cmp-sched-body{display:flex;flex-direction:column;gap:10px;padding:12px 14px 14px}.cmp-sched-body .kg-f{max-width:52ch}.cmp-sched-fw{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px}.cmp-sched-fw-label{font-size:10px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;flex-basis:100%}.cmp-sched-chk{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--text-1)}.atkm{display:flex;flex-direction:column;gap:14px}.atkm .tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.atkm-grid{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px}.atkm-col{flex:1;min-width:150px;display:flex;flex-direction:column;gap:6px}.atkm-tactic{display:flex;flex-direction:column;gap:1px;padding:8px 8px 9px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--border-soft);font-size:12px;font-weight:700;color:var(--text-1);text-align:center;min-height:38px}.atkm-taid{font-size:9.5px;font-weight:500;color:var(--text-dim)}.atkm-cell{display:flex;flex-direction:column;gap:2px;padding:7px 8px;border-radius:var(--r-sm);border:1px solid var(--border-soft);position:relative;min-height:44px}.atkm-cell.quiet{color:var(--text-dim);background:var(--surface)}.atkm-cell.hot{font-weight:600;box-shadow:0 0 0 1px #f8717126}.atkm-tid{font-size:10px;opacity:.85}.atkm-tname{font-size:11.5px;line-height:1.25}.atkm-count{position:absolute;top:5px;right:6px;font-size:11px;font-weight:800;background:var(--chip-strong);color:var(--text);border-radius:999px;padding:0 6px;min-width:18px;text-align:center}.atkm-note{font-size:11.5px;color:var(--text-dim);line-height:1.5;margin:4px 0 0}@media (max-width: 900px){.atkm .tiles{grid-template-columns:1fr}}.fa{display:flex;flex-direction:column;gap:14px}.fa .tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.fa-bars{display:flex;flex-direction:column;gap:8px;padding:4px 2px}.fa-bar-row{display:grid;grid-template-columns:88px 1fr auto;align-items:center;gap:10px}.fa-bar-key{min-width:0;font-size:12px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fa-bar-track{height:9px;border-radius:999px;background:var(--chip-bg);overflow:hidden}.fa-bar-fill{display:block;height:100%;border-radius:999px;min-width:3px;transition:width .4s ease}.fa-bar-val{font-size:12px;color:var(--text);white-space:nowrap;font-variant-numeric:tabular-nums}.fa-bar-bytes{color:var(--text-dim);font-size:11px;margin-left:4px}.inv-table td.num,.inv-table th.num{text-align:right;font-variant-numeric:tabular-nums}.inv-table td.small{font-size:11.5px;color:var(--text-dim)}@media (max-width: 900px){.fa .tiles{grid-template-columns:1fr 1fr}.fa-bar-row{grid-template-columns:74px 1fr auto}}.apm{display:flex;flex-direction:column;gap:14px}.apm .tiles{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:12px}.apm-hero{background:var(--surface);border:1px solid var(--border);border-left-width:4px;border-radius:var(--r-md, 14px);padding:16px 18px;display:flex;flex-direction:column;gap:2px}.apm-hero-label{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-dim)}.apm-hero-val{font-size:38px;font-weight:750;line-height:1.05;font-variant-numeric:tabular-nums}.apm-hero-rating{font-size:13px;font-weight:650;text-transform:uppercase;letter-spacing:.5px}.apm-hero-track{height:6px;background:var(--track);border-radius:999px;overflow:hidden;margin-top:8px}.apm-hero-track span{display:block;height:100%;border-radius:999px}.apm-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md, 14px);padding:14px 16px;display:flex;flex-direction:column;gap:3px}.apm-tile-label{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-dim)}.apm-tile-val{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums}.apm-tile-sub{font-size:11px;color:var(--text-dim)}.apm-table th.apm-distcol,.apm-table td.apm-distcol{width:130px}.apm-host{display:block;font-size:10.5px;color:var(--text-dim)}.apm-apdex{font-weight:700;font-variant-numeric:tabular-nums}.apm-rating{color:var(--text-dim);margin-left:4px}.apm-err{color:var(--sev-high);font-weight:600}.apm-bar{display:flex;height:9px;border-radius:999px;overflow:hidden;background:var(--track);min-width:90px}.apm-seg{display:block;height:100%}.apm-seg.sat,.apm-key.sat{background:var(--sev-low)}.apm-seg.tol,.apm-key.tol{background:var(--amber)}.apm-seg.fru,.apm-key.fru{background:var(--sev-critical)}.apm-legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:10px;font-size:11.5px;color:var(--text-dim)}.apm-legend span{display:inline-flex;align-items:center;gap:6px}.apm-key{width:10px;height:10px;border-radius:3px;display:inline-block}.apm-note{color:var(--text-dim);font-style:italic}.apm-eue{display:inline-flex;align-items:center;gap:16px;margin:2px 0 14px;padding:12px 18px 12px 16px;position:relative;overflow:hidden;border:1px solid var(--border);border-radius:var(--r-sm);background:linear-gradient(180deg,color-mix(in srgb,var(--text) 1.5%,transparent),transparent 45%),var(--surface)}.apm-eue:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--eue, var(--accent))}.apm-eue-num{display:flex;align-items:baseline;gap:2px}.apm-eue-score{font-size:26px;font-weight:700;line-height:1;color:var(--eue, var(--text));font-variant-numeric:tabular-nums}.apm-eue-max{font-size:12px;font-weight:500;color:var(--text-dim)}.apm-eue-meta{display:flex;flex-direction:column;gap:2px}.apm-eue-badge{font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--eue, var(--accent))}.apm-eue-label{color:var(--text-dim);font-size:12px}@media (max-width: 1100px){.apm .tiles{grid-template-columns:1fr 1fr}}.forensics{display:flex;flex-direction:column;gap:12px}.btn-ghost{background:transparent;color:var(--text-2);border:1px solid var(--border-soft);border-radius:var(--r-sm);padding:8px 14px;font:inherit;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s}.btn-ghost:hover{background:var(--surface-2);border-color:var(--accent);color:var(--text-1)}.btn-ghost:disabled{opacity:.55;cursor:not-allowed}.btn-ghost:disabled:hover{background:transparent;border-color:var(--border-soft);color:var(--text-2)}.fx-search{padding:14px 16px}.fx-form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.fx-field{display:flex;flex-direction:column;gap:4px;min-width:140px;flex:1}.fx-field.fx-narrow{min-width:92px;max-width:120px;flex:0}.fx-field span{font-size:10.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim)}.fx-field input,.fx-field select,.input{background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--r-sm);color:var(--text-1);padding:8px 10px;font:inherit;font-size:13px;outline:none}.input::placeholder{color:var(--text-dim)}.fx-field input:focus,.fx-field select:focus,.input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--ring)}.fx-actions{display:flex;gap:8px;align-items:flex-end}input[type=file]{background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--r-sm);color:var(--text-2);padding:6px 10px;font:inherit;font-size:13px;max-width:100%}input[type=file]::file-selector-button{margin:0 10px 0 0;padding:5px 12px;background:var(--surface-3);color:var(--text-1);border:1px solid var(--border);border-radius:var(--r-sm);font:inherit;font-size:12.5px;font-weight:500;cursor:pointer;transition:color .15s,border-color .15s,background .15s}input[type=file]::file-selector-button:hover{color:var(--accent);border-color:var(--accent)}input[type=file]:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--ring, rgba(31,111,235,.35))}input[type=file]:disabled{opacity:.6;cursor:not-allowed}.fx-body{display:flex;gap:12px;align-items:flex-start}.fx-results{flex:1;min-width:0}.fx-ops{margin-bottom:12px}.fx-ops .table-wrap{max-height:260px;overflow-y:auto}.fx-ops-table td,.fx-ops-table th{padding:5px 10px}.fx-ops-table .num{text-align:right}.fx-ops-org{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fx-ops-table tbody tr.clickable:hover{background:var(--track)}.fx-scroll{max-height:64vh}.fx-table th{position:sticky;top:0;z-index:1}.fx-table td{white-space:nowrap}.dir-tag{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:1px 7px;border-radius:999px;border:1px solid transparent}.dir-inbound{color:var(--amber);background:#ff9f431f;border-color:#ff9f4352}.dir-outbound{color:var(--teal);background:#33d6c81a;border-color:#33d6c84d}.dir-lateral{color:var(--violet);background:#a78bfa24;border-color:#a78bfa59}.dir-external{color:var(--text-dim);background:#94a3b81a;border-color:#94a3b840}.fx-detail{width:380px;flex-shrink:0;position:sticky;top:12px}.fx-tuple{display:flex;align-items:center;gap:10px;padding:0 16px 10px}.fx-stats dd{word-break:break-all}.fx-tl-details>summary{margin:0 0 6px;list-style:none;cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:6px;font-size:10.5px;text-transform:uppercase;letter-spacing:.7px;color:var(--text-dim)}.fx-tl-details>summary::-webkit-details-marker{display:none}.fx-tl-details>summary:before{content:"▸";font-size:9px;transition:transform .15s ease}.fx-tl-details[open]>summary:before{transform:rotate(90deg)}.fx-tl-details>summary:hover{color:var(--text-2)}.fx-timeline{display:flex;flex-direction:column;gap:4px}.fx-tl-row{display:grid;grid-template-columns:116px 1fr auto;align-items:center;gap:8px;background:none;border:none;border-radius:var(--r-sm);padding:4px 6px;cursor:pointer;text-align:left;width:100%}.fx-tl-row:hover{background:var(--surface-2)}.fx-tl-row.sel{background:#33d6c81a}.fx-tl-time{color:var(--text-dim)}.fx-tl-bar{height:8px;border-radius:4px;min-width:6px}.fx-tl-bar.dir-inbound{background:var(--amber)}.fx-tl-bar.dir-outbound{background:var(--teal)}.fx-tl-bar.dir-lateral{background:var(--violet)}.fx-tl-bar.dir-external{background:var(--text-dim)}.fx-tl-meta{color:var(--text-2)}.fx-head-right{display:flex;align-items:center;gap:10px}.fx-tech-pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--violet);background:#a78bfa1f;border:1px solid rgba(167,139,250,.4);border-radius:999px;padding:3px 10px;cursor:pointer;font-family:var(--mono, monospace)}.fx-tech-pill:hover{background:#a78bfa33}.fx-tech-x{opacity:.7}.atk-count{display:inline-block;min-width:18px;text-align:center;font-size:11px;font-weight:700;color:var(--sev-high);background:#f871711f;border:1px solid rgba(248,113,113,.35);border-radius:999px;padding:0 6px;cursor:default}.atk-none{color:var(--text-dim)}.fx-attack{border-top:1px solid var(--hair)}.fx-attack-note{font-size:11.5px;color:var(--text-dim);margin:4px 0 10px}.atk-list{display:flex;flex-direction:column;gap:8px}.atk-row{text-align:left;width:100%;background:var(--surface-2);border:1px solid var(--border-soft);border-left-width:3px;border-radius:var(--r-sm);padding:8px 10px;cursor:pointer;display:flex;flex-direction:column;gap:2px;transition:background .12s,border-color .12s}.atk-row:hover{background:#a78bfa14;border-color:var(--accent)}.atk-row.conf-high{border-left-color:var(--sev-critical)}.atk-row.conf-moderate{border-left-color:var(--amber)}.atk-row.conf-low{border-left-color:var(--text-dim)}.atk-top{display:flex;justify-content:space-between;align-items:center}.atk-id{font-size:12px;font-weight:700;color:var(--accent-2, var(--teal))}.atk-conf{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:1px 7px;border-radius:999px}.atk-conf.conf-high{color:var(--sev-critical);background:#f8717124}.atk-conf.conf-moderate{color:var(--amber);background:#ff9f4324}.atk-conf.conf-low{color:var(--text-dim);background:#94a3b81f}.atk-name{font-size:12.5px;font-weight:600;color:var(--text-1)}.atk-tactic{font-size:10.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--violet)}.atk-why{color:var(--text-dim);margin-top:2px}.fx-dpi{border-top:1px solid var(--hair)}.dpi-block{margin-bottom:12px}.dpi-head{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--teal);margin-bottom:6px}.dpi-kv{display:flex;flex-direction:column;gap:4px;margin:0}.dpi-kv>div{display:grid;grid-template-columns:78px 1fr;gap:8px;align-items:baseline}.dpi-kv dt{color:var(--text-dim);font-size:10.5px;text-transform:uppercase;letter-spacing:.4px}.dpi-kv dd{margin:0;color:var(--text-1);word-break:break-all}.dpi-pending{color:var(--text-dim);font-style:italic}.dpi-ja3-bad{color:var(--sev-critical);font-weight:700}.dpi-file{border:1px solid var(--border-soft);border-radius:var(--r-sm);padding:7px 9px;margin-bottom:6px;display:flex;flex-direction:column;gap:3px}.dpi-file.sus{border-color:#f8717173;background:#f871710f}.dpi-file-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.dpi-mime{font-size:10px;padding:1px 6px;border-radius:999px;border:1px solid var(--border-soft);color:var(--text-dim);white-space:nowrap}.dpi-mime.sus{color:var(--sev-critical);border-color:#f8717180;background:#f871711f;font-weight:700}.dpi-file-hash{color:var(--violet)}.dpi-file-bytes{color:var(--text-dim)}.fx-evidence{border-top:1px solid var(--hair)}.fx-evi-note{font-size:11.5px;color:var(--text-dim);margin:4px 0 10px}.fx-pcap{flex:1}.fx-evi-controls{display:flex;gap:10px;align-items:flex-end}.fx-bpf{padding:12px 16px;margin-bottom:12px}.fx-bpf-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:10px}.fx-bpf-row{display:flex;gap:10px;align-items:flex-end}.fx-bpf-input{flex:1;min-width:0;padding:8px 10px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface);color:var(--text-1);font-size:13px}.fx-bpf-input:focus{outline:none;border-color:var(--focus);box-shadow:0 0 0 3px var(--ring)}.fx-evi-err{color:var(--sev-high);font-size:12px;margin-top:8px}.fx-coc{margin-top:12px;border:1px solid rgba(51,214,200,.3);background:#33d6c80d;border-radius:var(--r-sm);padding:10px 12px;display:flex;flex-direction:column;gap:6px}.fx-coc-row{display:flex;justify-content:space-between;gap:12px;font-size:12px}.fx-coc-row span:first-child{color:var(--text-dim);text-transform:uppercase;font-size:10px;letter-spacing:.5px;flex:0 0 auto}.fx-coc-row span:last-child{min-width:0;overflow-wrap:anywhere;text-align:right}.fx-hash{word-break:break-all;text-align:right;font-size:10.5px;color:var(--teal)}.fx-coc-tag{color:var(--teal);font-size:11px;font-weight:600;margin-top:2px}@media (max-width: 1100px){.fx-body{flex-direction:column;align-items:stretch}.fx-detail{width:100%;position:static}}.modal-veil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;background:var(--scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:18px}.modal-card{width:min(560px,100%);max-height:90vh;overflow:auto;display:flex;flex-direction:column;gap:12px}.modal-actions{display:flex;gap:10px;align-items:center;margin-top:4px}.confirm-card{width:min(420px,100%);gap:10px}.confirm-body{margin:0;font-size:13px;line-height:1.5;color:var(--text-2)}.confirm-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:6px}.confirm-actions .btn-danger{margin-top:0}.um{display:flex;flex-direction:column;gap:14px}.um-add{margin-left:auto;width:auto;flex:none;padding:8px 18px;font-size:13px;box-shadow:none;border-radius:9px}.um .panel-head{gap:12px}.modal-actions .btn-primary{width:auto;padding:9px 18px;font-size:13px;box-shadow:none}.um-table td{vertical-align:middle}.um-user{display:flex;flex-direction:column;gap:2px}.um-name{font-size:13px}.um-you{color:var(--text-dim);font-size:11px}.um-email{font-size:11.5px;color:var(--text-dim)}.um-dim{color:var(--text-dim);font-size:12px}.um-disabled td{opacity:.55}.um-role{background:var(--input-bg);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:5px 8px;font-size:12.5px}.um-chip{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.02em}.um-chip-active{background:#34d39924;color:var(--ok)}.um-chip-off{background:var(--chip-bg);color:var(--text-dim)}.um-chip-locked{background:#f8717129;color:var(--bad)}.um-chip-invite{background:#ff9f4326;color:var(--amber)}.um-chip-mfa{background:#7c5cff29;color:var(--violet)}.um-actions{display:flex;flex-wrap:wrap;gap:4px}.um-actions .btn-ghost{font-size:11.5px;padding:4px 8px}.um-danger{color:var(--bad)}.um-secret{border:1px solid rgba(52,211,153,.4);background:#34d39912;border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:8px}.um-secret-head{font-size:12px;font-weight:600;color:var(--ok)}.um-secret-value{font-size:16px;letter-spacing:.06em;word-break:break-all;background:var(--code-bg);border-radius:8px;padding:8px 10px}.um-secret-actions{display:flex;gap:8px}.um-secret-note{font-size:11.5px;color:var(--text-dim);line-height:1.5;margin:2px 0 0}.audit{display:flex;flex-direction:column;gap:14px}.audit-verdict{border-radius:12px;padding:12px 16px;font-size:13px;font-weight:600}.audit-verdict.ok{background:#34d3991a;color:var(--ok);border:1px solid rgba(52,211,153,.35)}.audit-verdict.bad{background:#f871711f;color:var(--bad);border:1px solid rgba(248,113,113,.5)}.audit-filters{display:flex;gap:10px;padding:4px 0 10px;flex-wrap:wrap}.audit-filters .search{flex:1 1 260px;min-width:220px}.audit-export{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:0 0 12px;font-size:12.5px;color:var(--text-dim)}.audit-export-label{font-weight:600;color:var(--text)}.audit-export label{display:inline-flex;align-items:center;gap:6px}.audit-export input[type=date]{background:var(--input-bg);color:var(--text);color-scheme:dark;border:1px solid var(--line);border-radius:8px;padding:6px 8px;font-size:12px}.audit-export-hint{font-size:11px;color:var(--text-dim)}.audit-action{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;background:var(--chip-bg);color:var(--text)}.audit-action.warn{background:#ff9f4326;color:var(--amber)}.audit-detail{font-size:12px;color:var(--text-dim);max-width:260px;overflow-wrap:anywhere}.audit-table td{vertical-align:middle}.acct-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line)}.acct-tab{background:none;border:none;color:var(--text-dim);padding:8px 14px;font-size:13px;cursor:pointer;border-bottom:2px solid transparent}.acct-tab.active{color:var(--text);border-bottom-color:var(--accent)}.acct-qr{display:flex;justify-content:center;margin:12px 0}.acct-qr svg{background:#fff;padding:10px;border-radius:var(--r-sm);box-shadow:var(--shadow-sm)}.acct-secret{display:flex;flex-direction:column;gap:6px;margin:8px 0}.acct-otpauth{font-size:12.5px;color:var(--accent)}.acct-recovery{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.acct-recovery code{background:var(--code-bg);border-radius:8px;padding:7px 10px;font-size:13px;letter-spacing:.04em;text-align:center}.acct-disable{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}@media (max-width: 900px){.um-actions{flex-direction:column;align-items:stretch}.acct-recovery{grid-template-columns:1fr}}.settings{display:flex;flex-direction:column;gap:16px}.set-card{display:flex;flex-direction:column;gap:8px}.set-hint{color:var(--text-dim);font-size:12.5px;line-height:1.5;margin:0}.ret-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:6px 0}.ret-label{font-size:13px;color:var(--text-2)}.ret-input{width:100px;padding:6px 8px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2, transparent);color:var(--text);font-variant-numeric:tabular-nums}.ret-warn{font-size:12.5px;color:var(--warn, #f59e0b);margin:0}.ret-ok{font-size:12.5px;color:var(--ok, #10b981);margin:0}.ret-cap{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin:8px 0}.ret-cap-item{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:8px;background:var(--surface-2, rgba(127,127,127,.05));border:1px solid var(--border)}.ret-cap-item span{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.03em}.ret-cap-item b{font-size:14px;font-variant-numeric:tabular-nums}.set-group{margin-top:8px}.set-group-title{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin:12px 2px 8px}.set-conn-list{display:flex;flex-direction:column;gap:8px}.set-conn{border:1px solid var(--line);border-radius:11px;overflow:hidden;background:var(--surface-2)}.set-conn.on{border-color:#34d39966}.set-conn-head{width:100%;display:flex;align-items:center;justify-content:space-between;background:none;border:none;color:var(--text);cursor:pointer;padding:12px 14px;font-size:13.5px}.set-conn-name{font-weight:600}.set-conn-status{display:flex;align-items:center;gap:10px}.set-conn-caret{color:var(--text-dim);font-size:12px}.set-editor{padding:4px 14px 16px;display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--line)}.set-field span{font-size:12px;color:var(--text-dim)}.set-field input,.set-field select{background:var(--input-bg);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:13px;width:100%}.set-editor-row{display:flex;gap:18px;align-items:flex-end;flex-wrap:wrap;margin-top:4px}.set-inline{display:flex;flex-direction:column;gap:4px}.set-inline span{font-size:12px;color:var(--text-dim)}.set-inline select{background:var(--input-bg);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:7px 10px;font-size:13px}.set-toggle{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.set-toggle input{width:16px;height:16px}.set-editor-actions{display:flex;gap:10px;align-items:center;margin-top:4px}.set-btn{width:auto;padding:9px 20px;font-size:13px;box-shadow:none}@media (max-width: 900px){.settings .grid-2{grid-template-columns:1fr}}.sec{display:flex;flex-direction:column;gap:14px}.sec-summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12.5px;color:var(--text-2);letter-spacing:.3px}.sec-summary strong{color:var(--text);font-size:14px;font-variant-numeric:tabular-nums}.sec-sep{color:var(--border)}.sec-grid{display:grid;gap:14px;grid-template-columns:.9fr 1.5fr 1.1fr;align-items:start}.sec-grid>.panel{margin-bottom:0}.sec-scroll{max-height:320px;overflow:auto}.stream{display:flex;flex-direction:column;gap:10px}.stream-svg{width:100%;display:block}.stream-grid{stroke:var(--hair);stroke-width:1;stroke-dasharray:2 5}.stream-axis{fill:var(--text-dim);font-size:10px;font-family:var(--mono);font-variant-numeric:tabular-nums}.stream-area{animation:streamIn .55s ease-out both;transform-box:fill-box;transform-origin:center bottom}.stream-line{animation:streamFade .55s ease-out both}.stream-endpt{stroke:var(--surface);stroke-width:1.2}@keyframes streamIn{0%{opacity:0;transform:scaleY(.8)}to{opacity:1;transform:scaleY(1)}}@keyframes streamFade{0%{opacity:0}to{opacity:1}}.stream-empty{display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;min-height:200px;text-align:center;color:var(--text-dim)}.stream-empty strong{color:var(--text-2);font-size:13px}.stream-empty span{font-size:11.5px}.stream-legend{list-style:none;margin:4px 0 0;padding:12px 0 0;display:flex;flex-wrap:wrap;gap:10px 18px;border-top:1px solid var(--hair, var(--border))}.stream-legend li{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;color:var(--text-2)}.stream-dot{width:10px;height:10px;border-radius:3px;box-shadow:0 0 8px -1px currentColor}.stream-leg-name{color:var(--text)}.stream-leg-id{color:var(--text-dim);font-family:var(--mono);font-size:10px}.stream-leg-n{color:var(--text);font-weight:700;font-variant-numeric:tabular-nums}.sec-table{width:100%;border-collapse:collapse;font-size:12px}.sec-table thead th{position:sticky;top:0;z-index:1;text-align:left;padding:7px 10px;background:var(--surface-2);color:var(--text-dim);font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.sec-table th.num,.sec-table td.num{text-align:right;font-variant-numeric:tabular-nums}.sec-table td{padding:7px 10px;border-top:1px solid var(--hair);color:var(--text-2);vertical-align:middle}.sec-table tbody tr:hover td{background:var(--surface-2)}.sec-tid{color:var(--accent);font-weight:700;margin-right:4px}.sec-host{color:var(--text)}.sec-rel{color:var(--text-dim);white-space:nowrap}.host-table th.ht-cat{font-size:9.5px}.ht-cat-pip{display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:4px;vertical-align:middle}.host-table .ht-count{font-weight:700;font-variant-numeric:tabular-nums}.host-table .ht-zero{color:var(--text-dim);opacity:.5}.sev-score{display:inline-block;min-width:22px;text-align:center;padding:1px 6px;border:1px solid;border-radius:6px;font-weight:700;font-size:11px;font-variant-numeric:tabular-nums}.netif{display:flex;flex-direction:column;gap:14px}.port-row{display:flex;flex-wrap:wrap;gap:10px;padding:6px 2px}.port{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:78px;padding:10px 8px;border:1.5px solid var(--line);border-radius:var(--r-sm);background:var(--surface);cursor:pointer}.port-up{background:var(--surface)}.port-down{opacity:.55}.port-sel{box-shadow:0 0 0 3px var(--ring)}.port-jack{width:26px;height:16px;border:2px solid var(--line);border-radius:3px}.port-name{font-size:11px;color:var(--text-1)}.port-role{font-size:10px;text-transform:uppercase;letter-spacing:.4px}.port-legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:10px;font-size:11px;color:var(--text-dim)}.port-legend i.port-key{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:5px;vertical-align:middle}.port-key-down{background:transparent;border:1.5px solid var(--text-dim)}.role-chip{display:inline-block;padding:1px 8px;border:1px solid;border-radius:6px;font-size:11px}.netif-actions{margin-top:12px;border-top:1px solid var(--hair);padding-top:12px}.netif-act-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.netif-mgmt{border-top:1px dashed var(--hair);margin-top:8px;padding-top:10px}.link-up{color:var(--sev-low)}.link-down{color:var(--text-dim)}.np-row{display:flex;gap:8px;align-items:center;margin-bottom:8px}.np-name{flex:0 0 200px;padding:7px 9px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--text-1);font-size:13px}.np-wide{flex:1;min-width:0;padding:7px 9px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--text-1);font-size:13px}.np-del{flex:0 0 auto;background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:14px;padding:4px 8px}.np-del:hover{color:var(--danger)}.np-add{margin-top:2px}.np-policy{border:1px solid var(--line);border-radius:var(--r-sm);padding:10px;margin-bottom:10px;background:var(--surface-2)}.np-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-top:8px}.np-field{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--text-dim)}.np-field input{padding:6px 8px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--text-1);font-size:12px}.tac-chips{display:flex;flex-wrap:wrap;gap:4px}.tac-chip{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:600;padding:1px 7px;border-radius:999px;border:1px solid;background:color-mix(in srgb,currentColor 12%,transparent);white-space:nowrap}.tac-pip{width:7px;height:7px;border-radius:50%}.sec-clickable{cursor:pointer;transition:background .12s}.sec-clickable:hover td{background:var(--surface-2)}.sec-sel td{background:color-mix(in srgb,var(--accent) 12%,transparent)}.trace{border:1px solid var(--accent);box-shadow:var(--shadow-sm),0 0 0 1px var(--ring)}.trace-host{color:var(--accent)}.trace-close{background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);width:28px;height:28px;border-radius:8px;cursor:pointer}.trace-close:hover{color:var(--text);border-color:var(--accent)}.trace-note{margin:0 0 12px;font-size:12px;color:var(--text-dim)}.trace-note strong{color:var(--text)}.dir-internal{color:var(--teal);background:#2dd4bf1f;border:1px solid rgba(45,212,191,.3)}.acc-teal{--acc: var(--teal)}.acc-violet{--acc: var(--violet)}.acc-amber{--acc: var(--amber)}.acc-cyan{--acc: var(--cyan)}.acc-pink{--acc: var(--pink)}.acc-blue{--acc: #3b82f6}.acc-lime{--acc: var(--lime)}.panel[class*=acc-]{border-top:2px solid var(--acc)}.panel[class*=acc-] .panel-title{color:var(--acc)}.panel[class*=acc-] .panel-title{letter-spacing:.5px}:root[data-theme=dark] .panel[class*=acc-]{border-top:.5px solid var(--border);box-shadow:none}:root[data-theme=dark] .panel[class*=acc-] .panel-title,:root[data-theme=dark] .panel-title{color:var(--text-dim);text-shadow:none}:root[data-theme=dark] .page-title{background:none;-webkit-background-clip:border-box;background-clip:border-box;color:var(--text);-webkit-text-fill-color:var(--text)}.cg{display:grid;grid-template-columns:116px 1fr 150px;gap:12px;align-items:start}.cg-rail{display:flex;flex-direction:column;gap:8px}.cg-metric{background:var(--surface-2);border:.5px solid var(--border-soft);border-radius:var(--r-sm);padding:8px 10px;border-left:2px solid var(--accent)}.cg-m-label{font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-dim)}.cg-m-val{font-size:19px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text)}.cg-m-val.cg-m-alert{color:var(--sev-critical)}.cg-m-unit{font-size:11px;font-weight:400;color:var(--text-dim)}.cg-canvas{position:relative;min-width:0;height:520px;overflow:hidden;background:radial-gradient(460px 240px at 50% 45%,var(--surface-2),transparent 70%);border-radius:var(--r-sm)}.cg-svg{width:100%;height:100%;display:block}.cg-edge{stroke:var(--accent);stroke-dasharray:3 6;animation:cg-flow 1.1s linear infinite;transition:opacity .15s}.cg-edge-threat{stroke:var(--sev-critical);animation-duration:.8s}@keyframes cg-flow{to{stroke-dashoffset:-18}}.cg-node{cursor:grab;transition:opacity .15s}.cg-node:active{cursor:grabbing}.cg-node:hover{opacity:1}.cg-dim{opacity:.16}.cg-tip{position:absolute;transform:translate(-50%,-135%);pointer-events:none;z-index:5;background:var(--surface-3);border:1px solid var(--accent);border-radius:7px;padding:5px 9px;font-size:11px;display:flex;flex-direction:column;gap:1px;white-space:nowrap;box-shadow:var(--shadow-sm)}.cg-tip-host{color:var(--text-2);font-size:10.5px;font-weight:600}.cg-tip-sub{color:var(--text-dim);font-size:10px}.cg-geo{font-size:11px;color:var(--text-2)}.cg-geo-h{font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-dim);margin-bottom:6px}.cg-geo-row{min-width:0;display:flex;align-items:center;gap:7px;padding:2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cg-geo-dot{width:8px;height:8px;border-radius:50%;flex:none}.cg-geo-more{color:var(--text-dim)}@media (max-width: 1100px){.cg{grid-template-columns:1fr}}.conv-geo{color:var(--text-dim);white-space:nowrap}.conv-vol{display:flex;align-items:center;gap:8px;min-width:120px}.conv-bar{display:block;height:7px;border-radius:999px;background:linear-gradient(90deg,var(--accent-2),var(--accent));min-width:4px;box-shadow:0 0 8px -2px var(--accent)}.conv-n{color:var(--text);font-weight:700;font-variant-numeric:tabular-nums}@media (max-width: 1100px){.sec-grid{grid-template-columns:1fr}}:root[data-theme=dark] body{background:var(--bg)}:root[data-theme=dark] .panel,:root[data-theme=dark] .tile{background:var(--surface);border-color:var(--border);box-shadow:none}:root[data-theme=dark] .panel:hover{border-color:var(--border-soft)}:root[data-theme=dark] .tile:hover{box-shadow:none;border-color:var(--accent)}:root[data-theme=dark] .tile-ico{box-shadow:none}:root[data-theme=dark] .tile-value{text-shadow:none}:root[data-theme=dark] .topbar{border-bottom-color:var(--border)}.dd-host{color:var(--text-dim);font-size:12px}.abuse-reasons{color:var(--amber, #d98a00);font-weight:600}.hi-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:flex-start;justify-content:center;padding:5vh 2vw;z-index:1000;overflow:auto}.hi-panel{background:var(--bg, #0d1117);border:1px solid var(--border, #2a2f3a);border-radius:10px;padding:18px;width:min(1000px,96vw);box-shadow:0 12px 48px #00000080}.fx-decode{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.fx-decode>.btn-ghost{flex:1 1 auto;min-width:116px;justify-content:center}.fx-decode>p,.fx-decode>.fx-reopen{flex:0 0 100%;margin:0}.pkt-decode{margin-top:8px}.pkt-table{width:100%;border-collapse:collapse;font-size:12px}.pkt-table th,.pkt-table td{text-align:left;padding:3px 6px;border-bottom:1px solid var(--border, #2a2f3a)}.pkt-table .num{text-align:right}.pkt-hex{margin-top:8px;padding:8px;background:var(--bg-2, #11161f);border-radius:6px;overflow-x:auto}.pkt-hex-head{font-size:11px;color:var(--text-dim);margin-bottom:4px}.pkt-hex code{font-size:11px;word-break:break-all}.set-danger{border:1px solid var(--sev-critical)}.set-danger .panel-title{color:var(--sev-critical)}.btn-danger{margin-top:10px;padding:8px 16px;font-weight:600;color:#fff;background:color-mix(in srgb,var(--sev-critical) 78%,#000);border:none;border-radius:var(--r-sm);cursor:pointer}.btn-danger:hover:not(:disabled){filter:brightness(1.08)}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.banner-ok{background:color-mix(in srgb,var(--green, #1f9d6b) 16%,transparent);border:1px solid var(--green, #1f9d6b);color:var(--text)}.set-purge-result{list-style:none;margin:12px 0 0;padding:0;max-width:420px;font-size:12.5px}.set-purge-result li{display:flex;justify-content:space-between;gap:8px;padding:4px 0;border-bottom:1px solid var(--border);color:var(--text-2)}.set-purge-result .set-purge-err{color:var(--sev-critical)}.talkers .talker-id{position:relative}.tt-bar{position:absolute;left:0;bottom:-3px;height:2px;background:var(--teal);opacity:.45;border-radius:2px;pointer-events:none}.fx-decode-panel{margin-top:12px}.fx-obj-scroll{overflow-x:auto}.fx-obj-table{width:100%}.fx-obj-table td{vertical-align:middle}.fx-obj-file td{background:color-mix(in srgb,var(--sev-high) 8%,transparent)}.fx-obj-name{display:flex;align-items:center;gap:6px}.fx-obj-name svg{flex:none;color:var(--sev-high)}.fx-obj-table td.num{font-variant-numeric:tabular-nums}.fx-obj-hash,.fx-obj-src{color:var(--text-2)}.fx-obj-src{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fx-dpa-inds{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:6px}.fx-dpa-ind{display:flex;gap:10px;align-items:baseline;padding:8px 10px;border-radius:8px;background:var(--surface-2, rgba(255,255,255,.03));border-left:3px solid var(--border, #444)}.fx-dpa-ind.sev-1{border-left-color:var(--crit, #ef4444)}.fx-dpa-ind.sev-2{border-left-color:var(--warn, #f59e0b)}.fx-dpa-ind.sev-3{border-left-color:var(--muted, #6b7280)}.fx-dpa-kind{text-transform:uppercase;font-size:11px;letter-spacing:.04em;font-weight:700;padding:2px 6px;border-radius:4px;background:#7f7f7f2e;white-space:nowrap}.fx-dpa-detail{font-size:13px}.fx-dpa-stream{margin-top:10px}.fx-dpa-shdr{font-size:12px;opacity:.8;margin-bottom:4px}.fx-dpa-body{max-height:320px;overflow:auto;white-space:pre-wrap;word-break:break-all;font-size:12px;line-height:1.4;padding:10px;border-radius:8px;background:var(--surface-2, rgba(0,0,0,.25));margin:0}.ta-wrap{display:flex;flex-direction:column;gap:14px}.ta-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ta-in{padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:12.5px;min-width:150px}.ta-in.ta-sm{min-width:80px;flex:0 0 auto}.ta-in.ta-wide{flex:1 1 320px;min-width:240px}.ta-in:focus{outline:2px solid var(--accent);outline-offset:1px}.ta-actions{white-space:nowrap;text-align:right}.btn-sm{padding:4px 10px;font-size:11.5px;border-radius:6px}.btn-ghost.danger{color:var(--danger, #d64545)}.sm-wrap{display:flex;flex-direction:column;gap:14px}.sm-bar{height:14px;border-radius:7px;background:var(--surface-2, #eef1f6);overflow:hidden;border:1px solid var(--border)}.sm-bar span{display:block;height:100%;background:var(--accent);transition:width .4s ease}.sm-bar-warn span{background:#d9a13a}.sm-bar-crit span{background:#d64545}.sm-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle}.sm-dot-online{background:#2e9e5b}.sm-dot-offline{background:#d64545}.set-actions{display:flex;gap:10px;align-items:center;margin-top:10px}.set-row{display:flex;align-items:center;gap:10px;margin:6px 0 12px;flex-wrap:wrap}.set-row-stack{flex-direction:column;align-items:flex-start;gap:6px}.bak-cert{width:100%;min-height:96px;resize:vertical;font-size:11px;line-height:1.45}.bak-pubkey{margin:6px 0 0;padding:8px 10px;background:var(--input-bg);border:1px solid var(--line);border-radius:8px;font-size:11px;overflow-x:auto;white-space:pre;-webkit-user-select:all;user-select:all}.set-row input:not([type=checkbox]):not([type=radio]):not([type=file]),.set-row select,.set-row textarea{background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--r-sm);color:var(--text-1);padding:8px 10px;font:inherit;font-size:13px;outline:none}.set-row input:not([type=checkbox]):not([type=radio]):not([type=file])::placeholder,.set-row textarea::placeholder{color:var(--text-dim)}.set-row input:not([type=checkbox]):not([type=radio]):not([type=file]):focus,.set-row select:focus,.set-row textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft, rgba(51,214,200,.15))}.set-label{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.6px}.kg-rule{border:1px solid var(--border);border-radius:8px;padding:12px;margin-bottom:10px;background:var(--surface-2, var(--surface))}.kg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.kg-f{display:flex;flex-direction:column;gap:3px}.kg-f>span{font-size:10px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.kg-sched{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}.kg-days{display:flex;gap:4px}.kg-day{font-size:11px;padding:3px 8px;border-radius:6px;cursor:pointer;border:1px solid var(--border);background:transparent;color:var(--text-dim)}.kg-day.on{background:var(--accent);border-color:var(--accent);color:#fff}.hl-wrap{display:flex;flex-direction:column;gap:16px}.hl-banner{display:flex;align-items:center;gap:14px;padding:16px 20px;border-radius:10px;border:1px solid var(--border);background:var(--surface)}.hl-banner-dot{width:14px;height:14px;border-radius:50%;flex:0 0 auto}.hl-banner-text{flex:1}.hl-banner-title{font-size:17px;font-weight:700;color:var(--text)}.hl-banner-sub{font-size:12.5px;color:var(--text-dim);margin-top:2px}.hl-banner-count{font-size:26px;font-weight:800;color:var(--text)}.hl-banner-count span{font-size:15px;color:var(--text-dim);font-weight:600}.hl-banner.hl-ok .hl-banner-dot{background:#2e9e5b}.hl-banner.hl-warn .hl-banner-dot{background:#d9a13a}.hl-banner.hl-down .hl-banner-dot,.hl-banner.hl-crit .hl-banner-dot{background:#d64545}.hl-banner.hl-unknown .hl-banner-dot{background:#94a3b8}.hl-banner.hl-ok{border-left:4px solid #2e9e5b}.hl-banner.hl-warn{border-left:4px solid #d9a13a}.hl-banner.hl-down,.hl-banner.hl-crit{border-left:4px solid #d64545}.hl-group-title{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-dim);margin:4px 0 8px;font-weight:700}.hl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}.hl-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:12px 14px;border-left:3px solid var(--border)}.hl-card-top{display:flex;align-items:center;gap:8px}.hl-dot{width:9px;height:9px;border-radius:50%;background:#94a3b8;flex:0 0 auto}.hl-name{font-weight:700;font-size:13px;color:var(--text)}.hl-tag{margin-left:auto;font-size:9.5px;color:var(--text-dim);border:1px solid var(--border);border-radius:8px;padding:0 6px}.hl-card-status{font-size:12px;font-weight:600;margin:6px 0 2px}.hl-card-meta{display:flex;justify-content:space-between;font-size:11px;color:var(--text-dim)}.hl-restarts{color:#d9a13a;font-weight:600}.hl-card-detail{margin-top:6px;font-size:11px;line-height:1.4;color:var(--text-dim);word-break:break-word}.set-clear-secret{margin-left:8px;padding:0;border:0;background:none;font-size:11px;color:#c0553f;text-decoration:underline;cursor:pointer}.set-clear-secret:hover{color:#a33f2b}.hl-card.hl-ok{border-left-color:#2e9e5b}.hl-card.hl-ok .hl-dot{background:#2e9e5b}.hl-card.hl-ok .hl-card-status{color:#2e9e5b}.hl-card.hl-warn{border-left-color:#d9a13a}.hl-card.hl-warn .hl-dot{background:#d9a13a}.hl-card.hl-warn .hl-card-status{color:#b8801f}.hl-card.hl-down{border-left-color:#d64545}.hl-card.hl-down .hl-dot{background:#d64545}.hl-card.hl-down .hl-card-status{color:#d64545}.hl-card.hl-crit{border-left-color:#b91c1c}.hl-card.hl-crit .hl-dot{background:#b91c1c}.hl-card.hl-crit .hl-card-status{color:#b91c1c}.hl-card.hl-unknown .hl-card-status{color:var(--text-dim)}.hm{margin-bottom:4px}.hm-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}.hm-tile{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:12px 14px}.hm-tile-label{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.hm-tile-val{font-size:24px;font-weight:800;color:var(--text);margin:2px 0 6px}.hm-tile-val.hm-sm{font-size:18px}.hm-tile-sub{font-size:11px;color:var(--text-dim);min-height:14px}.hm-bar{height:8px;border-radius:5px;background:var(--surface-2, #eef1f6);overflow:hidden;border:1px solid var(--border);margin-bottom:6px}.hm-bar span{display:block;height:100%;transition:width .4s ease}.hm-bar.hm-ok span{background:#2e9e5b}.hm-bar.hm-warn span{background:#d9a13a}.hm-bar.hm-crit span{background:#d64545}.hm-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin-top:10px}.hm-disk{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:12px 14px}.hm-disk-head{display:flex;justify-content:space-between;font-size:12px;font-weight:600;color:var(--text);margin-bottom:6px}.hm-io{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.hm-io-chip{font-size:11px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:3px 10px;color:var(--text-2)}.hm-w{color:var(--accent)}.hm-r{color:var(--text-dim)}.th-wrap{display:grid;grid-template-columns:240px 1fr;gap:14px;align-items:start}.th-keys{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:8px;position:sticky;top:8px;max-height:calc(100vh - 160px);overflow-y:auto}.th-keys-head{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);padding:6px 8px 8px}.th-key{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;background:transparent;border:1px solid transparent;border-radius:7px;padding:7px 9px;cursor:pointer;color:var(--text-2)}.th-key:hover{background:var(--surface-2);color:var(--text)}.th-key.on{background:var(--surface-2);border-color:var(--accent);color:var(--text)}.th-key-name{font-size:13px;font-weight:600}.th-key-tag{font-size:11px;color:var(--text-dim)}.th-main{display:flex;flex-direction:column;gap:14px;min-height:200px}.th-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.th-title{font-size:16px;font-weight:700;margin:0;color:var(--text)}.th-sub{margin:2px 0 0;font-size:12px;color:var(--text-dim)}.th-windows{display:inline-flex;gap:4px;background:var(--surface-2);border:1px solid var(--border);border-radius:9px;padding:3px}.th-win{background:transparent;border:none;color:var(--text-2);border-radius:6px;padding:4px 13px;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s,color .15s}.th-win:hover{color:var(--text)}.th-win.on{background:var(--accent);color:var(--on-accent);box-shadow:0 1px 5px -1px color-mix(in srgb,var(--accent) 55%,transparent)}.th-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.th-stat{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:11px 14px}.th-stat-warn{border-color:var(--sev-high, #e8821e);background:color-mix(in srgb,var(--sev-high, #e8821e) 8%,var(--surface))}.th-stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-dim)}.th-stat-val{font-size:24px;font-weight:800;color:var(--text);margin:2px 0 1px;line-height:1.1}.th-stat-sub{font-size:11px;color:var(--text-dim)}.th-ellip{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.th-viz{display:grid;grid-template-columns:260px 1fr;gap:14px;align-items:start}.th-donut-card,.th-bars-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px 16px}.th-card-head{font-size:12px;font-weight:700;color:var(--text-2);margin-bottom:12px}.th-rows{display:flex;flex-direction:column;gap:7px}.th-row{display:grid;grid-template-columns:18px minmax(110px,300px) 1fr 92px;gap:10px;align-items:center}.th-rank{font-size:11px;font-weight:700;color:var(--text-dim);text-align:center}.th-val{font-size:12px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.th-bar{height:18px;border-radius:5px;background:var(--surface-2, #eef1f6);overflow:hidden;border:1px solid var(--border)}.th-bar span{display:block;height:100%;border-radius:5px;background:var(--accent);transition:width .4s ease}.th-count{font-size:12px;font-weight:700;color:var(--text);text-align:right;font-variant-numeric:tabular-nums}.th-pct{display:inline-block;min-width:34px;margin-left:6px;font-weight:600;color:var(--text-dim)}.th-tip{display:flex;gap:7px;align-items:flex-start;margin-top:2px}.th-tip-ico{color:var(--accent-2, var(--accent))}@media (max-width: 900px){.th-wrap{grid-template-columns:1fr}.th-keys{position:static;max-height:none}}.span-help .set-hint strong{color:var(--text);font-weight:600}.span-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 4px}.span-tab{background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);border-radius:7px;padding:5px 11px;font-size:12px;cursor:pointer}.span-tab:hover{color:var(--text);border-color:var(--accent)}.span-tab.on{background:var(--accent);border-color:var(--accent);color:#fff}.span-note{margin:6px 0 10px}.span-config{white-space:pre;overflow-x:auto;font-size:12px;line-height:1.55}.lic-banner{display:flex;align-items:center;gap:10px;padding:9px 14px;border-radius:9px;margin-bottom:12px;font-size:13px;font-weight:600}.lic-banner-ico{font-size:15px}.lic-block{background:color-mix(in srgb,var(--sev-critical, #d64545) 12%,var(--surface));border:1px solid var(--sev-critical, #d64545);color:var(--sev-critical, #d64545)}.lic-warn{background:color-mix(in srgb,var(--sev-high, #e8821e) 12%,var(--surface));border:1px solid var(--sev-high, #e8821e);color:var(--sev-high, #e8821e)}.lic-status{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:4px 0 6px}.lic-pill{font-size:11px;font-weight:700;padding:2px 10px;border-radius:11px;text-transform:uppercase;letter-spacing:.4px}.lic-pill-ok{background:color-mix(in srgb,#22c55e 16%,transparent);color:#15803d}.lic-pill-warn{background:color-mix(in srgb,var(--sev-high, #e8821e) 18%,transparent);color:#9a5b08}.lic-pill-bad{background:color-mix(in srgb,var(--sev-critical, #d64545) 16%,transparent);color:#b3261e}.lic-co{font-weight:700;color:var(--text)}.lic-meta{font-size:12px;color:var(--text-dim)}.lic-contact{margin-top:2px}.lic-key{width:100%;box-sizing:border-box;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:9px 11px;font-size:12px;resize:vertical;margin-bottom:8px}.lic-key:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--ring, rgba(31,111,235,.3))}.cc{display:flex;flex-direction:column;gap:12px}.cc-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.cc-kpi{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 15px;transition:border-color .15s,transform .06s}.cc-kpi:hover{border-color:var(--accent)}.cc-kpi-label{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-dim)}.cc-kpi-val{font-size:28px;font-weight:800;color:var(--text);line-height:1.15;margin:2px 0 1px;font-variant-numeric:tabular-nums}.cc-kpi-sub{font-size:11.5px;color:var(--text-dim)}.cc-kpi-up .cc-kpi-sub{color:#15803d}.cc-kpi-down .cc-kpi-sub{color:var(--text-dim)}.cc-kpi-bad{border-color:color-mix(in srgb,var(--sev-critical, #d64545) 45%,var(--border))}.cc-kpi-bad .cc-kpi-val{color:var(--sev-critical, #d64545)}.cc-row{display:grid;gap:12px;align-items:start}.cc-row-a{grid-template-columns:1.2fr .8fr}.cc-row-b{grid-template-columns:1fr 1fr .7fr}.cc-panel{padding:14px 16px}.cc-gauge-panel{display:flex;flex-direction:column}@media (max-width: 1100px){.cc-kpis{grid-template-columns:repeat(2,1fr)}.cc-row-a,.cc-row-b{grid-template-columns:1fr}}.pie{display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:center}.pie-wedge{transition:opacity .15s}.pie:hover .pie-wedge{opacity:.92}.pie-legend{list-style:none;margin:0;padding:0;font-size:12.5px;color:var(--text-2);min-width:150px}.pie-legend li{display:flex;align-items:center;gap:8px;padding:3px 0}.pie-dot{width:10px;height:10px;border-radius:3px;flex:none}.pie-lab{color:var(--text)}.pie-val{margin-left:auto;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.pie-pct{display:inline-block;min-width:36px;text-align:right;margin-left:6px;color:var(--text-dim);font-weight:600}.funnel-row text{pointer-events:none}.funnel-lab{fill:#fff;font-size:12.5px;font-weight:700}.funnel-row polygon{transition:opacity .15s}.funnel:hover .funnel-row polygon{opacity:.9}.radar-ring{fill:none;stroke:var(--border);stroke-width:1}.radar-spoke{stroke:var(--border-soft, var(--border));stroke-width:1}.radar-area{fill:color-mix(in srgb,var(--accent) 22%,transparent);stroke:var(--accent);stroke-width:1.6}.radar-pt{fill:var(--accent)}.radar-lab{fill:var(--text-dim);font-size:10px}.gauge{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1}.gauge-track{stroke:var(--surface-2, #eef1f6);stroke-width:13}.gauge-val{fill:var(--text);font-size:30px;font-weight:800}.gauge-sub{fill:var(--text-dim);font-size:11px}.gauge-level{font-size:13px;font-weight:700;margin-top:2px}@media (prefers-reduced-motion: reduce){.cc-kpi,.pie-wedge,.funnel-row polygon{transition:none}}.pie3d{display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:center}.pie3d-wedge{transition:opacity .15s}.pie3d svg,.gauge svg,.radar{filter:drop-shadow(0 5px 9px rgba(15,23,42,.12))}.th-bar span,.cc .th-bar span{box-shadow:inset 0 1.5px #ffffff80,inset 0 -2px 3px #0000002e}.funnel{filter:drop-shadow(0 6px 11px rgba(15,23,42,.16))}.funnel-lab{paint-order:stroke;stroke:#0000002e;stroke-width:.4}.cc-panel,.cc-kpi,.th-donut-card,.th-bars-card,.th-stat{box-shadow:0 1px 3px #0f172a12}.cc-kpi:hover{box-shadow:0 4px 12px #0f172a1f;transform:translateY(-1px)}@media (prefers-reduced-motion: reduce){.cc-kpi:hover{transform:none}.pie3d-wedge{transition:none}}.fa-bar-fill{box-shadow:inset 0 1.5px #ffffff73,inset 0 -2px 3px #00000029}.geo-packet{filter:drop-shadow(0 0 2.5px rgba(255,255,255,.85))}.geo-dot{filter:drop-shadow(0 0 4px currentColor)}.assist-shell{display:flex;gap:16px;height:100%;width:100%;max-width:1140px;margin:0 auto}.assist-history{flex:0 0 208px;display:flex;flex-direction:column;gap:8px;border-right:1px solid var(--line, #e2e8f2);padding-right:12px;min-height:0}.assist-new{font:inherit;font-size:13px;font-weight:650;cursor:pointer;padding:9px 12px;border:1px solid var(--line, #e2e8f2);border-radius:10px;background:var(--surface, #fff);color:var(--brand, #1f6feb)}.assist-new:hover{background:var(--brand-tint, #eaf1ff)}.assist-hist-h{font-size:10.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted, #64748b);padding:2px 4px}.assist-history .search{flex:none;width:100%;min-width:0;height:34px;margin:2px 0 4px}.assist-history .search input{font-size:12.5px}.assist-hist-group{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-dim);padding:8px 4px 3px}.assist-hist-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:2px;min-height:0}.assist-hist-empty{font-size:12px;padding:4px}.assist-hist-item{display:flex;align-items:center;justify-content:space-between;gap:6px;text-align:left;width:100%;font:inherit;cursor:pointer;border:0;background:transparent;color:inherit;padding:7px 9px;border-radius:8px}.assist-hist-item:hover{background:var(--surface-2, #f2f5fa)}.assist-hist-item.active{background:var(--brand-tint, #eaf1ff)}.assist-hist-body{display:flex;flex-direction:column;min-width:0}.assist-hist-title{min-width:0;font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assist-hist-item.active .assist-hist-title{color:var(--brand, #1f6feb);font-weight:600}.assist-hist-time{font-size:10.5px;color:var(--muted, #64748b)}.assist-hist-del{flex:0 0 auto;opacity:0;font-size:16px;line-height:1;color:var(--muted, #64748b);padding:0 2px}.assist-hist-item:hover .assist-hist-del{opacity:.8}.assist-hist-del:hover{opacity:1;color:var(--sev-critical, #e5484d)}.assist-wrap{display:flex;flex-direction:column;height:100%;min-height:0;flex:1 1 auto;min-width:0;max-width:900px;margin:0 auto;width:100%}@media (max-width: 900px){.assist-shell{flex-direction:column}.assist-history{flex-basis:auto;border-right:0;border-bottom:1px solid var(--line, #e2e8f2);padding-right:0;padding-bottom:10px}.assist-hist-list{max-height:132px}}.assist-bar{display:flex;justify-content:flex-end;padding:0 2px 6px}.assist-clear{font:inherit;font-size:12px;color:var(--text-dim);background:transparent;border:1px solid var(--border);border-radius:8px;padding:5px 11px;cursor:pointer}.assist-clear:hover{color:var(--sev-critical);border-color:var(--sev-critical)}.assist-stream{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:14px;padding:8px 2px 16px}.assist-empty{padding:20px 0;display:flex;flex-direction:column;gap:16px}.assist-turn{display:flex;gap:10px;align-items:flex-start;max-width:84%;animation:assist-in .18s ease-out}.assist-turn.assist{align-self:flex-start}.assist-turn.you{align-self:flex-end;flex-direction:row-reverse}@keyframes assist-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.assist-avatar{flex:0 0 auto;width:30px;height:30px;border-radius:9px;margin-top:2px;display:grid;place-items:center;font-size:10.5px;font-weight:700;letter-spacing:.3px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-dim)}.assist-turn.assist .assist-avatar{background:var(--accent);color:var(--on-accent);border-color:transparent}.assist-bubble{min-width:0;background:var(--surface-2, #f2f5fa);border:1px solid var(--line, #e2e8f2);border-radius:14px;padding:10px 14px;box-shadow:var(--shadow-sm)}.assist-turn.you .assist-bubble{background:var(--nav-active-bg);border-color:transparent}.assist-meta{display:flex;align-items:baseline;gap:8px;margin-bottom:3px;min-height:13px}.assist-who{font-size:11px;text-transform:uppercase;letter-spacing:.3px;color:var(--muted, #64748b)}.assist-time{font-size:10.5px;color:var(--text-dim);cursor:default}.assist-turn.you .assist-meta{justify-content:flex-end}.assist-actions{display:flex;gap:4px;margin-top:8px}.assist-actions button{font:inherit;font-size:11px;color:var(--text-dim);background:transparent;border:0;border-radius:6px;padding:3px 7px;cursor:pointer;transition:color .12s,background .12s}.assist-actions button:hover:not(:disabled){color:var(--text);background:var(--surface-3, var(--surface-2))}.assist-actions button:disabled{opacity:.5;cursor:default}.assist-typing{display:inline-flex;gap:4px;padding:4px 0}.assist-typing span{width:6px;height:6px;border-radius:50%;background:var(--text-dim);animation:assist-bounce 1s ease-in-out infinite}.assist-typing span:nth-child(2){animation-delay:.15s}.assist-typing span:nth-child(3){animation-delay:.3s}@keyframes assist-bounce{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.assist-bubble p{margin:0;line-height:1.5;white-space:pre-wrap}.assist-body{display:flex;flex-direction:column;gap:4px;line-height:1.5}.assist-line{margin:0;line-height:1.5;white-space:pre-wrap}.assist-head{font-weight:700;font-size:13.5px;margin-bottom:1px}.assist-row{display:flex;gap:10px;align-items:baseline}.assist-k{flex:0 0 120px;color:var(--muted, #64748b);font-size:12px;font-weight:600}.assist-v{flex:1 1 auto;min-width:0;word-break:break-word}.assist-note{color:var(--muted, #64748b);font-size:12.5px;margin-top:3px}.assist-item{position:relative;padding-left:16px;line-height:1.5}.assist-item:before{content:"•";position:absolute;left:3px;color:var(--brand, #1f6feb)}@media (max-width: 560px){.assist-row{flex-direction:column;gap:1px}.assist-k{flex-basis:auto}}.assist-cites{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px}.assist-cites-label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim)}.assist-cite{font-size:11px;background:var(--surface, #fff);border:1px solid var(--line, #e2e8f2);border-radius:999px;padding:2px 9px;color:var(--muted, #64748b)}.assist-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.assist-chips.small{margin-top:8px}.assist-chip{font:inherit;font-size:12.5px;cursor:pointer;background:var(--surface, #fff);border:1px solid var(--line, #e2e8f2);border-radius:999px;padding:5px 12px;color:var(--brand, #1f6feb)}.assist-chip:hover{background:var(--brand-tint, #eaf1ff)}.assist-wrap .assist-input{flex:0 0 auto;display:flex;align-items:flex-end;gap:8px;padding:10px 0 4px;border-top:1px solid var(--line, #e2e8f2);background:none;border-radius:0}.assist-wrap .assist-input textarea{flex:1 1 auto;min-height:44px;max-height:160px;resize:none;overflow-y:auto;padding:11px 12px;border:1px solid var(--line, #e2e8f2);border-radius:12px;font:inherit;line-height:1.45;background:var(--surface, #fff);color:inherit;transition:border-color .15s,box-shadow .15s}.assist-wrap .assist-input textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}.assist-send{flex:0 0 auto;width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:11px;color:var(--on-accent);background:var(--brand, #1f6feb);cursor:pointer;transition:filter .12s,opacity .12s}.assist-send:hover:not(:disabled){filter:brightness(1.06)}.assist-send:disabled{opacity:.4;cursor:default}.assist-hint{flex:0 0 auto;margin:4px 2px 0;font-size:11px;color:var(--text-dim);display:flex;align-items:center;gap:10px;flex-wrap:wrap}.assist-dig{display:inline-flex;align-items:center;gap:5px;cursor:pointer;color:var(--text-2)}.assist-dig input{accent-color:var(--accent);cursor:pointer}.assist-hint kbd{font-family:var(--mono);font-size:10.5px;padding:1px 5px;border-radius:5px;background:var(--chip-bg);border:1px solid var(--border);color:var(--text-2)}.pill{display:inline-block;padding:1px 9px;border-radius:999px;font-size:11px;font-weight:650;text-transform:capitalize;background:var(--surface-2, #f2f5fa);border:1px solid var(--line, #e2e8f2)}.pill.ok{background:#2ea04324;color:#2ea043;border-color:#2ea04359}.pill.warn{background:#d2992224;color:#d29922;border-color:#d2992259}.pill.bad{background:#e5484d24;color:#e5484d;border-color:#e5484d59}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;background:var(--text-dim, #64748b);flex:0 0 auto}.dot.ok{background:#2ea043}.dot.warn{background:#d29922}.dot.bad{background:#e5484d}.btn-secondary{padding:8px 16px;border:1px solid var(--line, #e2e8f2);border-radius:9px;font:inherit;font-weight:600;background:var(--surface, #fff);color:inherit;cursor:pointer}.btn-secondary:hover{background:var(--surface-2, #f2f5fa)}.assist-fab{position:fixed;right:22px;bottom:22px;z-index:45;transition:right .22s ease,transform .15s ease,box-shadow .15s ease,background .15s ease;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;cursor:pointer;background:var(--accent);color:#fff;border:1px solid var(--accent);box-shadow:0 10px 26px -8px var(--ring),0 2px 6px #0000002e;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.assist-fab:hover{background:var(--accent-2);transform:translateY(-2px);box-shadow:0 14px 30px -8px var(--ring),0 3px 8px #00000038}.assist-fab:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ring),0 10px 26px -8px var(--ring)}.assist-fab.open{right:calc(min(440px,100vw) + 22px);z-index:70;background:var(--surface);color:var(--text);border-color:var(--border);box-shadow:0 10px 26px -8px #00000073}.assist-fab.open:hover{background:var(--surface-2)}.assist-fab.open span{font-size:18px;line-height:1}.assist-dock-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:65;display:flex;justify-content:flex-end;background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fade .2s ease}.assist-dock{width:min(440px,100vw);height:100%;display:flex;flex-direction:column;min-height:0;background:var(--surface);border-left:1px solid var(--border);box-shadow:-20px 0 50px -20px #0009;animation:slidein .22s ease}.assist-dock-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border)}.assist-dock-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:650;color:var(--text)}.assist-dock-title svg{color:var(--accent)}.assist-dock-close{background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);width:30px;height:30px;border-radius:8px;cursor:pointer;flex:none}.assist-dock-close:hover{color:var(--text);border-color:var(--accent)}.assist-dock-close:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ring)}.assist-dock .assist-shell{flex:1 1 auto;min-height:0;padding:12px 14px 10px}.assist-shell.compact{max-width:none;gap:0}.assist-shell.compact .assist-history{display:none}.assist-shell.compact .assist-wrap{max-width:none}@media (max-width: 520px){.assist-dock{width:100vw}.assist-fab{right:14px;bottom:14px}.assist-fab.open{display:none}}@media (prefers-reduced-motion: reduce){.assist-fab,.assist-fab.open{transition:none}.assist-fab:hover{transform:none}.assist-dock,.assist-dock-overlay{animation:none}}.deploy-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.deploy-card{background:var(--surface, #fff);border:1px solid var(--line, #e2e8f2);border-radius:12px;padding:14px 16px}.deploy-card-h{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim, #64748b);margin-bottom:10px}.deploy-row{display:flex;justify-content:space-between;gap:12px;padding:4px 0;font-size:13px}.deploy-k{color:var(--text-dim, #64748b)}.deploy-v{font-weight:600;text-align:right}.deploy-section{margin-top:22px}.deploy-h{font-size:13px;margin:0 0 10px}.deploy-layers{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.deploy-layer{background:var(--surface, #fff);border:1px solid var(--line, #e2e8f2);border-radius:10px;padding:10px 12px}.deploy-layer-h{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--brand, #1f6feb);margin-bottom:8px}.deploy-svc{display:flex;align-items:center;gap:8px;padding:3px 0;font-size:12.5px}.deploy-svc-name{flex:1}.deploy-svc-status{color:var(--text-dim, #64748b);font-size:11px}.deploy-disks{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.deploy-disk-top{display:flex;justify-content:space-between;font-size:12.5px;margin-bottom:5px}.deploy-bar{height:7px;border-radius:4px;background:var(--surface-2, #eef2f7);overflow:hidden}.deploy-bar>span{display:block;height:100%;background:var(--brand, #1f6feb)}.horizon-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px}.hz-metric{background:var(--surface, #fff);border:1px solid var(--line, #e2e8f2);border-radius:12px;padding:12px 16px}.hz-metric-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim, #64748b)}.hz-metric-val{font-size:24px;font-weight:700;margin-top:4px}.hz-metric-val.alert{color:#e5484d}.horizon-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}.hz-panel{background:var(--surface, #fff);border:1px solid var(--line, #e2e8f2);border-radius:12px;padding:14px 16px}.hz-panel-h{font-size:13px;margin:0 0 12px}.hz-bars{display:flex;flex-direction:column;gap:8px}.hz-bar-row{display:grid;grid-template-columns:140px 1fr 34px;align-items:center;gap:10px;font-size:12.5px}.hz-bar-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hz-bar-track{height:8px;border-radius:4px;background:var(--surface-2, #eef2f7);overflow:hidden}.hz-bar-fill{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2))}.hz-bar-count{text-align:right;font-weight:600;color:var(--text-dim, #64748b)}.horizon-note{margin-top:16px;font-size:12px}.cfg{max-width:900px}.cfg-intro{font-size:13px;margin:0 0 14px}.cfg-table{border:1px solid var(--line, #e2e8f2);border-radius:10px;overflow:hidden}.cfg-thead,.cfg-trow{display:grid;grid-template-columns:90px 90px 1fr 1fr 36px;gap:10px;align-items:center;padding:8px 12px}.cfg-thead{background:var(--surface-2, #f2f5fa);font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-dim, #64748b)}.cfg-trow{border-top:1px solid var(--line, #e2e8f2)}.cfg-trow input,.cfg-trow select{padding:7px 9px;border:1px solid var(--line, #e2e8f2);border-radius:8px;font:inherit;background:var(--surface, #fff);color:inherit;width:100%}.cfg-del{border:0;background:transparent;color:var(--text-dim, #64748b);font-size:18px;cursor:pointer}.cfg-del:hover{color:#e5484d}.cfg-empty{padding:16px 12px;font-size:13px}.cfg-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:14px}.tic-presets{display:flex;align-items:center;gap:8px;margin-bottom:18px}.tic-presets-label{font-size:12px;color:var(--text-dim, #64748b);margin-right:4px}.tic-preset{padding:6px 14px;border:1px solid var(--line, #e2e8f2);border-radius:999px;font:inherit;font-size:12.5px;text-transform:capitalize;background:var(--surface, #fff);color:inherit;cursor:pointer}.tic-preset.active{background:var(--brand-tint, #eaf1ff);color:var(--brand, #1f6feb);border-color:var(--brand, #1f6feb)}.tic-knobs{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.tic-knob-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.tic-knob-top label{font-size:13px;font-weight:600}.tic-knob-val{font-variant-numeric:tabular-nums;font-weight:700;color:var(--brand, #1f6feb)}.tic-knob input[type=range]{width:100%;accent-color:var(--brand, #1f6feb)}.tic-knob-help{font-size:11.5px;margin:5px 0 0}::selection{background:color-mix(in srgb,var(--accent) 28%,transparent);color:var(--text)}*{scrollbar-width:thin;scrollbar-color:var(--surface-3) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:8px;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}.icon-btn,.nav-item,.btn,.btn-ghost,.btn-primary,.btn-danger,.set-card,.tile,.panel,.sev,.chip,.user-chip,.pill,.dd-vbtn,.ret-cap-item{transition:background .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.tile:hover,.set-card:hover{border-color:color-mix(in srgb,var(--accent) 30%,var(--border));box-shadow:var(--shadow-sm)}.panel{box-shadow:none}.btn-primary{background:var(--accent);color:var(--on-accent);border-color:transparent}.btn-primary:hover{filter:brightness(1.06)}.btn:active,.btn-primary:active,.btn-ghost:active,.icon-btn:active{transform:translateY(.5px) scale(.985)}input:focus,select:focus,textarea:focus{border-color:var(--accent)}.alert-row[data-sev="1"] td:first-child{box-shadow:inset 3px 0 0 var(--sev-critical)}.alert-row[data-sev="2"] td:first-child{box-shadow:inset 3px 0 0 var(--sev-high)}.alert-row[data-sev="3"] td:first-child{box-shadow:inset 3px 0 0 var(--sev-medium)}.alert-row[data-sev="4"] td:first-child{box-shadow:inset 3px 0 0 var(--sev-low)}.alert-row[data-sev="5"] td:first-child{box-shadow:inset 3px 0 0 var(--text-dim)}:root{--r: 12px;--r-sm: 9px;--r-xs: 7px;--ease: cubic-bezier(.22, 1, .36, 1);--font: "IBM Plex Sans", "Inter Variable", "Inter", system-ui, -apple-system, sans-serif;--mono: "IBM Plex Mono", "JetBrains Mono", ui-monospace, monospace}:root[data-theme=dark]{--bg: #0A0D13;--sidebar: #0B0F16;--surface: #131823;--surface-2: #191F2C;--surface-3: #212939;--border: rgba(148,166,204,.1);--border-soft: rgba(148,166,204,.06);--border-strong: rgba(148,166,204,.2);--line: rgba(148,166,204,.1);--hair: rgba(148,166,204,.06);--text: #EDF1F8;--text-1: #EDF1F8;--text-2: #A9B3C6;--text-dim: #7E8AA0;--accent: #F0763A;--accent-2: #2DD4BF;--on-accent: #1A0E05;--accent-soft: rgba(240,118,58,.12);--sev-critical: #FF5C5C;--sev-high: #F5923E;--sev-medium: #E8C043;--sev-low: #4ADE80;--ok: #4ADE80;--bad: #FF5C5C;--danger: #FF5C5C;--cat-int: #2DD4BF;--cat-ext: #E8C043;--cat-mal: #FF5C5C;--teal: #2DD4BF;--violet: #A78BFA;--amber: #E8C043;--pink: #F472B6;--lime: #A3E635;--cyan: #38BDF8;--tac-c2: #F0763A;--tac-exfil: #FF5C5C;--tac-lateral: #4ADE80;--tac-discovery: #2DD4BF;--tac-initial: #A78BFA;--tac-cred: #818CF8;--tac-defense: #E8C043;--tac-other: #7E8AA0;--shadow-sm: 0 1px 2px rgba(0,0,0,.35);--shadow: 0 1px 2px rgba(0,0,0,.35), 0 10px 28px rgba(0,0,0,.4);--glass: rgba(10,13,19,.75);--scrim: rgba(3,6,11,.6);--topbar-bg: #0A0D13;--nav-active-bg: rgba(240,118,58,.1);--nav-active-text: #F0763A;--input-bg: #11151E;--chip-bg: #191F2C;--code-bg: #0E1219;--track: #212939;--ring: rgba(240,118,58,.35);--focus: #F0763A;--bg-grad-1: rgba(240,118,58,.05);--bg-grad-2: rgba(45,212,191,.04)}:root[data-theme=light]{--bg: #F4F7FC;--sidebar: #FFFFFF;--surface: #FFFFFF;--surface-2: #EEF3FA;--surface-3: #E2EAF5;--border: rgba(29,58,102,.1);--border-soft: rgba(29,58,102,.06);--border-strong: rgba(29,58,102,.18);--line: rgba(29,58,102,.1);--hair: rgba(29,58,102,.06);--text: #0B1B33;--text-1: #0B1B33;--text-2: #3D5170;--text-dim: #57698A;--accent: #1B66D1;--accent-2: #1D6FE0;--on-accent: #FFFFFF;--accent-soft: rgba(27,102,209,.1);--sev-critical: #DC2626;--sev-high: #F97316;--sev-medium: #CA8A04;--sev-low: #15803D;--ok: #15803D;--bad: #DC2626;--danger: #DC2626;--cat-int: #0E9384;--cat-ext: #CA8A04;--cat-mal: #DC2626;--teal: #0E9384;--violet: #7C3AED;--amber: #B45309;--pink: #DB2777;--lime: #65A30D;--cyan: #0284C7;--tac-c2: #1D6FE0;--tac-exfil: #DC2626;--tac-lateral: #15803D;--tac-discovery: #0E9384;--tac-initial: #7C3AED;--tac-cred: #4F46E5;--tac-defense: #B45309;--tac-other: #57698A;--shadow-sm: 0 1px 2px rgba(29,58,102,.05);--shadow: 0 1px 2px rgba(29,58,102,.05), 0 12px 30px rgba(29,58,102,.12);--glass: rgba(244,247,252,.96);--scrim: rgba(15,23,42,.35);--topbar-bg: #F4F7FC;--nav-active-bg: rgba(27,102,209,.1);--nav-active-text: #1B66D1;--input-bg: #FFFFFF;--chip-bg: #EEF3FA;--code-bg: #F4F7FC;--track: #E2EAF5;--ring: rgba(27,102,209,.32);--focus: #1B66D1;--bg-grad-1: rgba(59,130,246,.05);--bg-grad-2: rgba(13,148,136,.03)}body{background:radial-gradient(1100px 500px at 78% -10%,color-mix(in srgb,var(--accent) 6%,transparent),transparent 60%),radial-gradient(900px 480px at 8% 108%,color-mix(in srgb,var(--accent-2) 5%,transparent),transparent 60%),var(--bg)}.sidebar{border-right:1px solid var(--border)}.nav-item{position:relative;border-radius:var(--r-sm);transition:background .18s var(--ease),color .18s var(--ease)}.nav-item.active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2.5px;border-radius:0 3px 3px 0;background:var(--accent);box-shadow:0 0 10px color-mix(in srgb,var(--accent) 60%,transparent)}.topbar{background:var(--topbar-bg, var(--glass));border-bottom:1px solid var(--border)}.panel,.set-card{background:linear-gradient(180deg,color-mix(in srgb,var(--text) 1.5%,transparent),transparent 45%),var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:none}.tile{position:relative;overflow:hidden;border-radius:var(--r);transition:transform .22s var(--ease),border-color .22s var(--ease),box-shadow .22s var(--ease)}.tile:after{content:"";position:absolute;inset:0 0 auto 0;height:1.5px;background:linear-gradient(90deg,transparent,var(--tile-accent, var(--accent)) 30%,var(--tile-accent, var(--accent)) 70%,transparent);opacity:.55}.tile:hover,.mod-tile:hover,.inc-card:hover,.cmp-card:hover,.set-card:hover{transform:translateY(-2px);border-color:var(--border-strong);box-shadow:var(--shadow)}:root[data-theme=dark] .tile:hover{box-shadow:var(--shadow);border-color:var(--border-strong)}.tile-label,.inv-table th,.alert-table th,.sec-table th,.cfg-thead,.apm-table th{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);font-weight:500}.inv-table th,.alert-table th,.sec-table th{border-bottom:1px solid var(--border-strong)}.alert-row.clickable:hover td,.inv-table tr:hover td,.sec-table tr.sec-clickable:hover td{background:color-mix(in srgb,var(--text-dim) 4.5%,transparent)}.badge.sev-critical{background:color-mix(in srgb,var(--sev-critical) 11%,transparent);color:var(--sev-critical)}.badge.sev-high{background:color-mix(in srgb,var(--sev-high) 11%,transparent);color:var(--sev-high)}.badge.sev-medium{background:color-mix(in srgb,var(--sev-medium) 11%,transparent);color:var(--sev-medium)}.badge.sev-low{background:color-mix(in srgb,var(--sev-low) 11%,transparent);color:var(--sev-low)}.btn,.btn-primary,.btn-ghost,.btn-danger,.btn-secondary{border-radius:var(--r-sm);transition:all .18s var(--ease)}.btn-primary{background:var(--accent);color:var(--on-accent);border:1px solid var(--accent)}.btn-ghost:hover{border-color:color-mix(in srgb,var(--accent) 50%,transparent);color:var(--accent)}.btn:focus-visible,.icon-btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ring)}.search:focus-within{border-color:color-mix(in srgb,var(--accent) 50%,transparent);box-shadow:0 0 0 3px var(--accent-soft)}.donut-seg{stroke-linecap:butt}.donut-total{font-size:24px;font-weight:600;fill:var(--text)}.spinner{border:1.6px solid var(--border-strong);border-top-color:var(--accent)}.banner-error{background:color-mix(in srgb,var(--danger) 10%,transparent);border:1px solid color-mix(in srgb,var(--danger) 25%,transparent);color:var(--danger)}.banner-ok{background:color-mix(in srgb,var(--ok) 10%,transparent);border:1px solid color-mix(in srgb,var(--ok) 25%,transparent);color:var(--ok)}.rise{opacity:0;transform:translateY(12px);animation:rise .7s var(--ease) forwards}@keyframes rise{to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.rise{opacity:1;transform:none;animation:none}}.tile-valrow{display:flex;align-items:baseline;gap:8px}.tile-delta{font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;display:inline-flex;align-items:baseline;gap:4px}.tile-delta-of{font-size:9.5px;font-weight:500;color:var(--text-dim);white-space:nowrap}.tile-delta.up{color:var(--sev-low)}.tile-delta.down{color:var(--sev-critical)}.tile-delta.flat{color:var(--text-dim)}.tile-pill{margin-left:auto;font-size:9.5px;letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;border-radius:99px;font-weight:600;white-space:nowrap}.tile-pill.ok{background:color-mix(in srgb,var(--ok) 14%,transparent);color:var(--ok)}.tile-pill.warn{background:color-mix(in srgb,var(--sev-medium) 16%,transparent);color:var(--sev-medium)}.tile-pill.bad{background:color-mix(in srgb,var(--sev-critical) 14%,transparent);color:var(--sev-critical)}.tile-pill.accent{background:var(--accent-soft);color:var(--accent)}.tile-spark{margin:8px -16px -14px;line-height:0;opacity:.85}.tile-link{cursor:pointer}.tile-link:hover{border-color:var(--border-strong)}.tile-link:active{transform:translateY(0)}.re-list{list-style:none;margin:0;padding:4px 0 0;display:flex;flex-direction:column}.re-row{padding:10px 4px;border-top:1px solid var(--border)}.re-row:first-child{border-top:0}.re-id{display:flex;align-items:center;gap:8px;font-size:12.5px}.re-ip{font-weight:500}.re-tier{margin-left:auto;font-size:9.5px;letter-spacing:.06em;font-weight:600}.re-score{font-size:14px;font-weight:600;min-width:30px;text-align:right}.re-track{position:relative;height:6px;border-radius:99px;background:var(--track);margin:7px 0 6px;overflow:hidden}.re-fill{position:absolute;inset:0 auto 0 0;border-radius:99px;transition:width .5s var(--ease, ease)}.re-tick{position:absolute;top:-1px;bottom:-1px;width:1px;background:var(--border-strong)}.re-sigs{display:flex;flex-wrap:wrap;gap:5px}.re-sig{font-size:10px;padding:2px 7px;border-radius:99px;background:var(--chip-bg);color:var(--text-2);border:1px solid var(--border);white-space:nowrap}.ops3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}@media (max-width: 1100px){.ops3{grid-template-columns:1fr}}.ops-panel{min-height:150px}.ops-empty{padding:18px 4px;font-size:12.5px;display:flex;flex-direction:column;gap:6px}.ops-empty strong{color:var(--text-1);font-size:13px}.ops-empty span{line-height:1.5}.ops-list{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:2px}.ops-row{display:flex;align-items:center;gap:9px;padding:7px 2px;border-top:1px solid var(--border);font-size:12.5px}.ops-row:first-child{border-top:0}.ops-dot{width:8px;height:8px;border-radius:50%;flex:none}.ops-name{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ops-val{font-weight:500}.ops-sub{color:var(--text-dim);font-size:11px;min-width:48px;text-align:right}.ops-vault{display:flex;align-items:center;gap:16px;padding:8px 2px}.ops-ring{text-align:center}.ops-ring-v{font-size:26px;font-weight:600;color:var(--accent);line-height:1}.ops-ring-l{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin-top:4px}.ops-kv{flex:1;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}.ops-kv div{display:flex;flex-direction:column}.ops-kv dt{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim)}.ops-kv dd{margin:1px 0 0;font-size:13px;color:var(--text-1)}.ops-bars{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.ops-bar-row{display:flex;align-items:center;gap:8px;font-size:12px}.ops-bar-key{width:56px;color:var(--text-2);flex:none}.ops-bar-track{flex:1;height:8px;border-radius:99px;background:var(--track);overflow:hidden}.ops-bar-fill{display:block;height:100%;border-radius:99px;background:var(--accent)}.ops-bar-val{min-width:62px;text-align:right;color:var(--text-2)}.ops-foot{margin-top:8px;font-size:10.5px}.atkc-panel .panel-head{margin-bottom:12px}.atkc{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}@media (min-width: 1280px){.atkc{grid-template-columns:repeat(8,1fr)}}.atkc-col{display:flex;flex-direction:column;gap:6px;min-width:0}.atkc-h{min-width:0;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);padding-bottom:4px;border-bottom:1px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ttp{border:1px solid var(--border);border-radius:8px;padding:6px 8px;background:var(--surface-2);transition:transform .16s var(--ease),border-color .16s var(--ease);cursor:default}.ttp:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.ttp-id{display:flex;align-items:center;justify-content:space-between;gap:6px}.ttp .tid{font-family:var(--mono);font-size:10.5px;color:var(--text-2)}.ttp-c{font-family:var(--mono);font-size:10px;font-weight:600;line-height:1;padding:2px 5px;border-radius:999px;color:#fff;background:var(--accent)}.ttp-n{font-size:10.5px;color:var(--text-1);margin-top:2px;line-height:1.25}.ttp.q{opacity:.48}.ttp.q .ttp-n{color:var(--text-2)}.ttp.h1{border-color:color-mix(in srgb,var(--accent) 30%,var(--border))}.ttp.h2{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--surface-2))}.ttp.h3{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,var(--surface-2))}.inc-strip .panel-head{margin-bottom:12px}.inc-empty{padding:14px 4px;font-size:13px}.inc-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.inc-card{text-align:left;border:1px solid var(--border);border-left:3px solid var(--edge, var(--accent));border-radius:10px;background:var(--surface-2);padding:12px 14px;display:flex;flex-direction:column;gap:8px;cursor:pointer;transition:transform .16s var(--ease),border-color .16s var(--ease),box-shadow .16s var(--ease)}.inc-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px #0000002e;border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}.inc-top{display:flex;align-items:center;justify-content:space-between}.inc-sev{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.inc-status{font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-2);border:1px solid var(--border);border-radius:999px;padding:2px 8px}.inc-entity{min-width:0;font-size:14px;font-weight:600;color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inc-tactics{display:flex;flex-wrap:wrap;gap:5px}.inc-tac{font-size:10px;color:var(--text-2);background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:2px 6px}.inc-foot{display:flex;flex-wrap:wrap;gap:6px;font-size:11px;color:var(--text-2)}.tt-wrap{display:flex;flex-direction:column;gap:14px}.tt-donut{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.tt-donut svg{flex:0 0 auto}.tt-donut-v{font-family:var(--mono);font-size:20px;font-weight:700;fill:var(--text-1)}.tt-donut-l{font-size:8px;letter-spacing:.1em;text-transform:uppercase;fill:var(--text-2)}.tt-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}.tt-legend li{display:flex;align-items:center;gap:8px;font-size:12px}.tt-dot{width:9px;height:9px;border-radius:3px;flex:0 0 auto}.tt-leg-key{color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.tt-leg-pct{color:var(--text-2);font-weight:600}.assist-peek .panel-title{display:inline-flex;align-items:center;gap:8px}.assist-peek .panel-title svg{width:18px;height:18px;color:var(--accent)}.assist-tag{font-size:9px;font-weight:700;letter-spacing:.08em;padding:2px 6px;border-radius:999px;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.assist-ask{display:flex;gap:8px;margin:12px 0 10px}.assist-input{flex:1;min-width:0;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:9px 12px;color:var(--text-1);font-size:13px;transition:border-color .16s var(--ease)}.assist-input:focus{outline:none;border-color:var(--accent)}.assist-chips{display:flex;flex-wrap:wrap;gap:8px}.assist-chip{font-size:12px;color:var(--text-2);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:5px 12px;cursor:pointer;transition:border-color .16s var(--ease),color .16s var(--ease)}.assist-chip:hover{border-color:color-mix(in srgb,var(--accent) 50%,transparent);color:var(--text-1)}.assist-answer{margin-top:10px;display:flex;flex-direction:column;gap:10px}.assist-text{font-size:13.5px;line-height:1.55;color:var(--text-1);margin:0;white-space:pre-wrap}.assist-cites{display:flex;flex-wrap:wrap;gap:6px}.assist-cite{font-size:11px;font-family:var(--mono);color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:6px;padding:2px 8px}.assist-foot{font-size:11px}.assist-err{padding:10px 2px;font-size:13px}.geo-map-wrap{position:relative}.geo-dot-g.geo-sel .geo-dot{stroke:var(--text-1);stroke-width:2}.geo-card,.cg-card{position:absolute;top:12px;right:12px;z-index:6;width:210px;background:var(--surface);border:1px solid var(--border-strong, var(--border));border-radius:10px;padding:12px 14px;box-shadow:0 10px 30px #00000047}.geo-card-x,.cg-card-x{position:absolute;top:6px;right:8px;border:none;background:none;cursor:pointer;color:var(--text-2);font-size:18px;line-height:1;padding:2px}.geo-card-x:hover,.cg-card-x:hover{color:var(--text-1)}.geo-card-h,.cg-card-h{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:var(--text-1);margin-bottom:10px}.geo-card-kv,.cg-card-kv{margin:0;display:flex;flex-direction:column;gap:6px}.geo-card-kv>div,.cg-card-kv>div{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.geo-card-kv dt,.cg-card-kv dt{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-2);margin:0}.geo-card-kv dd,.cg-card-kv dd{margin:0;font-size:13px;color:var(--text-1)}.geo-card-foot{margin-top:10px;font-size:11px}.cg-card-host{font-size:12px;color:var(--accent);margin:-4px 0 10px}.cg-card-kind{width:10px;height:10px;border-radius:3px;flex:0 0 auto}.cg-k-host{background:var(--cat-int)}.cg-k-peer{background:var(--cat-ext)}.cg-k-threat{background:var(--cat-mal)}.cg-node.cg-picked{filter:drop-shadow(0 0 4px var(--accent))}.tt-seg{transition:opacity .2s var(--ease),stroke-width .2s var(--ease),filter .2s var(--ease)}.tt-donut.dim .tt-seg{opacity:.32}.tt-donut.dim .tt-seg.on{opacity:1;filter:drop-shadow(0 0 5px currentColor)}.tt-leg-row{transition:opacity .18s var(--ease);cursor:pointer}.tt-leg-row.dim{opacity:.42}.tt-leg-row.on .tt-leg-key{color:var(--text-1)}.tt-leg-gb{margin-left:auto;font-size:11px;color:var(--text-1);font-weight:600}.tt-legend .tt-leg-pct{margin-left:10px;min-width:30px;text-align:right}.fs-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto 78px auto;align-items:center;gap:8px;padding:7px 0;font-size:12.5px;border-bottom:1px solid var(--border)}.fs-row:last-child{border-bottom:none}.fs-name{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-1)}.fs-tput{color:var(--text-2);text-align:right}.fs-health{display:inline-flex;align-items:center;gap:6px}.fs-health-bar{width:46px;height:6px;border-radius:999px;background:var(--surface-2);overflow:hidden}.fs-health-fill{display:block;height:100%;border-radius:999px}.fs-health-v{font-size:11px;min-width:30px;text-align:right}.fs-alerts{font-size:11px;color:var(--text-dim);white-space:nowrap}.ops-bar-row{display:grid;grid-template-columns:46px minmax(0,1fr) auto auto;align-items:center;gap:8px}.ops-bar-flows{font-size:10.5px;color:var(--text-dim);white-space:nowrap}.geo-layout{display:grid;grid-template-columns:220px 1fr;gap:14px;align-items:start}@media (max-width: 900px){.geo-layout{grid-template-columns:1fr}}.geo-rail{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:14px;position:relative}.geo-rail-empty{display:flex;flex-direction:column;gap:8px;height:100%;justify-content:center;align-items:center;text-align:center;color:var(--text-2);padding:20px 8px}.geo-rail-empty strong{color:var(--text-1);font-size:14px}.geo-rail-empty span{font-size:12px;line-height:1.5;max-width:200px}.geo-detail{display:flex;flex-direction:column;gap:12px}.geo-detail-head{display:flex;align-items:center;gap:10px}.geo-flag{width:34px;height:25px;border-radius:4px;box-shadow:0 1px 4px #0000004d;flex:0 0 auto}.geo-flag-none{width:34px;height:25px;border-radius:4px;background:var(--surface);flex:0 0 auto}.geo-detail-country{font-size:14px;font-weight:600;color:var(--text-1)}.geo-detail-ip{font-size:12.5px;color:var(--accent)}.geo-verdict{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:6px 10px;border-radius:8px;text-align:center}.geo-verdict.geo-crit{color:var(--sev-critical);background:color-mix(in srgb,var(--sev-critical) 14%,transparent)}.geo-verdict.geo-high{color:var(--sev-high);background:color-mix(in srgb,var(--sev-high) 14%,transparent)}.geo-verdict.geo-low{color:var(--sev-low);background:color-mix(in srgb,var(--sev-low) 14%,transparent)}.geo-detail-kv{margin:0;display:flex;flex-direction:column;gap:7px}.geo-detail-kv>div{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.geo-detail-kv dt{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-2);margin:0}.geo-detail-kv dd{margin:0;font-size:12.5px;color:var(--text-1);text-align:right}.geo-detail-sig{max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.geo-abuse-h{display:flex;justify-content:space-between;font-size:11px;color:var(--text-2);margin-bottom:5px}.geo-abuse-bar{height:7px;border-radius:999px;background:var(--surface);overflow:hidden}.geo-abuse-fill{display:block;height:100%;border-radius:999px}.geo-actions{display:flex;gap:8px;margin-top:4px}.geo-actions .btn-sm{flex:1}.assist-report{display:block;width:100%;text-align:left;margin:10px 0;padding:9px 12px;border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:8px;background:var(--accent-soft);color:var(--accent);font-size:13px;font-weight:600;cursor:pointer;transition:border-color .16s var(--ease),background .16s var(--ease)}.assist-report:hover{border-color:var(--accent)}.assist-recs{display:flex;flex-direction:column;gap:6px}.assist-recs-h{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);margin-bottom:2px}.assist-rec{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);color:var(--text-1);font-size:12.5px;cursor:pointer;transition:border-color .16s var(--ease),color .16s var(--ease)}.assist-rec:hover{border-color:color-mix(in srgb,var(--accent) 50%,transparent)}.assist-rec span:last-child{color:var(--accent)}.sec-lean{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-bottom:16px;align-items:stretch}.sec-lean>.panel{margin:0}@media (max-width: 900px){.sec-lean{grid-template-columns:1fr}}.map-row{display:grid;grid-template-columns:minmax(0,2.5fr) minmax(0,1fr);gap:16px;margin-bottom:16px;align-items:stretch}.map-row>div{min-width:0;display:flex}.map-row>div>*{flex:1;min-width:0}.map-row .geo-foot{width:100%;grid-template-columns:1fr}@media (max-width: 1100px){.map-row{grid-template-columns:1fr}}.ai-panel{display:flex;flex-direction:column;gap:12px}.map-row .assist-report{margin-top:auto}@media (min-width: 1101px){.map-row>div{min-height:0}.map-row>div>*{min-height:0}.map-row .assist-peek{min-height:0}.map-row .ai-firing{flex:1 1 0;min-height:0;overflow-y:auto}}.ai-threat{border-top:1px solid var(--border);padding-top:12px}.ai-threat-h{display:flex;justify-content:space-between;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-2);margin-bottom:10px}.ai-threat-body{display:flex;align-items:center;gap:16px}.ai-donut{width:92px;height:92px;flex:0 0 auto}.ai-donut-v{fill:var(--text-1);font-family:var(--mono);font-size:20px;font-weight:700}.ai-threat-legend{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;flex:1}.ai-threat-legend>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.ai-threat-legend dt{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-2);margin:0}.ai-threat-legend dt i{width:8px;height:8px;border-radius:2px}.ai-threat-legend dd{margin:0;font-size:12.5px;color:var(--text-1);font-weight:600}.ai-recs{display:flex;flex-direction:column;gap:7px;border-top:1px solid var(--border);padding-top:12px}.ai-recs-h{display:flex;justify-content:space-between;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-2)}.ai-rec{display:flex;align-items:center;gap:9px;text-align:left;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);color:var(--text-1);font-size:12.5px;cursor:pointer;transition:border-color .16s var(--ease)}.ai-rec:hover{border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.ai-rec-dot{width:7px;height:7px;border-radius:50%;flex:0 0 auto}.ai-rec-crit .ai-rec-dot{background:var(--sev-critical)}.ai-rec-high .ai-rec-dot{background:var(--sev-high)}.ai-rec-med .ai-rec-dot{background:var(--sev-medium)}.ai-rec-t{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-rec-go{color:var(--accent);flex:0 0 auto}.ai-panel .assist-report{margin:auto 0 0}.grid-fill{align-items:stretch}.grid-fill>.rise:not(.panel)>.panel{margin-bottom:0}@media (min-width: 1101px){.grid-fill>.rise:not(.panel){display:flex;min-width:0;min-height:0}.grid-fill>.rise:not(.panel)>.panel{flex:1;min-width:0;min-height:0}.grid-fill .re-panel{display:flex;flex-direction:column;min-height:0}.grid-fill .re-list{flex:1 1 0;min-height:0;overflow-y:auto}}.cg-edge-lbl{font-family:var(--mono);font-size:8.5px;fill:var(--text-2);paint-order:stroke;stroke:var(--surface);stroke-width:2.5px;stroke-linejoin:round}.cg-node-ip{font-family:var(--mono);font-size:9px;font-weight:600;fill:var(--text-1);paint-order:stroke;stroke:var(--surface);stroke-width:2.5px;stroke-linejoin:round}.cg-node-ip.threat{fill:var(--cat-mal)}.cg-node-host{font-size:8px;fill:var(--text-2);paint-order:stroke;stroke:var(--surface);stroke-width:2px;stroke-linejoin:round}.cg-legend-card{position:absolute;left:12px;bottom:10px;max-width:340px;z-index:2;background:color-mix(in srgb,var(--surface) 92%,transparent);border:.5px solid var(--border-soft);border-radius:var(--r-sm);overflow:hidden}.cg-legend-card.open{box-shadow:var(--shadow)}.cg-legend-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:5px 10px;background:none;border:0;color:var(--text-2);font:inherit;font-size:10.5px;letter-spacing:.4px;text-transform:uppercase;cursor:pointer}.cg-legend-toggle:hover{color:var(--text)}.cg-legend-body{margin:0;padding:2px 10px 10px;font-size:10.5px;color:var(--text-2)}.cg-legend-body dt{margin:7px 0 3px;font-size:9.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-dim)}.cg-legend-body dd{margin:0 0 3px;display:flex;align-items:baseline;gap:7px;line-height:1.45}.cg-legend-body i.sw{width:9px;height:9px;border-radius:3px;flex:none}.cg-legend-body i.ln{width:16px;height:2px;border-radius:2px;flex:none}.cg-legend-body i.ln.thick{height:4px}.cg-filters{margin:2px 0 0;padding:8px 10px;border:.5px solid var(--border-soft);border-radius:var(--r-sm);background:var(--surface-2)}.cg-filters legend{padding:0 4px;font-size:9.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-dim)}.cg-filter{display:flex;align-items:center;gap:6px;padding:3px 0;font-size:11px;color:var(--text-2);cursor:pointer}.cg-filter input{accent-color:var(--accent);width:12px;height:12px;margin:0}.cg-filter i{width:8px;height:8px;border-radius:2px;flex:none}.cg-filter-n{margin-left:auto;font-size:9.5px;font-weight:700;color:var(--sev-critical)}.cg-grp{pointer-events:auto;cursor:pointer}.cg-grp:focus-visible{outline:1.5px solid var(--accent);outline-offset:2px}.cg-grp-x circle{fill:var(--surface-3, var(--surface));stroke:var(--border-soft);stroke-width:.5px}.cg-grp-x path{stroke:var(--text-2);stroke-width:1.4px;stroke-linecap:round;fill:none}.cg-grp:hover .cg-grp-x circle{stroke:var(--accent)}.cg-grp:hover .cg-grp-x path{stroke:var(--accent)}.cg-blob{pointer-events:none}.cg-grp-pill{stroke:var(--border-soft);stroke-width:.5px}.cg-grp-lbl{font-size:9.5px;font-weight:600;fill:var(--text-2);letter-spacing:.2px}.cg-grp-lbl.warn{fill:var(--cat-mal)}.spark-line{stroke-dasharray:100;stroke-dashoffset:100;animation:spark-draw .9s var(--ease) forwards}.spark-area{opacity:0;animation:spark-fill .6s var(--ease) .5s forwards}@keyframes spark-draw{to{stroke-dashoffset:0}}@keyframes spark-fill{to{opacity:1}}@media (prefers-reduced-motion: reduce){.spark-line{animation:none;stroke-dashoffset:0}.spark-area{animation:none;opacity:1}}.cg-tile-r{transition:stroke-width .18s var(--ease),filter .18s var(--ease)}.cg-node{transition:opacity .2s var(--ease)}.cg-node:hover .cg-tile-r{stroke-width:2.2}.cg-node.cg-dim{opacity:.32}.inc-prio{margin-left:8px;font-size:11px;font-weight:700;border-radius:6px;padding:1px 6px;white-space:nowrap;color:var(--text-2);border:1px solid var(--border);background:var(--surface-3)}.inc-prio-1{color:var(--danger);border-color:#ef444473;background:#ef44441a}.inc-prio-2{color:var(--warn, #f59e0b);border-color:#f59e0b66;background:#f59e0b14}.inc-card-sev .inc-prio{margin-left:0;font-size:12.5px;padding:3px 9px}.inc-prio-none{opacity:.55}.inc-asset,.inc-ew{margin-left:6px;font-size:11px;font-weight:600;border-radius:6px;padding:1px 6px;white-space:nowrap;text-transform:capitalize;color:var(--text-2);border:1px solid var(--border);background:var(--surface-3)}.inc-asset-critical{color:var(--danger);border-color:#ef444473;background:#ef444414}.inc-asset-high{color:var(--warn, #f59e0b);border-color:#f59e0b66}.inc-asset-low{opacity:.75}.inc-ew{color:var(--accent);border-color:#60a5fa59}.inc-moved{color:var(--warn, #f59e0b);font-weight:600}.inc-moved-note{border-left-color:var(--warn, #f59e0b)}.inc-workbook{margin-top:14px}.wb-list{list-style:none;margin:0;padding:0;counter-reset:wb}.wb-step{counter-increment:wb;position:relative;padding:10px 0 10px 34px;border-bottom:1px solid var(--border)}.wb-step:last-child{border-bottom:none}.wb-step:before{content:counter(wb);position:absolute;left:0;top:10px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;color:var(--text-2);background:var(--surface-3);border:1px solid var(--border)}.wb-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.wb-kind{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);border:1px solid var(--border);border-radius:5px;padding:0 5px}.wb-title{font-size:13.5px;font-weight:600;color:var(--text)}.wb-why{margin:4px 0 0;font-size:12.5px;color:var(--text-2);line-height:1.5}.wb-evidence{margin:6px 0 0;padding-left:16px;font-size:11.5px;color:var(--text-dim)}.wb-verify:before{color:var(--accent);border-color:#60a5fa73}.wb-contain:before{color:var(--danger);border-color:#ef444466}.wb-preserve:before{color:var(--ok, #10b981);border-color:#10b98166}.topo-rel{fill:none;stroke-linecap:round;opacity:.55;transition:opacity .15s var(--ease),stroke-width .15s var(--ease)}.topo-rel.dim{opacity:.07}.topo-node.faded{opacity:.22}.topo-key{width:14px;height:3px;border-radius:2px;display:inline-block}.st-wrap{padding:12px 14px 14px}.st-bar{display:flex;height:12px;border-radius:6px;overflow:hidden;background:var(--surface-2);margin-bottom:12px}.st-seg{display:block;height:100%}.st-legend{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px}.st-key{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--text-2)}.st-key i{width:9px;height:9px;border-radius:3px;flex:none}.st-key-name{flex:1}.st-key-val{font-weight:700;color:var(--text)}.st-key-sub{color:var(--text-dim);font-size:10px}.st-tag{font-size:10.5px;text-transform:uppercase;letter-spacing:.4px;font-weight:700}.st-warn{margin:12px 0 0;padding:8px 10px;font-size:11.5px;color:var(--sev-critical);background:color-mix(in srgb,var(--sev-critical) 10%,transparent);border-radius:var(--r-sm)}.st-detail{margin-top:12px;font-size:11.5px;color:var(--text-2);overflow-x:auto}.st-detail summary{cursor:pointer;color:var(--text-dim)}.fx-origin{margin-left:6px;padding:1px 5px;border-radius:3px;font-size:9px;font-weight:700;letter-spacing:.5px;color:var(--cyan);background:color-mix(in srgb,var(--cyan) 14%,transparent);cursor:help}.fx-est{margin-left:3px;color:var(--amber);cursor:help}.rh{display:flex;flex-direction:column;gap:14px}.rh-form{padding:12px 14px 14px}.rh-input{width:100%;font-family:var(--mono);font-size:12px;resize:vertical}.rh-actions{display:flex;align-items:center;gap:12px;margin-top:10px}.rh-win{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;color:var(--text-2)}.rh-win select{height:28px;background:var(--input-bg, var(--surface-2));color:var(--text);border:.5px solid var(--border-soft);border-radius:var(--r-xs);font-size:11.5px}.rh-caveat{margin:10px 14px;padding:8px 10px;font-size:11.5px;color:var(--text-2);background:var(--surface-2);border-left:2px solid var(--accent);border-radius:var(--r-xs)}.rh-warn{margin:0 14px 10px;padding:8px 10px;font-size:11.5px;color:var(--sev-critical);background:color-mix(in srgb,var(--sev-critical) 10%,transparent);border-radius:var(--r-xs)}.rh-hit td{background:color-mix(in srgb,var(--sev-high) 8%,transparent)}.rh-unsearchable{color:var(--text-dim);font-style:italic;cursor:help}.rp{display:flex;flex-direction:column;gap:14px}.rp-banner{background:color-mix(in srgb,var(--violet) 12%,transparent);border-left:3px solid var(--violet);color:var(--text-2);font-size:12px}.rp code{font-size:11px;background:var(--code-bg, var(--surface-2));padding:1px 5px;border-radius:3px}.topo-page{--topo-shadow: rgba(15, 23, 42, .13);--topo-vignette: rgba(15, 23, 42, .09)}:root[data-theme=dark] .topo-page{--topo-shadow: rgba(0, 0, 0, .45);--topo-vignette: rgba(0, 0, 0, .55)}.topo-svg{background:var(--bg);border:1px solid var(--border-soft);border-radius:var(--r)}.topo-tree-edge{stroke:var(--topo-link);stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}.topo-rel{stroke-linecap:round;opacity:.5;transition:opacity .22s ease,stroke-width .22s ease}:root{--topo-disc: #a8d5f2;--topo-glyph: #0b1220;--topo-link: #2b3648}:root[data-theme=dark]{--topo-disc: #2b4a63;--topo-glyph: #dbe7f3;--topo-link: #7d8ba0}.topo-node-bg{fill:var(--topo-disc);stroke:none;transition:fill .18s ease}.topo-node:hover .topo-node-bg{fill:color-mix(in srgb,var(--topo-disc) 78%,var(--accent))}.topo-node svg{color:var(--topo-glyph)}.topo-node.sel .topo-node-bg{stroke:var(--accent);stroke-width:2.5}.topo-node.faded{opacity:.18;filter:saturate(.45);transition:opacity .22s ease}.topo-risk{stroke-width:1.5;opacity:.8;filter:drop-shadow(0 0 5px currentColor);animation:topo-breathe 2.6s ease-in-out infinite}@keyframes topo-breathe{0%,to{opacity:.4}50%{opacity:.95}}.topo-node-label,.topo-node-host,.topo-node-sub{paint-order:stroke fill;stroke:var(--bg);stroke-width:3.5px;stroke-linejoin:round;pointer-events:none}.topo-node-label{fill:var(--text);font-size:11px;font-weight:600;letter-spacing:.01em}.topo-node-host{fill:var(--text-dim);font-size:9.5px;letter-spacing:.02em}.topo-node-sub{fill:var(--text-2);font-size:9.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.topo-zoom{background:var(--glass);-webkit-backdrop-filter:blur(12px) saturate(1.3);backdrop-filter:blur(12px) saturate(1.3);border:1px solid var(--border);border-radius:999px;padding:4px;box-shadow:var(--shadow-sm)}.topo-zoom button{width:28px;height:28px;border-radius:999px;transition:background .15s ease,color .15s ease}.topo-zoom-lvl{padding-right:6px;font-variant-numeric:tabular-nums}.topo-legend{gap:8px;margin-top:12px;align-items:center}.topo-legend>span{padding:4px 10px;background:var(--chip-bg);border:1px solid var(--border-soft);border-radius:999px;font-size:11px;color:var(--text-2)}.topo-legend .topo-key{width:14px;height:3px;border-radius:2px;display:inline-block}.topo-legend>span.topo-hint{background:none;border:none;padding:4px 0;color:var(--text-dim)}.topo-class{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font:inherit;font-size:11px;background:none;border:1px solid var(--border-soft);color:var(--text-dim);cursor:pointer;opacity:.55}.topo-class:hover{opacity:.85}.topo-class.on{background:var(--chip-bg);color:var(--text-2);opacity:1}.topo-class:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.topo-classes{margin-top:8px}.topo-find{margin-left:auto;margin-right:12px;min-width:180px;padding:5px 10px;font-size:11.5px;background:var(--chip-bg);color:var(--text);border:1px solid var(--border-soft);border-radius:999px}.topo-find:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.topo-pivots{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.topo-pivot{text-align:left;padding:7px 10px;font:inherit;font-size:11.5px;background:var(--chip-bg);color:var(--text-2);border:1px solid var(--border-soft);border-radius:8px;cursor:pointer}.topo-pivot:hover{background:var(--surface-2);color:var(--text)}.topo-pivot:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.topo-cls{display:block;margin-top:2px;font-size:10px;text-transform:uppercase;letter-spacing:.04em}.topo-detail{width:320px}.topo-d-role{display:inline-block;margin-bottom:14px;padding:3px 10px;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;background:color-mix(in srgb,currentColor 12%,transparent);border:1px solid color-mix(in srgb,currentColor 28%,transparent);border-radius:999px}.topo-stats>div{padding:9px 0}.topo-stats dd{font-variant-numeric:tabular-nums}.topo-util-bar{height:7px;box-shadow:inset 0 1px 2px var(--topo-shadow)}.topo-inventory .inv-table tbody tr{transition:background .14s ease,box-shadow .14s ease}.topo-inventory .inv-table tbody tr:hover{background:var(--chip-bg);cursor:pointer}.topo-inventory .inv-table tbody tr.sel{background:color-mix(in srgb,var(--accent) 9%,transparent);box-shadow:inset 3px 0 0 var(--accent)}@media (prefers-reduced-motion: reduce){.topo-risk{animation:none;opacity:.75}.topo-node-bg,.topo-node-halo,.topo-rel,.topo-node.faded{transition:none}}.th-keygroup{margin-bottom:10px}.th-keygroup-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:8px 9px 5px;border-top:1px solid var(--border-soft);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-2)}.th-keygroup:first-of-type .th-keygroup-head{border-top:none}.th-keygroup-hint{text-transform:none;letter-spacing:0;font-weight:500;font-size:10px;color:var(--text-dim)}.th-keys{padding-bottom:14px;scrollbar-gutter:stable}.th-viz{align-items:stretch}.th-donut-card,.th-bars-card{display:flex;flex-direction:column}.th-donut-card .pie3d{flex:1;align-content:center}.th-rows{max-height:420px;overflow-y:auto;scrollbar-gutter:stable;padding-right:2px}.th-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.th-clear{background:none;border:none;cursor:pointer;font-size:10.5px;letter-spacing:.04em;color:var(--accent);text-transform:none}.th-row{transition:background .15s ease,opacity .15s ease;border-radius:6px}.th-row.on{background:color-mix(in srgb,var(--accent) 12%,transparent);box-shadow:inset 2px 0 0 var(--accent)}.th-row.off{opacity:.4}.th-row-x{cursor:pointer}.th-row-x:hover{background:color-mix(in srgb,var(--accent) 7%,transparent)}.th-row-x:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.th-row.th-open{background:color-mix(in srgb,var(--accent) 10%,transparent)}.th-caret{display:inline-block;width:11px;margin-right:3px;color:var(--text-dim);font-size:9px}.th-names{margin:1px 0 5px 28px;padding:7px 10px;border-left:2px solid var(--accent);background:var(--surface-2, #f6f8fb);border-radius:0 6px 6px 0}.th-names-head{font-size:10.5px;color:var(--text-dim);margin-bottom:5px}.th-names-more{color:var(--warn, #b7791f)}.th-names ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 14px}.th-names li{font-size:11px;color:var(--text);overflow-wrap:anywhere}.fa-org-note{margin-top:10px}.fa-bars-org .fa-bar-row{grid-template-columns:minmax(0,300px) 1fr auto}.fa-bars-org .fa-bar-key{font-size:11.5px}@media (max-width: 900px){.fa-bars-org .fa-bar-row{grid-template-columns:1fr auto;row-gap:3px}.fa-bars-org .fa-bar-key{grid-column:1 / -1;white-space:normal;overflow-wrap:anywhere}}.pie3d-part{transition:transform .16s cubic-bezier(.22,1,.36,1),opacity .16s ease}.pie-legend li{border-radius:6px;padding:3px 6px;transition:background .14s ease}.pie-legend li.pickable{cursor:pointer}.pie-legend li.on{background:var(--chip-bg)}.pie-legend li.on .pie-lab{color:var(--text);font-weight:600}.donut-seg{transition:opacity .16s ease,stroke-width .16s ease}.donut-legend li{border-radius:6px;padding:2px 6px;margin:-2px -6px;transition:background .14s ease}.donut-legend li.pickable{cursor:pointer}.donut-legend li.on{background:var(--chip-bg);color:var(--text)}@media (prefers-reduced-motion: reduce){.pie3d-part,.donut-seg,.th-row,.pie-legend li,.donut-legend li{transition:none}}.fx-follow-veil,.fx-modal-veil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:3vh 3vw;background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fade .18s ease}.fx-follow,.fx-modal{width:min(1100px,92vw);max-height:94vh;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}.fx-modal.wide{width:min(1500px,96vw)}.fx-follow-head,.fx-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border);flex:none}.fx-follow-body,.fx-modal-body{overflow:auto;padding:14px 18px 18px}.fx-follow-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.fx-follow-rec{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:7px 10px;border-radius:var(--r-xs);background:var(--surface-2);border:1px solid var(--border-soft)}.fx-follow-rec.enc{opacity:.72;border-style:dashed}.fx-follow-tag{font-size:11.5px;font-weight:700;color:var(--accent)}.fx-follow-meta{font-size:11px;color:var(--text-dim)}.fx-follow-sni{font-size:11.5px;color:var(--teal)}.fx-follow-note{font-size:11px;color:var(--text-dim);font-style:italic}.fx-follow-msg{padding:9px 11px;border-radius:var(--r-xs);background:var(--surface-2);border:1px solid var(--border-soft);border-left:3px solid var(--border-strong)}.fx-follow-msg.request{border-left-color:var(--accent)}.fx-follow-msg.response{border-left-color:var(--teal)}.fx-follow-start{font-size:12.5px;font-weight:650;color:var(--text)}.fx-follow-hdrs{margin:6px 0 0;font-size:11.5px;display:grid;grid-template-columns:auto 1fr;gap:2px 10px}.fx-follow-hdrs div{display:contents}.fx-follow-hdrs dt{color:var(--text-dim)}.fx-follow-hdrs dd{margin:0;color:var(--text-2);word-break:break-all}.pie-legend{width:100%}.pie-legend li{align-items:center;gap:8px}.pie-lab{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pie-val{flex:none;margin-left:auto;display:inline-flex;align-items:baseline;gap:8px;white-space:nowrap}.pie-pct{min-width:34px;margin-left:0;text-align:right}.th-viz{grid-template-columns:300px 1fr}@media (max-width: 1100px){.th-viz{grid-template-columns:1fr}}.rf-wrap{display:flex;flex-direction:column;gap:16px}.rf-scope{margin:0 0 14px;padding:10px 12px;border-radius:var(--r-xs);background:color-mix(in srgb,var(--accent) 7%,transparent);border-left:3px solid var(--accent);color:var(--text-dim);font-size:12.5px;line-height:1.5}.rf-scope strong{color:var(--text)}.rf-q{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:14px}.rf-f{display:flex;flex-direction:column;gap:4px;min-width:160px}.rf-f>span{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}.rf-table{width:100%}.rf-name{display:flex;align-items:center;gap:7px}.rf-hosts{white-space:nowrap}.rf-actions{display:flex;gap:6px;justify-content:flex-end}.rf-exec td{background:color-mix(in srgb,var(--sev-high) 7%,transparent)}.rf-exec-tag{margin-left:8px;padding:1px 6px;border-radius:999px;font-size:10.5px;background:color-mix(in srgb,var(--sev-high) 22%,transparent);color:var(--text)}.rf-partial{margin-left:8px;padding:1px 6px;border-radius:999px;font-size:10.5px;background:color-mix(in srgb,var(--sev-medium) 25%,transparent);color:var(--text)}.rf-detail-row td{background:var(--surface-2, rgba(0,0,0,.16))}.rf-detail{padding:12px 4px 4px;display:flex;flex-direction:column;gap:12px}.rf-sub{margin:0;font-size:12px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}.rf-sight{width:100%;font-size:12px}.ret-files{margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}.ret-sub{margin:0 0 6px;font-size:13px}.tk-sources{margin-top:14px}.tk-list{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.tk-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:5px 10px;border-radius:var(--r-xs);background:var(--surface-2, rgba(0,0,0,.16));font-size:12px}.tk-upload{flex-wrap:wrap}.tk-src{max-width:240px}.fx-capped{color:var(--sev-medium);font-weight:600}.inc-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin:10px 0 14px;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r)}.inc-f{display:flex;flex-direction:column;gap:3px;min-width:118px}.inc-f>span{font-size:10.5px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}.inc-f select{padding:5px 8px;border-radius:var(--r-xs);font:inherit;font-size:12.5px;background:var(--surface-2, rgba(0,0,0,.16));color:var(--text);border:1px solid var(--border)}.inc-f-clear{margin-left:4px}.inc-f-count{margin-left:auto;font-size:12px;color:var(--text-dim)}.site-row{flex-wrap:wrap;gap:10px;align-items:flex-end}.site-row .input{min-width:130px}.th-viz>.th-bars-card,.th-viz>.th-donut-card{min-width:0}.geo-traffic-dot{fill:color-mix(in srgb,var(--accent) 38%,transparent);stroke:color-mix(in srgb,var(--accent) 60%,transparent);stroke-width:.6;pointer-events:auto}.geo-traffic-pip{background:color-mix(in srgb,var(--accent) 55%,transparent)}.geo-alltoggle{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.stream-cross line{stroke:var(--text-dim);stroke-width:1;stroke-dasharray:3 3;opacity:.75}.stream-cross circle{stroke:var(--surface);stroke-width:1.4}.stream-cell-svg{cursor:crosshair}.stream-sm-at{margin:0 auto;padding:2px 10px;border-radius:999px;background:var(--text);color:var(--surface);font-size:10.5px;font-weight:700;letter-spacing:.02em}.stream-tip{position:fixed;z-index:40;pointer-events:none;min-width:168px;padding:8px 10px;border-radius:8px;background:var(--surface);border:1px solid var(--border);box-shadow:0 6px 20px #0f172a33}.stream-tip-h{font-size:11.5px;font-weight:700;color:var(--text);padding-bottom:5px;margin-bottom:5px;border-bottom:1px solid var(--hair, var(--border))}.stream-tip-row{display:flex;align-items:center;gap:6px;padding:1.5px 0}.stream-tip-name{font-size:11px;color:var(--text-dim);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stream-tip-v{margin-left:auto;flex:none;font-size:11.5px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.stream-atpill rect{fill:var(--text)}.stream-atpill text{fill:var(--surface);font-size:10.5px;font-weight:700;font-variant-numeric:tabular-nums}.stream-svg{cursor:crosshair}.stream-leg-btn{display:flex;align-items:center;gap:6px;width:100%;background:none;border:0;padding:3px 6px;border-radius:6px;font:inherit;color:inherit;cursor:pointer;text-align:left;transition:background .12s ease,opacity .12s ease}.stream-leg-btn:hover,.stream-leg-btn.on{background:var(--surface-2, rgba(0,0,0,.05))}.stream-leg-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.stream-leg-btn.off{opacity:.45}.stream-leg-btn.off .stream-leg-name{text-decoration:line-through}.stream-leg-btn.off .stream-dot{box-shadow:inset 0 0 0 2px var(--surface)}.stream-tip-row.on .stream-tip-name{color:var(--text);font-weight:600}.sev-ring{width:100%;max-width:230px;margin:0 auto;aspect-ratio:1}.sev-ring-legend{margin-top:10px}.ai-firing{display:flex;flex-direction:column;gap:3px;margin:10px 0 4px}.ai-fire{display:grid;grid-template-columns:42px minmax(0,1fr) 54px;align-items:center;gap:8px;width:100%;padding:5px 8px;border:0;border-radius:6px;background:none;font:inherit;color:var(--text);text-align:left;cursor:pointer;border-left:3px solid var(--border)}.ai-fire:hover{background:var(--surface-2, rgba(0,0,0,.05))}.ai-fire:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ai-fire-s1{border-left-color:var(--sev-critical)}.ai-fire-s2{border-left-color:var(--sev-high)}.ai-fire-s3{border-left-color:var(--sev-medium)}.ai-fire-s4{border-left-color:var(--sev-low)}.ai-fire-n{font-size:12px;font-weight:700;text-align:right;font-variant-numeric:tabular-nums}.ai-fire-t{font-size:11.5px;line-height:1.32;min-width:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ai-fire-bar{height:5px;border-radius:3px;background:var(--surface-2, #eef1f6);overflow:hidden}.ai-fire-bar i{display:block;height:100%;border-radius:3px;background:var(--accent)}.ai-fire-empty{font-size:11.5px;color:var(--text-dim);margin:6px 2px}.atkc-heat{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(132px,1fr))}.atkc-hcol{display:flex;flex-direction:column;gap:4px;min-width:0}.atkc-hh{font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim);padding-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.atkc-cell{display:grid;grid-template-columns:1fr auto;gap:1px 6px;align-items:baseline;padding:6px 8px;border-radius:6px;border:1px solid var(--border);min-width:0}.atkc-cell.lv0{border-style:dashed;opacity:.72}.atkc-cid{font-size:10.5px;font-weight:700;color:var(--text)}.atkc-cn{font-size:10.5px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;justify-self:end}.atkc-ct{grid-column:1 / -1;font-size:10.5px;line-height:1.3;color:var(--text-2, var(--text-dim));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.atkc-cell.lv1 .atkc-cid,.atkc-cell.lv1 .atkc-cn,.atkc-cell.lv1 .atkc-ct,.atkc-cell.lv2 .atkc-cid,.atkc-cell.lv2 .atkc-cn,.atkc-cell.lv2 .atkc-ct{color:#1c1206}.atkc-cell.lv3 .atkc-cid,.atkc-cell.lv3 .atkc-cn,.atkc-cell.lv3 .atkc-ct,.atkc-cell.lv4 .atkc-cid,.atkc-cell.lv4 .atkc-cn,.atkc-cell.lv4 .atkc-ct{color:#fff}.atkc-scale{display:flex;align-items:center;gap:5px;margin-top:10px;font-size:10.5px;color:var(--text-dim)}.atkc-scale i{width:13px;height:9px;border-radius:2px;display:block;border:1px solid var(--border)}.atkc-scale .atkc-none{border-style:dashed}.atkc-scale-sep{width:1px;height:12px;background:var(--border);margin:0 6px}.atkc-scale-n{margin-left:auto}.apm-err-client{color:var(--amber, #b7791f);font-weight:700}.apm-err-kind{margin-left:4px;font-size:9.5px;font-weight:600;opacity:.75}.cov-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:12px}.cov-stat{display:flex;flex-direction:column;gap:2px;padding:10px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px}.cov-stat b{font-size:20px;font-weight:700;font-family:var(--mono);color:var(--text-1)}.cov-stat span{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-2)}.cov-stat.cov-warn b{color:var(--sev-high)}.cov-note{font-size:12.5px;color:var(--text-2);line-height:1.55;margin:0 0 12px}.cov-flag{display:inline-block;padding:2px 8px;border-radius:99px;font-size:11px;font-weight:600;background:color-mix(in srgb,var(--sev-high) 16%,transparent);color:var(--sev-high);border:1px solid color-mix(in srgb,var(--sev-high) 34%,transparent)}.fx-obj-note{font-size:12.5px;line-height:1.55;color:var(--text-2);margin:0 0 12px;padding:9px 12px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--border-soft)}.fx-obj-note strong{color:var(--text-1)}.rf-carve-note{display:block;margin-top:10px;font-size:12px;color:var(--text-dim);max-width:62ch}.fx-obj-kept{margin-left:6px;color:var(--teal);font-weight:600}.set-sub{margin:22px 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim)}.bak-plan{margin-bottom:14px;line-height:1.7}.bak-ex{display:inline-block;margin:0 4px 4px 0;padding:2px 8px;border:1px solid var(--border-soft);border-radius:999px;font-size:10.5px;color:var(--text-dim);cursor:help}.bak-manifest,.bak-report{margin-top:14px}.bak-actions{margin:10px 0 0 18px;font-size:12px;color:var(--text-2);line-height:1.7}.banner-warn{background:color-mix(in srgb,var(--amber) 12%,transparent);border:1px solid color-mix(in srgb,var(--amber) 40%,transparent);color:var(--text)}.ti-verdict{margin-top:14px}.ti-detail{margin:8px 0;padding:10px 12px;max-height:180px;overflow:auto;background:var(--chip-bg);border:1px solid var(--border-soft);border-radius:8px;font-size:11px;line-height:1.6;white-space:pre-wrap;color:var(--text-2)}.brand-logo{display:block}.brand-preview{margin:14px 0}.brand-preview-row{display:flex;align-items:flex-end;gap:22px;margin-top:8px;padding:14px;background:var(--chip-bg);border:1px solid var(--border-soft);border-radius:10px}.brand-preview-item{display:flex;flex-direction:column;align-items:center;gap:6px}.brand-preview-cap{font-size:10px;color:var(--text-dim);letter-spacing:.04em}.datefilter{display:inline-flex;align-items:center;gap:8px}.datefilter-label{font-size:11px;color:var(--text-dim)}.datefilter-input{padding:4px 8px;font:inherit;font-size:11.5px;background:var(--chip-bg);color:var(--text);border:1px solid var(--border-soft);border-radius:6px}.datefilter-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.datefilter-clear{padding:3px 9px;font:inherit;font-size:10.5px;background:none;color:var(--text-dim);border:1px solid var(--border-soft);border-radius:999px;cursor:pointer}.datefilter-clear:hover{color:var(--text)}.datefilter-hint{font-size:10.5px;color:var(--text-dim);font-style:italic}.fx-field select:disabled{opacity:.45;cursor:not-allowed}.apm-about{margin-bottom:16px;padding:0 16px;background:var(--chip-bg);border:1px solid var(--border-soft);border-radius:10px}.apm-about-sum{padding:12px 0;cursor:pointer;list-style:none;font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--text-2)}.apm-about-sum::-webkit-details-marker{display:none}.apm-about-sum:before{content:"▸";display:inline-block;margin-right:8px;color:var(--text-dim);transition:transform .15s ease}.apm-about[open] .apm-about-sum:before{transform:rotate(90deg)}.apm-about-sum:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.apm-about-body{padding-bottom:14px;font-size:12px;line-height:1.75;color:var(--text-2)}.apm-about-body p{margin:0 0 12px;max-width:78ch}.apm-about-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:10px 28px;margin:0 0 12px}.apm-about-list>div{display:block}.apm-about-list dt{font-weight:600;color:var(--text);margin-bottom:2px}.apm-about-list dd{margin:0;color:var(--text-dim);max-width:60ch}.apm-about-limit{padding:10px 12px;border-radius:8px;background:var(--surface-2);color:var(--text-dim)}.inc-ring{width:100%;max-width:230px;margin:0 auto;aspect-ratio:1}.inc-ring-legend{margin-top:10px}.inc-ring-pick{display:contents;width:100%;padding:0;border:0;background:none;font:inherit;color:inherit;cursor:pointer;text-align:left}.inc-ring-legend li{border-radius:6px}.inc-ring-legend li:hover{background:var(--chip-bg)}.inc-ring-pick.on .legend-lab{color:var(--accent);font-weight:600}.panel>.conv-table{display:block;max-width:100%;overflow-x:auto}.notif-wrap{position:relative;display:inline-flex}.notif-btn{position:relative}.notif-badge{position:absolute;top:-3px;right:-3px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--danger);color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center;box-shadow:0 0 0 2px var(--surface-2)}.notif-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:60;width:min(380px,calc(100vw - 32px));max-height:60vh;overflow-y:auto;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md, 12px);box-shadow:0 12px 32px #00000059}.notif-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim)}.notif-readall{font-size:11px}.notif-empty{padding:16px 12px;margin:0;color:var(--text-dim);font-size:12.5px}.notif-list{list-style:none;margin:0;padding:0}.notif-item+.notif-item{border-top:1px solid var(--hair)}.notif-item>button{display:flex;flex-direction:column;gap:3px;width:100%;padding:10px 12px;border:none;background:transparent;text-align:left;cursor:pointer;color:inherit}.notif-item>button:hover{background:var(--surface-3)}.notif-item.unread>button{box-shadow:inset 3px 0 0 var(--accent)}.notif-title{font-size:13px;font-weight:600}.notif-body{font-size:12px;color:var(--text-2);white-space:pre-wrap}.notif-when{font-size:11px;color:var(--text-dim)}
