@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-full-normal-7BpKI3vF.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-full-normal-YHFkNujK.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-full-normal-CFFu7zhK.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#d9f5e5;--surface:#fff;--ink:#0b2a1e;--ink-soft:#4a6357;--line:#d4e4da;--green:#15803d;--green-soft:#d9f5e5;--on-green:#fff;--danger:#b42318;--danger-soft:#fdecea;--fill:var(--green);--on-fill:var(--on-green);--logo-today:var(--green);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#0a2316;--surface:#12331f;--ink:#e9f7ef;--ink-soft:#9fbcad;--line:#23513a;--green:#3ddc84;--green-soft:#1a4a30;--on-green:#04140b;--danger:#ff8a80;--danger-soft:#35140f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0a2316;--surface:#12331f;--ink:#e9f7ef;--ink-soft:#9fbcad;--line:#23513a;--green:#3ddc84;--green-soft:#1a4a30;--on-green:#04140b;--danger:#ff8a80;--danger-soft:#35140f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root.yellow-day{--bg:#fff4cf;--surface:#fff;--ink:#2b2206;--ink-soft:#6e5c2a;--line:#efe0b0;--green:#b45309;--green-soft:#fff4cf;--on-green:#fff;--fill:#ffc93c;--on-fill:#2b2206}:root.yellow-day[data-theme=dark]{--bg:#231c07;--surface:#372c0c;--ink:#fbf4de;--ink-soft:#cdbd8f;--line:#5a4816;--green:#ffc93c;--green-soft:#4a3b0f;--on-green:#231c07;--fill:#ffc93c;--on-fill:#231c07;--logo-today:#f59e0b}@media (prefers-color-scheme:dark){:root.yellow-day:not([data-theme=light]){--bg:#231c07;--surface:#372c0c;--ink:#fbf4de;--ink-soft:#cdbd8f;--line:#5a4816;--green:#ffc93c;--green-soft:#4a3b0f;--on-green:#231c07;--fill:#ffc93c;--on-fill:#231c07;--logo-today:#f59e0b}}:root.red-day{--bg:#fdecea;--surface:#fff;--ink:#2c0e0a;--ink-soft:#6f4b46;--line:#f0d4cf;--green:#b42318;--green-soft:#fdecea;--on-green:#fff}:root.red-day[data-theme=dark]{--bg:#240b08;--surface:#3a1611;--ink:#fbeeec;--ink-soft:#c9a39d;--line:#5a261e;--green:#ff8a80;--green-soft:#4d1c15;--on-green:#1a0503}@media (prefers-color-scheme:dark){:root.red-day:not([data-theme=light]){--bg:#240b08;--surface:#3a1611;--ink:#fbeeec;--ink-soft:#c9a39d;--line:#5a261e;--green:#ff8a80;--green-soft:#4d1c15;--on-green:#1a0503}}:root[data-theme=halloween]{--bg:#000;--surface:#110a04;--ink:#fff1e0;--ink-soft:#b89c80;--line:#3a2412;--green:#ff8a1f;--green-soft:#2e1705;--on-green:#000;--danger:#ff5c4d;--danger-soft:#2b0b07;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root.yellow-day[data-theme=halloween]{--bg:#000;--surface:#120f03;--ink:#fff8e0;--ink-soft:#c7b98a;--line:#3d3310;--green:#ffc93c;--green-soft:#2e2606;--on-green:#000;--fill:#ffc93c;--on-fill:#000}:root.red-day[data-theme=halloween]{--bg:#000;--surface:#150605;--ink:#ffece9;--ink-soft:#c59a94;--line:#401611;--green:#ff4538;--green-soft:#300b07;--on-green:#000}:root{--font-display:"Fraunces Variable", Georgia, serif;--font-body:"Inter Variable", system-ui, sans-serif;--display-axes:"SOFT" 100, "WONK" 1}body{font-family:var(--font-body);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0}h1,h2,.theme-picker legend,.guide tbody th,.today-amount,.money-input>span,.money-input input,.daily strong,.intro-card .example,.month-summary-row strong,.guide td.example-cell,.stamp{font-family:var(--font-display);font-variation-settings:var(--display-axes)}.money-input>span,.money-input input,.daily strong,.intro-card .example,.month-summary-row strong,.guide td.example-cell{letter-spacing:.03em}.today-hero h1{font-family:var(--font-body);font-variation-settings:normal}main{min-height:100dvh;padding:calc(24px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left));box-sizing:border-box;place-items:center;display:grid}.page{box-sizing:border-box;gap:18px;width:100%;max-width:420px;display:grid}.group{border:1px solid var(--line);background:var(--surface);border-radius:18px;padding:16px}.eyebrow{color:var(--green);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.8rem;font-weight:700}h1{margin:-10px 0 0;font-size:1.5rem;line-height:1.2}.field{color:var(--ink-soft);gap:6px;font-size:.9rem;display:grid}input{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);box-sizing:border-box;border-radius:12px;width:100%;padding:12px 14px;font-size:1rem}input:focus-visible{outline:2px solid var(--green);outline-offset:1px}.money-input{position:relative}.amount-row{grid-template-columns:1fr auto;align-items:center;gap:4px;display:grid}.amount-row .when-toggle{margin-right:-12px}.amount-row .when-toggle[aria-expanded=true]{color:var(--green);background:color-mix(in srgb, var(--green) 14%, transparent)}.money-input>span{color:var(--ink-soft);font-size:1.25rem;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.money-input input{font-variant-numeric:tabular-nums;padding-left:32px;font-size:1.5rem;font-weight:600}.daily{border:1px solid var(--line);background:var(--surface);border-radius:12px;margin:0;padding:12px 14px}.daily strong{color:var(--green)}button{font:inherit;background:var(--fill);color:var(--on-fill);cursor:pointer;border:0;border-radius:999px;padding:14px;font-weight:700}button:disabled{opacity:.6;cursor:default}.status{min-height:1.3em;color:var(--green);margin:-6px 0 0;font-size:.9rem}.status.error,.warning{color:var(--danger)}.warning{margin:0;font-size:.85rem}button.link{color:var(--green);background:0 0;padding:8px 12px;font-weight:600}button.link:hover{text-decoration:underline}button.secondary{color:var(--green);box-shadow:inset 0 0 0 1.5px var(--green);background:0 0}.screen{justify-items:center;gap:8px;width:100%;max-width:420px;display:grid}main.has-top-bar{grid-template-rows:auto 1fr;padding-top:0}.top-bar{z-index:1;margin:0 calc(-16px - env(safe-area-inset-right)) 16px calc(-16px - env(safe-area-inset-left));padding:calc(4px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) 4px calc(16px + env(safe-area-inset-left));background:var(--bg);border-bottom:1px solid color-mix(in srgb, var(--green) 18%, transparent);justify-content:center;justify-self:stretch;display:flex;position:sticky;top:0}.top-bar-inner{grid-template-columns:auto 1fr auto;align-items:center;width:100%;max-width:420px;display:grid}.top-bar:has(+.view .guide) .top-bar-inner{max-width:760px}.brand{color:var(--ink);grid-column:2;justify-self:start;align-items:center;gap:8px;margin:0;font-size:1.4rem;display:flex;position:relative}.brand-mark{width:30px;height:30px}.brand-name{flex:none;width:3.064em;height:1.233em}.brand-label,.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.brand-page-back{fill:#ff7a59}.brand-page-mid{fill:#ffc93c}.brand-tile{fill:var(--logo-today)}.brand-tab{fill:var(--ink)}.brand-p{fill:#fff}.brand-p-shadow{fill:#0b2a1e}button.icon-button{width:48px;height:48px;color:var(--ink-soft);background:0 0;border-radius:50%;place-items:center;padding:0;display:grid}button.icon-button:hover,button.icon-button:active{background:color-mix(in srgb, var(--green) 14%, transparent);color:var(--green)}button.icon-button:focus-visible{outline:2px solid var(--green);outline-offset:-2px}button.icon-button svg{width:24px;height:24px}.top-bar .back{grid-column:1;justify-self:start;margin-left:-12px}.top-bar .gear{grid-column:3;justify-self:end;margin-right:-12px}.today{text-align:center;justify-items:center;gap:20px;width:100%;display:grid}.today-hero{justify-items:center;gap:4px;padding:0 12px;display:grid}.today-hero h1{color:var(--ink-soft);margin:0;font-size:1rem;font-weight:600}.today-amount{overflow-wrap:anywhere;max-width:100%;color:var(--green);letter-spacing:.02em;margin:0;font-size:clamp(3.5rem,19vw,5.5rem);font-weight:800;line-height:1}.today-cents{vertical-align:.9em;font-size:.45em}.today-spent{color:var(--ink-soft);font-variant-numeric:tabular-nums;margin:0;font-size:.9rem}.today-amount+.today-spent{margin-top:10px}.today-hero.over .today-amount{color:var(--danger)}:root.yellow-day .today-hero.over .today-amount{color:var(--green)}.day-note{color:var(--ink-soft);text-align:center;text-wrap:balance;margin:-8px 0 0;line-height:1.45}.day-note strong{color:var(--ink);display:block}.today-action{bottom:calc(12px + env(safe-area-inset-bottom));justify-self:stretch;justify-items:center;gap:10px;margin-top:12px;display:grid;position:sticky}button.add-expense{min-height:64px;box-shadow:0 14px 28px -12px color-mix(in srgb, var(--fill) 75%, transparent);justify-content:center;justify-self:stretch;align-items:center;gap:10px;font-size:1.2rem;transition:transform .12s,filter .12s;display:flex}button.add-expense:hover{filter:brightness(1.08)}button.add-expense:active{transform:scale(.98)}button.add-expense:focus-visible{outline:3px solid var(--green);outline-offset:3px}button.add-expense svg{flex:none;width:24px;height:24px}.notice{border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);border-radius:999px;flex-wrap:wrap;justify-content:center;align-items:center;margin:0;padding:4px 16px;font-size:.9rem;display:flex;box-shadow:0 6px 16px -10px #0b2a1e66}.notice button.link{margin-right:-8px;padding:4px 8px}.intro{padding:calc(56px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left));box-sizing:border-box;background:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:18px;transition:--pos .28s ease-out;display:flex;position:fixed;inset:0;overflow:hidden}@property --pos{syntax:"<number>";inherits:true;initial-value:0}.skip{top:calc(10px + env(safe-area-inset-top));right:calc(10px + env(safe-area-inset-right));position:absolute}.deck{width:min(100%,360px);height:clamp(360px,58dvh,440px);margin-bottom:24px;position:relative}.intro-card{box-sizing:border-box;background:var(--surface);border:1px solid var(--line);transform-origin:50% 90%;touch-action:pan-y;-webkit-user-select:none;user-select:none;cursor:grab;border-radius:24px;flex-direction:column;justify-content:center;gap:14px;padding:28px 24px;transition:transform .28s cubic-bezier(.2,.8,.3,1);display:flex;position:absolute;inset:0;box-shadow:0 14px 34px #0b2a1e1f}.intro-card:active{cursor:grabbing}.intro-card h2{margin:0;font-size:1.6rem;line-height:1.15}.intro-card p{color:var(--ink-soft);margin:0;font-size:1.05rem;line-height:1.5}.intro-card .example{background:var(--green-soft);color:var(--green);font-variant-numeric:tabular-nums;border-radius:999px;align-self:flex-start;padding:8px 12px;font-size:.95rem;font-weight:700}.intro-emoji{background:var(--green-soft);border-radius:22px;place-items:center;width:72px;height:72px;font-size:2.4rem;display:grid}.stamp{border:3px solid var(--green);color:var(--green);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;pointer-events:none;border-radius:8px;padding:4px 10px;font-weight:800;position:absolute;top:24px}.stamp.left{left:20px;rotate:-14deg}.stamp.right{right:20px;rotate:14deg}.intro-card.rewound{animation:.3s ease-out rewind}@keyframes rewind{0%{transform:translate(calc(-50vw - 100%))rotate(-24deg)}}.hint{max-width:360px;min-height:1.4em;color:var(--ink-soft);text-align:center;margin:0;font-size:.9rem}.dots{gap:8px;display:flex}.dots span{background:var(--line);border-radius:999px;width:8px;height:8px;transition:width .2s}.dots span.on{background:var(--fill);width:22px}.intro-actions{align-items:center;gap:16px;width:min(100%,360px);display:flex}.intro-actions .got-it{flex:1}button.round{background:var(--surface);width:52px;height:52px;color:var(--green);box-shadow:inset 0 0 0 1.5px var(--line);border-radius:50%;flex:none;padding:0;font-size:1.4rem}@media (prefers-reduced-motion:reduce){.intro-card,.dots span{transition:none}.intro-card.rewound{animation:none}button.add-expense{transition:none}}.page.guide{max-width:760px}.guide .group{padding:4px 16px}.guide tbody tr:last-child th,.guide tbody tr:last-child td{border-bottom:0}.guide table{border-collapse:collapse;width:100%;font-size:.95rem}.guide th,.guide td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:12px 10px;line-height:1.45}.guide thead th{color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase;font-size:.75rem}.guide tbody th{width:28%}.guide td{color:var(--ink-soft)}.guide td.example-cell{width:28%;color:var(--green);font-variant-numeric:tabular-nums;font-weight:600}.guide-actions{flex-wrap:wrap;gap:12px;display:flex}.guide-actions button{flex:180px}@media (width<=600px){.guide thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.guide table,.guide tbody,.guide tr,.guide th,.guide td{width:auto;display:block}.guide tr{border-bottom:1px solid var(--line);padding:14px 0}.guide tbody tr:last-child{border-bottom:0}.guide th,.guide td{border:0;padding:2px 0}.guide tbody th{width:auto;margin-bottom:4px}.guide td.example-cell{width:auto;margin-top:6px}}.settings h1{margin-top:0}.settings-section{gap:10px;display:grid}.settings-section h2{margin:0;font-size:1rem}.month-summary{color:var(--ink-soft);gap:8px;font-size:.9rem;display:grid}.month-summary-row{justify-content:space-between;gap:8px;display:flex}.month-summary-row strong{color:var(--ink);font-variant-numeric:tabular-nums}.month-summary-row.over strong{color:var(--danger)}.month-progress{background:var(--line);border-radius:999px;height:8px;overflow:hidden}.month-progress span{border-radius:inherit;background:var(--fill);height:100%;display:block}.month-days{margin:0;font-size:.85rem}button.settings-link{border:1px solid var(--line);background:var(--surface);color:var(--ink);text-align:left;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:14px;font-weight:600;display:flex}button.settings-link:hover{background:var(--green-soft)}button.settings-link:focus-visible{outline:2px solid var(--green);outline-offset:2px}button.settings-link svg{width:20px;height:20px;color:var(--ink-soft);flex:none}button.settings-link.theme-link{justify-content:flex-start;gap:14px;padding:12px 14px;font-weight:400}.theme-link .theme-option-text{flex:1}.theme-picker{border:0;gap:10px;margin:0;padding:0;display:grid}.theme-picker legend{margin-bottom:10px;padding:0;font-weight:700}.theme-option{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:14px;align-items:center;gap:14px;padding:12px 14px;display:flex}.theme-option:has(input:checked){border-color:var(--green);background:var(--green-soft);box-shadow:inset 0 0 0 1px var(--green)}.theme-option input{width:20px;height:20px;accent-color:var(--green);flex:none;margin:0;padding:0}.theme-swatch{border-radius:12px;flex:none;width:44px;height:44px;box-shadow:inset 0 0 0 1px #80808059}.theme-swatch.light{background:linear-gradient(135deg,#d9f5e5 50%,#15803d 50%)}.theme-swatch.dark{background:linear-gradient(135deg,#0a2316 50%,#3ddc84 50%)}.theme-swatch.system{background:linear-gradient(90deg,#d9f5e5 50%,#0a2316 50%)}.theme-swatch.halloween{background:linear-gradient(135deg,#000 50%,#ff8a1f 50%)}.theme-lock{color:var(--ink-soft);margin-left:auto;display:grid}.theme-lock svg{width:20px;height:20px}.theme-trial{background:var(--green-soft);border-radius:14px;margin:0;padding:12px 14px;font-size:.9rem;line-height:1.45}.promo-code{gap:6px;display:grid}.promo-code label{font-weight:700}.promo-code-row{grid-template-columns:1fr auto;gap:8px;display:grid}.promo-code-row input{text-transform:uppercase;letter-spacing:.04em}.promo-code-row input::placeholder{text-transform:none;letter-spacing:normal}.promo-code-row button{padding:12px 20px}.promo-code .status{margin:0}.theme-trial.dev-unlock{background:0 0;border:2px dashed}.theme-option-text{gap:2px;display:grid}.theme-option-text small{color:var(--ink-soft);font-size:.85rem}:root{--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1)}.view{width:100%;animation:view-in .38s var(--ease-out) backwards;place-items:center;display:grid}.view.back{animation-name:view-in-back}@keyframes view-in{0%{opacity:0;transform:translate(36px)}}@keyframes view-in-back{0%{opacity:0;transform:translate(-36px)}}.page>*,.today>*,.today-action{animation:rise .46s var(--ease-out) backwards}.page>:nth-child(2),.today>:nth-child(2){animation-delay:50ms}.page>:nth-child(3),.today>:nth-child(3){animation-delay:.1s}.page>:nth-child(4),.today>:nth-child(4){animation-delay:.15s}.page>:nth-child(5){animation-delay:.2s}.page>:nth-child(6){animation-delay:.25s}.page>:nth-child(n+7){animation-delay:.3s}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}.today-amount{animation:pop .56s var(--ease-spring) 60ms backwards}.today-action{animation-delay:.16s}@keyframes pop{0%{opacity:0;transform:scale(.82)}}.notice{animation:pop .42s var(--ease-spring) backwards}.month-progress span{transform-origin:0;animation:fill .8s var(--ease-out) .25s backwards}@keyframes fill{0%{transform:scaleX(0)}}.theme-option:has(input:checked) .theme-swatch{animation:pop .42s var(--ease-spring)}button{transition:transform .14s var(--ease-out), background-color .5s, color .5s, box-shadow .5s}button:active:not(:disabled){transform:scale(.97)}.top-bar .gear svg{transition:transform .5s var(--ease-spring)}.top-bar .gear:hover svg,.top-bar .gear:focus-visible svg{transform:rotate(60deg)}body,.top-bar,.group,.theme-option,button.settings-link,.today-amount,.eyebrow{transition:background-color .5s,border-color .5s,color .5s}.brand-tile{transition:fill .5s}.halloween-backdrop{z-index:-1;pointer-events:none;display:none;position:fixed;inset:0;overflow:hidden}:root[data-theme=halloween] .halloween-backdrop{display:block}.halloween-backdrop svg{width:100%;height:auto;display:block}.ghost{opacity:0;animation:34s linear infinite ghost-rise;position:absolute;top:100%}.ghost svg{animation:4.5s ease-in-out infinite alternate ghost-sway}.ghost-1{width:34px;animation-delay:-8s;left:8%}.ghost-2{width:26px;animation-duration:42s;animation-delay:-27s;left:80%}.ghost-2 svg{animation-duration:5.5s}.ghost-3{width:30px;animation-duration:38s;animation-delay:-19s;left:46%}@keyframes ghost-rise{0%{opacity:0;transform:translateY(0)}10%,85%{opacity:.13}to{opacity:0;transform:translateY(calc(-100dvh - 120px))}}@keyframes ghost-sway{0%{transform:translate(-14px)rotate(-6deg)}to{transform:translate(14px)rotate(6deg)}}.bat{opacity:0;width:30px;animation:28s linear 3s infinite bat-fly;position:absolute;top:16%;left:0}.bat svg{transform-origin:50% 40%;animation:.22s ease-in-out infinite alternate bat-flap}.bat-2{width:22px;animation-duration:33s;animation-direction:reverse;animation-delay:-12s;top:34%}@keyframes bat-fly{0%{opacity:.22;transform:translate(-60px)}11%{transform:translate(33vw,24px)}22%{transform:translate(66vw,-18px)}33%{opacity:.22;transform:translate(calc(100vw + 60px),10px)}33.01%,to{opacity:0;transform:translate(calc(100vw + 60px),10px)}}@keyframes bat-flap{to{transform:scaleY(.35)}}.skeleton{opacity:.15;transform-origin:0 100%;width:40px;animation:26s ease-in-out 8s infinite skeleton-peek;position:absolute;top:36%;left:0;transform:translate(-110%)}.skeleton-wave{transform-origin:29px 28px;animation:.6s ease-in-out infinite alternate skeleton-wave}@keyframes skeleton-peek{0%,62%{transform:translate(-110%)}68%,88%{transform:translate(-28%)rotate(8deg)}94%,to{transform:translate(-110%)}}@keyframes skeleton-wave{0%{transform:rotate(-22deg)}to{transform:rotate(14deg)}}.pumpkin{bottom:calc(-12px + env(safe-area-inset-bottom));opacity:.26;position:absolute}.pumpkin-1{width:64px;left:10px}.pumpkin-2{width:46px;right:16px;bottom:calc(-8px + env(safe-area-inset-bottom))}.pumpkin-face{animation:3.4s linear infinite flicker}.pumpkin-2 .pumpkin-face{animation-duration:4.1s;animation-delay:-1.3s}@keyframes flicker{0%,to{opacity:1}18%{opacity:.7}22%{opacity:.95}48%{opacity:.78}70%{opacity:1}73%{opacity:.72}}@media (prefers-reduced-motion:reduce){.halloween-backdrop .spooky{display:none}*,:before,:after{transition:none!important;animation:none!important}}
