:root{color-scheme:light dark;--font-sans: "Onest", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;--bg: var(--tg-theme-bg-color, #f7f4ef);--surface: color-mix(in srgb, var(--tg-theme-secondary-bg-color, #ffffff) 88%, transparent);--surface-muted: color-mix(in srgb, #ece6dc 84%, transparent);--text: var(--tg-theme-text-color, #1f2523);--muted: var(--tg-theme-hint-color, #5c635e);--line: rgba(31, 37, 35, .12);--accent: var(--tg-theme-button-color, #5f7f67);--on-accent: var(--tg-theme-button-text-color, #ffffff);--task: #497d63;--event: #3b6fb6;--money: #a9622a;--wish: #a85568;--shop: #6f8f4f;--danger: #c74848;--success: #2f8f6b;--focus: #4c8dff;--radius-card: 12px;--radius-control: 10px;--tap: 44px;--nav-space: calc(106px + env(safe-area-inset-bottom)) ;--shadow-soft: 0 8px 24px rgba(20, 16, 12, .08);--focus-ring: 0 0 0 3px rgba(76, 141, 255, .28);--glass-blur: blur(16px);--ease-out: cubic-bezier(.16, 1, .3, 1);--duration-fast: .14s;--duration-ui: .2s;--z-sticky: 10;--z-sheet: 20;--z-sheet-panel: 21;color:var(--text);background:var(--bg);font-family:var(--font-sans);font-size:15px;line-height:1.4;letter-spacing:-.01em}html{min-height:100%;background:#0d0f0e}html[data-tg-color-scheme=light]{background:#f7f4ef}html[data-tg-color-scheme=dark]{--bg: var(--tg-theme-bg-color, #0d0f0e);--surface: color-mix(in srgb, var(--tg-theme-secondary-bg-color, #1a1d1b) 84%, transparent);--surface-muted: color-mix(in srgb, #222622 78%, transparent);--text: var(--tg-theme-text-color, #eef2ef);--muted: var(--tg-theme-hint-color, #a3aba4);--line: rgba(238, 242, 239, .1);--accent: var(--tg-theme-button-color, #6d9b86);--shadow-soft: 0 10px 28px rgba(0, 0, 0, .28)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:transparent;isolation:isolate}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;background:url(/eyes-bg.png) center 36% / cover no-repeat;transform:scale(1.05);opacity:.42;pointer-events:none}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;background:linear-gradient(180deg,#0808082e,#08080875 55%,#080808b3),radial-gradient(circle at 16% 12%,rgba(176,126,78,.2),transparent 34%),radial-gradient(circle at 84% 80%,rgba(120,78,48,.18),transparent 36%);pointer-events:none}html[data-tg-color-scheme=light] body:after{background:linear-gradient(180deg,#f7f4ef8a,#f7f4efad 52%,#f7f4efc7),radial-gradient(circle at 14% 18%,rgba(180,130,86,.1),transparent 34%),radial-gradient(circle at 86% 74%,rgba(130,88,58,.08),transparent 38%)}html[data-tg-color-scheme=light] body:before{opacity:.34}#root{position:relative;z-index:1}button,input,select{font:inherit}button:disabled{cursor:default}button,a{-webkit-tap-highlight-color:transparent}:where(button,a,input,select,textarea):focus-visible{outline:0;border-color:var(--focus);box-shadow:var(--focus-ring)}input,select{caret-color:var(--accent)}:where(input,select,textarea):focus{outline:0;border-color:var(--focus);box-shadow:var(--focus-ring)}button:active:not(:disabled),.icon-button:active:not(:disabled),.action-button:active:not(:disabled),.primary-button:active:not(:disabled),.secondary-button:active:not(:disabled),.danger-button:active:not(:disabled),.hub-tile:active,.quick-action:active,.install-app-button:active:not(:disabled),.filter-chip:active{transform:scale(.97)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}h1,h2,h3,p{margin:0}h1{font-size:1.56rem;line-height:1.08;font-weight:700;letter-spacing:-.03em;text-wrap:balance}h3{color:var(--muted);font-size:.78rem;font-weight:600;letter-spacing:.04em;margin-bottom:8px;text-transform:uppercase}.shell{min-height:100svh;padding:max(10px,env(safe-area-inset-top)) 12px var(--nav-space);color:var(--text)}.center-screen,.workspace,.detail-head,.loading,.error{max-width:520px;margin-left:auto;margin-right:auto}.center-screen{display:grid;gap:10px}.home-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border:1px solid var(--line);border-radius:var(--radius-card);background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-soft);padding:16px}.hero-copy{display:grid;gap:4px;min-width:0}.hero-greeting{color:var(--text);font-size:.96rem;font-weight:600}.hero-sub{color:var(--muted);font-size:.86rem;line-height:1.35;max-width:260px}.home-hero p{margin-top:0;max-width:none}.hero-refresh{background:color-mix(in srgb,var(--surface) 72%,transparent)}.install-app-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:fit-content;min-height:36px;margin-top:4px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:var(--radius-control);background:color-mix(in srgb,var(--accent) 11%,var(--surface));color:var(--accent);padding:0 10px;font-size:.78rem;font-weight:700;transition:transform var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.head-actions{display:flex;gap:8px;align-items:center}.eyebrow{display:block;color:var(--accent);font-size:.72rem;font-weight:700;letter-spacing:.08em;margin-bottom:3px;text-transform:uppercase}.hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.hub-tile{display:grid;gap:6px;min-height:78px;text-align:left;border:1px solid var(--line);border-radius:var(--radius-card);background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);color:var(--text);box-shadow:var(--shadow-soft);padding:12px;transition:transform var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}@media(hover:hover){.hub-tile:hover{border-color:color-mix(in srgb,var(--accent) 22%,var(--line));background:color-mix(in srgb,var(--surface) 98%,transparent)}}.hub-tile-label,.hub-tile-foot,.hub-tile small{color:var(--muted);font-size:.8rem;line-height:1.2}.hub-tile-metric{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.hub-tile strong{overflow-wrap:anywhere;font-size:1.48rem;font-variant-numeric:tabular-nums;font-weight:700;line-height:1;letter-spacing:-.03em}.hub-tile-money{display:block;font-size:1.28rem;line-height:1.1}.hub-tile.wide{grid-column:1 / -1}.hub-tile span,.hub-tile small,.summary-panel span,.item-main span{color:var(--muted);font-size:.82rem}.hub-tile span:not(.hub-tile-label){font-size:inherit}.hub-tile.warm strong{color:var(--danger)}.quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.quick-action{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-height:48px;border:1px solid var(--line);border-radius:var(--radius-card);background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);color:var(--text);box-shadow:var(--shadow-soft);padding:10px 12px;text-align:left;transition:transform var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}@media(hover:hover){.quick-action:hover{border-color:color-mix(in srgb,var(--accent) 18%,var(--line));background:color-mix(in srgb,var(--surface) 98%,transparent)}}.quick-action-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;min-width:28px;border-radius:8px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.quick-actions .quick-action:nth-child(1) .quick-action-icon{background:color-mix(in srgb,var(--task) 12%,transparent);color:var(--task)}.quick-actions .quick-action:nth-child(2) .quick-action-icon{background:color-mix(in srgb,var(--event) 12%,transparent);color:var(--event)}.quick-actions .quick-action:nth-child(3) .quick-action-icon{background:color-mix(in srgb,var(--money) 12%,transparent);color:var(--money)}.quick-actions .quick-action:nth-child(4) .quick-action-icon{background:color-mix(in srgb,var(--shop) 12%,transparent);color:var(--shop)}.quick-actions .quick-action:nth-child(5) .quick-action-icon{background:color-mix(in srgb,var(--wish) 12%,transparent);color:var(--wish)}.quick-action-label{font-size:.88rem;font-weight:600;line-height:1.15;letter-spacing:-.01em}@media(min-width:420px){.quick-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.quick-action{flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:72px;padding:10px 8px;text-align:center}.quick-action-label{font-size:.76rem}}@media(min-width:560px){.quick-actions{grid-template-columns:repeat(5,minmax(0,1fr))}}.stack,.workspace{display:grid;gap:10px}.segment{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-muted);padding:4px}.segment.segment-3{grid-template-columns:repeat(3,minmax(0,1fr))}.filter-row{display:flex;flex-wrap:wrap;gap:6px}.filter-chip{min-height:34px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);padding:0 12px;font-size:.78rem;font-weight:600;transition:background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.filter-chip.active{border-color:color-mix(in srgb,var(--accent) 34%,var(--line));background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent)}.empty-state{display:grid;justify-items:center;gap:8px;text-align:center;color:var(--muted);padding:18px 14px 20px}.empty-state svg{color:color-mix(in srgb,var(--muted) 72%,transparent)}.empty-state strong{color:var(--text);font-size:.95rem}.empty-state p{margin:0;max-width:260px;font-size:.84rem}.compact-summary .summary-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.compact-summary h3{margin:0;padding:0;color:var(--text);font-size:.92rem;letter-spacing:0;text-transform:none}.summary-sub{color:var(--muted);font-size:.76rem}.summary-metrics{display:flex;flex-wrap:wrap;gap:8px 12px;color:var(--muted);font-size:.82rem}.summary-metrics b{color:var(--text);font-weight:700}.segment button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-weight:600;transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.segment button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-soft)}.list-block{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-card);background:color-mix(in srgb,var(--surface) 96%,transparent);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:none;padding:8px 0 0}.list-block h3{padding:0 12px}.item-row{display:flex;align-items:center;gap:10px;min-height:52px;border-top:1px solid var(--line);padding:9px 12px;transition:background-color var(--duration-fast) var(--ease-out)}.task-row.overdue{background:color-mix(in srgb,var(--danger) 7%,var(--surface))}.clickable-row{cursor:pointer}.clickable-row:hover{background:color-mix(in srgb,var(--surface-muted) 42%,var(--surface))}.clickable-row:focus-visible{outline:0;box-shadow:inset var(--focus-ring)}.list-block h3+.item-row{border-top:0}.item-main{display:grid;gap:3px;min-width:0;flex:1}.item-main strong{min-width:0;overflow-wrap:anywhere;font-size:.98rem;font-weight:700}.event-row{align-items:center}.date-chip{display:grid;align-content:center;justify-items:center;width:48px;min-width:48px;min-height:46px;border-radius:8px;background:color-mix(in srgb,var(--event) 12%,var(--surface));color:var(--event);font-variant-numeric:tabular-nums}.date-chip strong{font-size:1rem;line-height:1}.date-chip span,.event-meta{white-space:nowrap}.date-chip span{max-width:44px;overflow:hidden;font-size:.68rem;font-weight:760;text-transform:uppercase;text-overflow:ellipsis}.event-meta{overflow:hidden;text-overflow:ellipsis}.status-dot{width:9px;height:9px;min-width:9px;border-radius:999px;background:color-mix(in srgb,var(--muted) 66%,transparent)}.status-dot.due{background:var(--event)}.status-dot.overdue{background:var(--danger)}.amount,.summary-panel strong{font-variant-numeric:tabular-nums}.amount{white-space:nowrap}.summary-panel{display:grid;gap:10px;border:1px solid var(--line);border-radius:var(--radius-card);background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-soft);padding:12px}.summary-panel strong{display:block;margin-top:2px;font-size:1.36rem;font-weight:700}.split,.tags,.row-actions,.form-actions{display:flex;flex-wrap:wrap;gap:8px}.tags span,.split span{border-radius:999px;background:var(--surface-muted);color:var(--muted);padding:6px 9px}.empty,.loading,.error{color:var(--muted);padding:14px}.error{border:1px solid color-mix(in srgb,var(--danger) 34%,transparent);border-radius:var(--radius-card);background:color-mix(in srgb,var(--danger) 10%,var(--surface));color:var(--danger)}.quick-form{position:relative;top:auto;z-index:5;display:grid;gap:11px;max-width:520px;margin:0 auto;border:1px solid var(--line);border-radius:var(--radius-card);background:color-mix(in srgb,var(--surface) 96%,transparent);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:0 14px 34px #0000002e;padding:12px}.pwa-install-hint{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;max-width:520px;margin:0 auto 10px;border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line));border-radius:var(--radius-card);background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:var(--accent);padding:10px 10px 10px 12px}.pwa-install-hint div{display:grid;gap:2px;min-width:0}.pwa-install-hint strong{color:var(--text);font-size:.84rem}.pwa-install-hint span{color:var(--muted);font-size:.76rem;line-height:1.3}.install-sheet{align-content:start}.install-sheet-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:var(--radius-card);background:color-mix(in srgb,var(--accent) 14%,var(--surface));color:var(--accent)}.install-sheet-copy{display:grid;gap:10px}.install-sheet-copy p,.install-sheet-copy ol{margin:0}.install-sheet-copy p{color:var(--muted)}.install-sheet-copy ol{display:grid;gap:7px;padding-left:20px;color:var(--text);font-size:.88rem}html.sheet-open,html.sheet-open body{overflow:hidden;overscroll-behavior:none}.sheet-backdrop{position:fixed;top:var(--sheet-viewport-top, 0);right:0;bottom:auto;left:0;z-index:var(--z-sheet);display:grid;align-items:end;box-sizing:border-box;height:var(--sheet-viewport-height, 100dvh);padding:12px 12px calc(12px + env(safe-area-inset-bottom));background:#0606067a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:sheet-backdrop-in var(--duration-ui) var(--ease-out) both}.sheet-card{position:relative;top:auto;z-index:var(--z-sheet-panel);width:min(520px,100%);max-height:min(760px,calc(var(--sheet-viewport-height, 100dvh) - 24px - env(safe-area-inset-top)));overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;margin:0 auto;border-radius:14px 14px var(--radius-card) var(--radius-card);animation:sheet-panel-in var(--duration-ui) var(--ease-out) both}@keyframes sheet-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-panel-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.form-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.field{display:grid;gap:6px}.inline-fields{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:8px}.field span{color:color-mix(in srgb,var(--muted) 88%,var(--text));font-size:.78rem;font-weight:600}.field:focus-within span{color:var(--focus)}.field-hint{margin:-2px 0 0;color:var(--muted);font-size:.78rem;line-height:1.35}.category-field{display:grid;gap:8px}.category-field-custom{margin-top:0}input,select{width:100%;min-height:var(--tap);border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);color:var(--text);padding:10px 12px}input::placeholder{color:color-mix(in srgb,var(--muted) 82%,var(--text))}.icon-button,.action-button,.primary-button,.secondary-button,.primary-link,.danger-button{min-height:var(--tap);border-radius:var(--radius-control);border:1px solid var(--line);cursor:pointer;transition:transform var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}@media(hover:hover){.icon-button:hover:not(:disabled){background:color-mix(in srgb,var(--surface-muted) 55%,var(--surface))}.secondary-button:hover:not(:disabled){color:var(--text);background:color-mix(in srgb,var(--surface-muted) 45%,var(--surface))}.action-button:hover:not(:disabled),.primary-button:hover:not(:disabled),.primary-link:hover{filter:brightness(.96)}.install-app-button:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 17%,var(--surface))}.danger-button:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 18%,var(--surface))}}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:var(--tap);min-width:var(--tap);background:var(--surface);color:var(--text);text-decoration:none}.icon-button.small{min-height:34px;width:34px;min-width:34px}.icon-button.success{border-color:color-mix(in srgb,var(--success) 28%,var(--line));background:color-mix(in srgb,var(--success) 12%,var(--surface));color:var(--success)}.icon-button.muted-action{opacity:.5}.action-button,.primary-button,.secondary-button,.primary-link,.danger-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;font-weight:600;text-decoration:none}.action-button,.primary-button,.primary-link{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.secondary-button{background:var(--surface);color:var(--muted)}.danger-button{border-color:color-mix(in srgb,var(--danger) 42%,var(--line));background:color-mix(in srgb,var(--danger) 13%,var(--surface));color:var(--danger)}.form-actions .danger-button{margin-right:auto}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-sticky);display:grid;grid-template-columns:repeat(4,1fr);gap:2px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:7px 6px calc(7px + env(safe-area-inset-bottom))}.tab{position:relative;display:grid;justify-items:center;gap:3px;min-width:0;min-height:52px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:.64rem;font-weight:700;padding:0 2px}.tab:before{content:"";width:18px;height:3px;border-radius:99px;background:transparent}.tab.active{color:var(--accent)}.tab.active:before{background:var(--accent)}.auth-shell{display:grid;place-items:center;padding-bottom:16px}.auth-panel{display:grid;gap:12px;justify-items:start;width:min(420px,100%);border:1px solid var(--line);border-radius:var(--radius-card);background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-soft);padding:18px}.brand-mark{display:grid;place-items:center;width:52px;height:52px;border-radius:var(--radius-card);background:var(--accent);color:var(--on-accent);font-weight:900}.pull-root{position:relative}.pull-indicator{display:grid;place-items:center;overflow:hidden;color:var(--muted);font-size:.78rem;font-weight:700;transition:height .16s ease}.skeleton-screen{display:grid;gap:12px}.skeleton{border-radius:var(--radius-card);background:linear-gradient(90deg,color-mix(in srgb,var(--surface-muted) 70%,transparent),color-mix(in srgb,var(--surface) 92%,transparent),color-mix(in srgb,var(--surface-muted) 70%,transparent));background-size:200% 100%;animation:skeleton-shimmer 1.2s var(--ease-out) infinite}.skeleton-hero{height:92px}.skeleton-panel{height:72px}.skeleton-tile{height:74px}.skeleton-tile.wide{grid-column:span 2}.skeleton-block{height:120px}.skeleton-block.short{height:72px}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.inline-loading{padding:8px 12px 12px;color:var(--muted);animation:pulse-muted 1.2s var(--ease-out) infinite}@keyframes pulse-muted{0%,to{opacity:.55}50%{opacity:1}}.search-bar{display:flex;align-items:center;gap:8px;min-height:var(--tap);margin-bottom:12px;border:1px solid var(--line);border-radius:var(--radius-control);background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);padding:0 12px}.search-bar input{flex:1;min-width:0;border:0;background:transparent;color:var(--text);font:inherit;outline:none}.search-bar input::placeholder{color:var(--muted)}.search-clear{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:var(--muted)}.search-results{margin-bottom:12px}.search-row{width:100%;border:0;background:transparent;text-align:left;font:inherit;color:inherit}.activity-row{align-items:flex-start}.activity-row .item-main span{color:var(--muted)}.activity-time{flex-shrink:0;color:var(--muted);font-size:.74rem;font-weight:700;white-space:nowrap}.gratitude-feed{display:grid;gap:10px}.gratitude-feed-head{display:flex;align-items:center;gap:8px;color:var(--wish)}.gratitude-feed-head h3{margin:0;font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.gratitude-list{display:grid;gap:8px}.gratitude-card{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start;padding:12px 14px;border:1px solid color-mix(in srgb,var(--wish) 28%,var(--line));border-radius:var(--radius-card);background:color-mix(in srgb,var(--wish) 10%,var(--surface));-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-soft)}.gratitude-card-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:999px;color:var(--wish);background:color-mix(in srgb,var(--wish) 16%,transparent)}.gratitude-card-copy{display:grid;gap:2px;min-width:0}.gratitude-card-copy strong{font-size:.92rem;font-weight:700}.gratitude-card-copy span{color:var(--muted);font-size:.86rem;line-height:1.35}.gratitude-card-time{flex-shrink:0;color:var(--muted);font-size:.72rem;font-weight:700;white-space:nowrap}.swipe-row{position:relative;overflow:hidden;border-radius:var(--radius-control)}.swipe-row-action{position:absolute;inset:0 0 0 auto;width:88px;display:grid;place-items:center;background:var(--success);color:#fff;font-size:.82rem;font-weight:700}.swipe-row .item-row{position:relative;z-index:1;background:var(--surface);transition:transform var(--duration-fast) var(--ease-out)}.checkbox-field{display:flex;align-items:center;gap:10px}.checkbox-field input{width:18px;height:18px}.form-error{margin:0;color:var(--danger);font-size:.86rem}.undo-toast{position:fixed;left:12px;right:12px;bottom:calc(72px + env(safe-area-inset-bottom));z-index:var(--z-sheet);display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--radius-card);background:color-mix(in srgb,var(--text) 92%,transparent);color:#fff;box-shadow:var(--shadow-soft)}.undo-toast-action{margin-left:auto;border:0;background:transparent;color:#fff;font-weight:700;text-decoration:underline;cursor:pointer}@media(min-width:420px){.quick-actions-3{grid-template-columns:repeat(3,minmax(0,1fr))}.quick-actions-3 .quick-action{flex-direction:row;align-items:center;justify-content:flex-start;min-height:48px;padding:10px 12px;text-align:left}.quick-actions-3 .quick-action-label{font-size:.88rem}}.month-nav{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px}.month-nav-copy{display:grid;gap:2px;min-width:0;text-align:center}.month-nav-copy strong{font-size:1rem}.month-nav-status{color:var(--muted);font-size:.76rem}.month-export{min-height:40px;padding:0 10px}.expense-list-toggle{width:100%;min-height:var(--tap);border:0;border-top:1px solid var(--line);background:transparent;color:var(--accent);font:inherit;font-size:.86rem;font-weight:700;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}@media(hover:hover){.expense-list-toggle:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}}.subscreen-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.subscreen-head h2{margin:0;font-size:1.1rem}@media(max-width:380px){.inline-fields{grid-template-columns:1fr}.head-actions{flex-wrap:wrap;justify-content:flex-end}}@media(min-width:780px){.shell{padding-top:24px}.tabbar{left:50%;right:auto;bottom:18px;width:520px;transform:translate(-50%);border:1px solid var(--line);border-radius:var(--radius-card)}}
