:root{--bg:#0b0f17;--panel:rgba(255,255,255,0.06);--panel2:rgba(255,255,255,0.09);--text:rgba(255,255,255,0.92);--muted:rgba(255,255,255,0.65);--border:rgba(255,255,255,0.14);--shadow:rgba(0,0,0,0.35);--brand1:#7c3aed;--brand2:#22d3ee;--danger:#ff5a7a;--ok:#34d399;--warn:#fbbf24}*{box-sizing:border-box}body,html{height:100%}body{margin:0;color:var(--text);background:radial-gradient(1100px 600px at 20% 10%,rgba(124,58,237,.22),transparent 60%),radial-gradient(900px 600px at 80% 15%,rgba(34,211,238,.16),transparent 55%),radial-gradient(900px 600px at 50% 90%,rgba(255,255,255,.06),transparent 55%),var(--bg);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,Apple Color Emoji,Segoe UI Emoji}a{color:var(--brand2);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:1040px;margin:0 auto;padding:32px 20px 48px}.header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}.title{font-size:44px;letter-spacing:-.02em;margin:0}.subtitle{margin:8px 0 0;font-size:16px}.badge,.subtitle{color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border);background:rgba(255,255,255,.04);border-radius:999px;font-size:12px;white-space:nowrap}.grid{display:grid;grid-template-columns:1.2fr .8fr;grid-gap:16px;gap:16px}@media (max-width:920px){.grid{grid-template-columns:1fr}.title{font-size:34px}}.card{border:1px solid var(--border);background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.04));box-shadow:0 18px 50px var(--shadow);border-radius:16px;padding:16px}.cardTitle{margin:0 0 10px;font-size:16px}.muted{color:var(--muted)}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}label{color:var(--muted);font-size:13px}input[type=file],select{background:rgba(255,255,255,.06);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:10px 12px;outline:none}input[type=file]:focus,select:focus{border-color:rgba(34,211,238,.55);box-shadow:0 0 0 4px rgba(34,211,238,.14)}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(135deg,var(--brand1),var(--brand2));color:#081019;font-weight:700;border:0;border-radius:12px;padding:10px 14px;cursor:pointer;transition:transform .06s ease,filter .15s ease}.button:active{transform:translateY(1px)}.button:hover{filter:brightness(1.02)}.buttonSecondary{background:rgba(255,255,255,.06);color:var(--text);border:1px solid var(--border)}.button:disabled{opacity:.5;cursor:not-allowed;filter:none;transform:none}.hint{font-size:13px;color:var(--muted)}.error{margin-top:12px;padding:12px;border:1px solid rgba(255,90,122,.35);background:rgba(255,90,122,.1);border-radius:12px;color:rgba(255,255,255,.92)}.fileList{margin:10px 0 0;padding:0;list-style:none}.fileItem{display:flex;justify-content:space-between;gap:12px;padding:10px;border:1px solid var(--border);border-radius:12px;background:rgba(0,0,0,.16);margin-bottom:10px}.fileName{display:flex;flex-direction:column;gap:2px}.fileMeta,.status{font-size:12px;color:var(--muted)}.status{display:inline-flex;align-items:center;gap:8px}.dot{width:8px;height:8px;border-radius:99px;background:rgba(255,255,255,.35)}.dotOk{background:var(--ok)}.dotWarn{background:var(--warn)}.dotBad{background:var(--danger)}.progress{margin-top:8px;height:8px;border-radius:999px;background:rgba(255,255,255,.1);overflow:hidden}.bar{height:100%;background:linear-gradient(90deg,rgba(34,211,238,.85),rgba(124,58,237,.95));width:0}.small{font-size:12px;color:var(--muted)}