/* assets/style.css */
:root{ --gap:16px; --bg:#0f0f12; --fg:#e8e8ea; --muted:#9aa0a6; --card:#17171b; --accent:#7da0ff; --warn:#f25f5c; }
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial}
.wrap{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px}
.card{background:var(--card);padding:24px;border-radius:14px;max-width:820px;width:100%;box-shadow:0 10px 30px rgba(0,0,0,.35)}
h1{margin:0 0 16px 0;font-size:24px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--gap);margin-top:8px}
.btn{display:inline-block;text-decoration:none;text-align:center;padding:12px 14px;border-radius:12px;background:#222;border:1px solid #2a2a2a;color:var(--fg)}
.btn:hover{border-color:var(--accent)}
.btn.warn{background:#261c1c;border-color:#3b2626;color:#ffd7d7}
label{display:block;margin:10px 0 6px 0;color:var(--muted)}
input[type=text],input[type=password],select,textarea{width:100%;padding:10px;border-radius:10px;border:1px solid #2a2a2a;background:#101114;color:var(--fg)}
textarea{min-height:220px;white-space:pre-wrap}
button{padding:10px 14px;border-radius:10px;border:1px solid #2a2a2a;background:#1a1c22;color:#fff;cursor:pointer}
button:hover{border-color:var(--accent)}
.alert{background:#2a1e1e;color:#ffd7d7;border:1px solid #3b2626;padding:10px 12px;border-radius:10px;margin-bottom:12px}
.help{color:var(--muted);font-size:14px}
.preview{display:block;width:100%;max-height:75vh;object-fit:contain;background:#0a0b0e;border:1px dashed #2a2a2a;border-radius:12px;padding:8px}
.flex{display:flex;gap:var(--gap);flex-wrap:wrap}
hr{border:none;border-top:1px solid #2a2a2a;margin:16px 0}
.small{font-size:13px;color:var(--muted)}
.links a{color:var(--accent)}
