:root{--ink:#171717;--muted:#8d8d8d;--paper:#fff;--green:#141414}body{background:#fff;color:#171717;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}header{max-width:900px;padding:30px 24px 24px;border-bottom:1px solid #222}.logo{font-size:27px;letter-spacing:0}.mark{display:none}.subtitle{letter-spacing:2px;font-size:10px;font-weight:500;color:#333;margin-top:9px}.header-right .datehead{display:none}.header-right{gap:9px}.header-right .outline,.settings-button{width:42px;height:42px;background:#f5f5f5;border-radius:11px;padding:0;border:0;font-size:23px;display:grid;place-items:center}.shell{max-width:900px;padding:0 24px;margin:22px auto 105px}.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin:0 0 24px}.week-day{display:flex;flex-direction:column;align-items:center;gap:11px;padding:4px 0;font-size:12px;color:#999}.week-day b{width:43px;height:43px;border:1px solid #303030;border-radius:50%;font-size:17px;display:grid;place-items:center;color:#222;font-weight:400;background:linear-gradient(to top,#08ce79 var(--fill,0%),#fff var(--fill,0%));outline-offset:4px}.week-day.selected{color:#111;font-weight:600}.week-day.selected b{outline:1px solid #111}.week-day.future b{border-color:#e5e5e5;color:#aaa}.week-day small{font-size:9px;color:#909090;height:10px}.summary{gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:23px}.stat,.stat:first-child{background:#fff;border:1px solid #262626;border-radius:12px;padding:18px 16px;min-width:0}.stat span{color:#8b8b8b;font-size:12px}.stat strong{font-size:26px;letter-spacing:-.6px;margin:12px 0 0;white-space:nowrap}.stat small{display:none}.toolbar{margin:0 0 19px}.toolbar input{font-size:16px;max-width:180px}.switch{background:#f0f0f0}.switch button{font-size:12px;padding:8px 17px}.switch .active{box-shadow:none}.outline{border-color:#d8d8d8}.pooltools{justify-content:flex-end;color:#aaa;margin:0 0 15px}.pooltools span{color:#aaa!important}.pooltools button{padding:7px 11px}.chart{height:3px;margin-top:0}.legend{font-size:10px;color:#8a8a8a;gap:12px;margin:9px 0 17px}.day{background:#fff;border:1px solid #222;border-radius:20px;margin-bottom:24px;box-shadow:none}.dayhead{padding:21px 22px;border-bottom:1px dashed #ddd;background:#fff}.dayhead b{font-size:20px;letter-spacing:-.5px}.dayhead small{font-size:11px;color:#999}.daytotal{font-size:16px;font-weight:600}.tray{background-color:#fff;background-image:radial-gradient(circle,#d9d9d9 .85px,transparent .95px);background-size:20px 20px;min-height:330px}.physics-pool{border:0;border-radius:0 0 19px 19px;box-shadow:none}.physics-pool .newcard{width:38px;height:38px;top:16px;right:16px;background:#fff;border:1px dashed #bbb;color:#777}.jelly,.physics-pool .jelly{background:transparent!important;border:0;box-shadow:none!important;border-radius:0;filter:none;gap:0;overflow:visible;padding:0;display:block}.jelly .face{display:none}.sticker-shape{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;filter:drop-shadow(0 2px 3px #00000019);pointer-events:none}.sticker-art{display:block;width:100%;height:76%;overflow:hidden;filter:drop-shadow(3px 0 0 white) drop-shadow(-3px 0 0 white) drop-shadow(0 3px 0 white) drop-shadow(0 -3px 0 white)}.sticker-label{display:flex;align-items:center;flex-direction:column;max-width:96%;min-width:46px;background:white;border:4px solid white;border-radius:8px 8px 13px 13px;padding:0 3px 2px;margin-top:-7px;z-index:1;color:#171717;line-height:1.2}.jelly .name{font-size:11px;opacity:1;max-width:100%;font-weight:500;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jelly strong,.physics-pool .jelly strong{font-size:13px;font-weight:650;line-height:1.2;margin-top:2px;letter-spacing:-.3px}.list .tray{min-height:0;background:#fff}.list .jelly{border-bottom:1px solid #eee}.list .sticker-shape{filter:none;flex-direction:row;justify-content:flex-start;gap:16px}.list .sticker-art{width:40px;height:42px;filter:none}.list .sticker-label{border:0;background:none;max-width:calc(100% - 60px);width:100%;flex-direction:row;justify-content:space-between;padding:0;margin:0;border-radius:0;gap:14px}.list .jelly .name{font-size:13px;max-width:70%}.list .jelly strong{font-size:14px}.mobileadd{background:#141414;bottom:max(20px,env(safe-area-inset-bottom));width:min(480px,calc(100% - 44px));padding:17px 20px;font-size:17px;font-weight:600;box-shadow:0 3px 15px #00000016}.save{background:#151515;border-radius:30px}.save:hover{background:#333}.type button{background:#f6f6f6;color:#888}.type button.active{background:#e6f7ed;color:#171717}.cat{background:#fff;border:1px solid transparent;color:#555;font-size:11px}.cat.active{border-color:#d0e9d9;background:#eef9f2;color:#111}.cat .category-art{display:block;margin:0 auto 7px;width:31px;height:32px;overflow:hidden}.amountbox{border-color:#ddd}.amountbox span{color:#333}.field{background:#fff;border-color:#ddd}.modalclose{background:#f5f5f5;color:#333}#entrydialog{border-color:#ddd;background:#fff}#entrydialog .entry{background:white}label.caption{color:#777}.toast{background:#222;color:white}.storage-note{color:#aaa}.empty-pool-note{position:absolute;top:85px;left:0;right:0;text-align:center;color:#aaa;font-size:12px;pointer-events:none}.pool-empty{position:relative}.pool-empty .newcard{position:absolute;right:16px;top:16px;width:38px;height:38px;border-radius:50%;border:1px dashed #bbb;background:white;color:#777}.pool-empty .newcard small{display:none}.list .pool-empty{min-height:110px}.list .empty-pool-note{top:45px}#settings{width:min(370px,90vw)}#settings p{font-size:13px;color:#777}.settings-actions{display:flex;gap:10px;justify-content:flex-end}.settings-actions button{padding:10px 17px;border:1px solid #ddd;border-radius:18px}.settings-actions button:last-child{background:#171717;color:white}
@media(min-width:681px){.tray{min-height:370px}.week{max-width:610px;margin-left:auto;margin-right:auto}.stat strong{font-size:31px}.stat{padding:22px}.dayhead{padding:22px 25px}}
@media(max-width:680px){header{padding:23px 20px 20px}.logo{font-size:25px}.shell{padding:0 17px;margin-top:19px}.week{gap:5px;margin-bottom:20px}.week-day{gap:9px}.week-day b{width:36px;height:36px;font-size:16px}.week-day small{font-size:8px}.summary{gap:8px;margin-bottom:23px}.stat{padding:14px 9px;min-height:89px}.stat strong{font-size:clamp(17px,5.1vw,24px);margin:13px 0 0;letter-spacing:-.65px}.stat span{font-size:11px}.dayhead{padding:18px 17px}.dayhead b{font-size:19px}.dayhead small{font-size:10px;margin-left:8px}.daytotal{font-size:15px}.toolbar input{font-size:16px;max-width:153px}.pooltools{justify-content:space-between}.pooltools span{font-size:10px!important}.sticker-label{padding:0 1px 2px}.jelly .name{font-size:10px}.jelly strong,.physics-pool .jelly strong{font-size:12px}.header-right{gap:7px}.header-right .outline,.settings-button{width:37px;height:37px}.subtitle{font-size:9px;letter-spacing:1.2px}.legend{line-height:1.5}.mobileadd{font-size:18px}}
.calendar-tools{display:flex;align-items:center;justify-content:space-between;margin:0 0 14px;font-size:12px;color:#888}.calendar-tools button{font-size:12px;color:#555;padding:7px 11px;border:1px solid #e5e5e5;border-radius:16px;background:#fff}#calendarPanel{border:1px solid #ddd;border-radius:17px;padding:16px;margin-bottom:22px;background:white}#calendarPanel[hidden]{display:none}.calendar-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.calendar-nav b{font-size:16px}.calendar-nav button{width:38px;height:36px;border:1px solid #eee;border-radius:9px;font-size:25px}.calendar-weekdays,#calendarGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;text-align:center}.calendar-weekdays{font-size:12px;color:#aaa;margin-bottom:10px}#calendarGrid button{height:42px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:10px;gap:3px;font-size:14px}#calendarGrid button.chosen{background:#151515;color:white}#calendarGrid button.is-today:not(.chosen){box-shadow:inset 0 0 0 1px #aaa}#calendarGrid i{width:4px;height:4px;border-radius:50%;background:transparent}#calendarGrid .has-record i{background:#09c674}#goToday{display:block;border:1px solid #ddd;border-radius:17px;margin:14px auto 0;padding:7px 17px;font-size:12px;color:#555}
#foodCustomize[hidden]{display:none}#foodCustomize{border-top:1px solid #eee;border-bottom:1px solid #eee;margin-top:16px;padding:14px 0 10px}.food-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.food-title b{font-size:12px;font-weight:600}.food-title span{font-size:10px;color:#999}#foodStyles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}.food-option{border:1px solid transparent;border-radius:10px;padding:5px 1px;color:#777;font-size:10px;min-width:0}.food-option.selected{border-color:#333;background:#f7f7f7;color:#111}.food-option-art{display:block;width:100%;height:38px;overflow:hidden;margin:0 auto 4px}.food-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}.food-bottom>div:first-child{flex:1}.food-bottom .caption{margin:10px 0!important;font-size:10px}#foodColors{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.color-option{background:var(--swatch);width:23px;height:23px;border:1px solid #ddd;border-radius:50%;font-size:12px;display:grid;place-items:center;padding:0;color:#333}.color-option.selected{outline:1.5px solid #333;outline-offset:3px}#foodPreview{width:72px;height:89px;flex-shrink:0;background:radial-gradient(#ddd .7px,transparent .8px);background-size:9px 9px;border-radius:10px;padding:5px}#foodPreview .name{font-size:9px;max-width:55px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#foodPreview strong{font-size:10px}#foodPreview .sticker-label{padding:0;border-width:2px;min-width:30px;max-width:60px}#foodPreview .sticker-shape{height:100%}.sticker-shape.custom-food{filter:drop-shadow(3px 0 0 var(--sticker-outline)) drop-shadow(-3px 0 0 var(--sticker-outline)) drop-shadow(0 3px 0 var(--sticker-outline)) drop-shadow(0 -3px 0 var(--sticker-outline)) drop-shadow(0 2px 2px #00000015)}.custom-food .sticker-art{filter:none}.custom-food .sticker-label{border-color:var(--sticker-outline);background:var(--sticker-outline)}.list .custom-food{filter:none}.list .custom-food .sticker-label{border:0}

/* Reserve a stable amount row; the text fitter only reduces the font size. */
.summary .stat strong{font-size:26px;line-height:32px;min-width:0;max-width:100%;letter-spacing:-.3px;white-space:nowrap}
@media(max-width:680px){.summary .stat strong{font-size:20px;line-height:26px}}
