:root{--bg:#f6f7f9;--surface:#fff;--surface-2:#eef0f3;--text:#1a1d21;--text-dim:#5c636b;--accent:#e5322d;--accent-dark:#c4261f;--ok:#1a8f4b;--warn:#b7791f;--err:#c4261f;--border:#d9dde2;--radius:12px;--shadow:0 1px 3px #10141814, 0 4px 14px #1014180f}@media (prefers-color-scheme:dark){:root{--bg:#101418;--surface:#191e24;--surface-2:#222931;--text:#e8ebef;--text-dim:#98a1ab;--border:#2c343d;--shadow:0 1px 3px #0006, 0 4px 14px #0000004d}}*{box-sizing:border-box}body{background:var(--bg);min-height:100vh;color:var(--text);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}.header{max-width:720px;margin:0 auto;padding:32px 20px 8px}.brand{align-items:center;gap:12px;display:flex}.brand-icon{border-radius:8px;width:36px;height:36px}.brand h1{margin:0;font-size:22px}.tag{letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);border:1px solid var(--border);vertical-align:middle;border-radius:999px;margin-left:6px;padding:2px 8px;font-size:11px;font-weight:600}.tagline{color:var(--text-dim);margin:10px 0 0;font-size:14px}.main{max-width:720px;margin:0 auto;padding:16px 20px 40px}.dropzone{background:var(--surface);border:2px dashed var(--border);border-radius:var(--radius);text-align:center;cursor:pointer;box-shadow:var(--shadow);padding:44px 24px;transition:border-color .15s,background .15s}.dropzone.dragover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, var(--surface))}.dz-icon{width:40px;height:40px;color:var(--text-dim)}.dz-title{margin:8px 0 2px;font-size:18px;font-weight:600}.dz-sub{color:var(--text-dim);margin:0;font-size:14px}.link-btn{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.options{margin-top:16px}.opt{flex-direction:column;gap:6px;display:flex}.opt-label{color:var(--text-dim);font-size:13px;font-weight:600}.opt select{background:var(--surface);width:100%;color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font:inherit;box-shadow:var(--shadow);padding:10px 12px}.mode-hint{color:var(--text-dim);margin:8px 2px 0;font-size:13px}.files{margin-top:24px}.files-head{justify-content:space-between;align-items:center;display:flex}.files-head h2{margin:0;font-size:16px}.file-list{flex-direction:column;gap:10px;margin:12px 0;padding:0;list-style:none;display:flex}.file-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px}.file-row{align-items:center;gap:12px;display:flex}.file-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;font-weight:600;overflow:hidden}.file-status{color:var(--text-dim);white-space:nowrap;font-size:13px}.file-status.ok{color:var(--ok)}.file-status.err{color:var(--err)}.file-status.warn{color:var(--warn)}.progress{background:var(--surface-2);border-radius:999px;height:5px;margin-top:10px;overflow:hidden}.progress-bar{background:var(--accent);border-radius:999px;width:0%;height:100%;transition:width .15s ease-out}.file-actions{justify-content:space-between;align-items:center;gap:8px;margin-top:10px;display:flex}.saved{color:var(--text-dim);font-size:13px}.saved strong{color:var(--ok)}.primary-btn,.ghost-btn{font:inherit;cursor:pointer;border-radius:10px;padding:9px 16px;font-weight:600}.primary-btn{background:var(--accent);color:#fff;border:none;width:100%;margin-top:4px}.primary-btn:hover{background:var(--accent-dark)}.ghost-btn{border:1px solid var(--border);color:var(--text-dim);background:0 0;padding:5px 12px;font-size:13px;font-weight:500}.ghost-btn:hover{color:var(--text);border-color:var(--text-dim)}.card-btn{background:var(--accent);color:#fff;font:inherit;cursor:pointer;border:none;border-radius:8px;padding:7px 14px;font-size:13px;font-weight:600}.card-btn:hover{background:var(--accent-dark)}.error-banner{background:color-mix(in srgb, var(--err) 10%, var(--surface));border:1px solid var(--err);color:var(--text);border-radius:var(--radius);margin-top:16px;padding:12px 16px;font-size:14px}.footer{max-width:720px;margin:0 auto;padding:0 20px 32px}.footer p{color:var(--text-dim);text-align:center;margin:0;font-size:12px}
