html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}:root{--paper:#fbf3e2;--paper-soft:#fff9ee;--paper-card:#fffdf7;--ink:#2f2a24;--ink-soft:#7a6f5d;--line:#2a251f;--line-soft:#cdbfa4;--crayon-coral:#ff6f59;--crayon-mint:#3fc79a;--crayon-sky:#6cb8ff;--crayon-sun:#ffd23f;--crayon-grape:#b78bff;--crayon-pink:#ff9ec4;--accent:var(--crayon-coral);--accent-ink:#b23a26;--income:#1f9d6b;--income-wash:#d8f5e6;--sketch-radius:235px 15px 220px 18px / 18px 210px 20px 240px;--sketch-radius-alt:18px 220px 16px 210px / 210px 18px 230px 16px;--sticker-shadow:4px 4px 0 var(--line);--sticker-shadow-sm:3px 3px 0 var(--line);--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1);--motion-press:.14s;--motion-control:.18s;--motion-panel:.26s;--font-hand:"Gaegu", "Gamja Flower", ui-rounded, system-ui, sans-serif;--font-body:"Gowun Dodum", "Gaegu", ui-sans-serif, system-ui, sans-serif;color:var(--ink);background:var(--paper);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{min-width:320px;color:var(--ink);background-color:var(--paper);background-image:radial-gradient(#2a251f12 1.1px,#0000 1.1px);background-size:22px 22px;background-attachment:fixed;margin:0;overflow-x:clip}#root{min-height:100dvh}button,input,select,textarea{font:inherit}button,[role=button]{-webkit-tap-highlight-color:transparent}::selection{background:var(--crayon-sun);color:var(--ink)}.app-shell{min-height:100dvh;padding-top:max(32px, env(safe-area-inset-top));padding-bottom:max(32px, env(safe-area-inset-bottom));padding-left:max(28px, env(safe-area-inset-left));padding-right:max(28px, env(safe-area-inset-right));background:radial-gradient(circle at 12% -4%,#ffd23f47,#0000 30rem),radial-gradient(circle at 96% 6%,#6cb8ff38,#0000 26rem);overflow-x:clip}.hero-panel,.calendar-card,.daily-card,.add-sheet{border:2.5px solid var(--line);border-radius:var(--sketch-radius);background:var(--paper-card);box-shadow:var(--sticker-shadow)}.hero-panel{justify-content:space-between;align-items:center;gap:24px;min-width:0;max-width:1180px;margin:0 auto 26px;padding:30px 34px;display:flex;position:relative;transform:rotate(-.6deg)}.hero-panel>div:first-child{flex:650px;min-width:0}.eyebrow{color:var(--accent-ink);font-family:var(--font-hand);letter-spacing:.06em;text-transform:uppercase;margin:0 0 6px;font-size:15px;font-weight:700}.hero-panel h1{color:var(--ink);font-family:var(--font-hand);letter-spacing:-.02em;margin:0;font-size:clamp(52px,9vw,92px);font-weight:700;line-height:.92}.hero-panel h1:after{content:"✎";color:var(--accent);vertical-align:super;margin-left:10px;font-size:.4em}.hero-copy{max-width:520px;color:var(--ink-soft);margin:14px 0 0;font-size:18px;line-height:1.5}.hero-actions{flex:0 360px;gap:16px;min-width:280px;display:grid}.account-card{border:2.5px solid var(--line);border-radius:var(--sketch-radius-alt);background:linear-gradient(145deg, #ffffffb8, #fff2c6c7), var(--paper-soft);box-shadow:var(--sticker-shadow-sm);gap:10px;padding:15px 16px;display:grid;transform:rotate(.8deg)}.account-card h2{color:var(--ink);font-family:var(--font-hand);word-break:break-word;margin:0;font-size:21px;line-height:1.12}.account-card p,.account-card small{color:var(--ink-soft);margin:0;font-size:14px;line-height:1.4}.account-form,.account-actions{flex-wrap:wrap;gap:8px;display:flex}.account-location-setting{cursor:pointer;align-items:flex-start;gap:9px;display:flex}.account-location-setting input{width:19px;height:19px;accent-color:var(--accent);margin:2px 0 0}.account-location-setting span{gap:2px;display:grid}.account-location-setting strong{font-family:var(--font-hand)}.account-location-setting small,.account-card .account-privacy-note{font-size:12px}.account-form{grid-template-columns:1fr;display:grid}.social-login-buttons{gap:8px;display:grid}.social-login{border:2px solid var(--line);color:#241f1b;min-height:44px;font:inherit;cursor:pointer;box-shadow:var(--sticker-shadow-sm);border-radius:13px 6px;grid-template-columns:28px minmax(0,1fr) 28px;align-items:center;padding:7px 10px;font-weight:800;display:grid;position:relative}.social-login:after{content:""}.social-login.google{background:#fff}.social-login.kakao{background:#fee500}.social-mark{border-radius:50%;place-items:center;width:26px;height:26px;font-size:14px;font-weight:900;display:grid}.google-mark{color:#4285f4;background:#fff;border:1px solid #dadce0}.kakao-mark{color:#fee500;background:#241f1b;font-size:11px}.account-divider{color:var(--ink-soft);grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;font-size:12px;font-weight:700;display:grid}.account-divider:before,.account-divider:after{content:"";background:color-mix(in srgb, var(--line) 32%, transparent);height:1px}.social-consents{background:#fff9e2e6}.account-mode-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.account-mode-tabs button{border:2px solid var(--line);background:var(--paper-card);min-width:0;color:var(--ink);font-family:var(--font-hand);cursor:pointer;box-shadow:var(--sticker-shadow-sm);border-radius:12px 5px;padding:7px 8px;font-size:14px;font-weight:700}.account-mode-tabs button.active{background:var(--crayon-sun);box-shadow:1px 1px 0 var(--line);transform:translate(1px,1px)}.account-form input{box-sizing:border-box;border:2px solid var(--line);background:var(--paper-card);width:100%;min-width:0;color:var(--ink);font:inherit;border-radius:14px 6px;padding:9px 11px}.account-form>button[type=submit]{border:2px solid var(--line);background:var(--crayon-sky);color:var(--ink);font-family:var(--font-hand);cursor:pointer;border-radius:14px 6px;padding:9px 12px;font-weight:700}.signup-consents{border:2px solid var(--line);background:#ffffff9e;border-radius:12px 5px;min-width:0;margin:2px 0;padding:10px}.signup-consents legend{color:var(--ink);font-family:var(--font-hand);padding:0 5px;font-weight:800}.signup-consents label{color:var(--ink);grid-template-columns:20px minmax(0,1fr);align-items:start;gap:7px;margin:7px 0;font-size:13px;line-height:1.42;display:grid}.signup-consents .consent-select-all{border-bottom:2px dashed var(--line-soft);margin-bottom:4px;padding-bottom:9px;font-weight:800}.signup-consents input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);margin:0}.signup-consents a{color:inherit;font-weight:800}.signup-consents details{color:var(--ink-soft);margin:-2px 0 8px 27px;font-size:12px}.signup-consents summary{cursor:pointer;font-weight:700}.signup-consents details p,.signup-consents .consent-note{margin:5px 0 0;font-size:12px;line-height:1.45}.signup-consents .consent-protection{color:var(--ink-soft);margin:8px 0 2px 27px;font-size:12px;line-height:1.5}.account-message{font-weight:700;color:var(--accent-ink)!important}.admin-shell{align-content:start;gap:22px;display:grid}.admin-hero{box-sizing:border-box;width:min(1180px,100%);transform:rotate(-.25deg)}.admin-hero .hero-mascots{align-items:flex-end;gap:2px;width:max-content;max-width:100%;margin-top:14px;display:flex}.admin-hero .mascot{flex:none;width:72px;height:80px;animation:3.4s ease-in-out infinite mascot-bob}.admin-hero .mascot-dog{animation-delay:-1.2s}.admin-hero .mascot-caption{white-space:nowrap;align-self:center;margin-left:7px;padding:6px 10px;font-size:14px;position:static}.admin-summary-card{min-width:min(100%,280px)}.admin-home-link{justify-content:center;text-decoration:none;display:inline-flex}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;width:min(1180px,100%);margin:0 auto;display:grid}.admin-card{border:2.5px solid var(--line);border-radius:var(--sketch-radius-alt);background:var(--paper-card);min-width:0;box-shadow:var(--sticker-shadow);gap:12px;padding:22px;display:grid}.admin-card:nth-child(2){transform:rotate(.35deg)}.admin-card-wide{grid-column:1/-1;transform:rotate(-.2deg)}.admin-status-row{border-top:2px dashed var(--line-soft);grid-template-columns:minmax(120px,.8fr) minmax(0,1.4fr) auto;align-items:center;gap:12px;padding:12px 0;display:grid}.admin-status-row span{color:var(--ink-soft);font-weight:700}.admin-status-row strong{overflow-wrap:anywhere;min-width:0;color:var(--ink)}.admin-status-pill{border:2px solid var(--line);color:var(--ink);font-family:var(--font-hand);box-shadow:2px 2px 0 var(--line);border-radius:999px;justify-self:end;padding:5px 10px;font-style:normal;font-weight:700;line-height:1}.admin-status-pill.ok{background:var(--crayon-mint)}.admin-status-pill.warn{background:var(--crayon-sun)}.admin-error{color:var(--accent-ink);margin:0;font-weight:700}.admin-json{border:2px solid var(--line);background:var(--paper-soft);max-height:360px;color:var(--ink);white-space:pre-wrap;border-radius:12px 5px;margin:0;padding:16px;font-size:13px;line-height:1.45;overflow:auto}.admin-access-card{border:2.5px solid var(--line);border-radius:var(--sketch-radius-alt);background:var(--paper-card);width:min(620px,100%);box-shadow:var(--sticker-shadow);justify-items:start;gap:14px;margin:12vh auto 0;padding:32px;display:grid}.admin-access-card h1,.admin-access-card p{margin:0}.admin-access-card .primary-button,.admin-summary-card .primary-button{justify-content:center;align-items:center;gap:8px;text-decoration:none;display:inline-flex}.admin-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;width:min(1180px,100%);margin:0 auto;display:grid}.admin-metric-card{border:2.5px solid var(--line);min-width:0;box-shadow:3px 3px 0 var(--line);border-radius:12px 5px;gap:4px;padding:18px;display:grid}.admin-metric-card.tone-mint{background:var(--crayon-mint)}.admin-metric-card.tone-sun{background:var(--crayon-sun)}.admin-metric-card.tone-coral{background:#ffd9d3}.admin-metric-card.tone-sky{background:var(--crayon-sky)}.admin-metric-card span,.admin-metric-card small{color:var(--ink-soft);font-weight:700}.admin-metric-card strong{overflow-wrap:anywhere;font-family:var(--font-hand);font-size:34px;line-height:1}.admin-migration-notice{border:2px dashed var(--line);background:var(--crayon-sun);width:min(1180px,100%);color:var(--ink);border-radius:8px 3px;align-items:center;gap:10px;margin:0 auto;padding:12px 14px;display:flex}.admin-migration-notice span{overflow-wrap:anywhere;min-width:0}.admin-migration-notice code{font-size:12px}.admin-alert-strip{color:#762020;background:#ffe2df;border:2px solid #a22c2c;border-radius:8px 3px;align-items:flex-start;gap:10px;width:min(1180px,100%);margin:0 auto;padding:12px 14px;display:flex}.admin-alert-strip>div{flex-wrap:wrap;gap:4px 14px;display:flex}.admin-alert-strip strong{flex-basis:100%}.admin-alert-strip span{font-size:13px;font-weight:700}.admin-breakdown{gap:11px;display:grid}.admin-breakdown>div{grid-template-columns:minmax(110px,.8fr) minmax(80px,1.4fr) auto;align-items:center;gap:10px;display:grid}.admin-breakdown span{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.admin-breakdown i{border:1.5px solid var(--line);background:var(--paper-soft);border-radius:999px;height:10px;overflow:hidden}.admin-breakdown b{border-radius:inherit;background:var(--crayon-coral);height:100%;display:block}.admin-action-breakdown strong{justify-items:end;line-height:1.05;display:grid}.admin-action-breakdown strong small{color:var(--ink-soft);margin-top:3px;font-size:10px;font-weight:700}.admin-engagement-card .section-heading>p:last-child{color:var(--ink-soft);margin:4px 0 0}.admin-engagement-table{border-block:2px dashed var(--line-soft);min-width:0;overflow-x:auto}.admin-engagement-head,.admin-engagement-row{grid-template-columns:minmax(170px,1.5fr) repeat(5,minmax(92px,.7fr));align-items:center;gap:10px;min-width:760px;padding:11px 4px;display:grid}.admin-engagement-head{z-index:1;background:var(--paper-card);color:var(--ink-soft);font-size:12px;font-weight:800;position:sticky;top:0}.admin-engagement-row{border-top:1.5px dashed var(--line-soft)}.admin-engagement-row>strong,.admin-engagement-row>span{overflow-wrap:anywhere;min-width:0}.admin-engagement-row>strong{gap:2px;display:grid}.admin-engagement-row>strong small{border:1px solid var(--line-soft);background:var(--crayon-sky);width:max-content;color:var(--ink-soft);border-radius:4px;padding:2px 5px;font-size:10px}.admin-engagement-row>strong em{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-style:normal;font-weight:600;overflow:hidden}.admin-engagement-row>span{gap:2px;font-weight:800;display:grid}.admin-engagement-row>span small{color:var(--ink-soft);font-size:10px}.admin-operation-card .section-heading>p:last-child,.admin-quality-card .section-heading>p:last-child{color:var(--ink-soft);margin:4px 0 0}.admin-data-table{border-block:2px dashed var(--line-soft);min-width:0;overflow-x:auto}.admin-data-head,.admin-data-row{grid-template-columns:minmax(180px,1.4fr) repeat(5,minmax(92px,.7fr));align-items:center;gap:10px;min-width:760px;padding:11px 4px;display:grid}.admin-data-head{color:var(--ink-soft);font-size:12px;font-weight:800}.admin-data-row{border-top:1.5px dashed var(--line-soft)}.admin-data-row>strong,.admin-data-row>span{overflow-wrap:anywhere;min-width:0}.admin-data-row>span{font-weight:800}.admin-release-table .admin-data-head,.admin-release-table .admin-data-row{grid-template-columns:minmax(150px,1.3fr) repeat(4,minmax(92px,.7fr));min-width:650px}.admin-danger-value{color:#a22c2c}.admin-quality-list{gap:9px;display:grid}.admin-quality-list>div{border-top:1.5px dashed var(--line-soft);grid-template-columns:minmax(130px,1.4fr) auto auto;align-items:center;gap:8px 12px;padding:10px 0;display:grid}.admin-quality-list strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.admin-quality-list span{white-space:nowrap;font-weight:800}.admin-quality-list small{color:var(--ink-soft);grid-column:1/-1;font-weight:700}.admin-empty{color:var(--ink-soft);margin:0}.admin-log-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.admin-log-heading p{color:var(--ink-soft);margin:4px 0 0}.admin-log-count{border:2px solid var(--line);background:var(--crayon-mint);border-radius:10px 4px;flex:none;align-items:center;gap:5px;padding:9px 12px;display:inline-flex}.admin-log-filters{border-block:2px dashed var(--line-soft);flex-wrap:wrap;align-items:end;gap:10px;padding-block:14px;display:flex}.admin-log-filters label{gap:5px;min-width:min(100%,180px);display:grid}.admin-log-filters label span{color:var(--ink-soft);font-size:13px;font-weight:700}.admin-log-filters select{border:2px solid var(--line);background:var(--paper-card);min-height:42px;color:var(--ink);font:inherit;border-radius:8px 3px;padding:8px 32px 8px 10px}.admin-event-list{display:grid}.admin-event-row{border-bottom:1.5px dashed var(--line-soft);grid-template-columns:minmax(150px,.9fr) 130px minmax(140px,.8fr) minmax(220px,1.4fr);align-items:center;gap:14px;padding:13px 2px;display:grid}.admin-event-row.is-error{border-left:4px solid var(--crayon-coral);padding-left:10px}.admin-event-main{gap:3px;min-width:0;display:grid}.admin-event-main span,.admin-event-row time,.admin-event-identity{overflow-wrap:anywhere;color:var(--ink-soft);font-size:13px}.admin-event-identity{align-items:center;gap:5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;display:inline-flex}.admin-event-properties{flex-wrap:wrap;gap:5px;display:flex}.admin-event-properties span{overflow-wrap:anywhere;border:1.5px solid var(--line-soft);background:var(--paper-soft);max-width:100%;color:var(--ink-soft);border-radius:6px 2px;padding:4px 7px;font-size:11px}.admin-empty-state{color:var(--ink-soft);text-align:center;justify-items:center;gap:6px;padding:38px 16px;display:grid}.admin-load-more{justify-self:center}.account-analytics-setting{margin-top:10px}@media (width<=900px){.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid{grid-template-columns:1fr}.admin-card-wide{grid-column:auto}.admin-event-row{grid-template-columns:minmax(150px,1fr) 130px}.admin-event-identity,.admin-event-properties{grid-column:auto/span 1}}@media (width<=560px){.admin-hero .mascot{width:58px;height:65px}.admin-hero .mascot-caption{margin-left:3px;font-size:12px}.admin-metrics{grid-template-columns:1fr 1fr;gap:9px}.admin-metric-card{padding:13px}.admin-metric-card strong{font-size:28px}.admin-log-heading{display:grid}.admin-log-count{justify-self:start}.admin-log-filters{grid-template-columns:1fr 1fr;display:grid}.admin-log-filters label{min-width:0}.admin-log-filters button{grid-column:1/-1}.admin-event-row{grid-template-columns:1fr auto;gap:7px 10px}.admin-event-identity,.admin-event-properties{grid-column:1/-1}.admin-access-card{margin-top:5vh;padding:22px}}.hero-month-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.hero-month-stats>div{border:2.5px solid var(--line);border-radius:var(--sketch-radius-alt);background:var(--paper-soft);color:var(--ink-soft);box-shadow:var(--sticker-shadow-sm);gap:4px;padding:16px 18px;display:grid}.hero-month-stats>div:first-child{transform:rotate(-1.2deg)}.hero-month-stats>div:last-child{transform:rotate(1deg)}.hero-month-stats>div span{font-family:var(--font-hand);font-size:16px;font-weight:700}.hero-month-stats strong{color:var(--ink);font-family:var(--font-hand);font-size:30px;font-weight:700}.hero-stat-income{color:var(--income)!important}.view-tabs{flex-wrap:wrap;gap:10px;max-width:1180px;margin:-4px auto 22px;display:flex}.view-tabs button{border:2.5px solid var(--line);background:var(--paper-card);color:var(--ink);font-family:var(--font-hand);cursor:pointer;box-shadow:var(--sticker-shadow-sm);transition:transform var(--motion-press) var(--ease-out), box-shadow var(--motion-press) var(--ease-out), background-color var(--motion-control) var(--ease-out);border-radius:18px 8px;padding:10px 18px;font-size:18px;font-weight:700}.view-tabs button.active{background:var(--crayon-sun);box-shadow:1px 1px 0 var(--line);transform:translate(2px,2px)}.view-tabs button:not(:disabled):active{box-shadow:1px 1px 0 var(--line);transform:translate(2px,2px)scale(.97)}.calendar-companion{border:2px solid var(--line-soft);box-shadow:var(--sticker-shadow-sm);background:#fffdf8c7;border-radius:999px;align-items:flex-end;gap:0;padding:3px 8px;display:flex}.mini-companion{object-position:center;filter:drop-shadow(0 6px 8px #2a251f1f);width:46px;height:46px;display:block;transform:rotate(-4deg)}.daily-companion-note{border:2px solid var(--line-soft);background:var(--paper-soft);width:fit-content;max-width:100%;color:var(--ink-soft);font-family:var(--font-hand);border-radius:999px;align-items:center;gap:8px;margin:14px 0 0;padding:6px 11px 6px 7px;font-size:14px;font-weight:700;display:inline-flex}.tiny-companion{flex:none;width:36px;height:36px}.calendar-day-money{flex-direction:column;gap:4px;width:100%;min-width:0;margin-top:8px;display:flex}.calendar-day-money strong{margin-top:0}.calendar-day-income{font-weight:700;color:var(--income)!important}.ledger-kind-badge{border:2px solid var(--line);font-family:var(--font-hand);vertical-align:baseline;border-radius:12px 5px;margin-right:8px;padding:1px 9px;font-size:13px;font-weight:700;display:inline-block}.ledger-kind-badge-income{background:var(--income-wash);color:var(--income)}.expense-card.is-income .expense-title-row strong.amount-income{color:var(--income)}.ledger-kind-toggle{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ledger-kind-toggle button{border:2.5px solid var(--line);background:var(--paper-card);color:var(--ink);font-family:var(--font-hand);cursor:pointer;box-shadow:var(--sticker-shadow-sm);transition:transform var(--motion-press) var(--ease-out), box-shadow var(--motion-press) var(--ease-out);border-radius:16px 6px;padding:10px 18px;font-size:17px;font-weight:700}.ledger-kind-toggle button.active{background:var(--crayon-sun);color:var(--ink);box-shadow:1px 1px 0 var(--line);transform:translate(2px,2px)}.ledger-kind-toggle button.kind-income.active{background:var(--income-wash);color:var(--income)}.ledger-kind-toggle button:not(:disabled):active{transform:translate(2px,2px)scale(.97)}.primary-button,.ghost-button,.choice-card,.calendar-day{cursor:pointer;font:inherit;touch-action:manipulation}.camera-start-button,.category-pill,.category-leaf{touch-action:manipulation}.primary-button{background:var(--accent);color:#fff8f2;font-family:var(--font-hand);transition:transform var(--motion-press) var(--ease-out), box-shadow var(--motion-press) var(--ease-out);border:1px solid #ffffff75;border-radius:16px;padding:14px 22px;font-size:20px;font-weight:700;box-shadow:0 10px 24px #ab443733,inset 0 1px #ffffff5c}.primary-button:not(:disabled):active{transform:scale(.96);box-shadow:0 4px 12px #ab443729,inset 0 1px #ffffff4d}.primary-button:disabled{cursor:not-allowed;color:#7a6f5d;box-shadow:none;opacity:.72;background:#d7cec0}.ghost-button{-webkit-backdrop-filter:blur(18px)saturate(170%);backdrop-filter:blur(18px)saturate(170%);color:var(--ink);font-family:var(--font-hand);transition:transform var(--motion-press) var(--ease-out), box-shadow var(--motion-press) var(--ease-out);background:#fffdf7ad;border:1px solid #ffffffd1;border-radius:14px;padding:9px 16px;font-size:17px;font-weight:700;box-shadow:0 7px 20px #2a251f17,inset 0 1px #ffffffeb}.ghost-button:not(:disabled):active{transform:scale(.96);box-shadow:0 3px 10px #2a251f14,inset 0 1px #ffffffd6}.ghost-button:disabled{opacity:.45;cursor:not-allowed}.dashboard-grid{grid-template-columns:minmax(0,1.25fr) minmax(min(280px,100%),.75fr);gap:24px;max-width:1180px;margin:0 auto;display:grid}.calendar-card,.daily-card{min-width:0;padding:24px}.calendar-card{transform:rotate(.5deg)}.daily-card{transform:rotate(-.5deg)}.section-heading h2{color:var(--ink);font-family:var(--font-hand);margin:0;font-size:28px;font-weight:700}.section-heading-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.section-heading-toolbar>div .eyebrow{margin-bottom:2px}.section-heading-toolbar h2{margin:0}.story-launch-btn{flex-shrink:0;background:var(--crayon-sky)!important;padding:8px 14px!important;font-size:15px!important}.photo-source-row.camera-only-row{flex-wrap:nowrap}.photo-source-row.camera-only-row .camera-start-button{flex:auto}.weekday-row,.calendar-grid{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.weekday-row{color:var(--ink-soft);font-family:var(--font-hand);text-align:center;margin:22px 0 10px;font-size:16px;font-weight:700}.calendar-day{isolation:isolate;border:2px solid var(--line-soft);background:var(--paper-soft);min-height:108px;color:var(--ink);font-family:var(--font-hand);text-align:left;transition:transform var(--motion-control) var(--ease-out), background-color var(--motion-control) var(--ease-out), box-shadow var(--motion-control) var(--ease-out);border-radius:16px 7px;padding:0;position:relative;overflow:hidden}.calendar-day-content{z-index:2;box-sizing:border-box;flex-direction:column;align-items:flex-start;min-width:0;height:100%;min-height:104px;padding:10px;display:flex;position:relative}.calendar-day-date{font-size:18px;font-weight:700;display:block}.calendar-day-cover,.calendar-day-shade{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.calendar-day-cover{z-index:0;object-fit:cover}.calendar-day-shade{z-index:1;background:linear-gradient(#231e1814 22%,#231e18bd 100%)}.calendar-day.has-photo{color:#fffdf8;background:#d9d0c3;border-color:#43362b8f}.calendar-day.has-photo .calendar-day-date{box-sizing:border-box;width:24px;height:24px;color:var(--ink);background:#fffdf7e0;border:1px solid #ffffffb8;border-radius:8px 3px;place-items:center;padding:0;line-height:1.2;display:grid;box-shadow:0 2px 8px #231e1824}.calendar-day.selected{border-color:var(--line);background:var(--crayon-sun);box-shadow:var(--sticker-shadow-sm);transform:translateY(-2px)rotate(-1deg)}@media (hover:hover) and (pointer:fine){.calendar-day:hover{border-color:var(--line);background:var(--crayon-sun);box-shadow:var(--sticker-shadow-sm);transform:translateY(-2px)rotate(-1deg)}.calendar-day.has-photo:hover{background:#d9d0c3}}@media (hover:none){.calendar-day:hover:not(.selected){background:var(--paper-soft);border-color:var(--line-soft);box-shadow:none;transform:none}.calendar-day.has-photo:hover:not(.selected){background:#d9d0c3;border-color:#43362b8f}.calendar-day.muted:hover:not(.selected){color:#b6a98e;background:0 0}}.calendar-day.muted{color:#b6a98e;background:0 0;border-color:#0000}.calendar-day.has-photo.muted{opacity:.48}.calendar-day .calendar-day-money{display:flex}.calendar-day .calendar-day-money strong,.calendar-day .calendar-day-money small{display:block}.calendar-day .calendar-day-money strong{color:var(--accent-ink);white-space:nowrap;margin-top:0;font-size:15px;font-weight:700;line-height:1.25}.calendar-day.has-photo .calendar-day-money{text-shadow:0 1px 5px #191410b8;max-width:100%;margin-top:auto}.calendar-day.has-photo .calendar-day-money strong{color:#fffdf8}.calendar-day.has-photo .calendar-day-money .calendar-day-income{color:#c7f9dc!important}.calendar-day .calendar-day-money .calendar-day-income{margin-top:0;font-size:13px}.calendar-day-photo{color:var(--ink);background:#fffdf7db;border:1px solid #ffffffa8;border-radius:8px 3px;margin:0;padding:2px 6px;font-size:12px;font-weight:700;line-height:1.35;display:block;position:absolute;top:10px;right:9px;box-shadow:0 2px 8px #231e1824}.daily-summary{border:2px dashed var(--line-soft);background:var(--paper-soft);color:var(--ink-soft);font-family:var(--font-hand);border-radius:18px 8px;margin:18px 0 20px;padding:16px 18px;font-size:18px;line-height:1.45}.timeline{gap:14px;display:grid}.timeline-relative{font-family:var(--font-hand);color:var(--ink-soft);margin:0 0 6px;font-size:14px;font-weight:700;display:block}.empty-state{border:2.5px dashed var(--line-soft);color:var(--ink-soft);font-family:var(--font-hand);text-align:center;border-radius:20px 9px;flex-direction:column;align-items:center;gap:10px;padding:26px 24px 30px;font-size:18px;display:flex}.empty-state p{margin:0}.empty-mascot{width:118px;height:118px;animation:3.4s ease-in-out infinite mascot-bob}.hero-pet-showcase{max-width:620px;margin-top:18px;position:relative;transform:rotate(.35deg)}.mascot-caption{z-index:4;border:2.5px solid var(--line);background:var(--crayon-sun);color:var(--ink);font-family:var(--font-hand);box-shadow:var(--sticker-shadow-sm);border-radius:16px 16px 16px 4px;padding:7px 13px;font-size:16px;font-weight:700;position:absolute;bottom:18px;right:18px;transform:rotate(-1.5deg)}@keyframes mascot-bob{0%,to{translate:0}50%{translate:0 -6px}}.expense-card{border:2.5px solid var(--line);background:var(--paper-card);box-shadow:var(--sticker-shadow-sm);border-radius:18px 8px;grid-template-columns:86px 1fr;gap:14px;padding:14px;display:grid}.expense-card.is-income{background:var(--income-wash)}.expense-image,.preview-image{border:2px solid var(--line);object-fit:cover;background:#efe6d2;border-radius:12px 5px;width:100%;height:86px}.expense-title-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.expense-title-row h3{min-width:0;color:var(--ink);font-family:var(--font-hand);overflow-wrap:anywhere;margin:0;font-size:20px;font-weight:700}.expense-title-row strong{color:var(--accent-ink);font-family:var(--font-hand);font-size:19px}.expense-card p{color:var(--ink-soft);margin:8px 0 0;font-size:15px}.category-label{font-weight:700}.sheet-backdrop{z-index:100;padding:env(safe-area-inset-top) max(24px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(10px)saturate(.92);backdrop-filter:blur(10px)saturate(.92);box-sizing:border-box;background:#2f2a246b;flex-direction:column;justify-content:flex-end;align-items:stretch;display:flex;position:fixed;inset:0;overflow-x:clip}.sheet-backdrop:not(.is-open){pointer-events:none}.add-sheet{box-sizing:border-box;overscroll-behavior-x:contain;width:100%;min-width:0;max-width:720px;max-height:calc(100svh - max(48px, env(safe-area-inset-top)) - env(safe-area-inset-bottom));max-height:calc(100dvh - max(48px, env(safe-area-inset-top)) - env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;-webkit-backdrop-filter:blur(30px)saturate(170%);backdrop-filter:blur(30px)saturate(170%);transform-origin:bottom;will-change:transform, opacity;background:#fffdf7e0;border:1px solid #ffffffd1;border-radius:28px;margin-inline:auto;padding:34px 26px 26px;position:relative;overflow:clip auto;box-shadow:0 24px 70px #2a251f33,inset 0 1px #ffffffeb}.add-sheet:before{content:"";background:#2a251f33;border-radius:999px;width:38px;height:5px;position:absolute;top:10px;left:50%;transform:translate(-50%)}.sheet-header{box-sizing:border-box;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px 12px;width:100%;min-width:0;max-width:100%;margin-bottom:20px;display:flex}.sheet-header>div:first-child{flex:auto;min-width:0;max-width:100%}.sheet-header>.ghost-button{flex:none;align-self:center;min-width:4.5rem;min-height:44px}.sheet-header h2{font-family:var(--font-hand);margin:0;font-size:26px;font-weight:700}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0;max-width:100%;display:grid}.choice-card{color:var(--ink);text-align:left;min-width:0;transition:transform var(--motion-press) var(--ease-out), box-shadow var(--motion-press) var(--ease-out);background:#ffffff94;border:1px solid #ffffffdb;border-radius:18px;gap:10px;padding:22px;display:grid;box-shadow:0 10px 26px #2a251f17,inset 0 1px #ffffffe6}.choice-card:first-child,.choice-card:last-child{transform:none}.choice-card:active{transform:scale(.97);box-shadow:0 4px 12px #2a251f14,inset 0 1px #ffffffe0}.choice-card span{border:2px solid var(--line);background:var(--crayon-sun);width:max-content;color:var(--ink);font-family:var(--font-hand);border-radius:999px;padding:4px 12px;font-size:15px;font-weight:700}.choice-card strong{font-family:var(--font-hand);font-size:21px;font-weight:700}.choice-card small,.analysis-note{border:2px dashed var(--line-soft);color:var(--ink-soft);overflow-wrap:anywhere;word-break:keep-all;background:#fffdf8c7;border-radius:14px 6px;gap:8px;padding:10px 12px;font-size:15px;display:grid}.analysis-note p,.analysis-note small{margin:0}.training-consent{border-top:2px dashed var(--line-soft);color:var(--ink);cursor:pointer;font-family:var(--font-body);align-items:flex-start;gap:9px;padding-top:10px;font-size:14px;font-weight:500;line-height:1.55;display:flex}.training-consent input{width:18px;height:18px;accent-color:var(--crayon-leaf);flex:none;margin:2px 0 0}.training-consent-note{color:var(--ink-soft);font-family:var(--font-body);font-size:12px;line-height:1.5}.detected-item-list{flex-wrap:wrap;gap:6px;display:flex}.detected-item-list span{border:2px solid var(--line-soft);background:var(--paper-card);color:var(--ink);font-family:var(--font-hand);border-radius:999px;padding:4px 9px;font-size:14px;font-weight:700}.photo-flow,.expense-form{gap:18px;min-width:0;max-width:100%;display:grid}.photo-source-row{flex-wrap:wrap;align-items:stretch;gap:10px;display:flex}.camera-start-button{border:2.5px solid var(--line);background:var(--crayon-mint);color:var(--ink);font-family:var(--font-hand);cursor:pointer;box-shadow:var(--sticker-shadow-sm);transition:transform var(--motion-press) var(--ease-out), box-shadow var(--motion-press) var(--ease-out);border-radius:16px 7px;flex:140px;padding:14px 16px;font-size:18px;font-weight:700}.camera-start-button:active{box-shadow:0 0 0 var(--line);transform:translate(3px,3px)scale(.97)}.file-picker-inline{flex:200px;margin:0}.camera-permission-note{color:var(--ink-soft);margin:0;font-size:14px;line-height:1.45}.camera-error{border:2.5px solid var(--accent-ink);color:var(--accent-ink);background:#ffe7e1;border-radius:14px 6px;margin:0;padding:12px 14px;font-size:15px;font-weight:700}.camera-live-wrap{gap:12px;display:grid;position:relative}.camera-live-frame{border:2.5px solid var(--line);background:#2f2a24;border-radius:18px 8px;justify-self:center;place-items:center;width:100%;max-height:min(560px,58vh);display:grid;overflow:hidden}.camera-live{border-radius:inherit;object-fit:contain;background:#2f2a24;width:100%;min-width:0;height:100%;min-height:0;display:block}.camera-live-frame.is-recording{border-color:var(--accent);box-shadow:0 0 0 3px #ff6f5947}.add-sheet.is-camera-live{height:min(780px, calc(100dvh - max(48px, env(safe-area-inset-top)) - env(safe-area-inset-bottom)))}.add-sheet.is-camera-live .sheet-header{margin-bottom:10px}.add-sheet.is-camera-live .sheet-header .eyebrow{display:none}.add-sheet.is-camera-live .add-sheet-scroll{overflow:hidden}.add-sheet.is-camera-live .photo-flow,.add-sheet.is-camera-live .camera-live-wrap{height:100%;min-height:0}.add-sheet.is-camera-live .camera-live-wrap{grid-template-rows:minmax(0,1fr) auto}.add-sheet.is-camera-live .camera-live-frame{height:100%;max-height:none;aspect-ratio:auto!important}.add-sheet.is-camera-live .camera-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.add-sheet.is-camera-live .camera-actions .primary-button,.add-sheet.is-camera-live .camera-actions .ghost-button{width:100%;min-height:48px}.add-sheet.is-camera-live .record-indicator{z-index:2;background:#fffdf7e0;border-radius:999px;padding:6px 10px;position:absolute;top:10px;left:10px;box-shadow:0 4px 12px #2a251f24}.capture-kind-toggle{gap:10px;display:flex}.capture-kind-toggle button{border:2.5px solid var(--line);background:var(--paper-card);color:var(--ink);font-family:var(--font-hand);cursor:pointer;box-shadow:var(--sticker-shadow-sm);transition:transform var(--motion-press) var(--ease-out), box-shadow var(--motion-press) var(--ease-out);border-radius:14px 6px;flex:1 1 0;padding:10px 14px;font-size:17px;font-weight:700}.capture-kind-toggle button.active{background:var(--crayon-sun);box-shadow:1px 1px 0 var(--line);transform:translate(2px,2px)}.capture-kind-toggle button:not(:disabled):active{transform:translate(2px,2px)scale(.97)}.record-indicator{font-family:var(--font-hand);color:var(--accent-ink);align-items:center;gap:8px;margin:0;font-size:16px;font-weight:700;display:flex}.record-dot{background:var(--accent);border-radius:50%;width:12px;height:12px;animation:1s steps(2,start) infinite record-blink}.record-stop{background:#b23a26!important}@keyframes record-blink{50%{opacity:.25}}video.preview-image{object-fit:cover;background:#2f2a24}@media (prefers-reduced-motion:reduce){.record-dot{animation:none}}.add-sheet{flex-direction:column;display:flex;overflow:hidden}.add-sheet>.sheet-header{flex:none}.add-sheet-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;margin:0 -4px;padding:0 4px 5px;overflow:hidden auto}.sheet-action-footer{z-index:14;-webkit-backdrop-filter:blur(18px)saturate(170%);backdrop-filter:blur(18px)saturate(170%);background:#fffdf7db;border-top:1.5px solid #2a251f29;flex:none;margin:10px -4px -4px;padding:11px 4px 4px;position:relative}.sheet-action-footer .primary-button{width:100%;min-height:52px}.media-source-step{gap:12px;display:grid}.media-review-card{border:2px solid var(--line);background:var(--paper-card);min-width:0;box-shadow:3px 3px 0 var(--line);border-radius:18px 7px;grid-template-columns:132px minmax(0,1fr);align-items:center;gap:14px;padding:10px;display:grid}.media-review-card .preview-image{border:2px solid var(--line);object-fit:contain;background:#2f2a24;border-radius:13px 5px;width:132px;height:112px;margin:0}.media-review-copy{gap:5px;min-width:0;display:grid}.media-review-copy>span{color:var(--accent-ink);font-family:var(--font-hand);font-size:13px;font-weight:700}.media-review-copy>strong{color:var(--ink);font-family:var(--font-hand);font-size:18px;line-height:1.25}.media-review-actions{flex-wrap:wrap;gap:7px;margin-top:4px;display:flex}.media-review-actions label,.media-review-actions button{border:2px solid var(--line);background:var(--paper-soft);min-height:36px;color:var(--ink);font-family:var(--font-hand);cursor:pointer;transition:transform var(--motion-press) var(--ease-out);border-radius:10px 4px;align-items:center;gap:5px;padding:7px 10px;font-size:13px;font-weight:700;display:inline-flex;position:relative}.media-review-actions label:active,.media-review-actions button:active{transform:scale(.96)}.media-review-actions input{opacity:0;width:1px;height:1px;position:absolute}.analysis-note.analysis-note-compact{gap:6px;padding:10px 12px}.photo-assist-hint{border:1.5px dashed var(--line-soft);color:var(--ink-soft);font-family:var(--font-hand);background:#7ccdac33;border-radius:11px 5px;align-items:center;gap:7px;margin:0;padding:9px 11px;font-size:13px;font-weight:700;display:flex}.photo-assist-hint.is-loading>span{border:2px solid var(--line-soft);border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:.72s linear infinite photo-assist-spin}@keyframes photo-assist-spin{to{transform:rotate(360deg)}}.analysis-note-compact>p{color:var(--ink-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.4;display:-webkit-box;overflow:hidden}.analysis-rating{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.analysis-rating>span{color:var(--ink-soft);margin-right:2px;font-size:12px;font-weight:700}.analysis-rating button{border:1px solid var(--line);min-height:30px;color:var(--ink);font:inherit;background:#ffffffb8;border-radius:6px;padding:5px 10px;font-size:12px;font-weight:800}.analysis-rating button.active{border-color:var(--ink);background:var(--ink);color:#fff}.analysis-note-compact .shopping-moment-summary{padding-top:7px}.analysis-note-compact .shopping-moment-summary>strong{font-size:15px}.pet-context-question.pet-context-question-compact{grid-template-columns:48px minmax(0,1fr);margin-top:6px;padding-top:8px}.pet-context-question-compact .question-pet{width:48px;height:48px}.pet-context-question-compact strong{margin-bottom:5px;font-size:14px}.pet-context-question-compact button{min-width:56px;min-height:34px;padding:5px 10px}.photo-use-settings{border-top:1.5px dashed var(--line-soft);padding-top:6px}.photo-use-settings>summary{width:max-content;color:var(--ink-soft);cursor:pointer;font-size:12px;font-weight:700}.photo-use-settings .training-consent{border-top:0;margin-top:8px;padding-top:0}.entry-context-editor{border-top:2px dashed var(--line-soft);border-bottom:2px dashed var(--line-soft);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;padding:10px 0 12px;display:grid}.entry-time-field,.entry-location-field{min-width:0}.expense-form .entry-time-field{border:2px solid var(--line);background:var(--paper-card);border-radius:12px 5px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;min-height:46px;padding:0 9px;font-size:14px;display:grid}.entry-time-field>span{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.expense-form .entry-time-field input{font-variant-numeric:tabular-nums;text-align:right;min-width:0;height:40px;box-shadow:none;background:0 0;border:0;padding:4px 0;font-size:15px}.entry-location-field{align-items:stretch;display:flex}.location-request,.location-ready,.location-disabled{border:2px solid var(--line);background:var(--crayon-sky);width:100%;min-width:0;min-height:46px;color:var(--ink);font-family:var(--font-hand);border-radius:12px 5px;justify-content:center;align-items:center;gap:6px;padding:8px 10px;font-size:14px;font-weight:700;display:flex}.location-request{cursor:pointer;transition:transform var(--motion-press) var(--ease-out)}.location-request:active{transform:scale(.97)}.location-request:disabled{cursor:wait;opacity:.65}.location-ready{background:var(--crayon-mint);justify-content:space-between}.location-disabled{color:var(--ink-soft);background:#ffffff8f}.location-ready>span{align-items:center;gap:5px;display:inline-flex}.location-ready button{width:28px;height:28px;color:var(--ink);cursor:pointer;background:#ffffffa3;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.entry-context-message{color:var(--ink-soft);font-family:var(--font-body);grid-column:1/-1;margin:-1px 2px 0;font-size:11px;line-height:1.4}.entry-context-message.is-error{color:#a44232}.category-fieldset-compact{padding-top:12px}.category-fieldset-compact .category-selection-path{margin-bottom:10px}.category-suggestions{flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:8px;display:flex}.category-suggestions>span{color:var(--ink-soft);font-family:var(--font-hand);font-size:12px;font-weight:700}.category-suggestions button{border:2px solid var(--line);background:var(--paper-card);min-height:38px;color:var(--ink);font-family:var(--font-hand);cursor:pointer;transition:transform var(--motion-press) var(--ease-out), background-color var(--motion-control) var(--ease-out);border-radius:11px 5px;align-items:center;gap:5px;padding:7px 10px;font-size:13px;font-weight:700;display:inline-flex}.category-suggestions button.active{background:var(--crayon-mint)}.category-suggestions button:active{transform:scale(.96)}.category-all-details{border:1.5px dashed var(--line-soft);border-radius:10px 4px;margin-top:6px;padding:8px 10px}.category-all-details>summary{color:var(--ink-soft);font-family:var(--font-hand);cursor:pointer;font-size:13px;font-weight:700}.category-all-controls{margin-top:14px}.timeline-daypart+.timeline-daypart{margin-top:10px}.timeline-daypart-heading{z-index:3;border:2px solid var(--line);background:var(--paper-card);box-shadow:2px 2px 0 var(--line);border-radius:12px 5px;justify-content:space-between;align-items:center;gap:10px;margin:0 0 10px 52px;padding:8px 10px;display:flex;position:relative}.timeline-daypart-heading>div{min-width:0;font-family:var(--font-hand);align-items:baseline;gap:6px;display:flex}.timeline-daypart-heading strong{font-size:16px}.timeline-daypart-heading small{color:var(--ink-soft);font-size:11px}.timeline-daypart-heading p{color:var(--ink-soft);font-family:var(--font-hand);white-space:nowrap;margin:0;font-size:12px;font-weight:700}.timeline-daypart-entries .timeline-entry:last-child{padding-bottom:12px}.entry-meta-row{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:3px;display:flex}.entry-meta-row .entry-category{margin-bottom:0}.entry-location{color:var(--ink-soft);font-family:var(--font-hand);align-items:center;gap:3px;font-size:12px;font-weight:700;display:inline-flex}@media (width<=540px){.add-sheet .sheet-header{z-index:12;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;width:100%;max-width:none;margin:0 0 14px;padding:0;position:relative;top:auto}.sheet-action-footer{margin-bottom:calc(-2px + env(safe-area-inset-bottom))}.media-review-card{grid-template-columns:104px minmax(0,1fr);gap:10px}.media-review-card .preview-image{width:104px;height:104px}.media-review-copy>strong{font-size:15px}.media-review-actions{gap:5px}.media-review-actions label,.media-review-actions button{min-height:34px;padding:6px 8px;font-size:12px}.timeline-daypart-heading{margin-left:46px}.timeline-daypart-heading p{text-overflow:ellipsis;max-width:42%;overflow:hidden}}.assistant-expense-form .ledger-kind-fieldset{align-items:center;gap:10px;margin:0;display:flex}.assistant-expense-form .ledger-kind-fieldset legend{flex:none;margin:0;font-size:15px}.assistant-expense-form .ledger-kind-toggle{flex:auto}.assistant-expense-form .ledger-kind-toggle button{min-height:42px;padding-block:7px}.assistant-expense-form .amount-editor{gap:6px;padding:10px 0 12px}.assistant-expense-form .amount-editor-heading label{font-size:17px}.assistant-expense-form .amount-input-shell input{min-height:56px;font-size:30px}.assistant-expense-form .amount-quick-actions button{min-height:36px;padding-block:5px}@media (width<=390px){.entry-context-editor{grid-template-columns:1fr}.media-review-card{grid-template-columns:92px minmax(0,1fr)}.media-review-card .preview-image{width:92px;height:98px}}.camera-actions{flex-wrap:wrap;gap:10px;display:flex}.camera-actions .primary-button,.camera-actions .ghost-button{flex:auto}.file-picker{border:2.5px dashed var(--line-soft);color:var(--ink);font-family:var(--font-hand);box-sizing:border-box;border-radius:18px 8px;gap:10px;padding:18px;font-weight:700;display:grid;position:relative}.file-picker input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;font-size:0;position:absolute;inset:0}.file-picker.file-picker-inline{border:2.5px solid var(--line);background:var(--crayon-sky);color:var(--ink);font-family:var(--font-hand);text-align:center;box-shadow:var(--sticker-shadow-sm);transition:transform var(--motion-press) var(--ease-out), box-shadow var(--motion-press) var(--ease-out);border-radius:16px 7px;flex-direction:column;justify-content:center;align-items:center;padding:14px 16px;font-size:18px;line-height:1.35;display:flex}.file-picker.file-picker-inline:active{box-shadow:0 0 0 var(--line);transform:translate(3px,3px)scale(.97)}@media (hover:hover) and (pointer:fine){.file-picker.file-picker-inline:hover{box-shadow:5px 5px 0 var(--line);transform:translate(-1px,-1px)}}.analysis-note{border:2px dashed var(--line-soft);background:var(--paper-soft);font-family:var(--font-hand);border-radius:14px 6px;margin:0;padding:12px 14px;font-size:16px}.preview-image{height:180px}.expense-form label{color:var(--ink);font-family:var(--font-hand);gap:8px;font-size:18px;font-weight:700;display:grid}.expense-form input,.expense-form select,.expense-form textarea{box-sizing:border-box;border:2.5px solid var(--line);background:var(--paper-card);width:100%;color:var(--ink);font-family:var(--font-body);border-radius:14px 6px;padding:12px 14px;font-size:16px}.amount-editor{border-top:2px dashed var(--line-soft);border-bottom:2px dashed var(--line-soft);gap:9px;padding:15px 0 18px;display:grid}.amount-editor-heading,.mood-score-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.amount-editor-heading label,.mood-score-heading legend{color:var(--ink);font-family:var(--font-hand);font-size:19px;font-weight:700}.amount-editor-heading output,.mood-score-heading output{color:var(--accent-ink);font-family:var(--font-hand);font-size:15px;font-weight:700}.amount-input-shell{align-items:center;display:flex;position:relative}.expense-form .amount-input-shell input{min-height:66px;font-family:var(--font-hand);font-variant-numeric:tabular-nums;text-align:right;border-radius:18px 8px;padding:8px 54px 8px 16px;font-size:34px;font-weight:700;line-height:1}.amount-input-shell>span{color:var(--ink-soft);font-family:var(--font-hand);pointer-events:none;font-size:20px;font-weight:700;position:absolute;right:17px}.amount-quick-actions{grid-template-columns:repeat(4,minmax(0,1fr)) 42px;gap:7px;display:grid}.amount-quick-actions button{border:2px solid var(--line);background:var(--crayon-sun);min-width:0;min-height:40px;color:var(--ink);font-family:var(--font-hand);box-shadow:2px 2px 0 var(--line);cursor:pointer;transition:transform var(--motion-press) var(--ease-out), box-shadow var(--motion-press) var(--ease-out);border-radius:11px 5px;justify-content:center;align-items:center;gap:3px;padding:7px 5px;font-size:14px;font-weight:700;display:inline-flex}.amount-quick-actions button:active{box-shadow:none;transform:translate(2px,2px)scale(.97)}.amount-quick-actions .amount-reset{background:var(--paper-card);padding:0}.expense-form input:focus,.expense-form textarea:focus{border-color:var(--accent);box-shadow:var(--sticker-shadow-sm);outline:none}.expense-form textarea{resize:vertical;min-height:92px}.quick-entry-form{gap:10px}.quick-entry-form .ledger-kind-fieldset{align-items:center;gap:10px;margin:0;display:flex}.quick-entry-form .ledger-kind-fieldset legend{flex:none;margin:0;font-size:15px}.quick-entry-form .ledger-kind-toggle{flex:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.quick-entry-form .ledger-kind-toggle button{border-width:2px;min-height:38px;padding:5px 12px;font-size:15px}.quick-entry-form .amount-editor{gap:6px;padding:8px 0 10px}.quick-entry-form .amount-editor-heading label{font-size:16px}.quick-entry-form .amount-editor-heading output{font-size:13px}.quick-entry-form .amount-input-shell input{min-height:50px;padding-block:6px;font-size:28px}.quick-entry-form .amount-quick-actions{grid-template-columns:repeat(4,minmax(0,1fr)) 36px;gap:5px}.quick-entry-form .amount-quick-actions button{min-height:34px;box-shadow:1px 1px 0 var(--line);padding:4px 3px;font-size:12px}.quick-entry-form>label{gap:5px;font-size:15px}.quick-entry-form>label>input{min-height:44px;padding:9px 11px}.quick-entry-form .quick-title-field{gap:0}.quick-entry-form .quick-entry-category-legend{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.quick-entry-form .category-fieldset{padding:7px 0 0}.quick-entry-form .category-fieldset legend{margin-bottom:6px;font-size:16px}.quick-entry-form .category-step-heading{gap:5px;margin-bottom:5px;font-size:14px}.quick-entry-form .category-step-heading>span{border-width:1.5px;width:20px;height:20px;font-size:11px}.quick-entry-form .category-leaf-heading{margin-top:7px}.quick-entry-form .category-groups{grid-auto-columns:88px;gap:6px;padding-bottom:4px}.quick-entry-form .category-pill{white-space:nowrap;border-width:2px;gap:5px;min-height:44px;padding:5px 7px;font-size:13px;display:flex}.quick-entry-form .category-pill>span{font-size:18px}.quick-entry-form .category-pill>svg{display:none}.quick-entry-form .category-leaves{scrollbar-width:thin;flex-wrap:nowrap;gap:6px;margin:0 -3px;padding:2px 3px 5px;overflow-x:auto}.quick-entry-form .category-leaf{white-space:nowrap;border-width:2px;flex:none;min-height:36px;padding:6px 10px;font-size:13px}.quick-entry-form .mood-score-fieldset{padding:9px 0 0}.quick-entry-form .mood-score-heading{margin-bottom:6px}.quick-entry-form .mood-score-heading legend{font-size:16px}.quick-entry-form .mood-score-heading output{font-size:12px}.quick-entry-form .mood-score-options{gap:5px}.quick-entry-form .mood-score-options button{min-height:52px;box-shadow:1px 1px 0 var(--line);border-width:2px;grid-template-rows:24px auto;padding:4px 2px}.quick-entry-form .mood-score-options button>span{font-size:22px}.quick-entry-form .mood-score-options button strong{font-size:12px}.quick-entry-form .mood-score-options button small{display:none}.quick-entry-form .entry-context-editor{border-bottom:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;padding:8px 0 0}.quick-entry-form .entry-time-field,.quick-entry-form .location-request,.quick-entry-form .location-ready,.quick-entry-form .location-disabled{border-width:2px;min-height:40px;font-size:12px}.quick-entry-form .entry-time-field{padding-inline:7px}.quick-entry-form .entry-time-field>span{font-size:0}.quick-entry-form .entry-time-field>span svg{width:16px;height:16px}.quick-entry-form .entry-time-field input{height:34px;font-size:14px}.category-fieldset{border:0;border-top:2px dashed var(--line-soft);min-width:0;max-width:100%;margin:0;padding:16px 0 5px}.category-fieldset legend{font-family:var(--font-hand);color:var(--ink);margin-bottom:9px;padding:0;font-size:18px;font-weight:700}.ledger-kind-fieldset{border:0;min-width:0;max-width:100%;margin:0 0 18px;padding:0}.ledger-kind-fieldset legend{font-family:var(--font-hand);color:var(--ink);margin-bottom:8px;padding:0;font-size:18px;font-weight:700}.category-selection-path{border:2px solid var(--line);background:var(--crayon-mint);width:fit-content;max-width:100%;color:var(--ink);font-family:var(--font-hand);box-shadow:2px 2px 0 var(--line);border-radius:12px 5px;align-items:center;gap:7px;margin-bottom:14px;padding:7px 11px;font-size:15px;display:flex}.category-selection-path b{overflow-wrap:anywhere;min-width:0;color:var(--accent-ink)}.category-step-heading{color:var(--ink);font-family:var(--font-hand);align-items:center;gap:7px;margin-bottom:8px;font-size:16px;display:flex}.category-step-heading>span{border:2px solid var(--line);background:var(--crayon-sun);border-radius:50%;place-items:center;width:24px;height:24px;font-size:13px;font-weight:700;display:grid}.category-step-heading small{color:var(--ink-soft);margin-left:auto;font-size:13px}.category-leaf-heading{margin-top:14px}.category-groups{overscroll-behavior-inline:contain;scroll-snap-type:inline proximity;scrollbar-width:thin;grid-auto-columns:104px;grid-auto-flow:column;gap:8px;min-width:0;max-width:100%;margin:0 -4px;padding:3px 4px 7px;display:grid;overflow-x:auto}.category-leaves{flex-wrap:wrap;gap:8px;min-width:0;max-width:100%;margin-bottom:10px;display:flex}.category-pill{border:2px solid var(--line);background:var(--paper-card);min-height:72px;color:var(--ink);font-family:var(--font-hand);text-align:left;scroll-snap-align:start;box-shadow:var(--sticker-shadow-sm);cursor:pointer;transition:transform var(--motion-press) var(--ease-out), box-shadow var(--motion-press) var(--ease-out), background-color var(--motion-control) var(--ease-out);border-radius:14px 6px;grid-template-columns:30px minmax(0,1fr);grid-template-areas:"icon check""name name";align-items:center;gap:3px 6px;padding:8px 10px;font-size:15px;font-weight:700;display:grid;position:relative}.category-pill>span{grid-area:icon;font-size:23px}.category-pill>strong{overflow-wrap:anywhere;grid-area:name;min-width:0}.category-pill>svg{grid-area:check;justify-self:end}.category-pill.active{border-color:var(--category-accent,var(--line));background:color-mix(in srgb, var(--category-accent,var(--crayon-sun)) 16%, var(--paper-card));color:var(--ink);box-shadow:1px 1px 0 var(--line);transform:translate(2px,2px)}.category-leaf{border:2px solid var(--line);background:var(--paper-card);min-height:42px;color:var(--ink);font-family:var(--font-hand);cursor:pointer;transition:transform var(--motion-press) var(--ease-out), box-shadow var(--motion-press) var(--ease-out), background-color var(--motion-control) var(--ease-out);border-radius:13px 5px;justify-content:center;align-items:center;gap:5px;padding:9px 14px;font-size:16px;font-weight:700;display:inline-flex}.category-leaf.active{background:var(--accent);color:#fff8f2}.category-pill:active,.category-leaf:active{box-shadow:none;transform:translate(2px,2px)scale(.97)}@media (hover:hover){.primary-button:not(:disabled):hover,.ghost-button:not(:disabled):hover,.camera-start-button:hover,.choice-card:hover{box-shadow:5px 5px 0 var(--line);transform:translate(-1px,-1px)}.category-pill:hover,.category-leaf:hover,.ledger-kind-toggle button:hover{background:var(--crayon-sun)}}@media (width<=540px){.choice-grid{grid-template-columns:1fr;gap:14px}}@media (width<=860px){.app-shell{padding-top:max(16px, env(safe-area-inset-top));padding-bottom:max(16px, env(safe-area-inset-bottom));padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right))}.hero-panel,.dashboard-grid{grid-template-columns:1fr}.hero-panel{padding:24px;display:grid;transform:none}.hero-actions{width:100%;min-width:0}.hero-pet-showcase{max-width:none}.view-tabs{margin-bottom:16px}.dashboard-grid{gap:16px;display:grid}.calendar-card,.daily-card{transform:none}.calendar-day{min-height:82px}.calendar-day-content{min-height:78px;padding:8px}.calendar-day strong,.calendar-day small{font-size:12px}}@media (width<=640px){.hero-panel,.calendar-card,.daily-card{border-radius:22px 9px;padding:18px}.hero-copy{font-size:16px}.hero-panel h1{font-size:clamp(52px,18vw,72px)}.hero-pet-showcase{margin-inline:-6px}.mascot-caption{max-width:150px;font-size:14px;bottom:62px;right:12px}.hero-month-stats>div{padding:14px 16px;transform:none}.hero-month-stats strong{font-size:26px}.hero-actions .primary-button{box-sizing:border-box;width:100%;min-height:48px}.section-heading h2{overflow-wrap:anywhere;word-break:keep-all;font-size:22px}.calendar-companion{order:3}.daily-companion-note{font-size:13px}.weekday-row,.calendar-grid{gap:5px}.weekday-row{font-size:13px}.calendar-day{font-variant-numeric:tabular-nums;box-sizing:border-box;text-align:left;border-radius:12px 5px;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:2px;min-height:max(48px,clamp(52px,12vw + 40px,90px));display:flex}.calendar-day-content{gap:2px;min-height:max(44px,clamp(48px,12vw + 36px,86px));padding:5px 4px}.calendar-day:hover,.calendar-day.selected{transform:none}.calendar-day span{flex:none}.calendar-day-date{font-size:14px}.calendar-day.has-photo .calendar-day-date{width:20px;height:20px;padding:0;font-size:12px}.calendar-day strong{-webkit-line-clamp:2;word-break:keep-all;-webkit-box-orient:vertical;max-width:100%;margin-top:0;font-size:11px;line-height:1.25;display:-webkit-box;overflow:hidden}.calendar-day small{white-space:nowrap;text-overflow:ellipsis;max-width:100%;margin-top:0;font-size:9px;line-height:1.25;display:block;overflow:hidden}.calendar-day-photo{padding:1px 4px;top:5px;right:4px;max-width:calc(100% - 28px)!important;font-size:8px!important}.sheet-backdrop{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom)}.add-sheet{width:100%;max-width:100%;padding:18px max(18px, env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));max-height:min(94dvh, calc(100dvh - env(safe-area-inset-top) - 8px));box-sizing:border-box;border-radius:22px 9px 0 0;margin-inline:0}.add-sheet.is-camera-live{height:min(100dvh, calc(100dvh - env(safe-area-inset-top)));max-height:min(100dvh, calc(100dvh - env(safe-area-inset-top)));padding-top:14px}.add-sheet.is-camera-live .sheet-header{margin-bottom:8px}.add-sheet.is-camera-live .camera-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.photo-source-row{flex-direction:column;align-items:stretch;gap:12px}.camera-start-button,.file-picker.file-picker-inline{box-sizing:border-box;flex:none;width:100%;max-width:none;min-height:48px;padding-inline:16px}.camera-actions{flex-direction:column;gap:10px}.camera-actions .primary-button,.camera-actions .ghost-button{box-sizing:border-box;flex:none;width:100%;min-height:48px}.choice-card{box-sizing:border-box;justify-items:start;gap:8px;width:100%;min-height:auto;padding:18px;transform:none}.expense-title-row{flex-wrap:wrap;align-items:baseline;gap:8px}.expense-card{grid-template-columns:minmax(0,76px) minmax(0,1fr);gap:12px}.expense-image,.preview-image{aspect-ratio:1;align-self:start;height:auto;min-height:0;max-height:none}.preview-image{aspect-ratio:auto;width:100%;height:auto;min-height:120px;max-height:220px}.camera-live-frame{max-height:min(520px,54dvh)}.category-groups{grid-auto-columns:96px;grid-auto-flow:column;gap:8px;margin:0 -2px;padding-inline:2px;overflow-x:auto}.category-groups .category-pill{align-items:center;justify-content:initial;min-height:68px;padding:8px 9px}.category-leaves{flex-wrap:wrap;gap:8px;margin-bottom:10px;overflow:visible}.category-leaves .category-leaf{flex:0 auto;max-width:100%;min-height:44px;padding:10px 12px;font-size:15px}.section-heading-toolbar{flex-direction:column;align-items:stretch}.story-launch-btn{text-align:center;width:100%}.expense-form>.primary-button{width:100%;min-height:48px;margin-top:4px}.primary-button,.ghost-button{box-sizing:border-box;min-height:44px}label.file-picker.file-picker-inline{min-height:48px}}.timeline-app-shell{width:min(100%,480px);min-height:100svh;padding:max(18px, env(safe-area-inset-top)) 18px calc(108px + max(18px, env(safe-area-inset-bottom)));background-color:#fffdf7eb;background-image:radial-gradient(#2a251f13 1px,#0000 1px);background-size:20px 20px;margin:0 auto;box-shadow:0 0 0 1px #2a251f14,0 18px 60px #42311d1f}.timeline-topbar{top:max(8px, env(safe-area-inset-top));z-index:20;-webkit-backdrop-filter:blur(24px)saturate(180%);backdrop-filter:blur(24px)saturate(180%);background:#fffdf79e;border:1px solid #ffffffc7;border-radius:18px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:48px;margin:-4px -6px 0;padding:6px;display:grid;position:sticky;box-shadow:0 10px 30px #2a251f14,inset 0 1px #ffffffe6}.icon-button{width:42px;height:42px;color:var(--ink);cursor:pointer;transition:transform var(--motion-press) var(--ease-out), box-shadow var(--motion-press) var(--ease-out), background-color var(--motion-control) var(--ease-out);background:#ffffff94;border:1px solid #ffffffd6;border-radius:13px;place-items:center;padding:0;display:inline-grid;box-shadow:0 5px 15px #2a251f14,inset 0 1px #fffffff0}.icon-button:not(:disabled):active{transform:scale(.92);box-shadow:0 2px 8px #2a251f0f,inset 0 1px #ffffffe0}.account-trigger:not(.is-open){width:auto;min-width:72px;font-family:var(--font-hand);white-space:nowrap;gap:6px;padding:0 9px;font-size:14px;font-weight:800;display:inline-flex}.timeline-brand{min-width:0;font-family:var(--font-hand);align-items:center;gap:6px;font-size:30px;line-height:1;display:inline-flex}.timeline-brand svg{color:var(--accent)}.daily-story-button{min-height:38px;color:var(--ink);font-family:var(--font-hand);cursor:pointer;background:#ffffff94;border:1px solid #ffffffd6;border-radius:12px;align-items:center;gap:5px;padding:7px 10px;font-weight:700;display:inline-flex;box-shadow:0 5px 15px #2a251f14,inset 0 1px #fffffff0}.daily-story-button:disabled{opacity:.42;cursor:not-allowed}.story-lock-hint{color:var(--ink-soft);text-align:right;margin:7px 4px 0;font-size:11px;line-height:1.45}.story-lock-hint-calendar{text-align:left;margin:-4px 0 12px}.account-drawer{z-index:15;-webkit-backdrop-filter:blur(24px)saturate(180%);backdrop-filter:blur(24px)saturate(180%);transform-origin:0 0;will-change:transform, opacity;background:#fffdf7b8;border:1px solid #ffffffd1;border-radius:20px;margin:12px 0 4px;position:relative;box-shadow:0 14px 38px #2a251f1c,inset 0 1px #ffffffeb}.app-view-viewport{min-height:60vh;position:relative;overflow:clip}.app-view-screen{transform-origin:top;will-change:transform, opacity;width:100%}.timeline-home{padding-top:26px}.first-session-intro{border-bottom:2px dashed var(--line-soft);padding:2px 0 13px}.first-session-intro .eyebrow{color:var(--accent-ink);margin-bottom:7px;font-size:12px}.first-session-intro h1{max-width:390px;font-family:var(--font-hand);letter-spacing:0;margin:0;font-size:clamp(36px,9.5vw,46px);line-height:.98}.first-session-copy{color:var(--ink-soft);margin:9px 0 0;font-size:14px;line-height:1.45}.first-session-copy strong{color:var(--ink)}.first-session-trust{color:#405e51;background:#daf4e68f;border-left:3px solid #27775a;align-items:flex-start;gap:7px;margin:9px 0 0;padding:7px 9px;font-size:10.5px;line-height:1.45;display:flex}.first-session-trust svg{flex:none;margin-top:1px}.today-heading{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.today-heading .eyebrow{margin-bottom:0;font-size:13px}.date-switcher{color:var(--ink);font-family:var(--font-hand);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0;font-size:clamp(25px,7vw,32px);font-weight:700;display:inline-flex}.today-cuts{justify-items:end;gap:6px;display:grid}.today-cuts>strong{color:var(--ink-soft);font-family:var(--font-hand);font-size:15px}.today-cut-strip{align-items:center;gap:5px;min-height:38px;display:flex}.today-cut-strip img,.today-cut-strip button{border:2px solid var(--line);object-fit:cover;background:var(--crayon-sun);width:38px;height:38px;color:var(--ink);border-radius:8px 3px;flex:0 0 38px}.today-cut-strip button{cursor:pointer;place-items:center;padding:0;display:grid}.today-money-strip{border-top:2px dashed var(--line-soft);border-bottom:2px dashed var(--line-soft);color:var(--ink-soft);font-family:var(--font-hand);flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:19px;padding:10px 0 13px;font-size:15px;display:flex}.today-money-strip span:first-child{margin-right:auto}.today-money-strip strong{color:var(--accent-ink);font-size:19px}.today-money-strip .today-income{color:var(--income);font-weight:700}.timeline-companion{border-bottom:2px solid var(--line);align-items:flex-end;min-height:88px;margin-top:6px;display:flex}.timeline-pet{object-fit:contain;object-position:center bottom;filter:drop-shadow(0 7px 8px #2a251f26);flex:0 0 112px;width:112px;height:112px;animation:3.2s ease-in-out infinite mascot-bob}.timeline-companion p{border:2px solid var(--line);background:var(--paper-card);color:var(--ink-soft);font-family:var(--font-hand);border-radius:14px 14px 14px 4px;margin:0 0 20px -4px;padding:9px 12px;font-size:16px;line-height:1.3;position:relative}.timeline-companion strong{color:var(--ink)}.first-session-companion{min-height:84px}.first-session-companion .timeline-pet{flex-basis:86px;width:86px;height:86px}.first-session-companion p{margin-bottom:12px;padding:7px 9px;font-size:14px}.photo-timeline{gap:0;padding:20px 0 10px;display:grid;position:relative}.timeline-entry{grid-template-columns:46px 44px minmax(0,1fr);gap:8px;min-height:108px;padding-bottom:20px;display:grid;position:relative}.timeline-entry:before{content:"";background:var(--line);width:2px;position:absolute;top:0;bottom:0;left:67px}.timeline-entry:last-child:before{bottom:50%}.timeline-entry>time{color:var(--ink-soft);font-family:var(--font-hand);font-variant-numeric:tabular-nums;padding-top:13px;font-size:14px}.timeline-node{z-index:2;border:2px solid var(--line);width:42px;height:42px;color:var(--ink);border-radius:50%;place-items:center;display:grid;position:relative}.timeline-entry-body{border-bottom:2px dashed var(--line-soft);min-width:0;padding:9px 30px 9px 4px;position:relative}.timeline-entry-photo .timeline-entry-body{padding:0 0 14px}.timeline-photo{aspect-ratio:4/3;border:2px solid var(--line);object-fit:cover;width:100%;box-shadow:3px 3px 0 var(--line);background:#efe6d2;border-radius:15px 6px;margin-bottom:10px;display:block}.entry-category{border:1.5px solid var(--line);color:var(--ink-soft);font-family:var(--font-hand);border-radius:7px 3px;margin-bottom:3px;padding:2px 7px;font-size:13px;display:inline-block}.entry-title-row{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.entry-title-row h3,.entry-title-row strong{font-family:var(--font-hand);margin:0;font-size:21px}.entry-title-row h3{overflow-wrap:anywhere;min-width:0}.entry-title-row strong{color:var(--accent-ink);white-space:nowrap}.timeline-entry-body p{color:var(--ink-soft);margin:5px 0 0;font-size:14px}.entry-check{border:1.5px solid var(--line);background:var(--crayon-mint);border-radius:50%;padding:2px;position:absolute;top:12px;right:4px}.timeline-entry-photo .entry-check{top:auto;bottom:19px}.timeline-empty-moment{grid-template-columns:minmax(0,1.25fr) minmax(110px,.75fr);align-items:center;gap:14px;padding:4px 0 16px;display:grid}.first-session-demo{grid-template-columns:minmax(126px,148px) minmax(0,1fr);align-items:stretch;padding-top:0}.demo-result{align-content:center;gap:4px;min-width:0;display:grid}.demo-result>span,.demo-result>small{color:var(--ink-soft);font-size:11px;line-height:1.4}.demo-result>strong{color:var(--accent-ink);font-family:var(--font-hand);font-size:28px;line-height:1}.demo-result>p{border:1.5px solid var(--line);background:var(--crayon-mint);width:max-content;max-width:100%;font-family:var(--font-hand);border-radius:7px 3px;margin:2px 0;padding:3px 7px;font-size:14px;font-weight:700}.timeline-date-empty{border-bottom:2px dashed var(--line-soft);gap:4px;padding:18px 2px 24px;display:grid}.timeline-date-empty strong{font-family:var(--font-hand);font-size:20px}.timeline-date-empty span{color:var(--ink-soft);font-size:13px}.timeline-empty-photo{position:relative}.timeline-empty-photo img{aspect-ratio:1;border:2px solid var(--line);object-fit:cover;width:100%;box-shadow:3px 3px 0 var(--line);filter:saturate(.75);opacity:.78;border-radius:15px 6px;display:block}.timeline-empty-photo span{border:1.5px solid var(--line);background:var(--paper-card);color:var(--accent-ink);font-family:var(--font-hand);border-radius:7px 3px;align-items:center;gap:4px;padding:4px 7px;font-size:12px;font-weight:700;display:inline-flex;position:absolute;bottom:8px;left:8px}.empty-question{color:var(--ink);font-family:var(--font-hand);margin:0 0 10px;font-size:20px;font-weight:700;line-height:1.25}.empty-camera-link{border:2px solid var(--line);background:var(--crayon-mint);color:var(--ink);font-family:var(--font-hand);cursor:pointer;box-shadow:2px 2px 0 var(--line);border-radius:10px 4px;align-items:center;gap:6px;padding:7px 9px;font-weight:700;display:inline-flex}.capture-prompt{border:2px solid var(--line);background:var(--paper-card);width:max-content;max-width:88%;color:var(--ink);font-family:var(--font-hand);border-radius:14px 14px 4px;margin:8px auto -2px;padding:7px 14px;font-size:17px;font-weight:700;transform:rotate(-1deg)}.capture-dock{-webkit-backdrop-filter:blur(24px)saturate(180%);backdrop-filter:blur(24px)saturate(180%);background:#fffdf78f;border:1px solid #ffffffc2;border-radius:28px;gap:5px;margin-top:8px;padding:7px;display:grid;box-shadow:0 14px 38px #2a251f17,inset 0 1px #ffffffeb}.capture-primary{border:2px solid var(--line);background:var(--crayon-coral);min-width:0;min-height:68px;color:var(--ink);cursor:pointer;box-shadow:3px 4px 0 var(--line), 0 12px 26px #b1483829;transition:transform var(--motion-press) var(--ease-out), box-shadow var(--motion-press) var(--ease-out);border-radius:18px 7px;grid-template-columns:66px minmax(0,1fr);align-items:center;gap:11px;padding:6px 14px 6px 6px;display:grid}.capture-primary:active{box-shadow:1px 1px 0 var(--line), 0 5px 14px #b1483824;transform:translate(2px,2px)}.capture-primary-copy{text-align:left;gap:2px;min-width:0;display:grid}.capture-primary-copy strong{font-family:var(--font-hand);font-size:21px;line-height:1.1}.capture-primary-copy small{color:#2d2925c7;font-size:11px;line-height:1.35}.camera-shutter{width:62px;height:62px;color:var(--accent-ink);background:#fffdf7f5;border:6px solid #ffffffeb;border-radius:50%;place-items:center;padding:0;display:grid;box-shadow:0 0 0 2px #ffffff47,inset 0 1px #ffffff61}.capture-primary:active .camera-shutter{transform:scale(.96)}.capture-alternatives{color:var(--line-soft);justify-content:center;align-items:center;gap:5px;display:flex}.dock-secondary{color:var(--ink-soft);font-family:var(--font-hand);cursor:pointer;transition:transform var(--motion-press) var(--ease-out), color var(--motion-control) var(--ease-out);background:0 0;border:0;border-radius:16px;align-items:center;gap:5px;padding:5px 7px;font-size:14px;font-weight:700;display:inline-flex;position:relative}.dock-secondary:active{transform:scale(.94)}.dock-secondary input{opacity:0;width:1px;height:1px;position:absolute}.sr-only-action{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.bottom-nav{z-index:50;left:50%;bottom:max(12px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(28px)saturate(190%);backdrop-filter:blur(28px)saturate(190%);background:#fffdf79e;border:1px solid #ffffffc7;border-radius:24px;grid-template-columns:repeat(3,minmax(0,1fr));width:min(100% - 24px,456px);min-height:68px;padding:6px;display:grid;position:fixed;transform:translate(-50%);box-shadow:0 16px 44px #2a251f24,inset 0 1px #fffffff0}.bottom-nav button{isolation:isolate;min-width:0;min-height:54px;color:var(--ink-soft);font-family:var(--font-hand);cursor:pointer;transition:transform var(--motion-press) var(--ease-out), color var(--motion-control) var(--ease-out);background:0 0;border:0;border-radius:18px;place-items:center;padding:0;font-size:12px;font-weight:700;display:grid;position:relative}.bottom-nav button.active{color:var(--ink)}.bottom-nav-selection{z-index:-1;border-radius:inherit;background:#ffd23f94;border:1px solid #ffffffeb;position:absolute;inset:0;box-shadow:0 6px 18px #5c431c1f,inset 0 1px #ffffffe0}.bottom-nav-content{z-index:1;pointer-events:none;justify-items:center;gap:2px;display:grid;position:relative}.bottom-nav button:not(:disabled):active{transform:scale(.94)}.calendar-view{width:min(100%,900px);margin:28px auto 90px}.analysis-status{border:1.5px solid var(--accent);color:var(--accent-ink);font-family:var(--font-hand);border-radius:8px 3px;align-items:center;gap:5px;padding:3px 7px;font-weight:700;display:inline-flex}.legal-footer{color:var(--ink-soft);justify-content:center;gap:18px;margin:28px 0 20px;font-size:12px;display:flex}.legal-footer a{color:inherit;text-underline-offset:3px}.pet-context-question{border-top:2px dashed var(--line-soft);grid-template-columns:76px minmax(0,1fr);align-items:center;gap:10px;margin-top:12px;padding-top:10px;display:grid}.question-pet{object-fit:contain;width:76px;height:76px}.pet-context-question strong{font-family:var(--font-hand);margin-bottom:8px;font-size:17px;display:block}.pet-context-question div[role=group]{gap:8px;display:flex}.pet-context-question button{border:2px solid var(--line);background:var(--paper-card);min-width:64px;color:var(--ink);font-family:var(--font-hand);cursor:pointer;border-radius:10px 4px;padding:7px 12px;font-weight:700}.pet-context-question button.active{background:var(--crayon-mint)}.camera-start-button,.file-picker-inline,.capture-kind-toggle button{justify-content:center;align-items:center;gap:7px}.shopping-moment-summary{border-top:2px dashed var(--line-soft);gap:5px;padding:10px 0 2px;display:grid}.shopping-moment-summary>strong{color:var(--ink);font-size:18px}.shopping-moment-summary>p{color:var(--ink-soft);font-family:var(--font-body);font-size:13px;line-height:1.45}.shopping-moment-summary details{margin-top:3px}.shopping-moment-summary summary,.expense-more-details summary{width:max-content;max-width:100%;color:var(--ink-soft);cursor:pointer;text-underline-offset:3px;font-size:14px;font-weight:700;text-decoration:underline}.shopping-moment-summary .detected-item-list{margin-top:8px}.memory-first-intro{border-top:2px solid var(--line);border-bottom:2px solid var(--line);background:var(--crayon-mint);color:var(--ink);align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.memory-first-intro>svg{flex:none;margin-top:2px}.memory-first-intro strong{font-family:var(--font-hand);font-size:19px}.memory-first-intro p{color:var(--ink-soft);margin:2px 0 0;font-size:13px;line-height:1.4}.mood-score-fieldset{border:0;border-top:2px dashed var(--line-soft);min-width:0;margin:0;padding:16px 0 2px}.mood-score-heading{margin-bottom:9px}.mood-score-options{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;display:grid}.mood-score-options button{border:2px solid var(--line);background:var(--paper-card);min-width:0;min-height:76px;color:var(--ink);font-family:var(--font-hand);box-shadow:var(--sticker-shadow-sm);cursor:pointer;transition:transform var(--motion-press) var(--ease-out), box-shadow var(--motion-press) var(--ease-out), background-color var(--motion-control) var(--ease-out);border-radius:12px 5px;grid-template-rows:30px auto auto;justify-content:center;align-items:center;gap:1px;padding:7px 3px;font-weight:700;display:grid}.mood-score-options button>span{filter:saturate(.72);transition:transform var(--motion-control) var(--ease-out), filter var(--motion-control) var(--ease-out);font-family:system-ui,sans-serif;font-size:27px;line-height:1;transform:scale(.94)}.mood-score-options button strong{color:var(--ink);font-size:14px;line-height:1}.mood-score-options button small{min-width:0;color:var(--ink-soft);overflow-wrap:anywhere;font-size:11px;line-height:1.15}.mood-score-options button.active{background:var(--crayon-sun);box-shadow:1px 1px 0 var(--line);transform:translate(2px,2px)}.mood-score-options button.active>span{filter:saturate(1.1);transform:scale(1.1)}.mood-score-options button:active{box-shadow:none;transform:translate(2px,2px)scale(.97)}.daily-story-button,.empty-camera-link,.pet-context-question button{transition:transform var(--motion-press) var(--ease-out), color var(--motion-control) var(--ease-out), background-color var(--motion-control) var(--ease-out), box-shadow var(--motion-press) var(--ease-out)}.daily-story-button:not(:disabled):active,.empty-camera-link:active,.pet-context-question button:active{transform:scale(.97)}.entry-mood{border:1.5px solid var(--line-soft);width:fit-content;color:var(--ink-soft);font-family:var(--font-hand);background:#ffdc604d;border-radius:10px 4px;align-items:center;gap:5px;margin-top:6px;padding:4px 8px;font-size:12px;font-weight:700;display:inline-flex}.expense-more-details{border:2px dashed var(--line-soft);background:#fffdf8a3;border-radius:12px 5px;padding:11px 13px}.expense-more-fields{gap:16px;margin-top:16px;display:grid}.today-money-strip .today-total-money{color:var(--ink-soft);font-size:13px}@media (prefers-reduced-transparency:reduce){.timeline-topbar,.capture-dock,.bottom-nav,.account-drawer,.add-sheet,.choice-card,.ghost-button,.icon-button,.daily-story-button{background:var(--paper-card);-webkit-backdrop-filter:none;backdrop-filter:none}}@media (prefers-contrast:more){.timeline-topbar,.capture-dock,.bottom-nav{border-color:var(--line);background:var(--paper-card)}}.analytics-consent{z-index:1;border:1.5px solid var(--ink);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;width:min(680px,100% - 28px);margin:10px auto 4px;padding:14px 16px;display:grid;position:relative;box-shadow:4px 5px #19191929}.analytics-consent strong{font-size:14px}.analytics-consent p{color:var(--ink-soft);margin:3px 0 0;font-size:12px;line-height:1.4}.analytics-consent-actions{align-items:center;gap:6px;display:flex}.analytics-consent-actions button,.analytics-consent-actions a{border:1px solid var(--line);min-height:34px;color:var(--ink);font:inherit;background:#fff;border-radius:6px;padding:7px 10px;font-size:12px;font-weight:800;text-decoration:none}.analytics-consent-actions .primary{border-color:var(--ink);background:var(--ink);color:#fff}@media (width<=480px){.analytics-consent{grid-template-columns:1fr;gap:8px;padding:11px 12px}.analytics-consent-actions{flex-wrap:wrap;justify-content:flex-start}.timeline-app-shell{box-shadow:none;padding-inline:15px}.today-heading{gap:10px}.date-switcher{font-size:25px}.timeline-entry{grid-template-columns:42px 40px minmax(0,1fr);gap:6px}.timeline-entry:before{left:61px}.timeline-node{width:38px;height:38px}.capture-dock{gap:7px;padding:8px}.capture-primary{grid-template-columns:60px minmax(0,1fr);min-height:70px;padding-right:10px}.camera-shutter{width:56px;height:56px}.capture-primary-copy strong{font-size:19px}.amount-quick-actions{grid-template-columns:repeat(4,minmax(0,1fr)) 40px}.amount-quick-actions button{font-size:13px}.mood-score-options{gap:5px}.mood-score-options button{min-height:70px}.mood-score-options button small{font-size:10px}}@media (width<=350px){.timeline-brand{font-size:26px}.account-trigger:not(.is-open){min-width:62px;padding-inline:7px;font-size:12px}.daily-story-button{justify-content:center;gap:0;width:40px;padding:7px;font-size:0}}@media (width<=480px) and (height<=700px){.timeline-home{position:relative}.first-session-companion{z-index:2;pointer-events:none;border:0;width:58px;min-height:58px;position:absolute;top:118px;right:0}.first-session-companion .timeline-pet{flex-basis:58px;width:58px;height:58px}.first-session-companion p{display:none}.first-session-photo-timeline{padding:4px 0 0}.first-session-demo{display:none}.capture-dock{gap:3px;padding:5px}.capture-primary{min-height:62px}.dock-secondary{padding-block:3px}}.not-found-page{background:var(--paper);place-items:center;min-height:100dvh;padding:24px;display:grid}.not-found-page section{border:2.5px solid var(--line);background:var(--paper-card);text-align:center;border-radius:18px 7px;width:min(100%,480px);padding:42px 28px;box-shadow:7px 8px #2d292524}.not-found-page h1{font-family:var(--font-hand);letter-spacing:0;margin:4px 0 12px;font-size:clamp(34px,9vw,50px)}.not-found-page p:not(.eyebrow){max-width:360px;color:var(--ink-soft);margin:0 auto 24px;line-height:1.7}.not-found-page a{border:2px solid var(--line);background:var(--accent);min-height:48px;color:var(--ink);box-shadow:3px 3px 0 var(--line);border-radius:12px 5px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-weight:800;text-decoration:none;display:inline-flex}.not-found-page a:focus-visible{outline-offset:4px;outline:3px solid #27775a}@media (prefers-reduced-motion:reduce){.timeline-pet{animation:none}.hero-panel,.calendar-card,.daily-card,.hero-month-stats>div,.choice-card{transform:none}.empty-mascot{animation:none}.sheet-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}.add-sheet,.account-drawer{will-change:opacity}.primary-button:not(:disabled):active,.ghost-button:not(:disabled):active,.choice-card:active,.view-tabs button:not(:disabled):active,.ledger-kind-toggle button:not(:disabled):active,.calendar-day:active,.camera-start-button:active,.capture-kind-toggle button:not(:disabled):active,.file-picker.file-picker-inline:active,.icon-button:not(:disabled):active,.camera-shutter:active,.dock-secondary:active,.bottom-nav button:not(:disabled):active,.daily-story-button:not(:disabled):active,.empty-camera-link:active,.pet-context-question button:active,.amount-quick-actions button:active,.mood-score-options button:active,.category-pill:active,.category-leaf:active{transform:none}}.lazy-pet-view{place-items:center;min-height:min(70dvh,680px);display:grid}.lazy-pet-view .pet-portrait-3d{width:min(46vw,180px);height:auto;animation:1.1s ease-in-out infinite alternate lazy-pet-breathe}@keyframes lazy-pet-breathe{0%{opacity:.72;transform:translateY(3px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.lazy-pet-view .pet-portrait-3d{animation:none}}@media (width<=480px){.sheet-backdrop{padding:max(8px, env(safe-area-inset-top)) 8px max(8px, env(safe-area-inset-bottom))}.add-sheet{max-height:calc(100dvh - max(16px, env(safe-area-inset-top)) - env(safe-area-inset-bottom));border-radius:22px;padding:25px 16px 14px}.sheet-header{align-items:center;margin-bottom:10px}.sheet-header .eyebrow{margin-bottom:1px;font-size:10px}.sheet-header h2{font-size:21px}.quick-entry-form .category-groups{grid-auto-columns:88px;gap:6px}.quick-entry-form .category-groups .category-pill{min-height:44px;padding:5px 7px;font-size:13px}.quick-entry-form .category-leaves{flex-wrap:nowrap;gap:6px;margin-bottom:0;overflow-x:auto}.quick-entry-form .category-leaves .category-leaf{flex:none;min-height:36px;padding:6px 10px;font-size:13px}.quick-entry-form .amount-quick-actions{grid-template-columns:repeat(4,minmax(0,1fr)) 36px}.quick-entry-form .amount-quick-actions button{font-size:12px}.quick-entry-form .mood-score-options button{min-height:52px}.quick-entry-form .mood-score-options button small{display:none}}
