:root{color-scheme:dark;--bg: #111827;--panel: #172033;--panel-2: #1f2a44;--text: #f8fafc;--muted: #aab6ca;--line: rgba(255, 255, 255, .12);--accent: #38bdf8;--ok: #34d399;--warn: #fbbf24;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,select{font:inherit}.viewer-shell{min-height:100vh;display:grid;grid-template-rows:auto 1fr}.viewer-header{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line);background:#0f172af0}.viewer-header h1{margin:0;font-size:20px}.viewer-header p{margin:4px 0 0;color:var(--muted);font-size:13px}.toolbar{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.toolbar button,.toolbar select{min-height:34px;border:1px solid var(--line);border-radius:6px;background:var(--panel-2);color:var(--text);padding:0 10px}.toolbar button.primary{background:var(--accent);border-color:transparent;color:#082f49;font-weight:700}.viewer-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:14px;padding:14px}.stage,.side-panel{border:1px solid var(--line);border-radius:8px;background:var(--panel);min-width:0}.stage{min-height:560px;padding:14px}.summary{display:grid;gap:12px}.summary-card{border:1px solid var(--line);border-radius:8px;padding:12px;background:#ffffff0a}.summary-card h2{margin:0 0 8px;font-size:16px}.timeline{margin:0;padding:0;list-style:none;display:grid;gap:8px}.timeline li{border:1px solid var(--line);border-radius:6px;padding:10px;background:#ffffff09}.event-meta{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:12px;margin-bottom:6px}.side-panel{padding:14px;overflow:auto}.side-panel h2{margin:0 0 12px;font-size:16px}.json-preview{margin:0;white-space:pre-wrap;word-break:break-word;color:#dbeafe;font-size:12px}.status-ok{color:var(--ok)}.status-warn{color:var(--warn)}@media (max-width: 900px){.viewer-header{align-items:flex-start;flex-direction:column}.toolbar{justify-content:flex-start}.viewer-grid{grid-template-columns:1fr}.stage{min-height:360px}}
