:root,[data-theme=light]{--bg:#fafaf7;--text:#1a1a1a;--muted:#5e5e5e;--line:#e6e4de;--accent:#1e4fa3;--on-accent:#fff;--day-holiday:color-mix(in srgb, var(--accent) 18%, var(--bg));--day-weekend:#efeee9;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#141413;--text:#fafaf7;--muted:#a8a6a0;--line:#2e2d2a;--accent:#7fa7f0;--on-accent:#141413;--day-holiday:color-mix(in srgb, var(--accent) 24%, var(--bg));--day-weekend:#1f1f1d;color-scheme:dark}}[data-theme=dark]{--bg:#141413;--text:#fafaf7;--muted:#a8a6a0;--line:#2e2d2a;--accent:#7fa7f0;--on-accent:#141413;--day-holiday:color-mix(in srgb, var(--accent) 24%, var(--bg));--day-weekend:#1f1f1d;color-scheme:dark}:root{--font-display:"Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;--font-body:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--fs-14:.875rem;--fs-16:1rem;--fs-20:1.25rem;--fs-32:2rem;--fs-56:3.5rem;--fs-80:5rem;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--r-day:3px;--r-pill:999px;--dur:.15s;--max:720px;--tap:44px}*{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font:400 var(--fs-16) / 1.5 var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-weight:700}p{margin:0}a{color:inherit;text-underline-offset:3px;transition:color var(--dur);text-decoration-thickness:1px}a:hover{color:var(--accent)}.accent-link{color:var(--accent);font-weight:500}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.wrap{max-width:var(--max);padding:0 var(--s-4);margin:0 auto}.muted{color:var(--muted)}.site-header{justify-content:space-between;align-items:center;gap:var(--s-4);padding-top:var(--s-5);display:flex}.logo{min-height:var(--tap);color:var(--text);align-items:center;display:inline-flex}.logo svg{width:auto;height:32px;display:block}.logo .accent{stroke:var(--accent)}.header-links{align-items:center;gap:var(--s-2);font-size:var(--fs-14);display:flex}.header-links a{min-height:var(--tap);color:var(--muted);align-items:center;text-decoration:none;display:inline-flex}.header-links a:hover{color:var(--accent)}.icon-btn{width:var(--tap);height:var(--tap);color:var(--muted);cursor:pointer;border-radius:var(--r-pill);transition:color var(--dur);background:0 0;border:0;place-items:center;display:grid}.icon-btn:hover{color:var(--accent)}.icon-btn svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.icon-btn .sun{display:none}[data-scheme=dark] .icon-btn .sun{display:block}[data-scheme=dark] .icon-btn .moon{display:none}.hero{padding-top:clamp(var(--s-7), 12vw, var(--s-9))}.kicker{color:var(--muted);font-size:var(--fs-14);margin-bottom:var(--s-4)}.question{font-size:clamp(2.25rem, 5vw + 1rem, var(--fs-56));max-width:12ch;line-height:1.02}.amount{align-items:baseline;gap:0 var(--s-3);margin-top:var(--s-5);flex-wrap:wrap;display:flex}.big-number{font:700 clamp(3.5rem, 14vw + 1rem, var(--fs-80)) / 1 var(--font-display);letter-spacing:-.04em;color:var(--accent);border:0;border-bottom:3px solid var(--line);padding:0 0 var(--s-1);font-variant-numeric:tabular-nums;-moz-appearance:textfield;appearance:textfield;width:2.1ch;min-width:1.1ch;transition:border-color var(--dur);background:0 0;border-radius:0;margin:0}.big-number::-webkit-outer-spin-button,.big-number::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.big-number:hover{border-bottom-color:var(--muted)}.big-number:focus{border-bottom-color:var(--accent);outline:none}.amount-unit{font:700 clamp(1.5rem, 3vw + 1rem, var(--fs-32)) / 1 var(--font-display);letter-spacing:-.02em;color:var(--muted)}.controls{align-items:center;gap:var(--s-3);margin-top:var(--s-6);flex-wrap:wrap;display:flex}.seg{border:0;margin:0;padding:0;display:inline-flex}.seg label{position:relative}.seg input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.seg span{height:var(--tap);padding:0 var(--s-4);border:1px solid var(--line);font-size:var(--fs-14);font-variant-numeric:tabular-nums;transition:background-color var(--dur), color var(--dur), border-color var(--dur);align-items:center;font-weight:500;display:inline-flex}.seg label:first-of-type span{border-radius:var(--r-pill) 0 0 var(--r-pill)}.seg label:last-of-type span{border-radius:0 var(--r-pill) var(--r-pill) 0;margin-left:-1px}.seg label:hover span{border-color:var(--muted)}.seg input:checked+span{background:var(--text);border-color:var(--text);color:var(--bg)}.seg input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px;z-index:1;position:relative}.select{display:inline-flex;position:relative}.select select{-webkit-appearance:none;appearance:none;height:var(--tap);max-width:100%;padding:0 40px 0 var(--s-4);font:500 var(--fs-14) var(--font-body);color:var(--text);border:1px solid var(--line);border-radius:var(--r-pill);cursor:pointer;transition:border-color var(--dur);background:0 0}.select select:hover{border-color:var(--muted)}.select select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.select select option,.select select optgroup{background:var(--bg);color:var(--text)}.select:after{content:"";pointer-events:none;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);width:7px;height:7px;position:absolute;top:50%;right:18px;transform:translateY(-70%)rotate(45deg)}.toggle{align-items:center;gap:var(--s-2);min-height:var(--tap);cursor:pointer;font-size:var(--fs-14);font-weight:500;display:inline-flex;position:relative}.toggle input{opacity:0;cursor:pointer;width:36px;height:22px;margin:0;position:absolute}.toggle .track{border-radius:var(--r-pill);background:var(--line);width:36px;height:22px;transition:background-color var(--dur);flex:none;position:relative}.toggle .track:after{content:"";background:var(--bg);width:16px;height:16px;transition:transform var(--dur);border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 0 0 1px #0000000f}.toggle input:checked+.track{background:var(--accent)}.toggle input:checked+.track:after{transform:translate(14px)}.toggle input:focus-visible+.track{outline:2px solid var(--accent);outline-offset:2px}.opt{align-items:center;gap:var(--s-1);display:inline-flex;position:relative}.tip-wrap{display:inline-flex}.help{width:20px;height:20px;font:500 12px/1 var(--font-body);color:var(--muted);border:1px solid var(--line);cursor:pointer;transition:color var(--dur), border-color var(--dur);background:0 0;border-radius:50%;place-items:center;padding:0;display:grid;position:relative}.help:before{content:"";position:absolute;inset:-12px}.help:hover,.help[aria-expanded=true]{color:var(--accent);border-color:var(--accent)}.tip{z-index:10;padding:var(--s-2) var(--s-3);background:var(--text);color:var(--bg);font-size:var(--fs-14);opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--dur), transform var(--dur), visibility var(--dur);border-radius:6px;line-height:1.4;position:absolute;bottom:calc(100% + 6px);left:0;right:0;transform:translateY(4px)}.tip:after{content:"";border:5px solid #0000;border-top-color:var(--text);position:absolute;top:100%;right:5px}.tip-wrap:hover .tip,.help:focus-visible+.tip,.tip-wrap[data-open] .tip{opacity:1;visibility:visible;transform:none}.btn-text{min-height:var(--tap);font:500 var(--fs-16) var(--font-body);color:var(--text);cursor:pointer;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:5px;transition:color var(--dur), text-decoration-color var(--dur);background:0 0;border:0;align-items:center;padding:0;text-decoration-thickness:1px;display:inline-flex}.btn-text:hover{color:var(--accent);text-decoration-color:currentColor}.more{margin-top:var(--s-2)}.more summary{align-items:center;gap:var(--s-2);min-height:var(--tap);font-size:var(--fs-14);color:var(--muted);cursor:pointer;transition:color var(--dur);font-weight:500;list-style:none;display:inline-flex}.more summary::-webkit-details-marker{display:none}.more summary:before{content:"+";width:1ch}.more[open] summary:before{content:"−"}.more summary:hover{color:var(--accent)}.more-body{align-items:center;gap:var(--s-3) var(--s-5);padding:var(--s-2) 0 var(--s-2);flex-wrap:wrap;display:flex}.field-inline{align-items:center;gap:var(--s-2);font-size:var(--fs-14);font-weight:500;display:inline-flex}.field-date input{height:var(--tap);padding:0 var(--s-3);font:inherit;color:inherit;border:1px solid var(--line);border-radius:var(--r-pill);background:0 0}.hint{font-size:var(--fs-14);color:var(--muted);flex-basis:100%}.results{margin-top:var(--s-7);padding-top:var(--s-7);border-top:1px solid var(--line)}.results.fade{animation:.2s ease-out fade-in}@keyframes fade-in{0%{opacity:.35}to{opacity:1}}.summary{font-family:var(--font-display);letter-spacing:-.03em;font-weight:700;font-size:clamp(2.25rem, 5vw + 1rem, var(--fs-56));line-height:1.05}.summary b{color:var(--accent);font-weight:700}.summary-sub{margin-top:var(--s-3);color:var(--muted);font-size:var(--fs-16)}.section{margin-top:var(--s-8)}.section-title{font-size:var(--fs-20);letter-spacing:-.02em;margin-bottom:var(--s-4)}.section-head{justify-content:space-between;align-items:baseline;gap:var(--s-2) var(--s-5);margin-bottom:var(--s-5);flex-wrap:wrap;display:flex}.section-head .section-title{margin:0}.bridges{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.bridge{padding:var(--s-5) 0;border-bottom:1px solid var(--line)}.bridge-head{justify-content:space-between;align-items:baseline;gap:var(--s-1) var(--s-4);flex-wrap:wrap;display:flex}.bridge-title{font-size:var(--fs-20);letter-spacing:-.02em}.bridge-cost{font-size:var(--fs-16);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.bridge-cost b{color:var(--accent);font-weight:500}.bridge-dates{margin-top:var(--s-1);font-size:var(--fs-14);color:var(--muted)}.strip{margin-top:var(--s-3);flex-wrap:wrap;gap:3px;display:flex}.note{padding:var(--s-5) 0;color:var(--muted);font-size:var(--fs-14);border-bottom:1px solid var(--line)}.sq{border-radius:var(--r-day);width:12px;height:12px;box-shadow:inset 0 0 0 1px var(--line);display:block}.vacation{background:var(--accent);color:var(--on-accent);box-shadow:none}.holiday{background:var(--day-holiday);color:var(--accent);box-shadow:none;font-weight:700}.weekend{background:var(--day-weekend);box-shadow:none}.legend{gap:var(--s-1) var(--s-4);font-size:var(--fs-14);color:var(--muted);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.legend li{align-items:center;gap:var(--s-2);display:inline-flex}.calendar{gap:var(--s-6) var(--s-5);grid-template-columns:repeat(4,1fr);display:grid}.month h3{font:500 var(--fs-14) var(--font-body);letter-spacing:0;text-transform:capitalize;margin-bottom:var(--s-2)}.days{text-align:center;font-variant-numeric:tabular-nums;grid-template-columns:repeat(7,1fr);gap:2px;font-size:.6875rem;display:grid}.days .wd{color:var(--muted);padding-bottom:2px;font-size:.625rem}.day{aspect-ratio:1;border-radius:var(--r-day);place-items:center;display:grid}.day.weekend{color:var(--muted)}.day.past{opacity:.4}.day.today{box-shadow:inset 0 0 0 1.5px var(--text)}.day[title]{cursor:help}.actions{gap:0 var(--s-6);margin-top:var(--s-6);flex-wrap:wrap;display:flex}.action-status{font-size:var(--fs-14);color:var(--muted);align-self:center}.holidays-details{margin-top:var(--s-6)}.holidays-details summary{cursor:pointer;min-height:var(--tap);font-size:var(--fs-14);color:var(--muted);transition:color var(--dur);align-items:center;font-weight:500;display:inline-flex}.holidays-details summary:hover{color:var(--accent)}.holiday-list{margin:var(--s-2) 0 0;border-top:1px solid var(--line);font-size:var(--fs-14);padding:0;list-style:none}.holiday-list li{gap:0 var(--s-4);padding:var(--s-3) 0;border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.holiday-list time{color:var(--muted);font-variant-numeric:tabular-nums;flex:0 0 8.5em}.holiday-list span{flex:12em}.holiday-list small{color:var(--muted);font-size:var(--fs-14)}.holiday-list .past{opacity:.5}.empty-state{margin-top:var(--s-5);color:var(--muted)}.donate{margin-top:var(--s-8);font-size:var(--fs-16);color:var(--muted)}.site-footer{margin-top:var(--s-8);padding-top:var(--s-5);padding-bottom:var(--s-7);border-top:1px solid var(--line);font-size:var(--fs-14);color:var(--muted)}.footer-links{flex-wrap:wrap;align-items:center;margin:0;padding:0;list-style:none;display:flex}.footer-links li+li:before{content:"·";padding:0 var(--s-2)}.footer-links a{min-height:var(--tap);align-items:center;display:inline-flex}.fine-print{margin-top:var(--s-1)}.prose{padding-top:var(--s-8);max-width:60ch}.prose h1{font-size:clamp(2rem, 4vw + 1rem, var(--fs-56));margin-bottom:var(--s-5);line-height:1.05}.prose h2{font-size:var(--fs-20);margin:var(--s-6) 0 var(--s-2)}.prose p+p{margin-top:var(--s-3)}@media (width<=719px){.calendar{grid-template-columns:repeat(3,1fr)}}@media (width<=479px){.calendar{gap:var(--s-5) var(--s-4);grid-template-columns:repeat(2,1fr)}.header-links .bica-link{display:none}.controls{gap:var(--s-2)}.select,.select select{width:100%}.controls>.toggle,.controls>.opt,.controls>.field-date{flex-basis:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
