:root{--bg:#fff;--text:#0b1320;--muted:#6b7280;--brand:#0b60ff;--brand-dark:#0a52d8;--card:#f7f9fc;--border:#dbe2ea}
*{box-sizing:border-box}html,body{margin:0;padding:0}
body{font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text);background:var(--bg)}
.site-head{display:flex;align-items:center;gap:.75rem;padding:18px 16px;border-bottom:1px solid var(--border)}
.brand{font-weight:800;font-size:28px;color:var(--text);text-decoration:none}
.brand span{color:var(--brand)}
.by{color:var(--muted);font-size:14px}
.tools{margin-left:auto}
.tools summary{cursor:pointer;color:var(--muted)}
.tools nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;padding:.75rem 0}
.tools a{color:var(--brand);text-decoration:none}
.tools a.active{font-weight:700}
.card{max-width:820px;margin:20px auto;padding:20px;background:var(--bg)}
h1{font-size:36px;margin:6px 0 10px}
.lead{color:var(--muted);margin:0 0 14px}
.alert{padding:10px 12px;border:1px solid var(--border);border-radius:8px;margin:10px 0}
.alert.error{border-color:#fecaca;background:#fff1f2}
.uploader{display:grid;gap:14px}
.dropzone{border:2px dashed var(--border);border-radius:14px;padding:18px;text-align:center;background:var(--card)}
.drop-hint{color:var(--muted)}
.muted{color:var(--muted)}
.field .label{margin:6px 0 6px}
input[type="password"], input[type="text"]{
  width:100%;padding:12px 12px;border:1px solid var(--border);border-radius:10px;font-size:16px;outline:none
}
.btn{display:inline-block;padding:12px 16px;border-radius:12px;border:1px solid transparent;cursor:pointer;font-weight:700}
.btn-outline{border-color:var(--border);background:#fff}
.btn-primary{background:var(--brand);color:#fff}
.btn-primary:active{transform:translateY(1px)}
.site-foot{color:var(--muted);text-align:center;padding:20px}
input[type="file"]{display:none}