:root { --navy:#0b1e3a; --gold:#d4af37; --ink:#16202e; --paper:#f7f5ef; }
* { box-sizing: border-box; }
body { margin:0; font-family: system-ui, -apple-system, "Segoe UI", sans-serif; color:var(--ink); background:var(--paper); }
.hero { background:var(--navy); color:#fff; padding:2.5rem 1.25rem 2rem; }
.kicker { color:var(--gold); letter-spacing:.12em; font-size:.75rem; font-weight:700; }
.hero h1 { margin:.4rem 0; font-size:2rem; line-height:1.15; }
.sub { max-width:44rem; opacity:.92; }
main { max-width:56rem; margin:0 auto; padding:1.25rem; display:grid; gap:1rem; }
.card { background:#fff; border:1px solid #e3ddcc; border-radius:12px; padding:1.25rem; }
.card h2 { margin-top:0; font-size:1.15rem; }
label { display:block; margin:.6rem 0; font-weight:600; }
input, select, textarea { width:100%; margin-top:.3rem; padding:.55rem; border:1px solid #c9c2ab; border-radius:8px; font:inherit; }
button { background:var(--navy); color:#fff; border:0; border-radius:8px; padding:.6rem 1rem; font:inherit; cursor:pointer; }
button.secondary { background:#fff; color:var(--navy); border:1px solid var(--navy); }
.row { display:flex; gap:.6rem; flex-wrap:wrap; margin-top:.6rem; }
.note { color:#5a6472; font-size:.9rem; }
.status { background:#0e1622; color:#cfe3ff; padding:.8rem; border-radius:8px; overflow:auto; white-space:pre-wrap; }
#gen-img { max-width:100%; border-radius:8px; margin-top:.8rem; }
footer { text-align:center; color:#5a6472; padding:1.5rem 1rem 2.5rem; font-size:.85rem; }
