:root{
  --bg:#f6f8fa; --card:#fff; --muted:#666; --accent:#0b74de;
  --radius:12px; --gap:16px; --maxw:980px;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
}
*{box-sizing:border-box}
html,body{height:100%;margin:0;background:var(--bg);color:#111}
.container{max-width:var(--maxw);margin:0 auto;padding:18px}
.header{background:linear-gradient(90deg,#0b74de22,#0b74de11);padding:18px 0}
.header h1{margin:0;font-size:1.2rem}
.lead{margin:.35rem 0 .1rem;color:var(--muted);font-size:.95rem}
.card{background:var(--card);border-radius:var(--radius);padding:14px;margin:14px 0;box-shadow:0 6px 18px rgba(10,10,10,0.05)}
.card.small{font-size:.95rem}
label{display:block;margin:10px 0;font-size:.95rem;color:#222}
input[type="text"]{width:100%;padding:10px;border-radius:8px;border:1px solid #ddd;background:#fff;font-size:1rem}
.row{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}
button{background:var(--accent);color:#fff;border:0;padding:10px 14px;border-radius:8px;cursor:pointer;font-weight:600}
button[disabled]{opacity:.6;cursor:not-allowed}
.result{white-space:pre-wrap;background:#0b0b0b;color:#e9f2ff;padding:12px;border-radius:8px}
footer.footer{padding:10px 0;text-align:center;color:var(--muted);font-size:.85rem}

/* responsive */
@media (min-width:700px){
  .row{flex-wrap:nowrap}
  .card{display:block}
}
