:root{--bg: #0f1115;--surface: #181b21;--surface-2: #20242c;--border: #2a2f38;--fg: #e6e6e6;--muted: #9aa0a6;--accent: #4f8cff;--accent-fg: #ffffff;--danger: #ff6b6b;--ok: #46d18b;--radius: 10px}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--fg);font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button{font:inherit;cursor:pointer}input{font:inherit}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:2rem}.login{width:min(380px,92vw);margin:12vh auto 0;display:flex;flex-direction:column;gap:.75rem;text-align:center}.login h1{margin:0;font-weight:600;letter-spacing:-.02em}.subtitle{margin:0 0 .5rem;color:var(--muted)}.login input{width:100%;padding:.7rem .8rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--fg)}.login input:focus{outline:none;border-color:var(--accent)}button[type=submit],.primary{padding:.7rem 1rem;background:var(--accent);color:var(--accent-fg);border:none;border-radius:8px;font-weight:600}button[disabled]{opacity:.6;cursor:default}.error{color:var(--danger);margin:.25rem 0 0;font-size:.9rem}.topbar{display:flex;align-items:center;gap:.75rem;padding:.9rem 1.25rem;background:var(--surface);border-bottom:1px solid var(--border)}.brand{font-weight:700;letter-spacing:-.02em}.spacer{flex:1}.user{color:var(--muted)}.link-btn{background:none;border:none;color:var(--accent);padding:.25rem .4rem}.link-btn.danger{color:var(--danger)}.container{width:min(720px,94vw);margin:1.5rem auto;display:flex;flex-direction:column;gap:1.25rem}.dropzone{border:2px dashed var(--border);border-radius:var(--radius);padding:2.5rem 1rem;text-align:center;background:var(--surface);transition:border-color .15s,background .15s}.dropzone.over{border-color:var(--accent);background:var(--surface-2)}.dz-title{margin:0 0 .25rem;font-size:1.05rem}.dz-sub{margin:0 0 .75rem;color:var(--muted)}.uploads{display:flex;flex-direction:column;gap:.6rem}.upload-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.8rem 1rem;display:grid;grid-template-columns:1fr auto;gap:.3rem .75rem;align-items:center}.upload-card.failed{border-color:var(--danger)}.u-name{font-weight:600;word-break:break-all}.u-meta{color:var(--muted);font-size:.85rem}.upload-card .bar{grid-column:1 / -1}.bar{height:6px;background:var(--surface-2);border-radius:999px;overflow:hidden}.bar-fill{height:100%;width:0;background:var(--accent);transition:width .15s}.files h2{font-size:1rem;color:var(--muted);font-weight:600;margin:0 0 .5rem}.muted{color:var(--muted)}.file-row{display:flex;gap:1rem;justify-content:space-between;align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.8rem 1rem;margin-bottom:.6rem}.f-main{min-width:0}.f-name{font-weight:600;word-break:break-all}.f-meta{color:var(--muted);font-size:.85rem;margin:.1rem 0 .3rem}.f-link{color:var(--accent);font-size:.85rem;text-decoration:none;word-break:break-all}.f-link:hover{text-decoration:underline}.f-actions{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0}@media(max-width:480px){.file-row{flex-direction:column}.f-actions{flex-direction:row;align-self:flex-start}}
