:root { --fg:#0b1320; --bg:#f7f8fb; --muted:#6b7280; --accent:#2563eb; --ok:#0a7; --warn:#c60; --danger:#d33; }
*{box-sizing:border-box} body{margin:0;font:18px/1.4 system-ui,Segoe UI,Roboto,Arial;background:var(--bg);color:var(--fg)}
.wrap{max-width:700px;margin:0 auto;padding:16px}
header{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin:8px 0 16px}
h1{font-size:22px;margin:0} .rate{color:var(--muted)}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.field label{display:block;font-size:14px;color:var(--muted);margin-bottom:6px}
input{width:100%;padding:14px 12px;font-size:22px;border:2px solid #e5e7eb;border-radius:12px;background:#fff;outline:none}
input:focus{border-color:var(--accent)}
.actions{display:flex;gap:10px;margin:12px 0}
button{font-size:18px;padding:12px 16px;border:none;border-radius:12px;background:var(--accent);color:#fff;cursor:pointer}
button.secondary{background:#9ca3af}
button.danger{background:var(--danger)}
button.wide{grid-column:span 2}
.result{margin:12px 0;padding:12px;border:2px dashed #e5e7eb;border-radius:12px;background:#fff}
.result .row{display:flex;justify-content:space-between;align-items:center;margin:6px 0}
.result .value{font-size:26px;font-weight:700}
.muted{color:var(--muted)}
.numpad{margin:8px 0}
.keys{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
footer{margin-top:8px;color:var(--muted);font-size:14px}
@media (max-width:560px){ .grid{grid-template-columns:1fr} }
