:root{--bg: #1c1c1e;--text: #f5f5f7;--text-2: #c7c7cc;--muted: #98989f;--placeholder: #6c6c72;--line: rgba(255, 255, 255, .07);--sep: rgba(255, 255, 255, .08);--glass: rgba(255, 255, 255, .09);--rim: rgba(255, 255, 255, .18);--rim-soft: rgba(255, 255, 255, .08);--field: rgba(255, 255, 255, .06);--fill: rgba(255, 255, 255, .05);--fill-2: rgba(255, 255, 255, .08);--fill-3: rgba(255, 255, 255, .12);--hl: rgba(255, 255, 255, .045);--surface: rgba(36, 36, 39, .97);--surface-2: rgba(44, 44, 48, .96);--bar: rgba(38, 38, 42, .78);--dim: rgba(0, 0, 0, .45);--grab: rgba(255, 255, 255, .25);--tog-off: #3a3a3c;--seg-on: #636366;--ev-base: rgba(28, 28, 30, .3);--gloss: rgba(255, 255, 255, .3);--shadow: 0 6px 18px rgba(0, 0, 0, .35);--shadow-lg: 0 20px 44px rgba(0, 0, 0, .5);--blue: #0a84ff;--blue-2: #3d9bff;--link: #5eb0ff;--accent-text: #8cc8ff;--red: #ff453a;--red-text: #ff6961;--green: #30d158;--orange-text: #ffc66b;--orange-2: #d9d0c2;color-scheme:dark}:root[data-theme=light]{--bg: #f2f2f7;--text: #000000;--text-2: #3c3c43;--muted: rgba(60, 60, 67, .6);--placeholder: rgba(60, 60, 67, .3);--line: rgba(60, 60, 67, .1);--sep: rgba(60, 60, 67, .12);--glass: rgba(255, 255, 255, .62);--rim: rgba(0, 0, 0, .07);--rim-soft: rgba(0, 0, 0, .06);--field: #ffffff;--fill: #ffffff;--fill-2: rgba(118, 118, 128, .12);--fill-3: rgba(118, 118, 128, .18);--hl: rgba(0, 122, 255, .04);--surface: rgba(250, 250, 252, .97);--surface-2: rgba(250, 250, 252, .94);--bar: rgba(255, 255, 255, .72);--dim: rgba(0, 0, 0, .22);--grab: rgba(60, 60, 67, .28);--tog-off: #e9e9eb;--seg-on: #ffffff;--ev-base: rgba(255, 255, 255, .55);--gloss: rgba(255, 255, 255, .9);--shadow: 0 6px 20px rgba(0, 0, 0, .08);--shadow-lg: 0 20px 44px rgba(0, 0, 0, .16);--blue: #007aff;--blue-2: #2b95ff;--link: #007aff;--accent-text: #007aff;--red: #ff3b30;--red-text: #ff3b30;--green: #34c759;--orange-text: #b25000;--orange-2: #6b5a40;color-scheme:light}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;touch-action:pan-x pan-y;-webkit-text-size-adjust:100%;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Inter,Segoe UI,system-ui,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}svg.ic{width:1em;height:1em;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.12em;flex:none}.lg{background:var(--glass);border:1px solid var(--rim);backdrop-filter:blur(20px) saturate(170%);-webkit-backdrop-filter:blur(20px) saturate(170%);box-shadow:inset 0 1px 0 var(--gloss),inset 0 -8px 16px #0000000f,var(--shadow)}.badge{min-width:16px;height:16px;border-radius:8px;background:var(--red);color:#fff;font-size:9.5px;font-weight:700;line-height:16px;padding:0 4px;text-align:center}html.phone-lock,html.phone-lock body{height:100%;overscroll-behavior:none}.big{font-size:32px;font-weight:700;letter-spacing:-.02em;margin:0}.sh{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 6px 6px}.btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border-radius:12px;font-size:13px;font-weight:500;cursor:pointer}.btn.primary{background:linear-gradient(180deg,var(--blue-2),var(--blue));color:#fff;border:1px solid rgba(255,255,255,.25);box-shadow:inset 0 1px #ffffff59,0 4px 12px color-mix(in srgb,var(--blue) 35%,transparent)}.btn:disabled{opacity:.5;cursor:default}.sbtn{padding:7px 12px;border-radius:10px;font-size:12.5px;font-weight:500;background:var(--fill-2);border:0;cursor:pointer}.error{color:var(--red-text);font-size:13px;margin:0}.errorbox{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:#ff453a1f;border:1px solid rgba(255,69,58,.4);font-size:13px;margin:6px 0}.errorbox p{margin:0;flex:1}.tog{--w: 30px;--h: 18px;--k: calc(var(--h) - 4px);--on: var(--blue);margin-left:auto;width:var(--w);height:var(--h);border-radius:calc(var(--h) / 2);background:var(--tog-off);position:relative;border:0;padding:0;cursor:pointer;flex:none;touch-action:manipulation;transition:background-color .3s ease,opacity .2s .3s;-webkit-tap-highlight-color:transparent}.tog:after{content:"";position:absolute;top:2px;left:2px;width:var(--k);height:var(--k);border-radius:calc(var(--k) / 2);background:#fff;box-shadow:0 2px 6px #0000002e,0 0 1px #0000001a;transform:translate(calc(var(--x, 0) * (var(--w) - var(--h)))) scale(var(--sx, 1),var(--sy, 1))}.tog.on{background:var(--on)}.login{position:relative;min-height:100dvh;display:grid;place-items:center;overflow:hidden;perspective:900px;padding:calc(env(safe-area-inset-top) + 16px) 20px calc(env(safe-area-inset-bottom) + 16px)}.glows{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.glows i{position:absolute;width:60vmax;height:60vmax;border-radius:50%;filter:blur(80px);opacity:.38;mix-blend-mode:screen}.glows i:nth-child(1){background:#0a84ff;left:-20vmax;top:-15vmax;animation:drift1 18s ease-in-out infinite alternate}.glows i:nth-child(2){background:#bf5af2;right:-25vmax;top:10vmax;animation:drift2 22s ease-in-out infinite alternate}.glows i:nth-child(3){background:#30d158;left:5vmax;bottom:-30vmax;opacity:.25;animation:drift3 26s ease-in-out infinite alternate}:root[data-theme=light] .glows i{mix-blend-mode:multiply;opacity:.28}@keyframes drift1{to{transform:translate(12vmax,10vmax) scale(1.15)}}@keyframes drift2{to{transform:translate(-14vmax,8vmax) scale(.9)}}@keyframes drift3{to{transform:translate(10vmax,-12vmax) scale(1.1)}}.login-card{--mx: 50%;--my: 0%;--rx: 0deg;--ry: 0deg;position:relative;width:100%;max-width:360px;border-radius:28px;padding:30px 24px 26px;display:grid;gap:14px;background:color-mix(in srgb,var(--bg) 62%,transparent);border:1px solid var(--rim);backdrop-filter:blur(30px) saturate(150%);-webkit-backdrop-filter:blur(30px) saturate(150%);box-shadow:inset 0 1px 0 var(--gloss),inset 0 -18px 40px -24px #00000040,var(--shadow-lg);transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .5s cubic-bezier(.2,.8,.2,1);animation:cardin .7s cubic-bezier(.34,1.3,.5,1) backwards}.login-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at var(--mx) var(--my),rgba(255,255,255,.14),transparent 45%)}.login-card.shake{animation:shake .5s cubic-bezier(.36,.07,.19,.97)}@keyframes cardin{0%{opacity:0;transform:translateY(26px) scale(.96)}}@keyframes shake{15%,85%{translate:-3px 0}30%,70%{translate:6px 0}45%{translate:-9px 0}60%{translate:9px 0}}.app-icon{justify-self:center;width:64px;height:64px;border-radius:16px;display:grid;place-items:center;font-size:32px;color:#fff;margin-bottom:2px;background:linear-gradient(160deg,#5ac8fa,#0a84ff 55%,#0060df);box-shadow:inset 0 1px #ffffff80,inset 0 -6px 12px #00000026,0 8px 22px #0a84ff73;animation:iconin .8s .1s cubic-bezier(.34,1.45,.5,1) backwards}@keyframes iconin{0%{opacity:0;transform:scale(.6) rotate(-8deg)}}.login-card h1{margin:0;text-align:center;font-size:28px;font-weight:700;letter-spacing:-.02em}.login-sub{margin:-8px 0 6px;text-align:center;color:var(--muted);font-size:14px}.field{display:flex;align-items:center;gap:10px;padding:0 12px;min-height:48px;border-radius:14px;background:var(--field);border:1px solid var(--rim-soft);color:var(--muted);box-shadow:inset 0 1px 3px #0000001f;transition:border-color .25s,box-shadow .25s,transform .25s}.field input{flex:1;min-width:0;background:none;border:0;outline:none;color:var(--text);font-size:16px;padding:12px 0}.field:focus-within{border-color:color-mix(in srgb,var(--blue) 70%,transparent);box-shadow:inset 0 1px 3px #0000001f,0 0 0 4px color-mix(in srgb,var(--blue) 18%,transparent)}.field:hover:not(:focus-within){border-color:var(--rim)}.peek-pw{border:0;background:none;color:var(--muted);padding:6px;margin-right:-6px;border-radius:10px;cursor:pointer;display:grid;transition:color .2s,background .2s}.peek-pw[aria-pressed=true],.peek-pw:hover{color:var(--blue);background:var(--fill-2)}.login-card .btn{min-height:48px;font-size:16px;font-weight:600;border-radius:14px;margin-top:4px}.login-card .btn.primary:not(:disabled):hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:inset 0 1px #ffffff59,0 10px 24px color-mix(in srgb,var(--blue) 45%,transparent)}.login-card .error{text-align:center}.phone{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;background:var(--bg);--tb-h: 62px;--tb-bottom: max(12px, calc(env(safe-area-inset-bottom) - 10px) )}.content{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;padding:calc(env(safe-area-inset-top) + 12px) 16px calc(var(--tb-bottom) + var(--tb-h) + 14px)}.content::-webkit-scrollbar{display:none}.tabbar{position:absolute;left:18px;right:18px;bottom:var(--tb-bottom);height:var(--tb-h);padding:5px;border-radius:31px;display:flex;z-index:3;touch-action:none;user-select:none;-webkit-user-select:none;background:var(--bar);border:1px solid var(--rim);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);box-shadow:inset 0 1px 0 var(--gloss),var(--shadow-lg)}.tabbar button{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted);font-size:10.5px;font-weight:600;letter-spacing:.01em;border-radius:26px;background:none;border:0;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color .2s,background .2s}.tabbar button:active{transform:scale(.96)}.tabbar button.on{color:var(--blue)}.tb-drop{position:absolute;top:5px;bottom:5px;left:5px;width:calc((100% - 10px) / var(--items));pointer-events:none;transition:transform .55s cubic-bezier(.34,1.3,.5,1)}.tb-drop.held{transition:none}.tb-drop-in{width:100%;height:100%;border-radius:26px;background:var(--fill-3);box-shadow:inset 0 1px 0 var(--gloss),inset 0 -1px #ffffff0f,0 4px 14px #0000001f;backdrop-filter:brightness(1.2) saturate(1.6);-webkit-backdrop-filter:brightness(1.2) saturate(1.6);transition:transform .25s cubic-bezier(.2,.8,.2,1),background .25s}.tb-drop-in.goo{animation:goo .6s cubic-bezier(.3,.7,.3,1)}.tb-drop.held .tb-drop-in{transform:scale(1.14,1.1);background:var(--fill-3)}@keyframes goo{0%{transform:scale(1)}30%{transform:scale(1.3,.86)}65%{transform:scale(.95,1.05)}to{transform:scale(1)}}.tabbar svg.ic{display:block;font-size:23px;stroke-width:1.9}.tabbar .badge{position:absolute;top:4px;left:calc(50% + 6px)}.fab{position:absolute;right:20px;bottom:calc(var(--tb-bottom) + var(--tb-h) + 14px);width:50px;height:50px;border-radius:50%;display:grid;place-items:center;font-size:24px;color:#fff;cursor:pointer;z-index:3}.fab.lg{background:linear-gradient(180deg,var(--blue-2),var(--blue));border-color:#ffffff4d;box-shadow:inset 0 1px #fff6,0 8px 20px color-mix(in srgb,var(--blue) 40%,transparent)}.desk{display:flex;height:100dvh}.side{width:220px;flex:none;padding:18px 14px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:18px;overflow-y:auto}.brand{font-weight:700;font-size:17px;padding:0 6px}.nav button{width:100%;display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:12px;color:var(--muted);font-size:14px;background:none;border:0;cursor:pointer;text-align:left}.nav button.on{color:var(--text);background:var(--fill-2);box-shadow:inset 0 1px 0 var(--gloss)}.nav svg.ic{font-size:18px}.nav .badge{margin-left:auto}.cat{display:flex;align-items:center;gap:9px;padding:6px;font-size:13.5px;border-radius:10px}.sw{width:12px;height:12px;border-radius:4px;flex:none}.sw.dashed{border:1.5px dashed #aeaeb2}.mini{border-radius:16px;padding:10px 12px;font-size:12px;line-height:1.4;margin-bottom:8px}.mini b{display:block;font-size:12.5px}.mini.muted{color:var(--muted)}.main{flex:1;min-width:0;overflow:auto;padding:16px 18px}.wv{display:flex;flex-direction:column}.phone .wv{height:calc(100% + 4px);margin-bottom:-4px}.desk .wv{height:100%}.mempty{color:var(--muted);font-size:12.5px;padding:10px 2px;margin:0}.head{padding:2px 0 10px;display:flex;justify-content:space-between;align-items:flex-end}.month{font-size:28px;font-weight:700;letter-spacing:-.02em}.wk{font-size:12px;color:var(--muted)}.hbtns{display:flex;gap:8px;align-items:center}.pill{font-size:12px;padding:6px 12px;border-radius:999px;font-weight:500;display:flex;gap:5px;align-items:center;cursor:pointer}.circ{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:16px;cursor:pointer;flex:none;padding:0}.grid{--h: calc(100% / var(--n));position:relative;flex:1;border-radius:12px;background:repeating-linear-gradient(to bottom,var(--line) 0 1px,transparent 1px var(--h));background-color:var(--fill);transition:background-color .3s,background-image .3s}.today .grid{background-color:transparent;background-image:repeating-linear-gradient(to bottom,var(--line) 0 1px,transparent 1px var(--h)),linear-gradient(to bottom,#0a84ff17,#0a84ff14)}.focus .grid,.day[data-lit] .grid{background-image:linear-gradient(var(--hl),var(--hl)),repeating-linear-gradient(to bottom,var(--line) 0 1px,transparent 1px var(--h))}.today.focus .grid,.today[data-lit] .grid{background-color:transparent;background-image:repeating-linear-gradient(to bottom,var(--line) 0 1px,transparent 1px var(--h)),linear-gradient(to bottom,#64b9ff30,#50aaff29);box-shadow:inset 0 1px 0 var(--gloss)}.day{display:flex;flex-direction:column;min-width:0;transition:opacity .3s}.day.dim{opacity:.5}.day.dim[data-lit],.desk .day.dim.focus{opacity:.8}.dh{display:flex;gap:5px;align-items:center;justify-content:center;border-radius:999px;background:var(--fill);border:1px solid var(--rim-soft);flex:none}.dn{font-size:10px;text-transform:uppercase;color:var(--muted);letter-spacing:.06em;font-weight:500}.dd{font-size:15px;font-weight:600}.desk .today:not(.focus) .grid{background-color:var(--fill);background-image:repeating-linear-gradient(to bottom,var(--line) 0 1px,transparent 1px var(--h)),linear-gradient(to bottom,#0a84ff24,#0a84ff1c)}.today .dh{background:#0a84ff38;border-color:#0a84ff80}.today .dn{color:var(--text)}.ev{position:absolute;left:3px;right:3px;border-radius:8px;padding:4px 5px 4px 8px;line-height:1.25;overflow:hidden;text-align:left;cursor:pointer;display:flex;color:var(--text);background:linear-gradient(180deg,color-mix(in srgb,var(--c) 55%,var(--ev-base)),color-mix(in srgb,var(--c) 30%,var(--ev-base)));border:1px solid color-mix(in srgb,var(--c) 55%,transparent);box-shadow:inset 3px 0 0 var(--c),inset 0 1px #ffffff4d,0 2px 8px #00000029;flex-direction:column;justify-content:flex-start}.ev:not(.lesson) b{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-weight:600}.ev b{font-weight:600}.ev>*{flex-shrink:0}.ev>span{opacity:.8;display:flex;gap:3px;align-items:center}.ev .words{display:flex;flex-wrap:wrap;column-gap:.28em;height:1.3em;overflow:hidden;line-height:1.3}.ev .words span{white-space:nowrap}.ev .words span:first-child{max-width:100%;overflow:hidden;text-overflow:ellipsis}.ev.lesson small{display:block;margin-top:1px;font-size:.86em;opacity:.68;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ev.x{filter:grayscale(1);background:#8e8e931f;border:1.5px dashed rgba(174,174,178,.7);box-shadow:none;color:var(--text-2)}.ev.x b{text-decoration:line-through}.ev.x.past{opacity:.3}.ev.past{filter:grayscale(1);opacity:.3}.ev.ct{-webkit-mask-image:linear-gradient(to bottom,transparent,#000 10px);mask-image:linear-gradient(to bottom,transparent,#000 10px)}.ev.cb{-webkit-mask-image:linear-gradient(to top,transparent,#000 10px);mask-image:linear-gradient(to top,transparent,#000 10px)}.ev.ct.cb{-webkit-mask-image:linear-gradient(to bottom,transparent,#000 10px,#000 calc(100% - 10px),transparent);mask-image:linear-gradient(to bottom,transparent,#000 10px,#000 calc(100% - 10px),transparent)}.now{position:absolute;left:-2px;right:0;height:2px;background:#ff453a;z-index:2}.now:before{content:"";position:absolute;left:-3px;top:-4px;width:10px;height:10px;border-radius:50%;background:#ff453a}.adwrap{position:absolute;left:3px;right:3px;top:-1px;display:flex;flex-direction:column;z-index:1}.allday{border-radius:999px;padding:2px 8px;margin-top:5px;display:flex;gap:5px;align-items:center;white-space:nowrap;overflow:hidden;font-weight:600;line-height:1.3;cursor:pointer;background:color-mix(in srgb,var(--c) 32%,transparent);border:1px solid color-mix(in srgb,var(--c) 55%,transparent)}.allday span{overflow:hidden;text-overflow:ellipsis}.allday .ic{flex:none}.allday.x{filter:grayscale(1);border-style:dashed}.allday.x span{text-decoration:line-through}.allday.past{filter:grayscale(1);opacity:.3}.cal{flex:1;min-height:0;display:flex;margin:0 -16px}.hours{width:32px;flex:none;padding-top:40px;display:flex}.hrs{position:relative;flex:1}.hrs div{position:absolute;right:0;font-size:9.5px;color:var(--muted);padding-right:5px;transform:translateY(-6px)}.days{flex:1;position:relative;overflow:hidden;touch-action:pan-y;user-select:none;-webkit-user-select:none}.track{display:flex;height:100%;width:max-content;will-change:transform}.phone .day{flex:none;padding:0 2px}.peek{flex:none;display:flex;opacity:.35;pointer-events:none}.peek .day{flex:1 1 auto}.phone .dh{height:30px;margin:6px 2px 4px}.phone .ev{font-size:10px}.phone .ev b{font-size:10.5px}.phone .today .ev b{font-size:11.5px}.phone .allday{font-size:9.5px}.top{display:flex;align-items:center;gap:10px;padding-bottom:16px}.top .t{font-size:24px;font-weight:700;letter-spacing:-.02em}.top .t small{font-size:14px;font-weight:400;color:var(--muted);margin-left:6px}.top .sp{flex:1}.week{display:flex;flex:1;min-height:0}.dhours{width:46px;flex:none;padding-top:46px;display:flex}.dhours .hrs div{font-size:11px;padding-right:8px;transform:translateY(-7px)}.cols{flex:1;display:grid}.wwrap{flex:1;display:flex;position:relative;overflow:hidden}.wwrap>.cols{transition:grid-template-columns .16s ease-out,transform .42s cubic-bezier(.22,1,.36,1)}.wghost{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.desk .day{padding:0 3px;cursor:pointer}.desk .dh{height:34px;margin:6px 3px}.desk .dd{font-size:16px}.desk .ev{font-size:11.5px;padding:6px 8px}.desk .ev b{font-size:12.5px}.desk .allday{font-size:11px}.mview{display:flex;flex-direction:column;flex:1;min-height:0}.mwrap{--pad: 16px;position:relative;overflow:hidden;touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none;margin:0 calc(-1 * var(--pad));padding:0 var(--pad);flex:none}.desk .mwrap{--pad: 18px}.mgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;will-change:transform}.mgrid.anim{transition:transform .42s cubic-bezier(.22,1,.36,1)}.mgrid.ghost{position:absolute;top:0;left:var(--pad);right:var(--pad)}.mtitle-anim{animation:mt .35s cubic-bezier(.22,1,.36,1)}@keyframes mt{0%{opacity:0;transform:translateY(-4px)}}.mdn{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);text-align:center;padding-bottom:2px}.mc{border-radius:12px;background:var(--fill);display:flex;flex-direction:column;align-items:center;padding:5px 0 0;font-size:12.5px;font-weight:500;cursor:pointer;border:1px solid transparent;transition:background .2s;height:40px}.desk .mc{height:52px;font-size:14px}.mc.out{opacity:.28}.mc.today{background:#0a84ff33;color:var(--accent-text);font-weight:700}.mc.sel{background:var(--fill-3);border-color:var(--rim)}.mc.today.sel{background:var(--blue);color:#fff;border-color:#8cc8ffb3}.dots{display:flex;gap:2px;margin-top:auto;padding-bottom:6px}.dots i{width:4.5px;height:4.5px;border-radius:50%}.mlist{margin-top:12px;display:flex;flex-direction:column;gap:6px;transition:opacity .25s,transform .3s cubic-bezier(.22,1,.36,1)}.mview .mlist{flex:1;min-height:0;overflow:auto;scrollbar-width:none}.mlist.fade{opacity:0;transform:translateY(6px)}.mlh{font-size:13px;font-weight:600;margin:0 2px 2px}.mlh:first-letter{text-transform:uppercase}.mlh small{color:var(--muted);font-weight:400;margin-left:6px}.li{display:flex;gap:10px;align-items:center;padding:9px 11px;border-radius:14px;background:var(--fill);border:0;text-align:left;cursor:pointer;width:100%}.li .bar{width:4px;align-self:stretch;border-radius:2px;background:var(--c)}.li .tm{width:42px;flex:none;font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums;line-height:1.3}.li b{display:block;font-size:13px;font-weight:600}.li span{font-size:11.5px;color:var(--muted);display:flex;gap:3px;align-items:center}.li.past{opacity:.4;filter:grayscale(1)}.li.x b{text-decoration:line-through;color:var(--muted)}.li.x .bar{background:repeating-linear-gradient(to bottom,#aeaeb2 0 3px,transparent 3px 6px)}.li.bd{border-radius:999px;padding:7px 12px;background:color-mix(in srgb,var(--c) 25%,transparent);border:1px solid color-mix(in srgb,var(--c) 55%,transparent)}.li.bd span{margin-left:auto}.li.bd.x{filter:grayscale(1);border-style:dashed}.agenda .mlist{margin-top:18px}.agenda>.btn{margin:18px auto 0}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10}.overlay .dim{animation:fadein .35s ease-out;position:absolute;top:0;right:0;bottom:0;left:0;background:var(--dim);backdrop-filter:blur(1.5px);-webkit-backdrop-filter:blur(1.5px)}.sheet{position:absolute;left:0;right:0;bottom:0;top:calc(env(safe-area-inset-top) + 52px);border-radius:28px 28px 38px 38px;background:var(--surface);border-top:1px solid var(--rim);box-shadow:inset 0 1px 0 var(--gloss),0 -10px 30px #0000002e;display:flex;flex-direction:column;backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);animation:up .5s cubic-bezier(.32,.72,0,1)}@keyframes up{0%{transform:translateY(100%)}}.sgrip{flex:none;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none}.grab{width:38px;height:5px;border-radius:3px;background:var(--grab);margin:8px auto 4px;flex:none}.sbar{display:flex;align-items:center;justify-content:space-between;padding:4px 16px 10px}.sbar .t{font-size:15px;font-weight:600}.link{color:var(--link);font-size:14px;cursor:pointer;background:none;border:0;padding:0}.link.b{font-weight:600}.link:disabled{opacity:.5}.overlay .body{flex:1;overflow:auto;padding:0 14px calc(env(safe-area-inset-bottom) + 20px);display:flex;flex-direction:column;gap:12px;scrollbar-width:none}.title-in{font-size:20px;font-weight:600;background:transparent;border:0;color:var(--text);padding:6px 4px;outline:none;width:100%}.title-in::placeholder,.fin::placeholder,.notes::placeholder{color:var(--placeholder)}.grp{border-radius:20px;background:var(--field);border:1px solid var(--rim-soft);box-shadow:var(--shadow);overflow:hidden;flex:none}.f{display:flex;align-items:center;gap:10px;padding:11px 12px;font-size:13.5px;min-height:44px}.f+.f{border-top:1px solid var(--sep)}.f>.ic{font-size:16px;color:var(--muted)}.f .v{margin-left:auto;min-width:0;color:var(--muted);display:flex;gap:6px;align-items:center;white-space:nowrap}.f .vt{overflow:hidden;text-overflow:ellipsis}.f .tog{--w: 46px;--h: 28px;--on: var(--green)}.f .tog:disabled{opacity:.6;cursor:default}.fin{flex:1;min-width:0;background:none;border:0;outline:none;color:var(--text);padding:0}.fin.r{text-align:right}.chipv{position:relative;padding:4px 9px;border-radius:8px;background:var(--fill-2);color:var(--text);font-size:13px;font-variant-numeric:tabular-nums;cursor:pointer}.chipv:focus-within{background:#0a84ff40;color:var(--accent-text)}.chipv input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;opacity:0;cursor:pointer}.chipv.num{width:64px;border:0;outline:none;text-align:center}.sel{position:relative;cursor:pointer}.sel select{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;opacity:0;cursor:pointer}.cats{display:flex;gap:6px;flex-wrap:wrap;padding:10px 12px}.cchip{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:12.5px;cursor:pointer;border:1px solid var(--rim-soft);background:var(--fill-2);transition:.15s}.cchip i{width:9px;height:9px;border-radius:50%;background:var(--c)}.cchip.on{background:color-mix(in srgb,var(--c) 30%,transparent);border-color:color-mix(in srgb,var(--c) 70%,transparent);color:var(--text)}.notes{display:block;width:100%;padding:11px 12px;font-size:13.5px;min-height:64px;background:none;border:0;outline:none;resize:vertical}.hint{font-size:11.5px;color:var(--muted);padding:0 6px;line-height:1.4}.del{color:var(--red-text);text-align:center;font-size:14px;padding:12px;border-radius:16px;background:var(--field);border:0;cursor:pointer;flex:none}.two,.two .col{display:flex;flex-direction:column;gap:12px}.wdays{justify-content:space-between}.wdays button{width:32px;height:32px;border-radius:50%;border:0;background:var(--fill-2);font-size:12.5px;font-weight:600;cursor:pointer}.wdays button.on{background:var(--blue);color:#fff}.modal{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:560px;max-height:calc(100% - 48px);border-radius:24px;background:var(--surface);border:1px solid var(--rim);box-shadow:inset 0 1px 0 var(--gloss),var(--shadow-lg);backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);display:flex;flex-direction:column}.modal .sbar{padding:16px 18px 6px}.modal .sbar .t{font-size:17px}.modal .esc{color:var(--muted)}.modal .body{padding:0 18px 18px}.modal .two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.mfoot{display:flex;gap:10px;justify-content:flex-end;padding:0 18px 18px}.mfoot .link{padding:9px 16px;border-radius:12px;font-size:13.5px;font-weight:500;color:var(--text);background:var(--fill-2)}.mfoot .link.b{background:linear-gradient(180deg,var(--blue-2),var(--blue));color:#fff;box-shadow:inset 0 1px #ffffff59}.alert-wrap{z-index:11;display:grid;place-items:center;padding:24px;background:var(--dim);animation:fadein .2s ease-out}.alert{width:100%;max-width:300px;border-radius:22px;background:var(--surface-2);border:1px solid var(--rim);box-shadow:var(--shadow-lg);text-align:center;overflow:hidden;backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);animation:pop .32s cubic-bezier(.34,1.3,.5,1)}.alert h3{margin:18px 16px 4px;font-size:15px}.alert p{margin:0 18px 14px;font-size:12.5px;color:var(--muted);line-height:1.4}.alert button{display:block;width:100%;padding:12px;border:0;border-top:1px solid var(--sep);background:none;color:var(--link);font-size:14.5px;cursor:pointer}.alert button.c{font-weight:600}.hero{border-radius:20px;padding:14px;flex:none;background:color-mix(in srgb,var(--c) 30%,var(--ev-base));border:1px solid color-mix(in srgb,var(--c) 65%,transparent);box-shadow:inset 0 1px 0 var(--gloss),var(--shadow)}.hero b{display:block;font-size:17px;margin-bottom:6px}.hero div{font-size:13px;color:var(--text-2);display:flex;gap:6px;align-items:center;margin-top:4px}.hero .chg{display:block;color:var(--orange-text);font-weight:600}.src{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--muted);padding:0 4px}.lock{margin-left:auto;font-size:11px;color:var(--muted);display:flex;gap:4px;align-items:center}.notif{padding-left:4px}.desk .notif{max-width:640px}.nday{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:16px 4px 8px}.n{position:relative;width:100%;display:flex;gap:10px;padding:12px 13px;border-radius:20px;background:var(--fill);border:1px solid var(--rim-soft);box-shadow:var(--shadow);margin-bottom:8px;cursor:pointer;text-align:left}.n .ico{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex:none;font-size:15px;background:color-mix(in srgb,var(--c) 25%,transparent);color:var(--c)}.n>div{min-width:0;padding-right:36px}.n b{display:block;font-size:13.5px;font-weight:600;margin-bottom:2px}.n p{margin:0;font-size:12.5px;color:var(--text-2);line-height:1.4}.n .tm{position:absolute;top:11px;right:12px;font-size:11px;color:var(--muted)}.n.unread{background:color-mix(in srgb,var(--blue) 7%,var(--fill))}.n.unread:before{content:"";position:absolute;left:-7px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:var(--blue)}.n s{color:var(--muted)}.overlay .n{cursor:default;margin-bottom:0}.overlay .n>div{padding-right:0}.overlay .nday{margin:4px 4px 8px}.overlay section{display:flex;flex-direction:column;gap:8px}.warn{border-radius:20px;padding:12px;background:#ff9f0a1f;border:1px solid rgba(255,159,10,.45);margin:4px 0 8px}.warn b{display:flex;gap:6px;align-items:center;font-size:13.5px;color:var(--orange-text);margin-bottom:4px}.warn p{margin:0 0 10px;font-size:12.5px;color:var(--orange-2);line-height:1.4}.warn .acts{display:flex;gap:8px}.sbtn.o{background:#ff9f0a;color:#1c1c1e}.stale{font-size:12px;color:var(--muted);margin:4px 4px 8px}.settings section .sh{font-size:12px;letter-spacing:.06em;font-weight:400;margin:18px 6px 6px}.settings>section:first-of-type,.settings>section+section:not(:has(.sh)){margin-top:18px}.desk .settings{max-width:680px}.settings.sub{animation:pushin .38s cubic-bezier(.2,.9,.3,1)}@keyframes pushin{0%{opacity:0;transform:translate(28px)}}.back{display:flex;align-items:center;gap:2px;margin:0 0 6px -4px;font-size:16px}.back .ic{transform:rotate(180deg);font-size:18px}.f>.row{flex:1;min-width:0;display:flex;align-items:center;gap:10px;background:none;border:0;padding:0;color:inherit;font:inherit;text-align:left;cursor:pointer}.f.off .row{opacity:.55}.settings .big{margin-bottom:4px}.desk .settings{padding:6px 10px}.desk .settings .big{font-size:24px;margin-bottom:14px}.settings .hint{padding:6px 6px 0}.settings .f{width:100%;padding:10px 12px}.f small{display:block;font-size:11.5px;color:var(--muted);margin-top:1px}.f small.ok{color:var(--green)}.f small.red{color:var(--red-text)}button.f{background:none;border:0;color:inherit;font-family:inherit;text-align:left;cursor:pointer}button.f+.f,.f+button.f{border-top:1px solid var(--sep)}button.f:disabled{opacity:.6;cursor:default}.f.add{color:var(--link)}.f.add>.ic{color:inherit}.f.red,.f.red>.ic{color:var(--red-text)}.f .v.link{color:var(--link);font-size:13px}.f .v .ic{transition:transform .2s}.f .v.open .ic{transform:rotate(90deg)}.f .v.sbtn{color:var(--text)}.seg{margin-left:auto;position:relative;display:grid;grid-template-columns:repeat(3,1fr);padding:2px;border-radius:10px;background:var(--fill-2);flex:none}.seg:before{content:"";position:absolute;top:2px;bottom:2px;left:2px;width:calc((100% - 4px) / 3);border-radius:8px;background:var(--seg-on);box-shadow:inset 0 1px 0 var(--gloss),0 2px 6px #00000024;transform:translate(calc(var(--i) * 100%));transition:transform .45s cubic-bezier(.34,1.35,.5,1)}.seg button{position:relative;border:0;background:none;padding:5px 9px;font-size:12.5px;font-weight:500;color:var(--muted);cursor:pointer;transition:color .25s;-webkit-tap-highlight-color:transparent}.seg button.on{color:var(--text)}.chipv select{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;opacity:0;cursor:pointer}.csw{width:30px;height:30px;border-radius:50%;background:var(--c);border:2px solid transparent;cursor:pointer;padding:0}.csw.on{box-shadow:0 0 0 2px var(--bg) inset;border-color:var(--text)}.alert button.danger{color:var(--red-text)}.ic.spin{animation:spin .8s linear infinite}.ic.boot{font-size:26px;color:var(--muted);animation:spin .8s linear infinite,fadein .6s ease-in}.offline{position:absolute;z-index:5;left:50%;transform:translate(-50%);bottom:calc(var(--tb-bottom) + var(--tb-h) + 10px);display:flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;font-size:11.5px;font-weight:600;color:var(--text-2);white-space:nowrap;pointer-events:none;animation:fadein .3s}.offline .ic{color:var(--muted);font-size:13px}.desk .offline{position:fixed;bottom:16px;left:18px;transform:none}@keyframes spin{to{transform:rotate(360deg)}}@media(display-mode:standalone){html.phone-lock,html.phone-lock body{height:100lvh}.phone,.overlay{bottom:auto;height:100lvh}.login{min-height:100lvh}:root[data-theme=light] .phone:before{content:"";position:fixed;top:0;left:0;right:0;height:calc(env(safe-area-inset-top) + 6px);z-index:4;pointer-events:none;background:linear-gradient(#00000052,#0000)}}@keyframes fadein{0%{opacity:0}}.view-in{animation:viewin .34s cubic-bezier(.2,.8,.2,1)}.view-in:has(>.wv){height:100%}.phone .view-in:not(:has(>.wv)){min-height:calc(100% + 1px)}.modal{animation:modalin .3s cubic-bezier(.2,.9,.3,1.1)}@keyframes modalin{0%{opacity:0;transform:translate(-50%,-47%) scale(.96)}}@keyframes pop{0%{opacity:0;transform:scale(1.12)}}@keyframes viewin{0%{opacity:0;transform:translateY(8px) scale(.995)}}.lg,.circ,.pill,.btn,.fab,.ev,.allday,.li,.n,.f,.cchip,.mc{transition:transform .28s cubic-bezier(.2,.8,.2,1),background-color .25s,color .25s,opacity .25s}.circ:active,.pill:active,.btn:active,.fab:active,.cchip:active{transform:scale(.94);transition-duration:.1s}.ev:active,.allday:active,.li:active,.n:active,.mc:active{transform:scale(.97);transition-duration:.1s}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
