:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-paper:#232929;--color-surface:#2c3535;--color-surface-2:#18201f;--color-surface-inverse:#e3edeb;--color-ink:#e3edeb;--color-ink-muted:#bbc9c7;--color-ink-subtle:#bdcac7;--color-ink-inverse:#111716;--color-primary:#63d0ca;--color-primary-strong:#3fb6b5;--color-primary-on:#111716;--color-secondary:#6eb7ac;--color-secondary-strong:#a7ddda;--color-accent:#d7c45c;--color-accent-text:#d7c45c;--color-tag:#d7c45c;--color-tag-ink:#111716;--color-success:#e3edeb;--color-danger:#f59b8d;--color-warning:#d7c45c;--color-info:#6eb7ac;--color-border:#4a5d5b;--color-border-interactive:#78908d;--color-focus:#6cdedb;--color-cell-locked:#18201f;--color-cell-stage1:#22302f;--color-cell-stage2:#2c3535;--color-cell-stage3:#2c3535;--font-sans:system-ui, -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--font-serif:ui-serif, "AppleMyungjo", "Batang", serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--text-2xs:.6875rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:2.25rem;--leading-tight:1.25;--leading-normal:1.55;--leading-relaxed:1.75;--weight-regular:400;--weight-medium:500;--weight-bold:700;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--radius-sm:4px;--radius-md:8px;--radius-lg:14px;--radius-full:999px;--elevation-1:0 1px 2px #08100f38;--elevation-2:0 2px 8px #08100f4d;--elevation-3:0 8px 24px #08100f6b;--duration-instant:90ms;--duration-fast:.18s;--duration-normal:.26s;--duration-reveal:1.5s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-enter:cubic-bezier(0, 0, 0, 1);--ease-stamp:cubic-bezier(.34, 1.56, .64, 1);--touch-min:44px;--tap-gap-min:8px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-paper:#151d1c;--color-surface:#1f2a29;--color-surface-2:#101817;--color-surface-inverse:#e3edeb;--color-ink:#e3edeb;--color-ink-muted:#bbc9c7;--color-ink-subtle:#bdcac7;--color-ink-inverse:#101817;--color-primary:#63d0ca;--color-primary-strong:#6cdedb;--color-primary-on:#101817;--color-secondary:#6eb7ac;--color-secondary-strong:#a7ddda;--color-accent:#d7c45c;--color-accent-text:#d7c45c;--color-tag:#d7c45c;--color-tag-ink:#101817;--color-success:#e3edeb;--color-danger:#f59b8d;--color-warning:#d7c45c;--color-info:#6eb7ac;--color-border:#3f5754;--color-border-interactive:#78908d;--color-focus:#6cdedb;--color-cell-locked:#101817;--color-cell-stage1:#1b2927;--color-cell-stage2:#1f2a29;--color-cell-stage3:#1f2a29}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-paper:#f2f4f3;--color-surface:#fff;--color-surface-2:#e5eae8;--color-surface-inverse:#1e2328;--color-ink:#1e2328;--color-ink-muted:#4a535b;--color-ink-subtle:#505b62;--color-ink-inverse:#f2f4f3;--color-primary:#007c7a;--color-primary-strong:#00605e;--color-primary-on:#fff;--color-secondary:#1e2328;--color-secondary-strong:#1e2328;--color-accent:#ffd23f;--color-accent-text:#8a5a00;--color-tag:#ffd23f;--color-tag-ink:#1e2328;--color-success:#1e2328;--color-danger:#b42318;--color-warning:#8a5a00;--color-info:#1e2328;--color-border:#d3dad7;--color-border-interactive:#7d8a86;--color-focus:#1e2328;--color-cell-locked:#e1e6e4;--color-cell-stage1:#eef2f0;--color-cell-stage2:#fff;--color-cell-stage3:#fff;--font-serif:var(--font-sans);--elevation-1:0 1px 2px #1e23280f;--elevation-2:0 2px 8px #1e232814;--elevation-3:0 8px 24px #1e23281f}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-reduced-motion:reduce){:root{--duration-instant:1ms;--duration-fast:1ms;--duration-normal:1ms;--duration-reveal:1ms}}:root{font-family:var(--font-sans);color:var(--color-ink);background:var(--color-paper);font-synthesis:none;text-rendering:optimizelegibility}*{box-sizing:border-box}:root,body{word-break:keep-all;overflow-wrap:break-word}html{scroll-behavior:smooth}body{background:var(--color-paper);min-width:320px;margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}.plain-link{background:0 0;border:0;padding:0}.dogam-grid{border:0;min-inline-size:0;margin:0;padding:0}.sr-only{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.015em;line-height:1.32}h1{font-family:var(--font-sans);font-size:clamp(2.4rem,6vw,4.4rem);font-weight:700}h1 em,h2 em{color:var(--color-primary);font-style:normal}h2{font-size:clamp(1.75rem,3vw,2.5rem)}h3{font-size:1.15rem}p{line-height:var(--leading-relaxed)}.section-wrap{width:min(1180px,100% - 48px);margin:0 auto}.eyebrow{color:var(--color-primary-strong);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em}.page-lede,.hero-lede{color:var(--color-ink-muted);font-size:var(--text-lg);line-height:1.75}.site-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;height:76px;padding:0 max(24px,50vw - 590px);display:flex}.wordmark{font-family:var(--font-sans);min-height:var(--touch-min);align-items:center;gap:10px;font-size:1.25rem;font-weight:700;display:inline-flex}.wordmark-logo{object-fit:contain;width:168px;height:42px}.wordmark-stamp{background:var(--color-primary);color:var(--color-primary-on);font-family:var(--font-sans);border-radius:3px;justify-content:center;align-items:center;width:28px;height:28px;font-size:1rem;display:inline-flex;transform:rotate(-4deg)}.site-header nav{align-items:center;gap:28px;display:flex}.site-header nav a:not(.button){color:var(--color-ink-muted);font-size:var(--text-sm);min-height:var(--touch-min);min-width:var(--touch-min);justify-content:center;align-items:center;display:inline-flex}.site-header nav a:not(.button):hover,.text-link:hover{color:var(--color-primary-strong)}.button{background:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-md);color:var(--color-primary-on);min-height:52px;transition:transform var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard);justify-content:center;align-items:center;gap:24px;padding:0 22px;font-weight:700;display:inline-flex}.button:hover{background:var(--color-primary-strong);transform:translateY(-2px)}.button span{font-size:1.25rem}.button-small{min-height:var(--touch-min);gap:10px;padding:0 15px}.text-link{color:var(--color-primary-strong);min-height:var(--touch-min);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--color-primary) 45%, transparent);text-decoration-color:color-mix(in srgb, var(--color-primary) 45%, transparent);text-underline-offset:5px;align-items:center;font-weight:700;display:inline-flex}.quiet-button{color:var(--color-ink-muted);min-height:var(--touch-min);background:0 0;border:0;padding:6px 12px}.home-household-card,.household-hero,.household-section,.monthly-close{border:1px solid var(--color-border);background:var(--color-surface)}.home-household-card{justify-content:space-between;align-items:center;gap:24px;margin:0 0 40px;padding:28px;display:flex}.home-household-card h2{margin:8px 0}.home-household-card p:last-child{color:var(--color-ink-muted)}.household-page{gap:24px;display:grid}.household-hero{background:var(--color-surface);grid-template-columns:minmax(0,1fr) minmax(220px,300px);align-items:end;gap:32px;margin-top:24px;padding:clamp(28px,5vw,56px);display:grid}.household-hero h1{margin:12px 0 18px;font-size:clamp(2.05rem,5vw,3.7rem)}.household-hero>div>p:last-child{color:var(--color-ink-muted);font-size:var(--text-lg);max-width:620px}.household-meter{background:var(--color-paper);border-left:5px solid var(--color-primary);gap:8px;padding:24px;display:grid}.household-meter strong{font-family:var(--font-sans);font-size:2.6rem}.household-meter>div{background:var(--color-border);height:7px;overflow:hidden}.household-meter i{background:var(--color-primary);height:100%;display:block}.household-meter small,.household-section-head>span,.household-item small,.shopping-list small{color:var(--color-ink-muted)}.household-section,.monthly-close{padding:clamp(24px,4vw,40px)}.household-section-head{justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px;display:flex}.household-section-head h2{margin-top:6px}label{color:var(--color-ink-muted);font-size:var(--text-sm);gap:7px;display:grid}.budget-grid{background:var(--color-border);border:1px solid var(--color-border);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid}.budget-card{background:var(--color-surface);gap:12px;padding:22px;display:grid}.budget-card>span{color:var(--color-ink-muted)}.budget-card>strong{font-family:var(--font-sans);font-size:1.75rem}.budget-card label{font-size:var(--text-xs);align-items:center;gap:8px;display:flex}.budget-card input{border:0;border-bottom:1px solid var(--color-border);width:100%;min-width:0;padding:6px}.budget-card.is-over small{color:var(--color-danger);font-weight:700}.household-add,.shopping-add{grid-template-columns:minmax(0,1fr) auto auto;gap:10px;margin-bottom:20px;display:grid}.household-add input,.household-add select,.shopping-add input{background:var(--color-paper);border:1px solid var(--color-border);border-radius:var(--radius-sm);min-height:48px;padding:0 14px}.household-empty{border:1px dashed var(--color-border);text-align:center;padding:28px}.household-empty p{color:var(--color-ink-muted);margin-top:6px}.household-empty.compact{padding:20px}.household-items{gap:10px;display:grid}.household-item{border:1px solid var(--color-border);grid-template-columns:minmax(150px,1fr) minmax(260px,auto) auto;align-items:center;gap:16px;padding:18px;display:grid}.household-item.status-low{border-left:5px solid var(--color-warning)}.household-item.status-out{border-left:5px solid var(--color-primary)}.household-item-main{gap:4px;display:grid}.household-item-main>span{color:var(--color-primary-strong);font-family:var(--font-mono);font-size:var(--text-xs)}.stock-actions{border:0;gap:4px;min-inline-size:0;margin:0;padding:0;display:flex}.stock-actions button,.item-secondary-actions button,.shopping-add button,.receipt-link{border:1px solid var(--color-border);min-height:var(--touch-min);background:0 0;border-radius:999px;padding:0 12px}.stock-actions button.active,.item-secondary-actions button.active{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-paper)}.item-secondary-actions{gap:6px;display:grid}.shopping-add{grid-template-columns:minmax(0,1fr) auto}.shopping-list{background:var(--color-border);border:1px solid var(--color-border);gap:1px;margin:0;padding:0;list-style:none;display:grid}.shopping-list li{background:var(--color-surface);grid-template-columns:44px 1fr 44px;align-items:center;gap:12px;min-height:64px;padding:8px 12px;display:grid}.shopping-list li>button:first-child{background:var(--color-paper);border:1px solid var(--color-border);height:var(--touch-min);width:var(--touch-min);border-radius:50%}.shopping-list li>span{gap:3px;display:grid}.remove-shopping{background:0 0;border:0;min-height:44px;font-size:1.4rem}.receipt-link{margin:18px 0 0 auto;display:block}.monthly-close{background:var(--color-ink);color:var(--color-paper);margin-bottom:24px}.household-section-label{color:var(--color-primary-strong);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:700}.monthly-close .household-section-label{color:color-mix(in srgb, var(--color-primary) 55%, white)}.monthly-close dl{background:color-mix(in srgb, var(--color-paper) 25%, transparent);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:28px 0;display:grid}.monthly-close dl>div{background:var(--color-ink);gap:8px;padding:18px;display:grid}.monthly-close dt,.monthly-close>p{color:color-mix(in srgb, var(--color-paper) 65%, transparent)}.monthly-close dd{font-family:var(--font-sans);margin:0;font-size:1.5rem}@media (max-width:760px){.home-household-card,.household-hero{grid-template-columns:1fr;align-items:stretch}.home-household-card{display:grid}.budget-grid,.monthly-close dl{grid-template-columns:1fr}.household-section-head{flex-direction:column;align-items:start;gap:8px}.household-add{grid-template-columns:minmax(0,1fr) auto}.household-add .button{grid-column:1/-1}.household-item{grid-template-columns:1fr;align-items:stretch}.stock-actions button{flex:1;min-width:0}.item-secondary-actions{grid-template-columns:1fr 1fr}}.full-width{width:100%}.public-main{overflow:hidden}.hero{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);align-items:center;gap:clamp(48px,9vw,140px);min-height:640px;padding-top:96px;padding-bottom:96px;display:grid}.hero h1{margin:18px 0 24px}.hero-lede{max-width:560px}.hero-actions{flex-wrap:wrap;align-items:center;gap:24px;margin-top:36px;display:flex}.quiet-note{color:var(--color-ink-subtle);font-size:var(--text-xs);margin-top:22px}.symbol-mark{color:var(--color-primary-strong);font-family:var(--font-sans);font-size:2rem;line-height:1;display:inline-block}.first-specimen{background:var(--color-paper);border:1px solid var(--color-border-interactive);border-left:10px solid var(--color-primary);color:var(--color-ink);width:min(100%,460px);padding:clamp(28px,5vw,48px)}.first-specimen-head{border-bottom:1px dashed var(--color-border-interactive);color:var(--color-ink-subtle);font-family:var(--font-mono);font-size:var(--text-xs);justify-content:space-between;padding-bottom:16px;display:flex}.first-specimen-mark{border:1px solid var(--color-primary);color:var(--color-primary);font-family:var(--font-mono);border-radius:50%;justify-content:center;align-items:center;width:58px;height:58px;margin:42px 0 28px;font-size:2rem;display:flex}.first-specimen h2{margin:0 0 12px;font-size:clamp(1.6rem,4vw,2.25rem)}.first-specimen>p{color:var(--color-ink-muted);font-size:var(--text-sm);margin:0}.first-specimen-path{border-top:1px solid var(--color-border);font-family:var(--font-mono);font-size:var(--text-xs);grid-template-columns:repeat(3,1fr);gap:0;margin:38px 0 0;padding:16px 0 0;list-style:none;display:grid}.first-specimen-path li{color:var(--color-ink-subtle);position:relative}.first-specimen-path li+li{padding-left:18px}.first-specimen-path li+li:before{content:"→";position:absolute;left:0}.section-head{border-top:1px solid var(--color-border);justify-content:space-between;align-items:end;padding-top:76px;padding-bottom:34px;display:flex}.section-head h2{margin-top:12px}.section-head>p{color:var(--color-ink-muted);font-size:var(--text-sm);text-align:right}.public-grid-wrap{max-height:none;position:relative;overflow:visible}.grid-fade{display:none}.dogam-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;display:grid}.dogam-cell{background:var(--color-cell-locked);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-ink);text-align:left;min-width:0;min-height:166px;transition:transform var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);flex-direction:column;justify-content:flex-start;align-items:stretch;padding:14px;display:flex;position:relative}.dogam-cell:hover{border-color:var(--color-primary);transform:translateY(-3px)}.dogam-cell.stage-1{background:var(--color-cell-stage1)}.dogam-cell.stage-2,.dogam-cell.stage-3{background:var(--color-cell-stage2)}.dogam-cell.stage-3{border-color:var(--color-accent);box-shadow:inset 0 3px 0 var(--color-accent)}.cell-head{justify-content:space-between;align-items:center;min-width:0;display:flex}.cell-serial{color:var(--color-ink-subtle);font-family:var(--font-mono);font-size:var(--text-xs)}.cell-illustration{object-fit:contain;width:68px;height:68px;margin:14px auto 12px}.cell-illustration.is-locked{filter:grayscale();opacity:.34}.symbol-mark.is-locked{color:var(--color-border-interactive);filter:grayscale();opacity:.65}.dogam-cell strong{font-size:var(--text-base);letter-spacing:-.015em;min-width:0;line-height:1.4}.cell-stage{background:color-mix(in srgb, var(--color-primary) 9%, var(--color-surface));border-radius:var(--radius-full);color:var(--color-primary-strong);font-family:var(--font-mono);font-size:var(--text-xs);padding:3px 7px}.catalog-more{justify-content:flex-end;padding-top:22px;padding-bottom:76px;display:flex}.site-footer{border-top:1px solid var(--color-border);color:var(--color-ink-subtle);font-size:var(--text-xs);justify-content:space-between;max-width:1180px;margin:0 auto;padding:24px;display:flex}.site-footer span+span{gap:10px;display:flex}.site-footer a,.settings-links a{min-height:var(--touch-min);min-width:var(--touch-min);justify-content:center;align-items:center;display:inline-flex}.app-header{border-bottom:1px solid var(--color-border);height:64px;padding:var(--ait-safe-top,0px) 20px 0;z-index:5;background:var(--color-paper);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.back-link{color:var(--color-ink-muted);font-family:var(--font-sans);min-height:var(--touch-min);align-items:center;font-size:1.05rem;display:inline-flex}.app-title{color:var(--color-ink-subtle);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.02em}.icon-button{flex:0 0 var(--touch-min);height:var(--touch-min);width:var(--touch-min);background:0 0;border:0;justify-content:center;align-items:center;font-size:1.1rem;display:inline-flex}.app-main{max-width:760px;padding:24px 20px calc(130px + var(--ait-safe-bottom,0px));margin:0 auto}.app-greeting h1,.page-intro h1{margin:10px 0 12px}.app-greeting p,.page-intro p{color:var(--color-ink-muted)}.app-greeting .button{margin-top:28px}.app-stats{border-bottom:1px solid var(--color-border);border-top:1px solid var(--color-border);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin:28px 0;padding:20px 0;display:grid}.app-stats div{flex-direction:column;gap:3px;padding-left:18px;display:flex}.app-stats div+div{border-left:1px solid var(--color-border)}.app-stats strong{font-family:var(--font-mono);overflow-wrap:anywhere;font-size:clamp(1.05rem,3vw,1.7rem)}.app-stats strong.is-over{color:var(--color-danger)}.app-stats span{color:var(--color-ink-subtle);font-size:var(--text-xs)}.memory-story-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--elevation-1);margin:-14px 0 56px;padding:clamp(24px,5vw,38px)}.memory-story-kicker{justify-content:space-between;align-items:center;display:flex}.memory-story-kicker>span{color:var(--color-ink-subtle);font-family:var(--font-mono);font-size:var(--text-xs)}.memory-story-card h2{font-family:var(--font-sans);margin:22px 0 12px;font-size:clamp(1.65rem,5vw,2.35rem)}.memory-story-card>p{color:var(--color-ink-muted)}.memory-story-card blockquote{border-left:3px solid var(--color-primary);color:var(--color-primary-strong);font-family:var(--font-sans);margin:24px 0;padding-left:16px;font-size:1.08rem;line-height:1.7}.app-section{margin-top:48px}.section-heading{justify-content:space-between;align-items:end;margin-bottom:18px;display:flex}.section-heading h2{margin-top:8px;font-size:1.65rem}.app-main .dogam-grid{grid-template-columns:repeat(4,1fr)}.app-main .dogam-cell{min-height:158px}.recent-section{margin-top:58px}.home-recent{margin:0 0 50px}.recent-list,.record-list{border-top:1px solid var(--color-border)}.recent-row,.record-card{border-bottom:1px solid var(--color-border);align-items:center;gap:14px;min-height:74px;padding:10px 0;display:flex}.recent-symbol{background:var(--color-surface-2);border-radius:50%;flex:0 0 44px;justify-content:center;align-items:center;height:44px;display:inline-flex}.recent-symbol .symbol-mark{font-size:1.45rem}.recent-row>div,.record-main{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.recent-row span,.record-main span{color:var(--color-ink-subtle);font-size:var(--text-xs)}.recent-row strong,.record-main>strong{-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;line-height:1.45;display:-webkit-box;overflow:hidden}.recent-row b,.record-card>b{font-family:var(--font-mono);font-size:var(--text-sm);white-space:nowrap}.streak-card{background:var(--color-surface-2);border:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-top:48px;padding:24px;display:flex}.streak-card strong{font-family:var(--font-mono);margin-top:8px;font-size:2rem;display:block}.streak-card div>span{color:var(--color-ink-muted);font-size:var(--text-sm)}.streak-mark{color:var(--color-accent-text);font-size:3.5rem}.unlock-overlay{z-index:20;background:#1e232875;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.unlock-card{animation:unlock-enter var(--duration-reveal) var(--ease-standard) both;background:var(--color-paper);border:1px solid var(--color-border-interactive);box-shadow:var(--elevation-3);text-align:center;width:100%;max-width:360px;padding:32px 24px 26px;position:relative}.unlock-stamp{border:1px solid var(--color-primary);color:var(--color-primary);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.04em;padding:5px 8px;display:inline-block;transform:rotate(-5deg)}.unlock-illustration{width:136px;height:136px;margin:26px auto 20px;display:block}.unlock-card h2{font-family:var(--font-sans);margin:12px 0 8px;font-size:2rem}.unlock-card>p:not(.eyebrow){color:var(--color-ink-muted);margin-bottom:22px}@keyframes unlock-enter{0%{opacity:0;transform:translateY(18px)scale(.94)rotate(-1deg)}18%{opacity:1}45%{transform:translateY(-4px)scale(1.02)rotate(.6deg)}to{opacity:1;transform:translateY(0)scale(1)rotate(0)}}.app-nav{background:var(--color-surface);border-top:1px solid var(--color-border);padding:8px 8px max(8px, env(safe-area-inset-bottom));z-index:10;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.app-nav a{color:var(--color-ink-subtle);font-size:var(--text-xs);flex-direction:column;align-items:center;gap:3px;min-width:52px;min-height:44px;padding:3px;display:flex}.app-nav a span{font-size:1.15rem}.app-nav a.active{color:var(--color-primary-strong);font-weight:700}.onboarding{flex-direction:column;min-height:calc(100vh - 64px);padding-top:55px;display:flex}.onboarding-mark{justify-content:space-between;align-items:center;margin-bottom:70px;display:flex}.onboarding-mark>span{color:var(--color-primary);font-family:var(--font-mono);font-size:2rem}.progress-dots{gap:8px;display:flex}.progress-dots span{background:var(--color-border);border-radius:50%;width:8px;height:8px}.progress-dots span.active{background:var(--color-primary)}.onboarding-art{border:1px dashed var(--color-border-interactive);flex:1;justify-content:center;align-items:center;min-height:240px;margin:48px 0;display:flex}.onboarding-art .symbol-mark{color:var(--color-primary);font-size:7rem}.onboarding .quiet-button{margin-top:12px}.page-intro{margin-bottom:24px}.capture-page .page-intro,.confirm-page .page-intro{margin-bottom:35px}.confirm-page{padding-top:28px}.confirm-page .page-intro{margin-bottom:16px}.confirm-page .page-intro h1{margin:10px 0}.notification-import{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);gap:16px;padding:20px;display:grid}.import-heading,.batch-row-head{align-items:center;gap:12px;display:flex}.import-heading>span{color:var(--color-primary-strong);font-family:var(--font-mono);font-size:var(--text-xs)}.import-heading>div,.batch-row-head>div{flex-direction:column;flex:1;gap:3px;display:flex}.import-heading small,.batch-row-head small{color:var(--color-ink-subtle);font-size:var(--text-xs)}.notification-import textarea{background:var(--color-surface);border:1px solid var(--color-border-interactive);border-radius:var(--radius-sm);color:var(--color-ink);font:inherit;resize:vertical;width:100%;min-height:126px;padding:12px;line-height:1.55}.import-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.import-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.capture-drop{border:1px dashed var(--color-border-interactive);border-radius:var(--radius-lg);cursor:pointer;text-align:center;min-height:220px;transition:background var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);flex-direction:column;justify-content:center;align-items:center;padding:28px;display:flex}.capture-drop:hover{background:var(--color-surface-2);border-color:var(--color-primary)}.capture-drop.compact{min-height:165px}.capture-drop.receipt-option{min-height:126px;margin-top:12px}.capture-drop input{opacity:0;width:1px;height:1px;position:absolute}.capture-icon{border:1px solid var(--color-primary);color:var(--color-primary);border-radius:50%;justify-content:center;align-items:center;width:62px;height:62px;margin-bottom:18px;font-size:2rem;display:inline-flex}.capture-drop.receipt-option .capture-icon{width:44px;height:44px;margin-bottom:10px}.capture-drop small,.manual-card small{color:var(--color-ink-subtle);font-size:var(--text-xs);margin-top:8px;display:block}.capture-divider{color:var(--color-ink-subtle);align-items:center;gap:12px;margin:24px 0;display:flex}.capture-divider:before,.capture-divider:after{background:var(--color-border);content:"";flex:1;height:1px}.capture-divider span{font-size:var(--text-xs)}.manual-card,.setting-action{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:left;align-items:center;gap:14px;width:100%;min-height:74px;padding:14px 16px;display:flex}.manual-card>span,.setting-action>span:first-child{color:var(--color-primary);font-size:1.4rem}.manual-card div,.setting-action>span:nth-child(2){flex-direction:column;flex:1;gap:3px;display:flex}.manual-card b,.setting-action b{color:var(--color-primary-strong)}.capture-page .manual-card{border-color:var(--color-primary);margin-bottom:16px}.manual-form{background:var(--color-surface-2);border:1px solid var(--color-border);gap:14px;margin-top:24px;padding:18px;display:grid}.capture-page .manual-form{margin:0 0 16px}input,select{background:var(--color-surface);border:1px solid var(--color-border-interactive);border-radius:var(--radius-sm);color:var(--color-ink);width:100%;min-height:46px;padding:0 12px}input:focus,select:focus{border-color:var(--color-focus)}.loading-card{background:var(--color-surface-2);justify-content:center;align-items:center;gap:12px;min-height:180px;display:flex}.loading-spinner{border:2px solid var(--color-border);border-left-color:var(--color-primary);border-radius:50%;width:22px;height:22px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.confirm-card{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--elevation-1);gap:18px;padding:22px;display:grid;position:relative}.batch-confirm-list{gap:14px;display:grid}.confirm-card.batch-row{border-radius:var(--radius-md)}.confirm-page .confirm-card{gap:12px;padding:16px}.confirm-card.batch-row.is-excluded{opacity:1;color:var(--color-ink-muted);background:var(--color-surface-2);border-style:dashed}.batch-row-head{margin-bottom:4px}.include-toggle{min-height:var(--touch-min);min-width:var(--touch-min);flex-direction:row;align-items:center;gap:6px;display:flex}.include-toggle input{accent-color:var(--color-primary);width:22px;height:22px;min-height:22px}.row-warning,.form-error{color:var(--color-danger);font-size:var(--text-xs);line-height:1.5}.duplicate-notice p{margin:6px 0 12px}.duplicate-confirmation{cursor:pointer;min-height:var(--touch-min);flex-direction:row;align-items:center;gap:10px;display:flex}.duplicate-confirmation input{accent-color:var(--color-primary);flex:none;width:22px;height:22px;min-height:22px;padding:0}.duplicate-confirmation span{flex:1}button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:1;color:var(--color-ink-muted);background:var(--color-surface-2);border-style:dashed}.confirm-symbol{background:var(--color-surface-2);border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:4px;display:flex}.confirm-page .confirm-symbol{width:48px;height:48px}.confirm-card label{position:relative}.confirm-card label small{color:var(--color-ink-subtle);align-self:end;position:absolute;bottom:13px;right:12px}.confirm-optional{border:1px solid var(--color-border);border-radius:var(--radius-md)}.confirm-optional summary{color:var(--color-ink);cursor:pointer;min-height:var(--touch-min);padding:12px 14px}.confirm-optional[open] summary{border-bottom:1px solid var(--color-border)}.memory-fields{background:color-mix(in srgb, var(--color-secondary) 7%, var(--color-paper));border:1px solid color-mix(in srgb, var(--color-secondary) 24%, var(--color-border));border-radius:var(--radius-md);gap:18px;padding:18px;display:grid}.confirm-optional>.memory-fields{margin:12px}.memory-fields textarea,.memory-editor textarea{background:var(--color-surface);border:1px solid var(--color-border-interactive);border-radius:var(--radius-sm);color:var(--color-ink);font:inherit;resize:vertical;width:100%;min-height:88px;padding:11px 12px;line-height:1.55}.mood-picker{border:0;margin:0;padding:0}.mood-picker legend{color:var(--color-ink-muted);font-size:var(--text-sm);margin-bottom:10px}.mood-picker>div,.mood-picker.compact{flex-wrap:wrap;gap:7px;display:flex}.mood-picker button,.favorite-button,.memory-edit-button{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-ink-muted);font-size:var(--text-xs);min-height:var(--touch-min);padding:0 13px}.mood-picker button.active,.favorite-button.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-on)}.favorite-toggle{min-height:var(--touch-min);flex-direction:row;align-items:center;gap:10px;display:flex}.favorite-toggle input{accent-color:var(--color-primary);width:21px;height:21px;min-height:21px}.confirm-actions{margin-top:24px}.notice{border:1px solid var(--color-border);font-size:var(--text-sm);margin:18px 0;padding:13px 15px;line-height:1.55}.notice-sage{background:color-mix(in srgb, var(--color-secondary) 9%, var(--color-paper));border-color:color-mix(in srgb, var(--color-secondary) 35%, var(--color-border))}.notice-danger{background:color-mix(in srgb, var(--color-danger) 8%, var(--color-paper));border-color:color-mix(in srgb, var(--color-danger) 30%, var(--color-border));color:var(--color-danger)}.filter-pills{flex-wrap:wrap;gap:8px;margin-bottom:22px;display:flex}.filter-pills button{border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-ink-muted);min-height:var(--touch-min);background:0 0;padding:0 15px}.filter-pills button.active{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-ink-inverse)}.search-field{background:var(--color-surface);align-items:center;gap:9px;margin-bottom:22px;padding:0 12px;display:flex}.search-field span{color:var(--color-primary);font-size:1.4rem}.search-field input{border:0;padding-left:0}.record-card{position:relative}.record-card.memory-record{border-left:3px solid #0000;flex-wrap:wrap;align-items:flex-start;padding:18px 8px 18px 12px}.record-card.memory-record.is-favorite{border-left-color:var(--color-primary)}.record-main .memory-note{color:var(--color-ink);font-family:var(--font-sans);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:8px;font-size:1rem;line-height:1.6;display:-webkit-box;overflow:hidden}.memory-meta{gap:6px;margin-top:7px;display:flex}.memory-meta span{background:var(--color-surface-2);border-radius:var(--radius-full);padding:4px 8px}.memory-arc{flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:9px;display:flex}.memory-arc span{color:var(--color-ink-muted);font-size:var(--text-xs)}.memory-arc strong{color:var(--color-secondary);font-size:var(--text-sm)}.after-note{border-left:2px solid var(--color-primary);color:var(--color-ink-muted);font-size:var(--text-sm);margin-top:9px;padding-left:9px}.record-actions-inline{gap:3px;display:flex}.memory-edit-button{min-height:var(--touch-min);padding:0 9px}.memory-editor{background:var(--color-surface-2);border-radius:var(--radius-md);flex:1 0 100%;gap:14px;margin-top:8px;padding:16px;display:grid}.memory-editor label{color:var(--color-ink-muted);font-size:var(--text-sm)}.memory-editor textarea{margin-top:8px}.memory-editor-heading{border-bottom:1px solid var(--color-border);padding-bottom:12px}.memory-editor-heading p{margin:0 0 4px}.reason-picker,.satisfaction-picker,.repurchase-picker{border:0;margin:0;padding:0}.reason-picker legend,.satisfaction-picker legend,.repurchase-picker legend{color:var(--color-ink-muted);font-size:var(--text-sm);margin-bottom:8px}.reason-picker>div,.satisfaction-picker>div,.repurchase-picker>div{flex-wrap:wrap;gap:7px;display:flex}.reason-picker button,.satisfaction-picker button,.repurchase-picker button,.memory-comparables button{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-ink-muted);min-height:var(--touch-min);text-align:left;padding:7px 12px}.reason-picker button.active,.satisfaction-picker button.active,.repurchase-picker button.active{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-ink-inverse)}.memory-comparables{gap:7px;display:grid}.memory-comparables>span{color:var(--color-ink-muted);font-size:var(--text-xs)}.reflection-nudge{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);justify-content:space-between;align-items:center;gap:20px;margin:20px 0;padding:20px;display:flex}.reflection-nudge h2{font-size:var(--text-lg);margin:3px 0 7px}.reflection-nudge p{margin:0}.memory-filters{overflow-x:auto}@media (max-width:560px){.reflection-nudge{flex-direction:column;align-items:stretch}.reflection-nudge .button{justify-content:center}}.delete-button{color:var(--color-danger);font-size:var(--text-xs);background:0 0;border:0;padding:8px}.delete-button.restore{color:var(--color-secondary)}.record-filters{gap:8px;margin-bottom:18px;display:flex}.record-filters button{border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-ink-muted);min-height:var(--touch-min);background:0 0;padding:0 14px}.record-filters button.active{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-ink-inverse)}.record-tags{flex-wrap:wrap;align-items:center;gap:4px;margin-top:6px;display:flex}.record-tags:before{content:"#"}.record-tags{color:var(--color-accent-text);font-size:var(--text-xs)}.tag-picker{border:0;margin:24px 0 0;padding:0}.confirm-optional>.tag-picker{margin:12px}.tag-picker legend{color:var(--color-ink-muted);font-size:var(--text-sm);margin-bottom:10px}.tag-list{flex-wrap:wrap;gap:8px;display:flex}.tag{border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-ink-muted);font-size:var(--text-xs);min-height:var(--touch-min);background:0 0;padding:0 12px}.tag.active{background:var(--color-secondary);border-color:var(--color-secondary);color:#fff}.archive-offer{background:var(--color-ink);border-radius:var(--radius-lg);color:var(--color-ink-inverse);margin-top:26px;padding:clamp(24px,6vw,38px)}.archive-discovery{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);gap:12px;margin-top:26px;padding:20px;display:grid}.archive-discovery p{color:var(--color-ink-muted);margin:0;line-height:1.55}.archive-offer .eyebrow{color:var(--color-accent)}.archive-offer h2{font-family:var(--font-sans);margin:14px 0 12px}.archive-offer>p:not(.eyebrow,.commerce-notice){color:color-mix(in srgb, var(--color-ink-inverse) 72%, transparent)}.archive-offer ul{gap:9px;margin:24px 0;padding-left:20px;line-height:1.5;display:grid}.archive-offer .quiet-button{color:var(--color-ink-inverse);margin-top:6px}.archive-secondary-button{border:1px solid color-mix(in srgb, var(--color-ink-inverse) 45%, transparent);border-radius:var(--radius-md);color:var(--color-ink-inverse);background:0 0;min-height:48px;margin-top:9px;padding:0 14px;font-weight:700}.memory-asset-summary{background:var(--color-surface-2);border:1px solid var(--color-border);grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px;padding:22px;display:grid}.memory-asset-summary>div{flex-direction:column;gap:5px;display:flex}.memory-asset-summary strong{font-family:var(--font-mono);font-size:2rem}.memory-asset-summary small,.memory-asset-summary p{color:var(--color-ink-muted)}.memory-archive{background:var(--color-surface-2);border:1px solid var(--color-border);margin-top:26px;padding:clamp(22px,5vw,36px)}.memory-archive h2,.memory-archive h3{font-family:var(--font-sans)}.memory-archive h2{margin:12px 0 24px;font-size:clamp(1.55rem,5vw,2.3rem)}.memory-archive h3{margin:0 0 14px;font-size:1.15rem}.memory-archive-stats{background:var(--color-border);border:1px solid var(--color-border);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid}.memory-archive-stats>div{background:var(--color-surface);flex-direction:column;gap:6px;min-height:104px;padding:18px;display:flex}.memory-archive-stats strong{font-family:var(--font-mono);font-size:1.4rem}.memory-archive-stats small,.memory-archive-moments small,.memory-archive-empty{color:var(--color-ink-muted)}.memory-archive-revisits,.memory-archive-moments{border-top:1px solid var(--color-border);margin-top:28px;padding-top:22px}.memory-archive-revisits>p{justify-content:space-between;margin:8px 0;display:flex}.memory-archive-moments{gap:12px;display:grid}.memory-archive-moments h3{margin-bottom:2px}.memory-archive-moments article{background:var(--color-surface);border-left:3px solid var(--color-accent);padding:16px 18px}.memory-archive-moments article p{font-family:var(--font-sans);margin:8px 0;font-size:1.05rem;line-height:1.65}.memory-archive-moments article span{color:var(--color-secondary);font-size:var(--text-xs)}.memory-asset-summary p{border-top:1px solid var(--color-border);font-size:var(--text-sm);grid-column:1/-1;padding-top:14px}.commerce-notice{color:var(--color-accent);font-size:var(--text-sm);text-align:center;margin-top:10px}.empty-state{border:1px dashed var(--color-border-interactive);text-align:center;flex-direction:column;align-items:center;padding:46px 20px;display:flex}.empty-state>span{color:var(--color-border-interactive);font-size:2.7rem}.empty-state h3{margin-top:16px}.empty-state p{color:var(--color-ink-subtle);font-size:var(--text-sm);margin:8px 0 18px}.report-hero{background:var(--color-surface-2);border:1px solid var(--color-border);margin-bottom:22px;padding:24px}.period-tabs{grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 22px;display:grid}.period-tabs button{border:1px solid var(--color-border);color:var(--color-ink-subtle);background:0 0;border-radius:999px;min-height:44px}.period-tabs button.active,.period-tabs button:focus-visible{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-on)}.comparison-card{background:var(--color-paper);border:1px solid var(--color-border);grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:22px;padding:18px;display:grid}.comparison-card>div{flex-direction:column;gap:4px;display:flex}.comparison-card strong{font-family:var(--font-mono);font-size:1.05rem}.comparison-card small,.comparison-card p{color:var(--color-ink-subtle);font-size:var(--text-xs)}.comparison-card p{grid-column:1/-1;margin:0}.report-hero strong{font-family:var(--font-mono);margin:15px 0 18px;font-size:4.2rem;display:block}.report-hero strong small{color:var(--color-ink-subtle);font-size:1rem}.progress-track{background:var(--color-border);height:8px;overflow:hidden}.progress-track span{background:var(--color-primary);height:100%;display:block}.report-card,.percentile-card{border:1px solid var(--color-border);margin-bottom:22px;padding:24px}.bar-row{grid-template-columns:86px 1fr 38px;align-items:center;gap:10px;margin-top:22px;display:grid}.bar-row>div{background:var(--color-surface-2);height:9px;overflow:hidden}.bar-row>div span{height:100%;display:block}.bar-row b{font-family:var(--font-mono);font-size:var(--text-xs);text-align:right}.percentile-card{background:var(--color-surface-2);justify-content:space-between;align-items:center;display:flex}.percentile-card h2{font-family:var(--font-sans);margin:13px 0 12px;font-size:1.7rem}.percentile-card p:last-child{color:var(--color-ink-subtle);font-size:var(--text-xs)}.percentile-number{color:var(--color-border-interactive);font-family:var(--font-mono);font-size:5rem}.settings-group{border-top:1px solid var(--color-border);margin-top:34px;padding-top:20px}.local-recovery-page{justify-content:center;align-items:center;min-height:100dvh;padding:32px 16px;display:flex}.local-recovery-card{background:var(--color-surface);border:1px solid var(--color-border);width:100%;max-width:760px;padding:clamp(24px,6vw,56px)}.local-recovery-card h1{margin:12px 0 20px;font-size:clamp(2rem,7vw,3.7rem)}.recovery-issues{gap:10px;margin:28px 0;padding:0;list-style:none;display:grid}.recovery-issues li,.recovery-copy{background:var(--color-surface-2);border:1px solid var(--color-border);padding:16px}.recovery-issues li,.recovery-copy p{flex-direction:column;gap:6px;display:flex}.recovery-issues span,.recovery-copy span,.recovery-vault>p{color:var(--color-ink-muted);font-size:var(--text-sm)}.recovery-actions,.recovery-primary-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.recovery-primary-actions{justify-content:space-between;margin-top:24px}.recovery-confirm,.previous-recovery-copies{border-bottom:0;border-left:0;border-right:0;border-top:1px solid var(--color-border);min-inline-size:0;margin-top:24px;padding:24px 0 0}.recovery-confirm>p{color:var(--color-ink-muted);margin-bottom:16px}.previous-recovery-copies,.recovery-vault,.recovery-vault-row{gap:14px;display:grid}.previous-recovery-copies h2{font-size:1.15rem}.recovery-copy .recovery-actions{margin-top:12px}.recovery-vault-row{border-bottom:1px solid var(--color-border);padding-bottom:14px}.recovery-vault-row>.quiet-button{justify-self:start}.settings-group h2{margin-bottom:14px;font-size:1.1rem}.setting-row{justify-content:space-between;align-items:center;min-height:68px;display:flex}.setting-row>span:first-child,.setting-action span:nth-child(2){flex-direction:column;gap:4px;display:flex}.setting-row small,.setting-action small{color:var(--color-ink-subtle);font-size:var(--text-xs)}.setting-row strong,.setting-action strong{line-height:1.45}.setting-row select{max-width:100px}.setting-row input[type=checkbox]{accent-color:var(--color-primary);width:24px;height:24px;min-height:24px}.quiet-hours{justify-content:space-between;align-items:center;min-height:68px;display:flex}.quiet-hours>span{flex-direction:column;gap:4px;display:flex}.quiet-hours small{color:var(--color-ink-subtle);font-size:var(--text-xs)}.quiet-hours>div{align-items:center;gap:8px;display:flex}.quiet-time-picker{flex:1;min-width:0;position:relative}.quiet-time-picker input[type=time]{cursor:pointer;opacity:0;z-index:1;width:100%;height:100%;margin:0;position:absolute;inset:0}.quiet-time-value{border:1px solid var(--color-border-interactive);border-radius:var(--radius-sm);min-height:var(--touch-min);justify-content:center;align-items:center;padding:0 10px;display:flex}.quiet-time-picker input[type=time]:focus-visible+.quiet-time-value{outline:3px solid var(--color-focus);outline-offset:3px}.setting-action{border-width:0 0 1px;border-radius:0;min-height:78px;padding-left:0;padding-right:0}.backup-code-card{background:var(--color-surface-2);border:1px solid var(--color-border-interactive);flex-direction:column;gap:8px;margin:14px 0;padding:16px;display:flex}.backup-code-card code{color:var(--color-primary-strong);font-family:var(--font-mono);letter-spacing:.08em;overflow-wrap:anywhere;word-break:normal;font-size:1.05rem}.backup-code-card small{color:var(--color-ink-subtle);font-size:var(--text-xs)}.backup-ack{font-size:var(--text-xs);min-height:var(--touch-min);align-items:flex-start;gap:8px;margin:8px 0 14px;line-height:1.5;display:flex}.backup-ack input{accent-color:var(--color-primary);flex:none;width:20px;height:20px;margin-top:1px}.restore-form{gap:12px;margin:16px 0 4px;display:grid}.restore-file-control{flex:0 0 112px;min-width:0;position:relative}.restore-file-control input{cursor:pointer;opacity:0;z-index:1;width:100%;height:100%;position:absolute;inset:0}.restore-file-control>span{border:1px solid var(--color-border-interactive);border-radius:var(--radius-sm);font-size:var(--text-xs);min-height:var(--touch-min);text-align:center;justify-content:center;align-items:center;padding:6px 10px;display:flex}.restore-file-control input:focus-visible+span{outline:3px solid var(--color-focus);outline-offset:3px}.report-actions{gap:10px;margin-top:22px;display:grid}.danger-group .setting-action{color:var(--color-danger)}.danger-group .setting-action small{color:var(--color-ink-subtle)}.settings-links{flex-wrap:wrap;gap:16px;margin-top:42px;display:flex}.settings-links a{color:var(--color-ink-subtle);font-size:var(--text-xs);text-underline-offset:4px;text-decoration:underline}.catalog-page{padding-top:90px;padding-bottom:110px}.catalog-page h1,.catalog-detail h1,.legal-page h1{margin:15px 0 18px}.catalog-list{margin-top:60px}.catalog-list section{border-top:1px solid var(--color-border);padding:26px 0 34px}.catalog-list h2{align-items:center;gap:10px;font-size:1.25rem;display:flex}.catalog-list h2 small{color:var(--color-ink-subtle);font-family:var(--font-mono);font-size:var(--text-xs);margin-left:auto;font-weight:400}.group-dot{border-radius:50%;width:11px;height:11px;display:inline-block}.catalog-links{grid-template-columns:repeat(2,1fr);gap:1px;margin-top:16px;display:grid}.catalog-links a{border-bottom:1px solid var(--color-border);align-items:center;gap:10px;min-height:48px;padding:4px 8px;display:flex}.catalog-links a:hover{background:var(--color-surface-2)}.catalog-links .symbol-mark{font-size:1.3rem}.catalog-links .link-arrow{color:var(--color-primary);margin-left:auto}.catalog-detail{max-width:760px;padding-top:90px;padding-bottom:130px}.detail-symbol{background:var(--color-surface-2);border:1px solid var(--color-border);justify-content:center;align-items:center;width:110px;height:110px;margin:55px 0 26px;display:flex}.detail-symbol .symbol-mark{font-size:4.5rem}.detail-copy{color:var(--color-ink-muted);font-size:var(--text-lg);max-width:620px}.catalog-detail .button{margin-top:28px}.legal-page{max-width:820px;padding-top:90px;padding-bottom:130px}.legal-copy{color:var(--color-ink-muted);font-size:var(--text-lg);margin-top:52px;line-height:1.8}.legal-copy h2{color:var(--color-ink);font-family:var(--font-sans);margin:48px 0 12px;font-size:1.5rem}.legal-copy details{border-top:1px solid var(--color-border);padding:16px 0}.legal-copy summary{color:var(--color-ink);cursor:pointer;font-weight:700}.release-note{border-top:1px solid var(--color-border);margin-top:65px;padding-top:24px}.release-note span{color:var(--color-primary-strong);font-family:var(--font-mono);font-size:var(--text-xs)}.release-note h2{font-family:var(--font-sans);margin:16px 0 12px;font-size:2rem}@media (max-width:780px){.section-wrap{width:min(100% - 32px,600px)}.site-header{height:64px;padding:0 16px}.site-header nav{gap:13px}.site-header nav a:not(.button){display:none}.hero{min-height:auto;padding:66px 0 70px;display:block}.hero-copy{max-width:560px}.first-specimen{max-width:420px;margin:66px auto 0}.section-head{flex-direction:column;align-items:start;gap:14px;padding-top:54px}.section-head>p{text-align:left}.public-grid-wrap{max-height:none}.dogam-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dogam-cell{aspect-ratio:auto;min-width:0;min-height:164px;padding:12px}.dogam-cell strong{font-size:var(--text-sm)}.site-footer{flex-direction:column;align-items:start;gap:12px;padding:20px 16px 90px}.app-main{padding-top:20px}.import-grid{grid-template-columns:1fr}.import-actions{flex-direction:column-reverse;align-items:stretch}.import-actions .button,.import-actions .quiet-button{width:100%}.app-main .dogam-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.app-main .dogam-cell{min-height:164px}.comparison-card{grid-template-columns:1fr 1fr}.comparison-card>div:last-of-type{grid-column:1/-1}.catalog-links{grid-template-columns:1fr}.catalog-page,.catalog-detail,.legal-page{padding-top:60px}}@media (max-width:480px){h1{font-size:clamp(2rem,10vw,2.35rem)}.local-recovery-card{padding:24px 18px}.local-recovery-card .recovery-actions,.local-recovery-card .recovery-primary-actions{flex-direction:column;align-items:stretch}.local-recovery-card .button,.local-recovery-card .quiet-button{width:100%}.first-specimen-path{grid-template-columns:1fr;gap:8px}.wordmark-logo{width:126px;height:34px}.site-header .button-small{font-size:var(--text-xs);padding:0 11px}.app-stats{grid-template-columns:1fr;margin:36px 0 30px;padding:0}.app-stats div{padding:14px 4px}.app-stats div+div{border-left:0;border-top:1px solid var(--color-border)}.app-stats strong{font-size:1.35rem}.home-household-card{flex-direction:column;align-items:stretch;margin-bottom:34px;padding:20px}.home-household-card .button{width:100%}.setting-row,.quiet-hours{align-items:flex-start;gap:12px}.quiet-hours{flex-direction:column}.quiet-hours>div{width:100%}.quiet-time-picker{flex:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto;transition-duration:1ms;animation-duration:1ms}}.receipt-line-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;display:grid}.receipt-line-details input{width:100%;min-width:0}.korean-datetime{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.korean-datetime>span{flex:170px}.korean-datetime input{flex:150px;min-width:0;max-width:100%}[hidden]{display:none!important}.daily-home,.daily-household,.capture-page,.records-page{padding-top:1.5rem;padding-bottom:calc(10rem + var(--ait-safe-bottom,env(safe-area-inset-bottom)))}.daily-home .app-greeting h1,.daily-heading h1,.capture-page .page-intro h1,.records-page .page-intro h1{font-family:var(--font-sans);letter-spacing:-.035em;margin:.5rem 0;font-size:1.6rem;line-height:1.35}.daily-home .app-greeting p,.daily-heading p,.capture-page .page-intro p{margin:.5rem 0 1rem;font-size:.875rem;line-height:1.6}.daily-home .app-greeting .button{min-height:3rem}.daily-home .app-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:1.25rem 0;padding:0;display:grid}.daily-home .app-stats>div{border-top:0;min-width:0;padding:.875rem .5rem}.daily-home .app-stats>div+div{border-left:1px solid var(--color-border)}.daily-home .app-stats strong{overflow-wrap:anywhere;font-size:1.25rem}.daily-home .app-stats span{font-size:.75rem;line-height:1.5}.daily-home .home-household-card{gap:1rem;margin-bottom:1.25rem;padding:1rem}.daily-home .home-household-card h2{font-size:1.125rem;line-height:1.5}.daily-home .home-household-card p{font-size:.8125rem}.daily-home .home-recent{margin-top:1.25rem}.daily-home .section-heading h2{font-size:1.25rem}.home-report-link{border-top:1px solid var(--color-border);color:var(--color-primary-strong);padding:1rem 0;font-size:.875rem;display:block}.task-tabs{border:1px solid var(--color-border);border-radius:var(--radius-sm);gap:.25rem;min-inline-size:0;margin:1rem 0 1.25rem;padding:.25rem;display:flex}.task-tabs button{min-width:0;min-height:2.75rem;color:var(--color-ink-muted);border-radius:var(--radius-sm);background:0 0;border:0;flex:1;padding:.5rem;font-size:.8125rem;line-height:1.5}.task-tabs button[aria-pressed=true]{background:var(--color-surface);color:var(--color-primary-strong);box-shadow:0 0 0 1px var(--color-border);font-weight:700}.quick-record,.recurring-form{gap:1rem;display:grid}.quick-record label,.recurring-form label,.receipt-items-editor label{font-size:.875rem}.quick-record input,.quick-record select,.recurring-form input,.recurring-form select,.receipt-items-editor input,.daily-household input,.daily-household select{background:var(--color-surface);border:1px solid var(--color-border-interactive);border-radius:var(--radius-sm);width:100%;min-width:0;min-height:3rem;padding:.75rem;font-size:1rem}.quick-record input[inputmode=numeric]{font-size:1.375rem;font-family:var(--font-mono)}.recent-presets p{margin:0 0 .5rem;font-size:.875rem}.recent-presets p small{color:var(--color-ink-muted);margin-top:.25rem;font-size:.75rem;display:block}.recent-presets>div{flex-wrap:wrap;gap:.5rem;display:flex}.recent-presets button{text-align:left;border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-sm);gap:.25rem;max-width:100%;min-height:2.75rem;padding:.625rem .75rem;font-size:.875rem;display:grid}.recent-presets button small{color:var(--color-ink-muted);font-size:.75rem}.quick-save-bar{bottom:calc(4.75rem + var(--ait-safe-bottom,env(safe-area-inset-bottom)));background:var(--color-paper);z-index:3;padding:.75rem 0;position:sticky}.quick-save-bar>small{text-align:center;color:var(--color-ink-muted);margin-top:.5rem;font-size:.75rem;display:block}.quick-items,.receipt-items-editor{border-top:1px solid var(--color-border);padding:.75rem 0}.quick-items summary,.receipt-items-editor summary,.completed-shopping summary{cursor:pointer;min-height:2.75rem;color:var(--color-primary-strong);padding:.75rem 0;font-size:.875rem}.field-hint{color:var(--color-ink-muted);margin:.5rem 0 1rem;font-size:.8125rem;line-height:1.6}.item-suggestions{flex-wrap:wrap;gap:.5rem;margin:.75rem 0;display:flex}.item-suggestions button{background:var(--color-surface);border:1px solid var(--color-border-interactive);border-radius:var(--radius-sm);max-width:100%;min-height:2.75rem;padding:.5rem .75rem;font-size:.875rem}.item-suggestions button[aria-pressed=true]{background:var(--color-surface-2);border-color:var(--color-primary-strong);color:var(--color-primary-strong)}.selected-items{gap:.5rem;padding:0;list-style:none;display:grid}.selected-items li{justify-content:space-between;align-items:center;gap:.75rem;font-size:.875rem;display:flex}.selected-items button{background:0 0;border:0;min-width:2.75rem;min-height:2.75rem}.quick-record .duplicate-choice{align-items:center;gap:.75rem;display:flex}.quick-record .duplicate-choice input{flex:none;width:1.5rem;min-height:1.5rem}.daily-household .household-section,.daily-household .monthly-close{padding:0}.daily-household .household-section-head{gap:.75rem;margin:1rem 0}.daily-household .household-section-head h2{font-size:1.125rem}.daily-household .shopping-add{grid-template-columns:minmax(0,1fr) auto}.daily-household .shopping-add button{min-height:3rem;padding:.75rem 1rem}.daily-household .shopping-list li{grid-template-columns:44px minmax(0,1fr) 44px;min-height:4rem;padding:.75rem 0}.daily-household .shopping-list li>span{overflow-wrap:anywhere;min-width:0}.daily-household .shopping-list li>button{flex:none;min-width:44px;min-height:44px}.daily-household .stock-actions{flex-wrap:wrap}.daily-household .stock-actions button,.daily-household .item-secondary-actions button{min-height:2.75rem;font-size:.8125rem}.daily-household .stock-actions button[aria-pressed=true]{background:var(--color-primary);color:var(--color-paper)}.completed-shopping{border-top:1px solid var(--color-border);margin-top:1rem}.completed-shopping ul{padding:0;list-style:none}.completed-shopping li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem 0;display:flex}.completed-shopping button{min-height:2.75rem;font-size:.875rem}.item-detail-button{text-align:left;background:0 0;border:0;gap:.375rem;min-height:2.75rem;padding:0;display:grid}.item-detail-button span{color:var(--color-primary-strong);font-size:.75rem}.item-history{border-top:1px solid var(--color-border);grid-column:1/-1;padding-top:1rem}.item-history article{gap:.5rem;padding:1rem 0;display:grid}.item-history p{margin:0;font-size:.875rem}.recurring-payments{gap:1rem;display:grid}.recurring-payments>.button{justify-self:start}.recurring-card{border-bottom:1px solid var(--color-border);gap:.5rem;padding:1rem 0;display:grid}.recurring-card>span,.recurring-card>p{margin:0;font-size:.875rem}.recurring-card .item-secondary-actions{flex-wrap:wrap;gap:.5rem;display:flex}.recurring-form,.recurring-record{border:1px solid var(--color-border);background:var(--color-surface);padding:1rem}.recurring-form h2,.recurring-record h2{font-size:1.125rem}.records-page .receipt-items-editor{grid-column:1/-1;width:100%}.records-page .record-card{min-width:0}@media (max-width:640px){.records-page .record-card.memory-record{grid-template-columns:44px minmax(0,1fr) auto;gap:10px;display:grid}.records-page .record-actions-inline{flex-wrap:wrap;grid-column:2/-1}.records-page .record-select,.records-page .memory-editor{grid-column:1/-1}}.app-nav{padding-bottom:max(.5rem, var(--ait-safe-bottom,env(safe-area-inset-bottom)));min-height:4.5rem}.app-header{gap:.5rem;height:auto;min-height:64px}.app-header .back-link{overflow-wrap:anywhere;max-width:45%;font-size:.875rem}.app-header .app-title{overflow-wrap:anywhere;text-align:center;min-width:0}.app-nav a{flex:1;min-width:0;padding:.5rem .125rem;font-size:.6875rem;line-height:1.4}.app-nav a[href="/app/capture"] span{background:var(--color-primary);color:var(--color-paper);text-align:center;border-radius:50%;width:1.875rem;height:1.875rem;line-height:1.75rem}@media (max-width:600px){.daily-home .app-stats{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,.8fr)}.daily-home .home-household-card{flex-direction:column;align-items:stretch}.daily-home .home-household-card .button{width:100%}.daily-home .home-household-card .eyebrow{display:none}.daily-household .budget-grid{grid-template-columns:1fr}.daily-household .household-item{grid-template-columns:minmax(0,1fr)}.daily-household .household-add{grid-template-columns:minmax(0,1fr) auto}.daily-household .household-add input{grid-column:1/-1}.task-tabs{flex-wrap:wrap}.task-tabs button{flex-basis:20%}}.amount,.record-card>b,.recent-row>b,.app-stats strong,.comparison-card strong,.budget-card strong,.calendar-cell b,.chart-row b,.statement-result-unused{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.receipt-edge,.receipt-slip,.confirm-card,.save-toast{--tear:8px;background:var(--color-surface);-webkit-mask:conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) 50% / calc(var(--tear) * 2) 100%;-webkit-mask:conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) 50% / calc(var(--tear) * 2) 100%;mask:conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) 50% / calc(var(--tear) * 2) 100%;padding-bottom:calc(var(--tear) + 12px)}.tag-band{background:var(--color-tag,var(--color-accent));color:var(--color-tag-ink,var(--color-ink));border-radius:2px 6px 6px 2px;position:relative}.tag-band:before{background:var(--color-paper);content:"";border-radius:50%;width:6px;height:6px;position:absolute;top:50%;left:8px;transform:translateY(-50%)}.app-nav a .nav-icon{justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.app-nav a[href="/app/capture"] .nav-icon{background:var(--color-primary);color:var(--color-primary-on);border-radius:50%;width:34px;height:34px}.app-nav a.active .nav-icon{color:var(--color-primary-strong)}.app-nav a[href="/app/capture"].active .nav-icon{color:var(--color-primary-on)}html[data-channel=ait] .app-nav{border:1px solid var(--color-border);bottom:calc(10px + var(--ait-safe-bottom,0px));box-shadow:var(--elevation-2);border-radius:20px;min-height:64px;padding:6px;left:12px;right:12px}.landing-hero{gap:20px;padding:28px 0 36px;display:grid}.landing-title{letter-spacing:-.03em;font-size:clamp(1.75rem,7vw,3rem);line-height:1.25}.landing-flow{gap:10px;max-width:520px;margin:0;padding:0;list-style:none;display:grid}.sms-bubble{background:var(--color-surface-2);border-radius:18px 18px 18px 4px;max-width:92%;padding:12px 14px}.sms-bubble small{color:var(--color-ink-subtle);font-size:var(--text-xs);margin-bottom:2px;display:block}.sms-bubble p{font-size:var(--text-sm);line-height:1.5}.receipt-slip{border:1px solid var(--color-border);padding:14px 16px calc(var(--tear) + 12px);border-bottom:0;gap:4px;display:grid}.receipt-slip-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.receipt-slip-row b{font-size:1.375rem}.receipt-slip small{color:var(--color-ink-muted)}.landing-outcomes{gap:6px;display:grid}.landing-outcomes p{grid-template-columns:52px minmax(0,1fr);align-items:baseline;gap:10px;padding:8px 12px;line-height:1.45;display:grid}.landing-outcomes p.tag-band{grid-template-columns:42px minmax(0,1fr);padding-left:22px}.landing-outcomes span{color:var(--color-ink-subtle);font-size:var(--text-xs)}.landing-outcomes .tag-band span{color:var(--color-tag-ink,var(--color-ink))}.landing-outcomes b{font-size:var(--text-sm);font-weight:600}.landing-actions{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.landing-cta{min-width:min(100%,260px)}.landing-compare,.landing-guides,.landing-dogam{border-top:1px solid var(--color-border);gap:14px;padding:28px 0;display:grid}.landing-compare h2,.landing-guides h2,.landing-dogam h2{font-size:1.25rem}.landing-compare dl{gap:12px;margin:0;display:grid}.landing-compare dt{font-weight:700}.landing-compare dd{color:var(--color-ink-muted);margin:2px 0 0}.landing-guides ul{gap:0;margin:0;padding:0;list-style:none;display:grid}.landing-guides a{border-bottom:1px solid var(--color-border);min-height:48px;color:var(--color-primary-strong);align-items:center;font-weight:600;display:flex}@media (min-width:900px){.landing-hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;padding:64px 0}.landing-title,.landing-actions,.landing-hero .quiet-note{grid-column:1}.landing-flow{grid-area:1/2/span 3}}.eyebrow{font-family:var(--font-sans);letter-spacing:0;font-weight:600}.landing-hero .quiet-note{margin-top:-8px}.compact-intro h1{margin:0 0 6px;font-size:1.625rem}.compact-intro{margin-bottom:16px}.paste-primary{min-height:56px;margin-bottom:14px}.paste-label{gap:2px;margin-bottom:6px;font-weight:600;display:grid}.paste-label small,.ai-notice{color:var(--color-ink-subtle);font-size:var(--text-xs);font-weight:400}.ai-notice{margin-top:12px;line-height:1.5}.ai-result{border-left:3px solid var(--color-primary)}.recent-presets small{display:block}.save-toast{border:1px solid var(--color-border);bottom:calc(84px + var(--ait-safe-bottom,env(safe-area-inset-bottom,0px)));box-shadow:var(--elevation-3);max-width:520px;padding:12px 14px calc(var(--tear) + 10px);z-index:30;border-bottom:0;justify-content:space-between;align-items:center;gap:12px;margin:0 auto;display:flex;position:fixed;left:12px;right:12px}.save-toast span{gap:2px;min-width:0;display:grid}.save-toast small{color:var(--color-ink-muted)}.save-toast button{border:1px solid var(--color-border-interactive);border-radius:var(--radius-md);color:var(--color-primary-strong);background:0 0;flex:none;min-height:44px;padding:0 14px;font-weight:700}.app-header .app-title{font-family:var(--font-sans);letter-spacing:0;font-weight:700}.sheet-open .app-nav{display:none}.sheet-backdrop{z-index:40;background:#1e23286b;flex-direction:column;justify-content:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--color-paper);border-radius:16px 16px 0 0;flex-direction:column;width:100%;max-width:640px;max-height:min(88dvh,760px);margin:0 auto;display:flex}.sheet-head{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:8px 8px 8px 20px;display:flex}.sheet-head h2{font-size:1.125rem}.sheet-close{color:var(--color-ink-muted);background:0 0;border:0;min-width:56px;min-height:44px}.sheet-body{overscroll-behavior:contain;padding:16px 20px;overflow-y:auto}.sheet-foot{border-top:1px solid var(--color-border);padding:12px 20px calc(12px + var(--ait-safe-bottom,env(safe-area-inset-bottom,0px)))}.sheet-subhead,.settings-subhead{margin:18px 0 8px;font-size:.9375rem}.record-editor{gap:14px;display:grid}.record-editor label,.store-rule{gap:6px;font-weight:600;display:grid}.record-editor input,.record-editor select,.store-rule select,.custom-range input,.tag-manager input,.tag-add input,.bulk-bar select{background:var(--color-surface);border:1px solid var(--color-border-interactive);border-radius:var(--radius-md);color:var(--color-ink);width:100%;min-height:48px;padding:0 12px;font-size:1rem}.record-editor small{color:var(--color-ink-subtle);font-weight:400}.field-error{color:var(--color-danger)!important}.check-row{align-items:center;gap:10px;min-height:44px;font-weight:500;display:flex!important}.check-row input{width:22px;height:22px;min-height:0}.chip-row{scrollbar-width:none;border:0;gap:8px;min-width:0;margin:0;padding:2px 0 6px;display:flex;overflow-x:auto}.chip-row button{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-ink-muted);flex:none;min-height:44px;padding:0 14px}.chip-row button[aria-pressed=true]{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-paper);font-weight:700}.custom-range{grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;display:grid}.custom-range label{font-size:var(--text-sm);gap:4px;display:grid}.records-summary{border-bottom:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:10px 0 4px;padding:8px 0 12px;display:flex}.records-summary p{line-height:1.3;display:grid}.records-summary p span{color:var(--color-ink-muted);font-size:var(--text-sm)}.records-summary p b{font-size:1.375rem}.records-summary-actions{gap:6px;display:flex}.records-summary-actions .quiet-button{align-items:center;gap:4px;min-height:44px;display:inline-flex}.store-link{color:var(--color-ink);text-align:left;min-height:32px;text-decoration:underline;-webkit-text-decoration-color:var(--color-border-interactive);text-decoration-color:var(--color-border-interactive);text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:700}.record-select{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:flex}.record-select input{width:22px;height:22px}.record-card.is-selected{background:color-mix(in srgb, var(--color-primary) 8%, var(--color-surface))}.bulk-bar{background:var(--color-surface);border-top:1px solid var(--color-border);box-shadow:var(--elevation-3);padding:10px 16px calc(10px + var(--ait-safe-bottom,env(safe-area-inset-bottom,0px)));z-index:20;grid-template-columns:1fr auto;align-items:center;gap:8px;display:grid;position:fixed;bottom:0;left:0;right:0}.bulk-bar>span{font-weight:700}.bulk-bar select{grid-column:1}.danger-text{color:var(--color-danger)!important}.store-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.store-summary dt{color:var(--color-ink-subtle);font-size:var(--text-xs)}.store-summary dd{margin:2px 0 0;font-size:1.125rem;font-weight:700}.store-recent{margin:0 0 16px;padding:0;list-style:none}.store-recent button{border:0;border-bottom:1px solid var(--color-border);background:0 0;justify-content:space-between;width:100%;min-height:48px;display:flex}.tag-manager ul,.rule-list{gap:6px;margin:0 0 10px;padding:0;list-style:none;display:grid}.tag-manager li{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;display:grid}.tag-manager small{color:var(--color-ink-subtle)}.tag-add{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:8px;display:grid}.rule-list li{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;min-height:52px;display:flex}.rule-list span{display:grid}.rule-list small{color:var(--color-ink-subtle)}.record-tags span+span:before{content:" · "}.calendar-view{margin-top:8px}.calendar-head{justify-content:space-between;align-items:center;display:flex}.calendar-head div{text-align:center;display:grid}.calendar-head .quiet-button{min-width:44px;min-height:44px;font-size:1.5rem}.calendar-grid{grid-template-columns:repeat(7,minmax(44px,1fr));gap:2px;margin-top:8px;display:grid}.calendar-weekday{color:var(--color-ink-subtle);font-size:var(--text-xs);text-align:center;padding:4px 0}.calendar-weekday.is-sunday,.calendar-cell.is-holiday .calendar-date{color:var(--color-danger)}.calendar-cell{background:var(--color-surface);border:1px solid #0000;border-radius:6px;flex-direction:column;align-items:center;gap:1px;min-height:56px;padding:4px 1px;display:flex}.calendar-cell b{font-size:.6875rem;font-weight:700;line-height:1.2}.calendar-cell.is-today{border-color:var(--color-ink)}.calendar-cell.is-selected{background:var(--color-ink);color:var(--color-paper)}.calendar-cell.is-selected .calendar-date{color:var(--color-paper)}.calendar-marks{gap:3px;min-height:6px;display:flex}.mark-recurring,.mark-holiday{border-radius:50%;width:6px;height:6px;display:inline-block}.mark-recurring{background:var(--color-primary)}.mark-holiday{background:var(--color-danger)}.calendar-legend{color:var(--color-ink-subtle);font-size:var(--text-xs);gap:14px;margin-top:8px;display:flex}.calendar-day{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-top:12px;padding:12px 14px}.calendar-day h3{margin-bottom:6px;font-size:1rem}.calendar-day ul{margin:0;padding:0;list-style:none}.calendar-day li{border-bottom:1px solid var(--color-border);justify-content:space-between;padding:8px 0;display:flex}.calendar-day li span{display:grid}.calendar-day li small{color:var(--color-ink-subtle)}.calendar-day-total{font-weight:700;border-bottom:0!important}.calendar-recurring{background:var(--color-tag);color:var(--color-tag-ink);font-size:var(--text-sm);margin-bottom:6px;padding:4px 8px}fieldset.record-filters{border:0;margin:0;padding:0}.card-title{margin-bottom:12px;font-size:1.125rem}.chart-list,.tag-totals,.month-close-top{gap:12px;margin:0;padding:0;list-style:none;display:grid}.chart-row{grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.chart-icon{background:var(--color-surface-2);border-radius:8px;width:36px;height:36px}.chart-main{gap:3px;min-width:0;display:grid}.chart-name{gap:6px;font-weight:600;display:flex}.chart-name small{color:var(--color-ink-muted);font-family:var(--font-mono)}.chart-bar{width:100%;height:8px;display:block}.chart-track{fill:var(--color-surface-2)}.chart-fill{fill:var(--color-primary)}.chart-delta{color:var(--color-ink-subtle);font-size:var(--text-xs)}.tag-totals button{border:0;border-bottom:1px solid var(--color-border);background:0 0;justify-content:space-between;align-items:center;width:100%;min-height:48px;display:flex}.tag-totals small{color:var(--color-ink-subtle)}.statement-card{gap:10px;display:grid}.statement-input{gap:6px;font-weight:600;display:grid}.statement-input input{background:var(--color-surface);border:1px solid var(--color-border-interactive);border-radius:var(--radius-md);font-family:var(--font-mono);min-height:48px;padding:0 12px;font-size:1.125rem}.statement-result{border-top:1px dashed var(--color-border-interactive);gap:8px;padding-top:10px;display:grid}.statement-result small{color:var(--color-ink-subtle)}.matched-badge{background:var(--color-tag);color:var(--color-tag-ink);font-size:var(--text-xs);vertical-align:middle;margin-left:8px;padding:2px 8px;font-weight:700;display:inline-block}.month-close-card{border:1px solid var(--color-border);padding:14px 16px calc(var(--tear) + 14px);border-bottom:0;gap:10px;margin-bottom:20px;display:grid}.month-close-head{justify-content:space-between;align-items:center;display:flex}.month-close-head h2{font-size:1.125rem}.month-close-total{display:grid}.month-close-total b{font-size:1.75rem}.month-close-total span,.month-close-big small{color:var(--color-ink-muted);font-size:var(--text-sm)}.month-close-top li{justify-content:space-between;display:flex}.month-close-big{gap:4px;display:grid}.month-close-big h3{font-size:.9375rem}.month-close-big button,.on-this-day{border:0;border-bottom:1px solid var(--color-border);text-align:left;background:0 0;justify-content:space-between;align-items:center;width:100%;min-height:48px;display:flex}.on-this-day{border:1px solid var(--color-border);border-radius:var(--radius-md);justify-content:stretch;gap:2px;margin:16px 0;padding:12px 14px;display:grid}.on-this-day small{color:var(--color-primary-strong);font-weight:700}.on-this-day em{color:var(--color-ink-muted);font-style:normal}.annual-preview{border-bottom:0;gap:12px;display:grid}.annual-total{display:grid}.annual-total b{font-size:2rem}.annual-total span{color:var(--color-ink-muted)}.annual-facts{gap:8px;margin:0;display:grid}.annual-facts dt{color:var(--color-ink-subtle);font-size:var(--text-xs)}.annual-facts dd{margin:0}.annual-moment{border-left:3px solid var(--color-primary);margin:0;padding-left:12px}.annual-moment small{color:var(--color-ink-subtle);display:block}.item-edit{border-top:1px dashed var(--color-border-interactive);grid-column:1/-1;gap:10px;padding-top:10px;display:grid}.item-edit label,.limit-add{gap:6px;font-weight:600;display:grid}.item-edit input,.item-edit select,.limit-add input,.limit-add select{background:var(--color-surface);border:1px solid var(--color-border-interactive);border-radius:var(--radius-md);min-height:48px;padding:0 12px;font-size:1rem}.item-edit-actions{justify-content:space-between;gap:8px;display:flex}.restock-forecast,.home-restock{gap:6px;margin-bottom:14px;display:grid}.restock-forecast h3,.home-restock h2{font-size:1rem}.restock-forecast .tag-band,.home-restock .tag-band{justify-content:space-between;align-items:center;gap:8px;min-height:52px;padding:6px 8px 6px 24px;display:flex}.restock-forecast .tag-band span,.home-restock .tag-band span{font-weight:600;display:grid}.restock-forecast small{font-weight:400}.restock-forecast button,.home-restock button{background:var(--color-surface);border:1px solid var(--color-tag-ink);border-radius:var(--radius-md);color:var(--color-tag-ink);flex:none;min-height:44px;padding:8px 12px;font-weight:700}.home-restock{margin:0 0 20px}.shopping-suggestions{gap:4px;margin:6px 0 12px;padding:0;list-style:none;display:grid}.shopping-suggestions button{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:left;align-items:flex-start;width:100%;min-height:52px;padding:6px 12px;display:grid}.shopping-suggestions small{color:var(--color-ink-muted)}.limit-list{gap:8px;margin:0 0 12px;padding:0;list-style:none;display:grid}.limit-list li{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;min-height:56px;display:grid}.limit-list span{font-weight:600;display:grid}.limit-list small{color:var(--color-ink-muted);font-family:var(--font-mono);font-weight:400}.limit-list .is-near b{color:var(--color-warning)}.limit-list .is-over b{color:var(--color-danger)}main.daily-household .household-section,main.daily-household .monthly-close{padding:16px}.household-section-label{font-family:var(--font-sans);letter-spacing:0;font-weight:600}.calendar-reminders{grid-template-columns:1fr auto;align-items:center;gap:10px 12px;padding:12px 0;display:grid}.calendar-reminders>span{flex-direction:column;gap:4px;display:flex}.calendar-reminders small{color:var(--color-ink-subtle);font-size:var(--text-xs)}.calendar-reminders .button-small{white-space:nowrap;min-height:44px}.install-steps{gap:12px;margin:16px 0;padding:0;list-style:none;display:grid}.install-steps li{align-items:center;gap:12px;line-height:1.5;display:flex}.install-step-icon{border:1px solid var(--color-border-interactive);border-radius:var(--radius-md);color:var(--color-primary);flex:none;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.unlock-amount-toggle{justify-content:center;align-items:center;gap:8px;min-height:44px;margin:12px 0 8px;display:flex}.unlock-amount-toggle input{accent-color:var(--color-primary);width:22px;height:22px}.unlock-card .button{margin-top:4px}.unlock-card .form-note{font-size:var(--text-xs);margin-top:8px;display:block}.guide-page,.pricing-page,.catalog-detail{max-width:720px;padding-bottom:48px}.guide-page h1,.pricing-page h1{margin:12px 0 14px;font-size:clamp(1.6rem,6vw,2.2rem);line-height:1.3}.guide-section,.detail-block,.pricing-page section{border-top:1px solid var(--color-border);margin-top:24px;padding-top:20px}.guide-section h2,.detail-block h2,.pricing-page h2,.guide-more h2{font-size:var(--text-lg);margin:0 0 10px}.guide-section p,.pricing-offer p{margin:0 0 10px;line-height:1.75}.guide-steps{counter-reset:step;gap:10px;margin:12px 0;padding:0;list-style:none;display:grid}.guide-steps li{counter-increment:step;padding-left:40px;line-height:1.6;position:relative}.guide-steps li:before{background:var(--color-primary);border-radius:var(--radius-full);color:var(--color-primary-on);content:counter(step);font-family:var(--font-mono);font-size:var(--text-sm);text-align:center;width:28px;height:28px;font-weight:700;line-height:28px;position:absolute;top:0;left:0}.guide-list{gap:8px;margin:8px 0;padding-left:20px;line-height:1.6;display:grid}.guide-examples{gap:8px;margin:8px 0;padding:0;list-style:none;display:grid}.guide-examples code,.detail-example code{background:var(--color-surface);border:1px dashed var(--color-border-interactive);font-family:var(--font-mono);font-size:var(--text-sm);overflow-wrap:anywhere;padding:10px 12px;line-height:1.5;display:block}.guide-table-wrap{margin:8px 0 12px;overflow-x:auto}.guide-table{border-collapse:collapse;font-size:var(--text-sm);min-width:100%}.guide-table th,.guide-table td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top;padding:8px 10px}.guide-table th{background:var(--color-surface-2);white-space:nowrap}.guide-cta{gap:8px;margin:28px 0 8px;display:grid}.guide-cta .button,.guide-cta .quiet-button{text-align:center;justify-content:center;min-height:48px}.guide-more{border-top:1px solid var(--color-border);margin-top:28px;padding-top:20px}.guide-more ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}.guide-more a{text-underline-offset:3px;align-items:center;min-height:44px;text-decoration:underline;display:flex}.pricing-offer{border-bottom:1px dashed var(--color-border-interactive);padding:12px 0}.pricing-offer header{justify-content:space-between;align-items:baseline;display:flex}.pricing-amount{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:700}.pricing-offer small{color:var(--color-ink-subtle)}.detail-illustration{width:120px;height:120px;margin:16px 0 4px;display:block}.detail-chips{flex-wrap:wrap;gap:6px;margin:0 0 8px;padding:0;list-style:none;display:flex}.detail-chips li{background:var(--color-tag);color:var(--color-tag-ink);font-size:var(--text-sm);padding:6px 10px}.detail-stages{gap:6px;margin:0;padding-left:20px;line-height:1.6;display:grid}.detail-similar{grid-template-columns:repeat(3,1fr);gap:8px;margin:0;padding:0;list-style:none;display:grid}.detail-similar a{border:1px solid var(--color-border);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:88px;padding:8px;display:flex}.catalog-detail>.button{margin-top:24px}.catalog-links img{flex:none;width:32px;height:32px}.help-button{font-weight:700}.help-search{gap:10px;display:grid}.help-input input{width:100%;min-height:48px}.help-list details{border-bottom:1px solid var(--color-border);padding:4px 0}.help-list summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:600;line-height:1.5}.help-list p{margin:0 0 8px;line-height:1.7}.help-list .text-link{align-items:center;min-height:44px;display:inline-flex}.issue-body textarea{font-family:var(--font-mono);font-size:var(--text-sm);width:100%;min-height:160px}.issue-actions{gap:8px;margin:12px 0;display:grid}.issue-actions .button{text-align:center;justify-content:center}.plus-screen h1{font-size:1.5rem;line-height:1.35}.plus-screen section{border-top:1px solid var(--color-border);margin-top:20px;padding-top:16px}.plus-screen h2{font-size:var(--text-lg);margin:0 0 8px}.purchase-list{gap:6px;margin:0 0 8px;padding:0;list-style:none;display:grid}.purchase-list li{justify-content:space-between;display:flex}.capture-generic{color:var(--color-primary-strong);cursor:pointer;text-underline-offset:3px;align-items:center;min-height:44px;font-weight:600;text-decoration:underline;display:flex}.capture-generic input{opacity:0;width:1px;height:1px;position:absolute}.csv-map{gap:8px;margin:8px 0 12px;display:grid}.csv-map-row{grid-template-columns:96px 1fr;align-items:center;gap:8px;display:grid}.csv-map-row select{min-height:44px}.legal-table{border-collapse:collapse;font-size:var(--text-sm);width:100%;margin:8px 0 12px}.legal-table th,.legal-table td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top;padding:8px 6px}.guide-page,.pricing-page{padding-top:28px}.today-main{max-width:680px;padding-top:12px;padding-bottom:190px}.today-receipt{background:var(--color-surface);border:1px solid var(--color-border);padding:20px;position:relative}.today-receipt:after{content:"";background:linear-gradient(135deg, var(--color-surface) 25%, transparent 25%) -4px 0 / 8px 8px, linear-gradient(225deg, var(--color-surface) 25%, transparent 25%) -4px 0 / 8px 8px;height:8px;position:absolute;bottom:-7px;left:0;right:0}.receipt-top,.reserved-money,.today-payments li,.today-household,.home-days li{justify-content:space-between;align-items:center;gap:12px;display:flex}.receipt-top{color:var(--color-ink-muted);font-size:13px}.today-receipt h1{font:600 16px / 1.5 var(--font-sans);margin:12px 0 2px}.today-money{font:700 clamp(26px, 8vw, 40px) / 1.3 var(--font-mono);letter-spacing:-1px;overflow-wrap:anywhere}.today-calculation{color:var(--color-ink-muted);margin:8px 0 16px;font-size:13px}.receipt-rule{border-top:1px dashed var(--color-border-interactive);margin:16px 0}.today-receipt h2{margin:0 0 8px;font-size:14px}.today-payments{margin:0;padding:0;font-size:14px;list-style:none}.today-payments li{align-items:start;padding:7px 0}.today-payments li>span{min-width:0}.today-payments small{color:var(--color-ink-muted);font-size:12px;display:block}.today-payments b{white-space:nowrap;font-family:var(--font-mono)}.reserved-money{border-top:1px dashed var(--color-border);color:var(--color-ink-muted);margin-top:12px;padding-top:12px;font-size:12px}.today-stamps{margin-top:24px}.today-stamps h2{margin:0;font-size:15px}.week-stamps{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid}.week-stamps button{min-width:0;min-height:76px;color:var(--color-ink-muted);background:0 0;border:0;border-radius:8px;flex-direction:column;justify-content:start;align-items:center;padding:4px 0;font-size:12px;display:flex}.day-stamp{color:var(--color-primary-strong);width:132px;height:132px;margin:auto;display:block}.day-stamp.small{width:36px;height:36px;margin:4px 0 0}.empty-stamp{border:1px dashed var(--color-border-interactive);border-radius:50%;place-items:center;width:34px;height:34px;margin-top:5px;display:grid}.today-household{width:100%;min-height:var(--touch-min);background:var(--color-tag,var(--color-accent));color:var(--color-tag-ink,var(--color-ink-inverse));border:0;border-radius:4px;margin-top:12px;padding:12px;font-size:14px}.today-trust{color:var(--color-ink-muted);text-align:center;margin:20px 0;font-size:12px}.today-primary{z-index:12;bottom:calc(74px + env(safe-area-inset-bottom,0px));background:var(--color-paper);flex-direction:column;align-items:center;gap:2px;width:min(100%,680px);padding:10px 20px 4px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.today-primary>.quiet-button{min-height:var(--touch-min);min-width:var(--touch-min);padding:5px 12px;font-size:12px}.close-preview{text-align:center}.close-preview h2{font-size:20px}.home-item-choices{border:0;padding:16px 0}.home-item-choices label{flex-direction:row;align-items:center;gap:12px;min-height:44px;padding:8px;display:flex}.home-item-choices input{width:20px;min-height:20px}.period-heading{justify-content:space-between;align-items:center;gap:4px;display:flex}.period-heading h2{text-align:center;margin:0;font-size:14px}.day-dogam .period-heading>.quiet-button{min-width:var(--touch-min)}.day-calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid}.day-calendar .weekday{text-align:center;color:var(--color-ink-muted);padding:8px 0;font-size:12px}.day-calendar button{min-width:0;min-height:76px;color:var(--color-ink);background:0 0;border:1px solid #0000;border-radius:4px;flex-direction:column;justify-content:start;align-items:center;padding:4px 0;display:flex}.day-calendar button[aria-pressed=true]{border-color:var(--color-primary-strong);background:var(--color-surface-2)}.day-calendar button:disabled{color:var(--color-ink-muted);background:0 0;border:0}.calendar-empty{font-size:26px}.day-selected{border-block:1px solid var(--color-border);margin:16px 0;padding:12px 0}.day-counts{margin:24px 0}.day-counts>div{border-bottom:1px solid var(--color-border);justify-content:space-between;padding:12px 0;display:flex}.day-counts dd{font:700 22px var(--font-mono);margin:0}.day-counts small{color:var(--color-ink-muted);font-size:12px;display:block}.home-days{padding:0;list-style:none}.home-days li{padding:8px 0}.month-card-actions{flex-direction:column;gap:8px;margin-top:28px;display:flex}.save-toast ol{margin:8px 0 0;padding-left:18px;font-size:13px}.weekly-close-summary{background:var(--color-surface);margin:24px 0;padding:16px}.recording-routes table{border-collapse:collapse;width:100%;font-size:14px}.recording-routes th,.recording-routes td{border-bottom:1px solid var(--color-border);text-align:left;padding:12px 4px}@media (max-width:359px){.today-receipt{padding:14px}.today-main{padding-inline:12px}.day-calendar button,.week-stamps button{min-height:72px}}@media (prefers-reduced-motion:no-preference){.close-preview[data-saved=true] .day-stamp{animation:.26s ease-out close-stamp}@keyframes close-stamp{0%{transform:scale(1.08)rotate(-3deg)}to{transform:scale(1)rotate(0)}}}.day-calendar,.filter-pills{border:0;min-width:0;margin-inline:0;padding:0}.sheet-open .today-primary{display:none}@media (max-width:359px){.today-main{padding-inline:6px}.week-stamps{gap:0}.day-dogam .day-calendar{gap:0;margin-inline:-14px}}.budget-card.is-over{box-shadow:inset 0 4px 0 var(--color-border-interactive)}.budget-card.is-over small,.app-stats strong.is-over,.limit-list .is-over b,.limit-list .is-near b{color:var(--color-ink)}.notification-interpretation{border-block:1px solid var(--color-border);margin-block:12px;padding-block:12px}.notification-interpretation p{white-space:pre-wrap;overflow-wrap:anywhere}.save-toast>div{gap:2px;min-width:0;display:grid}.notice-sage{background:var(--color-surface-2);color:var(--color-ink);border-color:var(--color-border-interactive)}:root[data-theme=dark] img[src^="/illustrations/"]{filter:invert(.88)hue-rotate(180deg)}
