@import "https://fonts.googleapis.com/css2?family=Quicksand:wght@300..700&display=swap";.day-group{border-bottom:1px solid var(--line)}.day-group:last-child{border-bottom:0}.day-group__header{cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:14px 14px 14px 0;display:flex}.day-group__header:hover,.agenda-lesson:hover{border-color:var(--line-strong);background:#ffffff0e}.day-group__chevron{transition:none}.day-group[data-animate=true] .day-group__chevron{transition:transform .4s cubic-bezier(.22,1.75,.1,1)}.day-group[data-expanded=true] .day-group__chevron{transform:rotate(180deg)}.day-group__meta{align-items:center;gap:12px;display:flex}.day-group__daymark{border-radius:0;align-items:baseline;gap:12px;padding:8px 14px;transition:background .18s,box-shadow .18s,color .18s;display:inline-flex}.day-group[data-today=true] .day-group__daymark{min-width:min(68vw,240px);box-shadow:inset 3px 0 0 var(--accent);background:linear-gradient(90deg,#7cc7ff26 0%,#7cc7ff1a 60%,#7cc7ff00 100%)}.day-group__weekday{text-transform:capitalize;color:var(--text-strong);font-size:clamp(1rem,1vw,1.25rem);font-weight:650}.day-group[data-empty=true][data-today=false] .day-group__weekday,.day-group__date,.day-group__meta{color:var(--text-muted)}.day-group__header:hover .day-group__meta{color:var(--accent)}.day-group__header .day-group__meta i{scale:1}.day-group__header:hover .day-group__meta i{scale:1.2}.day-group[data-today=true] .day-group__date{color:var(--accent)}.day-group[data-empty=true][data-today=false] .day-group__date{color:var(--text-dim)}.day-group__body{opacity:0;grid-template-rows:0fr;transition:none;display:grid}.day-group[data-animate=true] .day-group__body{transition:grid-template-rows .32s cubic-bezier(.22,1,.36,1),opacity .22s}.day-group[data-expanded=true] .day-group__body{opacity:1;grid-template-rows:1fr}.day-group__body-inner{flex-direction:column;gap:4px;padding:0 10px;transition:none;display:flex;overflow:hidden}.day-group[data-animate=true] .day-group__body-inner{transition:padding-bottom .32s cubic-bezier(.22,1,.36,1)}.day-group[data-expanded=true] .day-group__body-inner{padding-bottom:10px}.agenda-lesson{cursor:pointer;width:100%;color:inherit;text-align:left;transition:scale .22s var(--bounce-overshoot);border:2px solid #0000;border-radius:14px;grid-template-columns:86px minmax(0,1fr) 18px;align-items:center;gap:14px;padding:10px 12px;display:grid;scale:1}.agenda-lesson:active{scale:.99}.agenda-breaktime{min-height:28px;color:var(--text-muted);font-variant-numeric:tabular-nums;grid-template-columns:minmax(16px,1fr) auto minmax(16px,1fr);align-items:center;gap:10px;padding:2px 12px;font-size:.78rem;font-weight:650;display:grid}.agenda-breaktime__line{background:linear-gradient(90deg, transparent, var(--line-strong), transparent);height:1px}.agenda-breaktime__label{white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.agenda-breaktime__label i{color:var(--accent);opacity:.85;font-size:.82rem}.agenda-lesson__time{color:var(--accent);font-variant-numeric:tabular-nums;text-align:left;white-space:nowrap;gap:0;display:grid}.agenda-lesson__time span:last-child{color:var(--text-muted)}.agenda-lesson__body{justify-items:start;gap:1px;min-width:0;display:grid}.agenda-lesson__body strong,.agenda-lesson__body p,.agenda-lesson__body small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin:0;overflow:hidden}.agenda-lesson__body strong{letter-spacing:-.01em;font-size:.96rem}.agenda-lesson__body p{color:var(--text-dim)}.agenda-lesson__body small{color:var(--text-muted)}.agenda-lesson__icon{color:var(--text-muted);opacity:.5;transition:transform .18s cubic-bezier(.34,2.56,.64,1);transform:translate(-4px)}.agenda-lesson:hover .agenda-lesson__icon{color:var(--accent);opacity:1;transform:translate(0)}.empty-state{color:var(--text-muted);margin:0;padding:12px}@media (width<=900px){.agenda-lesson{grid-template-columns:72px minmax(0,1fr) 14px;gap:10px}}@media (width<=640px){.day-group__header{gap:8px;padding:12px 10px 12px 0}.day-group__daymark{flex-wrap:wrap;padding:6px 12px}.day-group[data-today=true] .day-group__daymark{min-width:min(76vw,210px)}.day-group__weekday{font-size:.95rem}.day-group__meta{font-size:.76rem}.agenda-lesson{grid-template-columns:64px minmax(0,1fr) 12px;padding:9px 10px}.agenda-breaktime{gap:8px;padding:1px 10px;font-size:.72rem}.agenda-lesson__body strong{font-size:.88rem}.agenda-lesson__body p,.agenda-lesson__body small{font-size:.74rem}}@media (prefers-reduced-motion:reduce){.day-group__body,.day-group__chevron,.agenda-lesson__icon{transition:none}}.app-toolbar{align-items:center;gap:20px;padding:0 0 6px;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.24em;color:var(--text-muted);margin:0;font-size:.65rem}.app-toolbar__identity h1{margin:0;font-size:1.32em;font-weight:700;line-height:1.05}.app-toolbar__spinner{border:2.5px solid #7cc7ff33;border-top-color:var(--accent);border-radius:50%;flex:none;width:18px;height:18px;animation:.72s linear infinite app-toolbar-spinner}.app-toolbar__spinner--mobile{display:none}.app-toolbar__actions{align-items:center;gap:8px;margin-left:auto;display:flex}.view-actions{align-items:center;animation:.24s cubic-bezier(.22,1,.36,1) both view-actions-enter;display:inline-flex}.app-toolbar__divider{background:var(--line);width:1px;height:28px}.zoom-toggle{border:2px solid var(--line);background:#ffffff07;border-radius:11px;flex:auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;min-width:140px;max-width:180px;padding:3px;display:inline-grid;position:relative}.agenda-toggle{border:2px solid var(--line);background:#ffffff07;border-radius:11px;flex:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;min-width:140px;max-width:180px;padding:3px;display:inline-grid;position:relative}.agenda-toggle button{height:28px;color:var(--text-dim);cursor:pointer;letter-spacing:.01em;transition:color .2s ease, scale .22s var(--bounce-overshoot);border-radius:8px;padding:0 6px;font-size:.7rem}.agenda-toggle button:hover{color:var(--text-strong)}.agenda-toggle button:active{scale:.92}@keyframes view-actions-enter{0%{opacity:0;transform:translate(10px)scale(.98)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes app-toolbar-spinner{to{transform:rotate(360deg)}}.zoom-toggle:before{content:"";background:#7cc7ff21;border-radius:8px;width:calc(33.3333% - 2px);transition:transform .26s cubic-bezier(.22,1,.36,1);position:absolute;top:3px;bottom:3px;left:3px}.zoom-toggle[data-zoom=half]:before{transform:translate(100%)}.zoom-toggle[data-zoom=quarter]:before{transform:translate(200%)}.zoom-toggle button{z-index:1;height:28px;color:var(--text-dim);cursor:pointer;font-variant-numeric:tabular-nums;transition:scale .22s var(--bounce-overshoot);border-radius:8px;padding:0 6px;font-size:.7rem;position:relative;scale:1}.zoom-toggle button:hover,.zoom-toggle button.is-selected{color:var(--text-strong)}.zoom-toggle button:active{scale:.92}.view-toggle{gap:6px;display:inline-flex}.view-toggle__button{color:var(--text-dim)}.view-toggle__button:active:not(:disabled){transform:none}.view-toggle__button.is-selected{color:var(--text-strong);background:#7cc7ff1f;border-color:#7cc7ff47}@media (width<=640px){.app-toolbar{justify-content:space-between;align-items:center;gap:8px;padding:0}.app-toolbar__actions{flex:auto;justify-content:end;gap:6px;min-width:0;margin-left:auto}.app-toolbar__identity{display:none}.app-toolbar__spinner{display:inline-block}}.grid-shell{grid-template-rows:auto minmax(0,1fr);width:100%;height:100%;display:grid}.grid-header{border-bottom:1px solid var(--line);background:#0a0d14f5;grid-template-columns:60px repeat(5,minmax(0,1fr));display:grid}.grid-header__day,.grid-header__time{padding:10px 6px}.grid-header__day{text-transform:capitalize;color:var(--text-dim);justify-content:center;align-items:center;min-width:0;display:flex}.grid-header__day-pill{border-radius:999px;justify-content:center;align-items:baseline;gap:6px;min-width:min(82%,92px);padding:5px 14px;display:inline-flex}.grid-header__day[data-today=true] .grid-header__day-pill{color:var(--accent);background:#7cc7ff26;box-shadow:inset 0 0 0 1px #7cc7ff2e}.grid-header__day[data-empty=true][data-today=false] .grid-header__day-pill{color:var(--text-muted)}.grid-header__day strong{color:var(--text-strong);font-size:1.05rem}.grid-header__day[data-empty=true][data-today=false] strong{color:var(--text-muted)}.grid-body{height:100%;position:relative;overflow:hidden}.grid-body[data-animate=true]{animation:.36s cubic-bezier(.22,1,.36,1) both grid-zoom-settle}.grid-scroll-content{grid-template-columns:60px 1fr;height:100%;min-height:100%;display:grid;position:relative}.grid-time-column,.grid-day-column{height:100%;position:relative}.grid-time-column{border-right:1px solid var(--line);background:#ffffff04}.grid-time-slot{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;--line-opacity:.7;opacity:var(--line-opacity);font-size:.72rem;transition:opacity .24s;position:absolute;right:8px;transform:translateY(-50%)}.grid-time-slot[data-major=true]{--line-opacity:1}.grid-days{grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:relative}.grid-day-column{border-right:1px solid var(--line)}.grid-day-column:last-child{border-right:0}.grid-line{background:var(--line);--line-opacity:.35;height:1px;opacity:var(--line-opacity);transition:opacity .24s;position:absolute;left:0;right:0}.grid-line[data-major=true]{--line-opacity:.75}.grid-line[data-visible=false],.grid-time-slot[data-visible=false]{opacity:0}.grid-hover-guide{z-index:12;pointer-events:none;background:#7cc7ff24;height:1px;position:absolute;left:0;right:0}.grid-hover-guide span{color:#7cc7ff94;font-variant-numeric:tabular-nums;text-align:center;background:#0a0d14fa;border-radius:999px;width:48px;padding:2px 4px;font-size:.64rem;position:absolute;top:50%;left:6px;transform:translateY(-50%)}.grid-now-line{z-index:2;pointer-events:none;background:#ff80806b;height:2px;position:absolute;left:0;right:0}.grid-now-line:before{content:"";background:#ff8080d1;border-radius:50%;width:7px;height:7px;position:absolute;top:50%;left:-4px;transform:translateY(-50%)translate(-50%);box-shadow:0 0 0 3px #ff808014}.grid-lesson{z-index:4;text-align:left;cursor:pointer;min-height:28px;transition:scale .22s var(--bounce-overshoot);background:#111622f5 padding-box padding-box;border:2px solid #b2c4ff29;border-left:3px solid #7cc7ffb8;border-radius:8px;flex-direction:column;gap:2px;padding:7px;display:flex;position:absolute;overflow:hidden;scale:1;box-shadow:inset 0 1px #ffffff09}@keyframes grid-zoom-settle{0%{opacity:.82;transform-origin:top;transform:scaleY(.985)}to{opacity:1;transform-origin:top;transform:scaleY(1)}}.grid-lesson:hover{z-index:6;border-color:#b2c4ff47;border-left-color:var(--accent);background:#171e2dfa}.grid-lesson:active{scale:.975}.grid-lesson__title,.grid-lesson__meta,.grid-lesson small,.grid-lesson strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.grid-lesson strong{color:var(--text-strong);letter-spacing:0;flex:none;font-size:.96rem}.grid-lesson__title{min-height:0;color:var(--text-dim);line-clamp:2;-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;font-size:.74rem;display:-webkit-box}.grid-lesson__meta{gap:0;margin-top:auto;display:grid}.grid-lesson__meta small{min-width:0}.grid-lesson.is-compact .grid-lesson__title{line-clamp:1;-webkit-line-clamp:1}.grid-lesson.is-tight{justify-content:center;padding-block:4px}.grid-lesson.is-tight .grid-lesson__title{white-space:nowrap;display:block}.grid-lesson.is-tiny .grid-lesson__title,.grid-lesson.is-tight .grid-lesson__meta-time,.grid-lesson.is-tight .grid-lesson__meta-place{display:none}.grid-lesson.is-tight .grid-lesson__meta-compact{display:block}.grid-lesson.is-roomy .grid-lesson__meta-compact{display:none}.grid-lesson span{color:var(--text-dim);font-size:.74rem}.grid-lesson small{color:var(--text-muted);font-size:.66rem}@media (width<=900px){.grid-header{grid-template-columns:54px repeat(5,minmax(0,1fr))}.grid-scroll-content{grid-template-columns:54px 1fr}.grid-hover-guide span{width:42px;left:5px}}@media (width<=640px){.grid-header{grid-template-columns:46px repeat(5,minmax(0,1fr))}.grid-scroll-content{grid-template-columns:46px 1fr}.grid-header__day{font-size:.68rem}.grid-header__day-pill{gap:3px;min-width:min(88%,68px);padding:4px 8px}.grid-header__day strong{font-size:.84rem}.grid-time-slot{font-size:.62rem;right:5px}.grid-hover-guide span{width:36px;font-size:.56rem;left:4px}.grid-lesson{border-radius:8px;padding:4px}.grid-lesson strong{font-size:.68rem}.grid-lesson span,.grid-lesson small{font-size:.58rem}}@media (prefers-reduced-motion:reduce){.grid-line,.grid-time-slot{transition:none}}.lesson-panel{z-index:30;justify-content:center;align-items:flex-end;padding:18px;display:flex;position:fixed;inset:0}.lesson-panel__backdrop{background:#0204088a;animation:.22s both panel-fade;position:absolute;inset:0}.lesson-panel[data-closing=true] .lesson-panel__backdrop{animation:.22s both panel-fade-out}.lesson-panel__card{z-index:1;border:2px solid var(--line);width:min(760px,100vw - 36px);max-height:min(78vh,680px);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:radial-gradient(circle at 100% 0,#166aaa1f,#0000 28%),#0c0f1861;border-radius:24px 24px 18px 18px;grid-template-rows:auto minmax(0,1fr);animation:.42s cubic-bezier(.16,1,.3,1) both panel-rise;display:grid;position:relative;overflow:hidden}.lesson-panel[data-closing=true] .lesson-panel__card{animation:.22s both panel-drop}.lesson-panel__close{margin-left:auto}.lesson-panel__header{border-bottom:1px solid var(--line);touch-action:pan-y;flex-direction:row;justify-content:space-between;gap:16px;padding:24px 24px 18px;display:flex}.lesson-panel__title h3{margin:8px 0 0;font-size:1.45rem}.lesson-panel__title p{color:var(--text-dim);margin:0}.lesson-panel__details{overscroll-behavior:contain;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-height:0;margin:0;padding:18px 24px 24px;display:grid;overflow:auto}.lesson-panel__details div{border-top:1px solid var(--line);padding-top:14px}.lesson-panel__details dt{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:4px;font-size:.82rem}.lesson-panel__details dd{color:var(--text-strong);margin:0}@keyframes panel-rise{0%{opacity:0;transform:translateY(34px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes panel-fade{0%{opacity:0}to{opacity:1}}@keyframes panel-fade-out{0%{opacity:1}to{opacity:0}}@keyframes panel-drop{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(24px)scale(.99)}}@media (width<=640px){.lesson-panel{padding:10px}.lesson-panel__card{width:100%;max-height:78vh}.lesson-panel__header{padding:20px 20px 16px}.lesson-panel__details{grid-template-columns:1fr;gap:14px;padding:16px 20px 20px}}@media (prefers-reduced-motion:reduce){.lesson-panel__backdrop,.lesson-panel__card{animation:none}}.loading-state{color:var(--text-dim);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:32px;display:flex}.loading-state p{margin:0;font-size:.96rem}.spinner{border:3px solid #ffffff1f;border-top-color:var(--accent);border-radius:999px;width:48px;height:48px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes notyf-fadeinup{0%{opacity:0;transform:translateY(25%)}to{opacity:1;transform:translateY(0)}}@keyframes notyf-fadeinleft{0%{opacity:0;transform:translate(25%)}to{opacity:1;transform:translate(0)}}@keyframes notyf-fadeoutright{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(25%)}}@keyframes notyf-fadeoutdown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(25%)}}@keyframes ripple{0%{transform:scale(0)translateY(-45%)translate(13%)}to{transform:scale(1)translateY(-45%)translate(13%)}}.notyf{color:#fff;z-index:9999;pointer-events:none;box-sizing:border-box;flex-direction:column;justify-content:flex-end;align-items:flex-end;width:100%;height:100%;padding:20px;display:flex;position:fixed;top:0;left:0}.notyf__icon--error,.notyf__icon--success{background:#fff;border-radius:50%;width:21px;height:21px;margin:0 auto;display:block;position:relative}.notyf__icon--error:after,.notyf__icon--error:before{content:"";background:currentColor;border-radius:3px;width:3px;height:12px;display:block;position:absolute;top:5px;left:9px}.notyf__icon--error:after{transform:rotate(-45deg)}.notyf__icon--error:before{transform:rotate(45deg)}.notyf__icon--success:after,.notyf__icon--success:before{content:"";background:currentColor;border-radius:3px;width:3px;display:block;position:absolute}.notyf__icon--success:after{height:6px;top:9px;left:6px;transform:rotate(-45deg)}.notyf__icon--success:before{height:11px;top:5px;left:10px;transform:rotate(45deg)}.notyf__toast{pointer-events:auto;box-sizing:border-box;border-radius:2px;flex-shrink:0;max-width:300px;padding:0 15px;animation:.3s ease-in forwards notyf-fadeinup;display:block;position:relative;overflow:hidden;transform:translateY(25%);box-shadow:0 3px 7px #00000040}.notyf__toast--disappear{animation:.3s .25s forwards notyf-fadeoutdown;transform:translateY(0)}.notyf__toast--disappear .notyf__icon,.notyf__toast--disappear .notyf__message{opacity:1;animation:.3s forwards notyf-fadeoutdown;transform:translateY(0)}.notyf__toast--disappear .notyf__dismiss{opacity:1;animation:.3s forwards notyf-fadeoutright;transform:translate(0)}.notyf__toast--disappear .notyf__message{animation-delay:50ms}.notyf__toast--upper{margin-bottom:20px}.notyf__toast--lower{margin-top:20px}.notyf__toast--dismissible .notyf__wrapper{padding-right:30px}.notyf__ripple{transform-origin:100% 100%;z-index:5;border-radius:50%;width:400px;height:400px;animation:.4s ease-out forwards ripple;position:absolute;top:0;right:0;transform:scale(0)translateY(-51%)translate(13%)}.notyf__wrapper{z-index:10;border-radius:3px;align-items:center;padding-top:17px;padding-bottom:17px;padding-right:15px;display:flex;position:relative}.notyf__icon{text-align:center;opacity:0;width:22px;margin-right:13px;font-size:1.3em;animation:.3s .3s forwards notyf-fadeinup}.notyf__dismiss{opacity:0;width:26px;height:100%;margin-right:-15px;animation:.3s .35s forwards notyf-fadeinleft;position:absolute;top:0;right:0}.notyf__dismiss-btn{cursor:pointer;opacity:.35;background-color:#00000040;border:none;outline:none;width:100%;height:100%;transition:opacity .2s,background-color .2s}.notyf__dismiss-btn:after,.notyf__dismiss-btn:before{content:"";background:#fff;border-radius:3px;width:2px;height:12px;position:absolute;top:calc(50% - 5px);left:calc(50% - 1px)}.notyf__dismiss-btn:after{transform:rotate(-45deg)}.notyf__dismiss-btn:before{transform:rotate(45deg)}.notyf__dismiss-btn:hover{opacity:.7;background-color:#00000026}.notyf__dismiss-btn:active{opacity:.8}.notyf__message{vertical-align:middle;opacity:0;line-height:1.5em;animation:.3s .25s forwards notyf-fadeinup;position:relative}@media only screen and (width<=480px){.notyf{padding:0}.notyf__ripple{width:600px;height:600px;animation-duration:.5s}.notyf__toast{border-radius:0;width:100%;max-width:none;box-shadow:0 -2px 7px #00000021}.notyf__dismiss{width:56px}}.settings-dialog{z-index:60;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.settings-dialog__backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;background:#0204086b;animation:.22s both settings-backdrop-fade;position:absolute;inset:0}.settings-dialog__panel{z-index:1;border:2px solid var(--line);width:min(100%,460px);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:radial-gradient(circle at 100% 0,#166aaa1a,#0000 30%),#0c0f18eb;border-radius:20px 20px 16px 16px;padding:18px;animation:.38s cubic-bezier(.16,1,.3,1) both settings-panel-rise;position:relative}.settings-dialog__header{justify-content:space-between;align-items:start;gap:14px;margin-bottom:18px;display:flex}.settings-dialog__header h2{margin:0;font-size:1.2rem;line-height:1.15}.settings-dialog__form{gap:14px;display:grid}.settings-dialog__field{color:var(--text-dim);gap:7px;font-size:.78rem;font-weight:700;display:grid}.settings-dialog__field input{border:2px solid var(--line);width:100%;min-width:0;height:42px;color:var(--text-strong);background:#ffffff09;border-radius:10px;outline:none;padding:0 12px}.settings-dialog__field input:focus{background:#ffffff0e;border-color:#7cc7ff73}.settings-dialog__status,.settings-dialog__error{margin:0;font-size:.82rem}.settings-dialog__status{color:var(--text-muted)}.settings-dialog__error{color:var(--danger)}.settings-dialog__actions{justify-content:end;gap:10px;margin-top:2px;display:flex}.settings-dialog__button{border:2px solid var(--line);min-height:38px;color:var(--text-strong);cursor:pointer;background:#ffffff09;border-radius:10px;padding:0 14px}.settings-dialog__button:hover:not(:disabled){border-color:var(--line-strong);background:#ffffff0f}.settings-dialog__button--primary{background:#7cc7ff24;border-color:#7cc7ff61}.settings-dialog__button:disabled{cursor:not-allowed;opacity:.45}@keyframes settings-panel-rise{0%{opacity:0;transform:translateY(28px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes settings-backdrop-fade{0%{opacity:0}to{opacity:1}}@media (width<=640px){.settings-dialog{align-items:end;padding:10px}.settings-dialog__panel{border-radius:16px}}@media (prefers-reduced-motion:reduce){.settings-dialog__backdrop,.settings-dialog__panel{animation:none}}.weekbar{grid-template-columns:36px 1fr 36px;align-items:center;gap:10px;padding:4px 0 10px;display:grid}.weekbar__label{text-transform:uppercase;letter-spacing:.24em;color:var(--text-muted);margin:0;font-size:.72rem}.weekbar__content{text-align:center;cursor:pointer;border-radius:12px;transition:transform .22s cubic-bezier(.2,1.6,.2,1),background-color .16s,border-color .16s;position:relative}.weekbar__content:hover{border-color:var(--line-strong);background:#ffffff0e}.weekbar__content:active{transform:scale(.94)}.weekbar__content[data-current=false] .weekbar__label{color:var(--accent)}.weekbar__content h2{letter-spacing:0;margin:0;font-size:clamp(.96rem,1.55vw,1.22rem)}@media (width<=640px){.weekbar{order:-1;grid-template-columns:36px minmax(0,1fr) 36px;gap:8px;padding:0}.weekbar__label{font-size:.58rem}.weekbar__content h2{text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}}#app{--app-padding:20px;--stable-vh:100vh;--stable-vh-double:200vh;--stable-vh-quad:400vh;min-height:100vh;padding:var(--app-padding)}.app-content{margin-top:6px}.mobile-bottom-bar{display:contents}.app-content-frame{border:2px solid var(--line);background:linear-gradient(#ffffff05,#ffffff03),#0a0d14d1;border-radius:24px;overflow:hidden}.app-content-frame--agenda{min-height:0}.app-content-frame--grid{height:max(520px, calc(100svh - 127px - (var(--app-padding) * 2)));transition:height .42s cubic-bezier(.22,1,.36,1)}.app-content-frame--grid.app-content-frame--zoom-half{height:max(1040px, calc(200svh - 254px - (var(--app-padding) * 2)))}.app-content-frame--grid.app-content-frame--zoom-quarter{height:max(2080px, calc(400svh - 508px - (var(--app-padding) * 2)))}.view-enter{animation:.36s cubic-bezier(.22,1,.36,1) both view-enter}@keyframes view-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.view-enter,.app-content-frame--grid{transition:none;animation:none}}@media (width<=900px){#app{--app-padding:14px}}@media (width<=640px){#app{--app-padding:10px;padding-bottom:calc(130px + env(safe-area-inset-bottom))}.mobile-bottom-bar{right:max(10px, env(safe-area-inset-right));bottom:max(10px, env(safe-area-inset-bottom));left:max(10px, env(safe-area-inset-left));z-index:20;border:2px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0a0d14eb;border-radius:18px;flex-direction:column;gap:10px;padding:10px;display:flex;position:fixed}.app-content-frame{border-radius:18px}.app-content-frame--grid{height:max(520px, calc(var(--stable-vh,100vh) - 127px - (var(--app-padding) * 2) - env(safe-area-inset-bottom)))}.app-content-frame--grid.app-content-frame--zoom-half{height:max(1040px, calc(var(--stable-vh-double,200vh) - 254px - (var(--app-padding) * 2) - env(safe-area-inset-bottom)))}.app-content-frame--grid.app-content-frame--zoom-quarter{height:max(2080px, calc(var(--stable-vh-quad,400vh) - 508px - (var(--app-padding) * 2) - env(safe-area-inset-bottom)))}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f3f7ff;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--line:#a9b8ff24;--line-strong:#a9b8ff47;--text-dim:#97a5c6;--text-muted:#7482a6;--text-strong:#f3f7ff;--accent:#7cc7ff;--warning:#ffbf69;--danger:#ff6b81;--shadow:0 24px 80px #00000059;--bounce-overshoot:cubic-bezier(.2, 3.2, .2, 1);font-family:Quicksand,Roboto,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.4}*,:before,:after{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}html{background-color:#111522;background:radial-gradient(circle at top,#4361ee29,#0000 30%),linear-gradient(#090b12 0%,#0d1018 52%,#111522 100%)!important}body,button,input,textarea,select{font:inherit}body{min-height:100vh}button{color:inherit;background:0 0;border:0}.icon-button{border:2px solid var(--line);cursor:pointer;width:36px;height:36px;transition:transform .26s var(--bounce-overshoot), border-color .12s ease, background-color .12s ease, color .12s ease;background:#ffffff08;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.icon-button--ghost{background:0 0}.icon-button:active:not(:disabled){transform:scale(.9)}.icon-button:disabled{cursor:not-allowed;opacity:.4}.icon-button:hover:not(:disabled) i{border-color:var(--line-strong);background:#ffffff0e;animation:.4s cubic-bezier(.34,2.56,.64,1) icon-pop}.icon-button:disabled:hover{border-color:var(--line);background:#ffffff08}.icon-button[aria-label=Previous\ week]:hover:not(:disabled) i{animation-name:icon-nudge-left}.icon-button[aria-label=Next\ week]:hover:not(:disabled) i{animation-name:icon-nudge-right}.app-toolbar__settings-button:hover:not(:disabled) i{animation-name:settings-gear-spin}@keyframes settings-gear-spin{0%{transform:rotate(-60deg)}to{transform:rotate(0)}}.grid-lesson.status-changed{border-color:#ffbf6952;border-left-color:var(--warning);background:#1c1812f5}.status-changed .agenda-lesson__time,.grid-lesson.status-changed strong{color:var(--warning)}.grid-lesson.status-cancelled{border-color:#ff6b8157;border-left-color:var(--danger);background:#1e1016f5}.agenda-lesson.status-cancelled{background:linear-gradient(90deg,#ff6b8147,#ff6b8114);border-color:#ff6b8199}.status-cancelled .agenda-lesson__time,.grid-lesson.status-cancelled strong{color:#ffe9ee}@keyframes icon-pop{50%{transform:scale(1.14)}}@keyframes icon-nudge-left{50%{transform:translate(-2px)}}@keyframes icon-nudge-right{50%{transform:translate(2px)}}.notyf{padding:16px}.notyf__toast{border-radius:12px;animation-duration:.26s;animation-timing-function:cubic-bezier(.22,1,.36,1);box-shadow:0 18px 48px #00000057}
