:root{--bg:#f3efe7;--panel:#ffffffe0;--ink:#1e1a16;--muted:#6f655b;--line:#3c2e211f;--accent:#0f766e;--accent-2:#155e75;--shadow:0 24px 60px #1d19141f}*{box-sizing:border-box}body{min-height:100vh;color:var(--ink);background:radial-gradient(circle at top left, #0f766e29, transparent 34%), radial-gradient(circle at top right, #155e7524, transparent 28%), linear-gradient(180deg, #fbf8f3 0%, var(--bg) 100%);margin:0;font-family:IBM Plex Sans,Avenir Next,Segoe UI,sans-serif}a{color:inherit}.shell{width:min(1180px,100vw - 32px);margin:0 auto;padding:40px 0 64px}.viewer-topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.viewer-actions{align-items:center;gap:10px;display:flex}.viewer-user{align-items:center;gap:12px;display:flex}.viewer-user img{object-fit:cover;border:2px solid #0f766e29;border-radius:999px;width:48px;height:48px}.viewer-user strong,.viewer-user span{display:block}.viewer-user span{color:var(--muted);font-size:.9rem}.logout-button,.refresh-button{border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;background:#ffffffd1;border-radius:999px;padding:10px 16px;font-weight:700}.hero{border:1px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(135deg,#fffffff0,#fffaf4d6);border-radius:28px;margin-bottom:28px;padding:28px 30px}.eyebrow{color:var(--accent-2);letter-spacing:.18em;text-transform:uppercase;margin:0 0 10px;font-size:12px;font-weight:700}.hero h1{margin:0;font-family:IBM Plex Serif,Georgia,serif;font-size:clamp(2.2rem,6vw,4.2rem);line-height:.96}.lede{max-width:760px;color:var(--muted);margin:14px 0 0;font-size:1rem;line-height:1.6}.feeds{gap:20px;display:grid}.feed-card{border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow);border-radius:24px;padding:24px}.feed-card--loading,.feed-card--empty{color:var(--muted)}.auth-card{max-width:560px}.auth-actions{flex-wrap:wrap;gap:12px;margin-top:12px;display:flex}.auth-link{margin-top:0}.auth-error{color:#b45309;font-weight:600}.auth-help{color:var(--muted);margin:12px 0 0;font-size:.94rem;line-height:1.5}.secondary-link{border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;background:#ffffffd1;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-weight:700;display:inline-flex}.feed-header{justify-content:space-between;align-items:start;gap:16px;margin-bottom:20px;display:flex}.feed-header h2{margin:0;font-size:1.45rem}.feed-header p{color:var(--muted);margin:6px 0 0}.run-link,.status-pill{border-radius:999px;align-items:center;gap:8px;padding:10px 14px;font-size:.9rem;font-weight:700;text-decoration:none;display:inline-flex}.run-link{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff}.status-pill--empty{color:var(--muted);background:#6f655b1f}.status-pill--pass{color:#0f766e;background:#0f766e24}.status-pill--fail{color:#be123c;background:#be183c1f}.feed-subtitle{color:var(--muted);margin:6px 0 0;font-size:.9rem}.feed-note{color:var(--muted);margin:8px 0 0;font-size:.88rem;line-height:1.45}.run-list{gap:10px;display:grid}.run-row{border:1px solid var(--line);background:#ffffffe6;border-radius:16px;overflow:hidden}.run-row--stale{opacity:.62}.run-summary{cursor:pointer;color:var(--ink);flex-wrap:wrap;align-items:center;gap:12px;padding:14px 16px;list-style:none;display:flex}.run-summary::-webkit-details-marker{display:none}.run-summary:before{content:"▸";color:var(--muted);font-size:.8rem;transition:transform .15s}.run-row[open] .run-summary:before{transform:rotate(90deg)}.run-branch{color:var(--ink);font-weight:700}.run-sha{color:var(--muted);font-family:IBM Plex Mono,SFMono-Regular,Menlo,monospace;font-size:.85rem}.run-counts{color:var(--muted);font-size:.85rem}.run-age{color:var(--muted);margin-left:auto;font-size:.85rem}.run-github-link{color:var(--accent-2);font-size:.82rem;font-weight:700;text-decoration:none}.run-github-link:hover{text-decoration:underline}.run-detail{border-top:1px solid var(--line);padding:4px 16px 18px}.run-detail-placeholder{padding-top:12px}.spec-list{gap:12px;margin-top:12px;display:grid}.spec-block{border:1px solid var(--line);background:#ffffffb3;border-radius:14px;padding:12px 14px}.spec-block--fail{background:#be183c0a;border-color:#be183c47}.spec-summary{cursor:pointer;color:var(--ink);flex-wrap:wrap;align-items:center;gap:12px;list-style:none;display:flex}.spec-summary::-webkit-details-marker{display:none}.spec-name{color:var(--ink);font-weight:700}.spec-meta{color:var(--muted);margin-left:auto;font-size:.82rem}.spec-block .artifact-grid{margin-top:14px}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-bottom:24px;display:grid}.summary-row{border:1px solid var(--line);background:#fffc;border-radius:18px;padding:14px 16px}.summary-row span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;font-size:.82rem;display:block}.artifact-section+.artifact-section{margin-top:22px}.artifact-section h3{margin:0 0 14px;font-size:1rem}.empty{color:var(--muted);margin:0}.artifact-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;display:grid}.artifact-card{border:1px solid var(--line);background:#ffffffe6;border-radius:18px;flex-direction:column;gap:10px;padding:12px;text-decoration:none;display:flex}.artifact-card img,.artifact-card video{aspect-ratio:16/10;object-fit:cover;background:#e8e0d6;border-radius:12px;width:100%}.artifact-card span,.artifact-card a{word-break:break-word;font-size:.92rem;font-weight:600}@media (width<=720px){.shell{width:min(100vw - 20px,100%);padding-top:18px;padding-bottom:28px}.hero,.feed-card{border-radius:20px;padding:18px}.feed-header{flex-direction:column}}.view-tabs{gap:8px;margin:22px 0 14px;display:flex}.view-tab{appearance:none;border:1px solid var(--line);background:var(--panel);color:var(--muted);cursor:pointer;border-radius:999px;padding:10px 18px;font-size:.95rem;font-weight:700;transition:color .15s,border-color .15s,background .15s}.view-tab:hover{color:var(--ink)}.view-tab.is-active{color:#fff;background:linear-gradient(135deg, var(--accent), var(--accent-2));border-color:#0000}.view-panel[hidden]{display:none}.perf-tiles{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-top:18px;display:grid}.perf-tile{border:1px solid var(--line);background:#fff9;border-radius:16px;padding:16px}.perf-tile-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0;font-size:.72rem;font-weight:700}.perf-tile-value{font-variant-numeric:tabular-nums;color:var(--ink);margin:8px 0 12px;font-size:1.5rem;font-weight:800}.perf-tile--fail .perf-tile-value{color:#be123c}.perf-bar{background:#6f655b24;border-radius:999px;height:8px;overflow:hidden}.perf-bar-fill{background:linear-gradient(90deg, var(--accent), var(--accent-2));border-radius:999px;height:100%;display:block}.perf-tile--fail .perf-bar-fill{background:linear-gradient(90deg,#f43f5e,#be123c)}.perf-tile-threshold{color:var(--muted);font-variant-numeric:tabular-nums;margin:10px 0 0;font-size:.78rem}.perf-scenes,.perf-history{margin-top:24px}.perf-scenes h3,.perf-history h3{color:var(--ink);margin:0 0 12px;font-size:1rem}.perf-history-hint{color:var(--muted);font-size:.82rem;font-weight:500}.perf-table-wrap{overflow-x:auto}.perf-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.9rem}.perf-table th{text-align:right;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--line);padding:8px 12px;font-size:.72rem}.perf-table th:first-child,.perf-table td:first-child{text-align:left}.perf-table td{border-bottom:1px solid var(--line);color:var(--ink);padding:8px 12px}.perf-scene-name{font-weight:700}.perf-run-list{flex-direction:column;gap:8px;display:flex}.perf-run-row{border:1px solid var(--line);background:#ffffff8c;border-radius:12px;align-items:center;gap:12px;padding:10px 14px;display:flex}.perf-run-row .run-branch{color:var(--ink);font-weight:600}.perf-run-bar{background:#6f655b24;border-radius:999px;flex:1;min-width:60px;height:8px;overflow:hidden}.perf-run-bar-fill{background:linear-gradient(90deg, var(--accent), var(--accent-2));border-radius:999px;height:100%;display:block}.perf-run-value{font-variant-numeric:tabular-nums;color:var(--ink);text-align:right;min-width:76px;font-weight:700}@media (width<=640px){.perf-run-row{flex-wrap:wrap}.perf-run-bar{flex-basis:100%;order:5}}
