/*! 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)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-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}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.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}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.min-w-0{min-width:calc(var(--spacing) * 0)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-col{flex-direction:column}.border{border-style:var(--tw-border-style);border-width:1px}.p-8{padding:calc(var(--spacing) * 8)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.break-all{word-break:break-all}.text-\[var\(--fg-muted\)\]{color:var(--fg-muted)}.uppercase{text-transform:uppercase}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.invert{--tw-invert:invert(100%)}.filter,.invert{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,)}@media (min-width:40rem){.sm\:flex{display:flex}}}:root,html[data-theme=dark]{color-scheme:dark;--bg:#090b0f;--bg-elev:#11141a;--surface:#11141a;--surface-2:#191e27;--surface-3:#222936;--border:#2a313d;--border-2:#3a4352;--fg:#f4f7fb;--fg-muted:#a9b3c1;--fg-dim:#778293;--accent:#2dd4bf;--accent-fg:#052e2b;--accent-strong:#5eead4;--accent-soft:#2dd4bf24;--accent-soft-2:#5eead447;--warn:#f59e0b;--warn-soft:#f59e0b29;--warn-border:#f59e0b57;--danger:#fb7185;--danger-soft:#fb718529;--danger-border:#fb718557;--success:#34d399;--success-soft:#34d39929;--success-border:#34d39957;--badge-neutral-bg:#222936;--badge-neutral-fg:#e5eaf2;--badge-muted-bg:#171b23;--badge-muted-fg:#8d98a8;--badge-accent-bg:#2dd4bf29;--badge-accent-fg:#99f6e4;--badge-warn-bg:#f59e0b29;--badge-warn-fg:#fcd34d;--badge-danger-bg:#fb718529;--badge-danger-fg:#fda4af;--badge-success-bg:#34d39929;--badge-success-fg:#86efac}html[data-theme=light]{color-scheme:light;--bg:#f8f8f3;--bg-elev:#fff;--surface:#fff;--surface-2:#f1f1ea;--surface-3:#e8e8de;--border:#dfdfd4;--border-2:#cacabe;--fg:#111114;--fg-muted:#656762;--fg-dim:#8f9289;--accent:#0d9488;--accent-fg:#ecfdf5;--accent-strong:#0f766e;--accent-soft:#ecfdf5;--accent-soft-2:#ccfbf1;--warn:#b45309;--warn-soft:#fef3c7;--warn-border:#fde68a;--danger:#be123c;--danger-soft:#ffe4e6;--danger-border:#fecdd3;--success:#15803d;--success-soft:#dcfce7;--success-border:#bbf7d0;--badge-neutral-bg:#ecece4;--badge-neutral-fg:#262626;--badge-muted-bg:#f2f2ec;--badge-muted-fg:#73736c;--badge-accent-bg:#ccfbf1;--badge-accent-fg:#0f766e;--badge-warn-bg:#fef3c7;--badge-warn-fg:#92400e;--badge-danger-bg:#ffe4e6;--badge-danger-fg:#be123c;--badge-success-bg:#dcfce7;--badge-success-fg:#166534}*{box-sizing:border-box;margin:0;padding:0}html{font-size:17px}body,html{height:100%}body{font-feature-settings:"ss01","cv11";color:var(--fg);background:var(--bg);font-family:Inter Tight,ui-sans-serif,system-ui,sans-serif;font-size:17px;line-height:1.6}.mono{font-variant-numeric:tabular-nums;font-family:JetBrains Mono,ui-monospace,Menlo,monospace}button{color:inherit;cursor:pointer;font:inherit;background:0 0;border:0}a{color:var(--accent);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--fg-dim)}@keyframes pulseSoft{0%,to{opacity:1}50%{opacity:.45}}@keyframes ringPulse{0%{box-shadow:0 0 #0d948859}70%{box-shadow:0 0 0 8px #0d948800}to{box-shadow:0 0 #0d948800}}@keyframes logFade{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(1turn)}}.pulse-soft{animation:pulseSoft 1.6s ease-in-out infinite}.ring-pulse{animation:ringPulse 1.6s ease-out infinite}.new-log{animation:logFade 80ms ease-out}.app{grid-template-rows:auto 1fr;height:100vh;display:grid;overflow:hidden}.app>:not(.header){min-height:0;overflow-y:auto}.header{background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;gap:24px;padding:0 32px}.header,.header-brand{align-items:center;display:flex}.header-brand{gap:12px;margin-right:8px}.brand-mark{object-fit:contain;width:auto;height:32px;display:block}[data-theme=dark] .brand-mark{filter:invert()}.brand-text{letter-spacing:-.01em;font-size:20px;font-weight:600}.nav{gap:6px;display:flex}.nav a,.nav button{color:var(--fg-muted);border-radius:8px;padding:10px 18px;font-size:16px;font-weight:500;text-decoration:none;transition:color .12s,background .12s}.nav a:hover,.nav button:hover{text-decoration:none}.nav a.current,.nav a:hover,.nav button.current,.nav button:hover{color:var(--fg);background:var(--surface-2)}.locked-wrap{display:inline-flex;position:relative}.locked-wrap>button[aria-disabled=true]{cursor:not-allowed;opacity:.55}.locked-inline{color:var(--accent);text-underline-offset:2px;cursor:not-allowed;opacity:.7;text-decoration:underline}.locked-tip{background:var(--fg);color:var(--bg);white-space:nowrap;pointer-events:none;opacity:0;z-index:50;border-radius:8px;padding:7px 12px;font-size:13px;font-weight:500;line-height:1.2;transition:opacity .14s,transform .14s;position:absolute;top:calc(100% + 8px);transform:translateY(-3px);box-shadow:0 8px 22px #00000038}.locked-tip-center{left:50%;transform:translate(-50%)translateY(-3px)}.locked-tip-left{left:0}.locked-tip.show{opacity:1}.locked-tip-center.show{transform:translate(-50%)translateY(0)}.locked-tip-left.show{transform:translateY(0)}.header-spacer{flex:1}.divider-v{background:var(--border);width:1px;height:22px}.theme-toggle{border:1px solid var(--border-2);background:var(--surface-2);border-radius:999px;flex-shrink:0;align-items:center;width:46px;height:26px;padding:3px;transition:background .15s,border-color .15s;display:inline-flex}.theme-toggle:hover{border-color:var(--accent)}.theme-toggle-knob{background:var(--fg-muted);border-radius:999px;width:18px;height:18px;transition:transform .18s,background .18s;box-shadow:0 2px 8px #00000047}.theme-toggle[data-mode=dark] .theme-toggle-knob{background:var(--accent);transform:translate(20px)}.run-id-chip{background:var(--surface-2);border-radius:7px;align-items:center;gap:9px;padding:5px 11px;display:flex}.run-id-chip .dot{background:var(--accent);border-radius:50%;width:7px;height:7px}.breadcrumbs{align-items:center;gap:12px;min-width:0;font-size:14px;display:flex}.breadcrumbs .sep{color:var(--fg-dim)}.breadcrumbs .site{color:var(--fg);font-size:15px;font-weight:600}.breadcrumbs .meta{color:var(--fg-muted);font-size:13px}.status-pill{background:var(--accent-soft);border:1px solid var(--accent-soft-2);letter-spacing:.04em;text-transform:uppercase;color:var(--accent-strong);border-radius:999px;align-items:center;gap:7px;padding:5px 12px;font-size:.6875rem;font-weight:500;transition:background .22s ease-out,color .22s ease-out,border-color .22s ease-out;display:inline-flex}.status-pill.done{background:var(--success-soft);border-color:var(--success-border);color:var(--success)}.status-pill.failed{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger)}.status-pill .dot{background:var(--accent);border-radius:50%;width:6px;height:6px}.status-pill.done .dot{background:var(--success)}.status-pill.failed .dot{background:var(--danger)}.header-link{color:var(--fg-muted);border-radius:6px;align-items:center;gap:6px;padding:5px 9px;font-size:.75rem;transition:background .12s,color .12s;display:inline-flex}.header-link:hover{background:var(--surface-2);color:var(--fg);text-decoration:none}.header-link .ext{opacity:.7;font-size:.625rem}.header-link.primary{color:var(--accent-strong)}.icon-btn{width:30px;height:30px;color:var(--fg-muted);border-radius:7px;justify-content:center;align-items:center;font-size:.9375rem;transition:background .12s,color .12s;display:flex}.icon-btn:hover{background:var(--surface-2);color:var(--danger)}.body-grid{grid-template-columns:320px minmax(0,1fr) 360px;height:100%;display:grid;overflow:hidden}.left{background:var(--surface);border-right:1px solid var(--border);min-width:0;padding:28px 26px;overflow-y:auto}.label{letter-spacing:.12em;text-transform:uppercase;color:var(--fg-dim);margin-bottom:16px;font-size:11px;font-weight:600}.step{grid-template-columns:26px 1fr;align-items:start;gap:14px;display:grid}.step-rail{flex-direction:column;min-height:60px}.step-marker,.step-rail{align-items:center;display:flex}.step-marker{border-radius:50%;flex-shrink:0;justify-content:center;width:24px;height:24px;font-size:13px}.step-marker.done{background:var(--success-soft);color:var(--success);font-weight:600}.step-marker.run{background:var(--accent-soft);border:1px solid var(--accent)}.step-marker.run:after{content:"";background:var(--accent);border-radius:50%;width:9px;height:9px}.step-marker.pending{background:var(--surface-2);border:1px dashed var(--border-2)}.step-marker.failed{background:var(--danger-soft);color:var(--danger);font-weight:600}.step-line{background:var(--border);flex:1;width:1.5px;min-height:12px;margin-top:4px}.step-line.pending{border-left:1.5px dashed var(--border-2);background:0 0;width:0}.step-body{min-width:0;padding-bottom:20px}.step-title{color:var(--fg);align-items:center;gap:7px;font-size:15px;font-weight:500;display:flex}.step-title.running{color:var(--accent-strong)}.step-title.pending{color:var(--fg-muted);font-weight:500}.step-meta{color:var(--fg-muted);margin-top:4px;font-size:13px;line-height:1.5}.step-dur{color:var(--fg-dim);margin-top:4px;font-size:12px}.step-dur.live{color:var(--accent)}.running-tag{color:var(--fg-muted);text-transform:lowercase;font-size:11px;font-weight:400}.group{border-top:1px solid var(--border);margin-top:28px;padding-top:22px}.kv{grid-template-columns:1fr auto;gap:11px 12px;font-size:13px;display:grid}.kv .k{color:var(--fg-muted)}.kv .v{font-variant-numeric:tabular-nums;font-weight:500}.kv .v.accent{color:var(--accent-strong)}.kv .v.success{color:var(--success)}.links{flex-direction:column;gap:6px;display:flex}.links a{color:var(--fg-muted);border-radius:7px;justify-content:space-between;align-items:center;margin:0 -9px;padding:7px 9px;font-size:13px;transition:background .12s,color .12s;display:flex}.links a:hover{color:var(--fg);background:var(--surface-2);text-decoration:none}.links a .ext{font-size:11px}.center{background:var(--bg);flex-direction:column;min-width:0;display:flex}.tabs{background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;align-items:flex-end;gap:32px;height:52px;padding:0 40px;display:flex}.tab{height:51px;color:var(--fg-muted);border-bottom:2px solid #0000;align-items:center;gap:10px;padding:0 2px;font-size:15px;font-weight:500;transition:color .15s,border-color .15s;display:inline-flex}.tab.active,.tab:hover{color:var(--fg)}.tab.active{border-bottom-color:var(--accent)}.tab .count{background:var(--surface-2);color:var(--fg-dim);border-radius:4px;padding:2px 7px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:500}.tab.active .count{background:var(--accent-soft);color:var(--accent-strong)}.tab .key{color:var(--fg-dim);border:1px solid var(--border);border-radius:3px;padding:1px 5px;font-family:JetBrains Mono,monospace;font-size:10px;line-height:1.4}.center-scroll{flex:1;min-height:0;overflow-y:auto}.pane{padding:32px 40px;display:none}.pane.active{display:block}.pane-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;display:flex}.pane-title{letter-spacing:-.01em;font-size:20px;font-weight:600}.pane-sub{color:var(--fg-muted);margin-top:4px;font-size:14px}.filter-chips{gap:6px;display:flex}.chip{color:var(--fg-muted);background:0 0;border:1px solid #0000;border-radius:6px;padding:6px 13px;font-size:12px;transition:background .12s,color .12s}.chip:hover{background:var(--surface-2);color:var(--fg)}.chip.active{background:var(--surface);border:1px solid var(--border-2);color:var(--fg);font-weight:500}.tl-row{border-top:1px solid var(--border);grid-template-columns:32px minmax(0,1fr) 90px;align-items:start;gap:18px;padding:18px 0;display:grid}.tl-row.live{background:linear-gradient(90deg,var(--accent-soft) 0,transparent 70%);margin:0 -40px;padding:18px 40px}.tl-row.pending{opacity:.55}.tl-marker{background:var(--surface);border:1px solid var(--border);border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;font-size:14px;display:flex}.tl-marker.done{color:var(--success)}.tl-marker.run{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}.tl-marker.pending{background:var(--surface);border:1px dashed var(--border-2);color:var(--fg-dim)}.tl-marker.failed{color:var(--danger)}.tl-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tl-name{color:var(--fg);font-size:16px;font-weight:500}.tl-meta{margin-top:6px;font-size:13px;line-height:1.5}.tl-dur,.tl-meta{color:var(--fg-muted)}.tl-dur{text-align:right;font-variant-numeric:tabular-nums;font-size:14px}.tl-dur.live{color:var(--accent-strong);font-weight:600}.tag{letter-spacing:.05em;text-transform:uppercase;border-radius:4px;padding:3px 9px;font-size:10px;font-weight:600}.tag.done{background:var(--success-soft);color:var(--success)}.tag.run{background:var(--accent);color:#fff}.tag.warn{background:var(--warn-soft);color:var(--warn)}.tag.fail{background:var(--danger-soft);color:var(--danger)}.nested{border-left:2px solid var(--border-2);margin-top:12px;padding-left:18px}.nested .line{grid-template-columns:1fr auto;gap:14px;padding:3px 0;font-size:12px;display:grid}.nested .line .l{color:var(--fg-muted)}.nested .line .l.live{color:var(--accent-strong)}.nested .line .r{color:var(--fg-dim);font-variant-numeric:tabular-nums}.nested .line .r.live{color:var(--accent-strong)}.gantt{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:22px;padding:18px 20px}.gantt-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.gantt-head-label{color:var(--fg-muted);text-transform:uppercase;letter-spacing:.1em;font-size:.6875rem}.gantt-row{grid-template-columns:140px minmax(0,1fr) 56px;align-items:center;gap:14px;padding:5px 0;display:grid}.gantt-row .name{color:var(--fg-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.71875rem;overflow:hidden}.gantt-row .dur,.gantt-row .name{font-family:JetBrains Mono,monospace}.gantt-row .dur{color:var(--fg-dim);text-align:right;font-size:.6875rem}.gantt-bar{background:var(--surface-2);border-radius:3px;height:10px;position:relative}.gantt-fill{background:var(--accent);border-radius:3px;position:absolute;top:0;bottom:0}.gantt-fill.neutral{background:var(--fg-muted);opacity:.4}.gantt-fill.live:after{content:"";background:var(--accent-strong);width:2px;animation:pulseSoft 1.6s ease-in-out infinite;position:absolute;top:-3px;bottom:-3px;right:-1px}.trace-head{text-transform:uppercase;letter-spacing:.08em;color:var(--fg-muted);padding:12px 0;font-size:11px;font-weight:600}.trace-head,.trace-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) 80px 100px;gap:12px;display:grid}.trace-row{align-items:center;padding:11px 0;font-family:JetBrains Mono,monospace;font-size:13px}.trace-row:hover{background:var(--surface-2);cursor:pointer}.trace-row.live,.trace-row:hover{margin:0 -40px;padding-left:40px;padding-right:40px}.trace-row.live{background:var(--accent-soft)}.trace-name{align-items:center;gap:8px;min-width:0;display:flex}.trace-name .arr{color:var(--fg-dim);width:14px;font-size:11px}.trace-name .nm{color:var(--fg);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.trace-name .nm.live{color:var(--accent-strong);font-weight:500}.trace-name .nm.muted{color:var(--fg-muted)}.trace-name .kind{color:var(--fg-dim);background:var(--surface-2);border-radius:3px;flex-shrink:0;padding:2px 7px;font-family:JetBrains Mono,monospace;font-size:10px}.trace-status{text-align:right}.trace-status .dot{border-radius:50%;width:8px;height:8px;display:inline-block}.trace-status .dot.ok{background:var(--success)}.trace-status .dot.live{background:var(--accent)}.trace-status .dot.err{background:var(--danger)}.trace-dur{text-align:right;color:var(--fg-muted);font-variant-numeric:tabular-nums}.trace-dur.live{color:var(--accent-strong)}.sug-group{margin-bottom:32px}.sug-group-head{align-items:center;gap:10px;margin-bottom:16px;display:flex}.sug-group-head .name{letter-spacing:.1em;text-transform:uppercase;color:var(--fg-muted);font-size:11px;font-weight:600}.sug-group-head .name.accent{color:var(--accent-strong)}.sug-group-head .name.success{color:var(--success)}.sug-group-head .count{color:var(--fg-dim);font-family:JetBrains Mono,monospace;font-size:12px}.sug-group-head .rule{background:var(--border);flex:1;height:1px}.sug-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:14px;padding:20px 22px;transition:border-color .12s,box-shadow .12s}.sug-card:hover{border-color:var(--border-2);box-shadow:0 2px 12px #0000000f}.sug-card.live{border-color:var(--accent);position:relative;overflow:hidden}.sug-card.live:before{content:"";background:var(--accent);width:3px;animation:pulseSoft 1.6s ease-in-out infinite;position:absolute;top:0;bottom:0;left:0}.sug-card.dim{opacity:.85;border-style:dashed}.sug-row{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:20px;display:grid}.sug-title-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.sug-title{color:var(--fg);font-size:16px;font-weight:500}.sug-cat{background:var(--surface-2);border-radius:4px;padding:2px 9px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:500}.sug-cat,.sug-desc{color:var(--fg-muted)}.sug-desc{margin-top:4px;font-size:14px;line-height:1.65}.sug-issue{margin-top:8px}.sug-evidence .label-sm,.sug-impl .label-sm,.sug-issue .label-sm{letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted);margin-bottom:3px;font-size:10px;display:block}.sug-issue-text{color:var(--fg);font-size:14px;font-weight:500;line-height:1.55}.sug-evidence{margin-top:10px}.sug-evidence-list{flex-direction:column;gap:5px;margin:0;padding:0;list-style:none;display:flex}.sug-evidence-list li{color:var(--fg-muted);align-items:flex-start;gap:8px;font-size:12.5px;line-height:1.5;display:flex}.ev-src{letter-spacing:.04em;background:var(--surface-2);color:var(--fg-muted);border-radius:4px;flex:none;margin-top:1px;padding:2px 6px;font-family:JetBrains Mono,monospace;font-size:9.5px;font-weight:600}.ev-src.ev-lighthouse{color:#8b6dff;background:#785aff24}.ev-src.ev-crawl{color:#14b390;background:#00aa8c24}.ev-src.ev-geo{color:#e08a2b;background:#ff962829}.ev-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ev-detail{word-break:break-word;font-size:11.5px}.ev-detail,.ev-prov{font-family:JetBrains Mono,monospace}.ev-prov{color:var(--fg-faint,var(--fg-muted));opacity:.75;align-items:center;gap:6px;font-size:10px;display:flex}.ev-page{color:var(--accent-strong)}.sug-impl{margin-top:10px}.sug-impl-text{color:var(--fg-muted);font-size:13px;line-height:1.6}.sug-meta{gap:18px;margin-top:16px;font-size:12px}.sug-meta,.sug-meta .pair{align-items:center;display:flex}.sug-meta .pair{gap:6px}.sug-meta .label-sm{color:var(--fg-muted)}.sug-priority{flex:1;align-items:center;gap:9px;min-width:0;max-width:220px;display:flex}.sug-priority .bar{background:var(--surface-2);border-radius:3px;flex:1;height:5px;overflow:hidden}.sug-priority .fill{background:var(--accent);height:100%}.sug-priority .fill.med{background:var(--warn)}.sug-priority .num{color:var(--fg);font-family:JetBrains Mono,monospace;font-size:13px;font-weight:500}.sug-opportunity{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;margin-top:12px;padding:12px 14px}.sug-opportunity>.label-sm{color:var(--fg-muted);margin-bottom:8px;display:block}.opp-grid{flex-direction:column;gap:7px;display:flex}.opp-metric{align-items:center;gap:9px;display:flex}.opp-metric .opp-label{color:var(--fg-muted);flex:0 0 110px}.opp-metric .bar{background:var(--surface);border-radius:3px;flex:1;height:5px;overflow:hidden}.opp-metric .fill{background:var(--accent);height:100%}.opp-metric .fill.med{background:var(--warn)}.opp-metric .num{text-align:right;color:var(--fg);flex:0 0 28px;font-family:JetBrains Mono,monospace;font-size:12.5px;font-weight:500}.sug-blueprint{background:var(--accent-soft);border:1px solid var(--border);border-radius:8px;margin-top:12px;padding:12px 14px}.sug-blueprint-label{font-weight:600;display:block;color:var(--accent-strong)!important}.sug-blueprint-title{color:var(--fg);margin:6px 0 0;font-size:14px;font-weight:600;line-height:1.45}.sug-blueprint-angle{color:var(--fg-muted);margin:4px 0 0;font-size:12.5px;line-height:1.5}.sug-blueprint-block{margin-top:10px}.sug-blueprint-block .label-sm{color:var(--fg-muted);margin-bottom:5px;display:block}.sug-blueprint-sections{flex-direction:column;gap:3px;margin:0;padding-left:18px;display:flex}.sug-blueprint-sections li{color:var(--fg);font-size:13px;line-height:1.45}.sug-blueprint-kw{flex-wrap:wrap;gap:6px;display:flex}.sug-blueprint-kw .kw{background:var(--surface-2);border:1px solid var(--border);color:var(--fg);border-radius:5px;padding:2px 7px;font-family:JetBrains Mono,monospace;font-size:11.5px}.sug-blueprint-meta{color:var(--fg-muted);font-size:12.5px;font-style:italic;line-height:1.5}.sug-head-btn{text-align:left;cursor:pointer;width:100%;color:inherit;background:0 0;border:0;align-items:flex-start;gap:10px;margin:0;padding:0;display:flex}.sug-chevron{color:var(--fg-muted);flex:none;margin-top:4px;font-size:12px;transition:transform .14s}.sug-chevron.open{color:var(--accent-strong);transform:rotate(90deg)}.sug-head-main{flex:1;min-width:0}.sug-head-btn .sug-title-row{margin-bottom:4px}.sug-head-btn:hover .sug-title{color:var(--accent-strong)}.sug-teaser{color:var(--fg-muted);margin-top:2px;font-size:13px;line-height:1.5;display:block}.sug-detail{border-top:1px dashed var(--border);margin-top:12px;padding-top:12px;animation:sugReveal .16s}@keyframes sugReveal{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:none}}.sug-card.open{border-color:var(--border-2)}.sug-insight{background:var(--accent-soft);border:1px solid var(--border);border-radius:8px;margin-top:12px;padding:12px 14px}.sug-insight-label{font-weight:600;display:block;color:var(--accent-strong)!important}.sug-insight-why{color:var(--fg);margin:4px 0 0;font-size:13.5px;line-height:1.6}.sug-insight-impact{color:var(--fg-muted);margin:8px 0 0;font-size:13px;line-height:1.55}.sug-insight-impact-tag{letter-spacing:.06em;text-transform:uppercase;color:var(--accent-strong);margin-right:7px;font-size:9.5px;font-weight:600;display:inline-block}.sug-targets{margin-top:10px}.sug-targets-list{flex-wrap:wrap;gap:6px;display:flex}.sug-target{background:var(--surface-2);color:var(--fg-muted);border-radius:4px;padding:2px 7px;font-family:JetBrains Mono,monospace;font-size:11px}.sug-actions{flex-shrink:0;align-items:flex-start;gap:8px;display:flex}.btn{cursor:pointer;border:0;border-radius:8px;padding:12px 22px;font-size:16px;font-weight:500;transition:opacity .12s,background .12s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-strong)}.btn-secondary{border:1px solid var(--border-2);color:var(--fg-muted);background:var(--surface);padding:10px 16px}.btn-secondary:hover:not(:disabled){color:var(--fg);border-color:var(--fg-muted)}.btn-dark{background:var(--fg);color:var(--surface)}.btn-dark:hover:not(:disabled){opacity:.88}.pill{letter-spacing:.04em;border-radius:4px;padding:3px 9px;font-size:11px;font-weight:600}.pill.high{background:var(--success-soft);color:var(--success)}.pill.med{background:var(--warn-soft);color:var(--warn)}.pill.low{background:var(--surface-2);color:var(--fg-muted)}.pill.dispatch{background:var(--accent);color:#fff;text-transform:uppercase}.pill.open{background:var(--success-soft);color:var(--success);text-transform:uppercase}.pill.pending{background:var(--accent-soft);color:var(--accent-strong);text-transform:uppercase}.live-log-box{background:var(--surface-2);border:1px solid var(--border);color:var(--fg-muted);border-radius:7px;margin-top:12px;padding:11px 13px;font-family:JetBrains Mono,monospace;font-size:.71875rem;line-height:1.7}.live-log-box .live{color:var(--accent-strong)}.cursor{background:var(--accent);vertical-align:-2px;width:7px;height:12px;animation:pulseSoft 1s ease-in-out infinite;display:inline-block}.lh-grid{grid-template-columns:1fr 60px 1fr;align-items:stretch;gap:18px;display:grid}@media (max-width:1400px){.lh-grid{grid-template-columns:1fr}.lh-arrow{transform:rotate(90deg)}}.lh-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:28px}.lh-card.pending{border-style:dashed;border-color:var(--border-2)}.lh-head{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.lh-head-title{font-size:16px;font-weight:600}.lh-head-meta,.lh-head-title.muted{color:var(--fg-muted)}.lh-head-meta{margin-top:4px;font-family:JetBrains Mono,monospace;font-size:12px}.lh-gauges{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.lh-gauge{text-align:center}.lh-gauge svg{width:90px;height:90px}.lh-gauge .label{color:var(--fg-muted);text-transform:uppercase;letter-spacing:.08em;margin:8px 0 0;font-size:11px;font-weight:600}.lh-arrow{color:var(--fg-dim);justify-content:center;align-items:center;font-size:2rem;display:flex}.lh-detail{border-top:1px solid var(--border);color:var(--fg-muted);margin-top:22px;padding-top:18px;font-size:13px;line-height:2}.lh-detail .row{align-items:center;gap:10px;display:flex}.pr-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:12px;padding:20px 22px}.pr-card.dim{opacity:.85;border-style:dashed}.pr-head{justify-content:space-between;align-items:start;gap:16px;margin-bottom:14px;display:flex}.pr-num{font-family:JetBrains Mono,monospace;font-size:.8125rem}.pr-title{font-size:.90625rem;font-weight:500}.pr-stats{grid-template-columns:repeat(4,1fr);gap:16px;font-size:.71875rem;display:grid}.pr-stats .col .label{color:var(--fg-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px;font-size:.625rem}.pr-stats .col .v{font-family:JetBrains Mono,monospace;font-size:.78125rem}.pr-stats .col .v .add{color:var(--success)}.pr-stats .col .v .rem{color:var(--danger)}.pr-stats .col .v.live{color:var(--accent-strong)}.right{border-left:1px solid var(--border);background:var(--surface);flex-direction:column;min-height:0;display:flex}.log-head{border-bottom:1px solid var(--border);flex-shrink:0;padding:20px 20px 14px}.log-head-row{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.log-head-title{font-size:14px;font-weight:600}.log-streaming{color:var(--accent-strong);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:7px;font-size:11px;font-weight:600;display:flex}.log-streaming .dot{background:var(--accent);border-radius:50%;width:7px;height:7px}.log-filters{align-items:center;gap:6px;display:flex}.log-filter{color:var(--fg-muted);background:0 0;border:1px solid #0000;border-radius:999px;padding:5px 11px;font-size:12px;transition:background .12s,color .12s}.log-filter.active,.log-filter:hover{background:var(--surface-2);color:var(--fg)}.log-filter.active{border:1px solid var(--border-2);font-weight:500}.log-filter.dropdown{margin-left:auto}.log-feed{flex:1;min-height:0;padding:14px 18px;font-family:JetBrains Mono,monospace;font-size:12px;line-height:1.75;overflow-y:auto}.log-line{color:var(--fg-muted);grid-template-columns:88px 44px minmax(0,1fr);gap:10px;padding:2.5px 0;display:grid}.log-line .ts{color:var(--fg-dim);white-space:nowrap}.log-line .lv{color:var(--fg-muted)}.log-line.warn .lv,.log-line.warn .msg{color:var(--warn)}.log-line.error .lv,.log-line.error .msg{color:var(--danger)}.log-line.new{color:var(--fg)}.log-line.new .lv{color:var(--accent-strong)}.log-line .agent-tag{color:var(--fg-dim)}.log-foot{border-top:1px solid var(--border);background:var(--surface);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 18px;display:flex}.log-foot .info{color:var(--fg-dim);font-family:JetBrains Mono,monospace;font-size:11px}.log-foot button{color:var(--fg-muted);border-radius:6px;padding:5px 11px;font-size:12px}.log-foot button:hover{color:var(--fg);background:var(--surface-2)}.new-pill{background:var(--fg);color:var(--surface);cursor:pointer;z-index:5;border-radius:999px;align-items:center;gap:6px;padding:6px 13px;font-size:.6875rem;font-weight:500;display:none;position:absolute;bottom:56px;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #0000002e}.new-pill.show{display:flex}.recon-chip{background:var(--warn-soft);color:var(--warn);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:.6875rem;font-weight:500;display:none}.recon-chip.show{display:inline-flex}.page-shell{width:100%;max-width:100%;padding:44px 60px 64px}.badge{letter-spacing:.04em;border-radius:5px;align-items:center;padding:3px 9px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;display:inline-flex}.badge-success{background:var(--success-soft);color:var(--success)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-warn{background:var(--warn-soft);color:var(--warn)}.badge-accent{background:var(--accent-soft);color:var(--accent-strong)}.badge-muted{background:var(--surface-2);color:var(--fg-muted)}.form-field{flex-direction:column;gap:8px;display:flex}.form-label{color:var(--fg);font-size:16px;font-weight:500}.form-hint{color:var(--fg-muted);font-size:14px;line-height:1.5}.form-input{background:var(--surface);border:1px solid var(--border-2);width:100%;color:var(--fg);border-radius:8px;outline:none;padding:14px 18px;font-family:inherit;font-size:16px;transition:border-color .12s,box-shadow .12s}.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0d94881f}.form-input::placeholder{color:var(--fg-dim)}.run-list{border:1px solid var(--border);background:var(--surface);border-radius:14px;overflow:hidden}.run-item{border-bottom:1px solid var(--border);color:inherit;justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;text-decoration:none;transition:background .1s;display:flex}.run-item:last-child{border-bottom:none}.run-item:hover{background:var(--surface-2)}.run-item-id{color:var(--fg-dim);font-family:JetBrains Mono,monospace;font-size:13px}.run-item-url{color:var(--fg);margin-top:5px;font-size:20px;font-weight:500}.run-item-repo{color:var(--fg-muted);margin-top:3px;font-family:JetBrains Mono,monospace;font-size:14px}.run-item-meta{text-align:right;color:var(--fg-muted);flex-shrink:0;font-size:15px}.run-status{text-transform:uppercase;letter-spacing:.04em;border-radius:5px;align-items:center;gap:6px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.run-status-running{background:var(--accent-soft);color:var(--accent-strong)}.run-status-completed{background:var(--success-soft);color:var(--success)}.run-status-failed{background:var(--danger-soft);color:var(--danger)}.run-status-pending{background:var(--surface-2);color:var(--fg-muted)}.section-head{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:36px;display:flex}.section-title{letter-spacing:-.03em;color:var(--fg);font-size:36px;font-weight:700}.section-sub{color:var(--fg-muted);margin-top:6px;font-size:16px;line-height:1.5}.empty-state{text-align:center;border:1px dashed var(--border-2);background:var(--surface);border-radius:14px;padding:80px 32px}.empty-title{color:var(--fg);margin-bottom:10px;font-size:18px;font-weight:500}.empty-desc{color:var(--fg-muted);font-size:14px;line-height:1.65}.status-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 0;font-size:16px;display:flex}.status-row:last-child{border-bottom:none}.status-row-label{color:var(--fg-muted);font-weight:500}.status-row-value{align-items:center;gap:12px;display:flex}.print-only{display:none}@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}:root,html[data-theme=dark],html[data-theme=light]{color-scheme:light;--bg:#fff;--bg-elev:#fff;--surface:#fff;--surface-2:#f1f1ea;--surface-3:#e8e8de;--border:#dfdfd4;--border-2:#cacabe;--fg:#111114;--fg-muted:#4a4c48;--fg-dim:#73756e;--accent:#0d9488;--accent-fg:#ecfdf5;--accent-strong:#0f766e;--accent-soft:#ecfdf5;--accent-soft-2:#ccfbf1;--warn:#b45309;--warn-soft:#fef3c7;--warn-border:#fde68a;--danger:#be123c;--danger-soft:#ffe4e6;--danger-border:#fecdd3;--success:#15803d;--success-soft:#dcfce7;--success-border:#bbf7d0;--badge-neutral-bg:#ecece4;--badge-neutral-fg:#262626;--badge-muted-bg:#f2f2ec;--badge-muted-fg:#73736c;--badge-accent-bg:#ccfbf1;--badge-accent-fg:#0f766e;--badge-warn-bg:#fef3c7;--badge-warn-fg:#92400e;--badge-danger-bg:#ffe4e6;--badge-danger-fg:#be123c;--badge-success-bg:#dcfce7;--badge-success-fg:#166534}[data-theme=dark] .brand-mark,[data-theme=dark] .print-report-brand img{filter:none!important}body,html{background:#fff!important;height:auto!important;overflow:visible!important}.app,.app>:not(.header),.body-grid,.center,.center-scroll,.pane{height:auto!important;max-height:none!important;display:block!important;overflow:visible!important}.center-scroll{min-height:0!important}.pane{padding:0!important}.header,.left,.no-print,.pane,.recon-chip,.right,.sug-actions,.sug-chevron,.tabs{display:none!important}.pane.active{display:block!important}.print-only{display:block}.sug-card{break-inside:auto;page-break-inside:auto}.sug-group-head{break-after:avoid;page-break-after:avoid}*,.sug-detail{transition:none!important;animation:none!important}.sug-group{margin-bottom:14px!important}.sug-card,.sug-group-head{margin-bottom:8px!important}.sug-card{padding:12px 14px!important}.sug-detail{margin-top:8px!important;padding-top:8px!important}.sug-evidence,.sug-impl,.sug-issue{margin-top:6px!important}.sug-blueprint,.sug-insight,.sug-opportunity{margin-top:8px!important;padding:9px 11px!important}.sug-meta{margin-top:8px!important}.print-report-head{border-bottom:2px solid var(--border-2);margin:0 0 24px;padding:0 0 18px;margin-bottom:16px!important;padding-bottom:12px!important}.print-report-brand{letter-spacing:.02em;color:var(--fg);align-items:center;gap:9px;font-size:15px;font-weight:600;display:flex}.print-report-brand img{width:22px;height:22px}.print-report-head h1{letter-spacing:-.01em;color:var(--fg);margin:12px 0 8px;font-size:26px;font-weight:600}.print-report-meta{color:var(--fg-muted);flex-wrap:wrap;gap:7px;font-size:12px;display:flex}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-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}