*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);line-height:1.5;-webkit-font-smoothing:antialiased}h1{font-family:var(--font-heading);font-size:clamp(1.75rem,4vw,2.25rem);font-weight:500;letter-spacing:-.02em;margin:0 0 .5rem}.lede{color:var(--muted);margin:0 0 2.5rem}.lede strong{color:var(--text);font-weight:600}.site-header{display:flex;align-items:baseline;gap:1rem;border-bottom:1px solid var(--border);padding:1.25rem 1.5rem}.wordmark{font-family:var(--font-heading);font-size:1.25rem;font-weight:500;color:var(--text);text-decoration:none;letter-spacing:-.02em}.site-header__note{color:var(--muted);font-size:.8125rem}.site-footer{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;max-width:40rem;margin:0 auto;padding:2rem 1.5rem 4rem;color:var(--muted);font-size:.8125rem}.site-footer a{color:var(--muted)}main{max-width:40rem;margin:0 auto;padding:3rem 1.5rem 1rem}.steps{display:flex;gap:.5rem;list-style:none;margin:0 0 2rem;padding:0;color:var(--muted);font-size:.8125rem}.steps li:after{content:" ›"}.steps li:last-child:after{content:""}.steps li.is-current{color:var(--text);font-weight:600}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.5rem 0}.row+.row{border-top:1px solid var(--border)}.row--meta{color:var(--muted);font-size:.875rem}.row--total{margin-top:.5rem;padding-top:1rem;font-size:1.125rem}.row__name{font-weight:500}.badge{display:inline-block;background:var(--secondary);color:var(--accent-text);border-radius:999px;padding:.25rem .75rem;margin-bottom:1rem;font-size:.8125rem;font-weight:600}.btn{display:block;width:100%;background:var(--accent);color:var(--accent-text);border:1px solid var(--accent);border-radius:8px;padding:.9rem 1.5rem;font-family:inherit;font-size:1rem;font-weight:600;text-align:center;text-decoration:none;cursor:pointer}.btn:hover{filter:brightness(1.06)}.btn--secondary{background:transparent;color:var(--text);border-color:var(--border);font-weight:500;margin-top:.75rem}label{display:block;margin-bottom:.35rem;color:var(--muted);font-size:.8125rem}input{width:100%;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:.75rem;margin-bottom:1rem;font-family:inherit;font-size:1rem}input:focus{outline:2px solid var(--accent);outline-offset:1px}
