.member-avatar{--member-bg:oklch(91% .045 250);--member-ink:oklch(36% .12 250);display:inline-grid;flex:0 0 auto;place-items:center;border-radius:50%;color:var(--member-ink);background:var(--member-bg);font-size:10px;font-weight:800;letter-spacing:-.02em;line-height:1;transition:transform .16s ease,box-shadow .16s ease}.member-avatar-xs{width:22px;height:22px;font-size:8px}.member-avatar-sm{width:28px;height:28px;font-size:9px}.member-avatar-md{width:38px;height:38px;font-size:11px}.member-avatar.selected{box-shadow:0 0 0 2px var(--panel),0 0 0 4px var(--member-ink)}.member-tone-blue{--member-bg:oklch(90% .055 250);--member-ink:oklch(37% .13 250)}.member-tone-violet{--member-bg:oklch(90% .055 300);--member-ink:oklch(39% .13 300)}.member-tone-mint{--member-bg:oklch(89% .065 160);--member-ink:oklch(37% .105 160)}.member-tone-amber{--member-bg:oklch(91% .07 75);--member-ink:oklch(45% .13 75)}.member-tone-rose{--member-bg:oklch(91% .06 350);--member-ink:oklch(42% .13 350)}.member-tone-cyan{--member-bg:oklch(89% .065 195);--member-ink:oklch(37% .11 195)}.member-tone-orange{--member-bg:oklch(91% .075 35);--member-ink:oklch(43% .14 35)}.member-tone-lime{--member-bg:oklch(89% .07 115);--member-ink:oklch(38% .12 115)}.projects-top-actions{display:flex;align-items:center;gap:20px}.teacher-link{display:inline-flex;align-items:center;gap:5px;color:var(--accent);font-size:12px;font-weight:700}.teacher-link:hover{color:var(--accent-deep)}.team-members-panel{max-width:790px;padding:22px 0 19px;margin-top:24px;border-bottom:1px solid var(--line)}.team-members-heading{display:flex;align-items:start;justify-content:space-between;gap:20px}.team-members-heading h2{margin-top:5px}.team-members-caption{max-width:46ch;margin-top:6px;color:var(--muted);font-size:12px;line-height:1.5}.team-count{color:var(--muted);font-size:11px;white-space:nowrap}.team-members-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px 18px;gap:8px 18px;margin-top:16px}.member-add-form,.team-member-row{min-height:42px;display:flex;align-items:center;gap:10px;padding:6px 9px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.team-member-row.archived{opacity:.62}.team-member-name{min-width:0;overflow:hidden;flex:1 1;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:650}.member-form-cancel,.member-form-confirm,.member-remove{display:grid;width:27px;height:27px;flex:0 0 auto;place-items:center;padding:0;border:0;border-radius:6px;color:var(--muted);background:transparent}.member-form-cancel:hover:not(:disabled),.member-remove:hover:not(:disabled){color:var(--danger);background:oklch(94% .035 25)}.member-form-confirm{color:var(--success)}.member-form-confirm:hover:not(:disabled){background:oklch(93% .04 154)}.member-restore{display:inline-flex;gap:4px;padding:4px 7px;border:0;border-radius:6px;background:var(--accent-soft);font-size:11px}.member-add-button,.member-restore{align-items:center;color:var(--accent);font-weight:700}.member-add-button{min-height:42px;display:flex;justify-content:center;gap:7px;padding:0 10px;border:1px dashed oklch(78% .02 265);border-radius:8px;background:transparent;font-size:12px}.member-add-button:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.member-add-form{padding:5px 7px;color:var(--muted)}.member-add-form input{min-width:0;height:29px;flex:1 1;border:0;outline:0;color:var(--ink);background:transparent;font-size:12px}.team-members-loading{grid-column:1/-1;height:42px;border-radius:8px;background:linear-gradient(100deg,var(--soft),var(--panel),var(--soft));background-size:200% 100%;animation:shine 1.3s infinite}.team-members-empty,.team-members-error{grid-column:1/-1;color:var(--muted);font-size:12px;line-height:1.5}.team-members-error{margin-top:10px;color:var(--danger)}.button-dots{font-size:16px;line-height:1}.sidebar .team-picker{margin:0 10px 14px;padding:9px 0 12px;border-top:1px solid oklch(56% .02 268/.34);border-bottom:1px solid oklch(56% .02 268/.34)}.team-picker{display:flex;align-items:center;gap:8px;min-width:0}.team-picker-label{color:oklch(66% .025 268);font-size:10px;font-weight:700;white-space:nowrap}.team-picker-avatars{display:flex;align-items:center;min-width:0}.team-picker-button{display:grid;width:31px;height:31px;place-items:center;padding:0;border:0;border-radius:50%;background:transparent}.team-picker-button+.team-picker-button{margin-left:-5px}.team-picker-button:hover .member-avatar:not(.selected){transform:translateY(-2px)}.team-picker-name{min-width:0;overflow:hidden;color:oklch(88% .01 268);font-size:11px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.team-picker-skeleton{width:28px;height:28px;border-radius:50%;background:oklch(56% .02 268)}.sidebar .member-avatar.selected{box-shadow:0 0 0 2px oklch(24% .026 268),0 0 0 4px var(--member-ink)}.workspace-topbar{min-height:48px;display:flex;align-items:center;justify-content:flex-end;gap:18px;padding:9px clamp(28px,4vw,70px) 0}.workspace-topbar-project{margin-right:auto;overflow:hidden;color:var(--muted);font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.workspace-topbar .team-picker-label{color:var(--muted)}.workspace-topbar .team-picker-name{color:var(--ink)}.workspace-topbar .member-avatar.selected{box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--member-ink)}.project-members{margin:0 10px 15px;color:oklch(79% .014 268)}.project-members summary{display:flex;align-items:center;justify-content:space-between;min-height:31px;padding:0 3px;cursor:pointer;list-style:none;font-size:11px;font-weight:700}.project-members summary::-webkit-details-marker{display:none}.project-members summary>span{display:inline-flex;align-items:center;gap:6px}.project-members summary b{display:grid;min-width:18px;height:18px;place-items:center;border-radius:50%;color:oklch(86% .03 268);background:oklch(56% .06 271/.35);font-size:9px}.project-members-body{display:grid;grid-gap:9px;gap:9px;padding:9px 3px 4px}.project-member-avatars{display:flex;gap:5px;padding-bottom:3px}.project-member-mini-row{display:flex;align-items:center;justify-content:space-between;gap:5px;color:oklch(75% .014 268);font-size:11px}.project-member-add-button,.project-member-remove{display:grid;width:24px;height:24px;place-items:center;padding:0;border:0;border-radius:5px;color:oklch(70% .02 268);background:transparent}.project-member-remove:hover:not(:disabled){color:oklch(78% .12 25);background:oklch(55% .08 25/.25)}.project-member-add{display:grid;grid-template-columns:minmax(0,1fr) 25px;grid-gap:4px;gap:4px}.project-member-add select{min-width:0;height:27px;padding:0 5px;border:1px solid oklch(56% .02 268/.5);border-radius:5px;outline:0;color:oklch(80% .01 268);background:oklch(29% .028 268);font-size:10px}.project-member-add-button{color:oklch(83% .06 271);background:oklch(56% .06 271/.34)}.project-members-error,.project-members-note{color:oklch(67% .02 268);font-size:10px;line-height:1.45}.project-members-error{color:oklch(75% .1 25)}.mask-dialog-head h2{margin-top:4px}.mask-member-tone{display:inline-flex;align-items:center;gap:5px;margin-top:8px;color:var(--muted);font-size:10px;font-weight:650}.mask-member-tone i{width:9px;height:9px;display:inline-block;border-radius:50%;background:var(--member-ink)}.mask-brush-preview{border-color:var(--member-ink);background:var(--member-bg);opacity:.72}.mask-member-picker{display:flex;align-items:center;gap:4px;min-width:0;max-width:min(100%,360px);overflow-x:auto;padding:2px 2px 4px;scrollbar-width:thin}.mask-member-picker-label{flex:0 0 auto;color:var(--muted);font-size:10px;font-weight:700;white-space:nowrap}.mask-member-picker-button{display:grid;flex:0 0 auto;width:32px;height:32px;place-items:center;padding:0;border:1px solid transparent;border-radius:50%;background:transparent}.mask-member-picker-button:hover:not(:disabled){background:var(--soft)}.mask-member-picker-button.selected{border-color:var(--member-ink);background:color-mix(in srgb,var(--member-bg) 42%,var(--panel))}.mask-member-picker-button:focus-visible{outline:3px solid var(--accent-soft);outline-offset:1px}.mask-member-picker-button .member-avatar{box-shadow:none}.mask-member-picker-button.selected .member-avatar{box-shadow:0 0 0 2px var(--panel),0 0 0 3px var(--member-ink)}.mask-member-picker-empty{color:var(--muted);font-size:10px;white-space:nowrap}.teacher-shell{min-height:100vh;display:grid;grid-template-columns:236px 1fr;background:oklch(97% .008 78)}.teacher-sidebar{position:fixed;inset:0 auto 0 0;width:236px;display:flex;flex-direction:column;padding:27px 15px 17px;color:oklch(89% .01 268);background:oklch(22% .035 268)}.teacher-sidebar .brand{margin:0 10px;color:oklch(98% .004 78)}.teacher-sidebar .brand-mark{background:oklch(58% .14 271)}.teacher-sidebar-label{margin:63px 10px 13px;color:oklch(63% .025 268);font-size:10px;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.teacher-nav{display:flex;min-height:40px;align-items:center;gap:10px;padding:0 10px;border-radius:7px;color:oklch(74% .02 268);font-size:13px;font-weight:620}.teacher-nav.active,.teacher-nav:hover{color:oklch(97% .004 78);background:oklch(56% .08 271/.3)}.teacher-sidebar-note{margin:18px 10px;color:oklch(60% .018 268);font-size:11px;line-height:1.65}.teacher-sidebar-bottom{display:grid;grid-gap:4px;gap:4px;margin-top:auto;padding-top:12px;border-top:1px solid oklch(54% .02 268/.35)}.teacher-logout{width:100%;border:0;background:transparent;text-align:left}.teacher-main{grid-column:2;min-width:0}.teacher-page{max-width:1360px;min-height:100vh;margin:auto;padding:44px clamp(28px,5vw,78px) 74px}.teacher-page-header{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:34px}.teacher-page-header h1{margin-top:8px;font-size:36px}.teacher-page-header p:last-child{max-width:620px;margin-top:12px;color:var(--muted);font-size:14px;line-height:1.6}.teacher-readonly{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid var(--line);border-radius:99px;color:var(--muted);background:var(--panel);font-size:11px;font-weight:700;white-space:nowrap}.teacher-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;margin-bottom:44px}.teacher-metrics>div{display:grid;grid-template-columns:22px auto;grid-template-rows:auto auto;grid-column-gap:10px;column-gap:10px;padding:17px 18px;border:1px solid var(--line);border-radius:9px;background:var(--panel)}.teacher-metrics svg{grid-row:1/span 2;align-self:center;color:var(--accent)}.teacher-metrics strong{font-size:24px;letter-spacing:-.04em}.teacher-metrics span{color:var(--muted);font-size:11px}.teacher-project-section{max-width:1060px}.teacher-project-section .section-title{align-items:end}.teacher-project-section .section-title h2{margin-top:6px}.teacher-project-list{display:grid;border-top:1px solid var(--line)}.teacher-project-row{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) 190px 24px;align-items:center;grid-gap:16px;gap:16px;min-height:104px;padding:16px 7px;border-bottom:1px solid var(--line);transition:background-color .16s ease,padding .16s ease}.teacher-project-row:hover{padding-left:13px;background:oklch(99% .003 78)}.teacher-project-index{display:grid;width:35px;height:35px;place-items:center;border-radius:10px;color:var(--accent);background:var(--accent-soft);font-size:13px;font-weight:800}.teacher-project-main{min-width:0}.teacher-project-main h3{font-size:15px}.teacher-project-main p{overflow:hidden;margin-top:5px;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.teacher-project-stage{display:inline-block;margin-top:7px;color:var(--accent);font-size:10px;font-weight:750}.teacher-project-stats{display:grid;grid-gap:4px;gap:4px;color:var(--muted);font-size:10px}.teacher-project-stats span{display:inline-flex;align-items:center;gap:5px}.teacher-project-stats time{margin-top:4px;color:var(--ink);font-size:10px}.teacher-project-arrow{color:var(--muted)}.teacher-project-skeleton{height:240px;border-radius:9px;background:linear-gradient(100deg,var(--soft),var(--panel),var(--soft));background-size:200% 100%;animation:shine 1.3s infinite}.teacher-empty{min-height:220px;display:grid;place-content:center;justify-items:center;grid-gap:9px;gap:9px;padding:30px;border:1px dashed oklch(78% .018 265);border-radius:9px;text-align:center}.teacher-empty svg{color:var(--accent)}.teacher-empty p{color:var(--muted);font-size:12px}.teacher-back-link{display:inline-flex;align-items:center;gap:5px;margin-bottom:22px;color:var(--accent);font-size:12px;font-weight:700}.teacher-filters,.teacher-timeline-page .teacher-page-header{margin-bottom:25px}.teacher-filters{display:flex;align-items:end;flex-wrap:wrap;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:9px;background:var(--panel)}.teacher-filter-title{display:inline-flex;align-items:center;gap:6px;min-height:34px;margin-right:4px;color:var(--ink);font-size:11px;font-weight:750}.teacher-filter-title svg{color:var(--accent)}.teacher-filters label{display:grid;grid-gap:4px;gap:4px;color:var(--muted);font-size:10px;font-weight:700}.teacher-filters input,.teacher-filters select{min-width:124px;height:34px;padding:0 8px;border:1px solid var(--line);border-radius:6px;outline:0;color:var(--ink);background:var(--panel);font-size:11px}.teacher-filters input:focus,.teacher-filters select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.teacher-filters .text-button{margin-left:auto;min-height:31px}.teacher-timeline-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;align-items:start;grid-gap:24px;gap:24px}.teacher-timeline{position:relative;padding:4px 0 30px 28px}.teacher-mainline{position:absolute;left:7px;top:11px;bottom:0;width:1px;background:oklch(82% .018 265)}.teacher-slice{position:relative;padding-bottom:26px}.teacher-slice>header{position:relative;display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:11px}.teacher-slice>header>div{display:grid;grid-gap:4px;gap:4px}.teacher-slice>header b{font-size:13px}.teacher-slice>header time,.teacher-slice>header>span:last-child{color:var(--muted);font-size:10px}.teacher-slice-dot{position:absolute;left:-24px;top:2px;width:9px;height:9px;border:2px solid var(--paper);border-radius:50%;background:var(--accent);box-shadow:0 0 0 1px var(--accent)}.teacher-slice-events{display:grid;grid-gap:7px;gap:7px}.teacher-event-node{--member-bg:oklch(90% .055 250);--member-ink:oklch(37% .13 250);position:relative;display:grid;grid-template-columns:30px minmax(0,1fr) auto 17px;align-items:center;grid-gap:10px;gap:10px;width:100%;min-height:64px;padding:9px 12px 9px 10px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--panel);text-align:left;transition:border-color .16s ease,background-color .16s ease,transform .16s ease}.teacher-event-node.selected,.teacher-event-node:hover{border-color:var(--member-ink);background:color-mix(in srgb,var(--member-bg) 22%,var(--panel));transform:translateX(2px)}.teacher-event-branch{position:absolute;left:-22px;width:21px;height:1px;background:var(--member-ink)}.member-tone-border-blue{--member-bg:oklch(90% .055 250);--member-ink:oklch(37% .13 250)}.member-tone-border-violet{--member-bg:oklch(90% .055 300);--member-ink:oklch(39% .13 300)}.member-tone-border-mint{--member-bg:oklch(89% .065 160);--member-ink:oklch(37% .105 160)}.member-tone-border-amber{--member-bg:oklch(91% .07 75);--member-ink:oklch(45% .13 75)}.member-tone-border-rose{--member-bg:oklch(91% .06 350);--member-ink:oklch(42% .13 350)}.teacher-event-copy{min-width:0;display:grid;grid-template-columns:auto auto;grid-gap:2px 7px;gap:2px 7px;align-items:baseline}.teacher-event-copy b{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.teacher-event-copy small{color:var(--member-ink);font-size:9px;font-weight:750;text-transform:uppercase}.teacher-event-copy>span{grid-column:1/-1;overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.teacher-event-node time{color:var(--muted);font-size:10px;white-space:nowrap}.teacher-event-chevron{color:var(--muted)}.teacher-event-detail{position:-webkit-sticky;position:sticky;top:24px;min-height:280px;padding:18px;border:1px solid var(--line);border-radius:9px;background:var(--panel);box-shadow:var(--shadow)}.teacher-detail-label{padding-bottom:11px;border-bottom:1px solid var(--line);color:var(--muted);font-size:10px;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.teacher-detail-actor{display:flex;align-items:center;gap:9px;margin-top:17px}.teacher-detail-actor>div{display:grid;grid-gap:3px;gap:3px}.teacher-detail-actor b{font-size:13px}.teacher-detail-actor span{color:var(--muted);font-size:10px}.teacher-detail-kind{display:inline-flex;padding:4px 6px;margin-top:16px;border-radius:4px;color:var(--accent);background:var(--accent-soft);font-size:9px;font-weight:750}.teacher-event-detail h2{margin-top:11px;font-size:15px;line-height:1.4}.teacher-event-detail dl{display:grid;grid-gap:8px;gap:8px;margin:17px 0 0}.teacher-event-detail dl div{display:grid;grid-gap:2px;gap:2px;padding-top:8px;border-top:1px solid var(--line)}.teacher-event-detail dt{color:var(--muted);font-size:9px;font-weight:700}.teacher-event-detail dd{margin:0;color:var(--ink);font-size:11px;line-height:1.45;overflow-wrap:anywhere}.teacher-detail-empty{min-height:220px;display:grid;place-content:center;justify-items:center;grid-gap:10px;gap:10px;color:var(--muted);text-align:center}.teacher-detail-empty svg{color:var(--accent)}.teacher-detail-empty p{max-width:22ch;font-size:12px;line-height:1.5}.teacher-timeline-loading{height:560px;border-radius:8px;background:linear-gradient(100deg,var(--soft),var(--panel),var(--soft));background-size:200% 100%;animation:shine 1.3s infinite}@media (max-width:980px){.teacher-shell{grid-template-columns:1fr}.teacher-sidebar{position:-webkit-sticky;position:sticky;z-index:5;top:0;width:100%;height:auto;min-height:56px;flex-direction:row;align-items:center;gap:15px;padding:10px 18px}.teacher-sidebar .brand{margin:0}.teacher-sidebar-bottom,.teacher-sidebar-label,.teacher-sidebar-note{display:none}.teacher-nav{min-height:34px;padding:0 9px;white-space:nowrap}.teacher-nav svg{display:none}.teacher-main{grid-column:1}.teacher-timeline-layout{grid-template-columns:1fr}.teacher-event-detail{position:static}.sidebar .team-picker{margin:0 0 0 auto;padding:0;border:0}.project-name,.sidebar .project-members,.sidebar .team-picker-label,.sidebar .team-picker-name{display:none}}@media (max-width:620px){.team-members-list{grid-template-columns:1fr}.projects-top-actions{gap:10px}.teacher-page{padding:28px 18px 50px}.teacher-page-header{flex-direction:column;gap:13px;margin-bottom:25px}.teacher-page-header h1{font-size:30px}.teacher-metrics{gap:7px;margin-bottom:31px}.teacher-metrics>div{grid-template-columns:18px auto;padding:12px 10px;column-gap:5px}.teacher-metrics svg{width:15px}.teacher-metrics strong{font-size:18px}.teacher-metrics span{font-size:9px}.teacher-project-row{grid-template-columns:35px minmax(0,1fr) 18px;gap:10px}.teacher-project-stats{grid-column:2/-1;grid-row:2;grid-template-columns:1fr 1fr}.teacher-project-stats time{grid-column:1/-1}.teacher-project-arrow{grid-column:3;grid-row:1}.teacher-filters{align-items:stretch;display:grid;grid-template-columns:1fr 1fr}.teacher-filter-title{grid-column:1/-1}.teacher-filters label{min-width:0}.teacher-filters input,.teacher-filters select{min-width:0;width:100%}.teacher-filters .text-button{grid-column:1/-1;justify-self:start;margin-left:0}.teacher-timeline-layout{gap:15px}.teacher-timeline{padding-left:18px}.teacher-mainline{left:2px}.teacher-slice-dot{left:-19px}.teacher-event-branch{left:-17px;width:16px}.teacher-event-node{grid-template-columns:30px minmax(0,1fr) 15px;padding-right:8px}.teacher-event-node time{grid-column:2;grid-row:2}.teacher-event-chevron{grid-column:3;grid-row:1/span 2}.teacher-event-copy>span{white-space:normal;line-height:1.35}.teacher-event-detail{padding:15px}}.teacher-echarts{width:100%;min-width:0}.teacher-radar-echarts{height:340px;max-width:420px;margin:0 auto}.teacher-learning-tree-wrap{min-width:0;padding:14px 16px 16px;border:1px solid var(--line);border-radius:9px;background:var(--panel)}.teacher-learning-tree-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:26px;color:var(--muted);font-size:10px}.teacher-learning-tree-toolbar .text-button{display:inline-flex;align-items:center;gap:5px;margin:0}.teacher-learning-tree-echarts{height:430px}.teacher-insight-dialog-backdrop{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:24px;background:oklch(20% .028 265/.65)}.teacher-insight-dialog{width:min(100%,980px);max-height:min(850px,calc(100dvh - 48px));display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid oklch(78% .02 265);border-radius:13px;background:var(--panel);box-shadow:0 26px 76px oklch(18% .028 265/.34)}.teacher-insight-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 20px 15px;border-bottom:1px solid var(--line)}.teacher-insight-dialog-head h2{margin-top:5px;font-size:19px}.teacher-insight-dialog-head p:last-child{margin-top:6px;color:var(--muted);font-size:11px;line-height:1.45}.teacher-insight-dialog-close{display:grid;width:32px;height:32px;flex:0 0 auto;place-items:center;padding:0;border:1px solid var(--line);border-radius:8px;color:var(--muted);background:var(--panel)}.teacher-insight-dialog-close:focus-visible,.teacher-insight-dialog-close:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft);outline:none}.teacher-insight-dialog-body{min-height:0;overflow:auto;padding:8px 18px 18px;background:oklch(97% .008 265)}.teacher-word-relation-echarts{height:610px;min-height:420px}.teacher-word-relation-loading{height:610px;border-radius:9px;background:linear-gradient(100deg,var(--soft),var(--panel),var(--soft));background-size:200% 100%;animation:shine 1.3s infinite}@media (max-width:620px){.teacher-radar-echarts{height:300px}.teacher-learning-tree-wrap{padding:10px 9px 12px}.teacher-learning-tree-echarts{height:360px}.teacher-insight-dialog-backdrop{padding:0}.teacher-insight-dialog{width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0}.teacher-insight-dialog-head{padding:14px 15px 12px}.teacher-insight-dialog-head h2{font-size:17px}.teacher-insight-dialog-body{padding:4px 8px 12px}.teacher-word-relation-echarts,.teacher-word-relation-loading{height:calc(100dvh - 112px);min-height:430px}}.member-tone-border-cyan{--member-bg:oklch(89% .065 195);--member-ink:oklch(37% .11 195)}.member-tone-border-orange{--member-bg:oklch(91% .075 35);--member-ink:oklch(43% .14 35)}.member-tone-border-lime{--member-bg:oklch(89% .07 115);--member-ink:oklch(38% .12 115)}@media (max-width:980px){.mask-member-picker{flex:1 1 230px;max-width:100%}}@media (max-width:620px){.mask-member-picker{flex-basis:100%;order:4;max-width:100%}}.teacher-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:760px){.teacher-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}.member-tone-none{--member-bg:oklch(91% .012 268);--member-ink:oklch(48% .025 268)}.member-tone-coral{--member-bg:oklch(90% .06 10);--member-ink:oklch(43% .13 10)}.member-tone-yellow{--member-bg:oklch(91% .08 55);--member-ink:oklch(47% .13 55)}.member-tone-chartreuse{--member-bg:oklch(89% .075 95);--member-ink:oklch(41% .12 95)}.member-tone-green{--member-bg:oklch(89% .065 138);--member-ink:oklch(38% .11 138)}.member-tone-teal{--member-bg:oklch(89% .06 178);--member-ink:oklch(37% .105 178)}.member-tone-sky{--member-bg:oklch(90% .065 223);--member-ink:oklch(38% .12 223)}.member-tone-indigo{--member-bg:oklch(90% .06 275);--member-ink:oklch(39% .13 275)}.member-tone-magenta{--member-bg:oklch(90% .06 325);--member-ink:oklch(41% .13 325)}.member-tone-source-temporary{opacity:.8}.member-tone-source-none{opacity:.62}.member-tone-border-none{--member-bg:oklch(91% .012 268);--member-ink:oklch(48% .025 268)}.member-tone-border-coral{--member-bg:oklch(90% .06 10);--member-ink:oklch(43% .13 10)}.member-tone-border-yellow{--member-bg:oklch(91% .08 55);--member-ink:oklch(47% .13 55)}.member-tone-border-chartreuse{--member-bg:oklch(89% .075 95);--member-ink:oklch(41% .12 95)}.member-tone-border-green{--member-bg:oklch(89% .065 138);--member-ink:oklch(38% .11 138)}.member-tone-border-teal{--member-bg:oklch(89% .06 178);--member-ink:oklch(37% .105 178)}.member-tone-border-sky{--member-bg:oklch(90% .065 223);--member-ink:oklch(38% .12 223)}.member-tone-border-indigo{--member-bg:oklch(90% .06 275);--member-ink:oklch(39% .13 275)}.member-tone-border-magenta{--member-bg:oklch(90% .06 325);--member-ink:oklch(41% .13 325)}.teacher-timeline{min-width:0;padding:0 0 32px;overflow:hidden}.teacher-history-stream{--teacher-graph-column:clamp(160px,18vw,230px);--teacher-history-gap:30px;--teacher-main-line:oklch(73% .025 265);position:relative;width:100%;max-width:1020px;min-width:0}.teacher-history-head,.teacher-history-row,.teacher-history-slice{display:grid;grid-template-columns:var(--teacher-graph-column) minmax(0,760px);grid-column-gap:var(--teacher-history-gap);column-gap:var(--teacher-history-gap)}.teacher-history-head{position:relative;z-index:3;min-height:58px;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--line);background:var(--paper)}.teacher-history-head>div{min-width:0;display:flex;align-items:center;gap:8px}.teacher-history-head>div:first-child{padding-left:8px;color:var(--accent)}.teacher-history-head>div:last-child{justify-content:space-between;color:var(--ink)}.teacher-history-head span{min-width:0;display:grid;grid-gap:2px;gap:2px}.teacher-history-head b{font-size:11px}.teacher-history-head small{color:var(--muted);font-size:9px;font-weight:550}.teacher-gitgraph-viewport{position:absolute;z-index:1;inset:0 auto 0 0;width:var(--teacher-graph-column);overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.teacher-gitgraph-svg{display:block;min-width:100%;overflow:visible}.teacher-gitgraph-branch{opacity:.82}.teacher-history-slice{position:relative;z-index:3;margin-top:19px;background:var(--paper)}.teacher-history-slice>div{grid-column:1/-1;display:flex;align-items:baseline;gap:10px;min-height:39px;padding:11px 12px 9px 43px;border-top:1px solid var(--line);background:var(--paper)}.teacher-history-slice b{font-size:12px}.teacher-history-slice time{color:var(--muted);font-size:9px}.teacher-history-slice-marker{position:absolute;z-index:2;left:19px;top:14px;width:11px;height:11px;border:3px solid var(--paper);border-radius:50%;background:var(--accent);box-shadow:0 0 0 1px var(--accent)}.teacher-history-row{position:relative;z-index:2;align-items:center;min-height:86px;padding:6px 0}.teacher-history-graph-cell{min-width:0;min-height:1px;pointer-events:none}.teacher-change-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:var(--panel);transition:border-color .18s cubic-bezier(.22,1,.36,1),box-shadow .18s cubic-bezier(.22,1,.36,1),background-color .18s cubic-bezier(.22,1,.36,1)}.teacher-change-card:hover{border-color:color-mix(in srgb,var(--member-ink) 48%,var(--line));box-shadow:0 5px 16px oklch(28% .02 265/.07)}.teacher-change-card.selected{border-color:var(--member-ink);background:color-mix(in srgb,var(--member-bg) 14%,var(--panel));box-shadow:0 7px 20px oklch(28% .02 265/.09)}.teacher-change-card-toggle{width:100%;min-height:72px;display:grid;grid-template-columns:minmax(150px,1fr) auto 18px;align-items:center;grid-gap:4px 12px;gap:4px 12px;padding:11px 13px;border:0;outline:0;color:inherit;background:transparent;text-align:left;cursor:pointer}.teacher-change-card-toggle:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}.teacher-change-identity{min-width:0;display:flex;align-items:center;gap:9px}.teacher-change-identity>span:last-child{min-width:0;display:grid;grid-gap:2px;gap:2px}.teacher-change-identity b{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.teacher-change-identity small{overflow:hidden;color:var(--member-ink);font-size:9px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.teacher-system-avatar{width:28px;height:28px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;color:var(--muted);background:var(--soft)}.teacher-change-card-toggle time{color:var(--muted);font-size:9px;white-space:nowrap}.teacher-change-summary{grid-column:1/3;overflow:hidden;color:var(--muted);font-size:11px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.teacher-change-chevron{grid-column:3;grid-row:1/span 2;color:var(--muted);transition:transform .18s cubic-bezier(.22,1,.36,1)}.teacher-change-card.selected .teacher-change-chevron{transform:rotate(180deg)}.teacher-change-details{padding:0 13px 14px 50px;border-top:1px solid color-mix(in srgb,var(--member-ink) 20%,var(--line))}.teacher-change-details dl{display:grid;grid-gap:0;gap:0;margin:0}.teacher-change-details dl>div{display:grid;grid-template-columns:minmax(90px,130px) minmax(0,1fr);grid-gap:12px;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.teacher-change-details dt{color:var(--muted);font-size:9px;font-weight:700}.teacher-change-details dd{min-width:0;margin:0;color:var(--ink);font-size:11px;line-height:1.55;overflow-wrap:anywhere}.teacher-change-details pre{max-width:100%;margin:0;overflow-x:auto;color:inherit;font:inherit;white-space:pre-wrap}.teacher-change-diff dd{padding:7px 8px;border-radius:5px;background:var(--soft)}.teacher-change-empty-value,.teacher-change-no-details{color:var(--muted)}.teacher-change-no-details{margin:12px 0 0;font-size:11px}.teacher-change-preview{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;grid-gap:11px;gap:11px;margin-top:12px;color:var(--accent);font-size:10px;font-weight:700}.teacher-change-preview img{width:72px;height:54px;border:1px solid var(--line);border-radius:6px;object-fit:cover;background:var(--soft)}.teacher-change-meta{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:12px;color:var(--muted);font-size:9px}.teacher-change-meta code{padding:2px 5px;border-radius:4px;background:var(--soft);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}@media (max-width:620px){.teacher-history-stream{--teacher-graph-column:clamp(72px,23vw,96px);--teacher-history-gap:10px}.teacher-history-head{min-height:52px}.teacher-history-head>div:first-child{padding-left:4px}.teacher-history-head>div:first-child small,.teacher-history-head>div:first-child svg{display:none}.teacher-history-head>div:last-child{display:grid;grid-gap:2px;gap:2px}.teacher-history-slice{margin-top:14px}.teacher-history-slice>div{padding-left:37px}.teacher-history-slice-marker{left:19px}.teacher-history-row{min-height:94px;padding:5px 0}.teacher-change-card-toggle{grid-template-columns:minmax(0,1fr) 16px;gap:4px 8px;padding:10px}.teacher-change-card-toggle time{grid-column:1;grid-row:2}.teacher-change-summary{grid-column:1/-1;grid-row:3;white-space:normal}.teacher-change-chevron{grid-column:2;grid-row:1/span 2}.teacher-change-details{padding:0 10px 12px}.teacher-change-details dl>div{grid-template-columns:1fr;gap:4px}}.teaching-page-header{align-items:end}.teaching-page-header .primary-button{flex:0 0 auto}.teaching-layout{display:grid;grid-template-columns:260px minmax(0,1fr);align-items:start;grid-gap:22px;gap:22px}.teaching-config-panel,.teaching-groups-panel,.teaching-project-rail{border:1px solid var(--line);border-radius:10px;background:var(--panel)}.teaching-project-rail{position:-webkit-sticky;position:sticky;top:24px;min-width:0;padding:15px 10px 10px}.teaching-config-head,.teaching-groups-heading,.teaching-rail-heading,.teaching-section-heading{display:flex;align-items:end;justify-content:space-between;gap:15px}.teaching-rail-heading{padding:0 6px 12px}.teaching-rail-heading h2{margin-top:5px;font-size:18px}.teaching-groups-heading>span,.teaching-rail-heading>span{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:11px;white-space:nowrap}.teaching-project-list{display:grid;grid-gap:4px;gap:4px}.teaching-project-list-item{position:relative;display:flex;min-width:0;align-items:center;gap:9px;width:100%;padding:11px 8px;border:1px solid transparent;border-radius:8px;color:var(--muted);background:transparent;text-align:left;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.teaching-project-list-item:hover{color:var(--ink);background:var(--soft)}.teaching-project-list-item.selected{border-color:oklch(72% .07 271);color:var(--ink);background:var(--accent-soft)}.teaching-project-list-icon{display:grid;width:29px;height:29px;flex:0 0 auto;place-items:center;border-radius:8px;color:var(--accent);background:var(--panel)}.teaching-project-list-item.selected .teaching-project-list-icon{color:oklch(98% .004 78);background:var(--accent)}.teaching-project-list-copy{min-width:0;display:grid;grid-gap:4px;gap:4px}.teaching-project-list-copy strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.teaching-project-list-copy small{color:var(--muted);font-size:10px}.teaching-default-dot{display:grid;width:19px;height:19px;flex:0 0 auto;place-items:center;margin-left:auto;border-radius:50%;color:var(--success);background:oklch(92% .04 154)}.teaching-groups-loading,.teaching-rail-loading{border-radius:8px;background:linear-gradient(100deg,var(--soft),var(--panel),var(--soft));background-size:200% 100%;animation:shine 1.3s infinite}.teaching-rail-loading{height:220px}.teaching-rail-empty{min-height:170px;display:grid;place-content:center;justify-items:center;grid-gap:9px;gap:9px;color:var(--muted);text-align:center}.teaching-rail-empty svg{color:var(--accent)}.teaching-create-bar{display:grid;grid-template-columns:minmax(190px,1fr) minmax(190px,320px) minmax(150px,190px) auto auto;align-items:end;grid-gap:10px;gap:10px;padding:13px 15px;margin:-12px 0 19px;border:1px solid oklch(72% .07 271);border-radius:9px;background:var(--accent-soft)}.teaching-create-bar>div{display:grid;grid-gap:4px;gap:4px}.teaching-create-bar>div strong{font-size:13px}.teaching-create-bar input,.teaching-project-fields input,.teaching-quota-field input{width:100%;min-width:0;height:37px;padding:0 10px;border:1px solid var(--line);border-radius:7px;outline:0;color:var(--ink);background:var(--panel);font-size:12px}.teaching-create-bar input:focus,.teaching-project-fields input:focus,.teaching-quota-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.teaching-config-column{min-width:0;display:grid;grid-gap:18px;gap:18px}.teaching-config-panel{padding:20px}.teaching-config-head{align-items:start;padding-bottom:18px;border-bottom:1px solid var(--line)}.teaching-config-head h2{margin-top:6px;font-size:20px}.teaching-config-head p:last-child{margin-top:6px;color:var(--muted);font-size:11px;line-height:1.5}.teaching-config-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto}.teaching-default-badge{display:inline-flex;align-items:center;gap:5px;min-height:31px;padding:0 9px;border-radius:7px;color:oklch(39% .1 154);background:oklch(93% .04 154);font-size:11px;font-weight:750}.teaching-project-fields{display:grid;grid-template-columns:minmax(220px,1fr) minmax(190px,.55fr);grid-gap:15px;gap:15px;padding:18px 0 20px;border-bottom:1px solid var(--line)}.teaching-project-fields label,.teaching-quota-field{display:grid;align-content:flex-start;grid-gap:6px;gap:6px;color:var(--ink);font-size:11px;font-weight:750}.teaching-project-fields small{color:var(--muted);font-size:10px;font-weight:500;line-height:1.45}.teaching-config-section{padding-top:20px}.teaching-section-heading{align-items:baseline;margin-bottom:12px}.teaching-section-heading h3{margin-top:5px;font-size:15px}.teaching-section-heading>span{color:var(--muted);font-size:10px}.teaching-stage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.teaching-stage-toggle{display:grid;grid-template-columns:27px minmax(0,1fr) 20px;align-items:center;grid-gap:8px;gap:8px;min-height:67px;padding:10px;border:1px solid var(--line);border-radius:8px;color:var(--muted);background:var(--panel);text-align:left;transition:border-color .16s ease,background-color .16s ease,color .16s ease}.teaching-stage-toggle:hover:not(:disabled){border-color:oklch(69% .06 271);background:var(--soft)}.teaching-stage-toggle.enabled{border-color:oklch(71% .075 271);color:var(--ink);background:var(--accent-soft)}.teaching-stage-toggle:disabled{cursor:not-allowed;opacity:1}.teaching-stage-number{display:grid;width:27px;height:27px;place-items:center;border-radius:7px;color:var(--muted);background:var(--soft);font-size:10px;font-weight:800}.teaching-stage-toggle.enabled .teaching-stage-number{color:var(--accent);background:var(--panel)}.teaching-stage-copy{min-width:0;display:grid;grid-gap:4px;gap:4px}.teaching-stage-copy strong{font-size:12px}.teaching-stage-copy small{overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.teaching-toggle-indicator{display:grid;width:19px;height:19px;place-items:center;border:1px solid var(--line);border-radius:50%;color:oklch(98% .004 78);background:var(--panel)}.teaching-stage-toggle.enabled .teaching-toggle-indicator{border-color:var(--accent);background:var(--accent)}.teaching-quota-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:9px;gap:9px}.teaching-quota-field{min-width:0;padding:11px 10px 10px;border:1px solid var(--line);border-radius:8px;background:var(--soft)}.teaching-quota-field input{height:34px;margin-top:1px;background:var(--panel)}.teaching-quota-field small{color:var(--muted);font-size:9px;font-weight:500}.teaching-saved{display:inline-flex;align-items:center;gap:6px;margin-top:18px;padding:8px 10px;border-radius:7px;color:oklch(39% .1 154);background:oklch(94% .036 154);font-size:11px;font-weight:650}.teaching-groups-panel{padding:20px}.teaching-groups-heading{align-items:start;padding-bottom:16px;border-bottom:1px solid var(--line)}.teaching-groups-heading h2{margin-top:6px;font-size:18px}.teaching-groups-heading p:last-child{margin-top:6px;color:var(--muted);font-size:11px;line-height:1.5}.teaching-usage-legend{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;padding:12px 0;color:var(--muted);font-size:10px}.teaching-usage-legend span{display:inline-flex;align-items:center;gap:4px}.teaching-usage-legend b{color:var(--ink)}.teaching-usage-legend svg{color:var(--accent)}.teaching-groups-loading{height:190px}.teaching-group-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px}.teaching-group-table{width:100%;min-width:880px;border-collapse:collapse;font-size:11px}.teaching-group-table th{height:46px;padding:7px 10px;border-bottom:1px solid var(--line);color:var(--muted);background:var(--soft);font-size:10px;font-weight:750;text-align:left;white-space:nowrap}.teaching-group-table th span{display:block;margin-top:3px;color:oklch(60% .018 265);font-size:8px;font-weight:550}.teaching-group-table td{min-height:67px;padding:10px;border-bottom:1px solid var(--line);vertical-align:middle}.teaching-group-table tr:last-child td{border-bottom:0}.teaching-group-table tbody tr:hover{background:oklch(99% .003 78)}.teaching-group-name{min-width:145px;display:grid;grid-gap:4px;gap:4px}.teaching-group-name strong{overflow:hidden;max-width:190px;text-overflow:ellipsis;white-space:nowrap}.teaching-group-name small{color:var(--muted);font-size:9px}.teaching-group-name .text-button{justify-self:start;padding:0;font-size:10px}.teaching-member-count{display:inline-flex;align-items:center;gap:5px;color:var(--muted)}.teaching-member-count svg{color:var(--accent)}.teaching-started-status{display:inline-flex;min-width:49px;justify-content:center;padding:4px 6px;border-radius:5px;color:var(--muted);background:var(--soft);font-size:9px;font-weight:750}.teaching-started-status.started{color:oklch(44% .12 271);background:var(--accent-soft)}.teaching-usage-cell{display:grid;grid-gap:3px;gap:3px;min-width:63px}.teaching-usage-cell strong{font-size:13px;letter-spacing:-.02em}.teaching-usage-cell span{color:var(--muted);font-size:9px;white-space:nowrap}.teaching-groups-empty{min-height:180px;display:grid;place-content:center;justify-items:center;grid-gap:8px;gap:8px;color:var(--muted);text-align:center}.teaching-groups-empty svg{color:var(--accent)}.teaching-groups-empty p{max-width:42ch;font-size:11px;line-height:1.5}.teaching-empty{min-height:540px}.teaching-page .inline-error{display:flex;align-items:center;gap:7px;margin:-13px 0 19px}.teaching-page .inline-error svg{flex:0 0 auto}.teaching-nav-marker{color:var(--accent)}.teaching-presentations-panel{min-width:0;padding:20px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.teaching-presentations-head{display:flex;align-items:start;justify-content:space-between;gap:18px;padding-bottom:16px;border-bottom:1px solid var(--line)}.teaching-presentations-head h2{margin-top:6px;font-size:18px}.teaching-presentations-head p:last-child{margin-top:6px;color:var(--muted);font-size:11px;line-height:1.5}.teaching-presentation-actions{display:flex;flex:0 0 auto;gap:7px}.teaching-presentation-error{margin-top:12px;color:var(--danger);font-size:11px}.teaching-presentations-loading{height:158px;margin-top:15px;border-radius:8px;background:linear-gradient(100deg,var(--soft),var(--panel),var(--soft));background-size:200% 100%;animation:shine 1.3s infinite}.teaching-presentation-list{display:grid;grid-gap:8px;gap:8px;margin-top:14px}.teaching-presentation-card{display:grid;grid-template-columns:105px minmax(0,1fr) auto;align-items:center;grid-gap:13px;gap:13px;min-width:0;padding:9px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.teaching-presentation-card:hover{border-color:oklch(67% .055 271)}.teaching-presentation-cover{width:105px;aspect-ratio:16/9;display:grid;place-items:center;overflow:hidden;border-radius:5px;color:var(--accent);background:var(--accent-soft)}.teaching-presentation-cover img{width:100%;height:100%;object-fit:cover}.teaching-presentation-copy{min-width:0}.teaching-presentation-copy h3{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.teaching-presentation-copy p{margin-top:5px;color:var(--muted);font-size:10px}.teaching-presentation-card-actions{display:flex;align-items:center;gap:6px}.teaching-presentation-card-actions a{text-decoration:none}.icon-button.danger{color:#b42318}.icon-button.danger:hover{color:#b42318;border-color:#f6b4ad;background:#fff0ef}.teaching-presentations-empty{min-height:150px;display:grid;place-content:center;justify-items:center;grid-gap:8px;gap:8px;color:var(--muted);text-align:center}.teaching-presentations-empty svg{color:var(--accent)}.teaching-presentations-empty strong{color:var(--ink);font-size:12px}.teaching-presentations-empty p{max-width:42ch;font-size:11px;line-height:1.5}.teaching-presentation-frame{height:100dvh;display:grid;grid-template-rows:48px minmax(0,1fr);overflow:hidden;background:#f5f6f8}.teaching-presentation-frame-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 18px;border-bottom:1px solid var(--line);background:var(--panel)}.teaching-presentation-frame-header>div,.teaching-presentation-frame-header>span{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:11px}.teaching-presentation-frame-header>div{color:var(--ink)}.teaching-presentation-iframe{width:100%;height:100%;border:0;background:#fff}@media (max-width:1120px){.teaching-layout{grid-template-columns:220px minmax(0,1fr)}.teaching-stage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teaching-quota-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:980px){.teaching-project-rail{position:static}.teaching-layout{grid-template-columns:1fr}.teaching-project-list{grid-template-columns:repeat(2,minmax(0,1fr))}.teaching-rail-heading{align-items:baseline}}@media (max-width:620px){.teaching-page-header{align-items:flex-start}.teaching-page-header .primary-button{width:100%}.teaching-create-bar{grid-template-columns:1fr;align-items:stretch;margin-top:-5px}.teaching-create-bar .text-button{justify-self:start}.teaching-config-panel,.teaching-groups-panel{padding:15px}.teaching-config-head,.teaching-groups-heading{align-items:flex-start;flex-direction:column}.teaching-config-actions{width:100%}.teaching-config-actions .primary-button,.teaching-config-actions .secondary-button{flex:1 1}.teaching-title-field{grid-template-columns:1fr;gap:8px}.teaching-title-field>span{padding-bottom:0}.teaching-project-list,.teaching-quota-grid,.teaching-stage-grid{grid-template-columns:1fr}.teaching-section-heading{align-items:flex-start;flex-direction:column;gap:4px}.teaching-usage-legend{display:grid;grid-gap:6px;gap:6px}.teaching-presentations-panel{padding:15px}.teaching-presentations-head{align-items:flex-start;flex-direction:column}.teaching-presentation-actions{width:100%}.teaching-presentation-actions button{flex:1 1}.teaching-presentation-card{grid-template-columns:72px minmax(0,1fr)}.teaching-presentation-cover{width:72px}.teaching-presentation-card-actions{grid-column:1/-1}.teaching-presentation-frame-header>span{display:none}}.teacher-nav-list{display:grid;grid-gap:4px;gap:4px}.calendar-day:focus-visible,.calendar-member-link:focus-visible,.calendar-rank-trigger:focus-visible,.calendar-today-button:focus-visible,.icon-button:focus-visible,.teacher-activity-dialog button:focus-visible,.teacher-contribution-cell:focus-visible,.teacher-contribution-month:focus-visible,.teacher-nav:focus-visible,.teacher-profile-list-link:focus-visible,.teacher-student-card:focus-visible{outline:3px solid var(--accent-soft);outline-offset:2px}.calendar-toolbar{justify-content:space-between;gap:16px;padding:13px 15px;margin-bottom:12px;border:1px solid var(--line);border-radius:9px;background:var(--panel)}.calendar-day-summary,.calendar-day-summary-icon,.calendar-no-course,.calendar-ranking-heading>span,.calendar-toolbar,.calendar-toolbar-actions,.calendar-toolbar-title{display:flex;align-items:center}.calendar-toolbar-title{gap:9px;color:var(--ink)}.calendar-toolbar-title svg{color:var(--accent)}.calendar-toolbar-title strong{font-size:15px}.calendar-toolbar-actions{gap:5px}.calendar-today-button,.icon-button{display:grid;min-width:31px;height:31px;place-items:center;padding:0 8px;border:1px solid var(--line);border-radius:6px;color:var(--muted);background:var(--panel);font:inherit;font-size:11px;font-weight:700;cursor:pointer}.calendar-today-button:hover,.icon-button:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.calendar-today-button{padding:0 10px}.teacher-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line);background:var(--panel)}.calendar-weekday{min-height:35px;display:grid;place-items:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);background:var(--soft);font-size:10px;font-weight:750}.calendar-day{position:relative;min-width:0;min-height:104px;display:flex;flex-direction:column;align-items:flex-start;padding:11px 11px 8px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink);background:var(--panel);font:inherit;text-align:left;cursor:pointer}.calendar-day:hover{background:oklch(99% .006 78)}.calendar-day.has-course{background:oklch(94.5% .045 151)}.calendar-day.has-course:hover{background:oklch(92.5% .06 151)}.calendar-day.selected{z-index:1;box-shadow:inset 0 0 0 2px var(--accent)}.calendar-day.today .calendar-day-number{color:var(--accent);font-weight:850}.calendar-day-outside{cursor:default;background:oklch(98.2% .004 78)}.calendar-day-number{font-size:13px;font-weight:750}.calendar-course-dot{width:6px;height:6px;margin-top:8px;border-radius:50%;background:oklch(46% .12 151)}.calendar-day-theme{max-width:100%;margin-top:auto;overflow:hidden;color:oklch(38% .09 151);font-size:10px;font-weight:700;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.calendar-day-detail{min-height:260px;padding:22px 0 0;margin-top:24px;border-top:1px solid var(--line)}.teacher-calendar-detail-skeleton{height:280px;border-radius:9px;background:linear-gradient(100deg,var(--soft),var(--panel),var(--soft));background-size:200% 100%;animation:shine 1.3s infinite}.calendar-day-summary{align-items:flex-start;gap:13px}.calendar-day-summary-icon{width:39px;height:39px;justify-content:center;flex:0 0 auto;border-radius:10px;color:oklch(38% .1 151);background:oklch(91% .055 151)}.calendar-day-summary h2{margin-top:5px;font-size:20px}.calendar-day-summary p:last-child{margin-top:6px;color:var(--muted);font-size:12px}.calendar-ranking-section{margin-top:27px}.calendar-ranking-heading{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:12px}.calendar-ranking-heading h3{margin-top:5px;font-size:16px}.calendar-ranking-heading>span{gap:5px;color:var(--muted);font-size:10px}.calendar-ranking-heading>span svg{color:var(--accent)}.calendar-ranking-strip{display:flex;align-items:stretch;gap:12px;padding:3px 2px 18px;overflow-x:auto;scrollbar-width:thin}.calendar-rank-card{position:relative;min-width:235px;min-height:134px;padding:14px;border:1px solid var(--line);border-radius:9px;background:var(--panel);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.calendar-rank-card.is-open,.calendar-rank-card:hover{z-index:4;border-color:oklch(67% .055 271);box-shadow:var(--shadow);transform:translateY(-2px)}.calendar-rank-card.is-leader{min-width:300px;border-color:oklch(72% .07 151);background:oklch(97% .018 151)}.calendar-rank-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.calendar-rank-trigger{display:flex;min-width:0;align-items:center;gap:9px;padding:0;border:0;color:var(--ink);background:transparent;font:inherit;text-align:left;cursor:pointer}.calendar-rank-trigger>span:last-child{min-width:0;display:grid;grid-gap:3px;gap:3px}.calendar-rank-trigger b{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.calendar-rank-trigger small{color:var(--muted);font-size:10px}.calendar-rank-score{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.06em}.teacher-group-avatar{display:inline-grid;flex:0 0 auto;place-items:center;border-radius:50%;color:oklch(37% .1 271);background:oklch(90% .055 271);font-size:10px;font-weight:850}.teacher-group-avatar-xs{width:22px;height:22px}.teacher-group-avatar-sm{width:28px;height:28px}.teacher-group-avatar-md{width:38px;height:38px}.teacher-group-avatar-lg{width:46px;height:46px;color:oklch(38% .095 151);background:oklch(88% .07 151)}.calendar-leading-members{display:flex;align-items:start;gap:10px;margin-top:18px}.calendar-member-link{display:inline-flex;min-width:34px;flex-direction:column;align-items:center;gap:5px;color:var(--muted);font-size:9px;text-decoration:none}.calendar-member-link:hover{color:var(--accent)}.calendar-member-link>span:last-child{max-width:4em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-avatar{position:relative;display:inline-grid;flex:0 0 auto;place-items:center;overflow:hidden;border-radius:50%;color:var(--accent);background:var(--accent-soft);font-weight:800}.teacher-avatar img{width:100%;height:100%;object-fit:cover}.teacher-avatar-xs{width:22px;height:22px;font-size:8px}.teacher-avatar-sm{width:29px;height:29px;font-size:9px}.teacher-avatar-md{width:39px;height:39px;font-size:11px}.teacher-avatar-lg{width:50px;height:50px;font-size:13px}.teacher-avatar-xl{width:108px;height:108px;font-size:25px;color:oklch(37% .1 271);background:oklch(91% .055 271)}.calendar-member-popover{position:absolute;z-index:8;top:calc(100% - 2px);left:14px;min-width:205px;display:grid;grid-gap:8px;gap:8px;padding:12px;border:1px solid var(--line);border-radius:8px;opacity:0;visibility:hidden;pointer-events:none;background:var(--panel);box-shadow:0 10px 28px oklch(28% .02 265/.14);transform:translateY(-4px);transition:opacity .14s ease,transform .14s ease,visibility .14s ease}.calendar-member-popover:before{position:absolute;top:-5px;left:24px;width:8px;height:8px;border-top:1px solid var(--line);border-left:1px solid var(--line);background:var(--panel);content:"";transform:rotate(45deg)}.calendar-member-popover>p{padding-bottom:4px;border-bottom:1px solid var(--line);color:var(--muted);font-size:10px;font-weight:750}.calendar-member-popover .calendar-member-link{min-height:29px;flex-direction:row;justify-content:flex-start;gap:8px;color:var(--ink);font-size:10px}.calendar-member-popover .calendar-member-link>span:last-child{max-width:none}.calendar-rank-card.is-open .calendar-member-popover,.calendar-rank-card:focus-within .calendar-member-popover,.calendar-rank-card:hover .calendar-member-popover{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.calendar-no-course{min-height:116px;gap:10px;padding:16px;border:1px dashed oklch(78% .018 265);border-radius:9px;color:var(--muted)}.calendar-no-course svg{color:var(--accent)}.calendar-no-course p{font-size:12px}.student-filters{align-items:end}.student-filter-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.student-filter-actions .primary-button{min-height:34px;padding:0 13px;font-size:11px}.student-filter-actions .text-button{min-height:31px;padding:0 8px}.teacher-student-results{margin-top:34px}.teacher-student-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.teacher-student-card{display:flex;min-width:0;min-height:250px;flex-direction:column;padding:17px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:var(--panel);text-decoration:none;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.teacher-student-card:hover{border-color:oklch(67% .055 271);box-shadow:var(--shadow);transform:translateY(-2px)}.teacher-student-card-head{display:flex;align-items:start;justify-content:space-between}.teacher-student-card-arrow{display:grid;width:28px;height:28px;place-items:center;border-radius:7px;color:var(--muted);background:var(--soft)}.teacher-student-card:hover .teacher-student-card-arrow{color:var(--accent);background:var(--accent-soft)}.teacher-student-card-identity{margin-top:17px}.teacher-student-card-identity h3{font-size:17px}.teacher-student-card-identity p{margin-top:4px;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.teacher-student-card-meta{display:grid;grid-gap:10px;gap:10px;margin-top:auto;padding-top:19px}.teacher-student-card-meta div{display:grid;grid-gap:3px;gap:3px}.teacher-student-card-meta dt{color:var(--muted);font-size:9px;font-weight:750}.teacher-student-card-meta dd{margin:0;overflow:hidden;color:var(--ink);font-size:11px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.teacher-student-card footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:14px;margin-top:15px;border-top:1px solid var(--line);color:var(--muted);font-size:10px}.teacher-student-card footer span:last-child{color:var(--accent);font-weight:750}.teacher-student-grid-skeleton>div{height:250px;border-radius:9px;background:linear-gradient(100deg,var(--soft),var(--panel),var(--soft));background-size:200% 100%;animation:shine 1.3s infinite}.teacher-student-empty{margin-top:4px}.teacher-student-empty svg{color:var(--accent)}.teacher-student-page-loading{height:470px;border-radius:9px;background:linear-gradient(100deg,var(--soft),var(--panel),var(--soft));background-size:200% 100%;animation:shine 1.3s infinite}.teacher-profile-header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}.teacher-profile-header .teacher-back-link{margin-bottom:0}.teacher-profile-layout{display:grid;grid-template-columns:226px minmax(0,1fr);align-items:start;grid-gap:clamp(28px,4vw,60px);gap:clamp(28px,4vw,60px)}.teacher-profile-aside{position:-webkit-sticky;position:sticky;top:25px;min-width:0;padding:7px 0}.teacher-profile-aside>h1{margin-top:18px;font-size:29px}.teacher-profile-number{margin-top:5px;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.teacher-profile-class{display:inline-flex;align-items:center;gap:6px;margin-top:18px;color:var(--accent);font-size:11px;font-weight:750}.teacher-profile-contact{display:grid;grid-gap:10px;gap:10px;padding:18px 0;margin-top:18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.teacher-profile-contact div{display:grid;grid-gap:4px;gap:4px}.teacher-profile-contact dt{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:9px;font-weight:750}.teacher-profile-contact dt svg{color:var(--accent)}.teacher-profile-contact dd{margin:0;overflow-wrap:anywhere;color:var(--ink);font-size:11px;line-height:1.4}.teacher-profile-projects{padding-top:19px}.teacher-profile-projects h2{font-size:12px}.teacher-profile-projects ul{display:grid;grid-gap:7px;gap:7px;padding:0;margin:11px 0 0;list-style:none}.teacher-profile-projects li{position:relative;padding-left:13px;color:var(--muted);font-size:11px;line-height:1.45}.teacher-profile-projects li:before{position:absolute;top:.55em;left:0;width:5px;height:5px;border-radius:50%;background:var(--accent);content:""}.teacher-profile-list-link{display:inline-flex;align-items:center;gap:6px;margin-top:25px;color:var(--accent);font-size:11px;font-weight:750;text-decoration:none}.teacher-profile-content{min-width:0;display:grid;grid-gap:42px;gap:42px}.teacher-profile-section{min-width:0}.teacher-profile-section>.section-title{margin-bottom:15px}.teacher-profile-section .section-title h2{margin-top:5px;font-size:19px}.teacher-assignment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.teacher-assignment-card{position:relative;min-width:0;min-height:226px;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:var(--panel)}.teacher-assignment-thumbnail{height:105px;display:grid;place-items:center;overflow:hidden;color:var(--muted);background:linear-gradient(140deg,oklch(93% .04 271),oklch(96% .018 151))}.teacher-assignment-thumbnail img{width:100%;height:100%;object-fit:cover}.teacher-assignment-copy{min-width:0;padding:13px 45px 13px 13px}.teacher-assignment-copy p{color:var(--accent);font-size:9px;font-weight:750}.teacher-assignment-copy h3,.teacher-assignment-copy p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-assignment-copy h3{margin-top:5px;font-size:13px}.teacher-assignment-copy span{display:block;margin-top:10px;color:var(--muted);font-size:9px}.teacher-assignment-score{position:absolute;right:12px;bottom:15px;color:var(--ink);font-size:19px;letter-spacing:-.04em}.teacher-assignment-score small{margin-left:2px;color:var(--muted);font-size:9px;font-weight:650;letter-spacing:0}.teacher-assignment-placeholder{display:grid;place-items:center;border-style:dashed;background:transparent}.teacher-assignment-placeholder>div{display:grid;justify-items:center;grid-gap:8px;gap:8px;color:var(--muted)}.teacher-assignment-placeholder span{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;color:var(--accent);background:var(--accent-soft);font-size:19px}.teacher-assignment-placeholder p{font-size:10px}.teacher-contribution-panel{min-width:0;padding:17px 16px 13px;border:1px solid var(--line);border-radius:9px;background:var(--panel)}.teacher-contribution-scroll{overflow-x:auto;padding:4px 2px 8px;scrollbar-width:thin}.teacher-contribution-layout{display:grid;grid-template-columns:37px minmax(610px,1fr);grid-gap:9px;gap:9px;min-width:656px}.teacher-weekday-labels{display:grid;grid-template-rows:repeat(7,11px);grid-gap:3px;gap:3px;padding-top:24px;color:var(--muted);font-size:8px;line-height:11px;text-align:right}.teacher-contribution-main{min-width:0}.teacher-contribution-months{display:grid;grid-template-columns:repeat(52,minmax(8px,1fr));height:18px;color:var(--muted);font-size:9px}.teacher-contribution-months span{white-space:nowrap}.teacher-contribution-grid{position:relative;display:grid;grid-template-columns:repeat(52,minmax(8px,1fr));grid-template-rows:repeat(7,11px);grid-auto-flow:column;grid-gap:3px;gap:3px}.teacher-contribution-cell{position:relative;display:block;width:11px;height:11px;border-radius:2px;outline:0;background:oklch(94% .012 151)}.teacher-contribution-cell:focus-visible,.teacher-contribution-cell:hover{z-index:3;box-shadow:0 0 0 2px var(--panel),0 0 0 3px var(--accent)}.teacher-contribution-cell:after{position:absolute;z-index:5;bottom:calc(100% + 7px);left:50%;width:max-content;max-width:180px;padding:5px 7px;border-radius:5px;opacity:0;pointer-events:none;color:oklch(98% .004 78);background:oklch(27% .03 268);content:attr(data-tooltip);font-size:9px;line-height:1.35;white-space:nowrap;transform:translateX(-50%) translateY(3px);transition:opacity .12s ease,transform .12s ease}.teacher-contribution-cell:focus-visible:after,.teacher-contribution-cell:hover:after{opacity:1;transform:translateX(-50%) translateY(0)}.teacher-contribution-cell.level-0,.teacher-contribution-legend .level-0{background:oklch(94% .012 151)}.teacher-contribution-cell.level-1,.teacher-contribution-legend .level-1{background:oklch(88% .055 151)}.teacher-contribution-cell.level-2,.teacher-contribution-legend .level-2{background:oklch(78% .09 151)}.teacher-contribution-cell.level-3,.teacher-contribution-legend .level-3{background:oklch(65% .12 151)}.teacher-contribution-cell.level-4,.teacher-contribution-legend .level-4{background:oklch(47% .12 151)}.teacher-contribution-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:11px;color:var(--muted);font-size:10px}.teacher-contribution-legend{display:flex;align-items:center;gap:4px}.teacher-contribution-legend i{width:11px;height:11px;display:block;border-radius:2px}.teacher-ability-layout{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(230px,1fr);align-items:center;grid-gap:25px;gap:25px;padding:16px;border:1px solid var(--line);border-radius:9px;background:var(--panel)}.teacher-radar-chart{width:100%;max-width:330px;margin:auto}.teacher-radar-chart svg{display:block;width:100%;height:auto;overflow:visible}.teacher-radar-chart polygon:not(.teacher-radar-value){fill:none;stroke:oklch(85% .02 268);stroke-width:1}.teacher-radar-chart line{stroke:oklch(85% .02 268);stroke-width:1}.teacher-radar-chart text{fill:var(--muted);font-size:10px;font-weight:700}.teacher-radar-chart .teacher-radar-value{fill:oklch(62% .13 271/.28);stroke:var(--accent);stroke-width:2}.teacher-ability-list{display:grid;grid-gap:9px;gap:9px}.teacher-ability-list>div{padding:10px 0;border-bottom:1px solid var(--line)}.teacher-ability-list>div:last-child{border-bottom:0}.teacher-ability-list>div>div{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.teacher-ability-list b{font-size:12px}.teacher-ability-list strong{color:var(--accent);font-size:18px;letter-spacing:-.04em}.teacher-ability-list p{margin-top:4px;color:var(--muted);font-size:10px;line-height:1.45}.teacher-insights-icon{color:var(--accent)}.teacher-profile-skeleton{height:620px;border-radius:9px;background:linear-gradient(100deg,var(--soft),var(--panel),var(--soft));background-size:200% 100%;animation:shine 1.3s infinite}.teacher-contribution-month{min-width:0;padding:0;overflow:visible;border:0;color:var(--muted);background:transparent;font:inherit;font-size:9px;text-align:left;white-space:nowrap;cursor:pointer}.teacher-contribution-month:hover{color:var(--accent)}.teacher-contribution-cell{padding:0;border:0;font:inherit;cursor:pointer}.teacher-contribution-cell:disabled{cursor:default}.teacher-activity-dialog-backdrop{position:fixed;z-index:80;inset:0;display:grid;place-items:center;padding:24px;background:oklch(20% .028 265/.62)}.teacher-activity-dialog{width:min(100%,900px);max-height:min(840px,calc(100dvh - 48px));display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden;border:1px solid oklch(78% .02 265);border-radius:12px;background:var(--panel);box-shadow:0 26px 76px oklch(18% .028 265/.34)}.teacher-activity-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:17px 18px 14px;border-bottom:1px solid var(--line)}.teacher-activity-dialog-heading{min-width:0}.teacher-activity-dialog-heading .eyebrow{margin-bottom:4px}.teacher-activity-dialog-heading h2{overflow:hidden;font-size:18px;text-overflow:ellipsis;white-space:nowrap}.teacher-activity-dialog-heading>p:last-child{margin-top:5px;color:var(--muted);font-size:11px}.teacher-activity-dialog-close{flex:0 0 auto;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.teacher-activity-dialog-close:focus-visible,.teacher-activity-dialog-close:hover{color:var(--accent);border-color:oklch(68% .05 271);background:var(--accent-soft);outline:none}.teacher-activity-back-button{display:inline-flex;align-items:center;gap:5px;padding:0;margin-bottom:9px;border:0;color:var(--accent);background:transparent;font:inherit;font-size:10px;font-weight:750;cursor:pointer}.teacher-activity-back-button:hover{color:var(--ink)}.teacher-activity-dialog-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:1px;gap:1px;border-bottom:1px solid var(--line);background:var(--line)}.teacher-activity-dialog-summary>div{display:grid;grid-gap:4px;gap:4px;min-width:0;padding:11px 14px;background:var(--panel)}.teacher-activity-dialog-summary span{color:var(--muted);font-size:9px;font-weight:700}.teacher-activity-dialog-summary strong{overflow:hidden;color:var(--ink);font-size:18px;letter-spacing:-.04em;text-overflow:ellipsis;white-space:nowrap}.teacher-activity-dialog-summary .teacher-activity-summary-date{color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px;letter-spacing:0}.teacher-activity-dialog-chart-stage{min-height:0;overflow:auto;padding:5px 18px 15px;background:oklch(97% .008 265)}.teacher-activity-chart-frame{position:relative;min-height:390px}.teacher-activity-chart{width:100%;height:405px}.teacher-activity-rose-chart{height:420px;max-width:680px;margin:0 auto}.teacher-activity-chart-error{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;grid-gap:8px;gap:8px;color:var(--danger);font-size:12px;text-align:center}.teacher-activity-chart-error svg{color:var(--danger)}.teacher-activity-empty-day{min-height:390px;display:grid;place-content:center;justify-items:center;grid-gap:8px;gap:8px;color:var(--muted);text-align:center}.teacher-activity-empty-day svg{color:var(--accent)}.teacher-activity-empty-day strong{color:var(--ink);font-size:13px}.teacher-activity-empty-day span{font-size:11px}.teacher-activity-dialog-hint{padding:10px 18px;color:var(--muted);border-top:1px solid var(--line);font-size:10px;line-height:1.5}.teacher-activity-day-summary{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:980px){.teacher-nav-list{display:flex;flex:1 1;min-width:0;gap:4px}.teacher-nav-list .teacher-nav{flex:0 1 auto}.calendar-day{min-height:92px}.calendar-day-theme{font-size:9px}.teacher-student-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-profile-layout{grid-template-columns:190px minmax(0,1fr);gap:25px}.teacher-ability-layout{grid-template-columns:1fr}.teacher-radar-chart{max-width:280px}.teacher-ability-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.teacher-ability-list>div:nth-child(3){border-bottom:0}}@media (max-width:620px){.teacher-sidebar{gap:8px;overflow-x:auto}.teacher-sidebar .brand>span:last-child{display:none}.teacher-nav-list{flex:1 0 auto}.teacher-nav-list .teacher-nav{padding:0 7px;font-size:11px}.calendar-toolbar{align-items:stretch;flex-direction:column}.calendar-toolbar-actions{justify-content:space-between}.calendar-toolbar-actions .icon-button{flex:0 0 34px}.calendar-toolbar-actions .calendar-today-button{flex:1 1}.calendar-day{min-height:76px;padding:8px 6px 6px}.calendar-day-number{font-size:11px}.calendar-day-theme{display:none}.calendar-course-dot{margin-top:6px}.calendar-day-summary h2{font-size:17px}.calendar-day-detail{padding-top:18px}.calendar-ranking-strip{margin-right:-18px;padding-right:18px}.calendar-rank-card{min-width:218px}.calendar-rank-card.is-leader{min-width:270px}.calendar-member-popover{left:10px}.student-filters{grid-template-columns:1fr 1fr}.student-filter-actions{grid-column:1/-1;justify-content:flex-start;margin-left:0}.teacher-student-grid{grid-template-columns:1fr}.teacher-student-card{min-height:228px}.teacher-profile-header{align-items:flex-start;flex-direction:column}.teacher-profile-layout{display:block}.teacher-profile-aside{position:static;padding:0 0 28px;border-bottom:1px solid var(--line)}.teacher-profile-aside>h1{font-size:26px}.teacher-profile-content{gap:34px;padding-top:28px}.teacher-profile-section .section-title{align-items:flex-start;flex-direction:column;gap:5px}.teacher-assignment-grid{grid-template-columns:1fr}.teacher-assignment-card{min-height:205px}.teacher-assignment-thumbnail{height:110px}.teacher-contribution-panel{padding:13px 10px 11px}.teacher-contribution-footer{align-items:flex-start;flex-direction:column}.teacher-ability-layout{padding:10px 8px 15px}.teacher-ability-list{grid-template-columns:1fr 1fr}.teacher-profile-skeleton{height:680px}}@media (max-width:720px){.teacher-activity-dialog-backdrop{padding:0}.teacher-activity-dialog{width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0}.teacher-activity-dialog-head{padding:14px 15px 12px}.teacher-activity-dialog-heading h2{max-width:24ch;font-size:16px}.teacher-activity-dialog-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-activity-dialog-summary strong{font-size:16px}.teacher-activity-dialog-summary .teacher-activity-summary-date{font-size:13px}.teacher-activity-dialog-chart-stage{padding:2px 8px 10px}.teacher-activity-chart-frame{min-height:355px;overflow-x:auto}.teacher-activity-chart{min-width:390px;height:370px}.teacher-activity-rose-chart{min-width:0;height:390px}.teacher-activity-empty-day{min-height:355px}.teacher-activity-dialog-hint{padding:9px 15px}}.calendar-toolbar-title>span{padding-left:9px;border-left:1px solid var(--line);color:var(--muted);font-size:10px;font-weight:650}.teacher-calendar-scroll{overflow-x:auto;border-right:1px solid var(--line);scrollbar-width:thin}.teacher-calendar-grid{min-width:760px}.teacher-calendar-grid.is-loading{opacity:.58;pointer-events:none}.calendar-day{min-height:132px;gap:9px;cursor:default}.calendar-day:hover{background:var(--panel)}.calendar-day.has-course,.calendar-day.has-course:hover{background:oklch(97% .018 151)}.calendar-day-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px}.calendar-day-head>span{display:grid;min-width:18px;height:18px;place-items:center;padding:0 5px;border-radius:9px;color:oklch(38% .1 151);background:oklch(89% .065 151);font-size:9px;font-weight:800}.calendar-project-list{width:100%;display:grid;align-content:flex-start;grid-gap:5px;gap:5px}.calendar-project-link{width:100%;min-width:0;display:grid;grid-template-columns:22px minmax(0,1fr) 12px;align-items:center;grid-gap:6px;gap:6px;padding:7px 6px;border:1px solid oklch(82% .04 151);border-radius:7px;color:var(--ink);background:var(--panel);text-decoration:none;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.calendar-project-link:focus-visible,.calendar-project-link:hover{border-color:var(--accent);box-shadow:0 5px 14px oklch(32% .035 151/.1);outline:0;transform:translateY(-1px)}.calendar-project-icon{display:grid;width:22px;height:22px;place-items:center;border-radius:6px;color:oklch(40% .1 151);background:oklch(91% .055 151)}.calendar-project-link>span:nth-child(2){min-width:0;display:grid;grid-gap:3px;gap:3px}.calendar-project-link strong{overflow:hidden;font-size:10px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.calendar-project-link small{display:flex;align-items:center;gap:3px;color:var(--muted);font-size:8px}.calendar-project-link>svg{color:var(--muted)}.calendar-month-empty{display:flex;align-items:center;gap:11px;padding:15px 16px;margin-top:16px;border:1px dashed oklch(78% .018 265);border-radius:9px;color:var(--muted)}.calendar-month-empty>svg{flex:0 0 auto;color:var(--accent)}.calendar-month-empty strong{color:var(--ink);font-size:12px}.calendar-month-empty p{margin-top:4px;font-size:10px;line-height:1.5}.calendar-ranking-header{align-items:flex-end}.calendar-ranking-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:30px;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--line);grid-gap:1px;gap:1px}.calendar-ranking-summary>div{min-width:0;display:flex;align-items:center;gap:11px;padding:15px 17px;background:var(--panel)}.calendar-ranking-summary>div>svg{flex:0 0 auto;color:var(--accent)}.calendar-ranking-summary span{min-width:0;display:grid;grid-gap:3px;gap:3px}.calendar-ranking-summary strong{overflow:hidden;color:var(--ink);font-size:17px;text-overflow:ellipsis;white-space:nowrap}.calendar-ranking-summary small{color:var(--muted);font-size:9px}.calendar-group-ranking-list>.section-title{margin-bottom:13px}.calendar-group-ranking-list>.section-title h2{margin-top:5px;font-size:19px}.calendar-group-row{display:grid;grid-template-columns:74px minmax(125px,.72fr) minmax(150px,.9fr) minmax(260px,1.6fr);align-items:stretch;margin-bottom:9px;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--panel);transition:border-color .15s ease,box-shadow .15s ease}.calendar-group-row:hover{border-color:oklch(70% .05 271);box-shadow:var(--shadow)}.calendar-group-row.is-first{border-color:oklch(74% .07 151);background:oklch(98% .012 151)}.calendar-group-row.is-unscored{background:oklch(98.5% .004 265)}.calendar-group-row>div{min-width:0;padding:15px;border-right:1px solid var(--line)}.calendar-group-row>div:last-child{border-right:0}.calendar-group-rank{display:grid;place-content:center;justify-items:center;grid-gap:4px;gap:4px;color:var(--muted);background:var(--soft);text-align:center}.calendar-group-row.is-first .calendar-group-rank{color:oklch(40% .1 151);background:oklch(91% .055 151)}.calendar-group-rank strong{color:var(--ink);font-size:22px;letter-spacing:-.04em}.calendar-group-rank span{font-size:8px;font-weight:750}.calendar-group-identity,.calendar-group-members,.calendar-group-score{display:grid;align-content:center;grid-gap:7px;gap:7px}.calendar-group-identity>p,.calendar-group-members>p,.calendar-group-score>p{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:9px;font-weight:750}.calendar-group-identity>p svg,.calendar-group-members>p svg,.calendar-group-score>p svg{color:var(--accent)}.calendar-group-identity code{overflow:hidden;color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;font-weight:800;letter-spacing:.06em;text-overflow:ellipsis;white-space:nowrap}.calendar-group-identity>span{color:var(--muted);font-size:9px}.calendar-group-score>strong{color:var(--accent);font-size:21px;letter-spacing:-.04em}.calendar-group-score>strong small{margin-left:3px;color:var(--muted);font-size:9px;letter-spacing:0}.calendar-group-score>strong.calendar-score-empty{color:var(--muted);font-size:13px;letter-spacing:0}.calendar-group-score>span{display:flex;min-width:0;align-items:center;gap:4px;overflow:hidden;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.calendar-group-score>span svg{flex:0 0 auto}.calendar-group-members>div{display:flex;flex-wrap:wrap;gap:6px}.calendar-ranking-member{min-width:118px;display:flex;align-items:center;gap:7px;padding:5px 7px;border-radius:7px;color:var(--ink);background:var(--soft);text-decoration:none}.calendar-ranking-member:focus-visible,.calendar-ranking-member:hover{color:var(--accent);outline:2px solid var(--accent-soft)}.calendar-ranking-member>span{min-width:0;display:grid;grid-gap:2px;gap:2px}.calendar-ranking-member small,.calendar-ranking-member strong{overflow:hidden;max-width:10em;text-overflow:ellipsis;white-space:nowrap}.calendar-ranking-member strong{font-size:10px}.calendar-ranking-member small{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px}.calendar-group-no-members{color:var(--muted);font-size:10px}.calendar-ranking-skeleton{height:470px;border-radius:9px;background:linear-gradient(100deg,var(--soft),var(--panel),var(--soft));background-size:200% 100%;animation:shine 1.3s infinite}.calendar-ranking-empty{min-height:300px}@media (max-width:980px){.teaching-create-bar{grid-template-columns:1fr 1fr}.teaching-create-bar>div{grid-column:1/-1}.calendar-group-row{grid-template-columns:68px minmax(120px,.7fr) minmax(145px,.9fr) minmax(220px,1.4fr)}}@media (max-width:620px){.teaching-project-fields{grid-template-columns:1fr}.teacher-calendar-scroll{margin-right:-18px;padding-right:18px}.teacher-calendar-grid{min-width:760px}.calendar-day{min-height:124px;padding:9px 8px}.calendar-project-link strong{font-size:9px}.calendar-ranking-header{align-items:flex-start}.calendar-ranking-summary{grid-template-columns:1fr}.calendar-group-row{grid-template-columns:62px minmax(0,1fr)}.calendar-group-row>div{border-right:0;border-bottom:1px solid var(--line)}.calendar-group-row>div:last-child{border-bottom:0}.calendar-group-rank{grid-row:1/span 2;border-right:1px solid var(--line)!important}.calendar-group-identity,.calendar-group-score{grid-column:2}.calendar-group-members{grid-column:1/-1}}.teacher-profile-tabs{display:flex;align-items:center;gap:4px;padding-bottom:9px;border-bottom:1px solid var(--line)}.teacher-profile-tabs button{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 10px;border:0;border-radius:6px;color:var(--muted);background:transparent;font-size:11px;font-weight:750}.teacher-profile-tabs button.active,.teacher-profile-tabs button:hover{color:var(--accent);background:var(--accent-soft)}.teacher-profile-tabs button.active{box-shadow:inset 0 -2px 0 var(--accent)}.teacher-profile-tabs button:focus-visible{outline:3px solid var(--accent-soft);outline-offset:2px}.teacher-word-cloud-section{min-width:0}.teacher-word-cloud-layout{display:grid;grid-template-columns:minmax(0,1fr) 220px;grid-gap:16px;gap:16px;align-items:stretch}.teacher-word-cloud-stage{position:relative;min-width:0;min-height:520px;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:radial-gradient(circle at 50% 43%,oklch(98% .018 271),var(--panel) 65%)}.teacher-word-cloud-stage:before{position:absolute;inset:18px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 720 420'%3E%3Cpath fill='%23eef0ff' d='M164 342c-56 0-101-41-101-91 0-47 40-86 92-91 19-52 70-88 130-88 54 0 101 28 123 71 13-5 28-8 43-8 58 0 105 42 105 94 0 4 0 8-1 12 48 8 85 47 85 94 0 53-44 96-99 96H164Z'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;opacity:.72;content:""}.teacher-word-cloud-chart{position:relative;z-index:1;width:100%;height:520px}.teacher-word-cloud-stage.has-error{display:grid;place-items:center}.teacher-word-cloud-stage.has-error .teacher-word-cloud-chart{display:none}.teacher-word-cloud-chart-error{position:relative;z-index:1;padding:24px;color:var(--muted);font-size:12px;text-align:center}.teacher-word-cloud-list{display:grid;align-content:start;grid-gap:0;gap:0;padding:5px 14px;margin:0;border:1px solid var(--line);border-radius:12px;background:var(--panel);list-style:none}.teacher-word-cloud-list li{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:baseline;grid-gap:6px;gap:6px;min-height:38px;padding:9px 0;border-bottom:1px solid var(--line)}.teacher-word-cloud-list li:last-child{border-bottom:0}.teacher-word-cloud-list li>span{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px}.teacher-word-cloud-list strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.teacher-word-cloud-list small{color:var(--muted);font-size:9px;white-space:nowrap}.teacher-word-cloud-sources{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:12px}.teacher-word-cloud-sources>div{display:flex;align-items:baseline;gap:5px;min-width:0;padding:11px 13px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.teacher-word-cloud-sources span{overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.teacher-word-cloud-sources strong{color:var(--accent);font-size:18px;letter-spacing:-.04em}.teacher-word-cloud-sources small{color:var(--muted);font-size:9px}.teacher-word-cloud-loading{min-height:520px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(100deg,var(--soft),var(--panel),var(--soft));background-size:200% 100%;animation:shine 1.3s infinite}@media (max-width:980px){.teacher-word-cloud-layout{grid-template-columns:minmax(0,1fr) 190px}}@media (max-width:620px){.teacher-profile-tabs{margin-bottom:1px}.teacher-word-cloud-layout{grid-template-columns:1fr}.teacher-word-cloud-loading,.teacher-word-cloud-stage{min-height:360px}.teacher-word-cloud-chart{height:360px}.teacher-word-cloud-list{grid-template-columns:1fr 1fr;column-gap:14px;padding:5px 12px}.teacher-word-cloud-sources{grid-template-columns:1fr}}