:root{--bg:#0b0e11;--card:#12171d;--ink:#e6edf3;--muted:#9aa7b1;--accent:#37b1ff;--ring:#1a89d6}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 system-ui,Segoe UI,Roboto,Helvetica,Arial}

.nav{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:12px 18px;background:rgba(11,14,17,.85);backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid #1a2026}
.brand{display:flex;gap:10px;align-items:center;font-weight:700}
.brand .title{letter-spacing:.3px}
.container{max-width:1100px;margin:24px auto;display:grid;gap:18px;padding:0 18px;grid-template-columns:1fr}
.card{background:var(--card);border:1px solid #1a2026;border-radius:16px;padding:18px}
.card h1,.card h2{margin:.2rem 0 0.5rem}
.grid{display:grid;gap:12px}
.row{display:flex;gap:12px;flex-wrap:wrap}
.field{display:grid;gap:6px}
.field input[type="text"], .field input[type="number"], .field input[type="file"]{background:#0e1318;border:1px solid #1b232c;color:var(--ink);padding:10px;border-radius:12px}
.field.small{flex:1;min-width:180px}
.switch{display:flex;gap:8px;align-items:center}
.btn{appearance:none;border:1px solid #27313b;background:#0f151b;color:var(--ink);padding:10px 14px;border-radius:12px;text-decoration:none;display:inline-flex;gap:8px;align-items:center}
.btn:hover{border-color:#33414f}
.btn.primary{background:linear-gradient(180deg,#1a89d6,#0f5f9b);border-color:#0f5f9b}
.btn.ghost{background:transparent}
.muted{color:var(--muted)}
.actions{display:flex;gap:10px;flex-wrap:wrap}
#preview{width:100%;height:auto;display:block;background:#000;border-radius:12px;border:1px solid #1a2026}
.foot{display:flex;justify-content:center;padding:24px;color:var(--muted)}
.tips ul{margin:.4rem 0 0 1.2rem}
.ai{margin-top:8px;padding:10px;border-radius:12px;background:#0e1318;border:1px dashed #27313b;white-space:pre-wrap}

.preview img{display:none;margin-top:8px;max-width:180px;max-height:180px;width:auto;height:auto;border-radius:12px;border:1px solid #1a2026;object-fit:contain}
.brand .logo{height:32px;width:auto}

@media (min-width:980px){
  .container{grid-template-columns:1fr 1fr}
  .tips{grid-column:1/-1}
}
