.message-wrapper{color:#7b7b7b;display:flex;flex-direction:column;font-size:.85rem;justify-content:center;left:0;padding:2.5rem 0;pointer-events:none;position:fixed;top:0;width:100%;z-index:130}.message-container{margin:auto;max-height:100px;opacity:1;padding-bottom:.5rem;transition:all .3s ease-in-out}.message-container.hide{max-height:0;opacity:0;padding-bottom:0;transform:translateY(-100px)}.message{align-items:center;animation-duration:.5s;animation-fill-mode:forwards;animation-name:message-show;background:#fff;border-radius:.25rem;box-shadow:0 2px 8px 0 #63636333;display:inline-flex;font-size:.75rem;gap:.5rem;max-width:300px;opacity:0;padding:.5rem .825rem;text-transform:uppercase}.message p{-webkit-line-clamp:10;-webkit-box-orient:vertical;display:-webkit-box!important;line-height:1.5;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:pre}.message svg{height:20px;min-width:20px;width:20px}.message.success{background:#89eb69;color:#264c1a}.message.error{background:#f05757;color:#ffcece}.message.info{background:#4098ff;color:#e8f3ff}.message.warn{background:#ffcc25;color:#705b17}@keyframes message-show{0%{opacity:0}to{opacity:1}}.modal-wrapper{box-sizing:border-box;inset:0;position:fixed;z-index:9999}.modal-wrapper.modal-none{display:none;pointer-events:none}.modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background-color:#0f172a73;inset:0;position:absolute}.modal-container{align-items:center;box-sizing:border-box;display:flex;justify-content:center;min-height:100%;min-height:100dvh;padding:clamp(1rem,4vw,1.75rem);pointer-events:none;position:relative;z-index:1}.modal-container>*{pointer-events:auto}.modal-box{margin:0}.confirm-modal{background-color:var(--modal-bg-color);border:1px solid var(--modal-border-color);border-radius:14px;box-shadow:0 0 0 1px #0000000a,0 10px 40px -10px #00000047,0 24px 56px -16px #00000024;color:var(--common-text-color);max-width:22.5rem;padding:1.5rem 1.35rem 1.25rem;text-align:center;width:100%}.confirm-modal__icon{align-items:center;border-radius:9999px;box-sizing:border-box;display:flex;flex-shrink:0;height:3rem;justify-content:center;margin:0 auto .85rem;width:3rem}.confirm-modal__icon svg{height:1.6rem;width:1.6rem}.confirm-modal--danger .confirm-modal__icon{background:color-mix(in srgb,#fecaca 65%,#0000);border:1px solid color-mix(in srgb,#f87171 45%,#0000);color:#dc2626}.confirm-modal--info .confirm-modal__icon{background:color-mix(in srgb,#bfdbfe 55%,#0000);border:1px solid color-mix(in srgb,#60a5fa 40%,#0000);color:#2563eb}.confirm-modal__title{color:var(--common-text-color);font-size:1.125rem;font-weight:600;letter-spacing:-.02em;line-height:1.35;margin:0}.confirm-modal__desc{text-wrap:balance;color:var(--common-semidark-text-color);font-size:.875rem;line-height:1.5;margin:.65rem 0 0;max-width:none;padding:0 .125rem;width:100%}.confirm-modal__actions{grid-gap:.65rem;display:grid;gap:.65rem;grid-template-columns:1fr 1fr;margin-top:1.35rem}.confirm-modal__btn{align-items:center;border-radius:10px;cursor:pointer;display:inline-flex;font-family:inherit;font-size:.875rem;font-weight:600;justify-content:center;line-height:1.2;min-height:2.65rem;padding:.5rem .85rem;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .08s ease}.confirm-modal__btn:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--common-primary-color) 28%,#0000);outline:none}.confirm-modal__btn--secondary{background-color:var(--common-btn-bg-color);border:1px solid var(--common-border-light-color);color:var(--common-semidark-text-color)}.confirm-modal__btn--secondary:hover{background-color:var(--common-btn-bg-hover-color);border-color:var(--common-border-color);color:var(--common-text-color)}.confirm-modal__btn--secondary:active{background-color:var(--common-btn-bg-active-color);transform:scale(.98)}.confirm-modal--danger .confirm-modal__btn--primary{background-color:#dc2626;border:1px solid #b91c1c;box-shadow:0 2px 10px #dc262659;color:#fef2f2}.confirm-modal--danger .confirm-modal__btn--primary:hover{background-color:#b91c1c;border-color:#991b1b;box-shadow:0 4px 14px #b91c1c61}.confirm-modal--danger .confirm-modal__btn--primary:focus-visible{box-shadow:0 0 0 3px #dc262659}.confirm-modal--danger .confirm-modal__btn--primary:active{transform:scale(.98)}.confirm-modal--info .confirm-modal__btn--primary{background-color:var(--common-primary-color);border:1px solid var(--common-primary-hover-color);color:var(--common-primary-text-color)}.confirm-modal--info .confirm-modal__btn--primary:hover{background-color:var(--common-primary-hover-color);filter:brightness(1.03)}.confirm-modal--info .confirm-modal__btn--primary:active{transform:scale(.98)}.prompt-container{align-items:center;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%}.app-sidebar{align-self:stretch;background:var(--common-bg-color);background:var(--sidebar-bg-color,var(--common-bg-color));border:1px solid var(--common-border-light-color);border-radius:.875rem;box-shadow:0 0 0 1px #00000005,0 10px 28px #00000014,0 4px 12px #0000000a;display:flex;flex-direction:column;margin:.75rem .5rem .75rem .75rem;min-height:0;overflow:visible;transition:width .2s ease,margin .2s ease,box-shadow .2s ease;width:280px}.app-sidebar--collapsed{margin-left:.75rem;margin-right:.35rem;width:64px}.app-sidebar--mobile.app-sidebar{align-self:flex-start;height:calc(100vh - 1.5rem);margin:.75rem 0 .75rem .75rem;max-height:calc(100vh - 1.5rem)}.app-sidebar--mobile .app-sidebar__inner{min-height:0}.app-sidebar__inner{display:flex;flex-direction:column;height:100%;min-height:0}.app-sidebar__inner--collapsed .app-sidebar__scroll{display:none}.app-sidebar__header{align-items:center;border-bottom:1px solid var(--common-border-light-color);display:flex;gap:.5rem;padding:.65rem .75rem}.app-sidebar__toggle{align-items:center;background:var(--common-btn-bg-color);border:1px solid var(--common-border-color);border-radius:6px;color:var(--common-text-color);display:inline-flex;justify-content:center;padding:.35rem}.app-sidebar__toggle:hover{background:var(--common-btn-bg-hover-color)}.app-sidebar__brand{color:var(--common-text-color);font-weight:700;letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-sidebar__inner--collapsed .app-sidebar__brand{display:none}.app-sidebar__scroll{flex:1 1;min-height:0;overflow-y:auto;padding:.5rem 0}.app-sidebar__section{padding:0 .75rem .75rem}.app-sidebar__label{color:var(--common-semidark-text-color);font-size:.65rem;font-weight:600;letter-spacing:.06em;margin-bottom:.35rem;text-transform:uppercase}.app-sidebar__linklike{align-items:center;background:#0000;border:none;border-radius:6px;color:var(--common-text-color);cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.45rem .5rem;text-align:left;width:100%}.app-sidebar__linklike:hover{background:var(--sidebar2-item-hover-color)}.app-sidebar__outline .close-outline,.app-sidebar__outline button{align-items:center;background:#0000;border:none;border-radius:6px;color:var(--common-text-color);cursor:pointer;display:flex;font-size:.875rem;padding:.45rem .5rem;text-align:left;width:100%}.app-sidebar__outline button:hover{background:var(--sidebar2-item-hover-color)}.app-sidebar__outline button:disabled{cursor:not-allowed;opacity:.45}.app-sidebar__open-list{display:flex;flex-direction:column;gap:2px;list-style:none;margin:0;padding:0}.app-sidebar__open-item{align-items:center;background:#0000;border:none;border-radius:6px;color:var(--common-text-color);cursor:pointer;display:flex;font-size:.8rem;gap:.25rem;justify-content:space-between;padding:.35rem .45rem;text-align:left;width:100%}.app-sidebar__open-item:hover{background:var(--sidebar2-item-hover-color)}.app-sidebar__open-item--active{text-decoration:underline;-webkit-text-decoration-color:#262626;text-decoration-color:#262626;-webkit-text-decoration-color:var(--common-border-hl-color,#262626);text-decoration-color:var(--common-border-hl-color,#262626);text-underline-offset:4px}.app-sidebar__open-close{border-radius:4px;flex-shrink:0;opacity:.65;padding:.15rem}.app-sidebar__open-close:hover{background:var(--common-btn-bg-hover-color);opacity:1}.app-sidebar__footer{border-top:1px solid var(--common-border-light-color);padding:.5rem .75rem}.app-sidebar__footer-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.25rem;justify-content:flex-start}.app-sidebar__footer-settings-slot{display:flex;flex:1 1;justify-content:flex-end;min-width:0}.app-sidebar__footer-settings-slot--compact{flex:0 0 auto}.app-sidebar__mobile-fab{align-items:center;border:1px solid var(--common-border-color);border-radius:999px;bottom:12px;box-shadow:0 4px 16px #00000014;box-shadow:var(--shadow-paper,0 4px 16px #00000014);display:inline-flex;height:44px;justify-content:center;left:12px;position:fixed;width:44px;z-index:150}.app-sidebar__mobile-fab,.sidebar-classroom-selector{background:var(--common-btn-bg-color);color:var(--common-text-color)}.sidebar-classroom-selector{border:1px solid var(--common-border-color);border-radius:6px;font-size:.8rem;padding:.35rem .5rem;width:100%}.app-sidebar__nb-list{list-style:none;margin:0;padding:0 .5rem}.app-sidebar__section-head{align-items:center;display:flex;justify-content:space-between;padding:0 .75rem .25rem}.app-sidebar__icon-action{background:#0000;border:none;border-radius:4px;color:var(--common-text-color);cursor:pointer;padding:.2rem}.app-sidebar__icon-action:hover{background:var(--sidebar2-item-hover-color)}.app-sidebar__nb-row{background:#0000;border:none;border-radius:6px;color:var(--common-text-color);cursor:pointer;display:block;font-size:.8rem;font-weight:500;padding:.4rem .5rem;text-align:left;width:100%}.app-sidebar__nb-row:hover{background:var(--sidebar2-item-hover-color)}.app-sidebar__nb-row--active{text-decoration:underline;-webkit-text-decoration-color:#262626;text-decoration-color:#262626;-webkit-text-decoration-color:var(--common-border-hl-color,#262626);text-decoration-color:var(--common-border-hl-color,#262626);text-underline-offset:4px}.app-sidebar__virt-scroll{border-left:2px solid #d6d6d4;border-left:2px solid var(--rule,#d6d6d4);margin-left:.35rem}.app-sidebar__page-row{align-items:center;background:#0000;border:none;border-radius:4px;color:var(--common-semidark-text-color);cursor:pointer;display:flex;font-size:.75rem;gap:.35rem;padding:.3rem .45rem;text-align:left;width:100%}.app-sidebar__page-row:hover{background:var(--sidebar2-item-hover-color)}.app-sidebar__page-row--active{color:var(--common-text-color);text-decoration:underline;text-underline-offset:3px}.app-sidebar__collapsed-strip{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:.35rem;padding:.5rem 0}.app-sidebar__collapsed-icon{background:var(--common-btn-bg-color);border:1px solid var(--common-border-color);border-radius:8px;color:var(--common-text-color);display:inline-flex;padding:.45rem}.app-sidebar__collapsed-icon:hover{background:var(--common-btn-bg-hover-color)}.app-sidebar--rail:not(.app-sidebar--mobile){background:#0000;border:none;border-radius:0;box-shadow:none}.app-sidebar--rail{margin:.75rem .35rem .75rem .65rem;position:relative;width:3.5rem;z-index:50}.app-sidebar--rail.app-sidebar--mobile{margin:.75rem 0 .75rem .75rem;width:4.5rem}.app-sidebar__inner--rail{background:#0000;flex:1 1;min-height:0;padding:.5rem .25rem}.app-sidebar__rail{align-items:center;display:flex;flex-direction:column;gap:.45rem;height:100%;min-height:0}.app-sidebar__rail-btn{align-items:center;background:var(--common-bg-color);border:1px solid var(--common-border-light-color);border-radius:9999px;box-shadow:0 0 0 1px #00000005,0 4px 12px #0000000f;color:var(--common-text-color);cursor:pointer;display:inline-flex;flex-shrink:0;height:2.5rem;justify-content:center;padding:0;position:relative;transition:background .12s ease,border-color .12s ease,color .12s ease;width:2.5rem}.app-sidebar__rail-btn:hover{background:var(--common-btn-bg-hover-color);background:var(--sidebar2-item-hover-color,var(--common-btn-bg-hover-color));border-color:var(--common-border-color);color:var(--common-text-color);color:var(--common-primary-color,var(--common-text-color))}.app-sidebar__rail-btn:focus-visible{outline:2px solid var(--common-border-color);outline:2px solid var(--common-primary-color,var(--common-border-color));outline-offset:2px}.app-sidebar__rail-settings-slot{align-items:flex-start;display:flex;flex-shrink:0;justify-content:center;max-height:0;min-height:0;opacity:0;overflow:hidden;pointer-events:none;transition:max-height .22s ease,opacity .18s ease;width:100%}.app-sidebar__rail-settings-slot--expanded{max-height:2.5rem;opacity:1;pointer-events:auto}@media (prefers-reduced-motion:reduce){.app-sidebar__rail-settings-slot{transition:none}}.app-sidebar__rail-badge{background:#dc2626;border:1px solid var(--common-bg-color);border-radius:9999px;color:#fff;font-size:.6rem;font-weight:700;height:1rem;line-height:1rem;min-width:1rem;padding:0 .25rem;position:absolute;right:-.15rem;text-align:center;top:-.15rem}.app-sidebar__rail-spacer{flex:1 1;min-height:.5rem}.app-sidebar__rail-profile{align-items:center;display:flex;justify-content:center}.app-sidebar__rail-avatar-btn{align-items:center;background:#0000;border:none;border-radius:9999px;color:inherit;cursor:pointer;display:inline-flex;height:2.5rem;justify-content:center;padding:0;width:2.5rem}.app-sidebar__rail-avatar-btn:focus-visible{outline:2px solid var(--common-border-color);outline:2px solid var(--common-primary-color,var(--common-border-color));outline-offset:2px}.app-sidebar__rail-profile .user-avatar--rail{align-items:center;border:1px solid var(--common-border-light-color);border-radius:9999px;box-shadow:0 0 0 1px #00000005,0 4px 12px #0000000f;display:flex;font-size:1.15rem;font-variant-emoji:emoji;height:2.5rem;justify-content:center;line-height:1;padding:0;width:2.5rem}.titlebar{cursor:pointer;display:flex;justify-content:space-between}.titlebar,.titlebar:hover{background-color:var(--common-bg-color)}.ttb-icon{cursor:pointer;font-size:1rem;line-height:1.5rem;padding:.125rem .375rem}.ttb-icon:hover{color:var(--common-text-hover-color)}.ttb-icon.ttb-close{--tw-text-opacity:1;color:#f87171;color:rgb(248 113 113/var(--tw-text-opacity,1))}.ttb-icon.ttb-close:hover{--tw-text-opacity:1;color:#ef4444;color:rgb(239 68 68/var(--tw-text-opacity,1))}.classroom-manager{margin:0 auto;max-width:1000px;padding:32px}.cm-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.cm-header h1{font-size:24px;font-weight:700;margin:0}.cm-layout{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr}@media (max-width:700px){.cm-layout{grid-template-columns:1fr}}.cm-list{display:flex;flex-direction:column;gap:12px}.cm-empty,.cm-loading{color:var(--common-dark-text-color);font-size:14px;padding:16px 0}.cm-empty-small{color:var(--common-dark-text-color);font-size:13px;margin:8px 0}.classroom-card{background:var(--common-btn-bg-color);border:1px solid var(--common-border-color);border-radius:12px;cursor:pointer;padding:16px;transition:box-shadow .15s}.classroom-card:hover{box-shadow:0 4px 16px #0000001a}.classroom-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.classroom-name{font-size:16px;font-weight:600}.classroom-subject{background:var(--common-primary-color);border-radius:10px;color:#fff;font-size:12px;padding:2px 8px}.classroom-grade{color:var(--common-dark-text-color);font-size:12px;margin-bottom:8px}.classroom-invite{align-items:center;display:flex;gap:6px;margin-top:8px}.invite-label{color:var(--common-dark-text-color);font-size:11px}.invite-code{color:var(--common-primary-color);font-family:monospace;font-size:14px;font-weight:700;letter-spacing:2px}.invite-copy{background:none;border:none;color:var(--common-dark-text-color);cursor:pointer;padding:2px}.cm-detail{background:var(--common-bg-color);border:1px solid var(--common-border-color);border-radius:12px;padding:16px}.cm-detail-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.cm-detail-header h2{font-size:18px;font-weight:600;margin:0}.cm-detail-actions{display:flex;gap:8px}.cm-members-section h3{align-items:center;display:flex;font-size:14px;font-weight:600;gap:6px;margin-bottom:8px}.member-row{background:var(--common-btn-bg-color);border-radius:8px;gap:10px;margin-bottom:6px;padding:8px}.member-avatar,.member-row{align-items:center;display:flex}.member-avatar{background:var(--common-primary-color);border-radius:50%;color:#fff;flex-shrink:0;font-size:12px;font-weight:700;height:32px;justify-content:center;width:32px}.member-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.member-id{color:var(--common-dark-text-color);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-role{font-size:11px;font-weight:600}.member-role.role-student{color:#3b82f6}.member-role.role-teacher{color:#8b5cf6}.member-remove{background:none;border:none;color:var(--common-dark-text-color);cursor:pointer;opacity:0;padding:4px}.member-row:hover .member-remove{opacity:.6}.modal-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.modal-box{background:var(--common-bg-color);border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:440px;padding:28px;width:100%}.modal-title{font-size:20px;font-weight:700;margin:0 0 20px}.modal-form{gap:14px}.modal-form,.modal-form label{display:flex;flex-direction:column}.modal-form label{color:var(--common-dark-text-color);font-size:13px;font-weight:600;gap:4px}.modal-form input,.modal-form textarea{background:var(--common-dark-bg-color);border:1px solid var(--common-border-color);border-radius:8px;color:var(--common-text-color);font-size:14px;outline:none;padding:8px 12px}.modal-form input:focus,.modal-form textarea:focus{border-color:var(--common-primary-color)}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:4px}.btn-primary{align-items:center;background:var(--common-primary-color);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;padding:8px 18px}.btn-primary:hover{opacity:.9}.btn-primary:disabled{cursor:not-allowed;opacity:.5}.btn-secondary{background:var(--common-btn-bg-color);border:1px solid var(--common-border-color);border-radius:8px;color:var(--common-text-color);cursor:pointer;font-size:14px;padding:8px 16px}.btn-secondary:hover{background:var(--common-btn-bg-hover-color)}.distribute-modal{max-width:380px}.distribute-subtitle{color:var(--common-dark-text-color);font-size:14px;margin:0 0 20px}.distribute-form{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.distribute-label{color:var(--common-dark-text-color);display:flex;flex-direction:column;font-size:13px;font-weight:600;gap:4px}.distribute-select{background:var(--common-dark-bg-color);border:1px solid var(--common-border-color);border-radius:8px;color:var(--common-text-color);cursor:pointer;font-size:14px;outline:none;padding:8px 12px}.distribute-select:focus{border-color:var(--common-primary-color)}.distribute-error{color:#ef4444;font-size:13px;margin:0}.distribute-empty{color:var(--common-dark-text-color);font-size:13px;padding:8px 0 16px}.distribute-success{color:#059669;font-size:14px;padding:16px 0;text-align:center}.distribute-student-count{color:var(--editor-text-secondary);font-size:14px;margin:0}.distribute-print-link{margin:12px 0 0;text-align:center}.distribute-print-btn{background:none;border:none;color:var(--editor-text-faint);cursor:pointer;font-size:13px;padding:0;text-decoration:underline}.distribute-print-btn:hover{color:var(--editor-accent)}.distribute-modal-actions{border-top:1px solid var(--common-border-color);margin-top:20px;padding-top:16px}.distribute-send-btn{font-size:15px;min-width:100px;padding:10px 20px}.worksheet-viewer{box-sizing:border-box;margin:0 auto;max-width:min(48rem,100%);overflow-x:hidden;padding:.35rem .25rem 2rem;width:100%}.worksheet-header{align-items:center;background:#0000;border:none;border-bottom:1px solid color-mix(in srgb,#e5e5e5 55%,#0000);border-bottom:1px solid color-mix(in srgb,var(--common-border-color,#e5e5e5) 55%,#0000);border-radius:0;display:flex;gap:.75rem;margin-bottom:1rem;padding:0 0 .5rem}.worksheet-header--minimal{border-bottom-color:color-mix(in srgb,#e5e5e5 40%,#0000);border-bottom-color:color-mix(in srgb,var(--common-border-color,#e5e5e5) 40%,#0000);margin-bottom:.65rem;padding-bottom:.35rem}.ai-usage-badge{background:#f4f4f5;background:var(--common-btn-bg-color,#f4f4f5);border:1px solid #e5e5e5;border:1px solid var(--common-border-color,#e5e5e5);border-radius:6px;color:#525252;color:var(--common-semidark-text-color,#525252);font-size:.8rem;font-weight:600;padding:.25rem .5rem}.worksheet-content{display:flex;flex-direction:column;gap:2rem;min-width:0;overflow-x:hidden}.worksheet-markdown{color:var(--text-primary);line-height:1.6}.worksheet-task{background:#fff;background:var(--common-bg-color,#fff);border:1px solid color-mix(in srgb,#e5e5e5 65%,#0000);border:1px solid color-mix(in srgb,var(--common-border-color,#e5e5e5) 65%,#0000);border-radius:10px;box-shadow:none;display:flex;gap:1rem;padding:1.35rem 1.35rem 1.45rem}.task-marker{align-self:stretch;background:#2626262e;background:var(--paper-rule-color,#2626262e);border-radius:1px;color:#0000;flex-shrink:0;font-size:0;line-height:0;margin-top:.2rem;overflow:hidden;width:.2rem}.task-content{flex:1 1}.worksheet-task.teacher-editable{cursor:pointer;transition:all .2s}.worksheet-task.teacher-editable:hover{border-color:#a3a3a3;border-color:var(--common-border-hl-color,#a3a3a3);box-shadow:none}.task-edit-container{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.task-content.clickable{position:relative}.task-content.clickable .edit-hint{background:color-mix(in srgb,#e5e5e5 40%,#0000);background:color-mix(in srgb,var(--common-border-color,#e5e5e5) 40%,#0000);border-radius:4px;color:#525252;color:var(--common-semidark-text-color,#525252);display:none;font-size:.75rem;padding:.25rem .5rem;position:absolute;right:0;top:0}.task-content.clickable:hover .edit-hint{display:inline-block}.worksheet-task-editor{display:flex;flex:1 1;flex-direction:column;gap:.65rem;min-width:0}.worksheet-task-editor__surface{background:#fff;background:var(--common-bg-color,#fff);border:1px solid color-mix(in srgb,#d4d4d4 70%,#0000);border:1px solid color-mix(in srgb,var(--common-border-color,#d4d4d4) 70%,#0000);border-radius:8px;padding:.5rem .65rem .75rem}.worksheet-task-editor__prose{color:#171717;color:var(--common-text-color,#171717);font-size:.95rem;line-height:1.55}.worksheet-task-editor__prose .ProseMirror{min-height:7rem;outline:none}.task-edit-textarea{background:#fff;background:var(--common-bg-color,#fff);border:1px solid #d4d4d4;border:1px solid var(--common-border-color,#d4d4d4);border-radius:6px;color:#171717;color:var(--common-text-color,#171717);font-family:ui-monospace,monospace;font-size:.95rem;line-height:1.5;min-height:120px;padding:.75rem;resize:vertical;width:100%}.task-edit-textarea:focus{border-color:#404040;border-color:var(--common-border-hl-color,#404040);box-shadow:0 0 0 2px color-mix(in srgb,#404040 18%,#0000);box-shadow:0 0 0 2px color-mix(in srgb,var(--common-border-hl-color,#404040) 18%,#0000);outline:none}.task-edit-actions{display:flex;gap:.5rem}.task-cancel-btn,.task-save-btn{border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:500;padding:.4rem .75rem;transition:all .2s}.task-save-btn{background:#171717;background:var(--common-text-color,#171717);border:1px solid #171717;border:1px solid var(--common-text-color,#171717);color:#fafafa;color:var(--common-bg-color,#fafafa)}.task-save-btn:hover{background:#404040;background:var(--common-semidark-text-color,#404040);border-color:#404040;border-color:var(--common-semidark-text-color,#404040)}.task-cancel-btn{background:#0000;border:1px solid var(--border-color);color:var(--text-secondary)}.task-cancel-btn:hover{background:var(--bg-secondary)}.rendered-markdown{white-space:normal}.rendered-markdown h2{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.rendered-markdown h3{font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.rendered-markdown p{margin:.5rem 0}.rendered-markdown p:last-child{margin-bottom:0}.rendered-markdown ol,.rendered-markdown ul{margin:.5rem 0;padding-left:1.5rem}.rendered-markdown code{background:color-mix(in srgb,#e5e5e5 45%,#0000);background:color-mix(in srgb,var(--common-border-color,#e5e5e5) 45%,#0000);border-radius:3px;font-family:ui-monospace,monospace;padding:.1rem .3rem}.rendered-markdown strong{font-weight:600}.worksheet-input-wrapper{display:block}.worksheet-input-wrapper.inline{display:block;margin:.5rem 0}.worksheet-input-wrapper.short{display:inline-block;margin:0 .25rem}.worksheet-input-wrapper.long{margin:1rem 0}.worksheet-input{background:var(--common-bg-color);border:1px solid var(--common-border-color);border-radius:6px;color:var(--common-text-color);font-size:1rem;padding:.5rem .75rem;transition:border-color .15s,box-shadow .15s}.worksheet-input:focus{border-color:#262626;border-color:var(--common-border-hl-color,#262626);box-shadow:0 0 0 2px color-mix(in srgb,#262626 20%,#0000);box-shadow:0 0 0 2px color-mix(in srgb,var(--common-border-hl-color,#262626) 20%,#0000);outline:none}.worksheet-input:disabled{background:var(--common-btn-bg-hover-color);cursor:not-allowed;opacity:.7}.worksheet-input.short{font-weight:500;text-align:center;width:80px}.worksheet-textarea{background:var(--common-bg-color);border:1px solid var(--common-border-color);border-radius:6px;box-sizing:border-box;color:var(--common-text-color);font-family:inherit;font-size:1rem;line-height:1.6;min-height:120px;padding:.75rem;resize:vertical;width:100%}.worksheet-textarea::placeholder{color:var(--common-semidark-text-color);font-style:italic}.worksheet-textarea:focus{background:var(--common-bg-color);border-color:#262626;border-color:var(--common-border-hl-color,#262626);box-shadow:0 0 0 2px color-mix(in srgb,#262626 20%,#0000);box-shadow:0 0 0 2px color-mix(in srgb,var(--common-border-hl-color,#262626) 20%,#0000);outline:none}.worksheet-textarea:disabled{background:var(--common-btn-bg-hover-color);cursor:not-allowed;opacity:.7}.input-label{color:var(--common-semidark-text-color);font-size:.8rem;font-weight:500;margin-bottom:.5rem}.worksheet-answer-field{background:#fff;background:var(--common-bg-color,#fff);border:1px solid color-mix(in srgb,#e5e5e5 60%,#0000);border:1px solid color-mix(in srgb,var(--common-border-color,#e5e5e5) 60%,#0000);border-radius:10px;box-shadow:none;margin:.2rem 0 .35rem;padding:1rem 1.15rem 1.1rem}.worksheet-answer-field--long{padding-bottom:1.1rem}.worksheet-answer-field__label{display:block;letter-spacing:.01em;margin-bottom:.5rem}.worksheet-answer-field .worksheet-answer-field__control,.worksheet-answer-field input.worksheet-answer-field__control,.worksheet-answer-field textarea.worksheet-answer-field__control{-webkit-text-fill-color:#0f172a;background-color:#fafafa!important;border:1px solid #cbd5e1!important;border-radius:.5rem;box-shadow:inset 0 0 0 1px #0f172a0a;color:#0f172a!important;max-width:100%;width:100%}.worksheet-answer-field .worksheet-answer-field__control::placeholder,.worksheet-answer-field input.worksheet-answer-field__control::placeholder,.worksheet-answer-field textarea.worksheet-answer-field__control::placeholder{color:#64748b!important;opacity:1}.worksheet-answer-field .worksheet-answer-field__control:disabled,.worksheet-answer-field input.worksheet-answer-field__control:disabled,.worksheet-answer-field textarea.worksheet-answer-field__control:disabled{-webkit-text-fill-color:#0f172a;background-color:#f1f5f9!important;color:#0f172a!important;cursor:default;opacity:1!important}.worksheet-answer-field textarea.worksheet-answer-field__control{min-height:7.5rem}.worksheet-answer-field__answer-foot{color:#334155;line-height:1.45;margin:.5rem 0 0}.worksheet-answer-field__answer-foot .font-medium{color:#1e293b}.student-answer-preview{background:color-mix(in srgb,#f4f4f5 88%,#0000);background:color-mix(in srgb,var(--common-btn-bg-color,#f4f4f5) 88%,#0000);border:1px solid #e5e5e5;border:1px solid var(--common-border-color,#e5e5e5);border-radius:6px;margin-top:.5rem;padding:.75rem}.student-answer-preview .preview-label{color:#525252;color:var(--common-semidark-text-color,#525252);font-size:.75rem;font-weight:600;margin-right:.5rem}.student-answer-preview .preview-content{color:#171717;color:var(--common-text-color,#171717)}.worksheet-error{color:var(--text-secondary);padding:2rem;text-align:center}.worksheet-error code{background:color-mix(in srgb,#e5e5e5 45%,#0000);background:color-mix(in srgb,var(--common-border-color,#e5e5e5) 45%,#0000);border-radius:4px;font-family:ui-monospace,monospace;padding:.2rem .5rem}.ai-disabled-banner{align-items:center;background:#fee2e2;border:1px solid #fca5a5;border-radius:8px;color:#991b1b;display:flex;font-size:.9rem;font-weight:500;gap:.5rem;margin-bottom:1.5rem;padding:.65rem 1rem}.worksheet-footer{background:color-mix(in srgb,#f4f4f5 75%,#0000);background:color-mix(in srgb,var(--common-btn-bg-color,#f4f4f5) 75%,#0000);border:1px solid #e5e5e5;border:1px solid var(--common-border-color,#e5e5e5);border-radius:6px;margin-top:2rem;padding:.85rem 1rem}.ai-notice{color:#525252;color:var(--common-semidark-text-color,#525252);font-size:.9rem;margin:0}.ai-usage-log{background:#0000;border:1px solid #e5e5e5;border:1px solid var(--common-border-color,#e5e5e5);border-radius:6px;margin-top:2rem;padding:1rem}.ai-usage-log h4{color:#171717;color:var(--common-text-color,#171717);margin:0}.ai-usage-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.ai-usage-reset-btn{background:#0000;border:1px solid #d4d4d4;border:1px solid var(--common-border-color,#d4d4d4);border-radius:4px;cursor:pointer;font-size:.75rem;padding:.25rem .5rem;transition:all .2s}.ai-usage-reset-btn,.ai-usage-reset-btn:hover{color:#171717;color:var(--common-text-color,#171717)}.ai-usage-reset-btn:hover{background:#0000000d;background:var(--common-btn-bg-hover-color,#0000000d);border-color:#a3a3a3;border-color:var(--common-border-hl-color,#a3a3a3)}.ai-log-entry{border-bottom:1px solid #e5e5e5;border-bottom:1px solid var(--common-border-color,#e5e5e5);display:flex;font-size:.85rem;gap:.75rem;padding:.5rem 0}.ai-log-entry:last-child{border-bottom:none}.log-time{color:var(--text-secondary);flex-shrink:0}.log-question{color:var(--text-primary)}.worksheet-submit-bar{background:color-mix(in srgb,#f4f4f5 55%,#0000);background:color-mix(in srgb,var(--common-btn-bg-color,#f4f4f5) 55%,#0000);border:1px solid color-mix(in srgb,#e5e5e5 55%,#0000);border:1px solid color-mix(in srgb,var(--common-border-color,#e5e5e5) 55%,#0000);border-radius:10px;margin-top:1.75rem;padding:1rem 1.1rem 1.15rem}.worksheet-add-question{align-items:flex-start;background:#0000;border:1px dashed #d4d4d4;border:1px dashed var(--common-border-color,#d4d4d4);border-radius:6px;display:flex;flex-direction:column;gap:.5rem;margin-bottom:0;margin-top:.5rem;padding:1.1rem 1rem 1.15rem}.add-question-btn{align-items:center;background:#0000;border:1px dashed #a3a3a3;border:1px dashed var(--common-border-color,#a3a3a3);border-radius:6px;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:500;gap:.4rem;padding:.5rem 1.25rem;transition:background .15s,color .15s}.add-question-btn,.add-question-btn:hover{color:#171717;color:var(--common-text-color,#171717)}.add-question-btn:hover{background:#0000000d;background:var(--common-btn-bg-hover-color,#0000000d)}@media (prefers-color-scheme:dark){.worksheet-input,.worksheet-textarea{background:#1f2937;border-color:#4b5563;color:#f3f4f6}.worksheet-input:focus,.worksheet-textarea:focus{background:#111827}.worksheet-input:disabled,.worksheet-textarea:disabled{background:#374151}.worksheet-input.short{background:#1f2937}.worksheet-answer-field{background:#fafafa;background:var(--common-bg-color,#fafafa);border-color:#e2e8f0;border-color:var(--common-border-color,#e2e8f0)}}.ai-sidebar{border:1px solid var(--common-border-light-color);border-radius:14px;box-shadow:0 0 0 1px #00000005,0 10px 28px #00000014,0 4px 12px #0000000a;display:flex;flex-direction:column;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;height:min(76vh,820px);overflow:hidden;width:400px;z-index:1500}.ai-sidebar,.ai-sidebar-pill{background:#fff;background:var(--common-bg-color,#fff);position:fixed}.ai-sidebar-pill{align-items:center;border:none;border-radius:9999px;box-shadow:0 0 0 1px var(--common-border-light-color),0 10px 28px #0000001a,0 4px 12px #0000000d;color:var(--common-text-color);display:inline-flex;height:2.45rem;justify-content:center;width:2.45rem;z-index:1501}.ai-sidebar-pill:hover{background:#0000000f;background:var(--common-btn-bg-hover-color,#0000000f);color:var(--common-primary-color)}.ai-sidebar-header{align-items:center;background:var(--common-bg-color);border-bottom:1px solid var(--common-border-light-color);cursor:grab;display:flex;justify-content:space-between;padding:.85rem 1rem;-webkit-user-select:none;user-select:none;z-index:10}.ai-sidebar-header:active{cursor:grabbing}.ai-sidebar-header-left{align-items:center;display:flex;gap:.35rem}.ai-sidebar-header h3{color:var(--common-text-color);font-size:.95rem;font-weight:600;letter-spacing:-.01em;margin:0}.btn-clear{align-items:center;background:var(--common-bg-color);border:1px solid #0000;border-radius:9999px;color:var(--common-semidark-text-color);cursor:pointer;display:flex;height:1.85rem;justify-content:center;transition:background .1s ease,color .1s ease;width:1.85rem}.btn-clear:hover{background:var(--common-btn-bg-hover-color);color:var(--common-text-color)}.ai-messages{background:var(--common-bg-color);display:flex;flex:1 1;flex-direction:column;gap:12px;overflow-y:auto;padding:16px;position:relative}.ai-welcome-state{flex-direction:column;height:100%;margin-top:-40px;padding:0 32px;text-align:center}.ai-logo-placeholder,.ai-welcome-state{align-items:center;display:flex;justify-content:center}.ai-logo-placeholder{background:var(--surface-2);border-radius:20px;box-shadow:0 8px 20px #0000000d;height:64px;margin-bottom:24px;width:64px}.ai-logo-placeholder span{color:var(--text-primary);font-size:32px;font-weight:700}.ai-welcome-title{color:var(--text-primary);font-size:20px;font-weight:600;margin:0 0 12px}.ai-welcome-desc{color:var(--text-secondary);font-size:14px;line-height:1.5;margin:0 0 24px;max-width:280px}.ai-context-badge{background:var(--surface-2);border:1px solid var(--border-color);border-radius:100px;color:var(--text-secondary);font-size:12px;max-width:100%;overflow:hidden;padding:6px 12px;text-overflow:ellipsis;white-space:nowrap}.ai-message{display:flex;flex-direction:column;max-width:85%}.ai-message-user{align-self:flex-end}.ai-message-assistant{align-self:flex-start}.ai-message-content{border-radius:18px;font-size:14px;line-height:1.5;padding:10px 16px}.ai-message-user .ai-message-content{background:var(--text-primary);border-bottom-right-radius:4px;color:var(--bg-primary)}@media (prefers-color-scheme:light){.ai-message-user .ai-message-content{background:#222;color:#fff}}@media (prefers-color-scheme:dark){.ai-message-user .ai-message-content{background:#eee;color:#111}}.ai-message-assistant .ai-message-content{background:var(--surface-2);border-bottom-left-radius:4px;color:var(--text-primary)}.ai-footer{border-top:1px solid var(--common-border-light-color);flex-direction:column;gap:.55rem;padding:.75rem}.ai-footer,.ai-input-wrapper{background:var(--common-bg-color);display:flex}.ai-input-wrapper{align-items:center;border:1px solid var(--common-border-color);border-radius:9999px;box-shadow:0 0 0 1px rgba(0,0,0,.015),0 6px 14px #0000000d;padding:.25rem .35rem .25rem .75rem;transition:box-shadow .2s,border-color .2s}.ai-input-wrapper:focus-within{border-color:var(--common-border-color);box-shadow:0 0 0 1px #00000005,0 8px 18px #00000014}.ai-minimal-input{background:#0000;border:none;color:var(--common-text-color);flex:1 1;font-size:14px;outline:none;padding:.4rem 0}.ai-minimal-send-btn{align-items:center;background:#eab308;background:var(--common-primary-color,#eab308);border:none;border-radius:50%;color:#fff;color:var(--common-primary-text-color,#fff);cursor:pointer;display:flex;flex-shrink:0;height:30px;justify-content:center;margin-left:8px;min-width:30px;transition:transform .1s,background .2s;width:30px}.ai-minimal-send-btn:hover:not(:disabled){transform:scale(1.05)}.ai-minimal-send-btn:disabled{background:var(--text-muted);cursor:default}.ai-controls{display:flex;justify-content:flex-end}.ai-pipeline-select-minimal{background:var(--common-bg-color);border:1px solid var(--common-border-light-color);border-radius:9999px;color:var(--common-semidark-text-color);cursor:pointer;font-size:12px;outline:none;padding:.28rem .5rem;text-align:center;transition:color .2s,background .2s}.ai-pipeline-select-minimal:hover{background:var(--common-btn-bg-hover-color);color:var(--common-text-color)}.ai-error-toast{align-items:center;animation:slideUp .3s ease;background:#ffecb3;border-radius:8px;bottom:100px;box-shadow:0 4px 12px #0000001a;color:#5d4a1a;display:flex;font-size:13px;justify-content:space-between;left:20px;padding:10px 16px;position:absolute;right:20px}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ai-typing{font-style:italic;opacity:.7}.ai-messages::-webkit-scrollbar{width:6px}.ai-messages::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.ai-messages::-webkit-scrollbar-track{background:#0000}.ai-message-error .ai-message-content{background:#fff3cd;border:1px solid #ffeeba;color:#856404}.ai-open-in-pad-btn{align-items:center;background:var(--surface-2);border:1px solid var(--border-color);border-radius:16px;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:12px;gap:4px;margin-top:8px;padding:6px 12px;transition:all .2s ease}.ai-open-in-pad-btn:hover{background:var(--surface-1);background:var(--surface-hover,var(--surface-1));border-color:var(--text-muted);box-shadow:0 2px 8px #00000014;color:var(--text-primary);transform:translateY(-1px)}.submissions-dashboard{margin:0 auto;max-width:1100px;min-height:0;padding:32px}.sd-header{margin-bottom:24px}.sd-header .sd-title{font-size:24px;font-weight:700;margin:0}.sd-title--embedded{font-size:1.125rem;font-weight:700;margin:0}.submissions-dashboard--embedded{margin:0;max-width:none;padding:0}.submissions-dashboard--embedded .sd-header{margin-bottom:12px}.sd-layout{grid-gap:24px;display:grid;gap:24px;grid-template-columns:280px 1fr;min-height:0}@media (max-width:700px){.sd-layout{grid-template-columns:1fr}}.sd-empty,.sd-loading{color:var(--common-dark-text-color);font-size:14px;padding:12px 0}.sd-dist-list{min-height:0;overflow-y:auto}.sd-dist-list h3{color:var(--common-dark-text-color);font-size:13px;font-weight:700;letter-spacing:.05em;margin-bottom:8px;text-transform:uppercase}.dist-item{background:var(--common-btn-bg-color);border:1px solid var(--common-border-color);border-radius:10px;cursor:pointer;margin-bottom:6px;padding:12px;transition:box-shadow .12s}.dist-item:hover{box-shadow:0 2px 12px #0000001a}.dist-item.active{background:var(--common-primary-color);border-color:var(--common-primary-color);color:#fff}.dist-id{font-size:14px;font-weight:600}.dist-date{margin:2px 0}.dist-count,.dist-date{font-size:12px;opacity:.7}.sd-detail{background:var(--common-bg-color);border:1px solid var(--common-border-color);border-radius:12px;display:flex;flex-direction:column;min-height:0;overflow-x:hidden;overflow-y:auto}.sd-tabs{border-bottom:1px solid var(--common-border-color);display:flex}.sd-tab{background:none;border:none;border-bottom:2px solid #0000;color:var(--common-dark-text-color);cursor:pointer;font-size:14px;font-weight:500;padding:12px 20px;transition:all .12s}.sd-tab.active{border-bottom-color:var(--common-primary-color);color:var(--common-primary-color)}.sd-tab:hover:not(.active){color:var(--common-text-color)}.sd-overview{flex:1 1;min-height:0;overflow-y:auto;padding:20px}.sd-stats{display:flex;flex-shrink:0;gap:16px;margin-bottom:20px}.sd-stat{background:var(--common-btn-bg-color);border-radius:10px;flex:1 1;padding:16px;text-align:center}.sd-stat-val{display:block;font-size:28px;font-weight:800}.sd-stat-label{color:var(--common-dark-text-color);font-size:12px;letter-spacing:.05em;text-transform:uppercase}.sd-sub-list{display:flex;flex-direction:column;gap:6px}.sub-row{align-items:center;background:var(--common-btn-bg-color);border-radius:8px;cursor:pointer;display:flex;font-size:13px;gap:12px;padding:10px 14px;transition:background .12s}.sub-row:hover{background:var(--common-border-color)}.sub-row:focus{outline:2px solid var(--common-primary-color);outline-offset:2px}.sub-student{flex:1 1;font-family:monospace;font-weight:500}.sub-row .sub-view-btn{background:var(--common-bg-color);border:1px solid var(--common-primary-color);border-radius:8px;color:var(--common-primary-color);cursor:pointer;flex-shrink:0;font-size:12px;font-weight:600;padding:6px 12px}.sub-row .sub-view-btn:hover{background:var(--common-primary-color);color:#fff}.sub-badge{border-radius:10px;font-size:11px;font-weight:600;padding:2px 8px}.sub-badge.status-pending{background:#fef3c7;color:#d97706}.sub-badge.status-submitted{background:#d1fae5;color:#059669}.sub-badge.status-reviewed{background:#dbeafe;color:#2563eb}.sub-date{color:var(--common-dark-text-color);font-size:11px}.sub-pending-analysis{color:#9ca3af;font-size:11px}.sub-has-analysis{color:#059669;font-size:11px}.weakness-report{padding:20px}.wr-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.wr-subtitle{color:var(--common-dark-text-color);font-size:14px;margin:0}.wr-progress{align-items:center;display:flex;gap:10px;margin-bottom:20px}.wr-progress-bar{background:var(--common-border-color);border-radius:3px;flex:1 1;height:6px;overflow:hidden}.wr-progress-fill{background:var(--common-primary-color);border-radius:3px;height:100%;transition:width .3s}.wr-progress-label{font-size:13px;font-weight:600;min-width:36px}.wr-existing h3,.wr-results h3{font-size:16px;font-weight:700;margin-bottom:12px}.wr-student{background:var(--common-btn-bg-color);border-radius:10px;margin-bottom:10px;padding:14px}.wr-student-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:8px}.wr-student-id{font-family:monospace;font-size:13px;font-weight:700}.wr-gen-btn{font-size:12px;padding:5px 12px}.wr-weaknesses{margin:0;padding:0 0 0 16px}.wr-weaknesses li{color:var(--common-text-color);font-size:13px;margin-bottom:4px}.wr-empty{align-items:center;color:var(--common-dark-text-color);display:flex;flex-direction:column;font-size:14px;gap:10px;padding:40px;text-align:center}.wr-empty span{font-size:36px}.sd-submission-detail{min-height:0;padding:20px}.sd-detail-header{flex-shrink:0;margin-bottom:20px}.sd-detail-back{background:none;border:none;color:var(--common-primary-color);cursor:pointer;font-size:14px;margin-bottom:8px;padding:0 0 8px}.sd-detail-back:hover{text-decoration:underline}.sd-detail-title{font-size:18px;font-weight:700;margin:0 0 4px}.sd-detail-meta{color:var(--common-dark-text-color);font-size:13px;margin:0}.sd-detail-worksheet{background:var(--common-btn-bg-color);border:1px solid var(--common-border-color);border-radius:10px;margin-bottom:24px;overflow-y:auto;padding:16px}.sd-detail-loading{color:var(--common-dark-text-color);font-size:14px;margin:0}.sd-detail-analysis{background:var(--common-btn-bg-color);border:1px solid var(--common-border-color);border-radius:10px;padding:16px}.sd-detail-analysis h4{color:var(--common-dark-text-color);font-size:14px;font-weight:700;letter-spacing:.05em;margin:0 0 10px;text-transform:uppercase}.sd-analysis-weaknesses{margin:0 0 12px;padding-left:20px}.sd-analysis-weaknesses li{color:var(--common-text-color);font-size:13px;margin-bottom:4px}.sd-analysis-raw{font-size:12px}.sd-analysis-raw pre{color:var(--common-dark-text-color);font-family:inherit;margin:0;white-space:pre-wrap;word-break:break-word}.classroom-hub{gap:1.5rem}.classroom-hub__masthead{align-items:flex-start;display:flex;flex-direction:column;gap:.65rem;padding:0 1.1rem}.classroom-hub__name{color:var(--common-text-color);font-size:clamp(1.35rem,3.5vw,1.85rem);font-weight:700;letter-spacing:-.03em;line-height:1.1;margin:0}.classroom-hub__subject{color:var(--common-semidark-text-color);font-size:.8rem;margin:0}.classroom-hub__toolbar{padding:0 1.1rem}.classroom-hub__seg{align-items:center;background:color-mix(in srgb,var(--common-border-light-color) 35%,var(--common-bg-color));border:1px solid var(--common-border-light-color);border-radius:.65rem;display:inline-flex;flex-wrap:wrap;gap:.2rem;max-width:100%;padding:.2rem}.classroom-hub__seg-btn{background:#0000;border:none;border-radius:.5rem;color:var(--common-semidark-text-color);cursor:pointer;font-size:.68rem;font-weight:600;padding:.35rem .55rem;transition:background .12s ease,color .12s ease,box-shadow .12s ease}.classroom-hub__seg-btn:hover{background:var(--common-btn-bg-hover-color);color:var(--common-text-color)}.classroom-hub__seg-btn--on{background:var(--common-bg-color);box-shadow:0 1px 3px #00000014;color:var(--common-text-color)}.classroom-hub__stack{display:flex;flex-direction:column;gap:1rem;padding:0 1.1rem 2rem}.classroom-hub__card{background:var(--common-bg-color);border:1px solid var(--common-border-light-color);border-radius:12px;padding:1rem 1.1rem 1.15rem}.classroom-hub__card-title{color:var(--common-semidark-text-color);font-size:.72rem;font-weight:700;letter-spacing:.05em;margin:0 0 .35rem;text-transform:uppercase}.classroom-hub__hint{color:var(--common-dark-text-color);font-size:.78rem;line-height:1.45;margin:0 0 .85rem}.classroom-hub__field-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:.5rem}.classroom-hub__field-row .classroom-hub__input{flex:1 1 220px;min-width:0}.classroom-hub__roster-head{align-items:center;color:var(--common-semidark-text-color);display:flex;font-size:.72rem;font-weight:700;gap:.35rem;letter-spacing:.05em;margin:0 0 .5rem;text-transform:uppercase}.classroom-hub__roster{display:flex;flex-direction:column;gap:0;list-style:none;margin:0;padding:0}.classroom-hub__member{align-items:center;border-top:1px solid var(--common-border-light-color);display:flex;gap:.65rem;padding:.55rem 0}.classroom-hub__member:first-child{border-top:none;padding-top:0}.classroom-hub__member-avatar{align-items:center;background:color-mix(in srgb,var(--common-border-light-color) 55%,var(--common-bg-color));border-radius:9999px;color:var(--common-text-color);display:flex;flex-shrink:0;font-size:.65rem;font-weight:700;height:2rem;justify-content:center;letter-spacing:-.02em;width:2rem}.classroom-hub__member-body{display:flex;flex:1 1;flex-direction:column;gap:.1rem;min-width:0}.classroom-hub__member-id{color:var(--common-text-color);font-family:ui-monospace,monospace;font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.classroom-hub__member-role{color:var(--common-semidark-text-color);font-size:.68rem;text-transform:capitalize}.classroom-hub__empty{color:var(--common-dark-text-color);font-size:.78rem;margin:0}.classroom-hub__error{background:color-mix(in srgb,#fecaca 22%,var(--common-bg-color));border:1px solid color-mix(in srgb,#dc2626 40%,var(--common-border-light-color));border-radius:10px;color:#991b1b;font-size:.82rem;margin:0 1.1rem;padding:.85rem 1rem}.classroom-hub__loading{color:var(--common-semidark-text-color);font-size:.85rem;padding:2.5rem 1.1rem;text-align:center}.classroom-hub__submissions{padding:0 1.1rem 1rem}.classroom-hub__class-workspace{border-top:1px solid var(--common-border-light-color);margin-top:1.25rem;padding:1rem 1.1rem 1.5rem}.classroom-hub__class-workspace-lede{margin-bottom:.75rem;margin-top:.35rem}.classroom-hub__tab-panel{display:flex;flex-direction:column;gap:.75rem;padding:0 1.1rem 1.5rem}.classroom-hub__tab-panel__toolbar{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.65rem;justify-content:space-between}.classroom-hub__tab-panel__lede{color:var(--common-dark-text-color);flex:1 1 12rem;font-size:.75rem;line-height:1.45;margin:0;max-width:40rem}.classroom-hub__tab-panel__lede strong{color:var(--common-text-color);font-weight:600}.classroom-hub__tab-panel__footer{border-top:1px solid var(--common-border-light-color);margin-top:.85rem;padding-top:.75rem}.classroom-hub__resource-list{display:flex;flex-direction:column;gap:0;list-style:none;margin:0;padding:0}.classroom-hub__resource-row{align-items:center;border-bottom:1px solid var(--common-border-light-color);display:flex;gap:.65rem;justify-content:space-between;padding:.65rem 0}.classroom-hub__resource-row:last-child{border-bottom:none}.classroom-hub__resource-main{display:flex;flex:1 1;flex-direction:column;gap:.15rem;min-width:0}.classroom-hub__resource-title{color:var(--common-text-color);font-size:.8rem;font-weight:600}.classroom-hub__resource-meta{color:var(--common-semidark-text-color);font-size:.68rem}.classroom-hub__demo-banner{background:color-mix(in srgb,#fef9c3 55%,var(--common-bg-color));border:1px solid color-mix(in srgb,#ca8a04 35%,var(--common-border-light-color));border-radius:10px;color:var(--common-dark-text-color);font-size:.72rem;line-height:1.45;margin:0 1.1rem;padding:.55rem .75rem}.classroom-hub__demo-banner__tag{background:#ca8a04;border-radius:.35rem;color:#fff;display:inline-block;font-size:.62rem;font-weight:800;letter-spacing:.04em;margin-right:.35rem;padding:.1rem .35rem;text-transform:uppercase}.classroom-hub__overview-layout{grid-gap:.85rem;display:grid;gap:.85rem;grid-template-columns:1fr}@media (min-width:900px){.classroom-hub__overview-layout{align-items:start;grid-template-columns:minmax(0,1fr) minmax(240px,300px)}}.classroom-hub__aside{min-height:0}.classroom-hub__presence-grid{display:flex;flex-wrap:wrap;gap:.32rem;margin-bottom:.85rem}.classroom-hub__presence-tooltip-wrap{display:inline-flex}.classroom-hub__presence-tile{align-items:center;border:1px solid color-mix(in srgb,var(--common-border-light-color) 80%,#0000);border-radius:.45rem;cursor:default;display:inline-flex;height:2.35rem;justify-content:center;padding:0;transition:transform .1s ease,box-shadow .1s ease;width:2.35rem}.classroom-hub__presence-tile:hover{box-shadow:0 2px 8px #0000001f;transform:translateY(-1px)}.classroom-hub__presence-tile__abbr{font-size:.58rem;font-weight:800;letter-spacing:-.03em;line-height:1}.classroom-hub__presence-tile--dormant{background:color-mix(in srgb,#22c55e 22%,#94a3b8);color:#0f172a}.classroom-hub__presence-tile--away{background:color-mix(in srgb,#22c55e 18%,#475569);color:#f8fafc}.classroom-hub__presence-tile--active{background:#22c55e;color:#052e16}.classroom-hub__presence-tile--ai_light{background:color-mix(in srgb,#22c55e 28%,#eab308);color:#422006}.classroom-hub__presence-tile--ai_heavy{background:color-mix(in srgb,#22c55e 12%,#f97316);color:#431407}.classroom-hub__legend{border-top:1px solid var(--common-border-light-color);display:flex;flex-wrap:wrap;gap:.5rem 1rem;padding-top:.35rem}.classroom-hub__legend-row{align-items:center;display:inline-flex;gap:.35rem}.classroom-hub__legend-swatch{border-radius:.18rem;flex-shrink:0;height:.65rem;width:.65rem}.classroom-hub__legend-swatch.classroom-hub__presence-tile--dormant{background:color-mix(in srgb,#22c55e 22%,#94a3b8)}.classroom-hub__legend-swatch.classroom-hub__presence-tile--away{background:color-mix(in srgb,#22c55e 18%,#475569)}.classroom-hub__legend-swatch.classroom-hub__presence-tile--active{background:#22c55e}.classroom-hub__legend-swatch.classroom-hub__presence-tile--ai_light{background:color-mix(in srgb,#22c55e 28%,#eab308)}.classroom-hub__legend-swatch.classroom-hub__presence-tile--ai_heavy{background:color-mix(in srgb,#22c55e 12%,#f97316)}.classroom-hub__legend-text{color:var(--common-semidark-text-color);font-size:.68rem}.classroom-hub__inquiry-list{display:flex;flex-direction:column;gap:0;list-style:none;margin:0;max-height:min(22rem,52vh);overflow-y:auto;padding:0}.classroom-hub__inquiry{border-bottom:1px solid var(--common-border-light-color);padding:.65rem 0}.classroom-hub__inquiry:last-child{border-bottom:none}.classroom-hub__inquiry__meta{align-items:baseline;display:flex;gap:.5rem;justify-content:flex-end;margin-bottom:.25rem}.classroom-hub__inquiry__ago{color:var(--common-semidark-text-color);flex-shrink:0;font-size:.62rem}.classroom-hub__inquiry__text{color:var(--common-dark-text-color);font-size:.75rem;line-height:1.4;margin:0}.classroom-hub__details{background:var(--common-bg-color);border:1px solid var(--common-border-light-color);border-radius:10px;margin:0 1.1rem 1rem;overflow:hidden}.classroom-hub__details-summary{color:var(--common-text-color);cursor:pointer;font-size:.78rem;font-weight:600;list-style:none;padding:.65rem .85rem}.classroom-hub__details-summary::-webkit-details-marker{display:none}.classroom-hub__details-summary:after{content:"▸";float:right;font-size:.7rem;opacity:.45}.classroom-hub__details[open] .classroom-hub__details-summary:after{content:"▾"}.classroom-hub__details-body{border-top:1px solid var(--common-border-light-color);padding:0 .85rem .85rem}.classroom-hub__materials-panel__head{display:flex;flex-direction:column;gap:.75rem}@media (min-width:640px){.classroom-hub__materials-panel__head{align-items:flex-start;flex-direction:row;flex-wrap:wrap;justify-content:space-between}}.teacher-dashboard__masthead{align-items:flex-start;display:flex;flex-direction:column;gap:.65rem;max-width:28rem;padding:0 1.1rem 2rem}.teacher-dashboard__title{color:var(--common-text-color);font-size:clamp(1.35rem,3.5vw,1.85rem);font-weight:700;letter-spacing:-.03em;line-height:1.1;margin:0}.teacher-dashboard__lede{color:var(--common-semidark-text-color);font-size:.82rem;line-height:1.55;margin:0}.teacher-dashboard__lede strong{color:var(--common-text-color);font-weight:600}.notifications-panel{margin:0 auto;max-width:480px;padding:0}.notif-panel-header{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-border,#e5e7eb);display:flex;justify-content:space-between;padding:20px 24px 12px}.notif-panel-header h2{font-size:18px;font-weight:600;margin:0}.notif-panel-header--chrome-title{justify-content:flex-end;padding-bottom:8px;padding-top:8px}.mark-all-btn{background:none;border:none;border-radius:6px;color:#3b82f6;color:var(--color-primary,#3b82f6);cursor:pointer;font-size:13px;padding:4px 8px}.mark-all-btn:hover{background:#3b82f61a;background:var(--color-bg-hover,#3b82f61a)}.notif-list{padding:8px 0}.notification-item{align-items:flex-start;cursor:pointer;display:flex;gap:12px;padding:12px 24px;position:relative;transition:background .12s}.notification-item:hover{background:#0000000a;background:var(--color-bg-hover,#0000000a)}.notification-item.unread{background:#3b82f60d;background:var(--color-bg-unread,#3b82f60d)}.notif-icon{flex-shrink:0;font-size:22px;margin-top:2px}.notif-body{flex:1 1;min-width:0}.notif-title{font-size:14px;font-weight:600;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notif-message{color:#6b7280;color:var(--color-text-secondary,#6b7280);font-size:13px;margin-bottom:4px}.notif-time{color:#9ca3af;color:var(--color-text-tertiary,#9ca3af);font-size:11px}.notif-dot{background:#3b82f6;border-radius:50%;flex-shrink:0;height:8px;margin-top:6px;width:8px}.notif-empty{align-items:center;color:#6b7280;color:var(--color-text-secondary,#6b7280);display:flex;flex-direction:column;font-size:14px;gap:8px;padding:48px 24px}.notif-empty span{font-size:32px}.notif-loading{color:#6b7280;color:var(--color-text-secondary,#6b7280);font-size:14px;padding:24px;text-align:center}