:root{color-scheme:light;--bg: #e7e1d6;--rail: #f6f1e8;--card: #fffcf7;--ink: #1c1915;--muted: #6e675e;--line: #ddd4c6;--accent: #b42318;--ok: #1d6b3e;--warn: #8a5a00;--bad: #a32626;--sans: "IBM Plex Sans", "Avenir Next", "Segoe UI", sans-serif;--serif: "Source Serif 4", Georgia, serif;--mono: "IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;color:var(--ink);background:var(--bg);font:15px/1.45 var(--sans)}button,input,select{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a{color:var(--accent)}.app{height:100%;display:grid;grid-template-rows:auto 1fr}.top{display:flex;justify-content:space-between;gap:24px;align-items:end;padding:18px 24px 14px;border-top:4px solid var(--accent);background:var(--rail);border-bottom:1px solid var(--line)}.top h1{margin:0;font-size:22px;font-weight:600;letter-spacing:-.02em}.lede{margin:2px 0 0;color:var(--muted)}.top-side{display:grid;justify-items:end;gap:8px}.ui-lang{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.ui-lang select{padding:6px 10px;border:1px solid var(--line);border-radius:6px;background:#fff}.storage{margin:0;text-align:right;color:var(--muted);font-size:13px}.storage .bad{color:var(--bad)}.banner{margin:12px 0 0;padding:8px 10px;background:#fde8e4;color:var(--bad);border-radius:6px}.layout{min-height:0;display:grid;grid-template-columns:340px 1fr}.rail,.main{min-height:0;overflow:auto}.rail{padding:18px;background:var(--rail);border-right:1px solid var(--line);display:grid;align-content:start;gap:18px}.main{padding:22px 28px 48px}.main-inner{max-width:980px}form,.box,.steps{display:grid;gap:10px}label{display:grid;gap:4px;font-size:13px;color:var(--muted)}input[type=text],select{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:#fff}.lang{max-width:120px}.check{display:flex;gap:8px;align-items:center;color:var(--ink)}.primary,.run,.job{border:0;border-radius:6px}.primary{padding:9px 12px;background:var(--accent);color:#fff;font-weight:600}.primary:disabled,.run:disabled{background:#ddd4c8;color:var(--muted);cursor:not-allowed}.jobs{display:grid;gap:6px;max-height:168px;overflow:auto}.jobs h2,.steps h2,.job-head h2,.panel h3,.log h3{margin:0;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.job{display:flex;justify-content:space-between;gap:8px;width:100%;padding:8px 10px;text-align:left;background:transparent;border:1px solid transparent}.job strong{display:block;flex:1;min-width:0;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job span{color:var(--muted);font-size:12px}.job.current{background:#fff;border-color:var(--line)}.step{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:8px 0;border-top:1px solid var(--line)}.step p{margin:0}.step .name{font-weight:600}.step .detail,.wait,.latest{color:var(--muted);font-size:13px}.latest{grid-column:1 / -1;font-family:var(--mono);font-size:12px}.fail{grid-column:1 / -1;color:var(--bad);font-size:13px;overflow-wrap:anywhere}.actions{display:flex;align-items:center;gap:8px}.status{font-size:12px;color:var(--muted)}.status.done{color:var(--ok)}.status.running{color:var(--warn)}.status.error{color:var(--bad)}.status.running:before{content:"";display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:var(--warn);animation:pulse 1s ease-in-out infinite}@keyframes pulse{50%{opacity:.3}}@media(prefers-reduced-motion:reduce){.status.running:before{animation:none}}.run{padding:6px 10px;background:var(--ink);color:#fff}.job-head{display:flex;justify-content:space-between;gap:16px;align-items:baseline;margin-bottom:16px}.job-head h2{text-transform:none;letter-spacing:0;font-size:20px;color:var(--ink)}.stage{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-start;margin-bottom:18px}.meta,.subs{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.stage .meta{flex:1;min-width:280px}.subs{margin-bottom:18px}.meta article,.subs article,.log,.files{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:12px 14px}.meta h3,.subs header,.clip header{display:flex;justify-content:space-between;gap:8px;margin-bottom:6px}.meta h2{margin:0 0 8px;font-family:var(--serif);font-size:26px;font-weight:560;line-height:1.15}.meta p,.empty p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.meta p{max-height:220px;overflow:auto}.videos{display:flex;flex-wrap:wrap;gap:18px}.clip{display:grid;gap:8px;margin:0}.detail{margin:0;color:var(--muted)}.clip video{height:min(460px,58vh);width:auto;max-width:100%;background:#12110f;border-radius:10px}.subs article:last-child:nth-child(odd){grid-column:1 / -1}.subs pre,.log pre{margin:0;max-height:360px;overflow:auto;white-space:pre-wrap;font:12.5px/1.45 var(--mono)}.files{margin-bottom:18px}.files ul{display:flex;flex-wrap:wrap;gap:8px 16px;margin:8px 0 0;padding:0;list-style:none}.log pre{max-height:180px}.empty{max-width:640px}.empty ol{padding-left:18px}.empty li{margin:6px 0}@media(max-width:860px){.app{height:auto}.layout{display:block}.rail,.main{overflow:visible}.top,.meta,.subs{display:block}.top-side{justify-items:start}.storage{text-align:left;margin-top:8px}.meta article+article,.subs article+article{margin-top:12px}}
