.animate-hover-sway{animation:hover-sway 3s ease-in-out infinite}@keyframes hover-sway{0%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-15px) rotate(4deg)}to{transform:translateY(0) rotate(-4deg)}}.surface{--ledger-ink:44,40,34;--ledger-tint:15,107,80;--ledger-strength:1;--weather-strength:1;--surface-radius:22px}.dark .surface{--ledger-ink:236,228,212;--ledger-tint:94,214,170;--ledger-strength:0.5;--weather-strength:0.5}.surface-backdrop{position:sticky;top:0;z-index:0;height:100dvh;margin-bottom:-100dvh;overflow:hidden;pointer-events:none;background-image:repeating-linear-gradient(0deg,hsl(var(--foreground)/.022) 0 1px,transparent 1px 4px),repeating-linear-gradient(90deg,hsl(var(--foreground)/.014) 0 1px,transparent 1px 5px);box-shadow:inset 0 0 160px hsl(var(--foreground)/.06)}@media (min-width:1024px){.surface-backdrop{position:fixed;inset:0;height:auto;margin-bottom:0}}.surface-backdrop-canvas{display:block;width:100%;height:100%}.surface-content{text-shadow:0 0 2px hsl(var(--background)),0 0 6px hsl(var(--background)),0 0 12px hsl(var(--background))}.surface-content .surface-sheet{text-shadow:none}.surface-sticky-header{--sticky-fade:16px;position:sticky;top:0;z-index:30;isolation:isolate}.surface-sticky-header:before{content:"";position:absolute;inset:0 0 -20px;z-index:-1;pointer-events:none;background:hsl(var(--background)/.97);opacity:0;transition:opacity .2s ease;-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 20px),transparent),linear-gradient(to right,transparent,#000 var(--sticky-fade),#000 calc(100% - var(--sticky-fade)),transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to bottom,#000 calc(100% - 20px),transparent),linear-gradient(to right,transparent,#000 var(--sticky-fade),#000 calc(100% - var(--sticky-fade)),transparent);-webkit-mask-composite:source-in,xor;mask-composite:intersect}.surface-sticky-header[data-scrolled=true]:before{opacity:1}@media (min-width:768px){.surface-sticky-header{--sticky-fade:32px}}.weather-layer{position:absolute;inset:0;transition:opacity 1.2s ease}.weather-layer-leaving{opacity:0}.surface-sheet{position:relative;min-width:0;border:1px solid hsl(var(--border)/.85);border-radius:var(--surface-radius,22px);background:hsl(var(--card)/.88);box-shadow:var(--shadow-card)}.surface-sheet-pad{padding:20px}@media (min-width:768px){.surface-sheet-pad{padding:24px 26px}}.rows-container{container:rows/inline-size}.field-amount{position:relative;display:flex;align-items:baseline;gap:.15em;padding-bottom:6px}.field-amount:after,.field-amount:before{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;pointer-events:none}.field-amount:before{background:hsl(var(--border-strong)/.7)}.field-amount:after{height:2px;background:hsl(var(--field-focus));transform:scaleX(0);transform-origin:left center;transition:transform .35s cubic-bezier(.22,1,.36,1)}.field-amount:focus-within:after{transform:scaleX(1)}.field-amount[data-invalid=true]:after,.field-amount[data-invalid=true]:before{background:hsl(var(--error))}.field-amount-currency{font-size:clamp(1.25rem,4vw,1.6rem);font-weight:500;color:hsl(var(--text-muted))}.field-amount-input{width:100%;min-width:0;border:0;background:transparent;padding:0;font-family:inherit;font-size:clamp(2.1rem,7vw,2.75rem);font-weight:560;line-height:1.1;letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:hsl(var(--foreground));outline:none}.field-amount-input::-moz-placeholder{color:hsl(var(--field-placeholder)/.6)}.field-amount-input::placeholder{color:hsl(var(--field-placeholder)/.6)}@media (prefers-reduced-motion:reduce){.field-amount:after{transition:none}}.scratch-pad{--pad-line:1.85rem;--pad-text:1.35rem;--pad-baseline-em:0.33}.scratch-pad-content,.scratch-pad-placeholder{font-family:Caveat,Bradley Hand,Segoe Print,cursive;font-size:var(--pad-text);font-weight:500;line-height:var(--pad-line);overflow-wrap:anywhere}.scratch-pad-content{min-height:calc(var(--pad-line) * var(--pad-min-lines, 4));color:hsl(var(--foreground));background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--pad-line) - 1px),hsl(var(--foreground)/.08) calc(var(--pad-line) - 1px),hsl(var(--foreground)/.08) var(--pad-line));background-position:0 calc(var(--pad-baseline-em) * var(--pad-text) + 2px - var(--pad-line) / 2);background-attachment:local;caret-color:hsl(var(--foreground));outline:none}.scratch-pad-placeholder{position:absolute;inset:0 auto auto 0;pointer-events:none;color:hsl(var(--text-muted)/.7)}.scratch-pad-content blockquote,.scratch-pad-content h1,.scratch-pad-content h2,.scratch-pad-content ol,.scratch-pad-content p,.scratch-pad-content ul{margin:0}.scratch-pad-content h1{position:relative;top:calc(var(--pad-line) / 2 + var(--pad-baseline-em) * (var(--pad-text) - 2rem));font-size:2rem;font-weight:700;line-height:calc(var(--pad-line) * 2)}.scratch-pad-content h2{position:relative;top:calc(var(--pad-baseline-em) * (var(--pad-text) - 1.6rem));font-size:1.6rem;font-weight:700}.scratch-pad-content ol,.scratch-pad-content ul{padding-left:1.6rem}.scratch-pad-content ul{list-style:disc}.scratch-pad-content ol{list-style:decimal}.scratch-pad-content li::marker{color:hsl(var(--foreground)/.5)}.scratch-pad-content blockquote{padding-left:.9rem;border-left:2px solid hsl(var(--foreground)/.2);color:hsl(var(--text-muted))}.scratch-pad .scratch-pad-content blockquote,.scratch-pad .scratch-pad-content li,.scratch-pad .scratch-pad-content ol,.scratch-pad .scratch-pad-content ul{margin-top:0!important;margin-bottom:0!important}.scratch-pad .scratch-pad-content ol,.scratch-pad .scratch-pad-content ul{padding-left:1.6rem!important}.scratch-pad .scratch-pad-content blockquote{padding-left:.9rem!important;border-left:2px solid hsl(var(--foreground)/.2)!important;font-style:normal!important;opacity:1!important;color:hsl(var(--text-muted))!important}.scratch-pad-content strong{font-weight:700}.scratch-pad-content ::-moz-selection{background:hsl(var(--accent)/.2)}.scratch-pad-content ::selection{background:hsl(var(--accent)/.2)}:root{--progress-wave:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='8' viewBox='0 0 28 8'%3E%3Cpath d='M0 4C7 1 7 1 14 4s7 3 14 0' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E");--progress-wave-width:28px;--progress-height:8px;--progress-track:2px;--progress-dot:6px;--progress-duration:1.2s;--progress-ease:cubic-bezier(0.22,1,0.36,1)}.progress-line{position:relative;height:var(--progress-height)}.progress-line-track{position:absolute;inset-inline:0;top:50%;height:var(--progress-track);transform:translateY(-50%);border-radius:9999px;background:hsl(var(--foreground)/.1);transition:left var(--progress-duration) var(--progress-ease)}.progress-line-fill{position:absolute;inset-block:0;left:0;overflow:hidden;transition:width var(--progress-duration) var(--progress-ease)}.progress-line-wave{position:absolute;inset-block:0;left:0;width:calc(100% + 2 * var(--progress-wave-width));-webkit-mask:var(--progress-wave) repeat-x 0 50% /var(--progress-wave-width) var(--progress-height);mask:var(--progress-wave) repeat-x 0 50% /var(--progress-wave-width) var(--progress-height);animation:progress-wave var(--progress-duration) var(--progress-ease) 1 both}.progress-line-dot{position:absolute;top:50%;width:var(--progress-dot);height:var(--progress-dot);border-radius:9999px;transform:translate(-50%,-50%);transition:left var(--progress-duration) var(--progress-ease)}@keyframes progress-wave{0%{transform:translateX(calc(-2 * var(--progress-wave-width)))}to{transform:translateX(0)}}@media (prefers-reduced-motion:reduce){.progress-line-dot,.progress-line-fill,.progress-line-track{transition:none}.progress-line-wave{animation:none}}