/*! tailwindcss v4.3.1 | 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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--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-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}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black:#000;--spacing:.25rem;--container-xl:36rem;--container-2xl:42rem;--container-4xl:56rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wider:.05em;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-canvas:#0d1117;--color-canvas-alt:#161b22;--color-line:#2a313c;--color-fg:#e6edf3;--color-fg-muted:#9aa7b4;--color-fg-dim:#8693a0;--color-accent:#4493f8;--color-accent-dim:#1f6feb;--color-accent-fg:#fff;--color-success-fg:#86efac;--color-success-bg:#11261a;--color-success-border:#1f4d2f;--color-warn-fg:#db8c1c;--color-warn-bg:#2a2210;--color-warn-border:#5c4218;--color-error-fg:#ff7b72;--color-error-bg:#2a1515;--color-error-border:#5c2424}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{top:0;right:0;bottom:0;left:0}.z-40{z-index:40}.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}}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mr-1{margin-right:var(--spacing)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.mb-12{margin-bottom:calc(var(--spacing) * 12)}.ml-1{margin-left:var(--spacing)}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-5{height:calc(var(--spacing) * 5)}.h-9{height:calc(var(--spacing) * 9)}.h-11{height:calc(var(--spacing) * 11)}.h-14{height:calc(var(--spacing) * 14)}.h-24{height:calc(var(--spacing) * 24)}.h-full{height:100%}.max-h-full{max-height:100%}.min-h-0{min-height:0}.min-h-\[44px\]{min-height:44px}.w-9{width:calc(var(--spacing) * 9)}.w-11{width:calc(var(--spacing) * 11)}.w-14{width:calc(var(--spacing) * 14)}.w-60{width:calc(var(--spacing) * 60)}.w-64{width:calc(var(--spacing) * 64)}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-full{max-width:100%}.max-w-prose{max-width:65ch}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:0}.min-w-\[44px\]{min-width:44px}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-zoom-in{cursor:zoom-in}.resize{resize:both}.resize-none{resize:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-10>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 10) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 10) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-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-accent{border-color:var(--color-accent)}.border-accent\/30{border-color:#4493f84d}@supports (color:color-mix(in lab,red,red)){.border-accent\/30{border-color:color-mix(in oklab,var(--color-accent) 30%,transparent)}}.border-error-border{border-color:var(--color-error-border)}.border-line{border-color:var(--color-line)}.border-success-border{border-color:var(--color-success-border)}.border-warn-border{border-color:var(--color-warn-border)}.bg-accent{background-color:var(--color-accent)}.bg-accent-dim{background-color:var(--color-accent-dim)}.bg-accent\/5{background-color:#4493f80d}@supports (color:color-mix(in lab,red,red)){.bg-accent\/5{background-color:color-mix(in oklab,var(--color-accent) 5%,transparent)}}.bg-accent\/10{background-color:#4493f81a}@supports (color:color-mix(in lab,red,red)){.bg-accent\/10{background-color:color-mix(in oklab,var(--color-accent) 10%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.bg-black\/80{background-color:color-mix(in oklab,var(--color-black) 80%,transparent)}}.bg-canvas{background-color:var(--color-canvas)}.bg-canvas-alt{background-color:var(--color-canvas-alt)}.bg-error-bg{background-color:var(--color-error-bg)}.bg-line{background-color:var(--color-line)}.bg-success-bg{background-color:var(--color-success-bg)}.bg-warn-bg{background-color:var(--color-warn-bg)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-14{padding-block:calc(var(--spacing) * 14)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-20{padding-block:calc(var(--spacing) * 20)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-4{padding-right:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-left{text-align:left}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.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)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-accent{color:var(--color-accent)}.text-accent-fg{color:var(--color-accent-fg)}.text-error-fg{color:var(--color-error-fg)}.text-fg{color:var(--color-fg)}.text-fg-dim{color:var(--color-fg-dim)}.text-fg-muted{color:var(--color-fg-muted)}.text-success-fg{color:var(--color-success-fg)}.text-warn-fg{color:var(--color-warn-fg)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.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,)}.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,)}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.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-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}.placeholder\:text-fg-muted::placeholder{color:var(--color-fg-muted)}@media(hover:hover){.hover\:border-accent:hover{border-color:var(--color-accent)}.hover\:border-fg-muted:hover{border-color:var(--color-fg-muted)}.hover\:bg-canvas:hover{background-color:var(--color-canvas)}.hover\:text-fg:hover{color:var(--color-fg)}.hover\:opacity-75:hover{opacity:.75}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-accent\/50:focus{--tw-ring-color:#4493f880}@supports (color:color-mix(in lab,red,red)){.focus\:ring-accent\/50:focus{--tw-ring-color:color-mix(in oklab, var(--color-accent) 50%, transparent)}}.disabled\:opacity-40:disabled{opacity:.4}@media(min-width:40rem){.sm\:mb-16{margin-bottom:calc(var(--spacing) * 16)}.sm\:block{display:block}.sm\:contents{display:contents}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:gap-7{gap:calc(var(--spacing) * 7)}:where(.sm\:space-y-14>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 14) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 14) * calc(1 - var(--tw-space-y-reverse)))}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:py-12{padding-block:calc(var(--spacing) * 12)}.sm\:py-16{padding-block:calc(var(--spacing) * 16)}.sm\:py-20{padding-block:calc(var(--spacing) * 20)}.sm\:pt-1{padding-top:var(--spacing)}.sm\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.sm\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}}}:root.light{--color-canvas:#fff;--color-canvas-alt:#f6f8fa;--color-canvas-2:#eaeef2;--color-line:#d0d7de;--color-line-strong:#afb8c1;--color-fg:#1f2328;--color-fg-muted:#59636e;--color-fg-dim:#5b6470;--color-accent:#0969da;--color-accent-dim:#0860c8;--color-accent-fg:#fff;--color-success-fg:#1a7f37;--color-success-bg:#dafbe1;--color-success-border:#aceebb;--color-warn-fg:#9a6700;--color-warn-bg:#fff8c5;--color-warn-border:#eac54f;--color-error-fg:#cf222e;--color-error-bg:#ffebe9;--color-error-border:#ff9492}:root{color-scheme:dark;--bg:#0d1117;--bg-elev:#161b22;--bg-elev-2:#1c232c;--border:#2a313c;--border-strong:#3a424f;--fg:#e6edf3;--fg-muted:#9aa7b4;--fg-dim:#8693a0;--accent:#4493f8;--accent-dim:#1f6feb;--sev-clean:#2d333b;--sev-low:#3a4856;--sev-medium:#b08800;--sev-high:#db8c1c;--sev-blocking:#d83a3a;--sev-clean-fg:#8b97a3;--sev-low-fg:#cdd9e5;--sev-medium-fg:#1a1300;--sev-high-fg:#1a1000;--sev-blocking-fg:#fff}:root.light{color-scheme:light;--bg:#fff;--bg-elev:#f6f8fa;--bg-elev-2:#eaeef2;--border:#d0d7de;--border-strong:#afb8c1;--fg:#1f2328;--fg-muted:#59636e;--fg-dim:#5b6470;--accent:#0969da;--accent-dim:#0860c8;--sev-clean:#eaeef2;--sev-low:#cdd9e5;--sev-medium:#d4a72c;--sev-high:#db8c1c;--sev-blocking:#d83a3a;--sev-clean-fg:#57606a;--sev-low-fg:#1f2328;--sev-medium-fg:#1a1300;--sev-high-fg:#1a1000;--sev-blocking-fg:#fff}*{box-sizing:border-box}html{font-size:16px}html,body,#root{height:100%;margin:0}body{background-color:var(--color-canvas);color:var(--color-fg);-webkit-font-smoothing:antialiased;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;transition:background-color .2s,color .2s}code,.mono{font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,Consolas,monospace}.demo-surface{background:var(--bg);color:var(--fg);font-size:13px}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}button:not(:disabled),[role=button]{cursor:pointer}*{scrollbar-width:thin;scrollbar-color:var(--color-line) transparent}@media(prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}:root.light .demo-surface .chip.tier,:root.light .demo-surface .chip.gating,:root.light .demo-surface .chip.muted-chip,:root.light .demo-surface .chip.chip-muted{color:#44505c;background:#e3e9ef;border:1px solid #9aa4ae}:root.light .demo-surface .chip.gating.ci-blocking{color:#b3261e;background:#ffebe9;border-color:#cf222e}:root.light .demo-surface .chip.issue-sev-info{color:#44505c;background:#e3e9ef;border:1px solid #9aa4ae}:root.light .demo-surface .chip.sev-clean,:root.light .demo-surface .chip.sev-low,:root.light .demo-surface .chip.issue-sev-low{border:1px solid #9aa4ae}:root.light .demo-surface .ok-chip,:root.light .demo-surface .delta-new-chip{color:#116329;background:#dafbe1;border-color:#2da44e}.demo-surface .demo-fill{flex-direction:column;height:100%;min-height:0;display:flex}.demo-surface .demo-fill>.findings-layout{flex:auto;min-height:0}.demo-surface .demo-fill .findings-table-wrap{max-height:60vh}@media(min-width:1101px){.demo-surface .demo-fill>.findings-layout{grid-template-rows:minmax(0,1fr);align-items:stretch}.demo-surface .demo-fill>.findings-layout>div:first-child{flex-direction:column;min-height:0;display:flex}.demo-surface .demo-fill>.findings-layout>div:first-child>:not(.findings-table-wrap){flex:none}.demo-surface .demo-fill .findings-table-wrap{flex:auto;min-height:120px;max-height:none}.demo-surface .demo-fill .evidence{min-height:0;max-height:100%}}:root.light .demo-surface input::placeholder,:root.light .demo-surface textarea::placeholder{color:var(--fg-muted)}@media(max-width:700px){.demo-surface .demo-fill,.demo-surface .findings-layout,.demo-surface .findings-layout>*,.demo-surface .clone-site,.demo-surface .clone-site-row,.demo-surface .table-wrap,.demo-surface .panel,.demo-surface .panel-body,.demo-surface .overview-function-viewer{min-width:0}.demo-surface .table-wrap{max-width:100%}.demo-surface .clone-site-code,.demo-surface .evidence{max-width:100%;overflow-x:auto}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{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-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-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}.demo-surface :root{color-scheme:dark;--bg: #0d1117;--bg-elev: #161b22;--bg-elev-2: #1c232c;--border: #2a313c;--border-strong: #3a424f;--fg: #e6edf3;--fg-muted: #9aa7b4;--fg-dim: #8693a0;--accent: #4493f8;--accent-dim: #1f6feb;--sev-clean: #2d333b;--sev-low: #3a4856;--sev-medium: #b08800;--sev-high: #db8c1c;--sev-blocking: #d83a3a;--sev-clean-fg: #8b97a3;--sev-low-fg: #cdd9e5;--sev-medium-fg: #1a1300;--sev-high-fg: #1a1000;--sev-blocking-fg: #fff;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-size:13px;line-height:1.45}.demo-surface *{box-sizing:border-box}.demo-surface html,.demo-surface body,.demo-surface #root{height:100%;margin:0}.demo-surface body{background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased}.demo-surface code,.demo-surface .mono{font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12px}.demo-surface button{font-family:inherit;font-size:inherit;color:var(--fg);background:var(--bg-elev-2);border:1px solid var(--border);border-radius:6px;padding:5px 10px;cursor:pointer}.demo-surface button:hover{border-color:var(--border-strong)}.demo-surface button.active{background:var(--accent-dim);border-color:var(--accent);color:#fff}.demo-surface input,.demo-surface select{font-family:inherit;font-size:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:5px 8px}.demo-surface input:focus,.demo-surface select:focus{outline:none;border-color:var(--accent)}.demo-surface a{color:var(--accent)}.demo-surface ::-webkit-scrollbar{width:10px;height:10px}.demo-surface ::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:6px}.demo-surface ::-webkit-scrollbar-track{background:transparent}.demo-surface .app{display:flex;flex-direction:column;height:100%}.demo-surface .topbar{display:flex;align-items:center;gap:16px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--bg-elev);flex-wrap:wrap;-webkit-user-select:none;user-select:none}.demo-surface .topbar .brand{font-weight:600;letter-spacing:.2px}.demo-surface .topbar .brand .sub{color:var(--fg-dim);font-weight:400;margin-left:8px;font-size:12px}.demo-surface .topbar .spacer{flex:1}.demo-surface .topbar .readonly-note{font-size:11px;color:var(--fg-dim);border:1px solid var(--border);border-radius:999px;padding:2px 10px}.demo-surface .nav-groups{display:flex;gap:2px;padding:8px 16px 0;background:var(--bg-elev);border-bottom:1px solid var(--border-strong)}.demo-surface .nav-group-btn{background:transparent;border:1px solid transparent;border-bottom:none;border-radius:6px 6px 0 0;color:var(--fg-muted);padding:7px 16px;font-weight:500;font-size:13px;cursor:pointer;transition:color .1s}.demo-surface .nav-group-btn:hover{color:var(--fg);border-color:var(--border)}.demo-surface .nav-group-btn.active{color:var(--fg);background:var(--bg-elev-2);border-color:var(--border-strong)}.demo-surface .tabs{display:flex;gap:4px;padding:6px 16px 0;border-bottom:1px solid var(--border);background:var(--bg-elev)}.demo-surface .tabs button{background:transparent;border:1px solid transparent;border-bottom:none;border-radius:6px 6px 0 0;color:var(--fg-muted);padding:7px 14px}.demo-surface .tabs button.active{background:var(--bg);border-color:var(--border);color:var(--fg)}.demo-surface .tabs button:disabled{color:var(--fg-dim);cursor:not-allowed;opacity:.6}.demo-surface .tabs button:disabled:hover{border-color:transparent}.demo-surface .sessions-error{color:var(--sev-high)}.demo-surface .cleanup-placeholder{display:flex;align-items:center;justify-content:center;min-height:16rem}.demo-surface .cleanup-placeholder-inner{max-width:32rem;text-align:center;color:var(--fg-muted)}.demo-surface .cleanup-placeholder-inner h2{margin-bottom:.5rem;color:var(--fg)}.demo-surface .demo-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px;margin-bottom:12px;background:var(--bg-elev-2);border:1px solid var(--accent-dim);border-radius:6px;color:var(--fg-muted);font-size:13px}.demo-surface .demo-banner-link{background:none;border:none;color:var(--accent);padding:0;font-size:inherit;cursor:pointer;text-decoration:underline}.demo-surface .demo-banner-link:hover{color:var(--fg)}.demo-surface .demo-banner-dismiss{background:transparent;border:1px solid var(--border);border-radius:4px;color:var(--fg-dim);padding:2px 8px;font-size:11px;cursor:pointer;flex-shrink:0}.demo-surface .demo-banner-dismiss:hover{color:var(--fg);border-color:var(--border-strong)}.demo-surface .welcome-state{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:2rem}.demo-surface .welcome-inner{max-width:28rem;text-align:center}.demo-surface .welcome-title{font-size:1.6rem;font-weight:700;letter-spacing:.5px;margin-bottom:.75rem;color:var(--fg)}.demo-surface .welcome-sub{color:var(--fg-muted);margin-bottom:2rem;line-height:1.6}.demo-surface .welcome-actions{display:flex;flex-direction:column;gap:10px;align-items:center;margin-bottom:1.5rem}.demo-surface .welcome-primary{padding:10px 28px;background:var(--accent-dim);border:1px solid var(--accent);border-radius:8px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;width:100%;max-width:18rem}.demo-surface .welcome-primary:hover{background:var(--accent)}.demo-surface .welcome-secondary{padding:9px 28px;background:var(--bg-elev-2);border:1px solid var(--border-strong);border-radius:8px;color:var(--fg);font-size:14px;cursor:pointer;width:100%;max-width:18rem}.demo-surface .welcome-secondary:hover{border-color:var(--accent)}.demo-surface .welcome-ghost{padding:7px 28px;background:transparent;border:1px solid transparent;border-radius:8px;color:var(--fg-muted);font-size:13px;cursor:pointer;width:100%;max-width:18rem}.demo-surface .welcome-ghost:hover{color:var(--fg);border-color:var(--border)}.demo-surface .welcome-note{font-size:12px;color:var(--fg-dim)}.demo-surface .main{flex:1;overflow:auto;padding:16px}.demo-surface .debug-drawer{border-top:1px solid var(--border);background:var(--bg-elev);flex:0 0 auto}.demo-surface .debug-drawer>summary{list-style:none;cursor:pointer;padding:6px 16px;font-size:12px;color:var(--fg-muted);display:flex;align-items:center;gap:8px;-webkit-user-select:none;user-select:none}.demo-surface .debug-drawer>summary::-webkit-details-marker{display:none}.demo-surface .debug-drawer>summary:hover{color:var(--fg)}.demo-surface .debug-drawer .debug-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);display:inline-block}.demo-surface .debug-drawer .debug-hint{color:var(--fg-dim);font-family:JetBrains Mono,ui-monospace,monospace}.demo-surface .debug-drawer .debug-body{max-height:38vh;overflow:auto;border-top:1px solid var(--border);padding:8px 16px 12px}.demo-surface .debug-drawer .debug-actions{margin-bottom:8px}.demo-surface .debug-drawer .debug-json{margin:0;white-space:pre;color:var(--fg-dim);font-size:11px;line-height:1.5}.demo-surface .metric-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-bottom:16px}.demo-surface .metric-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;padding:10px 12px}.demo-surface .metric-card .value{font-size:20px;font-weight:600}.demo-surface .metric-card .label{font-size:11px;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.4px;margin-top:2px}.demo-surface .metric-card.warn .value{color:var(--sev-high)}.demo-surface .panel{background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;padding:14px;margin-bottom:16px}.demo-surface .panel h2{margin:0 0 10px;font-size:13px;text-transform:uppercase;letter-spacing:.5px;color:var(--fg-muted)}.demo-surface .panel-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}.demo-surface .panel-head h2{margin:0}.demo-surface .panel-head .panel-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.demo-surface details.panel>summary.panel-head{list-style:none;cursor:pointer;-webkit-user-select:none;user-select:none}.demo-surface details.panel>summary.panel-head::-webkit-details-marker{display:none}.demo-surface details.panel>summary.panel-head:hover h2{color:var(--fg)}.demo-surface details.panel>summary.panel-head .panel-summary{color:var(--fg-dim);font-size:12px;font-weight:400}.demo-surface details.panel>summary.panel-head .panel-chevron{margin-left:auto;color:var(--fg-dim);transition:transform .12s ease}.demo-surface details.panel>summary.panel-head .panel-actions+.panel-chevron{margin-left:8px}.demo-surface details.panel[open]>summary.panel-head .panel-chevron{transform:rotate(90deg)}.demo-surface table.data{width:100%;border-collapse:collapse}.demo-surface table.data th,.demo-surface table.data td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--border);white-space:nowrap}.demo-surface table.data th{color:var(--fg-muted);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.4px;cursor:pointer;-webkit-user-select:none;user-select:none}.demo-surface table.data tbody tr:hover{background:var(--bg-elev-2)}.demo-surface table.data td.num{text-align:right;font-variant-numeric:tabular-nums}.demo-surface table.data th.num{text-align:right}.demo-surface table.data th.no-sort{cursor:default}.demo-surface .table-wrap{width:100%}.demo-surface .table-toolbar{display:flex;justify-content:flex-end;margin-bottom:8px}.demo-surface .table-filter{background:var(--bg-elev);color:var(--fg);border:1px solid var(--border);border-radius:6px;padding:4px 8px;font-size:12px;min-width:160px}.demo-surface .table-filter:focus{outline:none;border-color:var(--accent)}.demo-surface .table-filter-col{min-width:0;width:100%;padding:2px 6px;font-weight:400;text-transform:none;letter-spacing:normal}.demo-surface .filter-bar{display:flex;flex-direction:column;gap:8px}.demo-surface .filter-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.demo-surface .filter-control{display:inline-flex;flex-direction:column;gap:4px;color:var(--fg-muted);font-size:11px;line-height:1}.demo-surface .filter-control-label{font-size:11px;color:var(--fg-muted)}.demo-surface .filter-control-checkbox{flex-direction:row;align-items:center;gap:6px;min-height:24px;cursor:pointer}.demo-surface .filter-control .filter-select,.demo-surface .filter-control .filter-input,.demo-surface .filter-control>input[type=text],.demo-surface .filter-control>select{min-width:160px}.demo-surface .filter-control-range{min-width:220px}.demo-surface .filter-control>select,.demo-surface .filter-control>input,.demo-surface .filter-select,.demo-surface .filter-input{margin:0}.demo-surface .filter-preset-chip{display:inline-flex;align-items:center;gap:4px}.demo-surface .filter-preset-apply,.demo-surface .filter-preset-delete{background:transparent!important;border:none!important;padding:0;color:inherit;cursor:pointer;font:inherit;font-size:inherit}.demo-surface .filter-preset-delete{color:var(--fg-dim);line-height:1;font-size:.84em}.demo-surface .filter-preset-name-input{width:160px;max-width:min(100%,160px)}.demo-surface table.data th.table-sort{position:relative;padding-right:16px;cursor:pointer}.demo-surface table.data th.table-sort:hover,.demo-surface table.data th.table-sort-active{color:var(--fg)}.demo-surface table.data th.table-sort-icon{margin-left:6px;color:var(--fg-dim);font-size:10px}.demo-surface table.data th.table-sort-active .table-sort-icon{color:var(--fg)}.demo-surface table.data th.table-sort-icon-idle{opacity:.55}.demo-surface table.data th.table-sort-icon-asc,.demo-surface table.data th.table-sort-icon-desc{color:var(--accent);font-weight:700}.demo-surface table.data tr.table-col-filters th{cursor:default;padding-top:0;padding-bottom:6px}.demo-surface td.table-empty{color:var(--fg-muted);text-align:center;padding:16px 8px}.demo-surface .chip{display:inline-flex;align-items:center;border-radius:999px;padding:2px 10px;min-height:24px;font-size:11px;font-weight:600;line-height:1.4;white-space:nowrap}.demo-surface .chip.sev-clean{background:var(--sev-clean);color:var(--sev-clean-fg)}.demo-surface .chip.sev-low{background:var(--sev-low);color:var(--sev-low-fg)}.demo-surface .chip.sev-medium{background:var(--sev-medium);color:var(--sev-medium-fg)}.demo-surface .chip.sev-high{background:var(--sev-high);color:var(--sev-high-fg)}.demo-surface .chip.sev-blocking{background:var(--sev-blocking);color:var(--sev-blocking-fg)}.demo-surface .chip.tier,.demo-surface .chip.gating{background:var(--bg-elev-2);color:var(--fg-muted);border:1px solid var(--border);font-weight:500}.demo-surface .chip.gating.ci-blocking{border-color:var(--sev-blocking);color:#f0a9a9}.demo-surface .chip.tone-warn{background:#d299221a;border:1px solid #d2992266;color:#d29922}.demo-surface .chip.tone-bad{background:#d83a3a18;border:1px solid #d83a3a66;color:#ff7b72}.demo-surface .chip.tone-info{background:#1f6feb1a;border:1px solid var(--accent-dim);color:var(--accent)}.demo-surface .rule-delta-legend{margin-top:10px;font-size:.82rem;color:var(--fg-muted)}.demo-surface .rule-delta-row{display:flex;justify-content:space-between;padding:2px 0;border-bottom:1px solid var(--border-dim, var(--border))}.demo-surface .rule-delta-name{font-weight:500}.demo-surface .rule-delta-counts{font-family:var(--font-mono, monospace)}.demo-surface .delta-banner{padding:6px 12px;border-radius:4px;margin-bottom:8px;font-size:.85rem}.demo-surface .delta-banner-warn{background:#d299221a;border:1px solid #d2992266;color:#d29922}.demo-surface .delta-banner-amber{background:#e3a20015;border:1px solid #e3a20055;color:#e3b341}.demo-surface .resolved-section{margin-top:16px}.demo-surface .resolved-section summary{cursor:pointer;color:var(--fg-muted);font-size:.9rem;padding:4px 0;-webkit-user-select:none;user-select:none}.demo-surface .resolved-table{margin-top:8px;opacity:.75}.demo-surface .resolved-row{color:var(--fg-dim)}.demo-surface .treemap-wrap{width:100%}.demo-surface .treemap-controls{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}.demo-surface .treemap-zoom{display:inline-flex;align-items:center;gap:4px}.demo-surface .treemap-zoom-val{min-width:40px;text-align:center;font-size:12px;color:var(--fg-muted);font-variant-numeric:tabular-nums}.demo-surface .treemap-svg-scroll{width:100%;overflow:auto}.demo-surface .treemap-svg-scroll[data-zoomed=true]{overscroll-behavior:contain;cursor:grab;border:1px solid var(--border);border-radius:6px}.demo-surface .treemap-svg-inner{min-width:100%}.demo-surface .treemap-svg-scroll .treemap{display:block;width:100%;height:100%}.demo-surface .treemap-wrap.is-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:var(--bg);margin:0;padding:12px;display:flex;flex-direction:column;overflow:hidden}.demo-surface .treemap-wrap.is-fullscreen .treemap-svg-scroll{flex:1 1 auto;min-height:0}.demo-surface .ddc-fullscreen-close{position:fixed;top:10px;right:10px;z-index:70;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;font-size:18px;line-height:1;border:1px solid var(--border-strong);border-radius:8px;background:var(--bg-elev);color:var(--fg);cursor:pointer;box-shadow:0 2px 8px #0000004d}.demo-surface .ddc-fullscreen-close:hover,.demo-surface .ddc-fullscreen-close:focus-visible{border-color:var(--accent);color:var(--accent)}.demo-surface .treemap rect{cursor:pointer;transition:opacity .1s}.demo-surface .treemap rect:hover{opacity:.82}.demo-surface .treemap text{fill:var(--fg);pointer-events:none;font-size:10px}.demo-surface .treemap .dir-label{fill:var(--fg-muted);font-size:10px;font-weight:600}.demo-surface .treemap .tm-label{font-size:10px;font-weight:600}.demo-surface .treemap .tm-value{font-size:9px}.demo-surface .treemap .tm-zoom-glyph{font-size:10px;opacity:.85}.demo-surface .treemap .tm-zoom{cursor:zoom-in}.demo-surface .treemap .tm-leaf{cursor:pointer}.demo-surface .treemap-mode-note{font-size:12px;color:var(--fg-muted);background:var(--bg-elev);border:1px solid var(--border);border-radius:6px;padding:6px 8px;margin-bottom:8px}.demo-surface .tooltip{position:fixed;z-index:50;background:#000;border:1px solid var(--border-strong);border-radius:6px;padding:8px 10px;pointer-events:none;max-width:320px;font-size:12px;box-shadow:0 6px 20px #00000080}.demo-surface .tooltip .path{color:var(--fg);word-break:break-all;margin-bottom:4px}.demo-surface .tooltip .meta{color:var(--fg-muted)}.demo-surface .treemap .dir-badge{fill:var(--fg-dim);font-size:9px;pointer-events:none}.demo-surface .treemap-crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:2px;margin-bottom:8px;font-size:12px}.demo-surface .treemap-crumbs .crumb{background:none;border:none;color:var(--accent);cursor:pointer;padding:2px 6px;border-radius:4px;font-size:12px;display:inline-flex;align-items:center;min-height:24px}.demo-surface .treemap-crumbs .crumb:hover:not(:disabled){background:var(--bg-elev)}.demo-surface .treemap-crumbs .crumb.current{color:var(--fg);cursor:default}.demo-surface .treemap-crumbs .crumb.up{margin-left:8px;color:var(--fg-muted);border:1px solid var(--border)}.demo-surface .treemap-crumbs .sep{color:var(--fg-dim);margin:0 2px}.demo-surface .treemap-excl-msg{font-size:12px;padding:6px 8px;border-radius:6px;margin-bottom:8px;border:1px solid var(--border)}.demo-surface .treemap-excl-msg.ok{color:var(--sev-clean)}.demo-surface .treemap-excl-msg.bad{color:var(--sev-high)}.demo-surface .context-menu{position:fixed;z-index:60;min-width:200px;background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:6px;padding:4px;box-shadow:0 6px 20px #00000080;display:flex;flex-direction:column}.demo-surface .context-menu-item{background:none;border:none;color:var(--fg);text-align:left;padding:7px 10px;border-radius:4px;cursor:pointer;font-size:12px;white-space:nowrap}.demo-surface .context-menu-item:hover:not(:disabled){background:var(--accent-dim, var(--bg))}.demo-surface .context-menu-item:disabled{color:var(--fg-dim);cursor:not-allowed}.demo-surface .tree-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.demo-surface .tree-head-actions{display:inline-flex;align-items:center;gap:8px}.demo-surface .tree-fullscreen-btn{background:transparent;border:1px solid var(--border);color:var(--fg-muted);font-size:11px;padding:0 8px;min-height:24px;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center}.demo-surface .tree-fullscreen-btn:hover{border-color:var(--accent);color:var(--fg)}.demo-surface .tree-fullscreen-btn.active{border-color:var(--accent);color:#fff}.demo-surface .panel.is-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;margin:0;border-radius:0;background:var(--bg);display:flex;flex-direction:column;overflow:hidden}.demo-surface .panel.is-fullscreen .project-tree-workspace{flex:1 1 auto;min-height:0;overflow:auto}.demo-surface .seg{display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.demo-surface .seg-btn{background:transparent;border:none;color:var(--fg-dim);font-size:11px;padding:3px 10px;cursor:pointer}.demo-surface .seg-btn:hover{background:var(--bg-elev-2);color:var(--fg)}.demo-surface .seg-btn.active{background:var(--accent-dim);color:#fff}.demo-surface .seg-btn+.seg-btn{border-left:1px solid var(--border)}.demo-surface .tree{font-family:ui-monospace,monospace;font-size:12px}.demo-surface .tree-row{display:flex;align-items:center;gap:6px;padding:2px 4px;border-radius:4px;cursor:pointer;-webkit-user-select:none;user-select:none}.demo-surface .tree-row:hover{background:var(--bg-elev-2)}.demo-surface .tree-row.selected{background:var(--accent-dim)}.demo-surface .tree-row .twisty{width:12px;color:var(--fg-dim);flex:0 0 auto}.demo-surface .tree-row .name{flex:1;overflow:hidden;text-overflow:ellipsis}.demo-surface .tree-row .dir-name{color:var(--fg)}.demo-surface .tree-row .file-name{color:var(--fg-muted)}.demo-surface .tree-row .count{color:var(--fg-dim);font-size:11px}.demo-surface .tree-row .tree-col{flex:0 0 auto;width:64px;text-align:right;color:var(--fg-dim);font-size:11px;font-variant-numeric:tabular-nums}.demo-surface .tree-head-row{cursor:default;border-bottom:1px solid var(--border);color:var(--fg-dim);font-weight:600;text-transform:uppercase;letter-spacing:.03em;font-size:10px;position:sticky;top:0;background:var(--bg);z-index:1}.demo-surface .tree-head-row:hover{background:var(--bg)}.demo-surface .tree-head-row .name{color:var(--fg-dim)}.demo-surface .tree-row .sev-dot-spacer{width:8px;flex:0 0 auto}.demo-surface .tree-row .name.hidden{opacity:.6;font-style:italic}.demo-surface .tree-toggles{display:flex;gap:16px;flex-wrap:wrap;margin:4px 0 8px;font-size:11px;color:var(--fg-dim)}.demo-surface .tree-toggles label{display:inline-flex;align-items:center;gap:6px;min-height:24px;cursor:pointer}.demo-surface .project-tree-workspace{display:grid;grid-template-columns:minmax(340px,1.6fr) minmax(260px,1fr);gap:16px;align-items:start}.demo-surface .project-tree-tree{min-width:0}.demo-surface .project-tree-detail{min-width:0;border:1px solid var(--border);border-radius:8px;padding:8px;background:var(--bg-elev-2)}.demo-surface .project-tree-detail-head{border-bottom:1px solid var(--border);margin-bottom:8px;padding-bottom:6px}.demo-surface .project-tree-detail-path{color:var(--fg);font-size:12px;margin-bottom:6px;word-break:break-all;font-family:ui-monospace,monospace}.demo-surface .project-tree-detail-meta{display:flex;gap:12px;flex-wrap:wrap;color:var(--fg-dim);font-size:11px}.demo-surface .project-tree-detail-meta span{white-space:nowrap}.demo-surface .project-tree-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.demo-surface .project-tree-empty{color:var(--fg-dim);font-size:11px}.demo-surface .project-tree-file-findings{font-size:11px}.demo-surface .project-tree-findings-title{color:var(--fg-muted);text-transform:uppercase;letter-spacing:.03em;font-size:10px;margin-bottom:6px}.demo-surface .project-tree-finding-row{display:inline-flex;align-items:center;gap:6px;padding:2px 0}.demo-surface .sev-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto}@media(max-width:1000px){.demo-surface .project-tree-workspace{grid-template-columns:1fr}}.demo-surface .findings-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:16px;align-items:start}@media(max-width:1100px){.demo-surface .findings-layout{grid-template-columns:1fr}}.demo-surface .filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.demo-surface .filters label{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--fg-muted)}.demo-surface .filters .active-file{background:var(--bg-elev-2);border:1px solid var(--accent);border-radius:6px;padding:4px 8px;font-size:12px;display:flex;align-items:center;gap:8px}.demo-surface .filters .active-file button{padding:0 6px;font-size:11px}.demo-surface .findings-table-wrap{max-height:calc(100vh - 320px);overflow:auto;border:1px solid var(--border);border-radius:8px}.demo-surface .findings-table-wrap table.data thead th{position:sticky;top:0;z-index:1;background:var(--bg)}.demo-surface table.data tbody tr.row-selectable{cursor:pointer}.demo-surface table.data tbody tr.selected{background:var(--accent-dim)!important}.demo-surface .path-cell{font-family:ui-monospace,monospace;font-size:11px;max-width:320px;overflow:hidden;text-overflow:ellipsis}.demo-surface .evidence{max-height:calc(100vh - 220px);overflow:auto}.demo-surface .evidence .empty{color:var(--fg-dim);padding:40px 10px;text-align:center}.demo-surface .evidence .reason{font-size:13px;margin:8px 0 14px}.demo-surface .evidence .badges{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.demo-surface .confidence-math{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:10px;margin-bottom:12px}.demo-surface .confidence-math .mult{display:flex;justify-content:space-between;gap:12px;padding:4px 0;border-top:1px dashed var(--border)}.demo-surface .confidence-math .mult .nm{color:var(--fg)}.demo-surface .confidence-math .mult .dt{color:var(--fg-dim);font-size:11px}.demo-surface .confidence-math .factor{font-variant-numeric:tabular-nums;color:var(--accent)}.demo-surface .confidence-math .result{display:flex;justify-content:space-between;margin-top:8px;padding-top:8px;border-top:1px solid var(--border-strong);font-weight:600}.demo-surface .confidence-math .mismatch{color:var(--sev-high);font-size:11px;margin-top:6px}.demo-surface .kv{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;margin-bottom:12px}.demo-surface .kv .k{color:var(--fg-muted)}.demo-surface .kv .v{font-family:ui-monospace,monospace;font-size:12px;word-break:break-all}.demo-surface pre.graph{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:10px;overflow:auto;font-size:11px;margin:0;max-height:280px}.demo-surface .file-viewer{margin-top:12px}.demo-surface .fv-header{color:var(--fg-muted);margin-bottom:6px;word-break:break-all}.demo-surface .fv-header .fv-range{color:var(--fg-dim)}.demo-surface .fv-box{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:0;overflow:auto;font-size:11px;margin:0;max-height:360px;white-space:pre}.demo-surface .fv-box--plain{padding:10px}.demo-surface .fv-excerpt-label{color:var(--fg-dim);font-size:11px;margin-bottom:4px}.demo-surface .fv-line{display:flex;align-items:flex-start}.demo-surface .fv-line--hl{background:#4493f81a;border-left:2px solid var(--accent)}.demo-surface .fv-gutter{flex:0 0 auto;min-width:3.5em;padding:0 8px;text-align:right;color:var(--fg-dim);-webkit-user-select:none;user-select:none;border-right:1px solid var(--border)}.demo-surface .fv-line--hl .fv-gutter{margin-left:-2px}.demo-surface .fv-code{flex:1 1 auto;padding:0 8px;white-space:pre}.demo-surface .fv-more{margin:6px 0}.demo-surface .fv-error{color:var(--fg-dim);margin-top:6px;font-size:11px}.demo-surface .fv-line--added{background:#2878282e}.demo-surface .fv-line--removed{background:#8c28282e}.demo-surface .git-diff-line--added .fv-code{color:#7eca7e}.demo-surface .git-diff-line--removed .fv-code{color:#e07070}.demo-surface .git-diff-line--hunk{color:var(--fg-dim);background:#4493f80f}.demo-surface .git-diff-line--meta{color:var(--fg-dim);font-style:italic}.demo-surface .git-history-panel{display:flex;flex-direction:column}.demo-surface .git-history-loading{color:var(--fg-dim);font-size:12px;padding:8px 12px}.demo-surface .git-commit-list{overflow-y:auto;max-height:400px;border:1px solid var(--border);border-radius:4px}.demo-surface .git-commit-row{display:flex;align-items:center;gap:8px;padding:4px 8px;font-size:11px;cursor:pointer;border-bottom:1px solid var(--border);min-height:26px}.demo-surface .git-commit-row:hover{background:var(--row-hover, rgba(255,255,255,.04))}.demo-surface .git-commit-row--active{background:#4493f814}.demo-surface .git-commit-hash{flex:0 0 auto;min-width:5.5em;color:var(--accent)}.demo-surface .git-commit-age{flex:0 0 auto;min-width:5.5em;color:var(--fg-dim);text-align:right}.demo-surface .git-commit-author{flex:0 0 auto;min-width:6em;max-width:10em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fg-muted, var(--fg-dim))}.demo-surface .git-commit-subject{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.demo-surface .git-commit-stats{flex:0 0 auto;font-size:10px}.demo-surface .git-stat-add{color:#7eca7e}.demo-surface .git-stat-del{color:#e07070}.demo-surface .git-diff-container{border-top:1px solid var(--border)}.demo-surface .tree-col.git-last-change{flex:0 0 auto}.demo-surface .tree-git-footer{font-size:10px;color:var(--fg-dim);padding:4px 8px;border-top:1px solid var(--border)}.demo-surface .tree-recent-commit-row{padding:0;color:var(--fg-dim)}.demo-surface .tree-recent-commit-button{display:grid;grid-template-columns:5.5em 5.5em minmax(5em,9em) minmax(0,1fr) auto;width:100%;gap:6px;align-items:center;border:0;border-bottom:1px solid var(--border);background:transparent;color:inherit;font:inherit;font-size:10px;padding:4px 0;text-align:left;cursor:pointer}.demo-surface .tree-recent-commit-button:hover{background:var(--row-hover, rgba(255,255,255,.04))}.demo-surface .tree-recent-commit-subject{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.demo-surface .tree-recent-commit-count{color:var(--fg-muted, var(--fg-dim))}.demo-surface .tree-recent-commit-files{padding:6px 0 8px 12px;border-bottom:1px solid var(--border)}.demo-surface .tree-recent-commit-file{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:3px 0;font-size:11px}.demo-surface .link-button{border:0;padding:0;background:transparent;color:var(--accent);cursor:pointer;text-align:left}.demo-surface .similar-doc-pair{margin-top:10px}.demo-surface .similar-doc-pair-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px}.demo-surface .similar-doc-card{border:1px solid var(--border);border-radius:4px;overflow:hidden}.demo-surface .similar-doc-card>summary{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:6px 8px;cursor:pointer}.demo-surface .dropzone{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#05080cd9;display:flex;align-items:center;justify-content:center;border:3px dashed var(--accent)}.demo-surface .dropzone .msg{font-size:18px;color:var(--fg)}.demo-surface .error-banner{background:#2b1416;border:1px solid var(--sev-blocking);color:#f3b0b0;border-radius:8px;padding:10px 14px;margin-bottom:16px}.demo-surface .loading{padding:60px;text-align:center;color:var(--fg-muted)}.demo-surface .ai-panel{border-color:#6b4ea8}.demo-surface .ai-panel h2{color:#b89cf0}.demo-surface .ai-panel .advisory{font-size:11px;color:var(--fg-dim);margin-bottom:8px}.demo-surface .ai-panel-fixes{margin-top:12px;border-top:1px solid var(--border);padding-top:10px}.demo-surface .ai-panel-fixes-title{margin:0 0 6px;font-size:12px;color:#b89cf0}.demo-surface .ai-panel-fixes-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.demo-surface .ai-panel-fix{font-size:12px;line-height:1.4}.demo-surface .ai-panel-fix-action{font-weight:600}.demo-surface .ai-panel-fix-detail{color:var(--fg-muted)}.demo-surface .ai-panel-fix .chip{margin-left:6px;vertical-align:middle}.demo-surface .legend{display:flex;gap:14px;flex-wrap:wrap;align-items:center;font-size:11px;color:var(--fg-muted)}.demo-surface .legend .legend-title{font-size:10px;color:var(--fg-muted)}.demo-surface .legend .item{display:flex;align-items:center;gap:5px}.demo-surface .legend .swatch{width:12px;height:12px;border-radius:3px}.demo-surface .trace{margin:10px 0 14px;padding:12px;background:var(--bg-elev);border:1px solid var(--border);border-radius:8px}.demo-surface .trace-headline{color:var(--fg);margin-bottom:10px;line-height:1.5}.demo-surface .trace-headline code{background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:1px 5px;font-size:.92em}.demo-surface .trace-row{display:flex;gap:10px;padding:2px 0}.demo-surface .trace-k{color:var(--fg-dim);min-width:120px}.demo-surface .trace-v{color:var(--fg)}.demo-surface .why-tree-panel{margin-bottom:12px}.demo-surface .why-tree{font-size:12px;line-height:1.5}.demo-surface .why-row{display:flex;align-items:baseline;gap:6px;padding:1px 4px;border-radius:4px;-webkit-user-select:none;user-select:none}.demo-surface .why-row:hover{background:var(--bg-elev-2)}.demo-surface .why-row.why-link{cursor:pointer;color:var(--accent)}.demo-surface .why-twisty{width:12px;flex:0 0 auto;color:var(--fg-dim);cursor:pointer}.demo-surface .why-label{color:var(--fg);flex:0 0 auto}.demo-surface .why-value{color:var(--fg-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.demo-surface .why-link-arrow{color:var(--accent);flex:0 0 auto}.demo-surface .why-dot{display:inline-block;width:7px;height:7px;border-radius:50%;flex:0 0 auto;align-self:center}.demo-surface .why-dot.why-ok{background:#2ea043}.demo-surface .why-dot.why-bad{background:var(--sev-blocking)}.demo-surface .why-dot.why-warn{background:var(--sev-high)}.demo-surface .why-dot.why-muted{background:var(--fg-dim)}.demo-surface .field-grid{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.demo-surface .field-chip{font-family:var(--mono, ui-monospace, monospace);font-size:.82rem;padding:2px 8px;border-radius:12px;background:var(--bg);border:1px solid var(--border);color:var(--fg-muted)}.demo-surface .field-chip.read{border-color:#2ea04366;background:#2ea04318;color:#56d364}.demo-surface .field-chip.unread{border-color:#d83a3a66;background:#d83a3a18;color:#ff7b72}.demo-surface .field-chip.focus{outline:2px solid var(--accent);outline-offset:1px}.demo-surface .trace-why{margin-top:10px;padding-top:8px;border-top:1px dashed var(--border);color:var(--fg-muted);font-size:.9rem;line-height:1.5}.demo-surface .trace-chain{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0}.demo-surface .trace-chain .node{padding:3px 9px;border-radius:6px;font-size:.84rem;border:1px solid var(--border)}.demo-surface .trace-chain .node.ok{background:#2ea04318;border-color:#2ea04366;color:#56d364}.demo-surface .trace-chain .node.bad{background:#d83a3a18;border-color:#d83a3a66;color:#ff7b72}.demo-surface .trace-chain .arrow,.demo-surface .arrow{color:var(--fg-dim)}.demo-surface .dual-col{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:8px 0}.demo-surface .col-h{color:var(--fg-dim);font-size:.85rem;margin-bottom:6px}.demo-surface .graph-raw{margin-top:12px}.demo-surface .graph-raw summary{cursor:pointer;color:var(--fg-muted);margin-bottom:6px}.demo-surface .cl-section{margin:14px 0}.demo-surface .cl-h{display:flex;align-items:center;gap:8px;color:var(--fg-muted);margin-bottom:10px}.demo-surface .ok-chip{background:#2ea04318;border:1px solid #2ea04366;color:#56d364}.demo-surface .muted-chip{background:var(--bg);border:1px solid var(--border);color:var(--fg-dim)}.demo-surface .delta-new-chip{background:#2ea04318;border:1px solid #2ea04366;color:#56d364;font-size:.7rem;padding:1px 5px}.demo-surface .delta-resolved-chip{background:#388bfd18;border:1px solid #388bfd55;color:#79c0ff;font-size:.7rem;padding:1px 5px}.demo-surface .members{display:flex;flex-direction:column;gap:6px}.demo-surface .member{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg-elev);border:1px solid var(--border);border-radius:6px}.demo-surface .member .role-dot{width:9px;height:9px;border-radius:50%;background:var(--fg-dim)}.demo-surface .member.service .role-dot{background:var(--accent)}.demo-surface .member.client .role-dot{background:#d29922}.demo-surface .member-meta{color:var(--fg-dim);font-size:.85rem;margin-left:auto}.demo-surface .cl-callers{word-break:break-word}.demo-surface .links{margin-top:10px;display:flex;flex-direction:column;gap:4px}.demo-surface .link{color:var(--fg-muted);font-size:.9rem}.demo-surface .member-clickable,.demo-surface .link-clickable{cursor:pointer;transition:border-color .12s ease,color .12s ease}.demo-surface .link-clickable{border-radius:6px;padding:2px 6px;margin:0 -6px}.demo-surface .member-clickable:hover,.demo-surface .member-clickable:focus-visible,.demo-surface .link-clickable:hover,.demo-surface .link-clickable:focus-visible{border-color:var(--accent, #6ea8fe);color:var(--fg);outline:none}.demo-surface .clone-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px;margin-bottom:14px}.demo-surface .clone-controls label{display:flex;flex-direction:column;gap:4px;font-size:.8rem;color:var(--fg-dim)}.demo-surface .clone-controls input,.demo-surface .clone-controls select{background:var(--bg);border:1px solid var(--border);color:var(--fg);border-radius:6px;padding:5px 8px;font-size:.85rem}.demo-surface .clone-controls input[type=text]{min-width:240px}.demo-surface .clone-controls input[type=number]{width:80px}.demo-surface .clone-list{display:flex;flex-direction:column;gap:10px}.demo-surface .clone-cluster{background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;padding:10px 12px}.demo-surface .clone-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.demo-surface .clone-toggle{font-variant-numeric:tabular-nums}.demo-surface .clone-metrics{color:var(--fg-muted);font-size:.85rem}.demo-surface .clone-reason{color:var(--fg-dim);font-size:.85rem;margin-top:6px;line-height:1.5}.demo-surface .clone-sites{list-style:none;margin:10px 0 2px;padding:8px 0 0;border-top:1px dashed var(--border);display:flex;flex-direction:column;gap:4px}.demo-surface .clone-site{display:flex;align-items:baseline;gap:10px}.demo-surface .clone-site-path{color:var(--fg);word-break:break-all}.demo-surface .clone-site-tok{color:var(--fg-dim);font-size:.78rem;white-space:nowrap}.demo-surface .clone-site-row{display:flex;align-items:baseline;gap:10px}.demo-surface .clone-site-toggle{margin-left:auto;font-size:.75rem;padding:2px 8px}.demo-surface .clone-site-code{margin:6px 0 4px}.demo-surface .env-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.demo-surface .env-row{padding:8px 0;border-top:1px dashed var(--border)}.demo-surface .env-row:first-child{border-top:none}.demo-surface .env-row-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.demo-surface .env-key{color:var(--fg);font-weight:600;word-break:break-all}.demo-surface .env-loc{color:var(--fg-dim);font-size:.82rem;word-break:break-all}.demo-surface .env-toggle{font-size:.75rem;padding:2px 8px}.demo-surface .env-reason{color:var(--fg-dim);font-size:.85rem;margin-top:4px;line-height:1.5}.demo-surface .env-code{margin:8px 0 2px}.demo-surface .evidence-locations{margin:8px 0 2px;border:1px solid var(--border);border-radius:6px;background:var(--bg)}.demo-surface .evidence-locations>.evl-summary{cursor:pointer;padding:6px 10px;font-size:.85em;color:var(--fg-muted);-webkit-user-select:none;user-select:none}.demo-surface .evidence-locations>.evl-summary:hover{color:var(--fg)}.demo-surface .evl-body{padding:4px 8px 8px;display:flex;flex-direction:column;gap:8px}.demo-surface .evl-file{border:1px solid var(--border);border-radius:6px;overflow:hidden}.demo-surface .evl-file-head{cursor:pointer;display:flex;align-items:center;gap:8px;padding:5px 8px;background:var(--bg-elev, var(--bg));-webkit-user-select:none;user-select:none}.demo-surface .evl-file-path{font-size:.82em;color:var(--fg)}.demo-surface .evl-file-count{margin-left:auto;font-size:.75em;color:var(--fg-dim)}.demo-surface .evl-hunk{padding:4px 8px}.demo-surface .evl-gap{text-align:center;color:var(--fg-dim);letter-spacing:2px;padding:2px 0}.demo-surface .evl-snippet{font-size:.78em;color:var(--fg-muted);padding:2px 0 4px;display:flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.demo-surface .evl-tag{font-size:.7em;padding:0 5px;border-radius:8px;border:1px solid var(--border);color:var(--fg-dim);flex:0 0 auto}.demo-surface .evl-tag--weak{border-color:var(--warn, var(--border));color:var(--warn, var(--fg-dim))}.demo-surface .evl-tag--hard{border-color:var(--ok, var(--border));color:var(--ok, var(--fg-dim))}.demo-surface .evl-noreveal{font-size:.8em;color:var(--fg-dim);padding:4px 0}.demo-surface .clone-unify{margin-top:8px;padding:8px 10px;border:1px solid var(--border);border-left:3px solid var(--accent, var(--border));border-radius:6px;background:var(--bg)}.demo-surface .clone-unify-head{display:flex;align-items:center;gap:10px}.demo-surface .clone-unify-params{color:var(--fg-muted);font-size:.8rem}.demo-surface .clone-unify-list{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:3px;color:var(--fg-dim);font-size:.82rem;line-height:1.5}.demo-surface .clone-controls input[type=range]{width:140px}.demo-surface .clone-more{display:flex;align-items:center;gap:12px;margin-top:12px}.demo-surface .origin-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px;margin-bottom:14px}.demo-surface .origin-controls label{display:flex;flex-direction:column;gap:4px;font-size:.8rem;color:var(--fg-dim)}.demo-surface .origin-controls input[type=text]{background:var(--bg);border:1px solid var(--border);color:var(--fg);border-radius:6px;padding:5px 8px;font-size:.85rem;min-width:220px}.demo-surface .origin-list{display:flex;flex-direction:column;gap:8px}.demo-surface .origin-ribbon{background:var(--bg-elev);border:1px solid var(--border);border-left:3px solid var(--border-strong);border-radius:8px;padding:8px 12px}.demo-surface .origin-ribbon.renamed{border-left-color:var(--sev-high);background:var(--bg-elev-2)}.demo-surface .origin-members{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--fg-dim);font-size:.72rem;margin-bottom:5px}.demo-surface .of-member-block{display:inline-flex;flex-direction:column;gap:2px}.demo-surface .of-mini-connector{display:inline-flex;align-items:center;font-size:.66rem;text-transform:lowercase;color:var(--fg-dim)}.demo-surface .origin-flow{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.demo-surface .of-node-wrap{display:inline-flex;flex-direction:column;gap:2px}.demo-surface .of-role{display:inline-block;color:var(--fg-dim);font-size:.64rem;text-transform:uppercase;letter-spacing:.05em;line-height:1}.demo-surface .of-node{padding:3px 9px;border-radius:6px;font-size:.84rem;border:1px solid var(--border);background:var(--bg)}.demo-surface .of-path{color:var(--fg-dim);font-size:.78rem;letter-spacing:-.01em;margin-right:-2px}.demo-surface .of-node.fe{border-color:var(--accent-dim);background:#1f6feb1a;color:var(--accent)}.demo-surface .of-node.wire.warn{border-color:var(--sev-high);background:#db8c1c1a;color:var(--sev-high)}.demo-surface .of-node.be{color:var(--fg)}.demo-surface .of-model{color:var(--fg-dim);font-size:.78rem}.demo-surface .of-node.route{color:var(--fg-muted)}.demo-surface .of-method{color:var(--accent);font-weight:600}.demo-surface .of-arrow{color:var(--fg-dim)}.demo-surface .of-hop{display:inline-flex;align-items:center;gap:4px}.demo-surface .of-hop-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;padding:1px 6px;border-radius:5px;border:1px solid var(--border);color:var(--fg-dim);background:var(--bg)}.demo-surface .of-hop.renamed .of-hop-label{border-color:var(--sev-high);color:var(--sev-high);background:#db8c1c1a}.demo-surface .of-hop.verbatim .of-hop-label{border-style:dashed;opacity:.8}.demo-surface .origin-more{display:flex;align-items:center;gap:12px;margin-top:12px}.demo-surface .arch-toggle{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;color:var(--fg-dim);cursor:pointer}.demo-surface .arch-legend{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:12px;font-size:.8rem;color:var(--fg-dim)}.demo-surface .arch-legend-item{display:inline-flex;align-items:center;gap:6px}.demo-surface .arch-swatch{width:14px;height:14px;border-radius:3px;border:1px solid var(--border);display:inline-block}.demo-surface .arch-swatch.ok{background:#2ea04318;border-color:#2ea04366}.demo-surface .arch-swatch.unrealized{background:var(--bg);border:1px dashed var(--border-strong)}.demo-surface .arch-swatch.violation{background:#d83a3a18;border-color:#d83a3a66}.demo-surface .arch-matrix-wrap{overflow-x:auto}.demo-surface .arch-matrix{border-collapse:collapse;font-size:.82rem}.demo-surface .arch-matrix th,.demo-surface .arch-matrix td{border:1px solid var(--border);text-align:center;padding:4px 8px}.demo-surface .arch-corner{color:var(--fg-dim);font-weight:400;font-size:.74rem;text-align:left;white-space:nowrap}.demo-surface .arch-col-h{color:var(--fg-muted);font-weight:500;vertical-align:bottom}.demo-surface .arch-row-h{color:var(--fg-muted);font-weight:500;text-align:left;white-space:nowrap}.demo-surface .arch-cell{min-width:34px;color:var(--fg-dim)}.demo-surface .arch-ok{background:#2ea04312;color:#56d364}.demo-surface .arch-unrealized{background:var(--bg);color:var(--fg-dim)}.demo-surface .arch-violation{background:#d83a3a1f;color:#ff7b72;font-weight:600}.demo-surface .arch-self{background:var(--bg);color:var(--fg-dim)}.demo-surface .arch-cell-self{opacity:.4}.demo-surface .arch-arrow{color:var(--fg-dim);margin:0 4px}.demo-surface .arch-vlist{display:flex;flex-direction:column;gap:10px}.demo-surface .arch-vcard{background:var(--bg-elev);border:1px solid var(--border);border-left:3px solid var(--sev-blocking);border-radius:8px;padding:10px 12px}.demo-surface .arch-vhead{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.demo-surface .arch-edge{font-size:.9rem;color:var(--fg)}.demo-surface .arch-vreason{margin:8px 0;color:var(--fg-muted);font-size:.88rem;line-height:1.5}.demo-surface .arch-vsub{color:var(--fg-dim);font-size:.78rem;text-transform:uppercase;letter-spacing:.02em;margin-bottom:6px}.demo-surface .arch-intro{background:var(--bg-elev);border:1px solid var(--border);border-left:3px solid var(--accent, #6ea8fe);border-radius:8px;padding:10px 12px;margin:8px 0 12px}.demo-surface .arch-intro-h{font-weight:600;margin-bottom:4px;color:var(--fg)}.demo-surface .arch-intro p{margin:0;color:var(--fg-muted);font-size:.88rem;line-height:1.5}.demo-surface .arch-contrast{margin:10px 0 4px;font-size:.85rem;color:var(--fg-muted)}.demo-surface .arch-allowed-list{color:var(--fg)}.demo-surface .arch-allowed-none{font-style:italic}.demo-surface .arch-remedy{margin-top:10px;padding-top:10px;border-top:1px dashed var(--border)}.demo-surface .arch-remedy-opts{margin:6px 0 0;padding-left:18px;color:var(--fg-muted);font-size:.88rem;line-height:1.55}.demo-surface .arch-remedy-opts>li{margin-bottom:8px}.demo-surface .arch-snippet{display:flex;align-items:flex-start;gap:8px;margin-top:6px}.demo-surface .arch-snippet-pre{margin:0;flex:1;background:var(--bg, #0d1117);border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-size:.82rem;white-space:pre;overflow-x:auto;color:var(--fg)}.demo-surface .arch-imports{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.demo-surface .arch-import{display:flex;align-items:center;gap:4px;flex-wrap:wrap;font-size:.8rem;padding:3px 8px;border-radius:6px;background:var(--bg);border:1px solid var(--border)}.demo-surface .arch-import-from{color:#ff7b72}.demo-surface .arch-import-to{color:var(--fg-muted)}.demo-surface .arch-unrealized{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.demo-surface .arch-unrealized-row{display:flex;align-items:center;gap:4px;font-size:.82rem;padding:4px 8px;border-radius:6px;background:var(--bg);border:1px dashed var(--border-strong);color:var(--fg-muted);width:fit-content}.demo-surface .arch-layers{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.demo-surface .arch-layer{background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;padding:10px 12px}.demo-surface .arch-layer-head{display:flex;align-items:center;gap:10px;margin-bottom:6px}.demo-surface .arch-layer-name{font-size:.9rem;color:var(--fg)}.demo-surface .arch-globs{font-size:.78rem;color:var(--fg-muted);word-break:break-all}.demo-surface .scan-why{display:inline-flex;flex-wrap:wrap;gap:6px}.demo-surface .scan-excl-group td{background:var(--bg-elev);color:var(--fg-muted);font-size:.8rem;font-weight:600}.demo-surface .doc-list{display:flex;flex-direction:column;gap:10px}.demo-surface .doc-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;padding:10px 12px}.demo-surface .doc-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.demo-surface .doc-path{word-break:break-all}.demo-surface .doc-metrics{color:var(--fg-muted);font-size:.85rem;font-variant-numeric:tabular-nums}.demo-surface .doc-refs{list-style:none;margin:10px 0 2px;padding:8px 0 0;border-top:1px dashed var(--border);display:flex;flex-direction:column;gap:12px}.demo-surface .doc-ref{display:flex;flex-direction:column;gap:5px}.demo-surface .doc-ref-span{color:var(--fg);word-break:break-all}.demo-surface .doc-ref-badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.demo-surface .doc-ref-reason{color:var(--fg-dim);font-size:.82rem;line-height:1.5}.demo-surface .doc-ref-more{color:var(--fg-dim);font-size:.8rem}.demo-surface .doc-orphan-list{display:flex;flex-direction:column;gap:10px;margin-top:8px}.demo-surface .doc-orphan{background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;padding:10px 12px}.demo-surface .doc-orphan-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.demo-surface .stats{display:flex;flex-wrap:wrap;gap:10px}.demo-surface .stat{min-width:92px;padding:10px 14px;background:var(--bg-elev);border:1px solid var(--border);border-radius:8px}.demo-surface .stat-clickable{cursor:pointer;transition:border-color .12s ease,background .12s ease}.demo-surface .stat-clickable:hover,.demo-surface .stat-clickable:focus-visible{border-color:var(--accent, #6ea8fe);background:var(--bg-hover, var(--bg-elev));outline:none}.demo-surface .stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:10px;margin-bottom:16px}.demo-surface .stat-grid.row{display:flex;flex-wrap:wrap}.demo-surface .stat-v.warn{color:var(--sev-high)}.demo-surface .stat-v{font-size:1.5rem;font-weight:600;color:var(--fg)}.demo-surface .stat-l{font-size:.78rem;color:var(--fg-dim);margin-top:2px}.demo-surface .metrics-page>*+*{margin-top:16px}.demo-surface .metric-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.demo-surface .metric-box{padding:12px 14px;background:var(--bg-elev);border:1px solid var(--border);border-radius:8px}.demo-surface .metric-box-v{font-size:1.6rem;font-weight:600;color:var(--fg)}.demo-surface .metric-box-v.warn{color:var(--sev-high)}.demo-surface .metric-box-v.good{color:#3fb950}.demo-surface .metric-box-l{font-size:.82rem;font-weight:600;color:var(--fg-muted);margin-top:2px}.demo-surface .metric-box-x{font-size:.72rem;line-height:1.35;color:var(--fg-dim);margin-top:6px}.demo-surface .health-breakdown{margin-top:12px;font-size:.82rem;color:var(--fg-muted)}.demo-surface .health-breakdown summary{cursor:pointer;color:var(--fg-dim)}.demo-surface .health-sparkline-wrap{margin-top:12px;display:inline-block}.demo-surface .health-sparkline-label{font-size:.75rem;color:var(--fg-dim);margin-bottom:4px}.demo-surface .health-sparkline{display:block;overflow:visible}.demo-surface .health-sparkline-dates{display:flex;justify-content:space-between;font-size:.68rem;color:var(--fg-dim);margin-top:2px;width:200px}.demo-surface .health-sparkline-date{line-height:1}.demo-surface .chart-explain{font-size:.78rem;color:var(--fg-dim);margin:0 0 10px}.demo-surface .chart-empty{color:var(--fg-dim);font-size:.85rem;padding:12px 0}.demo-surface .chart-pie-wrap{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.demo-surface .chart-legend{list-style:none;margin:0;padding:0;display:grid;gap:4px;min-width:200px}.demo-surface .chart-legend li{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--fg-muted)}.demo-surface .chart-swatch{width:11px;height:11px;border-radius:2px;flex:0 0 auto}.demo-surface .chart-legend-label{flex:1 1 auto}.demo-surface .chart-legend-value{color:var(--fg-dim);font-variant-numeric:tabular-nums}.demo-surface .chart-bars{display:grid;gap:14px}.demo-surface .chart-bar-head{display:flex;justify-content:space-between;font-size:.8rem;color:var(--fg-muted);margin-bottom:4px}.demo-surface .chart-bar-nums{color:var(--fg-dim);font-variant-numeric:tabular-nums}.demo-surface .chart-bar-track-wrap{position:relative;height:14px}.demo-surface .chart-bar-track{position:absolute;inset:0 auto 0 0;height:100%;background:var(--bg-elev-2);border-radius:4px}.demo-surface .chart-bar-fill{position:absolute;inset:0 auto 0 0;height:100%;background:var(--accent);border-radius:4px}.demo-surface .trace-tree .gn-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px;margin-bottom:12px}.demo-surface .trace-tree .gn-controls label{display:flex;flex-direction:column;gap:4px;font-size:.8rem;color:var(--fg-dim)}.demo-surface .trace-tree .gn-controls input[type=text],.demo-surface .trace-tree .gn-controls select{background:var(--bg);border:1px solid var(--border);color:var(--fg);border-radius:6px;padding:5px 8px;font-size:.85rem;min-width:240px}.demo-surface .trace-tree .gn-controls select{min-width:90px}.demo-surface .gn-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto}.demo-surface .gn-kind{font-family:var(--mono, ui-monospace, monospace);font-size:.72rem;padding:1px 7px;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--fg-muted);text-transform:lowercase}.demo-surface .gn-file{border-color:var(--accent-dim);color:var(--accent);background:#1f6feb1a}.demo-surface .gn-route{border-color:#d2992266;color:#d29922;background:#d299221a}.demo-surface .gn-call{border-color:#8957e566;color:#b083f0;background:#8957e51a}.demo-surface .gn-state{font-size:.72rem;padding:1px 7px;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--fg-muted)}.demo-surface .gn-state.ok{border-color:#2ea04366;background:#2ea04318;color:#56d364}.demo-surface .gn-state.bad{border-color:#d83a3a66;background:#d83a3a18;color:#ff7b72}.demo-surface .gn-state.warn{border-color:#d2992266;background:#d299221a;color:#d29922}.demo-surface .gn-state.op{border-color:var(--border);color:var(--fg-dim)}.demo-surface .gn-edge{font-size:.7rem;color:var(--fg-dim);border:1px dashed var(--border);border-radius:8px;padding:0 6px}.demo-surface .gn-edge-serves{color:#d29922;border-color:#d2992255}.demo-surface .gn-edge-imports{color:var(--accent);border-color:var(--accent-dim)}.demo-surface .gn-picker{display:flex;flex-direction:column;gap:2px;max-height:240px;overflow:auto;border:1px solid var(--border);border-radius:8px;padding:6px;margin-bottom:12px;background:var(--bg-elev)}.demo-surface .gn-picker-row{display:flex;align-items:center;gap:8px;text-align:left;background:transparent;border:none;border-radius:6px;padding:5px 8px;color:var(--fg);cursor:pointer;font-size:.82rem}.demo-surface .gn-picker-row:hover{background:var(--bg-elev-2)}.demo-surface .gn-picker-sub{color:var(--fg-dim);margin-left:auto;font-size:.76rem}.demo-surface .gn-picker-more{color:var(--fg-dim);font-size:.76rem;padding:4px 8px}.demo-surface .gn-breadcrumb{display:flex;align-items:center;gap:10px;margin-bottom:12px}.demo-surface .gn-breadcrumb button{background:var(--bg-elev);border:1px solid var(--border);color:var(--fg-muted);border-radius:6px;padding:4px 10px;cursor:pointer;font-size:.8rem}.demo-surface .gn-breadcrumb button:disabled{opacity:.4;cursor:default}.demo-surface .gn-crumbs{color:var(--fg-dim);font-size:.8rem}.demo-surface .gn-crumbs strong{color:var(--fg)}.demo-surface .gn-overview-counts{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:8px}.demo-surface .gn-stat{font-size:.85rem;color:var(--fg-muted)}.demo-surface .gn-stat strong{color:var(--fg)}.demo-surface .gn-stat.bad strong{color:#d83a3a}.demo-surface .gn-overview-hint{color:var(--fg-dim);font-size:.82rem;margin:0 0 12px}.demo-surface .gn-overview-list{display:flex;flex-direction:column;gap:4px}.demo-surface .gn-overview-row{display:flex;align-items:center;gap:8px;text-align:left;background:var(--bg-elev);border:1px solid var(--border);border-radius:6px;padding:6px 10px;cursor:pointer;color:var(--fg);font-size:.85rem}.demo-surface .gn-overview-row:hover{border-color:var(--accent, #4a90d9)}.demo-surface .gn-overview-why{margin-left:auto;color:var(--fg-dim);font-size:.78rem}.demo-surface .gn-trace-layout{display:grid;grid-template-columns:minmax(180px,280px) 1fr;gap:16px;align-items:start}.demo-surface .gn-trace-main{min-width:0}.demo-surface .gn-tree-rail{border:1px solid var(--border);border-radius:8px;padding:8px;max-height:520px;overflow:auto}.demo-surface .gn-tree-rail .gn-col-h{margin-bottom:6px}.demo-surface .gn-tree-name{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.demo-surface .gn-tree-name:hover{color:var(--accent, #4a90d9)}.demo-surface .gn-tree-more{font-size:.78rem;color:var(--accent, #4a90d9);cursor:pointer;padding:2px 4px}.demo-surface .gn-tree-more:hover{text-decoration:underline}.demo-surface .gn-why{margin:4px 0 16px;padding:10px 12px;border-radius:8px;line-height:1.55;border:1px solid var(--border)}.demo-surface .gn-why.ok{background:#2ea04312;border-color:#2ea04344;color:var(--fg)}.demo-surface .gn-why.bad{background:#d83a3a12;border-color:#d83a3a44;color:var(--fg)}.demo-surface .gn-why code{background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:1px 5px;font-size:.9em}.demo-surface .gn-trace-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:start}.demo-surface .gn-col{display:flex;flex-direction:column;gap:8px;min-width:0}.demo-surface .gn-col-h{font-size:.78rem;color:var(--fg-dim);text-transform:uppercase;letter-spacing:.04em;display:flex;align-items:center;gap:6px}.demo-surface .gn-count{background:var(--bg-elev-2);border-radius:10px;padding:0 7px;color:var(--fg-muted)}.demo-surface .gn-empty-col{color:var(--fg-dim);font-size:.82rem;padding:8px;border:1px dashed var(--border);border-radius:8px}.demo-surface .gn-card{display:flex;flex-direction:column;gap:4px;align-items:flex-start;text-align:left;background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;padding:8px 10px;cursor:pointer;color:var(--fg);min-width:0;max-width:100%}.demo-surface .gn-card:hover{border-color:var(--border-strong);background:var(--bg-elev-2)}.demo-surface .gn-card-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.demo-surface .gn-card-label{font-size:.82rem;color:var(--fg);word-break:break-all}.demo-surface .gn-card-sub{font-size:.74rem;color:var(--fg-dim);word-break:break-all}.demo-surface .gn-center{display:flex;align-items:center;gap:8px}.demo-surface .gn-arrow-in,.demo-surface .gn-arrow-out{color:var(--fg-dim);font-size:1.1rem}.demo-surface .gn-focus{display:flex;flex-direction:column;gap:5px;align-items:flex-start;background:var(--bg-elev-2);border:1px solid var(--accent-dim);border-radius:10px;padding:12px 14px;min-width:200px}.demo-surface .gn-focus-label{font-size:.95rem;font-weight:600;color:var(--fg);word-break:break-all}.demo-surface .gn-focus-id{font-size:.7rem;color:var(--fg-dim);word-break:break-all}.demo-surface .gn-trace-btn{background:#1f6feb1a;border:1px solid var(--accent-dim);color:var(--accent);border-radius:6px;padding:2px 9px;cursor:pointer;font-size:.78rem}.demo-surface .gn-trace-btn:hover{background:#1f6feb33}@media(max-width:880px){.demo-surface .gn-trace-grid{grid-template-columns:1fr}.demo-surface .gn-center{justify-content:center}}.demo-surface .scan-setup-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0d1117c7;display:flex;align-items:flex-start;justify-content:center;padding:32px 16px;overflow:auto;z-index:50}.demo-surface .scan-setup{width:100%;max-width:720px;background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:12px;padding:18px 20px 20px;display:flex;flex-direction:column;gap:14px}.demo-surface .scan-setup-head{display:flex;align-items:center;justify-content:space-between}.demo-surface .scan-setup-head h2{margin:0;font-size:1.1rem}.demo-surface .scan-setup-intro{margin:0;color:var(--fg-muted);font-size:.85rem}.demo-surface .scan-setup-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.demo-surface .scan-setup-path{color:var(--fg-dim);word-break:break-all}.demo-surface .scan-setup-hint{color:var(--fg-dim);font-size:.78rem}.demo-surface .scan-setup-opt{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:4px 0}.demo-surface .scan-setup-radio{cursor:pointer}.demo-surface .scan-setup-radio-label{font-weight:600;color:var(--fg)}.demo-surface .scan-setup-sub{display:flex;flex-direction:column;gap:8px;margin:2px 0 6px 22px;padding-left:12px;border-left:1px solid var(--border)}.demo-surface .scan-setup-num{display:inline-flex;align-items:center;gap:8px}.demo-surface .scan-setup-num>span{font-weight:600;color:var(--fg)}.demo-surface .scan-setup-num input,.demo-surface .scan-setup-num select{background:var(--bg);border:1px solid var(--border);color:var(--fg);border-radius:6px;padding:3px 6px;font:inherit}.demo-surface .scan-setup-role{margin-left:auto}.demo-surface .scan-setup-role>span{font-size:.85rem;font-weight:500}.demo-surface .scan-setup-tpl-desc{margin:0;color:var(--fg);font-size:.85rem}.demo-surface .scan-setup-preview{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin:0;max-height:240px;overflow:auto;white-space:pre;color:var(--fg-muted)}.demo-surface .scan-setup-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--border);padding-top:14px}.demo-surface .scan-setup-advanced-toggle{background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--fg-muted);font-size:12px;padding:5px 12px;cursor:pointer;align-self:flex-start;margin-top:4px}.demo-surface .scan-setup-advanced-toggle:hover{color:var(--fg);border-color:var(--border-strong)}.demo-surface .scan-setup-advanced-toggle:disabled{opacity:.5;cursor:not-allowed}.demo-surface .cfg-builder{gap:12px}.demo-surface .cfg-builder-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:14px;align-items:start}@media(max-width:880px){.demo-surface .cfg-builder-grid{grid-template-columns:1fr}}.demo-surface .cfg-builder-form{display:flex;flex-direction:column;gap:12px;min-width:0}.demo-surface .cfg-builder-preview{position:sticky;top:8px;min-width:0}.demo-surface .cfg-builder-preview .scan-setup-preview{max-height:420px}.demo-surface .cfg-builder-key{font-weight:600;color:var(--fg)}.demo-surface .cfg-builder-list{flex-direction:column;align-items:stretch}.demo-surface .cfg-builder-list-items{display:flex;flex-direction:column;gap:6px;margin-top:4px}.demo-surface .cfg-builder-list-items input{flex:1;background:var(--bg);border:1px solid var(--border);color:var(--fg);border-radius:6px;padding:3px 6px;font:inherit}.demo-surface .cfg-builder-advanced{opacity:.85}.demo-surface .cfg-builder-rule{align-items:center}.demo-surface .export-config{display:flex;align-items:flex-end;gap:16px;margin-bottom:8px}.demo-surface .export-config label{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--fg-dim)}.demo-surface .export-config select{background:var(--bg);border:1px solid var(--border);color:var(--fg);border-radius:6px;padding:4px 8px;font:inherit}.demo-surface .export-config select:disabled{opacity:.6}.demo-surface .export-config .spacer{flex:1}.demo-surface .export-note{color:var(--fg-dim);font-size:11px;margin:4px 0}.demo-surface .export-status{font-size:12px;margin:6px 0;padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);word-break:break-all}.demo-surface .export-split{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:12px;min-height:0}.demo-surface .export-tree{border:1px solid var(--border);border-radius:6px;overflow:auto;max-height:70vh}.demo-surface .export-tree .tree-row{display:flex;align-items:center;gap:8px;padding:3px 8px;cursor:pointer}.demo-surface .export-tree .tree-row .name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.demo-surface .export-tree .tree-row .tree-col{width:64px;font-variant-numeric:tabular-nums}.demo-surface .export-tree .tree-row.selected{background:var(--sel, rgba(120, 160, 220, .18))}.demo-surface .export-preview{border:1px solid var(--border);border-radius:6px;display:flex;flex-direction:column;min-width:0;max-height:70vh}.demo-surface .export-preview-head{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;border-bottom:1px solid var(--border);font-size:12px}.demo-surface .export-preview-meta{color:var(--fg-dim);font-size:11px}.demo-surface .export-preview-body{margin:0;padding:10px;overflow:auto;font-size:12px;white-space:pre-wrap;word-break:break-word}.demo-surface .main>div[style*="flex-direction: column"]{height:100%}.demo-surface .gn-doc{background:var(--bg-elev-2);color:#6ccb6c;border:1px solid #2a5c2a}.demo-surface .drg-hover-card{pointer-events:none}.demo-surface .drg-detail-panel .panel.evidence{box-shadow:none;border-radius:0;border:none;height:100%;overflow-y:auto}.demo-surface .drg-canvas-container{position:relative;flex:1;overflow:hidden}.demo-surface .drg-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0d1117bf;z-index:10;flex-direction:column;gap:8px;color:var(--fg-muted);font-size:13px}.demo-surface .chip.issue-sev-info{background:var(--bg-elev-2);color:var(--fg-dim);border:1px solid var(--border)}.demo-surface .chip.issue-sev-low{background:var(--sev-low);color:var(--sev-low-fg)}.demo-surface .chip.issue-sev-medium{background:var(--sev-medium);color:var(--sev-medium-fg)}.demo-surface .chip.issue-sev-high{background:var(--sev-high);color:var(--sev-high-fg)}.demo-surface .chip.issue-sev-critical{background:var(--sev-blocking);color:var(--sev-blocking-fg)}.demo-surface .overview-section-hint{color:var(--fg-dim);font-size:12px;line-height:1.35;margin:-2px 0 10px}.demo-surface .overview-metrics-hint{margin-top:0}.demo-surface .top-issues-panel{margin-bottom:16px}.demo-surface .top-issues-panel .panel-head{margin-bottom:10px}.demo-surface .top-issues-subtitle{font-size:12px;color:var(--fg-dim);margin-left:8px;font-weight:400;text-transform:none;letter-spacing:normal}.demo-surface .top-issues-totals{display:flex;flex-wrap:wrap;gap:16px;padding:8px 0 12px;border-bottom:1px solid var(--border);margin-bottom:10px}.demo-surface .top-issues-total-item{font-size:13px;color:var(--fg);font-variant-numeric:tabular-nums}.demo-surface .top-issues-total-dim{color:var(--fg-dim)}.demo-surface .top-issues-table{width:100%}.demo-surface .top-issues-group-row td{vertical-align:middle}.demo-surface .top-issues-expand-btn{background:transparent;border:none;color:var(--fg-dim);padding:0 2px;font-size:12px;cursor:pointer;line-height:1}.demo-surface .top-issues-expand-btn:hover{color:var(--fg)}.demo-surface .top-issues-rule-btn{background:transparent;border:none;color:var(--accent);padding:0;font-size:13px;cursor:pointer;text-align:left}.demo-surface .top-issues-rule-btn:hover{color:var(--fg);text-decoration:underline}.demo-surface .top-issues-count,.demo-surface .top-issues-impact{color:var(--fg-muted);font-size:12px}.demo-surface .top-issues-max-score{color:var(--fg-dim);font-size:12px}.demo-surface .top-issues-member-row{cursor:pointer;background:var(--bg-elev-2)}.demo-surface .top-issues-member-row:hover{background:var(--bg-elev)}.demo-surface .top-issues-member-row td{padding:4px 8px;border-bottom:1px solid var(--border);font-size:12px}.demo-surface .top-issues-member-path{color:var(--fg-muted);overflow:hidden;text-overflow:ellipsis;max-width:400px}.demo-surface .top-issues-member-cert,.demo-surface .top-issues-member-score{color:var(--fg-dim);font-size:11px}.demo-surface .top-issues-footer{border-top:1px solid var(--border);padding-top:8px;margin-top:4px}.demo-surface .top-issues-footer-btn{background:transparent;border:none;color:var(--accent);padding:0;font-size:12px;cursor:pointer}.demo-surface .top-issues-footer-btn:hover{color:var(--fg);text-decoration:underline}.demo-surface .sg-group{display:flex;flex-direction:column;gap:10px}.demo-surface .sg-group-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.demo-surface .sg-service-count{color:var(--fg-dim);font-size:.8rem}.demo-surface .sg-cta-inline{color:var(--fg-muted);font-size:.82rem;flex:1}.demo-surface .sg-cta-banner{background:var(--bg-elev);border:1px solid var(--border);border-left:3px solid var(--sev-high);border-radius:8px;padding:10px 14px;margin:8px 0;color:var(--fg-muted);font-size:.88rem;line-height:1.5}.demo-surface .sg-svg{display:block;background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;max-width:100%;overflow:visible}.demo-surface .sg-node{cursor:pointer;outline:none}.demo-surface .sg-node:focus-visible circle:first-child{outline:2px solid var(--accent);outline-offset:2px}.demo-surface .sg-edge{pointer-events:none}.demo-surface .sg-missing-call{pointer-events:all;cursor:pointer}.demo-surface .sg-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:.78rem;color:var(--fg-dim);margin-top:4px}.demo-surface .sg-legend-item{display:inline-flex;align-items:center;gap:5px}.demo-surface .sg-node-detail{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg-elev);border:1px solid var(--border);border-radius:6px;font-size:.85rem}.demo-surface .sg-node-detail-label{font-weight:600;color:var(--fg)}.demo-surface .sg-node-ok{color:var(--fg-dim);font-size:.82rem}.demo-surface .sg-finding-btn{background:transparent;border:1px solid var(--sev-blocking);border-radius:4px;color:#ff7b72;padding:2px 8px;font-size:.8rem;cursor:pointer}.demo-surface .sg-finding-btn:hover{background:#d83a3a18}.demo-surface .sg-how-to-read{display:flex;flex-direction:column;gap:4px;background:var(--bg-elev);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:6px;padding:8px 12px;font-size:.82rem;color:var(--fg-muted);line-height:1.5;margin:8px 0 4px}.demo-surface .sg-h2r-h{font-weight:600;color:var(--fg);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.demo-surface .sg-findings-section{margin-bottom:14px}.demo-surface .sg-findings-h{display:flex;align-items:center;gap:10px;font-size:.85rem;font-weight:600;color:var(--fg-muted);margin-bottom:8px}.demo-surface .sg-findings-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.demo-surface .sg-finding-item{display:flex;align-items:center;gap:8px;padding:5px 10px;border-radius:6px;font-size:.82rem;border:1px solid var(--border)}.demo-surface .sg-finding-item.bad{background:#d83a3a0c;border-color:#d83a3a33}.demo-surface .sg-finding-item.warn{background:#db8c1c0c;border-color:#db8c1c33}.demo-surface .sg-svc{font-weight:600;color:var(--fg)}.demo-surface .sg-arrow{color:var(--fg-dim)}.demo-surface .sg-route{color:var(--fg-muted);flex:1}.demo-surface .sg-finding-more{display:flex;align-items:center;gap:8px;padding:4px 10px;color:var(--fg-dim);font-size:.8rem}.demo-surface .sg-view-all-btn{background:transparent;border:1px solid var(--border);border-radius:4px;color:var(--accent);padding:2px 8px;font-size:.78rem;cursor:pointer}.demo-surface .sg-view-all-btn:hover{background:var(--bg-elev);color:var(--fg)}
