:root{--bg:#141517;--bg-dim:#101113;--chrome:#1c1e21;--field:#23262a;--gap:#0f1012;--band:#15202d;--line:#24262a;--line-strong:#2e3135;--text:#e6e7e9;--text-2:#9a9ca1;--text-3:#5d6066;--accent:#2f7fd6;--accent-text:#3d8ee6;--danger:#e5484d;--now:#e5484d;--holiday:#3fa34d;--ok:#34c759;--top-bg:var(--chrome);--top-ink:var(--text);--sheet-bg:var(--bg);--list-bg:var(--bg-dim);--card:var(--chrome);--title:#d8d9db;--raised:#2a2c30;--knob-off:#3a3c41;--grabber:#45484d;--ink:#fff;--ink-c:45%;--tint:18%;--tint-blk:22%;--clip-bg:#22364d;--clip-ink:#b9d3f0;--top-h:52px;--hour:48px;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);color:var(--text);background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Hiragino Sans,Hiragino Kaku Gothic ProN,sans-serif;font-size:15px;line-height:1.3}:root[data-theme=light]{--bg:#fff;--bg-dim:#f2f2f4;--chrome:#fff;--field:#ececf0;--gap:#ececf0;--band:#e6f3fd;--line:#e2e3e7;--line-strong:#d3d5da;--text:#1c1d21;--text-2:#6b6e76;--text-3:#a5a8af;--accent:#2f8be6;--accent-text:#1f7ad6;--top-bg:#242a37;--top-ink:#fff;--sheet-bg:#f2f2f6;--list-bg:#ececf0;--card:#fff;--title:#1c1d21;--raised:#fff;--knob-off:#e3e4e8;--grabber:#c9cbd1;--ink:#15161a;--ink-c:12%;--tint:26%;--tint-blk:22%;--clip-bg:#e3f0fc;--clip-ink:#3c5a78;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{overscroll-behavior:none;height:100%;margin:0;overflow:hidden}body{background:var(--bg)}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}input,select,textarea{font:inherit;color:inherit}button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.num{font-variant-numeric:tabular-nums}.app{flex-direction:column;display:flex;position:fixed;inset:0}.topbar{padding-top:var(--safe-t);background:var(--top-bg);height:calc(var(--top-h) + var(--safe-t));flex:none;align-items:center;display:flex}.topbar .icon-btn{width:52px;height:var(--top-h);color:var(--top-ink);flex:none;place-items:center;display:grid}.tabs{flex:1;justify-content:center;gap:2px;display:flex}.tab{height:30px;color:var(--top-ink);border-radius:15px;padding:0 10px;font-size:15px;transition:background-color .15s}.tab[aria-selected=true]{background:var(--accent);color:#fff}.vhead{background:var(--chrome);border-bottom:1px solid var(--line);flex:none;padding:4px 12px 0}.vtitle{color:var(--title);align-items:center;gap:8px;height:34px;font-size:19px;font-weight:400;display:flex}.vtitle b{font-weight:600}.vtitle .sync-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:1s infinite alternate pulse}@keyframes pulse{to{opacity:.2}}.wdays{grid-template-columns:repeat(7,1fr);margin:0 -12px;display:grid}.wdays span{text-align:center;color:var(--text-2);padding:4px 0 5px;font-size:11.5px}.wdays .we{color:var(--text-3)}.wdays .today{color:var(--accent-text)}.vbody{flex:1;min-height:0;position:relative}.picker{background:var(--chrome);padding-bottom:var(--safe-b);border-top:1px solid var(--line);flex:none}.picker-track{scrollbar-width:none;align-items:center;height:64px;padding:0 6px;display:flex;overflow-x:auto}.picker-track::-webkit-scrollbar{display:none}.picker-track.fixed{justify-content:space-between;overflow:hidden}.pick{min-width:54px;height:40px;color:var(--text);border-radius:20px;flex-direction:column;flex:none;justify-content:center;align-items:center;padding:0 10px;line-height:1.1;display:flex}.pick .p-top{color:var(--text-2);font-size:12.5px}.pick .p-main{font-size:17px}.pick .p-sub{font-size:10.5px}.pick.tall{border-radius:23px;height:46px}.pick.cur .p-main,.pick.cur .p-top{color:var(--accent-text)}.pick.we .p-main,.pick.we .p-top{color:var(--text-3)}.pick[aria-current=true]{background:var(--accent)}.pick[aria-current=true] .p-main,.pick[aria-current=true] .p-top,.pick[aria-current=true] .p-sub{color:#fff}.fixed .pick{flex:1;min-width:0;max-width:62px}.mscroll{scroll-snap-type:y mandatory;scrollbar-width:none;position:absolute;inset:0;overflow-y:auto}.mscroll::-webkit-scrollbar{display:none}.month{scroll-snap-align:start;scroll-snap-stop:always;flex-direction:column;height:100%;display:flex}.mrow{border-bottom:1px solid var(--line);flex:1;grid-template-columns:repeat(7,1fr);min-height:0;display:grid}.mrow.band{background:var(--band)}.mcell{border-right:1px solid var(--line);cursor:pointer;min-width:0;padding:2px 0 0;position:relative;overflow:hidden}.mcell:last-child{border-right:0}.mcell.out{background:var(--bg-dim)}.mrow.band .mcell.out{background:0 0}.mnum{text-align:right;color:var(--text);padding:0 4px 2px;font-size:12.5px;display:block}.mcell.out .mnum{color:var(--text-3)}.mcell.today .mnum{background:var(--accent);color:#fff;margin-top:-2px;padding-top:2px;font-weight:600}.more{color:var(--text-2);padding:0 4px;font-size:10.5px}.mlabel{pointer-events:none;color:var(--title);text-shadow:0 2px 16px var(--bg);opacity:0;font-size:26px;transition:opacity .35s;position:absolute;top:46%;right:18px}.mlabel.on{opacity:1;transition:none}.mlabel b{font-weight:600}.mscroll.scrolling .month{opacity:1}.chip{--c:var(--accent);white-space:nowrap;text-overflow:clip;text-align:left;border-radius:1px;width:calc(100% - 2px);height:17px;margin:0 1px 2px;padding:0 3px;font-size:11px;line-height:15px;display:block;overflow:hidden}.chip.timed{border-left:2.5px solid var(--c);background:color-mix(in srgb, var(--c) var(--tint), transparent);color:color-mix(in srgb, var(--c) var(--ink-c), var(--ink));padding-left:5px;line-height:17px}.chip.allday{border:1.5px solid var(--c);color:color-mix(in srgb, var(--c) calc(var(--ink-c) + 10%), var(--ink))}.chip.past{opacity:.5}.dall{border-bottom:1px solid var(--line);background:var(--bg);flex-direction:column;flex:none;gap:2px;padding:4px 8px 4px 52px;display:flex}.dall .chip{width:100%;height:22px;margin:0;font-size:13px;line-height:19px}.dscroll{scrollbar-width:none;position:absolute;inset:0;overflow-y:auto}.dscroll::-webkit-scrollbar{display:none}.dgrid{height:calc(var(--hour) * 24 + 16px);position:relative}.hline{border-top:1px solid var(--line);position:absolute;left:52px;right:0}.hlabel{text-align:right;width:46px;color:var(--text);font-size:15px;position:absolute;left:0;transform:translateY(-9px)}.hlabel small{vertical-align:5px;color:var(--text-2);font-size:9.5px}.nowline{border-top:1.5px solid var(--now);z-index:3;pointer-events:none;position:absolute;left:50px;right:0}.nowline:before{content:"";background:var(--now);border-radius:50%;width:7px;height:7px;position:absolute;top:-4px;left:-3px}.nowlabel{color:var(--now);z-index:3;font-size:9.5px;position:absolute;left:4px;transform:translateY(-6px)}.dev{--c:var(--accent);text-align:left;background:color-mix(in srgb, var(--c) calc(var(--tint) + 6%), var(--bg));border-left:3px solid var(--c);color:color-mix(in srgb, var(--c) var(--ink-c), var(--ink));box-shadow:0 0 0 1px var(--bg);border-radius:3px;padding:2px 5px;font-size:12.5px;line-height:1.25;position:absolute;overflow:hidden}.dev .t{font-weight:600;display:block}.dev .s{opacity:.8;font-size:11.5px}.ghost{height:calc(var(--hour) / 2);background:color-mix(in srgb, var(--accent) 35%, transparent);border:1px solid var(--accent);pointer-events:none;z-index:2;border-radius:3px;position:absolute;left:54px;right:4px}.wlist{flex-direction:column;display:flex;position:absolute;inset:0}.wrow{border-bottom:1px solid var(--line);flex:1;min-height:0;display:flex}.wlab{cursor:pointer;flex-direction:column;flex:none;justify-content:center;align-items:center;width:52px;display:flex}.wlab .wd{color:var(--text);font-size:12.5px}.wlab .dn{color:var(--text);font-size:19px}.wrow.we .wlab .wd,.wrow.we .wlab .dn{color:var(--text-3)}.wrow.today .wlab .wd,.wrow.today .wlab .dn{color:var(--accent-text)}.wevs{scrollbar-width:none;flex:1;gap:3px;min-width:0;padding:1px 0;display:flex;overflow-x:auto}.wevs::-webkit-scrollbar{display:none}.wblk{--c:var(--accent);text-align:left;border-top:3px solid var(--c);background:color-mix(in srgb, var(--c) var(--tint-blk), var(--bg));width:70px;height:100%;color:color-mix(in srgb, var(--c) var(--ink-c), var(--ink));flex-direction:column;flex:none;justify-content:space-between;padding:4px 5px 5px;font-size:11.5px;line-height:1.25;display:flex;overflow:hidden}.wblk .t{-webkit-line-clamp:3;word-break:break-all;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.wblk .s{opacity:.8;font-size:11px}.lscroll{background:var(--list-bg);padding-bottom:16px;position:absolute;inset:0;overflow-y:auto}.lday{padding:0 12px 14px 0}.lhead{text-align:left;width:100%;color:var(--text);padding:18px 12px 10px 48px;font-size:19px;display:block}.lhead b{font-weight:600}.lhead.today,.lhead.today b{color:var(--accent-text)}.lrow{align-items:flex-start;margin-top:10px;display:flex;position:relative}.lhead+.lrow{margin-top:0}.lrow+.lrow:before{content:"";border-left:1.5px solid var(--line-strong);height:46px;position:absolute;top:-34px;left:23.5px}.ldot{z-index:1;flex:none;place-items:center;width:48px;height:44px;display:grid;position:relative}.ldot:before{content:"";background:var(--c);border-radius:50%;width:11px;height:11px}.ldot.pin:before{display:none}.ldot.pin svg{background:var(--c);color:#fff;border-radius:50%;width:19px;height:19px;padding:3.5px}.lcard{text-align:left;background:var(--card);border-radius:10px;flex:1;gap:12px;min-width:0;padding:11px 14px 12px 0;display:flex;box-shadow:0 1px 2px #0000000f}.lcard .lt{text-align:right;width:62px;color:var(--text-2);flex:none;padding-top:2px;font-size:14px}.lcard .lm{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.lcard .t{color:var(--text);word-break:break-word;font-size:16.5px;font-weight:600}.lcard .s{color:var(--text-2);align-items:flex-start;gap:8px;min-width:0;font-size:14.5px;display:flex}.lcard .s svg{color:var(--text-2);flex:none;margin-top:2px}.lcard .s span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lcard .s.note span{white-space:normal;-webkit-line-clamp:3;word-break:break-all;-webkit-box-orient:vertical;display:-webkit-box}.lempty{color:var(--text-3);padding:2px 12px 6px 68px;font-size:15px}.scrim{z-index:20;background:#0000008c;animation:.2s fade;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}@keyframes up{0%{transform:translateY(100%)}}@keyframes left{0%{transform:translate(-100%)}}@keyframes right{0%{transform:translate(100%)}}.sheet{z-index:21;background:var(--chrome);padding-bottom:var(--safe-b);border-radius:12px 12px 0 0;flex-direction:column;max-height:85%;animation:.28s cubic-bezier(.2,.8,.2,1) up;display:flex;position:fixed;bottom:0;left:0;right:0}.grab{touch-action:none;flex:none;place-items:center;height:22px;display:grid}.grab:before{content:"";background:var(--grabber);border-radius:3px;width:36px;height:5px}.sd{padding:4px 0 0;overflow-y:auto}.sd-head{align-items:flex-start;gap:14px;padding:6px 18px 0;display:flex}.sd-head .dot{background:var(--c);border-radius:50%;flex:none;width:13px;height:13px;margin-top:7px}.sd-head h2{word-break:break-word;margin:0;font-size:20px;font-weight:600}.sd-meta{border-bottom:1px solid var(--line);margin-left:0;padding:8px 18px 14px 45px}.sd-meta .d{color:var(--text-2);font-size:15px}.sd-meta .tm{margin-top:4px;font-size:15.5px;font-weight:600}.sd-meta .cal{color:var(--text-2);margin-top:14px;font-size:14.5px}.sd-row{align-items:flex-start;gap:14px;padding:14px 18px;display:flex}.sd-row svg{color:var(--text-2);flex:none;margin-top:1px}.sd-row a{color:var(--accent-text);text-decoration:none}.sd-row .note{white-space:pre-wrap;color:var(--text);word-break:break-word;font-size:14.5px}.sd-actions{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:6px;padding:14px 18px 18px;display:flex}.sd-actions .edit{padding:6px 4px;font-size:16px}.sd-actions .edit+.edit{margin-left:22px}.sd-actions .del{color:var(--danger);padding:6px}.confirm{left:8px;right:8px;bottom:calc(8px + var(--safe-b));z-index:31;flex-direction:column;gap:8px;animation:.22s up;display:flex;position:fixed}.confirm>div{background:var(--raised);border-radius:13px;overflow:hidden}.confirm p{text-align:center;color:var(--text-2);border-bottom:1px solid var(--line-strong);margin:0;padding:13px;font-size:13px}.confirm button{width:100%;height:56px;font-size:18px}.confirm .danger{color:var(--danger)}.confirm .cancel{background:var(--raised);color:var(--accent-text);border-radius:13px;font-weight:600}.editor-wrap{z-index:22;padding-top:calc(var(--safe-t) + 10px);position:fixed;inset:0}.editor-wrap:before{content:"";left:24px;right:24px;top:calc(var(--safe-t) + 2px);background:var(--raised);border-radius:12px;height:20px;position:absolute}.editor{background:var(--sheet-bg);border-radius:12px 12px 0 0;flex-direction:column;height:100%;animation:.3s cubic-bezier(.2,.8,.2,1) up;display:flex;position:relative;overflow:hidden}.ed-bar{background:var(--chrome);flex:none;grid-template-columns:1fr auto 1fr;align-items:center;height:56px;padding:0 16px;display:grid}.ed-bar h1{margin:0;font-size:17px;font-weight:600}.ed-bar .cancel{color:var(--text);justify-self:start;font-size:16px}.ed-bar .save{color:var(--accent-text);justify-self:end;font-size:16px;font-weight:600}.ed-bar .save:disabled{color:var(--text-3)}.ed-body{padding-bottom:calc(24px + var(--safe-b));flex:1;overflow-y:auto}.grp{background:var(--chrome);margin-top:16px}.grp.first{margin-top:0;padding:12px 10px}.title-well{background:var(--field);border-radius:8px;align-items:center;gap:12px;height:60px;padding:0 14px;display:flex}.title-well .dot{background:var(--c);border-radius:50%;flex:none;width:8px;height:8px}.title-well input{background:0 0;border:0;outline:0;flex:1;min-width:0;height:100%;font-size:17px}.title-well input::placeholder{color:var(--text-2)}.nlp-hint{color:var(--accent-text);padding:6px 4px 0 34px;font-size:12.5px}.when{border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:stretch;height:84px;display:flex}.when>svg{color:var(--text-2);flex:none;align-self:center;margin:0 14px 0 18px}.wcol{flex-direction:column;flex:1;justify-content:center;padding-left:8px;display:flex;position:relative}.wcol .wd{color:var(--text);opacity:.85;font-size:15px}.wcol .wt{margin-top:2px;font-size:23px;font-weight:600}.wcol input{opacity:0;appearance:none;width:100%;height:100%;position:absolute;inset:0}.wcol.invalid .wt,.wcol.invalid .wd{color:var(--danger);text-decoration:line-through}.wsep{flex:none;align-self:stretch;width:30px}.wsep svg{width:100%;height:100%}.row{text-align:left;align-items:center;gap:14px;width:100%;min-height:52px;padding:0 16px 0 18px;font-size:16px;display:flex;position:relative}.row+.row{border-top:1px solid var(--line)}.row .grow{flex:1;min-width:0}.row>svg{color:var(--text-2);flex:none}.row .val{color:var(--text-2);font-size:15px}.row select{opacity:0;width:100%;position:absolute;inset:0}.row .x{color:var(--text-2);z-index:1;margin-right:-8px;padding:8px;position:relative}.row .cdot{background:var(--c);border-radius:50%;flex:none;width:13px;height:13px}.row .chev{color:var(--text-2)}.row textarea,.row input[type=text]{resize:none;background:0 0;border:0;outline:0;flex:1;padding:14px 0;font-size:16px}.row textarea{min-height:52px}.switch{appearance:none;background:var(--knob-off);cursor:pointer;border-radius:16px;flex:none;width:51px;height:31px;margin:0;transition:background-color .2s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:27px;height:27px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 2px 4px #0000004d}.switch:checked{background:var(--ok)}.switch:checked:after{transform:translate(20px)}.colors-toggle{color:var(--text-2);border-top:1px solid var(--line);justify-content:center;align-items:center;gap:6px;width:100%;margin:0 0 0 auto;padding:10px 0 6px;font-size:13px;display:flex}.swatches{grid-template-columns:repeat(6,1fr);justify-items:center;gap:14px 0;padding:6px 12px 16px;display:grid}.sw{background:var(--c);border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.sw[aria-pressed=true]{box-shadow:0 0 0 3px var(--chrome), 0 0 0 5px var(--text-2)}.sw.none{background:var(--knob-off);color:var(--text)}.extras{background:var(--chrome);border-radius:10px;margin:24px 14px 0;display:flex}.extras button{color:var(--text);flex-direction:column;flex:1;align-items:center;gap:4px;padding:12px 0 10px;font-size:13px;display:flex}.extras button svg{color:var(--text-2)}.extras button[disabled]{opacity:.35}.ed-note{color:var(--text-2);padding:10px 18px;font-size:13px}.subpage{background:var(--sheet-bg);z-index:2;flex-direction:column;animation:.25s cubic-bezier(.2,.8,.2,1) right;display:flex;position:absolute;inset:0}.subpage .ed-bar .cancel{align-items:center;display:flex}.ghead{color:var(--text-2);text-align:right;padding:12px 16px 8px;font-size:13px}.drawer{z-index:21;background:var(--top-bg);width:min(92vw,380px);color:var(--top-ink);padding-top:var(--safe-t);flex-direction:column;animation:.26s cubic-bezier(.2,.8,.2,1) left;display:flex;position:fixed;top:0;bottom:0;left:0}.dr-top{justify-content:space-around;padding:18px 8px 16px;display:flex}.dr-top button{flex-direction:column;align-items:center;gap:6px;width:90px;font-size:14px;display:flex}.dr-top .circ{background:color-mix(in srgb, var(--top-ink) 12%, transparent);border-radius:50%;place-items:center;width:50px;height:50px;display:grid}.dr-top .spin svg{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.dr-body{background:var(--bg);color:var(--text);padding:0 22px calc(20px + var(--safe-b));border-radius:12px 12px 0 0;flex:1;overflow-y:auto}.dr-sec{border-top:1px solid var(--line-strong);padding:12px 0 4px}.dr-sec:first-child{border-top:0}.dr-sh{justify-content:space-between;align-items:flex-start;display:flex}.dr-sh h3{margin:0;font-size:15px;font-weight:500}.dr-sh p{color:var(--text-2);margin:2px 0 0;font-size:13.5px}.dr-sh button{color:var(--text-2);padding:2px 0;font-size:14px}.dr-cal{text-align:left;align-items:center;gap:16px;width:100%;height:56px;font-size:17px;display:flex}.dr-cal+.dr-cal{border-top:1px solid var(--line);width:calc(100% - 50px);margin-left:50px}.dr-cal+.dr-cal .ring{margin-left:-50px}.ring{border:2.5px solid var(--c);color:#fff;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;display:grid}.ring.on{background:var(--c)}.btn-wide{background:var(--raised);border-radius:10px;width:100%;height:50px;margin-top:18px;font-size:16px}.btn-wide.primary{background:var(--accent);color:#fff;font-weight:600}.dr-empty{color:var(--text-2);padding:16px 0 0;font-size:14px;line-height:1.5}.settings{z-index:30;background:var(--gap);padding-top:var(--safe-t);flex-direction:column;animation:.28s cubic-bezier(.2,.8,.2,1) up;display:flex;position:fixed;inset:0}.settings .ed-bar{text-align:center;grid-template-columns:52px 1fr 52px;padding:0 4px}.settings .ed-bar button{place-items:center;height:52px;display:grid}.settings .sec-label{color:var(--text-2);padding:18px 26px 8px;font-size:14px}.settings .grp{margin-top:0}.settings .grp+.grp{margin-top:22px}.avatar{color:#cfe6ff;background:#2a8be0;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;display:grid}.add{color:var(--accent-text)}.foot{color:var(--text-3);padding:18px 26px;font-size:12.5px;line-height:1.5}.chip,.dev,.wblk,.lcard,.mcell,.wevs,.wlab{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.clipbar{left:12px;right:12px;bottom:calc(76px + var(--safe-b));z-index:15;background:var(--clip-bg);border:1px solid var(--accent);border-radius:12px;align-items:center;gap:12px;padding:10px 12px 10px 16px;animation:.22s up;display:flex;position:fixed;box-shadow:0 8px 30px #00000080}.clipbar span{min-width:0;color:var(--clip-ink);flex:1;font-size:13px}.clipbar b{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;display:block;overflow:hidden}.clipbar button{background:var(--accent);color:#fff;border-radius:17px;height:34px;padding:0 14px;font-size:15px;font-weight:600}.toast{left:12px;right:12px;bottom:calc(80px + var(--safe-b));z-index:40;background:var(--raised);border-radius:12px;align-items:center;gap:12px;padding:14px 16px;font-size:14.5px;animation:.25s up;display:flex;position:fixed;box-shadow:0 8px 30px #00000080}.toast span{flex:1}.toast button{color:var(--accent-text);font-weight:600}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important}}
