:root{--brand: #0d7490;--brand-hover: #0b6079;--brand-ink: #0b2533;--brand-soft: #e6f4f8;--on-brand: #ffffff;--bg: #f4f7f9;--surface: #ffffff;--text: #13222c;--muted: #5d6b75;--border: #dde5ea;--track: #e6ecef;--ok: #15803d;--ok-soft: #e8f6ed;--warn: #a15c07;--warn-soft: #fff5e5;--err: #b42318;--err-soft: #fdeceb;--radius: 12px;--shadow: 0 1px 2px rgb(16 34 44 / .06), 0 1px 3px rgb(16 34 44 / .04);color-scheme:light}@media (prefers-color-scheme: dark){:root{--brand: #38b2cf;--brand-hover: #5cc3db;--brand-ink: #081a24;--brand-soft: #0f2c38;--on-brand: #04141b;--bg: #0c151b;--surface: #121f27;--text: #e4edf1;--muted: #93a4ad;--border: #233540;--track: #1d2d37;--ok: #4ade80;--ok-soft: #12291c;--warn: #fbbf24;--warn-soft: #2c2310;--err: #f87171;--err-soft: #2d1515;--shadow: none;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font:15px/1.5 Segoe UI,system-ui,-apple-system,Roboto,sans-serif;-webkit-font-smoothing:antialiased}.app{min-height:100vh;display:flex;flex-direction:column}.page{width:100%;max-width:780px;margin:0 auto;padding:32px 16px 48px;flex:1}h1{margin:0;font-size:24px;font-weight:650;letter-spacing:-.015em}h2{font-size:15px;font-weight:600;margin:0 0 2px}.muted{color:var(--muted)}.small-text{font-size:13px}.ellipsis{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}code{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:12.5px}.topbar{background:var(--brand-ink);color:#fff}.topbar-inner{max-width:780px;margin:0 auto;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand-mark{width:30px;height:30px;flex:none;border-radius:8px;display:grid;place-items:center;background:var(--brand);color:#fff;font-weight:700;font-size:16px}.brand-name{font-weight:600;font-size:16px;letter-spacing:.005em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.net{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#fffc;white-space:nowrap}.net-dot{width:8px;height:8px;border-radius:50%;background:#4ade80}.net-off .net-dot{background:#fbbf24}.intro{margin-bottom:20px}.facts{list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;margin:8px 0 0;padding:0;color:var(--muted);font-size:14px}.facts li{display:inline-flex;align-items:center;gap:7px}.facts li:before{content:"";width:14px;height:14px;flex:none;border-radius:50%;background:var(--brand-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2l2.2 2.2 4.8-4.8' fill='none' stroke='%230d7490' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 12px no-repeat}.banner{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border-radius:10px;margin-bottom:14px;font-size:14px}.banner>span{flex:1}.banner.warn{background:var(--warn-soft);color:var(--warn)}.banner.info{background:var(--brand-soft);color:var(--text)}.banner-close{border:0;background:none;color:inherit;font-size:18px;line-height:1;cursor:pointer;padding:0 2px;opacity:.7}.banner-close:hover{opacity:1}.dropzone{border:1.5px dashed var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);padding:40px 16px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}.dropzone:hover,.dropzone:focus-visible{border-color:var(--brand);outline:none}.dropzone.dragging{border-color:var(--brand);border-style:solid;background:var(--brand-soft)}.dz-icon{width:52px;height:52px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand)}.dz-title{font-weight:600;font-size:17px}.dz-hint{font-size:14px;color:var(--muted);margin-top:2px}.dz-link{color:var(--brand);font-weight:500;text-decoration:underline;text-underline-offset:2px}.settings{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;font-size:14px}.settings label{font-weight:500}.settings select{font:inherit;font-size:14px;padding:5px 8px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.settings select:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow)}.interrupted{margin-top:20px}.interrupted ul{list-style:none;margin:10px 0 0;padding:0}.interrupted li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--border);font-size:14px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:26px 0 10px;font-size:14px}.summary{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline}.tasks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.card{min-width:0}.task-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.name{font-weight:600}.bar{height:6px;background:var(--track);border-radius:99px;overflow:hidden;margin:12px 0 8px}.fill{height:100%;background:var(--brand);border-radius:99px;transition:width .2s linear}.status-error .fill{background:var(--err)}.status-paused .fill{background:var(--warn)}.status-canceled .fill{background:var(--muted)}.pill{font-size:12px;font-weight:600;padding:2px 10px;border-radius:99px;background:var(--track);color:var(--muted);white-space:nowrap}.pill-uploading,.pill-preparing,.pill-completing{background:var(--brand-soft);color:var(--brand)}.pill-done{background:var(--ok-soft);color:var(--ok)}.pill-error{background:var(--err-soft);color:var(--err)}.pill-paused{background:var(--warn-soft);color:var(--warn)}.note{font-size:13px;color:var(--warn);margin-bottom:6px}.error{font-size:13px;color:var(--err);background:var(--err-soft);padding:8px 10px;border-radius:8px;margin-bottom:8px}.error-detail{color:var(--muted);font-size:12px;margin-top:2px;word-break:break-word}.done-info{display:flex;align-items:center;gap:8px;margin:10px 0 2px;min-width:0}.done-info code{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:3px 8px}.actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.task .actions .pct{margin-right:auto}.task .actions:empty{display:none}.btn{font:inherit;font-size:14px;font-weight:500;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:7px 14px;border-radius:8px;cursor:pointer;white-space:nowrap}.btn:hover{border-color:var(--brand)}.btn:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.btn.small{padding:5px 11px;font-size:13px}.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.btn.primary:hover{background:var(--brand-hover);border-color:var(--brand-hover)}.btn.ghost{background:transparent}.btn.danger{color:var(--err)}.btn.danger:hover{border-color:var(--err)}.footer{text-align:center;color:var(--muted);font-size:12.5px;padding:18px 16px 24px;border-top:1px solid var(--border)}@media (max-width: 520px){.page{padding-top:22px}h1{font-size:21px}.dropzone{padding:30px 12px}}@media (max-width: 520px){.done-info{flex-wrap:wrap}.done-info>.muted{flex-basis:100%}.done-info code{flex-basis:100%}.done-info .btn{margin-top:2px}}
