diff --git a/CHANGELOG.md b/CHANGELOG.md index d78da6b1..173376bb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,12 @@ ## Unreleased +- Turn the VS Code codebase query view into a multi-command workbench with + separate Ask, Explain, and CompassQL composers and durable result tabs. + Typed Ask diagnostics, symbol relationships, source links, and CompassQL rows + now render as readable UI instead of raw JSON. Typed `compass ask` also + accepts `--at REV` for immutable revision graphs. + - Keep Codebase Evolution strict when a stored revision uses an unsupported artifact layout, and offer to rebuild the affected revision with the current Compass version instead of mapping legacy history records. diff --git a/COMPATIBILITY.md b/COMPATIBILITY.md index 35212814..8dba2c54 100644 --- a/COMPATIBILITY.md +++ b/COMPATIBILITY.md @@ -143,6 +143,10 @@ preserve the established text traversal and reject discovery controls. CompassQL and explicit typed query commands remain unchanged. Discovery text pagination uses the versioned `compass.query.discovery-text-page/1` cursor; JSON rejects those presentation-only controls. +`compass ask --at REV` uses the same immutable trusted `compass.graph/1` +realization selection as revision discovery. The response remains the unchanged +`compass.query/1` contract; an older realization without that trusted graph is +rejected and must be rebuilt. Default discovery JSON remains the strict `compass.query.discovery/1` shape. The focused default neighborhood is 64 nodes and 128 edges. The existing hard diff --git a/crates/compass-cli/src/code_query_commands.rs b/crates/compass-cli/src/code_query_commands.rs index ce10eec3..bb5fb813 100644 --- a/crates/compass-cli/src/code_query_commands.rs +++ b/crates/compass-cli/src/code_query_commands.rs @@ -4,7 +4,9 @@ use compass_model::query_contract::{ CallRequest, CodeQueryLimits, CodeQueryResponse, ExploreRequest, ImpactRequest, NodeTrailRequest, SearchRequest, }; -use compass_query::{EngineSelection, NaturalQueryRequest, open_with_engine}; +use compass_query::{ + EngineSelection, NaturalQueryRequest, open_with_engine, open_with_verified_document, +}; use crate::Outcome; @@ -30,6 +32,17 @@ pub(crate) fn command(operation: &str, args: &[String]) -> Outcome { fn execute(operation: &str, args: &[String]) -> Result { let positional = positional(args); let graph_option = option(args, "--graph"); + let revision = option(args, "--at"); + if graph_option.is_some() && revision.is_some() { + return Err("--graph and --at are mutually exclusive".to_owned()); + } + if revision.is_some() { + for current_only in ["--engine", "--program", "--cache"] { + if option(args, current_only).is_some() { + return Err(format!("{current_only} cannot be combined with --at")); + } + } + } let output = PathBuf::from(std::env::var("COMPASS_OUT").unwrap_or_else(|_| "compass-out".to_owned())); let requested_graph = graph_option.map_or_else(|| output.join("graph.json"), PathBuf::from); @@ -52,18 +65,41 @@ fn execute(operation: &str, args: &[String]) -> Result engine.query_natural(NaturalQueryRequest { @@ -151,6 +187,7 @@ fn option<'a>(args: &'a [String], name: &str) -> Option<&'a str> { fn positional(args: &[String]) -> Vec { let value_options = [ "--graph", + "--at", "--program", "--cache", "--engine", diff --git a/crates/compass-cli/src/help.rs b/crates/compass-cli/src/help.rs index 422927f5..f5340080 100644 --- a/crates/compass-cli/src/help.rs +++ b/crates/compass-cli/src/help.rs @@ -154,7 +154,7 @@ const PAGES: &[Page] = &[ "ask", "Route a natural-language question to a typed code-graph query", ["compass ask [OPTIONS]"], - "Arguments:\n Natural-language code-graph question\n\nOptions:\n --graph Typed graph [default: compass-out/graph.json]\n --program Optional Program IR enrichment\n --cache Query-index cache directory\n --engine Graph storage engine [default: default]\n --max-depth Traversal radius\n --max-nodes Node bound\n --max-edges Edge bound\n --max-paths Path bound\n --max-candidates Candidate bound\n --include-heuristic Include heuristic evidence\n --format Output format [default: text]\n\nExamples:\n compass ask \"who calls PaymentService.charge?\"\n compass ask \"what does CheckoutController.create call?\" --format json\n compass ask \"path from CheckoutController.create to PaymentGateway.charge\"\n\nNotes:\n High-confidence callers, callees, impact, and path questions route to the matching typed operation. Contradictory or low-confidence input falls back to bounded symbol search. The response uses compass.query/1." + "Arguments:\n Natural-language code-graph question\n\nOptions:\n --graph Typed graph [default: compass-out/graph.json]\n --at Use an immutable trusted revision graph\n --program Optional Program IR enrichment\n --cache Query-index cache directory\n --engine Graph storage engine [default: default]\n --max-depth Traversal radius\n --max-nodes Node bound\n --max-edges Edge bound\n --max-paths Path bound\n --max-candidates Candidate bound\n --include-heuristic Include heuristic evidence\n --format Output format [default: text]\n\nExamples:\n compass ask \"who calls PaymentService.charge?\"\n compass ask \"what does CheckoutController.create call?\" --format json\n compass ask \"path from CheckoutController.create to PaymentGateway.charge\"\n compass ask \"who calls PaymentService.charge?\" --at HEAD~2 --format json\n\nNotes:\n High-confidence callers, callees, impact, and path questions route to the matching typed operation. Contradictory or low-confidence input falls back to bounded symbol search. --at is mutually exclusive with --graph, --program, --cache, and --engine. The response uses compass.query/1." ), page!( "call-graph", diff --git a/crates/compass-cli/tests/code_query_cli.rs b/crates/compass-cli/tests/code_query_cli.rs index 6f353207..be389c91 100644 --- a/crates/compass-cli/tests/code_query_cli.rs +++ b/crates/compass-cli/tests/code_query_cli.rs @@ -69,6 +69,53 @@ fn typed_query_commands_share_the_versioned_json_contract() -> Result<(), Box Result<(), Box> +{ + let directory = tempfile::tempdir()?; + let graph = support::write_typed_graph(directory.path())?; + let outcome = run( + Frontend::Compass, + [ + OsString::from("ask"), + OsString::from("who calls Target?"), + OsString::from("--graph"), + graph.into_os_string(), + OsString::from("--at"), + OsString::from("HEAD"), + OsString::from("--format"), + OsString::from("json"), + ], + ); + + assert_eq!(outcome.code, 1); + assert_eq!( + outcome.stderr, + "error: --graph and --at are mutually exclusive" + ); + for option in ["--engine", "--program", "--cache"] { + let outcome = run( + Frontend::Compass, + [ + OsString::from("ask"), + OsString::from("who calls Target?"), + OsString::from("--at"), + OsString::from("HEAD"), + OsString::from(option), + OsString::from("ignored"), + OsString::from("--format"), + OsString::from("json"), + ], + ); + assert_eq!(outcome.code, 1); + assert_eq!( + outcome.stderr, + format!("error: {option} cannot be combined with --at") + ); + } + Ok(()) +} + #[test] fn natural_query_defaults_to_discovery_and_preserves_explicit_legacy_traversal() -> Result<(), Box> { diff --git a/crates/compass-cli/tests/history_cli.rs b/crates/compass-cli/tests/history_cli.rs index 53913ccc..913075bd 100644 --- a/crates/compass-cli/tests/history_cli.rs +++ b/crates/compass-cli/tests/history_cli.rs @@ -1931,6 +1931,30 @@ fn current_snapshot_promotion_matches_an_exact_rebuild() -> Result<(), Boxsvg\]\/alert\:col-start-2:is(:where(.group\/alert):has(>svg) *){grid-column-start:2}.group-data-\[orientation\=horizontal\]\/tabs\:h-8:is(:where(.group\/tabs)[data-orientation=horizontal] *){height:calc(var(--spacing) * 8)}.group-data-\[orientation\=vertical\]\/tabs\:h-fit:is(:where(.group\/tabs)[data-orientation=vertical] *){height:fit-content}.group-data-\[orientation\=vertical\]\/tabs\:w-full:is(:where(.group\/tabs)[data-orientation=vertical] *){width:100%}.group-data-\[orientation\=vertical\]\/tabs\:flex-col:is(:where(.group\/tabs)[data-orientation=vertical] *){flex-direction:column}.group-data-\[orientation\=vertical\]\/tabs\:justify-start:is(:where(.group\/tabs)[data-orientation=vertical] *){justify-content:flex-start}.group-data-\[spacing\=0\]\/toggle-group\:rounded-none:is(:where(.group\/toggle-group)[data-spacing="0"] *){border-radius:0}.group-data-\[spacing\=0\]\/toggle-group\:px-2:is(:where(.group\/toggle-group)[data-spacing="0"] *){padding-inline:calc(var(--spacing) * 2)}.group-data-\[variant\=line\]\/tabs-list\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *){background-color:#0000}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-6::file-selector-button{height:calc(var(--spacing) * 6)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:bg-foreground:after{content:var(--tw-content);background-color:var(--foreground)}.after\:opacity-0:after{content:var(--tw-content);opacity:0}.after\:transition-opacity:after{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.group-data-\[orientation\=horizontal\]\/tabs\:after\:inset-x-0:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);inset-inline:0}.group-data-\[orientation\=horizontal\]\/tabs\:after\:bottom-\[-5px\]:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);bottom:-5px}.group-data-\[orientation\=horizontal\]\/tabs\:after\:h-0\.5:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);height:calc(var(--spacing) * .5)}.group-data-\[orientation\=vertical\]\/tabs\:after\:inset-y-0:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);inset-block:0}.group-data-\[orientation\=vertical\]\/tabs\:after\:-right-1:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);right:calc(var(--spacing) * -1)}.group-data-\[orientation\=vertical\]\/tabs\:after\:w-0\.5:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);width:calc(var(--spacing) * .5)}@media(hover:hover){.hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover{background-color:color-mix(in oklch,var(--secondary),var(--foreground) 5%)}}.hover\:bg-destructive\/20:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/20:hover{background-color:color-mix(in oklab,var(--destructive) 20%,transparent)}}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:bg-primary\/80:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab,var(--primary) 80%,transparent)}}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-muted-foreground:hover{color:var(--muted-foreground)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:z-10:focus,.focus-visible\:z-10:focus-visible{z-index:10}.focus-visible\:border-destructive\/40:focus-visible{border-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:border-destructive\/40:focus-visible{border-color:color-mix(in oklab,var(--destructive) 40%,transparent)}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-3:focus-visible,.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + 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-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-ring:focus-visible{outline-color:var(--ring)}.active\:not-aria-\[haspopup\]\:translate-y-px:active:not([aria-haspopup]){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-input\/50:disabled{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.disabled\:bg-input\/50:disabled{background-color:color-mix(in oklab,var(--input) 50%,transparent)}}.disabled\:opacity-50:disabled{opacity:.5}:where([data-slot=button-group]) .in-data-\[slot\=button-group\]\:rounded-lg{border-radius:var(--radius)}.has-data-\[icon\=inline-end\]\:pr-1:has([data-icon=inline-end]){padding-right:var(--spacing)}.has-data-\[icon\=inline-end\]\:pr-1\.5:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-end\]\:pr-2:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 2)}.group-data-\[spacing\=0\]\/toggle-group\:has-data-\[icon\=inline-end\]\:pr-1\.5:is(:where(.group\/toggle-group)[data-spacing="0"] *):has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-start\]\:pl-1:has([data-icon=inline-start]){padding-left:var(--spacing)}.has-data-\[icon\=inline-start\]\:pl-1\.5:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-start\]\:pl-2:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 2)}.group-data-\[spacing\=0\]\/toggle-group\:has-data-\[icon\=inline-start\]\:pl-1\.5:is(:where(.group\/toggle-group)[data-spacing="0"] *):has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 1.5)}.has-data-\[slot\=alert-action\]\:relative:has([data-slot=alert-action]){position:relative}.has-data-\[slot\=alert-action\]\:pr-18:has([data-slot=alert-action]){padding-right:calc(var(--spacing) * 18)}.has-data-\[slot\=kbd\]\:pr-1\.5:has([data-slot=kbd]){padding-right:calc(var(--spacing) * 1.5)}.has-\[\>svg\]\:grid-cols-\[auto_1fr\]:has(>svg){grid-template-columns:auto 1fr}.has-\[\>svg\]\:gap-x-2:has(>svg){column-gap:calc(var(--spacing) * 2)}.aria-expanded\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.aria-expanded\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.aria-expanded\:text-foreground[aria-expanded=true]{color:var(--foreground)}.aria-expanded\:text-secondary-foreground[aria-expanded=true]{color:var(--secondary-foreground)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-3[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + 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)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.aria-pressed\:bg-muted[aria-pressed=true]{background-color:var(--muted)}.data-closed\:animate-out[data-closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-closed\:fade-out-0[data-closed]{--tw-exit-opacity:0}.data-closed\:zoom-out-95[data-closed]{--tw-exit-scale:.95}.data-horizontal\:h-2\.5[data-horizontal]{height:calc(var(--spacing) * 2.5)}.data-horizontal\:h-px[data-horizontal]{height:1px}.data-horizontal\:w-full[data-horizontal]{width:100%}.data-horizontal\:flex-col[data-horizontal]{flex-direction:column}.data-horizontal\:border-t[data-horizontal]{border-top-style:var(--tw-border-style);border-top-width:1px}.data-horizontal\:border-t-transparent[data-horizontal]{border-top-color:#0000}.data-open\:animate-in[data-open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-open\:fade-in-0[data-open]{--tw-enter-opacity:0}.data-open\:zoom-in-95[data-open]{--tw-enter-scale:.95}.data-vertical\:h-full[data-vertical]{height:100%}.data-vertical\:w-2\.5[data-vertical]{width:calc(var(--spacing) * 2.5)}.data-vertical\:w-px[data-vertical]{width:1px}.data-vertical\:flex-col[data-vertical]{flex-direction:column}.data-vertical\:items-stretch[data-vertical]{align-items:stretch}.data-vertical\:self-stretch[data-vertical]{align-self:stretch}.data-vertical\:border-l[data-vertical]{border-left-style:var(--tw-border-style);border-left-width:1px}.data-vertical\:border-l-transparent[data-vertical]{border-left-color:#0000}.data-\[orientation\=horizontal\]\:flex-col[data-orientation=horizontal]{flex-direction:column}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[size\=sm\]\:rounded-\[min\(var\(--radius-md\)\,10px\)\][data-size=sm]{border-radius:min(var(--radius-md),10px)}:is(.\*\:data-\[slot\=alert-description\]\:text-destructive\/90>*)[data-slot=alert-description]{color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){:is(.\*\:data-\[slot\=alert-description\]\:text-destructive\/90>*)[data-slot=alert-description]{color:color-mix(in oklab,var(--destructive) 90%,transparent)}}:is(.\*\*\:data-\[slot\=kbd\]\:relative *)[data-slot=kbd]{position:relative}:is(.\*\*\:data-\[slot\=kbd\]\:isolate *)[data-slot=kbd]{isolation:isolate}:is(.\*\*\:data-\[slot\=kbd\]\:z-50 *)[data-slot=kbd]{z-index:50}:is(.\*\*\:data-\[slot\=kbd\]\:rounded-sm *)[data-slot=kbd]{border-radius:calc(var(--radius) - 4px)}.group-data-horizontal\/toggle-group\:data-\[spacing\=0\]\:first\:rounded-l-lg:is(:where(.group\/toggle-group)[data-horizontal] *)[data-spacing="0"]:first-child{border-top-left-radius:var(--radius);border-bottom-left-radius:var(--radius)}.group-data-vertical\/toggle-group\:data-\[spacing\=0\]\:first\:rounded-t-lg:is(:where(.group\/toggle-group)[data-vertical] *)[data-spacing="0"]:first-child{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.group-data-horizontal\/toggle-group\:data-\[spacing\=0\]\:last\:rounded-r-lg:is(:where(.group\/toggle-group)[data-horizontal] *)[data-spacing="0"]:last-child{border-top-right-radius:var(--radius);border-bottom-right-radius:var(--radius)}.group-data-vertical\/toggle-group\:data-\[spacing\=0\]\:last\:rounded-b-lg:is(:where(.group\/toggle-group)[data-vertical] *)[data-spacing="0"]:last-child{border-bottom-right-radius:var(--radius);border-bottom-left-radius:var(--radius)}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--foreground)}.group-data-\[variant\=default\]\/tabs-list\:data-\[state\=active\]\:shadow-sm:is(:where(.group\/tabs-list)[data-variant=default] *)[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{background-color:#0000}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:shadow-none:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:after\:opacity-100:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]:after{content:var(--tw-content);opacity:1}.data-\[state\=delayed-open\]\:animate-in[data-state=delayed-open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=delayed-open\]\:fade-in-0[data-state=delayed-open]{--tw-enter-opacity:0}.data-\[state\=delayed-open\]\:zoom-in-95[data-state=delayed-open]{--tw-enter-scale:.95}.data-\[state\=on\]\:bg-muted[data-state=on]{background-color:var(--muted)}.data-\[variant\=line\]\:rounded-none[data-variant=line]{border-radius:0}.group-data-horizontal\/toggle-group\:data-\[spacing\=0\]\:data-\[variant\=outline\]\:border-l-0:is(:where(.group\/toggle-group)[data-horizontal] *)[data-spacing="0"][data-variant=outline]{border-left-style:var(--tw-border-style);border-left-width:0}.group-data-vertical\/toggle-group\:data-\[spacing\=0\]\:data-\[variant\=outline\]\:border-t-0:is(:where(.group\/toggle-group)[data-vertical] *)[data-spacing="0"][data-variant=outline]{border-top-style:var(--tw-border-style);border-top-width:0}.group-data-horizontal\/toggle-group\:data-\[spacing\=0\]\:data-\[variant\=outline\]\:first\:border-l:is(:where(.group\/toggle-group)[data-horizontal] *)[data-spacing="0"][data-variant=outline]:first-child{border-left-style:var(--tw-border-style);border-left-width:1px}.group-data-vertical\/toggle-group\:data-\[spacing\=0\]\:data-\[variant\=outline\]\:first\:border-t:is(:where(.group\/toggle-group)[data-vertical] *)[data-spacing="0"][data-variant=outline]:first-child{border-top-style:var(--tw-border-style);border-top-width:1px}@media(min-width:48rem){.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:text-pretty{text-wrap:pretty}}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:bg-destructive\/20:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/20:is(.dark *){background-color:color-mix(in oklab,var(--destructive) 20%,transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--input) 30%,transparent)}}.dark\:text-muted-foreground:is(.dark *){color:var(--muted-foreground)}@media(hover:hover){.dark\:hover\:bg-destructive\/30:is(.dark *):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-destructive\/30:is(.dark *):hover{background-color:color-mix(in oklab,var(--destructive) 30%,transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input) 50%,transparent)}}.dark\:hover\:bg-muted\/50:is(.dark *):hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-muted\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--muted) 50%,transparent)}}.dark\:hover\:text-foreground:is(.dark *):hover{color:var(--foreground)}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:disabled\:bg-input\/80:is(.dark *):disabled{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:disabled\:bg-input\/80:is(.dark *):disabled{background-color:color-mix(in oklab,var(--input) 80%,transparent)}}.dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:color-mix(in oklab,var(--destructive) 50%,transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:data-\[state\=active\]\:border-input:is(.dark *)[data-state=active]{border-color:var(--input)}.dark\:data-\[state\=active\]\:bg-input\/30:is(.dark *)[data-state=active]{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[state\=active\]\:bg-input\/30:is(.dark *)[data-state=active]{background-color:color-mix(in oklab,var(--input) 30%,transparent)}}.dark\:data-\[state\=active\]\:text-foreground:is(.dark *)[data-state=active]{color:var(--foreground)}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:border-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{border-color:#0000}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{background-color:#0000}.\[\&_a\]\:underline a{text-decoration-line:underline}.\[\&_a\]\:underline-offset-3 a{text-underline-offset:3px}@media(hover:hover){.\[\&_a\]\:hover\:text-foreground a:hover{color:var(--foreground)}}.\[\&_p\:not\(\:last-child\)\]\:mb-4 p:not(:last-child){margin-bottom:calc(var(--spacing) * 4)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}@media(hover:hover){.\[a\]\:hover\:bg-destructive\/20:is(a):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.\[a\]\:hover\:bg-destructive\/20:is(a):hover{background-color:color-mix(in oklab,var(--destructive) 20%,transparent)}}.\[a\]\:hover\:bg-muted:is(a):hover{background-color:var(--muted)}.\[a\]\:hover\:bg-primary\/80:is(a):hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.\[a\]\:hover\:bg-primary\/80:is(a):hover{background-color:color-mix(in oklab,var(--primary) 80%,transparent)}}.\[a\]\:hover\:bg-secondary\/80:is(a):hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.\[a\]\:hover\:bg-secondary\/80:is(a):hover{background-color:color-mix(in oklab,var(--secondary) 80%,transparent)}}.\[a\]\:hover\:text-muted-foreground:is(a):hover{color:var(--muted-foreground)}}:is(.\*\:\[svg\]\:row-span-2>*):is(svg){grid-row:span 2/span 2}:is(.\*\:\[svg\]\:translate-y-0\.5>*):is(svg){--tw-translate-y:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}:is(.\*\:\[svg\]\:text-current>*):is(svg){color:currentColor}:is(.\*\:\[svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4>*):is(svg:not([class*=size-])){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3\!>svg{width:calc(var(--spacing) * 3)!important;height:calc(var(--spacing) * 3)!important}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}.init-shell{box-sizing:border-box;background:linear-gradient(var(--compass-grid) 1px,transparent 1px),linear-gradient(90deg,var(--compass-grid) 1px,transparent 1px),var(--background);height:100vh;min-height:100vh;color:var(--foreground);background-size:32px 32px;padding:clamp(28px,5vw,72px);overflow:auto}.init-header,.init-progress-header{justify-content:space-between;align-items:flex-end;gap:28px;width:min(1080px,100%);margin:0 auto clamp(26px,4vw,46px);display:flex}.init-eyebrow{color:var(--compass-focus);font:600 11px/1.3 var(--compass-font-mono);letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px}.init-header h1,.init-progress-header h1,.init-result-card h1{color:var(--foreground);font:600 clamp(28px,4vw,44px)/1.08 var(--compass-font-sans);letter-spacing:-.035em;margin:0}.init-header-copy,.init-progress-header p:not(.init-eyebrow),.init-result-card>p:not(.init-eyebrow){max-width:650px;color:var(--muted-foreground);margin:13px 0 0;font-size:14px;line-height:1.65}.init-repository-badge{border:1px solid var(--compass-line);background:var(--vscode-editorWidget-background,var(--compass-panel));border-radius:5px;align-items:center;gap:11px;min-width:190px;max-width:320px;padding:11px 13px;display:flex}.init-repository-badge>svg{width:16px;color:var(--compass-focus)}.init-repository-badge span{min-width:0}.init-repository-badge small,.init-repository-badge strong{display:block}.init-repository-badge small{color:var(--compass-faint);font:10px/1.2 var(--compass-font-mono);text-transform:uppercase;margin-bottom:2px}.init-repository-badge strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.init-layout{border:1px solid var(--compass-line-strong);background:var(--vscode-editorWidget-background,var(--compass-panel));width:min(1080px,100%);min-height:520px;box-shadow:0 22px 55px var(--vscode-widget-shadow,#0000003d);border-radius:7px;grid-template-columns:245px minmax(0,1fr);margin:0 auto;display:grid;overflow:hidden}.init-step-nav{border-right:1px solid var(--compass-line);background:var(--compass-panel);flex-direction:column;justify-content:space-between;min-width:0;padding:27px 20px 20px;display:flex}@supports (color:color-mix(in lab,red,red)){.init-step-nav{background:color-mix(in srgb,var(--compass-panel) 88%,var(--compass-canvas))}}.init-step-nav ol,.init-runway,.init-rule-list{margin:0;padding:0;list-style:none}.init-step-nav li{padding-bottom:10px;position:relative}.init-step-nav li:not(:last-child):after{background:var(--compass-line);content:"";width:1px;position:absolute;top:37px;bottom:-1px;left:22px}.init-step-nav li[data-state=complete]:after{background:var(--compass-success)}@supports (color:color-mix(in lab,red,red)){.init-step-nav li[data-state=complete]:after{background:color-mix(in srgb,var(--compass-success) 62%,var(--compass-line))}}.init-step-nav button{width:100%;color:var(--muted-foreground);text-align:left;background:0 0;border:0;border-radius:4px;align-items:center;gap:11px;padding:7px;display:flex}.init-step-nav button:not(:disabled):hover{background:var(--workbench-hover);color:var(--foreground)}.init-step-nav button:focus-visible{outline:2px solid var(--compass-focus);outline-offset:1px}.init-step-marker{z-index:1;border:1px solid var(--compass-line-strong);background:var(--compass-panel);border-radius:50%;flex:0 0 30px;place-items:center;width:30px;height:30px;display:grid}.init-step-marker svg{width:13px;height:13px}.init-step-nav li[data-state=active] button{color:var(--foreground)}.init-step-nav li[data-state=active] .init-step-marker{border-color:var(--compass-focus);background:var(--compass-focus-soft);color:var(--compass-focus);box-shadow:0 0 0 4px var(--compass-focus-soft)}.init-step-nav li[data-state=complete] .init-step-marker{border-color:var(--compass-success);color:var(--compass-success)}.init-step-nav button small,.init-step-nav button strong{display:block}.init-step-nav button small{color:var(--compass-faint);font:9px/1.2 var(--compass-font-mono);letter-spacing:.06em;text-transform:uppercase;margin-bottom:2px}.init-step-nav button strong{font-size:12px;font-weight:550}.init-local-note{border:1px solid var(--compass-line);background:var(--compass-focus);border-radius:5px;align-items:flex-start;gap:9px;padding:12px;display:flex}@supports (color:color-mix(in lab,red,red)){.init-local-note{background:color-mix(in srgb,var(--compass-focus) 6%,transparent)}}.init-local-note>svg{width:14px;color:var(--compass-focus);flex:0 0 14px}.init-local-note p{color:var(--muted-foreground);margin:0;font-size:10px;line-height:1.5}.init-local-note strong,.init-local-note code{display:block}.init-local-note strong{color:var(--foreground);margin-bottom:2px;font-size:10px}.init-local-note code{color:var(--compass-focus);font-family:var(--compass-font-mono);margin-top:4px}.init-stage{flex-direction:column;min-width:0;padding:clamp(28px,5vw,52px);display:flex}.init-stage-heading{align-items:flex-start;gap:16px;margin-bottom:28px;display:flex}.init-stage-heading>span{color:var(--compass-focus);font:600 11px/1 var(--compass-font-mono);padding-top:5px}.init-stage-heading h2{color:var(--foreground);font:600 clamp(21px,3vw,28px)/1.2 var(--compass-font-sans);letter-spacing:-.025em;margin:0}.init-stage-heading p{color:var(--muted-foreground);margin:8px 0 0;font-size:12px;line-height:1.55}.init-scope-grid,.init-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.init-choice{border:1px solid var(--compass-line);background:var(--vscode-input-background,var(--background));cursor:pointer;border-radius:6px;align-items:flex-start;gap:12px;min-height:125px;padding:18px;display:flex;position:relative}.init-choice:hover{border-color:var(--compass-focus)}@supports (color:color-mix(in lab,red,red)){.init-choice:hover{border-color:color-mix(in srgb,var(--compass-focus) 48%,var(--compass-line))}}.init-choice[data-selected=true]{border-color:var(--compass-focus);background:var(--compass-focus-soft);box-shadow:inset 0 0 0 1px var(--compass-focus)}@supports (color:color-mix(in lab,red,red)){.init-choice[data-selected=true]{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--compass-focus) 30%,transparent)}}.init-choice input{opacity:0;width:1px;height:1px;position:absolute}.init-choice:has(input:focus-visible){outline:2px solid var(--compass-focus);outline-offset:2px}.init-choice-radio{width:20px;height:20px;color:var(--compass-faint);flex:0 0 20px;place-items:center;display:grid}.init-choice-radio svg{fill:#0000;width:16px}.init-choice[data-selected=true] .init-choice-radio svg{fill:var(--compass-focus);color:var(--compass-focus);stroke-width:4px}.init-choice strong,.init-choice small{display:block}.init-choice strong{color:var(--foreground);margin:1px 0 8px;font-size:13px}.init-choice small{color:var(--muted-foreground);font-size:11px;line-height:1.55}.init-scope-browser{border:1px solid var(--compass-line);background:var(--vscode-input-background,var(--background));border-radius:6px;margin-top:16px;overflow:hidden}.init-scope-browser>header{border-bottom:1px solid var(--compass-line);background:var(--compass-panel);justify-content:space-between;align-items:center;gap:16px;min-height:47px;padding:0 14px;display:flex}@supports (color:color-mix(in lab,red,red)){.init-scope-browser>header{background:color-mix(in srgb,var(--compass-panel) 84%,transparent)}}.init-scope-browser>header strong,.init-scope-browser>header small{display:block}.init-scope-browser>header strong{color:var(--foreground);margin-bottom:3px;font-size:11px}.init-scope-browser>header small{color:var(--compass-faint);font-size:9px}.init-scope-browser>header>span{border:1px solid var(--compass-focus);flex:none;padding:4px 7px}@supports (color:color-mix(in lab,red,red)){.init-scope-browser>header>span{border:1px solid color-mix(in srgb,var(--compass-focus) 45%,var(--compass-line))}}.init-scope-browser>header>span{background:var(--compass-focus-soft);color:var(--compass-focus);font:600 9px/1 var(--compass-font-mono);border-radius:999px}.init-scope-toolbar{border-bottom:1px solid var(--compass-line);align-items:center;gap:7px;height:35px;padding:0 10px;display:flex}.init-scope-toolbar>svg{width:13px;color:var(--compass-faint)}.init-scope-toolbar input{min-width:0;color:var(--foreground);font:10px/1.3 var(--compass-font-sans);background:0 0;border:0;outline:0;flex:1}.init-scope-toolbar input::placeholder{color:var(--vscode-input-placeholderForeground,var(--compass-faint))}.init-scope-toolbar:focus-within{box-shadow:inset 0 0 0 1px var(--compass-focus)}.init-scope-toolbar button,.init-scope-ledger button{width:22px;height:22px;color:var(--compass-faint);background:0 0;border:0;border-radius:3px;place-items:center;padding:0;display:grid}.init-scope-toolbar button:hover,.init-scope-ledger button:hover{background:var(--workbench-hover);color:var(--foreground)}.init-scope-toolbar button svg,.init-scope-ledger button svg{width:12px}.init-scope-body{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1.45fr) minmax(180px,.8fr);height:clamp(230px,38vh,310px);min-height:0;display:grid;overflow:hidden}.init-scope-tree{overscroll-behavior:contain;border-right:1px solid var(--compass-line);scrollbar-gutter:stable;min-width:0;min-height:0;padding:6px 0;overflow:auto}.init-scope-tree:focus-visible{outline:2px solid var(--compass-focus);outline-offset:-2px}.init-scope-row{box-sizing:border-box;align-items:center;min-width:max-content;height:27px;padding-right:9px;display:flex}.init-scope-row:hover{background:var(--workbench-hover)}.init-scope-disclosure{width:20px;height:22px;color:var(--compass-faint);background:0 0;border:0;border-radius:3px;flex:0 0 20px;place-items:center;padding:0;display:grid}button.init-scope-disclosure:hover{color:var(--foreground)}.init-scope-disclosure svg{width:13px}.init-scope-row label{min-width:0;color:var(--muted-foreground);cursor:pointer;flex:1;align-items:center;gap:7px;font-size:10px;display:flex}.init-scope-row label input{width:13px;height:13px;accent-color:var(--compass-focus);margin:0}.init-scope-row label svg{width:13px;height:13px;color:var(--compass-focus)}.init-scope-row label span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.init-scope-ledger{overscroll-behavior:contain;background:var(--compass-panel);min-width:0;min-height:0;padding:10px;overflow:auto}@supports (color:color-mix(in lab,red,red)){.init-scope-ledger{background:color-mix(in srgb,var(--compass-panel) 73%,transparent)}}.init-scope-ledger{scrollbar-gutter:stable}.init-scope-ledger>div{padding:2px 3px 9px}.init-scope-ledger strong,.init-scope-ledger small{display:block}.init-scope-ledger strong{color:var(--foreground);margin-bottom:3px;font-size:10px}.init-scope-ledger small,.init-scope-ledger>p,.init-scope-empty,.init-scope-notice{color:var(--compass-faint);font-size:9px;line-height:1.45}.init-scope-ledger>p,.init-scope-empty{margin:8px 3px}.init-scope-ledger ul{margin:0;padding:0;list-style:none}.init-scope-ledger li{border-top:1px solid var(--compass-line);align-items:center;gap:5px;min-width:0;padding:4px 3px 4px 7px;display:flex}.init-scope-ledger code{min-width:0;color:var(--foreground);font:9px/1.4 var(--compass-font-mono);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.init-scope-notice{border-top:1px solid var(--compass-line);background:var(--compass-warning);margin:0;padding:7px 12px}@supports (color:color-mix(in lab,red,red)){.init-scope-notice{background:color-mix(in srgb,var(--compass-warning) 7%,transparent)}}.init-scope-notice{color:var(--compass-warning)}.init-facts{border:1px solid var(--compass-line);border-radius:5px;grid-template-columns:1.5fr 1fr 1fr;margin:22px 0 0;display:grid;overflow:hidden}.init-facts>div{background:var(--compass-panel);min-width:0;padding:11px 13px}@supports (color:color-mix(in lab,red,red)){.init-facts>div{background:color-mix(in srgb,var(--compass-panel) 82%,transparent)}}.init-facts>div:not(:last-child){border-right:1px solid var(--compass-line)}.init-facts dt,.init-review-row>span{color:var(--compass-faint);font:9px/1.2 var(--compass-font-mono);text-transform:uppercase}.init-facts dt{margin-bottom:4px}.init-facts dd{min-width:0;color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:10px;overflow:hidden}.init-facts code,.init-review-row code{font-family:var(--compass-font-mono)}.init-fields{gap:18px}.init-fields label>span{margin-bottom:9px;display:block}.init-fields label strong,.init-fields label small{display:block}.init-fields label strong{color:var(--foreground);margin-bottom:3px;font-size:12px}.init-fields label small{color:var(--compass-faint);font-size:10px}.init-fields textarea{box-sizing:border-box;resize:vertical;border:1px solid var(--vscode-input-border,var(--compass-line));background:var(--vscode-input-background,var(--background));width:100%;min-height:142px;color:var(--vscode-input-foreground,var(--foreground));font:11px/1.6 var(--compass-font-mono);border-radius:4px;outline:none;padding:11px 12px}.init-fields textarea::placeholder{color:var(--vscode-input-placeholderForeground,var(--compass-faint))}.init-fields textarea:focus{border-color:var(--compass-focus);outline:1px solid var(--compass-focus)}.init-fields textarea:disabled{opacity:.55;cursor:not-allowed}.init-validation{color:var(--destructive);margin:12px 0 0;font-size:11px}.init-stage-actions{justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:30px;display:flex}.init-button{min-height:32px;font:500 12px/1.3 var(--compass-font-sans);border:1px solid #0000;border-radius:3px;justify-content:center;align-items:center;gap:8px;padding:6px 13px;display:inline-flex}.init-button svg{width:14px;height:14px}.init-button:focus-visible{outline:2px solid var(--compass-focus);outline-offset:2px}.init-button:disabled{opacity:.45;cursor:not-allowed}.init-button-primary{border-color:var(--vscode-button-border,transparent);background:var(--vscode-button-background,var(--primary));color:var(--vscode-button-foreground,var(--primary-foreground))}.init-button-primary:not(:disabled):hover{background:var(--vscode-button-hoverBackground,var(--primary))}.init-button-secondary{border-color:var(--compass-line);background:var(--vscode-button-secondaryBackground,var(--secondary));color:var(--vscode-button-secondaryForeground,var(--secondary-foreground))}.init-button-secondary:not(:disabled):hover,.init-button-quiet:hover{border-color:var(--compass-line-strong);background:var(--workbench-hover);color:var(--foreground)}.init-button-quiet{color:var(--muted-foreground);background:0 0}.init-button-build{min-width:170px}.init-review{border:1px solid var(--compass-line);border-radius:5px;overflow:hidden}.init-review-row{border-bottom:1px solid var(--compass-line);grid-template-columns:130px minmax(0,1fr);align-items:start;min-height:42px;display:grid}.init-review-row:last-child{border-bottom:0}.init-review-row>span{background:var(--compass-panel);align-self:stretch;padding:12px 13px}@supports (color:color-mix(in lab,red,red)){.init-review-row>span{background:color-mix(in srgb,var(--compass-panel) 76%,transparent)}}.init-review-row>div{min-width:0;color:var(--foreground);padding:11px 13px;font-size:11px}.init-review-row code{overflow-wrap:anywhere;color:var(--foreground)}.init-rule-default{color:var(--muted-foreground)}.init-rule-list{flex-wrap:wrap;gap:6px;display:flex}.init-rule-list li{border:1px solid var(--compass-line);background:var(--vscode-input-background,var(--background));border-radius:3px;padding:3px 7px}.init-build-callout{border-left:2px solid var(--compass-focus);background:var(--compass-focus-soft);align-items:flex-start;gap:12px;margin-top:16px;padding:13px 15px;display:flex}.init-build-callout>svg{width:17px;color:var(--compass-focus);flex:0 0 17px}.init-build-callout strong{color:var(--foreground);margin-bottom:3px;font-size:11px;display:block}.init-build-callout p{color:var(--muted-foreground);margin:0;font-size:10px;line-height:1.45}.init-replace-confirmation{border:1px solid var(--compass-warning);align-items:flex-start;gap:10px;margin-top:10px;padding:12px 14px;display:flex}@supports (color:color-mix(in lab,red,red)){.init-replace-confirmation{border:1px solid color-mix(in srgb,var(--compass-warning) 55%,var(--compass-line))}}.init-replace-confirmation{background:var(--compass-warning);border-radius:4px}@supports (color:color-mix(in lab,red,red)){.init-replace-confirmation{background:color-mix(in srgb,var(--compass-warning) 8%,transparent)}}.init-replace-confirmation{cursor:pointer}.init-replace-confirmation input{accent-color:var(--compass-focus);margin:2px 0 0}.init-replace-confirmation strong,.init-replace-confirmation small{display:block}.init-replace-confirmation strong{color:var(--compass-warning);margin-bottom:3px;font-size:11px}.init-replace-confirmation small{color:var(--muted-foreground);font-size:10px;line-height:1.45}.init-progress-shell{flex-direction:column;display:flex}.init-progress-header{align-items:center}.init-running-badge{border:1px solid var(--compass-focus);align-items:center;gap:7px;padding:6px 10px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.init-running-badge{border:1px solid color-mix(in srgb,var(--compass-focus) 46%,var(--compass-line))}}.init-running-badge{background:var(--compass-focus-soft);color:var(--compass-focus);font:600 10px/1 var(--compass-font-mono);text-transform:uppercase;border-radius:999px}.init-running-badge svg,.init-runway li[data-state=active] .init-runway-marker svg{animation:1.2s linear infinite init-spin}.init-progress-card{box-sizing:border-box;border:1px solid var(--compass-line-strong);background:var(--vscode-editorWidget-background,var(--compass-panel));width:min(880px,100%);box-shadow:0 22px 55px var(--vscode-widget-shadow,#0000003d);border-radius:7px;margin:auto;padding:clamp(26px,5vw,48px)}.init-progress-summary{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.init-progress-summary small,.init-progress-summary strong{display:block}.init-progress-summary small{color:var(--compass-faint);font:10px/1.2 var(--compass-font-mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px}.init-progress-summary strong{color:var(--foreground);font-size:18px;font-weight:580}.init-progress-summary>span{color:var(--compass-focus);font:600 24px/1 var(--compass-font-mono)}.init-progress-track{background:var(--foreground);border-radius:99px;height:7px;margin:18px 0 22px;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.init-progress-track{background:color-mix(in srgb,var(--foreground) 10%,transparent)}}.init-progress-track>span{border-radius:inherit;background:var(--workbench-progress);height:100%;box-shadow:0 0 15px var(--compass-focus);display:block}@supports (color:color-mix(in lab,red,red)){.init-progress-track>span{box-shadow:0 0 15px color-mix(in srgb,var(--compass-focus) 50%,transparent)}}.init-progress-track>span{transition:width .18s ease-out}.init-progress-track>span.is-indeterminate{width:28%;animation:1.35s ease-in-out infinite init-indeterminate}.init-current-file{border:1px solid var(--compass-line);background:var(--vscode-input-background,var(--compass-canvas));border-radius:5px;align-items:center;gap:12px;min-width:0;padding:13px 15px;display:flex}.init-current-file>svg{width:16px;color:var(--compass-focus);flex:0 0 16px}.init-current-file span{min-width:0}.init-current-file small,.init-current-file code{display:block}.init-current-file small{color:var(--compass-faint);font:9px/1 var(--compass-font-mono);text-transform:uppercase;margin-bottom:4px}.init-current-file code{color:var(--foreground);font:11px/1.4 var(--compass-font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.init-runway{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:30px;display:grid}.init-runway li{align-items:flex-start;gap:10px;display:flex;position:relative}.init-runway li:not(:last-child):after{background:var(--compass-line);content:"";height:1px;position:absolute;top:13px;left:27px;right:8px}.init-runway li[data-state=complete]:after{background:var(--compass-success)}@supports (color:color-mix(in lab,red,red)){.init-runway li[data-state=complete]:after{background:color-mix(in srgb,var(--compass-success) 58%,var(--compass-line))}}.init-runway-marker{z-index:1;border:1px solid var(--compass-line-strong);background:var(--compass-panel);width:26px;height:26px;color:var(--compass-faint);border-radius:50%;flex:0 0 26px;place-items:center;display:grid}.init-runway-marker svg{width:12px;height:12px}.init-runway li[data-state=complete] .init-runway-marker{border-color:var(--compass-success);color:var(--compass-success)}.init-runway li[data-state=active] .init-runway-marker{border-color:var(--compass-focus);color:var(--compass-focus);box-shadow:0 0 0 4px var(--compass-focus-soft)}.init-runway li>span:last-child{min-width:0;padding-right:20px}.init-runway strong,.init-runway small{display:block}.init-runway strong{color:var(--foreground);margin:1px 0 4px;font-size:10px}.init-runway small{color:var(--compass-faint);font-size:9px;line-height:1.35}.init-progress-footer{box-sizing:border-box;justify-content:space-between;align-items:center;gap:20px;width:min(880px,100%);margin:22px auto 0;display:flex}.init-progress-footer p{color:var(--compass-faint);margin:0;font-size:10px}.init-result-shell{place-items:center;display:grid}.init-result-card{box-sizing:border-box;border:1px solid var(--compass-line-strong);background:var(--vscode-editorWidget-background,var(--compass-panel));width:min(580px,100%);box-shadow:0 22px 55px var(--vscode-widget-shadow,#0000003d);text-align:center;border-radius:7px;padding:clamp(32px,6vw,60px)}.init-result-icon{border:1px solid;border-radius:50%;place-items:center;width:54px;height:54px;margin:0 auto 22px;display:grid}.init-result-icon svg{width:24px}.init-result-icon-success{border-color:var(--compass-success);background:var(--compass-success)}@supports (color:color-mix(in lab,red,red)){.init-result-icon-success{background:color-mix(in srgb,var(--compass-success) 10%,transparent)}}.init-result-icon-success{color:var(--compass-success)}.init-result-icon-error{border-color:var(--destructive);background:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.init-result-icon-error{background:color-mix(in srgb,var(--destructive) 10%,transparent)}}.init-result-icon-error{color:var(--destructive)}.init-result-icon-cancelled{border-color:var(--compass-warning);background:var(--compass-warning)}@supports (color:color-mix(in lab,red,red)){.init-result-icon-cancelled{background:color-mix(in srgb,var(--compass-warning) 10%,transparent)}}.init-result-icon-cancelled{color:var(--compass-warning)}.init-result-card .init-eyebrow{text-align:center}.init-result-card>p:not(.init-eyebrow){margin-left:auto;margin-right:auto}.init-result-actions{flex-wrap:wrap;justify-content:center;gap:9px;margin-top:26px;display:flex}@keyframes init-spin{to{transform:rotate(360deg)}}@keyframes init-indeterminate{0%{transform:translate(-120%)}55%{transform:translate(180%)}to{transform:translate(320%)}}@media(max-width:760px){.init-shell{padding:24px 18px}.init-header,.init-progress-header{flex-direction:column;align-items:flex-start}.init-repository-badge{box-sizing:border-box;width:100%}.init-layout{grid-template-columns:1fr}.init-step-nav{border-right:0;border-bottom:1px solid var(--compass-line);padding:16px}.init-step-nav ol{grid-template-columns:repeat(3,1fr);display:grid}.init-step-nav li{padding:0}.init-step-nav li:not(:last-child):after{width:auto;height:1px;inset:22px -8px auto 37px}.init-step-nav button{flex-direction:column;align-items:flex-start}.init-step-nav button strong{font-size:10px}.init-local-note{display:none}.init-scope-grid,.init-fields{grid-template-columns:1fr}.init-scope-browser>header{flex-direction:column;align-items:flex-start;gap:8px;padding-block:10px}.init-scope-body{grid-template-rows:auto auto;grid-template-columns:1fr;height:auto;max-height:none;overflow:visible}.init-scope-tree{border-right:0;border-bottom:1px solid var(--compass-line);height:clamp(210px,42vh,300px);min-height:210px;max-height:none}.init-scope-ledger{max-height:150px}.init-facts{grid-template-columns:1fr}.init-facts>div:not(:last-child){border-right:0;border-bottom:1px solid var(--compass-line)}.init-review-row{grid-template-columns:95px minmax(0,1fr)}.init-runway{grid-template-columns:1fr;gap:13px}.init-runway li:not(:last-child):after{width:1px;height:auto;inset:26px auto -13px 13px}.init-progress-footer{flex-direction:column;align-items:flex-start}}@media(prefers-reduced-motion:reduce){.init-running-badge svg,.init-runway li[data-state=active] .init-runway-marker svg,.init-progress-track>span.is-indeterminate{animation:none}.init-progress-track>span{transition:none}}:root{color-scheme:light dark;--compass-font-sans:var(--vscode-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);--compass-font-mono:var(--vscode-editor-font-family,"SFMono-Regular", Consolas, monospace);--background:var(--vscode-editor-background,#0d131d);--foreground:var(--vscode-editor-foreground,#d7e1ed);--card:var(--vscode-sideBar-background,#121b28);--card-foreground:var(--vscode-sideBar-foreground,#d7e1ed);--popover:var(--vscode-menu-background,#172231);--popover-foreground:var(--vscode-menu-foreground,#d7e1ed);--primary:var(--vscode-button-background,#2f81f7);--primary-foreground:var(--vscode-button-foreground,#fff);--secondary:var(--vscode-button-secondaryBackground,#263448);--secondary-foreground:var(--vscode-button-secondaryForeground,#d7e1ed);--muted:var(--vscode-list-inactiveSelectionBackground,#1d2938);--muted-foreground:var(--vscode-descriptionForeground,#93a4b8);--accent:var(--vscode-list-activeSelectionBackground,#264f78);--accent-foreground:var(--vscode-list-activeSelectionForeground,#fff);--destructive:var(--vscode-errorForeground,#f47067);--border:var(--vscode-panel-border,#2c3a4d);--input:var(--vscode-input-border,#3b4a5e);--ring:var(--vscode-focusBorder,#4f9cf9);--radius:.625rem;--compass-canvas:var(--vscode-editor-background,#08111f);--compass-canvas-deep:var(--compass-canvas)}@supports (color:color-mix(in lab,red,red)){:root{--compass-canvas-deep:color-mix(in srgb, var(--compass-canvas) 82%, #000)}}:root{--compass-panel:var(--vscode-sideBar-background,#101b2d);--compass-panel-raised:var(--vscode-menu-background,#142236)}@supports (color:color-mix(in lab,red,red)){:root{--compass-panel-raised:color-mix(in srgb, var(--vscode-menu-background,#142236) 88%, transparent)}}:root{--compass-line:var(--vscode-panel-border,#9ab2d329);--compass-line-strong:var(--vscode-contrastBorder,#9ab2d34d);--compass-focus:var(--vscode-focusBorder,#76b7ff);--compass-focus-soft:var(--compass-focus)}@supports (color:color-mix(in lab,red,red)){:root{--compass-focus-soft:color-mix(in srgb, var(--compass-focus) 14%, transparent)}}:root{--compass-faint:var(--vscode-disabledForeground,#60728b);--compass-grid:var(--foreground)}@supports (color:color-mix(in lab,red,red)){:root{--compass-grid:color-mix(in srgb, var(--foreground) 16%, transparent)}}:root{--compass-success:var(--vscode-testing-iconPassed,#3fb950);--compass-warning:var(--vscode-editorWarning-foreground,#d29922);--sidebar:var(--vscode-sideBar-background,var(--background));--sidebar-foreground:var(--vscode-sideBar-foreground,var(--foreground));--sidebar-accent:var(--vscode-list-activeSelectionBackground,var(--accent));--sidebar-accent-foreground:var(--vscode-list-activeSelectionForeground,var(--accent-foreground));--sidebar-primary:var(--vscode-focusBorder,var(--ring));--workbench-hover:var(--vscode-list-hoverBackground,var(--foreground))}@supports (color:color-mix(in lab,red,red)){:root{--workbench-hover:var(--vscode-list-hoverBackground,color-mix(in srgb, var(--foreground) 7%, transparent))}}:root{--workbench-hover-foreground:var(--vscode-list-hoverForeground,var(--foreground));--workbench-table-header:var(--vscode-editorStickyScroll-background,var(--background));--workbench-link:var(--vscode-textLink-foreground,var(--ring));--workbench-progress:var(--vscode-progressBar-background,var(--ring))}@media(prefers-color-scheme:light){:root{--background:var(--vscode-editor-background,#f7f9fc);--foreground:var(--vscode-editor-foreground,#172033);--card:var(--vscode-sideBar-background,#fff);--card-foreground:var(--vscode-sideBar-foreground,#172033);--popover:var(--vscode-menu-background,#fff);--popover-foreground:var(--vscode-menu-foreground,#172033);--primary:var(--vscode-button-background,#0969da);--primary-foreground:var(--vscode-button-foreground,#fff);--secondary:var(--vscode-button-secondaryBackground,#e8edf4);--secondary-foreground:var(--vscode-button-secondaryForeground,#172033);--muted:var(--vscode-list-inactiveSelectionBackground,#edf1f6);--muted-foreground:var(--vscode-descriptionForeground,#576579);--accent:var(--vscode-list-activeSelectionBackground,#dbeafe);--accent-foreground:var(--vscode-list-activeSelectionForeground,#172033);--border:var(--vscode-panel-border,#c8d1dc);--input:var(--vscode-input-border,#aeb9c8);--ring:var(--vscode-focusBorder,#0969da);--compass-canvas:var(--vscode-editor-background,#f4f7fb);--compass-canvas-deep:var(--compass-canvas)}@supports (color:color-mix(in lab,red,red)){:root{--compass-canvas-deep:color-mix(in srgb, var(--compass-canvas) 94%, #dbe3ed)}}:root{--compass-panel:var(--vscode-sideBar-background,#fff);--compass-panel-raised:var(--vscode-menu-background,#fff);--compass-line:var(--vscode-panel-border,#ccd6e1);--compass-line-strong:var(--vscode-contrastBorder,#9eacbd);--compass-faint:var(--vscode-disabledForeground,#68778a)}}body.vscode-light,body.vscode-high-contrast-light{color-scheme:light}body.vscode-dark,body.vscode-high-contrast{color-scheme:dark}.compass-source-notice{z-index:100;border:1px solid var(--compass-warning);max-width:min(420px,100vw - 32px);padding:12px 14px;position:fixed;bottom:16px;right:16px}@supports (color:color-mix(in lab,red,red)){.compass-source-notice{border:1px solid color-mix(in srgb,var(--compass-warning) 55%,var(--compass-line))}}.compass-source-notice{background:var(--compass-panel);border-radius:6px}@supports (color:color-mix(in lab,red,red)){.compass-source-notice{background:color-mix(in srgb,var(--compass-panel) 96%,transparent)}}.compass-source-notice{color:var(--foreground);font-size:13px;line-height:1.45;box-shadow:0 12px 32px #00000047}.visualization-workbench{background:var(--background);grid-template-columns:minmax(220px,268px) minmax(0,1fr);width:100vw;height:100vh;display:grid;overflow:hidden}.visualization-workbench[data-navigation-collapsed=true]{grid-template-columns:48px minmax(0,1fr)}.visualization-rail{border-right:1px solid var(--compass-line);background:linear-gradient(180deg,var(--compass-focus-soft),transparent 180px),var(--compass-panel);grid-template-rows:auto minmax(0,1fr) auto;min-width:0;display:grid}.visualization-rail>header{border-bottom:1px solid var(--compass-line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:18px 16px 16px;display:grid}.visualization-rail-disclosure{width:30px;height:30px;color:var(--muted-foreground);background:0 0;border:1px solid #0000;border-radius:3px;place-items:center;display:grid}.visualization-rail-disclosure:hover{border-color:var(--compass-line);background:var(--workbench-hover);color:var(--foreground)}.visualization-rail-disclosure svg{width:16px;height:16px}.visualization-rail[data-collapsed=true]>header{flex-direction:column;gap:9px;padding:12px 7px 10px;display:flex}.visualization-rail[data-collapsed=true]>header>span:nth-child(2),.visualization-rail[data-collapsed=true] nav button>span,.visualization-rail[data-collapsed=true] nav i,.visualization-rail[data-collapsed=true]>footer{display:none}.visualization-rail[data-collapsed=true] .visualization-bearing{width:30px;height:30px}.visualization-rail[data-collapsed=true] nav button{grid-template-columns:1fr;place-items:center;padding-inline:5px}.visualization-bearing{border:1px solid var(--compass-focus);place-items:center;width:34px;height:34px;display:grid}@supports (color:color-mix(in lab,red,red)){.visualization-bearing{border:1px solid color-mix(in srgb,var(--compass-focus) 48%,var(--border))}}.visualization-bearing{background:var(--compass-focus);border-radius:50%}@supports (color:color-mix(in lab,red,red)){.visualization-bearing{background:color-mix(in srgb,var(--compass-focus) 12%,transparent)}}.visualization-bearing{color:var(--compass-focus);box-shadow:inset 0 0 0 4px var(--compass-focus)}@supports (color:color-mix(in lab,red,red)){.visualization-bearing{box-shadow:inset 0 0 0 4px color-mix(in srgb,var(--compass-focus) 5%,transparent)}}.visualization-bearing svg{width:18px;height:18px}.visualization-rail header>span:nth-child(2),.visualization-rail nav button>span{gap:2px;min-width:0;display:grid}.visualization-rail header strong{letter-spacing:.02em;font-size:14px}.visualization-rail header small,.visualization-rail nav small{color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.visualization-rail nav{flex-direction:column;gap:3px;min-height:0;padding:10px 8px;display:flex;overflow:auto}.visualization-rail nav button{min-width:0;color:var(--foreground);text-align:left;background:0 0;border:1px solid #0000;border-radius:5px;grid-template-columns:24px minmax(0,1fr) 8px;align-items:center;gap:9px;padding:9px 8px;display:grid;position:relative}.visualization-rail nav button:hover{background:var(--workbench-hover)}.visualization-rail nav button[aria-current=page]{border-color:var(--compass-focus)}@supports (color:color-mix(in lab,red,red)){.visualization-rail nav button[aria-current=page]{border-color:color-mix(in srgb,var(--compass-focus) 28%,var(--border))}}.visualization-rail nav button[aria-current=page]{background:var(--compass-focus)}@supports (color:color-mix(in lab,red,red)){.visualization-rail nav button[aria-current=page]{background:color-mix(in srgb,var(--compass-focus) 13%,var(--compass-panel))}}.visualization-rail nav button[aria-current=page]{box-shadow:inset 2px 0 var(--compass-focus)}.visualization-rail nav svg{width:16px;height:16px;color:var(--muted-foreground)}.visualization-rail nav button[aria-current=page] svg{color:var(--compass-focus)}.visualization-rail nav strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.visualization-rail nav i{background:var(--compass-success);border-radius:50%;width:6px;height:6px}.visualization-rail nav i[data-status=summary]{background:var(--compass-warning)}.visualization-rail nav i[data-status=partial]{background:var(--destructive)}.visualization-rail>footer{border-top:1px solid var(--compass-line);color:var(--muted-foreground);justify-content:space-between;align-items:center;gap:10px;padding:11px 14px;font-size:10px;display:flex}.visualization-rail>footer code{color:var(--foreground);font-family:var(--compass-font-mono)}.visualization-main{grid-template-rows:49px minmax(0,1fr);min-width:0;min-height:0;display:grid}.visualization-context{border-bottom:1px solid var(--compass-line);background:var(--background);justify-content:space-between;align-items:center;gap:20px;min-width:0;padding:7px 14px 7px 16px;display:flex}@supports (color:color-mix(in lab,red,red)){.visualization-context{background:color-mix(in srgb,var(--background) 92%,var(--compass-panel))}}.visualization-context>div:first-child{gap:1px;min-width:0;display:grid}.visualization-context>div:first-child span{color:var(--muted-foreground);letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:650}.visualization-context>div:first-child strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.visualization-coverage{color:var(--muted-foreground);align-items:center;gap:10px;font-size:10px;display:flex}.visualization-coverage strong{border:1px solid var(--compass-success);padding:3px 7px}@supports (color:color-mix(in lab,red,red)){.visualization-coverage strong{border:1px solid color-mix(in srgb,var(--compass-success) 36%,var(--border))}}.visualization-coverage strong{color:var(--compass-success);border-radius:999px;font-weight:600}.visualization-coverage[data-status=summary] strong{border-color:var(--compass-warning)}@supports (color:color-mix(in lab,red,red)){.visualization-coverage[data-status=summary] strong{border-color:color-mix(in srgb,var(--compass-warning) 42%,var(--border))}}.visualization-coverage[data-status=summary] strong{color:var(--compass-warning)}.visualization-coverage[data-status=partial] strong{border-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.visualization-coverage[data-status=partial] strong{border-color:color-mix(in srgb,var(--destructive) 42%,var(--border))}}.visualization-coverage[data-status=partial] strong{color:var(--destructive)}.visualization-stage,.workbench-graph-lens,.workbench-history-view,.workbench-architecture{min-width:0;height:100%;min-height:0}.workbench-architecture{grid-template-rows:39px minmax(0,1fr);display:grid}.workbench-graph-lens{position:relative}.workbench-graph-lens>.compass-workspace,.workbench-history-view .compass-workspace{height:100%;min-height:0}.visualization-stage .call-graph-view{height:100%}.visualization-stage .call-graph-direction{top:58px}.visualization-stage .call-graph-summary{max-height:min(42%,360px);overflow:auto}.workbench-filter-strip{border-bottom:1px solid var(--compass-line);background:var(--compass-panel);align-items:center;gap:7px;min-width:0;padding:5px 9px;display:flex;overflow-x:auto}.workbench-filter-strip label{color:var(--muted-foreground);white-space:nowrap;align-items:center;gap:5px;font-size:9px;display:flex}.workbench-filter-strip select{border:1px solid var(--input);background:var(--background);max-width:160px;height:27px;color:var(--foreground);font:inherit;border-radius:3px;padding:2px 22px 2px 7px;font-size:10px}.workbench-filter-strip>span{color:var(--muted-foreground);white-space:nowrap;margin-left:auto;font-size:9px}.compass-toolbar-leading{flex:none;align-items:center;min-width:0;display:flex}.workbench-filter-trigger{border:1px solid var(--compass-line);background:var(--vscode-dropdown-background,transparent);min-height:30px;color:var(--muted-foreground);cursor:pointer;font:inherit;white-space:nowrap;border-radius:3px;align-items:center;gap:6px;padding:0 8px;display:flex}.workbench-filter-trigger:hover,.workbench-filter-trigger[aria-expanded=true]{background:var(--workbench-hover);color:var(--foreground)}.workbench-filter-trigger:focus-visible{outline:2px solid var(--compass-focus);outline-offset:2px}.workbench-filter-trigger svg{width:15px;height:15px}.workbench-filter-trigger b{background:var(--compass-focus);min-width:17px;height:17px;color:var(--vscode-button-foreground,#fff);font:9px/1 var(--compass-font-mono);border-radius:9px;place-items:center;display:inline-grid}.workbench-filter-trigger small{color:var(--compass-faint);font:9px/1 var(--compass-font-mono)}.workbench-filter-popover{z-index:12;box-sizing:border-box;border:1px solid var(--compass-line-strong);background:var(--vscode-editorWidget-background,var(--compass-panel));width:min(310px,100%);max-height:calc(100vh - 84px);box-shadow:none;border-radius:5px;gap:10px;padding:12px;display:grid;position:absolute;top:calc(100% + 8px);right:6px;overflow-y:auto}.workbench-filter-popover>header{border-bottom:1px solid var(--compass-line);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:9px;display:flex}.workbench-filter-popover>header span{gap:2px;display:grid}.workbench-filter-popover>header strong{font-size:11px}.workbench-filter-popover>header small,.workbench-filter-popover>footer{color:var(--compass-faint);font-size:10px}.workbench-filter-popover>header button{border:1px solid var(--compass-line);min-height:26px;color:var(--muted-foreground);white-space:nowrap;background:0 0;border-radius:3px;padding:0 7px;font-size:10px}.workbench-filter-popover>header button:disabled{opacity:.45}.workbench-filter-popover>label{color:var(--muted-foreground);grid-template-columns:88px minmax(0,1fr);align-items:center;gap:9px;font-size:10px;display:grid}.workbench-filter-popover select{border:1px solid var(--input);background:var(--vscode-dropdown-background,var(--background));width:100%;min-height:30px;color:var(--vscode-dropdown-foreground,var(--foreground));font:inherit;border-radius:3px;padding:2px 24px 2px 8px}.workbench-filter-popover select:focus-visible,.workbench-filter-popover button:focus-visible{outline:2px solid var(--compass-focus);outline-offset:2px}.workbench-filter-popover>footer{border-top:1px solid var(--compass-line);padding-top:8px}.workbench-graph-empty{z-index:3;box-sizing:border-box;border:1px solid var(--compass-line);background:var(--vscode-editorWidget-background,var(--compass-panel));width:min(360px,100% - 32px);color:var(--muted-foreground);text-align:center;border-radius:5px;justify-items:center;gap:7px;padding:18px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.workbench-graph-empty svg{width:24px;height:24px;color:var(--compass-faint);margin-bottom:3px}.workbench-graph-empty strong{color:var(--foreground);font-size:12px}.workbench-graph-empty span{max-width:290px;font-size:11px;line-height:1.45}.workbench-graph-empty button{border:1px solid var(--compass-line-strong);background:var(--vscode-button-background,var(--compass-focus));min-height:30px;color:var(--vscode-button-foreground,#fff);font:inherit;border-radius:3px;margin-top:5px;padding:0 10px;font-size:10px}.workbench-graph-empty button:hover{background:var(--vscode-button-hoverBackground,var(--compass-focus))}.workbench-graph-empty button:focus-visible{outline:2px solid var(--compass-focus);outline-offset:2px}.workbench-history-view{position:relative}.workbench-history-banner{z-index:24;border:1px solid var(--compass-line-strong);background:var(--compass-panel-raised);border-radius:5px;align-items:center;gap:9px;padding:8px 11px;display:flex;position:absolute;top:10px;left:50%;transform:translate(-50%);box-shadow:0 10px 28px #0000002e}.workbench-history-banner svg{width:17px;color:var(--compass-focus)}.workbench-history-banner span{gap:1px;display:grid}.workbench-history-banner strong{font-size:11px}.workbench-history-banner small{color:var(--muted-foreground);font-size:9px}.workbench-architecture-body{grid-template-columns:minmax(0,1fr) minmax(240px,310px);min-width:0;min-height:0;display:grid}.workbench-architecture-body>.architecture-map-panel{border:0;border-radius:0;min-width:0;height:100%;min-height:0}.workbench-architecture-body>aside{border-left:1px solid var(--compass-line);background:var(--compass-panel);min-width:0;padding:16px;overflow:auto}.workbench-architecture-body>aside>span{color:var(--muted-foreground);letter-spacing:.09em;text-transform:uppercase;font-size:9px;font-weight:650}.workbench-architecture-body>aside h2{margin:5px 0;font-size:15px}.workbench-architecture-body>aside p{color:var(--muted-foreground);font-size:10px;line-height:1.5}.workbench-symbol-list{gap:2px;margin-top:12px;display:grid}.workbench-symbol-list button{min-width:0;color:var(--foreground);text-align:left;background:0 0;border:1px solid #0000;border-radius:3px;gap:2px;padding:7px;display:grid}.workbench-symbol-list button:hover:not(:disabled){border-color:var(--border);background:var(--workbench-hover)}.workbench-symbol-list button:disabled{cursor:default}.workbench-symbol-list strong,.workbench-symbol-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.workbench-symbol-list strong{font-size:10px}.workbench-symbol-list small{color:var(--muted-foreground);font-size:9px}.visualization-workbench button:focus-visible,.visualization-workbench select:focus-visible{outline:1px solid var(--compass-focus);outline-offset:1px}@media(max-width:760px){.visualization-workbench{grid-template-columns:58px minmax(0,1fr)}.visualization-rail>header{flex-direction:column;justify-content:center;gap:9px;padding-inline:8px;display:flex}.visualization-rail header>span:nth-child(2),.visualization-rail nav button>span,.visualization-rail nav i,.visualization-rail>footer{display:none}.visualization-rail nav button{grid-template-columns:1fr;place-items:center;display:grid}.visualization-coverage>span{display:none}.workbench-architecture-body{grid-template-columns:minmax(0,1fr)}.workbench-architecture-body>aside{display:none}}@media(prefers-reduced-motion:no-preference){.visualization-rail nav button[aria-current=page]{animation:.18s ease-out compass-bearing}}@keyframes compass-bearing{0%{opacity:.7;transform:translate(-3px)}to{opacity:1;transform:translate(0)}}*{border-color:var(--border)}html,body,#root,#compass-viewer-root{min-height:100%;margin:0}body{background:var(--background);color:var(--foreground);font-family:var(--compass-font-sans);overflow:hidden}button:not(:disabled),[role=button]:not(:disabled){cursor:pointer}[data-slot=button],[data-slot=input],[data-slot=tabs-list],[data-slot=tabs-trigger]{border-radius:4px}.workbench-collection-toolbar{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.workbench-search{flex:1;align-items:center;min-width:180px;max-width:540px;display:flex;position:relative}.workbench-search>svg{width:14px;height:14px;color:var(--vscode-input-placeholderForeground,var(--muted-foreground));pointer-events:none;position:absolute;left:8px}.workbench-search input{border:1px solid var(--vscode-input-border,var(--border));background:var(--vscode-input-background,var(--input));width:100%;height:30px;color:var(--vscode-input-foreground,var(--foreground));font:inherit;border-radius:3px;outline:none;padding:4px 30px 4px 29px;font-size:12px}.workbench-search input::placeholder{color:var(--vscode-input-placeholderForeground,var(--muted-foreground))}.workbench-search input:focus-visible{border-color:var(--ring);outline:1px solid var(--ring);outline-offset:-1px}.workbench-search-clear{width:24px;height:24px;color:var(--muted-foreground);background:0 0;border:0;border-radius:3px;place-items:center;display:grid;position:absolute;right:3px}.workbench-search-clear:hover{background:var(--workbench-hover);color:var(--workbench-hover-foreground)}.workbench-search-clear svg{width:13px;height:13px}.workbench-result-count,.workbench-pagination-range{color:var(--muted-foreground);white-space:nowrap;font-size:11px}.workbench-pagination{justify-content:space-between;align-items:center;gap:12px;min-height:36px;padding-top:8px;display:flex}.workbench-pagination-actions{color:var(--muted-foreground);align-items:center;gap:4px;font-size:11px;display:flex}.workbench-pagination-actions button{width:26px;height:26px;color:var(--foreground);background:0 0;border:1px solid #0000;border-radius:3px;place-items:center;display:grid}.workbench-pagination-actions button:hover:not(:disabled){border-color:var(--border);background:var(--workbench-hover)}.workbench-pagination-actions button:disabled{color:var(--vscode-disabledForeground,var(--compass-faint))}.workbench-pagination-actions svg{width:14px;height:14px}.workbench-state{width:min(520px,100% - 32px);min-height:180px;color:var(--muted-foreground);text-align:center;align-content:center;place-items:center;gap:12px;margin:auto;padding:24px;display:grid}.workbench-state>svg{width:28px;height:28px}.workbench-state[data-kind=error]>svg{color:var(--destructive)}.workbench-state h2{color:var(--foreground);margin:0;font-size:14px;font-weight:600}.workbench-state p{margin:5px 0 0;font-size:12px;line-height:1.55}.workbench-button{border:1px solid var(--vscode-button-border,transparent);background:var(--vscode-button-background,var(--primary));min-height:30px;color:var(--vscode-button-foreground,var(--primary-foreground));font:inherit;border-radius:3px;padding:4px 11px;font-size:12px}.workbench-button:hover{background:var(--vscode-button-hoverBackground,var(--primary))}.workbench-button:focus-visible,.workbench-search-clear:focus-visible,.workbench-pagination-actions button:focus-visible{outline:2px solid var(--ring);outline-offset:1px}.workbench-state-spinner{animation:1s linear infinite spin}.compass-load-shell{background:radial-gradient(circle at 50% 43%,var(--compass-focus),transparent 28%),radial-gradient(circle at 68% 62%,var(--compass-success),transparent 24%),linear-gradient(145deg,var(--compass-canvas) 0%,var(--compass-canvas-deep) 100%);place-content:center;min-height:100vh;padding:40px 24px;display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.compass-load-shell{background:radial-gradient(circle at 50% 43%,color-mix(in srgb,var(--compass-focus) 16%,transparent),transparent 28%),radial-gradient(circle at 68% 62%,color-mix(in srgb,var(--compass-success) 8%,transparent),transparent 24%),linear-gradient(145deg,var(--compass-canvas) 0%,var(--compass-canvas-deep) 100%)}}.compass-load-shell{text-align:center}.compass-load-shell:before{content:"";opacity:.18;background-image:radial-gradient(var(--compass-grid) .65px,transparent .65px);pointer-events:none;background-size:24px 24px;position:absolute;inset:0}.compass-load-visual{place-items:start center;width:92px;height:88px;margin:0 auto;display:grid;position:relative}.compass-load-mark{width:58px;height:58px;color:var(--compass-focus);place-items:center;display:grid;position:relative}.compass-load-logo{filter:drop-shadow(0 10px 22px);width:54px;height:54px}@supports (color:color-mix(in lab,red,red)){.compass-load-logo{filter:drop-shadow(0 10px 22px color-mix(in srgb,currentColor 24%,transparent))}}.compass-load-logo{transform-origin:50%;animation:2.4s ease-in-out infinite compass-load-logo-breathe}.compass-load-visual[data-state=error] .compass-load-mark{border:1px solid var(--destructive);width:48px;height:48px}@supports (color:color-mix(in lab,red,red)){.compass-load-visual[data-state=error] .compass-load-mark{border:1px solid color-mix(in srgb,var(--destructive) 66%,var(--compass-line))}}.compass-load-visual[data-state=error] .compass-load-mark{color:var(--destructive);box-shadow:0 18px 48px var(--destructive);border-radius:12px}@supports (color:color-mix(in lab,red,red)){.compass-load-visual[data-state=error] .compass-load-mark{box-shadow:0 18px 48px color-mix(in srgb,var(--destructive) 20%,transparent)}}.compass-load-visual[data-state=error] .compass-load-mark svg{width:22px;height:22px}.compass-load-copy{z-index:1;width:min(620px,100vw - 48px);position:relative}.compass-load-eyebrow{color:var(--compass-focus);letter-spacing:.16em;text-transform:uppercase;margin-bottom:10px;font-size:11px;font-weight:700;display:block}.compass-load-copy h1{color:var(--foreground);letter-spacing:-.035em;margin:0;font-size:clamp(24px,4vw,38px);font-weight:650;line-height:1.08}.compass-load-steps,.compass-load-error{color:var(--muted-foreground);margin:16px auto 0;font-size:13px;line-height:1.65}.compass-load-steps{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.compass-load-steps b{color:var(--compass-focus);font-weight:700}.compass-load-error{overflow-wrap:anywhere;max-width:560px}.compass-load-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px;display:flex}.compass-load-action{border:1px solid var(--compass-line-strong);background:var(--compass-panel-raised);min-height:38px;color:var(--foreground);font:inherit;border-radius:9px;outline:none;align-items:center;gap:8px;padding:0 14px;font-size:12px;display:inline-flex}.compass-load-action:hover{border-color:var(--compass-focus);background:var(--compass-focus-soft)}.compass-load-action-primary{border-color:var(--vscode-button-background,var(--compass-focus));background:var(--vscode-button-background,var(--compass-focus));color:var(--vscode-button-foreground,#fff)}.compass-load-action-primary:hover{background:var(--vscode-button-hoverBackground,var(--compass-focus))}.compass-load-action svg{width:15px;height:15px}@keyframes compass-load-logo-breathe{50%{opacity:.72;transform:scale(.94)}}.compass-load-shell{background:var(--vscode-editor-background,var(--background));grid-template-rows:auto auto;gap:18px}.compass-load-shell:before{display:none}.compass-load-visual{width:92px;height:88px;margin:0 auto}.compass-load-mark{color:var(--vscode-symbolIcon-classForeground,var(--vscode-progressBar-background,var(--compass-focus)));box-shadow:none}.compass-load-logo{filter:drop-shadow(0 9px 20px var(--vscode-progressBar-background,var(--workbench-progress)))}@supports (color:color-mix(in lab,red,red)){.compass-load-logo{filter:drop-shadow(0 9px 20px color-mix(in srgb,var(--vscode-progressBar-background,var(--workbench-progress)) 28%,transparent))}}.compass-load-progress{background:var(--vscode-progressBar-background,var(--workbench-progress));width:96px;height:2px;position:absolute;bottom:0;left:50%;overflow:hidden;transform:translate(-50%)}@supports (color:color-mix(in lab,red,red)){.compass-load-progress{background:var(--vscode-progressBar-background,color-mix(in srgb, var(--workbench-progress) 28%, transparent))}}.compass-load-progress i{background:var(--workbench-progress);width:45%;height:100%;animation:1.4s ease-in-out infinite compass-native-progress;display:block}@keyframes compass-native-progress{0%{transform:translate(-110%)}to{transform:translate(330%)}}.compass-load-copy{width:min(520px,100vw - 40px)}.compass-load-eyebrow{color:var(--muted-foreground);letter-spacing:.08em;margin-bottom:7px;font-size:10px}.compass-load-copy h1{letter-spacing:-.015em;font-size:clamp(19px,3vw,25px);font-weight:600;line-height:1.2}.compass-load-steps,.compass-load-error{margin-top:10px;font-size:12px}.compass-load-steps{gap:8px 14px}.compass-load-step{color:var(--vscode-disabledForeground,var(--muted-foreground));align-items:center;gap:6px;display:inline-flex}.compass-load-step>i{border:1px solid;border-radius:50%;width:6px;height:6px;display:block}.compass-load-step[data-state=complete]{color:var(--vscode-descriptionForeground,var(--muted-foreground))}.compass-load-step[data-state=complete]>i{border-color:var(--vscode-progressBar-background,var(--workbench-progress));background:var(--vscode-progressBar-background,var(--workbench-progress))}.compass-load-step[data-state=active]{color:var(--vscode-editor-foreground,var(--foreground))}.compass-load-step[data-state=active]>i{border-color:var(--vscode-progressBar-background,var(--workbench-progress));background:var(--vscode-progressBar-background,var(--workbench-progress));box-shadow:0 0 7px var(--vscode-progressBar-background,var(--workbench-progress))}@supports (color:color-mix(in lab,red,red)){.compass-load-step[data-state=active]>i{box-shadow:0 0 7px color-mix(in srgb,var(--vscode-progressBar-background,var(--workbench-progress)) 46%,transparent)}}.compass-load-action{background:var(--vscode-button-secondaryBackground,var(--secondary));min-height:30px;color:var(--vscode-button-secondaryForeground,var(--secondary-foreground));border-radius:3px;padding:0 11px}.compass-load-action-primary{background:var(--vscode-button-background,var(--primary));color:var(--vscode-button-foreground,var(--primary-foreground))}.compass-load-shell[data-variant=architecture]{text-align:left;grid-template-rows:auto auto;grid-template-columns:minmax(220px,390px) minmax(280px,560px);column-gap:clamp(24px,6vw,72px)}.compass-load-shell[data-variant=architecture] .compass-load-visual{grid-column:1;margin:0}.compass-load-shell[data-variant=architecture] .compass-load-copy{grid-column:1;width:auto}.compass-load-shell[data-variant=architecture] .compass-load-steps{justify-content:flex-start}.architecture-load-skeleton{border:1px solid var(--vscode-panel-border,var(--border));background:var(--vscode-editor-background,var(--background));border-radius:4px;grid-area:1/2/span 2;grid-template-rows:54px 1fr;grid-template-columns:92px 1fr;width:min(46vw,560px);height:min(46vh,360px);display:grid;overflow:hidden}.architecture-load-skeleton span{background-image:linear-gradient(90deg,transparent,var(--foreground),transparent)}@supports (color:color-mix(in lab,red,red)){.architecture-load-skeleton span{background-image:linear-gradient(90deg,transparent,color-mix(in srgb,var(--foreground) 7%,transparent),transparent)}}.architecture-load-skeleton span{background-size:220% 100%;animation:1.8s ease-in-out infinite compass-skeleton}.architecture-load-rail{border-right:1px solid var(--border);background-color:var(--vscode-sideBar-background,var(--sidebar));grid-row:1/span 2}.architecture-load-flow{border-bottom:1px solid var(--border)}.architecture-load-content{border:1px solid var(--border);border-radius:3px;margin:14px}@keyframes compass-skeleton{to{background-position:-220% 0}}.compass-workspace{isolation:isolate;background:var(--compass-canvas);height:100vh;min-height:30rem;position:relative;overflow:hidden}.compass-workspace-content{grid-template-columns:minmax(0,1fr) 8px var(--compass-inspector-width,340px);width:100%;height:100%;min-height:inherit;display:grid;overflow:hidden}.compass-workspace-content[data-inspector-collapsed=true]{grid-template-columns:minmax(0,1fr) 48px}.compass-graph-transition{z-index:30;background:var(--vscode-editor-background,var(--background));color:var(--foreground);text-align:center;grid-template-rows:auto auto;place-content:center;gap:18px;padding:40px 24px;display:grid;position:absolute;inset:0;overflow:hidden}.compass-graph-transition .compass-load-copy{width:min(520px,100vw - 40px)}.compass-graph-transition-description{max-width:470px;color:var(--vscode-descriptionForeground,var(--muted-foreground));margin:10px auto 0;font-size:12px;line-height:1.6}.compass-graph-transition .compass-load-action:focus-visible{outline:2px solid var(--vscode-focusBorder,var(--ring));outline-offset:2px}.compass-graph-stage{background:radial-gradient(circle at 45% 42%,var(--compass-focus),transparent 34%),radial-gradient(circle at 76% 75%,var(--compass-success),transparent 28%),linear-gradient(145deg,var(--compass-canvas) 0%,var(--compass-canvas-deep) 100%);min-width:0;min-height:0;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.compass-graph-stage{background:radial-gradient(circle at 45% 42%,color-mix(in srgb,var(--compass-focus) 21%,transparent),transparent 34%),radial-gradient(circle at 76% 75%,color-mix(in srgb,var(--compass-success) 10%,transparent),transparent 28%),linear-gradient(145deg,var(--compass-canvas) 0%,var(--compass-canvas-deep) 100%)}}.compass-graph-stage:after{content:"";pointer-events:none;opacity:.16;background-image:radial-gradient(var(--compass-grid) .55px,transparent .55px);background-size:22px 22px;position:absolute;inset:0}.compass-graph-stage[data-comparison=true]{background:var(--vscode-editor-background,var(--compass-canvas))}.compass-graph-stage[data-comparison=true]:after{opacity:.09}.compass-canvas{z-index:1;min-width:0;min-height:0;position:absolute;inset:0}.compass-glass-panel{background:var(--vscode-editorWidget-background,var(--compass-panel));border:1px solid var(--compass-line);box-shadow:none;-webkit-backdrop-filter:none}.compass-graph-toolbar{z-index:4;border-radius:4px;justify-content:space-between;align-items:center;gap:10px;min-height:42px;padding:5px 6px 5px 10px;display:flex;position:absolute;top:12px;left:12px;right:12px}.compass-viewer-status{min-width:0;color:var(--muted-foreground);letter-spacing:.015em;align-items:center;gap:10px;font-size:12px;display:flex}.compass-viewer-status-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.compass-viewer-status-dot{background:var(--compass-focus);width:8px;height:8px;box-shadow:0 0 0 4px var(--compass-focus);border-radius:50%;flex:none}@supports (color:color-mix(in lab,red,red)){.compass-viewer-status-dot{box-shadow:0 0 0 4px color-mix(in srgb,var(--compass-focus) 12%,transparent)}}.compass-viewer-status[data-state=running] .compass-viewer-status-dot{animation:1.6s ease-in-out infinite compass-status-pulse}@keyframes compass-status-pulse{50%{box-shadow:0 0 0 8px color-mix(in srgb,var(--compass-focus) 0%,transparent)}}.compass-toolbar-actions{scrollbar-width:none;align-items:center;gap:6px;min-width:0;display:flex;overflow-x:auto}.compass-physics-button{border-color:var(--compass-line);background:var(--vscode-dropdown-background,transparent)}.compass-physics-button[aria-pressed=true]{border-color:var(--compass-focus)}@supports (color:color-mix(in lab,red,red)){.compass-physics-button[aria-pressed=true]{border-color:color-mix(in srgb,var(--compass-focus) 55%,var(--compass-line))}}.compass-physics-button[aria-pressed=true]{background:var(--compass-focus)}@supports (color:color-mix(in lab,red,red)){.compass-physics-button[aria-pressed=true]{background:color-mix(in srgb,var(--compass-focus) 13%,transparent)}}.compass-physics-button[aria-pressed=true]{color:var(--foreground)}.compass-toolbar-actions::-webkit-scrollbar{display:none}.compass-toolbar-separator{background:var(--compass-line);flex:none;width:1px;height:18px}.compass-zoom-controls{border:1px solid var(--compass-line);background:var(--vscode-dropdown-background,transparent);border-radius:3px;flex:none;min-height:30px;display:inline-flex;overflow:hidden}.compass-zoom-controls .compass-tool-button{border:0;border-radius:0;min-height:28px}.compass-zoom-controls .compass-tool-button+.compass-tool-button{border-left:1px solid var(--compass-line)}.compass-layout-picker{border:1px solid var(--compass-line);min-height:30px;color:var(--muted-foreground);background:var(--vscode-dropdown-background,transparent);border-radius:3px;align-items:center;gap:6px;padding-left:8px;display:inline-flex}.compass-layout-picker svg{flex:none;width:15px;height:15px}.compass-layout-picker select{min-height:28px;color:var(--vscode-dropdown-foreground,var(--foreground));font:inherit;background:0 0;border:0;outline:0;padding:0 24px 0 0}.compass-layout-picker:focus-within{outline:1px solid var(--vscode-focusBorder,var(--compass-focus));outline-offset:1px}.compass-tool-button:disabled{cursor:default;opacity:.55}.compass-tool-button{min-height:30px;color:var(--muted-foreground);white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:3px;align-items:center;gap:7px;padding:0 8px;transition:none;display:inline-flex}.compass-tool-button svg{width:15px;height:15px}.compass-tool-icon-button{flex:0 0 30px;justify-content:center;width:30px;padding:0}.compass-zoom-reset{min-width:42px;color:var(--compass-faint);font:9px/1 var(--compass-font-mono);letter-spacing:.02em;justify-content:center;padding:0 7px}.compass-tool-button:hover,.compass-tool-button[aria-pressed=true]{border-color:var(--compass-line);background:var(--workbench-hover);color:var(--foreground)}.compass-tool-button:focus-visible,.compass-explore-panel button:focus-visible,.compass-explore-panel select:focus-visible,.compass-minimap button:focus-visible,.compass-change-legend button:focus-visible,.compass-search-field input:focus-visible,.compass-search-item:focus-visible,.compass-inspector-action:focus-visible,.compass-source-card:focus-visible,.compass-inspector-disclosure:focus-visible,.compass-inspector-resizer:focus-visible,.compass-load-action:focus-visible,.compass-neighbor-link:focus-visible,.compass-community-item:focus-within{outline:2px solid var(--compass-focus);outline-offset:2px}.compass-explore-panel{z-index:8;width:min(330px,100vw - 24px);max-height:calc(100vh - 84px);color:var(--foreground);border-radius:5px;gap:10px;padding:12px;display:grid;position:absolute;top:calc(100% + 7px);right:0;overflow-y:auto}.compass-explore-heading{border-bottom:1px solid var(--compass-line);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:10px;display:flex}.compass-explore-heading>div{gap:3px;display:grid}.compass-explore-heading strong,.compass-explore-toggle strong,.compass-shortcut-title strong{letter-spacing:.02em;font-size:11px;font-weight:600}.compass-explore-heading span,.compass-explore-toggle small{color:var(--compass-faint);font-size:10px;line-height:1.35}.compass-selection-prompt{border:1px solid var(--compass-focus);grid-template-columns:18px minmax(0,1fr);align-items:start;gap:9px;padding:9px;display:grid}@supports (color:color-mix(in lab,red,red)){.compass-selection-prompt{border:1px solid color-mix(in srgb,var(--compass-focus) 28%,var(--compass-line))}}.compass-selection-prompt{background:var(--compass-focus);border-radius:4px}@supports (color:color-mix(in lab,red,red)){.compass-selection-prompt{background:color-mix(in srgb,var(--compass-focus) 7%,transparent)}}.compass-selection-prompt{color:var(--muted-foreground)}.compass-selection-prompt>svg{width:16px;height:16px;color:var(--compass-focus)}.compass-selection-prompt>span{gap:3px;display:grid}.compass-selection-prompt strong{color:var(--foreground);font-size:10px}.compass-selection-prompt small{color:var(--compass-faint);font-size:10px;line-height:1.4}.compass-explore-panel kbd{border:1px solid var(--compass-line);border-bottom-color:var(--compass-line);justify-content:center;align-items:center;min-width:20px;min-height:19px;padding:0 5px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.compass-explore-panel kbd{border-bottom-color:color-mix(in srgb,var(--compass-line) 72%,var(--foreground))}}.compass-explore-panel kbd{background:var(--vscode-keybindingLabel-background,var(--workbench-hover));color:var(--vscode-keybindingLabel-foreground,var(--foreground));font:9px/1 var(--compass-font-mono);border-radius:3px}.compass-explore-toggle{width:100%;color:var(--muted-foreground);text-align:left;background:0 0;border:1px solid #0000;border-radius:4px;grid-template-columns:18px minmax(0,1fr) 28px;align-items:center;gap:9px;padding:7px 8px;display:grid}.compass-explore-toggle:hover,.compass-explore-toggle[aria-pressed=true]{border-color:var(--compass-line);background:var(--workbench-hover);color:var(--foreground)}.compass-explore-toggle:disabled{cursor:default;opacity:.5}.compass-explore-toggle>svg{width:16px;height:16px}.compass-explore-toggle>span{gap:2px;min-width:0;display:grid}.compass-explore-toggle>i{border:1px solid var(--compass-line);background:var(--compass-canvas-deep);border-radius:8px;width:26px;height:14px;position:relative}.compass-explore-toggle>i:after{content:"";background:var(--compass-faint);border-radius:50%;width:8px;height:8px;position:absolute;top:2px;left:2px}.compass-explore-toggle[aria-pressed=true]>i{border-color:var(--compass-focus)}@supports (color:color-mix(in lab,red,red)){.compass-explore-toggle[aria-pressed=true]>i{border-color:color-mix(in srgb,var(--compass-focus) 65%,var(--compass-line))}}.compass-explore-toggle[aria-pressed=true]>i{background:var(--compass-focus)}@supports (color:color-mix(in lab,red,red)){.compass-explore-toggle[aria-pressed=true]>i{background:color-mix(in srgb,var(--compass-focus) 24%,var(--compass-canvas-deep))}}.compass-explore-toggle[aria-pressed=true]>i:after{background:var(--compass-focus);left:14px}.compass-explore-field{border:0;gap:6px;min-width:0;margin:0;padding:0;display:grid}.compass-explore-field:disabled{opacity:.5}.compass-explore-field legend,.compass-explore-select>span{color:var(--compass-faint);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:9px;font-weight:600}.compass-segmented-control{border:1px solid var(--compass-line);border-radius:4px;grid-auto-columns:1fr;grid-auto-flow:column;display:grid;overflow:hidden}.compass-segmented-control button{min-height:28px;color:var(--compass-faint);font:10px/1 var(--compass-font-mono);background:0 0;border:0}.compass-segmented-control button+button{border-left:1px solid var(--compass-line)}.compass-segmented-control button:hover,.compass-segmented-control button[aria-pressed=true]{background:var(--workbench-hover);color:var(--foreground)}.compass-segmented-control button[aria-pressed=true]{box-shadow:inset 0 -2px var(--compass-focus)}.compass-explore-select{display:grid}.compass-explore-select select{border:1px solid var(--compass-line);background:var(--vscode-dropdown-background,var(--compass-canvas-deep));min-height:30px;color:var(--vscode-dropdown-foreground,var(--foreground));border-radius:4px;padding:0 28px 0 8px;font-size:10px}.compass-shortcut-guide{border-top:1px solid var(--compass-line);gap:9px;padding-top:10px;display:grid}.compass-shortcut-title{color:var(--muted-foreground);align-items:center;gap:7px;display:flex}.compass-shortcut-title svg{width:15px;height:15px}.compass-shortcut-guide dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 14px;margin:0;display:grid}.compass-shortcut-guide dl>div{grid-template-columns:52px minmax(0,1fr);align-items:center;gap:5px;display:grid}.compass-shortcut-guide dt,.compass-shortcut-guide dd{margin:0}.compass-shortcut-guide dt{gap:3px;display:flex}.compass-shortcut-guide dd{color:var(--compass-faint);font-size:9px}.compass-minimap{z-index:3;border-radius:4px;width:178px;position:absolute;bottom:12px;right:12px;overflow:hidden}.compass-minimap header{border-bottom:1px solid var(--compass-line);min-height:26px;color:var(--muted-foreground);font:9px/1 var(--compass-font-mono);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:0 8px;display:flex}.compass-minimap header small{color:var(--compass-faint);font:inherit;letter-spacing:0;text-transform:none}.compass-minimap button{background:var(--compass-canvas);border:0;width:100%;height:108px;padding:0;display:block}@supports (color:color-mix(in lab,red,red)){.compass-minimap button{background:color-mix(in srgb,var(--compass-canvas) 90%,transparent)}}.compass-minimap button{color:var(--compass-faint)}.compass-minimap svg{width:100%;height:100%;display:block}.compass-minimap-edges line{stroke:var(--compass-line);stroke-width:.65px;vector-effect:non-scaling-stroke}.compass-minimap-nodes circle[data-focused=true]{stroke:var(--foreground);stroke-width:1.25px;vector-effect:non-scaling-stroke}.compass-minimap-viewport{fill:var(--compass-focus)}@supports (color:color-mix(in lab,red,red)){.compass-minimap-viewport{fill:color-mix(in srgb,var(--compass-focus) 8%,transparent)}}.compass-minimap-viewport{stroke:var(--compass-focus);stroke-width:1px;vector-effect:non-scaling-stroke}.compass-changed-symbols button:focus-visible,.compass-evidence-source-actions button:focus-visible,.compass-relationship-detail>button:focus-visible{outline:2px solid var(--compass-focus);outline-offset:2px}.compass-change-legend{z-index:4;border:1px solid var(--compass-line);background:var(--vscode-editorWidget-background,var(--compass-panel));border-radius:4px;flex-wrap:wrap;gap:5px;max-width:calc(100% - 24px);padding:5px;display:flex;position:absolute;top:64px;left:12px}.compass-change-legend button{min-height:27px;color:var(--muted-foreground);background:0 0;border:1px solid #0000;border-radius:3px;align-items:center;gap:6px;padding:3px 7px;font-size:10px;display:inline-flex}.compass-change-legend button:hover,.compass-change-legend button[aria-pressed=true]{border-color:var(--compass-line);background:var(--workbench-hover);color:var(--foreground)}.compass-change-legend button[aria-pressed=false]{opacity:.42}.compass-change-legend button>span{border:1px solid var(--vscode-descriptionForeground,#6e7781);background:var(--vscode-descriptionForeground,#6e7781);border-radius:50%;width:8px;height:8px}@supports (color:color-mix(in lab,red,red)){.compass-change-legend button>span{background:color-mix(in srgb,var(--vscode-descriptionForeground,#6e7781) 18%,var(--vscode-editor-background,var(--background)))}}.compass-change-legend button[data-change=added]>span{border-color:var(--vscode-gitDecoration-addedResourceForeground,#2ea043);background:var(--vscode-gitDecoration-addedResourceForeground,#2ea043)}@supports (color:color-mix(in lab,red,red)){.compass-change-legend button[data-change=added]>span{background:color-mix(in srgb,var(--vscode-gitDecoration-addedResourceForeground,#2ea043) 22%,var(--vscode-editor-background,var(--background)))}}.compass-change-legend button[data-change=removed]>span{border-color:var(--vscode-gitDecoration-deletedResourceForeground,#f85149);background:var(--vscode-gitDecoration-deletedResourceForeground,#f85149)}@supports (color:color-mix(in lab,red,red)){.compass-change-legend button[data-change=removed]>span{background:color-mix(in srgb,var(--vscode-gitDecoration-deletedResourceForeground,#f85149) 22%,var(--vscode-editor-background,var(--background)))}}.compass-change-legend button[data-change=changed]>span{border-color:var(--vscode-gitDecoration-modifiedResourceForeground,#d29922);background:var(--vscode-gitDecoration-modifiedResourceForeground,#d29922)}@supports (color:color-mix(in lab,red,red)){.compass-change-legend button[data-change=changed]>span{background:color-mix(in srgb,var(--vscode-gitDecoration-modifiedResourceForeground,#d29922) 22%,var(--vscode-editor-background,var(--background)))}}.compass-change-legend button small{color:var(--compass-faint);font:9px/1 var(--compass-font-mono)}.compass-semantic-legend{z-index:4;border:1px solid var(--compass-line);background:var(--vscode-editorWidget-background,var(--compass-panel));max-width:calc(100% - 24px);color:var(--muted-foreground);border-radius:4px;flex-wrap:wrap;gap:5px 12px;padding:7px 8px;font-size:10px;display:flex;position:absolute;top:64px;left:12px}.compass-semantic-legend section{flex-wrap:wrap;align-items:center;gap:5px 9px;min-height:20px;display:flex}.compass-semantic-legend section+section{border-left:1px solid var(--compass-line);padding-left:12px}.compass-semantic-legend strong{color:var(--compass-faint);font:9px/1 var(--compass-font-mono);letter-spacing:.08em;text-transform:uppercase}.compass-semantic-legend-item{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.compass-semantic-legend-item small{color:var(--compass-faint);font:9px/1 var(--compass-font-mono)}.compass-semantic-legend-item i[data-node-category]{border:1.5px solid var(--vscode-descriptionForeground,#8b949e);background:var(--vscode-descriptionForeground,#8b949e);width:9px;height:9px;display:inline-block}@supports (color:color-mix(in lab,red,red)){.compass-semantic-legend-item i[data-node-category]{background:color-mix(in srgb,var(--vscode-descriptionForeground,#8b949e) 22%,var(--vscode-editor-background,var(--background)))}}.compass-semantic-legend-item i[data-node-category=callable]{border-color:var(--vscode-symbolIcon-functionForeground,#5fa8ff);background:var(--vscode-symbolIcon-functionForeground,#5fa8ff);border-radius:50%}@supports (color:color-mix(in lab,red,red)){.compass-semantic-legend-item i[data-node-category=callable]{background:color-mix(in srgb,var(--vscode-symbolIcon-functionForeground,#5fa8ff) 22%,var(--vscode-editor-background,var(--background)))}}.compass-semantic-legend-item i[data-node-category=type]{border-color:var(--vscode-symbolIcon-classForeground,#e3b341);background:var(--vscode-symbolIcon-classForeground,#e3b341)}@supports (color:color-mix(in lab,red,red)){.compass-semantic-legend-item i[data-node-category=type]{background:color-mix(in srgb,var(--vscode-symbolIcon-classForeground,#e3b341) 22%,var(--vscode-editor-background,var(--background)))}}.compass-semantic-legend-item i[data-node-category=type]{transform:rotate(45deg)scale(.82)}.compass-semantic-legend-item i[data-node-category=module]{border-color:var(--vscode-symbolIcon-moduleForeground,#56d4b4);background:var(--vscode-symbolIcon-moduleForeground,#56d4b4);border-radius:1px}@supports (color:color-mix(in lab,red,red)){.compass-semantic-legend-item i[data-node-category=module]{background:color-mix(in srgb,var(--vscode-symbolIcon-moduleForeground,#56d4b4) 22%,var(--vscode-editor-background,var(--background)))}}.compass-semantic-legend-item i[data-node-category=boundary]{background:var(--vscode-symbolIcon-eventForeground,#ff9b87);clip-path:polygon(50% 0,100% 100%,0 100%);border:0;width:11px;height:10px}.compass-semantic-legend-item i[data-edge-category]{background:var(--vscode-descriptionForeground,#8b949e);width:16px;height:2px;display:inline-block;position:relative}.compass-semantic-legend-item i[data-edge-category]:after{content:"";border-top:3px solid #0000;border-bottom:3px solid #0000;border-left:4px solid;width:0;height:0;position:absolute;top:-2px;right:-1px}.compass-semantic-legend-item i[data-edge-category=execution]{background:var(--vscode-symbolIcon-functionForeground,#5fa8ff);color:var(--vscode-symbolIcon-functionForeground,#5fa8ff)}.compass-semantic-legend-item i[data-edge-category=dependency]{background:var(--vscode-symbolIcon-moduleForeground,#56d4b4);color:var(--vscode-symbolIcon-moduleForeground,#56d4b4)}.compass-semantic-legend-item i[data-edge-category=structure]{background:var(--vscode-symbolIcon-classForeground,#e3b341);color:var(--vscode-symbolIcon-classForeground,#e3b341)}.compass-semantic-legend-item i[data-edge-category=flow]{background:var(--vscode-symbolIcon-eventForeground,#ff9b87);color:var(--vscode-symbolIcon-eventForeground,#ff9b87)}.compass-inspector-resizer{z-index:6;background:var(--compass-panel);cursor:col-resize;touch-action:none;border:0;outline:none;min-width:8px;position:relative}.compass-inspector-resizer span{background:var(--compass-line-strong);border-radius:999px;width:2px;height:42px;transition:height .16s,background .16s;position:absolute;top:50%;left:3px;transform:translateY(-50%)}.compass-inspector-resizer:hover span,.compass-inspector-resizer:focus-visible span{background:var(--compass-focus);height:68px}.compass-graph-inspector{z-index:5;border-left:1px solid var(--compass-line);background:var(--vscode-sideBar-background,var(--compass-panel));min-width:0;box-shadow:none;flex-direction:column;display:flex;position:relative;overflow:hidden}.compass-graph-inspector-collapsed{border-left:1px solid var(--compass-line);box-shadow:none;align-items:center}.compass-inspector-header{border-bottom:1px solid var(--compass-line);align-items:center;gap:11px;min-height:52px;padding:8px 12px;display:flex}.compass-inspector-title{flex:1;min-width:0}.compass-inspector-header strong,.compass-inspector-header small{display:block}.compass-inspector-header strong{letter-spacing:.01em;font-size:14px}.compass-inspector-header small{color:var(--compass-faint);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11px;overflow:hidden}.compass-product-mark{background:linear-gradient(145deg,var(--vscode-button-foreground,#eff8ff),var(--compass-focus));border-radius:4px;flex:none;place-items:center;width:32px;height:32px;display:grid}@supports (color:color-mix(in lab,red,red)){.compass-product-mark{background:linear-gradient(145deg,var(--vscode-button-foreground,#eff8ff),color-mix(in srgb,var(--compass-focus) 64%,#fff))}}.compass-product-mark{color:var(--vscode-button-background,#09182c);box-shadow:inset 0 0 0 1px #ffffff7a}.compass-product-mark svg{width:19px;height:19px}.compass-inspector-disclosure{width:32px;height:32px;color:var(--muted-foreground);background:0 0;border:1px solid #0000;border-radius:3px;outline:none;flex:none;place-items:center;transition:none;display:grid}.compass-inspector-disclosure:hover{border-color:var(--compass-line);background:var(--workbench-hover);color:var(--foreground)}.compass-inspector-disclosure svg{width:17px;height:17px}.compass-inspector-expand{margin-top:18px}.compass-inspector-rail-label{color:var(--compass-faint);letter-spacing:.12em;text-transform:uppercase;writing-mode:vertical-rl;margin-top:16px;font-size:10px;font-weight:650}.compass-inspector-search{border-bottom:1px solid var(--compass-line);padding:10px 12px;position:relative}.compass-inspector-search-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;display:grid}.compass-inspector-search-row .compass-search-field:last-child{grid-column:1/-1}.compass-inspector-search-disclosure{border-color:var(--compass-line)}.compass-search-field{position:relative}.compass-search-field svg{width:15px;height:15px;color:var(--compass-faint);pointer-events:none;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.compass-search-field input{border:1px solid var(--compass-line);background:var(--vscode-input-background,var(--background));width:100%;min-height:30px;color:var(--vscode-input-foreground,var(--foreground));border-radius:3px;outline:none;padding:0 10px 0 34px}.compass-search-field input::placeholder{color:var(--vscode-input-placeholderForeground,var(--compass-faint))}.compass-search-results{z-index:8;border:1px solid var(--compass-line-strong);background:var(--vscode-menu-background,var(--compass-panel));max-height:230px;box-shadow:0 4px 12px var(--vscode-widget-shadow,#00000047);border-radius:3px;padding:6px;position:absolute;top:46px;left:12px;right:12px;overflow-y:auto}.compass-search-item{width:100%;min-height:42px;color:var(--muted-foreground);text-align:left;background:0 0;border:0;border-left:3px solid #0000;border-radius:2px;padding:7px 10px;display:block;overflow:hidden}.compass-search-item strong,.compass-search-item span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.compass-search-item strong{color:var(--foreground);font-size:12px}.compass-search-item span{color:var(--compass-faint);font:10px/1.4 var(--compass-font-mono)}.compass-search-item:hover,.compass-search-item[aria-selected=true]{background:var(--vscode-list-activeSelectionBackground,var(--compass-focus-soft));color:var(--vscode-list-activeSelectionForeground,var(--foreground))}.compass-info-panel{border-bottom:1px solid var(--compass-line);max-height:48%;padding:18px 16px;overflow-y:auto}.compass-changed-symbols{border-bottom:1px solid var(--compass-line);max-height:30%;padding:14px 16px;overflow-y:auto}.compass-changed-symbol-list{gap:4px;display:grid}.compass-changed-symbol-list>button{width:100%;color:var(--foreground);text-align:left;background:0 0;border:1px solid #0000;border-radius:3px;grid-template-columns:auto minmax(0,1fr);gap:2px 8px;padding:7px 8px;display:grid}.compass-changed-symbol-list>button:hover,.compass-changed-symbol-list>button[aria-pressed=true]{border-color:var(--compass-line);background:var(--vscode-list-activeSelectionBackground,var(--compass-focus-soft))}.compass-changed-symbol-list strong,.compass-changed-symbol-list small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.compass-changed-symbol-list small{color:var(--compass-faint);font:9px/1.35 var(--compass-font-mono);grid-column:2}.compass-changed-symbol-status{color:var(--vscode-descriptionForeground);letter-spacing:.06em;text-transform:uppercase;grid-row:1/span 2;align-self:center;font-size:8px;font-weight:700}.compass-changed-symbol-list>button[data-change=added] .compass-changed-symbol-status{color:var(--vscode-gitDecoration-addedResourceForeground,#2ea043)}.compass-changed-symbol-list>button[data-change=removed] .compass-changed-symbol-status{color:var(--vscode-gitDecoration-deletedResourceForeground,#f85149)}.compass-changed-symbol-list>button[data-change=changed] .compass-changed-symbol-status{color:var(--vscode-gitDecoration-modifiedResourceForeground,#d29922)}.compass-changed-symbol-expand{border:1px solid var(--compass-line);width:100%;color:var(--vscode-textLink-foreground,var(--compass-focus));background:0 0;border-radius:3px;margin-top:8px;padding:6px 8px}.compass-record-evidence,.compass-relationship-evidence,.compass-code-evidence{margin-top:16px}.compass-code-query-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:10px;display:grid}.compass-code-query-actions button{border:1px solid var(--compass-line);color:var(--vscode-textLink-foreground,var(--compass-focus));background:0 0;border-radius:3px;padding:5px 4px;font-size:9px}.compass-code-query-actions button:focus-visible{outline:2px solid var(--vscode-focusBorder,var(--compass-focus));outline-offset:1px}.compass-code-evidence-ledger{gap:6px;display:grid}.compass-code-evidence-entry{border:1px solid var(--compass-line);background:var(--vscode-editorWidget-background,var(--background));border-left-width:3px;border-radius:3px;grid-template-columns:24px minmax(0,1fr);gap:8px;padding:8px;display:grid}.compass-code-evidence-entry[data-status=exact],.compass-code-evidence-entry[data-status=config],.compass-code-evidence-entry[data-status=convention]{border-left-color:var(--vscode-testing-iconPassed,#2ea043)}.compass-code-evidence-entry[data-status=heuristic]{border-left-color:var(--vscode-charts-blue,#58a6ff)}.compass-code-evidence-entry[data-status=ambiguous],.compass-code-evidence-entry[data-status=unresolved]{border-left-color:var(--vscode-editorWarning-foreground,#d29922)}.compass-code-evidence-icon{background:var(--vscode-badge-background,var(--muted));width:24px;height:24px;color:var(--vscode-badge-foreground,var(--foreground));border-radius:50%;place-items:center;display:grid}.compass-code-evidence-icon svg{width:13px;height:13px}.compass-code-evidence-copy{min-width:0}.compass-code-evidence-status{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.compass-code-evidence-status strong{color:var(--foreground);font-size:10px}.compass-code-evidence-status span{color:var(--compass-faint);text-transform:uppercase;font-size:8px}.compass-code-evidence-copy dl{gap:3px;margin:7px 0 0;display:grid}.compass-code-evidence-copy dl>div{grid-template-columns:62px minmax(0,1fr);gap:6px;display:grid}.compass-code-evidence-copy dt{color:var(--compass-faint);text-transform:uppercase;font-size:8px}.compass-code-evidence-copy dd{overflow-wrap:anywhere;min-width:0;color:var(--foreground);font:9px/1.35 var(--compass-font-mono);margin:0}.compass-code-evidence-source{max-width:100%;color:var(--vscode-textLink-foreground,var(--compass-focus));font:9px/1.35 var(--compass-font-mono);overflow-wrap:anywhere;text-align:left;background:0 0;border:0;align-items:center;gap:5px;margin-top:7px;padding:0;display:inline-flex}button.compass-code-evidence-source{cursor:pointer}button.compass-code-evidence-source:focus-visible{outline:2px solid var(--vscode-focusBorder,var(--compass-focus));outline-offset:2px;border-radius:2px}.compass-code-evidence-source svg{width:11px;min-width:11px;height:11px}.compass-code-candidates{border-top:1px solid var(--compass-line);margin-top:8px;padding-top:7px}.compass-code-candidates>span{color:var(--compass-faint);text-transform:uppercase;font-size:8px}.compass-code-candidates ul{gap:5px;margin:6px 0 0;padding:0;list-style:none;display:grid}.compass-code-candidates li{grid-template-columns:minmax(0,1fr) auto;gap:1px 6px;display:grid}.compass-code-candidates code{overflow-wrap:anywhere;color:var(--foreground);font:9px/1.35 var(--compass-font-mono)}.compass-code-candidates li>span{color:var(--muted-foreground);grid-column:1/-1;font-size:9px}.compass-code-candidates small{color:var(--compass-faint);text-transform:uppercase;grid-area:1/2;font-size:8px}.compass-code-diagnostic{border:1px solid var(--vscode-editorWarning-foreground,#d29922);color:var(--muted-foreground);border-radius:3px;gap:7px;margin:0 0 6px;padding:7px 8px;font-size:9px;display:flex}.compass-code-diagnostic[data-severity=info]{border-color:var(--vscode-charts-blue,#58a6ff)}.compass-code-diagnostic svg{width:12px;min-width:12px;height:12px}.compass-code-diagnostic strong{color:var(--foreground);text-transform:capitalize}.compass-evidence-heading{justify-content:space-between;align-items:baseline;margin-bottom:7px;display:flex}.compass-evidence-heading h3{color:var(--foreground);font-size:11px}.compass-evidence-heading span{color:var(--compass-faint);font-size:9px}.compass-field-table-wrap{border:1px solid var(--compass-line);border-radius:3px;overflow-x:auto}.compass-field-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:360px}.compass-field-table th,.compass-field-table td{border-right:1px solid var(--compass-line);border-bottom:1px solid var(--compass-line);vertical-align:top;text-align:left;padding:6px 7px}.compass-field-table tr:last-child>*{border-bottom:0}.compass-field-table tr>:last-child{border-right:0}.compass-field-table thead th{background:var(--vscode-editorWidget-background,var(--background));color:var(--compass-faint);text-transform:uppercase;font-size:9px}.compass-field-table tbody th{width:27%;color:var(--foreground);font:9px/1.4 var(--compass-font-mono);overflow-wrap:anywhere}.compass-field-table code{color:var(--foreground);font:9px/1.4 var(--compass-font-mono);white-space:pre-wrap;overflow-wrap:anywhere}.compass-value-truncated{color:var(--vscode-editorWarning-foreground,#d29922);margin-top:4px;font-size:8px;display:block}.compass-evidence-source-actions{gap:6px;margin-top:8px;display:flex}.compass-evidence-source-actions button{border:1px solid var(--compass-line);color:var(--vscode-textLink-foreground,var(--compass-focus));background:0 0;border-radius:3px;align-items:center;gap:5px;padding:5px 7px;display:inline-flex}.compass-evidence-source-actions svg{width:12px;height:12px}.compass-relationship-list{gap:5px;margin-top:7px;display:grid}.compass-relationship-list details{border:1px solid var(--compass-line);background:var(--vscode-editorWidget-background,var(--background));border-radius:3px;padding:6px 7px}.compass-relationship-list summary{cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:4px 7px;display:grid}.compass-relationship-target{color:var(--vscode-textLink-foreground,var(--compass-focus));text-align:left;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.compass-relationship-list summary small{color:var(--foreground);font:9px/1.3 var(--compass-font-mono);grid-column:2}.compass-relationship-list summary i{color:var(--compass-faint);text-transform:uppercase;grid-area:2/3;font-size:8px;font-style:normal}.compass-relationship-detail{margin-top:7px}.compass-relationship-detail>p{color:var(--compass-faint);font:9px/1.4 var(--compass-font-mono);margin:7px 0 0}.compass-relationship-detail>button{border:1px solid var(--compass-line);color:var(--vscode-textLink-foreground,var(--compass-focus));background:0 0;border-radius:3px;margin-top:7px;padding:4px 7px}.compass-bounded-notice{z-index:4;border:1px solid var(--vscode-editorWarning-foreground,#d29922);background:var(--vscode-editorWidget-background,var(--compass-panel));max-width:min(420px,100% - 24px);color:var(--foreground);border-radius:3px;gap:2px;padding:8px 10px;font-size:10px;display:grid;position:absolute;bottom:12px;right:12px}.compass-bounded-notice span{color:var(--muted-foreground)}.compass-hover-hint{border-top:1px solid var(--compass-line);color:var(--vscode-textLink-foreground,var(--compass-focus));align-items:center;gap:7px;margin-top:2px;padding-top:9px;font-size:11px;display:flex!important}.compass-hover-hint svg{flex:none;width:14px;height:14px}.compass-hover-hint strong{color:var(--vscode-editorHoverWidget-foreground,var(--foreground));font-weight:650}.compass-section-heading,.compass-neighbors-heading{justify-content:space-between;align-items:baseline;display:flex}.compass-section-heading{margin-bottom:15px}.compass-section-heading h2,.compass-community-panel h2{letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:700}.compass-section-heading span{color:var(--compass-faint);letter-spacing:.1em;text-transform:uppercase;font-size:9px}.compass-info-content{color:var(--muted-foreground);font-size:12px;line-height:1.45}.compass-node-identity{align-items:center;gap:11px;margin-bottom:15px;display:flex}.compass-node-identity>span:nth-child(2){flex:1;min-width:0}.compass-node-identity strong,.compass-node-identity small{display:block}.compass-node-identity strong{color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.compass-node-identity small{background:var(--compass-success);border-radius:999px;width:max-content;margin-top:3px;padding:3px 7px}@supports (color:color-mix(in lab,red,red)){.compass-node-identity small{background:color-mix(in srgb,var(--compass-success) 20%,transparent)}}.compass-node-identity small{color:var(--compass-success);letter-spacing:.07em;text-transform:uppercase;font-size:9px;font-weight:800}.compass-node-swatch{border-radius:5px;flex:none;width:10px;height:36px}.compass-change-badge{width:max-content;color:var(--vscode-descriptionForeground,#6e7781);letter-spacing:.05em;text-transform:uppercase;border:1px solid;border-radius:999px;align-items:center;gap:5px;padding:3px 7px;font-size:9px;font-weight:700;display:inline-flex}.compass-node-identity .compass-change-badge{flex:none;margin-left:auto}.compass-change-badge[data-change=added]{color:var(--vscode-gitDecoration-addedResourceForeground,#2ea043)}.compass-change-badge[data-change=removed]{color:var(--vscode-gitDecoration-deletedResourceForeground,#f85149)}.compass-change-badge[data-change=changed]{color:var(--vscode-gitDecoration-modifiedResourceForeground,#d29922)}.compass-metadata-grid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:15px;display:grid}.compass-metadata-grid>div{border:1px solid var(--compass-line);background:var(--vscode-editorWidget-background,var(--background));border-radius:3px;min-width:0;padding:9px 10px}.compass-metadata-grid .compass-metadata-wide{grid-column:1/-1}.compass-metadata-grid dt{color:var(--compass-faint);letter-spacing:.08em;text-transform:uppercase;font-size:9px}.compass-metadata-grid dd{color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;overflow:hidden}.compass-source-metadata[data-interactive=true]{padding:0;transition:border-color .16s,background .16s}.compass-source-metadata[data-interactive=true]:hover,.compass-source-metadata[data-interactive=true]:focus-within{border-color:var(--compass-focus);background:var(--compass-focus-soft)}.compass-source-metadata[data-interactive=true] dd{white-space:normal;margin:0;overflow:visible}.compass-source-card{width:100%;min-height:58px;color:var(--foreground);text-align:left;background:0 0;border:0;border-radius:2px;outline:none;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;display:flex}.compass-source-copy{min-width:0;display:block}.compass-source-eyebrow,.compass-source-path,.compass-source-range{display:block}.compass-source-eyebrow{color:var(--compass-faint);font-family:var(--compass-font-sans);letter-spacing:.08em;text-transform:uppercase;font-size:9px}.compass-source-path{font:11px/1.35 var(--compass-font-mono);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;overflow:hidden}.compass-source-range{color:var(--muted-foreground);font:10px/1.25 var(--compass-font-sans);margin-top:3px}.compass-source-card>svg{width:15px;height:15px;color:var(--compass-focus);flex:none}.compass-source-card:hover>svg{color:var(--foreground)}.compass-signature-block{overflow-wrap:anywhere;border:1px solid var(--compass-line);background:var(--vscode-input-background,var(--background));color:var(--foreground);font:11px/1.45 var(--compass-font-mono);border-radius:3px;margin-bottom:15px;padding:10px;display:block}.compass-inspector-action{border:1px solid var(--compass-line);background:var(--workbench-hover);width:100%;min-height:36px;color:var(--foreground);border-radius:3px;justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px;padding:0 10px;display:flex}.compass-inspector-action span{min-width:0;color:var(--muted-foreground);font:10px/1.2 var(--compass-font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.compass-neighbors-heading{margin:3px 0 7px}.compass-neighbors-heading strong{color:var(--compass-faint);font-size:10px}.compass-neighbors-list{max-height:154px;overflow-y:auto}.compass-neighbor-link{width:100%;min-height:36px;color:var(--muted-foreground);text-align:left;background:0 0;border:0;border-radius:3px;align-items:center;gap:9px;margin:3px 0;padding:8px 9px;display:flex;overflow:hidden}.compass-neighbor-link:hover{background:var(--workbench-hover);color:var(--foreground)}.compass-neighbor-dot{width:8px;height:8px;box-shadow:0 0 0 1px var(--foreground);border-radius:50%;flex:none}@supports (color:color-mix(in lab,red,red)){.compass-neighbor-dot{box-shadow:0 0 0 1px color-mix(in srgb,var(--foreground) 10%,transparent)}}.compass-neighbor-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.compass-empty{color:var(--compass-faint);padding:8px 0;font-size:12px;display:block}.compass-community-panel{flex:1;min-height:0;padding:16px;overflow-y:auto}.compass-community-panel h2{margin-bottom:10px}.compass-community-panel[data-secondary=true]{flex:0 auto;padding-top:12px}.compass-community-panel details>summary{cursor:pointer;min-height:30px;color:var(--muted-foreground);letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;align-items:center;font-size:11px;font-weight:700;display:flex}.compass-community-panel details>summary span{color:var(--compass-faint);font:9px/1 var(--compass-font-mono)}.compass-community-controls{min-height:0}.compass-community-search{align-items:center;margin:2px 0 8px;display:flex;position:relative}.compass-community-search>svg{width:13px;height:13px;color:var(--compass-faint);pointer-events:none;position:absolute;left:8px}.compass-community-search input{border:1px solid var(--compass-line);background:var(--vscode-input-background,var(--background));width:100%;height:30px;color:var(--foreground);font:11px/1.3 var(--compass-font-sans);border-radius:3px;padding:0 8px 0 28px}.compass-community-limit{color:var(--compass-faint);margin:8px 0 0;font-size:10px;line-height:1.45}.compass-community-control,.compass-community-item{min-height:34px;color:var(--muted-foreground);align-items:center;gap:8px;font-size:12px;display:flex}.compass-community-item{border-radius:3px}.compass-community-item:hover{background:var(--workbench-hover);color:var(--foreground)}.compass-community-item[data-hidden=true]{opacity:.36}.compass-community-item input,.compass-community-control input{width:15px;height:15px;accent-color:var(--compass-focus)}.compass-community-dot{border-radius:50%;flex:none;width:9px;height:9px}.compass-community-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.compass-community-item small{color:var(--compass-faint);font-size:10px}.compass-graph-stats{border-top:1px solid var(--compass-line);color:var(--compass-faint);letter-spacing:.025em;padding:11px 16px;font-size:10px}.compass-node-hover-card{z-index:7;top:clamp(86px,var(--compass-hover-y),calc(100% - 10rem));left:clamp(12px,var(--compass-hover-x),calc(100% - min(27rem,90%) - 12px));border:1px solid var(--compass-line-strong);background:var(--vscode-editorHoverWidget-background,var(--compass-panel));width:max-content;max-width:min(26rem,100% - 24px);color:var(--vscode-editorHoverWidget-foreground,var(--muted-foreground));box-shadow:0 4px 12px var(--vscode-widget-shadow,#00000047);pointer-events:none;border-radius:3px;gap:7px;padding:13px 15px;font-size:12px;line-height:1.35;display:grid;position:absolute;overflow:hidden}.compass-node-hover-card>.compass-change-badge{margin:0}.compass-hover-heading{align-items:center;gap:8px;display:flex}.compass-hover-heading strong{min-width:0;color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.compass-hover-heading span{background:var(--compass-success);border-radius:999px;width:max-content;padding:3px 7px}@supports (color:color-mix(in lab,red,red)){.compass-hover-heading span{background:color-mix(in srgb,var(--compass-success) 20%,transparent)}}.compass-hover-heading span{color:var(--compass-success);letter-spacing:.07em;font-size:9px;font-weight:800}.compass-node-hover-card p,.compass-node-hover-card code{display:block}.compass-hover-source{color:var(--compass-focus)}.compass-node-hover-card code{max-width:395px;color:var(--foreground);font-family:var(--compass-font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.compass-edge-hover-card{z-index:8;top:clamp(86px,var(--compass-hover-y),calc(100% - 15rem));left:clamp(12px,var(--compass-hover-x),calc(100% - min(31rem,92%) - 12px));border:1px solid var(--compass-line-strong);background:var(--vscode-editorHoverWidget-background,var(--compass-panel));width:min(31rem,100% - 24px);color:var(--vscode-editorHoverWidget-foreground,var(--muted-foreground));box-shadow:0 8px 24px var(--vscode-widget-shadow,#00000057);pointer-events:none;border-radius:4px;gap:10px;padding:13px 15px;font-size:11px;line-height:1.35;animation:90ms ease-out both compass-edge-card-enter;display:grid;position:absolute;overflow:hidden}@keyframes compass-edge-card-enter{0%{opacity:0;transform:translateY(3px)}}.compass-edge-hover-heading,.compass-edge-relation-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.compass-edge-hover-eyebrow{color:var(--compass-faint);letter-spacing:.09em;text-transform:uppercase;align-items:center;gap:6px;font-size:9px;font-weight:750;display:inline-flex}.compass-edge-hover-eyebrow svg{width:12px;height:12px;color:var(--compass-focus)}.compass-edge-confidence{border:1px solid;padding:3px 7px}@supports (color:color-mix(in lab,red,red)){.compass-edge-confidence{border:1px solid color-mix(in srgb,currentColor 28%,transparent)}}.compass-edge-confidence{background:currentColor;border-radius:999px}@supports (color:color-mix(in lab,red,red)){.compass-edge-confidence{background:color-mix(in srgb,currentColor 11%,transparent)}}.compass-edge-confidence{color:var(--compass-faint);letter-spacing:.055em;text-transform:uppercase;font-size:9px;font-weight:800}.compass-edge-confidence[data-confidence=extracted]{color:var(--compass-success)}.compass-edge-confidence[data-confidence=inferred]{color:var(--compass-focus)}.compass-edge-confidence[data-confidence=ambiguous]{color:var(--compass-warning)}.compass-edge-confidence[data-confidence=aggregated]{color:var(--compass-faint)}.compass-edge-trace{border:1px solid var(--compass-line);background:var(--compass-focus);border-radius:3px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:9px;min-width:0;padding:9px 10px;display:grid}@supports (color:color-mix(in lab,red,red)){.compass-edge-trace{background:color-mix(in srgb,var(--compass-focus) 7%,transparent)}}.compass-edge-trace strong{min-width:0;color:var(--foreground);font:600 11px/1.35 var(--compass-font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.compass-edge-trace strong:last-child{text-align:right}.compass-edge-trace>span{border:1px solid var(--compass-focus);place-items:center;width:22px;height:22px;display:grid}@supports (color:color-mix(in lab,red,red)){.compass-edge-trace>span{border:1px solid color-mix(in srgb,var(--compass-focus) 38%,transparent)}}.compass-edge-trace>span{background:var(--vscode-editorHoverWidget-background,var(--compass-panel));color:var(--compass-focus);border-radius:50%}.compass-edge-trace svg{width:12px;height:12px}.compass-edge-relation-row>strong{color:var(--foreground);font-size:12px;font-weight:700}.compass-edge-relation-row>.compass-change-badge{margin:0}.compass-edge-metadata{gap:5px;padding-top:1px;display:grid}.compass-edge-metadata p{grid-template-columns:54px minmax(0,1fr);align-items:baseline;gap:8px;display:grid}.compass-edge-metadata span{color:var(--compass-faint);letter-spacing:.06em;text-transform:uppercase;font-size:9px;font-weight:700}.compass-edge-metadata code{min-width:0;color:var(--vscode-textLink-foreground,var(--compass-focus));font:10px/1.4 var(--compass-font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}body.vscode-high-contrast .compass-glass-panel,body.vscode-high-contrast .compass-graph-inspector,body.vscode-high-contrast .compass-inspector-resizer,body.vscode-high-contrast .compass-load-action,body.vscode-high-contrast .compass-load-step>i,body.vscode-high-contrast .compass-source-metadata,body.vscode-high-contrast .compass-node-hover-card,body.vscode-high-contrast .compass-edge-hover-card,body.vscode-high-contrast-light .compass-glass-panel,body.vscode-high-contrast-light .compass-graph-inspector,body.vscode-high-contrast-light .compass-inspector-resizer,body.vscode-high-contrast-light .compass-load-action,body.vscode-high-contrast-light .compass-load-step>i,body.vscode-high-contrast-light .compass-source-metadata,body.vscode-high-contrast-light .compass-node-hover-card,body.vscode-high-contrast-light .compass-edge-hover-card{border-width:2px;border-color:var(--vscode-contrastBorder,var(--compass-focus))}body.vscode-high-contrast .compass-load-logo,body.vscode-high-contrast-light .compass-load-logo{color:var(--vscode-contrastBorder,currentColor)}@media(max-width:980px){.compass-tool-button span{display:none}.compass-tool-button{padding:0 11px}}@media(max-width:760px){.compass-workspace{height:auto;min-height:100vh;overflow:auto}.compass-workspace-content,.compass-workspace-content[data-inspector-collapsed=true]{height:auto;min-height:inherit;grid-template-rows:minmax(360px,62vh) minmax(280px,40vh);grid-template-columns:1fr;overflow:visible}.compass-workspace-content[data-inspector-collapsed=true]{grid-template-rows:minmax(360px,calc(100vh - 48px)) 48px}.compass-inspector-resizer{display:none}.compass-graph-inspector{border-top:1px solid var(--compass-line);min-height:280px;box-shadow:none;border-left:0;border-radius:0}.compass-graph-inspector-collapsed{border-radius:0;flex-direction:row;justify-content:center;min-height:48px}.compass-inspector-expand{margin-top:0}.compass-inspector-rail-label{writing-mode:horizontal-tb;margin-top:0;margin-left:10px}.compass-graph-toolbar{top:12px;left:12px;right:12px}.compass-toolbar-actions{max-width:62%;overflow-x:auto}.compass-explore-panel{max-height:calc(62vh - 82px)}.compass-info-panel{max-height:none}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.compass-load-logo,.compass-load-progress i,.architecture-load-skeleton span,.workbench-state-spinner{animation:none!important}}.architecture-shell{background:var(--background);height:100vh;color:var(--foreground);grid-template-columns:minmax(220px,280px) minmax(0,1fr);display:grid}.query-shell{--query-surface:var(--vscode-editor-background,var(--background));--query-surface-raised:var(--vscode-editorWidget-background,var(--vscode-sideBar-background,var(--card)));--query-border:var(--vscode-panel-border,var(--border));--query-input:var(--vscode-input-background,var(--background));--query-input-foreground:var(--vscode-input-foreground,var(--foreground));--query-accent:var(--vscode-focusBorder,var(--ring));background:var(--background);height:100vh;min-height:420px;color:var(--foreground);grid-template-rows:auto 1fr;display:grid;overflow:hidden}.query-header{border-bottom:1px solid var(--query-border);background:var(--query-surface);padding:14px 18px 16px}.query-heading-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.query-context{color:var(--muted-foreground);font:10px/1.35 var(--compass-font-mono);letter-spacing:.04em;text-transform:uppercase}.query-heading-row h1{margin:3px 0 0;font-size:16px;font-weight:600;line-height:1.3}.query-mode{border-bottom:1px solid var(--query-border);background:0 0;gap:0;width:100%;margin-top:14px;display:flex}.query-mode button{min-width:min(280px,50%);min-height:48px;color:var(--muted-foreground);font:inherit;text-align:left;background:0 0;border:0;border-top:2px solid #0000;border-radius:0;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;padding:7px 12px 8px;display:grid;position:relative}.query-mode button:hover{background:var(--workbench-hover);color:var(--foreground)}.query-mode button[aria-selected=true]{border-top-color:var(--vscode-tab-activeBorder,var(--query-accent));background:var(--vscode-tab-activeBackground,var(--query-surface-raised));box-shadow:inset 1px 0 var(--query-border),inset -1px 0 var(--query-border);color:var(--vscode-tab-activeForeground,var(--foreground))}.query-mode button[aria-selected=true] svg,.query-mode button[aria-selected=true] strong{opacity:1}.query-mode svg{width:15px;height:15px}.query-mode button>span,.query-mode strong,.query-mode small{min-width:0;display:block}.query-mode strong{font-size:12px;font-weight:600;line-height:1.3}.query-mode small{color:inherit;opacity:.78;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:10px;font-weight:400;line-height:1.3;overflow:hidden}.query-composer-panel{border:1px solid var(--query-border);background:var(--query-surface-raised);border-top:0;padding:12px}.query-composer{display:block}.query-editor-shell{border:1px solid var(--vscode-input-border,var(--border));background:var(--query-input);color:var(--query-input-foreground);border-radius:3px;overflow:hidden}.query-editor-shell:focus-within{border-color:var(--ring);outline:1px solid var(--ring);outline-offset:-1px}.query-editor{min-width:0;position:relative}.query-editor textarea{resize:vertical;background:var(--query-input);width:100%;min-height:96px;max-height:260px;color:inherit;font:13px/1.55 var(--compass-font-sans);box-sizing:border-box;border:0;border-radius:0;outline:none;padding:11px 12px;display:block}.query-composer-panel[data-mode=cql] .query-editor textarea{font-family:var(--compass-font-mono);font-size:12px}.query-editor textarea::placeholder,.query-params input::placeholder{color:var(--vscode-input-placeholderForeground,var(--muted-foreground))}.query-params input:focus-visible{border-color:var(--ring);outline:1px solid var(--ring);outline-offset:-1px}.query-composer-footer{border-top:1px solid var(--query-border);background:var(--query-surface);align-items:center;gap:12px;min-height:40px;padding:5px 6px 5px 10px;display:flex}.query-footer-actions{flex:none;justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;display:flex}.query-shortcut{color:var(--vscode-disabledForeground,var(--compass-faint));font:10px/1 var(--compass-font-sans);white-space:nowrap}.query-run{border:1px solid var(--vscode-button-border,transparent);background:var(--vscode-button-background,var(--primary));min-width:76px;min-height:30px;color:var(--vscode-button-foreground,var(--primary-foreground));font:inherit;border-radius:3px;justify-content:center;align-items:center;gap:6px;padding:5px 11px;font-size:12px;display:flex}.query-run:hover:not(:disabled){background:var(--vscode-button-hoverBackground,var(--primary))}.query-run:disabled{background:var(--vscode-button-secondaryBackground,var(--secondary));color:var(--vscode-disabledForeground,var(--compass-faint))}.query-run svg{width:13px;height:13px}.query-params{min-width:0;max-width:620px;color:var(--muted-foreground);flex:520px;align-items:center;gap:8px;font-size:10px;display:flex}.query-params>span{flex:none}.query-params input{border:1px solid var(--vscode-input-border,var(--border));background:var(--vscode-input-background,var(--input));min-width:0;max-width:520px;height:28px;color:var(--vscode-input-foreground,var(--foreground));font:11px var(--compass-font-mono);border-radius:3px;outline:none;flex:260px;padding:3px 8px}.query-examples{align-items:center;gap:5px;margin-top:9px;display:flex;overflow-x:auto}.query-examples>span{color:var(--muted-foreground);text-transform:uppercase;flex:none;font-size:10px;font-weight:600}.query-examples button,.query-history button{border:1px solid var(--border);color:var(--muted-foreground);font:inherit;white-space:nowrap;background:0 0;border-radius:3px;padding:4px 7px;font-size:10px}.query-examples button:hover,.query-history button:hover{background:var(--workbench-hover);color:var(--foreground)}.query-results{min-height:0;padding:clamp(12px,2vw,22px);overflow:auto}.query-results>.workbench-state,.query-empty{min-height:100%}.query-result{width:min(1180px,100%);margin:0 auto}.query-result>header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:9px;display:flex}.query-result>header span{color:var(--muted-foreground);font-size:10px}.query-result>header>span{font-family:var(--compass-font-mono);align-items:center;gap:5px;display:flex}.query-result>header svg{width:12px;height:12px}.query-result h2{margin:2px 0 0;font-size:14px;font-weight:600}.query-text-result,.query-json-result{border:1px solid var(--border);background:var(--vscode-textCodeBlock-background,var(--card));min-height:120px;color:var(--foreground);font:12px/1.6 var(--compass-font-mono);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:3px;margin:0;padding:12px;overflow:auto}.query-prose-result{border:1px solid var(--query-border);background:var(--query-surface-raised);color:var(--foreground);border-radius:3px;padding:14px 16px;font-size:13px;line-height:1.65}.query-prose-result p,.query-prose-result ul{margin:0}.query-prose-result p+p,.query-prose-result p+ul,.query-prose-result ul+p{margin-top:10px}.query-prose-result ul{padding-left:20px}.query-traversal-result{gap:10px;display:grid}.query-traversal-summary{border:1px solid var(--query-border);border-left:3px solid var(--query-accent);background:var(--query-surface-raised);justify-content:space-between;align-items:center;gap:16px;min-height:54px;padding:10px 12px;display:flex}.query-traversal-summary p{color:var(--foreground);margin:0;font-size:12px;font-weight:600}.query-result-metrics{color:var(--muted-foreground);flex-wrap:wrap;gap:5px 14px;margin-top:5px;font-size:10px;display:flex}.query-result-metrics strong{color:var(--foreground);font-weight:600}.query-graph-action{border:1px solid var(--vscode-button-border,transparent);background:var(--vscode-button-secondaryBackground,var(--secondary));min-height:30px;color:var(--vscode-button-secondaryForeground,var(--secondary-foreground));font:11px var(--compass-font-sans);border-radius:3px;flex:none;align-items:center;gap:6px;padding:5px 9px;display:inline-flex}.query-graph-action:hover{background:var(--vscode-button-secondaryHoverBackground,var(--workbench-hover))}.query-graph-action svg{width:14px;height:14px}.query-node-results{border:1px solid var(--query-border);background:var(--query-surface);border-radius:3px;overflow:hidden}.query-node-result{border-bottom:1px solid var(--query-border);grid-template-columns:18px minmax(160px,.72fr) minmax(240px,1.28fr);align-items:center;gap:9px;min-width:0;min-height:48px;padding:7px 10px;display:grid}.query-node-result:last-child{border-bottom:0}.query-node-result:hover{background:var(--workbench-hover)}.query-node-result>svg{width:14px;height:14px;color:var(--vscode-symbolIcon-functionForeground,var(--query-accent))}.query-node-copy,.query-node-copy h3,.query-node-copy p{min-width:0}.query-node-copy h3,.query-node-copy p{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.query-node-copy h3{color:var(--vscode-editor-foreground,var(--foreground));font-size:12px;font-weight:600}.query-node-copy p{color:var(--muted-foreground);margin-top:2px;font-size:10px}.query-source-action{min-width:0;color:var(--workbench-link);font:10px/1.4 var(--compass-font-mono);text-align:left;background:0 0;border:1px solid #0000;border-radius:3px;justify-content:space-between;align-items:center;gap:8px;padding:5px 7px;display:flex;overflow:hidden}.query-source-action:hover{border-color:var(--query-border);background:var(--vscode-editorHoverWidget-background,var(--query-surface-raised))}.query-source-action span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.query-source-action small{color:var(--muted-foreground);font:10px var(--compass-font-mono);flex:none}.query-source-missing{color:var(--vscode-disabledForeground,var(--compass-faint));font:10px var(--compass-font-mono)}.query-table{border:1px solid var(--border);border-radius:3px;overflow:auto}.query-table table{border-collapse:collapse;width:100%;min-width:480px;font-size:11px}.query-table thead{background:var(--workbench-table-header);position:sticky;top:0}.query-table th,.query-table td{border-bottom:1px solid var(--border);text-align:left;text-overflow:ellipsis;white-space:nowrap;max-width:380px;padding:7px 9px;overflow:hidden}.query-table th{color:var(--muted-foreground);font-weight:500}.query-table tbody tr:hover{background:var(--workbench-hover)}.query-table tr:last-child td{border-bottom:0}.query-empty{place-content:center;display:grid}.query-history{text-align:center;width:min(720px,100vw - 40px);margin:-28px auto 20px}.query-history h2{color:var(--muted-foreground);margin:0 0 7px;font-size:10px;font-weight:500}.query-history button{text-overflow:ellipsis;max-width:min(100%,460px);margin:2px;overflow:hidden}.query-shell button:focus-visible{outline:2px solid var(--ring);outline-offset:1px}body.vscode-high-contrast .query-mode,body.vscode-high-contrast-light .query-mode,body.vscode-high-contrast .query-text-result,body.vscode-high-contrast-light .query-text-result,body.vscode-high-contrast .query-json-result,body.vscode-high-contrast-light .query-json-result,body.vscode-high-contrast .query-table,body.vscode-high-contrast-light .query-table,body.vscode-high-contrast .query-composer-panel,body.vscode-high-contrast-light .query-composer-panel,body.vscode-high-contrast .query-editor-shell,body.vscode-high-contrast-light .query-editor-shell,body.vscode-high-contrast .query-prose-result,body.vscode-high-contrast-light .query-prose-result,body.vscode-high-contrast .query-traversal-summary,body.vscode-high-contrast-light .query-traversal-summary,body.vscode-high-contrast .query-node-results,body.vscode-high-contrast-light .query-node-results{border-width:2px;border-color:var(--vscode-contrastBorder,var(--ring))}body.vscode-high-contrast .query-mode button[aria-selected=true],body.vscode-high-contrast-light .query-mode button[aria-selected=true]{border:2px solid var(--vscode-contrastBorder,var(--ring));border-bottom:0}.history-shell{background:var(--background);height:100vh;min-height:440px;color:var(--foreground);grid-template-columns:minmax(270px,340px) minmax(0,1fr);display:grid;overflow:hidden}.history-bootstrap{background:var(--vscode-editor-background,var(--background));place-items:center;min-height:100vh;display:grid}.history-sidebar{border-right:1px solid var(--border);background:var(--sidebar);min-width:0;min-height:0;color:var(--sidebar-foreground);flex-direction:column;display:flex}.history-sidebar-header{border-bottom:1px solid var(--border);flex:none;padding:14px 12px 12px}.history-title{align-items:flex-start;gap:9px;display:flex}.history-title>svg{width:16px;height:16px;color:var(--muted-foreground);margin-top:1px}.history-title h1{margin:0;font-size:13px;font-weight:600;line-height:1.25}.history-title p{color:var(--muted-foreground);margin:3px 0 0;font-size:11px}.history-search{align-items:center;margin-top:12px;display:flex;position:relative}.history-search>svg{width:14px;height:14px;color:var(--vscode-input-placeholderForeground,var(--muted-foreground));pointer-events:none;position:absolute;left:8px}.history-search input,.history-mobile-select select{border:1px solid var(--vscode-input-border,transparent);background:var(--vscode-input-background,var(--input));width:100%;min-height:28px;color:var(--vscode-input-foreground,var(--foreground));font:inherit;border-radius:2px;outline:none;font-size:12px}.history-search input{padding:4px 8px 4px 28px}.history-search input::placeholder{color:var(--vscode-input-placeholderForeground,var(--muted-foreground))}.history-search input:focus-visible,.history-mobile-select select:focus-visible,.history-rail:focus-visible,.history-commit:focus-visible{border-color:var(--ring);outline:1px solid var(--ring);outline-offset:-1px}.history-mobile-select{display:none}.history-rail{outline:none;flex:auto;min-height:0;overflow:auto}.history-pagination{border-top:1px solid var(--border);color:var(--muted-foreground);flex:none;justify-items:start;gap:6px;padding:8px 10px;font-size:11px;display:grid}.history-pagination [role=alert]{color:var(--destructive)}.history-commit{border:0;border-bottom:1px solid var(--border);width:100%;color:inherit;text-align:left;background:0 0;border-radius:0;align-items:center;gap:.625rem;padding:8px 11px;display:flex;position:absolute;left:0;right:0}.history-commit:hover{background:var(--workbench-hover);color:var(--workbench-hover-foreground)}.history-commit[aria-selected=true]{background:var(--sidebar-accent);color:var(--sidebar-accent-foreground);box-shadow:inset 2px 0 var(--sidebar-primary)}.history-commit>svg{width:15px;height:15px;color:var(--muted-foreground);flex:none}.history-commit>svg[data-state=available]{color:var(--compass-success)}.history-commit>svg[data-state=building]{color:var(--vscode-progressBar-background,var(--ring))}.history-commit>svg[data-state=failed]{color:var(--destructive)}.history-commit-row-copy,.history-commit-subject,.history-commit-byline{min-width:0}.history-commit-row-copy{flex:1;display:block}.history-commit-subject{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;line-height:1.4;display:block;overflow:hidden}.history-commit-byline{color:var(--muted-foreground);white-space:nowrap;align-items:center;gap:5px;margin-top:3px;font-size:10px;display:flex;overflow:hidden}.history-commit[aria-selected=true] .history-commit-byline{color:currentColor}@supports (color:color-mix(in lab,red,red)){.history-commit[aria-selected=true] .history-commit-byline{color:color-mix(in srgb,currentColor 72%,transparent)}}.history-commit-byline code{color:inherit;font-family:var(--compass-font-mono)}.history-commit-byline span{text-overflow:ellipsis;overflow:hidden}.history-commit-byline time{margin-left:auto}.history-content{background:var(--vscode-editor-background,var(--background));min-width:0;min-height:0;padding:16px;overflow:auto}.history-commit-details{border:1px solid var(--border);background:var(--vscode-editor-background,var(--background));padding:14px}.history-commit-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.history-commit-copy{min-width:0}.history-eyebrow{color:var(--muted-foreground);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:600;display:block}.history-commit-copy h2{overflow-wrap:anywhere;margin:4px 0 0;font-size:16px;font-weight:600;line-height:1.35}.history-commit-metadata{color:var(--muted-foreground);flex-wrap:wrap;gap:4px 12px;margin-top:7px;font-size:11px;display:flex}.history-commit-metadata code{color:var(--vscode-textLink-foreground,var(--workbench-link));font-family:var(--compass-font-mono)}.history-state-badge{text-transform:capitalize;border-radius:2px;flex:none}.history-commit-actions,.history-change-counts{flex-wrap:wrap;margin-top:12px;display:flex}.history-commit-actions{align-items:flex-end;gap:10px}.history-change-counts{gap:6px}.history-change-counts-help{color:var(--vscode-descriptionForeground,#9aa7b7);margin:-.15rem 0 0;font-size:.78rem;line-height:1.45}.history-commit-actions:empty{display:none}.history-commit-actions button{border-radius:2px}.history-comparison-control{grid-template-columns:minmax(180px,1fr) auto;gap:5px 7px;min-width:min(100%,440px);display:grid}.history-comparison-control label{color:var(--muted-foreground);letter-spacing:.04em;text-transform:uppercase;grid-column:1/-1;font-size:10px;font-weight:600}.history-comparison-control select{border:1px solid var(--vscode-dropdown-border,var(--border));background:var(--vscode-dropdown-background,var(--background));min-width:0;height:28px;color:var(--vscode-dropdown-foreground,var(--foreground));border-radius:2px;outline:none;padding:0 26px 0 8px;font-size:11px}.history-comparison-control select option{background:var(--vscode-dropdown-background,var(--background));color:var(--vscode-dropdown-foreground,var(--foreground))}.history-comparison-control select:focus-visible{border-color:var(--vscode-focusBorder,var(--ring));outline:1px solid var(--vscode-focusBorder,var(--ring));outline-offset:-1px}.history-comparison-control select:disabled{color:var(--vscode-disabledForeground,var(--muted-foreground));cursor:not-allowed}.history-comparison-help,.history-inline-error{color:var(--muted-foreground);margin:9px 0 0;font-size:11px;line-height:1.45}.history-inline-error{color:var(--destructive)}.history-change-counts{color:var(--muted-foreground);font-size:11px}.history-change-counts span{border:1px solid var(--border);background:var(--vscode-badge-background,var(--muted));color:var(--vscode-badge-foreground,var(--foreground));border-radius:2px;padding:3px 6px}.history-change-counts strong{font-weight:600}.history-comparison,.history-diff-evidence{border:1px solid var(--border);background:var(--vscode-editor-background,var(--background));color:var(--vscode-editor-foreground,var(--foreground));margin-top:12px}.history-comparison{box-shadow:inset 3px 0 0 var(--vscode-focusBorder,var(--ring))}.history-comparison-heading{grid-template-columns:18px minmax(0,1fr) auto;align-items:start;gap:8px;padding:11px 12px 9px;display:grid}.history-comparison-heading>svg,.history-diff-heading>svg{width:15px;height:15px;color:var(--vscode-focusBorder,var(--ring));margin-top:2px}.history-comparison-heading h2{color:var(--vscode-editor-foreground,var(--foreground));margin:2px 0 0;font-size:13px;font-weight:600}.history-comparison-heading code{color:var(--vscode-textLink-foreground,var(--workbench-link));font-family:var(--compass-font-mono);background:0 0}.history-comparison-heading button{border:1px solid var(--border);min-height:26px;color:var(--foreground);background:0 0;border-radius:2px;align-items:center;gap:5px;padding:3px 7px;font-size:10px;display:inline-flex}.history-comparison-heading button:hover{border-color:var(--vscode-focusBorder,var(--ring));background:var(--workbench-hover)}.history-comparison-heading button svg{width:12px;height:12px}.history-comparison-legend{font:10px/1.4 var(--compass-font-mono);flex-wrap:wrap;gap:6px;padding:0 12px 10px 38px;display:flex}.history-delta-card{border:1px solid var(--border);background:var(--vscode-editor-foreground,var(--foreground));border-radius:2px;gap:4px;min-width:200px;padding:6px 8px;display:grid}@supports (color:color-mix(in lab,red,red)){.history-delta-card{background:color-mix(in srgb,var(--vscode-editor-foreground,var(--foreground)) 5%,var(--vscode-editor-background,var(--background)))}}.history-delta-card{color:var(--vscode-editor-foreground,var(--foreground))}.history-delta-card>span{flex-wrap:wrap;gap:5px 10px;display:flex}.history-delta-card strong{color:var(--vscode-editor-foreground,var(--foreground));text-transform:capitalize}.history-delta-card i{font-style:normal;font-weight:600}.history-delta-card i small{color:var(--muted-foreground);font-size:9px;font-weight:400}.history-delta-card i[data-change=added]{color:var(--vscode-gitDecoration-addedResourceForeground,#2ea043)}.history-delta-card i[data-change=removed]{color:var(--vscode-gitDecoration-deletedResourceForeground,#f85149)}.history-delta-card i[data-change=changed]{color:var(--vscode-gitDecoration-modifiedResourceForeground,#d29922)}.history-comparison-empty{border-top:1px solid var(--border);color:var(--muted-foreground);gap:2px;padding:9px 12px 10px 38px;font-size:11px;display:grid}.history-comparison-empty strong{color:var(--foreground);font-size:12px}.history-comparison-workspace{border:1px solid var(--border);background:var(--vscode-editor-background,var(--background));min-width:0;color:var(--vscode-editor-foreground,var(--foreground));margin-top:12px;overflow:hidden}.history-comparison-tabs{border-bottom:1px solid var(--border);background:var(--vscode-editorGroupHeader-tabsBackground,var(--vscode-sideBar-background,var(--background)));scrollbar-width:thin;min-width:0;display:flex;overflow-x:auto}.history-comparison-tabs button{border:0;border-right:1px solid var(--border);min-width:max-content;min-height:41px;color:var(--vscode-tab-inactiveForeground,var(--muted-foreground));font:11px/1 var(--compass-font-sans);background:0 0;align-items:center;gap:7px;padding:0 14px;display:inline-flex;position:relative}.history-comparison-tabs button:hover{background:var(--workbench-hover);color:var(--vscode-tab-activeForeground,var(--foreground))}.history-comparison-tabs button[aria-selected=true]{background:var(--vscode-tab-activeBackground,var(--vscode-editor-background,var(--background)));color:var(--vscode-tab-activeForeground,var(--foreground));box-shadow:inset 0 2px 0 var(--vscode-tab-activeBorder,var(--vscode-focusBorder,var(--ring)))}.history-comparison-tabs button:focus-visible{z-index:1;outline:1px solid var(--vscode-focusBorder,var(--ring));outline-offset:-2px}.history-comparison-tabs button>svg{width:14px;height:14px;color:var(--vscode-focusBorder,var(--ring))}.history-comparison-tab-count{border:1px solid var(--border);background:var(--vscode-badge-background,var(--muted));min-width:19px;height:19px;color:var(--vscode-badge-foreground,var(--foreground));font:9px/1 var(--compass-font-mono);border-radius:9px;justify-content:center;align-items:center;padding:0 5px;display:inline-flex}.history-comparison-tab-panel{background:var(--vscode-editor-background,var(--background));min-width:0}.history-evidence-panel{min-width:0;padding:15px 15px 17px}.history-evidence-header{border-bottom:1px solid var(--border);padding-bottom:12px}.history-evidence-header>p,.history-findings-header>div>p{color:var(--muted-foreground);margin:4px 0 0 22px;font-size:11px;line-height:1.45}.history-diff-heading{align-items:center;gap:7px;display:flex}.history-diff-heading h2{margin:0;font-size:13px;font-weight:600}.history-findings-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.history-findings-expand{border:1px solid var(--border);min-height:27px;color:var(--foreground);background:0 0;border-radius:2px;flex:none;padding:4px 9px;font-size:10px}.history-findings-expand:hover{border-color:var(--vscode-focusBorder,var(--ring));background:var(--workbench-hover)}.history-source-changes{gap:6px;margin-top:12px;display:grid}.history-source-changes details{border:1px solid var(--border);background:var(--vscode-editor-background,var(--background));color:var(--vscode-editor-foreground,var(--foreground));border-radius:2px;overflow:hidden}.history-diff-toolbar{align-items:center;gap:6px;margin-top:12px;display:flex}.history-diff-layout{border:1px solid var(--border);border-radius:2px;display:inline-flex;overflow:hidden}.history-diff-toolbar button{min-height:25px;color:var(--muted-foreground);background:0 0;border:0;padding:3px 8px;font-size:10px}.history-diff-layout button+button{border-left:1px solid var(--border)}.history-diff-toolbar button:hover:not(:disabled){background:var(--workbench-hover);color:var(--foreground)}.history-diff-toolbar button[aria-pressed=true],.history-diff-toolbar button[aria-pressed=true]:hover{background:var(--vscode-tab-activeBackground,var(--vscode-editor-background,var(--background)));color:var(--vscode-tab-activeForeground,var(--vscode-editor-foreground,var(--foreground)));box-shadow:inset 0 2px 0 var(--vscode-tab-activeBorder,var(--vscode-focusBorder,var(--ring)))}.history-diff-toolbar button:disabled{cursor:not-allowed;opacity:.45}.history-diff-wrap{min-height:25px;color:var(--muted-foreground);align-items:center;gap:5px;font-size:10px;display:inline-flex}.history-diff-wrap input{margin:0}.history-diff-expand{border-radius:2px;margin-left:auto;border:1px solid var(--border)!important}.history-source-changes summary{cursor:pointer;border-bottom:1px solid var(--border);background:var(--vscode-editorGroupHeader-tabsBackground,var(--background));justify-content:space-between;align-items:center;gap:10px;padding:6px 8px;font-size:10px;display:flex}.history-source-path{align-items:center;gap:8px;min-width:0;display:inline-flex}.history-source-path code{color:var(--vscode-textLink-foreground,var(--workbench-link));font-family:var(--compass-font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.history-source-path small{color:var(--muted-foreground);text-transform:capitalize;font-size:9px}.history-source-stats{font-family:var(--compass-font-mono);flex:none;gap:6px;display:inline-flex}.history-source-stats i{font-style:normal;font-weight:600}.history-source-stats i[data-change=added]{color:var(--vscode-gitDecoration-addedResourceForeground,#2ea043)}.history-source-stats i[data-change=removed]{color:var(--vscode-gitDecoration-deletedResourceForeground,#f85149)}.history-source-diff{contain:inline-size;background:var(--vscode-editor-background,var(--background));width:100%;min-width:0;max-width:100%;display:block}.history-diff-fallback>p{border-bottom:1px solid var(--border);color:var(--vscode-gitDecoration-modifiedResourceForeground,#d29922);margin:0;padding:7px 8px}.history-diff-fallback pre{max-height:260px;color:var(--vscode-editor-foreground,var(--foreground));font:10px/1.5 var(--compass-font-mono);white-space:pre;margin:0;padding:8px;overflow:auto}.history-source-changes p,.history-diff-empty{color:var(--muted-foreground);margin:12px 0 0;font-size:11px}.history-finding-list{gap:10px;margin-top:14px;display:grid}.history-finding-list details{border:1px solid var(--border);background:var(--vscode-editor-foreground,var(--foreground));border-radius:4px;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.history-finding-list details{background:color-mix(in srgb,var(--vscode-editor-foreground,var(--foreground)) 2%,var(--vscode-editor-background,var(--background)))}}.history-finding-list details{color:var(--vscode-editor-foreground,var(--foreground))}.history-finding-list details[open]{border-color:var(--vscode-focusBorder,var(--ring))}@supports (color:color-mix(in lab,red,red)){.history-finding-list details[open]{border-color:color-mix(in srgb,var(--vscode-focusBorder,var(--ring)) 58%,var(--border))}}.history-finding-list details[open]{box-shadow:inset 3px 0 0 var(--vscode-focusBorder,var(--ring))}.history-finding-list summary{cursor:pointer;grid-template-columns:28px minmax(0,1fr) 16px;align-items:center;gap:11px;min-height:58px;padding:11px 13px;list-style:none;display:grid}.history-finding-list summary::-webkit-details-marker{display:none}.history-finding-list summary:hover{background:var(--workbench-hover)}.history-finding-list summary:focus-visible{outline:1px solid var(--vscode-focusBorder,var(--ring));outline-offset:-2px}.history-finding-index{border:1px solid var(--border);background:var(--vscode-editor-background,var(--background));width:27px;height:27px;color:var(--vscode-focusBorder,var(--ring));font:600 10px/1 var(--compass-font-mono);border-radius:3px;justify-content:center;align-items:center;display:inline-flex}.history-finding-summary{gap:4px;min-width:0;display:grid}.history-finding-summary strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;line-height:1.35;overflow:hidden}.history-finding-summary small{color:var(--muted-foreground);font-size:10px}.history-finding-list summary>svg{width:15px;height:15px;color:var(--muted-foreground);transition:transform .12s}.history-finding-list details[open] summary>svg{transform:rotate(90deg)}.history-finding-body{border-top:1px solid var(--border);padding:0 14px 15px 52px}.history-finding-body>p{color:var(--muted-foreground);margin:13px 0 0;font-size:11px}.history-finding-body dl{gap:0;margin:0;display:grid}.history-finding-body dl>div{border-bottom:1px solid var(--border);grid-template-columns:minmax(110px,170px) minmax(0,1fr);gap:16px;padding:12px 0;display:grid}.history-finding-body dl>div:last-child{border-bottom:0;padding-bottom:0}.history-finding-body dt{color:var(--muted-foreground);letter-spacing:.06em;text-transform:uppercase;font-size:9px;font-weight:600}.history-finding-body dd{min-width:0;margin:0;font-size:11px;line-height:1.5}.history-finding-body dd ul{gap:5px;margin:0;padding-left:17px;display:grid}.history-finding-body dd pre{border:1px solid var(--border);background:var(--vscode-textCodeBlock-background,var(--muted));max-height:280px;color:var(--vscode-editor-foreground,var(--foreground));font:10px/1.55 var(--compass-font-mono);white-space:pre-wrap;border-radius:3px;margin:0;padding:9px 10px;overflow:auto}.history-finding-body dd code{font-family:var(--compass-font-mono)}.history-finding-muted{color:var(--muted-foreground);font-style:italic}.history-findings-empty{border:1px dashed var(--border);color:var(--muted-foreground);border-radius:4px;align-items:flex-start;gap:10px;margin-top:14px;padding:15px;display:flex}.history-findings-empty>svg{width:17px;height:17px;color:var(--vscode-focusBorder,var(--ring))}.history-findings-empty strong{color:var(--foreground);font-size:12px}.history-findings-empty p{margin:4px 0 0;font-size:11px}.history-standalone-evidence{gap:12px;margin-top:12px;display:grid}.history-standalone-evidence>section{border:1px solid var(--border);background:var(--vscode-editor-background,var(--background))}.history-graph-frame{border:1px solid var(--border);background:var(--vscode-editor-background,var(--background));height:max(400px,100vh - 190px);min-height:360px;margin-top:12px;display:grid;overflow:hidden}.history-graph-frame-tabbed{border:0;height:max(460px,100vh - 230px);min-height:420px;margin-top:0}.history-graph-ready,.history-graph-canvas{min-width:0;min-height:0}.history-graph-ready{flex-direction:column;display:flex}.history-graph-status{border-bottom:1px solid var(--border);background:var(--vscode-editorGroupHeader-tabsBackground,var(--background));min-height:30px;color:var(--muted-foreground);flex:none;padding:7px 10px;font-size:11px}.history-graph-status span{color:var(--foreground);font-family:var(--compass-font-mono)}.history-graph-canvas{isolation:isolate;flex:1;position:relative}.history-graph-canvas .compass-workspace{height:100%;min-height:0}.history-content>section:last-child{margin-top:12px}body.vscode-high-contrast .history-sidebar,body.vscode-high-contrast-light .history-sidebar,body.vscode-high-contrast .history-commit-details,body.vscode-high-contrast-light .history-commit-details,body.vscode-high-contrast .history-graph-frame,body.vscode-high-contrast-light .history-graph-frame,body.vscode-high-contrast .history-comparison,body.vscode-high-contrast-light .history-comparison,body.vscode-high-contrast .history-diff-evidence,body.vscode-high-contrast-light .history-diff-evidence,body.vscode-high-contrast .history-comparison-workspace,body.vscode-high-contrast-light .history-comparison-workspace,body.vscode-high-contrast .history-finding-list details,body.vscode-high-contrast-light .history-finding-list details,body.vscode-high-contrast .history-source-changes details,body.vscode-high-contrast-light .history-source-changes details,body.vscode-high-contrast .history-change-counts span,body.vscode-high-contrast-light .history-change-counts span,body.vscode-high-contrast .history-comparison-control select,body.vscode-high-contrast-light .history-comparison-control select,body.vscode-high-contrast .compass-change-legend,body.vscode-high-contrast-light .compass-change-legend,body.vscode-high-contrast .compass-semantic-legend,body.vscode-high-contrast-light .compass-semantic-legend,body.vscode-high-contrast .compass-change-badge,body.vscode-high-contrast-light .compass-change-badge{border-color:var(--vscode-contrastBorder,var(--ring));border-width:2px}@media(max-width:760px){.query-header{padding:10px}.query-heading-row,.query-composer{flex-direction:column;align-items:stretch}.query-mode{align-self:flex-start}.history-diff-toolbar{flex-wrap:wrap}.history-comparison-control{grid-template-columns:1fr;width:100%}.history-commit-actions{flex-direction:column;align-items:stretch}.history-commit-actions>button{align-self:flex-start}.history-comparison-control label{grid-column:auto}.history-diff-expand{margin-left:0}.history-comparison-tabs button{min-height:39px;padding-inline:11px}.history-evidence-panel{padding:12px}.history-findings-header{flex-direction:column;align-items:stretch}.history-findings-expand{align-self:flex-start}.history-finding-body{padding-left:14px}.history-finding-body dl>div{grid-template-columns:1fr;gap:5px}.query-composer-footer{flex-wrap:wrap}.query-params{flex:1 0 100%;max-width:none}.query-params input{max-width:none}.query-footer-actions{justify-content:flex-end;width:100%}.query-examples{padding-bottom:2px}.compass-load-shell[data-variant=architecture]{text-align:center;grid-template-rows:auto auto auto;grid-template-columns:1fr}.compass-load-shell[data-variant=architecture] .compass-load-visual,.compass-load-shell[data-variant=architecture] .compass-load-copy,.architecture-load-skeleton{grid-column:1}.compass-load-shell[data-variant=architecture] .compass-load-visual{margin:0 auto}.compass-load-shell[data-variant=architecture] .compass-load-steps{justify-content:center}.architecture-load-skeleton{grid-row:3;width:min(88vw,460px);height:190px;margin-top:14px}.history-shell{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.history-sidebar{border-right:0;border-bottom:1px solid var(--border)}.history-sidebar-header{padding:10px}.history-title p,.history-search,.history-rail{display:none}.history-mobile-select{color:var(--muted-foreground);gap:4px;margin-top:9px;font-size:10px;display:grid}.history-mobile-select select{padding:4px 7px}.history-content{padding:10px}.history-commit-heading{gap:8px}.history-commit-metadata{gap:3px;display:grid}.history-graph-frame{height:max(750px,102vh + 30px);margin-top:10px}.history-graph-canvas .compass-workspace{height:auto;min-height:max(720px,102vh)}}@media(max-width:420px){.query-params{flex-direction:column;align-items:stretch;gap:4px}.query-params input{flex:none;width:100%}}.architecture-nav{border-right:1px solid var(--border);background:var(--sidebar);min-height:0;color:var(--sidebar-foreground);flex-direction:column;display:flex}.architecture-nav-header{border-bottom:1px solid var(--border);padding:14px 14px 12px}.architecture-nav-header>span,.architecture-eyebrow{color:var(--muted-foreground);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:600;display:block}.architecture-nav-header h1{text-overflow:ellipsis;white-space:nowrap;margin:4px 0 0;font-size:13px;font-weight:600;line-height:1.35;overflow:hidden}.architecture-section-list{flex:1;min-height:0;padding:5px;overflow:auto}.architecture-section-list>button{width:100%;min-height:48px;color:inherit;text-align:left;background:0 0;border:1px solid #0000;border-radius:3px;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:7px;padding:7px 8px;display:grid}.architecture-section-list>button:hover{background:var(--workbench-hover);color:var(--workbench-hover-foreground)}.architecture-section-list>button[aria-current=page]{border-color:var(--vscode-list-activeSelectionBackground,var(--sidebar-primary));background:var(--sidebar-accent);color:var(--sidebar-accent-foreground)}.architecture-section-list svg{width:14px;height:14px;margin-top:2px}.architecture-section-list strong,.architecture-section-list small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.architecture-section-list strong{font-size:12px;font-weight:500}.architecture-section-list small{color:var(--muted-foreground);margin-top:2px;font-size:10px}.architecture-section-list>button[aria-current=page] small{color:inherit;opacity:.78}.architecture-stats{border-top:1px solid var(--border);color:var(--muted-foreground);text-align:center;grid-template-columns:repeat(3,1fr);gap:1px;padding:8px 6px;font-size:9px;display:grid}.architecture-stats strong{color:var(--sidebar-foreground);margin-bottom:1px;font-size:11px;display:block}.architecture-main{min-width:0;padding:14px clamp(14px,2.2vw,24px) 32px;overflow:auto}.architecture-global-search{z-index:20;max-width:760px;margin:0 auto 18px;position:sticky;top:0}.architecture-global-search>label{align-items:center;display:flex;position:relative}.architecture-global-search>label>svg{width:15px;height:15px;color:var(--vscode-input-placeholderForeground,var(--muted-foreground));position:absolute;left:10px}.architecture-global-search input{border:1px solid var(--vscode-input-border,var(--border));background:var(--vscode-input-background,var(--input));width:100%;height:34px;color:var(--vscode-input-foreground,var(--foreground));font:inherit;border-radius:3px;outline:none;padding:5px 84px 5px 33px;font-size:12px}.architecture-global-search input:focus-visible{border-color:var(--ring);outline:1px solid var(--ring);outline-offset:-1px}.architecture-global-search label>span{color:var(--muted-foreground);font-size:10px;position:absolute;right:8px}.architecture-search-results{border:1px solid var(--vscode-menu-border,var(--border));background:var(--vscode-menu-background,var(--popover));max-height:min(440px,65vh);color:var(--vscode-menu-foreground,var(--popover-foreground));box-shadow:0 4px 12px var(--vscode-widget-shadow,#00000047);border-radius:3px;position:absolute;top:calc(100% + 2px);left:0;right:0;overflow:auto}.architecture-search-results>p{color:var(--muted-foreground);margin:0;padding:14px;font-size:12px}.architecture-search-results section+section{border-top:1px solid var(--vscode-menu-separatorBackground,var(--border))}.architecture-search-results h2{color:var(--muted-foreground);letter-spacing:.06em;text-transform:uppercase;margin:0;padding:7px 10px 4px;font-size:10px;font-weight:600}.architecture-search-results button{width:100%;color:inherit;text-align:left;background:0 0;border:0;padding:6px 10px;display:block}.architecture-search-results button:hover,.architecture-search-results button:focus-visible{background:var(--vscode-menu-selectionBackground,var(--vscode-list-activeSelectionBackground,var(--accent)));color:var(--vscode-menu-selectionForeground,var(--vscode-list-activeSelectionForeground,var(--accent-foreground)));outline:none}.architecture-search-results button span,.architecture-search-results button small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.architecture-search-results button span{font-size:12px}.architecture-search-results button small{color:inherit;opacity:.72;margin-top:2px;font-size:10px}.architecture-overview,.architecture-detail{max-width:1500px;margin-left:auto;margin-right:auto}.architecture-detail{margin-top:26px}.architecture-section-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.architecture-section-heading h2{margin:0;font-size:15px;font-weight:600;line-height:1.35}.architecture-section-heading p{color:var(--muted-foreground);margin:3px 0 0;font-size:11px}.architecture-detail-count{color:var(--muted-foreground);white-space:nowrap;font-size:11px}.architecture-flow-grid,.architecture-symbol-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px;display:grid}.architecture-flow{border:1px solid var(--border);background:var(--vscode-editorWidget-background,var(--card));min-width:0;min-height:38px;color:var(--foreground);font:inherit;text-align:left;border-radius:3px;grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr) auto;align-items:center;gap:6px;padding:6px 8px;font-size:11px;display:grid}.architecture-flow:hover{border-color:var(--vscode-focusBorder,var(--ring));background:var(--workbench-hover)}.architecture-flow>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.architecture-flow>svg{width:13px;height:13px;color:var(--muted-foreground)}.architecture-flow-footer{justify-content:space-between;align-items:center;gap:10px;margin-top:8px;display:flex}.architecture-flow-footer p{color:var(--muted-foreground);margin:0;font-size:10px}.architecture-flow-footer button{border:1px solid var(--border);color:var(--foreground);font:inherit;background:0 0;border-radius:3px;padding:3px 7px;font-size:10px}.architecture-tab-content{min-height:280px;padding-top:8px}.architecture-detail [data-slot=tabs-list]{border-bottom:1px solid var(--border);justify-content:flex-start;gap:0;width:100%;height:30px;padding:0}.architecture-detail [data-slot=tabs-trigger]{min-width:76px;height:30px;color:var(--muted-foreground);border-radius:0;flex:none;padding:4px 10px;font-size:11px;font-weight:500}.architecture-detail [data-slot=tabs-trigger][data-state=active]{color:var(--foreground)}.architecture-detail [data-slot=tabs-trigger]>span{background:var(--vscode-badge-background,var(--muted));min-width:22px;color:var(--vscode-badge-foreground,var(--muted-foreground));font:9px/1.4 var(--compass-font-mono);border-radius:9px;margin-left:4px;padding:1px 5px}.architecture-detail [data-slot=tabs-trigger][data-state=active]>span{color:var(--vscode-badge-foreground,var(--foreground))}.architecture-detail [data-slot=tabs-trigger]:after{background:var(--vscode-tab-activeBorder,var(--ring));bottom:-1px}.architecture-symbol-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));margin-top:8px}.architecture-symbol-card{border:1px solid var(--border);background:var(--vscode-editorWidget-background,var(--card));min-width:0;min-height:92px;color:var(--card-foreground);border-radius:3px;grid-template-rows:auto 1fr;grid-template-columns:18px minmax(0,1fr);gap:0 7px;padding:9px;display:grid}.architecture-symbol-card>svg{width:15px;height:15px;color:var(--vscode-symbolIcon-functionForeground,var(--muted-foreground));margin-top:1px}.architecture-symbol-card h3,.architecture-symbol-card p{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.architecture-symbol-card h3{color:var(--vscode-editor-foreground,var(--foreground));font-size:12px;font-weight:600}.architecture-symbol-card p{color:var(--muted-foreground);margin-top:2px;font-size:10px}.architecture-symbol-card>button,.architecture-symbol-card>span{color:var(--workbench-link);font:10px/1.35 var(--compass-font-mono);text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;grid-column:1/span 2;align-self:end;margin-top:9px;padding:0;overflow:hidden}.architecture-symbol-card>button:hover{text-decoration:underline}.architecture-symbol-card>span{color:var(--vscode-disabledForeground,var(--compass-faint))}.architecture-call-table{border:1px solid var(--border);border-radius:3px;max-height:min(54vh,620px);margin-top:8px;overflow:auto}.architecture-call-table table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:620px;font-size:11px}.architecture-call-table thead{z-index:2;background:var(--workbench-table-header);position:sticky;top:0}.architecture-call-table th,.architecture-call-table td{border-bottom:1px solid var(--border);text-align:left;text-overflow:ellipsis;white-space:nowrap;padding:7px 9px;overflow:hidden}.architecture-call-table th{color:var(--muted-foreground);padding:0;font-weight:500}.architecture-call-table th button{width:100%;min-height:30px;color:inherit;font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:5px;padding:6px 9px;display:flex}.architecture-call-table th button:hover{background:var(--workbench-hover);color:var(--foreground)}.architecture-call-table tbody tr:hover{background:var(--workbench-hover)}.architecture-call-table tr:last-child td{border-bottom:0}.architecture-call-table th:nth-child(2),.architecture-call-table th:nth-child(4),.architecture-call-table td:nth-child(2),.architecture-call-table td:nth-child(4){width:126px}.architecture-shell button:focus-visible,.architecture-shell input:focus-visible{outline:2px solid var(--ring);outline-offset:1px}body.vscode-high-contrast .architecture-section-list>button[aria-current=page],body.vscode-high-contrast-light .architecture-section-list>button[aria-current=page],body.vscode-high-contrast .architecture-flow:focus-visible,body.vscode-high-contrast-light .architecture-flow:focus-visible,body.vscode-high-contrast .architecture-symbol-card,body.vscode-high-contrast-light .architecture-symbol-card,body.vscode-high-contrast .architecture-call-table,body.vscode-high-contrast-light .architecture-call-table{border-width:2px;border-color:var(--vscode-contrastBorder,var(--ring))}@media(max-width:760px){.architecture-shell{grid-template-rows:auto 1fr;grid-template-columns:1fr}.architecture-nav{border-right:0;border-bottom:1px solid var(--border);max-height:38vh}.architecture-main{padding:10px 10px 24px}.architecture-global-search{margin-bottom:14px}.architecture-section-heading{align-items:flex-start}.architecture-flow-grid,.architecture-symbol-grid{grid-template-columns:1fr}.architecture-flow-footer,.workbench-pagination{flex-direction:column;align-items:flex-start}.workbench-collection-toolbar{flex-direction:column;align-items:stretch}.workbench-search{width:100%;max-width:none}}.architecture-workspace{--architecture-border:var(--vscode-panel-border,var(--border));--architecture-surface:var(--vscode-editor-background,var(--background));--architecture-raised:var(--vscode-editorWidget-background,var(--vscode-sideBar-background,var(--card)));background:var(--architecture-surface);height:100vh;min-height:520px;color:var(--vscode-editor-foreground,var(--foreground));grid-template-columns:minmax(210px,240px) minmax(520px,1fr) minmax(300px,350px);display:grid;overflow:hidden}.architecture-workspace[data-inspector-open=false]{grid-template-columns:minmax(210px,240px) minmax(520px,1fr)}.architecture-rail,.architecture-inspector{background:var(--vscode-sideBar-background,var(--sidebar));min-width:0;min-height:0}.architecture-rail{border-right:1px solid var(--architecture-border);grid-template-rows:auto 1fr auto;display:grid}.architecture-rail-header,.architecture-inspector-header{border-bottom:1px solid var(--architecture-border);padding:16px}.architecture-rail-header>span,.architecture-inspector-header>span{color:var(--vscode-descriptionForeground,var(--muted-foreground));font:700 9px/1.2 var(--compass-font-mono);letter-spacing:.13em;text-transform:uppercase}.architecture-rail-header h1,.architecture-inspector-header h2{text-overflow:ellipsis;margin:7px 0 0;font-size:14px;font-weight:650;line-height:1.35;overflow:hidden}.architecture-rail-header p,.architecture-inspector-header p{color:var(--vscode-descriptionForeground,var(--muted-foreground));margin:5px 0 0;font-size:10px}.architecture-rail nav{min-height:0;padding:6px;overflow:auto}.architecture-rail nav>button{width:100%;color:inherit;text-align:left;background:0 0;border:1px solid #0000;border-radius:5px;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:7px;padding:8px;display:grid}.architecture-rail nav>button:hover,.architecture-rail nav>button:focus-visible{background:var(--vscode-list-hoverBackground,var(--workbench-hover))}.architecture-rail nav>button[aria-current=page]{border-color:var(--vscode-focusBorder,var(--ring))}@supports (color:color-mix(in lab,red,red)){.architecture-rail nav>button[aria-current=page]{border-color:color-mix(in srgb,var(--vscode-focusBorder,var(--ring)) 48%,transparent)}}.architecture-rail nav>button[aria-current=page]{background:var(--vscode-list-activeSelectionBackground,var(--vscode-sideBarSectionHeader-background,var(--sidebar-accent)));color:var(--vscode-list-activeSelectionForeground,inherit)}.architecture-rail nav>button[data-empty=true]{opacity:.57}.architecture-rail nav svg{width:14px;height:14px;color:var(--vscode-symbolIcon-moduleForeground,var(--compass-focus))}.architecture-rail nav strong,.architecture-rail nav small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.architecture-rail nav strong{font-size:11px;font-weight:600}.architecture-rail nav small{color:var(--vscode-descriptionForeground,var(--muted-foreground));font:9px/1.35 var(--compass-font-mono);margin-top:2px}.architecture-rail nav i{background:var(--vscode-badge-background,var(--muted));min-width:24px;color:var(--vscode-badge-foreground,var(--muted-foreground));font:normal 9px/1.3 var(--compass-font-mono);text-align:center;border-radius:10px;padding:2px 5px}.architecture-scope-totals{border-top:1px solid var(--architecture-border);color:var(--vscode-descriptionForeground,var(--muted-foreground));text-align:center;grid-template-columns:repeat(3,1fr);padding:10px 6px;font-size:8px;display:grid}.architecture-scope-totals strong{color:var(--vscode-sideBar-foreground,var(--foreground));font:600 10px/1.2 var(--compass-font-mono);margin-bottom:2px;display:block}.architecture-stage{grid-template-rows:auto auto minmax(0,1fr);min-width:0;min-height:0;display:grid;overflow:hidden}.architecture-command-bar{border-bottom:1px solid var(--architecture-border);background:var(--architecture-surface);grid-template-columns:minmax(240px,1fr) auto auto 30px;align-items:center;gap:8px;padding:9px 12px;display:grid}.architecture-inspector-toggle{border:1px solid var(--architecture-border);background:var(--architecture-raised);width:30px;height:30px;color:var(--vscode-descriptionForeground,var(--muted-foreground));border-radius:4px;place-items:center;display:grid}.architecture-inspector-toggle:hover{background:var(--vscode-toolbar-hoverBackground,var(--workbench-hover));color:var(--foreground)}.architecture-inspector-toggle svg{width:14px;height:14px}.architecture-search{min-width:0;position:relative}.architecture-search>svg,.architecture-detail-filter>svg{z-index:1;width:13px;height:13px;color:var(--vscode-input-placeholderForeground,var(--muted-foreground));pointer-events:none;position:absolute;top:50%;left:9px;transform:translateY(-50%)}.architecture-search>input,.architecture-detail-filter>input,.architecture-evidence-filter select{border:1px solid var(--vscode-input-border,var(--architecture-border));background:var(--vscode-input-background,var(--input));width:100%;height:30px;color:var(--vscode-input-foreground,var(--foreground));font:11px/1.3 var(--vscode-font-family,system-ui);border-radius:4px;outline:none}.architecture-search>input,.architecture-detail-filter>input{padding:4px 72px 4px 29px}.architecture-search>input:focus,.architecture-detail-filter>input:focus,.architecture-evidence-filter select:focus{border-color:var(--vscode-focusBorder,var(--ring));outline:1px solid var(--vscode-focusBorder,var(--ring));outline-offset:-1px}.architecture-search>span{color:var(--vscode-descriptionForeground,var(--muted-foreground));font:9px/1.4 var(--compass-font-mono);position:absolute;top:8px;right:8px}.architecture-search-popover{z-index:30;border:1px solid var(--vscode-menu-border,var(--architecture-border));background:var(--vscode-menu-background,var(--popover));max-height:min(440px,70vh);box-shadow:0 8px 24px var(--vscode-widget-shadow,#00000047);border-radius:5px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto}.architecture-search-popover>button{width:100%;color:var(--vscode-menu-foreground,var(--foreground));text-align:left;background:0 0;border:0;padding:7px 10px;display:block}.architecture-search-popover>button:hover,.architecture-search-popover>button:focus-visible{background:var(--vscode-menu-selectionBackground,var(--accent));color:var(--vscode-menu-selectionForeground,var(--accent-foreground))}.architecture-search-popover strong,.architecture-search-popover small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.architecture-search-popover strong{font-size:11px}.architecture-search-popover small{opacity:.75;margin-top:2px;font-size:9px}.architecture-search-popover p{color:var(--muted-foreground);margin:0;padding:16px;font-size:11px}.architecture-scope-switch{border:1px solid var(--architecture-border);border-radius:4px;display:flex;overflow:hidden}.architecture-scope-switch button{min-height:28px;color:var(--vscode-descriptionForeground,var(--muted-foreground));font:10px/1.2 var(--compass-font-mono);background:0 0;border:0;padding:4px 9px}.architecture-scope-switch button+button{border-left:1px solid var(--architecture-border)}.architecture-scope-switch button[aria-pressed=true]{background:var(--vscode-button-secondaryBackground,var(--accent));color:var(--vscode-button-secondaryForeground,var(--accent-foreground))}.architecture-evidence-filter{align-items:center;gap:5px;display:flex}.architecture-evidence-filter>svg{width:13px;height:13px;color:var(--vscode-descriptionForeground,var(--muted-foreground))}.architecture-evidence-filter select{width:auto;min-width:110px;padding:3px 22px 3px 7px}.architecture-context-strip{border-bottom:1px solid var(--architecture-border);background:var(--vscode-breadcrumb-background,var(--architecture-raised));min-height:34px;color:var(--vscode-descriptionForeground,var(--muted-foreground));font:9px/1.3 var(--compass-font-mono);flex-wrap:wrap;align-items:center;gap:6px 14px;padding:6px 12px;display:flex}.architecture-context-strip strong{color:var(--vscode-foreground,var(--foreground));font-weight:600}.architecture-coverage-warning{color:var(--vscode-editorWarning-foreground,var(--warning));align-items:center;gap:4px;display:inline-flex}.architecture-coverage-warning svg{width:12px;height:12px}.architecture-map-panel{border:1px solid var(--architecture-border);background:var(--architecture-raised);border-radius:10px;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:0;margin:clamp(14px,2vw,24px);display:grid;position:relative;overflow:hidden;box-shadow:0 12px 32px #0000001a}.architecture-map-header{border-bottom:1px solid var(--architecture-border);background:var(--architecture-raised);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;min-width:0;padding:14px 16px;display:flex}.architecture-map-intro{gap:3px;min-width:min(100%,260px);display:grid}.architecture-map-intro>span{color:var(--vscode-descriptionForeground,var(--muted-foreground));font:700 8px/1.2 var(--compass-font-mono);letter-spacing:.14em;text-transform:uppercase}.architecture-map-intro>strong{overflow-wrap:anywhere;font-size:12px;font-weight:650;line-height:1.35}.architecture-map-intro>small{max-width:560px;color:var(--vscode-descriptionForeground,var(--muted-foreground));font-size:9.5px;line-height:1.45}.architecture-map-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.architecture-map-viewport{overscroll-behavior:contain;scrollbar-color:var(--vscode-scrollbarSlider-background,var(--muted)) transparent;scrollbar-gutter:stable;min-width:0;height:auto;min-height:0;box-shadow:inset -26px 0 22px -24px var(--foreground);position:relative;overflow:auto}@supports (color:color-mix(in lab,red,red)){.architecture-map-viewport{box-shadow:inset -26px 0 22px -24px color-mix(in srgb,var(--foreground) 30%,transparent)}}.architecture-map-viewport{background:linear-gradient(var(--vscode-editorRuler-foreground,var(--border)) 1px,transparent 1px),linear-gradient(90deg,var(--vscode-editorRuler-foreground,var(--border)) 1px,transparent 1px),var(--architecture-surface)}@supports (color:color-mix(in lab,red,red)){.architecture-map-viewport{background:linear-gradient(color-mix(in srgb,var(--vscode-editorRuler-foreground,var(--border)) 9%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--vscode-editorRuler-foreground,var(--border)) 9%,transparent) 1px,transparent 1px),var(--architecture-surface)}}.architecture-map-viewport{background-size:32px 32px}.architecture-map-viewport[data-scroll-position=end],.architecture-map-viewport[data-scroll-position=none]{box-shadow:none}.architecture-map-canvas{min-width:100%;min-height:100%}.architecture-route-mode{border:1px solid var(--architecture-border);background:var(--architecture-surface);border-radius:5px;display:flex;overflow:hidden}.architecture-route-mode button{min-width:66px;height:27px;color:var(--vscode-descriptionForeground,var(--muted-foreground));font:9px/1 var(--compass-font-mono);background:0 0;border:0;padding:0 9px}.architecture-route-mode button+button{border-left:1px solid var(--architecture-border)}.architecture-route-mode button:hover{background:var(--vscode-toolbar-hoverBackground,var(--workbench-hover));color:var(--vscode-foreground,var(--foreground))}.architecture-route-mode button[aria-pressed=true]{background:var(--vscode-list-activeSelectionBackground,var(--accent))}@supports (color:color-mix(in lab,red,red)){.architecture-route-mode button[aria-pressed=true]{background:color-mix(in srgb,var(--vscode-list-activeSelectionBackground,var(--accent)) 72%,var(--architecture-raised))}}.architecture-route-mode button[aria-pressed=true]{color:var(--vscode-list-activeSelectionForeground,var(--foreground))}.architecture-map-toolbar{border:1px solid var(--architecture-border);background:var(--architecture-surface);border-radius:5px;align-items:center;display:flex;overflow:hidden}.architecture-map-toolbar button{width:28px;height:27px;color:var(--foreground);background:0 0;border:0;place-items:center;display:grid}.architecture-map-toolbar button:hover{background:var(--workbench-hover)}.architecture-map-toolbar button:disabled{opacity:.38;pointer-events:none}.architecture-map-toolbar button+button,.architecture-map-toolbar span+button{border-left:1px solid var(--architecture-border)}.architecture-map-toolbar svg{width:13px;height:13px}.architecture-map-toolbar span{min-width:40px;color:var(--muted-foreground);font:9px/27px var(--compass-font-mono);text-align:center;padding:0 5px}.architecture-map{cursor:grab;touch-action:none;width:100%;height:100%;display:block}.architecture-map:active{cursor:grabbing}.architecture-arrow-default path{fill:var(--vscode-textLink-foreground,var(--compass-focus))}.architecture-arrow-incoming path{fill:var(--vscode-symbolIcon-interfaceForeground,#b7a1ff)}.architecture-arrow-outgoing path{fill:var(--vscode-charts-blue,#49a6ff)}.architecture-map-lanes{pointer-events:none}.architecture-map-lanes rect{fill:var(--architecture-raised)}@supports (color:color-mix(in lab,red,red)){.architecture-map-lanes rect{fill:color-mix(in srgb,var(--architecture-raised) 8%,transparent)}}.architecture-map-lanes rect{stroke:var(--architecture-border)}@supports (color:color-mix(in lab,red,red)){.architecture-map-lanes rect{stroke:color-mix(in srgb,var(--architecture-border) 20%,transparent)}}.architecture-map-lanes rect{stroke-width:1px}.architecture-map-lanes text{fill:var(--vscode-descriptionForeground,var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.architecture-map-lanes text{fill:color-mix(in srgb,var(--vscode-descriptionForeground,var(--muted-foreground)) 72%,transparent)}}.architecture-map-lanes text{font:700 8px/1 var(--compass-font-mono);letter-spacing:.12em;text-anchor:middle;text-transform:uppercase}.architecture-map-lanes .architecture-map-direction{fill:var(--vscode-descriptionForeground,var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.architecture-map-lanes .architecture-map-direction{fill:color-mix(in srgb,var(--vscode-descriptionForeground,var(--muted-foreground)) 52%,transparent)}}.architecture-map-lanes .architecture-map-direction{letter-spacing:.16em;text-anchor:start;font-size:7px}.architecture-route-line{fill:none;stroke:var(--vscode-textLink-foreground,var(--compass-focus));opacity:var(--architecture-route-opacity,.2);stroke-linecap:round;stroke-linejoin:round;transition:opacity .14s,stroke-width .14s}.architecture-routes g[data-evidence=inferred] .architecture-route-line{stroke:var(--vscode-editorWarning-foreground,var(--warning));stroke-dasharray:6 5}.architecture-routes g[data-direction=backward] .architecture-route-line{stroke-dasharray:3 5}.architecture-route-hit{fill:none;stroke:#0000;stroke-width:16px;cursor:pointer}.architecture-routes g[data-selected=true] .architecture-route-line{opacity:1;filter:drop-shadow(0 0 3px var(--compass-focus))}@supports (color:color-mix(in lab,red,red)){.architecture-routes g[data-selected=true] .architecture-route-line{filter:drop-shadow(0 0 3px color-mix(in srgb,var(--compass-focus) 55%,transparent))}}.architecture-routes g[data-focus-direction=incoming] .architecture-route-line{stroke:var(--vscode-symbolIcon-interfaceForeground,#b7a1ff);opacity:.86}.architecture-routes g[data-focus-direction=outgoing] .architecture-route-line{stroke:var(--vscode-charts-blue,#49a6ff);opacity:.9}.architecture-routes g[data-dimmed=true]{opacity:.09}.architecture-map-panel[data-route-mode=key] .architecture-routes g[data-dimmed=true]{opacity:.38}.architecture-map-nodes g[data-dimmed=true]{opacity:.27}.architecture-map-panel[data-route-mode=key] .architecture-map-nodes g[data-dimmed=true]{opacity:.48}.architecture-routes g:focus-visible .architecture-route-line{stroke:var(--vscode-focusBorder,var(--ring));opacity:1}.architecture-map-nodes g{cursor:grab;touch-action:none;transition:opacity .12s}.architecture-map-nodes g[data-dragging=true]{cursor:grabbing}.architecture-map-node-card{fill:var(--vscode-editorWidget-background,var(--card));stroke:var(--vscode-symbolIcon-moduleForeground,var(--compass-focus))}@supports (color:color-mix(in lab,red,red)){.architecture-map-node-card{stroke:color-mix(in srgb,var(--vscode-symbolIcon-moduleForeground,var(--compass-focus)) 25%,var(--architecture-border))}}.architecture-map-node-card{stroke-width:1px}.architecture-map-node-shadow{fill:#0000002b;stroke:none;transform:translateY(3px)}.architecture-map-node-accent{fill:var(--vscode-symbolIcon-moduleForeground,var(--compass-focus));opacity:.62;pointer-events:none}.architecture-map-nodes g:hover .architecture-map-node-card,.architecture-map-nodes g:focus-visible .architecture-map-node-card,.architecture-map-nodes g[data-selected=true] .architecture-map-node-card,.architecture-map-nodes g[data-dragging=true] .architecture-map-node-card{fill:var(--vscode-list-activeSelectionBackground,var(--accent))}@supports (color:color-mix(in lab,red,red)){.architecture-map-nodes g:hover .architecture-map-node-card,.architecture-map-nodes g:focus-visible .architecture-map-node-card,.architecture-map-nodes g[data-selected=true] .architecture-map-node-card,.architecture-map-nodes g[data-dragging=true] .architecture-map-node-card{fill:color-mix(in srgb,var(--vscode-list-activeSelectionBackground,var(--accent)) 38%,var(--vscode-editorWidget-background,var(--card)))}}.architecture-map-nodes g:hover .architecture-map-node-card,.architecture-map-nodes g:focus-visible .architecture-map-node-card,.architecture-map-nodes g[data-selected=true] .architecture-map-node-card,.architecture-map-nodes g[data-dragging=true] .architecture-map-node-card{stroke:var(--vscode-focusBorder,var(--ring));stroke-width:1.6px}.architecture-map-nodes g[data-selected=true] .architecture-map-node-accent,.architecture-map-nodes g[data-dragging=true] .architecture-map-node-accent{opacity:1}.architecture-map-nodes g[data-dragging=true] .architecture-map-node-shadow{transform:translateY(7px)}.architecture-map-node-name{fill:var(--vscode-editor-foreground,var(--foreground));font:650 12px/1.2 var(--vscode-font-family,system-ui);pointer-events:none}.architecture-map-node-meta{fill:var(--vscode-descriptionForeground,var(--muted-foreground));font:8.5px/1.2 var(--compass-font-mono);pointer-events:none}.architecture-map-node-grip{fill:var(--vscode-descriptionForeground,var(--muted-foreground));opacity:.45;pointer-events:none}.architecture-map-nodes g:hover .architecture-map-node-grip,.architecture-map-nodes g[data-dragging=true] .architecture-map-node-grip{opacity:.9}.architecture-map-legend{min-width:0;color:var(--muted-foreground);font:8px/1.2 var(--compass-font-mono);flex-wrap:wrap;gap:7px 12px;display:flex}.architecture-map-legend span{align-items:center;gap:4px;display:inline-flex}.architecture-map-legend button{color:var(--vscode-textLink-foreground,var(--workbench-link));font:inherit;background:0 0;border:0;padding:0}.architecture-map-legend button:hover{text-decoration:underline}.architecture-map-legend i,.architecture-map-legend svg{background:var(--vscode-textLink-foreground,var(--compass-focus));flex:none;width:18px;height:2px}.architecture-map-legend svg{background:0 0;width:11px;height:11px}.architecture-map-legend i[data-evidence=inferred]{background:repeating-linear-gradient(90deg,var(--vscode-editorWarning-foreground,var(--warning)) 0 4px,transparent 4px 7px)}.architecture-map-legend i[data-direction=incoming]{background:var(--vscode-symbolIcon-interfaceForeground,#b7a1ff)}.architecture-map-legend i[data-direction=outgoing]{background:var(--vscode-charts-blue,#49a6ff)}.architecture-map-legend i[data-direction=bidirectional]{width:18px;height:12px;color:var(--vscode-textLink-foreground,var(--compass-focus));font:normal 10px/1 var(--compass-font-mono);background:0 0;place-items:center;display:grid}.architecture-map-legend i[data-direction=feedback]{background:repeating-linear-gradient(90deg,var(--vscode-textLink-foreground,var(--compass-focus)) 0 3px,transparent 3px 6px)}.architecture-map-table{flex:none;min-width:0;font-size:9px}.architecture-map-table summary{cursor:pointer;color:var(--muted-foreground);white-space:nowrap;padding:3px 0}.architecture-map-table[open]>div{z-index:8;border:1px solid var(--architecture-border);background:var(--architecture-raised);border-radius:6px;width:min(620px,100% - 24px);max-height:280px;position:absolute;bottom:42px;right:12px;overflow:auto;box-shadow:0 8px 24px #00000038}.architecture-map-table table{border-collapse:collapse;table-layout:fixed;width:100%}.architecture-map-table th,.architecture-map-table td{border-top:1px solid var(--architecture-border);overflow-wrap:anywhere;text-align:left;padding:5px 7px}.architecture-map-empty{min-width:min(100%,760px);min-height:100%;color:var(--muted-foreground);text-align:center;align-content:center;place-items:center;gap:5px;padding:30px;font-size:11px;display:grid}.architecture-map-empty strong{color:var(--foreground);font-size:12px}.architecture-map-footer{border-top:1px solid var(--architecture-border);background:var(--architecture-raised);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 18px;min-width:0;min-height:40px;padding:8px 12px;display:flex;position:relative}.architecture-inspector{border-left:1px solid var(--architecture-border);grid-template-rows:auto auto auto 1fr auto;display:grid}.architecture-route-metrics,.architecture-evidence-counts{color:var(--muted-foreground);font:9px/1.3 var(--compass-font-mono);flex-wrap:wrap;gap:5px 12px;margin-top:9px;display:flex}.architecture-route-metrics span{align-items:center;gap:3px;display:inline-flex}.architecture-route-metrics svg{width:11px;height:11px}.architecture-inspector-tabs{border-bottom:1px solid var(--architecture-border);display:flex}.architecture-inspector-tabs button{min-height:32px;color:var(--muted-foreground);background:0 0;border:0;flex:1;font-size:10px;position:relative}.architecture-inspector-tabs button[aria-selected=true]{color:var(--foreground)}.architecture-inspector-tabs button[aria-selected=true]:after{background:var(--vscode-focusBorder,var(--ring));content:"";height:2px;position:absolute;bottom:-1px;left:10px;right:10px}.architecture-detail-filter{border-bottom:1px solid var(--architecture-border);padding:8px 10px;display:block;position:relative}.architecture-detail-filter>svg{left:19px}.architecture-inspector-scroll{min-height:0;padding:8px;overflow:auto}.architecture-symbol-list,.architecture-call-list{gap:6px;display:grid}.architecture-symbol-list article,.architecture-call-list article{border:1px solid var(--architecture-border);background:var(--vscode-editorWidget-background,var(--card));border-radius:5px;min-width:0;padding:9px}.architecture-symbol-list article{grid-template-columns:16px minmax(0,1fr);gap:7px;display:grid}.architecture-symbol-list svg{width:14px;height:14px;color:var(--vscode-symbolIcon-functionForeground,var(--compass-focus))}.architecture-symbol-list strong,.architecture-symbol-list small,.architecture-symbol-list article button,.architecture-symbol-list article span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.architecture-symbol-list strong,.architecture-call-list strong{font-size:10px;font-weight:600}.architecture-symbol-list small,.architecture-call-list small{color:var(--muted-foreground);font:8.5px/1.35 var(--compass-font-mono);margin-top:2px}.architecture-symbol-list article button,.architecture-symbol-list article span{width:100%;color:var(--vscode-textLink-foreground,var(--workbench-link));font:8.5px/1.3 var(--compass-font-mono);text-align:left;background:0 0;border:0;margin-top:7px;padding:0}.architecture-symbol-list article span{color:var(--vscode-disabledForeground,var(--muted-foreground))}.architecture-call-list article>div:first-child{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:5px;display:grid}.architecture-call-list article>div:first-child strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.architecture-call-list article>div:first-child span{color:var(--vscode-textLink-foreground,var(--compass-focus))}.architecture-call-list article>div:last-child{gap:8px;margin-top:7px;display:flex}.architecture-call-list button{color:var(--vscode-textLink-foreground,var(--workbench-link));background:0 0;border:0;padding:0;font-size:8.5px}.architecture-call-list button:hover,.architecture-symbol-list button:hover{text-decoration:underline}.architecture-inspector>.workbench-pagination{border-top:1px solid var(--architecture-border);padding:7px 9px}.architecture-inspector-empty{min-height:160px;color:var(--muted-foreground);text-align:center;place-items:center;padding:24px;font-size:10px;line-height:1.5;display:grid}.architecture-loading-rows{gap:7px;display:grid}.architecture-loading-rows i{border:1px solid var(--architecture-border);background:linear-gradient(90deg,var(--architecture-raised),var(--architecture-raised),var(--architecture-raised));border-radius:5px;height:58px}@supports (color:color-mix(in lab,red,red)){.architecture-loading-rows i{background:linear-gradient(90deg,var(--architecture-raised),color-mix(in srgb,var(--architecture-raised) 72%,var(--foreground)),var(--architecture-raised))}}.architecture-loading-rows i{background-size:240% 100%;animation:1.3s infinite architecture-row-load}@keyframes architecture-row-load{to{background-position:-140% 0}}.architecture-workspace button:focus-visible,.architecture-workspace [role=button]:focus-visible,.architecture-workspace select:focus-visible,.architecture-workspace input:focus-visible,.architecture-workspace summary:focus-visible{outline:2px solid var(--vscode-focusBorder,var(--ring));outline-offset:-1px}body.vscode-high-contrast .architecture-map-node-card,body.vscode-high-contrast-light .architecture-map-node-card,body.vscode-high-contrast .architecture-map-panel,body.vscode-high-contrast-light .architecture-map-panel,body.vscode-high-contrast .architecture-symbol-list article,body.vscode-high-contrast-light .architecture-symbol-list article,body.vscode-high-contrast .architecture-call-list article,body.vscode-high-contrast-light .architecture-call-list article{stroke:var(--vscode-contrastBorder,var(--ring));border-color:var(--vscode-contrastBorder,var(--ring));stroke-width:2px}body.vscode-high-contrast .architecture-map-panel,body.vscode-high-contrast-light .architecture-map-panel{box-shadow:none;border-width:2px}@media(max-width:1100px){.architecture-workspace{grid-template-columns:200px minmax(440px,1fr) 300px}.architecture-workspace[data-inspector-open=false]{grid-template-columns:200px minmax(440px,1fr)}.architecture-command-bar{grid-template-columns:minmax(220px,1fr) auto 30px}.architecture-evidence-filter{grid-area:2/2}.architecture-inspector-toggle{grid-area:1/3}}@media(max-width:1180px){.architecture-workspace{grid-template-rows:minmax(650px,78vh) auto;grid-template-columns:minmax(190px,220px) minmax(0,1fr);height:auto;min-height:100vh;overflow:auto}.architecture-workspace[data-inspector-open=false]{grid-template-columns:minmax(190px,220px) minmax(0,1fr)}.architecture-rail{grid-row:1/span 2}.architecture-stage{min-height:650px}.architecture-inspector{border-top:1px solid var(--architecture-border);border-left:0;height:min(560px,72vh);min-height:440px;overflow:hidden}}@media(max-width:620px){.architecture-workspace{display:block}.architecture-rail{border-right:0;border-bottom:1px solid var(--architecture-border);max-height:310px}.architecture-rail nav{max-height:190px}.architecture-stage{min-height:650px}.architecture-command-bar{grid-template-columns:1fr}.architecture-evidence-filter,.architecture-inspector-toggle{grid-area:auto}.architecture-map-legend{display:none}}@media(prefers-reduced-motion:reduce){.architecture-route-line,.architecture-map-nodes g{transition:none}.architecture-loading-rows i{animation:none}}.call-guide-shell{box-sizing:border-box;background:radial-gradient(circle at 77% 8%,var(--compass-focus),transparent 28rem),var(--vscode-editor-background,var(--background));min-height:100vh;padding:clamp(28px,5vw,72px) clamp(20px,5vw,72px) 40px;position:relative;overflow:auto}@supports (color:color-mix(in lab,red,red)){.call-guide-shell{background:radial-gradient(circle at 77% 8%,color-mix(in srgb,var(--compass-focus) 9%,transparent),transparent 28rem),var(--vscode-editor-background,var(--background))}}.call-guide-shell{isolation:isolate}.call-guide-grid{z-index:-1;opacity:.19;background-image:linear-gradient(var(--compass-grid) 1px,transparent 1px),linear-gradient(90deg,var(--compass-grid) 1px,transparent 1px);pointer-events:none;background-size:32px 32px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 68%);mask-image:linear-gradient(#000,#0000 68%)}.call-guide-hero,.call-guide-section,.call-guide-footer{width:min(1120px,100%);margin-inline:auto}.call-guide-hero{border-bottom:1px solid var(--vscode-panel-border,var(--border));grid-template-columns:minmax(300px,.9fr) minmax(420px,1.1fr);align-items:center;gap:clamp(40px,7vw,96px);min-height:330px;padding-bottom:clamp(36px,5vw,64px);display:grid}.call-guide-kicker,.call-guide-overline,.call-guide-route-label,.call-guide-route-readout,.call-guide-shortcut,.call-guide-coverage-badge{font-family:var(--compass-font-mono);text-transform:uppercase;letter-spacing:.12em}.call-guide-kicker{color:var(--vscode-textLink-foreground,var(--compass-focus));align-items:center;gap:8px;font-size:10px;font-weight:700;display:inline-flex}.call-guide-kicker svg{width:14px;height:14px}.call-guide-intro h1{max-width:650px;color:var(--vscode-editor-foreground,var(--foreground));letter-spacing:-.052em;text-wrap:balance;margin:18px 0 0;font-size:clamp(34px,5vw,62px);font-weight:620;line-height:.98}.call-guide-lead{max-width:580px;color:var(--vscode-descriptionForeground,var(--muted-foreground));margin:22px 0 0;font-size:clamp(14px,1.7vw,17px);line-height:1.65}.call-guide-source{border:1px solid var(--vscode-panel-border,var(--border));background:var(--vscode-editorWidget-background,var(--card));border-radius:4px;align-items:center;gap:8px;max-width:min(100%,560px);min-height:34px;margin-top:24px;padding:0 10px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.call-guide-source{background:color-mix(in srgb,var(--vscode-editorWidget-background,var(--card)) 88%,transparent)}}.call-guide-source{color:var(--vscode-descriptionForeground,var(--muted-foreground));font:11px/1.3 var(--compass-font-mono)}.call-guide-source>span:not(.call-guide-source-light){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.call-guide-source>svg{flex:none;width:14px;height:14px}.call-guide-source code{border-left:1px solid var(--vscode-panel-border,var(--border));color:var(--vscode-textLink-foreground,var(--compass-focus));font:inherit;flex:none;margin-left:3px;padding-left:9px}.call-guide-source-light{background:var(--vscode-disabledForeground,var(--compass-faint));border-radius:50%;flex:none;width:6px;height:6px}.call-guide-source[data-ready=true] .call-guide-source-light{background:var(--vscode-testing-iconPassed,var(--compass-success));box-shadow:0 0 9px var(--vscode-testing-iconPassed,var(--compass-success))}@supports (color:color-mix(in lab,red,red)){.call-guide-source[data-ready=true] .call-guide-source-light{box-shadow:0 0 9px color-mix(in srgb,var(--vscode-testing-iconPassed,var(--compass-success)) 60%,transparent)}}.call-guide-route{border:1px solid var(--vscode-panel-border,var(--border));background:linear-gradient(135deg,var(--vscode-editorWidget-background,var(--card)),var(--vscode-editor-background,var(--background)));border-radius:8px;padding:16px;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.call-guide-route{background:linear-gradient(135deg,color-mix(in srgb,var(--vscode-editorWidget-background,var(--card)) 94%,transparent),color-mix(in srgb,var(--vscode-editor-background,var(--background)) 82%,transparent))}}.call-guide-route{box-shadow:0 24px 70px #00000038}.call-guide-route:before{content:"";border:1px solid var(--compass-focus);width:230px;height:230px;position:absolute;top:46%;left:50%}@supports (color:color-mix(in lab,red,red)){.call-guide-route:before{border:1px solid color-mix(in srgb,var(--compass-focus) 14%,transparent)}}.call-guide-route:before{box-shadow:0 0 0 44px var(--compass-focus),0 0 0 88px var(--compass-focus);border-radius:50%;transform:translate(-50%,-50%)}@supports (color:color-mix(in lab,red,red)){.call-guide-route:before{box-shadow:0 0 0 44px color-mix(in srgb,var(--compass-focus) 3%,transparent),0 0 0 88px color-mix(in srgb,var(--compass-focus) 2%,transparent)}}.call-guide-route:before{pointer-events:none}.call-guide-route-label,.call-guide-route-readout{z-index:2;color:var(--vscode-disabledForeground,var(--compass-faint));justify-content:space-between;font-size:9px;display:flex;position:relative}.call-guide-route-label code{color:var(--vscode-textLink-foreground,var(--compass-focus));font:inherit;text-transform:none}.call-guide-route-stage{z-index:1;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:13%;min-height:226px;display:grid;position:relative}.call-guide-route-node{border:1px solid var(--vscode-panel-border,var(--border));background:var(--vscode-editor-background,var(--background));border-radius:5px;flex-direction:column;gap:4px;min-width:0;padding:12px;display:flex;position:relative;box-shadow:0 12px 32px #0003}.call-guide-route-node>span{color:var(--vscode-descriptionForeground,var(--muted-foreground));font:8px/1 var(--compass-font-mono);letter-spacing:.12em}.call-guide-route-node strong{color:var(--vscode-editor-foreground,var(--foreground));font:600 11px/1.3 var(--compass-font-mono);text-overflow:ellipsis;overflow:hidden}.call-guide-route-node small{color:var(--vscode-descriptionForeground,var(--muted-foreground));text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.call-guide-route-current{border-color:var(--vscode-focusBorder,var(--compass-focus));background:var(--vscode-focusBorder,var(--compass-focus));align-items:center;padding-block:17px}@supports (color:color-mix(in lab,red,red)){.call-guide-route-current{background:color-mix(in srgb,var(--vscode-focusBorder,var(--compass-focus)) 9%,var(--vscode-editor-background,var(--background)))}}.call-guide-route-current{text-align:center;box-shadow:0 0 0 1px var(--compass-focus),0 15px 40px var(--compass-focus)}@supports (color:color-mix(in lab,red,red)){.call-guide-route-current{box-shadow:0 0 0 1px color-mix(in srgb,var(--compass-focus) 16%,transparent),0 15px 40px color-mix(in srgb,var(--compass-focus) 14%,transparent)}}.call-guide-route-current>svg{width:17px;height:17px;color:var(--vscode-textLink-foreground,var(--compass-focus));margin-bottom:3px}.call-guide-route-line{z-index:-1;background:var(--compass-focus);width:32%;height:1px;position:absolute;top:50%;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.call-guide-route-line{background:color-mix(in srgb,var(--compass-focus) 44%,var(--border))}}.call-guide-route-line-in{left:18%}.call-guide-route-line-out{right:18%}.call-guide-route-line i{background:var(--vscode-focusBorder,var(--compass-focus));width:5px;height:5px;box-shadow:0 0 9px var(--vscode-focusBorder,var(--compass-focus));border-radius:50%;animation:2.2s linear infinite call-guide-trace;position:absolute;top:-2px}.call-guide-route-line-out i{animation-delay:1.1s}@keyframes call-guide-trace{0%{left:-8px}to{left:calc(100% + 8px)}}.call-guide-route-readout{border-top:1px solid var(--vscode-panel-border,var(--border));letter-spacing:.08em;padding-top:11px}.call-guide-section{border-bottom:1px solid var(--vscode-panel-border,var(--border));padding-block:clamp(34px,5vw,58px)}.call-guide-heading{justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:24px;display:flex}.call-guide-overline{color:var(--vscode-textLink-foreground,var(--compass-focus));margin-bottom:7px;font-size:9px;font-weight:700;display:block}.call-guide-heading h2{color:var(--vscode-editor-foreground,var(--foreground));letter-spacing:-.025em;margin:0;font-size:clamp(19px,2.4vw,26px);font-weight:600}.call-guide-heading>p{max-width:420px;color:var(--vscode-descriptionForeground,var(--muted-foreground));text-align:right;margin:0;font-size:11px;line-height:1.5}.call-guide-shortcut{color:var(--vscode-descriptionForeground,var(--muted-foreground));white-space:nowrap;align-items:center;gap:7px;font-size:9px;display:inline-flex}.call-guide-shortcut svg{width:12px;height:12px;color:var(--vscode-textLink-foreground,var(--compass-focus))}.call-guide-steps{grid-template-columns:minmax(170px,.8fr) minmax(340px,1.45fr) minmax(170px,.8fr);gap:10px;margin:0;padding:0;list-style:none;display:grid}.call-guide-steps>li{border:1px solid var(--vscode-panel-border,var(--border));background:var(--vscode-editorWidget-background,var(--card));border-radius:5px;align-content:start;gap:17px;min-height:168px;padding:18px;display:grid;position:relative}@supports (color:color-mix(in lab,red,red)){.call-guide-steps>li{background:color-mix(in srgb,var(--vscode-editorWidget-background,var(--card)) 72%,transparent)}}.call-guide-steps>li>svg{width:22px;height:22px;color:var(--vscode-textLink-foreground,var(--compass-focus))}.call-guide-step-number{color:var(--vscode-disabledForeground,var(--compass-faint));font:9px/1 var(--compass-font-mono);letter-spacing:.1em;position:absolute;top:17px;right:17px}.call-guide-steps h3{color:var(--vscode-editor-foreground,var(--foreground));margin:0;font-size:13px;font-weight:600}.call-guide-steps p{color:var(--vscode-descriptionForeground,var(--muted-foreground));margin:6px 0 0;font-size:11px;line-height:1.5}.call-guide-step-menu{grid-template-columns:minmax(150px,.85fr) minmax(195px,1.15fr);align-items:center}.call-guide-menu-preview{min-width:0;padding-right:44%;font-size:10px;position:relative}.call-guide-menu-parent,.call-guide-submenu{border:1px solid var(--vscode-menu-border,var(--border));background:var(--vscode-menu-background,var(--popover));color:var(--vscode-menu-foreground,var(--popover-foreground));border-radius:4px;box-shadow:0 12px 30px #00000040}.call-guide-menu-parent{border-color:var(--vscode-focusBorder,var(--compass-focus));background:var(--vscode-menu-selectionBackground,var(--accent));min-height:31px;color:var(--vscode-menu-selectionForeground,var(--accent-foreground));grid-template-columns:15px 1fr 13px;align-items:center;gap:7px;padding:0 8px;display:grid}.call-guide-menu-parent svg,.call-guide-submenu svg{width:13px;height:13px}.call-guide-submenu{z-index:2;width:58%;min-width:165px;padding:4px;position:absolute;top:22px;right:0}.call-guide-submenu span{white-space:nowrap;border-radius:2px;align-items:center;gap:7px;min-height:26px;padding:0 7px;display:flex}.call-guide-submenu span.is-active{background:var(--vscode-menu-selectionBackground,var(--accent));color:var(--vscode-menu-selectionForeground,var(--accent-foreground))}.call-guide-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.call-guide-action{border:1px solid var(--vscode-panel-border,var(--border));background:var(--vscode-editorWidget-background,var(--card));min-height:104px;color:var(--vscode-editor-foreground,var(--foreground));font:inherit;text-align:left;border-radius:5px;outline:none;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:18px;transition:border-color .14s,background .14s,transform .14s;display:grid;position:relative}.call-guide-action:not(:disabled):hover{border-color:var(--vscode-focusBorder,var(--compass-focus));background:var(--vscode-list-hoverBackground,var(--workbench-hover))}@supports (color:color-mix(in lab,red,red)){.call-guide-action:not(:disabled):hover{background:color-mix(in srgb,var(--vscode-list-hoverBackground,var(--workbench-hover)) 70%,var(--vscode-editorWidget-background,var(--card)))}}.call-guide-action:not(:disabled):hover{transform:translateY(-2px)}.call-guide-action:focus-visible,.call-guide-walkthrough:focus-visible{outline:2px solid var(--vscode-focusBorder,var(--ring));outline-offset:2px}.call-guide-action:disabled{cursor:not-allowed;opacity:.46}.call-guide-action[data-primary=true]{border-color:var(--vscode-focusBorder,var(--compass-focus))}@supports (color:color-mix(in lab,red,red)){.call-guide-action[data-primary=true]{border-color:color-mix(in srgb,var(--vscode-focusBorder,var(--compass-focus)) 72%,var(--border))}}.call-guide-action[data-primary=true]{background:linear-gradient(130deg,var(--vscode-focusBorder,var(--compass-focus)),transparent 58%),var(--vscode-editorWidget-background,var(--card))}@supports (color:color-mix(in lab,red,red)){.call-guide-action[data-primary=true]{background:linear-gradient(130deg,color-mix(in srgb,var(--vscode-focusBorder,var(--compass-focus)) 13%,transparent),transparent 58%),var(--vscode-editorWidget-background,var(--card))}}.call-guide-action-icon{border:1px solid var(--vscode-panel-border,var(--border));background:var(--vscode-editor-background,var(--background));width:34px;height:34px;color:var(--vscode-textLink-foreground,var(--compass-focus));border-radius:4px;place-items:center;display:grid}.call-guide-action-icon svg{width:16px;height:16px}.call-guide-action strong,.call-guide-action small{display:block}.call-guide-action strong{font-size:12px;font-weight:600}.call-guide-action small{color:var(--vscode-descriptionForeground,var(--muted-foreground));margin-top:5px;font-size:10px}.call-guide-action-arrow{width:15px;height:15px;color:var(--vscode-disabledForeground,var(--compass-faint));transition:transform .14s}.call-guide-action:not(:disabled):hover .call-guide-action-arrow{color:var(--vscode-textLink-foreground,var(--compass-focus));transform:translate(3px)}.call-guide-action em{color:var(--vscode-textLink-foreground,var(--compass-focus));font:normal 8px/1 var(--compass-font-mono);letter-spacing:.08em;text-transform:uppercase;position:absolute;top:8px;right:8px}.call-guide-footer{justify-content:space-between;align-items:center;gap:30px;padding-top:24px;display:flex}.call-guide-coverage{align-items:center;gap:13px;max-width:760px;display:flex}.call-guide-coverage-badge{border:1px solid var(--vscode-testing-iconPassed,var(--compass-success));flex:none;padding:5px 7px}@supports (color:color-mix(in lab,red,red)){.call-guide-coverage-badge{border:1px solid color-mix(in srgb,var(--vscode-testing-iconPassed,var(--compass-success)) 50%,var(--border))}}.call-guide-coverage-badge{color:var(--vscode-testing-iconPassed,var(--compass-success));border-radius:3px;font-size:8px;font-weight:700}.call-guide-coverage p{color:var(--vscode-descriptionForeground,var(--muted-foreground));margin:0;font-size:10px;line-height:1.55}.call-guide-walkthrough{color:var(--vscode-textLink-foreground,var(--compass-focus));font:11px/1 var(--compass-font-sans);background:0 0;border:0;outline:none;flex:none;align-items:center;gap:7px;padding:7px 0;display:inline-flex}.call-guide-walkthrough svg{width:14px;height:14px}.call-guide-walkthrough svg:last-child{width:12px;transition:transform .14s}.call-guide-walkthrough:hover svg:last-child{transform:translate(2px)}body.vscode-high-contrast .call-guide-route,body.vscode-high-contrast-light .call-guide-route,body.vscode-high-contrast .call-guide-steps>li,body.vscode-high-contrast-light .call-guide-steps>li,body.vscode-high-contrast .call-guide-action,body.vscode-high-contrast-light .call-guide-action{border-width:2px;border-color:var(--vscode-contrastBorder,var(--ring))}@media(max-width:900px){.call-guide-hero{grid-template-columns:1fr;gap:32px}.call-guide-route{box-sizing:border-box;width:min(620px,100%)}.call-guide-steps{grid-template-columns:1fr 1fr}.call-guide-step-menu{grid-area:2/1/auto/-1}}@media(max-width:680px){.call-guide-shell{padding-inline:16px}.call-guide-heading,.call-guide-footer{flex-direction:column;align-items:flex-start}.call-guide-heading>p{text-align:left}.call-guide-shortcut{display:none}.call-guide-steps,.call-guide-actions{grid-template-columns:1fr}.call-guide-step-menu{grid-area:auto;grid-template-columns:1fr}.call-guide-menu-preview{padding-right:min(42%,180px)}.call-guide-coverage{flex-direction:column;align-items:flex-start}}@media(max-width:440px){.call-guide-route-stage{gap:5%}.call-guide-route-node{padding:9px 7px}.call-guide-route-node small{display:none}.call-guide-menu-preview{padding:0}.call-guide-submenu{width:auto;margin:6px 0 0 18px;position:relative;top:auto}}@media(prefers-reduced-motion:reduce){.call-guide-route-line i{animation:none}.call-guide-action,.call-guide-action-arrow,.call-guide-walkthrough svg:last-child{transition:none}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{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:"";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:"";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:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}} +@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-content:"";--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--spacing:.25rem;--container-xs:20rem;--container-md:28rem;--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 ;--font-weight-medium:500;--radius-md:calc(var(--radius) - 2px);--radius-4xl:2rem;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--compass-font-sans);--default-mono-font-family:var(--compass-font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.top-2{top:calc(var(--spacing) * 2)}.right-2{right:calc(var(--spacing) * 2)}.bottom-3{bottom:calc(var(--spacing) * 3)}.bottom-4{bottom:calc(var(--spacing) * 4)}.left-1\/2{left:50%}.left-3{left:calc(var(--spacing) * 3)}.left-4{left:calc(var(--spacing) * 4)}.isolate{isolation:isolate}.z-20{z-index:20}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mt-2{margin-top:calc(var(--spacing) * 2)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-full{width:100%;height:100%}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-\[calc\(100\%-1px\)\]{height:calc(100% - 1px)}.h-screen{height:100vh}.max-h-24{max-height:calc(var(--spacing) * 24)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\[min\(44rem\,calc\(100\%-1\.5rem\)\)\]{max-width:min(44rem,100% - 1.5rem)}.max-w-md{max-width:var(--container-md)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.min-w-7{min-width:calc(var(--spacing) * 7)}.min-w-8{min-width:calc(var(--spacing) * 8)}.min-w-9{min-width:calc(var(--spacing) * 9)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y: calc(-50% - 2px) ;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.touch-none{touch-action:none}.resize{resize:both}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-\[--spacing\(var\(--gap\)\)\]{gap:calc(var(--spacing) * var(--gap))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.rounded-4xl{border-radius:var(--radius-4xl)}.rounded-\[2px\]{border-radius:2px}.rounded-\[inherit\]{border-radius:inherit}.rounded-\[min\(var\(--radius-md\)\,10px\)\]{border-radius:min(var(--radius-md),10px)}.rounded-\[min\(var\(--radius-md\)\,12px\)\]{border-radius:min(var(--radius-md),12px)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-border{border-color:var(--border)}.border-destructive\/50{border-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.border-destructive\/50{border-color:color-mix(in oklab,var(--destructive) 50%,transparent)}}.border-input{border-color:var(--input)}.border-transparent{border-color:#0000}.bg-background,.bg-background\/95{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-background\/95{background-color:color-mix(in oklab,var(--background) 95%,transparent)}}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/10{background-color:color-mix(in oklab,var(--destructive) 10%,transparent)}}.bg-foreground{background-color:var(--foreground)}.bg-muted{background-color:var(--muted)}.bg-popover\/95{background-color:var(--popover)}@supports (color:color-mix(in lab,red,red)){.bg-popover\/95{background-color:color-mix(in oklab,var(--popover) 95%,transparent)}}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.bg-clip-padding{background-clip:padding-box}.fill-foreground{fill:var(--foreground)}.p-1{padding:var(--spacing)}.p-3{padding:calc(var(--spacing) * 3)}.p-\[3px\]{padding:3px}.p-px{padding:1px}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.text-left{text-align:left}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.8rem\]{font-size:.8rem}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.text-balance{text-wrap:balance}.whitespace-nowrap{white-space:nowrap}.text-background{color:var(--background)}.text-card-foreground{color:var(--card-foreground)}.text-destructive{color:var(--destructive)}.text-foreground,.text-foreground\/60{color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.text-foreground\/60{color:color-mix(in oklab,var(--foreground) 60%,transparent)}}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.underline-offset-4{text-underline-offset:4px}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.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-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-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}.select-none{-webkit-user-select:none;user-select:none}.paused{animation-play-state:paused}.running{animation-play-state:running}.group-has-\[\>svg\]\/alert\:col-start-2:is(:where(.group\/alert):has(>svg) *){grid-column-start:2}.group-data-\[orientation\=horizontal\]\/tabs\:h-8:is(:where(.group\/tabs)[data-orientation=horizontal] *){height:calc(var(--spacing) * 8)}.group-data-\[orientation\=vertical\]\/tabs\:h-fit:is(:where(.group\/tabs)[data-orientation=vertical] *){height:fit-content}.group-data-\[orientation\=vertical\]\/tabs\:w-full:is(:where(.group\/tabs)[data-orientation=vertical] *){width:100%}.group-data-\[orientation\=vertical\]\/tabs\:flex-col:is(:where(.group\/tabs)[data-orientation=vertical] *){flex-direction:column}.group-data-\[orientation\=vertical\]\/tabs\:justify-start:is(:where(.group\/tabs)[data-orientation=vertical] *){justify-content:flex-start}.group-data-\[spacing\=0\]\/toggle-group\:rounded-none:is(:where(.group\/toggle-group)[data-spacing="0"] *){border-radius:0}.group-data-\[spacing\=0\]\/toggle-group\:px-2:is(:where(.group\/toggle-group)[data-spacing="0"] *){padding-inline:calc(var(--spacing) * 2)}.group-data-\[variant\=line\]\/tabs-list\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *){background-color:#0000}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-6::file-selector-button{height:calc(var(--spacing) * 6)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:bg-foreground:after{content:var(--tw-content);background-color:var(--foreground)}.after\:opacity-0:after{content:var(--tw-content);opacity:0}.after\:transition-opacity:after{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.group-data-\[orientation\=horizontal\]\/tabs\:after\:inset-x-0:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);inset-inline:0}.group-data-\[orientation\=horizontal\]\/tabs\:after\:bottom-\[-5px\]:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);bottom:-5px}.group-data-\[orientation\=horizontal\]\/tabs\:after\:h-0\.5:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);height:calc(var(--spacing) * .5)}.group-data-\[orientation\=vertical\]\/tabs\:after\:inset-y-0:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);inset-block:0}.group-data-\[orientation\=vertical\]\/tabs\:after\:-right-1:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);right:calc(var(--spacing) * -1)}.group-data-\[orientation\=vertical\]\/tabs\:after\:w-0\.5:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);width:calc(var(--spacing) * .5)}@media(hover:hover){.hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover{background-color:color-mix(in oklch,var(--secondary),var(--foreground) 5%)}}.hover\:bg-destructive\/20:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/20:hover{background-color:color-mix(in oklab,var(--destructive) 20%,transparent)}}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:bg-primary\/80:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab,var(--primary) 80%,transparent)}}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-muted-foreground:hover{color:var(--muted-foreground)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:z-10:focus,.focus-visible\:z-10:focus-visible{z-index:10}.focus-visible\:border-destructive\/40:focus-visible{border-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:border-destructive\/40:focus-visible{border-color:color-mix(in oklab,var(--destructive) 40%,transparent)}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-3:focus-visible,.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + 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-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-ring:focus-visible{outline-color:var(--ring)}.active\:not-aria-\[haspopup\]\:translate-y-px:active:not([aria-haspopup]){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-input\/50:disabled{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.disabled\:bg-input\/50:disabled{background-color:color-mix(in oklab,var(--input) 50%,transparent)}}.disabled\:opacity-50:disabled{opacity:.5}:where([data-slot=button-group]) .in-data-\[slot\=button-group\]\:rounded-lg{border-radius:var(--radius)}.has-data-\[icon\=inline-end\]\:pr-1:has([data-icon=inline-end]){padding-right:var(--spacing)}.has-data-\[icon\=inline-end\]\:pr-1\.5:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-end\]\:pr-2:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 2)}.group-data-\[spacing\=0\]\/toggle-group\:has-data-\[icon\=inline-end\]\:pr-1\.5:is(:where(.group\/toggle-group)[data-spacing="0"] *):has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-start\]\:pl-1:has([data-icon=inline-start]){padding-left:var(--spacing)}.has-data-\[icon\=inline-start\]\:pl-1\.5:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-start\]\:pl-2:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 2)}.group-data-\[spacing\=0\]\/toggle-group\:has-data-\[icon\=inline-start\]\:pl-1\.5:is(:where(.group\/toggle-group)[data-spacing="0"] *):has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 1.5)}.has-data-\[slot\=alert-action\]\:relative:has([data-slot=alert-action]){position:relative}.has-data-\[slot\=alert-action\]\:pr-18:has([data-slot=alert-action]){padding-right:calc(var(--spacing) * 18)}.has-data-\[slot\=kbd\]\:pr-1\.5:has([data-slot=kbd]){padding-right:calc(var(--spacing) * 1.5)}.has-\[\>svg\]\:grid-cols-\[auto_1fr\]:has(>svg){grid-template-columns:auto 1fr}.has-\[\>svg\]\:gap-x-2:has(>svg){column-gap:calc(var(--spacing) * 2)}.aria-expanded\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.aria-expanded\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.aria-expanded\:text-foreground[aria-expanded=true]{color:var(--foreground)}.aria-expanded\:text-secondary-foreground[aria-expanded=true]{color:var(--secondary-foreground)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-3[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + 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)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.aria-pressed\:bg-muted[aria-pressed=true]{background-color:var(--muted)}.data-closed\:animate-out[data-closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-closed\:fade-out-0[data-closed]{--tw-exit-opacity:0}.data-closed\:zoom-out-95[data-closed]{--tw-exit-scale:.95}.data-horizontal\:h-2\.5[data-horizontal]{height:calc(var(--spacing) * 2.5)}.data-horizontal\:h-px[data-horizontal]{height:1px}.data-horizontal\:w-full[data-horizontal]{width:100%}.data-horizontal\:flex-col[data-horizontal]{flex-direction:column}.data-horizontal\:border-t[data-horizontal]{border-top-style:var(--tw-border-style);border-top-width:1px}.data-horizontal\:border-t-transparent[data-horizontal]{border-top-color:#0000}.data-open\:animate-in[data-open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-open\:fade-in-0[data-open]{--tw-enter-opacity:0}.data-open\:zoom-in-95[data-open]{--tw-enter-scale:.95}.data-vertical\:h-full[data-vertical]{height:100%}.data-vertical\:w-2\.5[data-vertical]{width:calc(var(--spacing) * 2.5)}.data-vertical\:w-px[data-vertical]{width:1px}.data-vertical\:flex-col[data-vertical]{flex-direction:column}.data-vertical\:items-stretch[data-vertical]{align-items:stretch}.data-vertical\:self-stretch[data-vertical]{align-self:stretch}.data-vertical\:border-l[data-vertical]{border-left-style:var(--tw-border-style);border-left-width:1px}.data-vertical\:border-l-transparent[data-vertical]{border-left-color:#0000}.data-\[orientation\=horizontal\]\:flex-col[data-orientation=horizontal]{flex-direction:column}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[size\=sm\]\:rounded-\[min\(var\(--radius-md\)\,10px\)\][data-size=sm]{border-radius:min(var(--radius-md),10px)}:is(.\*\:data-\[slot\=alert-description\]\:text-destructive\/90>*)[data-slot=alert-description]{color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){:is(.\*\:data-\[slot\=alert-description\]\:text-destructive\/90>*)[data-slot=alert-description]{color:color-mix(in oklab,var(--destructive) 90%,transparent)}}:is(.\*\*\:data-\[slot\=kbd\]\:relative *)[data-slot=kbd]{position:relative}:is(.\*\*\:data-\[slot\=kbd\]\:isolate *)[data-slot=kbd]{isolation:isolate}:is(.\*\*\:data-\[slot\=kbd\]\:z-50 *)[data-slot=kbd]{z-index:50}:is(.\*\*\:data-\[slot\=kbd\]\:rounded-sm *)[data-slot=kbd]{border-radius:calc(var(--radius) - 4px)}.group-data-horizontal\/toggle-group\:data-\[spacing\=0\]\:first\:rounded-l-lg:is(:where(.group\/toggle-group)[data-horizontal] *)[data-spacing="0"]:first-child{border-top-left-radius:var(--radius);border-bottom-left-radius:var(--radius)}.group-data-vertical\/toggle-group\:data-\[spacing\=0\]\:first\:rounded-t-lg:is(:where(.group\/toggle-group)[data-vertical] *)[data-spacing="0"]:first-child{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.group-data-horizontal\/toggle-group\:data-\[spacing\=0\]\:last\:rounded-r-lg:is(:where(.group\/toggle-group)[data-horizontal] *)[data-spacing="0"]:last-child{border-top-right-radius:var(--radius);border-bottom-right-radius:var(--radius)}.group-data-vertical\/toggle-group\:data-\[spacing\=0\]\:last\:rounded-b-lg:is(:where(.group\/toggle-group)[data-vertical] *)[data-spacing="0"]:last-child{border-bottom-right-radius:var(--radius);border-bottom-left-radius:var(--radius)}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--foreground)}.group-data-\[variant\=default\]\/tabs-list\:data-\[state\=active\]\:shadow-sm:is(:where(.group\/tabs-list)[data-variant=default] *)[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{background-color:#0000}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:shadow-none:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:after\:opacity-100:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]:after{content:var(--tw-content);opacity:1}.data-\[state\=delayed-open\]\:animate-in[data-state=delayed-open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=delayed-open\]\:fade-in-0[data-state=delayed-open]{--tw-enter-opacity:0}.data-\[state\=delayed-open\]\:zoom-in-95[data-state=delayed-open]{--tw-enter-scale:.95}.data-\[state\=on\]\:bg-muted[data-state=on]{background-color:var(--muted)}.data-\[variant\=line\]\:rounded-none[data-variant=line]{border-radius:0}.group-data-horizontal\/toggle-group\:data-\[spacing\=0\]\:data-\[variant\=outline\]\:border-l-0:is(:where(.group\/toggle-group)[data-horizontal] *)[data-spacing="0"][data-variant=outline]{border-left-style:var(--tw-border-style);border-left-width:0}.group-data-vertical\/toggle-group\:data-\[spacing\=0\]\:data-\[variant\=outline\]\:border-t-0:is(:where(.group\/toggle-group)[data-vertical] *)[data-spacing="0"][data-variant=outline]{border-top-style:var(--tw-border-style);border-top-width:0}.group-data-horizontal\/toggle-group\:data-\[spacing\=0\]\:data-\[variant\=outline\]\:first\:border-l:is(:where(.group\/toggle-group)[data-horizontal] *)[data-spacing="0"][data-variant=outline]:first-child{border-left-style:var(--tw-border-style);border-left-width:1px}.group-data-vertical\/toggle-group\:data-\[spacing\=0\]\:data-\[variant\=outline\]\:first\:border-t:is(:where(.group\/toggle-group)[data-vertical] *)[data-spacing="0"][data-variant=outline]:first-child{border-top-style:var(--tw-border-style);border-top-width:1px}@media(min-width:48rem){.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:text-pretty{text-wrap:pretty}}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:bg-destructive\/20:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/20:is(.dark *){background-color:color-mix(in oklab,var(--destructive) 20%,transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--input) 30%,transparent)}}.dark\:text-muted-foreground:is(.dark *){color:var(--muted-foreground)}@media(hover:hover){.dark\:hover\:bg-destructive\/30:is(.dark *):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-destructive\/30:is(.dark *):hover{background-color:color-mix(in oklab,var(--destructive) 30%,transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input) 50%,transparent)}}.dark\:hover\:bg-muted\/50:is(.dark *):hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-muted\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--muted) 50%,transparent)}}.dark\:hover\:text-foreground:is(.dark *):hover{color:var(--foreground)}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:disabled\:bg-input\/80:is(.dark *):disabled{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:disabled\:bg-input\/80:is(.dark *):disabled{background-color:color-mix(in oklab,var(--input) 80%,transparent)}}.dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:color-mix(in oklab,var(--destructive) 50%,transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:data-\[state\=active\]\:border-input:is(.dark *)[data-state=active]{border-color:var(--input)}.dark\:data-\[state\=active\]\:bg-input\/30:is(.dark *)[data-state=active]{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[state\=active\]\:bg-input\/30:is(.dark *)[data-state=active]{background-color:color-mix(in oklab,var(--input) 30%,transparent)}}.dark\:data-\[state\=active\]\:text-foreground:is(.dark *)[data-state=active]{color:var(--foreground)}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:border-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{border-color:#0000}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{background-color:#0000}.\[\&_a\]\:underline a{text-decoration-line:underline}.\[\&_a\]\:underline-offset-3 a{text-underline-offset:3px}@media(hover:hover){.\[\&_a\]\:hover\:text-foreground a:hover{color:var(--foreground)}}.\[\&_p\:not\(\:last-child\)\]\:mb-4 p:not(:last-child){margin-bottom:calc(var(--spacing) * 4)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}@media(hover:hover){.\[a\]\:hover\:bg-destructive\/20:is(a):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.\[a\]\:hover\:bg-destructive\/20:is(a):hover{background-color:color-mix(in oklab,var(--destructive) 20%,transparent)}}.\[a\]\:hover\:bg-muted:is(a):hover{background-color:var(--muted)}.\[a\]\:hover\:bg-primary\/80:is(a):hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.\[a\]\:hover\:bg-primary\/80:is(a):hover{background-color:color-mix(in oklab,var(--primary) 80%,transparent)}}.\[a\]\:hover\:bg-secondary\/80:is(a):hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.\[a\]\:hover\:bg-secondary\/80:is(a):hover{background-color:color-mix(in oklab,var(--secondary) 80%,transparent)}}.\[a\]\:hover\:text-muted-foreground:is(a):hover{color:var(--muted-foreground)}}:is(.\*\:\[svg\]\:row-span-2>*):is(svg){grid-row:span 2/span 2}:is(.\*\:\[svg\]\:translate-y-0\.5>*):is(svg){--tw-translate-y:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}:is(.\*\:\[svg\]\:text-current>*):is(svg){color:currentColor}:is(.\*\:\[svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4>*):is(svg:not([class*=size-])){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3\!>svg{width:calc(var(--spacing) * 3)!important;height:calc(var(--spacing) * 3)!important}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}.init-shell{box-sizing:border-box;background:linear-gradient(var(--compass-grid) 1px,transparent 1px),linear-gradient(90deg,var(--compass-grid) 1px,transparent 1px),var(--background);height:100vh;min-height:100vh;color:var(--foreground);background-size:32px 32px;padding:clamp(28px,5vw,72px);overflow:auto}.init-header,.init-progress-header{justify-content:space-between;align-items:flex-end;gap:28px;width:min(1080px,100%);margin:0 auto clamp(26px,4vw,46px);display:flex}.init-eyebrow{color:var(--compass-focus);font:600 11px/1.3 var(--compass-font-mono);letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px}.init-header h1,.init-progress-header h1,.init-result-card h1{color:var(--foreground);font:600 clamp(28px,4vw,44px)/1.08 var(--compass-font-sans);letter-spacing:-.035em;margin:0}.init-header-copy,.init-progress-header p:not(.init-eyebrow),.init-result-card>p:not(.init-eyebrow){max-width:650px;color:var(--muted-foreground);margin:13px 0 0;font-size:14px;line-height:1.65}.init-repository-badge{border:1px solid var(--compass-line);background:var(--vscode-editorWidget-background,var(--compass-panel));border-radius:5px;align-items:center;gap:11px;min-width:190px;max-width:320px;padding:11px 13px;display:flex}.init-repository-badge>svg{width:16px;color:var(--compass-focus)}.init-repository-badge span{min-width:0}.init-repository-badge small,.init-repository-badge strong{display:block}.init-repository-badge small{color:var(--compass-faint);font:10px/1.2 var(--compass-font-mono);text-transform:uppercase;margin-bottom:2px}.init-repository-badge strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.init-layout{border:1px solid var(--compass-line-strong);background:var(--vscode-editorWidget-background,var(--compass-panel));width:min(1080px,100%);min-height:520px;box-shadow:0 22px 55px var(--vscode-widget-shadow,#0000003d);border-radius:7px;grid-template-columns:245px minmax(0,1fr);margin:0 auto;display:grid;overflow:hidden}.init-step-nav{border-right:1px solid var(--compass-line);background:var(--compass-panel);flex-direction:column;justify-content:space-between;min-width:0;padding:27px 20px 20px;display:flex}@supports (color:color-mix(in lab,red,red)){.init-step-nav{background:color-mix(in srgb,var(--compass-panel) 88%,var(--compass-canvas))}}.init-step-nav ol,.init-runway,.init-rule-list{margin:0;padding:0;list-style:none}.init-step-nav li{padding-bottom:10px;position:relative}.init-step-nav li:not(:last-child):after{background:var(--compass-line);content:"";width:1px;position:absolute;top:37px;bottom:-1px;left:22px}.init-step-nav li[data-state=complete]:after{background:var(--compass-success)}@supports (color:color-mix(in lab,red,red)){.init-step-nav li[data-state=complete]:after{background:color-mix(in srgb,var(--compass-success) 62%,var(--compass-line))}}.init-step-nav button{width:100%;color:var(--muted-foreground);text-align:left;background:0 0;border:0;border-radius:4px;align-items:center;gap:11px;padding:7px;display:flex}.init-step-nav button:not(:disabled):hover{background:var(--workbench-hover);color:var(--foreground)}.init-step-nav button:focus-visible{outline:2px solid var(--compass-focus);outline-offset:1px}.init-step-marker{z-index:1;border:1px solid var(--compass-line-strong);background:var(--compass-panel);border-radius:50%;flex:0 0 30px;place-items:center;width:30px;height:30px;display:grid}.init-step-marker svg{width:13px;height:13px}.init-step-nav li[data-state=active] button{color:var(--foreground)}.init-step-nav li[data-state=active] .init-step-marker{border-color:var(--compass-focus);background:var(--compass-focus-soft);color:var(--compass-focus);box-shadow:0 0 0 4px var(--compass-focus-soft)}.init-step-nav li[data-state=complete] .init-step-marker{border-color:var(--compass-success);color:var(--compass-success)}.init-step-nav button small,.init-step-nav button strong{display:block}.init-step-nav button small{color:var(--compass-faint);font:9px/1.2 var(--compass-font-mono);letter-spacing:.06em;text-transform:uppercase;margin-bottom:2px}.init-step-nav button strong{font-size:12px;font-weight:550}.init-local-note{border:1px solid var(--compass-line);background:var(--compass-focus);border-radius:5px;align-items:flex-start;gap:9px;padding:12px;display:flex}@supports (color:color-mix(in lab,red,red)){.init-local-note{background:color-mix(in srgb,var(--compass-focus) 6%,transparent)}}.init-local-note>svg{width:14px;color:var(--compass-focus);flex:0 0 14px}.init-local-note p{color:var(--muted-foreground);margin:0;font-size:10px;line-height:1.5}.init-local-note strong,.init-local-note code{display:block}.init-local-note strong{color:var(--foreground);margin-bottom:2px;font-size:10px}.init-local-note code{color:var(--compass-focus);font-family:var(--compass-font-mono);margin-top:4px}.init-stage{flex-direction:column;min-width:0;padding:clamp(28px,5vw,52px);display:flex}.init-stage-heading{align-items:flex-start;gap:16px;margin-bottom:28px;display:flex}.init-stage-heading>span{color:var(--compass-focus);font:600 11px/1 var(--compass-font-mono);padding-top:5px}.init-stage-heading h2{color:var(--foreground);font:600 clamp(21px,3vw,28px)/1.2 var(--compass-font-sans);letter-spacing:-.025em;margin:0}.init-stage-heading p{color:var(--muted-foreground);margin:8px 0 0;font-size:12px;line-height:1.55}.init-scope-grid,.init-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.init-choice{border:1px solid var(--compass-line);background:var(--vscode-input-background,var(--background));cursor:pointer;border-radius:6px;align-items:flex-start;gap:12px;min-height:125px;padding:18px;display:flex;position:relative}.init-choice:hover{border-color:var(--compass-focus)}@supports (color:color-mix(in lab,red,red)){.init-choice:hover{border-color:color-mix(in srgb,var(--compass-focus) 48%,var(--compass-line))}}.init-choice[data-selected=true]{border-color:var(--compass-focus);background:var(--compass-focus-soft);box-shadow:inset 0 0 0 1px var(--compass-focus)}@supports (color:color-mix(in lab,red,red)){.init-choice[data-selected=true]{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--compass-focus) 30%,transparent)}}.init-choice input{opacity:0;width:1px;height:1px;position:absolute}.init-choice:has(input:focus-visible){outline:2px solid var(--compass-focus);outline-offset:2px}.init-choice-radio{width:20px;height:20px;color:var(--compass-faint);flex:0 0 20px;place-items:center;display:grid}.init-choice-radio svg{fill:#0000;width:16px}.init-choice[data-selected=true] .init-choice-radio svg{fill:var(--compass-focus);color:var(--compass-focus);stroke-width:4px}.init-choice strong,.init-choice small{display:block}.init-choice strong{color:var(--foreground);margin:1px 0 8px;font-size:13px}.init-choice small{color:var(--muted-foreground);font-size:11px;line-height:1.55}.init-scope-browser{border:1px solid var(--compass-line);background:var(--vscode-input-background,var(--background));border-radius:6px;margin-top:16px;overflow:hidden}.init-scope-browser>header{border-bottom:1px solid var(--compass-line);background:var(--compass-panel);justify-content:space-between;align-items:center;gap:16px;min-height:47px;padding:0 14px;display:flex}@supports (color:color-mix(in lab,red,red)){.init-scope-browser>header{background:color-mix(in srgb,var(--compass-panel) 84%,transparent)}}.init-scope-browser>header strong,.init-scope-browser>header small{display:block}.init-scope-browser>header strong{color:var(--foreground);margin-bottom:3px;font-size:11px}.init-scope-browser>header small{color:var(--compass-faint);font-size:9px}.init-scope-browser>header>span{border:1px solid var(--compass-focus);flex:none;padding:4px 7px}@supports (color:color-mix(in lab,red,red)){.init-scope-browser>header>span{border:1px solid color-mix(in srgb,var(--compass-focus) 45%,var(--compass-line))}}.init-scope-browser>header>span{background:var(--compass-focus-soft);color:var(--compass-focus);font:600 9px/1 var(--compass-font-mono);border-radius:999px}.init-scope-toolbar{border-bottom:1px solid var(--compass-line);align-items:center;gap:7px;height:35px;padding:0 10px;display:flex}.init-scope-toolbar>svg{width:13px;color:var(--compass-faint)}.init-scope-toolbar input{min-width:0;color:var(--foreground);font:10px/1.3 var(--compass-font-sans);background:0 0;border:0;outline:0;flex:1}.init-scope-toolbar input::placeholder{color:var(--vscode-input-placeholderForeground,var(--compass-faint))}.init-scope-toolbar:focus-within{box-shadow:inset 0 0 0 1px var(--compass-focus)}.init-scope-toolbar button,.init-scope-ledger button{width:22px;height:22px;color:var(--compass-faint);background:0 0;border:0;border-radius:3px;place-items:center;padding:0;display:grid}.init-scope-toolbar button:hover,.init-scope-ledger button:hover{background:var(--workbench-hover);color:var(--foreground)}.init-scope-toolbar button svg,.init-scope-ledger button svg{width:12px}.init-scope-body{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1.45fr) minmax(180px,.8fr);height:clamp(230px,38vh,310px);min-height:0;display:grid;overflow:hidden}.init-scope-tree{overscroll-behavior:contain;border-right:1px solid var(--compass-line);scrollbar-gutter:stable;min-width:0;min-height:0;padding:6px 0;overflow:auto}.init-scope-tree:focus-visible{outline:2px solid var(--compass-focus);outline-offset:-2px}.init-scope-row{box-sizing:border-box;align-items:center;min-width:max-content;height:27px;padding-right:9px;display:flex}.init-scope-row:hover{background:var(--workbench-hover)}.init-scope-disclosure{width:20px;height:22px;color:var(--compass-faint);background:0 0;border:0;border-radius:3px;flex:0 0 20px;place-items:center;padding:0;display:grid}button.init-scope-disclosure:hover{color:var(--foreground)}.init-scope-disclosure svg{width:13px}.init-scope-row label{min-width:0;color:var(--muted-foreground);cursor:pointer;flex:1;align-items:center;gap:7px;font-size:10px;display:flex}.init-scope-row label input{width:13px;height:13px;accent-color:var(--compass-focus);margin:0}.init-scope-row label svg{width:13px;height:13px;color:var(--compass-focus)}.init-scope-row label span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.init-scope-ledger{overscroll-behavior:contain;background:var(--compass-panel);min-width:0;min-height:0;padding:10px;overflow:auto}@supports (color:color-mix(in lab,red,red)){.init-scope-ledger{background:color-mix(in srgb,var(--compass-panel) 73%,transparent)}}.init-scope-ledger{scrollbar-gutter:stable}.init-scope-ledger>div{padding:2px 3px 9px}.init-scope-ledger strong,.init-scope-ledger small{display:block}.init-scope-ledger strong{color:var(--foreground);margin-bottom:3px;font-size:10px}.init-scope-ledger small,.init-scope-ledger>p,.init-scope-empty,.init-scope-notice{color:var(--compass-faint);font-size:9px;line-height:1.45}.init-scope-ledger>p,.init-scope-empty{margin:8px 3px}.init-scope-ledger ul{margin:0;padding:0;list-style:none}.init-scope-ledger li{border-top:1px solid var(--compass-line);align-items:center;gap:5px;min-width:0;padding:4px 3px 4px 7px;display:flex}.init-scope-ledger code{min-width:0;color:var(--foreground);font:9px/1.4 var(--compass-font-mono);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.init-scope-notice{border-top:1px solid var(--compass-line);background:var(--compass-warning);margin:0;padding:7px 12px}@supports (color:color-mix(in lab,red,red)){.init-scope-notice{background:color-mix(in srgb,var(--compass-warning) 7%,transparent)}}.init-scope-notice{color:var(--compass-warning)}.init-facts{border:1px solid var(--compass-line);border-radius:5px;grid-template-columns:1.5fr 1fr 1fr;margin:22px 0 0;display:grid;overflow:hidden}.init-facts>div{background:var(--compass-panel);min-width:0;padding:11px 13px}@supports (color:color-mix(in lab,red,red)){.init-facts>div{background:color-mix(in srgb,var(--compass-panel) 82%,transparent)}}.init-facts>div:not(:last-child){border-right:1px solid var(--compass-line)}.init-facts dt,.init-review-row>span{color:var(--compass-faint);font:9px/1.2 var(--compass-font-mono);text-transform:uppercase}.init-facts dt{margin-bottom:4px}.init-facts dd{min-width:0;color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:10px;overflow:hidden}.init-facts code,.init-review-row code{font-family:var(--compass-font-mono)}.init-fields{gap:18px}.init-fields label>span{margin-bottom:9px;display:block}.init-fields label strong,.init-fields label small{display:block}.init-fields label strong{color:var(--foreground);margin-bottom:3px;font-size:12px}.init-fields label small{color:var(--compass-faint);font-size:10px}.init-fields textarea{box-sizing:border-box;resize:vertical;border:1px solid var(--vscode-input-border,var(--compass-line));background:var(--vscode-input-background,var(--background));width:100%;min-height:142px;color:var(--vscode-input-foreground,var(--foreground));font:11px/1.6 var(--compass-font-mono);border-radius:4px;outline:none;padding:11px 12px}.init-fields textarea::placeholder{color:var(--vscode-input-placeholderForeground,var(--compass-faint))}.init-fields textarea:focus{border-color:var(--compass-focus);outline:1px solid var(--compass-focus)}.init-fields textarea:disabled{opacity:.55;cursor:not-allowed}.init-validation{color:var(--destructive);margin:12px 0 0;font-size:11px}.init-stage-actions{justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:30px;display:flex}.init-button{min-height:32px;font:500 12px/1.3 var(--compass-font-sans);border:1px solid #0000;border-radius:3px;justify-content:center;align-items:center;gap:8px;padding:6px 13px;display:inline-flex}.init-button svg{width:14px;height:14px}.init-button:focus-visible{outline:2px solid var(--compass-focus);outline-offset:2px}.init-button:disabled{opacity:.45;cursor:not-allowed}.init-button-primary{border-color:var(--vscode-button-border,transparent);background:var(--vscode-button-background,var(--primary));color:var(--vscode-button-foreground,var(--primary-foreground))}.init-button-primary:not(:disabled):hover{background:var(--vscode-button-hoverBackground,var(--primary))}.init-button-secondary{border-color:var(--compass-line);background:var(--vscode-button-secondaryBackground,var(--secondary));color:var(--vscode-button-secondaryForeground,var(--secondary-foreground))}.init-button-secondary:not(:disabled):hover,.init-button-quiet:hover{border-color:var(--compass-line-strong);background:var(--workbench-hover);color:var(--foreground)}.init-button-quiet{color:var(--muted-foreground);background:0 0}.init-button-build{min-width:170px}.init-review{border:1px solid var(--compass-line);border-radius:5px;overflow:hidden}.init-review-row{border-bottom:1px solid var(--compass-line);grid-template-columns:130px minmax(0,1fr);align-items:start;min-height:42px;display:grid}.init-review-row:last-child{border-bottom:0}.init-review-row>span{background:var(--compass-panel);align-self:stretch;padding:12px 13px}@supports (color:color-mix(in lab,red,red)){.init-review-row>span{background:color-mix(in srgb,var(--compass-panel) 76%,transparent)}}.init-review-row>div{min-width:0;color:var(--foreground);padding:11px 13px;font-size:11px}.init-review-row code{overflow-wrap:anywhere;color:var(--foreground)}.init-rule-default{color:var(--muted-foreground)}.init-rule-list{flex-wrap:wrap;gap:6px;display:flex}.init-rule-list li{border:1px solid var(--compass-line);background:var(--vscode-input-background,var(--background));border-radius:3px;padding:3px 7px}.init-build-callout{border-left:2px solid var(--compass-focus);background:var(--compass-focus-soft);align-items:flex-start;gap:12px;margin-top:16px;padding:13px 15px;display:flex}.init-build-callout>svg{width:17px;color:var(--compass-focus);flex:0 0 17px}.init-build-callout strong{color:var(--foreground);margin-bottom:3px;font-size:11px;display:block}.init-build-callout p{color:var(--muted-foreground);margin:0;font-size:10px;line-height:1.45}.init-replace-confirmation{border:1px solid var(--compass-warning);align-items:flex-start;gap:10px;margin-top:10px;padding:12px 14px;display:flex}@supports (color:color-mix(in lab,red,red)){.init-replace-confirmation{border:1px solid color-mix(in srgb,var(--compass-warning) 55%,var(--compass-line))}}.init-replace-confirmation{background:var(--compass-warning);border-radius:4px}@supports (color:color-mix(in lab,red,red)){.init-replace-confirmation{background:color-mix(in srgb,var(--compass-warning) 8%,transparent)}}.init-replace-confirmation{cursor:pointer}.init-replace-confirmation input{accent-color:var(--compass-focus);margin:2px 0 0}.init-replace-confirmation strong,.init-replace-confirmation small{display:block}.init-replace-confirmation strong{color:var(--compass-warning);margin-bottom:3px;font-size:11px}.init-replace-confirmation small{color:var(--muted-foreground);font-size:10px;line-height:1.45}.init-progress-shell{flex-direction:column;display:flex}.init-progress-header{align-items:center}.init-running-badge{border:1px solid var(--compass-focus);align-items:center;gap:7px;padding:6px 10px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.init-running-badge{border:1px solid color-mix(in srgb,var(--compass-focus) 46%,var(--compass-line))}}.init-running-badge{background:var(--compass-focus-soft);color:var(--compass-focus);font:600 10px/1 var(--compass-font-mono);text-transform:uppercase;border-radius:999px}.init-running-badge svg,.init-runway li[data-state=active] .init-runway-marker svg{animation:1.2s linear infinite init-spin}.init-progress-card{box-sizing:border-box;border:1px solid var(--compass-line-strong);background:var(--vscode-editorWidget-background,var(--compass-panel));width:min(880px,100%);box-shadow:0 22px 55px var(--vscode-widget-shadow,#0000003d);border-radius:7px;margin:auto;padding:clamp(26px,5vw,48px)}.init-progress-summary{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.init-progress-summary small,.init-progress-summary strong{display:block}.init-progress-summary small{color:var(--compass-faint);font:10px/1.2 var(--compass-font-mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px}.init-progress-summary strong{color:var(--foreground);font-size:18px;font-weight:580}.init-progress-summary>span{color:var(--compass-focus);font:600 24px/1 var(--compass-font-mono)}.init-progress-track{background:var(--foreground);border-radius:99px;height:7px;margin:18px 0 22px;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.init-progress-track{background:color-mix(in srgb,var(--foreground) 10%,transparent)}}.init-progress-track>span{border-radius:inherit;background:var(--workbench-progress);height:100%;box-shadow:0 0 15px var(--compass-focus);display:block}@supports (color:color-mix(in lab,red,red)){.init-progress-track>span{box-shadow:0 0 15px color-mix(in srgb,var(--compass-focus) 50%,transparent)}}.init-progress-track>span{transition:width .18s ease-out}.init-progress-track>span.is-indeterminate{width:28%;animation:1.35s ease-in-out infinite init-indeterminate}.init-current-file{border:1px solid var(--compass-line);background:var(--vscode-input-background,var(--compass-canvas));border-radius:5px;align-items:center;gap:12px;min-width:0;padding:13px 15px;display:flex}.init-current-file>svg{width:16px;color:var(--compass-focus);flex:0 0 16px}.init-current-file span{min-width:0}.init-current-file small,.init-current-file code{display:block}.init-current-file small{color:var(--compass-faint);font:9px/1 var(--compass-font-mono);text-transform:uppercase;margin-bottom:4px}.init-current-file code{color:var(--foreground);font:11px/1.4 var(--compass-font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.init-runway{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:30px;display:grid}.init-runway li{align-items:flex-start;gap:10px;display:flex;position:relative}.init-runway li:not(:last-child):after{background:var(--compass-line);content:"";height:1px;position:absolute;top:13px;left:27px;right:8px}.init-runway li[data-state=complete]:after{background:var(--compass-success)}@supports (color:color-mix(in lab,red,red)){.init-runway li[data-state=complete]:after{background:color-mix(in srgb,var(--compass-success) 58%,var(--compass-line))}}.init-runway-marker{z-index:1;border:1px solid var(--compass-line-strong);background:var(--compass-panel);width:26px;height:26px;color:var(--compass-faint);border-radius:50%;flex:0 0 26px;place-items:center;display:grid}.init-runway-marker svg{width:12px;height:12px}.init-runway li[data-state=complete] .init-runway-marker{border-color:var(--compass-success);color:var(--compass-success)}.init-runway li[data-state=active] .init-runway-marker{border-color:var(--compass-focus);color:var(--compass-focus);box-shadow:0 0 0 4px var(--compass-focus-soft)}.init-runway li>span:last-child{min-width:0;padding-right:20px}.init-runway strong,.init-runway small{display:block}.init-runway strong{color:var(--foreground);margin:1px 0 4px;font-size:10px}.init-runway small{color:var(--compass-faint);font-size:9px;line-height:1.35}.init-progress-footer{box-sizing:border-box;justify-content:space-between;align-items:center;gap:20px;width:min(880px,100%);margin:22px auto 0;display:flex}.init-progress-footer p{color:var(--compass-faint);margin:0;font-size:10px}.init-result-shell{place-items:center;display:grid}.init-result-card{box-sizing:border-box;border:1px solid var(--compass-line-strong);background:var(--vscode-editorWidget-background,var(--compass-panel));width:min(580px,100%);box-shadow:0 22px 55px var(--vscode-widget-shadow,#0000003d);text-align:center;border-radius:7px;padding:clamp(32px,6vw,60px)}.init-result-icon{border:1px solid;border-radius:50%;place-items:center;width:54px;height:54px;margin:0 auto 22px;display:grid}.init-result-icon svg{width:24px}.init-result-icon-success{border-color:var(--compass-success);background:var(--compass-success)}@supports (color:color-mix(in lab,red,red)){.init-result-icon-success{background:color-mix(in srgb,var(--compass-success) 10%,transparent)}}.init-result-icon-success{color:var(--compass-success)}.init-result-icon-error{border-color:var(--destructive);background:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.init-result-icon-error{background:color-mix(in srgb,var(--destructive) 10%,transparent)}}.init-result-icon-error{color:var(--destructive)}.init-result-icon-cancelled{border-color:var(--compass-warning);background:var(--compass-warning)}@supports (color:color-mix(in lab,red,red)){.init-result-icon-cancelled{background:color-mix(in srgb,var(--compass-warning) 10%,transparent)}}.init-result-icon-cancelled{color:var(--compass-warning)}.init-result-card .init-eyebrow{text-align:center}.init-result-card>p:not(.init-eyebrow){margin-left:auto;margin-right:auto}.init-result-actions{flex-wrap:wrap;justify-content:center;gap:9px;margin-top:26px;display:flex}@keyframes init-spin{to{transform:rotate(360deg)}}@keyframes init-indeterminate{0%{transform:translate(-120%)}55%{transform:translate(180%)}to{transform:translate(320%)}}@media(max-width:760px){.init-shell{padding:24px 18px}.init-header,.init-progress-header{flex-direction:column;align-items:flex-start}.init-repository-badge{box-sizing:border-box;width:100%}.init-layout{grid-template-columns:1fr}.init-step-nav{border-right:0;border-bottom:1px solid var(--compass-line);padding:16px}.init-step-nav ol{grid-template-columns:repeat(3,1fr);display:grid}.init-step-nav li{padding:0}.init-step-nav li:not(:last-child):after{width:auto;height:1px;inset:22px -8px auto 37px}.init-step-nav button{flex-direction:column;align-items:flex-start}.init-step-nav button strong{font-size:10px}.init-local-note{display:none}.init-scope-grid,.init-fields{grid-template-columns:1fr}.init-scope-browser>header{flex-direction:column;align-items:flex-start;gap:8px;padding-block:10px}.init-scope-body{grid-template-rows:auto auto;grid-template-columns:1fr;height:auto;max-height:none;overflow:visible}.init-scope-tree{border-right:0;border-bottom:1px solid var(--compass-line);height:clamp(210px,42vh,300px);min-height:210px;max-height:none}.init-scope-ledger{max-height:150px}.init-facts{grid-template-columns:1fr}.init-facts>div:not(:last-child){border-right:0;border-bottom:1px solid var(--compass-line)}.init-review-row{grid-template-columns:95px minmax(0,1fr)}.init-runway{grid-template-columns:1fr;gap:13px}.init-runway li:not(:last-child):after{width:1px;height:auto;inset:26px auto -13px 13px}.init-progress-footer{flex-direction:column;align-items:flex-start}}@media(prefers-reduced-motion:reduce){.init-running-badge svg,.init-runway li[data-state=active] .init-runway-marker svg,.init-progress-track>span.is-indeterminate{animation:none}.init-progress-track>span{transition:none}}:root{color-scheme:light dark;--compass-font-sans:var(--vscode-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);--compass-font-mono:var(--vscode-editor-font-family,"SFMono-Regular", Consolas, monospace);--background:var(--vscode-editor-background,#0d131d);--foreground:var(--vscode-editor-foreground,#d7e1ed);--card:var(--vscode-sideBar-background,#121b28);--card-foreground:var(--vscode-sideBar-foreground,#d7e1ed);--popover:var(--vscode-menu-background,#172231);--popover-foreground:var(--vscode-menu-foreground,#d7e1ed);--primary:var(--vscode-button-background,#2f81f7);--primary-foreground:var(--vscode-button-foreground,#fff);--secondary:var(--vscode-button-secondaryBackground,#263448);--secondary-foreground:var(--vscode-button-secondaryForeground,#d7e1ed);--muted:var(--vscode-list-inactiveSelectionBackground,#1d2938);--muted-foreground:var(--vscode-descriptionForeground,#93a4b8);--accent:var(--vscode-list-activeSelectionBackground,#264f78);--accent-foreground:var(--vscode-list-activeSelectionForeground,#fff);--destructive:var(--vscode-errorForeground,#f47067);--border:var(--vscode-panel-border,#2c3a4d);--input:var(--vscode-input-border,#3b4a5e);--ring:var(--vscode-focusBorder,#4f9cf9);--radius:.625rem;--compass-canvas:var(--vscode-editor-background,#08111f);--compass-canvas-deep:var(--compass-canvas)}@supports (color:color-mix(in lab,red,red)){:root{--compass-canvas-deep:color-mix(in srgb, var(--compass-canvas) 82%, #000)}}:root{--compass-panel:var(--vscode-sideBar-background,#101b2d);--compass-panel-raised:var(--vscode-menu-background,#142236)}@supports (color:color-mix(in lab,red,red)){:root{--compass-panel-raised:color-mix(in srgb, var(--vscode-menu-background,#142236) 88%, transparent)}}:root{--compass-line:var(--vscode-panel-border,#9ab2d329);--compass-line-strong:var(--vscode-contrastBorder,#9ab2d34d);--compass-focus:var(--vscode-focusBorder,#76b7ff);--compass-focus-soft:var(--compass-focus)}@supports (color:color-mix(in lab,red,red)){:root{--compass-focus-soft:color-mix(in srgb, var(--compass-focus) 14%, transparent)}}:root{--compass-faint:var(--vscode-disabledForeground,#60728b);--compass-grid:var(--foreground)}@supports (color:color-mix(in lab,red,red)){:root{--compass-grid:color-mix(in srgb, var(--foreground) 16%, transparent)}}:root{--compass-success:var(--vscode-testing-iconPassed,#3fb950);--compass-warning:var(--vscode-editorWarning-foreground,#d29922);--sidebar:var(--vscode-sideBar-background,var(--background));--sidebar-foreground:var(--vscode-sideBar-foreground,var(--foreground));--sidebar-accent:var(--vscode-list-activeSelectionBackground,var(--accent));--sidebar-accent-foreground:var(--vscode-list-activeSelectionForeground,var(--accent-foreground));--sidebar-primary:var(--vscode-focusBorder,var(--ring));--workbench-hover:var(--vscode-list-hoverBackground,var(--foreground))}@supports (color:color-mix(in lab,red,red)){:root{--workbench-hover:var(--vscode-list-hoverBackground,color-mix(in srgb, var(--foreground) 7%, transparent))}}:root{--workbench-hover-foreground:var(--vscode-list-hoverForeground,var(--foreground));--workbench-table-header:var(--vscode-editorStickyScroll-background,var(--background));--workbench-link:var(--vscode-textLink-foreground,var(--ring));--workbench-progress:var(--vscode-progressBar-background,var(--ring))}@media(prefers-color-scheme:light){:root{--background:var(--vscode-editor-background,#f7f9fc);--foreground:var(--vscode-editor-foreground,#172033);--card:var(--vscode-sideBar-background,#fff);--card-foreground:var(--vscode-sideBar-foreground,#172033);--popover:var(--vscode-menu-background,#fff);--popover-foreground:var(--vscode-menu-foreground,#172033);--primary:var(--vscode-button-background,#0969da);--primary-foreground:var(--vscode-button-foreground,#fff);--secondary:var(--vscode-button-secondaryBackground,#e8edf4);--secondary-foreground:var(--vscode-button-secondaryForeground,#172033);--muted:var(--vscode-list-inactiveSelectionBackground,#edf1f6);--muted-foreground:var(--vscode-descriptionForeground,#576579);--accent:var(--vscode-list-activeSelectionBackground,#dbeafe);--accent-foreground:var(--vscode-list-activeSelectionForeground,#172033);--border:var(--vscode-panel-border,#c8d1dc);--input:var(--vscode-input-border,#aeb9c8);--ring:var(--vscode-focusBorder,#0969da);--compass-canvas:var(--vscode-editor-background,#f4f7fb);--compass-canvas-deep:var(--compass-canvas)}@supports (color:color-mix(in lab,red,red)){:root{--compass-canvas-deep:color-mix(in srgb, var(--compass-canvas) 94%, #dbe3ed)}}:root{--compass-panel:var(--vscode-sideBar-background,#fff);--compass-panel-raised:var(--vscode-menu-background,#fff);--compass-line:var(--vscode-panel-border,#ccd6e1);--compass-line-strong:var(--vscode-contrastBorder,#9eacbd);--compass-faint:var(--vscode-disabledForeground,#68778a)}}body.vscode-light,body.vscode-high-contrast-light{color-scheme:light}body.vscode-dark,body.vscode-high-contrast{color-scheme:dark}.compass-source-notice{z-index:100;border:1px solid var(--compass-warning);max-width:min(420px,100vw - 32px);padding:12px 14px;position:fixed;bottom:16px;right:16px}@supports (color:color-mix(in lab,red,red)){.compass-source-notice{border:1px solid color-mix(in srgb,var(--compass-warning) 55%,var(--compass-line))}}.compass-source-notice{background:var(--compass-panel);border-radius:6px}@supports (color:color-mix(in lab,red,red)){.compass-source-notice{background:color-mix(in srgb,var(--compass-panel) 96%,transparent)}}.compass-source-notice{color:var(--foreground);font-size:13px;line-height:1.45;box-shadow:0 12px 32px #00000047}.visualization-workbench{background:var(--background);grid-template-columns:minmax(220px,268px) minmax(0,1fr);width:100vw;height:100vh;display:grid;overflow:hidden}.visualization-workbench[data-navigation-collapsed=true]{grid-template-columns:48px minmax(0,1fr)}.visualization-rail{border-right:1px solid var(--compass-line);background:linear-gradient(180deg,var(--compass-focus-soft),transparent 180px),var(--compass-panel);grid-template-rows:auto minmax(0,1fr) auto;min-width:0;display:grid}.visualization-rail>header{border-bottom:1px solid var(--compass-line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:18px 16px 16px;display:grid}.visualization-rail-disclosure{width:30px;height:30px;color:var(--muted-foreground);background:0 0;border:1px solid #0000;border-radius:3px;place-items:center;display:grid}.visualization-rail-disclosure:hover{border-color:var(--compass-line);background:var(--workbench-hover);color:var(--foreground)}.visualization-rail-disclosure svg{width:16px;height:16px}.visualization-rail[data-collapsed=true]>header{flex-direction:column;gap:9px;padding:12px 7px 10px;display:flex}.visualization-rail[data-collapsed=true]>header>span:nth-child(2),.visualization-rail[data-collapsed=true] nav button>span,.visualization-rail[data-collapsed=true] nav i,.visualization-rail[data-collapsed=true]>footer{display:none}.visualization-rail[data-collapsed=true] .visualization-bearing{width:30px;height:30px}.visualization-rail[data-collapsed=true] nav button{grid-template-columns:1fr;place-items:center;padding-inline:5px}.visualization-bearing{border:1px solid var(--compass-focus);place-items:center;width:34px;height:34px;display:grid}@supports (color:color-mix(in lab,red,red)){.visualization-bearing{border:1px solid color-mix(in srgb,var(--compass-focus) 48%,var(--border))}}.visualization-bearing{background:var(--compass-focus);border-radius:50%}@supports (color:color-mix(in lab,red,red)){.visualization-bearing{background:color-mix(in srgb,var(--compass-focus) 12%,transparent)}}.visualization-bearing{color:var(--compass-focus);box-shadow:inset 0 0 0 4px var(--compass-focus)}@supports (color:color-mix(in lab,red,red)){.visualization-bearing{box-shadow:inset 0 0 0 4px color-mix(in srgb,var(--compass-focus) 5%,transparent)}}.visualization-bearing svg{width:18px;height:18px}.visualization-rail header>span:nth-child(2),.visualization-rail nav button>span{gap:2px;min-width:0;display:grid}.visualization-rail header strong{letter-spacing:.02em;font-size:14px}.visualization-rail header small,.visualization-rail nav small{color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.visualization-rail nav{flex-direction:column;gap:3px;min-height:0;padding:10px 8px;display:flex;overflow:auto}.visualization-rail nav button{min-width:0;color:var(--foreground);text-align:left;background:0 0;border:1px solid #0000;border-radius:5px;grid-template-columns:24px minmax(0,1fr) 8px;align-items:center;gap:9px;padding:9px 8px;display:grid;position:relative}.visualization-rail nav button:hover{background:var(--workbench-hover)}.visualization-rail nav button[aria-current=page]{border-color:var(--compass-focus)}@supports (color:color-mix(in lab,red,red)){.visualization-rail nav button[aria-current=page]{border-color:color-mix(in srgb,var(--compass-focus) 28%,var(--border))}}.visualization-rail nav button[aria-current=page]{background:var(--compass-focus)}@supports (color:color-mix(in lab,red,red)){.visualization-rail nav button[aria-current=page]{background:color-mix(in srgb,var(--compass-focus) 13%,var(--compass-panel))}}.visualization-rail nav button[aria-current=page]{box-shadow:inset 2px 0 var(--compass-focus)}.visualization-rail nav svg{width:16px;height:16px;color:var(--muted-foreground)}.visualization-rail nav button[aria-current=page] svg{color:var(--compass-focus)}.visualization-rail nav strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.visualization-rail nav i{background:var(--compass-success);border-radius:50%;width:6px;height:6px}.visualization-rail nav i[data-status=summary]{background:var(--compass-warning)}.visualization-rail nav i[data-status=partial]{background:var(--destructive)}.visualization-rail>footer{border-top:1px solid var(--compass-line);color:var(--muted-foreground);justify-content:space-between;align-items:center;gap:10px;padding:11px 14px;font-size:10px;display:flex}.visualization-rail>footer code{color:var(--foreground);font-family:var(--compass-font-mono)}.visualization-main{grid-template-rows:49px minmax(0,1fr);min-width:0;min-height:0;display:grid}.visualization-context{border-bottom:1px solid var(--compass-line);background:var(--background);justify-content:space-between;align-items:center;gap:20px;min-width:0;padding:7px 14px 7px 16px;display:flex}@supports (color:color-mix(in lab,red,red)){.visualization-context{background:color-mix(in srgb,var(--background) 92%,var(--compass-panel))}}.visualization-context>div:first-child{gap:1px;min-width:0;display:grid}.visualization-context>div:first-child span{color:var(--muted-foreground);letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:650}.visualization-context>div:first-child strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.visualization-coverage{color:var(--muted-foreground);align-items:center;gap:10px;font-size:10px;display:flex}.visualization-coverage strong{border:1px solid var(--compass-success);padding:3px 7px}@supports (color:color-mix(in lab,red,red)){.visualization-coverage strong{border:1px solid color-mix(in srgb,var(--compass-success) 36%,var(--border))}}.visualization-coverage strong{color:var(--compass-success);border-radius:999px;font-weight:600}.visualization-coverage[data-status=summary] strong{border-color:var(--compass-warning)}@supports (color:color-mix(in lab,red,red)){.visualization-coverage[data-status=summary] strong{border-color:color-mix(in srgb,var(--compass-warning) 42%,var(--border))}}.visualization-coverage[data-status=summary] strong{color:var(--compass-warning)}.visualization-coverage[data-status=partial] strong{border-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.visualization-coverage[data-status=partial] strong{border-color:color-mix(in srgb,var(--destructive) 42%,var(--border))}}.visualization-coverage[data-status=partial] strong{color:var(--destructive)}.visualization-stage,.workbench-graph-lens,.workbench-history-view,.workbench-architecture{min-width:0;height:100%;min-height:0}.workbench-architecture{grid-template-rows:39px minmax(0,1fr);display:grid}.workbench-graph-lens{position:relative}.workbench-graph-lens>.compass-workspace,.workbench-history-view .compass-workspace{height:100%;min-height:0}.visualization-stage .call-graph-view{height:100%}.visualization-stage .call-graph-direction{top:58px}.visualization-stage .call-graph-summary{max-height:min(42%,360px);overflow:auto}.workbench-filter-strip{border-bottom:1px solid var(--compass-line);background:var(--compass-panel);align-items:center;gap:7px;min-width:0;padding:5px 9px;display:flex;overflow-x:auto}.workbench-filter-strip label{color:var(--muted-foreground);white-space:nowrap;align-items:center;gap:5px;font-size:9px;display:flex}.workbench-filter-strip select{border:1px solid var(--input);background:var(--background);max-width:160px;height:27px;color:var(--foreground);font:inherit;border-radius:3px;padding:2px 22px 2px 7px;font-size:10px}.workbench-filter-strip>span{color:var(--muted-foreground);white-space:nowrap;margin-left:auto;font-size:9px}.compass-toolbar-leading{flex:none;align-items:center;min-width:0;display:flex}.workbench-filter-trigger{border:1px solid var(--compass-line);background:var(--vscode-dropdown-background,transparent);min-height:30px;color:var(--muted-foreground);cursor:pointer;font:inherit;white-space:nowrap;border-radius:3px;align-items:center;gap:6px;padding:0 8px;display:flex}.workbench-filter-trigger:hover,.workbench-filter-trigger[aria-expanded=true]{background:var(--workbench-hover);color:var(--foreground)}.workbench-filter-trigger:focus-visible{outline:2px solid var(--compass-focus);outline-offset:2px}.workbench-filter-trigger svg{width:15px;height:15px}.workbench-filter-trigger b{background:var(--compass-focus);min-width:17px;height:17px;color:var(--vscode-button-foreground,#fff);font:9px/1 var(--compass-font-mono);border-radius:9px;place-items:center;display:inline-grid}.workbench-filter-trigger small{color:var(--compass-faint);font:9px/1 var(--compass-font-mono)}.workbench-filter-popover{z-index:12;box-sizing:border-box;border:1px solid var(--compass-line-strong);background:var(--vscode-editorWidget-background,var(--compass-panel));width:min(310px,100%);max-height:calc(100vh - 84px);box-shadow:none;border-radius:5px;gap:10px;padding:12px;display:grid;position:absolute;top:calc(100% + 8px);right:6px;overflow-y:auto}.workbench-filter-popover>header{border-bottom:1px solid var(--compass-line);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:9px;display:flex}.workbench-filter-popover>header span{gap:2px;display:grid}.workbench-filter-popover>header strong{font-size:11px}.workbench-filter-popover>header small,.workbench-filter-popover>footer{color:var(--compass-faint);font-size:10px}.workbench-filter-popover>header button{border:1px solid var(--compass-line);min-height:26px;color:var(--muted-foreground);white-space:nowrap;background:0 0;border-radius:3px;padding:0 7px;font-size:10px}.workbench-filter-popover>header button:disabled{opacity:.45}.workbench-filter-popover>label{color:var(--muted-foreground);grid-template-columns:88px minmax(0,1fr);align-items:center;gap:9px;font-size:10px;display:grid}.workbench-filter-popover select{border:1px solid var(--input);background:var(--vscode-dropdown-background,var(--background));width:100%;min-height:30px;color:var(--vscode-dropdown-foreground,var(--foreground));font:inherit;border-radius:3px;padding:2px 24px 2px 8px}.workbench-filter-popover select:focus-visible,.workbench-filter-popover button:focus-visible{outline:2px solid var(--compass-focus);outline-offset:2px}.workbench-filter-popover>footer{border-top:1px solid var(--compass-line);padding-top:8px}.workbench-graph-empty{z-index:3;box-sizing:border-box;border:1px solid var(--compass-line);background:var(--vscode-editorWidget-background,var(--compass-panel));width:min(360px,100% - 32px);color:var(--muted-foreground);text-align:center;border-radius:5px;justify-items:center;gap:7px;padding:18px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.workbench-graph-empty svg{width:24px;height:24px;color:var(--compass-faint);margin-bottom:3px}.workbench-graph-empty strong{color:var(--foreground);font-size:12px}.workbench-graph-empty span{max-width:290px;font-size:11px;line-height:1.45}.workbench-graph-empty button{border:1px solid var(--compass-line-strong);background:var(--vscode-button-background,var(--compass-focus));min-height:30px;color:var(--vscode-button-foreground,#fff);font:inherit;border-radius:3px;margin-top:5px;padding:0 10px;font-size:10px}.workbench-graph-empty button:hover{background:var(--vscode-button-hoverBackground,var(--compass-focus))}.workbench-graph-empty button:focus-visible{outline:2px solid var(--compass-focus);outline-offset:2px}.workbench-history-view{position:relative}.workbench-history-banner{z-index:24;border:1px solid var(--compass-line-strong);background:var(--compass-panel-raised);border-radius:5px;align-items:center;gap:9px;padding:8px 11px;display:flex;position:absolute;top:10px;left:50%;transform:translate(-50%);box-shadow:0 10px 28px #0000002e}.workbench-history-banner svg{width:17px;color:var(--compass-focus)}.workbench-history-banner span{gap:1px;display:grid}.workbench-history-banner strong{font-size:11px}.workbench-history-banner small{color:var(--muted-foreground);font-size:9px}.workbench-architecture-body{grid-template-columns:minmax(0,1fr) minmax(240px,310px);min-width:0;min-height:0;display:grid}.workbench-architecture-body>.architecture-map-panel{border:0;border-radius:0;min-width:0;height:100%;min-height:0}.workbench-architecture-body>aside{border-left:1px solid var(--compass-line);background:var(--compass-panel);min-width:0;padding:16px;overflow:auto}.workbench-architecture-body>aside>span{color:var(--muted-foreground);letter-spacing:.09em;text-transform:uppercase;font-size:9px;font-weight:650}.workbench-architecture-body>aside h2{margin:5px 0;font-size:15px}.workbench-architecture-body>aside p{color:var(--muted-foreground);font-size:10px;line-height:1.5}.workbench-symbol-list{gap:2px;margin-top:12px;display:grid}.workbench-symbol-list button{min-width:0;color:var(--foreground);text-align:left;background:0 0;border:1px solid #0000;border-radius:3px;gap:2px;padding:7px;display:grid}.workbench-symbol-list button:hover:not(:disabled){border-color:var(--border);background:var(--workbench-hover)}.workbench-symbol-list button:disabled{cursor:default}.workbench-symbol-list strong,.workbench-symbol-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.workbench-symbol-list strong{font-size:10px}.workbench-symbol-list small{color:var(--muted-foreground);font-size:9px}.visualization-workbench button:focus-visible,.visualization-workbench select:focus-visible{outline:1px solid var(--compass-focus);outline-offset:1px}@media(max-width:760px){.visualization-workbench{grid-template-columns:58px minmax(0,1fr)}.visualization-rail>header{flex-direction:column;justify-content:center;gap:9px;padding-inline:8px;display:flex}.visualization-rail header>span:nth-child(2),.visualization-rail nav button>span,.visualization-rail nav i,.visualization-rail>footer{display:none}.visualization-rail nav button{grid-template-columns:1fr;place-items:center;display:grid}.visualization-coverage>span{display:none}.workbench-architecture-body{grid-template-columns:minmax(0,1fr)}.workbench-architecture-body>aside{display:none}}@media(prefers-reduced-motion:no-preference){.visualization-rail nav button[aria-current=page]{animation:.18s ease-out compass-bearing}}@keyframes compass-bearing{0%{opacity:.7;transform:translate(-3px)}to{opacity:1;transform:translate(0)}}*{border-color:var(--border)}html,body,#root,#compass-viewer-root{min-height:100%;margin:0}body{background:var(--background);color:var(--foreground);font-family:var(--compass-font-sans);overflow:hidden}button:not(:disabled),[role=button]:not(:disabled){cursor:pointer}[data-slot=button],[data-slot=input],[data-slot=tabs-list],[data-slot=tabs-trigger]{border-radius:4px}.workbench-collection-toolbar{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.workbench-search{flex:1;align-items:center;min-width:180px;max-width:540px;display:flex;position:relative}.workbench-search>svg{width:14px;height:14px;color:var(--vscode-input-placeholderForeground,var(--muted-foreground));pointer-events:none;position:absolute;left:8px}.workbench-search input{border:1px solid var(--vscode-input-border,var(--border));background:var(--vscode-input-background,var(--input));width:100%;height:30px;color:var(--vscode-input-foreground,var(--foreground));font:inherit;border-radius:3px;outline:none;padding:4px 30px 4px 29px;font-size:12px}.workbench-search input::placeholder{color:var(--vscode-input-placeholderForeground,var(--muted-foreground))}.workbench-search input:focus-visible{border-color:var(--ring);outline:1px solid var(--ring);outline-offset:-1px}.workbench-search-clear{width:24px;height:24px;color:var(--muted-foreground);background:0 0;border:0;border-radius:3px;place-items:center;display:grid;position:absolute;right:3px}.workbench-search-clear:hover{background:var(--workbench-hover);color:var(--workbench-hover-foreground)}.workbench-search-clear svg{width:13px;height:13px}.workbench-result-count,.workbench-pagination-range{color:var(--muted-foreground);white-space:nowrap;font-size:11px}.workbench-pagination{justify-content:space-between;align-items:center;gap:12px;min-height:36px;padding-top:8px;display:flex}.workbench-pagination-actions{color:var(--muted-foreground);align-items:center;gap:4px;font-size:11px;display:flex}.workbench-pagination-actions button{width:26px;height:26px;color:var(--foreground);background:0 0;border:1px solid #0000;border-radius:3px;place-items:center;display:grid}.workbench-pagination-actions button:hover:not(:disabled){border-color:var(--border);background:var(--workbench-hover)}.workbench-pagination-actions button:disabled{color:var(--vscode-disabledForeground,var(--compass-faint))}.workbench-pagination-actions svg{width:14px;height:14px}.workbench-state{width:min(520px,100% - 32px);min-height:180px;color:var(--muted-foreground);text-align:center;align-content:center;place-items:center;gap:12px;margin:auto;padding:24px;display:grid}.workbench-state>svg{width:28px;height:28px}.workbench-state[data-kind=error]>svg{color:var(--destructive)}.workbench-state h2{color:var(--foreground);margin:0;font-size:14px;font-weight:600}.workbench-state p{margin:5px 0 0;font-size:12px;line-height:1.55}.workbench-button{border:1px solid var(--vscode-button-border,transparent);background:var(--vscode-button-background,var(--primary));min-height:30px;color:var(--vscode-button-foreground,var(--primary-foreground));font:inherit;border-radius:3px;padding:4px 11px;font-size:12px}.workbench-button:hover{background:var(--vscode-button-hoverBackground,var(--primary))}.workbench-button:focus-visible,.workbench-search-clear:focus-visible,.workbench-pagination-actions button:focus-visible{outline:2px solid var(--ring);outline-offset:1px}.workbench-state-spinner{animation:1s linear infinite spin}.compass-load-shell{background:radial-gradient(circle at 50% 43%,var(--compass-focus),transparent 28%),radial-gradient(circle at 68% 62%,var(--compass-success),transparent 24%),linear-gradient(145deg,var(--compass-canvas) 0%,var(--compass-canvas-deep) 100%);place-content:center;min-height:100vh;padding:40px 24px;display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.compass-load-shell{background:radial-gradient(circle at 50% 43%,color-mix(in srgb,var(--compass-focus) 16%,transparent),transparent 28%),radial-gradient(circle at 68% 62%,color-mix(in srgb,var(--compass-success) 8%,transparent),transparent 24%),linear-gradient(145deg,var(--compass-canvas) 0%,var(--compass-canvas-deep) 100%)}}.compass-load-shell{text-align:center}.compass-load-shell:before{content:"";opacity:.18;background-image:radial-gradient(var(--compass-grid) .65px,transparent .65px);pointer-events:none;background-size:24px 24px;position:absolute;inset:0}.compass-load-visual{place-items:start center;width:92px;height:88px;margin:0 auto;display:grid;position:relative}.compass-load-mark{width:58px;height:58px;color:var(--compass-focus);place-items:center;display:grid;position:relative}.compass-load-logo{filter:drop-shadow(0 10px 22px);width:54px;height:54px}@supports (color:color-mix(in lab,red,red)){.compass-load-logo{filter:drop-shadow(0 10px 22px color-mix(in srgb,currentColor 24%,transparent))}}.compass-load-logo{transform-origin:50%;animation:2.4s ease-in-out infinite compass-load-logo-breathe}.compass-load-visual[data-state=error] .compass-load-mark{border:1px solid var(--destructive);width:48px;height:48px}@supports (color:color-mix(in lab,red,red)){.compass-load-visual[data-state=error] .compass-load-mark{border:1px solid color-mix(in srgb,var(--destructive) 66%,var(--compass-line))}}.compass-load-visual[data-state=error] .compass-load-mark{color:var(--destructive);box-shadow:0 18px 48px var(--destructive);border-radius:12px}@supports (color:color-mix(in lab,red,red)){.compass-load-visual[data-state=error] .compass-load-mark{box-shadow:0 18px 48px color-mix(in srgb,var(--destructive) 20%,transparent)}}.compass-load-visual[data-state=error] .compass-load-mark svg{width:22px;height:22px}.compass-load-copy{z-index:1;width:min(620px,100vw - 48px);position:relative}.compass-load-eyebrow{color:var(--compass-focus);letter-spacing:.16em;text-transform:uppercase;margin-bottom:10px;font-size:11px;font-weight:700;display:block}.compass-load-copy h1{color:var(--foreground);letter-spacing:-.035em;margin:0;font-size:clamp(24px,4vw,38px);font-weight:650;line-height:1.08}.compass-load-steps,.compass-load-error{color:var(--muted-foreground);margin:16px auto 0;font-size:13px;line-height:1.65}.compass-load-steps{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.compass-load-steps b{color:var(--compass-focus);font-weight:700}.compass-load-error{overflow-wrap:anywhere;max-width:560px}.compass-load-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px;display:flex}.compass-load-action{border:1px solid var(--compass-line-strong);background:var(--compass-panel-raised);min-height:38px;color:var(--foreground);font:inherit;border-radius:9px;outline:none;align-items:center;gap:8px;padding:0 14px;font-size:12px;display:inline-flex}.compass-load-action:hover{border-color:var(--compass-focus);background:var(--compass-focus-soft)}.compass-load-action-primary{border-color:var(--vscode-button-background,var(--compass-focus));background:var(--vscode-button-background,var(--compass-focus));color:var(--vscode-button-foreground,#fff)}.compass-load-action-primary:hover{background:var(--vscode-button-hoverBackground,var(--compass-focus))}.compass-load-action svg{width:15px;height:15px}@keyframes compass-load-logo-breathe{50%{opacity:.72;transform:scale(.94)}}.compass-load-shell{background:var(--vscode-editor-background,var(--background));grid-template-rows:auto auto;gap:18px}.compass-load-shell:before{display:none}.compass-load-visual{width:92px;height:88px;margin:0 auto}.compass-load-mark{color:var(--vscode-symbolIcon-classForeground,var(--vscode-progressBar-background,var(--compass-focus)));box-shadow:none}.compass-load-logo{filter:drop-shadow(0 9px 20px var(--vscode-progressBar-background,var(--workbench-progress)))}@supports (color:color-mix(in lab,red,red)){.compass-load-logo{filter:drop-shadow(0 9px 20px color-mix(in srgb,var(--vscode-progressBar-background,var(--workbench-progress)) 28%,transparent))}}.compass-load-progress{background:var(--vscode-progressBar-background,var(--workbench-progress));width:96px;height:2px;position:absolute;bottom:0;left:50%;overflow:hidden;transform:translate(-50%)}@supports (color:color-mix(in lab,red,red)){.compass-load-progress{background:var(--vscode-progressBar-background,color-mix(in srgb, var(--workbench-progress) 28%, transparent))}}.compass-load-progress i{background:var(--workbench-progress);width:45%;height:100%;animation:1.4s ease-in-out infinite compass-native-progress;display:block}@keyframes compass-native-progress{0%{transform:translate(-110%)}to{transform:translate(330%)}}.compass-load-copy{width:min(520px,100vw - 40px)}.compass-load-eyebrow{color:var(--muted-foreground);letter-spacing:.08em;margin-bottom:7px;font-size:10px}.compass-load-copy h1{letter-spacing:-.015em;font-size:clamp(19px,3vw,25px);font-weight:600;line-height:1.2}.compass-load-steps,.compass-load-error{margin-top:10px;font-size:12px}.compass-load-steps{gap:8px 14px}.compass-load-step{color:var(--vscode-disabledForeground,var(--muted-foreground));align-items:center;gap:6px;display:inline-flex}.compass-load-step>i{border:1px solid;border-radius:50%;width:6px;height:6px;display:block}.compass-load-step[data-state=complete]{color:var(--vscode-descriptionForeground,var(--muted-foreground))}.compass-load-step[data-state=complete]>i{border-color:var(--vscode-progressBar-background,var(--workbench-progress));background:var(--vscode-progressBar-background,var(--workbench-progress))}.compass-load-step[data-state=active]{color:var(--vscode-editor-foreground,var(--foreground))}.compass-load-step[data-state=active]>i{border-color:var(--vscode-progressBar-background,var(--workbench-progress));background:var(--vscode-progressBar-background,var(--workbench-progress));box-shadow:0 0 7px var(--vscode-progressBar-background,var(--workbench-progress))}@supports (color:color-mix(in lab,red,red)){.compass-load-step[data-state=active]>i{box-shadow:0 0 7px color-mix(in srgb,var(--vscode-progressBar-background,var(--workbench-progress)) 46%,transparent)}}.compass-load-action{background:var(--vscode-button-secondaryBackground,var(--secondary));min-height:30px;color:var(--vscode-button-secondaryForeground,var(--secondary-foreground));border-radius:3px;padding:0 11px}.compass-load-action-primary{background:var(--vscode-button-background,var(--primary));color:var(--vscode-button-foreground,var(--primary-foreground))}.compass-load-shell[data-variant=architecture]{text-align:left;grid-template-rows:auto auto;grid-template-columns:minmax(220px,390px) minmax(280px,560px);column-gap:clamp(24px,6vw,72px)}.compass-load-shell[data-variant=architecture] .compass-load-visual{grid-column:1;margin:0}.compass-load-shell[data-variant=architecture] .compass-load-copy{grid-column:1;width:auto}.compass-load-shell[data-variant=architecture] .compass-load-steps{justify-content:flex-start}.architecture-load-skeleton{border:1px solid var(--vscode-panel-border,var(--border));background:var(--vscode-editor-background,var(--background));border-radius:4px;grid-area:1/2/span 2;grid-template-rows:54px 1fr;grid-template-columns:92px 1fr;width:min(46vw,560px);height:min(46vh,360px);display:grid;overflow:hidden}.architecture-load-skeleton span{background-image:linear-gradient(90deg,transparent,var(--foreground),transparent)}@supports (color:color-mix(in lab,red,red)){.architecture-load-skeleton span{background-image:linear-gradient(90deg,transparent,color-mix(in srgb,var(--foreground) 7%,transparent),transparent)}}.architecture-load-skeleton span{background-size:220% 100%;animation:1.8s ease-in-out infinite compass-skeleton}.architecture-load-rail{border-right:1px solid var(--border);background-color:var(--vscode-sideBar-background,var(--sidebar));grid-row:1/span 2}.architecture-load-flow{border-bottom:1px solid var(--border)}.architecture-load-content{border:1px solid var(--border);border-radius:3px;margin:14px}@keyframes compass-skeleton{to{background-position:-220% 0}}.compass-workspace{isolation:isolate;background:var(--compass-canvas);height:100vh;min-height:30rem;position:relative;overflow:hidden}.compass-workspace-content{grid-template-columns:minmax(0,1fr) 8px var(--compass-inspector-width,340px);width:100%;height:100%;min-height:inherit;display:grid;overflow:hidden}.compass-workspace-content[data-inspector-collapsed=true]{grid-template-columns:minmax(0,1fr) 48px}.compass-graph-transition{z-index:30;background:var(--vscode-editor-background,var(--background));color:var(--foreground);text-align:center;grid-template-rows:auto auto;place-content:center;gap:18px;padding:40px 24px;display:grid;position:absolute;inset:0;overflow:hidden}.compass-graph-transition .compass-load-copy{width:min(520px,100vw - 40px)}.compass-graph-transition-description{max-width:470px;color:var(--vscode-descriptionForeground,var(--muted-foreground));margin:10px auto 0;font-size:12px;line-height:1.6}.compass-graph-transition .compass-load-action:focus-visible{outline:2px solid var(--vscode-focusBorder,var(--ring));outline-offset:2px}.compass-graph-stage{background:radial-gradient(circle at 45% 42%,var(--compass-focus),transparent 34%),radial-gradient(circle at 76% 75%,var(--compass-success),transparent 28%),linear-gradient(145deg,var(--compass-canvas) 0%,var(--compass-canvas-deep) 100%);min-width:0;min-height:0;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.compass-graph-stage{background:radial-gradient(circle at 45% 42%,color-mix(in srgb,var(--compass-focus) 21%,transparent),transparent 34%),radial-gradient(circle at 76% 75%,color-mix(in srgb,var(--compass-success) 10%,transparent),transparent 28%),linear-gradient(145deg,var(--compass-canvas) 0%,var(--compass-canvas-deep) 100%)}}.compass-graph-stage:after{content:"";pointer-events:none;opacity:.16;background-image:radial-gradient(var(--compass-grid) .55px,transparent .55px);background-size:22px 22px;position:absolute;inset:0}.compass-graph-stage[data-comparison=true]{background:var(--vscode-editor-background,var(--compass-canvas))}.compass-graph-stage[data-comparison=true]:after{opacity:.09}.compass-canvas{z-index:1;min-width:0;min-height:0;position:absolute;inset:0}.compass-glass-panel{background:var(--vscode-editorWidget-background,var(--compass-panel));border:1px solid var(--compass-line);box-shadow:none;-webkit-backdrop-filter:none}.compass-graph-toolbar{z-index:4;border-radius:4px;justify-content:space-between;align-items:center;gap:10px;min-height:42px;padding:5px 6px 5px 10px;display:flex;position:absolute;top:12px;left:12px;right:12px}.compass-viewer-status{min-width:0;color:var(--muted-foreground);letter-spacing:.015em;align-items:center;gap:10px;font-size:12px;display:flex}.compass-viewer-status-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.compass-viewer-status-dot{background:var(--compass-focus);width:8px;height:8px;box-shadow:0 0 0 4px var(--compass-focus);border-radius:50%;flex:none}@supports (color:color-mix(in lab,red,red)){.compass-viewer-status-dot{box-shadow:0 0 0 4px color-mix(in srgb,var(--compass-focus) 12%,transparent)}}.compass-viewer-status[data-state=running] .compass-viewer-status-dot{animation:1.6s ease-in-out infinite compass-status-pulse}@keyframes compass-status-pulse{50%{box-shadow:0 0 0 8px color-mix(in srgb,var(--compass-focus) 0%,transparent)}}.compass-toolbar-actions{scrollbar-width:none;align-items:center;gap:6px;min-width:0;display:flex;overflow-x:auto}.compass-physics-button{border-color:var(--compass-line);background:var(--vscode-dropdown-background,transparent)}.compass-physics-button[aria-pressed=true]{border-color:var(--compass-focus)}@supports (color:color-mix(in lab,red,red)){.compass-physics-button[aria-pressed=true]{border-color:color-mix(in srgb,var(--compass-focus) 55%,var(--compass-line))}}.compass-physics-button[aria-pressed=true]{background:var(--compass-focus)}@supports (color:color-mix(in lab,red,red)){.compass-physics-button[aria-pressed=true]{background:color-mix(in srgb,var(--compass-focus) 13%,transparent)}}.compass-physics-button[aria-pressed=true]{color:var(--foreground)}.compass-toolbar-actions::-webkit-scrollbar{display:none}.compass-toolbar-separator{background:var(--compass-line);flex:none;width:1px;height:18px}.compass-zoom-controls{border:1px solid var(--compass-line);background:var(--vscode-dropdown-background,transparent);border-radius:3px;flex:none;min-height:30px;display:inline-flex;overflow:hidden}.compass-zoom-controls .compass-tool-button{border:0;border-radius:0;min-height:28px}.compass-zoom-controls .compass-tool-button+.compass-tool-button{border-left:1px solid var(--compass-line)}.compass-layout-picker{border:1px solid var(--compass-line);min-height:30px;color:var(--muted-foreground);background:var(--vscode-dropdown-background,transparent);border-radius:3px;align-items:center;gap:6px;padding-left:8px;display:inline-flex}.compass-layout-picker svg{flex:none;width:15px;height:15px}.compass-layout-picker select{min-height:28px;color:var(--vscode-dropdown-foreground,var(--foreground));font:inherit;background:0 0;border:0;outline:0;padding:0 24px 0 0}.compass-layout-picker:focus-within{outline:1px solid var(--vscode-focusBorder,var(--compass-focus));outline-offset:1px}.compass-tool-button:disabled{cursor:default;opacity:.55}.compass-tool-button{min-height:30px;color:var(--muted-foreground);white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:3px;align-items:center;gap:7px;padding:0 8px;transition:none;display:inline-flex}.compass-tool-button svg{width:15px;height:15px}.compass-tool-icon-button{flex:0 0 30px;justify-content:center;width:30px;padding:0}.compass-zoom-reset{min-width:42px;color:var(--compass-faint);font:9px/1 var(--compass-font-mono);letter-spacing:.02em;justify-content:center;padding:0 7px}.compass-tool-button:hover,.compass-tool-button[aria-pressed=true]{border-color:var(--compass-line);background:var(--workbench-hover);color:var(--foreground)}.compass-tool-button:focus-visible,.compass-explore-panel button:focus-visible,.compass-explore-panel select:focus-visible,.compass-minimap button:focus-visible,.compass-change-legend button:focus-visible,.compass-search-field input:focus-visible,.compass-search-item:focus-visible,.compass-inspector-action:focus-visible,.compass-source-card:focus-visible,.compass-inspector-disclosure:focus-visible,.compass-inspector-resizer:focus-visible,.compass-load-action:focus-visible,.compass-neighbor-link:focus-visible,.compass-community-item:focus-within{outline:2px solid var(--compass-focus);outline-offset:2px}.compass-explore-panel{z-index:8;width:min(330px,100vw - 24px);max-height:calc(100vh - 84px);color:var(--foreground);border-radius:5px;gap:10px;padding:12px;display:grid;position:absolute;top:calc(100% + 7px);right:0;overflow-y:auto}.compass-explore-heading{border-bottom:1px solid var(--compass-line);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:10px;display:flex}.compass-explore-heading>div{gap:3px;display:grid}.compass-explore-heading strong,.compass-explore-toggle strong,.compass-shortcut-title strong{letter-spacing:.02em;font-size:11px;font-weight:600}.compass-explore-heading span,.compass-explore-toggle small{color:var(--compass-faint);font-size:10px;line-height:1.35}.compass-selection-prompt{border:1px solid var(--compass-focus);grid-template-columns:18px minmax(0,1fr);align-items:start;gap:9px;padding:9px;display:grid}@supports (color:color-mix(in lab,red,red)){.compass-selection-prompt{border:1px solid color-mix(in srgb,var(--compass-focus) 28%,var(--compass-line))}}.compass-selection-prompt{background:var(--compass-focus);border-radius:4px}@supports (color:color-mix(in lab,red,red)){.compass-selection-prompt{background:color-mix(in srgb,var(--compass-focus) 7%,transparent)}}.compass-selection-prompt{color:var(--muted-foreground)}.compass-selection-prompt>svg{width:16px;height:16px;color:var(--compass-focus)}.compass-selection-prompt>span{gap:3px;display:grid}.compass-selection-prompt strong{color:var(--foreground);font-size:10px}.compass-selection-prompt small{color:var(--compass-faint);font-size:10px;line-height:1.4}.compass-explore-panel kbd{border:1px solid var(--compass-line);border-bottom-color:var(--compass-line);justify-content:center;align-items:center;min-width:20px;min-height:19px;padding:0 5px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.compass-explore-panel kbd{border-bottom-color:color-mix(in srgb,var(--compass-line) 72%,var(--foreground))}}.compass-explore-panel kbd{background:var(--vscode-keybindingLabel-background,var(--workbench-hover));color:var(--vscode-keybindingLabel-foreground,var(--foreground));font:9px/1 var(--compass-font-mono);border-radius:3px}.compass-explore-toggle{width:100%;color:var(--muted-foreground);text-align:left;background:0 0;border:1px solid #0000;border-radius:4px;grid-template-columns:18px minmax(0,1fr) 28px;align-items:center;gap:9px;padding:7px 8px;display:grid}.compass-explore-toggle:hover,.compass-explore-toggle[aria-pressed=true]{border-color:var(--compass-line);background:var(--workbench-hover);color:var(--foreground)}.compass-explore-toggle:disabled{cursor:default;opacity:.5}.compass-explore-toggle>svg{width:16px;height:16px}.compass-explore-toggle>span{gap:2px;min-width:0;display:grid}.compass-explore-toggle>i{border:1px solid var(--compass-line);background:var(--compass-canvas-deep);border-radius:8px;width:26px;height:14px;position:relative}.compass-explore-toggle>i:after{content:"";background:var(--compass-faint);border-radius:50%;width:8px;height:8px;position:absolute;top:2px;left:2px}.compass-explore-toggle[aria-pressed=true]>i{border-color:var(--compass-focus)}@supports (color:color-mix(in lab,red,red)){.compass-explore-toggle[aria-pressed=true]>i{border-color:color-mix(in srgb,var(--compass-focus) 65%,var(--compass-line))}}.compass-explore-toggle[aria-pressed=true]>i{background:var(--compass-focus)}@supports (color:color-mix(in lab,red,red)){.compass-explore-toggle[aria-pressed=true]>i{background:color-mix(in srgb,var(--compass-focus) 24%,var(--compass-canvas-deep))}}.compass-explore-toggle[aria-pressed=true]>i:after{background:var(--compass-focus);left:14px}.compass-explore-field{border:0;gap:6px;min-width:0;margin:0;padding:0;display:grid}.compass-explore-field:disabled{opacity:.5}.compass-explore-field legend,.compass-explore-select>span{color:var(--compass-faint);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:9px;font-weight:600}.compass-segmented-control{border:1px solid var(--compass-line);border-radius:4px;grid-auto-columns:1fr;grid-auto-flow:column;display:grid;overflow:hidden}.compass-segmented-control button{min-height:28px;color:var(--compass-faint);font:10px/1 var(--compass-font-mono);background:0 0;border:0}.compass-segmented-control button+button{border-left:1px solid var(--compass-line)}.compass-segmented-control button:hover,.compass-segmented-control button[aria-pressed=true]{background:var(--workbench-hover);color:var(--foreground)}.compass-segmented-control button[aria-pressed=true]{box-shadow:inset 0 -2px var(--compass-focus)}.compass-explore-select{display:grid}.compass-explore-select select{border:1px solid var(--compass-line);background:var(--vscode-dropdown-background,var(--compass-canvas-deep));min-height:30px;color:var(--vscode-dropdown-foreground,var(--foreground));border-radius:4px;padding:0 28px 0 8px;font-size:10px}.compass-shortcut-guide{border-top:1px solid var(--compass-line);gap:9px;padding-top:10px;display:grid}.compass-shortcut-title{color:var(--muted-foreground);align-items:center;gap:7px;display:flex}.compass-shortcut-title svg{width:15px;height:15px}.compass-shortcut-guide dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 14px;margin:0;display:grid}.compass-shortcut-guide dl>div{grid-template-columns:52px minmax(0,1fr);align-items:center;gap:5px;display:grid}.compass-shortcut-guide dt,.compass-shortcut-guide dd{margin:0}.compass-shortcut-guide dt{gap:3px;display:flex}.compass-shortcut-guide dd{color:var(--compass-faint);font-size:9px}.compass-minimap{z-index:3;border-radius:4px;width:178px;position:absolute;bottom:12px;right:12px;overflow:hidden}.compass-minimap header{border-bottom:1px solid var(--compass-line);min-height:26px;color:var(--muted-foreground);font:9px/1 var(--compass-font-mono);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:0 8px;display:flex}.compass-minimap header small{color:var(--compass-faint);font:inherit;letter-spacing:0;text-transform:none}.compass-minimap button{background:var(--compass-canvas);border:0;width:100%;height:108px;padding:0;display:block}@supports (color:color-mix(in lab,red,red)){.compass-minimap button{background:color-mix(in srgb,var(--compass-canvas) 90%,transparent)}}.compass-minimap button{color:var(--compass-faint)}.compass-minimap svg{width:100%;height:100%;display:block}.compass-minimap-edges line{stroke:var(--compass-line);stroke-width:.65px;vector-effect:non-scaling-stroke}.compass-minimap-nodes circle[data-focused=true]{stroke:var(--foreground);stroke-width:1.25px;vector-effect:non-scaling-stroke}.compass-minimap-viewport{fill:var(--compass-focus)}@supports (color:color-mix(in lab,red,red)){.compass-minimap-viewport{fill:color-mix(in srgb,var(--compass-focus) 8%,transparent)}}.compass-minimap-viewport{stroke:var(--compass-focus);stroke-width:1px;vector-effect:non-scaling-stroke}.compass-changed-symbols button:focus-visible,.compass-evidence-source-actions button:focus-visible,.compass-relationship-detail>button:focus-visible{outline:2px solid var(--compass-focus);outline-offset:2px}.compass-change-legend{z-index:4;border:1px solid var(--compass-line);background:var(--vscode-editorWidget-background,var(--compass-panel));border-radius:4px;flex-wrap:wrap;gap:5px;max-width:calc(100% - 24px);padding:5px;display:flex;position:absolute;top:64px;left:12px}.compass-change-legend button{min-height:27px;color:var(--muted-foreground);background:0 0;border:1px solid #0000;border-radius:3px;align-items:center;gap:6px;padding:3px 7px;font-size:10px;display:inline-flex}.compass-change-legend button:hover,.compass-change-legend button[aria-pressed=true]{border-color:var(--compass-line);background:var(--workbench-hover);color:var(--foreground)}.compass-change-legend button[aria-pressed=false]{opacity:.42}.compass-change-legend button>span{border:1px solid var(--vscode-descriptionForeground,#6e7781);background:var(--vscode-descriptionForeground,#6e7781);border-radius:50%;width:8px;height:8px}@supports (color:color-mix(in lab,red,red)){.compass-change-legend button>span{background:color-mix(in srgb,var(--vscode-descriptionForeground,#6e7781) 18%,var(--vscode-editor-background,var(--background)))}}.compass-change-legend button[data-change=added]>span{border-color:var(--vscode-gitDecoration-addedResourceForeground,#2ea043);background:var(--vscode-gitDecoration-addedResourceForeground,#2ea043)}@supports (color:color-mix(in lab,red,red)){.compass-change-legend button[data-change=added]>span{background:color-mix(in srgb,var(--vscode-gitDecoration-addedResourceForeground,#2ea043) 22%,var(--vscode-editor-background,var(--background)))}}.compass-change-legend button[data-change=removed]>span{border-color:var(--vscode-gitDecoration-deletedResourceForeground,#f85149);background:var(--vscode-gitDecoration-deletedResourceForeground,#f85149)}@supports (color:color-mix(in lab,red,red)){.compass-change-legend button[data-change=removed]>span{background:color-mix(in srgb,var(--vscode-gitDecoration-deletedResourceForeground,#f85149) 22%,var(--vscode-editor-background,var(--background)))}}.compass-change-legend button[data-change=changed]>span{border-color:var(--vscode-gitDecoration-modifiedResourceForeground,#d29922);background:var(--vscode-gitDecoration-modifiedResourceForeground,#d29922)}@supports (color:color-mix(in lab,red,red)){.compass-change-legend button[data-change=changed]>span{background:color-mix(in srgb,var(--vscode-gitDecoration-modifiedResourceForeground,#d29922) 22%,var(--vscode-editor-background,var(--background)))}}.compass-change-legend button small{color:var(--compass-faint);font:9px/1 var(--compass-font-mono)}.compass-semantic-legend{z-index:4;border:1px solid var(--compass-line);background:var(--vscode-editorWidget-background,var(--compass-panel));max-width:calc(100% - 24px);color:var(--muted-foreground);border-radius:4px;flex-wrap:wrap;gap:5px 12px;padding:7px 8px;font-size:10px;display:flex;position:absolute;top:64px;left:12px}.compass-semantic-legend section{flex-wrap:wrap;align-items:center;gap:5px 9px;min-height:20px;display:flex}.compass-semantic-legend section+section{border-left:1px solid var(--compass-line);padding-left:12px}.compass-semantic-legend strong{color:var(--compass-faint);font:9px/1 var(--compass-font-mono);letter-spacing:.08em;text-transform:uppercase}.compass-semantic-legend-item{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.compass-semantic-legend-item small{color:var(--compass-faint);font:9px/1 var(--compass-font-mono)}.compass-semantic-legend-item i[data-node-category]{border:1.5px solid var(--vscode-descriptionForeground,#8b949e);background:var(--vscode-descriptionForeground,#8b949e);width:9px;height:9px;display:inline-block}@supports (color:color-mix(in lab,red,red)){.compass-semantic-legend-item i[data-node-category]{background:color-mix(in srgb,var(--vscode-descriptionForeground,#8b949e) 22%,var(--vscode-editor-background,var(--background)))}}.compass-semantic-legend-item i[data-node-category=callable]{border-color:var(--vscode-symbolIcon-functionForeground,#5fa8ff);background:var(--vscode-symbolIcon-functionForeground,#5fa8ff);border-radius:50%}@supports (color:color-mix(in lab,red,red)){.compass-semantic-legend-item i[data-node-category=callable]{background:color-mix(in srgb,var(--vscode-symbolIcon-functionForeground,#5fa8ff) 22%,var(--vscode-editor-background,var(--background)))}}.compass-semantic-legend-item i[data-node-category=type]{border-color:var(--vscode-symbolIcon-classForeground,#e3b341);background:var(--vscode-symbolIcon-classForeground,#e3b341)}@supports (color:color-mix(in lab,red,red)){.compass-semantic-legend-item i[data-node-category=type]{background:color-mix(in srgb,var(--vscode-symbolIcon-classForeground,#e3b341) 22%,var(--vscode-editor-background,var(--background)))}}.compass-semantic-legend-item i[data-node-category=type]{transform:rotate(45deg)scale(.82)}.compass-semantic-legend-item i[data-node-category=module]{border-color:var(--vscode-symbolIcon-moduleForeground,#56d4b4);background:var(--vscode-symbolIcon-moduleForeground,#56d4b4);border-radius:1px}@supports (color:color-mix(in lab,red,red)){.compass-semantic-legend-item i[data-node-category=module]{background:color-mix(in srgb,var(--vscode-symbolIcon-moduleForeground,#56d4b4) 22%,var(--vscode-editor-background,var(--background)))}}.compass-semantic-legend-item i[data-node-category=boundary]{background:var(--vscode-symbolIcon-eventForeground,#ff9b87);clip-path:polygon(50% 0,100% 100%,0 100%);border:0;width:11px;height:10px}.compass-semantic-legend-item i[data-edge-category]{background:var(--vscode-descriptionForeground,#8b949e);width:16px;height:2px;display:inline-block;position:relative}.compass-semantic-legend-item i[data-edge-category]:after{content:"";border-top:3px solid #0000;border-bottom:3px solid #0000;border-left:4px solid;width:0;height:0;position:absolute;top:-2px;right:-1px}.compass-semantic-legend-item i[data-edge-category=execution]{background:var(--vscode-symbolIcon-functionForeground,#5fa8ff);color:var(--vscode-symbolIcon-functionForeground,#5fa8ff)}.compass-semantic-legend-item i[data-edge-category=dependency]{background:var(--vscode-symbolIcon-moduleForeground,#56d4b4);color:var(--vscode-symbolIcon-moduleForeground,#56d4b4)}.compass-semantic-legend-item i[data-edge-category=structure]{background:var(--vscode-symbolIcon-classForeground,#e3b341);color:var(--vscode-symbolIcon-classForeground,#e3b341)}.compass-semantic-legend-item i[data-edge-category=flow]{background:var(--vscode-symbolIcon-eventForeground,#ff9b87);color:var(--vscode-symbolIcon-eventForeground,#ff9b87)}.compass-inspector-resizer{z-index:6;background:var(--compass-panel);cursor:col-resize;touch-action:none;border:0;outline:none;min-width:8px;position:relative}.compass-inspector-resizer span{background:var(--compass-line-strong);border-radius:999px;width:2px;height:42px;transition:height .16s,background .16s;position:absolute;top:50%;left:3px;transform:translateY(-50%)}.compass-inspector-resizer:hover span,.compass-inspector-resizer:focus-visible span{background:var(--compass-focus);height:68px}.compass-graph-inspector{z-index:5;border-left:1px solid var(--compass-line);background:var(--vscode-sideBar-background,var(--compass-panel));min-width:0;box-shadow:none;flex-direction:column;display:flex;position:relative;overflow:hidden}.compass-graph-inspector-collapsed{border-left:1px solid var(--compass-line);box-shadow:none;align-items:center}.compass-inspector-header{border-bottom:1px solid var(--compass-line);align-items:center;gap:11px;min-height:52px;padding:8px 12px;display:flex}.compass-inspector-title{flex:1;min-width:0}.compass-inspector-header strong,.compass-inspector-header small{display:block}.compass-inspector-header strong{letter-spacing:.01em;font-size:14px}.compass-inspector-header small{color:var(--compass-faint);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11px;overflow:hidden}.compass-product-mark{background:linear-gradient(145deg,var(--vscode-button-foreground,#eff8ff),var(--compass-focus));border-radius:4px;flex:none;place-items:center;width:32px;height:32px;display:grid}@supports (color:color-mix(in lab,red,red)){.compass-product-mark{background:linear-gradient(145deg,var(--vscode-button-foreground,#eff8ff),color-mix(in srgb,var(--compass-focus) 64%,#fff))}}.compass-product-mark{color:var(--vscode-button-background,#09182c);box-shadow:inset 0 0 0 1px #ffffff7a}.compass-product-mark svg{width:19px;height:19px}.compass-inspector-disclosure{width:32px;height:32px;color:var(--muted-foreground);background:0 0;border:1px solid #0000;border-radius:3px;outline:none;flex:none;place-items:center;transition:none;display:grid}.compass-inspector-disclosure:hover{border-color:var(--compass-line);background:var(--workbench-hover);color:var(--foreground)}.compass-inspector-disclosure svg{width:17px;height:17px}.compass-inspector-expand{margin-top:18px}.compass-inspector-rail-label{color:var(--compass-faint);letter-spacing:.12em;text-transform:uppercase;writing-mode:vertical-rl;margin-top:16px;font-size:10px;font-weight:650}.compass-inspector-search{border-bottom:1px solid var(--compass-line);padding:10px 12px;position:relative}.compass-inspector-search-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;display:grid}.compass-inspector-search-row .compass-search-field:last-child{grid-column:1/-1}.compass-inspector-search-disclosure{border-color:var(--compass-line)}.compass-search-field{position:relative}.compass-search-field svg{width:15px;height:15px;color:var(--compass-faint);pointer-events:none;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.compass-search-field input{border:1px solid var(--compass-line);background:var(--vscode-input-background,var(--background));width:100%;min-height:30px;color:var(--vscode-input-foreground,var(--foreground));border-radius:3px;outline:none;padding:0 10px 0 34px}.compass-search-field input::placeholder{color:var(--vscode-input-placeholderForeground,var(--compass-faint))}.compass-search-results{z-index:8;border:1px solid var(--compass-line-strong);background:var(--vscode-menu-background,var(--compass-panel));max-height:230px;box-shadow:0 4px 12px var(--vscode-widget-shadow,#00000047);border-radius:3px;padding:6px;position:absolute;top:46px;left:12px;right:12px;overflow-y:auto}.compass-search-item{width:100%;min-height:42px;color:var(--muted-foreground);text-align:left;background:0 0;border:0;border-left:3px solid #0000;border-radius:2px;padding:7px 10px;display:block;overflow:hidden}.compass-search-item strong,.compass-search-item span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.compass-search-item strong{color:var(--foreground);font-size:12px}.compass-search-item span{color:var(--compass-faint);font:10px/1.4 var(--compass-font-mono)}.compass-search-item:hover,.compass-search-item[aria-selected=true]{background:var(--vscode-list-activeSelectionBackground,var(--compass-focus-soft));color:var(--vscode-list-activeSelectionForeground,var(--foreground))}.compass-info-panel{border-bottom:1px solid var(--compass-line);max-height:48%;padding:18px 16px;overflow-y:auto}.compass-changed-symbols{border-bottom:1px solid var(--compass-line);max-height:30%;padding:14px 16px;overflow-y:auto}.compass-changed-symbol-list{gap:4px;display:grid}.compass-changed-symbol-list>button{width:100%;color:var(--foreground);text-align:left;background:0 0;border:1px solid #0000;border-radius:3px;grid-template-columns:auto minmax(0,1fr);gap:2px 8px;padding:7px 8px;display:grid}.compass-changed-symbol-list>button:hover,.compass-changed-symbol-list>button[aria-pressed=true]{border-color:var(--compass-line);background:var(--vscode-list-activeSelectionBackground,var(--compass-focus-soft))}.compass-changed-symbol-list strong,.compass-changed-symbol-list small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.compass-changed-symbol-list small{color:var(--compass-faint);font:9px/1.35 var(--compass-font-mono);grid-column:2}.compass-changed-symbol-status{color:var(--vscode-descriptionForeground);letter-spacing:.06em;text-transform:uppercase;grid-row:1/span 2;align-self:center;font-size:8px;font-weight:700}.compass-changed-symbol-list>button[data-change=added] .compass-changed-symbol-status{color:var(--vscode-gitDecoration-addedResourceForeground,#2ea043)}.compass-changed-symbol-list>button[data-change=removed] .compass-changed-symbol-status{color:var(--vscode-gitDecoration-deletedResourceForeground,#f85149)}.compass-changed-symbol-list>button[data-change=changed] .compass-changed-symbol-status{color:var(--vscode-gitDecoration-modifiedResourceForeground,#d29922)}.compass-changed-symbol-expand{border:1px solid var(--compass-line);width:100%;color:var(--vscode-textLink-foreground,var(--compass-focus));background:0 0;border-radius:3px;margin-top:8px;padding:6px 8px}.compass-record-evidence,.compass-relationship-evidence,.compass-code-evidence{margin-top:16px}.compass-code-query-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:10px;display:grid}.compass-code-query-actions button{border:1px solid var(--compass-line);color:var(--vscode-textLink-foreground,var(--compass-focus));background:0 0;border-radius:3px;padding:5px 4px;font-size:9px}.compass-code-query-actions button:focus-visible{outline:2px solid var(--vscode-focusBorder,var(--compass-focus));outline-offset:1px}.compass-code-evidence-ledger{gap:6px;display:grid}.compass-code-evidence-entry{border:1px solid var(--compass-line);background:var(--vscode-editorWidget-background,var(--background));border-left-width:3px;border-radius:3px;grid-template-columns:24px minmax(0,1fr);gap:8px;padding:8px;display:grid}.compass-code-evidence-entry[data-status=exact],.compass-code-evidence-entry[data-status=config],.compass-code-evidence-entry[data-status=convention]{border-left-color:var(--vscode-testing-iconPassed,#2ea043)}.compass-code-evidence-entry[data-status=heuristic]{border-left-color:var(--vscode-charts-blue,#58a6ff)}.compass-code-evidence-entry[data-status=ambiguous],.compass-code-evidence-entry[data-status=unresolved]{border-left-color:var(--vscode-editorWarning-foreground,#d29922)}.compass-code-evidence-icon{background:var(--vscode-badge-background,var(--muted));width:24px;height:24px;color:var(--vscode-badge-foreground,var(--foreground));border-radius:50%;place-items:center;display:grid}.compass-code-evidence-icon svg{width:13px;height:13px}.compass-code-evidence-copy{min-width:0}.compass-code-evidence-status{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.compass-code-evidence-status strong{color:var(--foreground);font-size:10px}.compass-code-evidence-status span{color:var(--compass-faint);text-transform:uppercase;font-size:8px}.compass-code-evidence-copy dl{gap:3px;margin:7px 0 0;display:grid}.compass-code-evidence-copy dl>div{grid-template-columns:62px minmax(0,1fr);gap:6px;display:grid}.compass-code-evidence-copy dt{color:var(--compass-faint);text-transform:uppercase;font-size:8px}.compass-code-evidence-copy dd{overflow-wrap:anywhere;min-width:0;color:var(--foreground);font:9px/1.35 var(--compass-font-mono);margin:0}.compass-code-evidence-source{max-width:100%;color:var(--vscode-textLink-foreground,var(--compass-focus));font:9px/1.35 var(--compass-font-mono);overflow-wrap:anywhere;text-align:left;background:0 0;border:0;align-items:center;gap:5px;margin-top:7px;padding:0;display:inline-flex}button.compass-code-evidence-source{cursor:pointer}button.compass-code-evidence-source:focus-visible{outline:2px solid var(--vscode-focusBorder,var(--compass-focus));outline-offset:2px;border-radius:2px}.compass-code-evidence-source svg{width:11px;min-width:11px;height:11px}.compass-code-candidates{border-top:1px solid var(--compass-line);margin-top:8px;padding-top:7px}.compass-code-candidates>span{color:var(--compass-faint);text-transform:uppercase;font-size:8px}.compass-code-candidates ul{gap:5px;margin:6px 0 0;padding:0;list-style:none;display:grid}.compass-code-candidates li{grid-template-columns:minmax(0,1fr) auto;gap:1px 6px;display:grid}.compass-code-candidates code{overflow-wrap:anywhere;color:var(--foreground);font:9px/1.35 var(--compass-font-mono)}.compass-code-candidates li>span{color:var(--muted-foreground);grid-column:1/-1;font-size:9px}.compass-code-candidates small{color:var(--compass-faint);text-transform:uppercase;grid-area:1/2;font-size:8px}.compass-code-diagnostic{border:1px solid var(--vscode-editorWarning-foreground,#d29922);color:var(--muted-foreground);border-radius:3px;gap:7px;margin:0 0 6px;padding:7px 8px;font-size:9px;display:flex}.compass-code-diagnostic[data-severity=info]{border-color:var(--vscode-charts-blue,#58a6ff)}.compass-code-diagnostic svg{width:12px;min-width:12px;height:12px}.compass-code-diagnostic strong{color:var(--foreground);text-transform:capitalize}.compass-evidence-heading{justify-content:space-between;align-items:baseline;margin-bottom:7px;display:flex}.compass-evidence-heading h3{color:var(--foreground);font-size:11px}.compass-evidence-heading span{color:var(--compass-faint);font-size:9px}.compass-field-table-wrap{border:1px solid var(--compass-line);border-radius:3px;overflow-x:auto}.compass-field-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:360px}.compass-field-table th,.compass-field-table td{border-right:1px solid var(--compass-line);border-bottom:1px solid var(--compass-line);vertical-align:top;text-align:left;padding:6px 7px}.compass-field-table tr:last-child>*{border-bottom:0}.compass-field-table tr>:last-child{border-right:0}.compass-field-table thead th{background:var(--vscode-editorWidget-background,var(--background));color:var(--compass-faint);text-transform:uppercase;font-size:9px}.compass-field-table tbody th{width:27%;color:var(--foreground);font:9px/1.4 var(--compass-font-mono);overflow-wrap:anywhere}.compass-field-table code{color:var(--foreground);font:9px/1.4 var(--compass-font-mono);white-space:pre-wrap;overflow-wrap:anywhere}.compass-value-truncated{color:var(--vscode-editorWarning-foreground,#d29922);margin-top:4px;font-size:8px;display:block}.compass-evidence-source-actions{gap:6px;margin-top:8px;display:flex}.compass-evidence-source-actions button{border:1px solid var(--compass-line);color:var(--vscode-textLink-foreground,var(--compass-focus));background:0 0;border-radius:3px;align-items:center;gap:5px;padding:5px 7px;display:inline-flex}.compass-evidence-source-actions svg{width:12px;height:12px}.compass-relationship-list{gap:5px;margin-top:7px;display:grid}.compass-relationship-list details{border:1px solid var(--compass-line);background:var(--vscode-editorWidget-background,var(--background));border-radius:3px;padding:6px 7px}.compass-relationship-list summary{cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:4px 7px;display:grid}.compass-relationship-target{color:var(--vscode-textLink-foreground,var(--compass-focus));text-align:left;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.compass-relationship-list summary small{color:var(--foreground);font:9px/1.3 var(--compass-font-mono);grid-column:2}.compass-relationship-list summary i{color:var(--compass-faint);text-transform:uppercase;grid-area:2/3;font-size:8px;font-style:normal}.compass-relationship-detail{margin-top:7px}.compass-relationship-detail>p{color:var(--compass-faint);font:9px/1.4 var(--compass-font-mono);margin:7px 0 0}.compass-relationship-detail>button{border:1px solid var(--compass-line);color:var(--vscode-textLink-foreground,var(--compass-focus));background:0 0;border-radius:3px;margin-top:7px;padding:4px 7px}.compass-bounded-notice{z-index:4;border:1px solid var(--vscode-editorWarning-foreground,#d29922);background:var(--vscode-editorWidget-background,var(--compass-panel));max-width:min(420px,100% - 24px);color:var(--foreground);border-radius:3px;gap:2px;padding:8px 10px;font-size:10px;display:grid;position:absolute;bottom:12px;right:12px}.compass-bounded-notice span{color:var(--muted-foreground)}.compass-hover-hint{border-top:1px solid var(--compass-line);color:var(--vscode-textLink-foreground,var(--compass-focus));align-items:center;gap:7px;margin-top:2px;padding-top:9px;font-size:11px;display:flex!important}.compass-hover-hint svg{flex:none;width:14px;height:14px}.compass-hover-hint strong{color:var(--vscode-editorHoverWidget-foreground,var(--foreground));font-weight:650}.compass-section-heading,.compass-neighbors-heading{justify-content:space-between;align-items:baseline;display:flex}.compass-section-heading{margin-bottom:15px}.compass-section-heading h2,.compass-community-panel h2{letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:700}.compass-section-heading span{color:var(--compass-faint);letter-spacing:.1em;text-transform:uppercase;font-size:9px}.compass-info-content{color:var(--muted-foreground);font-size:12px;line-height:1.45}.compass-node-identity{align-items:center;gap:11px;margin-bottom:15px;display:flex}.compass-node-identity>span:nth-child(2){flex:1;min-width:0}.compass-node-identity strong,.compass-node-identity small{display:block}.compass-node-identity strong{color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.compass-node-identity small{background:var(--compass-success);border-radius:999px;width:max-content;margin-top:3px;padding:3px 7px}@supports (color:color-mix(in lab,red,red)){.compass-node-identity small{background:color-mix(in srgb,var(--compass-success) 20%,transparent)}}.compass-node-identity small{color:var(--compass-success);letter-spacing:.07em;text-transform:uppercase;font-size:9px;font-weight:800}.compass-node-swatch{border-radius:5px;flex:none;width:10px;height:36px}.compass-change-badge{width:max-content;color:var(--vscode-descriptionForeground,#6e7781);letter-spacing:.05em;text-transform:uppercase;border:1px solid;border-radius:999px;align-items:center;gap:5px;padding:3px 7px;font-size:9px;font-weight:700;display:inline-flex}.compass-node-identity .compass-change-badge{flex:none;margin-left:auto}.compass-change-badge[data-change=added]{color:var(--vscode-gitDecoration-addedResourceForeground,#2ea043)}.compass-change-badge[data-change=removed]{color:var(--vscode-gitDecoration-deletedResourceForeground,#f85149)}.compass-change-badge[data-change=changed]{color:var(--vscode-gitDecoration-modifiedResourceForeground,#d29922)}.compass-metadata-grid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:15px;display:grid}.compass-metadata-grid>div{border:1px solid var(--compass-line);background:var(--vscode-editorWidget-background,var(--background));border-radius:3px;min-width:0;padding:9px 10px}.compass-metadata-grid .compass-metadata-wide{grid-column:1/-1}.compass-metadata-grid dt{color:var(--compass-faint);letter-spacing:.08em;text-transform:uppercase;font-size:9px}.compass-metadata-grid dd{color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;overflow:hidden}.compass-source-metadata[data-interactive=true]{padding:0;transition:border-color .16s,background .16s}.compass-source-metadata[data-interactive=true]:hover,.compass-source-metadata[data-interactive=true]:focus-within{border-color:var(--compass-focus);background:var(--compass-focus-soft)}.compass-source-metadata[data-interactive=true] dd{white-space:normal;margin:0;overflow:visible}.compass-source-card{width:100%;min-height:58px;color:var(--foreground);text-align:left;background:0 0;border:0;border-radius:2px;outline:none;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;display:flex}.compass-source-copy{min-width:0;display:block}.compass-source-eyebrow,.compass-source-path,.compass-source-range{display:block}.compass-source-eyebrow{color:var(--compass-faint);font-family:var(--compass-font-sans);letter-spacing:.08em;text-transform:uppercase;font-size:9px}.compass-source-path{font:11px/1.35 var(--compass-font-mono);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;overflow:hidden}.compass-source-range{color:var(--muted-foreground);font:10px/1.25 var(--compass-font-sans);margin-top:3px}.compass-source-card>svg{width:15px;height:15px;color:var(--compass-focus);flex:none}.compass-source-card:hover>svg{color:var(--foreground)}.compass-signature-block{overflow-wrap:anywhere;border:1px solid var(--compass-line);background:var(--vscode-input-background,var(--background));color:var(--foreground);font:11px/1.45 var(--compass-font-mono);border-radius:3px;margin-bottom:15px;padding:10px;display:block}.compass-inspector-action{border:1px solid var(--compass-line);background:var(--workbench-hover);width:100%;min-height:36px;color:var(--foreground);border-radius:3px;justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px;padding:0 10px;display:flex}.compass-inspector-action span{min-width:0;color:var(--muted-foreground);font:10px/1.2 var(--compass-font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.compass-neighbors-heading{margin:3px 0 7px}.compass-neighbors-heading strong{color:var(--compass-faint);font-size:10px}.compass-neighbors-list{max-height:154px;overflow-y:auto}.compass-neighbor-link{width:100%;min-height:36px;color:var(--muted-foreground);text-align:left;background:0 0;border:0;border-radius:3px;align-items:center;gap:9px;margin:3px 0;padding:8px 9px;display:flex;overflow:hidden}.compass-neighbor-link:hover{background:var(--workbench-hover);color:var(--foreground)}.compass-neighbor-dot{width:8px;height:8px;box-shadow:0 0 0 1px var(--foreground);border-radius:50%;flex:none}@supports (color:color-mix(in lab,red,red)){.compass-neighbor-dot{box-shadow:0 0 0 1px color-mix(in srgb,var(--foreground) 10%,transparent)}}.compass-neighbor-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.compass-empty{color:var(--compass-faint);padding:8px 0;font-size:12px;display:block}.compass-community-panel{flex:1;min-height:0;padding:16px;overflow-y:auto}.compass-community-panel h2{margin-bottom:10px}.compass-community-panel[data-secondary=true]{flex:0 auto;padding-top:12px}.compass-community-panel details>summary{cursor:pointer;min-height:30px;color:var(--muted-foreground);letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;align-items:center;font-size:11px;font-weight:700;display:flex}.compass-community-panel details>summary span{color:var(--compass-faint);font:9px/1 var(--compass-font-mono)}.compass-community-controls{min-height:0}.compass-community-search{align-items:center;margin:2px 0 8px;display:flex;position:relative}.compass-community-search>svg{width:13px;height:13px;color:var(--compass-faint);pointer-events:none;position:absolute;left:8px}.compass-community-search input{border:1px solid var(--compass-line);background:var(--vscode-input-background,var(--background));width:100%;height:30px;color:var(--foreground);font:11px/1.3 var(--compass-font-sans);border-radius:3px;padding:0 8px 0 28px}.compass-community-limit{color:var(--compass-faint);margin:8px 0 0;font-size:10px;line-height:1.45}.compass-community-control,.compass-community-item{min-height:34px;color:var(--muted-foreground);align-items:center;gap:8px;font-size:12px;display:flex}.compass-community-item{border-radius:3px}.compass-community-item:hover{background:var(--workbench-hover);color:var(--foreground)}.compass-community-item[data-hidden=true]{opacity:.36}.compass-community-item input,.compass-community-control input{width:15px;height:15px;accent-color:var(--compass-focus)}.compass-community-dot{border-radius:50%;flex:none;width:9px;height:9px}.compass-community-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.compass-community-item small{color:var(--compass-faint);font-size:10px}.compass-graph-stats{border-top:1px solid var(--compass-line);color:var(--compass-faint);letter-spacing:.025em;padding:11px 16px;font-size:10px}.compass-node-hover-card{z-index:7;top:clamp(86px,var(--compass-hover-y),calc(100% - 10rem));left:clamp(12px,var(--compass-hover-x),calc(100% - min(27rem,90%) - 12px));border:1px solid var(--compass-line-strong);background:var(--vscode-editorHoverWidget-background,var(--compass-panel));width:max-content;max-width:min(26rem,100% - 24px);color:var(--vscode-editorHoverWidget-foreground,var(--muted-foreground));box-shadow:0 4px 12px var(--vscode-widget-shadow,#00000047);pointer-events:none;border-radius:3px;gap:7px;padding:13px 15px;font-size:12px;line-height:1.35;display:grid;position:absolute;overflow:hidden}.compass-node-hover-card>.compass-change-badge{margin:0}.compass-hover-heading{align-items:center;gap:8px;display:flex}.compass-hover-heading strong{min-width:0;color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.compass-hover-heading span{background:var(--compass-success);border-radius:999px;width:max-content;padding:3px 7px}@supports (color:color-mix(in lab,red,red)){.compass-hover-heading span{background:color-mix(in srgb,var(--compass-success) 20%,transparent)}}.compass-hover-heading span{color:var(--compass-success);letter-spacing:.07em;font-size:9px;font-weight:800}.compass-node-hover-card p,.compass-node-hover-card code{display:block}.compass-hover-source{color:var(--compass-focus)}.compass-node-hover-card code{max-width:395px;color:var(--foreground);font-family:var(--compass-font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.compass-edge-hover-card{z-index:8;top:clamp(86px,var(--compass-hover-y),calc(100% - 15rem));left:clamp(12px,var(--compass-hover-x),calc(100% - min(31rem,92%) - 12px));border:1px solid var(--compass-line-strong);background:var(--vscode-editorHoverWidget-background,var(--compass-panel));width:min(31rem,100% - 24px);color:var(--vscode-editorHoverWidget-foreground,var(--muted-foreground));box-shadow:0 8px 24px var(--vscode-widget-shadow,#00000057);pointer-events:none;border-radius:4px;gap:10px;padding:13px 15px;font-size:11px;line-height:1.35;animation:90ms ease-out both compass-edge-card-enter;display:grid;position:absolute;overflow:hidden}@keyframes compass-edge-card-enter{0%{opacity:0;transform:translateY(3px)}}.compass-edge-hover-heading,.compass-edge-relation-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.compass-edge-hover-eyebrow{color:var(--compass-faint);letter-spacing:.09em;text-transform:uppercase;align-items:center;gap:6px;font-size:9px;font-weight:750;display:inline-flex}.compass-edge-hover-eyebrow svg{width:12px;height:12px;color:var(--compass-focus)}.compass-edge-confidence{border:1px solid;padding:3px 7px}@supports (color:color-mix(in lab,red,red)){.compass-edge-confidence{border:1px solid color-mix(in srgb,currentColor 28%,transparent)}}.compass-edge-confidence{background:currentColor;border-radius:999px}@supports (color:color-mix(in lab,red,red)){.compass-edge-confidence{background:color-mix(in srgb,currentColor 11%,transparent)}}.compass-edge-confidence{color:var(--compass-faint);letter-spacing:.055em;text-transform:uppercase;font-size:9px;font-weight:800}.compass-edge-confidence[data-confidence=extracted]{color:var(--compass-success)}.compass-edge-confidence[data-confidence=inferred]{color:var(--compass-focus)}.compass-edge-confidence[data-confidence=ambiguous]{color:var(--compass-warning)}.compass-edge-confidence[data-confidence=aggregated]{color:var(--compass-faint)}.compass-edge-trace{border:1px solid var(--compass-line);background:var(--compass-focus);border-radius:3px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:9px;min-width:0;padding:9px 10px;display:grid}@supports (color:color-mix(in lab,red,red)){.compass-edge-trace{background:color-mix(in srgb,var(--compass-focus) 7%,transparent)}}.compass-edge-trace strong{min-width:0;color:var(--foreground);font:600 11px/1.35 var(--compass-font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.compass-edge-trace strong:last-child{text-align:right}.compass-edge-trace>span{border:1px solid var(--compass-focus);place-items:center;width:22px;height:22px;display:grid}@supports (color:color-mix(in lab,red,red)){.compass-edge-trace>span{border:1px solid color-mix(in srgb,var(--compass-focus) 38%,transparent)}}.compass-edge-trace>span{background:var(--vscode-editorHoverWidget-background,var(--compass-panel));color:var(--compass-focus);border-radius:50%}.compass-edge-trace svg{width:12px;height:12px}.compass-edge-relation-row>strong{color:var(--foreground);font-size:12px;font-weight:700}.compass-edge-relation-row>.compass-change-badge{margin:0}.compass-edge-metadata{gap:5px;padding-top:1px;display:grid}.compass-edge-metadata p{grid-template-columns:54px minmax(0,1fr);align-items:baseline;gap:8px;display:grid}.compass-edge-metadata span{color:var(--compass-faint);letter-spacing:.06em;text-transform:uppercase;font-size:9px;font-weight:700}.compass-edge-metadata code{min-width:0;color:var(--vscode-textLink-foreground,var(--compass-focus));font:10px/1.4 var(--compass-font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}body.vscode-high-contrast .compass-glass-panel,body.vscode-high-contrast .compass-graph-inspector,body.vscode-high-contrast .compass-inspector-resizer,body.vscode-high-contrast .compass-load-action,body.vscode-high-contrast .compass-load-step>i,body.vscode-high-contrast .compass-source-metadata,body.vscode-high-contrast .compass-node-hover-card,body.vscode-high-contrast .compass-edge-hover-card,body.vscode-high-contrast-light .compass-glass-panel,body.vscode-high-contrast-light .compass-graph-inspector,body.vscode-high-contrast-light .compass-inspector-resizer,body.vscode-high-contrast-light .compass-load-action,body.vscode-high-contrast-light .compass-load-step>i,body.vscode-high-contrast-light .compass-source-metadata,body.vscode-high-contrast-light .compass-node-hover-card,body.vscode-high-contrast-light .compass-edge-hover-card{border-width:2px;border-color:var(--vscode-contrastBorder,var(--compass-focus))}body.vscode-high-contrast .compass-load-logo,body.vscode-high-contrast-light .compass-load-logo{color:var(--vscode-contrastBorder,currentColor)}@media(max-width:980px){.compass-tool-button span{display:none}.compass-tool-button{padding:0 11px}}@media(max-width:760px){.compass-workspace{height:auto;min-height:100vh;overflow:auto}.compass-workspace-content,.compass-workspace-content[data-inspector-collapsed=true]{height:auto;min-height:inherit;grid-template-rows:minmax(360px,62vh) minmax(280px,40vh);grid-template-columns:1fr;overflow:visible}.compass-workspace-content[data-inspector-collapsed=true]{grid-template-rows:minmax(360px,calc(100vh - 48px)) 48px}.compass-inspector-resizer{display:none}.compass-graph-inspector{border-top:1px solid var(--compass-line);min-height:280px;box-shadow:none;border-left:0;border-radius:0}.compass-graph-inspector-collapsed{border-radius:0;flex-direction:row;justify-content:center;min-height:48px}.compass-inspector-expand{margin-top:0}.compass-inspector-rail-label{writing-mode:horizontal-tb;margin-top:0;margin-left:10px}.compass-graph-toolbar{top:12px;left:12px;right:12px}.compass-toolbar-actions{max-width:62%;overflow-x:auto}.compass-explore-panel{max-height:calc(62vh - 82px)}.compass-info-panel{max-height:none}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.compass-load-logo,.compass-load-progress i,.architecture-load-skeleton span,.workbench-state-spinner{animation:none!important}}.architecture-shell{background:var(--background);height:100vh;color:var(--foreground);grid-template-columns:minmax(220px,280px) minmax(0,1fr);display:grid}.query-shell{--query-surface:var(--vscode-editor-background,var(--background));--query-surface-raised:var(--vscode-editorWidget-background,var(--vscode-sideBar-background,var(--card)));--query-border:var(--vscode-panel-border,var(--border));--query-input:var(--vscode-input-background,var(--background));--query-input-foreground:var(--vscode-input-foreground,var(--foreground));--query-accent:var(--vscode-focusBorder,var(--ring));background:var(--background);height:100vh;min-height:420px;color:var(--foreground);grid-template-rows:auto 1fr;display:grid;overflow:hidden}.query-header{border-bottom:1px solid var(--query-border);background:var(--query-surface);padding:14px 18px 16px}.query-heading-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.query-context{color:var(--muted-foreground);font:10px/1.35 var(--compass-font-mono);letter-spacing:.04em;text-transform:uppercase}.query-heading-row h1{margin:3px 0 0;font-size:16px;font-weight:600;line-height:1.3}.query-mode{border-bottom:1px solid var(--query-border);background:0 0;gap:0;width:100%;margin-top:14px;display:flex;overflow-x:auto}.query-mode button{min-width:min(250px,42vw);min-height:48px;color:var(--muted-foreground);font:inherit;text-align:left;background:0 0;border:0;border-top:2px solid #0000;border-radius:0;flex:1 0 220px;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;padding:7px 12px 8px;display:grid;position:relative}.query-mode button:hover{background:var(--workbench-hover);color:var(--foreground)}.query-mode button[aria-selected=true]{border-top-color:var(--vscode-tab-activeBorder,var(--query-accent));background:var(--vscode-tab-activeBackground,var(--query-surface-raised));box-shadow:inset 1px 0 var(--query-border),inset -1px 0 var(--query-border);color:var(--vscode-tab-activeForeground,var(--foreground))}.query-mode button[aria-selected=true] svg,.query-mode button[aria-selected=true] strong{opacity:1}.query-mode svg{width:15px;height:15px}.query-mode button>span,.query-mode strong,.query-mode small{min-width:0;display:block}.query-mode strong{font-size:12px;font-weight:600;line-height:1.3}.query-mode small{color:inherit;opacity:.78;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:10px;font-weight:400;line-height:1.3;overflow:hidden}.query-composer-panel{border:1px solid var(--query-border);background:var(--query-surface-raised);border-top:0;padding:12px}.query-composer{display:block}.query-editor-shell{border:1px solid var(--vscode-input-border,var(--border));background:var(--query-input);color:var(--query-input-foreground);border-radius:3px;overflow:hidden}.query-editor-shell:focus-within{border-color:var(--ring);outline:1px solid var(--ring);outline-offset:-1px}.query-editor{min-width:0;position:relative}.query-editor textarea{resize:vertical;background:var(--query-input);width:100%;min-height:96px;max-height:260px;color:inherit;font:13px/1.55 var(--compass-font-sans);box-sizing:border-box;border:0;border-radius:0;outline:none;padding:11px 12px;display:block}.query-composer-panel[data-mode=cql] .query-editor textarea,.query-composer-panel[data-mode=explain] .query-editor textarea{font-family:var(--compass-font-mono);font-size:12px}.query-editor textarea::placeholder,.query-params input::placeholder{color:var(--vscode-input-placeholderForeground,var(--muted-foreground))}.query-params input:focus-visible{border-color:var(--ring);outline:1px solid var(--ring);outline-offset:-1px}.query-composer-footer{border-top:1px solid var(--query-border);background:var(--query-surface);align-items:center;gap:12px;min-height:40px;padding:5px 6px 5px 10px;display:flex}.query-footer-actions{flex:none;justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;display:flex}.query-shortcut{color:var(--vscode-disabledForeground,var(--compass-faint));font:10px/1 var(--compass-font-sans);white-space:nowrap}.query-run{border:1px solid var(--vscode-button-border,transparent);background:var(--vscode-button-background,var(--primary));min-width:76px;min-height:30px;color:var(--vscode-button-foreground,var(--primary-foreground));font:inherit;border-radius:3px;justify-content:center;align-items:center;gap:6px;padding:5px 11px;font-size:12px;display:flex}.query-run:hover:not(:disabled){background:var(--vscode-button-hoverBackground,var(--primary))}.query-run:disabled{background:var(--vscode-button-secondaryBackground,var(--secondary));color:var(--vscode-disabledForeground,var(--compass-faint))}.query-run svg{width:13px;height:13px}.query-params{min-width:0;max-width:620px;color:var(--muted-foreground);flex:520px;align-items:center;gap:8px;font-size:10px;display:flex}.query-params>span{flex:none}.query-params input{border:1px solid var(--vscode-input-border,var(--border));background:var(--vscode-input-background,var(--input));min-width:0;max-width:520px;height:28px;color:var(--vscode-input-foreground,var(--foreground));font:11px var(--compass-font-mono);border-radius:3px;outline:none;flex:260px;padding:3px 8px}.query-examples{align-items:center;gap:5px;margin-top:9px;display:flex;overflow-x:auto}.query-examples>span{color:var(--muted-foreground);text-transform:uppercase;flex:none;font-size:10px;font-weight:600}.query-examples button,.query-history button{border:1px solid var(--border);color:var(--muted-foreground);font:inherit;white-space:nowrap;background:0 0;border-radius:3px;padding:4px 7px;font-size:10px}.query-examples button:hover,.query-history button:hover{background:var(--workbench-hover);color:var(--foreground)}.query-results{grid-template-rows:auto minmax(0,1fr);min-height:0;padding:0;display:grid;overflow:hidden}.query-result-stage{min-height:0;padding:clamp(12px,2vw,22px);overflow:auto}.query-result-stage>.workbench-state{min-height:100%}.query-result-tabs{border-bottom:1px solid var(--query-border);background:var(--vscode-editorGroupHeader-tabsBackground,var(--query-surface-raised));min-width:0;display:flex;overflow-x:auto}.query-result-tab{border-right:1px solid var(--query-border);background:var(--vscode-tab-inactiveBackground,transparent);grid-template-columns:minmax(0,1fr) 26px;min-width:150px;max-width:300px;display:grid}.query-result-tab:has([aria-selected=true]){background:var(--vscode-tab-activeBackground,var(--query-surface));box-shadow:inset 0 2px var(--vscode-tab-activeBorderTop,var(--query-accent))}.query-result-tab[data-status=error]{box-shadow:inset 0 2px var(--vscode-testing-iconFailed,var(--destructive))}.query-result-tab>[role=tab]{min-width:0;color:var(--vscode-tab-inactiveForeground,var(--muted-foreground));font:inherit;text-align:left;background:0 0;border:0;gap:1px;padding:7px 4px 7px 10px;display:grid;overflow:hidden}.query-result-tab>[role=tab][aria-selected=true]{color:var(--vscode-tab-activeForeground,var(--foreground))}.query-result-tab>[role=tab] span{color:var(--query-accent);font:9px/1.2 var(--compass-font-mono);letter-spacing:.05em;text-transform:uppercase}.query-result-tab>[role=tab] strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:500;line-height:1.3;overflow:hidden}.query-result-close{width:22px;height:22px;color:var(--muted-foreground);background:0 0;border:0;border-radius:3px;align-self:center;place-items:center;padding:0;display:grid}.query-result-close:hover{background:var(--workbench-hover);color:var(--foreground)}.query-result-close svg{width:13px;height:13px}.query-result{width:min(1180px,100%);margin:0 auto}.query-result>header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:9px;display:flex}.query-result>header span{color:var(--muted-foreground);font-size:10px}.query-result>header>span{font-family:var(--compass-font-mono);align-items:center;gap:5px;display:flex}.query-result>header svg{width:12px;height:12px}.query-result h2{margin:2px 0 0;font-size:14px;font-weight:600}.query-text-result,.query-json-result{border:1px solid var(--border);background:var(--vscode-textCodeBlock-background,var(--card));min-height:120px;color:var(--foreground);font:12px/1.6 var(--compass-font-mono);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:3px;margin:0;padding:12px;overflow:auto}.query-prose-result{border:1px solid var(--query-border);background:var(--query-surface-raised);color:var(--foreground);border-radius:3px;padding:14px 16px;font-size:13px;line-height:1.65}.query-prose-result p,.query-prose-result ul{margin:0}.query-prose-result p+p,.query-prose-result p+ul,.query-prose-result ul+p{margin-top:10px}.query-prose-result ul{padding-left:20px}.query-traversal-result,.query-typed-result,.query-explanation{gap:10px;display:grid}.query-diagnostics{border:1px solid var(--query-border);border-left:3px solid var(--vscode-editorWarning-foreground,#cca700);background:var(--query-surface-raised);display:grid;overflow:hidden}.query-diagnostics>h3{border-bottom:1px solid var(--query-border);margin:0;padding:8px 11px;font-size:11px;font-weight:600}.query-diagnostics article{border-bottom:1px solid var(--query-border);grid-template-columns:16px minmax(0,1fr);gap:8px;min-width:0;padding:9px 11px;display:grid}.query-diagnostics article:last-child{border-bottom:0}.query-diagnostics article>svg{width:14px;height:14px;color:var(--vscode-editorWarning-foreground,#cca700);margin-top:1px}.query-diagnostics strong,.query-diagnostics p{overflow-wrap:anywhere;margin:0}.query-diagnostics strong{font-size:11px}.query-diagnostics p{color:var(--muted-foreground);margin-top:2px;font-size:11px;line-height:1.45}.query-explanation-card{border:1px solid var(--query-border);border-left:3px solid var(--query-accent);background:var(--query-surface-raised);grid-template-columns:minmax(180px,1fr) minmax(220px,1fr);gap:12px 18px;min-width:0;padding:13px 14px;display:grid}.query-explanation-card>div>span{color:var(--query-accent);font:9px/1.2 var(--compass-font-mono);letter-spacing:.05em;text-transform:uppercase}.query-explanation-card h3{margin:3px 0 4px;font-size:14px}.query-explanation-card code{color:var(--muted-foreground);font:10px/1.4 var(--compass-font-mono);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.query-explanation-card>.query-source-action{align-self:center}.query-explanation-card dl{border-top:1px solid var(--query-border);grid-column:1/-1;gap:18px;margin:0;padding-top:10px;display:flex}.query-explanation-card dl>div{gap:6px;display:flex}.query-explanation-card dt,.query-explanation-card dd{margin:0;font-size:10px}.query-explanation-card dt{color:var(--muted-foreground)}.query-connections{border:1px solid var(--query-border);background:var(--query-surface);overflow:hidden}.query-connections>h3{border-bottom:1px solid var(--query-border);margin:0;padding:8px 11px;font-size:11px}.query-connections>h3 span{color:var(--muted-foreground);margin-left:4px;font-weight:400}.query-connections article{border-bottom:1px solid var(--query-border);grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 10px;display:grid}.query-connections article:last-child{border-bottom:0}.query-connections article>svg{width:14px;color:var(--query-accent)}.query-connections strong,.query-connections p{margin:0;font-size:11px}.query-connections p,.query-connections article>span{color:var(--muted-foreground);font-size:9px}.query-connections article>span{font-family:var(--compass-font-mono);text-transform:uppercase}.query-guidance{border:1px solid var(--query-border);background:var(--query-surface-raised);color:var(--muted-foreground);margin:0;padding:9px 11px;font-size:11px}.query-object-result{border:1px solid var(--query-border);background:var(--query-surface);margin:0;display:grid;overflow:hidden}.query-object-result>div{border-bottom:1px solid var(--query-border);grid-template-columns:minmax(120px,.28fr) minmax(0,1fr);display:grid}.query-object-result>div:last-child{border-bottom:0}.query-object-result dt,.query-object-result dd{overflow-wrap:anywhere;margin:0;padding:8px 10px}.query-object-result dt{color:var(--muted-foreground);text-transform:capitalize;font-size:10px}.query-object-result dd{border-left:1px solid var(--query-border);font:11px/1.5 var(--compass-font-mono);white-space:pre-wrap}.query-traversal-summary{border:1px solid var(--query-border);border-left:3px solid var(--query-accent);background:var(--query-surface-raised);justify-content:space-between;align-items:center;gap:16px;min-height:54px;padding:10px 12px;display:flex}.query-traversal-summary p{color:var(--foreground);margin:0;font-size:12px;font-weight:600}.query-result-metrics{color:var(--muted-foreground);flex-wrap:wrap;gap:5px 14px;margin-top:5px;font-size:10px;display:flex}.query-result-metrics strong{color:var(--foreground);font-weight:600}.query-graph-action{border:1px solid var(--vscode-button-border,transparent);background:var(--vscode-button-secondaryBackground,var(--secondary));min-height:30px;color:var(--vscode-button-secondaryForeground,var(--secondary-foreground));font:11px var(--compass-font-sans);border-radius:3px;flex:none;align-items:center;gap:6px;padding:5px 9px;display:inline-flex}.query-graph-action:hover{background:var(--vscode-button-secondaryHoverBackground,var(--workbench-hover))}.query-graph-action svg{width:14px;height:14px}.query-node-results{border:1px solid var(--query-border);background:var(--query-surface);border-radius:3px;overflow:hidden}.query-node-result{border-bottom:1px solid var(--query-border);grid-template-columns:18px minmax(160px,.72fr) minmax(240px,1.28fr);align-items:center;gap:9px;min-width:0;min-height:48px;padding:7px 10px;display:grid}.query-node-result:last-child{border-bottom:0}.query-node-result:hover{background:var(--workbench-hover)}.query-node-result>svg{width:14px;height:14px;color:var(--vscode-symbolIcon-functionForeground,var(--query-accent))}.query-node-copy,.query-node-copy h3,.query-node-copy p{min-width:0}.query-node-copy h3,.query-node-copy p{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.query-node-copy h3{color:var(--vscode-editor-foreground,var(--foreground));font-size:12px;font-weight:600}.query-node-copy p{color:var(--muted-foreground);margin-top:2px;font-size:10px}.query-source-action{min-width:0;color:var(--workbench-link);font:10px/1.4 var(--compass-font-mono);text-align:left;background:0 0;border:1px solid #0000;border-radius:3px;justify-content:space-between;align-items:center;gap:8px;padding:5px 7px;display:flex;overflow:hidden}.query-source-action:hover{border-color:var(--query-border);background:var(--vscode-editorHoverWidget-background,var(--query-surface-raised))}.query-source-action span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.query-source-action small{color:var(--muted-foreground);font:10px var(--compass-font-mono);flex:none}.query-source-missing{color:var(--vscode-disabledForeground,var(--compass-faint));font:10px var(--compass-font-mono)}.query-table{border:1px solid var(--border);border-radius:3px;overflow:auto}.query-table table{border-collapse:collapse;width:100%;min-width:480px;font-size:11px}.query-table thead{background:var(--workbench-table-header);position:sticky;top:0}.query-table th,.query-table td{border-bottom:1px solid var(--border);text-align:left;text-overflow:ellipsis;white-space:nowrap;max-width:380px;padding:7px 9px;overflow:hidden}.query-table th{color:var(--muted-foreground);font-weight:500}.query-table tbody tr:hover{background:var(--workbench-hover)}.query-table tr:last-child td{border-bottom:0}.query-empty{place-content:center;display:grid}.query-history{text-align:center;width:min(720px,100vw - 40px);margin:-28px auto 20px}.query-history h2{color:var(--muted-foreground);margin:0 0 7px;font-size:10px;font-weight:500}.query-history button{text-overflow:ellipsis;max-width:min(100%,460px);margin:2px;overflow:hidden}.query-shell button:focus-visible{outline:2px solid var(--ring);outline-offset:1px}body.vscode-high-contrast .query-mode,body.vscode-high-contrast-light .query-mode,body.vscode-high-contrast .query-text-result,body.vscode-high-contrast-light .query-text-result,body.vscode-high-contrast .query-json-result,body.vscode-high-contrast-light .query-json-result,body.vscode-high-contrast .query-table,body.vscode-high-contrast-light .query-table,body.vscode-high-contrast .query-composer-panel,body.vscode-high-contrast-light .query-composer-panel,body.vscode-high-contrast .query-editor-shell,body.vscode-high-contrast-light .query-editor-shell,body.vscode-high-contrast .query-prose-result,body.vscode-high-contrast-light .query-prose-result,body.vscode-high-contrast .query-traversal-summary,body.vscode-high-contrast-light .query-traversal-summary,body.vscode-high-contrast .query-node-results,body.vscode-high-contrast-light .query-node-results,body.vscode-high-contrast .query-diagnostics,body.vscode-high-contrast-light .query-diagnostics,body.vscode-high-contrast .query-explanation-card,body.vscode-high-contrast-light .query-explanation-card,body.vscode-high-contrast .query-connections,body.vscode-high-contrast-light .query-connections,body.vscode-high-contrast .query-object-result,body.vscode-high-contrast-light .query-object-result{border-width:2px;border-color:var(--vscode-contrastBorder,var(--ring))}body.vscode-high-contrast .query-mode button[aria-selected=true],body.vscode-high-contrast-light .query-mode button[aria-selected=true]{border:2px solid var(--vscode-contrastBorder,var(--ring));border-bottom:0}.history-shell{background:var(--background);height:100vh;min-height:440px;color:var(--foreground);grid-template-columns:minmax(270px,340px) minmax(0,1fr);display:grid;overflow:hidden}.history-bootstrap{background:var(--vscode-editor-background,var(--background));place-items:center;min-height:100vh;display:grid}.history-sidebar{border-right:1px solid var(--border);background:var(--sidebar);min-width:0;min-height:0;color:var(--sidebar-foreground);flex-direction:column;display:flex}.history-sidebar-header{border-bottom:1px solid var(--border);flex:none;padding:14px 12px 12px}.history-title{align-items:flex-start;gap:9px;display:flex}.history-title>svg{width:16px;height:16px;color:var(--muted-foreground);margin-top:1px}.history-title h1{margin:0;font-size:13px;font-weight:600;line-height:1.25}.history-title p{color:var(--muted-foreground);margin:3px 0 0;font-size:11px}.history-search{align-items:center;margin-top:12px;display:flex;position:relative}.history-search>svg{width:14px;height:14px;color:var(--vscode-input-placeholderForeground,var(--muted-foreground));pointer-events:none;position:absolute;left:8px}.history-search input,.history-mobile-select select{border:1px solid var(--vscode-input-border,transparent);background:var(--vscode-input-background,var(--input));width:100%;min-height:28px;color:var(--vscode-input-foreground,var(--foreground));font:inherit;border-radius:2px;outline:none;font-size:12px}.history-search input{padding:4px 8px 4px 28px}.history-search input::placeholder{color:var(--vscode-input-placeholderForeground,var(--muted-foreground))}.history-search input:focus-visible,.history-mobile-select select:focus-visible,.history-rail:focus-visible,.history-commit:focus-visible{border-color:var(--ring);outline:1px solid var(--ring);outline-offset:-1px}.history-mobile-select{display:none}.history-rail{outline:none;flex:auto;min-height:0;overflow:auto}.history-pagination{border-top:1px solid var(--border);color:var(--muted-foreground);flex:none;justify-items:start;gap:6px;padding:8px 10px;font-size:11px;display:grid}.history-pagination [role=alert]{color:var(--destructive)}.history-commit{border:0;border-bottom:1px solid var(--border);width:100%;color:inherit;text-align:left;background:0 0;border-radius:0;align-items:center;gap:.625rem;padding:8px 11px;display:flex;position:absolute;left:0;right:0}.history-commit:hover{background:var(--workbench-hover);color:var(--workbench-hover-foreground)}.history-commit[aria-selected=true]{background:var(--sidebar-accent);color:var(--sidebar-accent-foreground);box-shadow:inset 2px 0 var(--sidebar-primary)}.history-commit>svg{width:15px;height:15px;color:var(--muted-foreground);flex:none}.history-commit>svg[data-state=available]{color:var(--compass-success)}.history-commit>svg[data-state=building]{color:var(--vscode-progressBar-background,var(--ring))}.history-commit>svg[data-state=failed]{color:var(--destructive)}.history-commit-row-copy,.history-commit-subject,.history-commit-byline{min-width:0}.history-commit-row-copy{flex:1;display:block}.history-commit-subject{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;line-height:1.4;display:block;overflow:hidden}.history-commit-byline{color:var(--muted-foreground);white-space:nowrap;align-items:center;gap:5px;margin-top:3px;font-size:10px;display:flex;overflow:hidden}.history-commit[aria-selected=true] .history-commit-byline{color:currentColor}@supports (color:color-mix(in lab,red,red)){.history-commit[aria-selected=true] .history-commit-byline{color:color-mix(in srgb,currentColor 72%,transparent)}}.history-commit-byline code{color:inherit;font-family:var(--compass-font-mono)}.history-commit-byline span{text-overflow:ellipsis;overflow:hidden}.history-commit-byline time{margin-left:auto}.history-content{background:var(--vscode-editor-background,var(--background));min-width:0;min-height:0;padding:16px;overflow:auto}.history-commit-details{border:1px solid var(--border);background:var(--vscode-editor-background,var(--background));padding:14px}.history-commit-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.history-commit-copy{min-width:0}.history-eyebrow{color:var(--muted-foreground);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:600;display:block}.history-commit-copy h2{overflow-wrap:anywhere;margin:4px 0 0;font-size:16px;font-weight:600;line-height:1.35}.history-commit-metadata{color:var(--muted-foreground);flex-wrap:wrap;gap:4px 12px;margin-top:7px;font-size:11px;display:flex}.history-commit-metadata code{color:var(--vscode-textLink-foreground,var(--workbench-link));font-family:var(--compass-font-mono)}.history-state-badge{text-transform:capitalize;border-radius:2px;flex:none}.history-commit-actions,.history-change-counts{flex-wrap:wrap;margin-top:12px;display:flex}.history-commit-actions{align-items:flex-end;gap:10px}.history-change-counts{gap:6px}.history-change-counts-help{color:var(--vscode-descriptionForeground,#9aa7b7);margin:-.15rem 0 0;font-size:.78rem;line-height:1.45}.history-commit-actions:empty{display:none}.history-commit-actions button{border-radius:2px}.history-comparison-control{grid-template-columns:minmax(180px,1fr) auto;gap:5px 7px;min-width:min(100%,440px);display:grid}.history-comparison-control label{color:var(--muted-foreground);letter-spacing:.04em;text-transform:uppercase;grid-column:1/-1;font-size:10px;font-weight:600}.history-comparison-control select{border:1px solid var(--vscode-dropdown-border,var(--border));background:var(--vscode-dropdown-background,var(--background));min-width:0;height:28px;color:var(--vscode-dropdown-foreground,var(--foreground));border-radius:2px;outline:none;padding:0 26px 0 8px;font-size:11px}.history-comparison-control select option{background:var(--vscode-dropdown-background,var(--background));color:var(--vscode-dropdown-foreground,var(--foreground))}.history-comparison-control select:focus-visible{border-color:var(--vscode-focusBorder,var(--ring));outline:1px solid var(--vscode-focusBorder,var(--ring));outline-offset:-1px}.history-comparison-control select:disabled{color:var(--vscode-disabledForeground,var(--muted-foreground));cursor:not-allowed}.history-comparison-help,.history-inline-error{color:var(--muted-foreground);margin:9px 0 0;font-size:11px;line-height:1.45}.history-inline-error{color:var(--destructive)}.history-change-counts{color:var(--muted-foreground);font-size:11px}.history-change-counts span{border:1px solid var(--border);background:var(--vscode-badge-background,var(--muted));color:var(--vscode-badge-foreground,var(--foreground));border-radius:2px;padding:3px 6px}.history-change-counts strong{font-weight:600}.history-comparison,.history-diff-evidence{border:1px solid var(--border);background:var(--vscode-editor-background,var(--background));color:var(--vscode-editor-foreground,var(--foreground));margin-top:12px}.history-comparison{box-shadow:inset 3px 0 0 var(--vscode-focusBorder,var(--ring))}.history-comparison-heading{grid-template-columns:18px minmax(0,1fr) auto;align-items:start;gap:8px;padding:11px 12px 9px;display:grid}.history-comparison-heading>svg,.history-diff-heading>svg{width:15px;height:15px;color:var(--vscode-focusBorder,var(--ring));margin-top:2px}.history-comparison-heading h2{color:var(--vscode-editor-foreground,var(--foreground));margin:2px 0 0;font-size:13px;font-weight:600}.history-comparison-heading code{color:var(--vscode-textLink-foreground,var(--workbench-link));font-family:var(--compass-font-mono);background:0 0}.history-comparison-heading button{border:1px solid var(--border);min-height:26px;color:var(--foreground);background:0 0;border-radius:2px;align-items:center;gap:5px;padding:3px 7px;font-size:10px;display:inline-flex}.history-comparison-heading button:hover{border-color:var(--vscode-focusBorder,var(--ring));background:var(--workbench-hover)}.history-comparison-heading button svg{width:12px;height:12px}.history-comparison-legend{font:10px/1.4 var(--compass-font-mono);flex-wrap:wrap;gap:6px;padding:0 12px 10px 38px;display:flex}.history-delta-card{border:1px solid var(--border);background:var(--vscode-editor-foreground,var(--foreground));border-radius:2px;gap:4px;min-width:200px;padding:6px 8px;display:grid}@supports (color:color-mix(in lab,red,red)){.history-delta-card{background:color-mix(in srgb,var(--vscode-editor-foreground,var(--foreground)) 5%,var(--vscode-editor-background,var(--background)))}}.history-delta-card{color:var(--vscode-editor-foreground,var(--foreground))}.history-delta-card>span{flex-wrap:wrap;gap:5px 10px;display:flex}.history-delta-card strong{color:var(--vscode-editor-foreground,var(--foreground));text-transform:capitalize}.history-delta-card i{font-style:normal;font-weight:600}.history-delta-card i small{color:var(--muted-foreground);font-size:9px;font-weight:400}.history-delta-card i[data-change=added]{color:var(--vscode-gitDecoration-addedResourceForeground,#2ea043)}.history-delta-card i[data-change=removed]{color:var(--vscode-gitDecoration-deletedResourceForeground,#f85149)}.history-delta-card i[data-change=changed]{color:var(--vscode-gitDecoration-modifiedResourceForeground,#d29922)}.history-comparison-empty{border-top:1px solid var(--border);color:var(--muted-foreground);gap:2px;padding:9px 12px 10px 38px;font-size:11px;display:grid}.history-comparison-empty strong{color:var(--foreground);font-size:12px}.history-comparison-workspace{border:1px solid var(--border);background:var(--vscode-editor-background,var(--background));min-width:0;color:var(--vscode-editor-foreground,var(--foreground));margin-top:12px;overflow:hidden}.history-comparison-tabs{border-bottom:1px solid var(--border);background:var(--vscode-editorGroupHeader-tabsBackground,var(--vscode-sideBar-background,var(--background)));scrollbar-width:thin;min-width:0;display:flex;overflow-x:auto}.history-comparison-tabs button{border:0;border-right:1px solid var(--border);min-width:max-content;min-height:41px;color:var(--vscode-tab-inactiveForeground,var(--muted-foreground));font:11px/1 var(--compass-font-sans);background:0 0;align-items:center;gap:7px;padding:0 14px;display:inline-flex;position:relative}.history-comparison-tabs button:hover{background:var(--workbench-hover);color:var(--vscode-tab-activeForeground,var(--foreground))}.history-comparison-tabs button[aria-selected=true]{background:var(--vscode-tab-activeBackground,var(--vscode-editor-background,var(--background)));color:var(--vscode-tab-activeForeground,var(--foreground));box-shadow:inset 0 2px 0 var(--vscode-tab-activeBorder,var(--vscode-focusBorder,var(--ring)))}.history-comparison-tabs button:focus-visible{z-index:1;outline:1px solid var(--vscode-focusBorder,var(--ring));outline-offset:-2px}.history-comparison-tabs button>svg{width:14px;height:14px;color:var(--vscode-focusBorder,var(--ring))}.history-comparison-tab-count{border:1px solid var(--border);background:var(--vscode-badge-background,var(--muted));min-width:19px;height:19px;color:var(--vscode-badge-foreground,var(--foreground));font:9px/1 var(--compass-font-mono);border-radius:9px;justify-content:center;align-items:center;padding:0 5px;display:inline-flex}.history-comparison-tab-panel{background:var(--vscode-editor-background,var(--background));min-width:0}.history-evidence-panel{min-width:0;padding:15px 15px 17px}.history-evidence-header{border-bottom:1px solid var(--border);padding-bottom:12px}.history-evidence-header>p,.history-findings-header>div>p{color:var(--muted-foreground);margin:4px 0 0 22px;font-size:11px;line-height:1.45}.history-diff-heading{align-items:center;gap:7px;display:flex}.history-diff-heading h2{margin:0;font-size:13px;font-weight:600}.history-findings-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.history-findings-expand{border:1px solid var(--border);min-height:27px;color:var(--foreground);background:0 0;border-radius:2px;flex:none;padding:4px 9px;font-size:10px}.history-findings-expand:hover{border-color:var(--vscode-focusBorder,var(--ring));background:var(--workbench-hover)}.history-source-changes{gap:6px;margin-top:12px;display:grid}.history-source-changes details{border:1px solid var(--border);background:var(--vscode-editor-background,var(--background));color:var(--vscode-editor-foreground,var(--foreground));border-radius:2px;overflow:hidden}.history-diff-toolbar{align-items:center;gap:6px;margin-top:12px;display:flex}.history-diff-layout{border:1px solid var(--border);border-radius:2px;display:inline-flex;overflow:hidden}.history-diff-toolbar button{min-height:25px;color:var(--muted-foreground);background:0 0;border:0;padding:3px 8px;font-size:10px}.history-diff-layout button+button{border-left:1px solid var(--border)}.history-diff-toolbar button:hover:not(:disabled){background:var(--workbench-hover);color:var(--foreground)}.history-diff-toolbar button[aria-pressed=true],.history-diff-toolbar button[aria-pressed=true]:hover{background:var(--vscode-tab-activeBackground,var(--vscode-editor-background,var(--background)));color:var(--vscode-tab-activeForeground,var(--vscode-editor-foreground,var(--foreground)));box-shadow:inset 0 2px 0 var(--vscode-tab-activeBorder,var(--vscode-focusBorder,var(--ring)))}.history-diff-toolbar button:disabled{cursor:not-allowed;opacity:.45}.history-diff-wrap{min-height:25px;color:var(--muted-foreground);align-items:center;gap:5px;font-size:10px;display:inline-flex}.history-diff-wrap input{margin:0}.history-diff-expand{border-radius:2px;margin-left:auto;border:1px solid var(--border)!important}.history-source-changes summary{cursor:pointer;border-bottom:1px solid var(--border);background:var(--vscode-editorGroupHeader-tabsBackground,var(--background));justify-content:space-between;align-items:center;gap:10px;padding:6px 8px;font-size:10px;display:flex}.history-source-path{align-items:center;gap:8px;min-width:0;display:inline-flex}.history-source-path code{color:var(--vscode-textLink-foreground,var(--workbench-link));font-family:var(--compass-font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.history-source-path small{color:var(--muted-foreground);text-transform:capitalize;font-size:9px}.history-source-stats{font-family:var(--compass-font-mono);flex:none;gap:6px;display:inline-flex}.history-source-stats i{font-style:normal;font-weight:600}.history-source-stats i[data-change=added]{color:var(--vscode-gitDecoration-addedResourceForeground,#2ea043)}.history-source-stats i[data-change=removed]{color:var(--vscode-gitDecoration-deletedResourceForeground,#f85149)}.history-source-diff{contain:inline-size;background:var(--vscode-editor-background,var(--background));width:100%;min-width:0;max-width:100%;display:block}.history-diff-fallback>p{border-bottom:1px solid var(--border);color:var(--vscode-gitDecoration-modifiedResourceForeground,#d29922);margin:0;padding:7px 8px}.history-diff-fallback pre{max-height:260px;color:var(--vscode-editor-foreground,var(--foreground));font:10px/1.5 var(--compass-font-mono);white-space:pre;margin:0;padding:8px;overflow:auto}.history-source-changes p,.history-diff-empty{color:var(--muted-foreground);margin:12px 0 0;font-size:11px}.history-finding-list{gap:10px;margin-top:14px;display:grid}.history-finding-list details{border:1px solid var(--border);background:var(--vscode-editor-foreground,var(--foreground));border-radius:4px;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.history-finding-list details{background:color-mix(in srgb,var(--vscode-editor-foreground,var(--foreground)) 2%,var(--vscode-editor-background,var(--background)))}}.history-finding-list details{color:var(--vscode-editor-foreground,var(--foreground))}.history-finding-list details[open]{border-color:var(--vscode-focusBorder,var(--ring))}@supports (color:color-mix(in lab,red,red)){.history-finding-list details[open]{border-color:color-mix(in srgb,var(--vscode-focusBorder,var(--ring)) 58%,var(--border))}}.history-finding-list details[open]{box-shadow:inset 3px 0 0 var(--vscode-focusBorder,var(--ring))}.history-finding-list summary{cursor:pointer;grid-template-columns:28px minmax(0,1fr) 16px;align-items:center;gap:11px;min-height:58px;padding:11px 13px;list-style:none;display:grid}.history-finding-list summary::-webkit-details-marker{display:none}.history-finding-list summary:hover{background:var(--workbench-hover)}.history-finding-list summary:focus-visible{outline:1px solid var(--vscode-focusBorder,var(--ring));outline-offset:-2px}.history-finding-index{border:1px solid var(--border);background:var(--vscode-editor-background,var(--background));width:27px;height:27px;color:var(--vscode-focusBorder,var(--ring));font:600 10px/1 var(--compass-font-mono);border-radius:3px;justify-content:center;align-items:center;display:inline-flex}.history-finding-summary{gap:4px;min-width:0;display:grid}.history-finding-summary strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;line-height:1.35;overflow:hidden}.history-finding-summary small{color:var(--muted-foreground);font-size:10px}.history-finding-list summary>svg{width:15px;height:15px;color:var(--muted-foreground);transition:transform .12s}.history-finding-list details[open] summary>svg{transform:rotate(90deg)}.history-finding-body{border-top:1px solid var(--border);padding:0 14px 15px 52px}.history-finding-body>p{color:var(--muted-foreground);margin:13px 0 0;font-size:11px}.history-finding-body dl{gap:0;margin:0;display:grid}.history-finding-body dl>div{border-bottom:1px solid var(--border);grid-template-columns:minmax(110px,170px) minmax(0,1fr);gap:16px;padding:12px 0;display:grid}.history-finding-body dl>div:last-child{border-bottom:0;padding-bottom:0}.history-finding-body dt{color:var(--muted-foreground);letter-spacing:.06em;text-transform:uppercase;font-size:9px;font-weight:600}.history-finding-body dd{min-width:0;margin:0;font-size:11px;line-height:1.5}.history-finding-body dd ul{gap:5px;margin:0;padding-left:17px;display:grid}.history-finding-body dd pre{border:1px solid var(--border);background:var(--vscode-textCodeBlock-background,var(--muted));max-height:280px;color:var(--vscode-editor-foreground,var(--foreground));font:10px/1.55 var(--compass-font-mono);white-space:pre-wrap;border-radius:3px;margin:0;padding:9px 10px;overflow:auto}.history-finding-body dd code{font-family:var(--compass-font-mono)}.history-finding-muted{color:var(--muted-foreground);font-style:italic}.history-findings-empty{border:1px dashed var(--border);color:var(--muted-foreground);border-radius:4px;align-items:flex-start;gap:10px;margin-top:14px;padding:15px;display:flex}.history-findings-empty>svg{width:17px;height:17px;color:var(--vscode-focusBorder,var(--ring))}.history-findings-empty strong{color:var(--foreground);font-size:12px}.history-findings-empty p{margin:4px 0 0;font-size:11px}.history-standalone-evidence{gap:12px;margin-top:12px;display:grid}.history-standalone-evidence>section{border:1px solid var(--border);background:var(--vscode-editor-background,var(--background))}.history-graph-frame{border:1px solid var(--border);background:var(--vscode-editor-background,var(--background));height:max(400px,100vh - 190px);min-height:360px;margin-top:12px;display:grid;overflow:hidden}.history-graph-frame-tabbed{border:0;height:max(460px,100vh - 230px);min-height:420px;margin-top:0}.history-graph-ready,.history-graph-canvas{min-width:0;min-height:0}.history-graph-ready{flex-direction:column;display:flex}.history-graph-status{border-bottom:1px solid var(--border);background:var(--vscode-editorGroupHeader-tabsBackground,var(--background));min-height:30px;color:var(--muted-foreground);flex:none;padding:7px 10px;font-size:11px}.history-graph-status span{color:var(--foreground);font-family:var(--compass-font-mono)}.history-graph-canvas{isolation:isolate;flex:1;position:relative}.history-graph-canvas .compass-workspace{height:100%;min-height:0}.history-content>section:last-child{margin-top:12px}body.vscode-high-contrast .history-sidebar,body.vscode-high-contrast-light .history-sidebar,body.vscode-high-contrast .history-commit-details,body.vscode-high-contrast-light .history-commit-details,body.vscode-high-contrast .history-graph-frame,body.vscode-high-contrast-light .history-graph-frame,body.vscode-high-contrast .history-comparison,body.vscode-high-contrast-light .history-comparison,body.vscode-high-contrast .history-diff-evidence,body.vscode-high-contrast-light .history-diff-evidence,body.vscode-high-contrast .history-comparison-workspace,body.vscode-high-contrast-light .history-comparison-workspace,body.vscode-high-contrast .history-finding-list details,body.vscode-high-contrast-light .history-finding-list details,body.vscode-high-contrast .history-source-changes details,body.vscode-high-contrast-light .history-source-changes details,body.vscode-high-contrast .history-change-counts span,body.vscode-high-contrast-light .history-change-counts span,body.vscode-high-contrast .history-comparison-control select,body.vscode-high-contrast-light .history-comparison-control select,body.vscode-high-contrast .compass-change-legend,body.vscode-high-contrast-light .compass-change-legend,body.vscode-high-contrast .compass-semantic-legend,body.vscode-high-contrast-light .compass-semantic-legend,body.vscode-high-contrast .compass-change-badge,body.vscode-high-contrast-light .compass-change-badge{border-color:var(--vscode-contrastBorder,var(--ring));border-width:2px}@media(max-width:760px){.query-header{padding:10px}.query-heading-row,.query-composer{flex-direction:column;align-items:stretch}.query-mode{align-self:flex-start}.query-mode button{min-width:180px}.query-mode small{display:none}.query-explanation-card{grid-template-columns:1fr}.query-explanation-card dl{grid-column:auto}.history-diff-toolbar{flex-wrap:wrap}.history-comparison-control{grid-template-columns:1fr;width:100%}.history-commit-actions{flex-direction:column;align-items:stretch}.history-commit-actions>button{align-self:flex-start}.history-comparison-control label{grid-column:auto}.history-diff-expand{margin-left:0}.history-comparison-tabs button{min-height:39px;padding-inline:11px}.history-evidence-panel{padding:12px}.history-findings-header{flex-direction:column;align-items:stretch}.history-findings-expand{align-self:flex-start}.history-finding-body{padding-left:14px}.history-finding-body dl>div{grid-template-columns:1fr;gap:5px}.query-composer-footer{flex-wrap:wrap}.query-params{flex:1 0 100%;max-width:none}.query-params input{max-width:none}.query-footer-actions{justify-content:flex-end;width:100%}.query-examples{padding-bottom:2px}.compass-load-shell[data-variant=architecture]{text-align:center;grid-template-rows:auto auto auto;grid-template-columns:1fr}.compass-load-shell[data-variant=architecture] .compass-load-visual,.compass-load-shell[data-variant=architecture] .compass-load-copy,.architecture-load-skeleton{grid-column:1}.compass-load-shell[data-variant=architecture] .compass-load-visual{margin:0 auto}.compass-load-shell[data-variant=architecture] .compass-load-steps{justify-content:center}.architecture-load-skeleton{grid-row:3;width:min(88vw,460px);height:190px;margin-top:14px}.history-shell{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.history-sidebar{border-right:0;border-bottom:1px solid var(--border)}.history-sidebar-header{padding:10px}.history-title p,.history-search,.history-rail{display:none}.history-mobile-select{color:var(--muted-foreground);gap:4px;margin-top:9px;font-size:10px;display:grid}.history-mobile-select select{padding:4px 7px}.history-content{padding:10px}.history-commit-heading{gap:8px}.history-commit-metadata{gap:3px;display:grid}.history-graph-frame{height:max(750px,102vh + 30px);margin-top:10px}.history-graph-canvas .compass-workspace{height:auto;min-height:max(720px,102vh)}}@media(max-width:420px){.query-params{flex-direction:column;align-items:stretch;gap:4px}.query-params input{flex:none;width:100%}}.architecture-nav{border-right:1px solid var(--border);background:var(--sidebar);min-height:0;color:var(--sidebar-foreground);flex-direction:column;display:flex}.architecture-nav-header{border-bottom:1px solid var(--border);padding:14px 14px 12px}.architecture-nav-header>span,.architecture-eyebrow{color:var(--muted-foreground);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:600;display:block}.architecture-nav-header h1{text-overflow:ellipsis;white-space:nowrap;margin:4px 0 0;font-size:13px;font-weight:600;line-height:1.35;overflow:hidden}.architecture-section-list{flex:1;min-height:0;padding:5px;overflow:auto}.architecture-section-list>button{width:100%;min-height:48px;color:inherit;text-align:left;background:0 0;border:1px solid #0000;border-radius:3px;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:7px;padding:7px 8px;display:grid}.architecture-section-list>button:hover{background:var(--workbench-hover);color:var(--workbench-hover-foreground)}.architecture-section-list>button[aria-current=page]{border-color:var(--vscode-list-activeSelectionBackground,var(--sidebar-primary));background:var(--sidebar-accent);color:var(--sidebar-accent-foreground)}.architecture-section-list svg{width:14px;height:14px;margin-top:2px}.architecture-section-list strong,.architecture-section-list small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.architecture-section-list strong{font-size:12px;font-weight:500}.architecture-section-list small{color:var(--muted-foreground);margin-top:2px;font-size:10px}.architecture-section-list>button[aria-current=page] small{color:inherit;opacity:.78}.architecture-stats{border-top:1px solid var(--border);color:var(--muted-foreground);text-align:center;grid-template-columns:repeat(3,1fr);gap:1px;padding:8px 6px;font-size:9px;display:grid}.architecture-stats strong{color:var(--sidebar-foreground);margin-bottom:1px;font-size:11px;display:block}.architecture-main{min-width:0;padding:14px clamp(14px,2.2vw,24px) 32px;overflow:auto}.architecture-global-search{z-index:20;max-width:760px;margin:0 auto 18px;position:sticky;top:0}.architecture-global-search>label{align-items:center;display:flex;position:relative}.architecture-global-search>label>svg{width:15px;height:15px;color:var(--vscode-input-placeholderForeground,var(--muted-foreground));position:absolute;left:10px}.architecture-global-search input{border:1px solid var(--vscode-input-border,var(--border));background:var(--vscode-input-background,var(--input));width:100%;height:34px;color:var(--vscode-input-foreground,var(--foreground));font:inherit;border-radius:3px;outline:none;padding:5px 84px 5px 33px;font-size:12px}.architecture-global-search input:focus-visible{border-color:var(--ring);outline:1px solid var(--ring);outline-offset:-1px}.architecture-global-search label>span{color:var(--muted-foreground);font-size:10px;position:absolute;right:8px}.architecture-search-results{border:1px solid var(--vscode-menu-border,var(--border));background:var(--vscode-menu-background,var(--popover));max-height:min(440px,65vh);color:var(--vscode-menu-foreground,var(--popover-foreground));box-shadow:0 4px 12px var(--vscode-widget-shadow,#00000047);border-radius:3px;position:absolute;top:calc(100% + 2px);left:0;right:0;overflow:auto}.architecture-search-results>p{color:var(--muted-foreground);margin:0;padding:14px;font-size:12px}.architecture-search-results section+section{border-top:1px solid var(--vscode-menu-separatorBackground,var(--border))}.architecture-search-results h2{color:var(--muted-foreground);letter-spacing:.06em;text-transform:uppercase;margin:0;padding:7px 10px 4px;font-size:10px;font-weight:600}.architecture-search-results button{width:100%;color:inherit;text-align:left;background:0 0;border:0;padding:6px 10px;display:block}.architecture-search-results button:hover,.architecture-search-results button:focus-visible{background:var(--vscode-menu-selectionBackground,var(--vscode-list-activeSelectionBackground,var(--accent)));color:var(--vscode-menu-selectionForeground,var(--vscode-list-activeSelectionForeground,var(--accent-foreground)));outline:none}.architecture-search-results button span,.architecture-search-results button small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.architecture-search-results button span{font-size:12px}.architecture-search-results button small{color:inherit;opacity:.72;margin-top:2px;font-size:10px}.architecture-overview,.architecture-detail{max-width:1500px;margin-left:auto;margin-right:auto}.architecture-detail{margin-top:26px}.architecture-section-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.architecture-section-heading h2{margin:0;font-size:15px;font-weight:600;line-height:1.35}.architecture-section-heading p{color:var(--muted-foreground);margin:3px 0 0;font-size:11px}.architecture-detail-count{color:var(--muted-foreground);white-space:nowrap;font-size:11px}.architecture-flow-grid,.architecture-symbol-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px;display:grid}.architecture-flow{border:1px solid var(--border);background:var(--vscode-editorWidget-background,var(--card));min-width:0;min-height:38px;color:var(--foreground);font:inherit;text-align:left;border-radius:3px;grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr) auto;align-items:center;gap:6px;padding:6px 8px;font-size:11px;display:grid}.architecture-flow:hover{border-color:var(--vscode-focusBorder,var(--ring));background:var(--workbench-hover)}.architecture-flow>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.architecture-flow>svg{width:13px;height:13px;color:var(--muted-foreground)}.architecture-flow-footer{justify-content:space-between;align-items:center;gap:10px;margin-top:8px;display:flex}.architecture-flow-footer p{color:var(--muted-foreground);margin:0;font-size:10px}.architecture-flow-footer button{border:1px solid var(--border);color:var(--foreground);font:inherit;background:0 0;border-radius:3px;padding:3px 7px;font-size:10px}.architecture-tab-content{min-height:280px;padding-top:8px}.architecture-detail [data-slot=tabs-list]{border-bottom:1px solid var(--border);justify-content:flex-start;gap:0;width:100%;height:30px;padding:0}.architecture-detail [data-slot=tabs-trigger]{min-width:76px;height:30px;color:var(--muted-foreground);border-radius:0;flex:none;padding:4px 10px;font-size:11px;font-weight:500}.architecture-detail [data-slot=tabs-trigger][data-state=active]{color:var(--foreground)}.architecture-detail [data-slot=tabs-trigger]>span{background:var(--vscode-badge-background,var(--muted));min-width:22px;color:var(--vscode-badge-foreground,var(--muted-foreground));font:9px/1.4 var(--compass-font-mono);border-radius:9px;margin-left:4px;padding:1px 5px}.architecture-detail [data-slot=tabs-trigger][data-state=active]>span{color:var(--vscode-badge-foreground,var(--foreground))}.architecture-detail [data-slot=tabs-trigger]:after{background:var(--vscode-tab-activeBorder,var(--ring));bottom:-1px}.architecture-symbol-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));margin-top:8px}.architecture-symbol-card{border:1px solid var(--border);background:var(--vscode-editorWidget-background,var(--card));min-width:0;min-height:92px;color:var(--card-foreground);border-radius:3px;grid-template-rows:auto 1fr;grid-template-columns:18px minmax(0,1fr);gap:0 7px;padding:9px;display:grid}.architecture-symbol-card>svg{width:15px;height:15px;color:var(--vscode-symbolIcon-functionForeground,var(--muted-foreground));margin-top:1px}.architecture-symbol-card h3,.architecture-symbol-card p{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.architecture-symbol-card h3{color:var(--vscode-editor-foreground,var(--foreground));font-size:12px;font-weight:600}.architecture-symbol-card p{color:var(--muted-foreground);margin-top:2px;font-size:10px}.architecture-symbol-card>button,.architecture-symbol-card>span{color:var(--workbench-link);font:10px/1.35 var(--compass-font-mono);text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;grid-column:1/span 2;align-self:end;margin-top:9px;padding:0;overflow:hidden}.architecture-symbol-card>button:hover{text-decoration:underline}.architecture-symbol-card>span{color:var(--vscode-disabledForeground,var(--compass-faint))}.architecture-call-table{border:1px solid var(--border);border-radius:3px;max-height:min(54vh,620px);margin-top:8px;overflow:auto}.architecture-call-table table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:620px;font-size:11px}.architecture-call-table thead{z-index:2;background:var(--workbench-table-header);position:sticky;top:0}.architecture-call-table th,.architecture-call-table td{border-bottom:1px solid var(--border);text-align:left;text-overflow:ellipsis;white-space:nowrap;padding:7px 9px;overflow:hidden}.architecture-call-table th{color:var(--muted-foreground);padding:0;font-weight:500}.architecture-call-table th button{width:100%;min-height:30px;color:inherit;font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:5px;padding:6px 9px;display:flex}.architecture-call-table th button:hover{background:var(--workbench-hover);color:var(--foreground)}.architecture-call-table tbody tr:hover{background:var(--workbench-hover)}.architecture-call-table tr:last-child td{border-bottom:0}.architecture-call-table th:nth-child(2),.architecture-call-table th:nth-child(4),.architecture-call-table td:nth-child(2),.architecture-call-table td:nth-child(4){width:126px}.architecture-shell button:focus-visible,.architecture-shell input:focus-visible{outline:2px solid var(--ring);outline-offset:1px}body.vscode-high-contrast .architecture-section-list>button[aria-current=page],body.vscode-high-contrast-light .architecture-section-list>button[aria-current=page],body.vscode-high-contrast .architecture-flow:focus-visible,body.vscode-high-contrast-light .architecture-flow:focus-visible,body.vscode-high-contrast .architecture-symbol-card,body.vscode-high-contrast-light .architecture-symbol-card,body.vscode-high-contrast .architecture-call-table,body.vscode-high-contrast-light .architecture-call-table{border-width:2px;border-color:var(--vscode-contrastBorder,var(--ring))}@media(max-width:760px){.architecture-shell{grid-template-rows:auto 1fr;grid-template-columns:1fr}.architecture-nav{border-right:0;border-bottom:1px solid var(--border);max-height:38vh}.architecture-main{padding:10px 10px 24px}.architecture-global-search{margin-bottom:14px}.architecture-section-heading{align-items:flex-start}.architecture-flow-grid,.architecture-symbol-grid{grid-template-columns:1fr}.architecture-flow-footer,.workbench-pagination{flex-direction:column;align-items:flex-start}.workbench-collection-toolbar{flex-direction:column;align-items:stretch}.workbench-search{width:100%;max-width:none}}.architecture-workspace{--architecture-border:var(--vscode-panel-border,var(--border));--architecture-surface:var(--vscode-editor-background,var(--background));--architecture-raised:var(--vscode-editorWidget-background,var(--vscode-sideBar-background,var(--card)));background:var(--architecture-surface);height:100vh;min-height:520px;color:var(--vscode-editor-foreground,var(--foreground));grid-template-columns:minmax(210px,240px) minmax(520px,1fr) minmax(300px,350px);display:grid;overflow:hidden}.architecture-workspace[data-inspector-open=false]{grid-template-columns:minmax(210px,240px) minmax(520px,1fr)}.architecture-rail,.architecture-inspector{background:var(--vscode-sideBar-background,var(--sidebar));min-width:0;min-height:0}.architecture-rail{border-right:1px solid var(--architecture-border);grid-template-rows:auto 1fr auto;display:grid}.architecture-rail-header,.architecture-inspector-header{border-bottom:1px solid var(--architecture-border);padding:16px}.architecture-rail-header>span,.architecture-inspector-header>span{color:var(--vscode-descriptionForeground,var(--muted-foreground));font:700 9px/1.2 var(--compass-font-mono);letter-spacing:.13em;text-transform:uppercase}.architecture-rail-header h1,.architecture-inspector-header h2{text-overflow:ellipsis;margin:7px 0 0;font-size:14px;font-weight:650;line-height:1.35;overflow:hidden}.architecture-rail-header p,.architecture-inspector-header p{color:var(--vscode-descriptionForeground,var(--muted-foreground));margin:5px 0 0;font-size:10px}.architecture-rail nav{min-height:0;padding:6px;overflow:auto}.architecture-rail nav>button{width:100%;color:inherit;text-align:left;background:0 0;border:1px solid #0000;border-radius:5px;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:7px;padding:8px;display:grid}.architecture-rail nav>button:hover,.architecture-rail nav>button:focus-visible{background:var(--vscode-list-hoverBackground,var(--workbench-hover))}.architecture-rail nav>button[aria-current=page]{border-color:var(--vscode-focusBorder,var(--ring))}@supports (color:color-mix(in lab,red,red)){.architecture-rail nav>button[aria-current=page]{border-color:color-mix(in srgb,var(--vscode-focusBorder,var(--ring)) 48%,transparent)}}.architecture-rail nav>button[aria-current=page]{background:var(--vscode-list-activeSelectionBackground,var(--vscode-sideBarSectionHeader-background,var(--sidebar-accent)));color:var(--vscode-list-activeSelectionForeground,inherit)}.architecture-rail nav>button[data-empty=true]{opacity:.57}.architecture-rail nav svg{width:14px;height:14px;color:var(--vscode-symbolIcon-moduleForeground,var(--compass-focus))}.architecture-rail nav strong,.architecture-rail nav small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.architecture-rail nav strong{font-size:11px;font-weight:600}.architecture-rail nav small{color:var(--vscode-descriptionForeground,var(--muted-foreground));font:9px/1.35 var(--compass-font-mono);margin-top:2px}.architecture-rail nav i{background:var(--vscode-badge-background,var(--muted));min-width:24px;color:var(--vscode-badge-foreground,var(--muted-foreground));font:normal 9px/1.3 var(--compass-font-mono);text-align:center;border-radius:10px;padding:2px 5px}.architecture-scope-totals{border-top:1px solid var(--architecture-border);color:var(--vscode-descriptionForeground,var(--muted-foreground));text-align:center;grid-template-columns:repeat(3,1fr);padding:10px 6px;font-size:8px;display:grid}.architecture-scope-totals strong{color:var(--vscode-sideBar-foreground,var(--foreground));font:600 10px/1.2 var(--compass-font-mono);margin-bottom:2px;display:block}.architecture-stage{grid-template-rows:auto auto minmax(0,1fr);min-width:0;min-height:0;display:grid;overflow:hidden}.architecture-command-bar{border-bottom:1px solid var(--architecture-border);background:var(--architecture-surface);grid-template-columns:minmax(240px,1fr) auto auto 30px;align-items:center;gap:8px;padding:9px 12px;display:grid}.architecture-inspector-toggle{border:1px solid var(--architecture-border);background:var(--architecture-raised);width:30px;height:30px;color:var(--vscode-descriptionForeground,var(--muted-foreground));border-radius:4px;place-items:center;display:grid}.architecture-inspector-toggle:hover{background:var(--vscode-toolbar-hoverBackground,var(--workbench-hover));color:var(--foreground)}.architecture-inspector-toggle svg{width:14px;height:14px}.architecture-search{min-width:0;position:relative}.architecture-search>svg,.architecture-detail-filter>svg{z-index:1;width:13px;height:13px;color:var(--vscode-input-placeholderForeground,var(--muted-foreground));pointer-events:none;position:absolute;top:50%;left:9px;transform:translateY(-50%)}.architecture-search>input,.architecture-detail-filter>input,.architecture-evidence-filter select{border:1px solid var(--vscode-input-border,var(--architecture-border));background:var(--vscode-input-background,var(--input));width:100%;height:30px;color:var(--vscode-input-foreground,var(--foreground));font:11px/1.3 var(--vscode-font-family,system-ui);border-radius:4px;outline:none}.architecture-search>input,.architecture-detail-filter>input{padding:4px 72px 4px 29px}.architecture-search>input:focus,.architecture-detail-filter>input:focus,.architecture-evidence-filter select:focus{border-color:var(--vscode-focusBorder,var(--ring));outline:1px solid var(--vscode-focusBorder,var(--ring));outline-offset:-1px}.architecture-search>span{color:var(--vscode-descriptionForeground,var(--muted-foreground));font:9px/1.4 var(--compass-font-mono);position:absolute;top:8px;right:8px}.architecture-search-popover{z-index:30;border:1px solid var(--vscode-menu-border,var(--architecture-border));background:var(--vscode-menu-background,var(--popover));max-height:min(440px,70vh);box-shadow:0 8px 24px var(--vscode-widget-shadow,#00000047);border-radius:5px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto}.architecture-search-popover>button{width:100%;color:var(--vscode-menu-foreground,var(--foreground));text-align:left;background:0 0;border:0;padding:7px 10px;display:block}.architecture-search-popover>button:hover,.architecture-search-popover>button:focus-visible{background:var(--vscode-menu-selectionBackground,var(--accent));color:var(--vscode-menu-selectionForeground,var(--accent-foreground))}.architecture-search-popover strong,.architecture-search-popover small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.architecture-search-popover strong{font-size:11px}.architecture-search-popover small{opacity:.75;margin-top:2px;font-size:9px}.architecture-search-popover p{color:var(--muted-foreground);margin:0;padding:16px;font-size:11px}.architecture-scope-switch{border:1px solid var(--architecture-border);border-radius:4px;display:flex;overflow:hidden}.architecture-scope-switch button{min-height:28px;color:var(--vscode-descriptionForeground,var(--muted-foreground));font:10px/1.2 var(--compass-font-mono);background:0 0;border:0;padding:4px 9px}.architecture-scope-switch button+button{border-left:1px solid var(--architecture-border)}.architecture-scope-switch button[aria-pressed=true]{background:var(--vscode-button-secondaryBackground,var(--accent));color:var(--vscode-button-secondaryForeground,var(--accent-foreground))}.architecture-evidence-filter{align-items:center;gap:5px;display:flex}.architecture-evidence-filter>svg{width:13px;height:13px;color:var(--vscode-descriptionForeground,var(--muted-foreground))}.architecture-evidence-filter select{width:auto;min-width:110px;padding:3px 22px 3px 7px}.architecture-context-strip{border-bottom:1px solid var(--architecture-border);background:var(--vscode-breadcrumb-background,var(--architecture-raised));min-height:34px;color:var(--vscode-descriptionForeground,var(--muted-foreground));font:9px/1.3 var(--compass-font-mono);flex-wrap:wrap;align-items:center;gap:6px 14px;padding:6px 12px;display:flex}.architecture-context-strip strong{color:var(--vscode-foreground,var(--foreground));font-weight:600}.architecture-coverage-warning{color:var(--vscode-editorWarning-foreground,var(--warning));align-items:center;gap:4px;display:inline-flex}.architecture-coverage-warning svg{width:12px;height:12px}.architecture-map-panel{border:1px solid var(--architecture-border);background:var(--architecture-raised);border-radius:10px;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:0;margin:clamp(14px,2vw,24px);display:grid;position:relative;overflow:hidden;box-shadow:0 12px 32px #0000001a}.architecture-map-header{border-bottom:1px solid var(--architecture-border);background:var(--architecture-raised);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;min-width:0;padding:14px 16px;display:flex}.architecture-map-intro{gap:3px;min-width:min(100%,260px);display:grid}.architecture-map-intro>span{color:var(--vscode-descriptionForeground,var(--muted-foreground));font:700 8px/1.2 var(--compass-font-mono);letter-spacing:.14em;text-transform:uppercase}.architecture-map-intro>strong{overflow-wrap:anywhere;font-size:12px;font-weight:650;line-height:1.35}.architecture-map-intro>small{max-width:560px;color:var(--vscode-descriptionForeground,var(--muted-foreground));font-size:9.5px;line-height:1.45}.architecture-map-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.architecture-map-viewport{overscroll-behavior:contain;scrollbar-color:var(--vscode-scrollbarSlider-background,var(--muted)) transparent;scrollbar-gutter:stable;min-width:0;height:auto;min-height:0;box-shadow:inset -26px 0 22px -24px var(--foreground);position:relative;overflow:auto}@supports (color:color-mix(in lab,red,red)){.architecture-map-viewport{box-shadow:inset -26px 0 22px -24px color-mix(in srgb,var(--foreground) 30%,transparent)}}.architecture-map-viewport{background:linear-gradient(var(--vscode-editorRuler-foreground,var(--border)) 1px,transparent 1px),linear-gradient(90deg,var(--vscode-editorRuler-foreground,var(--border)) 1px,transparent 1px),var(--architecture-surface)}@supports (color:color-mix(in lab,red,red)){.architecture-map-viewport{background:linear-gradient(color-mix(in srgb,var(--vscode-editorRuler-foreground,var(--border)) 9%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--vscode-editorRuler-foreground,var(--border)) 9%,transparent) 1px,transparent 1px),var(--architecture-surface)}}.architecture-map-viewport{background-size:32px 32px}.architecture-map-viewport[data-scroll-position=end],.architecture-map-viewport[data-scroll-position=none]{box-shadow:none}.architecture-map-canvas{min-width:100%;min-height:100%}.architecture-route-mode{border:1px solid var(--architecture-border);background:var(--architecture-surface);border-radius:5px;display:flex;overflow:hidden}.architecture-route-mode button{min-width:66px;height:27px;color:var(--vscode-descriptionForeground,var(--muted-foreground));font:9px/1 var(--compass-font-mono);background:0 0;border:0;padding:0 9px}.architecture-route-mode button+button{border-left:1px solid var(--architecture-border)}.architecture-route-mode button:hover{background:var(--vscode-toolbar-hoverBackground,var(--workbench-hover));color:var(--vscode-foreground,var(--foreground))}.architecture-route-mode button[aria-pressed=true]{background:var(--vscode-list-activeSelectionBackground,var(--accent))}@supports (color:color-mix(in lab,red,red)){.architecture-route-mode button[aria-pressed=true]{background:color-mix(in srgb,var(--vscode-list-activeSelectionBackground,var(--accent)) 72%,var(--architecture-raised))}}.architecture-route-mode button[aria-pressed=true]{color:var(--vscode-list-activeSelectionForeground,var(--foreground))}.architecture-map-toolbar{border:1px solid var(--architecture-border);background:var(--architecture-surface);border-radius:5px;align-items:center;display:flex;overflow:hidden}.architecture-map-toolbar button{width:28px;height:27px;color:var(--foreground);background:0 0;border:0;place-items:center;display:grid}.architecture-map-toolbar button:hover{background:var(--workbench-hover)}.architecture-map-toolbar button:disabled{opacity:.38;pointer-events:none}.architecture-map-toolbar button+button,.architecture-map-toolbar span+button{border-left:1px solid var(--architecture-border)}.architecture-map-toolbar svg{width:13px;height:13px}.architecture-map-toolbar span{min-width:40px;color:var(--muted-foreground);font:9px/27px var(--compass-font-mono);text-align:center;padding:0 5px}.architecture-map{cursor:grab;touch-action:none;width:100%;height:100%;display:block}.architecture-map:active{cursor:grabbing}.architecture-arrow-default path{fill:var(--vscode-textLink-foreground,var(--compass-focus))}.architecture-arrow-incoming path{fill:var(--vscode-symbolIcon-interfaceForeground,#b7a1ff)}.architecture-arrow-outgoing path{fill:var(--vscode-charts-blue,#49a6ff)}.architecture-map-lanes{pointer-events:none}.architecture-map-lanes rect{fill:var(--architecture-raised)}@supports (color:color-mix(in lab,red,red)){.architecture-map-lanes rect{fill:color-mix(in srgb,var(--architecture-raised) 8%,transparent)}}.architecture-map-lanes rect{stroke:var(--architecture-border)}@supports (color:color-mix(in lab,red,red)){.architecture-map-lanes rect{stroke:color-mix(in srgb,var(--architecture-border) 20%,transparent)}}.architecture-map-lanes rect{stroke-width:1px}.architecture-map-lanes text{fill:var(--vscode-descriptionForeground,var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.architecture-map-lanes text{fill:color-mix(in srgb,var(--vscode-descriptionForeground,var(--muted-foreground)) 72%,transparent)}}.architecture-map-lanes text{font:700 8px/1 var(--compass-font-mono);letter-spacing:.12em;text-anchor:middle;text-transform:uppercase}.architecture-map-lanes .architecture-map-direction{fill:var(--vscode-descriptionForeground,var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.architecture-map-lanes .architecture-map-direction{fill:color-mix(in srgb,var(--vscode-descriptionForeground,var(--muted-foreground)) 52%,transparent)}}.architecture-map-lanes .architecture-map-direction{letter-spacing:.16em;text-anchor:start;font-size:7px}.architecture-route-line{fill:none;stroke:var(--vscode-textLink-foreground,var(--compass-focus));opacity:var(--architecture-route-opacity,.2);stroke-linecap:round;stroke-linejoin:round;transition:opacity .14s,stroke-width .14s}.architecture-routes g[data-evidence=inferred] .architecture-route-line{stroke:var(--vscode-editorWarning-foreground,var(--warning));stroke-dasharray:6 5}.architecture-routes g[data-direction=backward] .architecture-route-line{stroke-dasharray:3 5}.architecture-route-hit{fill:none;stroke:#0000;stroke-width:16px;cursor:pointer}.architecture-routes g[data-selected=true] .architecture-route-line{opacity:1;filter:drop-shadow(0 0 3px var(--compass-focus))}@supports (color:color-mix(in lab,red,red)){.architecture-routes g[data-selected=true] .architecture-route-line{filter:drop-shadow(0 0 3px color-mix(in srgb,var(--compass-focus) 55%,transparent))}}.architecture-routes g[data-focus-direction=incoming] .architecture-route-line{stroke:var(--vscode-symbolIcon-interfaceForeground,#b7a1ff);opacity:.86}.architecture-routes g[data-focus-direction=outgoing] .architecture-route-line{stroke:var(--vscode-charts-blue,#49a6ff);opacity:.9}.architecture-routes g[data-dimmed=true]{opacity:.09}.architecture-map-panel[data-route-mode=key] .architecture-routes g[data-dimmed=true]{opacity:.38}.architecture-map-nodes g[data-dimmed=true]{opacity:.27}.architecture-map-panel[data-route-mode=key] .architecture-map-nodes g[data-dimmed=true]{opacity:.48}.architecture-routes g:focus-visible .architecture-route-line{stroke:var(--vscode-focusBorder,var(--ring));opacity:1}.architecture-map-nodes g{cursor:grab;touch-action:none;transition:opacity .12s}.architecture-map-nodes g[data-dragging=true]{cursor:grabbing}.architecture-map-node-card{fill:var(--vscode-editorWidget-background,var(--card));stroke:var(--vscode-symbolIcon-moduleForeground,var(--compass-focus))}@supports (color:color-mix(in lab,red,red)){.architecture-map-node-card{stroke:color-mix(in srgb,var(--vscode-symbolIcon-moduleForeground,var(--compass-focus)) 25%,var(--architecture-border))}}.architecture-map-node-card{stroke-width:1px}.architecture-map-node-shadow{fill:#0000002b;stroke:none;transform:translateY(3px)}.architecture-map-node-accent{fill:var(--vscode-symbolIcon-moduleForeground,var(--compass-focus));opacity:.62;pointer-events:none}.architecture-map-nodes g:hover .architecture-map-node-card,.architecture-map-nodes g:focus-visible .architecture-map-node-card,.architecture-map-nodes g[data-selected=true] .architecture-map-node-card,.architecture-map-nodes g[data-dragging=true] .architecture-map-node-card{fill:var(--vscode-list-activeSelectionBackground,var(--accent))}@supports (color:color-mix(in lab,red,red)){.architecture-map-nodes g:hover .architecture-map-node-card,.architecture-map-nodes g:focus-visible .architecture-map-node-card,.architecture-map-nodes g[data-selected=true] .architecture-map-node-card,.architecture-map-nodes g[data-dragging=true] .architecture-map-node-card{fill:color-mix(in srgb,var(--vscode-list-activeSelectionBackground,var(--accent)) 38%,var(--vscode-editorWidget-background,var(--card)))}}.architecture-map-nodes g:hover .architecture-map-node-card,.architecture-map-nodes g:focus-visible .architecture-map-node-card,.architecture-map-nodes g[data-selected=true] .architecture-map-node-card,.architecture-map-nodes g[data-dragging=true] .architecture-map-node-card{stroke:var(--vscode-focusBorder,var(--ring));stroke-width:1.6px}.architecture-map-nodes g[data-selected=true] .architecture-map-node-accent,.architecture-map-nodes g[data-dragging=true] .architecture-map-node-accent{opacity:1}.architecture-map-nodes g[data-dragging=true] .architecture-map-node-shadow{transform:translateY(7px)}.architecture-map-node-name{fill:var(--vscode-editor-foreground,var(--foreground));font:650 12px/1.2 var(--vscode-font-family,system-ui);pointer-events:none}.architecture-map-node-meta{fill:var(--vscode-descriptionForeground,var(--muted-foreground));font:8.5px/1.2 var(--compass-font-mono);pointer-events:none}.architecture-map-node-grip{fill:var(--vscode-descriptionForeground,var(--muted-foreground));opacity:.45;pointer-events:none}.architecture-map-nodes g:hover .architecture-map-node-grip,.architecture-map-nodes g[data-dragging=true] .architecture-map-node-grip{opacity:.9}.architecture-map-legend{min-width:0;color:var(--muted-foreground);font:8px/1.2 var(--compass-font-mono);flex-wrap:wrap;gap:7px 12px;display:flex}.architecture-map-legend span{align-items:center;gap:4px;display:inline-flex}.architecture-map-legend button{color:var(--vscode-textLink-foreground,var(--workbench-link));font:inherit;background:0 0;border:0;padding:0}.architecture-map-legend button:hover{text-decoration:underline}.architecture-map-legend i,.architecture-map-legend svg{background:var(--vscode-textLink-foreground,var(--compass-focus));flex:none;width:18px;height:2px}.architecture-map-legend svg{background:0 0;width:11px;height:11px}.architecture-map-legend i[data-evidence=inferred]{background:repeating-linear-gradient(90deg,var(--vscode-editorWarning-foreground,var(--warning)) 0 4px,transparent 4px 7px)}.architecture-map-legend i[data-direction=incoming]{background:var(--vscode-symbolIcon-interfaceForeground,#b7a1ff)}.architecture-map-legend i[data-direction=outgoing]{background:var(--vscode-charts-blue,#49a6ff)}.architecture-map-legend i[data-direction=bidirectional]{width:18px;height:12px;color:var(--vscode-textLink-foreground,var(--compass-focus));font:normal 10px/1 var(--compass-font-mono);background:0 0;place-items:center;display:grid}.architecture-map-legend i[data-direction=feedback]{background:repeating-linear-gradient(90deg,var(--vscode-textLink-foreground,var(--compass-focus)) 0 3px,transparent 3px 6px)}.architecture-map-table{flex:none;min-width:0;font-size:9px}.architecture-map-table summary{cursor:pointer;color:var(--muted-foreground);white-space:nowrap;padding:3px 0}.architecture-map-table[open]>div{z-index:8;border:1px solid var(--architecture-border);background:var(--architecture-raised);border-radius:6px;width:min(620px,100% - 24px);max-height:280px;position:absolute;bottom:42px;right:12px;overflow:auto;box-shadow:0 8px 24px #00000038}.architecture-map-table table{border-collapse:collapse;table-layout:fixed;width:100%}.architecture-map-table th,.architecture-map-table td{border-top:1px solid var(--architecture-border);overflow-wrap:anywhere;text-align:left;padding:5px 7px}.architecture-map-empty{min-width:min(100%,760px);min-height:100%;color:var(--muted-foreground);text-align:center;align-content:center;place-items:center;gap:5px;padding:30px;font-size:11px;display:grid}.architecture-map-empty strong{color:var(--foreground);font-size:12px}.architecture-map-footer{border-top:1px solid var(--architecture-border);background:var(--architecture-raised);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 18px;min-width:0;min-height:40px;padding:8px 12px;display:flex;position:relative}.architecture-inspector{border-left:1px solid var(--architecture-border);grid-template-rows:auto auto auto 1fr auto;display:grid}.architecture-route-metrics,.architecture-evidence-counts{color:var(--muted-foreground);font:9px/1.3 var(--compass-font-mono);flex-wrap:wrap;gap:5px 12px;margin-top:9px;display:flex}.architecture-route-metrics span{align-items:center;gap:3px;display:inline-flex}.architecture-route-metrics svg{width:11px;height:11px}.architecture-inspector-tabs{border-bottom:1px solid var(--architecture-border);display:flex}.architecture-inspector-tabs button{min-height:32px;color:var(--muted-foreground);background:0 0;border:0;flex:1;font-size:10px;position:relative}.architecture-inspector-tabs button[aria-selected=true]{color:var(--foreground)}.architecture-inspector-tabs button[aria-selected=true]:after{background:var(--vscode-focusBorder,var(--ring));content:"";height:2px;position:absolute;bottom:-1px;left:10px;right:10px}.architecture-detail-filter{border-bottom:1px solid var(--architecture-border);padding:8px 10px;display:block;position:relative}.architecture-detail-filter>svg{left:19px}.architecture-inspector-scroll{min-height:0;padding:8px;overflow:auto}.architecture-symbol-list,.architecture-call-list{gap:6px;display:grid}.architecture-symbol-list article,.architecture-call-list article{border:1px solid var(--architecture-border);background:var(--vscode-editorWidget-background,var(--card));border-radius:5px;min-width:0;padding:9px}.architecture-symbol-list article{grid-template-columns:16px minmax(0,1fr);gap:7px;display:grid}.architecture-symbol-list svg{width:14px;height:14px;color:var(--vscode-symbolIcon-functionForeground,var(--compass-focus))}.architecture-symbol-list strong,.architecture-symbol-list small,.architecture-symbol-list article button,.architecture-symbol-list article span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.architecture-symbol-list strong,.architecture-call-list strong{font-size:10px;font-weight:600}.architecture-symbol-list small,.architecture-call-list small{color:var(--muted-foreground);font:8.5px/1.35 var(--compass-font-mono);margin-top:2px}.architecture-symbol-list article button,.architecture-symbol-list article span{width:100%;color:var(--vscode-textLink-foreground,var(--workbench-link));font:8.5px/1.3 var(--compass-font-mono);text-align:left;background:0 0;border:0;margin-top:7px;padding:0}.architecture-symbol-list article span{color:var(--vscode-disabledForeground,var(--muted-foreground))}.architecture-call-list article>div:first-child{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:5px;display:grid}.architecture-call-list article>div:first-child strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.architecture-call-list article>div:first-child span{color:var(--vscode-textLink-foreground,var(--compass-focus))}.architecture-call-list article>div:last-child{gap:8px;margin-top:7px;display:flex}.architecture-call-list button{color:var(--vscode-textLink-foreground,var(--workbench-link));background:0 0;border:0;padding:0;font-size:8.5px}.architecture-call-list button:hover,.architecture-symbol-list button:hover{text-decoration:underline}.architecture-inspector>.workbench-pagination{border-top:1px solid var(--architecture-border);padding:7px 9px}.architecture-inspector-empty{min-height:160px;color:var(--muted-foreground);text-align:center;place-items:center;padding:24px;font-size:10px;line-height:1.5;display:grid}.architecture-loading-rows{gap:7px;display:grid}.architecture-loading-rows i{border:1px solid var(--architecture-border);background:linear-gradient(90deg,var(--architecture-raised),var(--architecture-raised),var(--architecture-raised));border-radius:5px;height:58px}@supports (color:color-mix(in lab,red,red)){.architecture-loading-rows i{background:linear-gradient(90deg,var(--architecture-raised),color-mix(in srgb,var(--architecture-raised) 72%,var(--foreground)),var(--architecture-raised))}}.architecture-loading-rows i{background-size:240% 100%;animation:1.3s infinite architecture-row-load}@keyframes architecture-row-load{to{background-position:-140% 0}}.architecture-workspace button:focus-visible,.architecture-workspace [role=button]:focus-visible,.architecture-workspace select:focus-visible,.architecture-workspace input:focus-visible,.architecture-workspace summary:focus-visible{outline:2px solid var(--vscode-focusBorder,var(--ring));outline-offset:-1px}body.vscode-high-contrast .architecture-map-node-card,body.vscode-high-contrast-light .architecture-map-node-card,body.vscode-high-contrast .architecture-map-panel,body.vscode-high-contrast-light .architecture-map-panel,body.vscode-high-contrast .architecture-symbol-list article,body.vscode-high-contrast-light .architecture-symbol-list article,body.vscode-high-contrast .architecture-call-list article,body.vscode-high-contrast-light .architecture-call-list article{stroke:var(--vscode-contrastBorder,var(--ring));border-color:var(--vscode-contrastBorder,var(--ring));stroke-width:2px}body.vscode-high-contrast .architecture-map-panel,body.vscode-high-contrast-light .architecture-map-panel{box-shadow:none;border-width:2px}@media(max-width:1100px){.architecture-workspace{grid-template-columns:200px minmax(440px,1fr) 300px}.architecture-workspace[data-inspector-open=false]{grid-template-columns:200px minmax(440px,1fr)}.architecture-command-bar{grid-template-columns:minmax(220px,1fr) auto 30px}.architecture-evidence-filter{grid-area:2/2}.architecture-inspector-toggle{grid-area:1/3}}@media(max-width:1180px){.architecture-workspace{grid-template-rows:minmax(650px,78vh) auto;grid-template-columns:minmax(190px,220px) minmax(0,1fr);height:auto;min-height:100vh;overflow:auto}.architecture-workspace[data-inspector-open=false]{grid-template-columns:minmax(190px,220px) minmax(0,1fr)}.architecture-rail{grid-row:1/span 2}.architecture-stage{min-height:650px}.architecture-inspector{border-top:1px solid var(--architecture-border);border-left:0;height:min(560px,72vh);min-height:440px;overflow:hidden}}@media(max-width:620px){.architecture-workspace{display:block}.architecture-rail{border-right:0;border-bottom:1px solid var(--architecture-border);max-height:310px}.architecture-rail nav{max-height:190px}.architecture-stage{min-height:650px}.architecture-command-bar{grid-template-columns:1fr}.architecture-evidence-filter,.architecture-inspector-toggle{grid-area:auto}.architecture-map-legend{display:none}}@media(prefers-reduced-motion:reduce){.architecture-route-line,.architecture-map-nodes g{transition:none}.architecture-loading-rows i{animation:none}}.call-guide-shell{box-sizing:border-box;background:radial-gradient(circle at 77% 8%,var(--compass-focus),transparent 28rem),var(--vscode-editor-background,var(--background));min-height:100vh;padding:clamp(28px,5vw,72px) clamp(20px,5vw,72px) 40px;position:relative;overflow:auto}@supports (color:color-mix(in lab,red,red)){.call-guide-shell{background:radial-gradient(circle at 77% 8%,color-mix(in srgb,var(--compass-focus) 9%,transparent),transparent 28rem),var(--vscode-editor-background,var(--background))}}.call-guide-shell{isolation:isolate}.call-guide-grid{z-index:-1;opacity:.19;background-image:linear-gradient(var(--compass-grid) 1px,transparent 1px),linear-gradient(90deg,var(--compass-grid) 1px,transparent 1px);pointer-events:none;background-size:32px 32px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 68%);mask-image:linear-gradient(#000,#0000 68%)}.call-guide-hero,.call-guide-section,.call-guide-footer{width:min(1120px,100%);margin-inline:auto}.call-guide-hero{border-bottom:1px solid var(--vscode-panel-border,var(--border));grid-template-columns:minmax(300px,.9fr) minmax(420px,1.1fr);align-items:center;gap:clamp(40px,7vw,96px);min-height:330px;padding-bottom:clamp(36px,5vw,64px);display:grid}.call-guide-kicker,.call-guide-overline,.call-guide-route-label,.call-guide-route-readout,.call-guide-shortcut,.call-guide-coverage-badge{font-family:var(--compass-font-mono);text-transform:uppercase;letter-spacing:.12em}.call-guide-kicker{color:var(--vscode-textLink-foreground,var(--compass-focus));align-items:center;gap:8px;font-size:10px;font-weight:700;display:inline-flex}.call-guide-kicker svg{width:14px;height:14px}.call-guide-intro h1{max-width:650px;color:var(--vscode-editor-foreground,var(--foreground));letter-spacing:-.052em;text-wrap:balance;margin:18px 0 0;font-size:clamp(34px,5vw,62px);font-weight:620;line-height:.98}.call-guide-lead{max-width:580px;color:var(--vscode-descriptionForeground,var(--muted-foreground));margin:22px 0 0;font-size:clamp(14px,1.7vw,17px);line-height:1.65}.call-guide-source{border:1px solid var(--vscode-panel-border,var(--border));background:var(--vscode-editorWidget-background,var(--card));border-radius:4px;align-items:center;gap:8px;max-width:min(100%,560px);min-height:34px;margin-top:24px;padding:0 10px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.call-guide-source{background:color-mix(in srgb,var(--vscode-editorWidget-background,var(--card)) 88%,transparent)}}.call-guide-source{color:var(--vscode-descriptionForeground,var(--muted-foreground));font:11px/1.3 var(--compass-font-mono)}.call-guide-source>span:not(.call-guide-source-light){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.call-guide-source>svg{flex:none;width:14px;height:14px}.call-guide-source code{border-left:1px solid var(--vscode-panel-border,var(--border));color:var(--vscode-textLink-foreground,var(--compass-focus));font:inherit;flex:none;margin-left:3px;padding-left:9px}.call-guide-source-light{background:var(--vscode-disabledForeground,var(--compass-faint));border-radius:50%;flex:none;width:6px;height:6px}.call-guide-source[data-ready=true] .call-guide-source-light{background:var(--vscode-testing-iconPassed,var(--compass-success));box-shadow:0 0 9px var(--vscode-testing-iconPassed,var(--compass-success))}@supports (color:color-mix(in lab,red,red)){.call-guide-source[data-ready=true] .call-guide-source-light{box-shadow:0 0 9px color-mix(in srgb,var(--vscode-testing-iconPassed,var(--compass-success)) 60%,transparent)}}.call-guide-route{border:1px solid var(--vscode-panel-border,var(--border));background:linear-gradient(135deg,var(--vscode-editorWidget-background,var(--card)),var(--vscode-editor-background,var(--background)));border-radius:8px;padding:16px;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.call-guide-route{background:linear-gradient(135deg,color-mix(in srgb,var(--vscode-editorWidget-background,var(--card)) 94%,transparent),color-mix(in srgb,var(--vscode-editor-background,var(--background)) 82%,transparent))}}.call-guide-route{box-shadow:0 24px 70px #00000038}.call-guide-route:before{content:"";border:1px solid var(--compass-focus);width:230px;height:230px;position:absolute;top:46%;left:50%}@supports (color:color-mix(in lab,red,red)){.call-guide-route:before{border:1px solid color-mix(in srgb,var(--compass-focus) 14%,transparent)}}.call-guide-route:before{box-shadow:0 0 0 44px var(--compass-focus),0 0 0 88px var(--compass-focus);border-radius:50%;transform:translate(-50%,-50%)}@supports (color:color-mix(in lab,red,red)){.call-guide-route:before{box-shadow:0 0 0 44px color-mix(in srgb,var(--compass-focus) 3%,transparent),0 0 0 88px color-mix(in srgb,var(--compass-focus) 2%,transparent)}}.call-guide-route:before{pointer-events:none}.call-guide-route-label,.call-guide-route-readout{z-index:2;color:var(--vscode-disabledForeground,var(--compass-faint));justify-content:space-between;font-size:9px;display:flex;position:relative}.call-guide-route-label code{color:var(--vscode-textLink-foreground,var(--compass-focus));font:inherit;text-transform:none}.call-guide-route-stage{z-index:1;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:13%;min-height:226px;display:grid;position:relative}.call-guide-route-node{border:1px solid var(--vscode-panel-border,var(--border));background:var(--vscode-editor-background,var(--background));border-radius:5px;flex-direction:column;gap:4px;min-width:0;padding:12px;display:flex;position:relative;box-shadow:0 12px 32px #0003}.call-guide-route-node>span{color:var(--vscode-descriptionForeground,var(--muted-foreground));font:8px/1 var(--compass-font-mono);letter-spacing:.12em}.call-guide-route-node strong{color:var(--vscode-editor-foreground,var(--foreground));font:600 11px/1.3 var(--compass-font-mono);text-overflow:ellipsis;overflow:hidden}.call-guide-route-node small{color:var(--vscode-descriptionForeground,var(--muted-foreground));text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.call-guide-route-current{border-color:var(--vscode-focusBorder,var(--compass-focus));background:var(--vscode-focusBorder,var(--compass-focus));align-items:center;padding-block:17px}@supports (color:color-mix(in lab,red,red)){.call-guide-route-current{background:color-mix(in srgb,var(--vscode-focusBorder,var(--compass-focus)) 9%,var(--vscode-editor-background,var(--background)))}}.call-guide-route-current{text-align:center;box-shadow:0 0 0 1px var(--compass-focus),0 15px 40px var(--compass-focus)}@supports (color:color-mix(in lab,red,red)){.call-guide-route-current{box-shadow:0 0 0 1px color-mix(in srgb,var(--compass-focus) 16%,transparent),0 15px 40px color-mix(in srgb,var(--compass-focus) 14%,transparent)}}.call-guide-route-current>svg{width:17px;height:17px;color:var(--vscode-textLink-foreground,var(--compass-focus));margin-bottom:3px}.call-guide-route-line{z-index:-1;background:var(--compass-focus);width:32%;height:1px;position:absolute;top:50%;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.call-guide-route-line{background:color-mix(in srgb,var(--compass-focus) 44%,var(--border))}}.call-guide-route-line-in{left:18%}.call-guide-route-line-out{right:18%}.call-guide-route-line i{background:var(--vscode-focusBorder,var(--compass-focus));width:5px;height:5px;box-shadow:0 0 9px var(--vscode-focusBorder,var(--compass-focus));border-radius:50%;animation:2.2s linear infinite call-guide-trace;position:absolute;top:-2px}.call-guide-route-line-out i{animation-delay:1.1s}@keyframes call-guide-trace{0%{left:-8px}to{left:calc(100% + 8px)}}.call-guide-route-readout{border-top:1px solid var(--vscode-panel-border,var(--border));letter-spacing:.08em;padding-top:11px}.call-guide-section{border-bottom:1px solid var(--vscode-panel-border,var(--border));padding-block:clamp(34px,5vw,58px)}.call-guide-heading{justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:24px;display:flex}.call-guide-overline{color:var(--vscode-textLink-foreground,var(--compass-focus));margin-bottom:7px;font-size:9px;font-weight:700;display:block}.call-guide-heading h2{color:var(--vscode-editor-foreground,var(--foreground));letter-spacing:-.025em;margin:0;font-size:clamp(19px,2.4vw,26px);font-weight:600}.call-guide-heading>p{max-width:420px;color:var(--vscode-descriptionForeground,var(--muted-foreground));text-align:right;margin:0;font-size:11px;line-height:1.5}.call-guide-shortcut{color:var(--vscode-descriptionForeground,var(--muted-foreground));white-space:nowrap;align-items:center;gap:7px;font-size:9px;display:inline-flex}.call-guide-shortcut svg{width:12px;height:12px;color:var(--vscode-textLink-foreground,var(--compass-focus))}.call-guide-steps{grid-template-columns:minmax(170px,.8fr) minmax(340px,1.45fr) minmax(170px,.8fr);gap:10px;margin:0;padding:0;list-style:none;display:grid}.call-guide-steps>li{border:1px solid var(--vscode-panel-border,var(--border));background:var(--vscode-editorWidget-background,var(--card));border-radius:5px;align-content:start;gap:17px;min-height:168px;padding:18px;display:grid;position:relative}@supports (color:color-mix(in lab,red,red)){.call-guide-steps>li{background:color-mix(in srgb,var(--vscode-editorWidget-background,var(--card)) 72%,transparent)}}.call-guide-steps>li>svg{width:22px;height:22px;color:var(--vscode-textLink-foreground,var(--compass-focus))}.call-guide-step-number{color:var(--vscode-disabledForeground,var(--compass-faint));font:9px/1 var(--compass-font-mono);letter-spacing:.1em;position:absolute;top:17px;right:17px}.call-guide-steps h3{color:var(--vscode-editor-foreground,var(--foreground));margin:0;font-size:13px;font-weight:600}.call-guide-steps p{color:var(--vscode-descriptionForeground,var(--muted-foreground));margin:6px 0 0;font-size:11px;line-height:1.5}.call-guide-step-menu{grid-template-columns:minmax(150px,.85fr) minmax(195px,1.15fr);align-items:center}.call-guide-menu-preview{min-width:0;padding-right:44%;font-size:10px;position:relative}.call-guide-menu-parent,.call-guide-submenu{border:1px solid var(--vscode-menu-border,var(--border));background:var(--vscode-menu-background,var(--popover));color:var(--vscode-menu-foreground,var(--popover-foreground));border-radius:4px;box-shadow:0 12px 30px #00000040}.call-guide-menu-parent{border-color:var(--vscode-focusBorder,var(--compass-focus));background:var(--vscode-menu-selectionBackground,var(--accent));min-height:31px;color:var(--vscode-menu-selectionForeground,var(--accent-foreground));grid-template-columns:15px 1fr 13px;align-items:center;gap:7px;padding:0 8px;display:grid}.call-guide-menu-parent svg,.call-guide-submenu svg{width:13px;height:13px}.call-guide-submenu{z-index:2;width:58%;min-width:165px;padding:4px;position:absolute;top:22px;right:0}.call-guide-submenu span{white-space:nowrap;border-radius:2px;align-items:center;gap:7px;min-height:26px;padding:0 7px;display:flex}.call-guide-submenu span.is-active{background:var(--vscode-menu-selectionBackground,var(--accent));color:var(--vscode-menu-selectionForeground,var(--accent-foreground))}.call-guide-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.call-guide-action{border:1px solid var(--vscode-panel-border,var(--border));background:var(--vscode-editorWidget-background,var(--card));min-height:104px;color:var(--vscode-editor-foreground,var(--foreground));font:inherit;text-align:left;border-radius:5px;outline:none;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:18px;transition:border-color .14s,background .14s,transform .14s;display:grid;position:relative}.call-guide-action:not(:disabled):hover{border-color:var(--vscode-focusBorder,var(--compass-focus));background:var(--vscode-list-hoverBackground,var(--workbench-hover))}@supports (color:color-mix(in lab,red,red)){.call-guide-action:not(:disabled):hover{background:color-mix(in srgb,var(--vscode-list-hoverBackground,var(--workbench-hover)) 70%,var(--vscode-editorWidget-background,var(--card)))}}.call-guide-action:not(:disabled):hover{transform:translateY(-2px)}.call-guide-action:focus-visible,.call-guide-walkthrough:focus-visible{outline:2px solid var(--vscode-focusBorder,var(--ring));outline-offset:2px}.call-guide-action:disabled{cursor:not-allowed;opacity:.46}.call-guide-action[data-primary=true]{border-color:var(--vscode-focusBorder,var(--compass-focus))}@supports (color:color-mix(in lab,red,red)){.call-guide-action[data-primary=true]{border-color:color-mix(in srgb,var(--vscode-focusBorder,var(--compass-focus)) 72%,var(--border))}}.call-guide-action[data-primary=true]{background:linear-gradient(130deg,var(--vscode-focusBorder,var(--compass-focus)),transparent 58%),var(--vscode-editorWidget-background,var(--card))}@supports (color:color-mix(in lab,red,red)){.call-guide-action[data-primary=true]{background:linear-gradient(130deg,color-mix(in srgb,var(--vscode-focusBorder,var(--compass-focus)) 13%,transparent),transparent 58%),var(--vscode-editorWidget-background,var(--card))}}.call-guide-action-icon{border:1px solid var(--vscode-panel-border,var(--border));background:var(--vscode-editor-background,var(--background));width:34px;height:34px;color:var(--vscode-textLink-foreground,var(--compass-focus));border-radius:4px;place-items:center;display:grid}.call-guide-action-icon svg{width:16px;height:16px}.call-guide-action strong,.call-guide-action small{display:block}.call-guide-action strong{font-size:12px;font-weight:600}.call-guide-action small{color:var(--vscode-descriptionForeground,var(--muted-foreground));margin-top:5px;font-size:10px}.call-guide-action-arrow{width:15px;height:15px;color:var(--vscode-disabledForeground,var(--compass-faint));transition:transform .14s}.call-guide-action:not(:disabled):hover .call-guide-action-arrow{color:var(--vscode-textLink-foreground,var(--compass-focus));transform:translate(3px)}.call-guide-action em{color:var(--vscode-textLink-foreground,var(--compass-focus));font:normal 8px/1 var(--compass-font-mono);letter-spacing:.08em;text-transform:uppercase;position:absolute;top:8px;right:8px}.call-guide-footer{justify-content:space-between;align-items:center;gap:30px;padding-top:24px;display:flex}.call-guide-coverage{align-items:center;gap:13px;max-width:760px;display:flex}.call-guide-coverage-badge{border:1px solid var(--vscode-testing-iconPassed,var(--compass-success));flex:none;padding:5px 7px}@supports (color:color-mix(in lab,red,red)){.call-guide-coverage-badge{border:1px solid color-mix(in srgb,var(--vscode-testing-iconPassed,var(--compass-success)) 50%,var(--border))}}.call-guide-coverage-badge{color:var(--vscode-testing-iconPassed,var(--compass-success));border-radius:3px;font-size:8px;font-weight:700}.call-guide-coverage p{color:var(--vscode-descriptionForeground,var(--muted-foreground));margin:0;font-size:10px;line-height:1.55}.call-guide-walkthrough{color:var(--vscode-textLink-foreground,var(--compass-focus));font:11px/1 var(--compass-font-sans);background:0 0;border:0;outline:none;flex:none;align-items:center;gap:7px;padding:7px 0;display:inline-flex}.call-guide-walkthrough svg{width:14px;height:14px}.call-guide-walkthrough svg:last-child{width:12px;transition:transform .14s}.call-guide-walkthrough:hover svg:last-child{transform:translate(2px)}body.vscode-high-contrast .call-guide-route,body.vscode-high-contrast-light .call-guide-route,body.vscode-high-contrast .call-guide-steps>li,body.vscode-high-contrast-light .call-guide-steps>li,body.vscode-high-contrast .call-guide-action,body.vscode-high-contrast-light .call-guide-action{border-width:2px;border-color:var(--vscode-contrastBorder,var(--ring))}@media(max-width:900px){.call-guide-hero{grid-template-columns:1fr;gap:32px}.call-guide-route{box-sizing:border-box;width:min(620px,100%)}.call-guide-steps{grid-template-columns:1fr 1fr}.call-guide-step-menu{grid-area:2/1/auto/-1}}@media(max-width:680px){.call-guide-shell{padding-inline:16px}.call-guide-heading,.call-guide-footer{flex-direction:column;align-items:flex-start}.call-guide-heading>p{text-align:left}.call-guide-shortcut{display:none}.call-guide-steps,.call-guide-actions{grid-template-columns:1fr}.call-guide-step-menu{grid-area:auto;grid-template-columns:1fr}.call-guide-menu-preview{padding-right:min(42%,180px)}.call-guide-coverage{flex-direction:column;align-items:flex-start}}@media(max-width:440px){.call-guide-route-stage{gap:5%}.call-guide-route-node{padding:9px 7px}.call-guide-route-node small{display:none}.call-guide-menu-preview{padding:0}.call-guide-submenu{width:auto;margin:6px 0 0 18px;position:relative;top:auto}}@media(prefers-reduced-motion:reduce){.call-guide-route-line i{animation:none}.call-guide-action,.call-guide-action-arrow,.call-guide-walkthrough svg:last-child{transition:none}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{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:"";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:"";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:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}} diff --git a/docs/guides/vscode.md b/docs/guides/vscode.md index 295dc694..54e2d958 100644 --- a/docs/guides/vscode.md +++ b/docs/guides/vscode.md @@ -105,9 +105,18 @@ subsystem cards, or the route-table alternative for another level of detail. ## Query -Use **Query Codebase** for natural-language discovery or deterministic -CompassQL. CompassQL parameters and limits are sent as literal process -arguments. Use Cmd/Ctrl+Enter to run a query. +Use **Query Codebase** as a three-command workbench: + +- **Ask** routes a question through the typed `compass ask` contract and + presents graph matches, paths, diagnostics, and source links. +- **Explain** inspects one symbol and itemizes its incoming and outgoing + relationships. Ambiguous names remain explicit and offer full node IDs. +- **CompassQL** executes deterministic read-only rows with literal parameters + and limits. + +Each run opens a separate bounded result tab, so answers can be compared +without replacing earlier output. Use Cmd/Ctrl+Enter to run the selected +command. ## Evolution diff --git a/docs/reference/commands.md b/docs/reference/commands.md index 253860b0..e4b3221a 100644 --- a/docs/reference/commands.md +++ b/docs/reference/commands.md @@ -250,6 +250,19 @@ an explicit `wiring=FILE:LOCATION` site, and traversed relationships render their occurrence as `at=FILE:LOCATION`; neither is presented as a declaration location. +Typed intent routing: + +```text +compass ask "" + [--graph PATH | --at REV] + [--format text|json] +``` + +`ask` chooses a bounded typed search, callers, callees, impact, or node-trail +operation and returns `compass.query/1`. `--at REV` reads one immutable trusted +revision graph; it does not fall back to a legacy projection. Rebuild a revision +whose realization does not contain the current trusted graph contract. + CompassQL: ```text diff --git a/editors/vscode/README.md b/editors/vscode/README.md index 3e39431b..1e6a931f 100644 --- a/editors/vscode/README.md +++ b/editors/vscode/README.md @@ -45,7 +45,9 @@ is found first on `PATH`, Compass stops before running a workflow and offers - Read the broader architecture flow document in a separate editor tab, with a horizontally scrollable map, draggable subsystem cards, and a route-table alternative for large systems. -- Run natural-language queries or deterministic CompassQL. +- Run typed Ask questions, inspect one symbol with Explain, or execute + deterministic CompassQL. Each command keeps its own input and opens a + separate result tab with readable diagnostics and source links. - Browse every reachable Git commit with graph states: graph available, not materialized, building, or failed. - Explicitly build missing historical graphs, load exact revisions, and compare diff --git a/editors/vscode/src/commands/queryArguments.test.ts b/editors/vscode/src/commands/queryArguments.test.ts index 4d489259..e7108252 100644 --- a/editors/vscode/src/commands/queryArguments.test.ts +++ b/editors/vscode/src/commands/queryArguments.test.ts @@ -1,5 +1,41 @@ import { describe, expect, it } from "vitest"; -import { buildCqlArgs } from "./queryArguments"; +import { + buildAskArgs, + buildCqlArgs, + buildExplainArgs +} from "./queryArguments"; + +describe("buildAskArgs", () => { + it("uses the typed ask contract for the working tree", () => { + expect(buildAskArgs({ + query: "who calls checkout?", + graph: "/repo/compass-out/graph.json" + })).toEqual([ + "ask", "who calls checkout?", + "--graph", "/repo/compass-out/graph.json", + "--format", "json" + ]); + }); + + it("selects an immutable revision without mixing graph sources", () => { + expect(buildAskArgs({ query: "who calls checkout?", revision: "HEAD~2" })) + .toEqual([ + "ask", "who calls checkout?", "--at", "HEAD~2", "--format", "json" + ]); + }); +}); + +describe("buildExplainArgs", () => { + it("requests a readable explanation for one exact symbol", () => { + expect(buildExplainArgs({ + query: "crate::Checkout::run", + graph: "/repo/compass-out/graph.json" + })).toEqual([ + "explain", "crate::Checkout::run", + "--graph", "/repo/compass-out/graph.json" + ]); + }); +}); describe("buildCqlArgs", () => { it("keeps the query and parameters as literal arguments", () => { diff --git a/editors/vscode/src/commands/queryArguments.ts b/editors/vscode/src/commands/queryArguments.ts index 966af37e..72cec01d 100644 --- a/editors/vscode/src/commands/queryArguments.ts +++ b/editors/vscode/src/commands/queryArguments.ts @@ -1,12 +1,35 @@ -export function buildNaturalQueryArgs(options: { - query: string; +type GraphSelection = { graph?: string | undefined; revision?: string | undefined; -}): string[] { +}; + +function graphSelection(options: GraphSelection): string[] { + return options.revision + ? ["--at", options.revision] + : options.graph + ? ["--graph", options.graph] + : []; +} + +export function buildAskArgs(options: { + query: string; +} & GraphSelection): string[] { return [ - "query", + "ask", + options.query, + ...graphSelection(options), + "--format", + "json" + ]; +} + +export function buildExplainArgs(options: { + query: string; +} & GraphSelection): string[] { + return [ + "explain", options.query, - ...(options.revision ? ["--at", options.revision] : options.graph ? ["--graph", options.graph] : []) + ...graphSelection(options) ]; } @@ -15,9 +38,7 @@ export function buildCqlArgs(options: { params: Record; timeoutMs: number; maxRows: number; - graph?: string | undefined; - revision?: string | undefined; -}): string[] { +} & GraphSelection): string[] { return [ "query", "--cql", @@ -29,7 +50,7 @@ export function buildCqlArgs(options: { String(options.timeoutMs), "--max-rows", String(options.maxRows), - ...(options.revision ? ["--at", options.revision] : options.graph ? ["--graph", options.graph] : []), + ...graphSelection(options), "--format", "json" ]; diff --git a/editors/vscode/src/views/queryExecution.test.ts b/editors/vscode/src/views/queryExecution.test.ts new file mode 100644 index 00000000..1b9e9ce0 --- /dev/null +++ b/editors/vscode/src/views/queryExecution.test.ts @@ -0,0 +1,30 @@ +import { describe, expect, it } from "vitest"; +import { queryFailureMessage } from "./queryExecution"; + +describe("queryFailureMessage", () => { + it("extracts actionable text from a machine-readable error envelope", () => { + expect(queryFailureMessage( + '{"error":{"code":"no_match","message":"No exact symbol matched Checkout.run"}}', + 1 + )).toBe("No exact symbol matched Checkout.run"); + }); + + it("uses typed diagnostics instead of displaying the JSON blob", () => { + expect(queryFailureMessage( + '{"diagnostics":[{"code":"ambiguous_match","message":"Use a full node ID"}]}', + 1 + )).toBe("Use a full node ID"); + }); + + it("preserves concise plain-text CLI failures", () => { + expect(queryFailureMessage("error: graph is unavailable\n", 2)) + .toBe("Graph is unavailable"); + }); + + it("does not expose an unknown machine envelope as raw JSON", () => { + const message = queryFailureMessage('{"code":"future_error","payload":{"node":"run"}}', 1); + expect(message).toContain("could not interpret"); + expect(message).not.toContain("future_error"); + expect(message).not.toContain("payload"); + }); +}); diff --git a/editors/vscode/src/views/queryExecution.ts b/editors/vscode/src/views/queryExecution.ts new file mode 100644 index 00000000..7b044f4b --- /dev/null +++ b/editors/vscode/src/views/queryExecution.ts @@ -0,0 +1,51 @@ +type JsonRecord = Record; + +export function queryFailureMessage(raw: string, exitCode: number): string { + const trimmed = raw.trim(); + if (!trimmed) return `Compass query exited with code ${exitCode}`; + const decoded = decodeJson(trimmed); + const message = decoded === undefined ? undefined : nestedMessage(decoded); + if (message) return sentence(message); + if (decoded !== undefined) { + return "Compass returned an error the extension could not interpret. Update Compass and the extension, then try again."; + } + return sentence(trimmed.replace(/^error:\s*/i, "")); +} + +function decodeJson(value: string): unknown | undefined { + try { + return JSON.parse(value) as unknown; + } catch { + return undefined; + } +} + +function nestedMessage(value: unknown): string | undefined { + if (typeof value === "string") return value.trim() || undefined; + if (!isRecord(value)) return undefined; + for (const key of ["message", "detail", "reason"]) { + const candidate = value[key]; + if (typeof candidate === "string" && candidate.trim()) return candidate.trim(); + } + if (value.error !== undefined) { + const candidate = nestedMessage(value.error); + if (candidate) return candidate; + } + if (Array.isArray(value.diagnostics)) { + for (const diagnostic of value.diagnostics) { + const candidate = nestedMessage(diagnostic); + if (candidate) return candidate; + } + } + return undefined; +} + +function isRecord(value: unknown): value is JsonRecord { + return typeof value === "object" && value !== null && !Array.isArray(value); +} + +function sentence(value: string): string { + const trimmed = value.trim(); + if (!trimmed) return trimmed; + return trimmed[0]!.toLocaleUpperCase() + trimmed.slice(1); +} diff --git a/editors/vscode/src/views/queryPanel.ts b/editors/vscode/src/views/queryPanel.ts index 863728ca..548ff528 100644 --- a/editors/vscode/src/views/queryPanel.ts +++ b/editors/vscode/src/views/queryPanel.ts @@ -1,8 +1,17 @@ import { randomUUID } from "node:crypto"; import * as vscode from "vscode"; -import { SourceLocationSchema } from "@compass/viewer/contracts/graph"; -import { buildCqlArgs, buildNaturalQueryArgs } from "../commands/queryArguments"; +import { + CodeQueryResponseSchema, + SourceLocationSchema, + type QuerySubmission +} from "@compass/viewer"; +import { + buildAskArgs, + buildCqlArgs, + buildExplainArgs +} from "../commands/queryArguments"; import type { RepositorySession } from "../workspace/repositorySession"; +import { queryFailureMessage } from "./queryExecution"; import { openGraphSource } from "./sourceNavigation"; export async function openQueryPanel( @@ -20,16 +29,22 @@ export async function openQueryPanel( localResourceRoots: [vscode.Uri.joinPath(context.extensionUri, "dist")] } ); - let active: AbortController | undefined; - panel.onDidDispose(() => active?.abort()); + let active: { id: string; controller: AbortController } | undefined; + panel.onDidDispose(() => active?.controller.abort()); panel.webview.html = html(context, panel.webview); panel.webview.onDidReceiveMessage(async (message) => { if (message?.type === "ready") { - await panel.webview.postMessage({ type: "state", running: false, revision }); + await panel.webview.postMessage({ type: "state", revision }); return; } if (message?.type === "cancel") { - active?.abort(); + const current = active; + if (current === undefined) return; + if (current.id === message.runId) { + current.controller.abort(); + active = undefined; + await panel.webview.postMessage({ type: "cancelled", runId: message.runId }); + } return; } if (message?.type === "openSource") { @@ -49,57 +64,79 @@ export async function openQueryPanel( return; } if (message?.type !== "execute" - || !["natural", "cql"].includes(message.request?.mode) + || !["ask", "explain", "cql"].includes(message.request?.command) + || typeof message.request.id !== "string" || typeof message.request.query !== "string") return; - active?.abort(); + if (active) { + const previous = active; + previous.controller.abort(); + await panel.webview.postMessage({ type: "cancelled", runId: previous.id }); + } const controller = new AbortController(); - active = controller; + const request = message.request as QuerySubmission & { id: string }; + active = { id: request.id, controller }; const started = performance.now(); - await panel.webview.postMessage({ type: "state", running: true, revision }); try { - const request = message.request as { - mode: "natural" | "cql"; - query: string; - params: Record; - timeoutMs: number; - maxRows: number; + const selection = { + graph: revision ? undefined : session.graphPath, + revision }; - const args = request.mode === "cql" + const args = request.command === "cql" ? buildCqlArgs({ ...request, - graph: revision ? undefined : session.graphPath, - revision + ...selection }) - : buildNaturalQueryArgs({ - query: request.query, - graph: revision ? undefined : session.graphPath, - revision - }); + : request.command === "explain" + ? buildExplainArgs({ query: request.query, ...selection }) + : buildAskArgs({ query: request.query, ...selection }); const result = await session.processes.run(session.root, args, controller.signal); - if (result.code !== 0) throw new Error(result.stderr || `Compass exited with ${result.code}`); + if (controller.signal.aborted) return; + if (result.code !== 0) { + throw new QueryProcessError(result.stderr || result.stdout, result.code); + } + const output = request.command === "ask" + ? { kind: "code-query" as const, value: CodeQueryResponseSchema.parse(JSON.parse(result.stdout)) } + : request.command === "cql" + ? { kind: "rows" as const, value: JSON.parse(result.stdout) as unknown } + : { kind: "explanation" as const, text: result.stdout }; await panel.webview.postMessage({ type: "result", + runId: request.id, revision, - result: { - mode: request.mode, - ...(request.mode === "cql" - ? { json: JSON.parse(result.stdout) } - : { text: result.stdout }), - durationMs: Math.round(performance.now() - started) - } + output, + durationMs: Math.round(performance.now() - started) }); } catch (error) { + if (controller.signal.aborted) return; await panel.webview.postMessage({ type: "error", + runId: request.id, revision, - message: error instanceof Error ? error.message : String(error) + message: error instanceof QueryProcessError + ? queryFailureMessage(error.output, error.exitCode) + : invalidResultMessage(request.command, error) }); } finally { - if (active === controller) active = undefined; + if (active?.controller === controller) active = undefined; } }); } +class QueryProcessError extends Error { + constructor( + public readonly output: string, + public readonly exitCode: number + ) { + super(output); + } +} + +function invalidResultMessage(command: QuerySubmission["command"], error: unknown): string { + console.error(`[compass-query:${command}] invalid result`, error); + const label = command === "cql" ? "CompassQL" : command === "ask" ? "Ask" : "Explain"; + return `Compass returned a ${label} result this extension could not read. Update Compass and the extension, then try again.`; +} + function html(context: vscode.ExtensionContext, webview: vscode.Webview): string { const script = webview.asWebviewUri( vscode.Uri.joinPath(context.extensionUri, "dist", "webviews", "query.js") diff --git a/editors/vscode/src/webviews/query.tsx b/editors/vscode/src/webviews/query.tsx index 8ad879dc..7a72f7e4 100644 --- a/editors/vscode/src/webviews/query.tsx +++ b/editors/vscode/src/webviews/query.tsx @@ -1,29 +1,55 @@ import { createRoot } from "react-dom/client"; -import { QueryWorkspace, type QueryResult } from "@compass/viewer"; +import { + QueryWorkspace, + type QueryOutput, + type QueryRun +} from "@compass/viewer"; declare function acquireVsCodeApi(): { postMessage(message: unknown): void }; const vscode = acquireVsCodeApi(); const element = document.getElementById("root"); if (!element) throw new Error("Compass query root is missing"); const root = createRoot(element); -let running = false; -let result: QueryResult | undefined; -let error: string | undefined; +let runs: QueryRun[] = []; +let activeRunId: string | undefined; let revision: string | undefined; +let sequence = 0; function render(): void { root.render( run.id === runId); + const closing = runs[index]; + if (closing?.status === "running") { + vscode.postMessage({ type: "cancel", runId }); + } + runs = runs.filter((run) => run.id !== runId); + if (activeRunId === runId) { + activeRunId = runs[Math.min(index, runs.length - 1)]?.id; + } + render(); }, openSource(source) { vscode.postMessage({ type: "openSource", source }); @@ -35,20 +61,29 @@ function render(): void { /> ); } + +function updateRun(runId: string, update: Partial): void { + runs = runs.map((run) => run.id === runId ? { ...run, ...update } : run); +} + window.addEventListener("message", (event) => { + const runId = typeof event.data?.runId === "string" ? event.data.runId : undefined; if (event.data?.type === "state") { - running = Boolean(event.data.running); revision = event.data.revision; - } else if (event.data?.type === "result") { - running = false; - error = undefined; - result = event.data.result; + } else if (event.data?.type === "result" && runId) { + updateRun(runId, { + status: "success", + output: event.data.output as QueryOutput, + durationMs: Number(event.data.durationMs) + }); + activeRunId = runId; revision = event.data.revision; - } else if (event.data?.type === "error") { - running = false; - result = undefined; - error = String(event.data.message); + } else if (event.data?.type === "error" && runId) { + updateRun(runId, { status: "error", error: String(event.data.message) }); + activeRunId = runId; revision = event.data.revision; + } else if (event.data?.type === "cancelled" && runId) { + updateRun(runId, { status: "cancelled" }); } else { return; } diff --git a/packages/compass-viewer/src/query/QueryWorkspace.test.tsx b/packages/compass-viewer/src/query/QueryWorkspace.test.tsx new file mode 100644 index 00000000..1db95d0a --- /dev/null +++ b/packages/compass-viewer/src/query/QueryWorkspace.test.tsx @@ -0,0 +1,130 @@ +import { flushSync } from "react-dom"; +import { createRoot } from "react-dom/client"; +import { beforeAll, describe, expect, it, vi } from "vitest"; +import type { CodeQueryResponse } from "../contracts/codeQuery"; +import { QueryWorkspace, type QueryHost, type QueryRun } from "./QueryWorkspace"; + +beforeAll(() => { + vi.stubGlobal("navigator", { platform: "MacIntel" }); +}); + +function host(): QueryHost { + return { + execute: vi.fn(), + cancel: vi.fn(), + selectRun: vi.fn(), + closeRun: vi.fn(), + openSource: vi.fn(), + openGraph: vi.fn() + }; +} + +function typedAnswer(): CodeQueryResponse { + return { + schema: "compass.query/1", + operation: "search", + results: [{ nodeId: "checkout", score: 1, matchedFields: ["qualifiedName"] }], + nodes: [{ + id: "checkout", + kind: "function", + roles: [], + name: "checkout", + qualifiedName: "crate::checkout", + language: "rust", + framework: null, + source: { + file: "src/checkout.rs", + startByte: 0, + endByte: 8, + startLine: 12, + startColumn: 1, + endLine: 12, + endColumn: 9 + }, + details: null, + evidence: [] + }], + edges: [], + files: [], + paths: [], + diagnostics: [], + limits: { + maxDepth: 8, + maxNodes: 500, + maxEdges: 1000, + maxPaths: 100, + maxCandidates: 20, + maxSourceBytes: 1048576, + maxResponseBytes: 8388608 + }, + truncated: false + }; +} + +describe("QueryWorkspace", () => { + it("presents Ask, Explain, and CompassQL as distinct command modes", () => { + const container = document.createElement("div"); + const root = createRoot(container); + flushSync(() => root.render( + + )); + + expect(Array.from(container.querySelectorAll('[aria-label="Query command"] [role="tab"]')) + .map((tab) => tab.textContent)).toEqual(expect.arrayContaining([ + expect.stringContaining("Ask"), + expect.stringContaining("Explain"), + expect.stringContaining("CompassQL") + ])); + root.unmount(); + }); + + it("keeps command outputs in separate selectable result tabs", () => { + const queryHost = host(); + const runs: QueryRun[] = [{ + id: "ask-1", + request: { + command: "ask", + query: "where is checkout?", + params: {}, + timeoutMs: 5000, + maxRows: 1000 + }, + status: "success", + durationMs: 18, + output: { kind: "code-query", value: typedAnswer() } + }, { + id: "explain-1", + request: { + command: "explain", + query: "crate::checkout", + params: {}, + timeoutMs: 5000, + maxRows: 1000 + }, + status: "success", + durationMs: 9, + output: { + kind: "explanation", + text: "Node: checkout\n ID: checkout\n Source: src/checkout.rs L12\n Type: function\n Community: Checkout\n Degree: 0" + } + }]; + const container = document.createElement("div"); + const root = createRoot(container); + flushSync(() => root.render( + + )); + + const resultTabs = Array.from( + container.querySelectorAll('[aria-label="Query results"] [role="tab"]') + ); + expect(resultTabs).toHaveLength(2); + expect(container.textContent).toContain("crate::checkout"); + flushSync(() => resultTabs[1]?.click()); + expect(queryHost.selectRun).toHaveBeenCalledWith("explain-1"); + root.unmount(); + }); +}); diff --git a/packages/compass-viewer/src/query/QueryWorkspace.tsx b/packages/compass-viewer/src/query/QueryWorkspace.tsx index 0caf4186..59dafed0 100644 --- a/packages/compass-viewer/src/query/QueryWorkspace.tsx +++ b/packages/compass-viewer/src/query/QueryWorkspace.tsx @@ -1,83 +1,119 @@ import { useMemo, useRef, useState } from "react"; import { + AlertTriangleIcon, + ArrowLeftIcon, + ArrowRightIcon, BracesIcon, Clock3Icon, FileCode2Icon, NetworkIcon, PlayIcon, SearchIcon, - SquareIcon + SquareIcon, + XIcon } from "lucide-react"; +import type { CodeQueryResponse } from "../contracts/codeQuery"; import type { SourceLocation } from "../contracts/graph"; import { WorkspaceState } from "../components/workbench/WorkspaceState"; -import { - normalizeStructuredResult, - parseNaturalQueryResult, - type NaturalQueryResult -} from "./state"; +import { normalizeStructuredResult, parseExplanationResult } from "./state"; -export type QueryMode = "natural" | "cql"; -export type QueryRequest = { - mode: QueryMode; +export type QueryCommand = "ask" | "explain" | "cql"; +export type QuerySubmission = { + command: QueryCommand; query: string; params: Record; timeoutMs: number; maxRows: number; }; -export type QueryResult = { - mode: QueryMode; - text?: string; - json?: unknown; - durationMs: number; +export type QueryOutput = + | { kind: "code-query"; value: CodeQueryResponse } + | { kind: "explanation"; text: string } + | { kind: "rows"; value: unknown }; +export type QueryRun = { + id: string; + request: QuerySubmission; + status: "running" | "success" | "error" | "cancelled"; + durationMs?: number | undefined; + output?: QueryOutput | undefined; + error?: string | undefined; }; export type QueryHost = { - execute(request: QueryRequest): void; - cancel(): void; + execute(request: QuerySubmission): void; + cancel(runId: string): void; + selectRun(runId: string): void; + closeRun(runId: string): void; openSource(source: SourceLocation): void; openGraph(): void; }; -const NATURAL_EXAMPLES = [ - "How does authentication reach storage?", - "Which modules depend on the query engine?", - "Where are errors converted into API responses?" -]; +const COMMANDS: Array<{ + id: QueryCommand; + label: string; + description: string; + placeholder: string; +}> = [{ + id: "ask", + label: "Ask", + description: "Route a question to the typed graph", + placeholder: "Who calls PaymentService.charge?" +}, { + id: "explain", + label: "Explain", + description: "Inspect one symbol and its relationships", + placeholder: "crate::PaymentService::charge" +}, { + id: "cql", + label: "CompassQL", + description: "Run a precise, repeatable graph query", + placeholder: "MATCH (n) RETURN n LIMIT 20" +}]; + +const EXAMPLES: Record = { + ask: [ + "Who calls PaymentService.charge?", + "What depends on the query engine?", + "Path from request authentication to storage" + ], + explain: [ + "PaymentService", + "crate::Parser::parse", + "CheckoutController.create" + ], + cql: [ + "MATCH (n) RETURN n LIMIT 20", + "MATCH (a)-[r:CALLS]->(b) RETURN a, r, b LIMIT 20" + ] +}; export function QueryWorkspace({ - result, - running, - error, + runs, + activeRunId, revision, host }: { - result?: QueryResult | undefined; - running: boolean; - error?: string | undefined; + runs: QueryRun[]; + activeRunId?: string | undefined; revision?: string | undefined; host: QueryHost; }) { const editorRef = useRef(null); - const [mode, setMode] = useState("natural"); - const [query, setQuery] = useState(""); + const [command, setCommand] = useState("ask"); + const [drafts, setDrafts] = useState>({ + ask: "", + explain: "", + cql: "" + }); const [params, setParams] = useState(""); - const [history, setHistory] = useState([]); const parsedParams = useMemo(() => parseParams(params), [params]); - const structured = useMemo( - () => result?.json === undefined ? undefined : normalizeStructuredResult(result.json), - [result?.json] - ); - const naturalResult = useMemo( - () => result?.text === undefined ? undefined : parseNaturalQueryResult(result.text), - [result?.text] - ); + const activeRun = runs.find((run) => run.id === activeRunId) ?? runs.at(-1); + const runningRun = runs.find((run) => run.status === "running"); + const selectedCommand = COMMANDS.find((candidate) => candidate.id === command)!; + const query = drafts[command]; const execute = () => { const trimmed = query.trim(); - if (!trimmed || running) return; - setHistory((current) => - [trimmed, ...current.filter((item) => item !== trimmed)].slice(0, 20) - ); + if (!trimmed || runningRun) return; host.execute({ - mode, + command, query: trimmed, params: parsedParams, timeoutMs: 5000, @@ -96,272 +132,401 @@ export function QueryWorkspace({

Query the codebase

-
- - +
+ {COMMANDS.map((candidate) => { + const Icon = candidate.id === "cql" ? BracesIcon + : candidate.id === "explain" ? FileCode2Icon : SearchIcon; + return ( + + ); + })}
-
-
-
-