:root{color-scheme:light;--bg: #f4f5f7;--bg-glow: #dfe9f9;--surface: #fcfcfb;--surface-2: #f0efec;--border: #e3e2de;--text: #0b0b0b;--text-2: #52514e;--text-3: #7a7974;--grid: #e8e7e3;--c-download: #2a78d6;--c-upload: #eb6834;--c-ping: #1baf7a;--c-muted-bar: #c9c8c2;--good: #008300;--bad: #c43d3c;--shadow: 0 1px 2px rgb(0 0 0 / 4%), 0 8px 24px rgb(0 0 0 / 5%);--radius: 16px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #0f0f0e;--bg-glow: #13233a;--surface: #1a1a19;--surface-2: #242422;--border: #2e2e2b;--text: #ffffff;--text-2: #c3c2b7;--text-3: #8f8e86;--grid: #2a2a28;--c-download: #3987e5;--c-upload: #d95926;--c-ping: #199e70;--c-muted-bar: #3e3e3a;--good: #3fb950;--bad: #e66767;--shadow: 0 1px 2px rgb(0 0 0 / 30%), 0 8px 24px rgb(0 0 0 / 25%)}}:root[data-theme=dark]{color-scheme:dark;--bg: #0f0f0e;--bg-glow: #13233a;--surface: #1a1a19;--surface-2: #242422;--border: #2e2e2b;--text: #ffffff;--text-2: #c3c2b7;--text-3: #8f8e86;--grid: #2a2a28;--c-download: #3987e5;--c-upload: #d95926;--c-ping: #199e70;--c-muted-bar: #3e3e3a;--good: #3fb950;--bad: #e66767;--shadow: 0 1px 2px rgb(0 0 0 / 30%), 0 8px 24px rgb(0 0 0 / 25%)}*{box-sizing:border-box}html,body{margin:0}body{background:radial-gradient(1200px 600px at 70% -10%,var(--bg-glow),transparent 70%),var(--bg);background-attachment:fixed;color:var(--text);font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;min-height:100vh}button{font:inherit;cursor:pointer}h1,h2{margin:0}.app{max-width:1180px;margin:0 auto;padding:0 16px 40px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:18px 0}.brand{font-weight:700;font-size:18px;display:flex;align-items:center;gap:8px;letter-spacing:-.01em}.logo{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--c-download);font-size:17px}.topbar-right{display:flex;gap:8px;align-items:center}.chip{font-size:12px;color:var(--text-2);background:var(--surface);border:1px solid var(--border);padding:4px 10px;border-radius:99px;font-variant-numeric:tabular-nums}.icon-btn{background:var(--surface);border:1px solid var(--border);border-radius:10px;width:34px;height:34px}.hero{display:grid;grid-template-columns:1fr minmax(280px,420px);gap:32px;align-items:center;padding:16px 0 28px}.hero h1{font-size:clamp(28px,4.4vw,46px);line-height:1.08;letter-spacing:-.03em}.hero p{color:var(--text-2);font-size:17px;max-width:46ch;margin:12px 0 24px}.steps{list-style:none;padding:0;margin:0;display:grid;gap:10px;max-width:360px}.step{display:grid;grid-template-columns:28px 1fr;align-items:center;gap:4px 10px;color:var(--text-3);font-weight:500}.step .dot{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--border);font-size:13px}.step.active{color:var(--text)}.step.active .dot{border-color:var(--c-download);color:var(--c-download);animation:pulse 1.2s ease-in-out infinite}.step.done{color:var(--text-2)}.step.done .dot{background:var(--good);border-color:var(--good);color:#fff}.step-bar{grid-column:2;height:4px;background:var(--surface-2);border-radius:4px;overflow:hidden}.step-bar span{display:block;height:100%;background:var(--c-download);transition:width .15s linear;border-radius:4px}@keyframes pulse{50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--c-download) 20%,transparent)}}.alert{margin-top:16px;padding:10px 14px;border-radius:10px;background:color-mix(in srgb,var(--bad) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--bad) 40%,transparent)}.hero-gauge{position:relative;display:grid;justify-items:center;gap:8px}.gauge{position:relative;width:100%;max-width:400px}.gauge svg{display:block;width:100%;height:auto}.gauge-track{fill:none;stroke:var(--surface-2);stroke-width:18;stroke-linecap:round}.gauge-fill{fill:none;stroke-width:18;stroke-linecap:round}.gauge-tick{font-size:12px;fill:var(--text-3);font-variant-numeric:tabular-nums;transition:fill .3s}.gauge-tick.lit{fill:var(--text);font-weight:600}.gauge-needle{stroke:var(--text);stroke-width:3;stroke-linecap:round;opacity:.85}.gauge-hub{fill:var(--text)}.gauge-center{position:absolute;top:22%;right:18%;bottom:18%;left:18%;display:grid;place-content:center;justify-items:center;text-align:center;pointer-events:none}.gauge.is-active .gauge-center{top:52%;right:18%;bottom:6%;left:18%}.gauge-center>*{pointer-events:auto}.gauge-label{font-size:13px;color:var(--text-2);text-transform:uppercase;letter-spacing:.08em}.gauge-value{font-size:clamp(36px,7vw,54px);font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1.05}.gauge-unit{font-size:14px;color:var(--text-2)}.go{width:150px;height:150px;border-radius:50%;border:none;color:#fff;font-size:26px;font-weight:700;letter-spacing:.1em;background:radial-gradient(circle at 30% 25%,color-mix(in srgb,var(--c-download) 70%,#fff),var(--c-download) 60%);box-shadow:0 0 0 10px color-mix(in srgb,var(--c-download) 14%,transparent),0 12px 40px color-mix(in srgb,var(--c-download) 45%,transparent);transition:transform .15s;animation:breathe 2.6s ease-in-out infinite}.go:hover{transform:scale(1.04)}@keyframes breathe{50%{box-shadow:0 0 0 18px color-mix(in srgb,var(--c-download) 8%,transparent),0 12px 40px color-mix(in srgb,var(--c-download) 45%,transparent)}}.grade{font-size:64px;font-weight:800;line-height:1;letter-spacing:-.04em;color:var(--text)}.grade-text{color:var(--text-2);margin:4px 0 10px}.again,.stop{border:1px solid var(--border);background:var(--surface);color:var(--text);padding:8px 16px;border-radius:99px;font-weight:600}.again:hover,.stop:hover{border-color:var(--text-3)}.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:12px}.tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px 12px;box-shadow:var(--shadow);transition:border-color .3s,transform .3s;min-width:0}.tile.active{border-color:var(--tile-color);transform:translateY(-2px)}.tile-label{display:flex;align-items:center;gap:8px;color:var(--text-2);font-size:13px;font-weight:600}.tile-label i,.legend i,.tt-row i{width:10px;height:10px;border-radius:3px;display:inline-block;flex:none}.tile-value{font-size:30px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:2px}.tile-value span{font-size:13px;color:var(--text-2);font-weight:500;margin-left:4px}.spark{width:100%;height:28px;display:block;margin:4px 0}.tile-hint{font-size:12px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}.span-2{grid-column:span 2}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);min-width:0}section.card{margin-bottom:12px}.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;flex-wrap:wrap}.card-head h2{font-size:16px;letter-spacing:-.01em}.muted{color:var(--text-3);font-size:13px}.headline{margin:0 0 6px;color:var(--text-2)}.headline b{color:var(--text);font-size:18px}.empty{color:var(--text-3);margin:8px 0}.skeleton{height:200px;border-radius:10px;background:linear-gradient(90deg,var(--surface-2),var(--surface),var(--surface-2));background-size:200% 100%;animation:shimmer 1.4s infinite}@keyframes shimmer{to{background-position:-200% 0}}.chart{position:relative;width:100%}.chart-plot{position:relative}.chart svg{display:block;overflow:visible}.legend{display:flex;gap:16px;font-size:13px;color:var(--text-2);margin-bottom:6px}.legend span{display:inline-flex;align-items:center;gap:6px}.grid line,line.grid{stroke:var(--grid);stroke-width:1}.baseline{stroke:var(--text-3);stroke-width:1}.axis{font-size:11px;fill:var(--text-3);font-variant-numeric:tabular-nums}.axis.strong{fill:var(--text-2);font-weight:600}.crosshair{stroke:var(--text-3);stroke-width:1;stroke-dasharray:3 3}.marker{stroke:var(--surface);stroke-width:2}.median-line{stroke:var(--text-2);stroke-width:1.5;stroke-dasharray:4 3}.you-label{font-size:12px;font-weight:700;fill:var(--text)}.chart-empty{position:absolute;inset:30% 0 auto;text-align:center;color:var(--text-3);font-size:14px;pointer-events:none}.tooltip{position:absolute;pointer-events:none;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:10px;padding:8px 10px;font-size:12px;min-width:140px;z-index:5}.tt-head{color:var(--text-2);margin-bottom:4px;font-weight:600}.tt-row{display:flex;align-items:center;gap:6px;color:var(--text-2)}.tt-row b{margin-left:auto;color:var(--text);padding-left:10px;font-variant-numeric:tabular-nums}.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);margin:10px 0 0;text-align:center}.mini-stats dt{font-size:12px;color:var(--text-3)}.mini-stats dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums}.usecases{list-style:none;margin:0;padding:0;display:grid;gap:4px}.usecases li{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;padding:6px 8px;border-radius:10px}.usecases li.ok{background:color-mix(in srgb,var(--good) 8%,transparent)}.usecases li.no{opacity:.75}.uc-icon{font-size:18px;text-align:center}.uc-name{font-weight:500;font-size:14px;display:grid}.uc-name small{color:var(--text-3);font-weight:400;font-size:12px}.uc-status{font-size:13px;font-weight:600;color:var(--text-3);white-space:nowrap}.ok .uc-status{color:var(--good)}.no .uc-status{color:var(--bad)}.seg{display:inline-flex;background:var(--surface-2);border-radius:10px;padding:3px}.seg button{border:none;background:transparent;color:var(--text-2);padding:5px 12px;border-radius:8px;font-size:13px;font-weight:600}.seg button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0000001f}.link-btn{background:none;border:none;color:var(--text-3);text-decoration:underline;font-size:13px}.table-wrap{overflow-x:auto;margin-top:12px;max-height:320px;overflow-y:auto}table{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}th{text-align:left;color:var(--text-3);font-weight:600;font-size:12px;padding:8px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface)}td{padding:8px;border-bottom:1px solid var(--border);color:var(--text-2);white-space:nowrap}td b{color:var(--text)}.foot{color:var(--text-3);font-size:12px;text-align:center;margin-top:24px}@media(max-width:900px){.hero{grid-template-columns:1fr;text-align:left}.hero-gauge{order:-1}.tiles{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.span-2{grid-column:auto}}@media(max-width:420px){.tile-value{font-size:24px}.go{width:120px;height:120px;font-size:22px}}
