@import"https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&family=Geist+Mono:wght@400;500;600&display=swap";.lp[data-v-e581e7d2]{background:var(--bg);color:var(--text);overflow-x:hidden}.lp a[data-v-e581e7d2]{text-decoration:none;color:inherit}.lp-nav-wrap[data-v-e581e7d2]{position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0b0e14b8;border-bottom:1px solid var(--border-subtle)}.lp-nav[data-v-e581e7d2]{max-width:1120px;margin:0 auto;padding:0 28px;height:60px;display:flex;align-items:center;justify-content:space-between}.lp-brand[data-v-e581e7d2]{display:flex;align-items:center;gap:9px}.lp-logo[data-v-e581e7d2]{width:26px;height:26px;border-radius:7px;background:linear-gradient(135deg,var(--accent),var(--accent-hover));display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 1px #3d7df666}.lp-logo.sm[data-v-e581e7d2]{width:22px;height:22px;border-radius:6px}.lp-brand-name[data-v-e581e7d2]{font-size:14px;font-weight:600;letter-spacing:-.01em}.lp-nav-links[data-v-e581e7d2]{display:flex;align-items:center;gap:28px}.lp-nav-links a[data-v-e581e7d2]{font-size:13px;color:var(--text-dim)}.lp-nav-links a[data-v-e581e7d2]:hover{color:var(--text)}.lp-btn-ghost[data-v-e581e7d2]{font-family:inherit;display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border-radius:8px;border:1px solid var(--border-strong);background:var(--bg-elev-2);color:var(--text);font-size:12.5px;font-weight:600;cursor:pointer}.lp-btn-ghost[data-v-e581e7d2]:hover{background:var(--bg-elev-3)}.lp-hero[data-v-e581e7d2]{position:relative;overflow:hidden}.lp-hero-glow[data-v-e581e7d2]{position:absolute;top:-180px;left:50%;transform:translate(-50%);width:900px;height:600px;background:radial-gradient(circle at 50% 40%,#3d7df629,#3d7df600 62%);pointer-events:none}.lp-hero-grid[data-v-e581e7d2]{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--bg-elev) 1px,transparent 1px),linear-gradient(90deg,var(--bg-elev) 1px,transparent 1px);background-size:56px 56px;opacity:.35;-webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 25%,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse 80% 60% at 50% 25%,#000 30%,transparent 75%);pointer-events:none}.lp-hero-inner[data-v-e581e7d2]{position:relative;max-width:1120px;margin:0 auto;padding:84px 28px 0;text-align:center}.lp-pill[data-v-e581e7d2]{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border-radius:999px;border:1px solid var(--border);background:var(--bg-elev);margin-bottom:26px;font-size:12px;color:var(--text-dim)}.lp-pill-dot[data-v-e581e7d2]{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px #3fb9502e}.lp-h1[data-v-e581e7d2]{font-size:60px;line-height:1.02;font-weight:600;letter-spacing:-.04em;margin:0 auto 22px;max-width:820px}.lp-sub[data-v-e581e7d2]{font-size:18px;line-height:1.55;color:var(--text-dim);max-width:580px;margin:0 auto 34px}.lp-cta-row[data-v-e581e7d2]{display:flex;gap:11px;justify-content:center;align-items:center;margin-bottom:16px}.lp-btn-primary[data-v-e581e7d2]{font-family:inherit;display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:9px;border:1px solid var(--accent);background:var(--accent);color:#fff;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 4px 20px #3d7df657}.lp-btn-primary[data-v-e581e7d2]:hover{background:var(--accent-hover)}.lp-btn-secondary[data-v-e581e7d2]{display:inline-flex;align-items:center;gap:7px;padding:11px 16px;border-radius:9px;border:1px solid var(--border-strong);background:var(--bg-elev);color:var(--text);font-size:14px;font-weight:500;cursor:pointer}.lp-arrow[data-v-e581e7d2]{color:var(--accent-lift, #6aa1ff)}.lp-fineprint[data-v-e581e7d2]{font-family:var(--mono);font-size:11.5px;color:var(--text-faint);margin-bottom:56px}.lp-shot[data-v-e581e7d2]{position:relative;max-width:980px;margin:0 auto;text-align:left;border:1px solid #2a313f;border-radius:14px;overflow:hidden;background:var(--bg);box-shadow:0 40px 120px #0009,0 0 0 1px #3d7df614}.lp-shot-bar[data-v-e581e7d2]{display:flex;align-items:center;gap:14px;padding:0 16px;height:42px;background:#0d1119;border-bottom:1px solid var(--border-subtle)}.lp-shot-dots[data-v-e581e7d2]{display:flex;gap:7px}.lp-shot-dots i[data-v-e581e7d2]{width:11px;height:11px;border-radius:50%;background:var(--border-strong)}.lp-shot-path[data-v-e581e7d2]{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11.5px;color:var(--text-faint)}.lp-shot-path .sep[data-v-e581e7d2]{color:#3a4452}.lp-shot-head[data-v-e581e7d2]{padding:16px 18px;border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;gap:12px}.lp-shot-status[data-v-e581e7d2]{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 8px;border-radius:7px;font-size:12.5px;font-weight:600}.lp-shot-status.failed[data-v-e581e7d2]{background:#ff5c5221;border:1px solid rgba(255,92,82,.3);color:var(--red-bright)}.lp-shot-title[data-v-e581e7d2]{font-size:15px;font-weight:600;letter-spacing:-.01em}.lp-shot-counts[data-v-e581e7d2]{margin-left:auto;display:inline-flex;align-items:stretch;border:1px solid var(--border);border-radius:7px;overflow:hidden;font-variant-numeric:tabular-nums;font-family:var(--mono);font-size:11px}.lp-shot-counts span[data-v-e581e7d2]{padding:4px 9px}.lp-shot-counts .p[data-v-e581e7d2]{background:#3fb95014;color:var(--green)}.lp-shot-counts .f[data-v-e581e7d2]{background:#ff5c5214;color:var(--red-bright);border-left:1px solid var(--border)}.lp-shot-counts .fl[data-v-e581e7d2]{background:#e3a00814;color:var(--yellow-bright);border-left:1px solid var(--border)}.lp-shot-body[data-v-e581e7d2]{background:#0d1119}.lp-shot-testrow[data-v-e581e7d2]{display:flex;align-items:center;gap:10px;padding:11px 18px}.lp-shot-testrow .dot[data-v-e581e7d2]{width:9px;height:9px;border-radius:2px;background:var(--red)}.lp-shot-testrow .name[data-v-e581e7d2]{font-size:13px;font-weight:600;flex:1}.lp-shot-testrow .dur[data-v-e581e7d2]{font-family:var(--mono);font-size:11px;color:var(--text-dim)}.lp-shot-err[data-v-e581e7d2]{margin:0 18px 12px;border:1px solid rgba(255,92,82,.28);border-left:3px solid var(--red);border-radius:8px;background:#160f10;padding:11px 13px;font-family:var(--mono);font-size:11.5px;line-height:1.6;color:#e6b8b4}.lp-shot-err .head[data-v-e581e7d2]{color:var(--red-text)}.lp-shot-err .hl[data-v-e581e7d2]{color:var(--text)}.lp-shot-trace[data-v-e581e7d2]{margin:0 18px 18px;border-radius:10px;overflow:hidden;border:1px solid var(--border-strong);background:var(--bg-elev-3)}.lp-shot-trace-bar[data-v-e581e7d2]{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:linear-gradient(180deg,#222a38,var(--bg-elev-3))}.lp-shot-trace-bar .left[data-v-e581e7d2]{display:flex;align-items:center;gap:7px;font-size:11.5px;font-weight:600;color:#c9d1d9}.lp-shot-trace-bar .hint[data-v-e581e7d2]{font-family:var(--mono);font-size:10px;color:#7d8696}.lp-shot-viewer[data-v-e581e7d2]{background:#fbfbfc;border-top:1px solid #3a4452}.lp-shot-viewer .tabs[data-v-e581e7d2]{display:flex;align-items:center;gap:8px;padding:6px 11px;border-bottom:1px solid #eceef0;background:#f3f4f6}.lp-shot-viewer .tabs span[data-v-e581e7d2]{font-size:10px;color:#57606a;padding:2px 7px}.lp-shot-viewer .tabs .on[data-v-e581e7d2]{color:#1f6feb;background:#e7f0ff;border-radius:4px;font-weight:600}.lp-shot-viewer .thumbs[data-v-e581e7d2]{display:flex;gap:4px;padding:8px 11px;background:#fff;border-bottom:1px solid #eceef0}.lp-shot-viewer .thumbs i[data-v-e581e7d2]{width:56px;height:34px;border-radius:3px;background:linear-gradient(135deg,#dbe4f0,#eef2f7);border:1px solid #e0e4e8}.lp-shot-viewer .thumbs i.sel[data-v-e581e7d2]{border:2px solid #1f6feb}.lp-shot-viewer .thumbs i.err[data-v-e581e7d2]{background:linear-gradient(135deg,#f5dada,#fbeaea);border-color:#f0caca}.lp-shot-viewer .split[data-v-e581e7d2]{display:flex}.lp-shot-viewer .acts[data-v-e581e7d2]{width:150px;border-right:1px solid #eceef0;padding:8px 10px;font-family:var(--mono);font-size:10px;color:#57606a}.lp-shot-viewer .acts .ok[data-v-e581e7d2]{padding:2px 4px;color:#1a7f37}.lp-shot-viewer .acts .bad[data-v-e581e7d2]{padding:2px 4px;background:#fbeaea;color:#cf222e;border-radius:3px}.lp-shot-viewer .snap[data-v-e581e7d2]{flex:1;padding:10px;height:96px}.lp-shot-viewer .snap span[data-v-e581e7d2]{display:flex;width:100%;height:100%;align-items:center;justify-content:center;border-radius:4px;background:repeating-linear-gradient(135deg,#f0f2f5,#f0f2f5 9px,#f6f8fa 9px,#f6f8fa 18px);border:1px solid #e6e8eb;font-size:10.5px;color:#8c959f}.lp-section[data-v-e581e7d2]{max-width:1120px;margin:0 auto;padding:72px 28px}.lp-section-head[data-v-e581e7d2]{text-align:center;margin-bottom:34px}.lp-eyebrow[data-v-e581e7d2]{font-family:var(--mono);font-size:11.5px;color:#6aa1ff;letter-spacing:.06em;text-transform:uppercase;margin-bottom:14px}.lp-h2[data-v-e581e7d2]{font-size:34px;font-weight:600;letter-spacing:-.03em;margin:0 0 12px}.lp-section-sub[data-v-e581e7d2]{font-size:15px;color:var(--text-dim);max-width:520px;margin:0 auto;line-height:1.55}.lp-reporter[data-v-e581e7d2]{display:flex;align-items:center;justify-content:center;gap:34px;flex-wrap:wrap;padding-top:72px;padding-bottom:0}.lp-eyebrow-inline[data-v-e581e7d2]{font-family:var(--mono);font-size:11.5px;color:var(--text-faint);letter-spacing:.04em;text-transform:uppercase}.lp-code-inline[data-v-e581e7d2]{font-family:var(--mono);font-size:12.5px;color:#c9d1d9;background:var(--bg-elev);border:1px solid var(--border);padding:9px 14px;border-radius:8px}.lp-code-inline .str[data-v-e581e7d2]{color:#9ecbff}.lp-check[data-v-e581e7d2]{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--text-dim)}.lp-path[data-v-e581e7d2]{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}.lp-path-node[data-v-e581e7d2]{display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border:1px solid var(--border);background:var(--bg-elev);border-radius:9px;font-size:13px;font-weight:500}.lp-path-node.fail[data-v-e581e7d2]{border-color:#ff5c524d;background:#ff5c520f}.lp-path-node.fail .sq[data-v-e581e7d2]{width:8px;height:8px;border-radius:2px;background:var(--red)}.lp-path-node.trace[data-v-e581e7d2]{border-color:#3d7df666;background:#3d7df61a;font-weight:600;color:#9ecbff}.lp-path-arr[data-v-e581e7d2]{color:#3a4452}.lp-bento[data-v-e581e7d2]{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-top:8px}.lp-card[data-v-e581e7d2]{border:1px solid var(--border);border-radius:14px;background:var(--bg-elev);padding:26px 24px}.lp-card-wide[data-v-e581e7d2]{grid-column:span 2}.lp-feat-icon[data-v-e581e7d2]{width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:14px}.lp-feat-icon.blue[data-v-e581e7d2]{background:#3d7df61f;border:1px solid rgba(61,125,246,.28)}.lp-feat-icon.amber[data-v-e581e7d2]{background:#e3a0081f;border:1px solid rgba(227,160,8,.28)}.lp-feat-icon.red[data-v-e581e7d2]{background:#ff5c521a;border:1px solid rgba(255,92,82,.26)}.lp-card-h3[data-v-e581e7d2]{font-size:18px;font-weight:600;letter-spacing:-.02em;margin:0 0 9px}.lp-card-p[data-v-e581e7d2]{font-size:13.5px;color:var(--text-dim);line-height:1.55;margin:0 0 16px}.lp-feat-trace[data-v-e581e7d2]{background:linear-gradient(180deg,var(--bg-elev),#0d1119);padding:30px 32px;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}.lp-feat-icon-row[data-v-e581e7d2]{display:inline-flex;align-items:center;gap:8px;margin-bottom:16px}.lp-feat-icon-row .lp-feat-icon[data-v-e581e7d2]{width:30px;height:30px;margin-bottom:0}.lp-feat-eyebrow[data-v-e581e7d2]{font-family:var(--mono);font-size:11px;color:#6aa1ff;letter-spacing:.05em;text-transform:uppercase}.lp-feat-h3[data-v-e581e7d2]{font-size:25px;font-weight:600;letter-spacing:-.025em;margin:0 0 12px}.lp-feat-p[data-v-e581e7d2]{font-size:14.5px;color:var(--text-dim);line-height:1.6;margin:0 0 18px}.lp-feat-checks[data-v-e581e7d2]{display:flex;flex-direction:column;gap:9px}.lp-feat-checks span[data-v-e581e7d2]{display:inline-flex;align-items:center;gap:9px;font-size:13px;color:#c9d1d9}.lp-feat-viewer[data-v-e581e7d2]{border-radius:11px;overflow:hidden;border:1px solid var(--border-strong);background:var(--bg-elev-3)}.lp-feat-viewer .bar[data-v-e581e7d2]{display:flex;align-items:center;gap:7px;padding:8px 12px;background:linear-gradient(180deg,#222a38,var(--bg-elev-3));font-size:11px;font-weight:600;color:#c9d1d9}.lp-feat-viewer .body[data-v-e581e7d2]{background:#fbfbfc;border-top:1px solid #3a4452}.lp-feat-viewer .thumbs[data-v-e581e7d2]{display:flex;gap:4px;padding:9px 11px;border-bottom:1px solid #eceef0}.lp-feat-viewer .thumbs i[data-v-e581e7d2]{width:50px;height:32px;border-radius:3px;background:linear-gradient(135deg,#dbe4f0,#eef2f7);border:1px solid #e0e4e8}.lp-feat-viewer .thumbs i.sel[data-v-e581e7d2]{border:2px solid #1f6feb}.lp-feat-viewer .thumbs i.err[data-v-e581e7d2]{background:linear-gradient(135deg,#f5dada,#fbeaea);border-color:#f0caca}.lp-feat-viewer .snap[data-v-e581e7d2]{padding:11px;height:104px}.lp-feat-viewer .snap span[data-v-e581e7d2]{display:flex;width:100%;height:100%;align-items:center;justify-content:center;border-radius:4px;background:repeating-linear-gradient(135deg,#f0f2f5,#f0f2f5 9px,#f6f8fa 9px,#f6f8fa 18px);border:1px solid #e6e8eb;font-size:10px;color:#8c959f}.lp-mini-flaky[data-v-e581e7d2]{display:flex;align-items:center;gap:11px;padding:10px 12px;border:1px solid var(--border);border-radius:9px;background:#0d1119}.lp-mini-flaky .rate[data-v-e581e7d2]{font-family:var(--mono);font-size:11px;font-weight:600;color:var(--yellow-bright);background:#e3a00821;border:1px solid rgba(227,160,8,.28);border-radius:5px;padding:2px 6px;font-variant-numeric:tabular-nums}.lp-mini-flaky .meta .t[data-v-e581e7d2]{font-size:12px;font-weight:500}.lp-mini-flaky .meta .s[data-v-e581e7d2]{font-family:var(--mono);font-size:10px;color:var(--text-faint)}.lp-mini-diff[data-v-e581e7d2]{display:flex;flex-direction:column;gap:6px}.lp-mini-diff .new[data-v-e581e7d2]{display:flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid rgba(255,92,82,.3);background:#ff5c520f;border-radius:8px;font-size:11.5px;font-weight:600;color:var(--red-text)}.lp-mini-diff .new .note[data-v-e581e7d2]{font-family:var(--mono);font-size:10.5px;color:#8b7355;margin-left:auto;font-weight:400}.lp-mini-diff .fixed[data-v-e581e7d2]{padding:7px 11px;border:1px solid rgba(63,185,80,.25);background:#3fb9500a;border-radius:8px;font-size:11.5px;font-weight:600;color:var(--green-bright)}.lp-feat-trends[data-v-e581e7d2]{display:grid;grid-template-columns:1fr 1.3fr;gap:30px;align-items:center;padding:26px 28px}.lp-trend-chart[data-v-e581e7d2]{border:1px solid var(--border);border-radius:10px;background:#0d1119;padding:16px}.lp-trend-chart svg[data-v-e581e7d2]{display:block}.lp-steps[data-v-e581e7d2]{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.lp-step[data-v-e581e7d2]{border:1px solid var(--border);border-radius:14px;background:var(--bg-elev);padding:26px 24px}.lp-step .num[data-v-e581e7d2]{font-family:var(--mono);font-size:13px;font-weight:600;color:var(--accent);margin-bottom:16px}.lp-step h4[data-v-e581e7d2]{font-size:16px;font-weight:600;margin:0 0 8px}.lp-step p[data-v-e581e7d2]{font-size:13px;color:var(--text-dim);line-height:1.55;margin:0 0 14px}.lp-step code[data-v-e581e7d2]{font-family:var(--mono);font-size:11px;color:#9ecbff;background:#0d1119;border:1px solid var(--border);padding:8px 11px;border-radius:7px;display:block}.lp-step-status[data-v-e581e7d2]{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#c9d1d9}.lp-step-status .sq[data-v-e581e7d2]{width:9px;height:9px;border-radius:2px;background:var(--red)}.lp-step-status .open[data-v-e581e7d2]{color:#6aa1ff;margin-left:auto}.spin[data-v-e581e7d2]{animation:pwspin .9s linear infinite;transform-origin:center}.lp-final[data-v-e581e7d2]{position:relative;border:1px solid #2a313f;border-radius:18px;background:linear-gradient(180deg,var(--bg-elev),#0d1119);padding:56px 32px;text-align:center;overflow:hidden}.lp-final-glow[data-v-e581e7d2]{position:absolute;top:-120px;left:50%;transform:translate(-50%);width:600px;height:360px;background:radial-gradient(circle at 50% 40%,rgba(61,125,246,.18),transparent 65%);pointer-events:none}.lp-final-inner[data-v-e581e7d2]{position:relative}.lp-final-logo[data-v-e581e7d2]{width:44px;height:44px;border-radius:11px;background:linear-gradient(135deg,var(--accent),var(--accent-hover));display:flex;align-items:center;justify-content:center;margin:0 auto 22px;box-shadow:0 0 0 1px #3d7df666,0 8px 28px #3d7df64d}.lp-final-h2[data-v-e581e7d2]{font-size:36px;font-weight:600;letter-spacing:-.03em;margin:0 0 14px}.lp-final-p[data-v-e581e7d2]{font-size:16px;color:var(--text-dim);max-width:460px;margin:0 auto 28px;line-height:1.55}.lp-final .lp-fineprint[data-v-e581e7d2]{margin-top:16px;margin-bottom:0}.lp-footer[data-v-e581e7d2]{border-top:1px solid var(--border-subtle)}.lp-footer-inner[data-v-e581e7d2]{max-width:1120px;margin:0 auto;padding:28px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}.lp-footer-links[data-v-e581e7d2]{display:flex;align-items:center;gap:24px}.lp-footer-links a[data-v-e581e7d2],.lp-footer-links .muted[data-v-e581e7d2]{font-size:12.5px;color:var(--text-faint)}.lp-footer-links a[data-v-e581e7d2]:hover{color:var(--text-dim)}@media(max-width:860px){.lp-nav-links[data-v-e581e7d2]{display:none}.lp-h1[data-v-e581e7d2]{font-size:40px}.lp-bento[data-v-e581e7d2]{grid-template-columns:1fr}.lp-card-wide[data-v-e581e7d2]{grid-column:span 1}.lp-feat-trace[data-v-e581e7d2],.lp-feat-trends[data-v-e581e7d2],.lp-steps[data-v-e581e7d2]{grid-template-columns:1fr}}:root{--bg: #0b0e14;--bg-elev: #11151d;--bg-elev-2: #161b26;--bg-elev-3: #1c2230;--border: #232a36;--border-strong: #2e3745;--border-subtle: #1a1f29;--text: #e6edf3;--text-dim: #8b95a5;--text-faint: #5c6675;--accent: #3d7df6;--accent-hover: #2f6ae0;--green: #3fb950;--green-bright: #5bc96b;--red: #ff5c52;--red-bright: #ff6b61;--red-text: #ff8077;--yellow: #e3a008;--yellow-bright: #e9b23c;--blue-sha: #7dbbff;--purple: #7c5cff;--radius: 10px;--radius-lg: 12px;--sans: "Geist", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--mono: "Geist Mono", ui-monospace, "SF Mono", "Cascadia Code", Menlo, monospace}*{box-sizing:border-box}@keyframes pwspin{to{transform:rotate(360deg)}}@keyframes pwfade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}html,body,#app{margin:0;height:100%}body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.app-shell{display:flex;flex-direction:column;min-height:100%}.topbar{display:flex;align-items:center;gap:12px;padding:0 22px;height:54px;border-bottom:1px solid var(--border-subtle);background:#0b0e14d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:10}.brand{font-size:13.5px;font-weight:600;letter-spacing:-.01em;display:flex;align-items:center;gap:9px}.brand-logo{width:24px;height:24px;border-radius:6px;background:linear-gradient(135deg,var(--accent),var(--accent-hover));display:flex;align-items:center;justify-content:center}.topbar-install{font-size:12.5px;font-weight:500;color:var(--text-dim);padding:6px 11px;border:1px solid var(--border-strong);border-radius:8px;margin-right:10px;text-decoration:none}.topbar-install:hover{color:var(--text);border-color:#3a4452}.topbar-signin{display:inline-flex;align-items:center;gap:7px;font-family:inherit;font-size:12.5px;font-weight:600;color:#fff;background:var(--accent);border:1px solid var(--accent);border-radius:8px;padding:6px 13px;cursor:pointer}.topbar-signin:hover{background:var(--accent-hover)}.user-wrap{position:relative}.user-chip{display:flex;align-items:center;gap:8px;padding:4px 5px 4px 10px;border:1px solid var(--border-strong);border-radius:8px;background:var(--bg-elev-2);color:var(--text);cursor:pointer;font-family:inherit}.user-chip:hover{border-color:#3a4452}.user-login{font-size:12px;font-weight:500}.user-avatar{width:22px;height:22px;border-radius:50%}.user-avatar-fallback{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--purple),var(--accent));font-size:10px;font-weight:600;color:#fff}.user-menu{position:absolute;top:40px;right:0;width:200px;background:var(--bg-elev-2);border:1px solid var(--border-strong);border-radius:9px;box-shadow:0 12px 32px #00000080;padding:5px;z-index:20}.user-menu-head{padding:9px 10px;border-bottom:1px solid var(--border);margin-bottom:4px}.user-menu-name{font-size:12.5px;font-weight:600}.user-menu-handle{font-size:11px;color:var(--text-faint)}.user-menu-item{display:flex;align-items:center;gap:9px;width:100%;padding:7px 10px;border-radius:6px;font-size:12.5px;color:var(--text);background:transparent;border:none;cursor:pointer;font-family:inherit;text-align:left}.user-menu-item:hover{background:var(--bg-elev-3)}.app-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:100vh;color:var(--text-faint);font-size:11.5px}.app-spin{animation:pwspin .9s linear infinite;transform-origin:center}.container{width:100%;max-width:1100px;margin:0 auto;padding:24px 20px 64px}.crumbs{color:var(--text-dim);font-size:13px;margin-bottom:18px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.crumbs a:hover{color:var(--text)}h1{font-size:20px;margin:0 0 4px}h2{font-size:15px;margin:24px 0 10px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.row{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border);transition:background .12s}.row:last-child{border-bottom:none}.row.clickable:hover{background:var(--bg-elev-2);cursor:pointer}.grow{flex:1;min-width:0}.muted{color:var(--text-dim)}.mono{font-family:var(--mono);font-size:12px}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.badge{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.6}.badge.passed{background:#3fb95026;color:var(--green)}.badge.failed{background:#f8514926;color:var(--red)}.badge.running{background:#2f81f726;color:var(--accent)}.badge.flaky{background:#d2992226;color:var(--yellow)}.badge.skipped{background:#8b949e26;color:var(--text-dim)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:18px}.tab{padding:8px 14px;cursor:pointer;color:var(--text-dim);border-bottom:2px solid transparent;font-weight:500}.tab.active{color:var(--text);border-bottom-color:var(--accent)}.counts{display:flex;gap:6px;font-size:12px}.counts span{font-variant-numeric:tabular-nums}.btn{background:var(--accent);color:#fff;border:none;padding:8px 16px;border-radius:8px;font-weight:600;cursor:pointer}.btn.ghost{background:transparent;border:1px solid var(--border);color:var(--text)}.spec-group{margin-bottom:8px}.spec-file{font-family:var(--mono);font-size:12px;color:var(--text-dim);padding:8px 4px}.test-row{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border);cursor:pointer}.test-row:hover{background:var(--bg-elev-2)}.status-dot{width:8px;height:8px;border-radius:50%;flex:none}.status-dot.passed{background:var(--green)}.status-dot.failed,.status-dot.timedOut,.status-dot.interrupted{background:var(--red)}.status-dot.skipped{background:var(--text-dim)}.detail-panel{background:var(--bg-elev-2);border-top:1px solid var(--border);padding:14px 16px}.error-box{background:#1a0e0e;border:1px solid rgba(248,81,73,.4);border-radius:8px;padding:12px;font-family:var(--mono);font-size:12px;white-space:pre-wrap;color:#ffb3ae;overflow-x:auto;margin-bottom:12px}.steps{font-family:var(--mono);font-size:12px}.step{padding:3px 0;display:flex;gap:8px;color:var(--text-dim)}.step .dur{margin-left:auto;font-variant-numeric:tabular-nums}.trace-frame{width:100%;height:70vh;border:1px solid var(--border);border-radius:8px;background:#fff}.empty{text-align:center;padding:60px 20px;color:var(--text-dim)}.spinner{text-align:center;padding:40px;color:var(--text-dim)}
