:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f5f7f8;color:#111827;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--bg: #f5f7f8;--surface: #ffffff;--surface-2: #eef2f5;--ink: #111827;--muted: #667085;--border: #d8dee6;--border-strong: #b8c2cc;--green: #0f9f6e;--green-soft: #e6f6ef;--blue: #1f6feb;--blue-soft: #e8f1ff;--amber: #f59e0b;--amber-soft: #fff3d7;--red: #d92d20;--red-soft: #fdecec;--ink-panel: #17202a;--shadow: 0 14px 40px rgba(17, 24, 39, .08)}*{box-sizing:border-box}html{min-width:320px;background:var(--bg)}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.64}.app-shell{display:grid;grid-template-columns:264px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;gap:24px;height:100vh;padding:20px 16px;overflow-y:auto;color:#f7fbff;background:linear-gradient(180deg,rgba(15,159,110,.14),rgba(31,111,235,.08) 44%,transparent),var(--ink-panel)}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand__mark{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border:1px solid rgba(255,255,255,.18);border-radius:8px;color:#fff;background:#ffffff14}.brand h1{margin:0;font-size:18px;line-height:1.15;font-weight:760}.brand p,.topbar p,.panel__header p,.overview-band p,.capability-row p,.callout p{margin:0;color:var(--muted)}.brand p{margin-top:3px;color:#b8c6d6;font-size:13px}.nav-list{display:grid;gap:6px}.nav-button{display:flex;align-items:center;gap:10px;width:100%;min-height:42px;padding:10px 11px;border:1px solid transparent;border-radius:8px;color:#d9e3ef;background:transparent;text-align:left;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.nav-button:hover,.nav-button[data-selected=true]{color:#fff;border-color:#ffffff29;background:#ffffff1a}.nav-button svg{flex:0 0 auto}.nav-button span{overflow-wrap:anywhere;font-size:14px;font-weight:650}.sidebar-note{display:flex;align-items:flex-start;gap:9px;margin-top:auto;padding:12px;border:1px solid rgba(255,255,255,.14);border-radius:8px;color:#c6d1dd;background:#ffffff0f;font-size:12px;line-height:1.45}.sidebar-note svg{flex:0 0 auto;margin-top:1px}.main-area{display:flex;flex-direction:column;gap:18px;min-width:0;padding:22px}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:18px 20px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.topbar h2,.overview-band h2,.panel__header h2{margin:0;color:var(--ink);font-size:22px;line-height:1.2;font-weight:780}.topbar p,.overview-band p,.panel__header p{max-width:860px;margin-top:7px;font-size:14px;line-height:1.55}.topbar__meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;flex:0 0 auto}.topbar__meta span,.status-chip{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:6px 10px;border:1px solid var(--border);border-radius:8px;color:#344054;background:#f9fafb;font-size:12px;font-weight:700}.status-chip--good{color:#087443;border-color:#a9dec8;background:var(--green-soft)}.status-chip--danger{color:#b42318;border-color:#f2b8b5;background:var(--red-soft)}.view-stack{display:grid;gap:18px;min-width:0}.overview-band,.panel{border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.overview-band{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:22px}.overview-copy{min-width:0}.overview-actions,.button-row{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.panel{display:grid;gap:16px;min-width:0;padding:18px}.panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;min-width:0}.panel__header>div:first-child{min-width:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:8px 12px;border:1px solid var(--border-strong);border-radius:8px;color:#1f2937;background:#fff;font-size:13px;font-weight:760;line-height:1.1;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.button:hover{border-color:#98a6b7;background:#f7f9fb}.button:active{transform:translateY(1px)}.button--primary{color:#fff;border-color:#0c875d;background:var(--green)}.button--primary:hover{border-color:#0a7651;background:#0d8f63}.button svg{flex:0 0 auto}.metric-grid{display:grid;gap:12px;min-width:0}.metric-grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-card{min-width:0;min-height:112px;padding:14px;border:1px solid var(--border);border-left:4px solid #98a2b3;border-radius:8px;background:#fff}.metric-card--good{border-left-color:var(--green);background:linear-gradient(180deg,#fff,#f5fcf9)}.metric-card--warn{border-left-color:var(--amber);background:linear-gradient(180deg,#fff,#fffaf0)}.metric-card--danger{border-left-color:var(--red);background:linear-gradient(180deg,#fff,#fff5f5)}.metric-card__label{color:var(--muted);font-size:12px;font-weight:760;line-height:1.3}.metric-card__value{margin-top:8px;overflow-wrap:anywhere;color:var(--ink);font-size:24px;font-weight:820;line-height:1.15}.metric-card__detail{margin-top:7px;overflow-wrap:anywhere;color:var(--muted);font-size:12px;line-height:1.4}.canvas-tools{display:flex;justify-content:flex-end}.range-control{display:grid;grid-template-columns:auto minmax(150px,260px);align-items:center;gap:12px;color:#344054;font-size:13px;font-weight:720}.range-control span{display:inline-flex;align-items:center;gap:7px}.range-control input{width:100%;accent-color:var(--green)}.motion-canvas{display:block;width:100%;height:248px;border:1px solid var(--border);border-radius:8px;background:#f7f8fa}.info-table{display:grid;border:1px solid var(--border);border-radius:8px;overflow:hidden}.info-row{display:grid;grid-template-columns:minmax(150px,240px) minmax(0,1fr);min-width:0;border-bottom:1px solid var(--border)}.info-row:last-child{border-bottom:0}.info-row__label,.info-row__value{min-width:0;padding:10px 12px;font-size:13px;line-height:1.45}.info-row__label{color:#475467;background:#f8fafc;font-weight:760}.info-row__value{overflow-wrap:anywhere;color:var(--ink)}.details-box{border:1px solid var(--border);border-radius:8px;background:#fbfcfd}.details-box summary{display:flex;align-items:center;gap:8px;padding:11px 12px;color:#344054;font-size:13px;font-weight:760;cursor:pointer}.tag-list{display:flex;flex-wrap:wrap;gap:7px;padding:0 12px 12px}.tag-list span{max-width:100%;overflow-wrap:anywhere;padding:5px 8px;border:1px solid var(--border);border-radius:8px;color:#344054;background:#fff;font-size:11px;font-weight:650}.callout{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid #c8d7eb;border-radius:8px;color:#1f4c86;background:var(--blue-soft)}.callout svg{flex:0 0 auto;margin-top:1px}.callout p{color:#1f4c86;font-size:13px;line-height:1.45}.latency-pad{display:grid;place-items:center;gap:8px;min-height:142px;border:1px dashed #aeb8c5;border-radius:8px;color:#344054;background:#f8fafc;font-weight:760;-webkit-user-select:none;user-select:none}.latency-pad:focus-visible{outline:3px solid rgba(31,111,235,.22);outline-offset:2px}.capability-list{display:grid;gap:9px}.capability-row{display:grid;grid-template-columns:118px minmax(0,1fr);gap:12px;align-items:flex-start;padding:13px;border:1px solid var(--border);border-radius:8px;background:#fff}.capability-row[data-level=available]{border-left:4px solid var(--green)}.capability-row[data-level=limited]{border-left:4px solid var(--amber)}.capability-row[data-level=blocked]{border-left:4px solid var(--red)}.capability-row__status{display:inline-flex;align-items:center;gap:7px;min-width:0;color:#344054;font-size:12px;font-weight:800}.capability-row strong{display:block;overflow-wrap:anywhere;color:var(--ink);font-size:14px;line-height:1.35}.capability-row p{margin-top:4px;font-size:13px;line-height:1.5}.report-summary{display:grid;gap:9px;padding:14px;border:1px solid var(--border);border-radius:8px;background:#f8fafc}.report-summary>div{display:flex;align-items:center;gap:8px;color:var(--ink)}.report-summary ul{margin:0;padding-left:20px;color:#475467;font-size:13px;line-height:1.55}.report-preview{max-height:520px;margin:0;padding:14px;overflow:auto;border:1px solid var(--border);border-radius:8px;color:#d9e9ff;background:#101820;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:12px;line-height:1.5}@media(max-width:1180px){.metric-grid--four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:14px}.nav-list{grid-template-columns:repeat(3,minmax(0,1fr))}.nav-button{justify-content:center;min-height:46px;text-align:center}.nav-button span{font-size:12px}.sidebar-note{margin-top:0}.main-area{padding:14px}.topbar,.panel__header,.overview-band{flex-direction:column}.topbar,.overview-band{display:flex;align-items:stretch}.topbar__meta,.overview-actions,.button-row{justify-content:flex-start}.metric-grid--three,.metric-grid--four{grid-template-columns:1fr}.range-control{grid-template-columns:1fr;width:100%}.canvas-tools{justify-content:stretch}}@media(max-width:560px){.brand h1{font-size:16px}.topbar h2,.overview-band h2,.panel__header h2{font-size:19px}.nav-list{grid-template-columns:repeat(2,minmax(0,1fr))}.button,.overview-actions,.button-row{width:100%}.button{min-width:0}.panel,.overview-band{padding:14px}.metric-card{min-height:96px}.metric-card__value{font-size:21px}.info-row,.capability-row{grid-template-columns:1fr;gap:0}.info-row__label,.info-row__value{padding:9px 10px}.motion-canvas{height:210px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{.sidebar,.button,.canvas-tools,.motion-canvas{display:none!important}.app-shell{display:block}.main-area{padding:0}.panel,.topbar,.overview-band,.metric-card{box-shadow:none}}
