:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, Roboto, "Helvetica Neue", sans-serif;--bg:#eef0f6;--surface:#fff;--card:#ffffffb8;--fill:#7878801f;--fill-strong:#78788033;--text:#1c1c1e;--text-2:#3c3c43ad;--text-3:#3c3c4352;--sep:#3c3c4329;--accent:#007aff;--accent-text:#0062cc;--ok:#34c759;--ok-text:#1e8a3a;--warn:#ff9500;--danger:#ff3b30;--danger-text:#d70015;--glass:#ffffff8c;--glass-thick:#f8f9fdd1;--glass-hi:#ffffffd9;--blur:blur(22px) saturate(190%);--blur-thick:blur(38px) saturate(200%);--glass-edge:inset 1px 1px 0 #ffffffe6, inset -1px -1px 0 #ffffff59, inset 0 0 0 .5px #fff9;--glass-shadow:0 0 0 .5px #1e284617, 0 10px 32px #1e2d5a24, 0 2px 6px #1e2d5a0f;--card-shadow:0 0 0 .5px #1e284612, 0 4px 18px #1e2d5a12;--sheet-group:#ffffffb3;--scrim:#14182852;--blob-1:#007aff38;--blob-2:#ff69b429;--blob-3:#34c75926;--p0:#007aff;--p1:#e8590c;--p2:#8e44ec;--p3:#0f9d8a;--r-card:1.5rem;--r-ctl:999px;--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);--dock-h:calc(4.6rem + var(--sab));--side-w:15.5rem;--ease:cubic-bezier(.2, .8, .2, 1)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}html.tg{--sat:calc(var(--tg-safe-area-inset-top,env(safe-area-inset-top,0px)) + var(--tg-content-safe-area-inset-top,0px));--sab:calc(var(--tg-safe-area-inset-bottom,env(safe-area-inset-bottom,0px)) + var(--tg-content-safe-area-inset-bottom,0px));--sal:calc(var(--tg-safe-area-inset-left,env(safe-area-inset-left,0px)) + var(--tg-content-safe-area-inset-left,0px));--sar:calc(var(--tg-safe-area-inset-right,env(safe-area-inset-right,0px)) + var(--tg-content-safe-area-inset-right,0px))}@media (prefers-color-scheme:dark){:root{--bg:#06070b;--surface:#1c1c1e;--card:#2c2e368c;--fill:#7878803d;--fill-strong:#7878805c;--text:#f5f5f7;--text-2:#ebebf5a8;--text-3:#ebebf552;--sep:#9696a047;--accent:#0a84ff;--accent-text:#4aa3ff;--ok:#30d158;--ok-text:#32d74b;--warn:#ff9f0a;--danger:#ff453a;--danger-text:#ff6961;--glass:#484a546b;--glass-thick:#1e2028d6;--glass-hi:#82849280;--glass-edge:inset 1px 1px 0 #ffffff42, inset -1px -1px 0 #ffffff0f, inset 0 0 0 .5px #ffffff24;--glass-shadow:0 0 0 .5px #ffffff0f, 0 12px 36px #0000008c, 0 2px 6px #0000004d;--card-shadow:inset 0 0 0 .5px #ffffff17, 0 4px 18px #0000004d;--sheet-group:#787a8633;--scrim:#0000008c;--blob-1:#0a84ff4d;--blob-2:#bf5af233;--blob-3:#30d1581f;--p0:#4aa3ff;--p1:#ff7a3d;--p2:#b57bff;--p3:#2ec4b0}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);min-height:100dvh;color:var(--text);font:1rem/1.4 var(--font);letter-spacing:-.011em;-webkit-font-smoothing:antialiased;font-optical-sizing:auto;margin:0}body:after{content:"";height:var(--sat);z-index:40;pointer-events:none;background:var(--glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);position:fixed;top:0;left:0;right:0;-webkit-mask-image:linear-gradient(#000 55%,#0000);mask-image:linear-gradient(#000 55%,#0000)}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(42rem 36rem at 10% 6%, var(--blob-1), transparent 70%), radial-gradient(38rem 32rem at 95% 20%, var(--blob-2), transparent 70%), radial-gradient(44rem 38rem at 65% 100%, var(--blob-3), transparent 70%);position:fixed;inset:-10%}[hidden]{display:none!important}h1,h2,h3,p{margin:0}ul{margin:0;padding:0;list-style:none}a{color:var(--accent-text)}button{font:inherit;letter-spacing:inherit;color:inherit;text-align:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:0;margin:0;padding:0}button:disabled{opacity:.4;cursor:default}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:color-mix(in srgb, var(--accent) 30%, transparent)}.press{transition:transform .45s var(--ease), opacity .2s, background .2s}.press:active:not(:disabled){transition-duration:60ms;transform:scale(.95)}.screen{max-width:40rem;padding:0 max(1rem, var(--sar)) calc(var(--dock-h) + 1.5rem) max(1rem, var(--sal));margin:0 auto;animation:.25s ease-out fade}.icon-btn,.sticky-top,.tabbar,.toast,.sheet{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--glass-edge), var(--glass-shadow)}.sheet{background:var(--glass-thick);-webkit-backdrop-filter:var(--blur-thick);backdrop-filter:var(--blur-thick)}.hero,.group,.lesson,.empty-card{background:var(--card);-webkit-backdrop-filter:blur(16px)saturate(160%);backdrop-filter:blur(16px)saturate(160%);box-shadow:var(--card-shadow), inset 0 1px 0 #ffffff80}.sheet .group{background:var(--sheet-group);box-shadow:inset 0 0 0 .5px var(--sep);-webkit-backdrop-filter:none;backdrop-filter:none}.large-title{letter-spacing:-.026em;font-size:2.125rem;font-weight:700;line-height:1.1}.time-btn{font:inherit;font-variant-numeric:tabular-nums;letter-spacing:.01em;color:var(--accent-text);background:var(--fill);cursor:pointer;border:0;border-radius:99px;min-width:5rem;padding:.45rem 1rem;font-weight:600}.wheels{--row:44px;justify-content:center;align-items:center;gap:.25rem;padding:1.25rem 1rem;display:flex;position:relative}.wheel-band{height:var(--row);background:var(--fill);pointer-events:none;border-radius:1rem;position:absolute;top:50%;left:1.5rem;right:1.5rem;transform:translateY(-50%)}.wheel{z-index:1;width:5.5rem;position:relative;-webkit-mask-image:linear-gradient(#0000,#000 28% 72%,#0000);mask-image:linear-gradient(#0000,#000 28% 72%,#0000)}.wheel-scroll{height:calc(var(--row) * 5);scroll-snap-type:y mandatory;overscroll-behavior:contain;scrollbar-width:none;padding:calc(var(--row) * 2) 0;box-sizing:border-box;touch-action:pan-y;outline:none;overflow-y:auto}.wheel-scroll::-webkit-scrollbar{display:none}.wheel-scroll:focus-visible{box-shadow:0 0 0 2px var(--accent);border-radius:1rem}.wheel-item{height:var(--row);line-height:var(--row);text-align:center;font-variant-numeric:tabular-nums;scroll-snap-align:center;scroll-snap-stop:always;cursor:pointer;-webkit-user-select:none;user-select:none;will-change:transform, opacity;font-size:1.5rem;font-weight:500;display:block}.wheel-colon{z-index:1;padding-bottom:.15rem;font-size:1.5rem;font-weight:600}@media (prefers-reduced-motion:reduce){.wheel-item{transform:none!important}}.tp{z-index:60;background:var(--glass-thick);-webkit-backdrop-filter:var(--blur-thick);backdrop-filter:var(--blur-thick);box-shadow:var(--glass-edge), var(--glass-shadow), 0 24px 60px #141e3c38;border-radius:1.75rem;justify-items:center;gap:.9rem;padding:1.1rem 1.1rem 1rem;animation:.5s cubic-bezier(.2,1.1,.3,1) backwards tp-in;display:grid;position:fixed}.tp-scrim{z-index:59;background:var(--scrim);animation:.3s both fade;position:fixed;inset:0}.tp-scrim.out{animation:.26s reverse both fade}.tp.out{animation:tp-out .26s var(--ease) both;pointer-events:none}@keyframes tp-in{0%{opacity:0;transform:scale(.84)}to{opacity:1;transform:none}}@keyframes tp-out{0%{opacity:1;transform:none}to{opacity:0;transform:scale(.9)}}.row.sync-row{min-height:5.4rem}.tp-title{letter-spacing:.02em;color:var(--text-2);justify-self:start;margin:0;font-size:.8125rem;font-weight:600}.tp-fields{align-items:center;gap:.35rem;display:flex}.tp-num{text-align:center;width:5.4rem;height:4rem;font:inherit;box-sizing:border-box;font-variant-numeric:tabular-nums;color:var(--text);background:var(--fill);caret-color:#0000;transition:background .35s var(--ease), color .25s, box-shadow .35s var(--ease);border:0;border-radius:1.1rem;outline:none;padding:0;font-size:2.5rem;font-weight:500;line-height:1}.tp-num.on{background:color-mix(in srgb, var(--accent) 22%, transparent);color:var(--accent-text);box-shadow:inset 0 0 0 2px var(--accent)}.tp-colon{color:var(--text-2);font-size:2.25rem;font-weight:600}.dial{background:var(--fill);touch-action:none;cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:inset 0 0 0 .5px var(--sep);border-radius:50%;position:relative}.dial-dot{background:var(--accent);border-radius:50%;width:.5rem;height:.5rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.dial-line{transform-origin:0;background:var(--accent);pointer-events:none;border-radius:2px;height:2px;position:absolute;top:50%;left:50%}.dial-thumb{pointer-events:none;z-index:2;color:#fff;font-variant-numeric:tabular-nums;background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 80%, #fff), var(--accent));width:2.4rem;height:2.4rem;box-shadow:inset 1px 1px 0 #ffffff80, 0 4px 12px color-mix(in srgb, var(--accent) 45%, transparent);transition:width .3s var(--ease), height .3s var(--ease);border-radius:50%;place-items:center;font-size:.9375rem;font-weight:600;display:grid;position:absolute;top:0;left:0}.dial-labels{opacity:0;filter:blur(4px);pointer-events:none;transition:opacity .35s var(--ease), transform .5s var(--ease), filter .35s var(--ease);position:absolute;inset:0;transform:scale(.9)}.dial-labels.on{opacity:1;filter:none;transform:none}.dial-labels span{font-variant-numeric:tabular-nums;color:var(--text);font-size:1rem;position:absolute;transform:translate(-50%,-50%)}.dial-labels span.in{color:var(--text-2);font-size:.8125rem}.tp-done{font:inherit;color:var(--accent-text);background:var(--glass-hi);cursor:pointer;border:0;border-radius:99px;justify-self:end;padding:.5rem 1.2rem;font-size:.9375rem;font-weight:600;box-shadow:inset 1px 1px #fff9,0 0 0 .5px #1e284614}@media (prefers-reduced-motion:reduce){.tp{animation:.15s both fade}.tp.out{animation:.12s reverse both fade}.dial-labels{filter:none;transform:none}}@media (prefers-reduced-transparency:reduce){.tp{-webkit-backdrop-filter:none;backdrop-filter:none}}.selectable{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}.headline{letter-spacing:-.014em;font-size:1.0625rem;font-weight:600;line-height:1.3}.caption{color:var(--text-2);letter-spacing:.005em;font-size:.8125rem;line-height:1.35}.num{font-variant-numeric:tabular-nums}.err-text{color:var(--danger-text)}.navbar{padding:max(1.1rem, calc(var(--sat) + .6rem)) .25rem .25rem;justify-content:space-between;align-items:flex-end;gap:.75rem;display:flex}.nav-actions{gap:.6rem;padding-bottom:.15rem;display:flex}.subtitle{min-height:1.4rem;padding:0 .25rem .85rem}.tab-icon{display:grid;position:relative}.alert-dot{background:var(--danger);width:.6rem;height:.6rem;box-shadow:0 0 0 2px var(--bg);border-radius:50%;position:absolute;top:-.1rem;right:-.25rem}.data-wrap{gap:.5rem;width:100%;max-width:46rem;display:grid}.icon-btn{width:2.75rem;height:2.75rem;color:var(--accent-text);border-radius:50%;place-items:center;display:grid;position:relative}.icon-btn:active:not(:disabled){background:var(--glass-hi)}.icon-btn.spin svg{animation:1s linear infinite spin}.sticky-top{top:calc(var(--sat) + .5rem);z-index:5;border-radius:1.9rem;margin-bottom:.25rem;padding:.55rem .6rem .35rem;position:sticky}.seg{grid-template-columns:repeat(var(--n), 1fr);background:var(--fill);border-radius:99px;padding:3px;display:grid;position:relative;box-shadow:inset 0 1px 2px #0000000f}.seg-thumb{width:calc((100% - 6px) / var(--n));background:var(--glass-hi);transform:translateX(calc(var(--i) * 100%));transition:transform .42s var(--ease);border-radius:99px;position:absolute;top:3px;bottom:3px;left:3px;box-shadow:inset 1px 1px #ffffffb3,0 2px 8px #1e2d5a29,0 0 0 .5px #1e284614}.seg button{z-index:1;text-align:center;padding:.5rem .25rem;font-size:.8125rem;font-weight:500;position:relative}.seg button.on{font-weight:600}.weekrow{justify-content:space-between;align-items:center;gap:.25rem;margin-top:.55rem;display:flex}.weekrow .mid{align-items:center;gap:.15rem;display:flex}.weekrow .title{text-align:center;min-width:6.5rem;font-size:.9375rem;font-weight:600}.weekrow .nav{width:2.25rem;height:2.25rem;color:var(--accent-text);border-radius:50%;place-items:center;display:grid}.weekrow .today{color:var(--accent-text);text-align:right;min-width:4.5rem;padding:.25rem .25rem .25rem .5rem;font-size:.9375rem;font-weight:500}.weekrow .today.ghost{visibility:hidden}.weekrow .left-spacer{min-width:4.5rem}.strip{grid-template-columns:repeat(7,1fr);gap:.1rem;margin-top:.2rem;padding-bottom:.2rem;display:grid}.daychip{border-radius:1rem;justify-items:center;gap:.1rem;padding:.3rem 0 .4rem;display:grid;position:relative}.daychip .dow{color:var(--text-2);letter-spacing:.02em;text-transform:uppercase;font-size:.6875rem;font-weight:500}.daychip .dom{font-variant-numeric:tabular-nums;width:2.2rem;height:2.2rem;transition:background .3s var(--ease), color .25s, box-shadow .3s;border-radius:50%;place-items:center;font-size:1.0625rem;font-weight:500;display:grid}.daychip.today .dom{color:var(--accent-text);font-weight:700}.daychip.on .dom{background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 82%, #fff), var(--accent));color:#fff;box-shadow:inset 1px 1px 0 #ffffff73, 0 3px 10px color-mix(in srgb, var(--accent) 45%, transparent);font-weight:700}.daychip .dot{background:var(--text-3);border-radius:50%;width:.3rem;height:.3rem}.daychip.on .dot,.daychip.today .dot{background:var(--accent)}.daychip .dot.none{visibility:hidden}@keyframes swap-in{0%{opacity:0;transform:translateX(calc(var(--dir,1) * var(--swap-d,2.5rem)))}to{opacity:1;transform:none}}.swap{animation:swap-in .5s var(--ease) both}.swap-sm{--swap-d:1rem}.swap-md{--swap-d:1.75rem}.title-clip,.strip-clip{display:block;overflow:clip}.title-clip{display:inline-block}.day-head{gap:.1rem;padding:1.1rem .5rem .65rem;display:grid}.day-title{letter-spacing:-.022em;font-size:1.5rem;font-weight:700;line-height:1.2}.stack{gap:.65rem;display:grid}.lesson{border-radius:var(--r-card);position:relative;overflow:hidden}.lesson-main{width:100%;transition:transform .45s var(--ease), background .15s;grid-template-columns:3rem .22rem 1fr auto;align-items:center;gap:.8rem;padding:.9rem 1rem .9rem 1.1rem;display:grid}.lesson-main:active{background:var(--fill);transition-duration:60ms;transform:scale(.985)}.l-time{font-variant-numeric:tabular-nums;justify-items:start;line-height:1.15;display:grid}.l-time b{letter-spacing:-.02em;font-size:1.0625rem;font-weight:600}.l-time i{color:var(--text-2);font-size:.8125rem;font-style:normal}.l-bar{background:var(--c,var(--accent));min-height:2.4rem;box-shadow:0 0 12px color-mix(in srgb, var(--c,var(--accent)) 45%, transparent);border-radius:99px;align-self:stretch}.l-body{gap:.1rem;min-width:0;display:grid}.l-title{letter-spacing:-.014em;font-size:1.0625rem;font-weight:600;line-height:1.25}.l-meta{color:var(--text-2);letter-spacing:.005em;font-size:.875rem;line-height:1.3}.l-tag{color:var(--c,var(--accent-text));font-size:.8125rem;font-weight:500}.l-more{color:var(--text-3)}.lesson.remote .l-time,.lesson.remote .l-body{opacity:.6}.lesson.remote{--c:var(--text-3)}.lesson.remote .l-bar{box-shadow:none}.lesson.p0{--c:var(--p0)}.lesson.p1{--c:var(--p1)}.lesson.p2{--c:var(--p2)}.lesson.p3{--c:var(--p3)}.lesson.teacher{--c:var(--ok)}.lesson.teacher .l-tag{color:var(--ok-text)}.lesson.teacher.before .l-bar,.lesson.teacher.after .l-bar{opacity:.45}.lesson .pick{width:calc(100% - 2rem);margin:0 1rem .9rem;display:block}.parallel{border:1.5px dashed color-mix(in srgb, var(--accent) 60%, transparent);border-radius:calc(var(--r-card) + .4rem);background:color-mix(in srgb, var(--accent) 6%, transparent);padding:.55rem}.par-label{color:var(--accent-text);padding:.1rem .5rem .5rem;font-size:.8125rem;font-weight:600}.tblock{margin-top:1.1rem}.tname{color:var(--ok-text);text-transform:uppercase;letter-spacing:.04em;padding:0 .5rem .5rem;font-size:.8125rem;font-weight:600}.empty{text-align:center;color:var(--text-2);justify-items:center;gap:.5rem;padding:2.5rem 1rem;display:grid}.empty .headline{color:var(--text)}.empty .btn-primary{max-width:20rem;margin-top:.75rem}.btn-primary{background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 80%, #fff), var(--accent));color:#fff;border-radius:var(--r-ctl);text-align:center;width:100%;box-shadow:inset 1px 1px 0 #ffffff80, inset -1px -1px 0 #0000000f, 0 6px 18px color-mix(in srgb, var(--accent) 38%, transparent);padding:.95rem 1.4rem;font-size:1.0625rem;font-weight:600;display:block}.btn-tint{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent-text);border-radius:var(--r-ctl);text-align:center;padding:.65rem 1rem;font-size:.9375rem;font-weight:600;box-shadow:inset 1px 1px #ffffff59}.btn-plain{color:var(--accent-text);padding:.25rem;font-size:1.0625rem}.btn-plain.strong{font-weight:600}.btn-plain.danger{color:var(--danger-text)}.btn-plain.small{font-size:.9375rem}.section-title{color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;padding:1.5rem 1.1rem .45rem;font-size:.8125rem;font-weight:600}.group{border-radius:var(--r-card);overflow:hidden}.group>*{position:relative}.group>:not(:last-child):after{content:"";background:var(--sep);height:.5px;position:absolute;bottom:0;left:1.1rem;right:0}.group:focus-within{box-shadow:var(--card-shadow), 0 0 0 2px color-mix(in srgb, var(--accent) 45%, transparent)}.footnote{color:var(--text-2);letter-spacing:.005em;padding:.5rem 1.1rem 0;font-size:.8125rem;line-height:1.4}.row{text-align:left;align-items:center;gap:.8rem;width:100%;min-height:3.1rem;padding:.7rem 1.1rem;transition:background .15s;display:flex}button.row:active,label.row:active,summary.row:active{background:var(--fill);transition-duration:0s}.row-main{flex:1;gap:.1rem;min-width:0;display:grid}.row-title{letter-spacing:-.014em;font-size:1.0625rem;line-height:1.3}.row-title.strong{font-weight:600}.row-sub{color:var(--text-2);letter-spacing:.005em;font-size:.875rem;line-height:1.3}.row .trail{color:var(--text-2);font-variant-numeric:tabular-nums;align-items:center;gap:.25rem;font-size:.9375rem;display:flex}.row .chev{color:var(--text-3)}.row:disabled{opacity:.45;cursor:default}.row.accent .row-title{color:var(--accent-text)}.row.danger .row-title{color:var(--danger-text)}.row input[type=file]{display:none}details.row-details>summary{cursor:pointer;list-style:none}details.row-details>summary::-webkit-details-marker{display:none}details.row-details[open]>summary .chev{transform:rotate(90deg)}.row .chev{transition:transform .3s var(--ease);display:grid}.details-body{gap:.6rem;padding:0 1.1rem 1rem;display:grid}.input{font:inherit;letter-spacing:inherit;color:inherit;resize:none;background:0 0;border:0;border-radius:0;outline:none;width:100%;padding:.85rem 1.1rem;display:block}.input::placeholder{color:var(--text-3)}textarea.input{field-sizing:content;min-height:4.5rem;line-height:1.4}.input.boxed{background:var(--fill);border-radius:1rem;padding:.7rem .9rem}select.input.boxed{appearance:none;background-image:none}.chk{appearance:none;border:2px solid var(--text-3);width:1.75rem;height:1.75rem;transition:background .2s var(--ease), border-color .2s, transform .35s var(--ease), box-shadow .3s;cursor:pointer;background:0 0;border-radius:50%;flex:none;place-items:center;margin:0;display:grid}.chk:after{content:"";width:.85rem;height:.45rem;transition:transform .3s var(--ease);border-top:0;border-bottom:2.2px solid #fff;border-left:2.2px solid #fff;border-right:0;transform:translateY(-1px)rotate(-45deg)scale(0)}.chk:checked{background:var(--ok);border-color:var(--ok);box-shadow:inset 1px 1px 0 #ffffff73, 0 2px 8px color-mix(in srgb, var(--ok) 45%, transparent)}.chk:checked:after{transform:translateY(-1px)rotate(-45deg)scale(1)}.chk:active{transition-duration:50ms;transform:scale(.88)}.done-text{color:var(--text-2);text-decoration:line-through;-webkit-text-decoration-color:var(--text-3);text-decoration-color:var(--text-3)}.switch{appearance:none;background:var(--fill-strong);width:3.25rem;height:2rem;transition:background .25s var(--ease);cursor:pointer;border-radius:99px;flex:none;margin:0;position:relative;box-shadow:inset 0 1px 3px #0000001f}.switch:after{content:"";width:1.7rem;height:1.7rem;transition:transform .4s var(--ease), width .2s;background:#fff;border-radius:50%;position:absolute;top:.15rem;left:.15rem;box-shadow:inset 1px 1px #fff,0 2px 6px #00000047,0 0 0 .5px #0000000f}.switch:active:after{width:2.1rem}.switch:checked{background:var(--ok)}.switch:checked:after{transform:translate(1.2rem)}.switch:checked:active:after{transform:translate(.8rem)}.stepper{background:var(--fill);border-radius:99px;display:flex;overflow:hidden}.stepper button{width:2.8rem;height:2.2rem;color:var(--accent-text);place-items:center;transition:background .1s;display:grid}.stepper button:active:not(:disabled){background:var(--fill-strong)}.stepper button+button{box-shadow:inset .5px 0 0 var(--sep)}.hero{border-radius:calc(var(--r-card) + .25rem);gap:.6rem;padding:1.35rem 1.4rem 1.2rem;display:grid}.hero-top{align-items:baseline;gap:.5rem;display:flex}.hero-num{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:3.5rem;font-weight:700;line-height:1}.hero-of{color:var(--text-2);letter-spacing:-.02em;font-size:1.25rem;font-weight:500}.hero-cap{letter-spacing:-.014em;font-size:1.0625rem;font-weight:500}.hero.all-done .hero-num{color:var(--ok-text)}.bar{background:var(--fill);border-radius:99px;height:.55rem;display:block;overflow:hidden;box-shadow:inset 0 1px 2px #00000014}.bar>span{background:linear-gradient(180deg, color-mix(in srgb, var(--ok) 80%, #fff), var(--ok));height:100%;transition:width .6s var(--ease);border-radius:99px;display:block;box-shadow:inset 0 1px #ffffff80}.bar.thin{height:.25rem}.ring{--p:0;background:conic-gradient(var(--accent) calc(var(--p) * 1%), var(--fill-strong) 0);border-radius:50%;flex:none;width:1.9rem;height:1.9rem;position:relative;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 3.5px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,#0000 calc(100% - 3.5px),#000 calc(100% - 3px))}.ring.clarify{border:2px dashed var(--text-3);background:0 0;-webkit-mask:none;mask:none}.ring-wrap{flex:none;place-items:center;width:1.9rem;height:1.9rem;display:grid;position:relative}.ring-wrap>.ring{position:absolute;inset:0}.ring-wrap .glyph{color:var(--text-2);font-size:.8125rem;font-weight:700}.ring-wrap.closed .glyph{background:var(--ok);color:#fff;border-radius:50%;place-items:center;display:grid;position:absolute;inset:0;box-shadow:inset 1px 1px #ffffff73}.debt-row .row-sub{align-items:baseline;gap:.4rem;display:flex}.work-row{align-items:center}.work-title{min-width:0;font:inherit;letter-spacing:inherit;text-overflow:ellipsis;background:0 0;border:0;outline:none;flex:1;padding:.2rem 0}.work-title::placeholder{color:var(--text-3)}.work-title:focus{box-shadow:0 1px 0 var(--accent)}.work-head{justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem 1.1rem;display:flex}.sheet-layer{z-index:50;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet-scrim{background:var(--scrim);position:absolute;inset:0}.sheet{width:min(100% - 1rem,36rem);max-height:min(calc(100dvh - 1.25rem - var(--sat) - var(--sab)), 52rem);margin:0 0 calc(.5rem + var(--sab));will-change:transform;border-radius:2.25rem;outline:none;flex-direction:column;display:flex;position:relative;overflow:hidden}.sheet-head{z-index:2;touch-action:none;cursor:grab;position:relative}.grabber{background:var(--text-3);border-radius:99px;width:2.4rem;height:.3rem;margin:.55rem auto 0;display:block}.sheet-bar{grid-template-columns:4.5rem minmax(0,1fr) 4.5rem;align-items:center;gap:.5rem;min-height:3.2rem;padding:.35rem 1.1rem .7rem;display:grid}.sheet-title{letter-spacing:-.014em;text-align:center;overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:1.0625rem;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.sheet-side{align-items:center;min-width:0;display:flex}.sheet-side.end{justify-content:flex-end}.sheet-side .btn-plain.strong{background:var(--glass-hi);border-radius:99px;padding:.4rem .9rem;font-size:.9375rem;box-shadow:inset 1px 1px #fff9,0 0 0 .5px #1e284614}.sheet-body{overscroll-behavior:contain;padding:.25rem 1rem calc(1.5rem + var(--sab));-webkit-overflow-scrolling:touch;overflow-y:auto}.sheet-body>.section-title:first-child{padding-top:.6rem}.pick-top{gap:.6rem;padding-top:.5rem;display:grid}.search-field{background:var(--fill);border-radius:99px;align-items:center;display:flex}.search-field .input{padding:.7rem 1.1rem}.crumbs{color:var(--text-2);padding:.25rem .5rem 0;font-size:.8125rem}.back-btn{color:var(--accent-text);align-items:center;gap:.15rem;padding:.25rem;font-size:1.0625rem;display:inline-flex}.status-line{color:var(--text-2);padding:.75rem .5rem;font-size:.9375rem}.dbg{word-break:break-all;color:var(--text-2);padding:.5rem 1rem;font-size:.75rem}.tabbar{left:50%;bottom:calc(.65rem + var(--sab));z-index:20;border-radius:99px;gap:.2rem;width:min(100% - 2rem,22rem);height:3.75rem;padding:.3rem;display:flex;position:fixed;transform:translate(-50%)}.tabs{flex:1;gap:.2rem;display:flex;position:relative}.tab-thumb{width:calc((100% - .2rem * (var(--n) - 1)) / var(--n));background:var(--glass-hi);pointer-events:none;transform:translateX(calc(var(--i) * (100% + .2rem)));transition:transform .42s var(--ease);border-radius:99px;position:absolute;top:0;bottom:0;left:0;box-shadow:inset 1px 1px #fff9,0 2px 10px #1e2d5a24,0 0 0 .5px #1e28460f}.side-brand{display:none}.tab{z-index:1;color:var(--text-2);letter-spacing:.02em;transition:color .25s, transform .45s var(--ease);border-radius:99px;flex:1;align-content:center;justify-items:center;gap:.1rem;font-size:.6875rem;font-weight:500;display:grid;position:relative}.tab[aria-current=page]{color:var(--accent-text)}.toast-wrap{inset-inline:0;bottom:calc(var(--dock-h) + .5rem);z-index:60;padding-inline:max(1rem, var(--sal)) max(1rem, var(--sar));pointer-events:none;justify-content:center;display:flex;position:fixed}.toast{pointer-events:auto;max-width:min(100%,30rem);animation:toast-in .5s var(--ease) both;cursor:default;border-radius:1.6rem;align-items:center;gap:.7rem;padding:.6rem .7rem .6rem .75rem;display:flex}.toast.out{pointer-events:none;animation:.28s ease-in both toast-out}.toast-icon{background:var(--accent);color:#fff;border-radius:50%;flex:none;place-items:center;width:1.65rem;height:1.65rem;font-size:.875rem;font-weight:700;line-height:1;display:grid}.toast.error .toast-icon{background:var(--danger)}.toast-text{letter-spacing:-.011em;flex:1;padding-right:.25rem;font-size:.9375rem;font-weight:500;line-height:1.3}.toast.error .toast-text{color:var(--danger-text)}.toast-action{color:var(--accent-text);background:var(--glass-hi);border-radius:99px;flex:none;padding:.4rem .85rem;font-size:.9375rem;font-weight:600}.side-card{background:var(--card);-webkit-backdrop-filter:blur(16px)saturate(160%);backdrop-filter:blur(16px)saturate(160%);box-shadow:var(--card-shadow), inset 0 1px 0 #ffffff80;border-radius:var(--r-card);gap:.5rem;padding:.85rem 1.1rem;display:grid}.side-title{color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;font-size:.8125rem;font-weight:600}.side-title .caption{text-transform:none;letter-spacing:0;font-weight:500}.next-btn{text-align:left;border-radius:1rem;gap:.15rem;margin:-.3rem;padding:.3rem;display:grid}.next-when{letter-spacing:-.022em;color:var(--accent-text);font-size:1.35rem;font-weight:700}.next-name{letter-spacing:-.014em;font-size:1.0625rem;font-weight:600;line-height:1.25}.meets{gap:.15rem;margin:0 -.4rem;display:grid}.meet{text-align:left;border-radius:.9rem;gap:.1rem;width:100%;padding:.45rem .4rem;display:grid}button.meet:active{background:var(--fill)}.meet-top{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.meet-subj{letter-spacing:-.011em;font-size:.9375rem;font-weight:600}.meet-when{color:var(--accent-text);white-space:nowrap;font-size:.875rem;font-weight:600}.load{grid-template-columns:repeat(7,1fr);align-items:end;gap:.35rem;height:5.6rem;display:grid}.load-col{border-radius:.7rem;grid-template-rows:1fr auto auto;justify-items:center;gap:.15rem;height:100%;padding:.15rem 0;display:grid}.load-bar-wrap{align-items:flex-end;width:100%;padding:0 .3rem;display:flex}.load-bar{background:var(--fill-strong);width:100%;transition:height .5s var(--ease), background .2s;border-radius:.45rem;display:block}.load-col.on .load-bar{background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 80%, #fff), var(--accent))}.load-n{color:var(--text-2);min-height:1em;font-size:.75rem;font-weight:600}.load-d{color:var(--text-2);text-transform:uppercase;letter-spacing:.02em;font-size:.6875rem}.debts-grid,.sched-grid{display:block}.sched-side{display:contents}.aside{display:none}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes toast-in{0%{opacity:0;filter:blur(8px);transform:translateY(.9rem)scale(.94)}to{opacity:1;filter:blur();transform:none}}@keyframes toast-out{to{opacity:0;filter:blur(6px);transform:translateY(.6rem)scale(.96)}}@media (hover:hover){button.row:hover,label.row:hover,summary.row:hover{background:var(--fill)}.icon-btn:hover:not(:disabled){background:var(--glass-hi)}.tab:hover:not([aria-current=page]){color:var(--text)}.daychip:hover:not(.on) .dom,.lesson-main:hover,.weekrow .nav:hover:not(:disabled){background:var(--fill)}.btn-primary:hover{filter:brightness(1.06)}.btn-tint:hover,.toast-action:hover{filter:brightness(.97)}.stepper button:hover:not(:disabled){background:var(--fill-strong)}.seg button:not(.on):hover{opacity:.65}}@media (width>=640px){.screen{max-width:46rem;padding-inline:1.5rem}.large-title{font-size:2.4rem}}@media (width>=960px){:root{--dock-h:1.5rem}.screen{max-width:none;padding:0 max(2rem, var(--sar)) 3rem calc(var(--side-w) + 3rem + var(--sal));margin:0}.screen>main{max-width:72rem;margin:0 auto}.navbar{padding-top:2rem}.tabbar{left:calc(1rem + var(--sal));top:max(1rem, var(--sat));bottom:max(1rem, var(--sab));width:var(--side-w);border-radius:2.25rem;flex-direction:column;justify-content:flex-start;gap:.3rem;height:auto;padding:1.1rem .75rem;transform:none}.side-brand{letter-spacing:-.02em;padding:.3rem 1rem 1rem;font-size:1.0625rem;font-weight:700;display:block}.tabs{flex-direction:column;flex:none;gap:.3rem}.tab-thumb{width:100%;height:3rem;transform:translateY(calc(var(--i) * 3.3rem));bottom:auto}.tab{align-items:center;gap:.8rem;justify-items:unset;letter-spacing:-.011em;flex:none;height:3rem;padding:0 1rem;font-size:1rem;font-weight:500;display:flex}.tab[aria-current=page]{font-weight:600}.toast-wrap{bottom:1.75rem}.debts-side{padding-top:.5rem}.hero{grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:2.5rem;padding:1.4rem 1.8rem}.hero-top{grid-row:1/span 3}.hero-num{font-size:4rem}.hero-cap,.hero .bar,.hero .caption{grid-column:2}.debts-list{column-count:2;column-gap:1.5rem}.debts-list>section{break-inside:avoid}.debts-list>section .section-title{padding-top:.6rem}.sched-grid{grid-template-columns:minmax(19rem,22rem) minmax(0,46rem);align-items:start;gap:2.5rem;display:grid}.sched-side{scrollbar-width:none;gap:.75rem;max-height:calc(100dvh - 2.5rem);margin:-.25rem;padding:.25rem;display:grid;position:sticky;top:1.25rem;overflow-y:auto}.sched-side::-webkit-scrollbar{display:none}.sched-grid>.sched-side>.sticky-top{position:static}.aside{gap:.75rem;display:grid}.sched-day .day-head{padding-top:.25rem}.sheet-layer{align-items:center}.sheet{max-height:min(88dvh,50rem);margin:0}.sheet-head{cursor:default}}@media (width>=1500px){.screen>main{max-width:90rem}.debts-list{column-count:3}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){:root{--glass:var(--surface);--glass-thick:var(--surface);--card:var(--surface)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.press:active:not(:disabled),.lesson-main:active,.chk:active{transform:none}.icon-btn.spin svg{opacity:.5;animation:none}.sheet,.sheet-scrim{transition:opacity .2s!important}.toast,.toast.out{animation:.2s fade!important}.toast.out{animation-direction:reverse!important}.screen{animation:.2s fade!important}}@media (prefers-reduced-transparency:reduce){:root{--glass:var(--surface);--glass-thick:var(--surface);--glass-hi:var(--surface);--card:var(--surface);--sheet-group:var(--bg)}.icon-btn,.sticky-top,.tabbar,.toast,.sheet,.hero,.group,.lesson{-webkit-backdrop-filter:none;backdrop-filter:none}body:before{display:none}}@media (prefers-contrast:more){:root{--sep:currentColor;--text-2:var(--text);--glass:var(--surface);--glass-thick:var(--surface);--card:var(--surface)}.group,.lesson,.hero,.toast,.sheet,.tabbar,.sticky-top,.icon-btn{outline:1px solid var(--text-3)}}.notes-wrap{gap:1rem;display:grid}.notes-list .row{align-items:flex-start}.note-title{align-items:center;gap:.4rem;display:flex}.note-title .pin{color:var(--accent);flex:none;display:inline-grid}.note-preview{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.note-meta{color:var(--text-3);font-size:.8125rem}.note-name{font-size:1.125rem;font-weight:600}.note-body{resize:none;min-height:38dvh}select.input{appearance:none}@media (width>=960px){.notes-wrap>.search-field,.notes-wrap>.notes-list,.notes-wrap>.status-line{width:100%;max-width:46rem}}
