:root{color-scheme:light;--color-background: #f7fbea;--color-surface: #fff;--color-text: #173c2b;--color-muted: #536b59;--color-border: #dce9d5;--color-border-strong: #829b80;--color-accent: #106641;--color-accent-hover: #08452d;--color-on-accent: #fff;--color-accent-soft: #edf8e3;--color-highlight: #64d434;--color-focus: #106641;--color-success: #106641;--color-warning: #9a5d19;--color-danger: #a63d3d;--color-danger-surface: #fff0ef;--shadow-card: 0 15px 40px rgb(8 69 45 / 6%);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}@media(prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--color-background: #101e16;--color-surface: #192b20;--color-text: #f1f8e9;--color-muted: #b1c6ac;--color-border: #304b37;--color-border-strong: #708e72;--color-accent: #8fdf65;--color-accent-hover: #b2ed92;--color-on-accent: #102b1c;--color-accent-soft: #243e28;--color-highlight: #64d434;--color-focus: #8fdf65;--color-success: #8fdf65;--color-warning: #e2b875;--color-danger: #ef9b98;--color-danger-surface: #3d2424;--shadow-card: 0 15px 40px rgb(0 0 0 / 24%)}}:root[data-theme=dark]{color-scheme:dark;--color-background: #101e16;--color-surface: #192b20;--color-text: #f1f8e9;--color-muted: #b1c6ac;--color-border: #304b37;--color-border-strong: #708e72;--color-accent: #8fdf65;--color-accent-hover: #b2ed92;--color-on-accent: #102b1c;--color-accent-soft: #243e28;--color-highlight: #64d434;--color-focus: #8fdf65;--color-success: #8fdf65;--color-warning: #e2b875;--color-danger: #ef9b98;--color-danger-surface: #3d2424;--shadow-card: 0 15px 40px rgb(0 0 0 / 24%)}*{box-sizing:border-box}::selection{background-color:var(--color-accent);color:var(--color-on-accent)}input,textarea{caret-color:var(--color-accent)}input::selection,textarea::selection{background-color:var(--color-accent);color:var(--color-on-accent)}html{min-width:320px;min-height:100%;background:var(--color-background);scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0;background:var(--color-background);color:var(--color-text);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}a{color:var(--color-accent)}.icon{display:inline-block;width:1.1rem;height:1.1rem;flex:0 0 auto;background-color:currentcolor;mask-position:center;mask-repeat:no-repeat;mask-size:contain;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain}.icon-arrow-left{mask-image:url(/assets/icons/arrow-left.svg);-webkit-mask-image:url(/assets/icons/arrow-left.svg)}.icon-arrow-right{mask-image:url(/assets/icons/arrow-right.svg);-webkit-mask-image:url(/assets/icons/arrow-right.svg)}.icon-plus{mask-image:url(/assets/icons/plus.svg);-webkit-mask-image:url(/assets/icons/plus.svg)}.icon-receipt{mask-image:url(/assets/icons/receipt.svg);-webkit-mask-image:url(/assets/icons/receipt.svg)}.icon-users{mask-image:url(/assets/icons/users.svg);-webkit-mask-image:url(/assets/icons/users.svg)}.icon-globe{mask-image:url(/assets/icons/globe.svg);-webkit-mask-image:url(/assets/icons/globe.svg)}.icon-language{mask-image:url(/assets/icons/language.svg);-webkit-mask-image:url(/assets/icons/language.svg)}.icon-sun{mask-image:url(/assets/icons/sun.svg);-webkit-mask-image:url(/assets/icons/sun.svg)}.icon-moon{mask-image:url(/assets/icons/moon.svg);-webkit-mask-image:url(/assets/icons/moon.svg)}.icon-download{mask-image:url(/assets/icons/download.svg);-webkit-mask-image:url(/assets/icons/download.svg)}.icon-settings{mask-image:url(/assets/icons/settings.svg);-webkit-mask-image:url(/assets/icons/settings.svg)}.icon-expense-customize{width:22px;height:22px;mask-image:url(/assets/icons/expense-customize.svg);-webkit-mask-image:url(/assets/icons/expense-customize.svg)}.icon-groceries{mask-image:url(/assets/icons/expense-groceries.svg);-webkit-mask-image:url(/assets/icons/expense-groceries.svg)}.icon-dining{mask-image:url(/assets/icons/expense-dining.svg);-webkit-mask-image:url(/assets/icons/expense-dining.svg)}.icon-coffee{mask-image:url(/assets/icons/expense-coffee.svg);-webkit-mask-image:url(/assets/icons/expense-coffee.svg)}.icon-fuel{mask-image:url(/assets/icons/expense-fuel.svg);-webkit-mask-image:url(/assets/icons/expense-fuel.svg)}.icon-transit{mask-image:url(/assets/icons/expense-transit.svg);-webkit-mask-image:url(/assets/icons/expense-transit.svg)}.icon-electricity{mask-image:url(/assets/icons/expense-electricity.svg);-webkit-mask-image:url(/assets/icons/expense-electricity.svg)}.icon-water{mask-image:url(/assets/icons/expense-water.svg);-webkit-mask-image:url(/assets/icons/expense-water.svg)}.icon-internet{mask-image:url(/assets/icons/expense-internet.svg);-webkit-mask-image:url(/assets/icons/expense-internet.svg)}.icon-phone{mask-image:url(/assets/icons/expense-phone.svg);-webkit-mask-image:url(/assets/icons/expense-phone.svg)}.icon-housing{mask-image:url(/assets/icons/expense-housing.svg);-webkit-mask-image:url(/assets/icons/expense-housing.svg)}.icon-shopping{mask-image:url(/assets/icons/expense-shopping.svg);-webkit-mask-image:url(/assets/icons/expense-shopping.svg)}.icon-entertainment{mask-image:url(/assets/icons/expense-entertainment.svg);-webkit-mask-image:url(/assets/icons/expense-entertainment.svg)}.icon-health{mask-image:url(/assets/icons/expense-health.svg);-webkit-mask-image:url(/assets/icons/expense-health.svg)}.icon-insurance{mask-image:url(/assets/icons/expense-insurance.svg);-webkit-mask-image:url(/assets/icons/expense-insurance.svg)}.icon-travel{mask-image:url(/assets/icons/expense-travel.svg);-webkit-mask-image:url(/assets/icons/expense-travel.svg)}.icon-education{mask-image:url(/assets/icons/expense-education.svg);-webkit-mask-image:url(/assets/icons/expense-education.svg)}.icon-childcare{mask-image:url(/assets/icons/expense-childcare.svg);-webkit-mask-image:url(/assets/icons/expense-childcare.svg)}.icon-pets{mask-image:url(/assets/icons/expense-pets.svg);-webkit-mask-image:url(/assets/icons/expense-pets.svg)}.icon-subscription{mask-image:url(/assets/icons/expense-subscription.svg);-webkit-mask-image:url(/assets/icons/expense-subscription.svg)}.icon-gift{mask-image:url(/assets/icons/expense-gift.svg);-webkit-mask-image:url(/assets/icons/expense-gift.svg)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.62}.button{display:inline-flex;min-height:2.9rem;align-items:center;justify-content:center;gap:.55rem;padding:.72rem 1.1rem;border:1px solid transparent;border-radius:.72rem;font-size:.92rem;font-weight:700;line-height:1.2;text-align:center;text-decoration:none;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,transform .14s ease}.button:active:not(:disabled){transform:translateY(1px)}.button-primary{background:var(--color-accent);color:var(--color-on-accent)}.button-primary:hover:not(:disabled){background:var(--color-accent-hover)}.button-secondary{border-color:var(--color-border-strong);background:var(--color-surface);color:var(--color-text)}.button-secondary:hover:not(:disabled){border-color:var(--color-accent)}.text-button{padding:.35rem .2rem;border:0;background:transparent;color:var(--color-muted);font-size:.87rem;font-weight:650;text-decoration:none;cursor:pointer}.text-button:hover{color:var(--color-text)}.notice{width:100%;margin:0;padding:.75rem .9rem;border-radius:.65rem;font-size:.87rem;line-height:1.5;overflow-wrap:anywhere}.notice-error{border:1px solid rgba(166,61,61,.25);background:#a63d3d17;color:var(--color-danger)}.notice-info{border:1px solid var(--color-border);background:var(--color-background);color:var(--color-muted)}.eyebrow{margin:0;color:var(--color-accent);font-size:.76rem;font-weight:750;letter-spacing:.13em;text-transform:uppercase}.status-text{margin:0;color:var(--color-muted);font-size:.88rem}@media(hover:hover)and (pointer:fine){.expense-swipe-row:not(.active-expense):hover .expense-bubble{transform:translateY(-1px);border-color:var(--color-accent);box-shadow:0 8px 22px #0000001a}}.active-expense .expense-bubble{border-color:var(--color-accent);background:var(--color-surface);box-shadow:0 0 0 3px var(--color-focus)}.expense-marker{position:relative}.expense-marker>.icon{width:1.45rem;height:1.45rem;background-color:#fff}.expense-marker-linked{position:absolute;inset:0;overflow:hidden;background:#fff}.expense-marker-image{position:absolute;inset:0;width:100%;height:100%;padding:var(--expense-marker-padding, .55rem);background:#fff;object-fit:contain}.expense-marker-framed .expense-marker-image{background:transparent}.expense-marker-fill{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;filter:blur(var(--expense-marker-blur, .3rem));transform:scale(1.15);pointer-events:none}.expense-icons-header{position:sticky;z-index:5;top:0;background:var(--color-surface)}.settings-navigation{display:grid;width:100%;min-width:0;align-items:center;grid-template-columns:2.8rem minmax(0,1fr) 1rem;gap:.8rem;margin-top:1.5rem;padding:.7rem;border:1px solid var(--color-border);border-radius:1rem;background:var(--color-surface);color:var(--color-text);font:inherit;text-align:left;cursor:pointer}.settings-section label.settings-section-heading{display:block;margin:0 0 .8rem;font-size:1rem;font-weight:700}.expense-icons-settings-section .settings-navigation{margin-top:0}.settings-navigation-icon{display:grid;width:2.8rem;aspect-ratio:1;place-items:center;border-radius:.8rem;background:var(--color-accent-soft);color:var(--color-accent)}.settings-navigation-copy{display:grid;min-width:0;gap:.1rem}.settings-navigation-copy>span{overflow:hidden;color:var(--color-muted);font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}.settings-navigation>.icon{width:1rem;height:1rem;color:var(--color-muted)}.activity-content{min-height:16rem;padding-top:.5rem}.activity-list{margin:0;padding:0;list-style:none}.activity-list>li{display:flex;gap:.85rem;padding:1rem 0;border-bottom:1px solid var(--color-border)}.activity-identity{position:relative;flex:0 0 auto;height:2.6rem}.activity-avatar{width:2.4rem;height:2.4rem;font-size:.82rem}.activity-icon{position:absolute;right:-.25rem;bottom:-.05rem;display:grid;width:1.35rem;height:1.35rem;place-items:center;border:2px solid var(--color-surface);border-radius:.75rem;background:var(--color-accent-soft);color:var(--color-accent)}.activity-icon .icon{width:.7rem;height:.7rem}.activity-copy{display:grid;gap:.2rem;min-width:0}.activity-copy strong{font-size:.9rem;font-weight:650;overflow-wrap:anywhere}.activity-details{display:grid;gap:.15rem;margin:.15rem 0 0;padding:0;color:var(--color-muted);font-size:.8rem;list-style:none}.activity-details li{overflow-wrap:anywhere}.activity-copy time,.settings-help{color:var(--color-muted);font-size:.78rem}.activity-empty{padding:4rem 1rem;text-align:center}.activity-empty h3,.activity-empty p{margin:0}.activity-empty p{margin-top:.35rem;color:var(--color-muted)}.notification-setting{display:flex;align-items:center;justify-content:space-between;gap:1rem}.notification-setting>span{display:grid;gap:.2rem}.notification-setting>span>span{color:var(--color-muted);font-size:.82rem}.notification-toggle{display:grid;flex:0 0 auto;width:3rem;height:1.75rem;align-items:center;padding:.2rem;border:1px solid var(--color-border-strong);border-radius:999px;background:var(--color-surface);cursor:pointer;transition:background-color .16s}.notification-toggle>span{width:1.2rem;height:1.2rem;border-radius:50%;background:var(--color-border-strong);transition:transform .16s}.notification-toggle[aria-checked=true]{border-color:var(--color-accent);background:var(--color-accent)}.notification-toggle[aria-checked=true]>span{background:var(--color-on-accent);transform:translate(1.2rem)}.notification-toggle app-loading-indicator{justify-self:center}.settings-help{margin:.6rem 0 0}@media(prefers-reduced-motion:reduce){.notification-toggle,.notification-toggle>span{transition:none}}.expense-edit-icon-section{margin-top:.5rem;overflow:hidden;background:transparent}.expense-icons-disclosure-heading{margin:0;font-size:.9rem}.expense-icons-disclosure{display:flex;width:100%;min-height:0;align-items:center;gap:.65rem;padding:0;border:0;border-radius:.8rem;background:transparent;color:var(--color-text);font:inherit;font-weight:650;line-height:1.5;text-align:left;cursor:pointer;transition:background-color .18s}.expense-icons-disclosure>.icon{width:1rem;height:1rem;color:var(--color-accent)}.expense-edit-icon-section .expense-icons-disclosure{min-height:4.25rem;gap:.8rem;padding:.65rem .85rem;border:1px solid var(--color-border-strong);border-radius:1rem;background:var(--color-surface)}.expense-edit-icon-section .expense-icons-disclosure>.icon{width:1.25rem;height:1.25rem}.expense-icons-disclosure svg{width:1.15rem;height:1.15rem;flex-shrink:0;margin-left:auto;fill:none;stroke:currentcolor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;transition:transform .24s ease}.expense-icons-disclosure[aria-expanded=true] svg{transform:rotate(180deg)}.expense-icons-disclosure:focus-visible{outline:2px solid var(--color-accent);outline-offset:-3px}.expense-icons-disclosure-panel{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .24s ease,opacity .18s ease}.expense-icons-disclosure-panel.expanded{grid-template-rows:1fr;opacity:1}.expense-icons-disclosure-body{display:grid;min-height:0;gap:1rem;overflow:hidden}.expense-edit-icon-section .expense-icons-disclosure-body>*{margin-inline:0}.expense-edit-icon-section .expense-icons-disclosure-body>:first-child{margin-top:.75rem}.expense-edit-icon-section .expense-icons-disclosure-body>:last-child{margin-bottom:1rem}.expense-icons-settings-section h2.expense-icons-disclosure-heading{margin-bottom:0}.expense-icons-settings-section .expense-icons-disclosure{padding-inline:0}.expense-edit-icon-description{margin:0;color:var(--color-muted);font-size:.82rem;line-height:1.5}.expense-icons-heading-copy{display:flex;align-items:center;gap:.75rem;min-width:0}.expense-icons-heading-copy p{margin:0 0 .12rem;color:var(--color-accent);font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.expense-icons-heading-copy h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expense-icons-content{display:grid;gap:1rem;padding-top:1.25rem}.expense-icons-intro,.linked-icon-section p,.expense-icons-empty p{margin:0;color:var(--color-muted);font-size:.86rem;line-height:1.55}.expense-icons-intro{padding-top:.35rem}.expense-description-list{display:grid;gap:.45rem}.expense-description-option{display:grid;width:100%;min-width:0;align-items:center;grid-template-columns:2.8rem minmax(0,1fr) 1rem;gap:.8rem;padding:.65rem;border:1px solid var(--color-border);border-radius:.9rem;background:var(--color-surface);color:var(--color-text);font:inherit;text-align:left;cursor:pointer}.expense-description-option>.icon{width:1rem;height:1rem;color:var(--color-muted)}.expense-description-preview{display:grid;width:2.8rem;aspect-ratio:1;overflow:hidden;place-items:center;border-radius:.75rem;color:#fff;font-size:.95rem;font-weight:800}.expense-description-preview>.icon{width:1.25rem;height:1.25rem;background-color:#fff}.expense-description-preview img{width:100%;height:100%;padding:.4rem;background:#fff;object-fit:contain}.expense-description-copy{display:grid;min-width:0;gap:.1rem}.expense-description-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expense-description-copy span{color:var(--color-muted);font-size:.75rem}.expense-icon-grid{display:grid;grid-auto-flow:column;grid-auto-columns:100%;min-width:0;overflow:auto hidden;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none}.expense-icon-page{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,5.5rem);gap:.5rem;padding:3px;scroll-snap-align:start}.expense-icon-carousel{min-width:0}.expense-icon-pagination{display:flex;justify-content:center;margin-top:.25rem}.expense-icon-pagination button{display:grid;width:2.75rem;height:2.75rem;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:var(--color-border-strong);cursor:pointer}.expense-icon-pagination svg{width:.75rem;height:.75rem;fill:currentcolor}.expense-icon-pagination [aria-current=true]{color:var(--color-accent)}.expense-icon-pagination button:focus-visible{outline:2px solid var(--color-focus)}.expense-icon-grid::-webkit-scrollbar{display:none}.expense-icon-option{display:grid;grid-template-rows:auto 2.4em;align-content:start;justify-items:center;min-height:5.25rem;min-width:0;gap:.45rem;padding:.35rem 0;border:0;border-radius:.65rem;background:transparent;color:var(--color-text);font:inherit;font-size:.65rem;font-weight:650;line-height:1.2;text-align:center;cursor:pointer;transition:border-color .16s,background .16s,box-shadow .16s}.expense-icon-option.selected{color:var(--color-accent)}.expense-icon-option>:last-child{max-width:100%;overflow-wrap:anywhere}.expense-icon-option.selected .expense-icon-option-preview{border-color:var(--color-accent);background:var(--color-accent);box-shadow:0 0 0 2px var(--color-surface),0 0 0 3px var(--color-accent);color:var(--color-on-accent)}.expense-icon-option:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.expense-icon-option-preview{display:grid;width:min(2.75rem,100%);aspect-ratio:1;place-items:center;border:1px solid var(--color-border);border-radius:50%;background:var(--color-accent-soft);color:var(--color-accent)}.expense-icon-option-preview .icon{width:1.25rem;height:1.25rem}.linked-icon-section{display:grid;gap:.9rem;margin-top:.5rem;padding-top:1.25rem;border-top:1px solid var(--color-border)}.linked-icon-section h3,.expense-icons-empty h3{margin:0 0 .2rem;font-size:1rem}.linked-icon-controls{display:grid;grid-template-columns:minmax(0,1fr);gap:.55rem}.linked-icon-section label{grid-column:1/-1;font-size:.82rem;font-weight:650}.linked-icon-section input{width:100%;min-width:0;padding:.72rem .8rem;border:1px solid var(--color-border-strong);border-radius:.72rem;outline:none;background:var(--color-background);color:var(--color-text)}.linked-icon-section input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.expense-icon-reset{justify-self:start;color:var(--color-accent)}.expense-icons-empty{display:grid;justify-items:center;gap:.4rem;padding:3rem 1rem;text-align:center}.expense-icons-empty>.icon{width:2.5rem;height:2.5rem;margin-bottom:.5rem;color:var(--color-accent)}@media(hover:hover)and (pointer:fine){.expense-icons-disclosure:hover{background:var(--color-accent-soft)}.settings-navigation:hover{border-color:var(--color-accent);background:var(--color-accent-soft)}.expense-description-option:hover,.expense-icon-option:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-accent-soft)}}@media(width<=1024px),(hover:none)and (pointer:coarse){html{touch-action:pan-x pan-y;scroll-padding-bottom:calc(6rem + env(safe-area-inset-bottom,0px))}body{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}input,textarea,[contenteditable=true]{user-select:text;-webkit-user-select:text;-webkit-touch-callout:default}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
