:root{--bg:#0b0c0f;--card:#11131a;--muted:#98a2b3;--fg:#e6e7eb;--accent:#4f46e5;--accent-2:#22c55e}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{background:linear-gradient(180deg,#0b0c0f,#0b0c0f 60%,#0e1116);color:var(--fg);font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial,sans-serif}
.wrap{max-width:1100px;margin:0 auto;padding:24px}
header{position:sticky;top:0;backdrop-filter:saturate(140%) blur(10px);background:rgba(11,12,15,.6);border-bottom:1px solid #1f2430;z-index:10}
nav{display:flex;align-items:center;justify-content:space-between}
a.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--fg)}
.menu{display:flex;gap:8px}
.tag{border:1px solid #252a36;border-radius:999px;padding:6px 12px;color:#cbd5e1;font-size:14px;text-decoration:none}
.tag:hover{background:#151923}
.hero{display:grid;gap:24px;align-items:center}
@media(min-width:900px){.hero{grid-template-columns:1.2fr 1fr}}
.cta-row{display:flex;gap:10px;flex-wrap:wrap}
.btn{background:#1c2030;border:1px solid #2a3040;color:#e5e7eb;border-radius:12px;padding:12px 16px;font-weight:600;cursor:pointer;text-decoration:none}
.btn:hover{background:#23283b}
.btn.primary{background:var(--accent);border:0}
.btn.primary:hover{filter:brightness(1.05)}
.card{background:var(--card);border:1px solid #1f2430;border-radius:16px;padding:16px}
.muted{color:var(--muted)}
.title{font-size:36px;margin:6px 0 0}
.subtitle{font-size:18px;color:#cbd5e1}
.features{display:grid;gap:16px}
@media(min-width:900px){.features{grid-template-columns:repeat(3,1fr)}}
.feature{background:#0f121a;border:1px solid #1f2430;border-radius:14px;padding:16px}
footer{color:#94a3b8;text-align:center;padding:30px 0}

/* Files page */
.grid{display:grid;gap:20px}
@media(min-width:900px){.grid{grid-template-columns:2fr 1fr}}
.drop{border:2px dashed #2a3040;border-radius:18px;padding:40px;text-align:center;transition:.2s background,.2s border,.2s transform}
.drop.over{border-color:var(--accent);background:#151a29}
.list{display:flex;flex-direction:column;gap:12px;margin-top:14px}
.row{background:#0f121a;border:1px solid #1f2430;border-radius:14px;padding:12px}
.row-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60vw}
.badge{font-size:12px;border:1px solid #2a3040;border-radius:999px;padding:2px 8px}
.badge.done{border-color:#1b3d29;color:#86efac;background:#052e1a}
.badge.err{border-color:#49212a;color:#fda4af;background:#2a0c12}
.bar{height:8px;border-radius:999px;background:#1f2430;overflow:hidden;margin-top:10px}
.bar>div{height:100%;width:0;background:linear-gradient(90deg,var(--accent),#06b6d4);transition:width .2s}
pre{white-space:pre-wrap;background:#0c0f16;border:1px solid #1f2430;border-radius:12px;padding:10px;color:#cbd5e1;max-height:180px;overflow:auto}
label{font-size:13px;color:#cbd5e1}
input[type=text],input[type=number]{width:100%;background:#0f121a;color:#e5e7eb;border:1px solid #2a3040;border-radius:12px;padding:10px}
code{background:#0f121a;border:1px solid #2a3040;border-radius:6px;padding:2px 6px}
