:root{color:#2f2a25;font-synthesis:none;text-rendering:optimizelegibility;--paper:#f7f2e8;--paper-deep:#eee5d5;--paper-light:#fffaf0;--ink:#2f2a25;--muted:#7a7167;--muted-light:#a79e92;--line:#473a2a21;--accent:#df5f3b;--accent-soft:#f4d6c6;--sage:#67806a;--sage-soft:#dfe8dc;--gold:#d7a64f;--shadow:0 20px 60px #372c202b;--serif:"Iowan Old Style", "Songti SC", "STSong", "Noto Serif CJK SC", Georgia, serif;background:#d8d1c5;font-family:Avenir Next,PingFang SC,Microsoft YaHei,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}html{background:#d8d1c5;min-width:320px;min-height:100%}body{background:radial-gradient(circle at 12% 8%,#fffaeea6,#0000 32%),radial-gradient(circle at 86% 88%,#70604d2b,#0000 36%),#d8d1c5;min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{color:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #df5f3b57}button:disabled{cursor:not-allowed;opacity:.45}h1,h2,h3,p{margin:0}.app-stage{place-items:center;min-height:100vh;padding:0;display:grid}.app-shell{background:radial-gradient(circle at 12% 20%, #ffffffa6, transparent 30%), repeating-linear-gradient(96deg, #56402606 0, #56402606 1px, transparent 1px, transparent 7px), var(--paper);width:min(100vw,430px);height:min(100dvh,900px);box-shadow:var(--shadow);position:relative;overflow:hidden}.app-content{overscroll-behavior-y:contain;scrollbar-width:none;height:100%;overflow:hidden auto}.app-content::-webkit-scrollbar{display:none}.page{min-height:100%;padding:max(18px, env(safe-area-inset-top)) 20px 126px;animation:.26s ease-out both page-enter}.eyebrow{color:var(--muted);letter-spacing:.13em;text-transform:uppercase;font-size:10px;font-weight:750;line-height:1.4}.app-header{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.brand-lockup{align-items:center;gap:10px;display:flex}.brand-mark{background:var(--paper-light);width:36px;height:36px;color:var(--accent);font-family:var(--serif);border:1px solid #3d312438;border-radius:50%;place-items:center;font-size:18px;font-weight:800;display:grid;box-shadow:inset 0 0 0 4px #df5f3b12}.brand-lockup div{flex-direction:column;gap:1px;display:flex}.brand-lockup strong{font-family:var(--serif);letter-spacing:.08em;font-size:17px}.brand-lockup span:not(.brand-mark){color:var(--muted);letter-spacing:.12em;font-size:8px;font-weight:700}.icon-button{border:1px solid var(--line);cursor:pointer;background:#fffaf0bf;border-radius:50%;flex:none;place-items:center;width:40px;height:40px;display:inline-grid}.icon-button--paper{background:var(--paper-light)}.icon-button--danger{color:#a6422f;background:#fae7e1;border-color:#a6422f2e}.month-overview{padding:2px 2px 0;position:relative}.month-overview:after{content:"";border:1px solid #df5f3b21;border-radius:50%;width:108px;height:108px;position:absolute;top:55px;right:0;transform:rotate(-12deg)}.month-switcher{align-items:center;gap:8px;margin-bottom:26px;display:flex}.month-switcher p{letter-spacing:.03em;font-size:13px;font-weight:730}.month-switcher button{width:24px;height:24px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.month-switcher button:disabled{cursor:default;opacity:.3}.month-overview>.eyebrow{margin-bottom:7px}.remaining-amount{z-index:1;align-items:flex-start;gap:5px;width:max-content;display:flex;position:relative}.remaining-amount span{color:var(--accent);font-family:var(--serif);margin-top:11px;font-size:24px;font-weight:700}.remaining-amount strong{font-family:var(--serif);letter-spacing:-.065em;font-size:clamp(56px,16vw,72px);font-weight:500;line-height:.98}.budget-row{color:var(--muted);justify-content:space-between;margin-top:26px;font-size:11px;display:flex}.budget-progress{background:#503f2c17;border-radius:99px;height:4px;margin-top:9px;overflow:hidden}.budget-progress i{border-radius:inherit;background:linear-gradient(90deg, var(--accent), #e7a75d);height:100%;display:block}.week-strip{grid-template-columns:repeat(7,1fr);gap:5px;margin:29px 0 24px;display:grid}.week-strip button{cursor:pointer;background:0 0;border:0;border-radius:26px;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-width:0;height:70px;padding:0;display:flex}.week-strip button span{color:var(--muted-light);font-size:10px}.week-strip button strong{font-family:var(--serif);font-size:17px;font-weight:600}.week-strip button i{background:0 0;border-radius:50%;width:4px;height:4px}.week-strip button i.has-spending{background:var(--accent)}.week-strip button.is-active{background:var(--ink);color:var(--paper-light);box-shadow:0 8px 19px #2f2a252b}.week-strip button.is-active span{color:#fffaf094}.week-strip button.is-active i.has-spending{background:#f4b25a}.day-sheet{background:linear-gradient(#ffffffc2, #ffffff80), repeating-linear-gradient(0deg, transparent 0, transparent 31px, #4a392609 32px), var(--paper-light);border:1px solid #5a462f1c;border-radius:7px;padding:27px 19px 13px;position:relative;box-shadow:inset 0 1px #ffffffd9,0 16px 28px #503c2814}.paper-tape{background:#e8c98e59;border:1px solid #6f593a14;width:58px;height:20px;position:absolute;top:-8px;transform:rotate(-3deg)}.paper-tape--left{left:22px}.paper-tape--right{right:19px;transform:rotate(3deg)}.day-sheet__header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:13px;display:flex}.day-sheet__header h1{font-family:var(--serif);letter-spacing:-.04em;white-space:nowrap;margin-top:3px;font-size:26px;font-weight:600}.day-total{flex-direction:column;flex:none;align-items:flex-end;gap:4px;padding-top:2px;display:flex}.day-total span{color:var(--muted);font-size:10px}.day-total strong{color:var(--accent);font-family:var(--serif);font-size:19px;font-weight:600}.entry-list{flex-direction:column;gap:3px;margin:8px 0 0;display:flex}.entry-card{text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px dashed #4939281c;grid-template-columns:62px minmax(0,1fr) auto;align-items:center;gap:11px;width:100%;min-height:78px;padding:7px 2px;display:grid}.entry-card:last-child{border-bottom:0}.entry-card__copy{flex-direction:column;gap:4px;min-width:0;display:flex}.entry-card__copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:750;overflow:hidden}.entry-card__meta{align-items:center;gap:6px;min-width:0;display:flex}.entry-card__description{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1.45;overflow:hidden}.food-kcal{color:#a66f25;background:#f5e8cf;border-radius:99px;flex:none;align-items:center;gap:2px;padding:3px 6px;font-size:8px;font-weight:700;display:inline-flex}.entry-card__amount{font-family:var(--serif);white-space:nowrap;align-self:start;padding-top:17px;font-size:16px;font-weight:650}.entry-card__amount.is-income{color:var(--sage)}.sticker-art{width:72px;height:72px;transform:rotate(var(--sticker-rotate,0deg));filter:drop-shadow(0 8px 7px #3f302129);flex:none;place-items:center;display:grid;position:relative}.sticker-art:before{z-index:-1;content:"";background:#fffcf4d1;border-radius:48% 52% 45% 55%;position:absolute;inset:10px 8px 7px;transform:rotate(8deg)}.sticker-art svg,.sticker-art img,.sticker-art__receipt{width:100%;height:100%}.sticker-art img{object-fit:cover;clip-path:polygon(13% 18%,46% 7%,84% 17%,94% 49%,83% 84%,48% 95%,14% 82%,6% 48%)}.sticker-art--sm{width:48px;height:48px}.sticker-art--lg{width:112px;height:112px}.sticker-art--upload:before{background:#f2e9da;border:1px dashed #4b3a2729;border-radius:24% 33% 27% 35%}.sticker-art__receipt{clip-path:polygon(0 0,100% 0,100% 94%,86% 100%,72% 94%,58% 100%,44% 94%,30% 100%,16% 94%,0 100%);background:#fffaf0;flex-direction:column;gap:6px;width:54%;height:70%;padding:12px 8px;display:flex;position:relative;transform:rotate(-7deg);box-shadow:0 5px 12px #392b1d1f}.sticker-art__receipt i{background:#4a3a2733;border-radius:99px;height:2px}.sticker-art__receipt i:nth-child(2){width:76%}.sticker-art__receipt i:nth-child(3){width:58%}.sticker-art__receipt b{color:var(--accent);font-family:var(--serif);text-align:center;margin-top:auto;font-size:18px}.empty-day{text-align:center;flex-direction:column;align-items:center;padding:34px 12px 25px;display:flex}.empty-day__art{background:var(--sage-soft);width:56px;height:56px;color:var(--sage);border-radius:50%;place-items:center;margin-bottom:14px;display:grid}.empty-day strong{font-family:var(--serif);font-size:17px}.empty-day p{max-width:230px;color:var(--muted);margin:6px 0 17px;font-size:11px;line-height:1.7}.add-line{width:100%;color:var(--muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:11px;display:flex}.add-line span{font-size:20px;font-weight:300}.insight-card,.reading-note{background:radial-gradient(circle at 95% 10%, #fff9, transparent 22%), var(--sage-soft);border:1px solid #67806a26;border-radius:18px;align-items:flex-start;gap:13px;margin-top:19px;padding:18px;display:flex}.insight-card__icon,.reading-note__icon{width:38px;height:38px;color:var(--sage);background:#ffffff85;border-radius:50%;flex:none;place-items:center;display:grid}.insight-card div:last-child,.reading-note div:last-child{flex-direction:column;align-items:flex-start;display:flex}.insight-card strong,.reading-note strong{font-family:var(--serif);margin-top:3px;font-size:16px;font-weight:650;line-height:1.35}.insight-card span,.reading-note span{color:#667266;margin-top:4px;font-size:10px;line-height:1.6}.section-heading{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.section-heading h1,.section-heading h2{font-family:var(--serif);letter-spacing:-.04em;margin-top:3px;font-weight:600}.section-heading h1{font-size:35px}.section-heading h2{font-size:20px}.section-heading>span{color:var(--muted);padding-bottom:4px;font-size:10px}.section-heading--small{align-items:flex-start}.recent-section{margin-top:30px}.recent-list{border-top:1px solid var(--line);margin-top:14px}.recent-row{border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;grid-template-columns:40px 44px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:11px 0;display:grid}.recent-row__date{flex-direction:column;align-items:center;display:flex}.recent-row__date strong{font-family:var(--serif);font-size:18px;line-height:1}.recent-row__date small{color:var(--muted);font-size:8px}.recent-row .sticker-art{width:42px;height:42px}.recent-row__copy{flex-direction:column;min-width:0;display:flex}.recent-row__copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.recent-row__copy span{color:var(--muted);font-size:9px}.recent-row>span:last-child{font-family:var(--serif);font-size:14px}.recent-row>span.is-income{color:var(--sage)}.bottom-nav{right:17px;bottom:max(13px, env(safe-area-inset-bottom));z-index:15;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffaf1e6;border:1px solid #3f33261c;border-radius:28px;grid-template-columns:repeat(5,1fr);align-items:center;height:72px;padding:0 7px;display:grid;position:absolute;left:17px;box-shadow:0 15px 35px #372b1f24,inset 0 1px #ffffffbf}.bottom-nav>button:not(.add-fab){color:var(--muted-light);cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;font-size:8px;display:flex}.bottom-nav>button:not(.add-fab).is-active{color:var(--ink)}.bottom-nav>button:not(.add-fab).is-active svg{stroke-width:2.5px}.add-fab{background:var(--ink);width:58px;height:58px;color:var(--paper-light);cursor:pointer;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:-52px;left:50%;transform:translate(-50%);box-shadow:0 9px 20px #2f2a2547,inset 0 1px #ffffff26}.life-journal-page{padding-top:max(22px, env(safe-area-inset-top))}.journal-cover{color:var(--paper-light);background:radial-gradient(circle at 92% 5%,#df5f3b47,#0000 24%),#2f2a25;border-radius:22px;grid-template-columns:67px minmax(0,1fr) auto;align-items:center;gap:16px;padding:20px;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 32px #2f2a252b}.journal-cover:after{content:"";border:1px solid #fffaf017;border-radius:50%;width:104px;height:104px;position:absolute;bottom:-24px;right:37px}.journal-cover__date{background:#fffaf014;border:1px solid #fffaf029;border-radius:15px;flex-direction:column;justify-content:center;align-items:center;width:67px;height:86px;display:flex}.journal-cover__date span{color:#e7c580;letter-spacing:.12em;font-size:8px;font-weight:700}.journal-cover__date strong{font-family:var(--serif);font-size:35px;font-weight:520;line-height:1.05}.journal-cover>div:nth-child(2){min-width:0}.journal-cover .eyebrow{color:#fffaf080}.journal-cover h1{font-family:var(--serif);letter-spacing:-.045em;margin-top:6px;font-size:29px;font-weight:560;line-height:1.16}.journal-cover>svg{z-index:1;color:#d8a85b;position:relative}.journal-note{border:1px solid var(--line);background:repeating-linear-gradient(0deg, transparent 0, transparent 30px, #4a392609 31px), var(--paper-light);border-radius:7px;margin-top:14px;padding:20px;position:relative;box-shadow:0 10px 20px #503c280d}.journal-note:before{content:"";background:#e8c98e52;width:50px;height:14px;position:absolute;top:-6px;left:25px;transform:rotate(-3deg)}.journal-note>p:nth-child(2){font-family:var(--serif);margin-top:7px;font-size:18px;line-height:1.65}.journal-note button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:99px;align-items:center;gap:5px;margin-top:11px;padding:7px 10px;font-size:9px;display:inline-flex}.journal-stickers,.journal-day-snapshot,.journal-memos{margin-top:25px}.sticker-shelf{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:13px;display:grid}.sticker-shelf>button{border:1px solid var(--line);cursor:pointer;background:#fffaf0ab;border-radius:17px;flex-direction:column;align-items:center;min-width:0;padding:12px 5px 10px;display:flex}.sticker-shelf .sticker-art{width:64px;height:64px}.sticker-shelf>button>strong{text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%;margin-top:7px;font-size:9px;overflow:hidden}.sticker-shelf>button>span{color:var(--muted);margin-top:2px;font-size:8px}.journal-day-snapshot{border:1px solid var(--line);background:#fffaf0a6;border-radius:20px;padding:18px}.snapshot-grid{grid-template-columns:repeat(3,1fr);gap:7px;margin-top:14px;display:grid}.snapshot-grid>div{min-width:0;color:var(--sage);background:#513f2b0d;border-radius:12px;flex-direction:column;gap:2px;padding:10px;display:flex}.snapshot-grid span{color:var(--muted);margin-top:2px;font-size:7px}.snapshot-grid strong{color:var(--ink);font-family:var(--serif);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:620;overflow:hidden}.journal-spend-line{color:var(--muted);border-top:1px dashed #4d3b2824;align-items:baseline;gap:6px;margin-top:14px;padding-top:12px;font-size:8px;display:flex}.journal-spend-line strong{color:var(--accent);font-family:var(--serif);font-size:16px}.journal-spend-line span:last-child{margin-left:auto}.journal-memos .section-heading{align-items:center}.journal-memos .icon-button{width:34px;height:34px}.memo-list{border-top:1px solid var(--line);margin-top:12px}.memo-list div{border-bottom:1px solid var(--line);grid-template-columns:46px 1fr;gap:9px;padding:11px 0;display:grid}.memo-list button{border:0;border-bottom:1px solid var(--line);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;grid-template-columns:46px 1fr;gap:9px;padding:11px 0;display:grid}.memo-list button:last-child{border-bottom:0}.memo-list span{color:var(--muted-light);font-family:var(--serif);font-size:10px}.memo-list p{font-size:10px;line-height:1.55}.empty-copy{color:var(--muted);margin-top:11px;font-size:9px}.sheet-layer{z-index:40;align-items:flex-end;display:flex;position:absolute;inset:0}.sheet-scrim{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:default;background:#2b231a6b;border:0;width:100%;animation:.18s ease-out both fade-in;position:absolute;inset:0}.sheet{z-index:1;width:100%;max-height:92%;padding:9px 19px calc(17px + env(safe-area-inset-bottom));background:repeating-linear-gradient(96deg, #56402604 0, #56402604 1px, transparent 1px, transparent 8px), var(--paper);border:1px solid #4636241f;border-radius:28px 28px 0 0;flex-direction:column;animation:.26s cubic-bezier(.16,1,.3,1) both sheet-up;display:flex;position:relative;box-shadow:0 -20px 60px #281f1533}.sheet--compact{max-height:76%}.sheet__handle{background:#3d30222b;border-radius:99px;width:42px;height:4px;margin:0 auto 15px}.sheet__header{justify-content:space-between;align-items:flex-start;gap:16px;padding:0 2px 13px;display:flex}.sheet__header h2{font-family:var(--serif);letter-spacing:-.04em;margin-top:3px;font-size:24px;font-weight:630}.sheet__body{scrollbar-width:none;min-height:0;padding:0 2px;overflow-y:auto}.sheet__body::-webkit-scrollbar{display:none}.sheet__footer{padding-top:14px}.segmented-control{background:#5d4a3412;border-radius:16px;grid-template-columns:1fr 1fr;gap:3px;margin-bottom:13px;padding:3px;display:grid}.segmented-control button{min-height:38px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:13px;justify-content:center;align-items:center;gap:7px;padding:0 10px;font-size:11px;font-weight:670;display:flex}.segmented-control button.is-active{background:var(--paper-light);color:var(--ink);box-shadow:0 4px 11px #40322317}.kind-toggle{gap:16px;padding:2px 3px 0;display:flex}.kind-toggle button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:7px 0;font-size:11px}.kind-toggle button.is-active{border-color:var(--accent);color:var(--ink);font-weight:730}.amount-display{justify-content:center;align-items:flex-start;gap:6px;padding:21px 0 17px;display:flex}.amount-display span{color:var(--accent);font-family:var(--serif);margin-top:7px;font-size:25px}.amount-display strong{max-width:100%;font-family:var(--serif);letter-spacing:-.065em;text-overflow:ellipsis;white-space:nowrap;font-size:58px;font-weight:500;line-height:1;overflow:hidden}.category-picker{scrollbar-width:none;gap:7px;padding:2px 1px 7px;display:flex;overflow-x:auto}.category-picker::-webkit-scrollbar{display:none}.category-picker button{border:1px solid var(--line);min-width:54px;height:34px;color:var(--muted);cursor:pointer;background:#fffaf08c;border-radius:99px;flex:none;padding:0 13px;font-size:10px}.category-picker button.is-active{border-color:color-mix(in srgb, var(--category-color) 25%, transparent);background:var(--category-soft);color:var(--category-color);font-weight:750}.field-grid{grid-template-columns:1fr 1fr;gap:10px;margin:8px 0 12px;display:grid}.field-grid label,.recognition-form label{flex-direction:column;gap:5px;min-width:0;display:flex}.field-grid label span,.recognition-form label span{color:var(--muted);padding-left:3px;font-size:9px}.field-grid input,.recognition-form input{border:1px solid var(--line);width:100%;height:42px;color:var(--ink);background:#fffaf0b3;border-radius:12px;outline:none;padding:0 12px;font-size:12px}.field-grid input::placeholder,.recognition-form input::placeholder{color:var(--muted-light)}.keypad{grid-template-columns:repeat(3,1fr);gap:5px;padding-top:4px;display:grid}.keypad button{height:44px;font-family:var(--serif);cursor:pointer;background:#fffaf094;border:0;border-radius:12px;place-items:center;font-size:20px;display:grid}.primary-button,.secondary-button,.danger-button{cursor:pointer;border-radius:15px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:48px;padding:0 18px;font-size:12px;font-weight:730;display:flex}.primary-button{border:1px solid var(--accent);background:var(--accent);color:#fffaf0;box-shadow:0 10px 18px #df5f3b33}.primary-button--ink{border-color:var(--ink);background:var(--ink);margin-top:15px;box-shadow:0 10px 18px #2f2a2526}.secondary-button{border:1px solid var(--line);background:var(--paper-light);color:var(--ink)}.danger-button{color:#a6422f;background:#fae7e1;border:1px solid #a6422f33}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.upload-zone{text-align:center;cursor:pointer;background:radial-gradient(circle at 50% 0,#ffffffbf,#0000 45%),#efe6d794;border:1px dashed #4b3a2740;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:10px;width:100%;min-height:238px;padding:28px 20px;display:flex}.upload-zone__icon{background:var(--paper-light);width:58px;height:58px;color:var(--accent);border-radius:50%;place-items:center;margin-bottom:4px;display:grid;box-shadow:0 8px 16px #3a2e2017}.upload-zone strong{font-family:var(--serif);font-size:17px}.upload-zone>span:last-child{max-width:240px;color:var(--muted);font-size:10px;line-height:1.7}.photo-entry .secondary-button{margin-top:10px}.privacy-note{color:var(--muted);text-align:center;margin-top:12px;font-size:9px;line-height:1.6}.processing-card{text-align:center;flex-direction:column;align-items:center;padding:16px 0 12px;display:flex}.scan-preview{border:1px solid var(--line);background-color:#fbf7ef;background-image:linear-gradient(45deg,#efe6d8 25%,#0000 25%),linear-gradient(-45deg,#efe6d8 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#efe6d8 75%),linear-gradient(-45deg,#0000 75%,#efe6d8 75%),none;background-position:0 0,0 9px,9px -9px,-9px 0;background-repeat:repeat,repeat,repeat,repeat,repeat;background-size:18px 18px;background-attachment:scroll,scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box,border-box;border-radius:25px;place-items:center;width:166px;height:166px;margin-bottom:20px;display:grid;position:relative;overflow:hidden}.scan-preview img{object-fit:cover;width:100%;height:100%}.scan-line{background:var(--accent);height:2px;box-shadow:0 0 12px var(--accent);border-radius:99px;animation:1.05s ease-in-out infinite alternate scan;position:absolute;left:12px;right:12px}.processing-card strong{font-family:var(--serif);margin-top:7px;font-size:17px}.processing-card>span:last-child{color:var(--muted);margin-top:5px;font-size:10px}.recognition-result{flex-direction:column;gap:14px;padding-bottom:6px;display:flex}.result-visual{background:radial-gradient(circle at 50% 30%, #fffc, transparent 38%), var(--paper-deep);border-radius:22px;place-items:center;min-height:176px;display:grid;position:relative}.checkerboard{background-color:#0000;background-image:linear-gradient(45deg,#56432d12 25%,#0000 25%),linear-gradient(-45deg,#56432d12 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#56432d12 75%),linear-gradient(-45deg,#0000 75%,#56432d12 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-repeat:repeat,repeat,repeat,repeat;background-size:16px 16px;background-attachment:scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;border-radius:28px;place-items:center;width:138px;height:138px;display:grid}.recognized-pill{background:var(--sage);color:#f8f4ea;border-radius:99px;align-items:center;gap:4px;padding:7px 10px;font-size:9px;font-weight:700;display:flex;position:absolute;bottom:14px;right:15px;box-shadow:0 5px 12px #445e4933}.recognition-copy h3{font-family:var(--serif);margin-top:3px;font-size:22px}.recognition-copy>p:last-child{color:var(--muted);margin-top:3px;font-size:10px}.nutrition-panel{background:radial-gradient(circle at 94% 5%,#ffffffbf,#0000 26%),#f7ecda;border:1px solid #c2803629;border-radius:18px;padding:14px}.nutrition-panel__header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.nutrition-panel__header>div{flex-direction:column;gap:3px;min-width:0;display:flex}.nutrition-panel__header strong{font-family:var(--serif);text-overflow:ellipsis;white-space:nowrap;font-size:17px;overflow:hidden}.nutrition-dish input{width:min(190px,54vw);font-family:var(--serif);background:0 0;border:0;outline:0;padding:0;font-size:17px;font-weight:650}.calorie-pill{color:#ad6d20;background:#fffaf0c2;border-radius:99px;flex:none;align-items:center;gap:4px;padding:7px 9px;font-size:10px;font-weight:760;display:inline-flex}.macro-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:13px;display:grid}.macro-cell{background:#fffaf0a1;border-radius:11px;flex-direction:column;gap:4px;min-width:0;padding:8px 7px;display:flex}.macro-cell>span{color:var(--muted);font-size:7px}.macro-cell strong{font-family:var(--serif);font-size:15px}.macro-cell small{color:var(--muted);margin-left:1px;font-family:inherit;font-size:8px;font-weight:500}.macro-cell label{align-items:baseline;min-width:0;display:flex}.macro-cell input{width:100%;min-width:0;font-family:var(--serif);background:0 0;border:0;outline:0;padding:0;font-size:15px;font-weight:650}.nutrition-note{color:#856d4f;align-items:center;gap:4px;margin-top:9px;font-size:8px;line-height:1.5;display:flex}.recognition-form{grid-template-columns:1fr 1.4fr;gap:10px;display:grid}.text-button{color:var(--muted);cursor:pointer;background:0 0;border:0;align-self:flex-start;align-items:center;gap:3px;padding:2px 0;font-size:10px;display:inline-flex}.stats-page{padding-top:max(28px, env(safe-area-inset-top))}.section-heading--stats{align-items:flex-start;margin-bottom:24px}.month-stamp{width:43px;height:43px;color:var(--accent);font-family:var(--serif);letter-spacing:.08em;border:1px solid #df5f3b47;border-radius:50%;place-items:center;font-size:11px;font-weight:700;display:grid;transform:rotate(8deg)}.stats-hero{background:var(--ink);color:var(--paper-light);border:1px solid #3c30231f;border-radius:20px;justify-content:space-between;align-items:flex-end;gap:15px;padding:21px 20px;display:flex;box-shadow:0 16px 30px #2f2a2529}.stats-hero p{color:#fffaf08c;font-size:10px}.stats-hero>div:first-child>strong{font-family:var(--serif);letter-spacing:-.055em;margin-top:4px;font-size:42px;font-weight:500;display:block}.stats-hero__side{flex-direction:column;align-items:flex-end;gap:3px;padding-bottom:6px;display:flex}.stats-hero__side span{color:#fffaf08c;font-size:9px}.stats-hero__side strong{color:#f1c979;font-family:var(--serif);font-size:19px;font-weight:600}.week-bars,.category-card,.meal-insight{border:1px solid var(--line);background:#fffaf0a3;border-radius:20px;margin-top:18px;padding:19px}.meal-insight{background:radial-gradient(circle at 95% 6%,#ffffffb3,#0000 25%),#f7ecda;border-color:#be803729}.meal-insight>header{grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.meal-insight__icon{color:#af762c;background:#fffaf0bf;border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.meal-insight h2{font-family:var(--serif);margin-top:2px;font-size:18px;font-weight:620}.meal-insight__kcal{color:#9c6821;font-family:var(--serif);align-items:center;gap:3px;font-size:17px;font-weight:650;display:flex}.meal-insight__kcal small{margin-top:3px;font-family:inherit;font-size:7px}.meal-macros{grid-template-columns:repeat(3,1fr);gap:7px;margin-top:15px;display:grid}.meal-macros div{background:#fffaf08f;border-radius:11px;flex-direction:column;gap:2px;padding:9px 10px;display:flex}.meal-macros strong{font-family:var(--serif);font-size:18px;font-weight:620}.meal-macros span{color:var(--muted);font-size:7px}.meal-insight>p{color:#836d52;margin-top:10px;font-size:8px;line-height:1.55}.bars{justify-content:space-between;align-items:flex-end;gap:5px;height:168px;padding-top:18px;display:flex}.bar-column{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:5px;min-width:0;display:flex}.bar-value{color:var(--muted);font-size:7px}.bar-column i{background:linear-gradient(180deg, #e8bb73, var(--accent));transform-origin:bottom;border-radius:8px 8px 4px 4px;width:min(24px,70%);min-height:18px;animation:.56s cubic-bezier(.16,1,.3,1) both bar-grow}.bar-column:nth-child(2n) i{background:linear-gradient(180deg, #b8c9b1, var(--sage))}.bar-column small{width:20px;height:20px;color:var(--muted);background:#56432d0f;border-radius:50%;place-items:center;font-size:8px;display:grid}.chart-caption{color:var(--muted);font-family:var(--serif);text-align:center;margin-top:10px;font-size:12px}.category-bars{flex-direction:column;gap:14px;margin-top:17px;display:flex}.category-bar__label{grid-template-columns:8px 1fr auto;align-items:center;gap:7px;display:grid}.category-dot{border-radius:50%;width:7px;height:7px}.category-bar__label strong{font-size:11px}.category-bar__label span:last-child{color:var(--muted);font-family:var(--serif);font-size:11px}.category-bar__track{background:#4c3b2912;border-radius:99px;height:5px;margin:6px 0 0 15px;overflow:hidden}.category-bar__track i{border-radius:inherit;height:100%;display:block}.largest-expense{border:1px solid var(--line);background:var(--paper-light);text-align:left;cursor:pointer;border-radius:20px;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;margin-top:18px;padding:16px 16px 16px 9px;display:grid}.largest-expense__copy{flex-direction:column;min-width:0;display:flex}.largest-expense__copy strong{font-family:var(--serif);margin-top:3px;font-size:16px}.largest-expense__copy>span:last-child{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:9px;overflow:hidden}.largest-expense__amount{font-family:var(--serif);font-size:16px;font-weight:650}.month-receipt{color:var(--muted);border-top:1px dashed #4d3b282e;border-bottom:1px dashed #4d3b282e;justify-content:space-between;align-items:center;gap:10px;margin-top:18px;padding:14px 16px;font-size:9px;display:flex}.month-receipt div,.month-receipt>span:last-child{align-items:center;gap:5px;display:flex}.month-receipt strong{color:var(--ink);font-family:var(--serif);font-size:15px}.detail-card{border:1px solid var(--line);background:var(--paper-light);border-radius:22px;grid-template-columns:130px minmax(0,1fr);align-items:center;gap:13px;padding:13px;display:grid}.detail-visual{background:var(--paper-deep);border-radius:17px;place-items:center;min-height:140px;display:grid;position:relative}.detail-source{color:var(--paper-light);background:#2f2a25d1;border-radius:99px;padding:4px 7px;font-size:7px;position:absolute;bottom:8px;right:8px}.detail-main{flex-direction:column;min-width:0;display:flex}.detail-main h3{font-family:var(--serif);margin:3px 0 7px;font-size:24px;font-weight:630}.detail-main>strong{color:var(--accent);font-family:var(--serif);font-size:25px;font-weight:600}.detail-main>strong.is-income{color:var(--sage)}.detail-main>p:last-child{color:var(--muted);margin-top:9px;font-size:10px;line-height:1.65}.detail-meta{grid-template-columns:1fr 1fr;gap:9px;margin-top:12px;display:grid}.detail-original-text{border-left:3px solid var(--accent);background:#df5f3b12;border-radius:3px 12px 12px 3px;margin-top:12px;padding:12px 14px}.detail-original-text>span{color:var(--muted);font-size:8px}.detail-original-text>p{font-family:var(--serif);margin-top:4px;font-size:13px;line-height:1.6}.detail-meta div{background:#513f2b0e;border-radius:13px;flex-direction:column;gap:3px;padding:12px;display:flex}.detail-meta span{color:var(--muted);font-size:8px}.detail-meta strong{font-size:10px}.detail-actions{gap:9px;margin-top:14px;display:flex}.detail-actions .secondary-button{flex:1}.detail-actions .danger-button{width:auto;padding:0 14px}.settings-list{flex-direction:column;gap:9px;display:flex}.settings-row{border:1px solid var(--line);background:#fffaf09e;border-radius:16px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px;display:grid}.settings-icon{background:var(--sage-soft);width:38px;height:38px;color:var(--sage);border-radius:50%;place-items:center;display:grid}.settings-row div{flex-direction:column;gap:3px;min-width:0;display:flex}.settings-row strong{font-size:12px}.settings-row div span{color:var(--muted);font-size:9px;line-height:1.45}.status-pill{background:var(--sage-soft);color:var(--sage);border-radius:99px;padding:5px 7px;font-size:8px;font-weight:700}.settings-reset{margin-top:10px}.settings-reset.text-button{min-height:38px;color:var(--muted);justify-content:center}.toast{z-index:60;width:max-content;max-width:calc(100% - 40px);color:var(--paper-light);opacity:0;pointer-events:none;background:#2f2a25eb;border-radius:99px;align-items:center;gap:12px;padding:10px 15px;font-size:10px;transition:opacity .18s,transform .18s;display:flex;position:absolute;bottom:130px;right:50%;transform:translate(50%,10px);box-shadow:0 10px 25px #261c1238}.toast.is-visible{opacity:1;pointer-events:auto;transform:translate(50%)}.toast__action{color:#f3b49c;cursor:pointer;background:0 0;border:0;padding:0;font-size:10px;font-weight:750;text-decoration:underline}.today-header{margin-bottom:24px}.today-intro{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:21px;display:flex}.today-intro h1{font-family:var(--serif);letter-spacing:-.055em;margin-top:7px;font-size:clamp(32px,9vw,39px);font-weight:560;line-height:1.15}.record-orbit{background:radial-gradient(circle at 45% 38%, #fffc, transparent 34%), var(--accent-soft);width:82px;height:82px;color:var(--accent);border:1px solid #df5f3b40;border-radius:50%;flex-direction:column;flex:none;justify-content:center;align-items:center;display:flex;position:relative;transform:rotate(5deg)}.record-orbit:after{content:"";border:1px dashed #df5f3b47;border-radius:50%;position:absolute;inset:7px}.record-orbit strong{font-family:var(--serif);font-size:26px;font-weight:620;line-height:1}.record-orbit span{color:#94614e;margin-top:2px;font-size:8px}.metric-grid{grid-template-columns:1fr 1fr;gap:9px;display:grid}.metric-card{background:var(--paper-light);width:100%;min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;border:1px solid #473a2a17;border-radius:17px;padding:14px;transition:transform .16s,box-shadow .16s;box-shadow:0 7px 15px #4634230b}.metric-card:hover,.metric-card:focus-visible{transform:translateY(-1px);box-shadow:0 10px 22px #46342317}.metric-card--peach{background:#f9e6d9}.metric-card--blue{background:#e1ecee}.metric-card--violet{background:#ece6ed}.metric-card--sage{background:#e1e9df}.metric-card header{color:#5f574f;align-items:center;gap:6px;display:flex}.metric-card header span{background:#ffffff8a;border-radius:50%;place-items:center;width:24px;height:24px;display:grid}.metric-card header small{font-size:9px;font-weight:680}.metric-card>div{align-items:baseline;gap:4px;margin-top:12px;display:flex}.metric-card>div strong{font-family:var(--serif);letter-spacing:-.035em;text-overflow:ellipsis;white-space:nowrap;font-size:27px;font-weight:620;overflow:hidden}.metric-card>div span{color:var(--muted);font-size:8px}.metric-card>p{color:#6f665c;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:8px;overflow:hidden}.body-strip{border:1px solid var(--line);background:#fffaf09e;border-radius:16px;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:10px;padding:9px 4px;display:grid}.body-strip button{border:0;border-right:1px solid var(--line);cursor:pointer;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:0;min-height:51px;padding:0 4px;display:flex}.body-strip button:last-child{border-right:0}.body-strip button span{color:var(--muted);align-items:center;gap:3px;font-size:8px;display:flex}.body-strip button strong{max-width:100%;font-family:var(--serif);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:650;overflow:hidden}.quick-section,.timeline-section{margin-top:25px}.voice-capture-banner{text-align:left;cursor:pointer;background:radial-gradient(circle at 90% 20%,#df5f3b21,#0000 30%),#fffaf0b8;border:1px solid #2f2a2514;border-radius:17px;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:11px;width:100%;margin-top:10px;padding:12px 14px;display:grid}.voice-capture-banner__icon{background:var(--ink);width:40px;height:40px;color:var(--paper-light);border-radius:50%;place-items:center;display:grid}.voice-capture-banner>span:nth-child(2){flex-direction:column;gap:3px;min-width:0;display:flex}.voice-capture-banner strong{font-family:var(--serif);font-size:13px}.voice-capture-banner small{color:var(--muted);font-size:8px}.voice-capture-banner__example{max-width:128px;color:var(--muted);text-align:right;font-size:8px;line-height:1.5}.quick-grid{grid-template-columns:repeat(5,1fr);gap:8px 4px;margin-top:13px;display:grid}.quick-grid button{cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:3px;min-width:0;padding:5px 0;display:flex}.quick-grid button>span{border:1px solid var(--line);color:#655b51;background:#fffaf0b3;border-radius:14px;place-items:center;width:40px;height:40px;margin-bottom:2px;display:grid}.quick-grid button:nth-child(3)>span{color:#b55d36;background:#f9e6d9}.quick-grid button:nth-child(4)>span{color:#557c85;background:#e1ecee}.quick-grid button:nth-child(5)>span{color:#79627c;background:#ece6ed}.quick-grid button strong{font-size:9px;font-weight:720}.quick-grid button small{max-width:100%;color:var(--muted-light);text-overflow:ellipsis;white-space:nowrap;font-size:7px;overflow:hidden}.life-timeline{border-top:1px solid var(--line);margin-top:13px}.timeline-item{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;grid-template-columns:40px 28px minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;min-height:55px;padding:8px 0;display:grid}button.timeline-item{cursor:pointer}.timeline-time{color:var(--muted-light);font-family:var(--serif);font-size:10px}.timeline-dot{width:26px;height:26px;color:var(--sage);background:#617c641a;border-radius:50%;place-items:center;display:grid;position:relative}.timeline-dot:after{background:var(--line);content:"";width:1px;height:25px;position:absolute;top:31px;left:50%}.timeline-item:last-child .timeline-dot:after{display:none}.timeline-item--money .timeline-dot{background:var(--accent-soft);color:var(--accent)}.timeline-item--water .timeline-dot{color:#557c85;background:#dcecef}.timeline-item--sleep .timeline-dot{color:#79627c;background:#ece6ed}.timeline-item--memo .timeline-dot{color:#aa7e32;background:#f5e6c4}.timeline-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.timeline-copy strong{font-size:11px;font-weight:720}.timeline-copy>span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.timeline-item>b{font-family:var(--serif);white-space:nowrap;font-size:12px;font-weight:620}.timeline-item>b small{color:var(--muted);margin-left:2px;font-family:inherit;font-size:7px;font-weight:500}.journal-finance-card{background:radial-gradient(circle at 92% 8%, #df5f3b21, transparent 28%), var(--paper-light);border:1px solid #3f322421;border-radius:21px;margin-top:22px;padding:19px;position:relative;overflow:hidden}.journal-finance-card:after{color:#df5f3b1f;content:"页";font-family:var(--serif);font-size:70px;line-height:1;position:absolute;bottom:45px;right:21px}.journal-finance-card__copy{z-index:1;position:relative}.journal-finance-card h2{font-family:var(--serif);margin-top:3px;font-size:22px;font-weight:620}.journal-finance-card__copy>p:last-child{max-width:285px;color:var(--muted);margin-top:7px;font-size:9px;line-height:1.7}.journal-finance-card>button{z-index:1;background:var(--ink);color:var(--paper-light);cursor:pointer;border:1px solid #2f2a251c;border-radius:99px;align-items:center;gap:5px;margin-top:15px;padding:8px 12px;font-size:9px;display:inline-flex;position:relative}.quick-choice-grid{grid-template-columns:repeat(3,1fr);gap:9px;padding-bottom:4px;display:grid}.quick-choice-grid button{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fffaf0b3;border-radius:16px;flex-direction:column;justify-content:flex-end;align-items:flex-start;min-height:96px;padding:13px;display:flex}.quick-choice-grid__voice{color:var(--paper-light);grid-column:1/-1;gap:12px;background:var(--ink)!important;flex-direction:row!important;justify-content:flex-start!important;align-items:center!important;min-height:72px!important}.quick-choice-grid__voice>span:first-child{flex:none;color:#f0cb8d!important;background:#fffaf01f!important;width:42px!important;height:42px!important;margin:0!important}.quick-choice-grid button.quick-choice-grid__voice>span.quick-choice-grid__voice-copy{gap:3px;place-items:initial;width:auto;min-width:0;height:auto;color:inherit;background:0 0;border-radius:0;flex-direction:column;margin:0;display:flex}.quick-choice-grid__voice-copy strong{font-family:var(--serif);margin-top:0!important;font-size:15px!important}.quick-choice-grid__voice-copy small{color:#fffaf08c!important}.quick-choice-grid button>span{background:var(--accent-soft);width:34px;height:34px;color:var(--accent);border-radius:11px;place-items:center;margin-bottom:auto;display:grid}.quick-choice-grid button:nth-child(4n+1)>span,.quick-choice-grid button:nth-child(4n+2)>span{background:var(--sage-soft);color:var(--sage)}.quick-choice-grid button:nth-child(4n+3)>span{color:#557c85;background:#e1ecee}.quick-choice-grid button strong{margin-top:10px;font-size:12px}.quick-choice-grid button small{color:var(--muted);margin-top:2px;font-size:8px}.quick-form{flex-direction:column;gap:15px;display:flex}.voice-input{flex-direction:column;gap:14px;display:flex}.voice-capture-mode{border:1px solid var(--line);background:#fffaf094;border-radius:14px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.voice-capture-mode button{min-height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;font-size:9px;font-weight:680}.voice-capture-mode button.is-active{background:var(--ink);color:var(--paper-light)}.voice-orb{background:radial-gradient(circle at 50% 25%, #ffffffb3, transparent 32%), var(--accent-soft);min-height:112px;color:var(--accent);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;border:1px solid #df5f3b33;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:8px;transition:border-color .18s,background .18s,transform .18s;display:flex;position:relative;overflow:hidden}.voice-orb:after{content:"";opacity:.68;border:1px dashed #df5f3b3d;border-radius:50%;transition:inset .18s,opacity .18s;position:absolute;inset:19px 34%}.voice-orb:hover:not(:disabled){border-color:#df5f3b61;transform:translateY(-1px)}.voice-orb:focus-visible,.voice-input textarea:focus-visible{outline-offset:2px;outline:3px solid #df5f3b57}.voice-orb--listening{cursor:grabbing;background:radial-gradient(circle at 50% 25%,#ffffffd9,#0000 34%),#f2c8b5;border-color:#df5f3b80}.voice-orb--listening:after{border-style:solid;border-color:#df5f3b3d;animation:1.2s ease-out infinite voice-ring;inset:10px 28%}.voice-orb--error:not(.voice-orb--listening){background:radial-gradient(circle at 50% 25%,#ffffffb8,#0000 32%),#f4e0d8;border-color:#9e3d2f47}.voice-orb--unsupported{color:var(--muted)}.voice-orb__icon{z-index:1;background:#fffaf0b8;border:1px solid #df5f3b2e;border-radius:50%;place-items:center;width:45px;height:45px;display:grid;position:relative;box-shadow:0 8px 18px #8249321a}.voice-orb--listening .voice-orb__icon{border-color:var(--accent);background:var(--accent);color:var(--paper-light);animation:1.1s ease-in-out infinite voice-mic-pulse}.voice-orb--unsupported .voice-orb__icon{border-color:var(--line);background:#fffaf085}.voice-orb strong{z-index:1;color:var(--ink);font-family:var(--serif);font-size:14px;line-height:1.3;position:relative}.voice-orb__hint{z-index:1;color:#875f4d;text-align:center;font-size:9px;line-height:1.45;position:relative}.voice-message{color:var(--sage);background:#dfe8dc8a;border:1px solid #67806a2e;border-radius:12px;align-items:flex-start;gap:8px;margin-top:-4px;padding:9px 11px;font-size:9px;line-height:1.6;display:flex}.voice-message svg{flex:none;margin-top:1px}.voice-message--error{color:#8d3f32;background:#9e3d2f12;border-color:#9e3d2f33}.voice-message--android{color:#7c612d;background:#f7edd9;border-color:#d7a64f3d}.voice-input>label{flex-direction:column;gap:7px;display:flex}.voice-input>label>span{color:var(--muted);font-size:9px;font-weight:680}.voice-input textarea{resize:none;border:1px solid var(--line);width:100%;min-height:104px;color:var(--ink);background:#fffaf0b3;border-radius:15px;outline:none;padding:12px;font-size:12px;line-height:1.7}.voice-input textarea:read-only{background:#f4d6c659;border-color:#df5f3b3d}.voice-processing{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:280px;display:flex}.voice-wave{align-items:center;gap:5px;height:58px;margin-bottom:15px;display:flex}.voice-wave i{background:var(--accent);border-radius:99px;width:4px;animation:.6s ease-in-out infinite alternate voice-wave;display:block}.voice-wave i:nth-child(2n){animation-delay:.14s}.voice-processing strong{font-family:var(--serif);margin-top:4px;font-size:16px}.voice-result{flex-direction:column;gap:13px;display:flex}.voice-transcript{border-left:3px solid var(--accent);background:#df5f3b12;border-radius:3px 12px 12px 3px;padding:13px 14px}.voice-transcript>p:last-child{font-family:var(--serif);margin-top:4px;font-size:14px;line-height:1.6}.voice-candidates{flex-direction:column;gap:7px;display:flex}.voice-candidates>button{border:1px solid var(--line);opacity:.55;text-align:left;cursor:pointer;background:#fffaf099;border-radius:14px;grid-template-columns:36px minmax(0,1fr) 24px;align-items:center;gap:10px;width:100%;min-height:56px;padding:9px 11px;display:grid}.voice-candidates>button.is-selected{opacity:1;background:#eef3eb;border-color:#67806a38}.voice-candidate__icon{background:var(--paper-light);width:34px;height:34px;color:var(--sage);border-radius:50%;place-items:center;display:grid}.voice-candidate__copy{flex-direction:column;gap:3px;min-width:0;display:flex}.voice-candidate__copy strong{font-size:11px}.voice-candidate__copy span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.voice-candidate__check{border:1px solid var(--line);width:21px;height:21px;color:var(--sage);border-radius:50%;place-items:center;display:grid}.voice-candidates>button.is-selected .voice-candidate__check{border-color:var(--sage);background:var(--sage);color:var(--paper-light)}@keyframes voice-wave{0%{transform:scaleY(.55)}to{transform:scaleY(1.1)}}@keyframes voice-mic-pulse{50%{box-shadow:0 0 0 8px #df5f3b1f}}@keyframes voice-ring{0%{opacity:.55;transform:scale(.92)}to{opacity:0;transform:scale(1.06)}}.single-value-form>label>span,.quick-note>span,.text-record-form label>span,.field-caption{color:var(--muted);margin-bottom:7px;font-size:9px;font-weight:650;display:block}.single-value-form>label>div{border:1px solid var(--line);background:#fffaf0ad;border-radius:18px;justify-content:center;align-items:baseline;gap:6px;padding:21px 0;display:flex}.single-value-form input{width:160px;font-family:var(--serif);letter-spacing:-.05em;text-align:right;background:0 0;border:0;outline:0;padding:0;font-size:48px;font-weight:560}.single-value-form>label>div>strong{color:var(--muted);font-size:12px;font-weight:600}.preset-row{gap:7px;margin-top:10px;display:flex}.quick-form__toolbar{justify-content:space-between;align-items:center;gap:10px;display:flex}.quick-form__toolbar .text-button:last-child{color:var(--sage);font-size:8px}.preset-row--wrap{flex-wrap:wrap}.preset-row button{border:1px solid var(--line);min-height:35px;color:var(--muted);cursor:pointer;background:#fffaf099;border-radius:99px;padding:0 13px;font-size:9px}.preset-row button.is-active{background:var(--accent-soft);color:var(--accent);border-color:#df5f3b3d;font-weight:700}.cycle-field{flex-direction:column;gap:6px;margin-top:12px;display:flex}.cycle-field>span{color:var(--muted);font-size:9px;font-weight:680}.cycle-field .preset-row{margin-top:0}.cycle-chip-grid{flex-wrap:wrap;gap:6px;display:flex}.cycle-chip-grid button{border:1px solid var(--line);min-height:34px;color:var(--muted);cursor:pointer;background:#fffaf099;border-radius:99px;padding:0 11px;font-size:8px}.cycle-chip-grid button.is-active{color:#a44e66;background:#f6e1e6;border-color:#cd5b7e33;font-weight:700}.cycle-forecast-card{background:radial-gradient(circle at 92% 5%,#ffffffb8,#0000 27%),#f1e4e5;border:1px solid #906c7224;border-radius:20px;margin-bottom:14px;padding:17px}.cycle-forecast-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:11px;display:grid}.cycle-forecast-grid div{background:#fffaf085;border-radius:12px;flex-direction:column;gap:3px;min-width:0;padding:10px;display:flex}.cycle-forecast-grid span{color:#80666c;font-size:7px}.cycle-forecast-grid strong{font-family:var(--serif);text-overflow:ellipsis;font-size:12px;line-height:1.3;overflow:hidden}.cycle-forecast-grid small{color:#8a7478;font-size:6px;line-height:1.4}.cycle-fertile-line{color:#80666c;background:#fffaf070;border-radius:11px;justify-content:space-between;align-items:center;gap:10px;margin-top:9px;padding:9px 10px;font-size:8px;display:flex}.cycle-fertile-line strong{color:#684f55;font-size:9px}.measure-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.quick-field{flex-direction:column;gap:5px;min-width:0;display:flex}.quick-field>span{color:var(--muted);font-size:8px}.quick-field>div{border:1px solid var(--line);background:#fffaf09e;border-radius:12px;align-items:baseline;padding:10px;display:flex}.quick-field input{width:100%;min-width:0;font-family:var(--serif);background:0 0;border:0;outline:0;padding:0;font-size:20px}.quick-field small{color:var(--muted);font-size:8px}.bristol-grid{grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.bristol-grid button{border:1px solid var(--line);cursor:pointer;background:#fffaf09e;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;height:63px;padding:0 1px;display:flex}.bristol-grid button.is-active{background:var(--sage-soft);color:#4f6d52;border-color:#67806a40}.bristol-grid strong{font-family:var(--serif);font-size:16px}.bristol-grid span{color:var(--muted);font-size:7px}.quick-note input,.text-record-form textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fffaf0a8;border-radius:13px;outline:none;padding:11px 12px;font-size:11px}.text-record-form textarea{resize:none;min-height:128px;line-height:1.7}.text-record-form textarea::placeholder,.quick-note input::placeholder{color:var(--muted-light)}.subpage-topbar{color:var(--muted);align-items:center;gap:10px;margin-bottom:21px;font-size:10px;display:flex}.subpage-topbar .icon-button{width:34px;height:34px}.trend-hero{background:radial-gradient(circle at 90% 10%, #ffffffad, transparent 27%), var(--sage-soft);color:#456049;border-radius:20px;justify-content:space-between;align-items:center;gap:18px;padding:19px;display:flex}.trend-hero h2{font-family:var(--serif);margin-top:5px;font-size:20px;font-weight:620}.weight-trend{border:1px solid var(--line);background:#fffaf0ad;border-radius:19px;margin-top:14px;padding:18px}.weight-trend h2{font-family:var(--serif);font-size:27px}.trend-delta{font-weight:700;color:var(--sage)!important;font-size:10px!important}.sparkline{width:100%;height:70px;color:var(--accent);margin-top:11px;overflow:visible}.day-axis{color:var(--muted-light);justify-content:space-between;padding:0 3px;font-size:7px;display:flex}.habit-pair{grid-template-columns:1fr 1fr;gap:9px;margin-top:14px;display:grid}.habit-pair article{border:1px solid var(--line);background:var(--paper-light);border-radius:17px;padding:15px}.habit-pair header{justify-content:space-between;align-items:center;gap:6px;display:flex}.habit-pair header span{color:var(--muted);align-items:center;gap:4px;font-size:8px;display:flex}.habit-pair header strong{font-family:var(--serif);font-size:17px}.habit-pair article>p{color:var(--muted);margin-top:7px;font-size:8px}.mini-bars{align-items:flex-end;gap:4px;height:39px;margin-top:11px;display:flex}.mini-bars i{background:var(--sage);opacity:.68;border-radius:4px 4px 2px 2px;flex:1}.habit-pair article:nth-child(2) .mini-bars i{background:#7196a0}.body-metric-list{border:1px solid var(--line);background:#fffaf0a6;border-radius:19px;margin-top:14px;padding:18px}.body-metric-grid{grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;display:grid}.body-metric-grid div,.body-metric-grid button{color:inherit;font:inherit;text-align:left;background:#513f2b0d;border:0;border-radius:12px;flex-direction:column;gap:3px;padding:10px;display:flex}.body-metric-grid button{cursor:pointer}.body-metric-grid span{color:var(--muted);font-size:8px}.body-metric-grid strong{font-family:var(--serif);font-size:17px}.cycle-card{color:inherit;font:inherit;text-align:left;cursor:pointer;background:#f1e4e5;border:1px solid #906c722b;border-radius:18px;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:11px;margin-top:14px;padding:15px;display:grid}.cycle-card__icon{color:#8e626a;background:#fffaf0a6;border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.cycle-card div{flex-direction:column;gap:2px;display:flex}.cycle-card strong{font-family:var(--serif);font-size:15px}.cycle-card div>span{color:#7d666b;font-size:8px}.cycle-phase{color:#805861;background:#fffaf0a8;border-radius:99px;padding:5px 8px;font-size:8px}.finance-summary-card{border:1px solid var(--line);background:var(--paper-light);text-align:left;cursor:pointer;border-radius:18px;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:11px;width:100%;margin-top:14px;padding:16px;display:grid}.finance-summary-card__icon{background:var(--accent-soft);width:40px;height:40px;color:var(--accent);border-radius:12px;place-items:center;display:grid}.finance-summary-card>span:nth-child(2){flex-direction:column;gap:2px;display:flex}.finance-summary-card small{color:var(--muted);font-size:8px}.finance-summary-card strong{font-family:var(--serif);font-size:19px}.finance-summary-card__meta{color:var(--muted);flex-direction:column;align-items:flex-end;gap:4px;font-size:8px;display:flex}.finance-summary-card__meta em{color:#a27432;align-items:center;gap:2px;font-style:normal;display:flex}.time-overview-card{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:radial-gradient(circle at 88% 6%,#ffffffb3,#0000 28%),#e5ece2;border:1px solid #607e672e;border-radius:18px;grid-template-columns:42px minmax(0,1fr) 70px 16px;align-items:center;gap:11px;margin-top:14px;padding:14px 15px;display:grid}.time-overview-card__icon,.trend-time-card__icon{width:42px;height:42px;color:var(--sage);background:#fffaf0b8;border-radius:14px;place-items:center;display:grid}.time-overview-card__copy{flex-direction:column;gap:1px;min-width:0;display:flex}.time-overview-card__copy small{color:#667768;font-size:8px}.time-overview-card__copy strong{font-family:var(--serif);font-size:18px;font-weight:650}.time-overview-card__copy span{color:#748176;text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.time-overview-card__bars{justify-content:flex-end;align-items:flex-end;gap:3px;height:36px;display:flex}.time-overview-card__bars i{background:#607e679e;border-radius:4px 4px 2px 2px;width:5px;max-height:34px;display:block}.trend-time-card{text-align:left;cursor:pointer;background:linear-gradient(115deg,#fffaf0bd,#0000 48%),#e3ebe0;border:1px solid #4560492b;border-radius:18px;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:11px;width:100%;margin-top:14px;padding:15px 16px;display:grid}.trend-time-card>span:nth-child(2){flex-direction:column;gap:1px;min-width:0;display:flex}.trend-time-card small,.trend-time-card>span:nth-child(2)>span{color:#6b796c;font-size:8px}.trend-time-card strong{font-family:var(--serif);font-size:18px}.trend-time-card__action{color:#536956;align-items:center;gap:3px;font-size:8px;display:flex}.time-page{padding-bottom:132px}.time-header{margin-bottom:16px}.time-header .brand-lockup{flex:1;min-width:0}.time-hero{color:#fbf7ec;background:radial-gradient(circle at 92% 18%,#ffffff2e,#0000 27%),linear-gradient(140deg,#343a33,#526452 68%,#7e8f78);border-radius:24px;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:22px 20px 18px;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 38px #2b302929}.time-hero:after{content:"";border:1px solid #ffffff1c;border-radius:50%;width:190px;height:190px;position:absolute;top:-72px;right:-50px;box-shadow:0 0 0 24px #ffffff09,0 0 0 52px #ffffff06}.time-hero>div{z-index:1;position:relative}.time-hero .eyebrow{color:#fbf7ec99}.time-hero h1{font-family:var(--serif);letter-spacing:-.035em;margin-top:9px;font-size:28px;font-weight:560;line-height:1.18}.time-hero__summary{text-align:right;flex-direction:column;align-self:start;align-items:flex-end;gap:3px;min-width:104px;padding-top:3px;display:flex}.time-hero__summary svg{color:#f0c079;margin-bottom:5px}.time-hero__summary strong{font-family:var(--serif);font-size:19px;font-weight:620}.time-hero__summary span{color:#fbf7ec9e;font-size:8px}.time-hero__signal{color:#fbf7ecd4;background:#ffffff1a;border-radius:99px;grid-column:1/-1;align-items:center;gap:6px;width:-moz-fit-content;width:fit-content;padding:7px 10px;font-size:9px;display:flex}.time-hero__signal svg{color:#f0c079}.time-view-switch{border:1px solid var(--line);background:#ebe1d28f;border-radius:15px;grid-template-columns:1fr 1fr;gap:4px;margin-top:14px;padding:4px;display:grid}.time-view-switch button{min-height:38px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:11px;justify-content:center;align-items:center;gap:5px;font-size:10px;font-weight:680;display:flex}.time-view-switch button.is-active{background:var(--paper-light);color:var(--ink);box-shadow:0 4px 12px #32281c14}.time-week-toolbar{grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:9px;margin-top:11px;display:grid}.time-week-toolbar>button,.time-range-switch button{border:1px solid var(--line);cursor:pointer;background:#fffaf0a8;place-items:center;display:grid}.time-week-toolbar>button{border-radius:50%;width:34px;height:34px}.time-week-toolbar>div{flex-direction:column;align-items:center;gap:1px;display:flex}.time-week-toolbar strong{font-family:var(--serif);font-size:14px}.time-week-toolbar span{color:var(--muted);font-size:8px}.time-day-strip{border:1px solid var(--line);background:#fffaf07a;border-radius:15px;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:12px;padding:5px;display:grid}.time-day-strip button{min-width:0;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;flex-direction:column;align-items:center;gap:3px;padding:6px 0;display:flex}.time-day-strip button.is-active{background:var(--sage);color:var(--paper-light);box-shadow:0 5px 12px #4f685233}.time-day-strip span{font-size:7px}.time-day-strip strong{font-family:var(--serif);font-size:14px}.time-timeline-card,.time-calendar-card,.time-tag-board{border:1px solid var(--line);background:#fffaf0b3;border-radius:20px;margin-top:12px;padding:16px}.time-timeline-card .section-heading h2,.time-calendar-card h2,.time-tag-board h2{font-family:var(--serif);font-size:18px}.day-time-list{margin-top:14px}.day-time-entry{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:43px 22px minmax(0,1fr);align-items:stretch;gap:7px;width:100%;padding:0;display:grid}.day-time-entry+.day-time-entry{margin-top:4px}.day-time-entry__clock{flex-direction:column;align-items:flex-end;gap:2px;padding-top:8px;display:flex}.day-time-entry__clock strong{color:var(--ink);font-size:10px}.day-time-entry__clock small{color:var(--muted-light);font-size:8px}.day-time-entry__rail{justify-content:center;display:flex;position:relative}.day-time-entry__rail i{z-index:1;border:2px solid var(--paper-light);background:var(--entry-color);width:9px;height:9px;box-shadow:0 0 0 1px var(--entry-color);border-radius:50%;margin-top:11px;position:relative}.day-time-entry__rail b{background:var(--line);width:1px;position:absolute;top:20px;bottom:-11px}.day-time-entry__copy{border:1px solid color-mix(in srgb, var(--entry-color) 18%, transparent);background:color-mix(in srgb, var(--entry-soft) 68%, white);border-radius:13px;flex-direction:column;gap:3px;min-width:0;margin-bottom:7px;padding:9px 11px 10px;display:flex}.day-time-entry__copy>span{justify-content:space-between;align-items:center;gap:8px;display:flex}.day-time-entry__copy em{color:var(--entry-color);font-size:8px;font-style:normal;font-weight:720}.day-time-entry__copy small{color:var(--muted);font-size:7px}.day-time-entry__copy>strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.day-time-entry__copy p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:8px;line-height:1.5;overflow:hidden}.time-empty{min-height:190px;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex}.time-empty svg{color:var(--sage);margin-bottom:4px}.time-empty strong{color:var(--ink);font-family:var(--serif);font-size:15px}.time-empty p{font-size:8px}.time-calendar-card{padding-left:11px;padding-right:11px}.time-calendar-card__heading{justify-content:space-between;align-items:center;gap:12px;padding:0 5px;display:flex}.time-range-switch{background:#513f2b0f;border-radius:11px;gap:3px;padding:3px;display:flex}.time-range-switch button{min-width:39px;min-height:27px;color:var(--muted);background:0 0;border:0;border-radius:8px;font-size:8px}.time-range-switch button.is-active{background:var(--paper-light);color:var(--ink);font-weight:700;box-shadow:0 2px 7px #32281c17}.time-grid-legend{flex-wrap:wrap;gap:6px 9px;margin:12px 5px 10px;display:flex}.time-grid-legend span{color:var(--muted);align-items:center;gap:4px;font-size:7px;display:inline-flex}.time-grid-legend i{border-radius:50%;width:6px;height:6px}.time-grid{border:1px solid var(--line);background:#fffaf094;border-radius:15px;overflow:hidden}.time-grid__header{border-bottom:1px solid var(--line);background:#f7f2e8f5;display:grid}.time-grid__header>button{border:0;border-left:1px solid var(--line);min-height:43px;color:var(--muted);cursor:pointer;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:1px;display:flex}.time-grid__header>button.is-active{background:var(--sage-soft);color:#4f6853}.time-grid__header span{font-size:7px}.time-grid__header strong{font-family:var(--serif);font-size:13px}.time-grid__scroll{overscroll-behavior:contain;scrollbar-width:thin;max-height:508px;overflow-y:auto}.time-grid__body{min-width:100%;display:grid}.time-grid__labels{border-right:1px solid var(--line);height:100%;position:relative}.time-grid__labels span{color:var(--muted-light);font-size:6px;position:absolute;right:5px;transform:translateY(-50%)}.time-grid__column{background:repeating-linear-gradient(#0000 0 18px,#473a2a09 18px 19px,#0000 19px 37px,#473a2a17 37px 38px);border-left:1px solid #473a2a14;height:100%;position:relative}.time-grid__block{z-index:2;border:0;border-left:3px solid var(--block-color);background:var(--block-soft);color:var(--ink);text-align:left;cursor:pointer;border-radius:6px;padding:4px;transition:filter .15s,transform .15s;position:absolute;overflow:hidden}.time-grid__block:hover,.time-grid__block:focus-visible{z-index:3;filter:saturate(1.08)}.time-grid__block:focus-visible{outline:2px solid var(--block-color);outline-offset:1px}.time-grid__block-copy{flex-direction:column;gap:1px;display:flex}.time-grid__block-copy strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:7px;line-height:1.25;display:-webkit-box;overflow:hidden}.time-grid__block-copy small{color:color-mix(in srgb, var(--block-color) 76%, #2f2a25);font-size:6px}.time-grid__body.is-compact .time-grid__block{border-left-width:2px;border-radius:3px;padding:0}.time-grid__body.is-compact .time-grid__block-copy{opacity:0}.time-grid__now{z-index:4;background:var(--accent);pointer-events:none;height:1px;position:absolute;left:0;right:0}.time-grid__now:before{background:var(--accent);content:"";border-radius:50%;width:7px;height:7px;position:absolute;top:-3px;left:-3px}.time-tag-board{background:radial-gradient(circle at 92% 8%,#ffffffb8,#0000 24%),#edf1e8}.time-tag-bars{flex-direction:column;gap:10px;margin-top:14px;display:flex}.time-tag-bars>div{grid-template-columns:55px minmax(0,1fr) 82px;align-items:center;gap:8px;display:grid}.time-tag-bars span{color:var(--muted);align-items:center;gap:5px;font-size:8px;display:flex}.time-tag-bars span i{border-radius:50%;width:7px;height:7px}.time-tag-bars b{opacity:.7;border-radius:99px;height:7px;display:block}.time-tag-bars strong{color:var(--muted);text-align:right;font-size:8px;font-weight:600}.time-form{flex-direction:column;gap:15px;display:flex}.time-form label{flex-direction:column;gap:6px;display:flex}.time-form label>span,.time-tag-picker legend{color:var(--muted);font-size:9px;font-weight:680}.time-form input,.time-form textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fffaf0ad;border-radius:12px;outline:none;padding:10px 11px;font-size:11px}.time-form textarea{resize:none;min-height:92px;line-height:1.6}.time-form input:focus,.time-form textarea:focus{border-color:#607e6770}.time-tag-picker{border:0;margin:0;padding:0}.time-tag-picker legend{margin-bottom:8px}.time-tag-picker>div{flex-wrap:wrap;gap:6px;display:flex}.time-tag-picker button{border:1px solid var(--line);min-height:31px;color:var(--muted);cursor:pointer;background:#fffaf094;border-radius:99px;align-items:center;gap:5px;padding:5px 10px;font-size:9px;display:inline-flex}.time-tag-picker button i{background:var(--tag-color);border-radius:50%;width:7px;height:7px}.time-tag-picker button.is-active{border-color:color-mix(in srgb, var(--tag-color) 28%, transparent);background:var(--tag-soft);color:var(--tag-color);font-weight:700}.time-form__schedule{grid-template-columns:1.25fr .9fr .9fr;gap:7px;display:grid}.time-form__schedule input{padding-left:8px;padding-right:7px;font-size:9px}.time-form__duration{color:var(--sage);background:#67806a14;border-radius:10px;align-items:center;gap:7px;margin-top:-5px;padding:8px 10px;font-size:8px;display:flex}.time-form__delete{color:#9e4a3d;margin-top:1px}.health-disclaimer{color:var(--muted-light);text-align:center;margin:15px 4px 0;font-size:8px;line-height:1.6}.date-navigator{border:1px solid var(--line);background:#fffaf0b8;border-radius:16px;grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;gap:6px;margin:0 0 18px;padding:6px;display:grid}.date-navigator--compact{margin-bottom:14px}.date-navigator>button{min-width:38px;min-height:38px;color:var(--muted);cursor:pointer;background:#513f2b0e;border:0;border-radius:11px;place-items:center;display:grid}.date-navigator__current{min-width:0;min-height:38px;color:var(--ink);cursor:pointer;border-radius:11px;justify-content:center;align-items:center;gap:6px;padding:0 7px;display:flex;position:relative}.date-navigator__current span{font-family:var(--serif);text-overflow:ellipsis;white-space:nowrap;flex-direction:column;gap:1px;font-size:12px;font-weight:650;display:flex;overflow:hidden}.date-navigator__current small{color:var(--muted);letter-spacing:.04em;font-family:inherit;font-size:7px;font-weight:520}.date-navigator__current input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.date-navigator__today{grid-column:1/-1;justify-self:center;gap:5px;width:max-content;padding:0 10px;font-size:8px;font-weight:720;background:var(--accent-soft)!important;min-height:28px!important;color:var(--accent)!important;border-radius:99px!important;display:inline-flex!important}.date-navigator__backfill{color:var(--accent);grid-column:1/-1;justify-self:center;font-size:8px;font-weight:680}.management-calendar{border:1px solid var(--line);background:#fffaf0ad;border-radius:19px;margin-bottom:14px;padding:9px}.management-calendar .date-navigator{background:0 0;border:0;margin-bottom:0;padding:4px 0 0}.calendar-view-switch{grid-template-columns:repeat(4,1fr);gap:4px;padding-bottom:8px;display:grid}.calendar-view-switch button{min-height:34px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;gap:4px;font-size:9px;font-weight:680;display:inline-flex}.calendar-view-switch button.is-active{background:var(--ink);color:var(--paper-light)}.calendar-range-toolbar{grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;gap:7px;padding:5px 0 10px;display:grid}.calendar-range-toolbar>button{width:36px;height:36px;color:var(--muted);cursor:pointer;background:#513f2b0e;border:0;border-radius:11px;place-items:center;display:grid}.calendar-range-toolbar>div{flex-direction:column;align-items:center;gap:1px;min-width:0;display:flex}.calendar-range-toolbar strong{max-width:100%;font-family:var(--serif);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.calendar-range-toolbar span,.calendar-range-toolbar div button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:7px}.calendar-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.calendar-week button{min-width:0;min-height:78px;color:inherit;cursor:pointer;background:#513f2b09;border:1px solid #0000;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:5px 1px;display:flex;position:relative}.calendar-week button.is-selected{background:var(--accent-soft);border-color:#df5f3b2e}.calendar-week button.is-today strong{color:var(--accent)}.calendar-week button span{color:var(--muted);font-size:7px}.calendar-week button strong{font-family:var(--serif);font-size:15px}.calendar-week button em{max-width:100%;color:var(--muted-light);text-overflow:ellipsis;white-space:nowrap;font-size:6px;font-style:normal;overflow:hidden}.calendar-week button>i{color:#0000;border-radius:99px;place-items:center;min-width:15px;height:15px;font-size:6px;font-style:normal;display:grid}.calendar-week button>i.has-records{background:var(--accent);color:var(--paper-light)}.calendar-timeline{border-top:1px solid var(--line);margin-top:2px}.calendar-timeline__head,.calendar-timeline__all-day{align-items:stretch;display:grid}.calendar-timeline__head{border-bottom:1px solid var(--line)}.calendar-timeline__week-no{color:var(--muted-light);text-align:center;justify-content:center;align-items:center;font-size:7px;line-height:1.25;display:flex}.calendar-timeline__head>button{min-width:0;min-height:58px;color:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:5px 1px;display:flex}.calendar-timeline__head>button.is-selected{background:var(--accent-soft);border-radius:10px}.calendar-timeline__head>button.is-today strong{color:var(--accent)}.calendar-timeline__head span{color:var(--muted);font-size:7px}.calendar-timeline__head strong{font-family:var(--serif);font-size:16px}.calendar-timeline__head small{max-width:100%;color:var(--muted-light);text-overflow:ellipsis;white-space:nowrap;font-size:6px;overflow:hidden}.calendar-timeline__all-day{border-bottom:1px solid var(--line);align-items:start;padding:7px 0}.calendar-timeline__all-day>span{color:var(--muted);text-align:center;padding-top:3px;font-size:7px}.calendar-timeline__all-grid{gap:2px;display:grid}.calendar-timeline__all-bar{background:color-mix(in srgb, var(--timeline-color) 24%, var(--paper-light));min-width:0;height:16px;color:color-mix(in srgb, var(--timeline-color) 75%, var(--ink));text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border:0;border-radius:5px;padding:0 4px;font-size:6px;font-weight:680;line-height:16px;overflow:hidden}.calendar-timeline__scroll{scrollbar-width:none;max-height:520px;overflow:auto}.calendar-timeline__scroll::-webkit-scrollbar{display:none}.calendar-timeline__body{min-width:100%;display:grid;position:relative}.calendar-timeline__hours{border-right:1px solid var(--line);height:100%;position:relative}.calendar-timeline__hours span{color:var(--muted-light);font-size:6px;position:absolute;right:4px;transform:translateY(-50%)}.calendar-timeline__column{background:repeating-linear-gradient(#0000 0 16px,#473a2a09 16px 17px,#0000 17px 33px,#473a2a17 33px 34px);border-left:1px solid #473a2a14;height:100%;position:relative}.calendar-timeline__event{z-index:2;border:0;border-left:3px solid var(--timeline-color);background:color-mix(in srgb, var(--timeline-color) 18%, var(--paper-light));min-height:6px;color:var(--ink);text-align:left;cursor:pointer;border-radius:5px;padding:2px 3px;position:absolute;overflow:hidden}.calendar-timeline__event>span{flex-direction:column;gap:1px;min-width:0;display:flex}.calendar-timeline__event strong{text-overflow:ellipsis;white-space:nowrap;font-size:7px;line-height:1.25;overflow:hidden}.calendar-timeline__event small{color:var(--muted);font-size:6px;line-height:1.2}.calendar-timeline--compact .calendar-timeline__event{border-left-width:2px;border-radius:2px;min-height:4px;padding:0}.calendar-timeline--compact .calendar-timeline__event>span{display:none}.calendar-timeline--detailed .calendar-timeline__event{min-height:18px;padding:3px 4px}.calendar-timeline__event.is-health,.calendar-timeline__all-bar.is-health{--timeline-color:var(--group-health,#e08fa6)}.calendar-timeline__event.is-journal,.calendar-timeline__all-bar.is-journal{--timeline-color:var(--group-journal,#ddb871)}.calendar-timeline__event.is-finance,.calendar-timeline__all-bar.is-finance{--timeline-color:var(--group-finance,#93ad95)}.calendar-timeline__event.is-time,.calendar-timeline__all-bar.is-time{--timeline-color:var(--group-time,#8f95c2)}.calendar-timeline__now{z-index:4;background:var(--accent);pointer-events:none;height:1px;position:absolute;left:0;right:0}.calendar-timeline__now:before{background:var(--accent);content:"";border-radius:50%;width:7px;height:7px;position:absolute;top:-3px;left:-3px}.calendar-event-preview{flex-direction:column;gap:8px;display:flex}.calendar-event-preview__badge{color:#666c91;background:#e8e6f2;border-radius:99px;align-items:center;gap:5px;width:max-content;padding:5px 9px;font-size:8px;font-weight:680;display:inline-flex}.calendar-event-preview h3{font-family:var(--serif);font-size:22px;font-weight:620}.calendar-event-preview>p{color:var(--muted);font-size:10px}.calendar-event-preview>strong{font-family:var(--serif);font-size:17px}.calendar-event-preview blockquote{color:var(--muted);background:#8f95c21a;border-left:3px solid #8f95c2;border-radius:0 10px 10px 0;margin:4px 0 0;padding:12px;font-size:10px;line-height:1.6}.calendar-month{padding:2px 1px 0}.calendar-month__weekdays,.calendar-month__week{grid-template-columns:16px repeat(7,minmax(0,1fr));gap:3px 0;display:grid}.calendar-month__weekdays{margin-bottom:4px}.calendar-month__weekdays span{color:var(--muted-light);text-align:center;padding:4px 0;font-size:7px}.calendar-month__week-no{color:var(--muted-light);font-variant-numeric:tabular-nums;letter-spacing:-.02em;justify-content:center;padding-top:7px;font-size:7px;display:flex}.calendar-month__grid{flex-direction:column;gap:3px;display:flex}.calendar-month__grid button{min-width:0;min-height:58px;color:var(--ink);text-align:center;cursor:pointer;background:0 0;border:0;border-radius:9px;flex-direction:column;align-items:stretch;gap:1px;padding:5px 0 4px;display:flex;position:relative;box-shadow:inset 0 0 0 1px #0000}.calendar-month__grid button.is-outside{color:var(--muted-light);opacity:.42}.calendar-month__grid button.is-selected{background:var(--accent-soft);box-shadow:inset 0 0 0 1px #df5f3b2b}.calendar-month__day{font-family:var(--serif);padding:0 3px;font-size:12px;line-height:1.1}.calendar-month__grid button.is-today .calendar-month__day{color:var(--accent);font-weight:780}.calendar-month__lunar{color:var(--muted-light);text-overflow:ellipsis;white-space:nowrap;padding:0 3px;font-size:5px;line-height:1.3;overflow:hidden}.calendar-month__bars{width:100%;margin-top:3px;display:block;position:relative}.calendar-month__bars i{background:var(--line);border-radius:2px;height:3px;position:absolute}.calendar-month__bars i.is-cont-left{border-top-left-radius:0;border-bottom-left-radius:0}.calendar-month__bars i.is-cont-right{border-top-right-radius:0;border-bottom-right-radius:0}.calendar-month__bars i.is-health{background:var(--group-health,#e08fa6)}.calendar-month__bars i.is-journal{background:var(--group-journal,#ddb871)}.calendar-month__bars i.is-finance{background:var(--group-finance,#93ad95)}.calendar-month__bars i.is-time{background:var(--group-time,#8f95c2)}.calendar-month__bars i.is-compact-summary,.calendar-week__bars i.is-compact-summary{background:#473a2a14;border-radius:99px;height:4px;overflow:hidden}.calendar-month__bars i.is-compact-summary>span,.calendar-week__bars i.is-compact-summary>span{border-radius:99px;min-width:1px;position:absolute;top:0;bottom:0}.calendar-month__bars i.is-compact-summary>span.is-health,.calendar-week__bars i.is-compact-summary>span.is-health{background:var(--group-health,#e08fa6)}.calendar-month__bars i.is-compact-summary>span.is-journal,.calendar-week__bars i.is-compact-summary>span.is-journal{background:var(--group-journal,#ddb871)}.calendar-month__bars i.is-compact-summary>span.is-finance,.calendar-week__bars i.is-compact-summary>span.is-finance{background:var(--group-finance,#93ad95)}.calendar-month__bars i.is-compact-summary>span.is-time,.calendar-week__bars i.is-compact-summary>span.is-time{background:var(--group-time,#8f95c2)}.calendar-month--compact .calendar-month__grid button{min-height:50px;padding:4px 0 3px}.calendar-month--compact .calendar-month__bars{margin-top:2px}.calendar-month--detailed .calendar-month__grid button{height:calc(36px + var(--month-lanes,3) * 11px);min-height:0;padding:6px 0 5px}.calendar-month--detailed .calendar-month__bars i:not(.is-compact-summary):not(.is-point){align-items:center;height:9px;padding:0 2px;display:flex;overflow:hidden}.calendar-month--detailed .calendar-month__bars i b{color:#fffffff5;text-overflow:ellipsis;white-space:nowrap;font-size:5px;font-weight:650;line-height:1;overflow:hidden}.calendar-month__bars i.is-point{border-radius:50%;width:6px;height:6px}.calendar-week__bars{width:100%;margin-top:5px;display:block;position:relative}.calendar-week__bars i{border-radius:2px;height:3px;position:absolute}.calendar-week__bars i.is-health{background:var(--group-health,#e08fa6)}.calendar-week__bars i.is-journal{background:var(--group-journal,#ddb871)}.calendar-week__bars i.is-finance{background:var(--group-finance,#93ad95)}.calendar-week__bars i.is-time{background:var(--group-time,#8f95c2)}.calendar-month__more{color:var(--muted);font-size:6px;font-weight:600;line-height:1;position:absolute;bottom:1px;right:2px}.calendar-legend i.is-health{background:var(--group-health,#e08fa6)}.calendar-week button.has-period:not(.is-selected),.calendar-month__grid button.has-period:not(.is-selected){background:#f8d9df}.calendar-week button.has-predicted:not(.is-selected),.calendar-month__grid button.has-predicted:not(.is-selected){background:repeating-linear-gradient(135deg,#de5c8624 0 3px,#fffaf0a6 3px 6px)}.calendar-week button.has-fertile:not(.is-selected),.calendar-month__grid button.has-fertile:not(.is-selected){background:#f1eff8}.calendar-week button.has-ovulation:not(.is-selected),.calendar-month__grid button.has-ovulation:not(.is-selected){background:#e3ddf2;box-shadow:inset 0 0 0 1px #705c9e2e}.calendar-week button.has-record:not(.is-selected){box-shadow:inset 0 0 0 1px #67806a29}.calendar-legend{color:var(--muted);justify-content:center;align-items:center;gap:5px;margin-top:8px;font-size:7px;display:flex}.calendar-legend i{background:var(--sage);border-radius:50%;width:6px;height:6px}.calendar-tone-legend{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:8px 12px;margin-top:8px;font-size:7px;display:flex}.calendar-tone-legend span{align-items:center;gap:4px;display:inline-flex}.calendar-tone-legend i{border-radius:50%;width:7px;height:7px}.calendar-tone-legend i.is-period{background:#df5f86}.calendar-tone-legend i.is-predicted{background:repeating-linear-gradient(135deg,#df5f8659 0 2px,#0000 2px 4px);border:1px solid #df5f8680}.calendar-tone-legend i.is-record{background:var(--sage)}.calendar-tone-legend i.is-ovulation{background:#8a73b7}.calendar-tone-legend i.is-fertile{background:#c6bce4}.calendar-year-months{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px;padding:6px 1px 4px;display:grid}.calendar-year-months>section{min-width:0}.calendar-year-months h3{font-family:var(--serif);margin:0 0 5px;font-size:16px;font-weight:650}.calendar-year-months>section.is-current h3{color:var(--accent)}.calendar-year-months__weekdays,.calendar-year-months__days{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-year-months__weekdays{margin-bottom:2px}.calendar-year-months__weekdays span{color:var(--muted-light);text-align:center;font-size:7px}.calendar-year-months__days{gap:2px}.calendar-year-months__days button{min-width:0;height:32px;color:var(--ink);font-family:var(--serif);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:0;font-size:10px;display:grid;position:relative}.calendar-year-months__days button.is-outside{color:#0000;pointer-events:none}.calendar-year-months__days button>span{line-height:1}.calendar-year-months__days button.is-selected{background:var(--accent-soft);color:var(--accent)}.calendar-year-months__days button.is-today{color:var(--accent);font-weight:800}.calendar-year-months__days button.has-records:after{background:var(--sage);content:"";border-radius:50%;width:2px;height:2px;position:absolute;bottom:1px;left:50%;transform:translate(-50%)}.calendar-hub-page .app-header{margin-bottom:12px}.calendar-hub-intro{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:13px;padding:0 3px;display:flex}.calendar-hub-intro h1{font-family:var(--serif);letter-spacing:-.06em;margin-top:2px;font-size:45px;font-weight:560;line-height:1}.calendar-hub-intro p:last-child{color:var(--muted);margin-top:5px;font-size:8px}.calendar-hub-intro>span{background:var(--sage-soft);max-width:86px;color:var(--sage);text-align:center;border-radius:99px;padding:7px 9px;font-size:8px;font-weight:680;line-height:1.45}.calendar-filter-bar{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-top:9px;display:grid}.calendar-density-switch{border:1px solid var(--line);background:#fffaf094;border-radius:15px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;margin-top:9px;padding:6px;display:grid}.calendar-density-switch>span{color:var(--muted);padding-left:5px;font-size:8px;font-weight:680}.calendar-density-switch>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;display:grid}.calendar-density-switch>div button{min-height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;font-size:8px;font-weight:680}.calendar-density-switch>div button.is-active{background:var(--ink);color:var(--paper-light)}.calendar-density-switch__settings{border:1px dashed var(--line);min-height:32px;color:var(--muted);cursor:pointer;background:0 0;border-radius:9px;align-items:center;gap:3px;padding:0 8px;font-size:8px;display:inline-flex}.calendar-gesture-surface{touch-action:pan-y}.calendar-gesture-hint{color:var(--muted-light);margin:6px 5px 0;font-size:7px;line-height:1.45}.calendar-filter{border:1px solid var(--line);min-width:0;min-height:42px;color:var(--muted);cursor:pointer;background:#fffaf094;border-radius:12px;justify-content:center;align-items:center;gap:3px;padding:5px 3px;font-size:8px;display:flex}.calendar-filter span{color:var(--muted-light);font-size:7px}.calendar-filter.is-active{border-color:color-mix(in srgb, var(--group-color,var(--muted)) 26%, transparent);background:color-mix(in srgb, var(--group-color,var(--muted)) 15%, var(--paper-light));color:color-mix(in srgb, var(--group-color,var(--muted)) 78%, var(--ink))}.calendar-filter--groups{color:var(--muted);border-style:dashed}.calendar-agenda{border:1px solid var(--line);background:#fffaf0b3;border-radius:20px;margin-top:14px;padding:18px}.calendar-agenda-list{border-top:1px solid var(--line);margin-top:11px}.calendar-agenda-row{border:0;border-bottom:1px solid var(--line);width:100%;min-height:58px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;grid-template-columns:42px 7px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 0;display:grid}.calendar-agenda-row:last-child{border-bottom:0}.calendar-agenda-row__time{color:var(--muted-light);font-family:var(--serif);font-size:9px}.calendar-agenda-row>i{background:var(--sage);border-radius:50%;width:7px;height:7px}.calendar-agenda-row--health>i{background:#cf6987}.calendar-agenda-row--journal>i{background:#c39a4e}.calendar-agenda-row--finance>i{background:var(--sage)}.calendar-agenda-row--time>i{background:#777da3}.calendar-agenda-row__copy{flex-direction:column;gap:3px;min-width:0;display:flex}.calendar-agenda-row__copy strong{font-family:var(--serif);font-size:12px}.calendar-agenda-row__copy span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.calendar-agenda-row>b{font-family:var(--serif);font-size:12px;font-weight:650}.calendar-agenda-empty{color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:7px;padding:25px 10px 16px;display:flex}.calendar-agenda-empty strong{color:var(--ink);font-family:var(--serif);font-size:15px}.calendar-agenda-empty p{font-size:8px}.calendar-agenda-empty .secondary-button{margin-top:6px}.calendar-agenda-empty__art{border:1px solid var(--line);background:#fffaf085;border-radius:13px;justify-content:center;align-items:flex-end;gap:5px;width:58px;height:48px;padding:10px;display:flex}.calendar-agenda-empty__art i{background:var(--sage);opacity:.45;border-radius:3px 3px 1px 1px;width:7px}.calendar-agenda-empty__art i:first-child{height:12px}.calendar-agenda-empty__art i:nth-child(2){height:23px}.calendar-agenda-empty__art i:nth-child(3){height:17px}.life-module-page .app-header{margin-bottom:15px}.module-hero{background:radial-gradient(circle at 91% 10%, #ffffffb3, transparent 28%), var(--sage-soft);border:1px solid #473a2a14;border-radius:22px;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:14px;padding:20px;display:grid}.life-module-page--cycle .module-hero,.life-module-page--journal .module-hero{background:radial-gradient(circle at 91% 10%,#ffffffb8,#0000 28%),#f1e4e5}.life-module-page--water .module-hero{background:radial-gradient(circle at 91% 10%,#ffffffb8,#0000 28%),#e1ecee}.life-module-page--memo .module-hero{background:radial-gradient(circle at 91% 10%,#ffffffb8,#0000 28%),#f7e9cf}.module-hero__icon{color:#536c56;background:#fffaf0ad;border:1px solid #473a2a14;border-radius:18px;place-items:center;width:54px;height:54px;display:grid}.life-module-page--cycle .module-hero__icon,.life-module-page--journal .module-hero__icon{color:#8e626a}.life-module-page--water .module-hero__icon{color:#557c85}.module-hero h1{font-family:var(--serif);letter-spacing:-.045em;flex-wrap:wrap;align-items:baseline;gap:4px;margin-top:4px;font-size:clamp(23px,7vw,29px);font-weight:620;line-height:1.18;display:flex}.module-hero h1 small{color:var(--muted);letter-spacing:0;font-size:11px;font-weight:600}.module-hero p:last-child{color:var(--muted);margin-top:7px;font-size:9px;line-height:1.6}.module-day-card,.module-history{border:1px solid var(--line);background:#fffaf0b3;border-radius:20px;margin-top:14px;padding:18px}.module-record-list{border-top:1px solid var(--line);margin-top:11px}.module-record-row{border:0;border-bottom:1px solid var(--line);width:100%;min-height:60px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 0;display:grid}.module-record-row:last-child{border-bottom:0}.module-record-row__time{color:var(--muted-light);font-family:var(--serif);font-size:9px}.module-record-row__copy{flex-direction:column;gap:3px;min-width:0;display:flex}.module-record-row__copy strong{font-family:var(--serif);font-size:13px}.module-record-row__copy span{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:8px;line-height:1.45;display:-webkit-box;overflow:hidden}.module-record-row>b{font-family:var(--serif);align-items:baseline;gap:2px;font-size:16px;font-weight:650;display:flex}.module-record-row>b small{color:var(--muted);font-family:inherit;font-size:7px}.module-empty{color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:7px;padding:24px 10px 17px;display:flex}.module-empty strong{color:var(--ink);font-family:var(--serif);font-size:15px}.module-empty p{max-width:260px;font-size:8px;line-height:1.55}.module-empty .secondary-button{margin-top:7px}.module-history{background:#efe8d999}.nutrition-module-hero{background:radial-gradient(circle at 91% 10%,#ffffffbf,#0000 30%),#f9e6d9;border:1px solid #b55d361a;border-radius:22px;justify-content:space-between;align-items:center;gap:20px;padding:21px;display:flex}.nutrition-module-hero h1{font-family:var(--serif);letter-spacing:-.05em;margin-top:5px;font-size:clamp(31px,9vw,39px);font-weight:620}.nutrition-module-hero h1 small{color:var(--muted);letter-spacing:0;font-size:11px}.nutrition-module-hero p:last-child{color:var(--muted);margin-top:3px;font-size:9px}.nutrition-module-hero__icon{color:#b55d36;background:#fffaf0a3;border-radius:50%;flex:none;place-items:center;width:55px;height:55px;display:grid}.nutrition-macro-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px;display:grid}.nutrition-macro-grid div{border:1px solid var(--line);background:#fffaf099;border-radius:14px;flex-direction:column;gap:3px;padding:12px;display:flex}.nutrition-macro-grid span{color:var(--muted);font-size:8px}.nutrition-macro-grid strong{font-family:var(--serif);font-size:17px}.meal-record-list{flex-direction:column;gap:8px;margin-top:12px;display:flex}.meal-record-list button{border:1px solid var(--line);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:#fffaf08c;border-radius:14px;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px;display:grid}.meal-record-list button>span{flex-direction:column;gap:3px;min-width:0;display:flex}.meal-record-list strong{font-family:var(--serif);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.meal-record-list small{color:var(--muted);font-size:8px}.journal-week-note{background:#fffaf073;border:1px dashed #473a2a30;border-radius:16px;margin-top:18px;padding:15px}.journal-week-note span{color:var(--muted);font-size:8px}.journal-week-note strong{font-family:var(--serif);margin-left:7px;font-size:12px}.journal-week-note p{color:var(--muted);margin-top:6px;font-size:8px;line-height:1.5}.detail-form{flex-direction:column;gap:13px;display:flex}.detail-form label{flex-direction:column;gap:6px;display:flex}.detail-form label>span{color:var(--muted);font-size:9px;font-weight:680}.detail-form input,.detail-form textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fffaf0ad;border-radius:12px;outline:none;padding:10px 11px;font-size:11px}.detail-form textarea{resize:none;min-height:105px;line-height:1.6}.detail-form__pair{grid-template-columns:1fr 1fr;gap:8px;display:grid}.detail-actions--record{justify-content:flex-start;margin-top:16px}.detail-cycle-meta{background:#f8eaee;border:1px solid #cd5b7e21;border-radius:14px;margin-top:15px;padding:13px}.detail-cycle-meta>div{flex-wrap:wrap;gap:5px;margin-top:7px;display:flex}.detail-cycle-meta>div span{color:#8a5966;background:#fffaf0b3;border-radius:99px;padding:5px 8px;font-size:8px}.detail-cycle-meta>p:last-child{color:var(--muted);margin-top:8px;font-size:8px;line-height:1.5}.text-button--danger{color:#9e4a3d}@keyframes page-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes scan{0%{top:28px}to{top:136px}}@keyframes bar-grow{0%{transform:scaleY(.2)}to{transform:scaleY(1)}}.header-actions{align-items:center;gap:8px;display:flex}.search-bar{border:1px solid var(--line);color:var(--muted);background:#fffaf0c7;border-radius:14px;align-items:center;gap:8px;padding:0 6px 0 14px;display:flex}.search-bar input{width:100%;height:46px;color:var(--ink);background:0 0;border:0;outline:none;font-size:13px}.search-bar input::placeholder{color:var(--muted-light)}.search-bar .icon-button{background:0 0;border:0;width:30px;height:30px}.search-filter{flex-direction:column;gap:8px;margin-top:16px;display:flex}.search-filter>.eyebrow{align-items:center;gap:5px;margin-top:6px;display:flex}.chip-row{flex-wrap:wrap;gap:6px;display:flex}.chip-row button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#fffaf0b3;border-radius:99px;padding:7px 12px;font-size:11px}.chip-row button.is-active{background:var(--accent-soft);color:var(--accent);border-color:#df5f3b47;font-weight:750}.search-range{grid-template-columns:1fr 1fr;gap:10px;margin-top:4px;display:grid}.search-range label{flex-direction:column;gap:5px;display:flex}.search-range label span{color:var(--muted);padding-left:3px;font-size:9px}.search-range input{border:1px solid var(--line);width:100%;height:42px;color:var(--ink);background:#fffaf0b3;border-radius:12px;outline:none;padding:0 12px;font-size:12px}.search-summary{border:1px solid var(--line);background:var(--paper-light);color:var(--muted);border-radius:14px;flex-wrap:wrap;gap:6px 14px;margin:16px 0 4px;padding:12px 14px;font-size:10px;display:flex}.search-summary span:first-child{color:var(--ink);font-weight:750}.search-summary span.is-income{color:var(--sage)}.search-results{border-top:1px solid var(--line);margin-top:10px}.search-group{padding-top:12px}.search-group>header{justify-content:space-between;align-items:baseline;padding-bottom:6px;display:flex}.search-group>header strong{font-family:var(--serif);font-size:13px}.search-group>header span{color:var(--muted);font-size:9px}.search-row{border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:9px 0;display:grid}.search-row .sticker-art{width:40px;height:40px}.search-row__copy{flex-direction:column;gap:2px;min-width:0;display:flex}.search-row__copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.search-row__copy span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.search-row>span:last-child{font-family:var(--serif);font-size:14px}.search-row>span.is-income{color:var(--sage)}.search-empty{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:34px 20px;display:flex}.search-empty strong{font-family:var(--serif);font-size:15px}.search-empty p{color:var(--muted);font-size:11px;line-height:1.6}.search-select-toggle{min-height:0;color:var(--accent);margin-left:auto;padding:0;font-size:10px}.search-row.is-selecting{grid-template-columns:20px 42px minmax(0,1fr) auto}.search-check{border:1px solid var(--line);background:var(--paper-light);width:18px;height:18px;color:var(--accent);border-radius:6px;place-items:center;display:grid}.search-row.is-selected{background:#df5f3b0d}.search-row.is-selected .search-check{background:var(--accent-soft);border-color:#df5f3b66}.batch-bar{border:1px solid var(--line);background:var(--paper-light);border-radius:16px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;padding:12px;display:flex;position:sticky;bottom:0;box-shadow:0 -8px 20px #372c2014}.batch-bar__count{color:var(--muted);margin-right:auto;font-size:11px}.batch-bar .secondary-button,.batch-bar .danger-button{flex:none;width:auto;min-height:40px;padding:0 14px;font-size:11px}.batch-bar>.eyebrow{width:100%}.entry-edit-meta{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;display:grid}.entry-edit-meta label{flex-direction:column;gap:5px;display:flex}.entry-edit-meta label span{color:var(--muted);padding-left:3px;font-size:9px}.entry-edit-meta input{border:1px solid var(--line);width:100%;height:42px;color:var(--ink);background:#fffaf0b3;border-radius:12px;outline:none;padding:0 12px;font-size:12px}.entry-edit-media{border:1px dashed var(--line);background:#fffaf080;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;margin:10px 0 12px;padding:10px 12px;display:flex}.entry-edit-media__preview{align-items:center;gap:10px;min-width:0;display:flex}.entry-edit-media__preview .sticker-art{flex:none;width:44px;height:44px}.entry-edit-media__preview div{flex-direction:column;gap:2px;min-width:0;display:flex}.entry-edit-media__preview strong{font-size:11px}.entry-edit-media__preview span{color:var(--muted);font-size:9px}.entry-edit-media .text-button{white-space:nowrap;flex:none}.settings-row--budget{grid-template-columns:42px minmax(0,1fr)}.budget-editor{align-items:center;gap:10px;display:flex}.budget-editor label{border:1px solid var(--line);color:var(--muted);font-family:var(--serif);background:#fffaf0b3;border-radius:12px;flex:1;align-items:center;gap:6px;padding:0 12px;display:flex}.budget-editor input{width:100%;height:44px;color:var(--ink);font-family:var(--serif);background:0 0;border:0;outline:none;font-size:17px}.budget-editor .secondary-button{flex:none;width:auto;min-height:44px;padding:0 16px}.form-error{color:#a6422f;background:#fae7e1;border:1px solid #a6422f3d;border-radius:12px;margin-top:12px;padding:10px 13px;font-size:11px;line-height:1.5}.category-manager{border-top:1px solid var(--line);margin-top:14px}.category-manager__row{border-bottom:1px solid var(--line);grid-template-columns:44px minmax(0,1fr) 32px 32px;align-items:center;gap:8px;padding:10px 0;display:grid}.category-manager__swatch{border-radius:14px;place-items:center;width:44px;height:44px;display:grid}.category-manager__swatch .sticker-art{width:38px;height:38px}.category-manager__copy{flex-direction:column;gap:2px;min-width:0;display:flex}.category-manager__copy strong{font-size:13px}.category-manager__copy span{color:var(--muted);font-size:9px}.category-manager__row .icon-button{border-radius:9px;width:30px;height:30px}.category-form{border:1px solid var(--line);background:#fffaf09e;border-radius:16px;flex-direction:column;gap:10px;margin-top:14px;padding:14px;display:flex}.category-form>label{flex-direction:column;gap:5px;display:flex}.category-form>label span{color:var(--muted);padding-left:3px;font-size:9px}.category-form input{border:1px solid var(--line);background:var(--paper-light);width:100%;height:42px;color:var(--ink);border-radius:12px;outline:none;padding:0 12px;font-size:13px}.swatch-row,.sticker-row{flex-wrap:wrap;gap:8px;display:flex}.swatch-row button{cursor:pointer;border:2px solid #0000;border-radius:50%;width:26px;height:26px}.swatch-row button.is-active{border-color:var(--ink);box-shadow:inset 0 0 0 2px var(--paper-light)}.sticker-row button{border:1px solid var(--line);background:var(--paper-light);cursor:pointer;border-radius:12px;place-items:center;width:42px;height:42px;display:grid}.sticker-row button.is-active{background:var(--accent-soft);border-color:#df5f3b66}.sticker-row .sticker-art{width:34px;height:34px}.category-manager__swatch .sticker-art__receipt,.sticker-row .sticker-art__receipt{gap:2px;padding:4px 3px}.category-form__actions{justify-content:space-between;align-items:center;gap:10px;margin-top:4px;display:flex}.category-form__actions .primary-button{width:auto;min-height:42px;padding:0 16px}.settings-row--action{border:1px solid var(--line);width:100%;color:inherit;text-align:left;cursor:pointer}.app-shell--loading{place-items:center;display:grid}.app-loading{color:var(--muted);flex-direction:column;align-items:center;gap:14px;font-size:11px;display:flex}.app-loading__mark{background:var(--paper-light);width:56px;height:56px;color:var(--accent);font-family:var(--serif);border:1px solid #3d312438;border-radius:50%;place-items:center;font-size:22px;font-weight:800;animation:1.5s ease-in-out infinite loading-pulse;display:grid;box-shadow:inset 0 0 0 5px #df5f3b12}@keyframes loading-pulse{0%,to{opacity:.55;transform:scale(.97)}50%{opacity:1;transform:scale(1)}}.density-block{border-top:1px solid var(--line);margin:16px 0 4px;padding:12px 0}.density-block .eyebrow,.density-block .segmented-control{margin-bottom:8px}.group-list{flex-direction:column;gap:4px;margin-top:14px;display:flex}.group-row{border-bottom:1px solid var(--line);padding:12px 0}.group-row:last-child{border-bottom:0}.group-row__head{align-items:center;gap:8px;margin-bottom:10px;display:flex}.group-row__dot{border-radius:50%;width:10px;height:10px}.group-row__head strong{font-size:13px}.group-row__head code{color:var(--muted-light);margin-left:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px}.group-row .swatch-row button{color:#fff;cursor:pointer;border:2px solid #0000;border-radius:50%;place-items:center;width:26px;height:26px;display:grid}.group-row .swatch-row button.is-active{border-color:var(--ink);box-shadow:inset 0 0 0 2px var(--paper-light)}@media (min-width:560px){.app-stage{padding:24px}.app-shell{border:1px solid #3f32242b;border-radius:38px;height:min(100dvh - 48px,900px)}}@media (max-width:380px){.page{padding-left:16px;padding-right:16px}.remaining-amount strong{font-size:53px}.metric-grid{grid-template-columns:1fr 1fr}.metric-card{padding:12px}.metric-card>div strong{font-size:24px}.quick-grid,.bristol-grid{grid-template-columns:repeat(4,1fr)}.week-strip{gap:2px}.sheet{padding-left:15px;padding-right:15px}.field-grid{grid-template-columns:1fr}.stats-hero>div:first-child>strong{font-size:36px}.date-navigator__current span{font-size:10px}.module-record-row{grid-template-columns:48px minmax(0,1fr) auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
