:root{--paper:#fff;--grid-dot:#e3e6ea;--ink:#333;--ink-soft:#62666c;--line:#e4e6ea;--line-strong:#cfd3d9;--sun:#c8312b;--sat:#2463a8;--focus:#1f2937;--warn-bg:#fff6d8;--warn-ink:#6b4e00;--error-ink:#a1261e;--error-bg:#fdecea;--dharma:#9a4215;--dharma-tint:#fbece2;--travel:#1f5f8e;--travel-tint:#e6f1f9;--dining:#3f6a2c;--dining-tint:#eaf4e3;--spend:#7a5800;--spend-tint:#f8f0da;--news:#4a5561;--news-tint:#eceff2;--other:#635648;--other-tint:#f0ebe4;--num:ui-rounded, "SF Pro Rounded", "Hiragino Maru Gothic ProN", "Arial Rounded MT Bold", "Bahnschrift", system-ui, sans-serif;--sans:-apple-system, "PingFang TC", "Heiti TC", "Microsoft JhengHei", "Noto Sans TC", system-ui, sans-serif;--tap:48px;--r-lg:20px;--r-md:14px;--r-sm:8px}:root,[data-theme=sora]{--accent:#7ec3ea;--accent-ink:#1d6699;--accent-tint:#e8f4fc;--accent-strong:#256fa6}[data-theme=sakura]{--accent:#f2a7b8;--accent-ink:#a8324f;--accent-tint:#fdeef2;--accent-strong:#b23b59}[data-theme=wakakusa]{--accent:#a8d08d;--accent-ink:#3e6a27;--accent-tint:#eef6e8;--accent-strong:#497a31}[data-theme=fuji]{--accent:#b9a7db;--accent-ink:#5b4491;--accent-tint:#f2eefa;--accent-strong:#684fa2}[data-theme=mikan]{--accent:#f6b26b;--accent-ink:#8d4809;--accent-tint:#fdf2e5;--accent-strong:#9d530d}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{color:var(--ink);font-family:var(--sans);background-color:var(--paper);background-image:radial-gradient(var(--grid-dot) 1.2px, transparent 1.3px);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background-size:22px 22px;margin:0;font-size:19px;line-height:1.65}h1,h2,h3{margin:0;font-weight:700}p{margin:0}button{font:inherit;min-height:var(--tap);border:2px solid var(--line-strong);border-radius:var(--r-md);background:var(--paper);color:var(--ink);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:8px 18px;transition:background-color .16s,border-color .16s;display:inline-flex}button:hover:not(:disabled){background:var(--accent-tint)}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff;font-weight:700}button.primary:hover:not(:disabled){background:var(--accent-ink);border-color:var(--accent-ink)}button.ghost{color:var(--ink-soft);background:0 0;border-color:#0000}button.ghost:hover:not(:disabled){background:var(--accent-tint)}button.danger{color:var(--error-ink)}button.big{border-radius:var(--r-lg);width:100%;min-height:64px;font-size:21px}.icon-btn{min-width:var(--tap);color:var(--accent-ink);background:0 0;border-color:#0000;border-radius:50%;padding:0}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}input,select,textarea{font:inherit;min-height:var(--tap);border:2px solid var(--line-strong);border-radius:var(--r-sm);background:var(--paper);color:var(--ink);padding:8px 12px}textarea{resize:vertical;border-radius:var(--r-md);width:100%;line-height:1.7}.icon{flex:none;width:24px;height:24px}.spinning{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinning{animation:none}*{transition:none!important}}.accent{color:var(--accent)}.muted{color:var(--ink-soft)}.error{color:var(--error-ink);background:var(--error-bg);border-radius:var(--r-md);margin:12px 0;padding:10px 14px}.warn-text{color:var(--warn-ink);margin-top:4px}.card{background:var(--paper);border:2px solid var(--line);border-radius:var(--r-lg)}.heart-rule{display:block}.login{text-align:center;max-width:440px;margin:0 auto;padding:18vh 20px 40px}.login .brand{margin-bottom:40px}.login h1{letter-spacing:.1em;font-size:30px}.brand-rule{width:176px;margin:12px auto 0}.email-login{text-align:left;border-top:2px dotted var(--line-strong);margin-top:36px;padding-top:12px}.email-login summary{cursor:pointer;color:var(--ink-soft);min-height:var(--tap);align-items:center;display:flex}.email-login form{flex-direction:column;gap:12px;margin-top:8px;display:flex}.email-login label{flex-direction:column;gap:4px;display:flex}.masthead{z-index:10;background:var(--paper);position:sticky;top:0}.masthead-row{justify-content:space-between;align-items:center;max-width:780px;margin:0 auto;padding:6px 12px 2px;display:flex}.month-heading{align-items:baseline;gap:2px;display:flex}.month-heading .month{font-family:var(--num);color:var(--accent-ink);font-size:44px;line-height:1}.month-heading .month-unit{color:var(--accent-ink);margin-right:10px;font-size:22px}.month-heading .year{font-family:var(--num);color:var(--ink-soft);font-size:18px}.masthead-rule{max-width:780px;margin:0 auto}.page{max-width:780px;margin:0 auto;padding:12px 16px 56px}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.toolbar-right{align-items:center;gap:4px;display:flex}.segmented{background:var(--accent-tint);border-radius:999px;gap:4px;padding:4px;display:inline-flex}.segmented button{color:var(--accent-ink);background:0 0;border:none;border-radius:999px;min-height:44px;padding:6px 18px}.segmented button.on{background:var(--paper);color:var(--ink);font-weight:700}.notice{align-items:center;gap:12px;margin-bottom:12px;padding:12px 14px;display:flex}.notice>.icon{color:var(--accent-ink)}.notice p{flex:1}.notice-text{margin-bottom:12px;padding:12px 14px}.add-btn{border:2px dashed var(--accent);border-radius:var(--r-lg);width:100%;min-height:60px;color:var(--accent-ink);background:var(--paper);margin-bottom:16px;font-size:20px;font-weight:700}.input-box{border-color:var(--accent);margin-bottom:16px;padding:14px 16px 16px}.input-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.input-head h2{color:var(--accent-ink);font-size:21px}.actions{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}.status{margin-top:10px}.preview{flex-direction:column;gap:10px;margin:14px 0 0;padding:0;list-style:none;display:flex}.preview li{border:2px solid var(--line);border-radius:var(--r-md);background:var(--paper);padding:10px 12px}.preview li.flagged{background:var(--warn-bg);border-color:#ecd48a}.preview li.invalid{border-color:var(--error-ink)}.preview .row{flex-wrap:wrap;gap:4px 14px;display:flex}.preview label{align-items:center;gap:6px;margin:4px 0;display:inline-flex}.preview label.wide{display:flex}.preview label.wide input{flex:1;min-width:0}.preview .raw{color:var(--ink-soft);word-break:break-all;margin-top:6px;font-size:16px}.cat-dharma{--c:var(--dharma);--t:var(--dharma-tint)}.cat-travel{--c:var(--travel);--t:var(--travel-tint)}.cat-dining{--c:var(--dining);--t:var(--dining-tint)}.cat-spend{--c:var(--spend);--t:var(--spend-tint)}.cat-news{--c:var(--news);--t:var(--news-tint)}.cat-other{--c:var(--other);--t:var(--other-tint)}.tag{color:var(--c);background:var(--t);border-radius:999px;margin-right:6px;padding:1px 10px;font-size:16px;font-weight:700;display:inline-block}.weekdays,.week{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.weekdays{color:var(--ink-soft);text-align:center;margin-bottom:4px;font-size:16px;font-weight:700}.weekdays .sun{color:var(--sun)}.weekdays .sat{color:var(--sat)}.grid{flex-direction:column;gap:4px;display:flex}.cell{border-radius:var(--r-md);background:var(--paper);border:2px solid #0000;flex-direction:column;justify-content:flex-start;align-items:center;gap:1px;min-height:82px;padding:4px 2px 6px;display:flex}.cell:hover:not(:disabled){background:var(--accent-tint)}.cell .num{font-family:var(--num);border-radius:50%;place-items:center;min-width:32px;height:32px;font-size:21px;font-weight:600;line-height:1.35;display:grid}.cell.red .num,.cell.red .holiday{color:var(--sun)}.cell.sat .num{color:var(--sat)}.cell .sub{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:12px;line-height:1.3;overflow:hidden}.cell .holiday{color:var(--accent-ink);font-weight:700}.cell.outside{background:0 0}.cell.outside .num,.cell.outside .sub{color:#9aa0a6}.cell.today .num{background:var(--accent-strong);color:#fff}.cell.selected{border-color:var(--accent-strong);background:var(--accent-tint)}.marks{flex-wrap:wrap;justify-content:center;gap:2px;margin-top:2px;display:flex}.mark{color:var(--c);background:var(--t);border-radius:999px;padding:3px 5px;font-size:13px;font-weight:700;line-height:1}.more{color:var(--ink-soft);font-size:13px;line-height:1.6}.counter-strip{border-radius:var(--r-md);background:var(--dharma-tint);color:var(--dharma);flex-wrap:wrap;gap:4px 16px;margin-top:14px;padding:10px 16px;display:flex}.counter-strip .label{font-weight:700}.sheet{background:var(--paper);border:2px solid var(--line);border-radius:var(--r-lg);margin:26px 4px 0;padding:26px 20px 20px;position:relative}.washi{background:repeating-linear-gradient(-45deg, var(--accent) 0 8px, var(--accent-tint) 8px 16px);opacity:.9;border-radius:3px;width:124px;height:28px;position:absolute;top:-14px;left:50%;transform:translate(-50%)rotate(-2deg)}.sheet-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:10px;display:flex}.sheet-date{align-items:baseline;gap:8px;display:flex}.sheet-month{font-family:var(--num);color:var(--ink-soft);font-size:20px}.sheet-day{font-family:var(--num);font-size:64px;font-weight:700;line-height:.95}.sheet-weekday{font-size:18px;font-weight:700}.sheet-date.red .sheet-day,.sheet-date.red .sheet-weekday{color:var(--sun)}.sheet-date.blue .sheet-day,.sheet-date.blue .sheet-weekday{color:var(--sat)}.sheet-meta{color:var(--ink-soft);flex-direction:column;align-items:flex-end;gap:2px;font-size:17px;display:flex}.holiday-name{color:var(--accent-ink);font-weight:700}.empty-day{margin:14px 0 4px}.add-on{border-radius:var(--r-lg);width:100%;margin-top:14px}.hint{text-align:center;margin-top:20px}.undated{background:var(--paper);border:2px dotted var(--line-strong);border-radius:var(--r-lg);margin-top:18px;padding:14px 16px}.undated h3{margin-bottom:4px;font-size:18px}.entry-list{margin:10px 0 0;padding:0;list-style:none}.entry-list li{border-top:2px dotted var(--line);padding:10px 0}.entry-list li:first-child{border-top:none}.entry-list .range{color:var(--ink-soft);font-size:17px;font-family:var(--num);margin-right:6px}.entry-list .amount,.journal .amount{float:right;color:var(--ink-soft);font-family:var(--num);margin-left:8px}.entry-list .note,.journal .note{color:var(--ink-soft);white-space:pre-line;margin-top:2px;font-size:17px;display:block}.journal{background:var(--paper);border:2px solid var(--line);border-radius:var(--r-lg);padding:8px 18px 18px}.journal-section{margin:16px 0 22px}.journal-section h2{color:var(--c);align-items:center;gap:8px;margin-bottom:4px;font-size:20px;display:flex}.journal-section .rule{background:var(--c);border-radius:50%;width:12px;height:12px}.journal ul{margin:0;padding:0;list-style:none}.journal li{border-bottom:2px dotted var(--line);grid-template-columns:5.2em 1fr;gap:10px;padding:9px 0;display:grid}.journal .date{font-family:var(--num);color:var(--c);font-weight:700}.journal .marker{margin-right:4px}.journal .empty{text-align:center;margin:40px 0}.summary{text-align:right;color:var(--ink-soft);margin-top:8px}.footer{border-top:2px dotted var(--line-strong);margin-top:36px;padding-top:16px}.footer-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:12px;display:flex}.check{min-height:var(--tap);cursor:pointer;align-items:center;gap:8px;display:inline-flex}.check input{width:22px;height:22px;min-height:0;accent-color:var(--accent-strong)}.theme-picker{border:none;margin:0;padding:0}.theme-picker legend{margin-bottom:8px;padding:0;font-weight:700}.swatches{flex-wrap:wrap;gap:8px;display:flex}.swatch{border-radius:var(--r-md);background:0 0;border-color:#0000;flex-direction:column;gap:4px;min-width:64px;padding:6px 8px;font-size:16px}.swatch .dot{border:2px solid #00000014;border-radius:50%;width:32px;height:32px}.swatch.on{border-color:var(--ink)}.swatch-sora .dot{background:#7ec3ea}.swatch-sakura .dot{background:#f2a7b8}.swatch-wakakusa .dot{background:#a8d08d}.swatch-fuji .dot{background:#b9a7db}.swatch-mikan .dot{background:#f6b26b}.sheet-enter-active{animation:.34s cubic-bezier(.2,.8,.3,1.15) sheet-in}.sheet-leave-active{animation:.14s ease-in forwards sheet-out}@keyframes sheet-in{0%{opacity:0;transform:translateY(-16px)rotate(-1.5deg)}55%{opacity:1}to{opacity:1;transform:none}}@keyframes sheet-out{to{opacity:0;transform:translateY(8px)rotate(1deg)}}.sheet-enter-active .washi{animation:.38s cubic-bezier(.3,1.5,.5,1) .14s both washi-stick}@keyframes washi-stick{0%{opacity:0;transform:translate(-50%)rotate(-9deg)scaleX(.4)}to{opacity:.9;transform:translate(-50%)rotate(-2deg)scaleX(1)}}.month-next-enter-active,.month-prev-enter-active{transition:opacity .2s,transform .24s cubic-bezier(.2,.8,.3,1)}.month-next-leave-active,.month-prev-leave-active{transition:opacity .12s,transform .12s ease-in}.month-next-enter-from{opacity:0;transform:translate(28px)}.month-next-leave-to,.month-prev-enter-from{opacity:0;transform:translate(-28px)}.month-prev-leave-to{opacity:0;transform:translate(28px)}.cell{transition:background-color .16s,border-color .16s,transform .12s}.cell:active{transform:scale(.94)}.open-enter-active{transition:opacity .18s,transform .24s cubic-bezier(.2,.8,.3,1)}.open-leave-active{transition:opacity .1s}.open-enter-from{opacity:0;transform:translateY(-8px)scale(.98)}.open-leave-to{opacity:0}.toast{left:50%;bottom:calc(24px + env(safe-area-inset-bottom));z-index:20;background:var(--ink);color:#fff;white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:12px 22px;font-weight:700;display:flex;position:fixed;transform:translate(-50%)}.toast-heart{color:var(--accent);animation:.52s cubic-bezier(.3,1.6,.5,1) .15s both heart-pop}@keyframes heart-pop{0%{transform:scale(0)}70%{transform:scale(1.35)}to{transform:scale(1)}}.toast-enter-active{transition:opacity .2s,transform .28s cubic-bezier(.2,.8,.3,1.3)}.toast-leave-active{transition:opacity .3s,transform .3s}.toast-enter-from{opacity:0;transform:translate(-50%,24px)}.toast-leave-to{opacity:0;transform:translate(-50%,12px)}@property --accent{syntax:"<color>";inherits:true;initial-value:#7ec3ea}@property --accent-ink{syntax:"<color>";inherits:true;initial-value:#1d6699}@property --accent-tint{syntax:"<color>";inherits:true;initial-value:#e8f4fc}@property --accent-strong{syntax:"<color>";inherits:true;initial-value:#256fa6}html{transition:--accent .36s,--accent-ink .36s,--accent-tint .36s,--accent-strong .36s}.screen-enter-active{transition:opacity .26s,transform .36s cubic-bezier(.2,.8,.3,1)}.screen-leave-active{transition:opacity .18s,transform .2s ease-in}.screen-enter-from{opacity:0;transform:translateY(28px)}.screen-leave-to{opacity:0;transform:scale(.96)}.page-forward-enter-active,.page-back-enter-active{transition:opacity .24s,transform .34s cubic-bezier(.2,.8,.3,1)}.page-forward-leave-active,.page-back-leave-active{transition:opacity .15s,transform .17s ease-in}.page-forward-enter-from{opacity:0;transform:perspective(900px)translate(40px)rotateY(-10deg)}.page-forward-leave-to,.page-back-enter-from{opacity:0;transform:perspective(900px)translate(-40px)rotateY(10deg)}.page-back-leave-to{opacity:0;transform:perspective(900px)translate(40px)rotateY(-10deg)}.month-flip{transform-origin:50% 60%;align-items:baseline;gap:2px;display:inline-flex}.flip-next-enter-active,.flip-prev-enter-active{transition:opacity .2s,transform .3s cubic-bezier(.2,.8,.3,1.2)}.flip-next-leave-active,.flip-prev-leave-active{transition:opacity .12s,transform .14s ease-in}.flip-next-enter-from{opacity:0;transform:perspective(400px)rotateX(-80deg)}.flip-next-leave-to,.flip-prev-enter-from{opacity:0;transform:perspective(400px)rotateX(80deg)}.flip-prev-leave-to{opacity:0;transform:perspective(400px)rotateX(-80deg)}.grid .week{animation:.3s cubic-bezier(.2,.8,.3,1) both row-in}.grid .week:nth-child(2){animation-delay:40ms}.grid .week:nth-child(3){animation-delay:80ms}.grid .week:nth-child(4){animation-delay:.12s}.grid .week:nth-child(5){animation-delay:.16s}.grid .week:nth-child(6){animation-delay:.2s}@keyframes row-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.cell.today .num{animation:.56s cubic-bezier(.3,1.7,.5,1) .32s both hanamaru}@keyframes hanamaru{0%{transform:scale(0)rotate(-40deg)}70%{transform:scale(1.2)rotate(8deg)}to{transform:none}}.mark{animation:.32s cubic-bezier(.3,1.6,.5,1) both pop-in}@keyframes pop-in{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:none}}.journal li{animation:.28s cubic-bezier(.2,.8,.3,1) both line-in}.journal li:nth-child(2){animation-delay:30ms}.journal li:nth-child(3){animation-delay:60ms}.journal li:nth-child(4){animation-delay:90ms}.journal li:nth-child(5){animation-delay:.12s}.journal li:nth-child(n+6){animation-delay:.15s}@keyframes line-in{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:none}}.item-enter-active{transition:opacity .22s,transform .28s cubic-bezier(.2,.8,.3,1.2)}.item-enter-active:nth-child(2){transition-delay:50ms}.item-enter-active:nth-child(3){transition-delay:.1s}.item-enter-active:nth-child(n+4){transition-delay:.15s}.item-leave-active{transition:opacity .2s,transform .22s ease-in}.item-enter-from{opacity:0;transform:translateY(-10px)scale(.96)}.item-leave-to{opacity:0;transform:translate(60px)}.brand-rule{animation:.9s cubic-bezier(.4,0,.2,1) .2s both draw-line}@keyframes draw-line{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}button:active:not(:disabled){transform:scale(.97)}button{transition:background-color .16s,border-color .16s,transform .1s}@media (width<=420px){body{font-size:18px}.page{padding:10px 10px 48px}.weekdays,.week,.grid{gap:2px}.cell{min-height:74px;padding:3px 1px 5px}.cell .num{min-width:28px;height:28px;font-size:18px}.cell .sub{font-size:11px}.mark{padding:2px 4px;font-size:12px}.sheet{padding:24px 14px 16px}.sheet-day{font-size:56px}.month-heading .month{font-size:38px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.cell:active{transform:none}}
