:root{--bg:#f7f7f8;--surface:#ffffff;--border:#e3e3e6;--text:#1a1a1c;--muted:#6b6b73;--accent:#324def;--accent-text:#ffffff;--danger:#b4232c;--danger-bg:#fdf2f2;--radius:8px}@media (prefers-color-scheme:dark){:root{--bg:#111113;--surface:#1a1a1d;--border:#2c2c31;--text:#ececee;--muted:#9a9aa3;--accent:#324def;--accent-text:#ffffff;--danger:#ff8b8b;--danger-bg:#2a1618}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:1.5rem;margin:0 0 .25rem;letter-spacing:-.01em}h2{font-size:1.05rem;margin:0 0 .75rem}p{margin:0 0 1rem}.muted{color:var(--muted)}.center{min-height:100dvh;display:grid;place-items:center;padding:1.5rem}.card{width:100%;max-width:26rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.75rem}.page{max-width:60rem;margin:0 auto;padding:1.5rem}.field{display:block;margin-bottom:.9rem}.field span{display:block;font-size:.8rem;font-weight:500;color:var(--muted);margin-bottom:.3rem}input,select{width:100%;padding:.55rem .65rem;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:6px}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px}button{font:inherit;font-weight:500;padding:.55rem .9rem;border-radius:6px;border:1px solid transparent;background:var(--accent);color:var(--accent-text);cursor:pointer}button:disabled{opacity:.6;cursor:progress}button.link{background:none;border:none;color:var(--muted);padding:0;font-weight:400;text-decoration:underline;cursor:pointer}.error,.notice{padding:.6rem .75rem;border-radius:6px;font-size:.875rem;margin-bottom:1rem}.error{color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger)}.notice{color:var(--muted);background:var(--bg);border:1px solid var(--border)}.topbar{display:flex;align-items:center;gap:1rem;padding:.7rem 1.5rem;background:var(--surface);border-bottom:1px solid var(--border)}.wordmark{font-weight:650;letter-spacing:-.02em;color:var(--text)}.wordmark span{color:var(--accent)}.tagline{display:block;margin-top:.35rem;font-size:.85rem;color:var(--muted)}.signature{margin:0;font-size:.8rem;color:var(--muted);letter-spacing:.01em}.hero-line{margin:1.25rem 0 .75rem;font-size:1.35rem;font-weight:600;letter-spacing:-.015em}.site-head{display:flex;align-items:center;gap:1rem;padding:2rem 0 0}.site-foot .spacer,.site-head .spacer{flex:1 1}.site-head a{font-size:.9rem}.wrap{max-width:46rem;margin:0 auto;padding:0 1.5rem}.hero{padding:4.5rem 0 3.5rem}.hero h1{font-size:clamp(2.25rem,7vw,3.5rem);line-height:1.1;letter-spacing:-.03em;margin:0 0 1.25rem}.hero .lead{font-size:1.15rem;color:var(--muted);max-width:34rem;margin:0 0 2rem}.cta{display:inline-block;background:var(--accent);color:var(--accent-text);font-weight:600;padding:.8rem 1.5rem;border-radius:8px}.cta,.cta:hover{text-decoration:none}.cta:hover{opacity:.9}.cta-note{color:var(--muted);font-size:.9rem;margin-left:1rem}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));grid-gap:1.75rem;gap:1.75rem;padding:3rem 0;border-top:1px solid var(--border)}.grid h2{font-size:1rem;margin:0 0 .4rem}.grid p{margin:0;color:var(--muted);font-size:.95rem}.band{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:3rem 0}.band h2{font-size:1.4rem;margin:0 0 .75rem;letter-spacing:-.02em}.band p{color:var(--muted);margin:0 0 1.5rem;max-width:36rem}.site-foot{padding:2.5rem 0 3.5rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;font-size:.85rem}.site-foot,.site-foot a{color:var(--muted)}.prose{padding:3rem 0}.prose h1{font-size:2rem;letter-spacing:-.02em;margin:0 0 .5rem}.prose h2{font-size:1.1rem;margin:2rem 0 .5rem}.prose li,.prose p{color:var(--muted)}.prose .updated{font-size:.85rem}.appfoot{display:flex;align-items:center;gap:.75rem;padding:1.25rem 1.5rem 2rem;border-top:1px solid var(--border);margin-top:3rem}.topbar .brand{font-weight:600;color:var(--text)}.topbar .spacer{flex:1 1}.topbar select{width:auto;min-width:12rem}.field-row{display:flex;gap:1rem;flex-wrap:wrap}.field-row>.field{flex:1 1 12rem}fieldset.checks{border:1px solid var(--border);border-radius:6px;padding:.6rem .85rem;margin:0 0 .9rem;display:flex;gap:1.25rem;flex-wrap:wrap}fieldset.checks legend{font-size:.8rem;color:var(--muted);padding:0 .35rem}fieldset.checks label{display:flex;align-items:center;gap:.4rem;font-size:.9rem}fieldset.checks input{width:auto}.actions{align-items:center;gap:1rem}.actions,.totals{display:flex;margin-top:1.5rem}.totals{justify-content:flex-end;gap:2.5rem;padding:1rem 1.15rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.totals>div{display:flex;flex-direction:column;align-items:flex-end;gap:.2rem}.totals span{font-size:.8rem}.totals strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.page-head{display:flex;align-items:flex-start;gap:1rem}.page-head .spacer{flex:1 1}td>input,td>select{padding:.35rem .45rem;font-size:.9rem}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));grid-gap:.75rem;gap:.75rem;margin-top:1.5rem}.tile{display:flex;flex-direction:column;gap:.3rem;padding:.9rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text)}.tile:hover{border-color:var(--accent);text-decoration:none}.tile span{font-size:.8rem}.tile strong{font-size:1.35rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.01em}.subnav{display:flex;gap:1.25rem;padding:.6rem 1.5rem;background:var(--surface);border-bottom:1px solid var(--border);font-size:.9rem}.subnav a{color:var(--muted)}.subnav a:hover{color:var(--text)}.badge{font-size:.75rem;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:.1rem .55rem}table{width:100%;border-collapse:collapse;font-size:.9rem}td,th{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:500;font-size:.8rem}