:root { color-scheme: light; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: #f5f7fb; color: #14213d; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; display: grid; place-items: center; padding: 32px 16px; }
main { width: min(100%, 680px); }
.brand { display: flex; align-items: center; gap: 10px; color: #1f4d8f; font-weight: 800; letter-spacing: .02em; margin: 0 0 20px; }
.mark { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 9px; background: #1f4d8f; color: white; }
.card { background: white; border: 1px solid #e2e8f0; border-radius: 18px; padding: 28px; box-shadow: 0 16px 38px rgba(15, 23, 42, .08); }
h1 { font-size: clamp(1.6rem, 4vw, 2.1rem); line-height: 1.18; margin: 0 0 8px; }
p { color: #475569; line-height: 1.55; }
.amount { display: flex; justify-content: space-between; align-items: center; margin: 24px 0; padding: 16px; border-radius: 12px; background: #eff6ff; color: #1e3a8a; font-weight: 700; }
.amount strong { font-size: 1.3rem; }
form { display: grid; gap: 16px; }
.grid { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
label { display: grid; gap: 7px; font-size: .92rem; color: #334155; font-weight: 650; }
input { appearance: none; width: 100%; border: 1px solid #cbd5e1; border-radius: 9px; padding: 11px 12px; color: #0f172a; background: white; font: inherit; }
input:focus { outline: 3px solid rgba(37, 99, 235, .18); border-color: #2563eb; }
button { border: 0; border-radius: 10px; padding: 14px 16px; color: white; background: #1d4ed8; font: inherit; font-weight: 750; cursor: pointer; }
button:hover { background: #1e40af; }
button:disabled { cursor: wait; opacity: .7; }
.hint { font-size: .88rem; margin: 0; }
.notice { margin: 0 0 18px; padding: 12px 14px; border-radius: 10px; background: #fff7ed; color: #9a3412; }
.result { display: grid; grid-template-columns: max-content 1fr; gap: 10px 20px; margin: 24px 0 0; }
.result dt { color: #64748b; }
.result dd { margin: 0; font-weight: 700; }
@media (max-width: 560px) { .card { padding: 21px; } .grid { grid-template-columns: 1fr; } }
