@font-face{font-family:Rubik;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/dbd827405181b508-s.2f577igfy6zek.woff2)format("woff2");unicode-range:U+6??,U+750-77F,U+870-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC7,U+10EC9-10EEE,U+10EF?,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Rubik;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/101a8ea8ee0a71f8-s.2ofvzoy5xjn1c.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Rubik;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/a80398e50828056b-s.3ncsaruqasduw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Rubik;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/996b4d9a15bee5b0-s.p.45a19n6z-i3ph.woff2)format("woff2");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Rubik;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/9d760601823f9ac2-s.3s-jl_297nmfs.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Rubik;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/e683b1ee568be024-s.p.1er88gr2sg4r_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Rubik Fallback;src:local(Arial);ascent-override:89.06%;descent-override:23.81%;line-gap-override:0.0%;size-adjust:104.98%}.kvVD6G_className{font-family:Rubik,Rubik Fallback;font-style:normal}.kvVD6G_variable{--font-sans:"Rubik", "Rubik Fallback"}
:root{--paper:#fff;--surface:#f5f5f5;--ink:#0a0a0a;--ink-2:#6b6b6b;--line:#e8e8e8;--glass:#ffffffb8;--gutter:1.25rem;--radius:1.125rem;--radius-small:.75rem;--ease:cubic-bezier(.22, 1, .36, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.dark{--paper:#0a0a0a;--surface:#171717;--ink:#fafafa;--ink-2:#a3a3a3;--line:#262626;--glass:#0a0a0ab3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scrollbar-gutter:stable;background:var(--paper);-webkit-text-size-adjust:100%}@media (min-width:1920px){html{font-size:112.5%}}@media (min-width:2560px){html{font-size:125%}}@media (min-width:3840px){html{font-size:175%}}body{background:var(--paper);min-height:100svh;color:var(--ink);font-family:var(--font-sans), system-ui, sans-serif;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button,input{color:inherit;font:inherit;background:0 0;border:0}button{cursor:pointer}a{color:inherit;text-decoration:none}ol{list-style:none}svg{display:block}::selection{background:var(--ink);color:var(--paper)}:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:.25rem}@keyframes rise{0%{opacity:0;transform:translateY(.75rem)}}@keyframes fade-in{0%{opacity:0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.45}}.bar{z-index:10;padding:calc(env(safe-area-inset-top) + .75rem) var(--gutter) 0;position:sticky;inset-block-start:0}.bar-inner{border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(20px)saturate(180%);max-width:40rem;min-height:3.25rem;animation:rise .7s var(--ease) both;border-radius:999px;justify-content:space-between;align-items:center;gap:1rem;margin-inline:auto;padding:.375rem 1.25rem;display:flex}.bar-name{letter-spacing:-.01em;font-size:1.1875rem;font-weight:700}.bar-actions{align-items:center;gap:.25rem;font-size:.875rem;display:flex}.bar-actions a{color:var(--ink-2);transition:color .25s var(--ease), background-color .25s var(--ease);border-radius:999px;padding:.4375rem .75rem;font-weight:500}@media (hover:hover){.bar-actions a:hover{background:var(--surface);color:var(--ink)}}.icon-button{block-size:2.25rem;inline-size:2.25rem;color:var(--ink-2);transition:color .25s var(--ease), background-color .25s var(--ease), transform .3s var(--ease);border-radius:50%;place-items:center;display:grid}.icon-button svg{block-size:1.125rem;inline-size:1.125rem}.icon-button:active{transform:scale(.9)}@media (hover:hover){.icon-button:hover{background:var(--surface);color:var(--ink)}}.spin{animation:.8s linear infinite spin}.theme-toggle{border:1.5px solid var(--ink);background:linear-gradient(to right, var(--ink) 50%, transparent 50%);block-size:1.125rem;inline-size:1.125rem;transition:transform .6s var(--ease);border-radius:50%;flex:none;margin-inline:.5rem .125rem}.dark .theme-toggle{transform:rotate(180deg)}.page{max-width:40rem;padding:1.25rem var(--gutter) calc(3rem + env(safe-area-inset-bottom));gap:1rem;margin-inline:auto;display:grid}.side{gap:.875rem;min-width:0;display:grid}.day{min-width:0}@media (min-width:64rem){.bar-inner{max-width:72rem}.page{grid-template-columns:22rem minmax(0,1fr);align-items:start;gap:3.5rem;max-width:74.5rem;padding-block-start:1.75rem}.side{position:sticky;inset-block-start:5.5rem}}.segmented{grid-template-columns:repeat(var(--count), minmax(0, 1fr));background:var(--surface);animation:fade-in .5s var(--ease) both;border-radius:999px;padding:.25rem;display:grid;position:relative}.segmented-thumb{inline-size:calc((100% - .5rem) / var(--count));background:var(--paper);transform:translateX(calc(var(--index) * -100%));transition:transform .42s var(--ease);border-radius:999px;position:absolute;inset-block:.25rem;inset-inline-start:.25rem;box-shadow:0 1px 3px #0000001a}.dark .segmented-thumb{background:var(--line);box-shadow:none}.segmented button{min-height:2.5rem;color:var(--ink-2);transition:color .25s var(--ease), transform .3s var(--ease);border-radius:999px;flex-direction:column;justify-content:center;align-items:center;gap:.0625rem;padding:.25rem;font-size:.9375rem;font-weight:500;display:flex;position:relative}.segmented button[aria-checked=true]{color:var(--ink)}.segmented button:active{transform:scale(.96)}.days button{min-height:3rem;font-size:.9375rem;font-weight:600}.days small{color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:.6875rem;font-weight:400}.segmented-dot{background:var(--ink);border-radius:50%;block-size:.3125rem;inline-size:.3125rem;position:absolute;inset-block-start:.4375rem;inset-inline-end:22%}.layout{flex:none;inline-size:9.5rem}.layout button{min-height:2rem;font-size:.8125rem}.chooser{animation:fade-in .5s 80ms var(--ease) both;flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.button{background:var(--ink);min-height:2.75rem;color:var(--paper);transition:transform .3s var(--ease), opacity .25s var(--ease);border-radius:999px;justify-content:center;align-items:center;padding:.5rem 1.5rem;font-size:.9375rem;font-weight:500;display:inline-flex}.button:active{transform:scale(.96)}.button:disabled{opacity:.4}.chosen{background:var(--ink);min-height:2.25rem;color:var(--paper);animation:rise .42s var(--ease) both;border-radius:999px;align-items:center;font-size:.9375rem;font-weight:500;display:inline-flex}.chosen-label{padding:.3125rem 1rem}.chosen:has(.chosen-remove) .chosen-label{padding-inline-end:.375rem}.chosen-remove{opacity:.6;transition:opacity .25s var(--ease);padding-inline-end:.75rem}.chosen-remove:hover{opacity:1}.chip-add{min-height:2.25rem;color:var(--ink-2);transition:background-color .25s var(--ease), color .25s var(--ease);border-radius:999px;padding:.3125rem .875rem;font-size:.875rem;font-weight:500}@media (hover:hover){.chip-add:hover{background:var(--surface);color:var(--ink)}}.text-button{color:var(--ink-2);font-size:.875rem}.day-head{justify-content:space-between;align-items:center;gap:1rem;margin-block-start:.5rem;display:flex}.day-title{letter-spacing:-.02em;animation:rise .6s var(--ease) both;flex-wrap:wrap;align-items:baseline;gap:.25rem .625rem;font-size:1.75rem;font-weight:800;line-height:1.1;display:flex}.day-title small{color:var(--ink-2);letter-spacing:0;font-variant-numeric:tabular-nums;font-size:.875rem;font-weight:400}.glance{animation:rise .7s 60ms var(--ease) both;padding-block:.25rem .5rem}.glance-headline{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:clamp(2.5rem,11vw,3.5rem);font-weight:800;line-height:1.05}.glance-detail{color:var(--ink-2);margin-block-start:.5rem;font-size:1rem;line-height:1.4}.timeline{gap:.5rem;display:grid}.row{animation:row-in .56s var(--ease) backwards;animation-delay:calc(var(--i) * 32ms)}@keyframes row-in{0%{opacity:0;transform:translate(calc(var(--slide,0) * -1.5rem), calc((1 - var(--slide,0) * var(--slide,0)) * .625rem))}}.lesson{border-radius:var(--radius);background:var(--surface);transition:background-color .5s var(--ease), color .5s var(--ease), opacity .5s var(--ease);grid-template-columns:4.75rem minmax(0,1fr) auto;align-items:start;gap:.875rem;padding:.875rem 1rem;display:grid;position:relative;overflow:hidden}.lesson-side{gap:.0625rem;display:grid}.lesson-period{font-size:.8125rem;font-weight:600}.lesson-time{color:var(--ink-2);font-variant-numeric:tabular-nums;text-align:end;white-space:nowrap;font-size:.6875rem}.lesson-main{gap:.625rem;min-width:0;display:grid}.lesson-entry{gap:.625rem;display:flex}.lesson-tag{background:var(--paper);border-radius:999px;flex:none;align-self:start;padding:.0625rem .5rem;font-size:.75rem;font-weight:600}.lesson-group{display:grid}.lesson-group+.lesson-group{margin-block-start:.5rem}.lesson-subject{letter-spacing:-.01em;font-size:1.0625rem;font-weight:600;line-height:1.3}.lesson-names{color:var(--ink-2);font-size:.875rem;line-height:1.4}.lesson-free{color:var(--ink-2);font-size:.9375rem}.lesson-badge{box-shadow:inset 0 0 0 1px var(--ink);animation:fade-in .5s var(--ease) both;border-radius:999px;padding:.0625rem .5rem;font-size:.75rem;font-weight:600}.is-now .lesson{background:var(--ink);color:var(--paper)}.is-now .lesson-time,.is-now .lesson-names,.is-now .lesson-free{color:inherit;opacity:.7}.is-now .lesson-tag{background:var(--ink-2)}.is-now .lesson{padding-block-end:1.25rem}.lesson-progress{background:#80808066;border-radius:999px;block-size:.125rem;position:absolute;inset-block-end:.5625rem;inset-inline:1rem;overflow:hidden}.lesson-progress:after{content:"";border-radius:inherit;transform:scaleX(var(--progress));transform-origin:100%;background:currentColor;transition:transform 15s linear;position:absolute;inset:0}.is-past .lesson,.is-past .break{opacity:.45}.break{color:var(--ink-2);font-variant-numeric:tabular-nums;transition:opacity .5s var(--ease);justify-content:space-between;align-items:center;gap:1rem;padding:.25rem 1rem;font-size:.8125rem;display:flex}.is-now .break{color:var(--ink);font-weight:600;animation:2.4s ease-in-out infinite pulse}.table-wrap{border-radius:var(--radius);background:var(--surface);animation:rise .56s var(--ease) both;overflow-x:auto}.class-table{border-collapse:collapse;width:100%;font-size:.875rem}.class-table th,.class-table td{border-block-end:1px solid var(--line);text-align:start;vertical-align:top;padding:.625rem .75rem}.class-table tbody tr:last-child th,.class-table tbody tr:last-child td{border-block-end:0}.class-table thead th{min-width:6.5rem;font-weight:600}.class-table tbody th{font-weight:600}.class-table th small{text-align:end}.class-table small{color:var(--ink-2);font-size:.6875rem;font-weight:400;display:block}.class-table td p+p{margin-block-start:.375rem}.class-table td span{font-weight:500;line-height:1.3;display:block}.table-break td{color:var(--ink-2);padding-block:.25rem;font-size:.75rem}.table-break td span{font-weight:400;display:inline}.table-break td span+span{float:inline-end}.class-table .is-now{background:var(--ink);color:var(--paper)}.class-table .is-now small{color:inherit;opacity:.7}.class-table .is-past{opacity:.45}.sheet{background:var(--paper);width:100%;max-width:100%;max-height:85svh;color:var(--ink);border:0;border-radius:1.5rem 1.5rem 0 0;margin:0;padding:0;position:fixed;inset:auto 0 0;overflow:hidden}.sheet[open]{animation:sheet-in .46s var(--ease) both;flex-direction:column;display:flex}.sheet-inner{min-height:0;padding:1.25rem var(--gutter) calc(1.25rem + env(safe-area-inset-bottom));flex-direction:column;flex:1;gap:.875rem;display:flex}html:has(.sheet[open]){overflow:hidden}.sheet::backdrop{-webkit-backdrop-filter:blur(6px);background:#00000073;animation:.28s both fade-in}@keyframes sheet-in{0%{transform:translateY(100%)}}@media (min-width:640px){.sheet{border-radius:1.5rem;width:min(100% - 2rem,30rem);max-height:min(36rem,80svh);margin:auto;inset:0}.sheet-inner{padding:1.5rem}.sheet[open]{animation-name:sheet-pop}@keyframes sheet-pop{0%{opacity:0;transform:translateY(.75rem)scale(.97)}}}.sheet-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.sheet-head h2{letter-spacing:-.01em;font-size:1.375rem;font-weight:700}.sheet-search{background:var(--surface);width:100%;min-height:2.75rem;transition:box-shadow .25s var(--ease);border-radius:999px;outline:none;padding:.5rem 1rem;font-size:1rem}.sheet-search:focus{box-shadow:0 0 0 2px var(--ink)}.sheet[open].is-closing{pointer-events:none;animation:sheet-out .28s var(--ease) both}.sheet.is-closing::backdrop{animation:.28s both fade-out}@keyframes sheet-out{to{transform:translateY(100%)}}@keyframes fade-out{to{opacity:0}}@media (min-width:640px){.sheet[open].is-closing{animation-name:sheet-pop-out}@keyframes sheet-pop-out{to{opacity:0;transform:translateY(.5rem)scale(.98)}}}.sheet-body{overscroll-behavior:contain;flex:1;align-content:start;gap:1rem;min-height:0;display:grid;overflow-y:auto}.sheet-empty{color:var(--ink-2);text-align:center;padding-block:1.5rem}.grade h3{color:var(--ink-2);margin-block-end:.5rem;font-size:.8125rem;font-weight:500}.grade-chips{grid-template-columns:repeat(auto-fill,minmax(4.5rem,1fr));gap:.375rem;display:grid}.chip{border-radius:var(--radius-small);background:var(--surface);min-height:2.75rem;transition:background-color .2s var(--ease), color .2s var(--ease), transform .25s var(--ease);font-size:.9375rem;font-weight:500}@media (hover:hover){.chip:not(:disabled):hover{background:var(--ink);color:var(--paper)}}.chip:not(:disabled):active{transform:scale(.95)}.chip:disabled{opacity:.35;cursor:default}.teacher-list{display:grid}.teacher-list button{border-radius:var(--radius-small);text-align:start;transition:background-color .2s var(--ease);padding:.75rem;font-size:1rem}@media (hover:hover){.teacher-list button:hover{background:var(--surface)}}.empty{text-align:center;animation:rise .6s var(--ease) both;padding-block:3.5rem}.empty h2{letter-spacing:-.01em;font-size:1.25rem;font-weight:600}.empty p{color:var(--ink-2);margin-block-start:.5rem;font-size:.9375rem}.load-error{text-align:center;min-height:100svh;animation:rise .7s var(--ease) both;place-content:center;justify-items:center;gap:.75rem;padding:2rem;display:grid}.load-error h1{letter-spacing:-.02em;font-size:1.75rem;font-weight:700;line-height:1.15}.load-error p{color:var(--ink-2)}.load-error .button{margin-block-start:.5rem}html.theme-wipe::view-transition-old(root){mix-blend-mode:normal;animation:none}html.theme-wipe::view-transition-new(root){mix-blend-mode:normal;animation:none}html.theme-wipe::view-transition-old(root){z-index:0}html.theme-wipe::view-transition-new(root){z-index:1}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}
