:root{--bg: #111316;--surface: #273246;--surface-cta: #ff6b00;--border: #3a465c;--text: #f1f5f9;--text-muted: #b8c2cc;--accent: #ff6b00;--radius-lg: 24px;--gap-1: 8px;--gap-2: 16px;--gap-3: 24px;--gap-4: 32px;--gap-5: 48px}html,body,#root{height:100%;width:auto}:root{--toolbar-safe-space: calc(80px + env(safe-area-inset-bottom, 0px)) }body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 system-ui,-apple-system,SF Pro,Inter,Arial,sans-serif}.container{max-width:1200px;margin:0 auto;padding:0 80px}.section{padding:45px 0;border-top:1px solid color-mix(in oklab,var(--text) 12%,transparent)}.section--tightTop{padding-top:40px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px}@media (max-width: 1024px){.container{padding:0 32px}.section{padding:72px 0}.grid-3,.grid-4{grid-template-columns:1fr 1fr}}@media (max-width: 640px){.grid-3,.grid-4{grid-template-columns:1fr}.section{padding:56px 0}}.header{background:var(--bg)}.header__row{display:flex;align-items:center;padding-block:20px}.header__brand{display:inline-flex;align-items:center;transform:translateY(10px)}.header__logo{display:block;background:none;height:auto;width:155px;cursor:pointer}.header__navbtns{display:flex;align-items:center;gap:20px}.header__user{margin-left:auto;display:flex;align-items:center;gap:12px}.header__userbtn{display:inline-flex;align-items:center;gap:8px;cursor:pointer;background:transparent;border:0;padding:0;color:inherit;font:inherit}.header__userbtn:disabled{cursor:default;opacity:.6}.header__username,.header__authbtn{color:var(--text-muted);opacity:.9;font-size:28px;line-height:1.15;transition:color .2s ease}.header__userbtn:hover .header__username,.header__usersection:hover .header__username{color:var(--text)}.header__authbtn{background:transparent;border:0;padding:0;margin:0;font-family:inherit;font-weight:600;line-height:1.15;font-size:28px;cursor:pointer;color:var(-text)}.header__authbtn:hover,.header__userbtn:hover{color:var(--text)}.header__authbtn:focus-visible{outline:2px solid var(--text-muted);outline-offset:2px;border-radius:4px}header .header__navbtns>.header__authbtn{font-size:28px}.header__avatar{width:36px;height:36px;border-radius:999px;background:var(--accent);color:#111;font:700 14px/36px ui-sans-serif,system-ui;text-align:center}@media (min-width: 1440px){.header__logo{width:155px}}@media (max-width: 640px){.header__logo{width:110px}}.header__userbtn:hover,.header__usersection:hover{color:var(--text)}.sitefooter{margin-top:32px;padding:22px 0 28px;border-top:1px solid color-mix(in oklab,var(--text, #e8eef5) 12%,transparent);background:var(--bg)}.sitefooter__row{display:flex;flex-direction:row-reverse;justify-content:space-between;align-items:center}.sitefooter__text{color:var(--text-muted);margin:0;font-size:clamp(14px,1.8vw,18px)}.sitefooter__by{color:var(--text);font-weight:700}.sitefooter__nav{display:flex;align-items:center;justify-content:space-around}.sitefooter__link{all:unset;display:inline-block;color:var(--text-muted);background-color:color-mix(in oklab,var(--accent) 30%,transparent);cursor:pointer;font-size:22px;padding:8px 12px;border-radius:12px;line-height:1;text-decoration:none;transition:background-color 1s ease,color 1s ease}.sitefooter__link:hover{color:var(--text);background-color:var(--accent)}.sitefooter__link:visited .sitefooter__link,.sitefooter__link:link{color:var(--text-muted);text-decoration:none}.sitefooter__link:hover,.sitefooter__link:focus-visible{color:var(--text);background-color:var(--accent);outline:2px solid var(--accent);outline-offset:2px}.sitefooter__link--disabled,.sitefooter__link[aria-disabled=true]{pointer-events:none;opacity:.5;cursor:default;outline:none}.hero{text-align:center}.hero__title{font-size:clamp(40px,6vw,72px);line-height:1.2;letter-spacing:-.3px;font-weight:700;margin:0 0 16px}.hero__subtitle{max-width:920px;margin:0 auto;color:var(--text-muted);font-size:28px;line-height:1.6}.section--no-border{border-top:none}.how__title{text-align:center;font-size:clamp(24px,3vw,40px);line-height:1.25;font-weight:700;margin:0 0 32px}.how__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}.feature{display:grid;justify-items:center;text-align:center;border-radius:22px;background:var(--surface);gap:12px;padding:32px;border:1px solid var(--border)}.feature__iconWrap{height:48px}.feature__icon{width:65px;height:65px;color:var(--accent)}.feature__title{margin:4px 0 0;font-size:26px;font-weight:700}.feature__text{margin:0;color:var(--text-muted);font-size:16px;line-height:1.6;max-width:38ch}@media (max-width: 1024px){.hero__title{font-size:48px}.how__grid{grid-template-columns:1fr 1fr}}@media (max-width: 640px){.hero__title{font-size:36px}.how__grid{grid-template-columns:1fr}.feature{padding:24px}}.navguide{padding:40px 0}.navguide__card{background:var(--surface);color:var(--text);border-radius:16px;padding:32px 24px 28px}.navguide__title{margin:0 0 24px;text-align:center;font-size:clamp(22px,3.2vw,36px);font-weight:700}.navguide__grid{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2.5vw,36px)}.navguide__item{text-align:center;list-style:none}.navguide__item::marker{content:none}.navguide__icon{width:64px;height:64px;border-radius:50%;background:var(--accent);display:grid;place-items:center;margin:0 auto 12px;--icon-size: 40px}.navguide__icon .icon-stroke,.navguide__icon svg{width:var(--icon-size);height:var(--icon-size);stroke-width:2;color:#fff;stroke-linecap:round;stroke-linejoin:round}.icon-stroke{width:40px;height:40px;color:var(--text);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.navguide__heading{margin:0 0 6px;font-size:20px;font-weight:700}.navguide__text{margin:0;color:var(--text-muted)}@media (max-width: 960px){.navguide__grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 560px){.navguide__grid{grid-template-columns:1fr}}.practice{padding:56px 0}.practice__title{margin:0 0 8px;text-align:center;font-size:clamp(32px,4vw,60px);font-weight:500}.practice__lead{margin:0 auto 28px;text-align:center;color:var(--text-muted);max-width:900px;font-size:clamp(18px,2.4vw,22px)}.practice__banner{background:var(--accent, #ff6a00);color:#111;border-radius:16px;padding:28px 20px;text-align:center;margin:16px 0 28px}.practice__trophy{width:60px;height:60px;stroke-width:2;color:#fff;margin-bottom:8px}.practice__bannerTitle{margin:10px 0;font:700 28px/1.2 system-ui,-apple-system,SF Pro,Inter,Arial,sans-serif;color:var(--text)}.practice__bannerText{margin:0 auto;max-width:900px;opacity:.95;color:var(--text);font-size:clamp(18px,2.4vw,21px);line-height:2}.practice__grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.5vw,28px);margin:28px 0 8px}.practice__card{background:var(--surface);display:flex;flex-direction:column;align-items:center;text-align:center;list-style:none;color:var(--text);border-radius:16px;padding:22px;box-shadow:0 8px 24px #0003}.practice__cardIcon{width:60x;height:60px;background:transparent;display:grid;place-items:center;margin:10px 0 12px}.practice__cardIcon svg{width:60px;height:60px;color:var(--accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.practice__cardTitle{margin:0 0 10px;font-size:20px;font-weight:700}.practice__points{list-style:none;padding:0;margin:12ps 0 0;color:var(--text-muted);line-height:1.6}.practice__points li{margin:6px 0}.practice__quote{margin:32px 0 0;background:var(--panel, #15202b);border-radius:16px;padding:clamp(18px,4vw,28px);text-align:center}.practice__quote blockquote{margin:0 0 8px;font-style:italic;font-size:clamp(18px,2.4vw,28px);color:var(--text)}.practice__quote figcaption{color:var(--text-muted)}.practice__signup-container{display:flex;justify-content:center;padding:50px}.practice__signup-btn{all:unset;display:inline-block;color:var(--text-muted);background-color:color-mix(in oklab,var(--accent) 30%,transparent);cursor:pointer;font-size:28px;padding:15px 20px;width:100%;text-align:center;border-radius:12px;line-height:1;text-decoration:none;transition:background-color 1s ease,color 1s ease}.practice__signup-btn:hover{color:var(--text);background-color:var(--accent)}.practice__signup-btn:hover,.practice__signup-btn:focus-visible{color:var(--text);background-color:var(--accent);outline:2px solid var(--accent);outline-offset:2px}@media (max-width: 960px){.practice__grid{grid-template-columns:1fr 1fr}}@media (max-width: 560px){.practice__grid{grid-template-columns:1fr}}.about{padding:56px 0}.about__title{margin:0 0 24px;text-align:center;font-size:clamp(28px,4vw,48px);font-weight:800}.about__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,3vw,28px);margin-bottom:30px}.about__card{background:var(--surface);color:var(--text);border-radius:16px;padding:clamp(18px,3vw,24px);box-shadow:0 8px 24px #0003}.about__heading{margin:0 0 10px;font:700 20px/1.2 system-ui,-apple-system,SF Pro,Inter,Arial,sans-serif;color:var(--text);border-left:4px solid var(--accent);padding-left:10px}.about__text{margin:0;color:var(--text-muted);line-height:1.7}.about__triangle-container{display:flex;flex-direction:column;align-items:stretch;margin:0 auto}.about__triangle{padding:64px 0}.about__h2{font-size:clamp(28px,2.6vw,40px);margin:20px 0 16px;text-align:center}.about__lead{font-size:1.05rem;color:var(--text);max-width:75ch}.about__triangle-media{margin:24px 0;display:grid;place-items:center;border-radius:20px}.about__triangle-body{display:flex;align-items:center;flex-wrap:wrap;gap:24px}.about__triangle-body_text{display:flex;flex-direction:column;min-width:280px;flex:1 1 360px}.about__list{margin:16px 0;padding-left:1.2rem;line-height:1.6}.about__h3{margin-top:24px}@media (max-width: 800px){.about__grid{grid-template-columns:1fr}.about__triangle-media img{max-width:100%;height:auto}}.dailySlice__frame{aspect-ratio:16/9;width:100%;border:1px solid var(--border);border-radius:12px;overflow:hidden}.dailySlice__controls{padding:25px 0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:center}.dailySlice__btn{all:unset;display:inline-block;text-align:center;padding:12px;border-radius:10px;border:1px solid var(--border);background:color-mix(in oklab,var(--accent) 18%,transparent);cursor:pointer;font:inherit}.dailySlice__btn:hover{background:color-mix(in oklab,var(--accent) 30%,transparent)}.dailySlice__btn[disabled]{opacity:.55;cursor:default}.dailySlice__frame iframe{display:block;width:100%;height:100%;border:0}.dailySlice__title{margin:0 0 4px}.dailySlice__artist{margin:0 0 12px;color:var(--text-muted)}.dailySlice__desc{margin:10px 0 0;color:var(--text-muted)}.dailySlice__controls{display:flex;flex-wrap:wrap;gap:15px;margin-top:12px}.dailySlice__range{grid-column:1 / -1;display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center}.dailySlice__row{display:flex;align-items:center;gap:20px}.toolwin{display:flex;flex-direction:column;width:100%;height:100%;background:var(--surface, #1d2430);color:var(--text, #eaeef3);border:1px solid rgba(255,255,255,.65);border-radius:12px;box-shadow:0 12px 30px #00000073;overflow:hidden;-webkit-user-select:none;user-select:none;opacity:1;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.toolwin__header{display:flex;align-items:center;justify-content:space-between;gap:8px;height:40px;padding:0 10px 0 12px;background:#111827;color:var(--text);cursor:move}.toolwin__title{font-weight:600;letter-spacing:.2px}.toolwin__actions{display:flex;gap:6px}.toolwin__btn{appearance:none;border:0;background:var(--accent);opacity:.5;color:inherit;border-radius:8px;padding:4px 8px;cursor:pointer}.toolwin__btn:hover{opacity:1}.toolwin__btn--danger:hover{background:var(--accent)}.toolwin__content{flex:1;padding:12px;overflow:auto;background:inherit}.toolwin--min{height:auto}.profile{padding:24px 0 48px}:root{--toolbar-safe-space: calc(96px + env(safe-area-inset-bottom, 0px)) }.profile__title{margin:0 0 16px}.profile__body{display:grid;grid-template-columns:280px 1fr;gap:24px;align-items:start}@media (max-width: 720px){.profile__body{grid-template-columns:1fr}}.profile__modal-body{padding:8px 2px;color:var(--text)}.modal{position:fixed;inset:0;display:flex;justify-content:center;align-items:flex-start;overflow:auto;padding:max(24px,env(safe-area-inset-top)) 24px 24px;z-index:1000;background:color-mix(in oklab,#000 60%,transparent);overscroll-behavior:contain;touch-action:none}.modal__panel{width:min(960px,100%);max-height:min(92vh,1000px);display:flex;flex-direction:column;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:16px;box-shadow:0 20px 50px #0006;padding:24px 28px;overflow:hidden}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:0 0 16px;border-bottom:1px solid var(--border)}.modal__title{margin:0;font-size:25px;font-weight:700}.modal__close{background:none;border:0;color:var(--text);font-size:25px;line-height:1;cursor:pointer}.modal__body{padding:20px 0;flex:1 1 auto;min-height:0;overflow:auto}@media (min-height: 700px){.modal{align-items:center}}.reminders{border:1px solid var(--accent, color-mix(in oklab, var(--text) 12%, transparent));border-radius:16px;background:var(--surface, #15202b);padding:16px 16px 14px;margin-bottom:20px;box-shadow:0 6px 16px #0000002e}.reminders__header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.reminders__title{margin:0;font-size:18px}.reminders__close{margin-left:auto;background:none;border:0;color:var(--text-muted);font-size:22px;line-height:1;cursor:pointer}.reminders__close:hover{color:var(--text)}.reminders__item{margin:0;color:var(--text)}.reminders__label{color:var(--text-muted)}.profileNav{position:sticky;top:16px;display:flex;flex-direction:column;gap:20px;align-self:start}.profileNav__group{background:var(--surface, #15202b);border:1px solid var(--border);border-radius:16px;padding:14px}.profileNav__title{margin:0 0 8px;font-size:16px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.profileNav__list{list-style:none;margin:0;padding:0}.profileNav__item{margin:0}.profileNav__link{width:100%;text-align:left;background:transparent;border:0;color:var(--text);padding:8px 10px;border-radius:10px;cursor:pointer;font-size:16px}.profileNav__link:hover{background:color-mix(in oklab,var(--text) 10%,transparent)}.profileNav__spacer{flex:1}.profileNav__tools{position:sticky;bottom:16px;background:var(--surface, #15202b);border:1px solid var(--border);border-radius:16px;padding:14px}.profileNav__note{margin:0;color:var(--text-muted);font-size:14px}@media (max-width: 720px){.profileNav{position:static}.profileNav__tools{display:none}}.assignment-card{background:var(--surface, #15202b);border:1px solid var(--border);border-radius:16px;padding:16px;cursor:pointer;transition:background-color .2s ease,border-color .2s ease}.assignment-card:hover{background:color-mix(in oklab,var(--text) 10%,transparent);border-color:color-mix(in oklab,var(--text) 24%,transparent)}.assignment-card__title{margin:0 0 6px;font-size:18px}.assignment-card__hint{margin:0;color:var(--text-muted)}.assignments__title{margin:0 0 12px;font-size:clamp(20px,2.6vw,28px)}.assignments__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}@media (max-width: 1024px){.assignments__grid{grid-template-columns:1fr 1fr}}@media (max-width: 720px){.assignments__grid{grid-template-columns:1fr}}.profileToolbar{position:fixed;left:0;right:0;bottom:16px;z-index:60;box-shadow:0 4px 12px #00000026;background:color-mix(in oklab,var(--surface) 50%,transparent);border:1px solid var(--border);padding:8px 16px;margin:0 auto;width:100%;max-width:calc(100% - 32px);border-radius:12px}.profileToolbar__inner{display:flex;justify-content:space-between;align-items:center;gap:12px}.profileToolbar__btn{font-size:18px;background-color:#ff6b00;opacity:.5;color:var(--text);border:0;padding:10px 14px;border-radius:10px;cursor:pointer}.profileToolbar__btn:hover{opacity:1}@media (max-width: 560px){.profileToolbar__inner{gap:8px}.profileToolbar__btn{font-size:14px}}.donut{position:relative;display:grid;place-items:center}.donut__center{position:absolute;text-align:center}.donut__value{font-size:40px;font-weight:800;color:var(--text, #eaeef3)}.donut__label{font-size:14px;color:var(--text-muted, #b8c2d1)}.donut__bg{fill:none;stroke:color-mix(in oklab,var(--accent, #6aa9ff) 16%,transparent)}.donut__fg{fill:none;stroke:var(--accent, #6aa9ff);stroke-linecap:round;transition:stroke-dasharray .3s ease}.donut__track{stroke:#eee}.brk{display:grid;gap:10px}.brk__row{display:grid;grid-template-columns:140px 1fr 56px;gap:10px;align-items:center}.brk__label{color:var(--text, #eaeef3);font-weight:600}.brk__barwrap{height:12px;border-radius:999px;background:color-mix(in oklab,var(--accent) 12%,transparent);overflow:hidden}.brk__bar{height:100%;background:var(--accent, #6aa9ff);border-radius:inherit}.brk__val{text-align:right;color:var(--text-muted, #b8c2d1)}.parent__head{margin:12px 0 24px}.parent__grid{display:grid;gap:24px;grid-template-columns:340px 1fr;align-items:start}.parent__card{background:var(--surface, #111827);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:16px}.parent__h2{margin:0 0 12px}@media (max-width: 900px){.parent__grid{grid-template-columns:1fr}}.scoreForm{display:grid;color:var(--text, #111827);gap:16px}.scoreForm__row{display:grid;grid-template-columns:140px 1fr;gap:12px;align-items:center}.scoreForm__label{font-weight:600;color:var(--text, #111827)}.scoreForm__fieldset{border:1px solid var(--border, #e5e7eb);border-radius:16px;padding:16px 16px 18px;overflow:hidden;background:var(--surface, #ffffff)}.scoreForm__legend{font-weight:700;font-size:.95rem;padding:0;color:var(--text, #111827)}.scoreForm__grid{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:12px}.scoreForm__grid label{display:flex;flex-direction:column;gap:6px}.scoreForm__sublabel{font-size:.85rem;color:var(--text-muted, #6b7280)}.scoreForm__col{grid-column:1 / -1}.scoreForm input[type=date],.scoreForm input[type=number],.scoreForm textarea{width:100%;border:1px solid var(--border, #e5e7eb);background:var(--surface, #fff);color:var(--text, #111827);border-radius:12px;padding:10px 12px;font:inherit;outline:none;align-self:center;transition:border-color .12s ease,box-shadow .12s ease}.scoreForm textarea{resize:vertical;min-height:60px}.scoreForm input:focus,.scoreForm textarea:focus{border-color:var(--primary, #6366f1);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary, #6366f1) 25%,transparent)}.scoreForm__actions{display:flex;gap:10px;justify-content:flex-end;margin-top:4px}.btn{appearance:none;border:none;background:var(--btn-bg, #fff);color:var(--text, #111827);padding:10px 14px;font-weight:600;border-radius:12px;cursor:pointer}.btn:hover{background:var(--accent)}.btn:active{transform:translateY(1px)}.btn--primary{border-color:var(--primary, #6366f1);background:var(--primary, #6366f1);color:#fff}.btn--primary:hover{filter:brightness(.98)}.scoreForm__row input[type=date]{max-width:260px}@media (max-width: 920px){.scoreForm__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.scoreForm__row,.scoreForm__grid{grid-template-columns:1fr}}@media (prefers-color-scheme: dark){.scoreForm__fieldset{background:#0f172a;border-color:#1f2937}.scoreForm input[type=date],.scoreForm input[type=number],.scoreForm textarea{background:#0b1220;color:#e5e7eb;border-color:#1f2937}.btn{background:#111827;border-color:#1f2937;color:#e5e7eb}.btn--primary{background:#6366f1;border-color:#6366f1;color:#fff}}.lessonForm .row{display:grid;grid-template-columns:140px 1fr;gap:12px;align-items:center;margin-bottom:12px}.lessonForm .actions{display:flex;gap:12px;justify-content:space-between;margin-top:36px}.lessonForm input,.lessonForm select{width:100%}.lessonForm__grid{display:grid;gap:24px;grid-template-columns:1fr 1fr;align-items:start}.attCal{--cell: 84px;--gap: 8px;width:fit-content;margin-inline:auto}.attCal__legend{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;margin:8px 0 12px}.attCal__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--gap);justify-content:center;max-width:calc(7 * var(--cell) + 6 * var(--gap));margin-inline:auto}.attCal__grid--header{display:grid;grid-template-columns:repeat(7,var(--cell));gap:var(--gap);justify-content:center;margin-bottom:6px}.attCal__grid,.attCal__grid--header{display:grid!important;grid-template-columns:repeat(7,var(--cell))!important;gap:var(--gap);justify-content:center}.attCal__grid--header .attCal__cell{height:28px;line-height:28px;text-align:center;border:0;background:transparent;color:var(--text-muted);padding:0}.attCal__cell{position:relative;width:var(--cell);height:var(--cell);border:1px solid rgba(0,0,0,.08);border-radius:8px;background:var(--surface, #fff);overflow:hidden}.attCal__cell.is-other{opacity:.45}.attCal__date{position:absolute;top:6px;right:8px;font-size:12px;font-weight:600;line-height:1}.attCal__dots{position:absolute;left:8px;bottom:8px;display:flex;flex-wrap:wrap;gap:4px}.dot{width:8px;height:8px;border-radius:50%}.attCal__controls{display:grid;grid-template-columns:1fr auto 1fr;margin-bottom:30px}.attCal__controls-actions{grid-column:1;display:flex;justify-content:space-between;gap:8px}.attCal__title{grid-column:2 / 3;text-align:center;font-weight:700;font-size:22px}.is-red{background:#e74c3c;padding:8px}.is-green{background:#2ecc71;padding:8px}.is-orange{background:#f39c12;padding:8px}.is-blue{background:#3498db;padding:8px}.is-future{background:#95a5ae;padding:8px}.attCal__cell:hover{box-shadow:0 0 0 2px #3498db26 inset;cursor:pointer}.attCal__cell:focus-within,.attCal__cell:focus{outline:2px solid #3498db;outline-offset:2px}.modal__panel--wide{width:min(680px,100%);padding:28px}.btn--attCal{padding:12px;width:auto}@media (max-width: 640px){.attCal__grid{gap:6px}.attCal__cell{border-radius:6px}.attCal__date{font-size:11px}}.tsi__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.tsi__grid{display:grid;gap:16px;grid-template-columns:260px 1fr}.tsi__card{background:var(--surface);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:16px}.tsi__actions{display:flex;justify-content:space-around;gap:20px}.btn{padding:14px;font-size:20px;border-radius:10px;border:none;background:color-mix(in oklab,var(--accent) 18%,transparent)}.tsi__infocard{background:var(--surface, #fff);border:1px solid var(--border, #e5e7eb);border-radius:16px;padding:14px 16px;margin-bottom:14px;display:grid;gap:10px}.tsi__inforow{display:grid;grid-template-columns:180px 1fr;gap:12px;align-items:center}.tsi__label{font-weight:600;color:var(--text, #111827)}.tsi__value{display:flex;align-items:center;gap:8px;min-width:0}.tsi__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tsi__copybtn{padding:6px 10px;border-radius:10px;border:none;background:var(--accent);opacity:50%;cursor:pointer}.tsi__copybtn:hover{opacity:1}@media (max-width: 640px){.tsi__inforow{grid-template-columns:1fr;align-items:start}}.teacherDash{display:grid;grid-template-columns:280px 1fr;gap:24px;padding:16px 0 32px}.teacher__empty{padding:32px 0;text-align:left}.teacher__sidehead{display:flex;align-items:center;justify-content:space-between;gap:8px}.teacher__addbtn{all:unset;padding:6px 10px;border-radius:10px;background:var(--accent);color:var(--text);cursor:pointer;font-size:18px}.teacherDash__sidebar{background:var(--surface, #111827);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:12px}.teacherDash__title{margin:6px 0 12px;font-size:18px}.teacherDash__list{display:grid;gap:8px;align-items:start;margin:0;padding:0;list-style:decimal;max-width:100%}.teacherDash__list>li{align-self:start;margin:0}.teacherDash__student{all:unset;display:block;width:99%;text-align:left;cursor:pointer;padding:8px}.teacherDash__student:hover{background:color-mix(in oklab,var(--accent) 58%,transparent)}.teacherDash__student--active{background:color-mix(in oklab,var(--accent) 28%,transparent)}.teacherDash__avatar{width:36px;height:36px;border-radius:50%;background:color-mix(in oklab,var(--accent) 35%,transparent);display:grid;place-items:center;font-weight:700}.teacherDash__name{color:var(--text, #eaeef3)}.teacherDash__muted{color:var(--text-muted, #b8c2d1);margin:6px 0}.teacherDash__error{color:#ff8585}.teacherDash__content{min-height:320px;margin-top:30px}.teacherDash__placeholder{background:var(--surface, #111827);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:24px;color:var(--text-muted, #b8c2d1)}@media (max-width: 900px){.teacherDash{grid-template-columns:1fr}}.authForm{display:flex;flex-direction:column;gap:25px;padding:10px 0}.label{font-size:20px;align-self:center}.input{font-size:18px;padding:18px;background-color:transparent;border-radius:20px;border:3px solid var(--border);color:var(--text)}.input:focus{outline:none;border:3px solid white}.modal__actions{display:flex;flex-direction:column;justify-content:center;margin-top:18px;gap:10px}.btn-submit{padding:18px;font-size:18px;background-color:transparent;border:3px solid var(--accent);color:var(--text);border-radius:20px}.btn-submit:hover{background-color:var(--accent);cursor:pointer}.confirm-modal__overlay{position:fixed;inset:0;display:grid;place-items:center;background:#00000080;z-index:1000}.confirm-modal__content{background:var(--surface);width:min(520px,92vw);padding:20px;border-radius:12px;box-shadow:0 10px 30px #0003;position:relative}.confirm-modal__title{margin:0 0 8px;font-size:20px}.confirm-modal__message{margin:0 0 16px;color:var(--text)}.confirm-modal__actions{display:flex;gap:12px;justify-content:flex-end}.confirm-modal__btn{padding:10px 14px;border:none;cursor:pointer;border-radius:8px}.confirm-modal__btn_cancel{background:#eee;opacity:.5}.confirm-modal__btn_cancel:hover{opacity:1}.confirm-modal__btn_danger{background:var(--accent);opacity:.5;color:#fff}.confirm-modal__btn_danger:hover{opacity:1}.roles{display:grid;gap:12px;grid-template-columns:1fr}.roles__card{all:unset;cursor:pointer;padding:14px 16px;border-radius:12px;background:var(--surface, #111827);border:1px solid color-mix(in oklab,var(--text, #e8eef5) 12%,transparent)}.roles__card:hover,.roles__card:focus-visible{outline:2px solid var(--accent);outline-offset:2px;background:color-mix(in oklab,var(--accent) 14%,var(--surface))}.roles__label{font-weight:700;color:var(--text)}.roles__desc{color:var(--text-muted);margin-top:4px;font-size:.95rem}
