:root{color:#354033;font-synthesis:none;--green:#536b38;--apple:#a8c96a;--pale:#eaf2d9;--paper:#fafbf4;--line:#dce0d2;--muted:#707b67;background:#edf0e7;font-family:Noto Sans CJK SC,Microsoft YaHei,system-ui,sans-serif;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a,label{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;touch-action:manipulation;background:0 0;border:0;border-radius:8px;min-height:44px;padding:10px 14px}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,label:focus-within{outline-offset:3px;outline:2px solid #536b38}button:hover:not(:disabled){filter:brightness(.96)}button svg{flex-shrink:0}a{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3,.brand,.date-display{font-family:Noto Serif CJK SC,Songti SC,SimSun,serif;font-weight:400}h2{font-size:18px}small{color:var(--muted);font-size:12px}.app-shell{max-width:560px;min-height:100dvh;padding:0 22px calc(100px + env(safe-area-inset-bottom));background:linear-gradient(110deg,#f4f6ed,#f8f9f2 60%,#f0f3e8);margin:0 auto;position:relative;box-shadow:0 0 50px #3e4c3310}.app-header{padding:24px 0 14px;padding-top:max(24px, env(safe-area-inset-top));align-items:center;gap:10px;display:flex}.brand{letter-spacing:2px;align-items:center;gap:7px;font-size:24px;text-decoration:none;display:flex}.brand svg{color:var(--green)}.header-note{color:#788469;letter-spacing:3px;margin-left:auto;font-size:11px}.icon-button{justify-content:center;align-items:center;width:44px;height:44px;padding:8px;display:inline-flex}.eyebrow{letter-spacing:3px;color:#7b876f;text-align:center;margin:10px 0 28px;font-size:11px}.paper{background-color:var(--paper);transform-origin:0;touch-action:pan-y;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%2365744c' opacity='.035' filter='url(%23n)' d='M0 0h120v120H0z'/%3E%3C/svg%3E");border-radius:5px;padding:26px 20px 22px;position:relative;box-shadow:0 5px 15px #4d5d3310,0 1px 2px #4d5d3320}.paper:after{content:"";z-index:-1;background:#f6f8ee;border-bottom:1px solid #d8dece;border-radius:0 0 3px 3px;height:4px;position:absolute;bottom:-5px;left:4px;right:4px}.paper-holes{justify-content:space-between;display:flex;position:absolute;top:-6px;left:28px;right:28px}.paper-holes i{background:#e8ecdf;border-radius:0 0 7px 7px;width:12px;height:17px;display:block;box-shadow:inset 0 -1px 2px #6a775b15}.date-display{text-align:center;color:#35452e}.date-display>p:first-child{letter-spacing:2px;font-size:17px}.date-display h1{letter-spacing:-5px;color:#465a35;margin:8px 0;font-family:Georgia,Times New Roman,serif;font-size:112px;font-weight:400;line-height:1.05}.date-display>p:last-child{margin-bottom:26px;font-size:14px}.today-tag{color:#62754e;background:#edf2e2;border-radius:20px;margin-left:9px;padding:3px 8px;font-family:system-ui,sans-serif;font-size:11px;display:inline-block}.summary{border-top:1px dashed #cfd6c3;border-bottom:1px dashed #cfd6c3;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:18px 0;display:grid}.summary>div{text-align:center;min-width:0;padding:0 3px}.summary small{color:#758068;margin-bottom:8px;display:block}.summary strong{color:#3d5131;overflow-wrap:anywhere;font-family:Georgia,Times New Roman,serif;font-size:19px;font-weight:400;line-height:1.4;display:block}.add-actions{grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 5px;display:grid}.primary,.secondary,.danger{border:1px solid #0000;justify-content:center;align-items:center;gap:7px;min-height:46px;display:inline-flex}.primary{color:#2e411e;background:#a8c96a}.secondary{color:#536b38;background:#fafbf4;border-color:#8fa970}.danger{color:#89564a;background:#f8eae5;border-color:#ecd1c6}.full{width:100%;margin-top:16px}.entries{margin:0}.entry-row{text-align:left;border-bottom:1px solid #e6e9de;border-radius:0;align-items:center;gap:11px;width:100%;padding:17px 0;animation:.2s ease-out entry-in;display:flex}.category-icon{color:#536b38;background:#ecf1df;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:39px;height:39px;display:inline-flex}.entry-copy{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.entry-copy small{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:4px;font-size:12px;display:flex;overflow:hidden}.entry-amount{overflow-wrap:anywhere;flex-shrink:0;max-width:55%;font-family:Georgia,serif;font-size:18px}.empty-state{text-align:center;color:#829070;padding:38px 10px}.empty-state svg{margin-bottom:10px}.empty-state p{margin-bottom:5px;font-size:13px;line-height:1.8}.empty-state small{letter-spacing:1px;font-size:10px}.section-heading{justify-content:space-between;align-items:center;display:flex}.section-heading h2{font-size:15px}.save-status{color:#748267;text-align:right;max-width:60%;min-height:32px;padding:4px 0;font-size:10px}.day-note textarea{resize:vertical;color:#46523c;outline-offset:4px;background:repeating-linear-gradient(#0000 0 31px,#dce2d3 31px 32px);border:0;border-radius:0;width:100%;min-height:100px;padding:2px 0 0;font-family:Noto Serif CJK SC,SimSun,serif;font-size:15px;line-height:32px}.mood-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;display:flex}.mood-row>span{color:#7a846f;margin-right:auto;font-size:11px}.mood-row>div{flex-wrap:wrap;gap:4px;display:flex}.mood-row button{border:1px solid #e4e8da;border-radius:20px;min-height:36px;padding:8px 9px;font-size:11px}.page-controls{justify-content:space-between;align-items:center;gap:6px;margin:21px 0 6px;display:flex}.page-controls button{color:#6e7b61;align-items:center;gap:3px;padding:8px 10px;font-size:12px;display:flex}.page-controls .today-control{background:#e8efd9;padding-left:22px;padding-right:22px}.page-hint{text-align:center;letter-spacing:2px;color:#7c876f;margin:15px 0;font-size:11px;line-height:1.8}.bottom-nav{z-index:20;width:min(560px,100%);padding:7px 12px calc(10px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fafbf4f5;border-top:1px solid #e2e6d9;grid-template-columns:repeat(3,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav button{color:#77806e;flex-direction:column;align-items:center;gap:4px;padding:0 6px;font-size:11px;display:flex}.bottom-nav button>span{border-radius:12px;justify-content:center;align-items:center;width:58px;height:34px;display:flex}.bottom-nav .active>span{background:#e6edda}.page-title .eyebrow{text-align:left;margin:0 0 12px;display:block}.page-title h1{letter-spacing:3px;font-size:29px}.month-switch{justify-content:space-between;align-items:center;gap:8px;margin:8px 0 22px;display:flex}.month-switch h2{letter-spacing:1px;font-size:19px}.stats-summary{background:var(--paper);border:1px solid #e5e9db;border-radius:5px;padding:22px 7px}.chart-card{background:var(--paper);border:1px solid #e7ebdf;border-radius:5px;margin-top:22px;padding:24px 20px}.chart-card h2{font-size:17px}.pie{aspect-ratio:1;border-radius:50%;width:min(230px,80%);margin:30px auto;box-shadow:0 2px 5px #52633a10}.legend-row{border-top:1px solid #e6eadf;grid-template-columns:9px minmax(40px,1fr) auto 60px;align-items:center;gap:9px;padding:15px 0;font-size:13px;display:grid}.legend-row i{border-radius:50%;width:8px;height:8px}.legend-row strong{overflow-wrap:anywhere;font-family:Georgia,serif;font-size:16px;font-weight:400}.legend-row small{text-align:right;font-size:11px}.profile-card{text-align:left;align-items:center;gap:15px;width:100%;padding:15px 0 25px;display:flex}.avatar{color:#59723a;background:#e1e9d0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:65px;height:65px;display:flex;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.profile-card>span:nth-child(2){overflow-wrap:anywhere;flex:1;min-width:0}.profile-card strong{margin-bottom:6px;font-family:SimSun,serif;font-size:22px;font-weight:400;display:block}.profile-card small{font-size:11px}.settings-card{background:var(--paper);border:1px solid #e5e9dd;border-radius:5px;margin:12px 0 20px;padding:0 15px}.setting-row{text-align:left;cursor:pointer;border-bottom:1px solid #e6e9df;border-radius:0;align-items:center;gap:13px;width:100%;min-height:62px;padding:19px 0;font-size:14px;display:flex}.setting-row:last-child{border-bottom:0}.setting-row span{flex:1}.setting-row small{font-size:10px}.file-setting{position:relative}.file-setting input,.file-label input{opacity:0;cursor:pointer;width:100%;height:100%;padding:0;position:absolute;inset:0}.privacy-note{text-align:center;color:#7a876c;justify-content:center;align-items:center;gap:8px;margin:27px 0;font-size:11px;line-height:2;display:flex}.overlay{z-index:40;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#28321d66;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{overscroll-behavior:contain;scrollbar-width:thin;background:#fafbf4;border-radius:12px;width:100%;max-width:460px;max-height:calc(100dvh - 40px);padding:18px 24px 26px;overflow:auto;box-shadow:0 18px 80px #1b281e25}.modal.wide{max-width:800px}.modal>header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.modal h2{letter-spacing:1px;font-size:20px}.modal>p{margin:14px 0;font-size:14px;line-height:1.9}.modal h3{font-size:19px;line-height:1.8}.modal form label{color:#61714f;margin:18px 0 8px;font-size:13px;display:block}.modal input:not([type=file]){color:#354033;background:#fffef9;border:1px solid #d9e0ce;border-radius:6px;width:100%;min-height:46px;margin-top:8px;padding:13px 12px;display:block}.segmented{background:#edf1e4;border-radius:9px;gap:4px;padding:4px;display:flex}.segmented button{flex:1;font-size:14px}.segmented .selected{color:#3f5627;background:#dce8c3;box-shadow:0 1px 2px #54643d10}.modal .amount-label{margin-top:24px}.amount-label>div{align-items:center;gap:10px;display:flex}.amount-label span{padding-top:10px;font-family:Georgia,serif;font-size:30px}.modal .amount-label input{background:0 0;border:0;border-bottom:1px solid #d6dfc8;border-radius:0;min-width:0;padding:6px 0;font-family:Georgia,serif;font-size:38px}.date-binding{color:#79866a;margin:10px 0 22px;font-size:11px}.entry-form fieldset{border:0;margin:0;padding:0}.entry-form legend{color:#61714f;margin-bottom:12px;font-size:13px}.category-grid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.category-choice{border:1px solid #e5e9dd;flex-direction:column;align-items:center;gap:6px;min-height:70px;padding:11px 3px;font-size:10px;display:flex}.category-choice.selected{background:#e7efda;border-color:#a4bc80}.photo-field{margin-top:20px}.photo-field>span{color:#61714f;font-size:13px}.photo-field small{font-size:10px;line-height:1.8;display:block}.modal .file-label{cursor:pointer;color:#62784a;border:1px dashed #a9b98e;border-radius:5px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:14px;display:flex;position:relative}.attachment{align-items:center;gap:15px;margin-top:12px;display:flex}.attachment img{object-fit:cover;border-radius:5px;width:75px;height:75px}.attachment button{color:#89564a;font-size:12px}.error{color:#8e4f3d;overflow-wrap:anywhere;background:#f8eee8;border-radius:5px;margin:14px 0;padding:12px;font-size:12px;line-height:1.8}.confirm-inline{border:1px solid #dbe2cf;border-radius:6px;margin-top:14px;padding:14px}.confirm-inline p{font-size:13px;line-height:1.8}.confirm-inline button{background:#e9efdf;margin-top:7px;margin-right:5px;font-size:12px}.calendar-grid{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px 0;display:grid}.calendar-grid button{border-radius:50%;min-width:0;min-height:46px;padding:8px 0;font-family:Georgia,serif;font-size:17px;position:relative}.calendar-grid .weekday{color:#7f8b71;margin:5px 0 14px;font-size:11px}.calendar-grid .is-selected{outline-offset:-3px;outline:1px solid #7a9652}.calendar-grid i{background:#78994d;border-radius:50%;width:4px;height:4px;position:absolute;bottom:3px;left:calc(50% - 2px)}.calendar-grid button:disabled{color:#87907c;opacity:.45}.entry-detail{text-align:center}.entry-detail h2{margin:16px 0 12px;font-size:18px}.entry-detail>strong{overflow-wrap:anywhere;font-family:Georgia,serif;font-size:37px;font-weight:400}.entry-detail p{color:#707f61;overflow-wrap:anywhere;margin:18px 0;font-size:12px;line-height:1.8}.preserve{white-space:pre-wrap}.two-actions{grid-template-columns:1fr 1fr;gap:14px;margin-top:24px;display:grid}.photo-preview{max-width:100%;padding:0}.photo-preview img{object-fit:contain;border-radius:5px;max-width:100%;max-height:220px}.full-photo{object-fit:contain;width:100%;max-height:75dvh}.category-manage{margin:20px 0}.category-manage>div{border-bottom:1px solid #e2e7d8;align-items:center;gap:5px;min-height:48px;font-size:13px;display:flex}.category-manage span{overflow-wrap:anywhere;flex:1}.category-manage small{font-size:10px}.category-manage button{padding:7px 10px;font-size:12px}.profile-preview{object-fit:cover;border-radius:50%;width:75px;height:75px;margin:20px auto;display:block}.dialog-symbol{color:#77994e;width:38px;height:38px;margin:10px auto 25px;display:block}.muted{color:#7a856e;font-size:12px!important}.restore-summary{overflow-wrap:anywhere;font-size:13px;line-height:2.2}.toast{top:max(15px, env(safe-area-inset-top));z-index:100;color:#fafbf4;background:#35442d;border-radius:9px;align-items:center;gap:8px;width:calc(100% - 32px);max-width:490px;padding:12px 14px;font-size:13px;line-height:1.7;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 5px 25px #26331e30}.toast>span{flex:1}.toast button{color:#fafbf4;min-height:32px;padding:5px}.working{z-index:80;background:#e6edd8;border:1px solid #bbcba3;border-radius:20px;padding:9px 15px;font-size:12px;position:fixed;bottom:100px;left:50%;transform:translate(-50%)}.loading,.fatal{text-align:center;color:#536b38;background:#fafbf4;flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:100dvh;padding:30px;display:flex}.fatal h1{font-size:25px}.fatal p{font-size:14px;line-height:1.8}.fatal button{background:#e4edcf}.draft-banner{background:#e9efdf;border-radius:6px;flex-wrap:wrap;align-items:center;gap:5px;margin-bottom:18px;padding:10px;font-size:11px;display:flex}.draft-banner>span{flex:1}.draft-banner button{min-height:36px;padding:5px 7px;font-size:11px}.flip-next{animation:.38s ease-out flip-next}.flip-back{animation:.38s ease-out flip-back}.bounce{animation:.2s ease-out bounce}@keyframes flip-next{0%{opacity:.5;transform:perspective(1200px)rotateY(-12deg);box-shadow:18px 0 22px #35442d22}to{opacity:1;transform:perspective(1200px)rotateY(0)}}@keyframes flip-back{0%{opacity:.5;transform:perspective(1200px)rotateY(12deg)}to{opacity:1;transform:perspective(1200px)rotateY(0)}}@keyframes bounce{50%{transform:translate(-12px)}}@keyframes entry-in{0%{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}@media (min-width:700px){body{background:radial-gradient(at 25% 20%,#e6ecd8,#0000 65%),#edf0e7;padding:28px 0}.app-shell{border:1px solid #dfe5d4;border-radius:16px;min-height:calc(100dvh - 56px)}.bottom-nav{border-radius:12px 12px 0 0;bottom:0}.paper{padding-left:28px;padding-right:28px}}@media (max-width:360px){.app-shell,.paper{padding-left:14px;padding-right:14px}.summary strong,.entry-amount{font-size:16px}.modal{padding-left:16px;padding-right:16px}.mood-row button{padding:7px}.legend-row{grid-template-columns:7px minmax(35px,1fr) auto 52px;gap:6px}.legend-row strong{font-size:14px}}@media (max-height:650px){.overlay{padding:8px}.modal{max-height:calc(100dvh - 16px)}.date-display h1{font-size:85px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.achievement-back{color:#63774e;align-items:center;gap:3px;margin-top:6px;padding-left:0;font-size:12px;display:flex}.achievement-heading{text-align:center;margin:18px 0 24px}.achievement-heading .eyebrow{letter-spacing:2px;margin-bottom:19px;display:block}.achievement-heading>svg{color:#76974d;margin-bottom:10px}.achievement-heading p{color:#758268;margin-top:12px;font-size:11px;line-height:1.8}.achievement-summary{border-top:1px dashed #cfd8c1;border-bottom:1px dashed #cfd8c1;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:24px;padding:20px 4px;display:grid}.achievement-summary>div{text-align:center;min-width:0}.achievement-summary strong{color:#4c6533;font-family:Georgia,serif;font-size:27px;font-weight:400;display:block}.achievement-summary strong small{color:#728060;font:11px system-ui,sans-serif}.achievement-summary span{color:#728060;margin-top:8px;font-size:10px;display:block}.achievement-list{gap:13px;display:grid}.achievement-card{background:#fafbf4;border:1px solid #dce5cb;border-radius:6px;align-items:center;gap:15px;padding:21px 16px;display:flex;box-shadow:0 2px 5px #41542705}.achievement-card.not-unlocked{box-shadow:none;background:#f6f8ef;border-style:dashed}.achievement-seal{color:#526f35;background:#e3edce;border:1px solid #bbce98;border-radius:23px 23px 29px 29px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:3px;width:65px;height:74px;display:inline-flex;position:relative;box-shadow:inset 0 0 0 4px #f2f6e7}.achievement-seal b{font-family:Georgia,serif;font-size:15px;font-weight:400;line-height:1}.achievement-seal.locked{color:#86927a;background:#ebeee3;border-color:#d4dcca;box-shadow:inset 0 0 0 4px #f4f6ee}.seal-sparkle,.seal-lock{box-sizing:content-box;background:#fafbf4;border-radius:50%;padding:3px;position:absolute;bottom:5px;right:-3px}.achievement-copy{flex:1;min-width:0}.achievement-copy>div{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:7px;display:flex}.achievement-copy h2{letter-spacing:1px;color:#4d6238;font-size:18px}.achievement-state{white-space:nowrap;color:#526f35;background:#e6eed8;border-radius:20px;padding:3px 7px;font-size:10px}.not-unlocked .achievement-state{color:#77856b;background:#e9eddf}.achievement-copy p{color:#707d64;margin:7px 0 9px;font-size:11px;line-height:1.8}.achievement-copy progress{appearance:none;background:#e6eadf;border:0;border-radius:5px;width:100%;height:5px;display:block;overflow:hidden}.achievement-copy progress::-webkit-progress-bar{background:#e6eadf;border-radius:5px}.achievement-copy progress::-webkit-progress-value{background:#9ebc6c;border-radius:5px}.achievement-copy progress::-moz-progress-bar{background:#9ebc6c;border-radius:5px}.achievement-copy>small{color:#717e63;margin-top:7px;font-size:10px;line-height:1.8;display:block}.achievement-rules h2{letter-spacing:1px;margin-bottom:12px;font-size:14px}.achievement-rules p{color:#748168;margin:9px 0;font-size:11px;line-height:1.95}.achievement-unlock{bottom:calc(90px + env(safe-area-inset-bottom));z-index:30;background:#fafcf2;border:1px solid #bfceaa;border-radius:12px;align-items:center;gap:13px;width:calc(100% - 32px);max-width:430px;padding:15px;animation:.4s ease-out achievement-arrive;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 7px 30px #34472920}.achievement-unlock .achievement-seal{border-radius:18px 18px 23px 23px;width:51px;height:60px}.achievement-unlock>div{flex:1;min-width:0}.achievement-unlock small{letter-spacing:1px;color:#74865e;font-size:10px;display:block}.achievement-unlock strong{letter-spacing:2px;color:#4e6635;margin-top:5px;font-family:SimSun,serif;font-size:19px;font-weight:400;display:block}.achievement-unlock div>button{color:#536b38;text-underline-offset:3px;min-height:28px;padding:0;font-size:11px;text-decoration:underline}.achievement-unlock>.icon-button{align-self:flex-start;width:32px;height:32px;min-height:32px}@keyframes achievement-arrive{0%{opacity:0;transform:translate(-50%,8px)scale(.98)}to{opacity:1;transform:translate(-50%)scale(1)}}@media (max-width:360px){.achievement-card{gap:12px;padding:17px 12px}.achievement-seal{width:54px;height:65px}.achievement-copy h2{font-size:16px}}:root{--green:#3e6655;--apple:#97d7bc;--pale:#e1f5ed;--paper:#f9fdfb;--line:#dbeae4;--muted:#51856f;--mint:#5b9487;color:#2d493d;background:#eff6f3;font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif}button{border-radius:14px}h1,h2,h3{color:#314f43}button:focus-visible,a:focus-visible,label:focus-within{outline-color:#609c8e}.app-shell{max-width:600px;padding:0 20px calc(108px + env(safe-area-inset-bottom));background:linear-gradient(150deg,#eef9f4c9 0%,#fafdfce8 44%,#f1f8f6c9 100%);box-shadow:0 18px 70px #54897310}.app-header{padding-bottom:12px;padding-top:max(22px, env(safe-area-inset-top))}.brand{letter-spacing:2px;font-size:25px;font-weight:500}.brand svg{box-sizing:content-box;background:#dcf1e8;border-radius:11px;padding:5px}.header-note{letter-spacing:2px;color:#5b9587;background:linear-gradient(130deg,#f3fcfacc,#fff6);border:1px solid #ffffffd9;border-radius:20px;padding:6px 10px;font-size:10px}.app-header>.icon-button{color:#406857;background:linear-gradient(135deg,#ffffffce,#e5f4eea1);border:1px solid #ffffffef;border-radius:14px;box-shadow:0 3px 12px #51856f0b}.home-intro{justify-content:space-between;align-items:center;gap:12px;margin:7px 0 16px;display:flex}.home-intro>span{letter-spacing:2px;color:#609d84;font-size:9px}.home-intro p{color:#5d978a;font-size:11px}.paper{box-shadow:none;background:0 0;border:0;border-radius:26px;padding:0}.paper:after,.paper-holes{display:none}.date-hero{background:radial-gradient(at 85% 5%,#caf0e759,#0000 57%),radial-gradient(at 0 100%,#bbe8d575,#0000 70%),linear-gradient(120deg,#fffffff0,#fafdfcc9);border:1px solid #fff;border-radius:26px;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);align-items:center;min-height:180px;margin-bottom:15px;padding:22px 22px 18px;display:grid;position:relative;box-shadow:0 8px 26px #619e850b,inset 0 1px #fff}.date-display{text-align:left;z-index:1;position:relative}.date-display>p:first-child{letter-spacing:1px;color:#5b947c;font-family:inherit;font-size:13px}.date-display h1{letter-spacing:-4px;color:#3b6755;margin:8px 0 9px;font-size:80px;font-weight:400;line-height:.98}.date-display>p:last-child{flex-wrap:wrap;align-items:center;gap:4px 6px;margin-bottom:0;font-family:inherit;font-size:11px;display:flex}.today-tag{color:#518378;background:linear-gradient(145deg,#f3fbf9,#d9f3ed);border:1px solid #fff;margin:0;font-size:9px}.date-companions{isolation:isolate;min-width:0;padding-bottom:18px;position:relative}.companion-art{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.date-companions>.companion-art{z-index:1;filter:drop-shadow(0 6px 5px #ae7c6d0e);width:115%;max-width:none;margin-left:-8%;position:relative}.companion-caption{text-align:center;letter-spacing:2px;color:#69a395;font-size:9px;position:absolute;bottom:-2px;left:-8%;right:-8%}.jelly-orbit{z-index:0;border-radius:50%;position:absolute;box-shadow:inset 0 3px 3px #fff9,0 4px 12px #75b2a419}.orbit-apple{background:radial-gradient(circle at 32% 24%,#ffffffe6,#b9ebd6 45%,#8ad0b3c4 78%);width:28px;height:28px;top:-5%;right:2%}.orbit-mint{background:radial-gradient(circle at 32% 24%,#fff,#d6f3ec 50%,#a9ddd1bd);width:16px;height:16px;bottom:12%;left:4%}.summary{border:0;gap:9px;padding:0}.summary>div{background:linear-gradient(140deg,#fafdfce0,#eef5f2c9);border:1px solid #fff;border-radius:18px;padding:16px 6px 15px;position:relative;box-shadow:inset 0 1px #fff,0 4px 14px #558b7406}.summary>div+div{border-left:1px solid #fff}.summary small{color:#51856f;margin-bottom:9px;font-family:inherit;font-size:10px}.summary strong{color:#375b4c;font-variant-numeric:tabular-nums;letter-spacing:-.5px;font-family:ui-rounded,SF Pro Rounded,system-ui,sans-serif;font-size:18px;font-weight:600;line-height:1.5}.add-actions{gap:12px;margin:15px 0 18px}.primary,.secondary{isolation:isolate;border-radius:17px;min-height:49px;font-weight:500;transition:transform .16s,box-shadow .16s;position:relative;box-shadow:inset 0 1px #ffffffa6,0 5px 12px #5e9a810d}.primary{color:#2c4b3e;background:linear-gradient(155deg,#b5e9d3,#95d7bb 62%,#80caab);border:1px solid #dbf5ea}.secondary{color:#508276;background:linear-gradient(145deg,#f1fbf9,#ddf5ef 70%,#d1ece6);border:1px solid #fff;box-shadow:inset 0 1px #fff,0 4px 12px #6fa79a0a}.primary:before,.secondary:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#ffffff65,#fff0);border-radius:13px 13px 45% 45%;height:43%;position:absolute;top:2px;left:5px;right:5px}.primary:active:not(:disabled),.secondary:active:not(:disabled),.category-choice:active,.page-controls button:active:not(:disabled){transform:scale(.98)}.danger{background:#f9ebe8;border-radius:15px}.day-entries,.day-journal{background:#fffffff0;border:1px solid #fff;border-radius:23px;padding:19px 17px;box-shadow:0 6px 20px #51836e06}.day-journal{background:linear-gradient(150deg,#fffffff2,#f8fdfce8);margin-top:15px}.ledger-heading h2,.section-heading h2{color:#36594a;letter-spacing:.5px;font-family:inherit;font-size:14px;font-weight:600}.ledger-heading>span{color:#6da699;background:#ecf6f4;border-radius:12px;padding:5px 8px;font-size:10px}.empty-state{color:#70a790;padding:27px 8px 24px}.empty-state svg{box-sizing:content-box;background:linear-gradient(145deg,#ebf7f2,#e1f2eb);border-radius:14px;width:48px;height:48px;margin-bottom:10px;padding:9px}.empty-state p{color:#50826d;font-size:12px}.empty-state small{letter-spacing:.5px;color:#63a087;font-size:10px}.entry-row{border-color:#e8f0ed;gap:11px;padding:15px 0}.entry-row:last-child{border-bottom:0;padding-bottom:2px}.entry-copy strong{font-size:13px;font-weight:600}.entry-copy small{color:#5e9980;font-size:11px}.category-icon{color:#477662;background:linear-gradient(145deg,#e9f7f1,#d2ece1);border-radius:14px;box-shadow:inset 0 1px #fff}.entry-amount{font-variant-numeric:tabular-nums;letter-spacing:-.3px;color:#375a4b;font-family:system-ui,sans-serif;font-size:15px;font-weight:550}.day-note{margin-top:0}.save-status{color:#5f9c8e;font-size:9px}.day-note textarea{color:#467167;background:repeating-linear-gradient(#0000 0 31px,#e4eeec 31px 32px);min-height:102px;font-family:inherit;font-size:13px;line-height:32px}.day-note textarea::placeholder{color:#6fae9f;font-size:12px}.mood-row{gap:7px;margin-top:14px}.mood-row>span{color:#64a092;font-size:10px}.mood-row button{color:#578d81;background:#fff9;border:1px solid #e6f2ef;min-height:38px;font-size:10px}.mood-row button:nth-child(2n){background:#f2fbf9}.mood-row .selected{color:#4a7a6f;background:linear-gradient(145deg,#e7f8f4,#caeee5);border-color:#b7ddd4;transform:rotate(-3deg);box-shadow:inset 0 2px 2px #ffffffab}.page-controls{margin:17px 0 0}.page-controls button{border-radius:15px;font-size:11px}.page-controls .today-control{color:#3b6553;background:linear-gradient(140deg,#dcf3e9,#c7e9db);border:1px solid #fff}.page-hint{letter-spacing:1.5px;color:#629f86;font-size:10px}.bottom-nav{background:#fafefce8;border-color:#fff;width:min(600px,100%);padding-top:9px;box-shadow:0 -7px 28px #93c2b70c}.bottom-nav button{color:#69a395;gap:4px;font-size:10px}.bottom-nav button>span{border-radius:13px;width:61px;height:34px}.bottom-nav .active{color:#3f6857}.bottom-nav .active>span{background:linear-gradient(140deg,#dcf4ea,#c0e8d7);border:1px solid #fff;box-shadow:inset 0 2px 1px #ffffffc4}.bottom-nav button:nth-child(2).active{color:#5c9588}.bottom-nav button:nth-child(2).active>span{background:linear-gradient(145deg,#e8f8f4,#d5f0ea)}.page-title{padding:18px 0 24px}.page-title h1{letter-spacing:2px;font-size:27px;font-weight:500}.page-title .eyebrow{color:#6eae9f;letter-spacing:2px;font-family:inherit;font-size:10px}.month-switch{background:#ffffffa1;border:1px solid #fff;border-radius:18px;margin:0 0 17px;padding:6px}.month-switch h2{letter-spacing:0;font-family:inherit;font-size:16px}.month-switch button{color:#5a9386;min-width:44px}.stats-summary{background:0 0;border:0;padding:0}.chart-card{background:#ffffffdc;border:1px solid #fff;border-radius:24px;padding:23px 20px;box-shadow:0 6px 20px #6da69908}.chart-card h2{font-family:inherit;font-size:15px;font-weight:600}.pie{place-items:center;width:220px;max-width:90%;margin:27px auto;display:grid;box-shadow:0 5px 22px #80b8ab12,inset 0 1px 4px #ffffffa1}.donut-center{aspect-ratio:1;text-align:center;background:linear-gradient(130deg,#fffefb,#f9fdfcf5);border:6px solid #fffffff2;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:9px;width:72%;padding:8px;display:flex;box-shadow:0 0 12px #ffffffa1}.donut-center small{color:#6fa79a;font-size:11px}.donut-center strong{letter-spacing:-.6px;color:#3b6051;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;max-width:100%;font-family:system-ui,sans-serif;font-size:20px;font-weight:600}.donut-center span{letter-spacing:1px;color:#70ae94;font-size:9px}.legend-row{border-color:#eeedf0;padding:15px 0;font-size:12px}.legend-row strong{font-family:system-ui,sans-serif;font-size:14px;font-weight:500}.legend-row small{color:#6da699;font-size:11px}.profile-hero{background:radial-gradient(at 100% 10%,#daf4eea6,#0000 70%),linear-gradient(145deg,#ffffffed,#e1f3ebab);border:1px solid #fff;border-radius:24px;min-height:135px;position:relative;overflow:hidden}.profile-hero>.companion-art{opacity:.95;width:142px;position:absolute;bottom:0;right:2px}.profile-card{z-index:1;grid-template-columns:54px minmax(0,1fr) 14px;align-items:start;gap:11px;padding:22px 151px 22px 16px;display:grid;position:relative}.avatar{background:linear-gradient(140deg,#ddf5eb,#b5e1cf);border:2px solid #fff;width:54px;height:54px;box-shadow:0 3px 8px #5286700a}.profile-card>span:nth-child(2){width:auto;min-width:0;padding-top:6px}.profile-card>svg{width:14px;margin-top:7px;margin-left:0}.profile-card strong{font-family:inherit;font-size:18px;font-weight:600;line-height:1.5}.profile-card small{color:#589079;font-size:10px;line-height:1.7;display:block}.achievement-entry-card{text-align:left;background:radial-gradient(at 10% 10%,#ffffffab,#0000 60%),linear-gradient(125deg,#daf4eebf,#ebf5f3b5);border:1px solid #fff;border-radius:21px;align-items:center;gap:12px;width:100%;margin:17px 0;padding:17px 16px;display:flex;box-shadow:inset 0 1px #fff,0 5px 16px #70a79a09}.achievement-entry-icon{color:#67a294;background:linear-gradient(145deg,#fffbffab,#c7ebe3bd);border:1px solid #fff;border-radius:15px;justify-content:center;align-items:center;width:45px;height:48px;display:flex}.achievement-entry-card>span:nth-child(2){flex:1;min-width:0}.achievement-entry-card strong{color:#4d7d72;font-size:15px;font-weight:600;display:block}.achievement-entry-card small{color:#66a294;margin-top:5px;font-size:10px;line-height:1.7;display:block}.achievement-entry-count{color:#6aa396;white-space:nowrap;font-family:Georgia,serif;font-size:27px}.achievement-entry-count small{font-size:12px;display:inline}.achievement-entry-card>svg{color:#7ab4a7}.settings-card{background:#ffffffdf;border:1px solid #fff;border-radius:23px;margin-bottom:17px;padding:2px 18px;box-shadow:0 5px 15px #5b957d05}.setting-row{border-color:#e8f0ed;gap:14px;min-height:62px;padding:17px 0;font-size:13px}.setting-row>svg:first-child{color:#589079}.setting-row:nth-child(2n)>svg:first-child{color:#8cbeb2}.privacy-note{color:#6ba597;margin:25px 0;font-size:10px}.privacy-note svg{color:#8abdb1}.overlay{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#416b6146}.modal>header{margin-bottom:18px}.modal h2{letter-spacing:.5px;font-family:inherit;font-size:19px;font-weight:550}.modal>header>.icon-button{color:#5f9c8e}.segmented{background:#edf4f2;border-radius:16px;padding:5px}.segmented button{border-radius:12px}.segmented .selected{color:#3d6353;background:linear-gradient(145deg,#daf4e9,#bbe4d3);border:1px solid #fff;box-shadow:0 3px 10px #59917a0b}.segmented button:nth-child(2).selected{color:#568c7f;background:linear-gradient(145deg,#effaf8,#cdeee6)}.modal .amount-label{color:#599083;margin-top:23px}.modal .amount-label input:not([type=file]){letter-spacing:-1px;color:#395e4f;background:0 0;border-bottom-color:#ddece9;border-radius:0;font-family:system-ui,sans-serif;font-size:36px;font-weight:500}.amount-label span{color:#5b957d}.date-binding{color:#70afa0;font-size:10px}.category-grid{gap:8px}.category-choice{color:#5a947c;background:#fffafa82;border:1px solid #ddece6;border-radius:15px;font-size:10px}.category-choice span{overflow-wrap:anywhere;max-width:100%}.category-choice.selected{color:#416d5a;background:linear-gradient(145deg,#e4f7ef,#cfebdf);border-color:#9fcdba;box-shadow:inset 0 2px #fff}.modal input:not([type=file]){background:#fffdfdcc;border-color:#e2ecea;border-radius:13px;font-size:14px}.attachment img{border-radius:15px}.calendar-grid{gap:7px 0}.calendar-grid button{color:#3e6454;border-radius:14px}.calendar-grid .is-today{color:#305344;background:linear-gradient(145deg,#c5eedd,#97d3ba);box-shadow:inset 0 2px 1px #fff9}.achievement-heading{background:radial-gradient(at 90% 20%,#dbf4ee9c,#0000 65%),linear-gradient(140deg,#fafdfcd9,#e3f4edbd);border:1px solid #fff;border-radius:26px;margin:5px 0 24px;padding:25px 12px 22px;position:relative}.achievement-heading .eyebrow{color:#6aa396;letter-spacing:1px;margin-bottom:10px;font-size:9px}.achievement-heading>.companion-art{width:130px;margin:0 auto 6px}.achievement-heading h1{letter-spacing:2px;font-size:25px}.achievement-heading p{color:#6ca598;margin-top:10px;font-size:10px}.achievement-summary{border:0;gap:8px;padding:0}.achievement-summary>div{background:linear-gradient(150deg,#fff,#e0f2ea);border:1px solid #fff;border-radius:18px;padding:16px 3px}.achievement-summary>div+div{border-left:1px solid #fff}.achievement-summary strong{font-size:25px}.achievement-summary span{font-size:10px}.achievement-card{background:linear-gradient(125deg,#fafefc,#eefaf5);border:1px solid #fff;border-radius:21px;padding:22px 17px;box-shadow:0 5px 15px #7bb5a708}.achievement-card:nth-child(2n){background:linear-gradient(125deg,#fffefb,#f3fcfa)}.achievement-seal{background:radial-gradient(circle at 30% 15%,#fff8,#0000 55%),linear-gradient(150deg,#d2f2e5,#a9ddc8);border-color:#96ceb7;box-shadow:inset 0 0 0 4px #f3fbf8b0,0 4px 9px #76b29910}.achievement-card:nth-child(2n) .achievement-seal.earned{color:#65a193;background:radial-gradient(circle at 30% 15%,#fff9,#0000 55%),linear-gradient(150deg,#e6f8f4,#c4eae1);border-color:#b4dbd2;box-shadow:inset 0 0 0 4px #f8fdfcb0}.achievement-copy h2{font-family:inherit;font-size:16px;font-weight:550}.achievement-copy progress::-webkit-progress-value{background:linear-gradient(90deg,#a4e1c8,#7cc0a4)}.achievement-copy progress::-moz-progress-bar{background:linear-gradient(90deg,#a4e1c8,#7cc0a4)}.achievement-rules{padding:23px 9px}.achievement-rules p{color:#5d988a}.achievement-rules h2{color:#53877b;font-family:inherit;font-size:13px;font-weight:500}.achievement-unlock{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#ecfaf4f2,#f4fcfaf2);border-color:#fff;border-radius:24px;box-shadow:0 12px 40px #6dad9e26}.unlock-companions{width:70px;position:absolute;top:-35px;right:40px}.toast{background:#3a5e56ed;border:1px solid #fff5;border-radius:18px;box-shadow:0 7px 25px #5c95881c}.draft-banner{color:#548a7d;background:linear-gradient(135deg,#e2f6ee,#ecf8f5);border:1px solid #fff;border-radius:17px}.working{color:#528579;background:#ecf8f5;border-color:#d3e7e3}@media (min-width:900px){body{padding:28px 24px}.app-shell{border:1px solid #fff;border-radius:32px;max-width:1040px;min-height:calc(100dvh - 56px);padding-left:34px;padding-right:34px}.app-header{padding-top:26px;padding-bottom:18px}.home-intro{margin-bottom:19px}.paper{grid-template-columns:minmax(0,1.13fr) minmax(0,1fr);grid-template-areas:"hero hero""summary summary""actions actions""entries journal";align-items:start;gap:0 20px;display:grid}.date-hero{grid-area:hero;grid-template-columns:minmax(0,1fr) 240px;min-height:210px;padding:22px 40px}.date-display h1{margin:5px 0;font-size:104px}.date-display>p:first-child{font-size:16px}.date-display>p:last-child{font-size:13px}.date-companions{width:225px}.date-companions>.companion-art{width:100%;margin-left:0}.summary{grid-area:summary;gap:18px}.summary>div{padding:20px 10px}.summary strong{font-size:25px}.summary small{font-size:12px}.add-actions{grid-area:actions;max-width:100%;margin:18px 0 22px}.day-entries{grid-area:entries;min-height:255px}.day-journal{grid-area:journal;min-height:255px;margin-top:0}.day-note textarea{min-height:160px}.day-entries .empty-state{padding-top:45px}.page-controls{z-index:2;width:285px;max-width:calc(100% - 80px);margin:0;position:absolute;top:249px;left:50%;transform:translate(-50%)}main>.page-hint{margin:0;position:absolute;top:303px;left:50%;transform:translate(-50%)}.bottom-nav{border:1px solid #fff;border-radius:25px;width:440px;padding:8px 14px 10px;bottom:18px;box-shadow:0 10px 35px #68a39519}.stats-page,.mine-page,.achievement-page{max-width:850px;margin:0 auto}.stats-page>.month-switch{max-width:380px;margin:0 auto 20px}.donut-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:35px;display:grid}.chart-card{padding:30px}.chart-legend{min-width:0}.pie{width:260px;margin:30px auto 10px}.profile-hero{min-height:160px}.profile-hero>.companion-art{width:210px;right:20px}.profile-card{grid-template-columns:70px minmax(0,1fr) 18px;gap:20px;padding:35px 270px 35px 26px}.profile-card>span:nth-child(2){width:auto;min-width:0;max-width:none}.profile-card strong{font-size:25px}.avatar{width:70px;height:70px}.achievement-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.achievement-summary{gap:20px}.achievement-heading>.companion-art{width:150px}.achievement-rules{max-width:680px;margin:auto}}@media (min-width:700px) and (max-width:899px){.app-shell{border:1px solid #fff;border-radius:28px}}@media (max-width:360px){.app-shell{padding-left:14px;padding-right:14px}.brand{font-size:23px}.header-note{padding:5px 8px;font-size:9px}.home-intro>span{letter-spacing:1px;font-size:8px}.home-intro p{font-size:10px}.date-hero{min-height:167px;padding:19px 16px}.date-display h1{font-size:72px}.date-display>p:first-child{font-size:11px}.date-display>p:last-child{font-size:10px}.companion-caption{letter-spacing:1px;font-size:8px}.summary{gap:6px}.summary>div{border-radius:16px;padding:14px 4px}.summary strong{letter-spacing:-.4px;font-size:15px}.day-entries,.day-journal{padding:17px 13px}.profile-card{grid-template-columns:45px minmax(0,1fr) 14px;gap:9px;padding-right:124px}.profile-hero>.companion-art{width:115px;right:-3px}.profile-card strong{font-size:16px}.profile-card small{font-size:9px}.avatar{width:45px;height:45px}.achievement-entry-card{gap:8px;padding:15px 12px}.achievement-entry-card strong{font-size:14px}.achievement-entry-card small{font-size:9px}.achievement-entry-icon{width:37px;height:43px}.achievement-entry-count{font-size:24px}.achievement-card{gap:11px;padding:20px 13px}.achievement-copy h2{font-size:15px}.category-grid{gap:6px}.category-choice{font-size:9px}.modal{padding-left:17px;padding-right:17px}}:root{--green:#3d714e;--apple:#65d964;--pale:#edf6e8;--mint:#538777;--muted:#73766a;color:#344339;background:#f2f2ec}.app-shell{background:linear-gradient(160deg,#fcfaf6,#f7f8f3 58%,#f6f7f3);border-color:#fff;box-shadow:0 15px 65px #3e4c3310}.brand,.brand svg{color:#3f684c}.header-note,.home-intro p,.home-intro>span{color:#8a8679}.brand svg{background:linear-gradient(145deg,#f4f9eb,#d8eace);border:1px solid #fff;box-shadow:inset 0 2px 2px #fff}.header-note,.app-header>.icon-button{color:#5b7354;background:linear-gradient(145deg,#fffdf9,#f2f5ec);border-color:#fff;box-shadow:0 3px 10px #7278650b}.date-hero{background:radial-gradient(at 100% 0,#bbebad63,#0000 60%),radial-gradient(at 0 100%,#e0edd281,#0000 60%),linear-gradient(140deg,#ffffffd6,#edf7e7a6);border:1px solid #fff;overflow:hidden;box-shadow:inset 0 2px 2px #fff,inset 0 -2px 3px #a9c29c26,0 8px 22px #7383650b}.date-hero:after{content:"";border-radius:inherit;pointer-events:none;border:1px solid #ffffff9c;position:absolute;inset:4px}.date-hero:before{content:"";pointer-events:none;background:#ffffff2b;border-top:1px solid #ffffffd1;border-radius:50%;width:135%;height:30px;position:absolute;bottom:-17px;left:-15%;transform:rotate(-5deg)}.date-display h1{color:#3f6c45;text-shadow:0 1px #fff}.date-display>p:first-child,.date-display>p:last-child{color:#657b5f}.companion-caption{color:#8c8679}.today-tag{color:#88754f;background:linear-gradient(145deg,#fff9e9,#efdfbd);border-color:#fff}.orbit-apple{background:radial-gradient(circle at 28% 20%,#fff,#d4f7a6 30%,#9ad46a 75%,#72bd72);box-shadow:inset 0 2px 3px #fff,0 4px 10px #8dad6c20}.orbit-mint{background:radial-gradient(circle at 28% 20%,#fff,#fbe9cd 35%,#e6c49f);box-shadow:inset 0 2px 3px #fff}.day-entries,.day-journal,.chart-card,.settings-card{-webkit-backdrop-filter:none;backdrop-filter:none;background:#ffffffed;border:1px solid #fff;box-shadow:0 5px 18px #606e5106}.day-entries:after,.day-journal:after,.chart-card:after,.profile-hero:after{content:none}.summary>div,.summary>div:first-child,.summary>div:nth-child(2),.summary>div:nth-child(3){border:1px solid #fff;box-shadow:inset 0 2px 2px #fff,0 3px 12px #7e826707}.summary strong{color:#426347}.primary{color:#244d2c;background:radial-gradient(at 20% 0,#d9ff979e,#0000 70%),linear-gradient(155deg,#9bea74,#6bd25f 55%,#45b76b);border:1px solid #d8f6c3;font-weight:550;box-shadow:inset 0 2px 3px #efffe6e6,inset 0 -2px 3px #379b4b30,0 5px 12px #74ac5826}.primary:before{background:linear-gradient(#ffffff75,#fff0);height:43%}.secondary{color:#8b6c50;background:linear-gradient(145deg,#fffdf7,#f6e8d7 70%,#efddc5);border-color:#fff;box-shadow:inset 0 2px 3px #fff,0 4px 12px #a88a630d}.category-icon{color:#668a4e;background:linear-gradient(145deg,#f0f8e8,#dbeccf);border:1px solid #fff}.save-status,.mood-row>span,.page-hint{color:#98907e}.mood-row button,.mood-row button:nth-child(2n){color:#8a806c;box-shadow:none;background:#fffcf6;border-color:#ece6d9}.mood-row .selected{color:#8b6941;background:linear-gradient(145deg,#fff0d3,#efd4aa);border-color:#e3c493;box-shadow:inset 0 1px 2px #fff}.page-controls .today-control{color:#65814f;background:linear-gradient(145deg,#f1f9e8,#dcebcf);border-color:#fff}.bottom-nav{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fdfcf9ed;border-color:#fff;box-shadow:0 -3px 20px #6c735a07}.month-switch{color:#6c7e5d;background:#ffffffc9;border-color:#fff}.donut-center{background:linear-gradient(145deg,#fffefb,#f7f8f2);border-color:#fff}.profile-hero{background:radial-gradient(at 100% 0,#f4e3c85c,#0000 65%),linear-gradient(145deg,#ffffffd9,#edf5e3a6);border:1px solid #fff;box-shadow:inset 0 1px 2px #fff,0 5px 15px #7f866508}.avatar{color:#738b4d;background:linear-gradient(145deg,#edf8da,#d7e8b8);border-color:#fff}.achievement-entry-card{background:linear-gradient(135deg,#fffbef,#f0e3cc);border:1px solid #fff;box-shadow:inset 0 2px 2px #fff,0 5px 15px #a8916109}.achievement-entry-card strong,.achievement-entry-card small,.achievement-entry-count,.achievement-entry-card>svg{color:#9a7b4c}.settings-card .setting-row:nth-child(2n)>svg:first-child{color:#b29a7a}.achievement-heading{background:radial-gradient(at 100% 0,#f6e9d378,#0000 65%),linear-gradient(145deg,#fffdf6,#edf4e1c9);border:1px solid #fff;box-shadow:inset 0 1px 2px #fff}.achievement-card,.achievement-card:nth-child(2n){background:#fffefbed;border-color:#fff;box-shadow:0 4px 14px #8c8a7107}.achievement-card.not-unlocked{box-shadow:none;background:#f9f9f3;border-color:#dedfd2}.achievement-summary>div,.achievement-summary>div:first-child{background:linear-gradient(145deg,#fffdf5,#edf4df);border-color:#fff}.achievement-summary>div:first-child{background:linear-gradient(145deg,#fff9e9,#f0dfc3)}.achievement-summary>div:first-child strong{color:#a08453}.achievement-card:nth-child(2n) .achievement-seal.earned{color:#aa8b51;background:linear-gradient(145deg,#fff9dc,#e7d4a5);border-color:#e2cb95}.achievement-card:nth-child(2n) progress::-webkit-progress-value{background:linear-gradient(90deg,#eedfb8,#d5bb85)}.achievement-card:nth-child(2n) progress::-moz-progress-bar{background:linear-gradient(90deg,#eedfb8,#d5bb85)}.achievement-unlock{background:linear-gradient(145deg,#fffef5ed,#edf6deed);border-color:#fff;box-shadow:0 10px 30px #74895c26}.modal{background:linear-gradient(145deg,#fffef9,#f8f9f2);border-color:#fff;box-shadow:0 20px 70px #40513b33}.modal .file-label{color:#978367;background:#faf7f0;border-color:#d7cdb9}.modal .amount-label input:not([type=file]){color:#4f6d45;background:0 0}:root{--green:#365519;--apple:#b6e42b;--pale:#f1f8df;--mint:#749828;--muted:#7b806b;color:#2e3c22;font-synthesis:none;background:#f5f7ef;font-family:Microsoft YaHei UI,PingFang SC,Microsoft YaHei,system-ui,sans-serif}button,input,textarea,select{font-family:inherit}h1,h2,h3,.brand,.date-display h1,.page-heading,.ledger-heading h2,.achievement-copy h2,.modal h2,.settings-card h2,.day-note label{letter-spacing:-.5px;font-family:Microsoft YaHei UI,PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-weight:700}.brand{color:#30451e;letter-spacing:-1px;font-size:23px}.brand svg{color:#638a17;background:linear-gradient(145deg,#f9ffdf,#d0ec7a)}.date-hero{isolation:isolate;background:radial-gradient(at 12% 0,#ffffffec,#0000 49%),radial-gradient(at 96% 100%,#85ba13a8,#0000 65%),linear-gradient(130deg,#eaffb4 2%,#cfef65 45%,#b6de37 100%);border:1px solid #fff;border-radius:32px;min-height:222px;padding:22px 20px;box-shadow:inset 0 3px 4px #ffffffeb,inset 0 -4px 7px #91af2740,0 13px 25px #86a92220}.date-hero:after{border-color:#ffffff8a;inset:5px;box-shadow:inset 0 1px 1px #fff8}.date-hero:before{background:#ffffff27;border-top:2px solid #ffffffa8;width:130%;height:95px;bottom:-32px;left:-10%;transform:rotate(-9deg)}.date-display h1{letter-spacing:-6px;color:#304b0d;text-shadow:0 2px 1px #f6ffd38c;font-family:Arial Rounded MT Bold,Trebuchet MS,sans-serif;font-size:88px;font-weight:800;line-height:1}.date-display>p:first-child,.date-display>p:last-child{color:#536b26;font-weight:600}.today-tag{color:#4b661e;background:#ffffff8a;border-color:#fff;box-shadow:inset 0 1px 1px #fff}.date-companions>.companion-art{filter:drop-shadow(0 10px 6px #5f790f28);object-fit:contain;width:118%;max-height:206px;margin-left:-10%}.companion-caption{letter-spacing:0;color:#526526;font-size:9px;font-weight:600;bottom:0}.orbit-apple{background:radial-gradient(circle at 28% 22%,#fff 2%,#f5ffc6a8 16%,#b5e44880 62%,#ffffffbf 95%);border:1px solid #ffffffc2;width:33px;height:33px;box-shadow:inset -2px -3px 4px #658b2738,0 4px 6px #769a2026}.orbit-mint{background:radial-gradient(circle at 28% 22%,#fff,#ffeed3 30%,#ffc982aa 80%);border:1px solid #fff}.apple-dew{pointer-events:none;z-index:0;position:absolute;inset:-10px -10px -5px -120%}.apple-dew i{background:radial-gradient(at 28% 18%,#fff 0 7%,#ffffff65 14%,#ffffff0a 45%,#76a81f38 75%,#ffffffb3 97%);border:1px solid #ffffff70;border-radius:55% 45% 56% 44%;width:13px;height:18px;display:block;position:absolute;transform:rotate(24deg);box-shadow:inset 1px 2px 2px #ffffffe0,inset -1px -2px 2px #67941360,1px 3px 3px #68941335}.apple-dew i:first-child{width:9px;height:12px;top:7%;left:8%}.apple-dew i:nth-child(2){top:16%;left:43%}.apple-dew i:nth-child(3){width:19px;height:23px;top:70%;left:48%}.apple-dew i:nth-child(4){width:8px;height:10px;top:88%;left:9%}.apple-dew i:nth-child(5){width:12px;height:15px;top:45%;right:1%}.apple-dew i:nth-child(6){width:8px;height:10px;top:0;left:62%}.apple-dew i:nth-child(7){width:8px;height:11px;bottom:0;right:0}.summary>div{border-radius:22px}.summary strong{color:#416018;font-family:Trebuchet MS,Microsoft YaHei UI,sans-serif;font-weight:700}.summary>div:first-child strong{color:#a26733}.day-entries,.day-journal,.chart-card,.settings-card{border-radius:25px;box-shadow:0 7px 22px #50602708}.category-icon{color:#698c25;background:linear-gradient(145deg,#f7ffdf,#d8eda3)}.bottom-nav .active>span,.bottom-nav button:nth-child(2).active>span{background:linear-gradient(145deg,#f5ffce,#d9ed95);box-shadow:inset 0 2px 2px #fff,0 3px 9px #8aab3021}.profile-hero,.achievement-heading{background:radial-gradient(at 0 0,#fff,#0000 65%),linear-gradient(125deg,#f4ffd8,#d7ee89);box-shadow:inset 0 2px 2px #fff,0 8px 20px #92ac2e16}.achievement-entry-card{background:linear-gradient(140deg,#fff9e9,#ffdeb1)}@media (min-width:900px){.date-hero{min-height:228px;padding:22px 40px}.date-display h1{font-size:110px}.date-companions>.companion-art{width:100%;height:200px;max-height:200px;margin-left:0}.date-companions{width:225px}.companion-caption{font-size:11px}.apple-dew{left:-190%}}@media (max-width:360px){.date-hero{min-height:202px;padding:20px 16px}.date-display h1{font-size:76px}.date-companions>.companion-art{max-height:178px}.companion-caption{font-size:8px}}.profile-hero>.companion-art{object-position:bottom;max-height:145px}@media (min-width:900px){.profile-hero{min-height:190px}.profile-hero>.companion-art{max-height:190px}}.page-title h1{letter-spacing:-1px;color:#30431f;font-family:Microsoft YaHei UI,PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-weight:700}.achievement-entry-count,.achievement-summary strong,.stats-summary strong,.donut-center strong{font-family:Trebuchet MS,Microsoft YaHei UI,sans-serif;font-weight:700}:root{--green:#31411e;--apple:#b6df32;--pale:#eef5d9;--mint:#6f8e26;--paper:#fbfcf7;--line:#e6e9de;--muted:#777e6c;color:#232a20;background:#eff2e9}body{background:radial-gradient(at 0 0,#e7f3c8,#0000 50%),#eff2e9}.app-shell{background:linear-gradient(160deg,#fcfdf9,#f6f8ef 60%,#fafbf7)}h1,h2,h3,.brand,.page-title h1,.achievement-heading h1{color:#252d20;letter-spacing:-.7px;font-weight:800}.brand{letter-spacing:-1px;color:#242c1d;gap:7px;font-size:24px;font-weight:800}.brand-mascot{object-fit:cover;pointer-events:none;border:1px solid #fff;border-radius:13px;width:39px;height:39px;box-shadow:0 4px 10px #607f2020}.app-header{padding-top:max(18px, env(safe-area-inset-top))}.header-note{color:#6b773f;letter-spacing:1px;background:#eff5d9;font-size:10px;font-weight:600}.app-header>.icon-button{color:#333e25;background:#fff;border:1px solid #e8eddd}.home-intro{align-items:center;margin:9px 0 17px}.home-intro>span{letter-spacing:1.2px;color:#849343;font-size:8px;font-weight:800}.home-intro p{color:#303b21;font-size:12px;font-weight:700}.date-hero{background:radial-gradient(at 12% 5%,#ffffffe8,#0000 45%),radial-gradient(at 100% 100%,#80ae16a0,#0000 60%),linear-gradient(140deg,#ecffc2,#c3e54e 60%,#b2d533);border-radius:30px;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);min-height:259px;padding:22px 20px;box-shadow:inset 0 3px 4px #fff,inset 0 -3px 5px #688d1326,0 12px 26px #7c9d2824}.date-display{align-self:center}.date-display>p:first-child{letter-spacing:1px;color:#4f6126;font-size:11px;font-weight:700}.date-display h1{color:#263b12;margin:10px 0;font-size:87px;font-weight:800}.date-display>p:last-child{color:#485c22}.today-tag{background:#f8ffdea8;font-size:9px}.date-companions{padding-bottom:20px}.date-companions>.companion-art{object-fit:contain;filter:drop-shadow(0 12px 8px #4e681b35);width:139%;height:225px;max-height:225px;margin-left:-20%}.companion-caption{letter-spacing:1px;color:#485c21;white-space:nowrap;font-size:7px;font-weight:800;left:-18%;right:-8%}.orbit-apple{width:24px;height:24px;top:1%;right:-5%}.orbit-mint{display:none}.apple-dew{z-index:0}.summary{gap:9px}.summary>div,.summary>div:first-child,.summary>div:nth-child(2),.summary>div:nth-child(3){border:1px solid #fff;border-radius:21px;padding:16px 7px;box-shadow:inset 0 2px 2px #fff,0 4px 15px #62743608}.summary>div:first-child{background:linear-gradient(145deg,#fff,#f0f4e5)}.summary>div:nth-child(2){background:linear-gradient(145deg,#f8ffe5,#e1f0ab)}.summary>div:nth-child(3){background:linear-gradient(145deg,#fff,#f0f2ea)}.summary strong,.summary>div:first-child strong{color:#33451d;font-family:Trebuchet MS,Microsoft YaHei UI,sans-serif;font-weight:700}.summary small{color:#798267;font-size:10px}.add-actions{gap:12px;margin-top:16px}.primary{color:#283514;background:radial-gradient(at 30% 0,#f8ffb9d9,#0000 65%),linear-gradient(150deg,#d0ee5c,#afda2c 65%,#90bd1a);border:1px solid #efffc4;border-radius:19px;font-weight:750;box-shadow:inset 0 3px 3px #ffffffc9,inset 0 -3px 4px #71991238,0 6px 15px #86a22a24}.secondary{color:#fff;background:radial-gradient(at 20% 0,#60684f,#0000 75%),linear-gradient(145deg,#3a4430,#252e20);border:1px solid #636c53;border-radius:19px;font-weight:700;box-shadow:inset 0 2px 2px #ffffff25,0 6px 15px #27321c20}.day-entries,.day-journal,.chart-card,.settings-card{background:#ffffffeb;border:1px solid #fff;border-radius:25px;box-shadow:0 8px 24px #485a1b08}.day-journal{background:linear-gradient(135deg,#fffffc,#f2f6e8)}.ledger-heading h2,.day-note label{color:#323e24;font-size:15px;font-weight:750}.entry-row{border-color:#ecefe5}.entry-copy strong{color:#313b26}.entry-copy small{color:#889077}.entry-amount{color:#354c1d}.entry-amount.income{color:#7c922b}.category-icon,.category-icon.income{color:#6f8c29;background:linear-gradient(145deg,#f6ffdf,#dfecb0);border:1px solid #fff;border-radius:13px}.category-icon.income{color:#64704c;background:linear-gradient(145deg,#f5f5ed,#e4e8d9)}.mood-row button,.mood-row button:nth-child(2n){color:#7f886c;background:#fff;border-color:#e6ebd9}.mood-row .selected{color:#546d20;background:linear-gradient(145deg,#f2ffd1,#d5e991);border-color:#bfd663}.page-hint,.save-status{color:#8b9477}.page-controls .icon-button{color:#546239}.page-title{min-height:104px;padding:22px 0 25px;position:relative}.page-title h1{letter-spacing:-1px;margin-top:5px;font-size:29px;font-weight:800;line-height:1.3}.page-title .eyebrow{color:#7f9148;letter-spacing:1px;font-size:10px}.stats-page .page-title{padding-right:103px}.title-companion{object-fit:contain;object-position:top;width:100px;height:108px;position:absolute;bottom:1px;right:0}.month-switch{background:#fffc;border:1px solid #e8eeda;border-radius:18px;box-shadow:0 3px 10px #6a7b2805}.month-switch h2{color:#3b4828;font-weight:750}.month-switch button{color:#798c43}.chart-card{position:relative;overflow:hidden}.chart-card h2{font-size:17px;font-weight:750}.chart-card h2:after{content:"";background:#b7dc37;border-radius:50%;width:7px;height:7px;margin-left:9px;display:inline-block;box-shadow:10px 0 #e5efa8}.pie{box-shadow:0 9px 20px #7e962024,inset 0 2px 3px #fff8}.donut-center{background:linear-gradient(145deg,#fff,#f5f8eb);box-shadow:inset 0 2px 4px #fff,0 0 0 1px #ffffff9e}.donut-center strong{color:#35451e;font-weight:800}.donut-center small,.donut-center span,.legend-row small{color:#929b7b}.legend-row strong{color:#495a2e}.legend-row i{border-radius:5px}.profile-hero{background:radial-gradient(at 5% 0,#fff,#0000 60%),linear-gradient(135deg,#f1ffcd,#c8e461);border-radius:27px;min-height:172px;box-shadow:inset 0 2px 2px #fff,0 8px 22px #839b2020}.profile-hero>.companion-art{opacity:1;object-position:top;width:142px;height:169px;max-height:169px;bottom:0;right:2px}.profile-card strong{color:#2c371e;font-weight:750}.profile-card small{color:#7a8854}.avatar{color:#728d30;background:linear-gradient(145deg,#faffec,#deecb1)}.achievement-entry-card{background:linear-gradient(130deg,#3d4930,#242e1d);border:1px solid #576341;border-radius:23px;box-shadow:inset 0 2px 1px #ffffff14,0 8px 20px #36432720}.achievement-entry-card strong{color:#edfac8}.achievement-entry-card small{color:#adbb90}.achievement-entry-icon{color:#455d18;background:linear-gradient(145deg,#d8ee81,#b1d142);border-color:#d6ec99}.achievement-entry-count,.achievement-entry-card>svg{color:#d8ee9e}.settings-card{padding:8px 19px}.setting-row{color:#49573a;border-color:#ebeee4;min-height:64px}.settings-card .setting-row>svg:first-child,.settings-card .setting-row:nth-child(2n)>svg:first-child{color:#809945;box-sizing:content-box;background:#f2f7e6;border-radius:12px;width:19px;height:19px;padding:8px}.setting-row>svg:last-child{color:#9aa88a}.achievement-heading{text-align:left;background:radial-gradient(at 0 0,#fff,#0000 55%),linear-gradient(140deg,#efffc7,#c4df69);border-radius:28px;min-height:181px;padding:25px 138px 26px 22px;position:relative;overflow:hidden}.achievement-heading>.companion-art{object-fit:contain;width:155px;height:177px;margin:0;position:absolute;bottom:0;right:-8px}.achievement-heading h1{letter-spacing:-1px;font-size:27px;position:relative}.achievement-heading .eyebrow{color:#82944a;max-width:140px;font-size:9px;line-height:1.8;display:block}.achievement-heading p{color:#697e37;max-width:150px;margin-top:9px;font-size:10px;line-height:1.8}.achievement-summary>div,.achievement-summary>div:first-child{background:linear-gradient(145deg,#fff,#edf4d8);border:1px solid #fff;border-radius:21px}.achievement-card,.achievement-card:nth-child(2n){background:#fffffc;border-color:#fff;border-radius:23px;box-shadow:0 6px 18px #69862509}.achievement-card.not-unlocked{box-shadow:none;background:#f1f3eb;border:1px solid #e5e9db}.achievement-copy h2{color:#45572c}.achievement-state{color:#7c913e;background:#edf6d8}.achievement-card .achievement-seal.earned,.achievement-card:nth-child(2n) .achievement-seal.earned{color:#607d24;background:linear-gradient(145deg,#f7ffd7,#cce778);border-color:#c7dd8b}.achievement-seal.locked{color:#9da98a;background:#e8ecdf}.achievement-seal b{font-family:Trebuchet MS,sans-serif;font-weight:800}.achievement-card progress::-webkit-progress-value{background:linear-gradient(90deg,#d8ed8c,#a6cf2e)}.achievement-card:nth-child(2n) progress::-webkit-progress-value{background:linear-gradient(90deg,#d8ed8c,#a6cf2e)}.achievement-card progress::-moz-progress-bar{background:linear-gradient(90deg,#d8ed8c,#a6cf2e)}.achievement-card:nth-child(2n) progress::-moz-progress-bar{background:linear-gradient(90deg,#d8ed8c,#a6cf2e)}.achievement-unlock{background:linear-gradient(145deg,#fffff4ee,#e7f5bcee);border:1px solid #fff}.achievement-unlock strong{color:#3e5025;font-family:inherit;font-weight:750}.bottom-nav{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff0;border-top:1px solid #eaf0de;box-shadow:0 -5px 24px #60772a08}.bottom-nav button{color:#919a80;font-weight:600}.bottom-nav button>span{border-radius:16px}.bottom-nav .active>span,.bottom-nav button:nth-child(2).active>span{background:linear-gradient(145deg,#f2ffd1,#d4e893);border:1px solid #fff;box-shadow:inset 0 2px 2px #fff,0 4px 10px #86a12c17}.nav-mascot{object-fit:cover;pointer-events:none;border-radius:9px;width:28px;height:28px;display:block}.modal{background:linear-gradient(145deg,#fffffc,#f4f8e9);border:1px solid #fff;border-radius:28px;box-shadow:0 22px 80px #23350c38}.modal>header{border-bottom:1px solid #e7edd9;padding-bottom:15px}.modal h2{letter-spacing:-.5px;font-size:21px;font-weight:750}.modal h3{color:#45572b}.modal input:not([type=file]),.modal textarea,.modal select{color:#3b4b28;background:#ffffffa8;border-color:#dfe8cb;border-radius:13px}.modal .amount-label input:not([type=file]){color:#3c531e;background:0 0;border-radius:0;font-family:Trebuchet MS,Microsoft YaHei UI,sans-serif;font-size:38px;font-weight:750}.modal .amount-label>span{color:#7c963f;font-family:inherit}.modal .file-label{color:#7d934c;background:#eff6df;border-color:#b8cc8a;border-radius:15px}.category-choice.selected{color:#4a6820;background:linear-gradient(145deg,#f2ffce,#ddecaa);border-color:#b7d27c}.calendar-grid button{color:#617145;border-radius:14px;font-family:Trebuchet MS,sans-serif;font-weight:650}.calendar-grid .is-today{color:#3d551a;background:linear-gradient(145deg,#dcf58d,#aed52e)}.calendar-grid .is-selected{outline-color:#8da738}.calendar-grid i{background:#9eba4e}.entry-detail>strong{color:#3c521f;font-family:Trebuchet MS,sans-serif;font-weight:750}.confirm-inline{background:#f0f6e2;border-color:#dce6c7;border-radius:16px}button{transition:transform .17s,box-shadow .17s,background-color .17s}button:active:not(:disabled){transform:scale(.965)}.stats-page,.mine-page,.achievement-page{animation:.3s ease-out fresh-enter}.achievement-unlock{animation:.38s cubic-bezier(.2,.8,.25,1.2) fresh-enter}@keyframes fresh-enter{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media (min-width:900px){.date-hero{grid-template-columns:minmax(0,1fr) 260px;min-height:255px;padding:22px 40px}.date-display h1{font-size:110px}.date-companions{width:245px}.date-companions>.companion-art{width:117%;height:230px;max-height:230px;margin-left:-8%}.companion-caption{font-size:9px}.summary>div{padding:20px 10px}.profile-hero{min-height:210px}.profile-hero>.companion-art{width:245px;height:210px;max-height:210px}.profile-card{padding-top:42px;padding-bottom:42px}.achievement-heading{min-height:235px;padding:40px 270px 40px 35px}.achievement-heading>.companion-art{width:260px;height:235px}.achievement-heading h1{font-size:34px}.achievement-heading p,.achievement-heading .eyebrow{max-width:none;font-size:12px}.title-companion{width:120px;height:123px}.stats-page .page-title{min-height:125px}}@media (max-width:360px){.home-intro>span{letter-spacing:.5px;font-size:7px}.home-intro p{font-size:10px}.date-hero{min-height:228px;padding:18px 16px}.date-display h1{font-size:76px}.date-companions>.companion-art{height:199px;max-height:199px}.companion-caption{letter-spacing:.5px;font-size:6px}.profile-hero>.companion-art{width:116px;height:150px}.profile-hero{min-height:152px}.achievement-heading{padding-left:17px;padding-right:118px}.achievement-heading>.companion-art{width:136px}.achievement-heading h1{font-size:24px}.summary strong{font-size:15px}.page-title h1{font-size:27px}}@media (prefers-reduced-motion:reduce){button{transition:none}.stats-page,.mine-page,.achievement-page,.achievement-unlock{animation:none}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--surface:var(--lightningcss-light,#ffffffed)var(--lightningcss-dark,#252c21);--ink:var(--lightningcss-light,#303b24)var(--lightningcss-dark,#e7eddc);--subtle:var(--lightningcss-light,#85916e)var(--lightningcss-dark,#a4af93);--edge:var(--lightningcss-light,#e8eddf)var(--lightningcss-dark,#3d4731)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-appearance=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-appearance=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{color:var(--ink);background:var(--lightningcss-light,#eff2e9)var(--lightningcss-dark,#151b12)}.app-shell{color:var(--ink);background:var(--lightningcss-light,#f9fbf4)var(--lightningcss-dark,#1b2217)}.brand,h1,h2,h3,.page-title h1,.ledger-heading h2,.day-note label{color:var(--ink)}.header-note{color:var(--lightningcss-light,#6b773f)var(--lightningcss-dark,#c7d7a4);background:var(--lightningcss-light,#eff5d9)var(--lightningcss-dark,#303e21)}.app-header>.icon-button{background:var(--surface);border-color:var(--edge);color:var(--ink)}.home-intro p{color:var(--ink)}.home-intro>span,.page-title .eyebrow,.page-hint,.privacy-note{color:var(--subtle)}.day-entries,.day-journal,.chart-card,.settings-card{background:var(--surface);border-color:var(--edge)}.entry-row,.setting-row,.modal>header{border-color:var(--edge)}.entry-copy strong,.entry-amount,.entry-amount.income,.setting-row,.chart-card h2,.legend-row strong{color:var(--ink)}.entry-copy small,.save-status,.mood-row>span,.legend-row small{color:var(--subtle)}.ledger-heading>span{color:var(--lightningcss-light,#83905d)var(--lightningcss-dark,#bbc99a);background:var(--lightningcss-light,#f0f4e6)var(--lightningcss-dark,#394329)}.summary>div:first-child,.summary>div:nth-child(3){border-color:var(--edge);background:var(--lightningcss-light,#f4f7ed)var(--lightningcss-dark,#2a3422)}.summary>div:nth-child(2){border-color:var(--edge);background:var(--lightningcss-light,#e9f6c0)var(--lightningcss-dark,#3c4d28)}.summary strong,.summary>div:first-child strong{color:var(--lightningcss-light,#33451d)var(--lightningcss-dark,#e3edc5)}.summary small{color:var(--subtle)}.day-note textarea{color:var(--ink);background:repeating-linear-gradient(transparent 0, transparent 31px, var(--edge) 31px, var(--edge) 32px)}.mood-row button,.mood-row button:nth-child(2n){background:var(--surface);border-color:var(--edge);color:var(--subtle)}.mood-row button.selected{color:var(--lightningcss-light,#546d20)var(--lightningcss-dark,#deedb7);background:var(--lightningcss-light,#dfedba)var(--lightningcss-dark,#48582e)}.month-switch{background:var(--surface);border-color:var(--edge)}.month-switch h2,.month-switch button{color:var(--ink)}.donut-center{border-color:var(--edge);background:var(--lightningcss-light,#f9fcf3)var(--lightningcss-dark,#26311e);box-shadow:inset 0 1px 2px #ffffff10}.donut-center strong,.page-controls .icon-button{color:var(--ink)}.page-controls .today-control{color:var(--lightningcss-light,#6b812b)var(--lightningcss-dark,#d5e6a9);background:var(--lightningcss-light,#edf5d9)var(--lightningcss-dark,#3b4927)}.settings-card .setting-row>svg:first-child,.settings-card .setting-row:nth-child(2n)>svg:first-child{color:var(--lightningcss-light,#809945)var(--lightningcss-dark,#b1cd72);background:var(--lightningcss-light,#f2f7e6)var(--lightningcss-dark,#344025)}.bottom-nav{border-color:var(--edge);background:var(--lightningcss-light,#fffffff0)var(--lightningcss-dark,#20271cf2)}.bottom-nav button{color:var(--subtle)}.bottom-nav .active,.bottom-nav button:nth-child(2).active{color:var(--lightningcss-light,#536b23)var(--lightningcss-dark,#d1e8a2)}.bottom-nav .active>span,.bottom-nav button:nth-child(2).active>span{background:var(--lightningcss-light,#dfeeab)var(--lightningcss-dark,#465d29);border-color:var(--lightningcss-light,#fff)var(--lightningcss-dark,#647c40);box-shadow:inset 0 1px 2px #ffffff25}.achievement-card,.achievement-card:nth-child(2n){background:var(--surface);border-color:var(--edge)}.achievement-card.not-unlocked{border-color:var(--edge);background:var(--lightningcss-light,#f1f3eb)var(--lightningcss-dark,#252d20)}.achievement-copy h2,.achievement-rules h2{color:var(--ink)}.achievement-copy p,.achievement-copy small,.achievement-rules{color:var(--subtle)}.achievement-summary>div,.achievement-summary>div:first-child{border-color:var(--edge);background:var(--lightningcss-light,#f1f6e5)var(--lightningcss-dark,#2e3924)}.achievement-summary strong,.achievement-summary>div:first-child strong{color:var(--lightningcss-light,#536f23)var(--lightningcss-dark,#c1db85)}.modal{border-color:var(--edge);color:var(--ink);background:var(--lightningcss-light,#f9fcf2)var(--lightningcss-dark,#252f1e)}.modal h2,.modal h3,.entry-detail>strong,.modal .amount-label input:not([type=file]){color:var(--ink)}.modal input:not([type=file]),.modal textarea,.modal select{border-color:var(--edge);color:var(--ink);background:var(--lightningcss-light,#ffffffa8)var(--lightningcss-dark,#1d2717)}.modal .amount-label input:not([type=file]){background:0 0}.modal .file-label,.confirm-inline{color:var(--lightningcss-light,#7d934c)var(--lightningcss-dark,#bdd68d);background:var(--lightningcss-light,#eff6df)var(--lightningcss-dark,#354427);border-color:var(--lightningcss-light,#b8cc8a)var(--lightningcss-dark,#5f7541)}.calendar-grid button{color:var(--ink)}.calendar-grid .is-today{color:#3d551a}.calendar-grid button:disabled{color:var(--lightningcss-light,#b5bda9)var(--lightningcss-dark,#5c684f)}.calendar-grid .weekday{color:var(--subtle)}.appearance-setting{align-items:center;gap:12px;display:flex}.appearance-setting>span{flex:1}.appearance-setting select{border:1px solid var(--edge);max-width:132px;min-height:44px;color:var(--ink);font:inherit;cursor:pointer;background:var(--lightningcss-light,#f4f8e8)var(--lightningcss-dark,#334225);border-radius:12px;padding:6px 10px;font-size:12px}@media (forced-colors:active){button{border:1px solid buttontext}.date-hero{border:1px solid canvastext}}.achievement-heading h1{color:#29381c}.achievement-heading .eyebrow{color:#6b7f39}.date-companions>.companion-art{object-fit:contain;object-position:center;width:118%;height:258px;max-height:258px;margin-left:-10%}.date-hero{min-height:285px}.companion-caption{left:-15%;right:-10%}.profile-hero>.companion-art{object-position:center bottom;height:174px;max-height:174px}.profile-hero{min-height:176px}.achievement-heading>.companion-art{object-position:center bottom;height:179px}.title-companion{object-position:center bottom}.empty-state{color:var(--lightningcss-light,#72804e)var(--lightningcss-dark,#aabb89)}.empty-state svg{color:var(--lightningcss-light,#7b942f)var(--lightningcss-dark,#bfd77a);background:var(--lightningcss-light,#eff6db)var(--lightningcss-dark,#344325);border:1px solid var(--lightningcss-light,#e3edc8)var(--lightningcss-dark,#4a5e32);border-radius:18px;box-shadow:inset 0 2px 2px #ffffff40}.empty-state p{color:var(--lightningcss-light,#55613e)var(--lightningcss-dark,#c5d2ae);font-weight:600}.empty-state small{color:var(--lightningcss-light,#8a9279)var(--lightningcss-dark,#9eac89)}.day-journal .section-heading h2{color:var(--ink);font-weight:750}.day-note textarea::placeholder{color:var(--lightningcss-light,#939b80)var(--lightningcss-dark,#a5b18f);opacity:1;font-size:13px}.save-status{color:var(--lightningcss-light,#89946e)var(--lightningcss-dark,#a8b78b)}.achievement-rules p,.privacy-note p{color:var(--subtle)}@media (min-width:900px){.date-hero{min-height:285px}.date-companions>.companion-art{width:108%;height:260px;max-height:260px;margin-left:-4%}.profile-hero{min-height:216px}.profile-hero>.companion-art{height:216px;max-height:216px}.achievement-heading>.companion-art{height:235px}}@media (max-width:360px){.date-hero{min-height:259px}.date-companions>.companion-art{height:232px;max-height:232px}.profile-hero{min-height:158px}.profile-hero>.companion-art{height:156px;max-height:156px}.companion-caption{font-size:6px}}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior-x:none;overflow-x:clip}body{overscroll-behavior-x:none;overflow-x:clip}.paper{touch-action:pan-y pinch-zoom}@media (max-width:900px){.day-note textarea,.modal input:not([type=file]),.modal textarea,.modal select,.appearance-setting select,.day-note textarea::placeholder{font-size:16px}input,textarea,select{min-width:0;max-width:100%}.modal .amount-label input:not([type=file]){font-size:38px}}.amount-add{color:var(--lightningcss-light,#607d24)var(--lightningcss-dark,#d1e5a4);background:var(--lightningcss-light,#eaf4cc)var(--lightningcss-dark,#3a4b28);border:1px solid var(--lightningcss-light,#d6e5b2)var(--lightningcss-dark,#576d3b);border-radius:14px;flex:0 0 44px;place-items:center;width:44px;height:44px;min-height:44px;padding:10px;display:grid}.amount-calculation{background:var(--lightningcss-light,#f0f6df)var(--lightningcss-dark,#303d24);border:1px solid var(--lightningcss-light,#e0eac8)var(--lightningcss-dark,#475a30);border-radius:16px;margin:12px 0 8px;padding:12px 14px}.amount-calculation output{color:var(--subtle);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:5px;font-size:13px;display:flex}.amount-calculation strong{color:var(--ink);overflow-wrap:anywhere;font-family:Trebuchet MS,Microsoft YaHei UI,sans-serif;font-size:24px;line-height:1.3}.amount-calculation small{color:var(--subtle);margin-top:6px;font-size:11px;line-height:1.7;display:block}:root[data-skin=stitch]{--green:#387aae;--apple:#82cbfa;--pale:#e4f3ff;--mint:#7dadd1;--paper:#f4faff;--ink:var(--lightningcss-light,#29475f)var(--lightningcss-dark,#e2f1ff);--subtle:var(--lightningcss-light,#7894aa)var(--lightningcss-dark,#9db7cb);--edge:var(--lightningcss-light,#dcebf6)var(--lightningcss-dark,#354e63);--surface:var(--lightningcss-light,#ffffffed)var(--lightningcss-dark,#23384c)}:root[data-skin=stitch] body{background:var(--lightningcss-light,#eaf4fc)var(--lightningcss-dark,#152435)}:root[data-skin=stitch] .app-shell{background:var(--lightningcss-light,#f3f9ff)var(--lightningcss-dark,#192a3d)}:root[data-skin=stitch] .home-intro>span,:root[data-skin=stitch] .page-title .eyebrow{color:var(--lightningcss-light,#729ec1)var(--lightningcss-dark,#8abbe1)}:root[data-skin=stitch] .date-hero{background:radial-gradient(at 10% 0,#fff,#0000 50%),radial-gradient(at 100% 100%,#eeafd5b0,#0000 65%),linear-gradient(135deg,#e2f7ff,#a0d9ff 60%,#9bc5ef);box-shadow:inset 0 3px 4px #fff,inset 0 -4px 6px #6e9dc83b,0 12px 26px #80b7de26}:root[data-skin=stitch] .date-display h1{color:#28587e;text-shadow:0 2px 1px #effbff}:root[data-skin=stitch] .date-display>p{color:#5681a1}.today-tag{transition:background .2s}:root[data-skin=stitch] .today-tag{color:#5785a4;background:#ffffffa8}:root[data-skin=stitch] .companion-caption{color:#6389a7}:root[data-skin=stitch] .orbit-apple{background:radial-gradient(circle at 28% 22%,#fff,#c1e9ff85 40%,#90bce980 80%);box-shadow:inset 0 2px 3px #fff,0 4px 8px #759ecd30}:root[data-skin=stitch] .apple-dew i{background:radial-gradient(at 28% 18%,#fff 0 7%,#ffffff65 14%,#ffffff0a 45%,#6dadd138 75%,#ffffffb3 97%);box-shadow:inset 1px 2px 2px #fff,inset -1px -2px 2px #5c99c260,1px 3px 3px #78b1d135}:root[data-skin=stitch] .primary{color:#285579;background:radial-gradient(at 30% 0,#f1fcffde,#0000 65%),linear-gradient(150deg,#a4e1ff,#7bc4f7 65%,#649edc);border-color:#e2f7ff;box-shadow:inset 0 3px 3px #ffffffc9,inset 0 -3px 4px #538bc438,0 6px 15px #8bbbd329}:root[data-skin=stitch] .secondary{color:#855574;background:radial-gradient(at 20% 0,#fff7fc,#0000 70%),linear-gradient(145deg,#fbd8eb,#efb6d6);border-color:#fff0fa;box-shadow:inset 0 2px 2px #fffa,0 6px 15px #c58faf20}:root[data-skin=stitch] .summary>div:first-child{background:var(--lightningcss-light,#fff1f8)var(--lightningcss-dark,#473044)}:root[data-skin=stitch] .summary>div:nth-child(2){background:var(--lightningcss-light,#e6f4ff)var(--lightningcss-dark,#29455e)}:root[data-skin=stitch] .summary>div:nth-child(3){background:var(--lightningcss-light,#f6faff)var(--lightningcss-dark,#2b3d50)}:root[data-skin=stitch] .summary strong{color:var(--ink)}:root[data-skin=stitch] .category-icon{color:var(--lightningcss-light,#6b9abc)var(--lightningcss-dark,#aacfee);background:var(--lightningcss-light,#e5f3ff)var(--lightningcss-dark,#314d67)}:root[data-skin=stitch] .category-icon.income{color:var(--lightningcss-light,#b58ba4)var(--lightningcss-dark,#d6b0c8);background:var(--lightningcss-light,#fbe9f3)var(--lightningcss-dark,#4e354a)}:root[data-skin=stitch] .ledger-heading>span,:root[data-skin=stitch] .header-note{color:var(--lightningcss-light,#7c9ab2)var(--lightningcss-dark,#b6d4ea);background:var(--lightningcss-light,#e4f1fb)var(--lightningcss-dark,#304a62)}:root[data-skin=stitch] .empty-state svg{color:var(--lightningcss-light,#7da8c9)var(--lightningcss-dark,#a9cfea);border-color:var(--edge);background:var(--lightningcss-light,#e8f5ff)var(--lightningcss-dark,#2b475f)}:root[data-skin=stitch] .empty-state p,:root[data-skin=stitch] .empty-state small,:root[data-skin=stitch] .day-note textarea::placeholder,:root[data-skin=stitch] .save-status{color:var(--subtle)}:root[data-skin=stitch] .mood-row button.selected{color:var(--lightningcss-light,#a47b94)var(--lightningcss-dark,#e6b8d3);background:var(--lightningcss-light,#f7dfef)var(--lightningcss-dark,#543c52);border-color:var(--lightningcss-light,#e7c5da)var(--lightningcss-dark,#75526c)}:root[data-skin=stitch] .page-controls .today-control{color:var(--lightningcss-light,#739bb8)var(--lightningcss-dark,#b4d5ef);background:var(--lightningcss-light,#e2f0fc)var(--lightningcss-dark,#304a62)}:root[data-skin=stitch] .profile-hero,:root[data-skin=stitch] .achievement-heading{background:radial-gradient(at 0 0,#fff,#0000 60%),linear-gradient(140deg,#d9f1ff,#c0e2fc 65%,#f2cde5);box-shadow:inset 0 2px 3px #fff,0 8px 20px #82aed321}:root[data-skin=stitch] .profile-card strong,:root[data-skin=stitch] .achievement-heading h1{color:#365e7e}:root[data-skin=stitch] .profile-card small,:root[data-skin=stitch] .achievement-heading p,:root[data-skin=stitch] .achievement-heading .eyebrow{color:#7398b4}:root[data-skin=stitch] .avatar{color:#7ba3c4;background:var(--lightningcss-light,#e5f3fe)var(--lightningcss-dark,#304d65)}:root[data-skin=stitch] .achievement-entry-card{background:linear-gradient(135deg,#91c6eb,#5d8cb9);border-color:#bde6ff;box-shadow:inset 0 2px 2px #fff6,0 8px 20px #6398c326}:root[data-skin=stitch] .achievement-entry-card strong,:root[data-skin=stitch] .achievement-entry-count,:root[data-skin=stitch] .achievement-entry-card>svg{color:#f4fbff}:root[data-skin=stitch] .achievement-entry-card small{color:#e3f0fc}:root[data-skin=stitch] .achievement-entry-icon{color:#78a6c8;background:#dff2ff;border-color:#fff}:root[data-skin=stitch] .achievement-summary>div,:root[data-skin=stitch] .achievement-summary>div:first-child{background:var(--lightningcss-light,#e8f4ff)var(--lightningcss-dark,#2b445e)}:root[data-skin=stitch] .achievement-summary strong,:root[data-skin=stitch] .achievement-summary>div:first-child strong{color:var(--ink)}:root[data-skin=stitch] .achievement-card.not-unlocked{background:var(--lightningcss-light,#eff5fb)var(--lightningcss-dark,#243a50)}:root[data-skin=stitch] .achievement-seal.earned,:root[data-skin=stitch] .achievement-card:nth-child(2n) .achievement-seal.earned{color:#779cbe;background:linear-gradient(145deg,#f5e5f1,#c3ddf8);border-color:#c2dcef}:root[data-skin=stitch] .achievement-seal.locked,:root[data-skin=stitch] .achievement-state{color:var(--subtle);background:var(--lightningcss-light,#e2edf7)var(--lightningcss-dark,#304960)}:root[data-skin=stitch] .achievement-card progress::-webkit-progress-value{background:linear-gradient(90deg,#b1ddff,#e4b3d4)}:root[data-skin=stitch] .achievement-card progress::-moz-progress-bar{background:linear-gradient(90deg,#b1ddff,#e4b3d4)}:root[data-skin=stitch] .bottom-nav .active,:root[data-skin=stitch] .bottom-nav button:nth-child(2).active{color:var(--lightningcss-light,#6597bd)var(--lightningcss-dark,#b6d9fa)}:root[data-skin=stitch] .bottom-nav .active>span,:root[data-skin=stitch] .bottom-nav button:nth-child(2).active>span{border-color:var(--edge);background:var(--lightningcss-light,#ddecfc)var(--lightningcss-dark,#34516f);box-shadow:inset 0 2px 2px #ffffff60,0 4px 10px #72a8cf20}:root[data-skin=stitch] .setting-row>svg:first-child{color:var(--lightningcss-light,#85adca)var(--lightningcss-dark,#b5d6ef);background:var(--lightningcss-light,#eaf4ff)var(--lightningcss-dark,#304a65)}:root[data-skin=stitch] .appearance-setting select,:root[data-skin=stitch] .amount-calculation,:root[data-skin=stitch] .amount-add,:root[data-skin=stitch] .modal .file-label{border-color:var(--edge);color:var(--ink);background:var(--lightningcss-light,#eaf4ff)var(--lightningcss-dark,#2c465e)}:root[data-skin=stitch] .modal{background:var(--lightningcss-light,#f5faff)var(--lightningcss-dark,#1e344a)}:root[data-skin=stitch] .modal input:not([type=file]),:root[data-skin=stitch] .modal textarea{border-color:var(--edge);color:var(--ink);background:var(--lightningcss-light,#fff)var(--lightningcss-dark,#1c3044)}:root[data-skin=stitch] .modal .amount-label input:not([type=file]){background:0 0}:root[data-skin=stitch] .category-choice.selected,:root[data-skin=stitch] .segmented .selected,:root[data-skin=stitch] .segmented button:nth-child(2).selected{color:var(--ink);background:var(--lightningcss-light,#e2effc)var(--lightningcss-dark,#355371);border-color:var(--lightningcss-light,#c1daef)var(--lightningcss-dark,#5f86ab)}:root[data-skin=stitch] .segmented{background:var(--lightningcss-light,#eaf2fa)var(--lightningcss-dark,#283f56)}:root[data-skin=stitch] .calendar-grid .is-today{color:#436987;background:linear-gradient(145deg,#d9eeff,#a4cef2)}:root[data-skin=stitch] .calendar-grid .is-selected{outline-color:#9cbfdb}:root[data-skin=stitch] .calendar-grid i{background:#e4adcf}:root[data-skin=stitch] .chart-card h2:after{background:#9bcaf3;box-shadow:10px 0 #efc4df}:root[data-skin=stitch] .donut-center{background:var(--lightningcss-light,#f4faff)var(--lightningcss-dark,#263d53)}:root[data-skin=stitch] .brand-mascot,:root[data-skin=stitch] .nav-mascot{object-fit:contain;background:var(--lightningcss-light,#e6f3ff)var(--lightningcss-dark,#304c65)}:root[data-skin=stitch] .profile-hero>.companion-art{object-fit:contain}.interactive-companion{width:100%;padding-bottom:20px;position:relative}.character-button{z-index:1;width:100%;min-width:0;box-shadow:none;touch-action:manipulation;background:0 0;border:0;padding:0;display:block;position:relative;overflow:visible}.character-button:hover:not(:disabled){filter:none}.character-button>span{display:block;position:relative}.character-button .companion-art{object-fit:contain;filter:drop-shadow(0 12px 9px #5d92bb30);width:135%;max-width:none;height:240px;margin-left:-17%}.character-hint{text-align:center;color:#668eac;letter-spacing:1px;pointer-events:none;font-size:9px;display:block}.character-bubble{z-index:4;pointer-events:none;color:#926f8e;background:#fff5fcee;border:1px solid #fff;border-radius:17px 17px 4px;width:max-content;max-width:200px;padding:10px 13px;font-size:12px;line-height:1.6;position:absolute;top:-7px;right:0;box-shadow:0 7px 20px #8da7c52b}.character-bubble small{color:#8a8da4;max-width:175px;font-size:10px;display:block}.character-bounce{animation:.7s cubic-bezier(.2,.7,.3,1) stitch-bounce}.character-sparkles{pointer-events:none;position:absolute;inset:10% 0 15%}.character-sparkles i{color:#fff2fc;text-shadow:0 1px 6px #d393c0;font-size:22px;font-style:normal;animation:.9s ease-out both stitch-pop;position:absolute}.character-sparkles i:first-child{--dx:-15px;--dy:-25px;top:15%;left:5%}.character-sparkles i:nth-child(2){--dx:18px;--dy:-25px;top:10%;right:5%}.character-sparkles i:nth-child(3){--dx:20px;--dy:10px;bottom:5%;right:0}.character-sparkles i:nth-child(4){--dx:-20px;--dy:10px;bottom:10%;left:0}.character-sparkles i:nth-child(5){--dx:0px;--dy:-30px;top:0;left:45%}@keyframes stitch-bounce{0%,to{transform:translateY(0)rotate(0)}25%{transform:translateY(-16px)rotate(-7deg)scale(1.05)}55%{transform:translateY(-5px)rotate(6deg)}75%{transform:translateY(-8px)rotate(-3deg)}}@keyframes stitch-pop{0%{opacity:0;transform:scale(.4)}35%{opacity:1}to{opacity:0;transform:translate(var(--dx), var(--dy)) scale(1.2)}}@media (max-width:360px){.character-button .companion-art{height:215px}.character-bubble{max-width:160px;font-size:11px;right:-5px}}@media (min-width:900px){.character-button .companion-art{width:115%;height:243px;margin-left:-7%}.character-hint{font-size:11px}}@media (prefers-reduced-motion:reduce){.character-bounce,.character-sparkles i{animation:none}.character-sparkles i{display:none}}:root[data-skin=stitch] .settings-card .setting-row>svg:first-child,:root[data-skin=stitch] .settings-card .setting-row:nth-child(2n)>svg:first-child{color:var(--lightningcss-light,#85adca)var(--lightningcss-dark,#b5d6ef);background:var(--lightningcss-light,#eaf4ff)var(--lightningcss-dark,#304a65)}:root[data-skin=stitch] .achievement-unlock{border-color:var(--edge);background:var(--lightningcss-light,#eaf5ff)var(--lightningcss-dark,#263f56)}:root[data-skin=stitch] .achievement-unlock strong{color:var(--ink)}
