:root{--bg: #0a0c11;--panel: #12151d;--line: #222633;--text: #e7eaf0;--dim: #888fa3;--accent: #6366f1;--good: #22c55e;--warn: #f59e0b;--err: #ef4444;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(900px 500px at 50% -10%,#161b2b 0%,var(--bg) 60%);color:var(--text)}.app{max-width:1080px;margin:0 auto;padding:24px 24px 48px}.top{display:flex;align-items:center;gap:20px;padding-bottom:16px;border-bottom:1px solid var(--line)}.brand{font-size:18px;font-weight:700;letter-spacing:-.01em}.brand .logo{color:var(--accent)}.brand .dim,.dim{color:var(--dim);font-weight:400}.conn{font-size:13px;color:var(--dim);display:flex;align-items:center;gap:8px;flex:1}.conn .screen{color:var(--text)}.dot{width:9px;height:9px;border-radius:50%;background:var(--dim)}.dot.open{background:var(--good);box-shadow:0 0 8px var(--good)}.dot.connecting{background:var(--warn)}.dot.closed{background:var(--err)}.modes{display:flex;gap:4px}.modes button{background:#0d1017;color:var(--dim);border:1px solid var(--line);border-radius:8px;padding:6px 14px;font-size:13px;cursor:pointer}.modes button.on{color:var(--text);border-color:var(--accent);background:#1a2030}.score{margin:24px 0}.big{display:flex;align-items:baseline;gap:12px}.big .n{font-size:52px;font-weight:800;line-height:1;letter-spacing:-.03em}.big .n.done{color:var(--good)}.big .n small{font-size:22px;color:var(--dim)}.big .lbl{color:var(--dim);font-size:14px}.bar{margin-top:12px;height:12px;background:#0d1017;border:1px solid var(--line);border-radius:99px;overflow:hidden}.fill{height:100%;background:var(--accent);transition:width .5s ease}.fill.done{background:var(--good)}.meta{margin-top:8px;font-size:13px;color:var(--dim)}.stage{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.stage figure{margin:0;background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden}.stage figcaption{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--dim);padding:9px 14px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px}.stage figcaption .ok{color:var(--good);text-transform:none;letter-spacing:0}.stage figcaption .dim{text-transform:none;letter-spacing:0}.stage img,.stage iframe{display:block;width:100%;height:420px;border:0;background:#fff;object-fit:contain}.stage .ph{height:420px;display:flex;align-items:center;justify-content:center;color:var(--dim);font-size:13px}.spin{width:12px;height:12px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.references{margin-bottom:16px}.ref-row{display:flex;gap:12px;overflow-x:auto;padding-bottom:2px}.ref-card{flex:0 0 auto;min-width:220px;max-width:260px;background:#0d1017;border:1px solid var(--line);border-radius:10px;padding:10px 12px}.ref-card.done{border-color:var(--good)}.ref-card.failed{border-color:var(--err)}.ref-head{display:flex;align-items:center;gap:7px;margin-bottom:5px}.ref-url{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ref-sum{font-size:12px;color:var(--dim);line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.grid{display:grid;grid-template-columns:1fr 1.2fr;gap:16px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px 18px}.panel h2{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--dim);margin:0 0 12px}.empty{color:var(--dim);font-size:14px;line-height:1.5}.empty code,.panel code{background:#0d1017;padding:1px 6px;border-radius:5px;color:#c7d2fe;font-size:12.5px}.deltas ul{list-style:none;margin:0;padding:0}.deltas li{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:13.5px;border-bottom:1px solid #1a1d27}.sev{width:18px;height:18px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#0a0c11;flex-shrink:0}.sev.error{background:var(--err)}.sev.warn{background:var(--warn)}.sev.info{background:var(--dim)}.timeline ol{list-style:none;margin:0;padding:0;max-height:420px;overflow-y:auto}.timeline li{display:flex;align-items:center;gap:10px;padding:7px 0;font-size:13.5px;border-bottom:1px solid #1a1d27}.tag{font-size:11px;font-family:ui-monospace,Menlo,monospace;background:#0d1017;border:1px solid var(--line);border-radius:6px;padding:2px 7px;color:#c7d2fe;flex-shrink:0}.tag.fit{color:#a5b4fc;border-color:var(--accent)}.tag.screen{color:#86efac}.sum{flex:1;color:var(--text)}.ago{color:var(--dim);font-size:12px;flex-shrink:0}.drive .cmdrow{display:flex;gap:8px;margin-top:14px}.drive input{flex:1;background:#0d1017;color:var(--text);border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:14px}.drive button{background:var(--accent);color:#fff;border:0;border-radius:8px;padding:10px 18px;font-weight:600;opacity:.5}.foot{margin-top:32px;padding-top:14px;border-top:1px solid var(--line);color:var(--dim);font-size:12.5px}@media (max-width: 760px){.grid,.stage{grid-template-columns:1fr}}
