.traffic-view{gap:var(--s-4);flex-direction:column;min-width:0;display:flex}.traffic-filters{justify-content:space-between;align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.traffic-sites{scrollbar-width:none;background:var(--line-soft);border-radius:var(--radius);gap:2px;max-width:100%;padding:2px;display:flex;overflow-x:auto}.traffic-sites::-webkit-scrollbar{display:none}.traffic-sites button{border-radius:var(--radius-sm);min-height:28px;color:var(--ink-3);font-size:var(--fs-13);font-weight:var(--fw-medium);white-space:nowrap;transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:0;flex:none;padding:0 12px}.traffic-sites button:hover{color:var(--ink)}.traffic-sites button.active{background:var(--surface);color:var(--ink);box-shadow:0 0 0 1px var(--line), 0 1px 1px #17191e0a}.traffic-sites button:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}.traffic-range{align-items:center;gap:var(--s-2);color:var(--ink-3);font-size:var(--fs-13);display:flex}.traffic-coverage{justify-content:space-between;align-items:center;gap:var(--s-2) var(--s-5);color:var(--ink-3);font-size:var(--fs-12);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.traffic-coverage>span:first-child{align-items:center;gap:var(--s-2);display:inline-flex}.traffic-footnote{color:var(--ink-3);font-size:var(--fs-12);line-height:var(--lh-body);overflow-wrap:anywhere}.traffic-view .panel>.traffic-footnote{padding:var(--s-3) var(--pad-x) var(--s-4);border-top:1px solid var(--line-soft)}.traffic-empty-note{padding:var(--s-3) var(--s-4);border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-lg);color:var(--ink-3);font-size:var(--fs-13)}.traffic-view .metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.traffic-delta{margin-left:var(--s-2);font-size:var(--fs-12);font-weight:var(--fw-medium);font-variant-numeric:tabular-nums;color:var(--ink-3);align-items:center;display:inline-flex}.traffic-delta-up{color:var(--ok)}.traffic-delta-down{color:var(--err)}.traffic-delta-flat,.traffic-delta-none{color:var(--ink-3)}.traffic-trend{padding:var(--s-4) var(--pad-x);min-width:0}.traffic-chart-legend{align-items:center;gap:var(--s-2) var(--s-5);color:var(--ink-2);font-size:var(--fs-13);margin-bottom:var(--s-3);flex-wrap:wrap;display:flex}.traffic-chart-legend>span{align-items:center;gap:var(--s-2);display:inline-flex}.traffic-chart-legend>span:last-child{color:var(--ink-3);font-size:var(--fs-12);margin-left:auto}.traffic-chart-legend i{border-top:2px solid;border-radius:0;width:14px;height:0}.traffic-pv-dot{border-color:var(--viz-1);color:var(--viz-1)}.traffic-visitor-dot{border-color:var(--viz-2);color:var(--viz-2)}.traffic-plot{min-width:0;margin-left:44px;position:relative}.traffic-plot svg{display:block;overflow:visible}.traffic-y-axis{color:var(--ink-3);font-size:var(--fs-12);font-variant-numeric:tabular-nums;flex-direction:column;justify-content:space-between;align-items:flex-end;line-height:0;display:flex;position:absolute;top:8px;bottom:20px;right:calc(100% + 8px)}.traffic-x-axis{justify-content:space-between;gap:var(--s-2);margin:-6px 0 var(--s-3) 44px;font-size:var(--fs-12);font-variant-numeric:tabular-nums;color:var(--ink-3);display:flex}.traffic-bot-caption{gap:var(--s-2);color:var(--ink-2);font-size:var(--fs-13);padding-top:var(--s-3);margin-bottom:var(--s-2);border-top:1px solid var(--line-soft);align-items:center;display:flex}.traffic-bot-caption svg{color:var(--ink-3)}.traffic-bot-caption+.traffic-plot .traffic-y-axis{top:4px;bottom:2px}.traffic-grid{stroke:var(--viz-grid);stroke-width:1px}.traffic-baseline{stroke:var(--viz-axis);stroke-width:1px}.traffic-shade{fill:var(--viz-shade)}.traffic-series path{stroke-width:2px}.traffic-series-pv{fill:var(--viz-1)}.traffic-series-pv path{stroke:var(--viz-1)}.traffic-series-visitor{fill:var(--viz-2)}.traffic-series-visitor path{stroke:var(--viz-2)}.traffic-series circle{stroke:var(--surface);stroke-width:1.5px}.traffic-bot-bar{fill:var(--viz-4)}.traffic-bar-pv{fill:var(--viz-1);fill-opacity:.85}.traffic-dot-visitor{fill:var(--viz-2);stroke:var(--surface);stroke-width:1px}.traffic-spark{width:60px;height:18px;display:block}.traffic-spark-area{fill:var(--accent-soft);stroke:none}.traffic-spark-line{stroke:var(--viz-1)}.traffic-table{font-variant-numeric:tabular-nums;width:100%}.traffic-table th,.traffic-table td{text-align:right}.traffic-table th:first-child,.traffic-table td:first-child{text-align:left}.traffic-view .traffic-table td{white-space:normal}.traffic-view .traffic-table td.traffic-muted{white-space:nowrap}.traffic-table td:first-child{overflow-wrap:anywhere}.traffic-project-table{min-width:760px}.traffic-project-table td:first-child,.traffic-project-table th:first-child{min-width:210px}.traffic-project-table td:nth-child(2),.traffic-project-table th:nth-child(2){text-align:left}.traffic-project-table td:last-child{font-size:var(--fs-12);white-space:nowrap;color:var(--ink-3)}.traffic-project-table tr.selected td{background:var(--accent-soft)}.traffic-project-table tr.selected td:first-child{box-shadow:inset 2px 0 0 var(--accent)}.traffic-project-link{text-align:left;font-size:var(--fs-14);font-weight:var(--fw-semibold);color:var(--ink);line-height:var(--lh-dense);background:0 0;border:0;padding:0}.traffic-project-link:hover{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.traffic-host{color:var(--ink-3);font-size:var(--fs-12);font-weight:var(--fw-regular);display:block}.traffic-status{font-size:var(--fs-13);font-weight:var(--fw-medium);white-space:nowrap;color:var(--unknown);align-items:center;gap:6px;display:inline-flex}.traffic-status:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.traffic-status-collecting{color:var(--ok)}.traffic-status-error{color:var(--err)}.traffic-dimensions{gap:var(--s-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.traffic-dimensions .traffic-table td:first-child{width:55%}.traffic-method{gap:var(--s-1);padding:var(--s-4) var(--pad-x);font-size:var(--fs-13);color:var(--ink-2);line-height:var(--lh-body);flex-direction:column;display:flex}.traffic-export{gap:6px}.traffic-live{color:var(--ink-2);font-variant-numeric:tabular-nums;align-items:center;gap:6px;margin-left:auto;display:inline-flex}.traffic-live svg{color:var(--ok)}.traffic-columns{gap:var(--s-4);grid-template-columns:minmax(240px,1fr) minmax(260px,1.2fr) minmax(240px,1fr);align-items:start;display:grid}.traffic-depth{gap:var(--s-3);padding:var(--s-4) var(--pad-x);flex-direction:column;display:flex}.traffic-depth .traffic-footnote{margin-top:2px}.traffic-depth-row{align-items:center;gap:var(--s-3);font-size:var(--fs-13);grid-template-columns:64px 1fr 76px;display:grid}.traffic-depth-label{color:var(--ink-2);white-space:nowrap}.traffic-depth-track{background:var(--line-soft);border-radius:2px;height:8px;overflow:hidden}.traffic-depth-track i{background:var(--viz-1);border-radius:2px;height:100%;display:block}.traffic-depth-value{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink)}.traffic-depth-value em{color:var(--ink-3);font-style:normal;font-size:var(--fs-12);margin-left:6px}.traffic-muted{color:var(--ink-3);font-variant-numeric:tabular-nums}.traffic-share-col{width:72px}.traffic-share-track{background:var(--line-soft);border-radius:2px;height:6px;display:block;overflow:hidden}.traffic-share-track i{background:var(--viz-1);opacity:.7;border-radius:2px;height:100%;display:block}@media (width<=1080px){.traffic-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media (width<=960px){.traffic-view .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.traffic-columns{grid-template-columns:minmax(0,1fr)}.traffic-share-col{display:none}}@media (width<=640px){.traffic-dimensions{grid-template-columns:minmax(0,1fr)}.traffic-filters{align-items:stretch}.traffic-sites{flex:1 0 100%}.traffic-sites button{min-height:var(--touch);padding:0 var(--s-3)}.traffic-range{flex:auto}.traffic-range select{flex:1}.traffic-trend{padding:var(--s-3) var(--pad-x)}.traffic-plot,.traffic-x-axis{margin-left:36px}.traffic-view .metric-number{font-size:22px}.traffic-chart-legend>span:last-child{flex-basis:100%;margin-left:0}}.security-view{gap:var(--s-4);flex-direction:column;min-width:0;display:flex}.security-view .panel>:not(.panel-heading){padding:var(--s-4) var(--pad-x)}.security-view .panel>.security-table-wrap{padding:0}.security-view .security-limits{padding:var(--s-3) var(--pad-x) var(--s-4) calc(var(--pad-x) + 18px)}.security-view .security-chips-block{margin-top:0;padding-top:0}.security-view .security-certs{margin-top:0}.security-verdict{gap:var(--s-6);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--s-5) var(--s-6);align-items:stretch;display:flex}.security-grade{min-width:88px;padding:var(--s-3) var(--s-2);border-radius:var(--radius);border:1px solid var(--line);background:var(--surface-sunken);color:var(--ink);flex-direction:column;justify-content:center;align-items:center;display:flex}.security-grade span{font-size:36px;font-weight:var(--fw-semibold);letter-spacing:-.02em;line-height:1}.security-grade small{font-size:var(--fs-12);margin-top:var(--s-2);color:var(--ink-3)}.security-grade-A{color:var(--ok);background:var(--ok-soft);border-color:#0000}.security-grade-B{color:var(--ink)}.security-grade-C{color:var(--warn);background:var(--warn-soft);border-color:#0000}.security-grade-D{color:var(--err);background:var(--err-soft);border-color:#0000}.security-verdict-body{gap:var(--s-3);flex-direction:column;flex:1;min-width:0;display:flex}.security-verdict-head{justify-content:space-between;align-items:baseline;gap:var(--s-3);flex-wrap:wrap;display:flex}.security-verdict-head h2{font-size:20px;font-weight:var(--fw-semibold);letter-spacing:-.01em}.security-verdict-head h2 span{font-size:var(--fs-13);color:var(--ink-3);font-weight:var(--fw-regular);letter-spacing:0;margin-left:var(--s-2)}.security-verdict-counts{font-size:var(--fs-13);color:var(--ink-3);font-variant-numeric:tabular-nums}.security-verdict-body p{font-size:var(--fs-14);color:var(--ink-2)}.security-meter{background:var(--line-soft);border-radius:2px;height:4px;overflow:hidden}.security-meter i{background:var(--ink-3);border-radius:2px;height:100%;display:block}.security-verdict-meta{gap:var(--s-2) var(--s-5);color:var(--ink-3);font-size:var(--fs-12);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.security-verdict-meta span{align-items:center;gap:6px;display:inline-flex}.security-kpis{background:var(--line);border:1px solid var(--line);border-radius:var(--radius-lg);grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.security-kpi{background:var(--surface);padding:var(--s-4) var(--s-5);gap:var(--s-1);flex-direction:column;min-width:0;display:flex}.security-kpi-label{font-size:var(--fs-13);color:var(--ink-3);font-weight:var(--fw-medium)}.security-kpi-value{font-size:26px;line-height:1.2;font-weight:var(--fw-semibold);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--ink)}.security-kpi-sub{font-size:var(--fs-12);color:var(--ink-3);font-variant-numeric:tabular-nums}.security-kpi-danger .security-kpi-value{color:var(--err)}.security-kpi-warn .security-kpi-value{color:var(--warn)}.security-columns{gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));align-items:start;display:grid}.security-aside{font-size:var(--fs-12);color:var(--ink-3);font-variant-numeric:tabular-nums}.security-table{width:100%}.security-table th,.security-table td{vertical-align:top}.security-view .security-table td{white-space:normal;overflow-wrap:anywhere}.security-num{font-variant-numeric:tabular-nums}.security-muted{color:var(--ink-3);font-variant-numeric:tabular-nums}.security-ok{color:var(--ok);font-size:var(--fs-13)}.security-bad{color:var(--err);font-size:var(--fs-13)}.security-fp{white-space:normal;color:var(--ink-3);font-family:var(--font-mono);font-size:var(--fs-12);word-break:break-all;overflow-wrap:anywhere;display:block}.security-dot{font-size:var(--fs-13);font-weight:var(--fw-medium);white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.security-dot-pass{color:var(--ok)}.security-dot-warn{color:var(--warn)}.security-dot-fail{color:var(--err)}.security-dot-unknown{color:var(--unknown)}.security-checks td:nth-child(2){max-width:460px}.security-check-detail{font-size:var(--fs-12);color:var(--ink-3);line-height:var(--lh-dense);margin-top:2px}.security-check-action{font-size:var(--fs-12);color:var(--warn);line-height:var(--lh-dense);margin-top:2px}.security-check-value{font-variant-numeric:tabular-nums;white-space:nowrap}.security-check-expected{color:var(--ink-3);font-size:var(--fs-12)}.security-critical{margin-left:var(--s-2);font-size:var(--fs-12);font-weight:var(--fw-semibold);color:var(--err)}.security-chart{min-width:0}.security-chart-legend{align-items:center;gap:var(--s-2) var(--s-5);color:var(--ink-2);font-size:var(--fs-13);margin-bottom:var(--s-3);flex-wrap:wrap;display:flex}.security-chart-legend span{align-items:center;gap:var(--s-2);display:inline-flex}.security-swatch{border-radius:2px;width:10px;height:10px}.security-swatch-ssh{background:var(--viz-1)}.security-swatch-drop{background:var(--viz-4)}.security-chart-peak{color:var(--ink-3);font-size:var(--fs-12);font-variant-numeric:tabular-nums;margin-left:auto}.security-chart svg{width:100%;height:150px;display:block;overflow:visible}.security-grid{stroke:var(--viz-grid);stroke-width:1px}.security-baseline{stroke:var(--viz-axis);stroke-width:1px}.security-bar-ssh{fill:var(--viz-1)}.security-bar-drop{fill:var(--viz-4)}.security-chart-axis{font-size:var(--fs-12);color:var(--ink-3);margin-top:var(--s-2);font-variant-numeric:tabular-nums;justify-content:space-between;display:flex}.security-note{font-size:var(--fs-12);color:var(--ink-3);margin-top:var(--s-3);line-height:var(--lh-body)}.security-chips-block{margin-top:var(--s-3)}.security-chips-label{font-size:var(--fs-12);color:var(--ink-3);margin-bottom:var(--s-2);display:block}.security-chips{flex-wrap:wrap;gap:6px;display:flex}.security-chip{font-family:var(--font-mono);font-size:var(--fs-12);border-radius:var(--radius-sm);background:var(--surface-sunken);border:1px solid var(--line-soft);color:var(--ink-2);font-variant-numeric:tabular-nums;align-items:baseline;gap:6px;padding:2px 8px;display:inline-flex}.security-chip b{color:var(--ink-3);font-weight:var(--fw-medium)}.security-chip-ban{border-color:var(--err-line);color:var(--err);background:var(--surface)}.security-jails{gap:var(--s-2);flex-wrap:wrap;display:flex}.security-jail{align-items:baseline;gap:var(--s-2);font-size:var(--fs-13);border-radius:var(--radius);border:1px solid var(--line);padding:6px 10px;display:inline-flex}.security-jail b{color:var(--ink);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.security-jail em{color:var(--ink-3);font-style:normal;font-size:var(--fs-12)}.security-certs{gap:var(--s-2);margin-top:var(--s-4);padding-top:var(--s-3);border-top:1px solid var(--line-soft);flex-direction:column;display:flex}.security-cert{justify-content:space-between;gap:var(--s-3);font-size:var(--fs-13);color:var(--ink-2);display:flex}.security-cert b{font-variant-numeric:tabular-nums;color:var(--ink);font-weight:var(--fw-semibold)}.security-cert-warn b{color:var(--err)}.security-sources{gap:var(--s-3) var(--s-5);grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));display:grid}.security-source{font-size:var(--fs-13);flex-direction:column;gap:2px;min-width:0;display:flex}.security-source strong{font-weight:var(--fw-semibold)}.security-source span{color:var(--ink-3);font-size:var(--fs-12);overflow-wrap:anywhere}.security-limits{margin:var(--s-3) 0 0;color:var(--ink-3);font-size:var(--fs-12);line-height:var(--lh-body);padding-left:18px}@media (width<=1180px){.security-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=720px){.security-verdict{gap:var(--s-4);padding:var(--s-4);flex-direction:column}.security-grade{justify-content:flex-start;gap:var(--s-3);min-width:0;padding:var(--s-2) var(--s-3);flex-direction:row}.security-grade span{font-size:28px}.security-grade small{margin-top:0}.security-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.security-kpi{padding:var(--s-3) var(--s-4)}.security-kpi-value{font-size:22px}}@media (width<=640px){.security-checks,.security-checks tbody{display:block}.security-checks thead{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.security-checks tr{gap:var(--s-1) var(--s-3);padding:var(--s-3) var(--pad-x);border-bottom:1px solid var(--line-soft);grid-template-columns:auto minmax(0,1fr);display:grid}.security-checks tr:last-child{border-bottom:0}.security-view .security-checks td{background:0 0;border:0;max-width:none;padding:0;display:block}.security-checks td:first-child{grid-row:1/span 4}.security-checks td:nth-child(n+3){font-size:var(--fs-12);grid-column:2}.security-checks td:nth-child(3):before{content:"实测 ";color:var(--ink-3)}.security-checks td:nth-child(4):before{content:"期望 "}.security-checks td:nth-child(5):before{content:"证据 "}}:root{--canvas:#f5f5f3;--surface:#fff;--surface-sunken:#fafaf8;--surface-hover:#f6f6f3;--line:#e6e5e1;--line-soft:#efeeea;--line-strong:#d4d3ce;--ink:#17191e;--ink-2:#3c414b;--ink-3:#636a75;--ink-4:#9a9fa8;--accent:#2753d0;--accent-hover:#1e44b3;--accent-soft:#eef2fb;--accent-line:#c6d3f3;--accent-active:#183a9c;--on-accent:#fff;--focus-ring:0 0 0 2px var(--surface), 0 0 0 4px var(--accent);--ok:#18774c;--ok-soft:#ebf5ef;--warn:#8f5d00;--warn-soft:#fbf3e1;--warn-line:#ead8a8;--err:#b8322a;--err-soft:#fcefed;--err-line:#f0cdc8;--unknown:#5d636d;--unknown-soft:#f0f0ed;--viz-1:#2753d0;--viz-2:#0e7f73;--viz-3:#9a6a1f;--viz-4:#7d8390;--viz-grid:#ecebe7;--viz-axis:#c9c8c2;--viz-shade:#f3f3f0;--font-sans:Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono:ui-monospace, "SFMono-Regular", "JetBrains Mono", Menlo, Consolas, "Liberation Mono", monospace;--fs-12:12px;--fs-13:13px;--fs-14:14px;--fs-15:15px;--fs-22:22px;--fs-28:28px;--lh-tight:1.25;--lh-dense:1.45;--lh-body:1.6;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--section-gap:24px;--pad-x:16px;--radius-sm:4px;--radius:6px;--radius-lg:8px;--shadow-float:0 1px 2px #17191e0a, 0 8px 24px #17191e0f;--dur-fast:.12s;--dur:.18s;--ease:cubic-bezier(.2, 0, 0, 1);--control-h:32px;--touch:44px;--content-max:1440px}*,:before,:after{box-sizing:border-box}html{font-size:var(--fs-14);-webkit-text-size-adjust:100%;scrollbar-gutter:stable}:root{font-family:var(--font-sans);color:var(--ink);background:var(--canvas);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;line-height:var(--lh-body)}body{min-width:320px;font-size:var(--fs-14);background:var(--canvas);margin:0}h1,h2,h3,p{margin:0}h1{font-size:var(--fs-22);line-height:var(--lh-tight);font-weight:var(--fw-semibold);letter-spacing:-.01em}h2{font-size:var(--fs-15);line-height:var(--lh-tight);font-weight:var(--fw-semibold)}h3{font-size:var(--fs-13);line-height:var(--lh-dense);font-weight:var(--fw-semibold);color:var(--ink-2)}p{line-height:var(--lh-body)}code{font-family:var(--font-mono);font-size:var(--fs-12);color:var(--ink-2)}svg{vertical-align:middle;flex-shrink:0}button,input,select{font:inherit;color:inherit}button,select{cursor:pointer}button,a,input,select,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.55}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}:focus{outline:none}:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-sm);outline:none}input,select{min-width:0;color:var(--ink)}input::placeholder{color:var(--ink-4)}select{appearance:none;min-height:var(--control-h);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23636a75' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center;font-size:var(--fs-13);transition:border-color var(--dur-fast) var(--ease);padding:0 30px 0 10px;line-height:1.2}select:hover{border-color:var(--ink-4)}select:focus-visible{border-color:var(--accent)}.tabular,.numeric,.metric-number,td,time{font-variant-numeric:tabular-nums}.muted{color:var(--ink-3)}.micro{color:var(--ink-3);font-size:var(--fs-12);align-items:center;gap:var(--s-1);display:inline-flex}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.button{justify-content:center;align-items:center;gap:var(--s-2);min-height:var(--control-h);border-radius:var(--radius);font-size:var(--fs-13);font-weight:var(--fw-medium);white-space:nowrap;transition:background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);border:1px solid #0000;padding:0 12px;line-height:1.2;display:inline-flex}.button.primary{color:var(--on-accent);background:var(--accent)}.button.primary:hover:not(:disabled){background:var(--accent-hover)}.button.primary:active:not(:disabled){background:var(--accent-active)}.button.secondary{color:var(--ink);background:var(--surface);border-color:var(--line-strong)}.button.secondary:hover:not(:disabled){background:var(--surface-hover);border-color:var(--ink-4)}.button.secondary:active:not(:disabled){background:var(--line-soft)}.full-width{width:100%}.icon-button{min-width:var(--control-h);min-height:var(--control-h);border-radius:var(--radius);color:var(--ink-3);transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-button:hover:not(:disabled){color:var(--ink);background:var(--surface-hover)}.icon-button:active:not(:disabled){background:var(--line-soft)}.text-button{align-items:center;gap:var(--s-1);text-align:left;color:var(--accent);font-size:var(--fs-12);font-weight:var(--fw-medium);background:0 0;border:0;padding:0;display:inline-flex}.text-button:hover{color:var(--accent-hover);text-underline-offset:2px;text-decoration:underline}.segmented,.range-switch{background:var(--line-soft);border-radius:var(--radius);gap:2px;padding:2px;display:inline-flex}.segmented button,.range-switch button{border-radius:var(--radius-sm);min-height:28px;color:var(--ink-3);font-size:var(--fs-12);font-weight:var(--fw-medium);white-space:nowrap;font-variant-numeric:tabular-nums;transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:0;padding:0 10px}.segmented button:hover,.range-switch button:hover{color:var(--ink)}.segmented button[aria-pressed=true],.range-switch button.active{background:var(--surface);color:var(--ink);box-shadow:0 0 0 1px var(--line), 0 1px 1px #17191e0a}.brand{font-weight:var(--fw-semibold);font-size:var(--fs-15);white-space:nowrap;color:var(--ink);align-items:center;gap:10px;display:inline-flex}.brand-mark{border-radius:var(--radius);background:var(--ink);width:24px;height:24px;color:var(--on-accent);justify-content:center;align-items:center;display:inline-flex}.topbar{z-index:20;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0}.topbar-inner{max-width:var(--content-max);height:56px;padding:0 var(--s-8);align-items:center;gap:var(--s-5);margin:0 auto;display:flex}.workspace-tag{color:var(--ink-3);font-size:var(--fs-12);white-space:nowrap;padding-left:var(--s-5);border-left:1px solid var(--line);line-height:20px}.header-nav{align-self:stretch;align-items:stretch;gap:var(--s-1);margin-left:var(--s-3);min-width:0;display:flex}.header-nav button{align-items:center;gap:var(--s-2);color:var(--ink-3);font-size:var(--fs-14);font-weight:var(--fw-medium);white-space:nowrap;transition:color var(--dur-fast) var(--ease);background:0 0;border:0;padding:0 12px;display:flex;position:relative}.header-nav button svg{color:var(--ink-4);transition:color var(--dur-fast) var(--ease)}.header-nav button:hover{color:var(--ink)}.header-nav button:hover svg{color:var(--ink-3)}.header-nav button.active{color:var(--ink)}.header-nav button.active svg{color:var(--accent)}.header-nav button.active:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:-1px;left:12px;right:12px}.header-nav button:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}.account{align-items:center;gap:var(--s-2);color:var(--ink-3);font-size:var(--fs-13);margin-left:auto;display:flex}.account-name{text-overflow:ellipsis;white-space:nowrap;max-width:140px;color:var(--ink-2);overflow:hidden}.account .icon-button{margin-left:var(--s-1)}.main-content{max-width:var(--content-max);padding:var(--s-8) var(--s-8) var(--s-10);gap:var(--s-4);flex-direction:column;min-height:calc(100vh - 117px);margin:0 auto;display:flex}.main-content>.panel,.main-content>.metric-grid,.main-content>.traffic-view,.main-content>.security-view,.main-content>.detail-grid{margin-top:var(--s-2)}.view-heading{justify-content:space-between;align-items:flex-end;gap:var(--s-5);padding-bottom:var(--s-5);border-bottom:1px solid var(--line);display:flex}.view-heading-compact{padding-bottom:var(--s-3);border-bottom:0}.view-title{min-width:0}.view-heading p{color:var(--ink-3);margin-top:var(--s-2);font-size:var(--fs-14)}.refresh-controls{align-items:center;gap:var(--s-3);flex-wrap:wrap;justify-content:flex-end;display:flex}.last-refresh{color:var(--ink-3);font-size:var(--fs-12);white-space:nowrap;font-variant-numeric:tabular-nums}.auto-refresh{align-items:center;gap:var(--s-2);min-height:var(--control-h);padding:0 var(--s-1);border-radius:var(--radius);color:var(--ink-2);font-size:var(--fs-13);background:0 0;border:0;display:inline-flex}.auto-refresh:hover{color:var(--ink)}.switch-track{background:var(--line-strong);width:28px;height:16px;transition:background-color var(--dur) var(--ease);border-radius:999px;align-items:center;padding:2px;display:inline-flex}.switch-track i{background:var(--surface);width:12px;height:12px;transition:transform var(--dur) var(--ease);border-radius:50%;box-shadow:0 1px 2px #17191e33}.switch-track.on{background:var(--accent)}.switch-track.on i{transform:translate(12px)}.page-footer{max-width:var(--content-max);padding:var(--s-5) var(--s-8);justify-content:space-between;align-items:center;gap:var(--s-4);color:var(--ink-3);font-size:var(--fs-12);border-top:1px solid var(--line);margin:0 auto;display:flex}.console>.page-footer{width:calc(100% - 2 * var(--s-8));padding-left:0;padding-right:0}.footer-readonly{align-items:center;gap:var(--s-2);display:inline-flex}.banner{align-items:flex-start;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--radius-lg);font-size:var(--fs-14);line-height:var(--lh-body);overflow-wrap:anywhere;border:1px solid;display:flex}.banner>svg{margin-top:3px}.banner-body{min-width:0}.banner-warning{background:var(--warn-soft);border-color:var(--warn-line);color:var(--warn)}.banner-error{background:var(--err-soft);border-color:var(--err-line);color:var(--err)}.banner strong{font-weight:var(--fw-semibold)}.banner-sub{font-size:var(--fs-13);color:var(--ink-2);margin-top:2px;display:block}.empty{min-height:112px;padding:var(--s-6) var(--s-5);justify-content:center;align-items:center;gap:var(--s-2);color:var(--ink-3);font-size:var(--fs-13);text-align:center;line-height:var(--lh-body);flex-wrap:wrap;display:flex}.loading{color:var(--ink-3)}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.status{font-size:var(--fs-13);font-weight:var(--fw-medium);white-space:nowrap;align-items:center;gap:6px;line-height:20px;display:inline-flex}.status-healthy{color:var(--ok)}.status-warning{color:var(--warn)}.status-error{color:var(--err)}.status-unknown,.status-paused{color:var(--unknown)}.status-upstream-absent{color:var(--ink-3)}.status-paused svg,.status-unknown svg,.status-upstream-absent svg{opacity:.85}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);min-width:0;position:relative;overflow:hidden}.panel-heading{min-height:52px;padding:var(--s-3) var(--pad-x);justify-content:space-between;align-items:center;gap:var(--s-2) var(--s-4);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.panel-heading h2{color:var(--ink)}.panel-aside{color:var(--ink-3);font-size:var(--fs-12);font-variant-numeric:tabular-nums;min-width:0}.panel>h3{padding:var(--s-4) var(--pad-x) var(--s-2)}.host-strip{align-items:center;gap:var(--s-2) var(--s-6);color:var(--ink-3);font-size:var(--fs-13);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.host-strip>span:first-child{color:var(--ink);gap:var(--s-2);align-items:center;display:inline-flex}.host-strip>span:first-child svg{color:var(--ink-3)}.host-strip strong{font-weight:var(--fw-semibold)}.host-strip>span:last-child{margin-left:auto}.separator{color:var(--ink-4);padding:0 var(--s-1)}.metric-grid{background:var(--line);border:1px solid var(--line);border-radius:var(--radius-lg);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.metric-card{min-width:0;padding:var(--s-4) var(--s-5) var(--s-5);background:var(--surface);position:relative}.metric-label{justify-content:space-between;align-items:center;gap:var(--s-2);font-size:var(--fs-13);color:var(--ink-3);font-weight:var(--fw-medium);display:flex}.metric-number{margin:var(--s-2) 0 var(--s-1);font-size:var(--fs-28);line-height:1.15;font-weight:var(--fw-semibold);letter-spacing:-.02em;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.metric-sub{color:var(--ink-3);font-size:var(--fs-12);line-height:var(--lh-dense);font-variant-numeric:tabular-nums}.meter{height:4px;margin-top:var(--s-3);background:var(--line-soft);border-radius:2px;overflow:hidden}.meter>span{background:var(--ink-3);border-radius:2px;height:100%;display:block}.history-chart{padding:var(--s-4) var(--pad-x) var(--s-4)}.chart-caption{justify-content:space-between;align-items:center;gap:var(--s-3) var(--s-4);margin-bottom:var(--s-4);flex-wrap:wrap;display:flex}.chart-tools{align-items:center;gap:var(--s-3);display:inline-flex}.legend{align-items:center;gap:var(--s-2) var(--s-5);color:var(--ink-2);font-size:var(--fs-13);flex-wrap:wrap;display:flex}.legend-item{align-items:center;gap:var(--s-2);display:inline-flex}.legend-swatch{border-top:2px solid var(--viz-1);width:14px;height:0;display:inline-block}.legend-swatch-1{border-top-color:var(--viz-2)}.legend-swatch-2{border-top-color:var(--viz-3)}.legend-swatch-3{border-top:2px dashed var(--viz-4)}.legend-value{font-weight:var(--fw-semibold);color:var(--ink);font-variant-numeric:tabular-nums}.chart-series-0{stroke:var(--viz-1)}.chart-series-1{stroke:var(--viz-2)}.chart-series-2{stroke:var(--viz-3)}.chart-series-3{stroke:var(--viz-4)}.chart-grid{stroke:var(--viz-grid)}.chart-baseline{stroke:var(--viz-axis)}.capacity-note{margin-bottom:var(--s-4);padding:var(--s-2) var(--s-3);background:var(--surface-sunken);border:1px solid var(--line-soft);border-radius:var(--radius);color:var(--ink-2);font-size:var(--fs-13);font-variant-numeric:tabular-nums}.plot{height:176px;padding-left:44px;position:relative}.plot svg{width:100%;height:100%;display:block;overflow:visible}.chart-y{width:36px;font-size:var(--fs-12);color:var(--ink-3);font-variant-numeric:tabular-nums;position:absolute;top:0;bottom:0;left:0}.chart-y>span{line-height:1;position:absolute;right:0;transform:translateY(-50%)}.chart-x{justify-content:space-between;gap:var(--s-3);margin:var(--s-2) 0 0 44px;color:var(--ink-3);font-size:var(--fs-12);font-variant-numeric:tabular-nums;display:flex}.history-empty{background:var(--surface-sunken);border-radius:var(--radius);flex-direction:column;min-height:200px}.history-empty strong{color:var(--ink-2);font-size:var(--fs-14);font-weight:var(--fw-medium)}.history-empty>span{font-size:var(--fs-12)}.project-summary{border-bottom:1px solid var(--line);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.summary-item{min-width:0;min-height:56px;padding:var(--s-3) var(--pad-x);align-items:center;gap:var(--s-2);border:0;border-right:1px solid var(--line-soft);background:var(--surface);color:var(--ink-3);font-size:var(--fs-13);text-align:left;transition:background-color var(--dur-fast) var(--ease);display:flex;position:relative}.summary-item:last-child{border-right:0}.summary-item:hover{background:var(--surface-hover)}.summary-item.is-selected{background:var(--accent-soft);color:var(--ink)}.summary-item.is-selected:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:0;left:0;right:0}.summary-item:focus-visible{box-shadow:inset 0 0 0 2px var(--accent);border-radius:0}.summary-item>strong{font-size:20px;font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;color:var(--ink);margin-left:auto;line-height:1}.summary-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.dot-healthy{background:var(--ok)}.dot-warning{background:var(--warn)}.dot-error{background:var(--err)}.dot-unknown{background:var(--ink-4)}.dot-paused{box-shadow:inset 0 0 0 2px var(--ink-4);background:0 0}.table-tools{justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--pad-x);border-bottom:1px solid var(--line);font-size:var(--fs-13);flex-wrap:wrap;display:flex}.event-paging{border-bottom:0;border-top:1px solid var(--line);justify-content:flex-start}.search-field{align-items:center;gap:var(--s-2);width:100%;max-width:360px;min-height:var(--control-h);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);color:var(--ink-3);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);padding:0 10px;display:inline-flex}.search-field:hover{border-color:var(--ink-4)}.search-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search-field input{width:100%;font-size:var(--fs-13);background:0 0;border:0;outline:none}.search-field input:focus-visible{box-shadow:none}.select-field{align-items:center;gap:var(--s-2);color:var(--ink-3);font-size:var(--fs-13);display:flex}.table-scroll,.traffic-table-wrap,.security-table-wrap{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;max-width:100%;position:relative;overflow-x:auto}table{border-collapse:separate;border-spacing:0;width:100%}th{padding:0 var(--s-3);height:36px;font-size:var(--fs-12);font-weight:var(--fw-medium);color:var(--ink-3);background:var(--surface-sunken);text-align:left;white-space:nowrap;border-bottom:1px solid var(--line)}td{padding:10px var(--s-3);font-size:var(--fs-13);line-height:var(--lh-dense);color:var(--ink);vertical-align:middle;text-align:left;white-space:nowrap;background:var(--surface);border-bottom:1px solid var(--line-soft)}tr:last-child td{border-bottom:0}th:first-child,td:first-child{padding-left:var(--pad-x)}th:last-child,td:last-child{padding-right:var(--pad-x)}th.numeric,td.numeric{text-align:right}tbody tr{transition:background-color var(--dur-fast) var(--ease)}tbody tr:hover td{background:var(--surface-hover)}.project-table{min-width:820px}.project-table td{padding-top:var(--s-3);padding-bottom:var(--s-3)}.project-table td.numeric>span{font-weight:var(--fw-medium)}.project-table td.numeric>p{font-size:var(--fs-12);line-height:var(--lh-dense)}.sticky-name{z-index:1;position:sticky;left:0}th.sticky-name{z-index:2}.project-link{text-align:left;color:var(--ink);font-size:var(--fs-14);font-weight:var(--fw-semibold);line-height:var(--lh-dense);white-space:normal;background:0 0;border:0;max-width:300px;padding:0}.project-link:hover{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.project-description{max-width:300px;color:var(--ink-3);font-size:var(--fs-12);line-height:var(--lh-dense);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;overflow:hidden}.stage-tag{color:var(--ink-2);font-size:var(--fs-13);white-space:nowrap;display:inline-block}.tag{color:var(--ink-3);font-size:var(--fs-12)}.count{font-variant-numeric:tabular-nums;min-width:20px;color:var(--ink-3);justify-content:center;display:inline-flex}.component-list{padding:var(--s-4) var(--pad-x);gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));display:grid}.component{min-width:0;padding:var(--s-3) var(--s-4);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.component-head{justify-content:space-between;align-items:flex-start;gap:var(--s-3);display:flex}.component-head strong{font-size:var(--fs-14);font-weight:var(--fw-semibold);overflow-wrap:anywhere;line-height:var(--lh-dense)}.component-meta{align-items:center;gap:var(--s-1) var(--s-3);margin-top:var(--s-2);color:var(--ink-3);font-size:var(--fs-12);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.component p{margin:var(--s-2) 0;font-size:var(--fs-13);color:var(--ink-2);overflow-wrap:anywhere;line-height:var(--lh-dense)}.back-button{align-self:flex-start;align-items:center;gap:var(--s-2);min-height:var(--control-h);padding:0 var(--s-2) 0 0;color:var(--ink-3);font-size:var(--fs-13);font-weight:var(--fw-medium);border-radius:var(--radius);background:0 0;border:0;display:inline-flex}.back-button:hover{color:var(--ink)}.project-hero{align-items:flex-start;gap:var(--s-4);padding-bottom:var(--s-5);border-bottom:1px solid var(--line);display:flex}.project-hero-copy{flex:1;min-width:0}.project-hero-copy h1{overflow-wrap:anywhere}.project-hero-copy p{color:var(--ink-3);margin-top:var(--s-2);max-width:72ch}.project-hero-tags{align-items:center;gap:var(--s-2) var(--s-5);margin-top:var(--s-3);font-size:var(--fs-13);flex-wrap:wrap;display:flex}.project-id{color:var(--ink-3);font-size:var(--fs-13)}.project-id code{margin-left:var(--s-1)}.project-hero>.button{flex-shrink:0;margin-left:auto}.detail-grid{gap:var(--s-4);grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);align-items:start;display:grid}.facts{padding:var(--s-1) var(--pad-x);margin:0}.facts>div{gap:var(--s-4);padding:var(--s-3) 0;border-bottom:1px solid var(--line-soft);grid-template-columns:96px minmax(0,1fr);display:grid}.facts>div:last-child{border-bottom:0}dt{color:var(--ink-3);font-size:var(--fs-12);line-height:var(--lh-dense)}dd{overflow-wrap:anywhere;line-height:var(--lh-dense);font-size:var(--fs-13);font-variant-numeric:tabular-nums;margin:0}.facts dt{line-height:20px}.project-notes{margin:var(--s-1) var(--pad-x) var(--s-4);padding:var(--s-3) var(--s-4);border-left:2px solid var(--line-strong);background:var(--surface-sunken);color:var(--ink-2);font-size:var(--fs-13)}.project-notes p+p{margin-top:var(--s-2)}.freshness-list{padding:var(--s-4) var(--pad-x);gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));display:grid}.source-card{min-width:0;padding:var(--s-4);border:1px solid var(--line);border-radius:var(--radius)}.source-heading{justify-content:space-between;align-items:flex-start;gap:var(--s-3);display:flex}.source-heading strong{font-weight:var(--fw-semibold)}.source-path{margin:var(--s-2) 0 var(--s-3);color:var(--ink-3);overflow-wrap:anywhere;font-size:var(--fs-12);white-space:normal;display:block}.source-meta{gap:var(--s-3) var(--s-6);flex-wrap:wrap;margin:0;display:flex}.source-meta dd{color:var(--ink);margin-top:2px}.source-card p{margin-top:var(--s-3);font-size:var(--fs-13);color:var(--ink-2);overflow-wrap:anywhere}.log-source{justify-content:space-between;gap:var(--s-2);padding:var(--s-3) var(--pad-x);border-bottom:1px solid var(--line);color:var(--ink-3);font-size:var(--fs-12);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.log-lines{background:var(--surface-sunken);max-height:440px;font-family:var(--font-mono);overflow:auto}.log-line{gap:var(--s-3);padding:6px var(--pad-x);border-bottom:1px solid var(--line-soft);font-size:var(--fs-12);line-height:var(--lh-dense);grid-template-columns:150px 56px minmax(0,1fr) 110px;align-items:baseline;display:grid}.log-line:last-child{border-bottom:0}.log-line:hover{background:var(--surface-hover)}.log-line time,.log-level,.log-origin{color:var(--ink-3);font-size:var(--fs-12);overflow-wrap:anywhere}.log-level{text-transform:lowercase}.log-message{color:var(--ink);font-size:var(--fs-12);white-space:pre-wrap;overflow-wrap:anywhere}.log-error{background:var(--err-soft)}.log-error .log-level{color:var(--err);font-weight:var(--fw-semibold)}.event-list{padding:0 var(--pad-x);margin:0;list-style:none}.event-item{gap:var(--s-3);padding:var(--s-2) 0;border-bottom:1px solid var(--line-soft);display:flex;position:relative}.event-item:last-child{border-bottom:0}.event-dot{background:var(--ink-4);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.event-dot-error{background:var(--err)}.event-dot-warning{background:var(--warn)}.event-body{flex:1;gap:2px;min-width:0;display:grid}.event-heading{align-items:baseline;gap:var(--s-1) var(--s-3);min-width:0;display:flex}.event-time{color:var(--ink-3);font-size:var(--fs-12);font-variant-numeric:tabular-nums;flex-shrink:0}.event-heading strong{min-width:0;font-size:var(--fs-14);font-weight:var(--fw-semibold);line-height:var(--lh-dense);overflow-wrap:anywhere}.event-heading>.status{flex-shrink:0;align-self:center;margin-left:auto}.event-meta{min-width:0;color:var(--ink-3);font-size:var(--fs-12);line-height:var(--lh-dense);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.event-meta>*{margin-right:var(--s-4)}.event-meta>:last-child{margin-right:0}.event-meta>.text-button{vertical-align:baseline;display:inline-flex}.event-meta code{font-size:var(--fs-12)}.event-more{min-width:0}.event-more>summary{min-width:0;color:var(--ink-2);font-size:var(--fs-13);line-height:var(--lh-dense);cursor:pointer;border-radius:var(--radius-sm);flex-direction:column;gap:2px;padding:2px 0 2px 16px;list-style:none;display:flex;position:relative}.event-more>summary::-webkit-details-marker{display:none}.event-more>summary:before{content:"";border-right:1.5px solid var(--ink-3);border-bottom:1.5px solid var(--ink-3);width:6px;height:6px;position:absolute;top:calc(.725em - 1px);left:2px;transform:rotate(-45deg)}.event-more[open]>summary:before{transform:rotate(45deg)}.event-more>summary:hover{color:var(--ink)}.event-more>summary:focus-visible{box-shadow:0 0 0 2px var(--accent)}.event-detail{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;min-width:0;display:-webkit-box;overflow:hidden}.event-more[open] .event-detail{-webkit-line-clamp:unset;display:block;overflow:visible}p.event-detail{margin:var(--s-1) 0 0 16px;color:var(--ink-2);font-size:var(--fs-13);line-height:var(--lh-dense)}.event-transition{align-items:baseline;gap:var(--s-2);min-width:0;font-size:var(--fs-12);display:flex}.event-transition>code{min-width:0;max-width:calc(50% - var(--s-3));text-overflow:ellipsis;white-space:nowrap;flex:0 auto;overflow:hidden}.event-transition>span[aria-hidden=true]{color:var(--ink-3);flex-shrink:0}.event-more[open] .event-transition{flex-direction:column;align-items:stretch;gap:2px}.event-more[open] .event-transition>code{white-space:pre-wrap;overflow-wrap:anywhere;max-width:none;overflow:visible}.event-more[open] .event-transition>span[aria-hidden=true]{display:none}.capability-panel .check-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));align-items:start}.event-filters label{align-items:center;gap:var(--s-2);color:var(--ink-3);font-size:var(--fs-13);display:flex}.event-filters select{max-width:180px}.event-search input{min-height:var(--control-h);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);font-size:var(--fs-13);width:200px;padding:0 10px}.event-search input:hover{border-color:var(--ink-4)}.event-search input:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);border-radius:var(--radius)}.incident-tools,.event-filters{align-items:center;gap:var(--s-3);padding:var(--s-3) var(--pad-x);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.incident-tools>span,.event-filters>span{color:var(--ink-3);font-size:var(--fs-12);line-height:var(--lh-dense);flex:320px}.coverage-note{padding:var(--s-3) var(--pad-x);color:var(--ink-2);background:var(--surface-sunken);font-size:var(--fs-13);line-height:var(--lh-dense);border-bottom:1px solid var(--line)}.main-content>.coverage-note{border:1px solid var(--line);border-radius:var(--radius-lg)}.coverage-warning{color:var(--warn);background:var(--warn-soft);border-color:var(--warn-line)}.incident-list,.check-list{gap:var(--s-2);padding:var(--s-3) var(--pad-x);display:grid}.incident-unknown-collapse{border-top:1px solid var(--line)}.incident-unknown-collapse>summary{align-items:center;gap:var(--s-2);min-height:44px;padding:var(--s-2) var(--pad-x);color:var(--ink-2);font-size:var(--fs-13);cursor:pointer;transition:background-color var(--dur-fast) var(--ease);list-style:none;display:flex}.incident-unknown-collapse>summary:hover{background:var(--surface-hover)}.incident-unknown-collapse>summary:focus-visible{box-shadow:inset 0 0 0 2px var(--accent);border-radius:0}.incident-unknown-collapse>summary::-webkit-details-marker{display:none}.incident-unknown-collapse>summary:before,.evidence-card>summary:before{content:"";border-right:1.5px solid var(--ink-3);border-bottom:1.5px solid var(--ink-3);width:6px;height:6px;transition:transform var(--dur-fast) var(--ease);flex-shrink:0;margin:0 4px 0 2px;transform:rotate(-45deg)}.incident-unknown-collapse[open]>summary:before,.evidence-card[open]>summary:before{transform:rotate(45deg)}.incident-unknown-collapse[open]>summary{border-bottom:1px solid var(--line)}.incident-peek{align-items:center;gap:var(--s-2) var(--s-3);width:100%;min-height:44px;padding:var(--s-2) var(--s-4);border:1px solid var(--warn-line);border-radius:var(--radius-lg);background:var(--warn-soft);color:var(--warn);font-size:var(--fs-14);font-weight:var(--fw-medium);text-align:left;cursor:pointer;font-variant-numeric:tabular-nums;transition:border-color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease);flex-wrap:wrap;display:flex}.incident-peek:hover{border-color:var(--warn)}.incident-peek .peek-cta{align-items:center;gap:var(--s-1);font-size:var(--fs-13);margin-left:auto;display:inline-flex}.incident-peek.compact{border-color:var(--line);background:var(--surface);color:var(--ink-2);font-weight:var(--fw-regular)}.incident-peek.compact:hover{border-color:var(--line-strong);background:var(--surface-hover)}.incident-peek.compact .peek-cta{color:var(--accent)}.evidence-card{border:1px solid var(--line);border-left:3px solid var(--ink-4);border-radius:var(--radius);background:var(--surface);min-width:0}.evidence-error{border-left-color:var(--err)}.evidence-warning{border-left-color:var(--warn)}.evidence-healthy{border-left-color:var(--ok)}.evidence-unknown,.evidence-paused,.evidence-upstream-absent{border-left-color:var(--ink-4)}.evidence-recovered{border-left-color:var(--line-strong);background:var(--surface-sunken)}.evidence-card>summary{align-items:center;gap:var(--s-3);min-height:52px;padding:var(--s-2) var(--s-4);cursor:pointer;border-radius:0 var(--radius) var(--radius) 0;transition:background-color var(--dur-fast) var(--ease);list-style:none;display:flex}.evidence-card>summary:hover{background:var(--surface-hover)}.evidence-card>summary::-webkit-details-marker{display:none}.evidence-card>summary>.status{flex-shrink:0;margin-left:auto}.evidence-title{overflow-wrap:anywhere;flex-direction:column;gap:2px;min-width:0;display:flex}.evidence-title strong{font-size:var(--fs-14);font-weight:var(--fw-semibold);line-height:var(--lh-dense)}.evidence-caption,.evidence-time{color:var(--ink-3);font-size:var(--fs-12);line-height:var(--lh-dense);font-variant-numeric:tabular-nums}.evidence-content{padding:var(--s-3) var(--s-4) var(--s-4);border-top:1px solid var(--line-soft)}.evidence-detail{margin:var(--s-2) 0 var(--s-3);color:var(--ink-2);font-size:var(--fs-13);overflow-wrap:anywhere}.evidence-grid{gap:var(--s-3) var(--s-5);margin:var(--s-3) 0;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.evidence-grid>div{min-width:0}.evidence-grid dt{margin-bottom:2px}.evidence-grid dd{font-size:var(--fs-13);line-height:var(--lh-body)}.evidence-wide{grid-column:1/-1}.issues{max-height:320px;overflow-y:auto}.issue{gap:var(--s-3);padding:var(--s-3) var(--pad-x);border-bottom:1px solid var(--line-soft);align-items:flex-start;display:flex}.issue:last-child{border-bottom:0}.issue>div{min-width:0}.issue strong{font-weight:var(--fw-semibold);overflow-wrap:anywhere}.issue p{font-size:var(--fs-13);color:var(--ink-2);overflow-wrap:anywhere;margin-top:2px}.issue .text-button{margin-top:var(--s-2)}.layer-grid{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.layer-card{min-width:0;padding:var(--s-4) var(--pad-x);border-right:1px solid var(--line-soft)}.layer-card:last-child{border-right:0}.layer-card>div{justify-content:space-between;align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.layer-card strong{font-size:var(--fs-14);font-weight:var(--fw-semibold)}.layer-card p{margin-top:var(--s-1);color:var(--ink-3);font-size:var(--fs-12)}.auth-page{background:var(--canvas);flex-direction:column;min-height:100vh;display:flex}.auth-header{width:100%;max-width:1120px;padding:var(--s-6) var(--s-8);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.auth-layout{width:100%;max-width:1120px;padding:var(--s-8) var(--s-8) var(--s-10);grid-template-columns:minmax(0,1fr) 400px;align-items:center;gap:96px;margin:auto;display:grid}.auth-intro{min-width:0}.auth-intro h1{letter-spacing:-.02em;font-size:34px;line-height:1.3;font-weight:var(--fw-semibold)}.auth-intro h1>span{color:var(--ink-3)}.auth-intro>p{margin-top:var(--s-5);color:var(--ink-2);font-size:16px;line-height:1.75}.auth-principles{margin:var(--s-8) 0 0;padding:var(--s-5) 0 0;border-top:1px solid var(--line);gap:var(--s-3) var(--s-6);color:var(--ink-2);font-size:var(--fs-14);flex-wrap:wrap;list-style:none;display:flex}.auth-principles li{align-items:center;gap:var(--s-2);display:inline-flex}.auth-principles svg{color:var(--ok)}.auth-card{padding:var(--s-8);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-float)}.auth-card h2{font-size:20px}.auth-description{margin:var(--s-2) 0 var(--s-6);color:var(--ink-3);font-size:var(--fs-14)}.auth-card .banner{margin-bottom:var(--s-4);font-size:var(--fs-13)}.form-label{margin:var(--s-4) 0 6px;color:var(--ink-2);font-size:var(--fs-13);font-weight:var(--fw-medium);display:block}.auth-input{align-items:center;gap:var(--s-2);padding:0 var(--s-3);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);color:var(--ink-4);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);display:flex}.auth-input:hover{border-color:var(--ink-4)}.auth-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);color:var(--ink-3)}.auth-input input{width:100%;min-height:42px;font-size:var(--fs-14);background:0 0;border:0;outline:none;padding:0}.auth-input input:focus-visible{box-shadow:none}.input-help{color:var(--ink-3);font-size:var(--fs-12);margin-top:6px}.auth-submit{margin-top:var(--s-6);min-height:44px;font-size:var(--fs-14)}.auth-footer{align-items:center;gap:var(--s-2);margin-top:var(--s-6);padding-top:var(--s-4);border-top:1px solid var(--line-soft);color:var(--ink-3);font-size:var(--fs-12);display:flex}.auth-page>.page-footer{width:100%;max-width:1120px;padding:var(--s-5) var(--s-8)}.connection-state{width:min(460px,100%);padding:var(--s-6);align-items:center;gap:var(--s-4);text-align:center;flex-direction:column;margin:auto;display:flex}@media (width<=1180px){.workspace-tag{display:none}.header-nav{margin-left:0}.header-nav button{padding:0 10px}.header-nav button.active:after{left:10px;right:10px}.auth-layout{grid-template-columns:minmax(0,1fr) 380px;gap:48px}}@media (width<=960px){.topbar-inner{padding:0 var(--s-5)}.header-nav button svg{display:none}.main-content{padding:var(--s-6) var(--s-5) var(--s-8)}.console>.page-footer{width:calc(100% - 2 * var(--s-5))}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid,.layer-grid{grid-template-columns:minmax(0,1fr)}.layer-card{border-right:0;border-bottom:1px solid var(--line-soft)}.layer-card:last-child{border-bottom:0}.evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.log-line{grid-template-columns:140px 52px minmax(0,1fr)}.log-origin{grid-column:3}.auth-layout{gap:var(--s-8);grid-template-columns:minmax(0,1fr);max-width:520px}}@media (width<=640px){.topbar-inner{height:auto;padding:0 var(--s-4);gap:0 var(--s-3);flex-wrap:wrap}.brand,.account{min-height:52px}.account>svg,.account-name{display:none}.account .icon-button{min-width:var(--touch);min-height:var(--touch);margin:0 calc(-1 * var(--s-2)) 0 0}.header-nav{margin:0 calc(-1 * var(--s-4));padding:0 var(--s-2);scrollbar-width:none;border-top:1px solid var(--line-soft);flex:1 0 100%;order:3;gap:0;overflow-x:auto}.header-nav::-webkit-scrollbar{display:none}.header-nav button{min-height:var(--touch);padding:0 var(--s-3);font-size:var(--fs-14)}.header-nav button.active:after{left:var(--s-3);right:var(--s-3)}.main-content{padding:var(--s-5) var(--s-4) var(--s-8);gap:var(--s-3)}.console>.page-footer{width:calc(100% - 2 * var(--s-4))}.page-footer{align-items:flex-start;gap:var(--s-2);padding:var(--s-4);flex-direction:column}.view-heading{align-items:stretch;gap:var(--s-3);padding-bottom:var(--s-4);flex-direction:column}.view-heading h1{font-size:20px}.view-heading p{font-size:var(--fs-13)}.refresh-controls{justify-content:flex-start;gap:var(--s-2) var(--s-3)}.last-refresh{flex:1 0 100%}.auto-refresh,.refresh-button{min-height:var(--touch)}.button{min-height:var(--touch);padding:0 var(--s-4)}.icon-button{min-width:var(--touch);min-height:var(--touch)}.text-button,.back-button{min-height:var(--touch)}select,.search-field,.event-search input{min-height:var(--touch);font-size:16px}.search-field input{align-self:stretch;font-size:16px}.segmented button,.range-switch button{min-height:var(--touch);padding:0 var(--s-3)}.event-meta .text-button,.component-meta .text-button{margin-block:-12px}.project-link,.traffic-project-link{min-height:var(--touch);min-width:var(--touch);align-items:center;margin-block:-12px;display:inline-flex}.event-more>summary{min-height:var(--touch);padding-block:var(--s-3) var(--s-2)}.event-more>summary:before{top:calc(var(--s-3) + .725em - 3px)}.segmented,.range-switch{padding:2px}.host-strip{gap:var(--s-1) var(--s-4);font-size:var(--fs-12)}.host-strip>span:last-child{margin-left:0}.metric-card{padding:var(--s-3) var(--s-4) var(--s-4)}.metric-number{font-size:22px}.panel-heading{padding:var(--s-3) var(--s-4)}:root{--pad-x:14px}.chart-caption{flex-direction:column;align-items:flex-start}.chart-tools{justify-content:space-between;width:100%}.plot{height:150px;padding-left:38px}.chart-y{width:32px}.chart-x{margin-left:38px}.chart-x>span:nth-child(2):not(:last-child){display:none}.project-summary{grid-template-columns:repeat(5,minmax(0,1fr))}.summary-item{align-items:flex-start;gap:var(--s-1);min-height:64px;padding:var(--s-2) var(--s-2) var(--s-2) var(--s-3);font-size:var(--fs-12);flex-direction:column}.summary-item>strong{order:-1;margin:0;font-size:18px}.summary-dot{display:none}.table-tools{padding:var(--s-3) var(--pad-x)}.search-field{flex:100%;max-width:none}.select-field{flex:100%}.select-field select,.table-tools select{flex:1}.select-field>span{display:none}.sticky-name{min-width:160px;max-width:180px;box-shadow:1px 0 0 var(--line)}.project-link,.project-description{max-width:150px}.project-hero{flex-wrap:wrap}.project-hero>.button{margin-left:0}.facts>div{gap:var(--s-3);grid-template-columns:80px minmax(0,1fr)}.log-line{gap:2px var(--s-2);grid-template-columns:minmax(0,1fr) auto}.log-level{text-align:right}.log-message,.log-origin{grid-column:1/-1}.event-heading{flex-wrap:wrap}.event-heading strong{flex:100%;order:1}.event-filters label{flex:100%;justify-content:space-between}.event-filters select,.event-search input{flex:1;width:auto;max-width:none}.incident-tools>span,.event-filters>span{flex-basis:100%}.evidence-card>summary{padding:var(--s-2) var(--s-4);flex-wrap:wrap}.evidence-title{flex:calc(100% - 24px)}.evidence-card>summary>.status{margin-left:18px}.incident-peek .peek-cta{margin-left:0}.auth-header{padding:var(--s-5) var(--s-5)}.auth-layout{padding:0 var(--s-5) var(--s-8);gap:var(--s-6)}.auth-intro h1{font-size:24px}.auth-intro h1 br,.auth-intro>p br{display:none}.auth-intro>p{font-size:var(--fs-14);margin-top:var(--s-3)}.auth-principles{margin-top:var(--s-4);padding-top:var(--s-4);gap:var(--s-2) var(--s-4);font-size:var(--fs-13)}.auth-card{padding:var(--s-6) var(--s-5)}.auth-input input{min-height:var(--touch);font-size:16px}.auth-page>.page-footer{padding:var(--s-4) var(--s-5)}}@media (width<=420px){.evidence-grid{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.spin{animation:none!important}}
