:root{
  --bg:#f5f7fb;--card:#fff;--text:#101828;--muted:#667085;
  --border:#d0d5dd;--dark:#111827;--red:#b42318;--green:#027a48;
}
*{box-sizing:border-box}
body{margin:0;background:linear-gradient(180deg,#f8fafc,#eef2f7);
font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text)}
.wrap{min-height:100vh;display:grid;place-items:center;padding:20px}
.card{width:min(760px,100%);background:var(--card);border:1px solid #eaecf0;
border-radius:22px;padding:32px;box-shadow:0 16px 45px rgba(16,24,40,.08)}
.brand{font-size:13px;font-weight:900;letter-spacing:.12em}
h1{font-size:clamp(30px,6vw,48px);line-height:1.05;margin:15px 0 10px}
.sub{margin:0 0 26px;color:var(--muted);font-size:16px;line-height:1.6}
label{display:block;font-size:14px;font-weight:800;margin-bottom:8px}
.row{display:flex;gap:10px}
input{flex:1;min-width:0;height:52px;border:1px solid var(--border);
border-radius:12px;padding:0 14px;font-size:15px;outline:none}
input:focus{border-color:#98a2b3;box-shadow:0 0 0 4px rgba(17,24,39,.06)}
button{height:52px;border:0;border-radius:12px;padding:0 20px;
background:var(--dark);color:#fff;font-weight:800;cursor:pointer}
button:disabled{opacity:.6;cursor:not-allowed}
.status{margin-top:14px;padding:12px 14px;border-radius:12px;font-size:14px;line-height:1.5}
.status.info{background:#f2f4f7;color:#344054}.status.ok{background:#ecfdf3;color:var(--green)}
.status.error{background:#fef3f2;color:var(--red)}
.result{margin-top:18px;padding:16px;border:1px solid #eaecf0;border-radius:16px;
display:grid;grid-template-columns:150px 1fr;gap:16px;align-items:center}
.result img{width:150px;height:150px;object-fit:cover;border-radius:12px;background:#f2f4f7}
.result h2{margin:0 0 6px;font-size:19px}.result p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}
.download{display:inline-flex;margin-top:12px;min-height:44px;align-items:center;
padding:0 15px;border-radius:10px;background:var(--dark);color:#fff;text-decoration:none;font-weight:800}
.notice{margin-top:20px;padding:13px 15px;border-radius:12px;background:#f8fafc;
color:#475467;font-size:13px;line-height:1.55}
footer{padding-top:14px;text-align:center;color:#98a2b3;font-size:13px}
@media(max-width:620px){
  .card{padding:22px;border-radius:18px}.row{flex-direction:column}button{width:100%}
  .result{grid-template-columns:1fr}.result img{width:100%;height:auto;max-height:300px}
}
