@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/manrope-latin-400-normal-PaqtzbVb.woff2)format("woff2"),url(/assets/manrope-latin-400-normal-8tf8FM3T.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/manrope-cyrillic-400-normal-BMzJvInZ.woff2)format("woff2"),url(/assets/manrope-cyrillic-400-normal-Dvx59UGC.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/manrope-latin-600-normal-4f0koTD-.woff2)format("woff2"),url(/assets/manrope-latin-600-normal-BqgrALkZ.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/manrope-cyrillic-600-normal-DvRl3Mj-.woff2)format("woff2"),url(/assets/manrope-cyrillic-600-normal-It4mZcQk.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/manrope-latin-700-normal-BZp_XxE4.woff2)format("woff2"),url(/assets/manrope-latin-700-normal-DGRFkw-m.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/manrope-cyrillic-700-normal-Dw_fZAg2.woff2)format("woff2"),url(/assets/manrope-cyrillic-700-normal-7JNVKxyl.woff)format("woff")}@font-face{font-family:Unbounded;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/unbounded-latin-500-normal-4slEIF53.woff2)format("woff2"),url(/assets/unbounded-latin-500-normal-ZsrgWWU1.woff)format("woff")}@font-face{font-family:Unbounded;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/unbounded-cyrillic-500-normal-vuFlZByi.woff2)format("woff2"),url(/assets/unbounded-cyrillic-500-normal-CRDmNtZY.woff)format("woff")}:root{--bg:#eef1f7;--surface:#fff;--surface-2:#f5f6fa;--ink:#0c1020;--ink-2:#4c566b;--ink-3:#7c8499;--line:#0c102017;--line-2:#0c10202b;--accent:#4632f0;--accent-hover:#3a27d6;--on-accent:#fff;--accent-soft:#edeaff;--accent-soft-2:#dad4ff;--accent-text:#3a27d6;--ok:#0b8a55;--ok-soft:#e1f4ea;--warn:#9a5b00;--warn-soft:#fcefd6;--bad:#c8352c;--bad-soft:#fbe4e2;--sq-rem-a:#8b7df8;--sq-rem-b:#4632f0;--sq-warn-a:#f2c06a;--sq-warn-b:#e0900b;--sq-used:#e1e4ec;--hero-bg:linear-gradient(140deg,#2c2076 0%,#161a38 56%,#0c1020 100%);--hero-ink:#f3f4fb;--hero-ink-2:#aeb3d3;--hero-line:#ffffff21;--hero-used:#ffffff0f;--sq-a:#edeaff;--sq-b:#c3b9ff;--sq-ha:#ffe6b5;--sq-hb:#f2b64c;--scrim:#080a1680;--font-d:"Unbounded","Manrope",system-ui,sans-serif;--font-b:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--safe-top:calc(var(--tg-safe-area-inset-top,0px) + var(--tg-content-safe-area-inset-top,0px));--safe-bottom:max(env(safe-area-inset-bottom,0px), var(--tg-safe-area-inset-bottom,0px));--bar-h:0px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#090c17;--surface:#121728;--surface-2:#191f33;--ink:#e8ebf5;--ink-2:#a2aac0;--ink-3:#737b92;--line:#e8ebf517;--line-2:#e8ebf52e;--accent:#8e80ff;--accent-hover:#a196ff;--on-accent:#0c1020;--accent-soft:#1f1a48;--accent-soft-2:#2f2870;--accent-text:#b5adff;--ok:#42c98f;--ok-soft:#0e2a1f;--warn:#f0b04d;--warn-soft:#2e230f;--bad:#ff7d73;--bad-soft:#361714;--sq-rem-a:#5b4fd0;--sq-rem-b:#8e80ff;--sq-warn-a:#9a6a1c;--sq-warn-b:#f0b04d;--sq-used:#242b41;--hero-bg:linear-gradient(140deg,#2b2078 0%,#171b3a 58%,#0f1328 100%);--scrim:#0000009e}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#090c17;--surface:#121728;--surface-2:#191f33;--ink:#e8ebf5;--ink-2:#a2aac0;--ink-3:#737b92;--line:#e8ebf517;--line-2:#e8ebf52e;--accent:#8e80ff;--accent-hover:#a196ff;--on-accent:#0c1020;--accent-soft:#1f1a48;--accent-soft-2:#2f2870;--accent-text:#b5adff;--ok:#42c98f;--ok-soft:#0e2a1f;--warn:#f0b04d;--warn-soft:#2e230f;--bad:#ff7d73;--bad-soft:#361714;--sq-rem-a:#5b4fd0;--sq-rem-b:#8e80ff;--sq-warn-a:#9a6a1c;--sq-warn-b:#f0b04d;--sq-used:#242b41;--hero-bg:linear-gradient(140deg,#2b2078 0%,#171b3a 58%,#0f1328 100%);--scrim:#0000009e}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font:400 14px/1.55 var(--font-b);-webkit-font-smoothing:antialiased;margin:0}button,input,textarea,select{font:inherit;color:inherit}button,.button{background:var(--surface);border:1px solid var(--line-2);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:8px 13px;font-weight:700;line-height:1.4;text-decoration:none;display:inline-flex}button:hover,.button:hover{border-color:var(--accent);color:var(--accent-text)}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.primary:hover{background:var(--accent-hover);color:var(--on-accent)}.danger{color:var(--bad)}a{color:var(--accent-text);text-decoration:none}a:hover{text-decoration:underline}input,select,textarea{background:var(--surface);border:1px solid var(--line-2);border-radius:8px;min-width:0;padding:9px 11px}input[type=checkbox]{accent-color:var(--accent);width:17px;height:17px}textarea{resize:vertical;width:100%;line-height:1.6}small{color:var(--ink-2);font-size:12px}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--font-d);letter-spacing:-.035em;font-weight:500}h1{margin-bottom:0;font-size:27px;line-height:1.35}h2{margin-bottom:18px;font-size:17px;line-height:1.5}h3{margin-bottom:7px;font-size:15px}.app{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--line);background:var(--surface);z-index:30;flex-direction:column;flex:none;width:240px;padding:30px 18px 20px;display:flex;position:fixed;top:0;bottom:0;left:0;right:auto}.brand{color:var(--ink);font:500 12px/1.5 var(--font-d);white-space:nowrap;align-items:center;gap:11px;display:flex}.brand:hover{text-decoration:none}.brand small{font:400 10px/1.6 var(--font-b);letter-spacing:.02em;margin-top:2px;display:block}.mark{border-radius:7px;flex:none;grid-template-columns:1fr 1fr;width:31px;height:31px;display:grid;overflow:hidden}.mark i:first-child,.mark i:nth-child(4){background:var(--accent)}.mark i:nth-child(2),.mark i:nth-child(3){background:var(--accent-soft-2)}.nav-caption{letter-spacing:.1em;color:var(--ink-3);margin:34px 10px 12px;font-size:9px;font-weight:700}nav>a,.nav-disabled{color:var(--ink-2);border-radius:8px;align-items:center;gap:13px;min-height:44px;margin:4px 0;padding:11px 13px;font-weight:600;display:flex}nav>a>span:first-child,.nav-disabled>span:first-child{text-align:center;width:21px;font-size:20px;line-height:1}nav>a.active{background:var(--accent-soft);color:var(--accent-text)}nav>a:hover{background:var(--surface-2);text-decoration:none}nav>a.active:hover{background:var(--accent-soft)}.nav-disabled{color:var(--ink-3)}.nav-disabled small{border:1px solid var(--line);border-radius:4px;margin-left:3px;padding:2px 4px;font-size:9px}.sidebar-foot{border-top:1px solid var(--line);margin-top:auto;padding:20px 10px 0;font-size:11px;font-weight:600}.sidebar-foot small{margin-top:5px;font-size:10px;display:block}.live-dot{background:var(--ok);border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.workspace{flex-direction:column;width:calc(100% - 240px);min-width:0;margin-left:240px;display:flex}.topbar{border-bottom:1px solid var(--line);background:var(--surface);z-index:20;align-items:center;gap:18px;height:82px;padding:0 32px;display:flex;position:relative}.global-search{flex:1;max-width:620px;margin-right:auto;position:relative}.global-search>input{background:var(--surface-2);border-color:#0000;width:100%;padding:11px 14px;font-size:12px}.search-results{background:var(--surface);border:1px solid var(--line-2);border-radius:10px;max-height:65vh;position:absolute;top:48px;left:0;right:0;overflow:auto}.search-results>a{border-bottom:1px solid var(--line);padding:12px 16px;display:block}.search-results small{display:block}.user-info{white-space:nowrap;align-items:center;gap:9px;font-size:12px;display:flex}.user-info small{font-size:10px;display:block}.avatar{background:var(--accent-soft);width:33px;height:33px;color:var(--accent-text);border-radius:50%;place-items:center;font-weight:700;display:grid}.topbar select{padding:7px;font-size:11px}.user-menu{font-size:12px;position:relative}.user-menu summary{cursor:pointer;white-space:nowrap}.user-menu[open]{background:var(--surface)}.user-menu button{width:220px;font-size:12px;position:absolute;top:30px;right:0}.user-menu button+button{top:72px}.content{flex:1;width:100%;max-width:1680px;margin:0 auto;padding:30px 32px 10px}.page-title{justify-content:space-between;align-items:center;gap:16px;margin-bottom:25px;display:flex}.eyebrow{letter-spacing:.11em;color:var(--ink-2);margin-bottom:7px;font-size:10px;font-weight:700}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.actions button{font-size:12px}.overview-intro{background:var(--hero-bg);color:var(--hero-ink);border-radius:14px;justify-content:space-between;align-items:center;min-height:191px;margin-bottom:22px;padding:27px 32px;display:flex;overflow:hidden}.overview-intro h2{max-width:480px;margin:8px 0 10px;font-size:23px}.overview-intro p{color:var(--hero-ink-2);margin-bottom:19px;font-size:12px}.overview-intro .eyebrow{color:var(--hero-ink-2)}.overview-intro .button{border-color:var(--hero-line);color:var(--hero-ink);background:0 0;font-size:12px}.chess-art{color:#bdb4ff;padding:0 25px;font-size:142px;line-height:1;transform:rotate(-8deg)}.metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px;display:grid}.metrics>a{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:12px;flex-direction:column;padding:20px 23px;text-decoration:none;display:flex}.metrics>a:hover{border-color:var(--accent)}.metrics span{color:var(--ink-2);font-size:12px}.metrics strong{font:500 clamp(22px,2.2vw,32px)/1.3 var(--font-d);letter-spacing:-.04em;margin:12px 0 9px}.metrics small{font-size:10px}.warn-text{color:var(--warn)}.columns{grid-template-columns:1fr 1fr;gap:20px;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;min-width:0;margin-bottom:20px;padding:22px}.section-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.section-title h2{margin:0;font-size:15px}.section-title>span,.section-title>a{color:var(--ink-2);font-size:11px}.section-title input{max-width:220px}.day-list{gap:12px;display:grid}.schedule-item{border:1px solid var(--line);background:var(--surface-2);overflow-wrap:anywhere;border-radius:9px;min-width:0;padding:13px}.schedule-item h3{margin:8px 0;font-size:13px}.schedule-item p{margin-bottom:7px;font-size:11px}.schedule-item>button{margin-top:9px;padding:6px 9px;font-size:10px}.row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;display:flex}.row>b,.lesson-plan{font-size:12px}.lesson-plan summary{cursor:pointer;color:var(--accent-text)}.lesson-plan[open] summary{margin-bottom:10px}.lesson-plan button{font-size:11px}.lesson-plan p{white-space:pre-wrap}.pill{white-space:nowrap;border-radius:5px;padding:4px 7px;font-size:10px;font-weight:700;line-height:1.5;display:inline-flex}.pill.ok{background:var(--ok-soft);color:var(--ok)}.pill.soon{background:var(--warn-soft);color:var(--warn)}.pill.debt,.pill.due{background:var(--bad-soft);color:var(--bad)}.pill.paused,.pill.neutral{background:var(--bg);color:var(--ink-2)}.due-list>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:14px 0;display:flex}.due-list>div:first-child{padding-top:0}.due-list>div:last-child{border:0;padding-bottom:0}.due-list b{color:var(--ink);font-size:12px}.due-list small{margin-top:4px;font-size:10px;display:block}.due-list button{padding:6px 8px;font-size:10px}.empty{color:var(--ink-2);text-align:center;padding:36px 18px;font-size:13px}.table-card{padding:0;overflow:hidden}.table-scroll{width:100%;overflow:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:12px}th{color:var(--ink-2);white-space:nowrap;background:var(--surface-2);border-bottom:1px solid var(--line);padding:13px 15px;font-size:10px;font-weight:600}th button{font-size:inherit;color:inherit;font-weight:inherit;background:0 0;border:0;padding:0}td{border-bottom:1px solid var(--line);vertical-align:middle;padding:15px}tbody tr:last-child td{border:0}tbody tr:hover{background:var(--surface-2)}td small{margin-top:4px;font-size:10px;display:block}td .text-cell,.text-cell{white-space:pre-wrap;overflow-wrap:anywhere;min-width:170px;max-width:380px}.student-link{color:var(--ink);white-space:nowrap;font-weight:700}.block-link{margin:3px 0;display:block}.row-actions{flex-wrap:wrap;gap:5px;min-width:116px;display:flex}.row-actions button{padding:5px 7px;font-size:10px}.rank{gap:2px;width:100px;min-width:88px;display:flex}.rank>span{text-align:center;flex:1;min-width:0}.rank i{background:var(--sq-rem-a);border-radius:1px;height:11px;display:block}.rank>span:nth-child(2n) i{background:var(--sq-rem-b)}.rank i.used,.rank>span:nth-child(2n) i.used{background:var(--sq-used)}.rank.soon i:not(.used){background:var(--sq-warn-b)}.rank small{color:var(--ink-3);margin:1px 0 0;font-size:8px}.heading-count{font-family:var(--font-b);letter-spacing:0;color:var(--ink-3);font-size:16px}.filters{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;display:flex}.filters input,.filters select,.filters button{font-size:12px}.filters input[type=search]{flex:1;min-width:200px}.filters>label{align-items:center;gap:7px;font-size:12px;display:flex}.period-total{margin-left:auto;font-size:14px}.group-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.group-grid .card{margin-bottom:0}.members-list>a{border-top:1px solid var(--line);color:var(--ink);padding:12px 0;display:block}.members-list small{margin:3px 0 7px;display:block}.members-list{margin-bottom:18px}.back-link{margin-bottom:15px;font-size:12px;display:inline-block}.subscription .rank{width:min(100%,360px);margin-bottom:20px}.subscription .rank i{height:37px}.subscription .rank small{font-size:10px}.important{background:var(--warn-soft);color:var(--warn);white-space:pre-wrap;border-radius:8px;margin:12px 0;padding:12px}.important p{margin:5px 0 0}.profile{overflow-wrap:anywhere;grid-template-columns:1fr 1fr;gap:15px 30px;margin-bottom:25px;display:grid}.profile dt{color:var(--ink-2);font-size:11px}.profile dd{white-space:pre-wrap;margin:3px 0 0}.homework{border-top:1px solid var(--line);white-space:pre-wrap;padding:15px 0}.homework:last-child{padding-bottom:0}.homework p{margin:8px 0}.week-scroll{overflow:auto}.week-grid{grid-template-columns:66px repeat(7,minmax(145px,1fr));min-width:1080px;display:grid}.week-row{display:contents}.week-heading{background:var(--surface-2);border-right:1px solid var(--line);text-align:center;padding:15px 8px;font-size:12px}.week-heading small{margin-top:3px;font-size:10px;display:block}.time-label{color:var(--ink-2);border-top:1px solid var(--line);padding:14px 8px;font-size:11px}.week-cell{border-top:1px solid var(--line);border-left:1px solid var(--line);min-height:130px;padding:7px}.week-cell .schedule-item{margin-bottom:8px;padding:9px}.week-cell .schedule-item .pill{font-size:8px}.is-today{background:var(--accent-soft)}.page-footer{color:var(--ink-3);justify-content:space-between;align-items:center;padding:18px 32px 24px;font-size:10px;display:flex}.page-footer button{background:0 0;padding:5px 9px;font-size:10px}.scrim{background:var(--scrim);z-index:100;justify-content:flex-end;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.drawer{background:var(--surface);border-left:1px solid var(--line-2);width:min(580px,100%);height:100%;overflow-y:auto}.drawer>header{background:var(--surface);border-bottom:1px solid var(--line);z-index:2;justify-content:space-between;align-items:center;gap:15px;padding:20px 24px;display:flex;position:sticky;top:0}.drawer>header h2{margin:0;font-size:18px}.drawer>header button{padding:2px 10px;font-size:21px}.drawer-body{padding:24px}.drawer-footer{background:var(--surface);border-top:1px solid var(--line);justify-content:flex-end;gap:10px;padding:17px 24px;display:flex;position:sticky;bottom:0}.field{margin-bottom:18px;font-size:12px;font-weight:600;display:block}.field>span{margin-bottom:6px;display:block}.field input,.field select{width:100%;font-weight:400}.field small{font-weight:400;display:block}.form-grid{grid-template-columns:1fr 1fr;gap:0 15px;display:grid}.check{align-items:center;gap:9px;display:flex}.schedule-editor{border:1px solid var(--line);border-radius:8px;margin:0 0 18px;padding:12px}.schedule-editor legend{font-size:12px;font-weight:600}.schedule-editor>div{align-items:center;gap:15px;min-height:40px;display:flex}.schedule-editor label{align-items:center;gap:8px;width:70px;font-size:12px;display:flex}.schedule-editor input[type=time]{padding:5px 8px}.subform{background:var(--surface-2);border-radius:9px;margin-bottom:18px;padding:15px}.chips{flex-wrap:wrap;gap:5px;margin:12px 0 18px;display:flex}.chips button{padding:5px 8px;font-size:11px;font-weight:400}.muted{color:var(--ink-2);font-size:12px}.notice{background:var(--accent-soft);border-radius:8px;padding:12px}.error{background:var(--bad-soft);color:var(--bad);border-radius:8px;margin-bottom:18px;padding:14px;font-size:13px}.error button{background:0 0;margin-left:12px;font-size:11px}.login{max-width:640px;margin:8vh auto;padding:24px}.login>.brand{justify-content:center;margin-bottom:35px}.login-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:40px}.login-card h1{margin:12px 0 20px;font-size:28px}.login-card p{color:var(--ink-2);margin-bottom:25px}.login-card>.button,.login-card>button{margin:0 8px 18px 0}.login-card small{display:block}.drawer-body>section{margin-bottom:25px}.drawer-body>section>button{margin-top:12px}@media (min-width:1600px){.content{padding-top:40px}.overview-intro{min-height:210px}.metrics strong{font-size:34px}}@media (max-width:1200px){.topbar{gap:12px;padding:0 22px}.content{padding:25px 22px 10px}.user-info>span:last-child{display:none}.overview-intro{padding:24px}.overview-intro h2{font-size:20px}.chess-art{padding:0 10px;font-size:110px}.metrics>a{padding:17px}.columns{gap:16px}.card{padding:18px}.table-card{padding:0}.due-list>div{flex-wrap:wrap;align-items:flex-start}.due-list .actions{width:100%}.section-title{flex-wrap:wrap}.metrics span{font-size:11px}}@media (max-width:1024px){.sidebar{width:76px;padding:27px 12px 18px}.sidebar .brand>span:last-child,.nav-label,.sidebar .nav-caption,.sidebar-foot{display:none}.sidebar .brand{justify-content:center;margin-bottom:28px}nav>a,.nav-disabled{justify-content:center;margin:7px 0;padding:13px 10px}.workspace{width:calc(100% - 76px);margin-left:76px}.metrics strong{font-size:25px}.topbar{height:72px}.overview-intro h2{font-size:22px}}@media (max-width:720px){.sidebar{width:56px;padding-inline-start:5px;padding-inline-end:5px}.workspace{width:calc(100% - 56px);margin-left:56px}.topbar{flex-wrap:wrap;gap:8px;height:auto;padding:12px}.global-search{flex-basis:100%;order:2}.user-info{margin-right:auto}.content{padding:20px 12px 6px}.page-title{flex-direction:column;align-items:flex-start;margin-bottom:18px}h1{font-size:23px}.overview-intro{padding:22px}.overview-intro h2{font-size:19px}.chess-art{display:none}.metrics{grid-template-columns:1fr;gap:10px}.metrics>a{grid-template-columns:1fr auto;gap:2px 10px;padding:15px 18px;display:grid}.metrics strong{grid-area:1/2/3;align-self:center;margin:0;font-size:24px}.metrics small{grid-column:1}.columns,.group-grid,.profile{grid-template-columns:1fr}.columns{gap:0}.filters>*{max-width:100%}.filters select{flex:1}.card{padding:16px}.table-card{padding:0}.section-title input{width:100%;max-width:none}.form-grid{grid-template-columns:1fr}.drawer-body{padding:18px}.drawer>header{padding:16px}.page-footer{gap:10px;padding:14px 12px}.login{padding:18px}.login-card{padding:25px}.login-card h1{font-size:24px}.period-total{margin-left:0}}
