:root{--bg:#0f1115;--card:#181b22;--line:#2a2f3a;--text:#e8eaf0;--muted:#9aa3b2;--accent:#4f8cff;--bad:#ff6b6b;--ok:#3ecf8e}@media (prefers-color-scheme:light){:root{--bg:#f4f6fa;--card:#fff;--line:#dde2ec;--text:#14171f;--muted:#5b6575}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}main{max-width:640px;margin:0 auto;padding:32px 16px}h1{margin:0 0 4px;font-size:1.5rem}p.sub{color:var(--muted);margin:0 0 24px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-bottom:16px;padding:20px}label{color:var(--muted);margin-bottom:6px;font-size:.85rem;display:block}input[type=password],input[type=text]{border:1px solid var(--line);background:var(--bg);width:100%;color:var(--text);font:inherit;border-radius:8px;padding:10px 12px}button,.btn{background:var(--accent);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:8px;padding:10px 18px;font-weight:600;text-decoration:none;display:inline-block}button.ghost{color:var(--accent);border:1px solid var(--line);background:0 0;padding:6px 12px;font-weight:500}button:disabled{opacity:.5;cursor:default}.drop{border:2px dashed var(--line);text-align:center;color:var(--muted);cursor:pointer;border-radius:12px;padding:36px 16px}.drop.over{border-color:var(--accent);color:var(--text)}.row{align-items:center;gap:8px;display:flex}.row input{flex:1}.bar{background:var(--line);border-radius:3px;height:6px;margin-top:8px;overflow:hidden}.bar>div{background:var(--accent);height:100%;transition:width .2s}.name{word-break:break-all;font-weight:600}.meta{color:var(--muted);font-size:.85rem}.err{color:var(--bad);margin-top:8px;font-size:.9rem}.ok{color:var(--ok);font-size:.9rem}
