:root{--ink:#12262d;--deep:#0e4a5c;--sky:#e8f3f6;--sun:#f2b705;--bg:#fff}
@media(prefers-color-scheme:dark){:root{--ink:#e8f3f6;--deep:#7cc4d8;--sky:#16313a;--bg:#0d1d23}}
*{box-sizing:border-box}body{margin:0;font:17px/1.6 Georgia,serif;color:var(--ink);background:var(--bg)}
h1,h2,nav,button,label,th{font-family:system-ui,sans-serif}
header,main,footer{max-width:760px;margin:0 auto;padding:1rem 1.25rem}
nav{display:flex;gap:1.25rem;align-items:center;flex-wrap:wrap}nav b{margin-right:auto;color:var(--deep)}
a{color:var(--deep)}h1{font-size:2.4rem;line-height:1.15;margin:2rem 0 .5rem}h2{margin-top:2.5rem}
.btn,button{background:var(--sun);color:#12262d;border:0;border-radius:6px;padding:.7rem 1.2rem;font-weight:700;font-size:1rem;text-decoration:none;cursor:pointer;display:inline-block}
.rate{background:var(--sky);border-left:6px solid var(--sun);padding:1rem 1.25rem}
.rate p{display:flex;justify-content:space-between;margin:.3rem 0;gap:1rem}
form{display:grid;gap:1rem}label{display:grid;gap:.25rem;font-weight:600}
input,select,textarea{font:inherit;padding:.6rem;border:1px solid var(--deep);border-radius:6px;background:var(--bg);color:var(--ink)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.hp{position:absolute;left:-9999px}
#est{font:700 1.3rem system-ui}:focus-visible{outline:3px solid var(--sun);outline-offset:2px}
table{border-collapse:collapse;width:100%;font:14px system-ui}td,th{border-bottom:1px solid var(--sky);padding:.5rem;text-align:left;vertical-align:top}
@media(max-width:560px){.row{grid-template-columns:1fr}}
