:root,.t-light{--bg:#f2f2f7;--surface:#fff;--surface2:#7676801f;--ink:#000;--ink2:#3c3c43d9;--muted:#3c3c4399;--line:#3c3c432e;--p:#007aff;--pTint:#007aff1f;--pInk:#0066d6;--b:#ff9500;--bTint:#ff950024;--bInk:#b35c00;--btn:#007aff;--btnInk:#fff;--danger:#ff3b30;--pos:#248a3d;--chIn:#17803d;--chOut:#9d4edd;--glass:#ffffffb8;--glassLine:#0000000f;--segOn:#fff;--r-chip:12px;--r-field:12px;--r-card:14px;--r-panel:20px;--r-sheet:28px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-7:32px;--font-display:-apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro", system-ui, "Helvetica Neue", Arial, sans-serif;--font-body:-apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro", system-ui, "Helvetica Neue", Arial, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not(.t-light){--bg:#000;--surface:#1c1c1e;--surface2:#7676803d;--ink:#fff;--ink2:#ebebf5d9;--muted:#ebebf599;--line:#54545899;--p:#0a84ff;--pTint:#0a84ff33;--pInk:#409cff;--b:#ff9f0a;--bTint:#ff9f0a33;--bInk:#ffb340;--btn:#0a84ff;--btnInk:#fff;--danger:#ff453a;--pos:#30d158;--chIn:#3da866;--chOut:#a070dc;--glass:#1e1e20b8;--glassLine:#ffffff14;--segOn:#636366;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}.t-dark{--bg:#000;--surface:#1c1c1e;--surface2:#7676803d;--ink:#fff;--ink2:#ebebf5d9;--muted:#ebebf599;--line:#54545899;--p:#0a84ff;--pTint:#0a84ff33;--pInk:#409cff;--b:#ff9f0a;--bTint:#ff9f0a33;--bInk:#ffb340;--btn:#0a84ff;--btnInk:#fff;--danger:#ff453a;--pos:#30d158;--chIn:#3da866;--chOut:#a070dc;--glass:#1e1e20b8;--glassLine:#ffffff14;--segOn:#636366;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font:17px/1.35 var(--font-body);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;margin:0}button,input,select{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}h1,h2,h3,p{margin:0}.page{max-width:640px;padding:calc(env(safe-area-inset-top) + 8px) 16px calc(env(safe-area-inset-bottom) + 120px);margin:0 auto;animation:.25s both fade}@keyframes fade{0%{opacity:0}}.large-title{justify-content:space-between;align-items:flex-end;gap:12px;padding:16px 4px 12px;display:flex}.large-title small{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:13px;font-weight:600;display:block}.large-title h1{font:700 34px/1.1 var(--font-display);letter-spacing:-.02em;align-items:center;gap:10px;display:flex}.back{align-items:center;gap:2px;padding:0 0 6px;display:inline-flex}.row-btns{gap:4px;display:flex}.iconbtn{background:var(--surface);width:44px;height:44px;color:var(--p);border:0;border-radius:50%;place-items:center;display:grid}.iconbtn:active{transform:scale(.9)}.section{color:var(--muted);font:600 13px var(--font-body);text-transform:uppercase;letter-spacing:.03em;justify-content:space-between;align-items:center;margin:24px 4px 8px;display:flex}.linkbtn{color:var(--p);text-transform:none;letter-spacing:0;background:0 0;border:0;padding:8px 0;font-size:17px;font-weight:400}.group{background:var(--surface);border-radius:var(--r-card);overflow:hidden}.ios-row{text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;min-height:56px;padding:10px 16px;display:flex;position:relative}.ios-row+.ios-row:before,.swipe-row+.swipe-row:before{content:"";background:var(--line);height:1px;position:absolute;top:0;left:16px;right:0}button.ios-row:active{background:var(--surface2)}.grow{flex:1;min-width:0;display:block}.linked{width:28px;height:28px;color:var(--p);flex:none;place-items:center;font-size:18px;display:grid}.search-input{font-size:17px}.struck{color:var(--muted);text-decoration:line-through}.rowmain{text-align:left;color:inherit;background:0 0;border:0;padding:8px 0}.title{overflow-wrap:anywhere;font-weight:500;display:block}.sub{color:var(--muted);align-items:center;gap:6px;margin-top:2px;font-size:13px;display:flex}.sub.late{color:var(--danger)}.done .title{color:var(--muted);text-decoration:line-through}.swipe-row{align-items:center;display:flex;position:relative}.swipe-row .ios-row{flex:1;padding-right:8px}.x{color:var(--muted);background:0 0;border:0;flex:none;width:44px;height:44px;font-size:15px}.dot{border-radius:50%;flex:none;width:10px;height:10px;display:inline-block}.dot.sq{border-radius:3px}.ev-time{font-variant-numeric:tabular-nums;flex-direction:column;flex:none;width:48px;font-size:15px;font-weight:600;display:flex}.ev-time small{color:var(--muted);font-size:12px;font-weight:400}.ev-bar{border-radius:2px;flex:none;align-self:stretch;width:4px;margin:2px 0}.check{border:2px solid var(--line);background:0 0;border-radius:50%;flex:none;width:28px;height:28px;position:relative}.check.on{background:var(--p);border-color:var(--p)}.check.on:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:6px;height:12px;position:absolute;top:3px;left:8px;transform:rotate(45deg)}.hero{border-radius:var(--r-panel);background:var(--p);color:#fff;cursor:pointer;gap:4px;margin-top:4px;padding:18px;display:grid}.hero small{opacity:.85;text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.hero strong{font:700 24px/1.2 var(--font-display)}.week{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.week button{background:0 0;border:0;border-radius:14px;justify-items:center;gap:2px;padding:8px 0 6px;display:grid}.week small{color:var(--muted);font-size:12px;font-weight:600}.week b{border-radius:50%;place-items:center;width:36px;height:36px;font-size:19px;font-weight:500;display:grid}.week .today b{color:var(--p);font-weight:700}.week .sel b{background:var(--p);color:#fff}.dots{gap:3px;height:6px;display:flex}.dots i{border-radius:50%;width:5px;height:5px}.btn{background:var(--btn);color:var(--btnInk);border:0;border-radius:14px;justify-content:center;align-items:center;min-height:50px;padding:0 20px;font-weight:600;display:inline-flex}.btn:disabled{opacity:.4}.btn:active:not(:disabled){transform:scale(.97)}.btn.secondary{background:var(--surface);color:var(--p)}.btn.danger{background:var(--surface);color:var(--danger)}.btn.small{min-height:40px;padding:0 16px;font-size:15px}.btn.wide{width:100%;margin-top:16px}.actions{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.fab{right:max(20px,50% - 300px);bottom:calc(env(safe-area-inset-bottom) + 88px);background:var(--p);color:#fff;z-index:5;border:0;border-radius:50%;place-items:center;width:56px;height:56px;display:grid;position:fixed;box-shadow:0 6px 20px #00000040}.fab:active{transform:scale(.92)}.form{gap:12px;padding:4px 16px 24px;display:grid}.form label{background:var(--surface);border-radius:var(--r-field);justify-content:space-between;align-items:center;gap:12px;min-height:50px;padding:6px 16px;display:flex}.form label.btn{background:var(--surface)}.two{grid-template-columns:1fr 1fr;gap:12px;display:grid}.two label{flex-direction:column;align-items:flex-start;gap:0}input:not([type=checkbox]),select{text-align:right;background:0 0;border:0;outline:none;min-width:0}.form>input{background:var(--surface);border-radius:var(--r-field);text-align:left;padding:14px 16px}.two input{text-align:left}.err{color:var(--danger);padding:0 4px;font-size:14px}.hint{color:var(--muted);padding:0 4px;font-size:13px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{background:var(--surface);color:var(--p);border:0;border-radius:999px;padding:8px 14px;font-size:15px}.inline-form{gap:8px;margin-top:16px;display:flex}.inline-form input{background:var(--surface);border-radius:var(--r-field);text-align:left;flex:1;padding:12px 16px}.seg{background:var(--surface2);border-radius:10px;grid-auto-columns:1fr;grid-auto-flow:column;margin:4px 0 8px;padding:2px;display:grid}.seg button{background:0 0;border:0;border-radius:8px;padding:7px 8px;font-size:14px;font-weight:500}.seg button.on{background:var(--segOn);font-weight:600;box-shadow:0 1px 3px #00000026}.form .seg{margin:0}.stats{background:var(--surface);border-radius:var(--r-card);text-align:center;grid-template-columns:repeat(5,1fr);padding:14px 4px;display:grid}.stats.attention{box-shadow:inset 0 0 0 1.5px var(--danger)}.stats b{font:700 24px var(--font-display);font-variant-numeric:tabular-nums;display:block}.stats small{color:var(--muted);font-size:11px;font-weight:500}.stats .warn b{color:var(--danger)}.swatches{gap:12px;padding:4px;display:flex}.swatches button{border:0;border-radius:10px;width:36px;height:36px}.swatches button.on{box-shadow:0 0 0 3px var(--bg), 0 0 0 5px var(--ink)}.switch{appearance:none;background:var(--surface2);cursor:pointer;border:0;border-radius:999px;flex:none;width:51px;height:31px;transition:background .25s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:27px;height:27px;transition:transform .35s cubic-bezier(.34,1.4,.64,1);position:absolute;top:2px;left:2px;box-shadow:0 2px 4px #0000004d}.switch:checked{background:var(--pos)}.switch:checked:after{transform:translate(20px)}.ios-row input[type=time],.ios-row select{color:var(--p);font-size:17px}.ios-row input:disabled,.ios-row select:disabled{color:var(--muted)}.note-ic{text-align:center;flex:none;width:32px;font-size:22px}.note.unread .title:before{content:"";background:var(--p);vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.note .sub{display:block}.when{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;flex:none;font-size:12px}.tab-ic{display:grid;position:relative}.badge{background:var(--danger);color:#fff;min-width:18px;height:18px;font:600 11px/18px var(--font-body);text-align:center;border-radius:9px;padding:0 5px;font-style:normal;position:absolute;top:-4px;right:-10px}.empty{text-align:center;justify-items:center;gap:8px;padding:28px 20px;display:grid}.empty h3{font:600 17px var(--font-display)}.empty p{color:var(--muted);max-width:32ch;font-size:15px}.scrim{z-index:20;background:#00000059;justify-content:center;align-items:flex-end;animation:.2s both fade;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);border-radius:var(--r-sheet) var(--r-sheet) 0 0;width:100%;max-width:560px;max-height:92dvh;padding-bottom:env(safe-area-inset-bottom);animation:.5s cubic-bezier(.32,.72,0,1) both rise;overflow:auto}@keyframes rise{0%{transform:translateY(100%)}}.sheet-head{background:var(--bg);grid-template-columns:1fr auto 1fr;align-items:center;padding:8px 20px;display:grid;position:sticky;top:0}.sheet-head h2{font:600 17px var(--font-display)}.sheet-head .linkbtn{justify-self:start}@media (width>=768px){.scrim{align-items:center}.sheet{border-radius:var(--r-sheet)}}.tabbar{z-index:10;padding:6px 8px calc(env(safe-area-inset-bottom) + 2px);background:var(--glass);border-top:1px solid var(--glassLine);-webkit-backdrop-filter:saturate(180%)blur(24px);backdrop-filter:saturate(180%)blur(24px);justify-content:center;gap:0;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar button{max-width:120px;color:var(--muted);background:0 0;border:0;flex:1;justify-items:center;gap:2px;padding:4px 0;font-size:10px;font-weight:500;display:grid}.tabbar button[aria-current=page]{color:var(--p)}.toast{left:50%;bottom:calc(env(safe-area-inset-bottom) + 84px);z-index:30;background:var(--glass);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid var(--glassLine);border-radius:999px;align-items:center;gap:16px;padding:10px 18px;font-size:15px;animation:.4s cubic-bezier(.34,1.4,.64,1) both pop;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 6px 24px #0003}.toast button{color:var(--p);background:0 0;border:0;font-weight:600}@keyframes pop{0%{opacity:0;transform:translate(-50%,12px)scale(.9)}}@media (width>=1024px){.page{max-width:760px;margin-left:240px;margin-right:auto;padding-bottom:80px}body{background:var(--bg)}.tabbar{width:240px;padding:calc(env(safe-area-inset-top) + 24px) 12px 16px;border-top:0;border-right:1px solid var(--glassLine);flex-direction:column;justify-content:flex-start;gap:4px;top:0;bottom:0;right:auto}.tabbar:before{content:"Plan";font:700 28px var(--font-display);letter-spacing:-.02em;padding:0 12px 20px}.tabbar button{border-radius:10px;flex-direction:row;flex:none;justify-content:flex-start;align-items:center;gap:12px;width:100%;max-width:none;padding:10px 12px;font-size:16px;display:flex}.tabbar button[aria-current=page]{background:var(--pTint)}.tabbar button span:last-child{order:2}.badge{right:-8px}.fab{bottom:40px;right:40px}.toast{bottom:32px}.scrim{align-items:center}.sheet{border-radius:var(--r-sheet);max-height:85vh}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}:focus-visible{outline:2px solid var(--p);outline-offset:2px}
