:root{--bg:#f4ece0;--ink:#2b1d10;--wood:#3b2a1a;--accent:#b5531c;--card:#fffaf2;--line:#d8c6ab}
*{box-sizing:border-box}body{margin:0;font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg) repeating-linear-gradient(90deg,transparent 0 38px,rgba(59,42,26,.04) 38px 40px);color:var(--ink)}
header{background:var(--wood);color:#fbefdc;padding:1.2rem 1rem;border-bottom:6px solid var(--accent)}header h1{margin:0;font-family:Georgia,serif;letter-spacing:.02em}header p{margin:.2rem 0 0}
.logo{display:inline-block;background:var(--accent);border-radius:6px;padding:0 .35rem}
main{max-width:920px;margin:auto;padding:1rem}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1rem;margin:0 0 1rem;box-shadow:0 2px 0 var(--line)}
h2{margin:.1rem 0 .6rem;font-family:Georgia,serif;font-size:1.2rem}label{display:block;font-weight:600;font-size:.92rem;margin:.3rem 0}
input,select,textarea{display:block;width:100%;margin-top:.2rem;padding:.55rem;border:1px solid #8a7458;border-radius:6px;font:inherit;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus,button:focus-visible{outline:3px solid #e0a23a;outline-offset:1px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.6rem;align-items:end}.grid.four{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
fieldset{border:1px dashed #8a7458;border-radius:8px;margin:.6rem 0}.row{display:grid;grid-template-columns:3fr 1fr 1.3fr auto;gap:.5rem;align-items:end;margin-bottom:.4rem}
button{background:var(--accent);color:#fff;border:0;border-radius:6px;padding:.6rem 1rem;font:inherit;font-weight:700;cursor:pointer;margin:.3rem .3rem 0 0}
button.ghost{background:transparent;color:var(--wood);border:2px solid var(--wood)}button.link{background:none;color:#7a3510;text-decoration:underline;padding:.1rem;font-weight:400;text-align:left}
.tabs{display:flex;gap:.3rem}.tabs button{border-radius:8px 8px 0 0;margin:0;background:#cdb894;color:var(--ink)}.tabs button[aria-selected=true]{background:var(--wood);color:#fff}
pre{white-space:pre-wrap;background:#fff;border-left:5px solid var(--accent);padding:.8rem;font:15px/1.45 ui-monospace,Menlo,Consolas,monospace}
.hint{font-size:.85rem;color:#5a4630}.notice{font-size:.9rem;background:#efe0c6;padding:.7rem;border-radius:8px}#totals{font-weight:700}
footer{text-align:center;padding:1.2rem;background:var(--wood);color:#fbefdc}
@media(max-width:560px){.row{grid-template-columns:1fr 1fr}.row label:first-child{grid-column:1/-1}}
@media print{header,footer,.card:not(#out),.tabs,.notice,button{display:none!important}#out{display:block!important;border:0;box-shadow:none}body{background:#fff}pre{border:0}}

.subscribe{display:inline-block;margin-top:.3rem;padding:.45rem .9rem;border-radius:999px;background:#c2561e;color:#fff;font-weight:700;text-decoration:none}.subscribe:hover,.subscribe:focus{background:#9f4416}

.headline{font-size:1.25rem;font-weight:700;margin:.4rem 0}
