.user-menu-wrapper.svelte-1xgz5ag{position:relative}.user-menu-trigger.svelte-1xgz5ag{width:32px;height:32px;border-radius:var(--radius-full);border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.user-menu-trigger.svelte-1xgz5ag:hover{border-color:var(--primary-brand);color:var(--primary-brand)}.user-menu-dropdown.svelte-1xgz5ag{position:absolute;bottom:calc(100% + var(--spacing-sm));left:0;background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);min-width:160px;z-index:200;overflow:hidden}.user-menu-item.svelte-1xgz5ag{width:100%;display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border:none;background:none;color:var(--text-primary);font-size:var(--font-size-sm);font-family:var(--font-family);cursor:pointer;transition:background .15s ease}.user-menu-item.svelte-1xgz5ag:hover{background:var(--bg-surface)}.navigation.svelte-ocbj1u{touch-action:manipulation;display:flex;align-items:stretch;height:var(--nav-bar-height);position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:100;padding:6px;background:var(--card);border:var(--border-ink);border-radius:24px;box-shadow:var(--shadow-hard-md)}.navigation.svelte-ocbj1u :where(.svelte-ocbj1u){-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.nav-brand.svelte-ocbj1u{display:none}.brand-logo.svelte-ocbj1u{font-size:20px;font-weight:300;margin-bottom:2px}.nav-menu.svelte-ocbj1u{flex:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none}.nav-item.svelte-ocbj1u{display:block;margin:0;padding:0;min-width:0}.nav-link.svelte-ocbj1u{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:100%;padding:4px 2px;background:transparent;border:2px solid transparent;border-radius:16px;color:var(--text-secondary);text-decoration:none;font-size:14px;font-weight:500;font-family:var(--font-display);cursor:pointer}.nav-link.svelte-ocbj1u:hover{color:var(--text-primary);background:var(--tint-sand)}.nav-link.active.svelte-ocbj1u{color:var(--ink);background:var(--tint-meadow);border-color:var(--ink);box-shadow:var(--shadow-hard-sm);font-weight:600}.nav-icon.svelte-ocbj1u{display:flex;align-items:center;justify-content:center}.nav-label.svelte-ocbj1u{font-size:11px;white-space:nowrap;display:block;line-height:1.2;color:inherit}@media(min-width:768px){.navigation.svelte-ocbj1u{display:none}}.nav-user.svelte-ocbj1u,.user-info.svelte-ocbj1u{display:none}.user-name.svelte-ocbj1u{font-size:14px;font-weight:500;margin-bottom:2px}.user-email.svelte-ocbj1u{font-size:12px;opacity:.8}.icon-rail.svelte-am6l2g{display:none}@media(min-width:768px){.icon-rail.svelte-am6l2g{display:flex;flex-direction:column;align-items:center;width:64px;height:100dvh;position:fixed;top:0;left:0;z-index:100;background:var(--card);border-right:var(--border-ink);padding-block:var(--spacing-lg)}}@media(min-width:1024px){.icon-rail.svelte-am6l2g{display:none}}.rail-brand.svelte-am6l2g{margin-bottom:var(--spacing-xl)}.rail-menu.svelte-am6l2g{list-style:none;display:flex;flex-direction:column;gap:var(--spacing-xs);width:100%;padding-inline:var(--spacing-sm);flex:1}.rail-settings.svelte-am6l2g{margin-top:auto}.rail-link.svelte-am6l2g{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--spacing-sm) 0;border:2px solid transparent;border-radius:16px;color:var(--text-secondary);text-decoration:none;font-family:var(--font-display)}.rail-link.svelte-am6l2g:hover{background:var(--tint-sand);color:var(--ink)}.rail-link.active.svelte-am6l2g{color:var(--ink);background:var(--tint-meadow);border-color:var(--ink);box-shadow:var(--shadow-hard-sm);font-weight:600}.rail-label.svelte-am6l2g{font-size:10px;white-space:nowrap;line-height:1.2}.sidebar.svelte-bd70h1{display:none}@media(min-width:1024px){.sidebar.svelte-bd70h1{display:flex;flex-direction:column;width:220px;height:100dvh;position:fixed;top:0;left:0;z-index:100;background:var(--card);border-right:var(--border-ink);padding:var(--spacing-xl) var(--spacing-lg)}}.sidebar-brand.svelte-bd70h1{margin-bottom:var(--spacing-2xl)}.brand-logo.svelte-bd70h1{display:inline-flex;align-items:center;gap:var(--spacing-sm);font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:600;color:var(--ink)}.sidebar-menu.svelte-bd70h1{list-style:none;display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1}.sidebar-link.svelte-bd70h1{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border:2px solid transparent;border-radius:16px;color:var(--text-secondary);text-decoration:none;font-size:var(--font-size-sm);font-weight:500;font-family:var(--font-display)}.sidebar-link.svelte-bd70h1:hover{background:var(--tint-sand);color:var(--ink)}.sidebar-link.active.svelte-bd70h1{color:var(--ink);background:var(--tint-meadow);border-color:var(--ink);box-shadow:var(--shadow-hard-sm);font-weight:600}.sidebar-user.svelte-bd70h1{display:flex;align-items:center;gap:var(--spacing-sm);padding-top:var(--spacing-lg);border-top:2px solid var(--border-subtle)}.sidebar-user-info.svelte-bd70h1{overflow:hidden}.sidebar-user-name.svelte-bd70h1{font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-email.svelte-bd70h1{font-size:var(--font-size-xs);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-shell.svelte-whg6dh{width:100%;min-height:100%;position:relative}.app-main.svelte-whg6dh{padding-bottom:calc(var(--nav-bar-height) + 12px + env(safe-area-inset-bottom,0px) + var(--spacing-lg));container-type:inline-size;container-name:main}@media(min-width:768px){.app-main.svelte-whg6dh{padding-bottom:var(--spacing-xl)}.app-main.has-side-nav.svelte-whg6dh{margin-left:var(--nav-width);max-width:calc(100% - var(--nav-width))}}:root{--ink: #3E1A13;--page: #FBF4E6;--card: #FFFDF8;--text-secondary-strong: #5A3E35;--btn-primary-bg: #3F7F3B;--btn-move-bg: #8E5139;--btn-secondary-bg: #F6E3C8;--color-income: #2E6B2F;--color-spending: #A83A26;--color-move: #1F5F80;--color-caution: #855A0C;--tint-sky: #DDF0F6;--tint-meadow: #E6F0C8;--tint-blush: #FCE1DE;--tint-sand: #F8EACB;--tint-archived: #F3ECDF;--accent-gold: #E0A83E;--accent-creek: #8CC5DC;--accent-blush: #F5807C;--accent-green: #4F9A4A;--grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .24 0 0 0 0 .10 0 0 0 0 .07 0 0 0 .08 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--grain-page: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .24 0 0 0 0 .10 0 0 0 0 .07 0 0 0 .13 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--sheen-sand: linear-gradient(180deg, #FCF4E2 0%, #F8EACB 58%);--sheen-sky: linear-gradient(180deg, #EDF8FB 0%, #DDF0F6 58%);--sheen-meadow: linear-gradient(180deg, #F1F7DD 0%, #E6F0C8 58%);--sheen-blush: linear-gradient(180deg, #FEEEEC 0%, #FCE1DE 58%);--surface-page: var(--grain-page), var(--page);--surface-card: var(--grain), var(--card);--surface-sand: var(--grain), var(--sheen-sand) var(--tint-sand);--surface-sky: var(--grain), var(--sheen-sky) var(--tint-sky);--surface-meadow: var(--grain), var(--sheen-meadow) var(--tint-meadow);--surface-blush: var(--grain), var(--sheen-blush) var(--tint-blush);--border-ink: 2px solid var(--ink);--border-ink-hero: 3px solid var(--ink);--shadow-hard-sm: 0 3px 0 var(--ink);--shadow-hard-md: 0 4px 0 var(--ink);--shadow-hard-lg: 0 5px 0 var(--ink);--shadow-hard-xl: 0 6px 0 var(--ink);--radius-card: 20px;--radius-hero: 26px;--radius-sheet: 36px;--radius-pill: 999px;--size-bar-brand: 12px;--font-display: "Fredoka Variable", "Fredoka", system-ui, sans-serif;--font-body: "Nunito Variable", "Nunito", system-ui, sans-serif;--font-money: "Fraunces Variable", "Fraunces", Georgia, serif;--font-size: 16px;--font-serif: var(--font-display);--font-sans: var(--font-body);--primary-brand: #3F7F3B;--primary-brand-hover: #356B32;--primary-brand-light: #4F9A4A;--primary-gradient-from: #3F7F3B;--primary-gradient-via: #3F7F3B;--primary-gradient-to: #3F7F3B;--bg-app: #FBF4E6;--bg-surface: #F6E3C8;--bg-card: #FFFDF8;--bg-elevated: #FFFDF8;--bg-overlay: rgba(62, 26, 19, .45);--bg-gradient: #3F7F3B;--text-primary: #3E1A13;--text-secondary: #5A3E35;--text-tertiary: #6B4A40;--text-quaternary: #6B4A40;--text-on-brand: #ffffff;--border-default: #3E1A13;--border-subtle: rgba(62, 26, 19, .16);--border-emphasis: #3E1A13;--color-positive: #2E6B2F;--color-negative: #A83A26;--color-warning: #855A0C;--color-info: #1F5F80;--currency-font: var(--font-money);--focus-color: var(--color-move);--nav-bar-height: 62px;--logo-size: 32px;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: .75rem;--spacing-lg: 1rem;--spacing-xl: 1.5rem;--spacing-2xl: 2rem;--size-touch-sm: 36px;--size-touch-base: 44px;--size-touch-lg: 52px;--size-icon-sm: 24px;--size-icon-md: 32px;--size-icon-lg: 40px;--size-bar-sm: 4px;--size-bar-base: 6px;--size-bar-lg: 8px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 50%;--font-family: var(--font-sans);--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-currency-hero: 2.75rem;--font-size-currency-prefix: 2rem;--font-weight-semibold: 600;--shadow-sm: 0 2px 0 rgba(62, 26, 19, .12);--shadow-md: 0 4px 0 rgba(62, 26, 19, .12);--shadow-lg: 0 6px 0 rgba(62, 26, 19, .14);--nav-height: 60px;--card-max-width: 100%;--container-padding: var(--spacing-sm);--toast-width: 100%;--toast-spacing: var(--spacing-lg);--nav-width: 0px;--content-max-width: none}@media(min-width:768px){:root{--nav-width: 64px;--content-max-width: 960px}}@media(min-width:1024px){:root{--nav-width: 220px;--content-max-width: 1200px}}*{margin:0;padding:0;box-sizing:border-box;color:var(--text-primary)}html,body{height:100%}body{font-family:var(--font-body);background:var(--surface-page);color:var(--text-primary);line-height:1.55;font-size:var(--font-size-base);font-weight:500}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600}button,input,select,textarea{font-family:inherit}.money{font-family:var(--font-money);font-variation-settings:"SOFT" 100;font-variant-numeric:tabular-nums lining-nums;font-weight:600}.money--spending{color:var(--color-spending)}.money--income{color:var(--color-income)}.skip-link{position:absolute;top:-50px;left:6px;background:var(--primary-brand);color:#fff;padding:8px;text-decoration:none;border-radius:var(--radius-sm);z-index:1000;transition:top .3s;clip:rect(0,0,0,0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}.skip-link:focus{top:6px;clip:auto;clip-path:none;overflow:visible;width:auto;height:auto}.container{width:100%;min-height:100%;max-width:100%;margin:0;padding:0}.site-header{text-align:center;margin-bottom:var(--spacing-xl);padding:var(--spacing-xl) var(--spacing-lg);background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-default);box-shadow:var(--shadow-sm);position:relative}.site-title{font-size:var(--font-size-2xl);font-family:var(--font-serif);font-weight:500;margin-bottom:var(--spacing-sm);background:linear-gradient(45deg,var(--primary-brand),var(--primary-brand-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2}.site-subtitle{font-size:var(--font-size-sm);color:var(--text-secondary)}.theme-toggle{position:absolute;top:var(--spacing-lg);right:var(--spacing-lg);width:var(--size-icon-lg);height:var(--size-icon-lg);border-radius:var(--radius-full);background:var(--bg-card);display:flex;align-items:center;justify-content:center;font-size:1.2rem;border:1px solid var(--border-default);cursor:pointer;transition:all .3s ease;color:var(--text-primary)}.theme-toggle:hover,.theme-toggle:focus{transform:scale(1.05);outline:2px solid var(--focus-color);outline-offset:2px}.main-content{display:flex;flex-direction:column;gap:var(--spacing-xl)}.section{overflow:hidden}.section-header{padding:var(--spacing-md)}.section-title{font-family:var(--font-serif);font-size:var(--font-size-lg);font-weight:600;margin-bottom:var(--spacing-xs);color:var(--text-primary)}.section-description{font-size:var(--font-size-sm);color:var(--text-secondary)}.section.hero{border:none;border-radius:initial;border-bottom:1px solid var(--border-default);background:var(--bg-surface);box-shadow:none;-webkit-backdrop-filter:initial;backdrop-filter:initial;margin-inline:calc(var(--container-padding) * -1)}.section-title.hero{font-size:var(--font-size-xl);color:var(--text-primary)}.section-description.hero{color:var(--text-secondary)}.section-header.hero{padding:calc(var(--container-padding) + var(--spacing-md));padding-bottom:var(--spacing-xs);border:initial;background:initial}.section-content.hero{padding-block-start:0;padding-inline:calc(var(--container-padding) + var(--spacing-md));padding-block-end:var(--spacing-md)}.color-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-lg)}.color-item{text-align:center}.color-swatch{width:100%;height:60px;border-radius:var(--radius-md);margin-bottom:var(--spacing-sm);border:1px solid var(--border-default);position:relative;overflow:hidden;cursor:pointer;transition:transform .2s ease}.color-swatch:hover,.color-swatch:focus{transform:scale(1.02);outline:2px solid var(--focus-color);outline-offset:2px}.color-name{font-weight:600;margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm)}.color-value{font-family:Monaco,Consolas,SF Mono,Courier New,monospace;font-size:var(--font-size-xs);color:var(--text-secondary);background:var(--bg-card);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);border:1px solid var(--border-default)}.typography-scale{display:flex;flex-direction:column;gap:var(--spacing-lg)}.type-item{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.type-label{font-family:Monaco,Consolas,SF Mono,Courier New,monospace;font-size:var(--font-size-xs);color:var(--text-secondary);font-weight:500}.type-example{font-weight:400}.button-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-xl)}.button-group{display:flex;flex-direction:column;gap:var(--spacing-md)}.button-group-title{font-size:var(--font-size-lg);font-weight:600;margin-bottom:var(--spacing-sm);color:var(--text-primary)}.btn{color:var(--ink);padding:10px 20px;border:var(--border-ink);border-radius:var(--radius-pill);box-shadow:var(--shadow-hard-sm);font-family:var(--font-display);font-weight:600;font-size:var(--font-size-base);line-height:1.2;cursor:pointer;text-decoration:none;text-align:center;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);min-height:var(--size-touch-base);background:var(--card)}.btn:active{box-shadow:none;transform:translateY(3px)}.btn:focus-visible{outline:3px solid var(--focus-color);outline-offset:3px}.btn-primary{background:var(--btn-primary-bg);color:#fff}.btn-primary:hover{background:var(--primary-brand-hover)}.btn-secondary{background:var(--btn-secondary-bg);color:var(--ink)}.btn-secondary:hover{background:#f1d7b2}.btn-move{background:var(--btn-move-bg);color:#fff}.btn-move:hover{background:#7c4631}.btn-ghost{background:var(--card);color:var(--ink);box-shadow:none}.btn-success{background:var(--color-positive);color:#fff}.btn-error{background:var(--color-negative);color:#fff}.btn-warning{background:var(--color-warning);color:#fff}.btn-info{background:var(--color-info);color:#fff}.btn.btn-text{box-shadow:none}.btn.btn-text:active{transform:none}.btn-small{padding:6px 14px;font-size:var(--font-size-sm);min-height:var(--size-touch-sm)}.btn-large{padding:14px 28px;font-size:var(--font-size-lg);min-height:var(--size-touch-lg)}.btn.btn:disabled,.btn.btn[disabled]{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none!important;pointer-events:none}.btn-secondary.btn-secondary:disabled,.btn-secondary.btn-secondary[disabled]{border-color:var(--border-subtle)}.form-grid{display:grid;gap:var(--spacing-lg)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-label{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary)}.form-input,.form-select,.form-textarea{padding:var(--spacing-md);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-primary);font-size:var(--font-size-base);font-family:var(--font-family);transition:all .3s ease;min-height:var(--size-touch-base)}.form-textarea{min-height:100px;resize:vertical}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-secondary);opacity:.85}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:2px solid var(--focus-color);outline-offset:2px;border-color:var(--focus-color)}.form-input.error,.form-select.error,.form-textarea.error{border-color:var(--color-negative);box-shadow:0 0 0 .2rem color-mix(in srgb,var(--color-negative) 10%,transparent)}.input-group{display:flex;align-items:stretch}.input-prefix{display:flex;align-items:center;padding:0 var(--spacing-md);background:var(--bg-elevated);border:1px solid var(--border-default);border-right:none;border-radius:var(--radius-md) 0 0 var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-base);font-weight:500;-webkit-user-select:none;user-select:none}.input-group .form-input{border-top-left-radius:0;border-bottom-left-radius:0;flex:1}.field-error{color:var(--color-negative);font-size:var(--font-size-xs);margin-top:var(--spacing-xs);display:block}.form-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23555555' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right 8px center;background-repeat:no-repeat;background-size:16px;padding-right:40px}.form-select:hover{border-color:var(--focus-color);background:var(--bg-card)}.form-select:disabled,.form-select[disabled]{opacity:.5;cursor:not-allowed;background:var(--bg-card);color:var(--text-secondary);border-color:var(--border-subtle);pointer-events:none}.form-select:disabled::placeholder,.form-select[disabled]::placeholder{color:var(--text-secondary);opacity:.5}.form-select:disabled{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23555555' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e")}.form-select:focus:not(:disabled){box-shadow:0 0 0 3px var(--border-subtle)}.card-examples{display:grid;gap:var(--spacing-lg)}.card{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--spacing-xl);border:1px solid var(--border-default);box-shadow:var(--shadow-sm)}.card-title{font-size:var(--font-size-lg);font-weight:600;margin-bottom:var(--spacing-sm);color:var(--text-primary)}.card-content{color:var(--text-secondary);line-height:1.6}.nav-examples{display:flex;flex-direction:column;gap:var(--spacing-sm)}.nav-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);border-radius:var(--radius-md);color:var(--text-secondary);text-decoration:none;transition:all .3s ease;min-height:var(--size-touch-base)}.nav-link:hover,.nav-link:focus{color:var(--text-primary);background:var(--bg-elevated);outline:2px solid var(--focus-color);outline-offset:-2px}.nav-item[aria-current=page]{color:var(--primary-brand);background:#0000001a;font-weight:600}.nav-icon{font-size:1.2rem;width:var(--size-icon-sm);height:var(--size-icon-sm);display:flex;align-items:center;justify-content:center}.list-container{display:flex;flex-direction:column;gap:var(--spacing-sm)}.list-item{display:flex;align-items:flex-start;padding:var(--spacing-lg);background:var(--bg-app);border:0;transition:all .25s ease-out;cursor:pointer;min-height:var(--size-touch-base)}.list-item:hover,.list-item:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 2px var(--bg-surface),0 0 0 4px var(--focus-color)}.list-item-icon{flex-shrink:0;width:var(--size-icon-lg);height:var(--size-icon-lg);display:flex;align-items:center;justify-content:center;background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-full);margin-right:var(--spacing-md);font-size:1.2rem}.list-item-content{flex:1;min-width:0}.list-item-title{font-size:var(--font-size-base);font-weight:600;margin-bottom:var(--spacing-xs);line-height:1.4}.list-item-subtitle{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.3}.list-item-action{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:var(--spacing-xs);margin-left:var(--spacing-md)}.list-item-label{font-size:var(--font-size-xs);color:var(--text-secondary);line-height:1}.list-item.success{border-left:3px solid var(--color-positive)}.list-item.error{border-left:3px solid var(--color-negative)}.list-item.info{border-left:3px solid var(--color-info)}.list-item.warning{border-left:3px solid var(--color-warning);opacity:.8}.progress-container{width:100%;margin-top:var(--spacing-sm)}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xs);gap:var(--spacing-sm)}.progress-label{font-size:var(--font-size-xs);color:var(--text-secondary);font-weight:500}.progress-value{font-size:var(--font-size-xs);color:var(--text-primary);font-weight:600;text-align:right}.progress-bar{width:100%;height:var(--size-bar-base);background:var(--border-subtle);border-radius:var(--radius-md);overflow:hidden;position:relative}.progress-bar.large{height:var(--size-bar-lg)}.progress-bar.small{height:var(--size-bar-sm)}.progress-fill{height:100%;background:var(--primary-brand);border-radius:var(--radius-md);transition:width .8s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.progress-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s ease-in-out infinite}.progress-success .progress-fill{background:var(--color-positive)}.progress-warning .progress-fill{background:var(--color-warning)}.progress-error .progress-fill{background:var(--color-negative)}.progress-info .progress-fill{background:var(--color-info)}.progress-gradient .progress-fill{background:linear-gradient(90deg,var(--primary-brand),var(--primary-brand-light))}dialog.modal{position:fixed;margin:0;padding:0;border:none;width:100dvw;height:100dvh;max-width:100dvw;max-height:100dvh;background:var(--bg-app);overflow:hidden;transform:translate(100%);visibility:hidden;transition:transform .25s ease-out,opacity .25s ease-out,visibility .25s ease-out allow-discrete,overlay .25s ease-out allow-discrete,display .25s ease-out allow-discrete}dialog::backdrop{background:var(--bg-overlay);opacity:0;transition:opacity .25s ease-out,overlay .25s ease-out allow-discrete,display .25s ease-out allow-discrete}dialog.modal[open]{transform:translate(0);visibility:visible}dialog.modal[open]::backdrop{opacity:1}dialog.modal.modal--from-left{transform:translate(-100%)}dialog.modal.modal--from-left[open]{transform:translate(0)}@starting-style{dialog.modal[open]{transform:translate(100%)}dialog.modal.modal--from-left[open]{transform:translate(-100%)}dialog.modal[open]::backdrop{opacity:0}}dialog.modal.modal--bottom-sheet{width:100dvw;height:auto;max-height:60dvh;top:auto;bottom:0;transform:translateY(100%);border-radius:var(--radius-lg) var(--radius-lg) 0 0;overflow:hidden}dialog.modal.modal--bottom-sheet[open]{transform:translateY(0)}@starting-style{dialog.modal.modal--bottom-sheet[open]{transform:translateY(100%)}}@media(min-width:768px){dialog.modal{width:min(500px,90vw);max-width:min(500px,90vw);max-height:85dvh;top:50%;left:50%;margin:0;margin-left:calc(var(--nav-width) / 2);transform:translate(-50%,-50%) scale(.95);opacity:0;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}dialog.modal[open]{transform:translate(-50%,-50%);opacity:1}dialog.modal.modal--from-left{transform:translate(-50%,-50%) scale(.95);opacity:0}dialog.modal.modal--from-left[open]{transform:translate(-50%,-50%);opacity:1}dialog.modal.modal--bottom-sheet{width:min(500px,90vw);max-width:min(500px,90vw);height:auto;max-height:85dvh;top:50%;left:50%;bottom:auto;margin:0;margin-left:calc(var(--nav-width) / 2);transform:translate(-50%,-50%) scale(.95);opacity:0;border-radius:var(--radius-lg)}dialog.modal.modal--bottom-sheet[open]{transform:translate(-50%,-50%);opacity:1}}@media(min-width:1024px){dialog.modal.modal--sheet{width:420px;max-width:50vw;height:100dvh;max-height:100dvh;top:0;left:auto;right:0;margin:0;transform:translate(100%);opacity:1;border-radius:0;border-left:1px solid var(--border-default);box-shadow:var(--shadow-lg)}dialog.modal.modal--sheet[open]{transform:translate(0);opacity:1}@starting-style{dialog.modal.modal--sheet[open]{transform:translate(100%)}}}.modal-header{padding:var(--spacing-lg);display:flex;align-items:center;justify-content:space-between}.modal-title{font-family:var(--font-serif);font-size:var(--font-size-lg);font-weight:500;color:var(--text-primary);margin:0}.modal-subtitle{font-size:var(--font-size-sm);color:var(--text-secondary);margin-top:var(--spacing-xs)}.modal-close{width:var(--size-icon-md);height:var(--size-icon-md);border:none;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-lg);transition:all .2s ease;margin-block-end:auto}.modal-close:hover,.modal-close:focus{background:var(--bg-elevated);transform:scale(1.1);outline:2px solid var(--focus-color);outline-offset:2px}.modal-content{padding:var(--spacing-lg);overflow-y:auto}.modal-footer{display:flex;gap:var(--spacing-md);padding:var(--spacing-lg);border-top:1px solid var(--border-subtle);flex-direction:column}.switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex-shrink:0;width:3.25rem;height:1.875rem;margin:0;border-radius:var(--radius-pill);border:var(--border-ink);background:var(--tint-sand);position:relative;cursor:pointer}.switch:before{content:"";box-sizing:border-box;position:absolute;top:50%;left:3px;width:1.25rem;height:1.25rem;background:var(--card);border:var(--border-ink);border-radius:50%;transform:translateY(-50%)}.switch:checked{background:var(--btn-primary-bg)}.switch:checked:before{transform:translate(1.375rem,-50%)}.switch:focus-visible{outline:2px solid var(--focus-color);outline-offset:2px}.switch:disabled{opacity:.5;cursor:not-allowed}.bar{display:block;height:var(--size-bar-brand);border:var(--border-ink);border-radius:var(--radius-pill);background:var(--card);overflow:hidden}.bar-fill{display:block;height:100%;border-radius:var(--radius-pill);background:var(--accent-green)}.bar[data-tone=over] .bar-fill{background:var(--accent-blush)}.bar[data-tone=paused] .bar-fill{background:var(--accent-creek)}.bar[data-tone=left] .bar-fill{background:var(--accent-gold)}.bar[data-tone=next] .bar-fill{background:var(--accent-creek)}.chip{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border:var(--border-ink);border-radius:var(--radius-pill);background:var(--card);font-size:var(--font-size-sm);font-weight:700;white-space:nowrap}.pill-status{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border:var(--border-ink);border-radius:var(--radius-pill);background:var(--tint-sand);box-shadow:var(--shadow-hard-sm);font-size:var(--font-size-sm);font-weight:700}.card-ink{background:var(--surface-card);border:var(--border-ink);border-radius:var(--radius-card);box-shadow:var(--shadow-hard-sm);padding:var(--spacing-lg)}.tile{flex:none;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:var(--border-ink);border-radius:11px;background:var(--card);color:var(--ink)}.tile--sand{background:var(--tint-sand)}.tile--meadow{background:var(--tint-meadow)}.tile--sky{background:var(--tint-sky)}.tile--blush{background:var(--tint-blush)}.tile--cream{background:var(--card)}.alert-card{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--surface-blush);border:2px solid var(--color-spending);border-radius:22px;box-shadow:var(--shadow-hard-md);color:var(--ink)}.alert-card[data-severity=warning]{background:var(--surface-sand);border-color:var(--btn-move-bg)}.alert-card__tile{flex:none;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:var(--border-ink);border-radius:12px;background:var(--card);color:var(--color-spending)}.alert-card[data-severity=warning] .alert-card__tile{color:var(--color-caution)}.alert-card__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--spacing-xs)}.alert-card__title{margin:0;font-family:var(--font-display);font-size:18px;font-weight:600;line-height:1.25;color:var(--ink)}.alert-card__text{margin:0;font-size:var(--font-size-sm);color:var(--text-primary)}.alert-card__actions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.toast-container{position:fixed;top:var(--toast-spacing);left:var(--toast-spacing);right:var(--toast-spacing);z-index:1000;display:flex;flex-direction:column;gap:var(--spacing-md);pointer-events:none}@media(min-width:768px){.toast-container{left:auto;width:400px;max-width:calc(100vw - var(--toast-spacing) * 2);align-items:flex-end}}.toast{--toast-color: var(--primary-brand);background:color-mix(in srgb,var(--toast-color) 7%,#ffffff);border:1px solid color-mix(in srgb,var(--toast-color) 28%,#ffffff);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-lg);display:flex;align-items:flex-start;gap:var(--spacing-md);pointer-events:auto;position:relative;overflow:hidden;width:100%}.toast.success{--toast-color: var(--color-positive)}.toast.error{--toast-color: var(--color-negative)}.toast.warning{--toast-color: var(--color-warning)}.toast.info{--toast-color: var(--color-info)}.toast-icon{flex-shrink:0;width:var(--size-icon-sm);height:var(--size-icon-sm);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);font-size:var(--font-size-sm);margin-top:2px;color:var(--toast-color)}.toast-content{flex:1;min-width:0}.toast-title{font-size:var(--font-size-base);font-weight:600;color:color-mix(in srgb,var(--toast-color) 75%,var(--text-primary));margin-bottom:var(--spacing-xs);line-height:1.4}.toast-message{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.5;word-wrap:break-word}.toast-close{flex-shrink:0;width:var(--size-icon-sm);height:var(--size-icon-sm);border:none;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);transition:all .2s ease;margin-top:2px}.toast-close:hover,.toast-close:focus{background:var(--bg-elevated);color:var(--text-primary);transform:scale(1.1);outline:2px solid var(--focus-color);outline-offset:2px}.toast-progress{position:absolute;bottom:0;left:0;height:3px;background:var(--border-default);width:100%;overflow:hidden}.toast-progress-bar{height:100%;background:var(--toast-color);transform:translate(-100%);transition:transform linear}.code-block{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--spacing-lg);margin-top:var(--spacing-md);overflow-x:auto;cursor:pointer;transition:background .3s ease}.code-block:hover,.code-block:focus{background:#0000000a;outline:2px solid var(--focus-color);outline-offset:2px}.code-block code{font-family:Monaco,Consolas,SF Mono,Courier New,monospace;font-size:var(--font-size-sm);color:var(--text-primary);line-height:1.5}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes progressLoad{0%{width:0%}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}*:not(dialog):not([data-motion=keep]),*:not(dialog):not([data-motion=keep]):before,*:not(dialog):not([data-motion=keep]):after{transition-duration:0s!important;animation-duration:0s!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.btn:focus-visible,.form-input:focus-visible,.form-select:focus-visible,.theme-toggle:focus-visible,.nav-item:focus-visible,.list-item:focus-visible,.color-swatch:focus-visible,.code-block:focus-visible,.toast-close:focus-visible{outline:2px solid var(--focus-color);outline-offset:2px}@media(prefers-contrast:high){:root{--border-default: #3E1A13;--border-subtle: rgba(62, 26, 19, .3)}}@media print{.background-effects,.theme-toggle,.toast-container{display:none!important}.section{break-inside:avoid;box-shadow:none;border:1px solid #ccc}.btn{border:1px solid #ccc}}
