:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f4f5f7;--card:#fff;--text:#1d2329;--muted:#5f6b76;--accent:#2f6fde;--error:#c62828;--line:#d6dbe0}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#14181c;--card:#1e242a;--text:#e8ecef;--muted:#9aa6b1;--accent:#6ea0ff;--error:#ff7a7a;--line:#333c45}}body{background:var(--bg);color:var(--text);margin:0;font:15px/1.5 system-ui,sans-serif}.sc-center{text-align:center;margin-top:30vh}.sc-login-desk{place-items:center;min-height:100vh;padding:16px;display:grid}.sc-login{background:var(--card);border:1px solid var(--line);border-radius:12px;gap:14px;width:min(400px,100%);padding:24px;display:grid}.sc-login-brand{text-align:center}.sc-wordmark{margin:0;font-size:26px}.sc-muted,.sc-meta{color:var(--muted);margin:0}.sc-meta{font-size:13px}.sc-error{color:var(--error);margin:0}.sc-field{gap:4px;display:grid}.sc-label{color:var(--muted);font-size:13px}.sc-input{font:inherit;border:1px solid var(--line);color:inherit;background:0 0;border-radius:8px;padding:9px 11px}.sc-btn{font:inherit;border:1px solid var(--line);color:inherit;cursor:pointer;background:0 0;border-radius:8px;padding:9px 14px}.sc-btn:disabled{opacity:.6;cursor:default}.sc-primary{background:var(--accent);border-color:var(--accent);color:#fff}.cn-actions{justify-content:flex-end;gap:8px;display:flex}:root{--bg:#f0fdfa;--panel:#fff;--side:#f8fafc;--line:#e2e8f0;--text:#134e4a;--strong:#0f172a;--muted:#475569;--primary:#0f766e;--primary-h:#115e59;--on-primary:#fff;--soft:#ccfbf1;--soft-text:#115e59;--well:#f1f5f9;--err-bg:#fef2f2;--err:#b91c1c;--r:12px}@media (prefers-color-scheme:dark){:root{--bg:#0b1220;--panel:#111a2b;--side:#0e1626;--line:#1f2a3d;--text:#cbd5e1;--strong:#f1f5f9;--muted:#94a3b8;--primary:#2dd4bf;--primary-h:#5eead4;--on-primary:#042f2e;--soft:#123634;--soft-text:#5eead4;--well:#0b1220;--err-bg:#3b1515;--err:#fca5a5}}*{box-sizing:border-box}body{color:var(--text);background:var(--bg);margin:0;font:15px/1.55 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.layout{grid-template:"top top"60px"side main"1fr/288px 1fr;height:100vh;display:grid}svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:18px;height:18px}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}header{background:var(--panel);border-bottom:1px solid var(--line);grid-area:top;align-items:center;gap:.75rem;padding:0 1.25rem;display:flex}.logo{background:var(--primary);width:32px;height:32px;color:var(--on-primary);border-radius:8px;place-items:center;display:grid}header b{color:var(--strong);letter-spacing:-.01em;font-size:1.05rem;font-weight:700}header span{color:var(--muted);font-size:.85rem}aside{background:var(--side);border-right:1px solid var(--line);grid-area:side;padding-bottom:1rem;overflow-y:auto}.label{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-size:.72rem;font-weight:600}aside .label{margin:1.25rem 1.25rem .5rem}.vl{flex-direction:column;gap:2px;padding:0 .6rem;display:flex}.vl button{width:100%;color:inherit;text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:.6rem .7rem;transition:background-color .15s;display:block}.vl button:hover{background:var(--well)}.vl button.on{background:var(--soft);color:var(--soft-text)}.vl .t{-webkit-line-clamp:2;color:var(--strong);-webkit-box-orient:vertical;font-size:.88rem;font-weight:500;display:-webkit-box;overflow:hidden}.vl button.on .t{color:inherit}.vl small{color:var(--muted);font-size:.76rem}main{grid-area:main;padding:1.75rem;overflow-y:auto}.wrap{flex-direction:column;gap:1.25rem;max-width:1120px;margin:0 auto;display:flex}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:1.25rem}.bar{gap:.6rem;display:flex}.field{border:1px solid var(--line);background:var(--well);min-width:0;color:var(--muted);border-radius:8px;flex:1;align-items:center;gap:.5rem;padding:0 .9rem;transition:border-color .15s;display:flex}.field:focus-within{border-color:var(--primary)}input{min-width:0;height:44px;color:var(--strong);font:inherit;background:0 0;border:0;outline:none;flex:1}.btn{border:1px solid var(--line);background:var(--panel);min-height:44px;color:var(--strong);font:inherit;cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:.45rem;padding:0 1.1rem;font-weight:500;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.btn:hover{border-color:var(--primary);color:var(--primary)}.btn.p{background:var(--primary);border-color:var(--primary);color:var(--on-primary);font-weight:600}.btn.p:hover{background:var(--primary-h);border-color:var(--primary-h);color:var(--on-primary)}.btn.sm{min-height:32px;padding:0 .7rem;font-size:.82rem}.btn:disabled{opacity:.55;cursor:not-allowed}.hint{color:var(--muted);margin:.7rem 0 0;font-size:.85rem}.status{color:var(--strong);align-items:center;gap:.8rem;display:flex}.err{background:var(--err-bg);color:var(--err);white-space:pre-wrap;border-color:#0000;gap:.6rem;font-size:.9rem;display:flex}.spin{border:2px solid var(--line);border-top-color:var(--primary);border-radius:50%;width:20px;height:20px;animation:.9s linear infinite s}@keyframes s{to{transform:rotate(1turn)}}h1{color:var(--strong);letter-spacing:-.015em;margin:0 0 1rem;font-size:1.3rem;font-weight:700;line-height:1.3}.actions{flex-wrap:wrap;gap:.5rem;display:flex}.stats{grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:.5rem;margin-top:1.1rem;display:grid}.stat{background:var(--well);border-radius:8px;padding:.55rem .8rem}.stat small{color:var(--muted);font-size:.74rem;display:block}.stat b{color:var(--strong);font-variant-numeric:tabular-nums;font-size:.92rem;font-weight:600}.grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start;gap:1.25rem;display:grid}.head{justify-content:space-between;align-items:center;min-height:32px;margin-bottom:.85rem;display:flex}.empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:.5rem;padding:3.5rem 1rem;display:flex}.empty svg{width:36px;height:36px;color:var(--primary)}.empty b{color:var(--strong)}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation-duration:3s!important}}@media (width<=960px){.grid{grid-template-columns:1fr}}@media (width<=720px){.layout{height:auto;display:block}header span{display:none}aside{border-right:0;border-bottom:1px solid var(--line);max-height:38vh}main{padding:1rem}.bar{flex-direction:column}}header nav{align-items:center;gap:.25rem;margin-left:auto;display:flex}header nav a,header nav button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:.4rem .7rem;font-size:.88rem;text-decoration:none}header nav a.on,header nav a:hover,header nav button:hover{background:var(--well);color:var(--strong)}.badge{background:var(--well);color:var(--muted);border-radius:999px;padding:0 .45rem;font-size:.72rem;display:inline-block}.badge.done{background:var(--soft);color:var(--soft-text)}.badge.failed{background:var(--err-bg);color:var(--err)}video{background:#000;border-radius:8px;width:100%;max-height:70vh;display:block}.transcript{flex-direction:column;gap:2px;max-height:60vh;display:flex;overflow-y:auto}.transcript button{text-align:left;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;gap:.6rem;padding:.3rem .4rem;display:flex}.transcript button:hover{background:var(--well)}.transcript time{color:var(--primary);font-variant-numeric:tabular-nums;flex-shrink:0}.frames{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem;display:grid}.frames button{cursor:pointer;background:0 0;border:0;padding:0;position:relative}.frames img{border-radius:6px;width:100%;display:block}.frames time{color:#fff;background:#000c;border-radius:4px;padding:0 .3rem;font-size:.72rem;position:absolute;top:4px;left:4px}code{background:var(--well);word-break:break-all;border-radius:4px;padding:.1rem .35rem}ol li{margin:.3rem 0}@media (width<=720px){header{flex-wrap:wrap;row-gap:.25rem;padding-block:.5rem}header nav{flex-wrap:wrap;margin-left:0}}
