:root{color-scheme:dark;--bg:#000e19;--surface:#102330;--input-bg:#071925;--border:#345362;--text:#eef3f7;--text-secondary:#bbcbd5;--accent:#ed3942;--accent-dark:#a92632;--theme-error:#ffb4bd;--theme-success:#9cdfac}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;line-height:1.5}main{max-width:1080px;margin:auto;padding:24px 16px}header{text-align:center;margin-bottom:36px}h1{font-size:clamp(22px,5vw,32px)}h1,h2,legend{font-family:'Barlow Condensed',system-ui,sans-serif}h2{font-size:30px;margin:0}a{color:var(--text)}.eyebrow,.note{color:var(--text-secondary);font-size:13px}.builder{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}fieldset,.summary{border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:18px;margin:0 0 20px;min-width:0}legend{font-weight:700;padding:0 6px;font-size:22px}label{display:block;margin:10px 0;font-size:15px}input{display:block;width:100%;padding:12px;min-height:44px;font:inherit;font-size:16px;border:1px solid var(--border);border-radius:8px;background:var(--input-bg);color:var(--text)}input[aria-invalid=true]{border-color:var(--theme-error)}.field-error{display:block;color:var(--theme-error);font-size:12px}.summary{align-self:start;position:sticky;top:16px}button{padding:13px;font:inherit;font-weight:700;border:0;border-radius:8px;background:var(--accent);color:#fff;min-height:44px;width:100%;cursor:pointer}button:hover:not(:disabled){background:var(--accent-dark)}button:disabled{opacity:.45;cursor:default}:focus-visible{outline:3px solid var(--text-secondary);outline-offset:3px}.totals{display:flex;gap:24px;justify-content:space-between}.totals strong{display:block;font-size:24px}#balance{font-weight:700;font-size:18px}#balance[data-state=over],#validation{color:var(--theme-error)}#balance[data-state=full]{color:var(--theme-success)}.category{margin:18px 0}.category p{display:flex;justify-content:space-between;gap:10px;margin:0 0 6px;font-size:14px}.category span{overflow-wrap:anywhere}.track{height:12px;border-radius:5px;background:var(--input-bg);overflow:hidden}.fill{height:100%;background:var(--bar)}@media(max-width:700px){.builder{grid-template-columns:1fr}.summary{position:static}.totals strong{font-size:22px}}

.mobile-balance{display:none}@media(max-width:700px){.mobile-balance{display:flex;gap:8px;flex-wrap:wrap;justify-content:space-between;position:sticky;top:0;z-index:2;background:var(--surface);padding:12px;border:1px solid var(--border);border-radius:8px;margin-bottom:20px;font-size:13px;box-shadow:0 3px 10px #0005}.mobile-balance a{white-space:nowrap}#results{scroll-margin-top:90px}}
