@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:300;src:url(./fraunces-latin-300-normal-CTWA4xHV.woff2)format("woff2"),url(./fraunces-latin-300-normal-BJaf1pbq.woff)format("woff")}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(./fraunces-latin-500-normal-DnGCNyPD.woff2)format("woff2"),url(./fraunces-latin-500-normal-BTR4KCeb.woff)format("woff")}:root{--ink:#1a1f18;--ink2:#3d4439;--ink3:#6b7266;--ink4:#a0a89a;--paper:#f5f2ec;--paper2:#ede9e1;--paper3:#e2ddd3;--green:#2d5a3d;--green-l:#ddeee4;--green-m:#4a8c5c;--amber:#b45309;--amber-l:#fef3c7;--red:#b91c1c;--red-l:#fee2e2;--blue:#1d4ed8;--blue-l:#dbeafe;--r-sm:10px;--r-md:14px;--r-lg:20px;--r-xl:26px;--body:system-ui,-apple-system,"Segoe UI","Hiragino Sans","PingFang SC","Noto Sans CJK JP","Microsoft YaHei",sans-serif;--disp:"Fraunces",Georgia,serif;--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);--sar:env(safe-area-inset-right,0px)}@media (prefers-color-scheme:dark){:root{--ink:#eae6de;--ink2:#c8c4bb;--ink3:#8a8880;--ink4:#55534e;--paper:#1a1c18;--paper2:#22251f;--paper3:#2a2e26;--green:#4a9c63;--green-l:#0f2d1c;--green-m:#3d8050;--amber:#d97706;--amber-l:#1c1000;--red:#ef4444;--red-l:#1c0606;--blue:#60a5fa;--blue-l:#0f1f3d}}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{background:var(--paper2);height:100%}body{font-family:var(--body);background:var(--paper);color:var(--ink);max-width:560px;height:100%;box-shadow:0 0 0 1px var(--paper3);margin:0 auto;font-size:15px;line-height:1.5;overflow:hidden}#app{flex-direction:column;height:100%;display:flex}button{font:inherit;color:inherit}.hidden{display:none!important}.hdr{background:var(--paper);padding:calc(var(--sat) + 18px) calc(20px + var(--sar)) 14px calc(20px + var(--sal));border-bottom:1px solid var(--paper3);flex-shrink:0}.hdr-row{justify-content:space-between;align-items:flex-end;display:flex}.hdr-title{font-family:var(--disp);letter-spacing:-.5px;font-size:26px;font-weight:300}.hdr-date{color:var(--ink3);font-size:13px}#scr{padding:16px calc(16px + var(--sar)) 24px calc(16px + var(--sal));-webkit-overflow-scrolling:touch;flex:1;overflow:hidden auto}#scr::-webkit-scrollbar{display:none}.page{display:none}.page.active{animation:.2s fadeUp;display:block}@keyframes fadeUp{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.card{background:var(--paper2);border-radius:var(--r-lg);border:1px solid var(--paper3);margin-bottom:12px;padding:16px}.card-lbl{color:var(--ink4);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;font-size:11px;font-weight:600}#alarmCards{margin-bottom:4px}.alarm-card{background:var(--green-l);border-radius:var(--r-lg);border:1px solid #2d5a3d2e;margin-bottom:10px;padding:16px;animation:.35s cubic-bezier(.34,1.56,.64,1) pop}@keyframes pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.alarm-meal{color:var(--green);letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px;font-size:11px;font-weight:700}.alarm-cd{font-family:var(--disp);color:var(--green);letter-spacing:-2px;margin:2px 0 4px;font-size:46px;font-weight:300;line-height:1}.alarm-sub{color:var(--green-m);margin-bottom:12px;font-size:13px}.alarm-actions{gap:8px;display:flex}.alarm-actions .btn-p{flex:1;padding:12px;font-size:14px}.alarm-actions .btn-g-sm{border-radius:var(--r-md);color:var(--green-m);cursor:pointer;font-size:13px;font-family:var(--body);background:0 0;border:1px solid #2d5a3d40;flex:none;padding:12px 14px}.hero-btn{background:var(--green);color:#fff;border-radius:var(--r-xl);cursor:pointer;border:none;align-items:stretch;width:100%;margin-bottom:10px;padding:0;transition:transform .15s,opacity .15s;display:flex;overflow:hidden;box-shadow:0 4px 20px #2d5a3d47}.hero-btn:active{opacity:.92;transform:scale(.97)}.hero-l{background:#00000021;align-items:center;padding:22px 18px;font-size:34px;display:flex}.hero-r{text-align:left;padding:20px 16px}.hero-lbl{font-family:var(--disp);letter-spacing:-.3px;font-size:22px;font-weight:300}.hero-sub{opacity:.72;margin-top:3px;font-size:12px;line-height:1.45}.sec-btn{background:var(--paper2);border:1px solid var(--paper3);border-radius:var(--r-md);cursor:pointer;width:100%;color:var(--ink2);font-size:15px;font-weight:500;font-family:var(--body);justify-content:center;align-items:center;gap:8px;margin-bottom:10px;padding:14px 18px;transition:transform .12s,background .12s;display:flex}.sec-btn:active{background:var(--paper3);transform:scale(.97)}.rec-row{border-bottom:1px solid var(--paper3);align-items:center;gap:12px;padding:11px 0;display:flex}.rec-row:last-child{border-bottom:none;padding-bottom:0}.rec-ico{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:17px;display:flex}.rec-info{flex:1;min-width:0}.rec-name{font-size:15px;font-weight:500}.rec-meta{color:var(--ink3);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:12px;overflow:hidden}.rec-right{flex-shrink:0;align-items:center;gap:6px;display:flex}.rec-val{text-align:right}.rec-num{font-family:var(--disp);font-size:20px;font-weight:300;line-height:1}.rec-unit{color:var(--ink4);font-size:10px}.pill{border:1px solid var(--paper3);background:var(--paper);color:var(--ink3);cursor:pointer;white-space:nowrap;font-size:12px;font-family:var(--body);border-radius:20px;padding:5px 11px;transition:background .12s}.pill:active{background:var(--paper3)}.pill.red{color:var(--red);border-color:#b91c1c38}.pill.red:active{background:var(--red-l)}.n-banner{background:var(--amber-l);border-radius:var(--r-md);color:var(--amber);border:1px solid #b453092e;align-items:center;gap:8px;margin-bottom:12px;padding:11px 14px;font-size:13px;display:flex}.n-banner button{color:inherit;cursor:pointer;font-size:12px;font-weight:600;font-family:var(--body);background:0 0;border:1px solid;border-radius:20px;margin-left:auto;padding:5px 12px}.stat-grid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;display:grid}.stat-box{background:var(--paper);border:1px solid var(--paper3);border-radius:var(--r-md);padding:14px 12px}.stat-num{font-family:var(--disp);font-size:28px;font-weight:300;line-height:1}.stat-lbl{color:var(--ink4);margin-top:4px;font-size:11px}.mini-bars{align-items:flex-end;gap:4px;height:64px;margin:10px 0 4px;display:flex}.bar-col{flex-direction:column;flex:1;align-items:center;gap:3px;display:flex}.bar-seg{border-radius:3px 3px 0 0;width:100%;min-height:3px}.bar-txt{color:var(--ink4);font-size:9px}.bar-num{font-size:9px;font-weight:600}.day-lbl{color:var(--ink4);text-transform:uppercase;letter-spacing:.08em;margin:16px 0 6px;font-size:11px;font-weight:600}.bnav{background:var(--paper);border-top:1px solid var(--paper3);padding-bottom:var(--sab);flex-shrink:0;display:flex}.nav-i{text-align:center;cursor:pointer;color:var(--ink4);-webkit-user-select:none;user-select:none;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;padding:10px 0 8px;transition:color .15s;display:flex}.nav-i.active{color:var(--green)}.nav-ico{font-size:20px;line-height:1}.nav-lbl{margin-top:2px;font-size:10px;font-weight:500}.overlay{z-index:200;opacity:0;pointer-events:none;background:#0000007a;justify-content:center;align-items:flex-end;transition:opacity .22s;display:flex;position:fixed;inset:0}.overlay.open{opacity:1;pointer-events:auto}.sheet{background:var(--paper);border-radius:var(--r-xl) var(--r-xl) 0 0;width:100%;max-width:500px;padding:22px calc(20px + var(--sar)) calc(20px + var(--sab)) calc(20px + var(--sal));max-height:92vh;transition:transform .3s cubic-bezier(.32,.72,0,1);overflow-y:auto;transform:translateY(100%)}.sheet::-webkit-scrollbar{display:none}.overlay.open .sheet{transform:translateY(0)}.s-handle{background:var(--paper3);border-radius:2px;width:36px;height:4px;margin:0 auto 20px}.s-title{font-family:var(--disp);margin-bottom:4px;font-size:22px;font-weight:300}.s-sub{color:var(--ink3);margin-bottom:18px;font-size:13px}.s-section{margin-bottom:18px}.s-label{color:var(--ink4);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-size:12px;font-weight:600}.sl-row{align-items:center;gap:10px;margin-bottom:16px;display:flex}.sl-row label{color:var(--ink3);flex-shrink:0;width:54px;font-size:13px}.sl-row input[type=range]{accent-color:var(--green);flex:1;height:4px}.sl-val{font-family:var(--disp);text-align:right;width:48px;font-size:16px;font-weight:300}select,input[type=text],input[type=password],input[type=datetime-local],.field input[type=number]{border:1px solid var(--paper3);border-radius:var(--r-sm);background:var(--paper2);width:100%;color:var(--ink);font-size:14px;font-family:var(--body);appearance:none;margin-bottom:12px;padding:12px 14px}select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23a0a89a' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat}select:focus,input:focus{border-color:var(--green);outline:none}.g-input{width:100%;font-family:var(--disp);text-align:center;letter-spacing:-1px;border:1.5px solid var(--paper3);border-radius:var(--r-md);background:var(--paper2);color:var(--ink);appearance:none;padding:18px;font-size:36px;font-weight:300}.g-ref{color:var(--ink4);text-align:center;margin-top:6px;font-size:12px}.feedback{border-radius:var(--r-sm);text-align:center;margin:10px 0;padding:10px 14px;font-size:13px;font-weight:500}.feedback.green{background:var(--green-l);color:var(--green)}.feedback.amber{background:var(--amber-l);color:var(--amber)}.feedback.red{background:var(--red-l);color:var(--red)}.num-input{width:100%;font-family:var(--disp);text-align:center;letter-spacing:-.5px;border:1px solid var(--paper3);border-radius:var(--r-sm);background:var(--paper2);color:var(--ink);appearance:none;margin-bottom:12px;padding:12px 14px;font-size:22px;font-weight:300}.num-input:focus{border-color:var(--green);outline:none}.btn-p{background:var(--green);color:#fff;border-radius:var(--r-md);cursor:pointer;width:100%;font-size:16px;font-weight:600;font-family:var(--body);border:none;padding:16px;transition:transform .12s,opacity .12s;box-shadow:0 3px 12px #2d5a3d38}.btn-p:active{opacity:.9;transform:scale(.97)}.btn-g{width:100%;color:var(--ink3);cursor:pointer;font-size:14px;font-family:var(--body);background:0 0;border:none;margin-top:4px;padding:12px}.btn-d{width:100%;color:var(--red);border-radius:var(--r-md);cursor:pointer;font-size:14px;font-family:var(--body);background:0 0;border:1px solid #b91c1c38;margin-top:8px;padding:12px}.meal-grid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:18px;display:grid}.meal-c{border:1px solid var(--paper3);border-radius:var(--r-md);background:var(--paper2);cursor:pointer;text-align:center;color:var(--ink2);-webkit-appearance:none;font-size:15px;font-weight:500;font-family:var(--body);padding:16px 12px;transition:all .14s}.meal-c:active,.meal-c.sel{border:2px solid var(--green);background:var(--green-l);color:var(--green)}.empty{text-align:center;color:var(--ink4);padding:52px 20px}.empty-ico{margin-bottom:10px;font-size:36px}.empty p{font-size:14px}.hdr-right{align-items:center;gap:10px;display:flex}.hdr-date{margin-top:2px}.lang-switch{border:1px solid var(--paper3);border-radius:20px;display:flex;overflow:hidden}.lang-switch button{color:var(--ink3);cursor:pointer;background:0 0;border:none;padding:4px 9px;font-size:12px}.lang-switch button.active{background:var(--green);color:#fff}.sync-dot{background:var(--green);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.sync-dot.busy{background:var(--amber);animation:1s infinite blink}.sync-dot.err{background:var(--red)}@keyframes blink{50%{opacity:.35}}.hero-l,.hero-r,.hero-lbl,.hero-sub{display:block}.hero-btn{font-family:var(--body)}.alarm-card.due{background:var(--amber-l);border-color:#b4530940}.alarm-card.due .alarm-cd,.alarm-card.due .alarm-meal{color:var(--amber)}.alarm-card.due .alarm-cd{letter-spacing:-.5px;margin:6px 0 8px;font-size:30px}.btn-g-sm{border-radius:var(--r-md);color:var(--green-m);cursor:pointer;background:0 0;border:1px solid #2d5a3d40;flex:none;padding:12px 14px;font-size:13px}.ico-meal{background:var(--green-l)}.ico-fasting{background:var(--amber-l)}.c-green{color:var(--green)}.c-amber{color:var(--amber)}.c-red{color:var(--red)}.bg-green{background:var(--green)}.bg-amber{background:var(--amber)}.bg-red{background:var(--red)}.bar-seg{opacity:.55}.seg{background:var(--paper2);border:1px solid var(--paper3);border-radius:var(--r-md);margin-bottom:12px;padding:3px;display:flex}.seg button{border-radius:calc(var(--r-md) - 3px);color:var(--ink3);cursor:pointer;background:0 0;border:none;flex:1;padding:8px 0;font-size:13px}.seg button.active{background:var(--paper);color:var(--green);font-weight:600;box-shadow:0 1px 3px #00000014}.field{display:block}.field>span{color:var(--ink4);letter-spacing:.04em;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.field-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.field-row .field input{text-align:center}.hint{color:var(--ink3);margin-bottom:12px;font-size:12px;line-height:1.55}.hint.center{text-align:center;margin:4px 0 0}.saved-note{color:var(--green);text-align:center;margin-top:8px;font-size:13px}.two{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;display:grid}.two .sec-btn,.two .btn-p,.two .btn-d{margin:0;padding:12px;font-size:14px}.mono{background:var(--paper3);border-radius:var(--r-sm);word-break:break-all;margin-bottom:12px;padding:8px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.sync-state{align-items:center;gap:10px;margin-bottom:12px;display:flex}.sync-state .sync-dot{width:10px;height:10px}.sync-title{font-size:14px;font-weight:500}.overview{text-align:center;justify-content:space-around;padding:14px 0 6px;display:flex}.ov-num{font-family:var(--disp);font-size:26px;font-weight:300;line-height:1.1}.ov-lbl{color:var(--ink4);font-size:11px}.disclaimer{color:var(--ink4);padding:4px 6px 12px;font-size:11px;line-height:1.6}.sheet.center{text-align:center}.big-ico{margin-bottom:10px;font-size:48px}.g-wrap{position:relative}.g-unit{color:var(--ink4);font-size:12px;position:absolute;bottom:12px;right:16px}.sl-row>span{color:var(--ink3);flex-shrink:0;width:74px;font-size:13px}.meal-c span{pointer-events:none}.btn-d{font-family:var(--body)}body.sheet-open #scr{overflow:hidden}.toast{left:50%;bottom:calc(84px + var(--sab));background:var(--ink);color:var(--paper);z-index:300;text-align:center;border-radius:20px;max-width:90vw;padding:10px 18px;font-size:13px;position:fixed;transform:translate(-50%);box-shadow:0 4px 16px #0003}.mini-bars{height:110px}.bar-col{justify-content:flex-end;height:100%}.bar-seg{flex-shrink:0}
