@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/fraunces-latin-600-normal.BFCDtZfi.woff2) format("woff2"),url(/_astro/fraunces-latin-600-normal.DL5QCzvS.woff) format("woff")}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/fraunces-latin-700-normal.CEOla-zY.woff2) format("woff2"),url(/_astro/fraunces-latin-700-normal.DTjk5d1Q.woff) format("woff")}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/public-sans-latin-400-normal.8Rpg0ruU.woff2) format("woff2"),url(/_astro/public-sans-latin-400-normal.SBbinRkI.woff) format("woff")}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/public-sans-latin-600-normal.Fru-LXNs.woff2) format("woff2"),url(/_astro/public-sans-latin-600-normal.BR59oU-I.woff) format("woff")}:root{--paper: #faf7f2;--paper-2: #f3eee4;--card: #fffdf9;--ink: #101826;--ink-2: #5b6474;--hairline-c: rgba(16, 24, 38, .14);--green: #0e7c4a;--green-dark: #0a5c37;--green-tint: #e4f1e9;--gold: #f0b429;--gold-deep: #c78f1a;--gold-ink: #7d5a10;--gold-tint: #fbf0d7;--radius: 16px;--radius-sm: 10px;--shadow: 0 1px 2px rgba(16, 24, 38, .05), 0 10px 28px -14px rgba(16, 24, 38, .2);--hairline: 1px solid var(--hairline-c);--font-display: "Fraunces", "Iowan Old Style", Georgia, serif;--font-body: "Public Sans", "Segoe UI", system-ui, sans-serif;--measure: 68ch;--gutter: clamp(1rem, 4vw, 2rem)}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}img,svg,canvas{display:block;max-width:100%}input,button,select{font:inherit;color:inherit}[hidden]{display:none!important}body{font-family:var(--font-body);font-size:1.0625rem;line-height:1.65;color:var(--ink);background-color:var(--paper);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E")}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.15;letter-spacing:-.01em;text-wrap:balance}h1{font-size:clamp(2rem,5.5vw,3.1rem)}h2{font-size:clamp(1.45rem,3.5vw,1.9rem)}h3{font-size:1.2rem}p,li{max-width:var(--measure)}a{color:var(--green);text-decoration-thickness:1px;text-underline-offset:2px}a:hover{color:var(--green-dark)}strong{font-weight:600}code{background:var(--paper-2);padding:.1em .35em;border-radius:6px;font-size:.92em}.skip-link{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--paper);padding:.6rem 1rem;border-radius:0 0 var(--radius-sm) 0;z-index:100}.skip-link:focus{left:0}.wrap{max-width:72rem;margin-inline:auto;padding-inline:var(--gutter)}.prose{max-width:var(--measure)}.prose h2{margin:2.2em 0 .6em;padding-top:.6em;border-top:var(--hairline)}.prose h3{margin:1.6em 0 .5em}.prose p,.prose ul,.prose ol{margin-block:.9em}.prose table{border-collapse:collapse;width:100%;margin-block:1.2em;font-size:.95rem}.prose th,.prose td{border-bottom:var(--hairline);padding:.55rem .7rem;text-align:left;vertical-align:top}.prose th{font-family:var(--font-display);font-weight:600;background:var(--paper-2)}.site-header{border-bottom:3px double var(--hairline-c);background:color-mix(in srgb,var(--card) 82%,transparent);backdrop-filter:blur(6px);position:sticky;top:0;z-index:50}.site-header .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.2rem 1rem;min-height:3.6rem;padding-block:.4rem}.wordmark{font-family:var(--font-display);font-weight:700;font-size:1.35rem;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:.45rem}.wordmark .coin{width:1.5rem;height:1.5rem;flex:none}.wordmark em{font-style:normal;color:var(--green)}.site-nav{display:flex;gap:clamp(.7rem,2.5vw,1.4rem);font-size:.95rem;font-weight:600}.site-nav a{color:var(--ink-2);text-decoration:none;padding:.25rem 0;border-bottom:2px solid transparent}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--ink);border-bottom-color:var(--gold)}.site-footer{margin-top:4rem;border-top:3px double var(--hairline-c);background:var(--paper-2);font-size:.9rem;color:var(--ink-2)}.site-footer .wrap{padding-block:2rem;display:grid;gap:1.2rem}.site-footer nav{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem}.site-footer a{color:var(--ink-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1.25rem;border-radius:999px;border:1px solid transparent;font-weight:600;font-size:.98rem;cursor:pointer;text-decoration:none;transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease}.btn:active{transform:translateY(1px)}.btn-primary{background:linear-gradient(180deg,#12915a,var(--green));color:#fff;box-shadow:inset 0 1px #ffffff40,0 6px 16px -8px #0e7c4ab3}.btn-primary:hover{background:linear-gradient(180deg,var(--green),var(--green-dark))}.btn-ghost{background:var(--card);border-color:var(--hairline-c);color:var(--ink)}.btn-ghost:hover{border-color:var(--ink-2)}.card{background:var(--card);border:var(--hairline);border-radius:var(--radius);box-shadow:var(--shadow)}.ledger{list-style:none;padding:0;font-variant-numeric:tabular-nums}.ledger li{display:flex;align-items:baseline;gap:.6rem;padding-block:.55rem;max-width:none}.ledger li+li{border-top:var(--hairline)}.ledger .label{color:var(--ink-2)}.ledger .dots{flex:1;border-bottom:2px dotted var(--hairline-c);transform:translateY(-4px)}.ledger .value{font-family:var(--font-display);font-weight:600;font-size:1.15rem}.stamp{display:inline-block;font-family:var(--font-display);font-weight:700;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-ink);border:2px solid var(--gold-deep);border-radius:6px;padding:.15rem .5rem;transform:rotate(-2deg);background:var(--gold-tint)}.cal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15.5rem,1fr));gap:1rem}.cal-month{padding:1rem;position:relative;background:var(--card);border:var(--hairline);border-radius:var(--radius)}.cal-month h3{font-size:1.05rem;margin-bottom:.6rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.cal-month.is-extra{background:linear-gradient(160deg,#f0b42929,#f0b4290a 55%),var(--card);border:2px solid var(--gold);box-shadow:0 12px 28px -14px #c78f1a8c}.cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;font-size:.78rem;text-align:center;font-variant-numeric:tabular-nums}.cal-days .dow{color:var(--ink-2);font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding-block:.15rem}.cal-days span{padding-block:.22rem;border-radius:50%;color:var(--ink-2)}.cal-days .payday-dot{background:radial-gradient(circle at 30% 28%,#17a566,var(--green) 70%);color:#fff;font-weight:700;box-shadow:inset 0 0 0 1.5px #ffffff59,0 2px 5px -1px #0a5c3799}.cal-days .payday-dot.shifted{outline:2px dashed var(--gold-deep);outline-offset:1px}.cal-count{font-size:.8rem;color:var(--ink-2);margin-top:.55rem}.cal-month.is-extra .cal-count{color:var(--gold-ink);font-weight:600}@media(prefers-reduced-motion:no-preference){.reveal{animation:rise .55s cubic-bezier(.2,.7,.2,1) both}.reveal:nth-child(2){animation-delay:.07s}.reveal:nth-child(3){animation-delay:.14s}.reveal:nth-child(4){animation-delay:.21s}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}}.faq details{border:var(--hairline);border-radius:var(--radius-sm);background:var(--card);padding:.8rem 1rem;margin-block:.6rem}.faq summary{font-weight:600;cursor:pointer;list-style-position:outside}.faq details[open] summary{color:var(--green-dark);margin-bottom:.4rem}.tool{padding:clamp(1.2rem,3.5vw,2rem)}.tool-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1rem}.field label{display:block;font-size:.78rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-2);margin-bottom:.35rem}.field input,.field select{width:100%;padding:.65rem .8rem;border:1.5px solid var(--hairline-c);border-radius:var(--radius-sm);background:var(--card);transition:border-color .12s ease}.field input:focus,.field select:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px var(--green-tint)}.tool-hint{margin-top:1rem;color:var(--ink-2)}#results{margin-top:1.4rem}.extra-banner{font-family:var(--font-display);font-weight:600;font-size:clamp(1.2rem,3vw,1.6rem);line-height:1.3;max-width:none;padding:1rem 1.2rem;background:linear-gradient(120deg,var(--green-tint),transparent 70%);border-left:4px solid var(--green);border-radius:var(--radius-sm)}.extra-banner strong{color:var(--green-dark)}.shift-note{max-width:none;margin-top:.7rem;font-size:.95rem;padding:.6rem .9rem;background:var(--gold-tint);border-left:4px solid var(--gold);border-radius:var(--radius-sm)}.shift-note:empty{display:none}.year-tabs{display:flex;gap:.5rem;margin-bottom:1rem}.year-tab{padding:.4rem 1.1rem;border-radius:999px;border:1.5px solid var(--hairline-c);background:var(--card);font-weight:600;cursor:pointer;font-variant-numeric:tabular-nums}.year-tab.is-active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.tool .ledger{margin-block:1.2rem}.tool-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-bottom:1.6rem}@media print{.site-header,.site-footer,.no-print,.adsense-slot{display:none!important}body{background:#fff;font-size:10pt}.cal-grid{grid-template-columns:repeat(3,1fr);gap:.5rem}.cal-month{break-inside:avoid;border:1px solid #999;box-shadow:none}.cal-month.is-extra{border:2px solid #000}.cal-days .payday-dot{background:#000!important;color:#fff!important;box-shadow:none}}
