.tv-root{--bg: #0b0f17;--bg-2: #111827;--bg-3: #1a2335;--panel: #131a28;--border: #243049;--border-soft: #1c2638;--text: #e6edf6;--text-dim: #93a1b8;--text-faint: #5e6b82;--accent: #6aa6ff;--radius: 12px;font-synthesis:none;min-height:100%;background:radial-gradient(1200px 600px at 70% -10%,#16203a 0%,var(--bg) 55%);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5}.tv-root code,.tv-root pre,.tv-root .mono{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.tv-root .app{min-height:100%;display:flex;flex-direction:column}.tv-root .topbar{display:flex;align-items:center;gap:16px;padding:12px 22px;border-bottom:1px solid var(--border);background:#0b0f17b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0;z-index:30}.tv-root .topbar__brand{font-weight:700;letter-spacing:.2px}.tv-root .topbar__file{color:var(--text-dim);font-size:13px;margin-left:auto;display:inline-flex;align-items:center;gap:8px}.tv-root .source-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border-radius:6px;border:1px solid transparent}.tv-root .source-badge--groundcover{background:#10b9812e;border-color:#10b981;color:#6ee7b7}.tv-root .btn{background:var(--accent);color:#06101f;border:none;border-radius:8px;padding:9px 16px;font-weight:600;cursor:pointer;font-size:13px}.tv-root .btn:hover{filter:brightness(1.08)}.tv-root .btn:disabled{opacity:.6;cursor:default}.tv-root .btn--ghost{background:transparent;color:var(--text-dim);border:1px solid var(--border)}.tv-root .btn--ghost:hover{color:var(--text);border-color:var(--accent)}.tv-root .app--empty .empty-main{max-width:760px;margin:7vh auto;padding:0 20px;display:flex;flex-direction:column;gap:22px}.tv-root .mode-toggle{display:inline-flex;align-self:center;background:var(--bg-2);border:1px solid var(--border);border-radius:10px;padding:4px;gap:4px}.tv-root .mode-toggle__btn{background:none;border:none;color:var(--text-dim);font-size:13px;font-weight:600;padding:8px 18px;border-radius:7px;cursor:pointer}.tv-root .mode-toggle__btn--on{background:var(--accent);color:#06101f}.tv-root .fetcher{border:1px solid var(--border);border-radius:16px;padding:28px 24px;background:#131a2880;display:flex;flex-direction:column;gap:16px}.tv-root .fetcher__row{display:flex;gap:10px}.tv-root .fetcher__input{flex:1;background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:9px;padding:11px 14px;font-size:14px;font-family:ui-monospace,monospace}.tv-root .fetcher__input:focus{outline:none;border-color:var(--accent)}.tv-root .fetcher__hint{color:var(--text-faint);font-size:12px}.tv-root .fetcher__hint code{background:var(--bg-3);padding:1px 5px;border-radius:4px;color:var(--text-dim)}.tv-root .fetcher__status{color:var(--accent);font-size:13px}.tv-root .filedrop{border:2px dashed var(--border);border-radius:16px;padding:44px 24px;text-align:center;cursor:pointer;transition:all .15s ease;background:#131a2880}.tv-root .filedrop--drag,.tv-root .filedrop:hover{border-color:var(--accent);background:#6aa6ff0f}.tv-root .filedrop__icon{font-size:40px;opacity:.7}.tv-root .filedrop__title{font-size:18px;font-weight:600;margin-top:8px}.tv-root .filedrop__hint{color:var(--text-dim);margin-bottom:18px}.tv-root .filedrop__privacy{color:var(--text-faint);font-size:12px;margin-top:14px}.tv-root .empty-help{color:var(--text-dim)}.tv-root .empty-help h3{color:var(--text)}.tv-root .legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:14px}.tv-root .legend__item{display:inline-flex;align-items:center;gap:7px;font-size:13px}.tv-root .error{background:#f43f5e1f;border:1px solid rgba(244,63,94,.4);color:#fda4b3;padding:10px 14px;border-radius:8px}.tv-root .dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex:none}.tv-root .muted{color:var(--text-dim)}.tv-root .err{color:#fda4b3}.tv-root .main{max-width:1240px;width:100%;margin:0 auto;padding:22px;display:flex;flex-direction:column;gap:20px}.tv-root .banner{background:linear-gradient(180deg,var(--bg-3),var(--panel));border:1px solid var(--border);border-radius:var(--radius);padding:20px 22px}.tv-root .banner__head{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:flex-start}.tv-root .banner__title{margin:0;font-size:20px}.tv-root .banner__sub{color:var(--text-dim);font-size:13px;margin-top:4px}.tv-root .banner__stats{display:flex;gap:10px;flex-wrap:wrap}.tv-root .stat{background:var(--bg-2);border:1px solid var(--border-soft);border-radius:10px;padding:8px 14px;text-align:center;min-width:72px}.tv-root .stat__value{font-size:18px;font-weight:700}.tv-root .stat__label{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.4px}.tv-root .stat--ok .stat__value{color:#4ade80}.tv-root .stat--warn .stat__value{color:#fbbf24}.tv-root .stat--accent .stat__value{color:#fb923c}.tv-root .stat--err .stat__value{color:#f87171}.tv-root .lineage{display:flex;align-items:stretch;gap:4px;flex-wrap:wrap;margin-top:20px}.tv-root .lineage__node-wrap{display:flex;align-items:stretch}.tv-root .lineage__node{display:flex;flex-direction:column;gap:2px;text-align:left;background:var(--bg-2);border:1px solid var(--border);border-radius:10px;padding:10px 14px;cursor:pointer;color:var(--text)}.tv-root .lineage__node:hover{border-color:var(--accent)}.tv-root .lineage__node--final{border-color:#4ade80}.tv-root .lineage__node-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim)}.tv-root .lineage__node-id{font-family:ui-monospace,monospace;font-size:13px}.tv-root .lineage__node-time{font-size:11px;color:var(--text-faint)}.tv-root .lineage__node-by{font-size:11px}.tv-root .lineage__arrow{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 6px;min-width:92px}.tv-root .lineage__arrow-line{width:100%;height:2px;background:linear-gradient(90deg,transparent,#fb923c,transparent);position:relative}.tv-root .lineage__arrow-line:after{content:"▶";position:absolute;right:-2px;top:-8px;color:#fb923c;font-size:11px}.tv-root .lineage__arrow-label{font-size:10px;color:#fb923c;margin-top:4px;text-align:center}.tv-root .lineage__arrow-label em{color:var(--text-faint);font-style:normal}.tv-root .banner__note{margin-top:18px;padding:12px 14px;background:#6aa6ff14;border:1px solid rgba(106,166,255,.25);border-radius:10px;color:var(--text-dim);font-size:13px}.tv-root .banner__note strong{color:var(--text)}.tv-root .panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px}.tv-root .panel__title{margin:0 0 12px;font-size:15px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.6px}.tv-root .panel__head{display:flex;justify-content:space-between;align-items:center}.tv-root .timeline{display:flex;flex-direction:column;gap:10px}.tv-root .timeline__scroll{overflow-x:auto}.tv-root .timeline__inner{min-width:720px}.tv-root .timeline__axis,.tv-root .timeline__lane{display:flex;align-items:stretch}.tv-root .timeline__lane-label{width:150px;flex:none;display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-dim);padding-right:10px}.tv-root .timeline__lane-count{margin-left:auto;background:var(--bg-3);border-radius:20px;padding:0 8px;font-size:11px}.tv-root .timeline__track{position:relative;flex:1;height:34px;border-left:1px solid var(--border-soft)}.tv-root .timeline__axis .timeline__track{height:22px}.tv-root .timeline__lane{border-top:1px solid var(--border-soft)}.tv-root .timeline__tick{position:absolute;top:0;bottom:0}.tv-root .timeline__tick-label{position:absolute;top:2px;left:4px;font-size:10px;color:var(--text-faint);white-space:nowrap}.tv-root .timeline__guide{position:absolute;top:0;bottom:0;width:2px;opacity:.85}.tv-root .timeline__guide--faint{opacity:.22;width:1px}.tv-root .timeline__node{position:absolute;top:9px;height:16px;min-width:5px;border:none;border-radius:4px;cursor:pointer;padding:0;opacity:.78;transition:opacity .1s,transform .1s}.tv-root .timeline__node:hover{opacity:1;transform:scaleY(1.25)}.tv-root .timeline__node--key{opacity:1;height:18px;top:8px}.tv-root .timeline__node--selected{outline:2px solid #fff;outline-offset:1px;opacity:1}.tv-root .timeline__node-flag{position:absolute;top:-7px;left:50%;transform:translate(-50%) rotate(45deg);width:7px;height:7px;border-radius:1px}.tv-root .timeline__note{border-top:1px solid var(--border-soft);padding-top:10px;font-size:12px;color:var(--text-faint)}.tv-root .timeline__legend,.tv-root .timeline__selected{border-top:1px solid var(--border-soft);padding-top:10px;font-size:12px;color:var(--text-dim);display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tv-root .filters{margin-bottom:12px}.tv-root .filters__row{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;align-items:center}.tv-root .filters__actors{display:flex;gap:8px;flex-wrap:wrap}.tv-root .chip{display:inline-flex;align-items:center;gap:7px;background:var(--bg-2);border:1px solid var(--border);color:var(--text-dim);border-radius:20px;padding:5px 12px;font-size:12px;cursor:pointer}.tv-root .chip--off{opacity:.4}.tv-root .filters__inputs{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.tv-root .filters__check{display:inline-flex;gap:6px;align-items:center;font-size:12px;color:var(--text-dim)}.tv-root .filters__select,.tv-root .filters__search{background:var(--bg-2);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:7px 10px;font-size:12px}.tv-root .filters__search{min-width:180px}.tv-root .filters__count{font-size:12px;color:var(--text-faint)}.tv-root .feed{display:flex;flex-direction:column;gap:8px;max-height:70vh;overflow-y:auto;padding-right:4px}.tv-root .feed__empty{color:var(--text-dim);padding:20px;text-align:center}.tv-root .card{background:var(--bg-2);border:1px solid var(--border-soft);border-left:3px solid var(--accent);border-radius:10px;overflow:hidden;flex:none}.tv-root .card--key{background:linear-gradient(90deg,rgba(251,146,60,.06),var(--bg-2) 40%)}.tv-root .card--selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.tv-root .card__head{display:grid;grid-template-columns:118px 130px minmax(0,1fr) auto auto;gap:12px;align-items:start;width:100%;background:none;border:none;color:var(--text);cursor:pointer;padding:11px 14px;text-align:left}.tv-root .card__head:hover{background:#ffffff05}.tv-root .card__time{font-size:12px;font-family:ui-monospace,monospace;display:flex;flex-direction:column;padding-top:2px}.tv-root .card__offset{color:var(--text-faint);font-size:10px}.tv-root .card__actor{font-size:11px;font-weight:600;color:#06101f;padding:3px 8px;border-radius:6px;text-align:center;white-space:nowrap}.tv-root .card__summary{font-size:13px;color:var(--text);min-width:0;line-height:1.5;overflow-wrap:anywhere}.tv-root .card__badges{display:flex;gap:6px;align-items:flex-start;padding-top:1px;flex-wrap:wrap;justify-content:flex-end;max-width:220px}.tv-root .card__dur{font-size:11px;color:var(--text-faint)}.tv-root .card__chevron{color:var(--text-faint);font-size:18px;transition:transform .15s}.tv-root .card__chevron--open{transform:rotate(90deg)}.tv-root .param{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.86em;background:#6aa6ff21;border:1px solid rgba(106,166,255,.3);color:#aecbff;padding:0 5px;border-radius:5px;overflow-wrap:anywhere;white-space:normal}.tv-root .param--empty{background:#94a3b81f;border-color:#94a3b84d;color:var(--text-faint)}.tv-root .badge{font-size:10px;font-weight:700;color:#06101f;padding:2px 7px;border-radius:6px;white-space:nowrap}.tv-root .badge--status{background:#334155;color:#cbd5e1}.tv-root .badge--err{background:#f43f5e;color:#fff}.tv-root .client-pill{display:inline-flex;align-items:center;gap:5px;max-width:260px;font-size:11px;font-weight:600;padding:2px 8px 2px 6px;border-radius:999px;border:1px solid transparent;white-space:nowrap}.tv-root .client-pill__arrow{font-size:12px;line-height:1;opacity:.85}.tv-root .client-pill__key{text-transform:uppercase;letter-spacing:.04em;font-size:9px;font-weight:800;opacity:.8}.tv-root .client-pill__text{overflow:hidden;text-overflow:ellipsis;font-weight:600}.tv-root .client-pill--ok{background:#22c55e29;border-color:#22c55e73;color:#7ee2a8}.tv-root .client-pill--pending{background:#eab30829;border-color:#eab30873;color:#f4d774}.tv-root .client-pill--error{background:#ef44442e;border-color:#ef44448c;color:#fca5a5}.tv-root .card__body{border-top:1px solid var(--border-soft);padding:12px 14px}.tv-root .card__props{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--text-dim);margin-bottom:10px}.tv-root .card__props code{color:var(--text);background:var(--bg-3);padding:1px 6px;border-radius:5px}.tv-root .card__lines{display:flex;flex-direction:column;gap:6px}.tv-root .logline{background:var(--bg);border:1px solid var(--border-soft);border-radius:8px;padding:8px 10px}.tv-root .logline--key{border-color:#fb923c66}.tv-root .logline--client{border-width:1px;border-left-width:4px}.tv-root .logline--client-ok{border-left-color:#22c55e;background:#22c55e0f}.tv-root .logline--client-pending{border-left-color:#eab308;background:#eab3080f}.tv-root .logline--client-error{border-left-color:#ef4444;background:#ef444412}.tv-root .client-tag{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:2px 7px;border-radius:6px;background:#6aa6ff2e;color:#aecbff}.tv-root .client-result{display:flex;align-items:center;gap:9px;margin-top:7px;padding:7px 10px;border-radius:7px;background:var(--bg-2);border:1px solid var(--border-soft);font-size:13px}.tv-root .client-result__badge{font-size:10px;font-weight:800;color:#06101f;padding:2px 8px;border-radius:6px;white-space:nowrap}.tv-root .client-result__body{color:var(--text);overflow-wrap:anywhere}.tv-root .client-result__body strong{color:var(--text-dim);font-weight:600;margin-right:2px}.tv-root .client-result__code{margin-left:8px;font-family:ui-monospace,monospace;font-size:.85em;background:var(--bg-3);padding:1px 6px;border-radius:5px;color:var(--text-dim)}.tv-root .logline__head{display:flex;align-items:center;gap:10px;font-size:11px;flex-wrap:wrap}.tv-root .logline__time{font-family:ui-monospace,monospace;color:var(--text-dim)}.tv-root .logline__level{padding:1px 6px;border-radius:5px;background:var(--bg-3);color:var(--text-dim)}.tv-root .logline__level--warning{background:#fbbf2433;color:#fbbf24}.tv-root .logline__level--error{background:#f43f5e33;color:#fda4b3}.tv-root .logline__ctx{color:var(--accent);font-family:ui-monospace,monospace}.tv-root .logline__raw-toggle{margin-left:auto;background:none;border:1px solid var(--border);color:var(--text-faint);border-radius:5px;font-size:10px;padding:1px 7px;cursor:pointer}.tv-root .logline__msg{margin-top:5px;font-size:13px}.tv-root .logline__meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:5px;font-size:11px;color:var(--text-dim)}.tv-root .logline__json{margin-top:8px;background:#05080e;border:1px solid var(--border-soft);border-radius:6px;padding:10px;font-size:11px;overflow-x:auto;color:#c4d0e3;max-height:320px}.tv-root ::-webkit-scrollbar{width:10px;height:10px}.tv-root ::-webkit-scrollbar-thumb{background:var(--border);border-radius:8px}.tv-root ::-webkit-scrollbar-track{background:transparent}.tv-root .topbar{position:static}/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-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-duration:initial}}}@font-face{font-family:DM Sans;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/dm-sans-normal-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/dm-sans-normal-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/dm-sans-italic-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/dm-sans-italic-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/jetbrains-mono-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/jetbrains-mono-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@layer bq-theme{:root,:host{--font-sans:"DM Sans", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--color-violet-50:oklch(96.9% .016 293.756);--color-violet-100:oklch(94.3% .029 294.588);--color-violet-200:oklch(89.4% .057 293.283);--color-violet-300:oklch(81.1% .111 293.571);--color-violet-400:oklch(70.2% .183 293.541);--color-violet-600:oklch(54.1% .281 293.009);--color-violet-700:oklch(49.1% .27 292.581);--color-violet-800:oklch(43.2% .232 292.759);--color-violet-900:oklch(38% .189 293.745);--color-neutral-50:oklch(98.5% 0 0);--color-neutral-100:oklch(97% 0 0);--color-neutral-200:oklch(92.2% 0 0);--color-neutral-300:oklch(87% 0 0);--color-neutral-400:oklch(70.8% 0 0);--color-neutral-500:oklch(55.6% 0 0);--color-neutral-600:oklch(43.9% 0 0);--color-neutral-800:oklch(26.9% 0 0);--color-neutral-900:oklch(20.5% 0 0);--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wider:.05em;--leading-snug:1.375;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}@layer bq-utilities{.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.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}}.my-3{margin-block:calc(var(--spacing) * 3)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.h-2{height:calc(var(--spacing) * 2)}.h-8{height:calc(var(--spacing) * 8)}.min-h-full{min-height:100%}.w-8{width:calc(var(--spacing) * 8)}.w-12{width:calc(var(--spacing) * 12)}.w-full{width:100%}.flex-1{flex:1}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-visible{overflow:visible}.overflow-y-auto{overflow-y:auto}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-neutral-200{border-color:var(--color-neutral-200)}.border-neutral-300{border-color:var(--color-neutral-300)}.border-transparent{border-color:#0000}.border-violet-200{border-color:var(--color-violet-200)}.border-violet-300{border-color:var(--color-violet-300)}.bg-\[\#0b0f17\]{background-color:#0b0f17}.bg-neutral-50{background-color:var(--color-neutral-50)}.bg-neutral-100{background-color:var(--color-neutral-100)}.bg-neutral-200{background-color:var(--color-neutral-200)}.bg-violet-50\/40{background-color:#f5f3ff66}@supports (color:color-mix(in lab,red,red)){.bg-violet-50\/40{background-color:color-mix(in oklab,var(--color-violet-50) 40%,transparent)}}.bg-violet-50\/60{background-color:#f5f3ff99}@supports (color:color-mix(in lab,red,red)){.bg-violet-50\/60{background-color:color-mix(in oklab,var(--color-violet-50) 60%,transparent)}}.bg-violet-50\/70{background-color:#f5f3ffb3}@supports (color:color-mix(in lab,red,red)){.bg-violet-50\/70{background-color:color-mix(in oklab,var(--color-violet-50) 70%,transparent)}}.bg-violet-100\/50{background-color:#ede9fe80}@supports (color:color-mix(in lab,red,red)){.bg-violet-100\/50{background-color:color-mix(in oklab,var(--color-violet-100) 50%,transparent)}}.bg-violet-200{background-color:var(--color-violet-200)}.bg-violet-600{background-color:var(--color-violet-600)}.bg-white{background-color:var(--color-white)}.stroke-neutral-200{stroke:var(--color-neutral-200)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.text-center{text-align:center}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[11px\]{font-size:11px}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-\[\#e8eaf0\]{color:#e8eaf0}.text-neutral-200{color:var(--color-neutral-200)}.text-neutral-400{color:var(--color-neutral-400)}.text-neutral-500{color:var(--color-neutral-500)}.text-neutral-600{color:var(--color-neutral-600)}.text-neutral-800{color:var(--color-neutral-800)}.text-neutral-900{color:var(--color-neutral-900)}.text-violet-600{color:var(--color-violet-600)}.text-violet-700{color:var(--color-violet-700)}.text-violet-900{color:var(--color-violet-900)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-violet-600{accent-color:var(--color-violet-600)}.opacity-40{opacity:.4}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition-\[stroke-dashoffset\]{transition-property:stroke-dashoffset;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))}.duration-500{--tw-duration:.5s;transition-duration:.5s}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.hover\:bg-neutral-100:hover{background-color:var(--color-neutral-100)}.hover\:bg-neutral-300:hover{background-color:var(--color-neutral-300)}}@media (min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.sm\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}}@media (min-width:64rem){.lg\:w-80{width:calc(var(--spacing) * 80)}.lg\:flex-row{flex-direction:row}.lg\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.lg\:border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.lg\:p-6{padding:calc(var(--spacing) * 6)}.lg\:p-8{padding:calc(var(--spacing) * 8)}}@media (min-width:80rem){.xl\:col-span-2{grid-column:span 2/span 2}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.bq-dark .dark\:border-\[\#2a2f3d\]{border-color:#2a2f3d}.bq-dark .dark\:border-violet-700{border-color:var(--color-violet-700)}.bq-dark .dark\:border-violet-700\/60{border-color:#7008e799}@supports (color:color-mix(in lab,red,red)){.bq-dark .dark\:border-violet-700\/60{border-color:color-mix(in oklab,var(--color-violet-700) 60%,transparent)}}.bq-dark .dark\:border-violet-800\/40{border-color:#5d0ec066}@supports (color:color-mix(in lab,red,red)){.bq-dark .dark\:border-violet-800\/40{border-color:color-mix(in oklab,var(--color-violet-800) 40%,transparent)}}.bq-dark .dark\:border-violet-800\/50{border-color:#5d0ec080}@supports (color:color-mix(in lab,red,red)){.bq-dark .dark\:border-violet-800\/50{border-color:color-mix(in oklab,var(--color-violet-800) 50%,transparent)}}.bq-dark .dark\:bg-\[\#1a2335\]{background-color:#1a2335}.bq-dark .dark\:bg-\[\#14171f\]{background-color:#14171f}.bq-dark .dark\:bg-\[\#111827\]{background-color:#111827}.bq-dark .dark\:bg-violet-900\/10{background-color:#4d179a1a}@supports (color:color-mix(in lab,red,red)){.bq-dark .dark\:bg-violet-900\/10{background-color:color-mix(in oklab,var(--color-violet-900) 10%,transparent)}}.bq-dark .dark\:bg-violet-900\/15{background-color:#4d179a26}@supports (color:color-mix(in lab,red,red)){.bq-dark .dark\:bg-violet-900\/15{background-color:color-mix(in oklab,var(--color-violet-900) 15%,transparent)}}.bq-dark .dark\:bg-violet-900\/20{background-color:#4d179a33}@supports (color:color-mix(in lab,red,red)){.bq-dark .dark\:bg-violet-900\/20{background-color:color-mix(in oklab,var(--color-violet-900) 20%,transparent)}}.bq-dark .dark\:bg-violet-900\/40{background-color:#4d179a66}@supports (color:color-mix(in lab,red,red)){.bq-dark .dark\:bg-violet-900\/40{background-color:color-mix(in oklab,var(--color-violet-900) 40%,transparent)}}.bq-dark .dark\:stroke-\[\#2a2f3d\]{stroke:#2a2f3d}.bq-dark .dark\:text-\[\#2a2f3d\]{color:#2a2f3d}.bq-dark .dark\:text-\[\#5c6579\]{color:#5c6579}.bq-dark .dark\:text-\[\#93a1b8\]{color:#93a1b8}.bq-dark .dark\:text-\[\#e8eaf0\]{color:#e8eaf0}.bq-dark .dark\:text-violet-200{color:var(--color-violet-200)}.bq-dark .dark\:text-violet-300{color:var(--color-violet-300)}.bq-dark .dark\:text-violet-400{color:var(--color-violet-400)}@media (hover:hover){.bq-dark .dark\:hover\:bg-\[\#1a2335\]:hover{background-color:#1a2335}.bq-dark .dark\:hover\:bg-\[\#243049\]:hover{background-color:#243049}}}.bq-root input[type=number]{-moz-appearance:auto}.bq-root input[type=number]::-webkit-inner-spin-button{opacity:1}.bq-root input[type=number]::-webkit-outer-spin-button{opacity:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}.dbt-root{--bg: #0b0f17;--bg-2: #111827;--bg-3: #1a2335;--panel: #131a28;--border: #243049;--text: #e6edf6;--text-dim: #93a1b8;--text-faint: #5e6b82;--accent: #6aa6ff;--radius: 10px;min-height:100%;background:radial-gradient(1200px 600px at 70% -10%,#16203a 0%,var(--bg) 55%);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5;@keyframes dbt-spin{to{transform:rotate(360deg)}}}.dbt-root .dbt-topbar{display:flex;align-items:center;gap:16px;padding:12px 24px;border-bottom:1px solid var(--border);background:#0b0f17b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0;z-index:30}.dbt-root .dbt-topbar__brand{font-weight:700;font-size:15px}.dbt-root .dbt-main{max-width:820px;margin:0 auto;padding:32px 24px 80px}.dbt-root .dbt-main--wide{max-width:1500px}.dbt-root .dbt-btn{background:var(--accent);color:#06101f;border:none;border-radius:8px;padding:10px 20px;font-weight:600;cursor:pointer;font-size:13px}.dbt-root .dbt-btn:hover{filter:brightness(1.08)}.dbt-root .dbt-btn:disabled{opacity:.55;cursor:default}.dbt-root .dbt-btn--ghost{background:transparent;color:var(--text-dim);border:1px solid var(--border);margin-left:auto}.dbt-root .dbt-btn--ghost:hover{color:var(--text);border-color:var(--accent)}.dbt-root .dbt-btn--sm{padding:7px 14px;font-size:12px}.dbt-root .dbt-form{display:flex;flex-direction:column;gap:20px;max-width:560px}.dbt-root .dbt-form__group{display:flex;flex-direction:column;gap:6px}.dbt-root .dbt-label{font-size:13px;font-weight:500;color:var(--text-dim)}.dbt-root .dbt-label__req{color:var(--accent);margin-left:2px}.dbt-root .dbt-input{background:var(--bg-2);border:1px solid var(--border);border-radius:7px;color:var(--text);padding:9px 12px;font-size:14px;outline:none;width:100%;box-sizing:border-box}.dbt-root .dbt-input:focus{border-color:var(--accent)}.dbt-root .dbt-input--short{max-width:120px}.dbt-root .dbt-details{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-2);overflow:hidden}.dbt-root .dbt-details__summary{padding:10px 16px;cursor:pointer;font-weight:500;color:var(--text-dim);font-size:13px;list-style:none;display:flex;align-items:center;gap:6px;-webkit-user-select:none;user-select:none}.dbt-root .dbt-details__summary:hover{color:var(--text)}.dbt-root .dbt-details__summary:before{content:"▸";font-size:10px}.dbt-root .dbt-details[open] .dbt-details__summary:before{content:"▾"}.dbt-root .dbt-details__body{padding:12px 16px 16px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:14px}.dbt-root .dbt-filedrop{border:1px dashed var(--border);border-radius:8px;padding:16px;text-align:center;cursor:pointer;color:var(--text-dim);font-size:13px;display:flex;align-items:center;justify-content:center;gap:8px;transition:border-color .15s,color .15s}.dbt-root .dbt-filedrop:hover,.dbt-root .dbt-filedrop--drag{border-color:var(--accent);color:var(--text)}.dbt-root .dbt-filedrop__icon{font-size:18px}.dbt-root .dbt-filedrop__name{color:var(--accent)}.dbt-root .dbt-error{background:#ef44441f;border:1px solid rgba(239,68,68,.35);border-radius:7px;color:#fca5a5;padding:10px 14px;font-size:13px}.dbt-root .dbt-hint{color:var(--text-faint);font-size:12px;margin:0}.dbt-root .dbt-running__header{display:flex;align-items:center;gap:10px;margin-bottom:16px;color:var(--text-dim);font-size:13px}.dbt-root .dbt-running__header code{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12px;background:var(--bg-3);padding:2px 6px;border-radius:4px}.dbt-root .dbt-spinner{width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:dbt-spin .7s linear infinite;flex-shrink:0}.dbt-root .dbt-progress{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;height:360px;overflow-y:auto;display:flex;flex-direction:column;gap:6px}.dbt-root .dbt-progress__empty{color:var(--text-faint);font-size:13px}.dbt-root .dbt-progress__line{font-size:12px;color:var(--text-dim);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;white-space:pre-wrap;word-break:break-word;line-height:1.6;border-bottom:1px solid rgba(36,48,73,.5);padding-bottom:6px}.dbt-root .dbt-progress__line:last-of-type{border-bottom:none}.dbt-root .dbt-results{display:flex;flex-direction:column;gap:24px}.dbt-root .dbt-results__actions{display:flex;gap:10px}.dbt-root .dbt-results__grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}@media (max-width: 1024px){.dbt-root .dbt-results__grid{grid-template-columns:1fr}}.dbt-root .dbt-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:20px;min-width:0}.dbt-root .dbt-card--full{grid-column:1 / -1}.dbt-root .dbt-section__title{font-size:15px;font-weight:700;margin:0 0 12px;color:var(--text)}.dbt-root .dbt-table-wrap{overflow-x:auto}.dbt-root .dbt-table{width:100%;border-collapse:collapse;font-size:12px}.dbt-root .dbt-table th{background:var(--bg-3);color:var(--text-dim);font-weight:600;text-align:left;padding:8px 12px;border-bottom:1px solid var(--border);white-space:nowrap}.dbt-root .dbt-table td{padding:8px 12px;border-bottom:1px solid var(--border-soft, #1c2638);vertical-align:top;color:var(--text)}.dbt-root .dbt-table tr:hover td{background:#ffffff05}.dbt-root .dbt-mono{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:11px}.dbt-root .dbt-evidence{color:var(--text-dim);max-width:240px}.dbt-root .dbt-badge{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;padding:2px 7px;border-radius:5px;letter-spacing:.4px}.dbt-root .dbt-badge--a{background:#6aa6ff33;color:#6aa6ff}.dbt-root .dbt-badge--b{background:#34d39933;color:#34d399}.dbt-root .dbt-badge--d{background:#fbbf2433;color:#fbbf24}.dbt-root .dbt-badge--insight{background:#a78bfa33;color:#a78bfa}.dbt-root .dbt-impact{font-size:11px;font-weight:600;text-transform:uppercase}.dbt-root .dbt-impact--high{color:#f87171}.dbt-root .dbt-impact--med{color:#fbbf24}.dbt-root .dbt-impact--low{color:var(--text-dim)}.dbt-root .dbt-gantt__frame{width:100%;height:720px;border:none;border-radius:6px;background:var(--bg)}.dbt-root .dbt-overrides__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.dbt-root .dbt-overrides__header .dbt-section__title{margin:0}.dbt-root .dbt-overrides__pre{max-height:50vh}.dbt-root .dbt-report__pre{background:var(--bg-3);border-radius:6px;padding:16px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12px;line-height:1.65;white-space:pre-wrap;word-break:break-word;color:var(--text-dim);max-height:70vh;overflow-y:auto}.dbt-root .dbt-result-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius);padding:24px;color:#fca5a5}.dbt-root .dbt-result-error pre{margin-top:12px;font-size:12px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;white-space:pre-wrap;word-break:break-word}.dop-root{--bg: #0b0f17;--bg-2: #111827;--bg-3: #1a2335;--panel: #131a28;--border: #243049;--border-soft: #1c2638;--text: #e6edf6;--text-dim: #93a1b8;--text-faint: #5e6b82;--accent: #6aa6ff;--radius: 12px;font-synthesis:none;min-height:100%;background:radial-gradient(1200px 600px at 70% -10%,#16203a 0%,var(--bg) 55%);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5}.dop-root code,.dop-root .mono{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.dop-root .dop-app{min-height:100%;display:flex;flex-direction:column}.dop-root .dop-topbar{display:flex;align-items:baseline;gap:14px;padding:12px 22px;border-bottom:1px solid var(--border);background:#0b0f17b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.dop-root .dop-topbar__brand{font-weight:700;letter-spacing:.2px}.dop-root .dop-topbar__sub{color:var(--text-dim);font-size:12px}.dop-root .dop-main{max-width:1240px;width:100%;margin:0 auto;padding:20px 22px 48px;display:flex;flex-direction:column;gap:18px}.dop-root .dop-btn{background:var(--accent);color:#06101f;border:none;border-radius:8px;padding:9px 18px;font-weight:600;cursor:pointer;font-size:13px}.dop-root .dop-btn:hover{filter:brightness(1.08)}.dop-root .dop-btn:disabled{opacity:.5;cursor:default}.dop-root .dop-btn--ghost{background:transparent;color:var(--text-dim);border:1px solid var(--border);margin-top:8px}.dop-root .dop-btn--ghost:hover{color:var(--text);border-color:var(--accent)}.dop-root .dop-linkbtn{background:none;border:none;color:var(--text-faint);font-size:12px;cursor:pointer;text-decoration:underline;padding:0}.dop-root .dop-linkbtn:hover{color:var(--accent)}.dop-root .dop-select,.dop-root .dop-input{background:var(--bg-2);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:9px 11px;font-size:13px}.dop-root .dop-input{font-family:ui-monospace,monospace}.dop-root .dop-select:focus,.dop-root .dop-input:focus{outline:none;border-color:var(--accent)}.dop-root .dop-controls{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.dop-root .dop-controls__row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.dop-root .dop-control{display:flex;flex-direction:column;gap:5px}.dop-root .dop-control--grow{flex:1;min-width:260px}.dop-root .dop-controls__row--filters{margin-top:10px}.dop-root .dop-control__label{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.dop-root .dop-controls__meta{display:flex;align-items:center;gap:16px;margin-top:10px;flex-wrap:wrap}.dop-root .dop-controls__hint{font-size:12px;color:var(--text-faint)}.dop-root .dop-controls__hint--warn{color:#fbbf24}.dop-root .dop-toggle{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none}.dop-root .dop-toggle input{accent-color:var(--accent);cursor:pointer}.dop-root .dop-toggle:hover{color:var(--text)}.dop-root .dop-error{background:#f43f5e1f;border:1px solid rgba(244,63,94,.4);color:#fda4b3;padding:10px 14px;border-radius:8px;font-size:13px}.dop-root .dop-hint,.dop-root .dop-empty{color:var(--text-dim);background:var(--panel);border:1px dashed var(--border);border-radius:var(--radius);padding:22px;text-align:center}.dop-root .dop-hint code,.dop-root .dop-empty code{background:var(--bg-3);padding:1px 6px;border-radius:5px;color:var(--text)}.dop-root .dop-login{display:flex;justify-content:center;padding:4vh 0}.dop-root .dop-login__card{width:100%;max-width:420px;background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:26px 24px;display:flex;flex-direction:column;gap:14px}.dop-root .dop-login__title{margin:0;font-size:18px}.dop-root .dop-login__sub{margin:0;color:var(--text-dim);font-size:12.5px}.dop-root .dop-login__sub strong{color:var(--text)}.dop-root .dop-login__notice{background:#fbbf241f;border:1px solid rgba(251,191,36,.4);color:#fcd570;padding:8px 12px;border-radius:8px;font-size:12.5px}.dop-root .dop-field{display:flex;flex-direction:column;gap:5px}.dop-root .dop-field__label{font-size:12px;color:var(--text-dim)}.dop-root .dop-field__input{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:9px;padding:10px 12px;font-size:14px}.dop-root .dop-field__input:focus{outline:none;border-color:var(--accent)}.dop-root .dop-families{display:flex;flex-direction:column;gap:22px}.dop-root .dop-zoombar{position:sticky;top:8px;z-index:15;display:flex;align-items:center;gap:12px;background:var(--bg-3);border:1px solid var(--border);border-radius:8px;padding:7px 12px;font-size:12px;color:var(--text-dim);box-shadow:0 6px 18px #00000059}.dop-root .dop-zoombar__range{font-family:ui-monospace,monospace;color:var(--text)}.dop-root .dop-zoombar__hint{margin-left:auto;color:var(--text-faint)}.dop-root .dop-zoombar__reset{flex:none;background:var(--bg-2);border:1px solid var(--border);color:var(--text-dim);border-radius:6px;padding:4px 10px;font-size:11px;cursor:pointer}.dop-root .dop-zoombar__reset:hover{color:var(--text);border-color:var(--accent)}.dop-root .dop-family{display:flex;flex-direction:column;gap:12px}.dop-root .dop-family__head{display:flex;align-items:baseline;gap:10px;padding-bottom:6px;border-bottom:1px solid var(--border)}.dop-root .dop-family__type{font-weight:700;font-family:ui-monospace,monospace}.dop-root .dop-family__size{background:var(--bg-3);border-radius:6px;padding:2px 8px;font-size:12px;color:var(--text-dim)}.dop-root .dop-family__count{margin-left:auto;font-size:12px;color:var(--text-faint)}.dop-root .dop-chart{position:relative;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}.dop-root .dop-chart__head{display:flex;align-items:center;gap:8px;margin-bottom:4px}.dop-root .dop-chart__dot{width:8px;height:8px;border-radius:50%;background:#fb7185;flex:none}.dop-root .dop-chart__name{font-family:ui-monospace,monospace;font-weight:600}.dop-root .dop-chart__meta{margin-left:auto;font-size:12px;color:var(--text-faint)}.dop-root .dop-chart__meta-current{color:#34d399;font-weight:600}.dop-root .dop-chart__key{display:flex;align-items:center;gap:8px;margin:0 0 10px}.dop-root .dop-chart__key-label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-faint);flex:none}.dop-root .dop-chart__key-text{flex:1;min-width:0;overflow-x:auto;white-space:nowrap;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:11px;color:var(--text-dim);background:var(--bg);border:1px solid var(--border-soft);border-radius:6px;padding:4px 8px;-webkit-user-select:all;user-select:all}.dop-root .dop-chart__key-copy{flex:none;background:var(--bg-2);border:1px solid var(--border);color:var(--text-dim);border-radius:6px;padding:4px 10px;font-size:11px;cursor:pointer}.dop-root .dop-chart__key-copy:hover{color:var(--text);border-color:var(--accent)}.dop-root .dop-chart__scroll{overflow-x:auto}.dop-root .dop-chart__svg{width:100%;min-width:560px;height:auto;display:block;cursor:crosshair}.dop-root .dop-chart__empty{font-size:12px;color:var(--text-faint);padding:4px 2px 0}.dop-root .dop-grid{stroke:var(--border-soft);stroke-width:1}.dop-root .dop-frame{stroke:var(--border);stroke-width:1}.dop-root .dop-axis-label{fill:var(--text-faint);font-size:12px}.dop-root .dop-axis-label--y{text-anchor:end;dominant-baseline:middle}.dop-root .dop-axis-label--x{text-anchor:middle}.dop-root .dop-axis-title{fill:var(--text-dim);font-size:12px;text-anchor:middle;letter-spacing:1px}.dop-root .dop-band-label{fill:#f4f8ff;font-size:12px;text-anchor:middle;dominant-baseline:middle;font-family:ui-monospace,monospace;pointer-events:none}.dop-root .dop-load{stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.dop-root .dop-cap{stroke-width:1.5;stroke-dasharray:6 5;opacity:.85}.dop-root .dop-currentline{stroke-width:2;opacity:.9}.dop-root .dop-currentline-label{font-size:11px;text-anchor:end;font-weight:700}.dop-root .dop-now{stroke-width:2;opacity:.9}.dop-root .dop-now-label{font-size:11px;text-anchor:middle;font-weight:700}.dop-root .dop-band{cursor:pointer}.dop-root .dop-band:hover{fill-opacity:1}.dop-root .dop-band--ghost:hover{fill-opacity:.35}.dop-root .dop-band-label--ghost{fill:var(--text-dim)}.dop-root .dop-zoomselect{fill:#6aa6ff26;stroke:var(--accent);stroke-dasharray:4 3;pointer-events:none}.dop-root .dop-tip{position:absolute;z-index:20;transform:translate(-50%,calc(-100% - 10px));width:300px;max-width:min(340px,90%);background:var(--bg-3);border:1px solid var(--border);border-radius:10px;padding:10px 12px;box-shadow:0 10px 28px #00000073}.dop-root .dop-tip--below{transform:translate(-50%,10px)}.dop-root .dop-tip__close{position:absolute;top:5px;right:8px;background:none;border:none;color:var(--text-faint);font-size:17px;line-height:1;cursor:pointer;padding:0 2px}.dop-root .dop-tip__close:hover{color:var(--text)}.dop-root .dop-hinttip{position:absolute;z-index:19;transform:translate(-50%,calc(-100% - 8px));pointer-events:none;white-space:nowrap;background:var(--bg-3);border:1px solid var(--border);border-radius:7px;padding:4px 9px;font-size:11px;color:var(--text-dim);box-shadow:0 6px 18px #0006}.dop-root .dop-hinttip--below{transform:translate(-50%,8px)}.dop-root .dop-tip__label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-faint);margin-bottom:3px}.dop-root .dop-tip__id{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12px;color:var(--text);line-height:1.45;word-break:break-all;-webkit-user-select:all;user-select:all}.dop-root .dop-tip__ended{margin-top:6px;font-size:11px;font-style:italic;color:var(--text-faint)}.dop-root .dop-tip__rows{display:flex;justify-content:space-between;gap:12px;font-size:11.5px;color:var(--text-dim);margin-top:7px}.dop-root .dop-tip__rows--muted{color:var(--text-faint);font-family:ui-monospace,monospace;margin-top:3px}.dop-root .dop-tip__copy{margin-top:10px;width:100%;background:var(--accent);color:#06101f;border:none;border-radius:7px;padding:7px 10px;font-weight:600;font-size:12px;cursor:pointer}.dop-root .dop-tip__copy:hover{filter:brightness(1.08)}.dop-root .dop-tip__notes{display:flex;flex-direction:column;gap:4px;margin-top:7px}.dop-root .dop-tip__note{font-size:11px;color:#a9c9ff;background:#6aa6ff1f;border:1px solid rgba(106,166,255,.32);border-radius:6px;padding:3px 8px}.dop-root .dop-tip__note--warn{color:#fcd570;background:#fbbf241f;border-color:#fbbf2459}.dop-root .dop-tip__note--danger{color:#fda4b3;background:#f43f5e21;border-color:#f43f5e66}.dop-root .dop-tip__note--good{color:#7ee2a8;background:#34d3991f;border-color:#34d39959}.dop-root .dop-band-mark{fill:var(--accent);stroke:var(--bg);stroke-width:.7}.dop-root .dop-band-mark--warn{fill:#fbbf24}.dop-root .dop-band-mark--danger{fill:#fb7185}.dop-root .dop-chart__meta-flag{color:#fcd570;font-weight:600}.dop-root .dop-activity{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.dop-root .dop-activity__head{display:flex;align-items:center;gap:8px;width:100%;padding:9px 14px;background:transparent;border:none;cursor:pointer;color:var(--text);font-family:inherit;font-size:13px;font-weight:600;text-align:left}.dop-root .dop-activity__head:hover{background:var(--bg-2)}.dop-root .dop-activity__title{letter-spacing:.2px}.dop-root .dop-activity__count{font-size:11px;font-weight:700;color:#a9c9ff;background:#6aa6ff26;border:1px solid rgba(106,166,255,.4);border-radius:10px;padding:1px 8px;min-width:20px;text-align:center}.dop-root .dop-activity__chevron{margin-left:auto;color:var(--text-faint);font-size:11px}.dop-root .dop-activity__list{list-style:none;margin:0;padding:4px 6px 8px;display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--border-soft)}.dop-root .dop-activity__row{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:6px;font-size:12px}.dop-root .dop-activity__row:hover{background:var(--bg-2)}.dop-root .dop-activity__row--warn{box-shadow:inset 2px 0 #fbbf24bf}.dop-root .dop-activity__row--danger{background:#f43f5e12;box-shadow:inset 2px 0 #f43f5ed9}.dop-root .dop-activity__row--danger:hover{background:#f43f5e1f}.dop-root .dop-activity__tag{flex:none;width:18px;height:18px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;font-size:11px}.dop-root .dop-activity__tag--info{color:#a9c9ff;background:#6aa6ff26}.dop-root .dop-activity__tag--warn{color:#fcd570;background:#fbbf2424}.dop-root .dop-activity__tag--danger{color:#fda4b3;background:#f43f5e29}.dop-root .dop-activity__tag--good{color:#7ee2a8;background:#34d39924}.dop-root .dop-activity__tag--muted{color:var(--text-dim);background:var(--bg-3)}.dop-root .dop-activity__id{flex:none;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:11px;color:var(--text)}.dop-root .dop-activity__wh{color:var(--text-dim);font-size:11px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dop-root .dop-activity__desc{color:var(--text)}.dop-root .dop-activity__ago{margin-left:auto;flex:none;color:var(--text-faint);font-size:11px;font-variant-numeric:tabular-nums}.dop-root .dop-activity__more{padding:4px 8px;color:var(--text-faint);font-size:11px}.dop-root ::-webkit-scrollbar{width:10px;height:10px}.dop-root ::-webkit-scrollbar-thumb{background:var(--border);border-radius:8px}.dop-root ::-webkit-scrollbar-track{background:transparent}:root{--color-bg: #0b0d12;--color-bg-elevated: #14171f;--color-surface: #1b1f2a;--color-surface-hover: #232838;--color-border: #2a2f3d;--color-text: #e8eaf0;--color-text-muted: #9aa3b2;--color-text-faint: #6b7280;--color-primary: #6366f1;--color-primary-hover: #7c7ff5;--color-danger: #ef4444;--color-success: #22c55e;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--shadow-md: 0 8px 30px rgba(0, 0, 0, .35);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}.app-shell{display:flex;flex-direction:column;min-height:100vh}.app-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px;background:var(--color-bg-elevated);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:10}.app-brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:16px;letter-spacing:.2px}.app-brand .logo{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,var(--color-primary),#a855f7);display:grid;place-items:center;color:#fff;font-weight:800}.app-nav{display:flex;align-items:center;gap:4px;margin-left:18px}.app-nav a{padding:7px 12px;border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:14px;font-weight:500;transition:background .15s,color .15s}.app-nav a:hover{background:var(--color-surface);color:var(--color-text)}.app-nav a.active{color:var(--color-text);background:var(--color-surface)}.app-header-right{display:flex;align-items:center;gap:12px;margin-left:auto}.user-chip{display:flex;align-items:center;gap:9px;padding:5px 10px 5px 5px;border-radius:999px;background:var(--color-surface);border:1px solid var(--color-border)}.user-chip img,.user-chip .avatar-fallback{width:28px;height:28px;border-radius:50%;object-fit:cover}.avatar-fallback{display:grid;place-items:center;background:var(--color-primary);color:#fff;font-weight:700;font-size:13px}.user-chip .user-name{font-size:13px;font-weight:500;color:var(--color-text);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-main{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:36px 24px 64px}.app-main--full{max-width:none;padding:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 14px;border-radius:var(--radius-sm);border:1px solid transparent;font-size:14px;font-weight:600;transition:background .15s,border-color .15s,opacity .15s}.btn-ghost{background:transparent;color:var(--color-text-muted);border-color:var(--color-border)}.btn-ghost:hover{background:var(--color-surface);color:var(--color-text)}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover)}.btn:disabled{opacity:.55;cursor:not-allowed}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(1200px 600px at 50% -10%,rgba(99,102,241,.18),transparent 60%),var(--color-bg)}.login-card{width:100%;max-width:400px;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:36px 32px;box-shadow:var(--shadow-md);text-align:center}.login-logo{width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,var(--color-primary),#a855f7);display:grid;place-items:center;color:#fff;font-weight:800;font-size:26px;margin:0 auto 20px}.login-card h1{font-size:22px;margin:0 0 6px}.login-card p{color:var(--color-text-muted);font-size:14px;margin:0 0 28px;line-height:1.5}.google-btn-wrap{display:flex;flex-direction:column;align-items:center;gap:12px;min-height:44px}.google-btn-loading{display:flex;align-items:center;gap:8px;color:var(--color-text-muted);font-size:13px}.spinner-sm{width:14px;height:14px;border-radius:50%;border:2px solid var(--color-border);border-top-color:var(--color-primary);animation:spin .8s linear infinite}.login-domain-note{margin-top:22px;font-size:12.5px;color:var(--color-text-faint)}.login-domain-note strong{color:var(--color-text-muted)}.error-banner{margin-top:20px;padding:11px 14px;border-radius:var(--radius-sm);background:#ef44441f;border:1px solid rgba(239,68,68,.4);color:#fca5a5;font-size:13px;text-align:left;line-height:1.45}.page-header{margin-bottom:28px}.page-header h1{font-size:26px;margin:0 0 6px}.page-header p{color:var(--color-text-muted);margin:0;font-size:15px}.tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.tool-card{display:flex;flex-direction:column;gap:10px;padding:20px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:background .15s,border-color .15s,transform .1s;position:relative}a.tool-card:hover{background:var(--color-surface-hover);border-color:#3a414f;transform:translateY(-2px)}.tool-card.disabled{opacity:.6;cursor:not-allowed}.tool-card .tool-icon{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:#6366f126;font-size:20px}.tool-card h3{margin:0;font-size:16px}.tool-card p{margin:0;font-size:13.5px;color:var(--color-text-muted);line-height:1.5}.tool-badge{position:absolute;top:16px;right:16px;font-size:11px;font-weight:600;padding:3px 8px;border-radius:999px;background:var(--color-bg-elevated);color:var(--color-text-faint);border:1px solid var(--color-border)}.empty-state{padding:48px 24px;text-align:center;color:var(--color-text-muted);border:1px dashed var(--color-border);border-radius:var(--radius-md)}.center-status{min-height:100vh;display:grid;place-items:center;text-align:center;padding:24px;color:var(--color-text-muted)}.spinner{width:34px;height:34px;border-radius:50%;border:3px solid var(--color-border);border-top-color:var(--color-primary);animation:spin .8s linear infinite;margin:0 auto 16px}@keyframes spin{to{transform:rotate(360deg)}}
