*,:before,:after{box-sizing:border-box;margin:0;padding:0}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}a{color:inherit;text-decoration:none}img,svg,video,canvas{max-width:100%;display:block}table{border-collapse:collapse}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}:root{--cc-bg-app:oklch(15.1% .011 276.2);--cc-bg-chrome:oklch(16.2% .015 278.3);--cc-bg-sidebar:oklch(18.1% .019 279.4);--cc-bg-modal:var(--cc-bg-sidebar);--cc-bg-backdrop:color-mix(in oklch, var(--cc-black) 55%, transparent);--cc-bg-base:var(--cc-bg-app);--cc-border-subtle:oklch(24.9% .03 278.4);--cc-border-input:oklch(28.1% .03 276.1);--cc-border-tooltip:oklch(32% .058 274.6);--cc-track:oklch(23% .023 277);--cc-track-hover:oklch(35.5% .042 276.7);--cc-badge-commit-bg:oklch(35.5% .042 276.7);--cc-text-strong:oklch(92.1% .023 279.4);--cc-text-primary:oklch(82.3% .029 279.4);--cc-text-secondary:oklch(65.5% .034 279.4);--cc-text-muted:oklch(59.6% .04 279.4);--cc-text-faint:oklch(40.7% .046 279.4);--cc-text-inverse:oklch(14.8% .013 284.7);--cc-text-base:var(--cc-text-primary);--cc-accent:oklch(69.7% .16 295);--cc-accent-light:oklch(80.6% .097 297);--cc-accent-dark:oklch(58.8% .196 300);--cc-accent-bg-soft:color-mix(in oklch, var(--cc-accent) 10%, transparent);--cc-accent-bg:color-mix(in oklch, var(--cc-accent) 18%, transparent);--cc-accent-bg-strong:color-mix(in oklch, var(--cc-accent) 30%, transparent);--cc-accent-border:color-mix(in oklch, var(--cc-accent) 45%, transparent);--cc-accent-light-border:color-mix(in oklch, var(--cc-accent-light) 45%, transparent);--cc-gem-lime:#bfff33;--cc-gem-cyan:#26e5ff;--cc-gem-purple:#9940ff;--cc-gem-magenta:#ff338c;--cc-layer-buildings:#7aa2f7;--cc-layer-media:#d98fd0;--cc-layer-data:#bb9af7;--cc-layer-streets:#4fb8c9;--cc-layer-forest:#84c98a;--cc-layer-fireflies:#efc560;--cc-success:oklch(80% .182 151.7);--cc-success-dark:oklch(68.1% .123 157.3);--cc-success-bg:color-mix(in oklch, var(--cc-success) 10%, transparent);--cc-warning:oklch(83.7% .164 84.4);--cc-error:oklch(63.7% .208 25.3);--cc-error-light:oklch(84.3% .088 25.3);--cc-error-bg:color-mix(in oklch, var(--cc-error) 18%, transparent);--cc-error-border:color-mix(in oklch, var(--cc-error) 45%, transparent);--cc-overlay-bg-soft:color-mix(in oklch, var(--cc-white) 4%, transparent);--cc-overlay-bg:color-mix(in oklch, var(--cc-white) 6%, transparent);--cc-overlay-bg-strong:color-mix(in oklch, var(--cc-white) 10%, transparent);--cc-overlay-border:color-mix(in oklch, var(--cc-white) 18%, transparent);--cc-glass-fill:color-mix(in oklch, var(--cc-bg-modal) 90%, transparent);--cc-glass-blur:12px;--cc-black:oklch(0% 0 0);--cc-white:oklch(100% 0 0);--cc-syntax-keyword:oklch(72.2% .177 305.5);--cc-syntax-string:oklch(87.1% .136 154.4);--cc-syntax-builtin:oklch(75.4% .139 232.7);--cc-syntax-variable:oklch(81% .106 11.6);--cc-syntax-comment:oklch(49.6% .038 273.5);--cc-syntax-deletion:oklch(80.8% .103 19.6);--cc-syntax-string-bg:color-mix(in oklch, var(--cc-syntax-string) 8%, transparent);--cc-syntax-deletion-bg:color-mix(in oklch, var(--cc-syntax-deletion) 8%, transparent);--cc-space-0:0;--cc-space-px:1px;--cc-space-1:2px;--cc-space-2:4px;--cc-space-3:6px;--cc-space-4:8px;--cc-space-5:10px;--cc-space-6:12px;--cc-space-7:16px;--cc-space-8:24px;--cc-space-9:32px;--cc-pane-inset:var(--cc-space-6);--cc-toggle-size:20px;--cc-chrome-h:44px;--cc-chrome-item-h:var(--cc-tap-min);--cc-tap-min:32px;--cc-row-min-h:var(--cc-tap-min);--cc-icon-bearing:calc((var(--cc-tap-min) - var(--cc-font-md)) / 2);--cc-chrome-inset:calc((var(--cc-chrome-h) - var(--cc-chrome-item-h) - 2px) / 2);--cc-node-icon:16px;--cc-rail-w:44px;--cc-sidebar-w:clamp(320px, 40vw, 600px);--cc-radius-0:0;--cc-radius-sm:4px;--cc-radius-md:6px;--cc-radius-lg:10px;--cc-radius-pill:100px;--cc-radius-circle:50%;--cc-font-2xs:10px;--cc-font-xs:11px;--cc-font-sm:12px;--cc-font-md:14px;--cc-font-lg:18px;--cc-font-xl:22px;--cc-font-2xl:28px;--cc-fw-normal:400;--cc-fw-medium:500;--cc-fw-semibold:600;--cc-fw-bold:700;--cc-font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;--cc-font-mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, "Liberation Mono", monospace;--cc-track-label:.08em;--cc-lh-tight:1.25;--cc-lh-base:1.5;--cc-lh-relaxed:1.6;--cc-t-fast:.1s;--cc-t-base:.15s;--cc-shadow-sm:0 1px 3px oklch(0% 0 0/.4);--cc-shadow-md:0 2px 10px oklch(0% 0 0/.4);--cc-shadow-lg:0 10px 40px oklch(0% 0 0/.6);--cc-shadow-sheet:0 -4px 24px oklch(0% 0 0/.6);--cc-glow-accent:0 0 6px color-mix(in oklch, var(--cc-accent) 35%, transparent)}@media (hover:none) and (pointer:coarse){:root{--cc-row-min-h:44px}}@supports (color:oklch(from white l c h)){:root{--cc-text-strong:oklch(from var(--cc-bg-sidebar) .921 calc(c * 1.2) h);--cc-text-primary:oklch(from var(--cc-bg-sidebar) .823 calc(c * 1.5) h);--cc-text-secondary:oklch(from var(--cc-bg-sidebar) .655 calc(c * 1.8) h);--cc-text-muted:oklch(from var(--cc-bg-sidebar) .596 calc(c * 2.1) h);--cc-text-faint:oklch(from var(--cc-bg-sidebar) .407 calc(c * 2.4) h);--cc-border-subtle:oklch(from var(--cc-bg-sidebar) calc(l + .068) calc(c * 1.58) h);--cc-border-input:oklch(from var(--cc-bg-sidebar) calc(l + .1) calc(c * 1.58) h);--cc-border-tooltip:oklch(from var(--cc-bg-sidebar) calc(l + .139) calc(c * 3.05) h);--cc-track:oklch(from var(--cc-bg-sidebar) calc(l + .049) calc(c * 1.21) h);--cc-track-hover:oklch(from var(--cc-bg-sidebar) calc(l + .174) calc(c * 2.21) h);--cc-badge-commit-bg:oklch(from var(--cc-bg-sidebar) calc(l + .174) calc(c * 2.21) h)}}[data-cc-accent=blue]{--cc-accent:oklch(69.7% .16 258.2);--cc-accent-light:oklch(80.6% .097 260);--cc-accent-dark:oklch(58.8% .196 268.5)}[data-cc-accent=cyan]{--cc-accent:oklch(69.7% .16 200);--cc-accent-light:oklch(80.6% .097 202);--cc-accent-dark:oklch(58.8% .196 205)}[data-cc-accent=purple]{--cc-accent:oklch(69.7% .16 295);--cc-accent-light:oklch(80.6% .097 297);--cc-accent-dark:oklch(58.8% .196 300)}[data-cc-accent=green]{--cc-accent:oklch(72% .15 150);--cc-accent-light:oklch(82% .1 152);--cc-accent-dark:oklch(60% .17 155)}[data-cc-accent=pink]{--cc-accent:oklch(70% .17 350);--cc-accent-light:oklch(81% .1 352);--cc-accent-dark:oklch(59% .2 355)}[data-cc-accent=amber]{--cc-accent:oklch(78% .15 85);--cc-accent-light:oklch(86% .1 88);--cc-accent-dark:oklch(66% .15 80)}[data-cc-surface=cool]{--cc-bg-app:oklch(15.1% .011 276.2);--cc-bg-chrome:oklch(16.2% .015 278.3);--cc-bg-sidebar:oklch(18.1% .019 279.4)}[data-cc-surface=neutral]{--cc-bg-app:oklch(15.1% .002 277);--cc-bg-chrome:oklch(16.2% .003 277);--cc-bg-sidebar:oklch(18.1% .004 277)}[data-cc-surface=green]{--cc-bg-app:oklch(15.1% .012 155);--cc-bg-chrome:oklch(16.2% .016 155);--cc-bg-sidebar:oklch(18.1% .02 155)}[data-cc-surface=warm]{--cc-bg-app:oklch(15.1% .012 55);--cc-bg-chrome:oklch(16.2% .016 55);--cc-bg-sidebar:oklch(18.1% .02 55)}.text-strong{color:var(--cc-text-strong)}.text-primary{color:var(--cc-text-primary)}.text-secondary{color:var(--cc-text-secondary)}.text-muted{color:var(--cc-text-muted)}.text-faint{color:var(--cc-text-faint)}.text-inverse{color:var(--cc-text-inverse)}.text-accent{color:var(--cc-accent)}.text-success{color:var(--cc-success)}.text-warning{color:var(--cc-warning)}.text-error{color:var(--cc-error)}.text-mono{font-family:var(--cc-font-mono)}.link,.info-markdown a{color:var(--cc-accent-light);text-underline-offset:2px;text-decoration:underline;-webkit-text-decoration-color:var(--cc-accent-light-border);text-decoration-color:var(--cc-accent-light-border)}.link:hover,.info-markdown a:hover{-webkit-text-decoration-color:var(--cc-accent-light);text-decoration-color:var(--cc-accent-light)}.link--chrome{color:var(--cc-accent-light);text-decoration:none}.link--chrome:hover,.link--chrome:focus-visible{text-decoration:underline}.text-truncate{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.text-label{font-size:var(--cc-font-2xs);font-weight:var(--cc-fw-bold);letter-spacing:var(--cc-track-label);text-transform:uppercase;color:var(--cc-text-secondary)}.text-pane-title{font-size:var(--cc-font-sm);font-weight:var(--cc-fw-semibold);color:var(--cc-text-strong)}.text-card-title{font-size:var(--cc-font-lg);font-weight:var(--cc-fw-semibold);color:var(--cc-text-strong)}.text-card-sub{font-size:var(--cc-font-xs);color:var(--cc-text-secondary)}.dot{border-radius:var(--cc-radius-circle);flex:none;width:6px;height:6px;display:inline-block}.dot--success{background:var(--cc-success)}.dot--warning{background:var(--cc-warning)}.dot--error{background:var(--cc-error)}.code-inline{background:var(--cc-accent-bg-soft);border-radius:var(--cc-radius-sm);font-family:var(--cc-font-mono);padding:var(--cc-space-px) var(--cc-space-3);display:inline-block}.row{align-items:center;gap:var(--cc-space-2);min-height:var(--cc-row-min-h);padding:var(--cc-space-2) var(--cc-pane-inset);border-radius:var(--cc-radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--cc-t-fast);display:flex}.row:hover{background:var(--cc-overlay-bg-soft)}.row--tight{gap:var(--cc-space-1)}.row--bleed{margin-left:calc(-1 * var(--cc-pane-inset));margin-right:calc(-1 * var(--cc-pane-inset));margin-bottom:var(--cc-space-2)}.row--selected,.row--selected:hover{background:var(--cc-accent-bg-soft)}.surface-app{background:var(--cc-bg-app)}.surface-chrome{background:var(--cc-bg-chrome)}.surface-sidebar{background:var(--cc-bg-sidebar)}.surface-glass{background:var(--cc-glass-fill);-webkit-backdrop-filter:blur(var(--cc-glass-blur))}.form-input{background-color:var(--cc-bg-chrome);border:1px solid var(--cc-border-input);border-radius:var(--cc-radius-sm);color:var(--cc-text-strong);font:inherit;font-size:var(--cc-font-md);padding:var(--cc-space-2) var(--cc-space-4);outline:none}.form-input::placeholder{color:var(--cc-text-muted)}.form-input:focus{border-color:var(--cc-accent-border)}.form-input--error{border-color:var(--cc-error-border)}.form-input--error:focus{border-color:var(--cc-error)}.form-input--mono{width:70px;font-family:var(--cc-font-mono);font-size:var(--cc-font-xs);padding:var(--cc-space-1) var(--cc-space-3);text-align:right}.form-input--select{appearance:none;min-width:0;max-width:100%;padding-right:var(--cc-space-8);cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237279a2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right var(--cc-space-3) center;background-size:14px 14px}.btn-primary{appearance:none;background:var(--cc-accent);color:var(--cc-text-inverse);padding:var(--cc-space-4) var(--cc-space-7);border-radius:var(--cc-radius-md);cursor:pointer;font:inherit;font-weight:var(--cc-fw-semibold);transition:background var(--cc-t-base);border:0;justify-content:center;align-items:center;display:inline-flex}.btn-primary:hover:not(:disabled){background:var(--cc-accent-light)}.btn-primary:disabled{opacity:.5;cursor:default}.btn-icon{appearance:none;width:var(--cc-tap-min);height:var(--cc-tap-min);color:var(--cc-text-strong);border-radius:var(--cc-radius-sm);font-size:var(--cc-font-md);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;display:inline-flex}.btn-icon>svg{display:block}.btn-icon:not(:disabled):hover,.btn-icon:not(:disabled):focus-visible{color:var(--cc-accent);background:var(--cc-accent-bg-soft)}.btn-icon:not(:disabled):active{background:var(--cc-accent-bg)}.btn-icon:disabled{cursor:default}.btn-icon--inert{opacity:.55;cursor:not-allowed}.btn-icon--inert:hover{color:var(--cc-text-strong);background:0 0}.btn-icon.is-active{color:var(--cc-accent);background:var(--cc-accent-bg-soft)}.btn-icon--sm{font-size:var(--cc-font-sm)}.btn-icon--lg{border-radius:var(--cc-radius-md);font-size:var(--cc-font-lg);color:inherit}.btn-icon--text{width:auto;height:auto;min-height:var(--cc-tap-min);padding:var(--cc-space-px) var(--cc-space-2);font:inherit;color:var(--cc-text-strong)}.btn-icon--text:not(.is-leaf):hover{text-decoration:underline}.btn-icon--link{text-decoration:none}.btn-secondary{appearance:none;background:var(--cc-overlay-bg-soft);border:1px solid var(--cc-overlay-bg-strong);border-radius:var(--cc-radius-md);color:var(--cc-text-strong);padding:var(--cc-space-4) var(--cc-space-7);cursor:pointer;font:inherit;font-weight:var(--cc-fw-medium);transition:color var(--cc-t-base), background var(--cc-t-base), border-color var(--cc-t-base);justify-content:center;align-items:center;display:inline-flex}.btn-secondary:hover:not(:disabled){background:var(--cc-overlay-bg-strong);border-color:var(--cc-overlay-border);color:var(--cc-text-strong)}.btn-secondary:active:not(:disabled){background:var(--cc-overlay-border)}.btn-secondary:disabled{opacity:.4;cursor:not-allowed}.btn-toggle{appearance:none;color:var(--cc-accent-light);cursor:pointer;font-family:inherit;font-size:var(--cc-font-sm);font-weight:var(--cc-fw-medium);padding:var(--cc-space-2) var(--cc-space-5);border-radius:var(--cc-radius-sm);transition:color var(--cc-t-base), background var(--cc-t-base);background:0 0;border:none}.btn-toggle:hover{color:var(--cc-accent)}.btn-toggle.is-active{background:var(--cc-accent-bg);color:var(--cc-text-strong)}.btn-toggle--separated{border-right:1px solid var(--cc-track);font-size:var(--cc-font-2xs);padding:var(--cc-space-2) var(--cc-space-4)}.btn-toggle--separated:last-child{border-right:none}.btn-toggle--separated:hover{background:var(--cc-overlay-bg-soft)}.chevron{width:14px;height:14px;color:var(--cc-text-primary);transition:transform var(--cc-t-fast) ease;flex-shrink:0}.empty-state{justify-content:center;align-items:center;gap:var(--cc-space-4);padding:var(--cc-space-8) var(--cc-pane-inset);color:var(--cc-text-muted);text-align:center;flex-direction:column;flex:auto;display:flex}.empty-state .icon{color:var(--cc-text-faint);font-size:var(--cc-font-xl);margin-bottom:var(--cc-space-1)}.empty-state--lg .icon{font-size:var(--cc-font-2xl);margin-bottom:var(--cc-space-2)}.empty-state--lg{padding:var(--cc-space-9) var(--cc-pane-inset)}.empty-state .text-card-title{margin:var(--cc-space-0)}.empty-state .text-card-sub{margin:var(--cc-space-0);max-width:240px;line-height:var(--cc-lh-base)}.empty-state--lg .text-card-sub{max-width:280px}.empty-state--absent .icon{color:var(--cc-error)}.empty-state--absent .text-card-title{color:var(--cc-error-light)}.icon{vertical-align:-.15em;width:1em;height:1em;display:inline-block}:focus-visible{outline:2px solid var(--cc-accent);outline-offset:2px}.focus-inset:focus-visible{outline-offset:-2px}.sr-only{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{top:var(--cc-space-2);left:var(--cc-space-2);z-index:2000;padding:var(--cc-space-3) var(--cc-space-5);background:var(--cc-bg-sidebar);color:var(--cc-text-strong);border:1px solid var(--cc-border-input);border-radius:var(--cc-radius-sm);font-size:var(--cc-font-sm);transition:transform var(--cc-t-base);position:fixed;transform:translateY(-200%)}.skip-link:focus-visible{transform:translateY(0)}html,body{overscroll-behavior:none;background:var(--cc-bg-app);width:100%;height:100dvh;color:var(--cc-text-strong);font-family:var(--cc-font-sans);font-size:var(--cc-font-md);line-height:var(--cc-lh-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}#app{flex-direction:column;align-items:stretch;height:100%;display:flex}.landing{overscroll-behavior:contain;height:100%;position:relative;overflow-y:auto}.landing-stage{z-index:0;pointer-events:none;background-image:url(../hero-city.webp);background-position:50%;background-size:cover;position:fixed;inset:0}.landing-stage .city-canvas{opacity:0;transition:opacity .6s ease-out}.landing-stage.is-painted .city-canvas{opacity:1}@media (prefers-reduced-motion:reduce){.landing-stage .city-canvas{transition:none}}.landing:after{content:"";z-index:0;pointer-events:none;background:linear-gradient(100deg, color-mix(in oklch, var(--cc-bg-app) 96%, transparent) 0%, color-mix(in oklch, var(--cc-bg-app) 92%, transparent) 30%, color-mix(in oklch, var(--cc-bg-app) 60%, transparent) 52%, transparent 72%);position:fixed;inset:0}@media (width<=900px){.landing:after{background:linear-gradient(180deg, color-mix(in oklch, var(--cc-bg-app) 97%, transparent) 0%, color-mix(in oklch, var(--cc-bg-app) 94%, transparent) 55%, color-mix(in oklch, var(--cc-bg-app) 62%, transparent) 82%, color-mix(in oklch, var(--cc-bg-app) 40%, transparent) 100%)}}.landing-inner{z-index:1;box-sizing:border-box;max-width:1040px;min-height:100%;padding:var(--cc-space-9) var(--cc-space-7);align-items:center;gap:var(--cc-space-9);grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin:0 auto;display:grid;position:relative}.landing-hero{gap:var(--cc-space-6);flex-direction:column;display:flex}.landing-brand{align-items:center;gap:var(--cc-space-7);color:inherit;border-radius:var(--cc-radius-md);text-decoration:none;display:flex}.landing-brand:hover .landing-wordmark,.landing-brand:focus-visible .landing-wordmark{color:var(--cc-accent-light)}.landing-brand:hover .landing-gem{filter:drop-shadow(0 0 20px color-mix(in oklch, var(--cc-gem-cyan) 70%, transparent))}.landing-identity{gap:var(--cc-space-3);flex-direction:column;min-width:0;display:flex}.landing-identity>.meta-line{font-family:var(--cc-font-mono);font-size:var(--cc-font-sm);color:var(--cc-text-secondary)}.landing-gem{width:48px;height:48px;filter:drop-shadow(0 0 16px color-mix(in oklch, var(--cc-gem-cyan) 40%, transparent));transition:filter var(--cc-t-base);animation:6s ease-in-out infinite landing-gem-float;display:inline-flex}.landing-gem .gem-icon{width:48px;height:48px}@keyframes landing-gem-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@media (prefers-reduced-motion:reduce){.landing-gem{animation:none}}.landing-wordmark{font-size:var(--cc-font-2xl);font-weight:var(--cc-fw-bold);color:var(--cc-text-strong);transition:color var(--cc-t-base);margin:0}.landing-tagline{font-size:var(--cc-font-lg);color:var(--cc-text-primary);margin:0}.landing-delights{margin:var(--cc-space-2) 0 0;gap:var(--cc-space-4);flex-direction:column;padding:0;list-style:none;display:flex}.landing-delight{align-items:center;gap:var(--cc-space-4);color:var(--cc-text-secondary);font-size:var(--cc-font-md);display:flex}.landing-delight strong{color:var(--cc-text-strong);font-weight:var(--cc-fw-semibold)}.landing-delight>svg{font-size:var(--cc-font-lg);flex:none;width:1em;height:1em}.landing-delight--streets>svg{color:var(--cc-layer-streets)}.landing-delight--buildings>svg{color:var(--cc-layer-buildings)}.landing-delight--trees>svg{color:var(--cc-layer-forest)}.landing-delight--authors>svg{color:var(--cc-layer-fireflies)}.landing-featured{font-size:var(--cc-font-sm);color:var(--cc-text-secondary);margin:0}.landing-featured strong{color:var(--cc-text-strong);font-weight:var(--cc-fw-medium)}.landing-actions{align-self:center;gap:var(--cc-space-6);min-width:0;min-height:0;max-height:calc(100dvh - 2 * var(--cc-space-9));flex-direction:column;display:flex}.landing-card:has([role=menu]){z-index:1;position:relative}.landing-card{gap:var(--cc-space-4);min-width:0;padding:var(--cc-space-7);border:1px solid var(--cc-border-subtle);border-radius:var(--cc-radius-lg);flex-direction:column;display:flex}.landing-actions>.landing-card:not(.landing-card--sources){flex:none}.landing-card--sources{flex:auto;min-height:0}.landing-card-title{font-size:var(--cc-font-lg);font-weight:var(--cc-fw-semibold);color:var(--cc-text-strong);margin:0}.landing-tabs{padding-top:0}.landing-card--sources{gap:var(--cc-space-2)}.landing-tabpanel{flex-direction:column;flex:auto;min-height:0;display:flex}.landing-progress{align-items:center;gap:var(--cc-space-6);padding:var(--cc-space-7) 0;flex-direction:column;display:flex}@media (width<=900px){.landing-inner{align-content:safe center;align-items:start;gap:calc(var(--cc-space-9) * 1.5);padding:calc(var(--cc-space-9) * 2) var(--cc-space-7) var(--cc-space-9);grid-template-columns:1fr}.landing-hero{padding-inline:var(--cc-space-7)}.landing-actions{align-self:stretch;max-height:none}.landing-card--sources{flex:none}}@media (width<=640px){.landing-inner{padding:calc(var(--cc-space-9) * 2) var(--cc-space-6) var(--cc-space-8)}.landing-hero{gap:var(--cc-space-5);padding-inline:0}.landing-card{padding:var(--cc-space-6)}.landing-brand{gap:var(--cc-space-5)}.landing-gem,.landing-gem .gem-icon{width:36px;height:36px}.landing-wordmark{font-size:var(--cc-font-xl)}.landing-tagline{font-size:var(--cc-font-md)}.landing-delight{font-size:var(--cc-font-sm);align-items:flex-start}}.city-canvas{width:100%;height:100%;display:block}.city-canvas--scene{background:var(--cc-bg-app)}.card-tooltip{border:1px solid var(--cc-border-tooltip);border-radius:var(--cc-radius-sm);padding:var(--cc-space-3) var(--cc-space-4);box-shadow:var(--cc-shadow-md);max-width:340px}.tooltip-title,.tooltip-path,.tooltip-stats{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tooltip-title{color:var(--cc-text-strong);font-weight:var(--cc-fw-semibold)}.tooltip-path{color:var(--cc-text-muted);font-family:var(--cc-font-mono);font-size:var(--cc-font-2xs)}.tooltip-stats{color:var(--cc-text-secondary);font-size:var(--cc-font-xs)}.tooltip-deleted{color:var(--cc-error-light);font-weight:var(--cc-fw-semibold)}.gem-icon{vertical-align:-.15em;width:1em;height:1em;display:inline-block}.meta-line{align-items:center;gap:var(--cc-space-3);flex-wrap:wrap;min-width:0;display:inline-flex}.meta-version,.meta-credit{white-space:nowrap}.meta-link{text-decoration:none}.meta-link:hover,.meta-link:focus-visible{color:var(--cc-text-strong);text-decoration:underline}.meta-sep{color:var(--cc-text-faint);pointer-events:none;flex:none}.new-project{gap:var(--cc-space-6);flex-direction:column;display:flex}.new-project-field{gap:var(--cc-space-3);flex-direction:column;display:flex}.new-project-label-row{justify-content:space-between;align-items:baseline;gap:var(--cc-space-2) var(--cc-space-4);flex-wrap:wrap;display:flex}.new-project-field label{font-size:var(--cc-font-sm);color:var(--cc-text-secondary)}.new-project-hosts{font-size:var(--cc-font-xs);color:var(--cc-text-muted)}.new-project-field .form-input{width:100%}.new-project-error{font-size:var(--cc-font-xs);color:var(--cc-error-light);margin:0}.new-project-open{align-self:stretch}.new-project-open .split-button-primary{flex:auto}.branch-select{gap:var(--cc-space-3);flex-direction:column;display:flex}.branch-select>label{font-size:var(--cc-font-sm);color:var(--cc-text-secondary)}.branch-select .form-input{width:100%}.branch-select-status{align-items:center;gap:var(--cc-space-3);font-size:var(--cc-font-sm);color:var(--cc-text-secondary);display:flex}.branch-select-spinner{animation:.8s linear infinite branch-select-spin}@keyframes branch-select-spin{to{transform:rotate(360deg)}}.split-button{display:inline-flex;position:relative}.split-button-primary{align-items:center;gap:var(--cc-space-2);border-top-right-radius:0;border-bottom-right-radius:0;display:inline-flex}.split-button-caret{border-left:1px solid color-mix(in oklch, var(--cc-black) 28%, transparent);padding-inline:var(--cc-space-4);border-top-left-radius:0;border-bottom-left-radius:0}.split-button-caret .icon{font-size:var(--cc-font-md)}.split-button-menu{top:calc(100% + var(--cc-space-2));width:max-content;padding:var(--cc-space-2);border:1px solid var(--cc-border-input);border-radius:var(--cc-radius-md);box-shadow:var(--cc-shadow-lg);flex-direction:column;display:flex;position:absolute;right:0}.split-button-item{column-gap:var(--cc-space-3);row-gap:var(--cc-space-1);text-align:left;min-height:var(--cc-tap-min);padding:var(--cc-space-3) var(--cc-space-4);border-radius:var(--cc-radius-sm);color:var(--cc-text-strong);font:inherit;cursor:pointer;transition:background var(--cc-t-base);background:0 0;border:0;grid-template-columns:auto minmax(0,1fr);display:grid}.split-button-item:hover{background:var(--cc-overlay-bg)}.split-button-item-label{font-size:var(--cc-font-sm);font-weight:var(--cc-fw-medium);grid-area:1/2}.split-button-item-icon{grid-area:1/1;align-self:center}.split-button-item-sublabel{font-size:var(--cc-font-xs);color:var(--cc-text-secondary);grid-area:2/2;line-height:1.4}.unreachable{align-items:flex-start;gap:var(--cc-space-3);padding:var(--cc-space-3) var(--cc-space-4);border:1px solid var(--cc-accent-border);border-radius:var(--cc-radius-sm);background:var(--cc-accent-bg-soft);font-size:var(--cc-font-xs);line-height:1.5;display:flex}.unreachable-glyph-slot{flex:none;align-items:center;height:1lh;display:flex}.unreachable-glyph{font-size:var(--cc-font-sm);color:var(--cc-accent)}.unreachable-text{gap:var(--cc-space-2);flex-direction:column;min-width:0;display:flex}.unreachable--error{border-color:var(--cc-error-border);background:var(--cc-error-bg)}.unreachable--error .unreachable-glyph{color:var(--cc-error-light)}.unreachable-preamble{font-weight:var(--cc-fw-medium);color:var(--cc-text-strong);margin:0}.unreachable-remedy{color:var(--cc-text-primary);margin:0}.unreachable-remedy code{font-family:var(--cc-font-mono);font-size:var(--cc-font-xs);color:var(--cc-text-primary)}.unreachable-command{align-items:center;gap:var(--cc-space-3);padding:var(--cc-space-2) var(--cc-space-3);border:1px solid var(--cc-border-subtle);border-radius:var(--cc-radius-sm);background:var(--cc-bg-app);display:flex}.unreachable-command code{white-space:nowrap;min-width:0;font-family:var(--cc-font-mono);font-size:var(--cc-font-xs);color:var(--cc-text-primary);flex:auto;overflow-x:auto}.btn-icon.is-copied{color:var(--cc-success);background:var(--cc-success-bg)}.recents-empty{padding:var(--cc-space-6) var(--cc-space-4);font-size:var(--cc-font-sm);color:var(--cc-text-secondary);margin:0}.source-list-item>.btn-icon[aria-label="Remove from recents"]{padding:var(--cc-space-4) var(--cc-space-2);color:var(--cc-text-muted)}.source-list-item>.btn-icon[aria-label="Remove from recents"]:hover{color:var(--cc-text-strong);background:var(--cc-overlay-bg)}.recent-confirm{justify-content:space-between;align-items:center;gap:var(--cc-space-4);min-width:0;padding:var(--cc-space-3) var(--cc-space-4);border-radius:var(--cc-radius-md);background:var(--cc-overlay-bg);flex:auto;display:flex}.recent-confirm-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--cc-text-primary);overflow:hidden}.recent-confirm-actions{gap:var(--cc-space-2);flex:none;display:flex}.recent-confirm-yes{color:var(--cc-error-light)}.recent-confirm-yes:hover{color:var(--cc-error-light);background:var(--cc-error-bg)}.source-row{appearance:none;text-align:left;min-width:0;color:inherit;font:inherit;gap:var(--cc-space-5);padding:var(--cc-space-3) var(--cc-space-4);border-radius:var(--cc-radius-md);background:0 0;border:none;flex:auto}.source-row:hover{background:var(--cc-overlay-bg)}.source-row-icon{font-size:var(--cc-font-md);flex:none;align-items:center;display:inline-flex}.source-row-body{flex:auto;min-width:0}.source-row-label-row{align-items:center;gap:var(--cc-space-2);min-width:0;display:flex}.source-row-label{font-weight:var(--cc-fw-medium);white-space:nowrap;flex:none}.source-row-label-row .branch-pill{margin-left:0}.source-row-branch{flex:0 auto;min-width:0}.source-row-branch-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.source-row-sub{align-items:center;gap:var(--cc-space-2);font-size:var(--cc-font-xs);color:var(--cc-text-secondary);display:flex}.source-row-src{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.source-row--active,.source-row--active:hover{background:var(--cc-accent-bg-soft)}.source-row--unavailable{opacity:.55;cursor:not-allowed}.source-row-note{padding-left:var(--cc-space-4);font-size:var(--cc-font-2xs);font-weight:var(--cc-fw-semibold);letter-spacing:var(--cc-track-label);text-transform:uppercase;color:var(--cc-text-muted);white-space:nowrap;flex:none;margin-left:auto}.source-row--active .source-row-note{color:var(--cc-text-secondary)}.source-list{gap:var(--cc-space-1);scrollbar-gutter:stable;min-height:0;margin-right:calc(-1 * var(--cc-space-2));padding-right:var(--cc-space-2);flex-direction:column;flex:auto;display:flex;overflow-y:auto}.source-list-item{align-items:center;gap:var(--cc-space-2);display:flex}.branch-pill{height:16px;padding:0 var(--cc-space-3);margin-left:var(--cc-space-3);border-radius:var(--cc-radius-md);background:var(--cc-overlay-bg);color:var(--cc-text-strong);font-size:var(--cc-font-2xs);font-family:var(--cc-font-mono);white-space:nowrap;align-items:center;display:inline-flex}.pane-tabs{padding:var(--cc-space-3) 0 0;border-bottom:1px solid var(--cc-border-subtle);scrollbar-width:none;display:flex;overflow-x:auto}.pane-tabs::-webkit-scrollbar{display:none}.pane-tab{align-items:center;gap:var(--cc-space-3);min-height:var(--cc-tap-min);padding:var(--cc-space-3) var(--cc-space-5) var(--cc-space-4);color:var(--cc-text-strong);font:inherit;font-size:var(--cc-font-sm);cursor:pointer;transition:color var(--cc-t-base), border-color var(--cc-t-base);background:0 0;border:0;border-bottom:2px solid #0000;flex:none;display:inline-flex}.pane-tab:hover{background:var(--cc-overlay-bg-soft)}.pane-tab-badge{min-width:16px;height:16px;padding:0 var(--cc-space-1);border-radius:var(--cc-radius-sm);background:var(--cc-overlay-bg-strong);border:1px solid var(--cc-border-subtle);color:var(--cc-text-strong);font-size:var(--cc-font-2xs);font-weight:var(--cc-fw-medium);flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.pane-tab--active{color:var(--cc-text-strong);border-bottom-color:var(--cc-accent)}.pane-tab .icon{font-size:var(--cc-font-md)}#city-header{z-index:400;position:relative}#city-footer{z-index:300;position:relative}#city-body{flex-direction:row;flex:1 1 0;align-items:stretch;min-height:0;display:flex;position:relative}#city-body:focus-visible{outline:none}#app.cc-capture #city-header,#app.cc-capture #city-sidebar-left,#app.cc-capture #city-sidebar-right,#app.cc-capture #city-footer,#app.cc-capture #scene-controls,#app.cc-capture .selection-chip{display:none}#city-header{align-items:center;gap:var(--cc-space-4);min-width:0;height:var(--cc-chrome-h);padding:0 var(--cc-chrome-inset);border-bottom:1px solid var(--cc-border-subtle);font-family:var(--cc-font-mono);font-size:var(--cc-font-xs);color:var(--cc-text-primary);-webkit-user-select:none;user-select:none;flex:none;display:flex}#city-header .city-header-project{flex:0 auto;min-width:0}.city-header-freshness{margin-left:auto}@media (width<=640px){#city-header{gap:var(--cc-space-3)}}.chrome-cluster{border:1px solid var(--cc-border-input);border-radius:var(--cc-radius-pill);background:var(--cc-bg-sidebar);flex:none;align-items:center;min-width:0;display:flex}.chrome-cluster>:not(.sr-only){appearance:none;justify-content:center;align-items:center;gap:var(--cc-space-2);min-width:0;height:var(--cc-chrome-item-h);padding:0 var(--cc-space-5);color:var(--cc-accent-light);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:0;flex:0 auto;text-decoration:none;display:inline-flex}.chrome-cluster>:not(.sr-only):not(:disabled):hover{color:var(--cc-accent);background:var(--cc-accent-bg-soft)}.chrome-cluster>:not(.sr-only):disabled{cursor:default;opacity:.5}.chrome-cluster>:not(.sr-only)~:not(.sr-only){border-left:1px solid var(--cc-border-input)}.chrome-cluster>:not(.sr-only):first-child{border-start-start-radius:var(--cc-radius-pill);border-end-start-radius:var(--cc-radius-pill)}.chrome-cluster>:not(.sr-only):not(:has(~:not(.sr-only))){border-start-end-radius:var(--cc-radius-pill);border-end-end-radius:var(--cc-radius-pill)}.chrome-cluster>:not(.sr-only)>svg{flex:none;display:block}.chrome-cluster .icon{font-size:var(--cc-font-sm);color:var(--cc-text-strong)}.chrome-cluster .cluster-cue{color:var(--cc-text-secondary);margin-inline-end:-.29em}.chrome-cluster>.is-copied,.chrome-cluster>.is-copied .icon{color:var(--cc-success)}.chrome-cluster>.is-copied{background:var(--cc-success-bg)}.chrome-cluster>:not(:disabled):hover .icon,.chrome-cluster>:not(:disabled):focus-visible,.chrome-cluster>:not(:disabled):focus-visible .icon,.chrome-cluster>:not(:disabled):active,.chrome-cluster>:not(:disabled):active .icon,.chrome-cluster>[aria-expanded=true],.chrome-cluster>[aria-expanded=true] .icon{color:var(--cc-accent)}.chrome-cluster>:not(:disabled):focus-visible,.chrome-cluster>[aria-expanded=true]{background:var(--cc-accent-bg-soft)}.chrome-cluster>:not(:disabled):active{background:var(--cc-accent-bg)}.project-switcher-label{color:var(--cc-text-strong);white-space:nowrap;min-width:0;display:flex}.project-switcher-owner,.project-switcher-name{text-overflow:ellipsis;min-width:0;overflow:hidden}.project-switcher-owner{flex:0 999 auto}.project-switcher .branch-pill{flex:0 100 auto}.project-switcher-name{flex:0 auto}.project-switcher:not(:disabled):hover .project-switcher-label,.project-switcher:not(:disabled):focus-visible .project-switcher-label,.project-switcher:not(:disabled):active .project-switcher-label{color:inherit}.project-switcher .icon{flex:none}.project-switcher .gem-icon{width:var(--cc-font-sm);height:var(--cc-font-sm);margin-right:var(--cc-space-2);flex:none}.project-switcher-kind{flex:none;align-items:center;display:inline-flex}.project-switcher .project-switcher-kind .icon{color:var(--cc-text-secondary)}.project-switcher:not(:disabled):hover .project-switcher-kind .icon{color:inherit}.project-switcher .branch-pill{text-overflow:ellipsis;vertical-align:middle;min-width:0;margin-left:0;line-height:16px;display:inline-block;overflow:hidden}.scan-menu-trigger .freshness-status-detail,.scan-menu-trigger .scan-menu-count{color:var(--cc-text-secondary)}.scan-menu-trigger .scan-menu-count .icon,.scan-menu-trigger:not(:disabled):hover .freshness-status-detail,.scan-menu-trigger:not(:disabled):hover .scan-menu-count{color:inherit}.scan-menu-count{align-items:center;gap:var(--cc-space-1);padding:0 var(--cc-space-2);border-radius:var(--cc-radius-pill);font-variant-numeric:tabular-nums;animation:.6s ease-out scan-menu-count-pulse;display:inline-flex}@keyframes scan-menu-count-pulse{0%{box-shadow:0 0 0 0 var(--cc-accent);background:var(--cc-accent-bg);color:var(--cc-accent-light)}to{box-shadow:0 0 0 var(--cc-space-4) transparent}}@keyframes scan-menu-count-flash{50%{background:var(--cc-accent-bg);color:var(--cc-accent-light)}}@media (prefers-reduced-motion:reduce){.scan-menu-count{animation-name:scan-menu-count-flash}}.popover-panel .scan-menu-action{column-gap:var(--cc-space-3);row-gap:var(--cc-space-1);padding-inline:var(--cc-space-5);text-align:left;grid-template-columns:auto minmax(0,1fr);display:grid}.scan-menu-action-icon{grid-area:1/1;align-self:center}.scan-menu-action-label{grid-area:1/2}.scan-menu-action-note{font-size:var(--cc-font-xs);font-weight:var(--cc-fw-normal);line-height:var(--cc-lh-base);color:var(--cc-text-secondary);grid-area:2/2}.excludes-list{gap:var(--cc-space-1);flex-direction:column;display:flex}.excludes-row{align-items:center;gap:var(--cc-space-2);padding:var(--cc-space-2) var(--popover-inset);font-size:var(--cc-font-xs);display:flex}.excludes-path{white-space:nowrap;flex:auto;align-items:center;min-width:0;display:flex;overflow:hidden}.excludes-seg{flex:none}.excludes-sep,.excludes-ellipsis{color:var(--cc-text-muted);flex:none}.excludes-ellipsis{padding-inline:var(--cc-space-1)}.popover-panel{--popover-inset:var(--cc-space-6);z-index:300;width:max-content;min-width:20rem;max-width:min(30rem, calc(100vw - 2 * var(--cc-chrome-inset)));border:1px solid var(--cc-border-input);border-radius:var(--cc-radius-md);box-shadow:var(--cc-shadow-lg);max-height:min(32rem, calc(100dvh - 2 * var(--cc-chrome-h) - var(--cc-space-6)));text-align:left;font-family:var(--cc-font-sans);font-size:var(--cc-font-sm);flex-direction:column;display:flex;position:fixed;overflow:hidden}.popover-panel--below-end{margin-top:var(--cc-space-2);top:0;right:0}.popover-panel--above-start{margin-bottom:var(--cc-space-2);bottom:0;left:0}.popover-header{padding:var(--popover-inset);border-bottom:1px solid var(--cc-border-subtle);flex:none;align-items:center;display:flex}.popover-title{font-size:var(--cc-font-sm);font-weight:var(--cc-fw-medium);color:var(--cc-text-strong);margin:0}.popover-body{overscroll-behavior:contain;gap:var(--popover-inset);min-height:0;padding:var(--popover-inset) 0;flex-direction:column;flex:auto;display:flex;overflow-y:auto}.popover-footer{gap:var(--popover-inset);padding:var(--popover-inset) 0;border-top:1px solid var(--cc-border-subtle);flex-direction:column;flex:none;display:flex}.popover-group{gap:var(--popover-inset);flex-direction:column;min-width:0;display:flex}.popover-group>*{min-width:0}.popover-group+.popover-group{padding-top:var(--popover-inset);border-top:1px solid var(--cc-border-subtle)}.popover-group-head{align-items:center;gap:var(--cc-space-2);padding-inline:var(--popover-inset);display:flex}.popover-group-title{font-size:var(--cc-font-sm);font-weight:var(--cc-fw-medium);color:var(--cc-text-strong);flex:auto;margin:0}.popover-group-icon{color:var(--cc-text-muted);flex:none}.popover-panel .swatch-group{margin-inline:calc(-1 * var(--cc-space-2))}.popover-panel .setting-row{padding:0 var(--popover-inset);font-size:var(--cc-font-sm)}.popover-panel .setting-row-label{overflow-wrap:anywhere}.popover-panel .popover-action{width:auto;margin-inline:var(--popover-inset);padding-block:var(--cc-space-3);align-self:stretch}.popover-prose{width:0;min-width:100%}.popover-hint{padding-inline:var(--popover-inset);font-size:var(--cc-font-xs);line-height:var(--cc-lh-base);text-align:center;color:var(--cc-text-secondary);margin:0}.popover-empty{text-align:center;margin-inline:var(--popover-inset);padding:var(--cc-space-5);border:1px dashed var(--cc-border-input);border-radius:var(--cc-radius-sm);color:var(--cc-text-secondary);font-size:var(--cc-font-xs)}.popover-grip,.popover-scrim{display:none}@media (width<=640px){.popover-scrim{z-index:299;background:var(--cc-bg-backdrop);-webkit-backdrop-filter:blur(var(--cc-glass-blur));display:block;position:fixed;inset:0}.popover-panel{border-inline:0;width:auto;min-width:0;max-width:none;max-height:70dvh;box-shadow:var(--cc-shadow-sheet);border-bottom:0;border-start-start-radius:var(--cc-radius-lg);border-start-end-radius:var(--cc-radius-lg);border-end-end-radius:0;border-end-start-radius:0;margin:0;padding:0;inset:auto 0 0}.popover-panel>:last-child{padding-bottom:max(var(--cc-space-6), env(safe-area-inset-bottom))}.popover-grip{appearance:none;width:100%;padding:var(--cc-space-4) 0;cursor:pointer;background:0 0;border:0;display:block}.popover-grip:before{content:"";width:var(--cc-space-9);border-radius:var(--cc-radius-pill);background:var(--cc-border-input);height:4px;margin:0 auto;display:block}.popover-grip:hover:before{background:var(--cc-text-muted)}}.freshness-status{align-items:center;gap:var(--cc-space-3);display:inline-flex}.freshness-status-detail{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.freshness-status.is-ready .freshness-status-dot{background:var(--cc-success)}.freshness-status.is-rebuilding .freshness-status-dot{background:var(--cc-warning)}.freshness-status.is-error .freshness-status-dot{background:var(--cc-error)}.freshness-status.is-rebuilding .freshness-status-dot{animation:.9s ease-in-out infinite freshness-pulse}.freshness-status.is-ready.is-live .freshness-status-dot{animation:2.4s ease-in-out infinite freshness-heartbeat}@keyframes freshness-pulse{0%,to{opacity:1}50%{opacity:.25}}@keyframes freshness-heartbeat{0%,to{opacity:1}50%{opacity:.45}}.setting-row{gap:var(--cc-space-3);padding:var(--cc-space-3) 0;font-size:var(--cc-font-xs);color:var(--cc-text-primary);cursor:default;flex-direction:column;min-width:0;display:flex}.setting-row-main{gap:var(--cc-space-3);flex-direction:column;min-width:0;display:flex}.setting-row-head{align-items:center;gap:var(--cc-space-4);min-width:0;display:flex}.setting-row-label{min-width:0;color:var(--cc-text-strong);font-weight:var(--cc-fw-medium);flex:auto}.setting-row-control{align-items:center;gap:var(--cc-space-4);min-width:0;display:flex}.setting-row:not(.setting-row--inline) .setting-row-main>.setting-row-control{width:100%}.setting-row--inline .setting-row-head>.setting-row-control{flex:0 auto;min-width:0;margin-left:auto}.setting-row-desc{color:var(--cc-text-secondary);font-size:var(--cc-font-xs);line-height:var(--cc-lh-base)}.controls-section-reset,.controls-subgroup-reset,.setting-row-reset{appearance:none;min-width:var(--cc-tap-min);min-height:var(--cc-tap-min);padding:var(--cc-space-1) var(--cc-space-2);border-radius:var(--cc-radius-sm);color:var(--cc-accent);font-size:var(--cc-font-md);cursor:pointer;background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.controls-section-reset:not(:disabled):hover,.controls-subgroup-reset:not(:disabled):hover,.setting-row-reset:not(:disabled):hover{color:var(--cc-white);background:var(--cc-accent-bg);border-color:var(--cc-accent-border)}.controls-section-reset:not(:disabled):active,.controls-subgroup-reset:not(:disabled):active,.setting-row-reset:not(:disabled):active{background:var(--cc-accent-bg-strong)}.controls-section-reset:disabled,.controls-subgroup-reset:disabled,.setting-row-reset:disabled{color:var(--cc-accent-bg);cursor:default}.controls-section-reset,.controls-subgroup-reset{flex-shrink:0}.setting-row-reset{margin:var(--cc-space-0)}.setting-slider-wrap{align-items:center;gap:var(--cc-space-4);flex:auto;min-width:0;display:flex}.setting-slider{appearance:none;background:var(--cc-track);border-radius:var(--cc-radius-sm);cursor:pointer;flex:auto;min-width:60px;height:4px}.setting-slider::-webkit-slider-thumb{appearance:none;background:var(--cc-accent);border:1px solid var(--cc-overlay-border);border-radius:var(--cc-radius-circle);cursor:pointer;width:12px;height:12px}.setting-slider::-moz-range-thumb{background:var(--cc-accent);border:1px solid var(--cc-overlay-border);border-radius:var(--cc-radius-circle);cursor:pointer;width:12px;height:12px}.setting-slider-readout{text-align:right;min-width:36px;padding-right:var(--cc-space-3);font-family:var(--cc-font-mono);font-size:var(--cc-font-2xs);color:var(--cc-text-secondary);white-space:nowrap;flex:none}.setting-hue-preview{border-radius:var(--cc-radius-sm);border:1px solid var(--cc-overlay-border);width:18px;height:18px;margin-left:var(--cc-space-3);flex:none;display:inline-block}.setting-color{appearance:none;width:32px;height:var(--cc-tap-min);padding:var(--cc-space-0);border:1px solid var(--cc-overlay-border);border-radius:var(--cc-radius-sm);cursor:pointer;background:0 0}.setting-color::-webkit-color-swatch-wrapper{padding:var(--cc-space-0)}.setting-color::-webkit-color-swatch{border-radius:var(--cc-radius-sm);border:none}.setting-color::-moz-color-swatch{border-radius:var(--cc-radius-sm);border:none}.setting-toggle{width:var(--cc-toggle-size);height:var(--cc-toggle-size);cursor:pointer;accent-color:var(--cc-accent);margin:var(--cc-space-0)}.setting-select{background:var(--cc-bg-chrome);border:1px solid var(--cc-border-input);border-radius:var(--cc-radius-sm);display:inline-flex;overflow:hidden}.setting-range-pair{flex:auto;min-width:60px;height:16px;position:relative}.setting-range-pair-track{background:var(--cc-track);border-radius:var(--cc-radius-sm);height:4px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.setting-range-pair-fill{background:linear-gradient(90deg, var(--cc-accent), var(--cc-accent-border));border-radius:var(--cc-radius-sm);pointer-events:none;height:4px;box-shadow:var(--cc-glow-accent);position:absolute;top:50%;transform:translateY(-50%)}.setting-range-pair input[type=range]{pointer-events:none;appearance:none;width:100%;height:100%;margin:var(--cc-space-0);padding:var(--cc-space-0);background:0 0;position:absolute;inset:0}.setting-range-pair input[type=range]:focus{outline:none}.setting-range-pair input[type=range]:focus-visible::-webkit-slider-thumb{outline:2px solid var(--cc-accent-light);outline-offset:2px}.setting-range-pair input[type=range]:focus-visible::-moz-range-thumb{outline:2px solid var(--cc-accent-light);outline-offset:2px}.setting-range-pair input[type=range]::-webkit-slider-runnable-track{background:0 0;border:none;height:100%}.setting-range-pair input[type=range]::-moz-range-track{background:0 0;border:none;height:100%}.setting-range-pair input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--cc-accent);border:1px solid var(--cc-overlay-border);border-radius:var(--cc-radius-circle);cursor:pointer;pointer-events:auto;width:14px;height:14px;box-shadow:var(--cc-shadow-sm)}.setting-range-pair input[type=range]::-moz-range-thumb{background:var(--cc-accent);border:1px solid var(--cc-overlay-border);border-radius:var(--cc-radius-circle);cursor:pointer;pointer-events:auto;width:14px;height:14px;box-shadow:var(--cc-shadow-sm)}.setting-range-pair input.setting-range-pair-lo::-webkit-slider-thumb{background:var(--cc-accent-dark)}.setting-range-pair input.setting-range-pair-lo::-moz-range-thumb{background:var(--cc-accent-dark)}#city-footer{align-items:center;gap:var(--cc-space-7);padding:0 var(--cc-chrome-inset);height:var(--cc-chrome-h);border-top:1px solid var(--cc-track);font-family:var(--cc-font-mono);font-size:var(--cc-font-2xs);color:var(--cc-text-secondary);white-space:nowrap;flex:none;display:flex}.app-footer-section{align-items:center;gap:var(--cc-space-3);min-width:0;display:flex;overflow:hidden}.app-footer-section.app-footer-left{flex:auto;justify-content:flex-start;overflow:visible}.app-footer-section.app-footer-right{flex:none;justify-content:flex-end}#city-footer .meta-version,#city-footer .meta-credit{color:var(--cc-text-muted)}@media (width<=640px){#city-footer{gap:var(--cc-space-3)}#city-footer .meta-version,#city-footer .meta-version+.meta-sep{display:none}}.swatch-group{gap:var(--cc-space-3);flex-wrap:wrap;display:flex}.swatch{align-items:center;gap:var(--cc-space-2);padding:var(--cc-space-2);border-radius:var(--cc-radius-sm);cursor:pointer;transition:background var(--cc-t-base);background:0 0;border:none;flex-direction:column;display:flex}.swatch:hover{background:var(--cc-overlay-bg-soft)}.swatch-chip{width:var(--cc-space-7);height:var(--cc-space-7);border-radius:var(--cc-radius-circle);box-shadow:inset 0 0 0 1px var(--cc-overlay-border)}.swatch.is-active .swatch-chip{outline:2px solid var(--cc-accent);outline-offset:2px}.swatch-label{font-size:var(--cc-font-xs);color:var(--cc-text-secondary);white-space:nowrap}.swatch.is-active .swatch-label{color:var(--cc-text-strong)}.transfer-list{margin:0;padding:0;padding-inline-start:calc(var(--cc-toggle-size) + var(--cc-space-2));list-style:none}.transfer-row{align-items:flex-start;gap:var(--cc-space-2);padding-block:calc((var(--cc-row-min-h) - var(--cc-toggle-size)) / 2);padding-inline:var(--popover-inset);display:flex}.transfer-row-text{flex:auto;min-width:0}.transfer-row-label{line-height:var(--cc-toggle-size);cursor:pointer;overflow-wrap:anywhere;font-size:var(--cc-font-sm);color:var(--cc-text-strong);display:block}.transfer-row-note{font-size:var(--cc-font-xs);line-height:var(--cc-lh-base);color:var(--cc-text-secondary);overflow-wrap:anywhere;display:block}.transfer-message{padding-inline:var(--popover-inset);font-size:var(--cc-font-sm);line-height:var(--cc-lh-base);color:var(--cc-text-strong);margin:0}.transfer-row .setting-toggle,.popover-group-head .setting-toggle{flex:none}.popover-panel .transfer-action{gap:var(--cc-space-3)}.transfer-row-dot{width:var(--cc-space-3);height:var(--cc-space-3);border-radius:var(--cc-radius-circle);background:var(--cc-accent);flex:none;margin-block-start:calc((var(--cc-toggle-size) - var(--cc-space-3)) / 2)}.controls-pane{--cc-controls-header-h:28px;--cc-ctrl-inset:var(--cc-space-2);--cc-ctrl-glyph:14px;--cc-ctrl-guide:1px}.controls-section-summary,.setting-subgroup-summary,.controls-pane .setting-row,.controls-pane .setting-subgroup>.text-label{padding-left:var(--cc-ctrl-inset)}.controls-section-summary,.setting-subgroup-summary{padding-right:0}.controls-disclosure-body{margin-left:calc(var(--cc-ctrl-inset) + var(--cc-ctrl-glyph) / 2 - var(--cc-ctrl-guide) / 2);padding-left:var(--cc-space-4);border-left:var(--cc-ctrl-guide) solid var(--cc-accent-bg-soft)}.controls-pane .pane-inset{padding-top:0}.controls-pane .pane-inset>:first-child{margin-top:var(--cc-pane-inset)}.controls-disclosure-toggle{align-items:center;gap:var(--cc-space-1);min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;min-height:var(--cc-tap-min);margin:calc(-1 * var(--cc-space-2)) 0;padding:var(--cc-space-2) 0;background:0 0;border:none;flex:auto;display:flex}.controls-section>.controls-section-summary:hover,.setting-subgroup-collapsible>.setting-subgroup-summary:hover{background:color-mix(in oklch, var(--cc-white) 4%, var(--cc-bg-sidebar))}.controls-disclosure-toggle:focus-visible{outline-offset:-2px}.controls-disclosure-toggle[aria-expanded=true] .chevron{transform:rotate(90deg)}.controls-actions{justify-content:space-between;align-items:center;gap:var(--cc-space-4);padding:var(--cc-space-5) var(--cc-pane-inset);border-top:1px solid var(--cc-border-subtle);flex:none;display:flex}.controls-actions-left,.controls-actions-right{align-items:center;gap:var(--cc-space-4);display:flex}.controls-actions .btn-primary,.controls-actions .btn-secondary{gap:var(--cc-space-3)}.controls-button-icon{flex:none;width:14px;height:14px}.controls-section+.controls-section{margin-top:var(--cc-space-3);padding-top:var(--cc-space-3);border-top:1px solid var(--cc-track)}.controls-section-hint{font-size:var(--cc-font-xs);color:var(--cc-text-secondary);line-height:var(--cc-lh-base);margin-bottom:var(--cc-space-6);padding-left:var(--cc-ctrl-inset)}.controls-section>.controls-section-summary{z-index:3;background:var(--cc-bg-sidebar);cursor:default;position:sticky;top:0}.controls-section:not(.is-open)>.controls-disclosure-body{display:none}.controls-section-summary .text-label{color:var(--cc-text-strong)}.setting-subgroup{margin-top:var(--cc-space-2);padding-top:var(--cc-space-2)}.setting-subgroup:first-of-type{margin-top:var(--cc-space-3);padding-top:var(--cc-space-0)}.setting-subgroup>.text-label{margin-bottom:var(--cc-space-4)}.setting-subgroup-collapsible>.setting-subgroup-summary{top:var(--cc-controls-header-h);z-index:2;background:var(--cc-bg-sidebar);cursor:default;position:sticky}.setting-subgroup-collapsible:not(.is-open)>.controls-disclosure-body{display:none}.pane,.pane-body{flex-direction:column;flex:auto;min-height:0;display:flex}.pane{overflow:hidden}.pane-body{overflow-y:auto}.pane-inset{padding:var(--cc-pane-inset);box-sizing:border-box}.pane-header{height:var(--cc-rail-w);padding-inline:var(--cc-space-4);border-bottom:1px solid var(--cc-border-subtle);justify-content:space-between;align-items:center;gap:var(--cc-space-8);flex-shrink:0;padding-inline-start:calc(var(--cc-space-4) + var(--cc-icon-bearing));display:flex}.pane-header--tabs{padding:0 var(--cc-space-4) 0 0;align-items:stretch}.pane-header--tabs .pane-tabs{border-bottom:0;flex:auto;padding-top:0}.pane-header--tabs .pane-tab{padding-block:0}.pane-header--tabs>.btn-icon{align-self:center}.pane-header-lead{align-items:center;gap:var(--cc-space-2);flex:auto;min-width:0;display:flex;overflow:hidden}.pane-header-identity{align-items:center;gap:var(--cc-space-1);flex:none;display:flex}.pane-header-actions{align-items:center;gap:var(--cc-space-1);flex-shrink:0;display:flex}.text-pane-title{min-width:0;margin:var(--cc-space-0);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:var(--cc-space-1);flex:0 auto;display:flex;overflow:hidden}.text-pane-title.is-mono{font-family:var(--cc-font-mono)}.text-pane-title>.path-badge{margin-inline-end:var(--cc-space-4)}#city-sidebar-right ::-webkit-scrollbar{width:4px}#city-sidebar-left ::-webkit-scrollbar{width:4px}#city-sidebar-right ::-webkit-scrollbar-track{background:0 0}#city-sidebar-left ::-webkit-scrollbar-track{background:0 0}#city-sidebar-right ::-webkit-scrollbar-thumb{background:var(--cc-border-input);border-radius:var(--cc-radius-sm)}#city-sidebar-left ::-webkit-scrollbar-thumb{background:var(--cc-border-input);border-radius:var(--cc-radius-sm)}#city-sidebar-right ::-webkit-scrollbar-thumb:hover{background:var(--cc-track-hover)}#city-sidebar-left ::-webkit-scrollbar-thumb:hover{background:var(--cc-track-hover)}#city-sidebar-right .editor-body,#city-sidebar-right .code-editor,#city-sidebar-left .tree-root,#city-sidebar-left .search-pane>.pane-body,#city-sidebar-left .info-body{scrollbar-width:thin;scrollbar-color:var(--cc-border-input) transparent}.resize-handle{cursor:ew-resize;background:0 0;width:6px;height:100%;position:absolute;top:0}.resize-handle--left{z-index:101;left:-3px}.resize-handle--right{z-index:91;right:-3px}.resize-handle:hover,.resize-handle.dragging{background:var(--cc-accent-bg-strong)}@media (hover:none) and (pointer:coarse),(width<=640px){.resize-handle{display:none}}.shortcuts-list kbd,.shortcuts-list .shortcuts-gesture{background:var(--cc-bg-app);border-radius:var(--cc-radius-sm);font-family:var(--cc-font-mono);padding:var(--cc-space-px) var(--cc-space-3);border:1px solid var(--cc-border-input);color:var(--cc-text-primary);font-size:var(--cc-font-2xs);margin:0 var(--cc-space-px);line-height:var(--cc-lh-tight);font-style:normal;display:inline-block}.shortcuts-list{gap:var(--cc-space-3) var(--cc-space-6);min-width:0;padding-inline:var(--popover-inset);font-size:var(--cc-font-xs);grid-template-columns:auto minmax(0,1fr);align-items:center;margin:0;display:grid}.shortcuts-list dt{color:var(--cc-text-primary);min-width:0}.shortcuts-list dd{color:var(--cc-text-secondary);margin:var(--cc-space-0);line-height:var(--cc-lh-base);min-width:0}.shortcuts-list .shortcuts-or{color:var(--cc-text-muted);font-size:var(--cc-font-2xs);margin-left:var(--cc-space-1)}#city-stage{flex:1 1 0;min-width:0;position:relative;overflow:hidden}#scene-controls{left:50%;bottom:var(--cc-space-8);z-index:50;align-items:center;gap:var(--cc-space-4);width:min(52rem, calc(100% - var(--cc-space-9) * 2));pointer-events:none;flex-direction:column;display:flex;position:absolute;transform:translate(-50%)}#scene-controls>*{pointer-events:auto}@media (width<=640px){#scene-controls{bottom:var(--cc-space-6);width:calc(100% - var(--cc-space-6) * 2)}}#hover-tooltip{color:var(--cc-text-strong);font-size:var(--cc-font-xs);pointer-events:none;z-index:200;font-family:var(--cc-font-mono);white-space:nowrap;position:fixed}.timeline-scrubber{line-height:var(--cc-lh-tight);gap:var(--cc-space-2);padding:var(--cc-space-4) var(--cc-space-5);border-radius:var(--cc-radius-lg);flex-direction:column;width:100%;display:flex}.timeline-scrubber-thumb{margin-bottom:var(--cc-space-3);align-items:center;display:flex}.timeline-scrubber-axis{align-items:center;gap:var(--cc-space-4);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);display:grid}.timeline-scrubber-edge:first-child{justify-self:start}.timeline-scrubber-edge:last-child{justify-self:end}.timeline-scrubber-edge{padding:0 var(--cc-space-2);line-height:inherit;font-family:var(--cc-font-mono);font-size:var(--cc-font-xs);letter-spacing:.02em;text-transform:uppercase;color:var(--cc-text-secondary);white-space:nowrap;cursor:pointer;background:0 0;border:0;align-items:center;font-weight:600;display:inline-flex}.timeline-scrubber-edge:hover{color:var(--cc-accent)}@media (hover:none) and (pointer:coarse){.timeline-scrubber-edge{min-height:var(--cc-tap-min)}}.timeline-scrubber-track{--tt-tick:color-mix(in oklch, var(--cc-text-secondary) 50%, transparent);min-width:0;height:var(--cc-tap-min);background:color-mix(in oklch, var(--cc-bg-base) 60%, transparent);cursor:pointer;touch-action:none;flex:1;position:relative}.timeline-scrubber-track:focus-visible{outline:2px solid var(--cc-accent);outline-offset:2px}.timeline-scrubber-track.is-inert{cursor:default}.timeline-scrubber-ticks{width:100%;height:100%;position:absolute;inset:0}.timeline-scrubber-handle{top:calc(-1 * var(--cc-space-3));bottom:calc(-1 * var(--cc-space-3));border-radius:var(--cc-radius-sm);background:var(--cc-white);width:3px;box-shadow:0 0 3px color-mix(in oklch, var(--cc-black) 60%, transparent);pointer-events:none;position:absolute;transform:translate(-50%)}.timeline-scrubber-info{justify-content:center;align-items:center;gap:var(--cc-space-3);min-width:0;font-family:var(--cc-font-mono);font-size:var(--cc-font-xs);color:var(--cc-text-secondary);white-space:nowrap;display:flex}.timeline-scrubber-date{color:var(--cc-text-strong);font-family:var(--cc-font-mono);font-size:var(--cc-font-xs);white-space:nowrap;justify-self:center;font-weight:600}.timeline-scrubber-sha{color:var(--cc-text-secondary);flex:none}.timeline-scrubber-commit{align-items:center;gap:var(--cc-space-3);min-width:0;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:flex}.timeline-scrubber-commit .timeline-scrubber-sha{color:var(--cc-text-strong)}.timeline-scrubber-commit:hover .timeline-scrubber-sha,.timeline-scrubber-commit:hover .timeline-scrubber-subject{color:var(--cc-accent);text-decoration:underline}.timeline-scrubber-commit:focus-visible{outline:2px solid var(--cc-accent);outline-offset:2px;border-radius:var(--cc-radius-sm)}.timeline-scrubber-subject{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--cc-text-secondary);flex:0 auto;overflow:hidden}.timeline-scrubber-nocommit{color:var(--cc-text-secondary);font-style:italic}.timeline-scrubber-notes{padding-top:var(--cc-space-1);text-align:center;font-family:var(--cc-font-mono);font-size:var(--cc-font-xs);color:var(--cc-text-muted);margin:0}.timeline-toggle{gap:var(--cc-space-1);padding:var(--cc-space-1);border-radius:var(--cc-radius-lg);display:inline-flex}.timeline-toggle-btn{align-items:center;gap:var(--cc-space-2);min-height:var(--cc-tap-min);padding:var(--cc-space-3) var(--cc-space-6);border-radius:var(--cc-radius-md);color:var(--cc-text-strong);font-size:var(--cc-font-sm);cursor:pointer;background:0 0;border:0;font-weight:600;display:inline-flex}.timeline-toggle-btn:not(.is-active):hover{color:var(--cc-accent)}.timeline-toggle-btn.is-active{background:var(--cc-accent);color:var(--cc-text-inverse)}.selection-chip{top:var(--cc-space-4);right:var(--cc-space-4);z-index:50;max-width:calc(100% - var(--cc-space-8) * 2);border:1px solid var(--cc-border-input);border-radius:var(--cc-radius-pill);align-items:center;display:inline-flex;position:absolute}.selection-chip-label{align-items:center;gap:var(--cc-space-3);min-width:0;min-height:var(--cc-tap-min);padding:0 var(--cc-space-4) 0 var(--cc-space-3);color:var(--cc-text-strong);font-family:var(--cc-font-mono);font-size:var(--cc-font-xs);cursor:pointer;background:0 0;border:0;display:inline-flex}.selection-chip-name{min-width:0;font-weight:var(--cc-fw-semibold);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.selection-chip-label:hover{color:var(--cc-accent)}.selection-chip-reopen{font-size:var(--cc-font-md);color:var(--cc-text-strong);flex:none}.selection-chip-label:hover .selection-chip-reopen{color:var(--cc-accent)}.selection-chip-clear{width:var(--cc-tap-min);height:var(--cc-tap-min);color:var(--cc-text-muted);cursor:pointer;background:0 0;border:0;border-start-start-radius:var(--cc-radius-pill);border-end-start-radius:var(--cc-radius-pill);flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.selection-chip-clear:hover{color:var(--cc-accent);background:var(--cc-accent-bg-soft)}.path-badge{padding:var(--cc-space-px) var(--cc-space-3);border-radius:var(--cc-radius-sm);font-size:var(--cc-font-2xs);font-weight:var(--cc-fw-bold);letter-spacing:var(--cc-track-label);text-transform:lowercase;font-family:var(--cc-font-mono);background:hsl(var(--badge-hue,0), 60%, 35%);white-space:nowrap;flex:none;display:inline-block}.path-badge.is-commit{background:var(--cc-badge-commit-bg);color:var(--cc-text-strong)}#city-sidebar-left{width:var(--sidebar-width,var(--cc-sidebar-w));border-right:1px solid var(--cc-border-subtle);z-index:90;flex-direction:row;flex:none;min-width:280px;max-width:600px;height:100%;display:flex;position:relative;overflow:hidden}#city-sidebar-left:empty{display:none}#city-sidebar-left.is-collapsed{width:var(--cc-rail-w);min-width:var(--cc-rail-w)}#city-sidebar-left.is-collapsed>.pane,#city-sidebar-left.is-collapsed .resize-handle{display:none}.activity-bar{width:var(--cc-rail-w);border-right:1px solid var(--cc-border-subtle);flex-direction:column;flex-shrink:0;justify-content:space-between;align-items:stretch;padding:0;display:flex}.activity-bar-group{align-items:stretch;gap:var(--cc-space-1);flex-direction:column;display:flex}.activity-bar-icon{color:var(--cc-text-strong);height:var(--cc-rail-w);cursor:pointer;transition:color var(--cc-t-base), background var(--cc-t-base);padding:var(--cc-space-0);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:relative}.activity-bar-icon:hover{color:var(--cc-accent);background:var(--cc-accent-bg-soft)}.activity-bar-icon:active{background:var(--cc-accent-bg-strong)}.activity-bar-icon.active{color:var(--cc-accent);background:var(--cc-accent-bg)}.activity-bar-dot{top:var(--cc-space-2);right:var(--cc-space-2);width:var(--cc-space-3);height:var(--cc-space-3);border-radius:var(--cc-radius-circle);background:var(--cc-accent);pointer-events:none;animation:.6s ease-out cc-dot-pulse;position:absolute}@keyframes cc-dot-pulse{0%,to{background-color:var(--cc-accent);transform:scale(1)}35%{background-color:var(--cc-white);transform:scale(2)}}@keyframes cc-dot-flash{0%,to{background-color:var(--cc-accent)}50%{background-color:var(--cc-white)}}@media (prefers-reduced-motion:reduce){.activity-bar-dot{animation-name:cc-dot-flash}}.activity-bar-glyph{width:20px;height:20px;display:block}@media (width<=640px){#city-sidebar-left.is-collapsed{width:var(--cc-rail-w);min-width:var(--cc-rail-w)}#city-sidebar-left:not(.is-collapsed){width:auto;max-width:none;position:absolute;inset:0}}.explore-pane .pane-body>.empty-state{flex:auto}.tree-root{--tree-row-inset:var(--cc-space-4);--tree-glyph:var(--cc-node-icon);--tree-guide:1px}.tree-item:focus-visible{outline:none}.tree-item:focus-visible>.row{outline:2px solid var(--cc-accent);outline-offset:-2px}.tree-item.tree-hovered>.row{background:var(--cc-overlay-bg-soft)}.tree-item.tree-selected>.row,.tree-item.tree-selected>.row:hover,.tree-item.tree-selected.tree-hovered>.row{background:var(--cc-accent-bg-soft)}.tree-root{flex:1;overflow-y:auto}.tree-list{margin:var(--cc-space-0);padding:var(--cc-space-0);list-style:none}.tree-root.tree-list{padding:var(--cc-space-0) var(--cc-space-0) var(--cc-space-4)}.tree-item>.tree-list{margin-left:calc(var(--tree-row-inset) + var(--tree-glyph) / 2 - var(--tree-guide) / 2);border-left:var(--tree-guide) solid var(--cc-accent-bg-soft)}.tree-item{margin:var(--cc-space-0);padding:var(--cc-space-0)}.tree-item>.row{padding-left:var(--tree-row-inset);border-radius:var(--cc-radius-0)}.tree-label{font-size:var(--cc-font-sm);color:var(--cc-text-base);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tree-dir>.row>.tree-label{font-weight:var(--cc-fw-medium)}.file-icon{width:var(--cc-node-icon);height:var(--cc-node-icon);vertical-align:middle;margin-right:var(--cc-space-2);color:#0000;flex-shrink:0;font-size:0;display:inline-block}.readme-markdown code{background:var(--cc-accent-bg-soft);border-radius:var(--cc-radius-sm);font-family:var(--cc-font-mono);padding:var(--cc-space-px) var(--cc-space-3);display:inline-block}.readme-markdown{color:var(--cc-text-primary);font-size:var(--cc-font-sm);line-height:var(--cc-lh-relaxed);word-wrap:break-word}.readme-markdown h1,.readme-markdown h2,.readme-markdown h3,.readme-markdown h4,.readme-markdown h5,.readme-markdown h6{color:var(--cc-text-strong);font-weight:var(--cc-fw-bold);margin:var(--cc-space-7) 0 var(--cc-space-4);line-height:var(--cc-lh-tight)}.readme-markdown h1:first-child,.readme-markdown h2:first-child,.readme-markdown h3:first-child{margin-top:var(--cc-space-0)}.readme-markdown h1{font-size:var(--cc-font-lg);padding-bottom:var(--cc-space-3);border-bottom:1px solid var(--cc-border-subtle)}.readme-markdown h2{font-size:var(--cc-font-md);padding-bottom:var(--cc-space-2);border-bottom:1px solid var(--cc-track)}.readme-markdown h3{font-size:var(--cc-font-sm)}.readme-markdown h4{font-size:var(--cc-font-sm);color:var(--cc-text-primary)}.readme-markdown h5,.readme-markdown h6{font-size:var(--cc-font-sm);color:var(--cc-text-secondary);text-transform:uppercase;letter-spacing:var(--cc-track-label)}.readme-markdown p{margin:var(--cc-space-4) 0}.readme-markdown strong{color:var(--cc-text-strong);font-weight:var(--cc-fw-bold)}.readme-markdown em{color:var(--cc-text-strong);font-style:italic}.readme-markdown ul,.readme-markdown ol{margin:var(--cc-space-4) 0;padding-left:var(--cc-space-8)}.readme-markdown li{margin:var(--cc-space-2) 0}.readme-markdown li>p{margin:var(--cc-space-0)}.readme-markdown blockquote{margin:var(--cc-space-5) 0;padding:var(--cc-space-2) var(--cc-space-6);border-left:3px solid var(--cc-border-tooltip);color:var(--cc-text-secondary);background:var(--cc-accent-bg-soft)}.readme-markdown blockquote>p{margin:var(--cc-space-2) 0}.readme-markdown hr{border:none;border-top:1px solid var(--cc-border-subtle);margin:var(--cc-space-7) 0}.readme-markdown code{border:1px solid var(--cc-accent-bg);color:var(--cc-text-strong);font-size:var(--cc-font-sm)}.readme-markdown pre{background:var(--cc-bg-chrome);border:1px solid var(--cc-track);border-radius:var(--cc-radius-md);padding:var(--cc-space-5) var(--cc-space-6);margin:var(--cc-space-5) 0;font-family:var(--cc-font-mono);font-size:var(--cc-font-sm);line-height:var(--cc-lh-base);overflow-x:auto}.readme-markdown pre code{padding:var(--cc-space-0);color:var(--cc-text-primary);font-size:inherit;background:0 0;border:none}.readme-markdown img{border-radius:var(--cc-radius-sm);max-width:100%}.readme-markdown table{border-collapse:collapse;margin:var(--cc-space-5) 0;font-size:var(--cc-font-sm)}.readme-markdown th,.readme-markdown td{border:1px solid var(--cc-border-subtle);padding:var(--cc-space-2) var(--cc-space-5);text-align:left}.readme-markdown th{background:var(--cc-bg-chrome);color:var(--cc-text-strong)}.readme-markdown input[type=checkbox]{margin:0 var(--cc-space-3) 0 0;accent-color:var(--cc-accent)}.info-body [data-section]{--sec-accent:var(--cc-text-primary)}.info-body [data-section=buildings]{--sec-accent:var(--cc-layer-buildings)}.info-body [data-section=media]{--sec-accent:var(--cc-layer-media)}.info-body [data-section=data]{--sec-accent:var(--cc-layer-data)}.info-body [data-section=streets]{--sec-accent:var(--cc-layer-streets)}.info-body [data-section=forest]{--sec-accent:var(--cc-layer-forest)}.info-body [data-section=fireflies]{--sec-accent:var(--cc-layer-fireflies)}.almanac-section-title,.legend-layer-title{color:var(--cc-text-strong)}.almanac-fact-label,.legend-cue-label{color:var(--cc-text-secondary);font-size:var(--cc-font-sm);font-weight:var(--cc-fw-normal)}.almanac-fact-primary,.legend-cue-detail{color:var(--cc-text-strong);font-size:var(--cc-font-sm)}.info-body>.empty-state{flex:auto}.almanac{gap:var(--cc-space-6);flex-direction:column;display:flex}.almanac-section{border-top:1px solid var(--cc-border-subtle);padding-top:var(--cc-space-6);flex-direction:column;display:flex}.almanac-section:first-child{border-top:0;padding-top:0}.almanac-section-title{align-items:center;gap:var(--cc-space-3);margin:0 0 var(--cc-space-4);display:flex}.almanac-section-icon{width:15px;height:15px;color:var(--sec-accent)}.almanac-section-note{padding:var(--cc-space-1) 0 var(--cc-space-2);color:var(--cc-text-secondary);font-size:var(--cc-font-sm);margin:0}.almanac-duo{margin:var(--cc-space-1) 0 var(--cc-space-3);flex-direction:column;display:flex}.almanac-duo-dim{margin:0 0 var(--cc-space-px) 0;display:block}.almanac-duo-dim.text-label{color:var(--sec-accent)}.almanac-fact{align-items:center;gap:var(--cc-space-4);min-height:var(--cc-tap-min);margin:0 calc(-1 * var(--cc-space-4));padding:var(--cc-space-2) var(--cc-space-4);border-radius:var(--cc-radius-md);text-align:left;font:inherit;color:inherit;background:0 0;border:none;display:flex}.almanac-fact--nav{cursor:pointer;transition:background-color .12s}.almanac-fact--nav:hover,.almanac-fact--nav:focus-visible{background:var(--cc-overlay-bg)}.almanac-fact-label{flex:0 0 76px}.almanac-fact-primary{white-space:nowrap;text-overflow:ellipsis;flex:1 1 0;min-width:0;overflow:hidden}.almanac-fact-primary--mono{min-width:0;font-family:var(--cc-font-mono);display:flex}.almanac-path-dir{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;overflow:hidden}.almanac-path-base{white-space:nowrap;flex:none}.almanac-fact-metric{color:var(--cc-text-secondary);font-size:var(--cc-font-sm);white-space:nowrap;flex:none}.almanac-fact-focus{width:14px;height:14px;color:var(--cc-text-strong);flex:none;transition:color .12s}.almanac-fact--nav:hover .almanac-fact-focus,.almanac-fact--nav:focus-visible .almanac-fact-focus{color:var(--cc-text-strong)}.legend{gap:var(--cc-space-6);--sec-accent:var(--cc-text-primary);flex-direction:column;display:flex}.legend-layer{border-top:1px solid var(--cc-border-subtle);padding-top:var(--cc-space-6);flex-direction:column;display:flex}.legend-layer:first-child{border-top:0;padding-top:0}.legend-layer-title{align-items:center;gap:var(--cc-space-3);margin:0 0 var(--cc-space-3);display:flex}.legend-layer-icon{width:15px;height:15px;color:var(--sec-accent)}.legend-layer-lead{margin:0 0 var(--cc-space-4);color:var(--cc-text-primary);font-size:var(--cc-font-sm);line-height:var(--cc-lh-base)}.legend-cues{gap:var(--cc-space-1);flex-direction:column;margin:0;display:flex}.legend-cue{gap:var(--cc-space-5);min-width:0;font-size:var(--cc-font-sm);align-items:baseline;display:flex}.legend-cue-label{flex:0 0 128px}.legend-cue-detail{min-width:0;margin:0}.pane-header--search{padding-inline:var(--cc-space-4)}.search-input-wrap{align-items:center;gap:var(--cc-space-4);flex:auto;min-width:0;display:flex}.search-input-icon{font-size:var(--cc-font-md);color:var(--cc-text-muted);flex:none}.search-input{flex:auto;min-width:0}.search-input::-webkit-search-cancel-button{appearance:none}.search-results{margin:var(--cc-space-0);padding:var(--cc-pane-inset) 0;list-style:none}.search-result{appearance:none;text-align:left;width:100%;font-family:var(--cc-font-mono);font-size:var(--cc-font-sm);color:var(--cc-text-base);background:0 0;border:none}.search-result-path{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.search-result:hover{color:var(--cc-text-strong)}.search-result:focus-visible{background:var(--cc-accent-bg-soft);color:var(--cc-text-strong)}.search-result mark{color:var(--cc-accent);font-weight:var(--cc-fw-bold);background:0 0}.search-result:hover mark,.search-result:focus-visible mark{color:var(--cc-accent-light)}#city-sidebar-right{border-left:1px solid var(--cc-border-subtle);z-index:100;flex-direction:column;flex:none;width:0;height:100%;display:flex;position:relative;overflow:hidden}#city-sidebar-right.open{width:var(--sidebar-width,var(--cc-sidebar-w));min-width:280px;max-width:70vw}@media (width<=640px){#city-sidebar-right.open{width:auto;min-width:0;max-width:none;position:absolute;inset:0}}.editor-body>*{flex:auto;min-height:0}.preview-image{width:100%;height:100%;padding:var(--cc-space-8);object-fit:contain;background:linear-gradient(45deg, var(--cc-bg-chrome) 25%, transparent 25%), linear-gradient(-45deg, var(--cc-bg-chrome) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--cc-bg-chrome) 75%), linear-gradient(-45deg, transparent 75%, var(--cc-bg-chrome) 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px;display:block}.preview-media{background:var(--cc-black);outline:none;width:100%;height:100%;display:block}.preview-pdf{border:none;width:100%;height:100%;display:block}.preview-shell:empty:before{content:"";flex:auto}.code-editor-shell{flex-direction:column;flex:auto;width:100%;height:100%;min-height:0;display:flex}.code-editor-banner{align-items:center;gap:var(--cc-space-4);color:var(--cc-accent-light);font-size:var(--cc-font-xs);line-height:var(--cc-lh-base);flex:none;display:flex}.code-editor-banner .icon{font-size:var(--cc-font-md);flex:none}.code-editor{width:100%;min-height:0;font-family:var(--cc-font-mono);font-size:var(--cc-font-sm);line-height:var(--cc-lh-relaxed);tab-size:4;flex:auto;align-items:stretch;display:flex;overflow:auto}.code-editor-gutter{padding:var(--cc-space-5);background:var(--cc-bg-chrome);border-right:1px solid var(--cc-track);color:var(--cc-text-muted);text-align:right;-webkit-user-select:none;user-select:none;z-index:1;flex-direction:column;flex:none;display:flex;position:sticky;left:0}.code-editor-ln{font-variant-numeric:tabular-nums;min-width:1.5em;display:block}.code-editor-gutter:after{content:"";height:var(--cc-space-8);display:block}.code-editor-pre{margin:var(--cc-space-0);padding:var(--cc-space-5) var(--cc-space-6);white-space:pre;color:var(--cc-text-primary);background:0 0;flex:auto}.code-editor-pre:after{content:"";height:var(--cc-space-8);display:block}.code-editor-code{white-space:inherit;font-family:inherit;background:0 0!important;padding:0!important}.font-specimen{gap:var(--cc-space-9);min-height:0;padding:var(--cc-space-8);color:var(--cc-text-primary);flex-direction:column;flex:auto;display:flex;overflow:auto}.font-specimen-section{gap:var(--cc-space-6);flex-direction:column;display:flex}.font-specimen-label{color:var(--cc-text-muted)}.font-specimen-waterfall{gap:var(--cc-space-2);flex-direction:column;display:flex}.font-specimen-line{margin:var(--cc-space-0);font-size:var(--cc-font-2xl);line-height:var(--cc-lh-tight);word-break:break-word}.font-specimen-pangram{margin:var(--cc-space-4) var(--cc-space-0) var(--cc-space-0);font-size:16px;line-height:var(--cc-lh-base);color:var(--cc-text-secondary);word-break:break-word}.font-specimen-repertoire{gap:var(--cc-space-1);grid-template-columns:repeat(auto-fill,minmax(2rem,1fr));display:grid}.font-specimen-glyph{height:2rem;font-size:var(--cc-font-lg);border-radius:var(--cc-radius-sm);justify-content:center;align-items:center;line-height:1;display:flex}.font-specimen-glyph:hover{background:var(--cc-bg-chrome)}.file-preview-loading .icon{color:var(--cc-accent);animation:.8s linear infinite file-preview-spin}@keyframes file-preview-spin{to{transform:rotate(360deg)}}.binary-card{gap:var(--cc-space-8);min-height:0;padding:var(--cc-space-8);flex-direction:column;flex:auto;display:flex;overflow:auto}.binary-fingerprint-frame{aspect-ratio:1;background:var(--cc-track);border-radius:var(--cc-radius-sm);justify-content:center;align-self:center;align-items:center;width:100%;max-width:320px;display:flex}.binary-fingerprint{object-fit:contain;width:100%;height:100%;image-rendering:pixelated;border-radius:var(--cc-radius-sm)}.binary-fingerprint-fallback{width:33%;height:33%;color:var(--cc-text-faint)}.binary-card-facts{gap:var(--cc-space-3) var(--cc-space-6);margin:var(--cc-space-0);grid-template-columns:max-content 1fr;display:grid}.binary-card-facts dt{align-self:baseline}.binary-card-facts dd{margin:var(--cc-space-0);color:var(--cc-text-primary);font-size:var(--cc-font-sm);word-break:break-word}.card-banner{background:var(--cc-accent-bg-soft);border-bottom:1px solid var(--cc-accent-bg);padding:var(--cc-space-3) var(--cc-space-6)}.pane-stats{align-items:center;gap:var(--cc-space-3);min-width:0;padding:var(--cc-space-4) var(--cc-pane-inset);border-top:1px solid var(--cc-border-subtle);font-family:var(--cc-font-mono);font-size:var(--cc-font-2xs);color:var(--cc-text-secondary);flex-wrap:nowrap;flex:none;display:flex}.pane-stats-item{text-overflow:ellipsis;white-space:nowrap;min-width:3ch;overflow:hidden}.pane-stats-sep{color:var(--cc-text-faint);pointer-events:none;flex:none}.crumbs{align-items:center;gap:var(--cc-space-1);white-space:nowrap;flex:0 auto;min-width:0;display:flex;overflow:hidden}.crumb.is-leaf{text-overflow:ellipsis;min-width:6ch;overflow:hidden}.btn-icon.is-leaf{color:var(--cc-text-strong);cursor:default}.btn-icon.is-leaf:not(:disabled):hover{background:0 0}.crumb--static{color:var(--cc-text-muted);white-space:nowrap}.crumb--static.is-leaf{color:var(--cc-text-strong)}.crumb-sep{color:var(--cc-text-faint);font-size:var(--cc-font-sm);pointer-events:none;flex:none}.crumb-ellipsis{color:var(--cc-text-muted);padding:0 var(--cc-space-1);cursor:help;-webkit-user-select:none;user-select:none;flex:none}.commit-body{gap:var(--cc-space-4);flex-direction:column;display:flex}.commit-sha{font-family:var(--cc-font-mono);font-size:var(--cc-font-sm);font-weight:var(--cc-fw-semibold);color:var(--cc-text-strong)}.commit-author{align-items:center;gap:var(--cc-space-3);display:flex}.commit-authors{gap:var(--cc-space-1);flex-direction:column;display:flex}.commit-author-dot{border-radius:var(--cc-radius-circle);flex-shrink:0;width:8px;height:8px}.commit-author-name{font-size:var(--cc-font-sm);font-weight:var(--cc-fw-medium);color:var(--cc-text-primary)}.commit-message-subject{font-size:var(--cc-font-md);color:var(--cc-text-strong);font-weight:var(--cc-fw-semibold);white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:var(--cc-lh-base)}.commit-message-body-slot--loading{font-size:var(--cc-font-xs);color:var(--cc-text-muted);padding:var(--cc-space-3) 0}.commit-message-body{font-family:var(--cc-font-mono);font-size:var(--cc-font-xs);white-space:pre-wrap;padding:var(--cc-space-4);background:var(--cc-overlay-bg-soft);border-radius:var(--cc-radius-sm);color:var(--cc-text-secondary)}.commit-message-error{font-size:var(--cc-font-xs);color:var(--cc-text-muted)}.commit-meta{align-items:baseline;gap:var(--cc-space-3);color:var(--cc-text-secondary);font-size:var(--cc-font-sm);flex-wrap:wrap;display:flex}.commit-meta-sep{color:var(--cc-text-faint)}.commit-date{color:var(--cc-text-strong)}.commit-age,.commit-files{color:var(--cc-text-secondary)}.commit-same-day{color:var(--cc-text-secondary);font-size:var(--cc-font-sm);align-items:center;gap:6px;display:flex}.commit-swatch{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.commit-title-author{color:var(--cc-text-secondary);text-overflow:ellipsis;min-width:0;overflow:hidden}.street-body{flex-direction:column;display:flex}.street-content{gap:var(--cc-space-6);flex-direction:column;flex:auto;min-height:0;display:flex;overflow-y:auto}.street-dates{align-items:center;gap:var(--cc-space-3);font-size:var(--cc-font-xs);color:var(--cc-text-secondary);display:flex}.street-dates-icon{width:14px;height:14px;color:var(--cc-text-faint)}.street-ext-h{align-items:center;gap:var(--cc-space-3);display:flex}.street-ext-icon{width:15px;height:15px;color:var(--cc-layer-streets)}.street-ext-list{align-items:center;column-gap:var(--cc-space-3);row-gap:var(--cc-space-4);font-size:var(--cc-font-sm);grid-template-columns:auto 1fr auto;display:grid}.street-ext-row{display:contents}.street-ext-row .path-badge{justify-self:start}.street-ext-track{border-radius:var(--cc-radius-sm);background:var(--cc-bg-app);min-width:0;height:18px;position:relative;overflow:hidden}.street-ext-fill{opacity:.8;border-radius:0 var(--cc-radius-sm) var(--cc-radius-sm) 0;position:absolute;inset:0 auto 0 0}.street-ext-meta{color:var(--cc-text-primary);white-space:nowrap;justify-self:end}.loading-backdrop{background:var(--cc-bg-backdrop);-webkit-backdrop-filter:blur(4px);z-index:1000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.loading-card{align-items:center;gap:var(--cc-space-7);padding:var(--cc-space-8) var(--cc-space-9);width:clamp(17.5rem,90vw,26rem);max-width:calc(100vw - 2 * (var(--cc-rail-w) + var(--cc-space-3)));flex-direction:column;display:flex}@media (width<=640px){.loading-card{padding:var(--cc-space-7) var(--cc-space-6)}}.card-overlay{color:var(--cc-text-base);border-radius:var(--cc-radius-lg);box-shadow:var(--cc-shadow-lg)}.loading-header{justify-content:center;align-items:center;gap:var(--cc-space-3);min-height:calc(var(--cc-font-lg) * 1.4);align-self:stretch;min-width:0;display:flex}.loading-pending-label{font-size:var(--cc-font-lg);font-weight:var(--cc-fw-semibold);color:var(--cc-text-strong);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.loading-header .branch-pill{flex:none;margin-left:0}.loading-spinner{border:3px solid var(--cc-overlay-border);border-top-color:var(--cc-accent);border-radius:var(--cc-radius-circle);width:28px;height:28px;animation:.8s linear infinite cc-spin}@keyframes cc-spin{to{transform:rotate(360deg)}}.loading-status{font-size:var(--cc-font-md);color:var(--cc-text-secondary);text-align:center}.loading-steps{margin:var(--cc-space-0);padding:var(--cc-space-0);gap:var(--cc-space-3);flex-direction:column;align-self:stretch;list-style:none;display:flex}.loading-steps li{font-size:var(--cc-font-sm);padding:var(--cc-space-1) 0 var(--cc-space-1) var(--cc-space-8);color:var(--cc-text-secondary);transition:color var(--cc-t-base);position:relative}.loading-steps li:before{content:"";text-align:center;width:12px;font-size:var(--cc-font-xs);position:absolute;top:50%;left:0;transform:translateY(-50%)}.loading-steps li[data-state=pending]{color:var(--cc-text-secondary)}.loading-steps li[data-state=active]{color:var(--cc-text-strong)}.loading-steps li[data-state=active]:before{content:"›";color:var(--cc-text-strong);font-size:var(--cc-font-md);font-weight:var(--cc-fw-bold)}.loading-steps li[data-state=done]{color:var(--cc-text-secondary)}.loading-steps li[data-state=done]:before{content:"✓";color:var(--cc-success-dark);font-size:var(--cc-font-2xs)}.loading-step-tail{margin-left:var(--cc-space-3);color:var(--cc-text-secondary);font-size:var(--cc-font-xs);font-variant-numeric:tabular-nums}.loading-cancel{align-self:stretch}.hljs{color:var(--cc-text-primary);background:0 0}.hljs-keyword,.hljs-selector-tag,.hljs-literal,.hljs-section,.hljs-link{color:var(--cc-syntax-keyword)}.hljs-string,.hljs-attr,.hljs-symbol,.hljs-bullet,.hljs-meta-string{color:var(--cc-syntax-string)}.hljs-number,.hljs-quote,.hljs-template-tag,.hljs-type{color:var(--cc-warning)}.hljs-title,.hljs-name,.hljs-selector-id,.hljs-selector-class{color:var(--cc-accent)}.hljs-built_in,.hljs-builtin-name{color:var(--cc-syntax-builtin)}.hljs-variable,.hljs-template-variable{color:var(--cc-syntax-variable)}.hljs-comment,.hljs-meta{color:var(--cc-syntax-comment);font-style:italic}.hljs-deletion{color:var(--cc-syntax-deletion);background:var(--cc-syntax-deletion-bg)}.hljs-addition{color:var(--cc-syntax-string);background:var(--cc-syntax-string-bg)}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:var(--cc-fw-semibold)}
