.confettiOverlay{background:#1118272e;inset:0;overflow:hidden;pointer-events:auto;position:fixed;z-index:70}.confettiCanvas{display:block;height:100%;width:100%}.fireworksOverlay{background:transparent;inset:0;overflow:hidden;pointer-events:auto;position:fixed;z-index:80}.fireworksDim{animation:fireworksOverlayFade 30s ease-in-out forwards;background:radial-gradient(circle at 50% 24%,rgba(99,114,243,.16),transparent 24rem),radial-gradient(circle at 18% 80%,rgba(20,184,166,.08),transparent 18rem),#020617c7;inset:0;position:absolute;z-index:0}.fireworksCanvas{height:100%;inset:0;position:absolute;width:100%;z-index:1}.fireworksCloseButton{align-items:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:transparent;border:0;border-radius:0;box-shadow:none;color:#fff;cursor:pointer;display:inline-flex;font-size:36px;font-weight:500;height:48px;justify-content:center;line-height:1;padding:0;pointer-events:auto;position:fixed;right:24px;top:24px;transition:color .16s ease,transform .16s ease;width:48px;z-index:3}.fireworksCloseButton:hover,.fireworksCloseButton:focus-visible{background:transparent;box-shadow:none;color:#dbeafe;outline:none;transform:translateY(-1px)}.fireworksLibraryCanvas canvas{display:block;height:100%!important;width:100%!important}@keyframes fireworksOverlayFade{0%{opacity:0}7%,90%{opacity:1}to{opacity:0}}.storagePdfViewer{align-self:stretch;justify-self:stretch;display:grid;grid-template-rows:minmax(0,1fr) auto;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;background:#eef2f7}.storagePdfViewport{min-width:0;min-height:0;overflow:auto;display:grid;align-content:start;justify-items:center;padding:12px;overscroll-behavior:contain;scrollbar-gutter:stable;touch-action:pan-x pan-y}.storagePdfViewport canvas{display:block;max-width:none;height:auto;background:#fff;box-shadow:0 8px 24px #0f172a24}.storagePdfStatus{align-self:center;justify-self:center;margin:24px}.storagePdfControls{z-index:1;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 12px;min-width:0;padding:8px 12px;border-top:1px solid #dbe3ec;background:#fffffff7;box-shadow:0 -4px 16px #0f172a14}.storagePdfZoom,.storagePdfPager{display:flex;align-items:center;gap:6px}.storagePdfControls button{min-width:38px;min-height:38px;padding:0 10px;border:1px solid #cbd5e1;border-radius:10px;color:#172033;background:#fff;box-shadow:none;font:inherit;font-weight:700;touch-action:manipulation}.storagePdfControls button:hover:not(:disabled),.storagePdfControls button:focus-visible{border-color:#3159dc;color:#274bc5;background:#eef2ff;outline:none}.storagePdfControls button:disabled{opacity:.42}.storagePdfZoom button:nth-child(2){min-width:64px;font-size:.78rem}.storagePdfPager span,.storagePdfPageCount{min-width:58px;color:#334155;font-size:.82rem;font-weight:700;text-align:center;white-space:nowrap}.storagePdfZoomHint{color:#64748b;font-size:.74rem;white-space:nowrap}@media(max-width:720px){.storagePdfViewport{padding:8px;scrollbar-gutter:auto}.storagePdfControls{gap:6px 8px;padding:7px 8px calc(7px + env(safe-area-inset-bottom))}.storagePdfControls button{min-width:36px;min-height:36px;padding-inline:8px}.storagePdfZoom button:nth-child(2){min-width:56px}.storagePdfZoomHint{display:none}}@media(max-width:390px){.storagePdfControls{justify-content:space-between}.storagePdfZoom,.storagePdfPager{gap:4px}.storagePdfControls button{min-width:34px;min-height:34px;padding-inline:6px}}.modalBackdrop.storageModalBackdrop{z-index:180;inset:auto;top:var(--edu-visual-viewport-offset-top, 0px);left:var(--edu-visual-viewport-offset-left, 0px);width:var(--edu-visual-viewport-width, 100dvw);max-width:none;height:var(--edu-visual-viewport-height, 100dvh);padding:16px;overflow:hidden}.teacherStorageDialog{position:relative;width:min(1120px,100%);height:min(760px,calc(var(--edu-visual-viewport-height, 100dvh) - 32px));min-height:min(620px,calc(var(--edu-visual-viewport-height, 100dvh) - 32px));max-height:calc(var(--edu-visual-viewport-height, 100dvh) - 32px);overflow:hidden;display:flex;flex-direction:column;color:#172033;background:#fff;border:1px solid rgba(226,232,240,.94);border-radius:24px;box-shadow:0 32px 90px #0f172a47}.teacherStoragePreview{position:absolute;z-index:20;inset:18px;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid #dbe3ec;border-radius:20px;background:#fff;box-shadow:0 28px 70px #0f172a47}.teacherStoragePreviewCompact{inset:36px auto auto 36px;width:min(760px,calc(100% - 72px));height:min(520px,calc(100% - 96px));min-width:min(360px,calc(100% - 36px));min-height:min(300px,calc(100% - 36px));max-width:calc(100% - 36px);max-height:calc(100% - 36px);transform:none;resize:both}.teacherStoragePreview>header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:14px 16px;border-bottom:1px solid #e2e8f0;background:#fffffff5}.teacherStoragePreview>header>div{display:flex;align-items:center;gap:10px;min-width:0}.teacherStoragePreview>header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacherStoragePreview>header span{color:#64748b;font-size:.82rem}.teacherStoragePreview>header button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:0 12px;border:1px solid #d7e0eb;border-radius:11px;color:#334155;background:#fff;box-shadow:none;transform:none;-webkit-user-select:none;user-select:none}.teacherStoragePreview>header button:not(:last-child){border-color:#3159dc;color:#fff;background:#3159dc}.teacherStoragePreview>header button:last-child{flex:0 0 40px;height:40px;min-height:40px;display:grid;place-items:center;gap:0;width:40px;padding:0;line-height:0}.teacherStoragePreview>header button:last-child svg{display:block;margin:0}.teacherStoragePreview>header button:hover:not(:disabled),.teacherStoragePreview>header button:focus-visible{border-color:#b8c8dc;color:#172033;background:#eef2f7;box-shadow:none;outline:none;transform:none}.teacherStoragePreview>header button:not(:last-child):hover:not(:disabled),.teacherStoragePreview>header button:not(:last-child):focus-visible{border-color:#274bc5;color:#fff;background:#274bc5}.teacherStoragePreview>header button.teacherStoragePreviewSizeButton,.teacherStoragePreview>header button.teacherStoragePreviewSizeButton:hover:not(:disabled),.teacherStoragePreview>header button.teacherStoragePreviewSizeButton:focus-visible{flex:0 0 40px;width:40px;padding:0;border-color:#d7e0eb;color:#334155;background:#fff}.teacherStoragePreview>header button.teacherStoragePreviewSizeButton:hover:not(:disabled),.teacherStoragePreview>header button.teacherStoragePreviewSizeButton:focus-visible{border-color:#b8c8dc;color:#172033;background:#eef2f7}.teacherStoragePreview svg{width:18px;height:18px}.teacherStoragePreviewBody{min-height:0;overflow:auto;display:grid;place-items:center;background:#eef2f7}.teacherStorageDocumentPreviewBody{grid-template-rows:minmax(0,1fr) auto;place-items:stretch;overflow:hidden}.teacherStorageMediaPreviewBody{place-items:center;overflow:hidden;padding:20px;background:#111827}.teacherStorageMediaPreviewBody video{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;background:#000}.teacherStorageMediaPreviewBody audio{width:min(620px,100%)}.teacherStoragePreviewBody img{display:block;max-width:100%;max-height:100%;object-fit:contain}.teacherStorageImagePreviewBody{position:relative;display:block;overflow:hidden;-webkit-user-select:none;user-select:none}.teacherStorageImagePreviewViewport{width:100%;height:100%;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;outline:none}.teacherStorageImagePreviewViewport:focus-visible{box-shadow:inset 0 0 0 3px #3159dc57}.teacherStorageImagePreviewCanvas{min-width:100%;min-height:100%;display:grid;place-items:center}.teacherStorageImagePreviewCanvas img{display:block;min-width:0;min-height:0;max-width:none;max-height:none;object-fit:contain;object-position:center;-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.teacherStorageImageZoomControls{position:absolute;z-index:4;left:50%;bottom:14px;transform:translate(-50%);display:flex;align-items:center;gap:6px;max-width:calc(100% - 24px);padding:6px;border:1px solid rgba(203,213,225,.96);border-radius:13px;color:#334155;background:#fffffff0;box-shadow:0 10px 30px #0f172a33;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.teacherStorageImageZoomControls button{display:grid;place-items:center;flex:0 0 36px;width:36px;min-height:36px;padding:0;border:1px solid #d7e0eb;border-radius:9px;color:#334155;background:#fff;box-shadow:none;transform:none}.teacherStorageImageZoomControls button:hover:not(:disabled),.teacherStorageImageZoomControls button:focus-visible{border-color:#9db2d0;color:#1d4ed8;background:#eef4ff;outline:none;transform:none}.teacherStorageImageZoomControls button:disabled{opacity:.42}.teacherStorageImageZoomControls button.teacherStorageImageZoomValue{flex-basis:64px;width:64px;font-size:.78rem;font-weight:700}.teacherStorageImageZoomControls svg{width:18px;height:18px}.teacherStorageImageZoomControls>span{padding:0 6px 0 3px;white-space:nowrap;color:#64748b;font-size:.72rem}.teacherStoragePreviewBody iframe{width:100%;height:100%;border:0;background:#fff}.teacherStorageSelectionControls{display:flex;flex-wrap:wrap;align-items:end;gap:8px;width:100%;padding:12px;border:1px solid #dbe3ec;border-radius:10px}.teacherStorageSelectionControls label{display:grid;gap:4px;font-size:.78rem}.teacherStorageSelectionControls input{width:76px}.teacherStoragePreviewBody pre{justify-self:stretch;align-self:stretch;margin:0;padding:22px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;color:#0f172a;background:#fff;font:.92rem/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}.teacherStoragePreviewPending{max-width:520px;display:grid;place-items:center;gap:10px;padding:28px;color:#475569;text-align:center}.teacherStoragePreviewPending svg{width:54px;height:54px}.teacherStorageHeader,.teacherStorageBreadcrumbs,.teacherStorageUploads{display:flex;align-items:center;gap:10px;border-bottom:1px solid #e5eaf0}.teacherStorageHeader{flex:0 0 auto;justify-content:space-between;padding:18px 22px 16px;background:#fff}.teacherStorageTitleBlock{min-width:0;display:flex;align-items:center;gap:12px}.teacherStorageTitleIcon,.teacherStorageQuotaIcon{display:grid;place-items:center;flex:0 0 auto;color:#3159dc;background:#edf2ff}.teacherStorageTitleIcon{width:42px;height:42px;border-radius:13px}.teacherStorageTitleIcon svg{width:21px;height:21px}.teacherStorageHeader p,.teacherStorageHeader h2{margin:0}.teacherStorageHeader p{color:#718096;font-size:.72rem;font-weight:650;letter-spacing:.045em;text-transform:uppercase}.teacherStorageHeader h2{margin-top:2px;color:#172033;font-size:1.32rem;line-height:1.2}.teacherStorageDialog .modalCloseButton{width:40px;height:40px;flex:0 0 auto;padding:0;border:1px solid #e2e8f0;border-radius:12px;color:#64748b;background:#f8fafc;box-shadow:none}.teacherStorageDialog .modalCloseButton:hover,.teacherStorageDialog .modalCloseButton:focus-visible{color:#172033;background:#eef2f7;border-color:#cbd5e1;box-shadow:none;transform:none}.teacherStorageToolbar{flex:0 0 auto;display:grid;grid-template-columns:auto;align-items:center;gap:8px;padding:9px 18px;border-bottom:1px solid #e8edf3;background:#fbfcfe}.teacherStorageFileInput{display:none}.teacherStorageToolbarActions{display:flex;align-items:center;gap:8px}.teacherStorageDialog .teacherStorageToolbar button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 11px;border:1px solid #d7e0eb;border-radius:10px;color:#334155;background:#fff;box-shadow:0 1px 2px #0f172a0a;font-size:.79rem;font-weight:650}.teacherStorageDialog .teacherStorageToolbar button:hover:not(:disabled),.teacherStorageDialog .teacherStorageToolbar button:focus-visible{border-color:#b8c8dc;color:#172033;background:#f6f9fc;box-shadow:0 4px 12px #0f172a12;outline:none;transform:none}.teacherStorageDialog .teacherStorageToolbar .teacherStorageUploadButton{border-color:#3159dc;color:#fff;background:#3159dc;box-shadow:0 8px 20px #3159dc38}.teacherStorageDialog .teacherStorageToolbar .teacherStorageUploadButton:hover:not(:disabled),.teacherStorageDialog .teacherStorageToolbar .teacherStorageUploadButton:focus-visible{border-color:#274bc5;color:#fff;background:#274bc5;box-shadow:0 10px 24px #3159dc45}.teacherStorageSearch{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.teacherStorageSearchField{min-width:0;min-height:42px;display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:8px;padding:0 12px;border:1px solid #d7e0eb;border-radius:12px;color:#8290a3;background:#fff;transition:border-color .16s ease,box-shadow .16s ease}.teacherStorageSearchField:focus-within{border-color:#7c9cf0;box-shadow:0 0 0 3px #3159dc1f}.teacherStorageSearchField svg{width:18px;height:18px}.teacherStorageSearchField input{width:100%;min-width:0;height:40px;padding:0;border:0;outline:0;color:#172033;background:transparent}.teacherStorageSearchField input::placeholder{color:#94a3b8}.teacherStorageSearch>button svg{display:none}.teacherStorageUploads{flex:0 0 auto;max-height:150px;padding:6px 18px;overflow:auto;align-items:stretch;flex-direction:column;gap:5px;background:#f6f8fb}.teacherStorageUpload{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 9px;border:1px solid #e1e8f0;border-radius:9px;background:#fff;box-shadow:0 1px 2px #0f172a09}.teacherStorageUploadDetails{min-width:0;display:grid;gap:2px}.teacherStorageUpload strong,.teacherStorageUpload span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacherStorageUpload strong{font-size:.78rem;line-height:1.2}.teacherStorageUploadDetails>span{color:#64748b;font-size:.72rem;line-height:1.2}.teacherStorageUploadIcon svg{width:17px;height:17px}.teacherStorageUpload-queued .teacherStorageUploadIcon{color:#64748b}.teacherStorageUpload-preparing .teacherStorageUploadIcon,.teacherStorageUpload-uploading .teacherStorageUploadIcon,.teacherStorageUpload-processing .teacherStorageUploadIcon,.teacherStorageUpload-previewing .teacherStorageUploadIcon{color:#2563eb}.teacherStorageUpload-preparing .teacherStorageUploadIcon svg,.teacherStorageUpload-uploading .teacherStorageUploadIcon svg,.teacherStorageUpload-processing .teacherStorageUploadIcon svg,.teacherStorageUpload-previewing .teacherStorageUploadIcon svg{animation:teacherStorageSpin 1s linear infinite}.teacherStorageUpload-done .teacherStorageUploadIcon{color:#16a34a}.teacherStorageUpload-error .teacherStorageUploadIcon,.teacherStorageUpload-cancelled .teacherStorageUploadIcon{color:#dc2626}.teacherStorageUploadProgress{width:100%;height:3px;overflow:hidden;border-radius:999px;background:#dbe3ec}.teacherStorageUploadProgress span{display:block;height:100%;background:#2563eb;transition:width .16s ease-out}.teacherStorageUploadActions{display:flex;align-items:center;justify-content:flex-end;gap:5px}.teacherStorageUploadActions button{min-height:30px;padding:0 8px;border-radius:8px;box-shadow:none;font-size:.7rem;transform:none}.teacherStorageUploadActions .teacherStorageUploadDismiss{width:30px;padding:0;color:#64748b;background:transparent;border-color:transparent}.teacherStorageUploadDismiss svg{width:15px;height:15px}@keyframes teacherStorageSpin{to{transform:rotate(360deg)}}.teacherStorageToolbar button,.teacherStorageBreadcrumbs button,.teacherStorageItem{display:inline-flex;align-items:center;gap:8px}.teacherStorageToolbar svg,.teacherStorageItem svg{width:18px;height:18px}.teacherStorageBreadcrumbs{flex:0 0 auto;min-height:30px;padding:3px 18px;overflow-x:auto;background:#fff;scrollbar-width:none}.teacherStorageDialog .teacherStorageBreadcrumbs button{border:0;border-radius:0;background:transparent;box-shadow:none;padding:4px 0;color:#64748b;cursor:pointer;font-size:.78rem;font-weight:600;outline:none;transform:none;white-space:nowrap}.teacherStorageDialog .teacherStorageBreadcrumbs button:hover:not(:disabled),.teacherStorageDialog .teacherStorageBreadcrumbs button:focus-visible{border:0;color:#3159dc;background:transparent;box-shadow:none;outline:none;transform:none}.teacherStorageDialog .teacherStorageBreadcrumbs button[aria-current=page]{color:#172033}.teacherStorageDialog .teacherStorageBreadcrumbs button[aria-current=page]:hover,.teacherStorageDialog .teacherStorageBreadcrumbs button[aria-current=page]:focus-visible{color:#3159dc}.teacherStorageBreadcrumbs button+button:before{content:"/";margin-right:8px;color:#94a3b8}.teacherStorageBody{flex:1;min-height:0;display:grid;grid-template-columns:236px minmax(0,1fr);overflow:hidden;background:#fff}.teacherStorageSidebar{min-width:0;display:flex;flex-direction:column;align-self:stretch;gap:14px;padding:20px 18px;border-right:1px solid #e8edf3;background:#f7f9fc}.teacherStorageSidebarTrashButton{min-height:38px;width:100%;margin-top:auto;display:inline-flex;align-items:center;justify-content:flex-start;gap:9px;padding:0 11px;border:1px solid #d7e0eb;border-radius:11px;color:#475569;background:#fff;box-shadow:none;font-size:.8rem;font-weight:650}.teacherStorageSidebar .teacherStorageSidebarTrashButton span{color:inherit}.teacherStorageSidebarTrashButton svg{width:17px;height:17px}.teacherStorageSidebarTrashButton:hover:not(:disabled),.teacherStorageSidebarTrashButton:focus-visible{border-color:#b8c8dc;color:#172033;background:#eef3f8;box-shadow:none;outline:none;transform:none}.teacherStorageSidebar span,.teacherStorageSidebar small{color:#64748b}.teacherStorageQuotaHeading{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px}.teacherStorageQuotaHeading>div{min-width:0;display:grid;gap:2px}.teacherStorageQuotaHeading strong{color:#253047;font-size:.86rem}.teacherStorageQuotaHeading span:not(.teacherStorageQuotaIcon){overflow:hidden;font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}.teacherStorageQuotaIcon{width:38px;height:38px;border-radius:12px}.teacherStorageQuotaIcon svg{width:18px;height:18px}.teacherStorageQuotaTrack{height:6px;overflow:hidden;border-radius:999px;background:#dfe7f0}.teacherStorageQuotaTrack span{display:block;height:100%;min-width:2px;border-radius:inherit;background:linear-gradient(90deg,#4d73ea,#3159dc)}.teacherStorageQuotaMeta{display:grid;gap:4px}.teacherStorageQuotaMeta small{font-size:.72rem;line-height:1.35}.teacherStorageContent{position:relative;height:100%;min-height:0;overflow:auto;padding:22px;-webkit-user-select:none;user-select:none;overscroll-behavior:contain;scrollbar-gutter:stable}.teacherStorageContentShell{position:relative;min-width:0;min-height:0;overflow:hidden}.teacherStorageDropOverlay{position:absolute;z-index:40;inset:12px;display:grid;place-items:center;pointer-events:none;border:3px dashed #3159dc;border-radius:18px;color:#1e3a8a;background:#eff6ffd6;box-shadow:inset 0 0 0 1px #ffffffb8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.teacherStorageDropOverlay>div{max-width:min(440px,calc(100% - 32px));display:grid;place-items:center;gap:8px;text-align:center}.teacherStorageDropOverlay svg{width:48px;height:48px;padding:10px;border-radius:14px;color:#fff;background:#3159dc;box-shadow:0 10px 24px #3159dc3d}.teacherStorageDropOverlay strong{font-size:1.05rem}.teacherStorageDropOverlay span{color:#475569;font-size:.82rem}.teacherStorageStatus{margin:0 0 14px;padding:10px 12px;border:1px solid #dbe5f0;border-radius:11px;color:#475569;background:#f7f9fc;font-size:.82rem}.teacherStorageGrid{display:grid;align-content:start;grid-template-columns:repeat(auto-fill,minmax(104px,128px));gap:14px 10px}.teacherStorageItemCard{position:relative;display:block;min-width:0;border:0;border-radius:8px;background:transparent;overflow:visible}.teacherStorageItem{width:100%;min-height:122px;flex-direction:column;justify-content:flex-start;gap:6px;padding:8px 6px;overflow-wrap:anywhere;background:transparent;border:1px solid transparent;border-radius:8px;box-shadow:none;color:#1f2937;touch-action:manipulation}.teacherStorageItem:hover,.teacherStorageItem:focus-visible,.teacherStorageItemCardSelected .teacherStorageItem{background:#eaf3ff;border-color:#9fc5ef;box-shadow:inset 0 0 0 1px #ffffffb8;outline:none;transform:none}.teacherStorageItemCardCut .teacherStorageItem{opacity:.52}.teacherStorageSelectionBox{position:absolute;z-index:8;pointer-events:none;border:1px solid #4c83e6;border-radius:3px;background:#4a84e626;box-shadow:inset 0 0 0 1px #fff6}.teacherStorageItemVisual{align-items:center;display:grid;flex:0 0 64px;height:64px;justify-items:center;width:76px}.teacherStorageItemThumbnail{border-radius:4px;display:block;filter:drop-shadow(0 3px 5px rgba(15,23,42,.18));height:62px;max-width:76px;object-fit:contain;width:76px}.teacherStorageVideoFilm{position:relative;width:76px;height:62px;overflow:hidden;display:grid;place-items:center;padding-inline:9px;border-radius:4px;background:#111827;filter:drop-shadow(0 3px 5px rgba(15,23,42,.22))}.teacherStorageVideoFilm:before,.teacherStorageVideoFilm:after{content:"";position:absolute;z-index:3;inset-block:0;width:8px;background:repeating-linear-gradient(to bottom,#111827 0 3px,#f8fafc 3px 8px,#111827 8px 12px);box-shadow:0 0 0 1px #0f172ae6}.teacherStorageVideoFilm:before{left:0}.teacherStorageVideoFilm:after{right:0}.teacherStorageVideoFallback{width:30px!important;height:30px!important;color:#e2e8f0!important}.teacherStorageVideoFrame{position:absolute;z-index:2;inset:0 9px;width:calc(100% - 18px);height:100%;object-fit:cover;opacity:0;transition:opacity .12s ease-out}.teacherStorageVideoFrameReady{opacity:1}.teacherStorageAudioIcon{display:grid;place-items:center;width:62px;height:62px;border:1px solid #a5b4fc;border-radius:16px;color:#fff;background:linear-gradient(145deg,#6366f1,#7c3aed);box-shadow:0 5px 12px #4f46e53d}.teacherStorageAudioIcon svg{width:36px;height:36px;stroke-width:2.2}.teacherStorageItemVisual svg{height:54px;width:54px}.teacherStorageItemVisual-folder svg{color:#e5a11a;fill:#f8c44f;stroke:#bd7710}.teacherStorageItemVisual-file svg{color:#64748b}.teacherStorageItemName{display:-webkit-box;font-size:.78rem;font-weight:500;line-height:1.25;max-width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2}.teacherStorageItem small{color:#b45309;font-size:.68rem;line-height:1.15;text-align:center}.teacherStorageContextMenu{background:#fffffffa;border:1px solid #dbe3ec;border-radius:14px;box-shadow:0 18px 50px #0f172a33;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:grid;gap:3px;min-width:216px;padding:6px;position:fixed;z-index:260}.teacherStorageContextMenu button,.teacherStorageContextMenu a{align-items:center;background:transparent;border:0;border-radius:9px;box-shadow:none;color:#1f2937;display:flex;font:inherit;font-size:.84rem;gap:9px;justify-content:flex-start;min-height:40px;padding:8px 11px;text-align:left;text-decoration:none;width:100%}.teacherStorageContextMenu button:hover,.teacherStorageContextMenu button:focus-visible,.teacherStorageContextMenu a:hover,.teacherStorageContextMenu a:focus-visible{background:#eaf3ff;color:#1d4f91;outline:none;transform:none}.teacherStorageContextMenu button:disabled{color:#9aa7b7;background:transparent;cursor:not-allowed}.teacherStorageContextMenuSeparator{height:1px;margin:3px 6px;background:#e5eaf0}.teacherStorageContextMenu svg{flex:0 0 auto;height:16px;width:16px}.teacherStorageContextMenu .teacherStorageContextMenuDanger{color:#b42318}.teacherStorageContextMenu .teacherStorageContextMenuDanger:hover,.teacherStorageContextMenu .teacherStorageContextMenuDanger:focus-visible{background:#fef3f2;color:#b42318}.teacherStorageActionDialogBackdrop{position:fixed;z-index:280;inset:auto;top:var(--edu-visual-viewport-offset-top, 0px);left:var(--edu-visual-viewport-offset-left, 0px);width:var(--edu-visual-viewport-width, 100dvw);height:var(--edu-visual-viewport-height, 100dvh);display:grid;place-items:center;padding:16px;overflow-y:auto;overscroll-behavior:contain;background:#0f172a7a;-webkit-backdrop-filter:blur(10px) saturate(.9);backdrop-filter:blur(10px) saturate(.9)}.teacherStorageActionDialog{width:min(470px,100%);max-height:calc(var(--edu-visual-viewport-height, 100dvh) - 32px);display:grid;gap:22px;margin:0;padding:24px;overflow-y:auto;border:1px solid rgba(226,232,240,.96);border-radius:22px;background:#fff;box-shadow:0 28px 90px #0f172a57}.teacherStorageActionDialog>header{display:grid;grid-template-columns:46px minmax(0,1fr);align-items:start;gap:14px}.teacherStorageActionDialog h3,.teacherStorageActionDialog p{margin:0}.teacherStorageActionDialog h3{color:#172033;font-size:1.16rem;line-height:1.35;overflow-wrap:anywhere}.teacherStorageActionDialog header p{margin-top:5px;color:#64748b;font-size:.88rem;line-height:1.45}.teacherStorageActionDialogIcon{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;color:#3159dc;background:#edf2ff}.teacherStorageActionDialogIcon svg{width:20px;height:20px}.teacherStorageActionDialogIconDanger{color:#b42318;background:#fff0ee}.teacherStorageActionDialog>label{display:grid;gap:8px;color:#475569;font-size:.82rem;font-weight:600}.teacherStorageActionDialog>label input{width:100%;min-width:0;height:46px;padding:0 13px;border:1px solid #ccd7e4;border-radius:12px;color:#172033;background:#fff;outline:none;transition:border-color .16s ease,box-shadow .16s ease}.teacherStorageActionDialog>label input:focus{border-color:#6f91eb;box-shadow:0 0 0 3px #3159dc21}.teacherStorageActionDialogError{padding:10px 12px;border:1px solid #fecdca;border-radius:9px;color:#b42318;background:#fef3f2;font-size:.84rem}.teacherStorageActionDialog>footer{display:flex;justify-content:flex-end;gap:10px}.teacherStorageActionDialog>footer button{min-width:110px;min-height:44px;border-radius:12px;box-shadow:none;transform:none}.teacherStorageActionDialog>footer button:not(.primary):not(.teacherStorageDeleteButton){border:1px solid #d7e0eb;color:#334155;background:#f7f9fc;box-shadow:none}.teacherStorageActionDialog>footer button:not(.primary):not(.teacherStorageDeleteButton):hover:not(:disabled),.teacherStorageActionDialog>footer button:not(.primary):not(.teacherStorageDeleteButton):focus-visible{border-color:#b8c8dc;color:#172033;background:#eef2f7;box-shadow:none}body .teacherStorageActionDialog>footer .primary{border:1px solid #3159dc;color:#fff;background:#3159dc;box-shadow:0 8px 18px #3159dc33}body .teacherStorageActionDialog>footer .primary:hover:not(:disabled),body .teacherStorageActionDialog>footer .primary:focus-visible{border-color:#274bc5;color:#fff;background:#274bc5;box-shadow:0 10px 22px #3159dc3d}.teacherStorageActionDialog .teacherStorageDeleteButton{border:1px solid #b42318;color:#fff;background:#b42318;box-shadow:0 8px 18px #b423182e!important}.teacherStorageActionDialog .teacherStorageDeleteButton:hover:not(:disabled),.teacherStorageActionDialog .teacherStorageDeleteButton:focus-visible:not(:disabled){border-color:#912018;color:#fff;background:#912018}.teacherStoragePropertiesDialog{width:min(440px,100%);gap:18px}.teacherStoragePropertiesDialog header p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacherStoragePropertiesLoading{display:flex;align-items:center;gap:9px;color:#64748b;font-size:.86rem}.teacherStoragePropertiesLoading svg{width:18px;height:18px;color:#3159dc;animation:teacherStorageSpin 1s linear infinite}.teacherStoragePropertiesList{display:grid;gap:0;margin:0;border:1px solid #e2e8f0;border-radius:13px;overflow:hidden}.teacherStoragePropertiesList>div{min-width:0;display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;padding:10px 12px;border-bottom:1px solid #edf1f5;font-size:.82rem}.teacherStoragePropertiesList>div:last-child{border-bottom:0}.teacherStoragePropertiesList dt{color:#64748b}.teacherStoragePropertiesList dd{min-width:0;margin:0;color:#172033;overflow-wrap:anywhere}.teacherStorageLoadMore{display:block;margin:18px auto 0}.teacherStorageEmpty{min-height:300px;display:grid;place-items:center;align-content:center;gap:8px;color:#64748b;text-align:center}.teacherStorageEmpty svg{width:52px;height:52px;color:#cbd5e1}@media(max-width:900px){.teacherStorageToolbar{grid-template-columns:1fr;gap:10px}.teacherStorageToolbarActions{justify-content:flex-start}}@media(max-width:720px){.modalBackdrop.storageModalBackdrop{align-items:stretch;justify-content:stretch;height:var(--edu-visual-viewport-height, 100dvh);padding:0;-webkit-backdrop-filter:blur(8px) saturate(.9);backdrop-filter:blur(8px) saturate(.9)}.teacherStorageDialog{width:100%;height:var(--edu-visual-viewport-height, 100dvh);min-height:0;max-height:var(--edu-visual-viewport-height, 100dvh);border:0;border-radius:0;box-shadow:none}.teacherStorageHeader{padding:calc(12px + env(safe-area-inset-top)) 16px 12px}.teacherStorageTitleBlock{gap:10px}.teacherStorageTitleIcon{width:38px;height:38px;border-radius:12px}.teacherStorageHeader p{font-size:.62rem}.teacherStorageHeader h2{font-size:1.1rem}.teacherStorageDialog .modalCloseButton{width:38px;height:38px}.teacherStorageToolbar{gap:8px;padding:8px 12px}.teacherStorageToolbarActions{display:flex;gap:7px}.teacherStorageDialog .teacherStorageToolbar button{min-width:0;min-height:38px;padding:0 10px}.teacherStorageSecondaryAction{width:auto;padding:0 10px!important}.teacherStorageSecondaryAction span{display:inline}.teacherStorageBreadcrumbs{min-height:30px;padding:3px 12px}.teacherStorageUploads{max-height:130px;padding:6px 12px}.teacherStorageBody{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.teacherStorageSidebar{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,.85fr);align-items:center;gap:8px 14px;padding:11px 16px;border-right:0;border-bottom:1px solid #e8edf3}.teacherStorageQuotaHeading{grid-row:1 / span 2}.teacherStorageQuotaTrack{grid-column:2}.teacherStorageQuotaMeta{grid-column:2;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:2px 8px;text-align:right}.teacherStorageSidebarTrashButton{grid-column:1 / -1;width:max-content;min-height:34px;margin-top:2px;padding-inline:10px}.teacherStorageQuotaMeta small{font-size:.66rem}.teacherStorageContent{padding:16px;scrollbar-gutter:auto}.teacherStoragePreview{inset:0;width:100%;height:100%;border:0;border-radius:0;box-shadow:none}.teacherStoragePreviewCompact{inset:50% auto auto 50%;width:min(92%,680px);height:min(68%,520px);min-width:280px;min-height:300px;border:1px solid #dbe3ec;border-radius:18px;box-shadow:0 24px 64px #0f172a4d;transform:translate(-50%,-50%);resize:none}.teacherStoragePreview>header{padding:calc(12px + env(safe-area-inset-top)) 14px 12px}.teacherStoragePreview>header span{display:none}.teacherStorageImageZoomControls{bottom:calc(10px + env(safe-area-inset-bottom))}.teacherStorageImageZoomControls>span{display:none}.teacherStorageSelectionControls{border-radius:14px}.teacherStorageContextMenu{right:12px;bottom:calc(12px + env(safe-area-inset-bottom));left:12px!important;top:auto!important;width:auto;min-width:0;max-height:calc(var(--edu-visual-viewport-height, 100dvh) - 24px - env(safe-area-inset-bottom));overflow-y:auto;padding:8px;border-radius:18px;box-shadow:0 20px 60px #0f172a47}.teacherStorageContextMenu button,.teacherStorageContextMenu a{min-height:48px;padding:10px 12px;border-radius:11px;font-size:.92rem}.teacherStorageActionDialogBackdrop{place-items:end center;height:var(--edu-visual-viewport-height, 100dvh);padding:12px 0 0;overflow:hidden}.teacherStorageActionDialog{width:100%;max-height:calc(var(--edu-visual-viewport-height, 100dvh) - 12px);gap:18px;padding:20px 18px calc(18px + env(safe-area-inset-bottom));border-right:0;border-bottom:0;border-left:0;border-radius:24px 24px 0 0;box-shadow:0 -18px 60px #0f172a3d;animation:teacherStorageSheetIn .18s ease-out}.teacherStorageActionDialog>footer{position:sticky;bottom:0;padding-top:2px;background:#fff}.teacherStorageActionDialog>footer button{flex:1 1 0;min-width:0}}@media(max-width:420px){.teacherStorageToolbarActions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.teacherStorageDialog .teacherStorageToolbar button{padding-inline:8px;font-size:.74rem}.teacherStorageSidebar{grid-template-columns:minmax(0,1fr) minmax(92px,.72fr);gap:7px 10px}.teacherStorageQuotaIcon{display:none}.teacherStorageQuotaHeading{grid-template-columns:1fr}.teacherStorageActionDialog>header{grid-template-columns:42px minmax(0,1fr);gap:11px}.teacherStorageActionDialogIcon{width:42px;height:42px}}@media(max-height:640px)and (min-width:721px){.teacherStorageDialog{height:calc(var(--edu-visual-viewport-height, 100dvh) - 16px);min-height:0;max-height:calc(var(--edu-visual-viewport-height, 100dvh) - 16px)}.teacherStorageHeader{padding-block:12px}.teacherStorageToolbar{padding-block:10px}}@keyframes teacherStorageSheetIn{0%{transform:translateY(18px);opacity:.75}to{transform:translateY(0);opacity:1}}.roomMaterialLayer{position:absolute;inset:0;z-index:16;display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:0;overflow:hidden;background:#eef2f7}.roomMaterialLayerCompact{inset:16px auto auto 16px;width:min(760px,calc(100% - 32px));height:min(540px,calc(100% - 32px));max-width:calc(100% - 32px);max-height:calc(100% - 32px);border:1px solid #cbd5e1;border-radius:12px;box-shadow:0 24px 64px #0f172a3d}.roomMaterialLayerTeacher:not(.roomMaterialLayerCompact){bottom:76px;border-bottom:1px solid #cbd5e1}.roomMaterialAudioLayer.roomMaterialLayerCompact{width:min(720px,calc(100% - 32px));height:66px;min-height:66px;max-height:66px;grid-template-rows:1fr;background:#fff}.roomMaterialAudioLayer>header{min-width:0;border-bottom:0}.roomMaterialAudioLayer .roomMaterialTitle{flex:0 1 150px}.roomMaterialAudioStatus{flex:0 1 auto;overflow:hidden;color:#b45309;font-size:.68rem;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.roomMaterialAudioStatusError{color:#b91c1c}.roomMaterialAudioLayer .roomMaterialViewport,.roomMaterialAudioLayer>a{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.roomMaterialLayer>header{display:flex;align-items:center;gap:8px;min-height:40px;padding:5px 7px 5px 10px;background:#fff;border-bottom:1px solid #dbe3ec}.roomMaterialTitle{min-width:0;display:flex;align-items:baseline;gap:8px;overflow:hidden}.roomMaterialTitle span{flex:0 0 auto;color:#64748b;font-size:.72rem}.roomMaterialTitle strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;line-height:1.2}.roomMaterialDragHandle{cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none}.roomMaterialLayer-move>header,.roomMaterialLayer-move>header:active{cursor:pointer}.roomMaterialLayer-move,.roomMaterialLayer-resize{-webkit-user-select:none;user-select:none}.roomMaterialHeaderActions{flex:0 0 auto;display:flex;align-items:center;gap:5px;margin-left:auto}.roomMaterialHeaderActions button{display:inline-grid;place-items:center;width:30px;min-width:30px;min-height:30px;padding:0;border:1px solid #d7e0eb;border-radius:7px;color:#334155;background:#fff;box-shadow:none}.roomMaterialHeaderActions button:hover,.roomMaterialHeaderActions button:focus-visible{border-color:#b8c8dc;color:#172033;background:#eef2f7;outline:none}.roomMaterialHeaderActions button.roomMaterialCloseButton:hover,.roomMaterialHeaderActions button.roomMaterialCloseButton:focus-visible{border-color:#fca5a5;color:#b91c1c;background:#fef2f2}.roomMaterialHeaderActions svg{width:16px;height:16px;pointer-events:none}.roomMaterialViewport{min-height:0;overflow:auto;padding:14px}.roomMaterialSelection,.roomMaterialPdfViewport{overflow:hidden}.roomMaterialPdfViewport .roomMaterialContent{height:100%;min-height:0}.roomMaterialContent{min-width:0;min-height:100%}.roomMaterialContent img{display:block;max-width:100%;margin:auto}.roomMaterialContent pre{min-height:100%;margin:0;padding:18px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;color:#172033}.roomMaterialMediaViewport{position:relative;display:grid;place-items:center;overflow:hidden;padding:0;background:#05070a}.roomMaterialMediaViewport .roomMaterialContent{position:relative;width:100%;height:100%;min-height:0;display:grid;place-items:center}.roomMaterialMediaViewport video{display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:contain;background:#000}.roomMaterialMediaViewport audio{width:1px;height:1px;opacity:0}.roomMaterialMediaControls{min-width:0;display:flex;align-items:center;gap:7px;padding:6px 9px;color:#334155;background:#fff;border-top:1px solid #dbe3ec}.roomMaterialAudioLayer .roomMaterialMediaControls{flex:1 1 auto;padding:0;border-top:0}.roomMaterialMediaControls button{flex:0 0 30px;width:30px;min-width:30px;min-height:30px;display:inline-grid;place-items:center;padding:0;border:1px solid #d7e0eb;border-radius:7px;color:#334155;background:#fff;box-shadow:none}.roomMaterialMediaControls button:hover:not(:disabled),.roomMaterialMediaControls button:focus-visible{border-color:#b8c8dc;color:#172033;background:#eef2f7;outline:none}.roomMaterialMediaControls button:disabled{cursor:default;opacity:.58}.roomMaterialMediaControls button[data-needs-gesture=true]{border-color:#f59e0b;color:#92400e;background:#fffbeb}.roomMaterialMediaControls svg{width:16px;height:16px;pointer-events:none}.roomMaterialMediaTime{flex:0 0 auto;min-width:34px;color:#64748b;font-size:.7rem;font-variant-numeric:tabular-nums;text-align:center}.roomMaterialMediaTimeline{flex:1 1 120px;min-width:50px;height:20px;margin:0;padding:0;accent-color:#3159dc}.roomMaterialMediaTimeline:disabled{opacity:.7}.roomMaterialMediaVolume{flex:0 1 68px;min-width:38px;max-width:68px;height:20px;margin:0;padding:0;accent-color:#3159dc}.roomMaterialMediaBlocked{position:absolute;z-index:2;display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:8px 14px;border:1px solid rgb(255 255 255 / 28%);border-radius:11px;color:#fff;background:#0f172ae0;box-shadow:0 12px 32px #0000004d}.roomMaterialMediaBlocked svg{width:18px;height:18px}.roomMaterialMediaError{position:absolute;z-index:3;max-width:520px;margin:16px;padding:12px 14px;border-radius:10px;color:#991b1b;background:#fef2f2;text-align:center}.roomMaterialLayer>a{justify-self:end;margin:5px 10px;font-size:.78rem}.roomMaterialLayer .storagePdfControls{gap:5px 8px;min-height:40px;padding:4px 8px}.roomMaterialLayer .storagePdfControls button{min-width:30px;min-height:30px;padding-inline:7px;border-radius:8px;font-size:.82rem}.roomMaterialLayer .storagePdfZoom button:nth-child(2){min-width:52px;font-size:.72rem}.roomMaterialLayer .storagePdfPager span,.roomMaterialLayer .storagePdfPageCount{min-width:48px;font-size:.75rem}.roomMaterialLayer .storagePdfZoomHint{display:none}.roomMaterialResizeHandle{position:absolute;z-index:5;touch-action:none}.roomMaterialResizeHandle-n,.roomMaterialResizeHandle-s{left:14px;right:14px;height:10px;cursor:ns-resize}.roomMaterialResizeHandle-n{top:-5px}.roomMaterialResizeHandle-s{bottom:-5px}.roomMaterialResizeHandle-e,.roomMaterialResizeHandle-w{top:14px;bottom:14px;width:10px;cursor:ew-resize}.roomMaterialResizeHandle-e{right:-5px}.roomMaterialResizeHandle-w{left:-5px}.roomMaterialResizeHandle-ne,.roomMaterialResizeHandle-se,.roomMaterialResizeHandle-sw,.roomMaterialResizeHandle-nw{width:18px;height:18px}.roomMaterialResizeHandle-ne,.roomMaterialResizeHandle-sw{cursor:nesw-resize}.roomMaterialResizeHandle-se,.roomMaterialResizeHandle-nw{cursor:nwse-resize}.roomMaterialResizeHandle-ne{top:-5px;right:-5px}.roomMaterialResizeHandle-se{right:-5px;bottom:-5px}.roomMaterialResizeHandle-sw{bottom:-5px;left:-5px}.roomMaterialResizeHandle-nw{top:-5px;left:-5px}.roomMaterialResizeHandle-ne:after,.roomMaterialResizeHandle-se:after,.roomMaterialResizeHandle-sw:after,.roomMaterialResizeHandle-nw:after{position:absolute;width:7px;height:7px;content:"";opacity:.7}.roomMaterialResizeHandle-ne:after{top:5px;right:5px;border-top:2px solid #64748b;border-right:2px solid #64748b}.roomMaterialResizeHandle-se:after{right:5px;bottom:5px;border-right:2px solid #64748b;border-bottom:2px solid #64748b}.roomMaterialResizeHandle-sw:after{bottom:5px;left:5px;border-bottom:2px solid #64748b;border-left:2px solid #64748b}.roomMaterialResizeHandle-nw:after{top:5px;left:5px;border-top:2px solid #64748b;border-left:2px solid #64748b}@media(max-width:720px){.roomMaterialLayer>header{gap:6px;min-height:38px;padding:4px 6px 4px 9px}.roomMaterialTitle span{display:none}.roomMaterialHeaderActions{gap:6px}.roomMaterialHeaderActions button{width:30px;min-width:30px;min-height:30px}.roomMaterialLayerCompact{inset:50% auto auto 50%!important;width:94%!important;height:68%!important;min-width:280px;min-height:300px;transform:translate(-50%,-50%)}.roomMaterialAudioLayer.roomMaterialLayerCompact{inset:auto 3% calc(82px + env(safe-area-inset-bottom)) 3%!important;top:auto!important;left:auto!important;width:94%!important;height:auto!important;min-width:0;min-height:62px;max-height:none;transform:none}.roomMaterialAudioLayer>header{min-height:62px}.roomMaterialAudioLayer .roomMaterialTitle{display:none}.roomMaterialAudioStatus{max-width:88px}.roomMaterialMediaControls{gap:5px;padding:5px 6px calc(5px + env(safe-area-inset-bottom))}.roomMaterialAudioLayer .roomMaterialMediaControls{padding:0}.roomMaterialMediaVolume{display:none}.roomMaterialLayerCompact>header{cursor:default;touch-action:auto}.roomMaterialResizeHandle{display:none}.roomMaterialViewport{padding:8px}.roomMaterialLayer .storagePdfControls{min-height:38px;padding:4px 6px calc(4px + env(safe-area-inset-bottom))}}.lessonWorkspace{width:min(1480px,calc(100% - 32px));margin:34px auto 70px;color:var(--ink, #1f2937)}.lessonWorkspaceHeader,.lessonTemplateHero,.lessonStudentHero,.lessonPanelHeading,.lessonInlineActions,.lessonAssignmentForm,.lessonGroupCreate{display:flex;align-items:center;justify-content:space-between;gap:16px}.lessonWorkspaceHeader h2,.lessonPanel h3,.lessonTemplateHero h3,.lessonStudentHero h3{margin:0}.lessonWorkspaceHeader>div:first-child>p:last-child,.lessonPanelHeading p,.lessonTemplateHero p,.lessonStudentHero p,.lessonBoardsMaterials p{margin:5px 0 0;color:#64748b}.lessonWorkspaceTabs{display:inline-flex;padding:5px;border:1px solid #dbe4ee;border-radius:14px;background:#fff}.lessonWorkspaceTabs button,.lessonInlineActions button,.lessonPanel button,.lessonSidebar button{display:inline-flex;align-items:center;justify-content:center;gap:7px}.lessonWorkspaceTabs button{border:0;background:transparent}.lessonWorkspaceTabs button.active{color:#fff;background:#315c9e}.lessonWorkspace svg{width:18px;height:18px}.lessonWorkspaceStatus{margin:15px 0;padding:11px 14px;border:1px solid #cfe1f5;border-radius:12px;background:#f3f8fe}.lessonWorkspaceGrid{display:grid;grid-template-columns:285px minmax(0,1fr);gap:20px;align-items:start}.lessonSidebar,.lessonPanel,.lessonProgressGrid>div{border:1px solid #dbe4ee;border-radius:18px;background:#fff;box-shadow:0 12px 28px #2f486b12}.lessonSidebar{position:sticky;top:18px;overflow:hidden}.lessonSidebar form{display:grid;gap:9px;padding:16px;border-bottom:1px solid #e6edf5}.lessonSidebar form label,.lessonSidebar form strong{display:grid;gap:6px}.lessonSidebarList{display:grid;max-height:600px;overflow:auto;padding:8px}.lessonSidebarList>button{display:grid;justify-items:start;gap:3px;padding:11px 12px;border:0;border-radius:11px;background:transparent;text-align:left}.lessonSidebarList>button.active{color:#173b71;background:#eaf2fd}.lessonSidebarList span,.lessonHistoryList small{color:#718096;font-size:12px}.lessonCheckbox{display:flex;gap:8px;padding:10px 16px 4px;font-size:13px}.lessonMain{display:grid;gap:16px}.lessonPanel{padding:20px}.lessonTemplateHero,.lessonStudentHero{background:linear-gradient(135deg,#fff 20%,#edf5ff)}.lessonStatusBadge{display:inline-flex;width:fit-content;padding:4px 9px;border-radius:999px;color:#315c9e;background:#e6effc;font-size:12px;font-weight:700}.lessonStatusBadge.status-archived,.lessonStatusBadge.status-cancelled{color:#64748b;background:#eef1f4}.lessonStatusBadge.status-completed,.lessonStatusBadge.status-active{color:#1f7555;background:#e3f6ed}.lessonVersionList{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.lessonVersionList span{padding:4px 7px;border-radius:7px;color:#526174;background:#ffffffb8;font-size:11px}.lessonFormGrid{display:grid;grid-template-columns:1fr 1fr 180px;gap:12px;margin-top:16px}.lessonFormGrid label,.lessonStepEditor,.lessonAssignmentForm{min-width:0}.lessonFormGrid label{display:grid;gap:6px;color:#526174;font-size:13px}.lessonFormGrid .wide{grid-column:1 / -1}.lessonFormGrid textarea,.lessonObjectivesInput{min-height:88px;resize:vertical}.lessonObjectivesInput{width:100%;margin-top:14px}.lessonStepList{display:grid;gap:8px;margin:15px 0}.lessonStepEditor{display:grid;grid-template-columns:32px minmax(160px,1fr) 145px 90px 120px 38px;gap:8px;align-items:center}.lessonStepEditor>span{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;color:#315c9e;background:#eaf2fd;font-weight:700}.lessonWorkspace .iconButton{min-width:36px;padding:8px}.lessonBoardsMaterials{display:grid;grid-template-columns:1fr 1fr;gap:24px}.lessonMaterialList{display:grid;gap:7px;margin:12px 0}.lessonMaterialList>div{display:flex;align-items:center;gap:10px;padding:9px;border-radius:10px;background:#f6f8fb}.lessonMaterialList span{display:grid;flex:1}.lessonMaterialList small{color:#718096}.lessonAssignmentForm{display:grid;grid-template-columns:170px minmax(170px,1fr) 160px minmax(180px,1fr) auto;margin-top:15px}.lessonTwoColumns{display:grid;grid-template-columns:1fr 1fr;gap:7px}.lessonProgressGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.lessonProgressGrid>div{display:grid;gap:2px;padding:15px}.lessonProgressGrid strong{color:#315c9e;font-size:25px}.lessonProgressGrid span{color:#64748b;font-size:13px}.lessonHistoryList{display:grid;gap:10px;margin-top:14px}.lessonHistoryList article,.lessonHistoryList details{padding:13px 14px;border:1px solid #e1e8f0;border-radius:12px}.lessonHistoryList article>div,.lessonHistoryList summary{display:flex;align-items:center;justify-content:space-between;gap:10px}.lessonHistoryList summary{cursor:pointer}.lessonHistoryList summary span{display:grid}.lessonHistoryDetail{padding-top:10px}.lessonPrivateNote{padding:9px;border-left:3px solid #9b6bc3;background:#f8f3fc}.lessonBoardSummary{display:flex;flex-wrap:wrap;gap:6px}.lessonBoardSummary span,.lessonBoardSummary button{padding:5px 8px;border:0;border-radius:8px;color:#315c9e;background:#f1f5f9;font-size:12px}.lessonBoardPreviewBackdrop,.lessonResultCorrectionBackdrop{overflow:auto;padding:20px}.lessonBoardPreviewDialog{width:min(1000px,100%)}.lessonBoardPreview{position:relative;overflow:hidden;width:100%;aspect-ratio:16 / 9;border:1px solid #dbe4ee;border-radius:12px;background:#fff}.lessonBoardPreview.pattern-grid{background-image:linear-gradient(#dce5ef 1px,transparent 1px),linear-gradient(90deg,#dce5ef 1px,transparent 1px);background-size:24px 24px}.lessonBoardPreview.pattern-lines{background-image:repeating-linear-gradient(to bottom,transparent 0 25px,#dce5ef 26px)}.lessonBoardPreview canvas{display:block;width:100%!important;height:100%!important}.lessonResultCorrectionDialog{width:min(760px,100%);max-height:calc(100vh - 40px);overflow:auto}.lessonResultCorrectionDialog .settingsHeader p{margin:4px 0 0;color:#64748b}.lessonCorrectionGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.lessonCorrectionGrid label{display:grid;gap:5px}.lessonCorrectionGrid .wide{grid-column:1 / -1}.lessonCorrectionGrid textarea{min-height:70px;resize:vertical}.lessonCorrectionObjectives{display:grid;gap:8px;margin-top:15px;border:1px solid #dbe4ee;border-radius:12px}.lessonCorrectionObjectives label{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:10px;align-items:center}.lessonCorrectionHint{padding:10px;border-radius:10px;color:#526174;background:#f3f7fb;font-size:12px}.lessonGroupGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:15px}.lessonGroupGrid article{display:grid;gap:7px;padding:13px;border:1px solid #e1e8f0;border-radius:12px}.lessonGroupGrid label{display:flex;gap:7px}.lessonEmpty{display:grid;min-height:230px;place-items:center;align-content:center;border:1px dashed #c9d5e3;border-radius:18px;color:#718096;background:#fff}.lessonEmpty svg{width:42px;height:42px}@media(max-width:1050px){.lessonWorkspaceGrid,.lessonBoardsMaterials{grid-template-columns:1fr}.lessonSidebar{position:static}.lessonSidebarList{max-height:270px}.lessonAssignmentForm,.lessonFormGrid{grid-template-columns:1fr 1fr}.lessonFormGrid .wide{grid-column:1 / -1}}@media(max-width:720px){.lessonWorkspace{width:min(100% - 20px,1480px)}.lessonWorkspaceHeader,.lessonTemplateHero,.lessonStudentHero,.lessonPanelHeading{align-items:stretch;flex-direction:column}.lessonWorkspaceTabs,.lessonWorkspaceTabs button{width:100%}.lessonInlineActions,.lessonAssignmentForm,.lessonFormGrid,.lessonProgressGrid,.lessonStepEditor,.lessonCorrectionGrid,.lessonCorrectionObjectives label{grid-template-columns:1fr}.lessonCorrectionGrid .wide{grid-column:auto}.lessonInlineActions{align-items:stretch;flex-direction:column}.lessonStepEditor>span{display:none}}.lessonRoomPanel{display:grid;gap:12px}.lessonRoomPanel>header{display:flex;align-items:center;gap:9px}.lessonRoomPanel>header>div,.lessonRoomMaterials button>span,.lessonRoomChecklist label>span{display:grid;min-width:0}.lessonRoomPanel small{color:#718096;font-size:11px}.lessonRoomIcon{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;color:#315c9e;background:#eaf2fd}.lessonRoomIcon svg,.lessonRoomPanel button svg{width:17px;height:17px}.lessonRoomStart,.lessonRoomActive,.lessonRoomChecklist,.lessonRoomObjectives,.lessonRoomMaterials{display:grid;gap:8px}.lessonRoomStart label{display:grid;gap:4px;color:#526174;font-size:12px}.lessonRoomStart select{width:100%}.lessonRoomStart button,.lessonRoomActions button,.lessonRoomMaterials button{display:flex;align-items:center;justify-content:center;gap:7px}.lessonRoomTitle{display:grid;gap:5px}.lessonRoomState{width:fit-content;padding:3px 7px;border-radius:999px;color:#1f7555;background:#e3f6ed;font-size:10px;font-weight:800;text-transform:uppercase}.lessonRoomState.state-paused{color:#875c16;background:#fff2d6}.lessonRoomChecklist>span,.lessonRoomObjectives>span,.lessonRoomMaterials>span{color:#64748b;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.lessonRoomChecklist label{display:flex;align-items:flex-start;gap:7px;font-size:12px}.lessonRoomObjectives p{margin:0;padding-left:10px;border-left:2px solid #b9ceea;font-size:12px}.lessonRoomMaterials button{justify-content:flex-start;min-width:0;padding:8px;text-align:left}.lessonRoomMaterials button>span{overflow:hidden;text-overflow:ellipsis}.lessonRoomActions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.lessonRoomActions .lessonRoomCancel{grid-column:1 / -1;color:#9f2f3b}.lessonRoomStatus{margin:0;color:#64748b;font-size:11px}.lessonFinishBackdrop{overflow:auto;padding:20px}.lessonFinishDialog{width:min(780px,100%);max-height:calc(100vh - 40px);overflow:auto}.lessonFinishDialog .settingsHeader p{margin:4px 0 0;color:#64748b}.lessonFinishGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:15px}.lessonFinishGrid label{display:grid;gap:5px}.lessonFinishGrid .wide{grid-column:1 / -1}.lessonFinishGrid textarea{min-height:70px;resize:vertical}.lessonFinishGrid .lessonFinishCheckbox{display:flex;align-items:center;gap:8px}.lessonFinishObjectives{display:grid;gap:8px;margin-top:15px;border:1px solid #dbe4ee;border-radius:12px}.lessonFinishObjectives label{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:10px;align-items:center}.lessonFinishHint{padding:10px;border-radius:10px;color:#526174;background:#f3f7fb;font-size:12px}@media(max-width:620px){.lessonFinishGrid,.lessonFinishObjectives label{grid-template-columns:1fr}.lessonFinishGrid .wide{grid-column:auto}}:root{--edu-viewport-height: 100dvh;--edu-visual-viewport-height: 100dvh;--edu-visual-viewport-width: 100dvw;--edu-visual-viewport-offset-top: 0px;--edu-visual-viewport-offset-left: 0px;--edu-bg: #f5f7fb;--edu-surface: #ffffff;--edu-surface-muted: #f8faff;--edu-border: #dfe7f5;--edu-border-strong: #c9d5ec;--edu-text: #182033;--edu-muted: #607089;--edu-primary: #3659e6;--edu-primary-strong: #2745cf;--edu-success: #10a981;--edu-warning: #e59a24;--edu-footer-height: 220px;--edu-shadow-xs: 0 1px 2px rgba(30, 41, 59, .05);--edu-shadow-sm: 0 8px 20px rgba(30, 45, 82, .08), 0 1px 2px rgba(15, 23, 42, .04);--edu-shadow-md: 0 18px 44px rgba(30, 45, 82, .11), 0 3px 10px rgba(15, 23, 42, .05);--edu-shadow-lg: 0 28px 70px rgba(30, 45, 82, .15), 0 8px 22px rgba(15, 23, 42, .06);--edu-surface-highlight: inset 0 1px 0 rgba(255, 255, 255, .92);--edu-ring: 0 0 0 4px rgba(54, 89, 230, .14);color:var(--edu-text);background:linear-gradient(180deg,#f8fbff 0%,var(--edu-bg) 44%,#eef3fb 100%);font-family:Inter,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-synthesis:none;text-rendering:geometricPrecision}html,body,#root{max-width:100%;min-height:100%;width:100%}*{box-sizing:border-box}body{margin:0;min-height:100dvh;min-width:320px;overflow-x:clip}body.roomPageBody{height:var(--edu-viewport-height);min-height:var(--edu-viewport-height);overflow:hidden;overscroll-behavior:none}#root{display:flex;flex-direction:column;min-height:100dvh}body.roomPageBody #root{height:var(--edu-viewport-height);min-height:0;overflow:hidden}button,input,select,textarea{font:inherit}button{border:0;border-radius:10px;padding:.75rem 1.05rem;background:#f7f9ff;box-shadow:inset 0 0 0 1px #6f7dff24;color:#26324f;cursor:pointer;font-weight:600;transition:background .18s ease,box-shadow .18s ease,transform .18s ease}button:hover{background:#eef2ff;box-shadow:inset 0 0 0 1px #5767ff38,0 10px 24px #3746a014;transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.5}.primary{background:linear-gradient(135deg,#4164f3,#3154df);box-shadow:0 14px 28px #3154df33;color:#fff}.primary:hover{background:linear-gradient(135deg,#3659e6,#2849d2)}body:not(.roomPageBody) button{background:linear-gradient(180deg,#fff,#f5f8ff);box-shadow:var(--edu-surface-highlight),inset 0 0 0 1px #becbe7f2,0 7px 16px #2a386512}body:not(.roomPageBody) button:hover:not(:disabled){background:linear-gradient(180deg,#fff,#eef4ff);box-shadow:var(--edu-surface-highlight),inset 0 0 0 1px #3659e647,0 14px 28px #2a38651f;transform:translateY(-1px)}body:not(.roomPageBody) button:focus-visible{box-shadow:var(--edu-surface-highlight),inset 0 0 0 1px #3659e66b,var(--edu-ring);outline:none}body:not(.roomPageBody) .primary{background:linear-gradient(180deg,rgba(255,255,255,.16),transparent 42%),linear-gradient(135deg,#4569f7,#284bd8);box-shadow:inset 0 1px #ffffff42,0 18px 36px #3154df45,0 3px 8px #19267024;color:#fff}body:not(.roomPageBody) .primary:hover:not(:disabled){background:linear-gradient(180deg,rgba(255,255,255,.18),transparent 42%),linear-gradient(135deg,#3d61ee,#2445cc);box-shadow:inset 0 1px #ffffff47,0 22px 44px #3154df52,0 6px 12px #19267029}.header{align-items:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffeb;border-bottom:1px solid rgba(220,227,240,.95);box-shadow:none;display:flex;gap:1rem;justify-content:space-between;padding:.65rem max(1rem,calc((100vw - 1240px)/2 + 1rem));position:sticky;top:0;z-index:5}.roomHeader{gap:.65rem;justify-content:flex-start;padding:.32rem 1.25rem;position:sticky}.roomHeader .brand{gap:.5rem;font-size:.92rem}.roomHeader .brandMark{height:22px;width:22px}.roomHeader .brand small{display:none}.roomHeader .nav{gap:.32rem}.roomHeader .nav button{font-size:.82rem;gap:.32rem;padding:.28rem .42rem}.roomHeader .navIcon{height:14px;width:14px}.roomHeader .headerActions{gap:.42rem}.roomHeader .profilePill{border-radius:18px;gap:.42rem;padding:.24rem .48rem .24rem .28rem}.roomHeader .avatarCircle{border-width:2px;height:26px;width:26px}.roomHeader .profilePill small{display:none}.roomHeader .profileChevronIcon{height:14px;width:14px}.roomHeader .moreButton{border-radius:14px;height:32px;width:34px}.roomHeader .moreButton svg{height:16px;width:16px}.roomHeader .headerActions>button:not(.profilePill):not(.moreButton){min-height:32px;padding:.42rem .72rem}.roomHeaderTitle{align-items:center;background:#f8fafc;border:1px solid rgba(213,222,238,.98);border-radius:999px;color:#1f2937;display:inline-flex;font-size:.86rem;font-weight:720;height:32px;justify-content:center;left:50%;line-height:1;max-width:min(540px,calc(100% - 260px));min-width:0;padding:0 .9rem;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%)}.roomHeaderTitle span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand{align-items:center;background:transparent;box-shadow:none;display:inline-flex;gap:.7rem;font-size:1.08rem;font-weight:700;line-height:1.05;padding:0}body:not(.roomPageBody) .brand,body:not(.roomPageBody) .brand:hover:not(:disabled),body:not(.roomPageBody) .brand:focus-visible{background:transparent;box-shadow:none;transform:none}.brand span,.profilePill span{display:grid;gap:.15rem;justify-items:start}.brand small,.profilePill small{color:#737c93;font-size:.72rem;font-weight:500}.brandMark{display:block;flex:0 0 auto;height:32px;width:32px}.roomBrandStatic{cursor:default}.nav{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center}.nav button{align-items:center;background:transparent;box-shadow:none;color:#53627a;font-size:.92rem;display:inline-flex;gap:.45rem;padding:.5rem .65rem}.nav button:hover,.nav button:focus-visible{background:#eef3ff;box-shadow:none;color:var(--edu-primary);transform:none}.navIcon{align-items:center;color:currentColor;display:inline-block;height:17px;width:17px}.headerActions,.heroActions,.split{align-items:center;display:flex;gap:.75rem;justify-content:space-between}.userBadge{background:#f7f9ff;border:1px solid #dde5ff;border-radius:10px;color:#3c465f;font-size:.9rem;max-width:260px;overflow:hidden;padding:.55rem .85rem;text-overflow:ellipsis;white-space:nowrap}.profilePill{align-items:center;background:transparent;border:1px solid transparent;border-radius:999px;box-shadow:none;display:inline-flex;gap:.55rem;padding:.32rem .5rem .32rem .32rem}body:not(.roomPageBody) .profilePill,body:not(.roomPageBody) .profilePill:hover:not(:disabled),body:not(.roomPageBody) .profilePill:focus-visible{background:transparent;box-shadow:none}.profileMenuWrap{position:relative}.activeProfilePill,.profilePill:hover,.profilePill:focus-visible{background:#f6f8fc;border-color:#cdd7eaf2;box-shadow:none;transform:none}body:not(.roomPageBody) .activeProfilePill,body:not(.roomPageBody) .profilePill:hover:not(:disabled),body:not(.roomPageBody) .profilePill:focus-visible{background:#f6f8fc;border-color:#cdd7eaf2;box-shadow:none;transform:none}body:not(.roomPageBody) .headerActions>button:not(.profilePill){background:#fff;border:1px solid rgba(205,215,234,.95);border-radius:999px;box-shadow:none;padding:.58rem .9rem}body:not(.roomPageBody) .headerActions>button:not(.profilePill):hover:not(:disabled),body:not(.roomPageBody) .headerActions>button:not(.profilePill):focus-visible{background:#f6f8fc;box-shadow:none;transform:none}.guestLoginButton{align-items:center;display:inline-flex;font-size:.92rem;gap:.42rem;min-height:40px}.guestLoginButton svg{height:16px;width:16px}body:not(.roomPageBody) .headerActions>.guestLoginButton{background:#eef5ff;border-color:#bfd4f6;color:#24518f;font-weight:700;padding:.54rem .86rem}body:not(.roomPageBody) .headerActions>.guestLoginButton:hover:not(:disabled),body:not(.roomPageBody) .headerActions>.guestLoginButton:focus-visible{background:#e2edff;border-color:#9fbee9;color:#1f477e}body:not(.roomPageBody) .headerActions>.primary{background:#263fdb;border-color:#263fdb;box-shadow:none;color:#fff}body:not(.roomPageBody) .headerActions>.primary:hover:not(:disabled),body:not(.roomPageBody) .headerActions>.primary:focus-visible{background:#2138c4;box-shadow:none}.profileDropdown{background:#fff;border:1px solid rgba(213,222,238,.98);border-radius:8px;box-shadow:none;display:grid;gap:.25rem;min-width:260px;padding:.45rem;position:absolute;right:0;top:calc(100% + .5rem);z-index:40}.profileDropdownItem{align-items:center;background:transparent;border-radius:8px;box-shadow:none;color:#26324f;display:flex;gap:.55rem;justify-content:flex-start;min-height:42px;padding:.58rem .68rem;text-align:left;transform:none;width:100%}body:not(.roomPageBody) .profileDropdownItem,body:not(.roomPageBody) .profileDropdownItem:hover:not(:disabled),body:not(.roomPageBody) .profileDropdownItem:focus-visible{background:transparent;box-shadow:none;transform:none}.profileDropdownItem:hover,.profileDropdownItem:focus-visible{background:#f6f8fc;box-shadow:none;color:#263fdb;outline:none;transform:none}body:not(.roomPageBody) .profileDropdownItem:hover:not(:disabled),body:not(.roomPageBody) .profileDropdownItem:focus-visible{background:#f6f8fc;color:#263fdb}.profileDropdownItem span{display:grid;gap:.12rem}.profileDropdownItem small{color:#737c93;font-size:.72rem;font-weight:500}.profileDropdownIcon{color:currentColor;flex:0 0 auto;height:18px;width:18px}.profileDropdownLogout{border-top:1px solid rgba(216,224,248,.86);color:#b91c1c;margin-top:.25rem;padding-top:.72rem}.profileDropdownLogout:hover,.profileDropdownLogout:focus-visible{background:#fff5f5;color:#991b1b}body:not(.roomPageBody) .profileDropdownLogout:hover:not(:disabled),body:not(.roomPageBody) .profileDropdownLogout:focus-visible{background:#fff5f5;color:#991b1b}.avatarCircle{align-items:center;background:#eef2ff;border:0;border-radius:999px;box-shadow:none;color:#3659e6;display:inline-flex!important;font-size:.86rem;font-weight:700;height:32px;justify-content:center!important;width:32px}.profileChevronIcon{color:currentColor;height:17px;width:17px}.profileChevronIcon{opacity:.72}.moreButton{align-items:center;background:#ffffffeb;border-radius:18px;display:inline-flex;height:44px;justify-content:center;padding:0;width:48px}.moreButton svg{height:19px;width:19px}.headerStatus{color:#596276;font-size:.82rem;max-width:160px}.mobileHeaderMenuButton{align-items:center;background:linear-gradient(180deg,#fff,#f6f9ff);border:1px solid rgba(216,224,248,.95);border-radius:10px;box-shadow:var(--edu-surface-highlight),0 12px 28px #3746a017;color:#26324f;display:none;height:40px;justify-content:center;padding:0;width:42px}body:not(.roomPageBody) .mobileHeaderMenuButton,body:not(.roomPageBody) .mobileHeaderMenuButton:hover:not(:disabled),body:not(.roomPageBody) .mobileHeaderMenuButton:focus-visible{background:#fff;box-shadow:none;transform:none}.mobileHeaderMenuIcon{height:18px;width:18px}.mobileHeaderDrawerLayer{inset:0;position:fixed;z-index:60}.mobileHeaderDrawerBackdrop{background:#0f172a7a;border-radius:0;box-shadow:none;height:100%;inset:0;padding:0;position:absolute;transform:none;width:100%}.mobileHeaderDrawerBackdrop:hover,.mobileHeaderDrawerBackdrop:focus-visible{background:#0f172a80;box-shadow:none;outline:none;transform:none}.mobileHeaderDrawer{animation:mobile-drawer-in .18s ease both;background:linear-gradient(180deg,#fffffffc,#f8fbfffc);border-left:1px solid rgba(203,214,238,.98);box-shadow:var(--edu-surface-highlight),-26px 0 64px #1f2a5c38;display:grid;grid-template-rows:auto 1fr;height:100dvh;max-width:min(340px,88vw);overflow-y:auto;padding:.85rem;position:absolute;right:0;top:0;width:min(340px,88vw)}.mobileHeaderDrawerHeader{align-items:center;border-bottom:1px solid rgba(216,224,248,.92);display:flex;justify-content:space-between;gap:.75rem;padding:0 0 .8rem}.mobileHeaderDrawerHeader>span{color:#202a3d;display:grid;font-weight:800;gap:.1rem}.mobileHeaderDrawerHeader small{color:#737c93;font-size:.72rem;font-weight:500}.mobileHeaderDrawerClose{align-items:center;background:transparent;border-radius:0;box-shadow:none;color:#475569;display:inline-flex;height:40px;justify-content:center;padding:0;width:40px}.mobileHeaderDrawerClose:hover,.mobileHeaderDrawerClose:focus-visible{background:transparent;box-shadow:none;color:#111827;outline:none;transform:none}.mobileHeaderMenu{display:grid;align-content:start;gap:.35rem;padding:.85rem 0 0}.mobileHeaderMenuItem{align-items:center;background:transparent;border-radius:8px;box-shadow:none;color:#26324f;display:flex;gap:.55rem;justify-content:flex-start;min-height:40px;padding:.58rem .65rem;text-align:left;width:100%}.mobileHeaderMenuItem span{display:grid;gap:.12rem}.mobileHeaderMenuItem small{color:#737c93;font-size:.72rem;font-weight:500;max-width:172px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobileHeaderMenuItemIcon{color:#5360df;flex:0 0 auto;height:18px;width:18px}.primaryMobileHeaderMenuItem{background:linear-gradient(135deg,#6372f3,#4f5fe6);color:#fff}.primaryMobileHeaderMenuItem .mobileHeaderMenuItemIcon{color:#fff}.mobileHeaderStatus{color:#596276;font-size:.78rem;padding:.25rem .65rem .15rem}@keyframes mobile-drawer-in{0%{opacity:.8;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes button-spinner{to{transform:rotate(360deg)}}.page{margin:0 auto;max-width:1240px;min-width:0;padding:2.4rem 1.25rem 3.5rem;width:100%}body:not(.roomPageBody) .page{flex:1 0 auto}.narrow{max-width:720px}.page .hero{background:linear-gradient(180deg,#fffffffa,#f9fcfff0);border:1px solid rgba(203,214,238,.86);border-radius:12px;box-shadow:var(--edu-surface-highlight),var(--edu-shadow-lg);padding:3rem}.compactHero{padding:2rem}.testHomeHero{align-items:center;display:grid;gap:2rem;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);min-height:520px;overflow:hidden;position:relative}.testHomeHero h1{max-width:760px}.testHomeHero p{max-width:680px}.hero h1,.page h1{color:#101a30;font-size:clamp(2.25rem,5vw,4.45rem);letter-spacing:0;line-height:.98;margin:0 0 1rem;overflow-wrap:anywhere}.page h2{color:#182033;letter-spacing:0;line-height:1.15}.hero p,.page>p{color:var(--edu-muted);font-size:1.15rem;line-height:1.7;overflow-wrap:anywhere}.eyebrow{color:var(--edu-primary);font-size:.78rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase}.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));margin-top:1rem;min-width:0}.page .card{background:linear-gradient(180deg,#fffffffa,#f9fcfff5);border:1px solid rgba(203,214,238,.88);border-radius:8px;box-shadow:var(--edu-surface-highlight),var(--edu-shadow-sm);min-width:0;overflow-wrap:anywhere;padding:1.35rem;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.page .card:hover{border-color:#3659e638;box-shadow:var(--edu-surface-highlight),var(--edu-shadow-md);transform:translateY(-2px)}.page .card h2{margin-top:0}.page .card p,.note,.page .miniCard p{color:var(--edu-muted);line-height:1.5;overflow-wrap:anywhere}.page .form{background:linear-gradient(180deg,#fffffffa,#f9fcfff5);border:1px solid rgba(203,214,238,.88);border-radius:8px;box-shadow:var(--edu-surface-highlight),var(--edu-shadow-sm);display:grid;gap:1rem;margin-top:1rem;padding:1.35rem}label{display:grid;gap:.4rem;color:#344158;font-size:.92rem;font-weight:650}input,select,textarea{background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid rgba(200,212,237,.98);border-radius:10px;box-shadow:inset 0 1px 2px #0f172a09,0 1px #ffffffe0;color:#202a3d;padding:.78rem .9rem;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease;width:100%}body:not(.roomPageBody) select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#607089 50%),linear-gradient(135deg,#607089 50%,transparent 50%),linear-gradient(180deg,#fff,#f8fbff);background-position:calc(100% - 18px) calc(50% + 2px),calc(100% - 13px) calc(50% + 2px),0 0;background-repeat:no-repeat;background-size:5px 5px,5px 5px,100% 100%;padding-right:2.4rem}body:not(.roomPageBody) input:hover,body:not(.roomPageBody) select:hover,body:not(.roomPageBody) textarea:hover{border-color:#7a8db2e6;box-shadow:inset 0 1px 2px #0f172a0a,0 5px 14px #1e2d520e}input:focus,select:focus,textarea:focus{border-color:#3659e68c;box-shadow:inset 0 1px 2px #0f172a09,var(--edu-ring),0 10px 24px #3659e61a;outline:none}textarea{min-height:120px;max-height:400px;overflow-y:auto;resize:none}.homeHeroCopy{display:grid;gap:1rem;min-width:0}.homeFeatureStrip{align-items:center;display:flex;flex-wrap:wrap;gap:.85rem;margin-top:1.1rem}.homeFeatureStrip span{align-items:center;color:#334158;display:inline-flex;font-size:.95rem;font-weight:650;gap:.45rem}.homeFeatureIcon{background:linear-gradient(180deg,#f8fbff,#eaf4ff);border:1px solid #d7e7fb;border-radius:8px;box-shadow:var(--edu-surface-highlight),0 8px 18px #1d2d5212;color:#16856d;height:34px;padding:.45rem;width:34px}.homePreview{align-items:center;display:grid;justify-items:center;min-height:360px}.homePreviewWindow{background:linear-gradient(90deg,rgba(223,232,247,.55) 1px,transparent 1px),linear-gradient(180deg,rgba(223,232,247,.55) 1px,transparent 1px),#fff;background-size:34px 34px;border:1px solid rgba(203,214,238,.92);border-radius:12px;box-shadow:var(--edu-surface-highlight),var(--edu-shadow-lg);display:grid;gap:.7rem;grid-template-columns:1.05fr .95fr;grid-template-rows:1fr .72fr;max-width:500px;min-height:310px;padding:1rem;width:100%}.homePreviewVideo,.homePreviewBoard{border:1px solid #dce6f5;border-radius:8px;min-height:0}.homePreviewVideo{background:linear-gradient(180deg,#0f172a1f,#0f172a2e),#eef4ff;position:relative}.homePreviewVideo:before{background:#b7c9ee;border-radius:999px;content:"";height:56px;left:50%;position:absolute;top:32%;transform:translate(-50%,-50%);width:56px}.homePreviewVideo:after{background:#9fb7e4;border-radius:999px 999px 10px 10px;bottom:0;content:"";height:74px;left:50%;position:absolute;transform:translate(-50%);width:118px}.homePreviewVideo.small{background:#e8fff7;grid-column:1;grid-row:2}.homePreviewVideo.small:before{background:#1fb58f;height:42px;width:42px}.homePreviewVideo.small:after{background:#10a981;height:54px;width:86px}.homePreviewBoard{background:#ffffffe6;display:grid;gap:.75rem;grid-column:2;grid-row:1 / span 2;padding:1.3rem}.homePreviewBoard span{background:#e8eef9;border-radius:999px;display:block;height:8px}.homePreviewBoard span:nth-child(2){background:#10a981;height:60px;justify-self:center;transform:rotate(-36deg);width:9px}.homePreviewBoard span:nth-child(3){background:#f0ad3a;width:44%}.homeInfoGrid{margin-top:1.1rem}.cardIndex{color:var(--edu-primary);display:inline-block;font-size:.78rem;font-weight:800;margin-bottom:.8rem}.authPage{align-items:start;display:grid;gap:1rem}.authPage.narrow{max-width:1120px}.authShell,.registerShell{align-items:stretch;display:grid;gap:1rem;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr)}.registerShell{grid-template-columns:minmax(360px,1fr) minmax(280px,.65fr)}.authInfoPanel{background:linear-gradient(180deg,#3659e60f,#10a9810b),#fff;border:1px solid rgba(203,214,238,.9);border-radius:12px;box-shadow:var(--edu-surface-highlight),var(--edu-shadow-md);display:grid;gap:1rem;padding:2rem}.authInfoPanel h1{font-size:clamp(2.2rem,5vw,4rem);margin:0}.authInfoPanel p{color:var(--edu-muted);font-size:1.08rem;line-height:1.65;margin:0}.authBenefits,.registrationChecklist{display:grid;gap:.72rem}.authBenefits span,.registrationChecklist span{align-items:center;color:#344158;display:flex;gap:.58rem;line-height:1.4}.authBenefitIcon{background:linear-gradient(180deg,#f8fbff,#eaf4ff);border:1px solid #d7e7fb;border-radius:8px;box-shadow:var(--edu-surface-highlight),0 8px 18px #1d2d5212;color:#16856d;flex:0 0 auto;height:34px;padding:.45rem;width:34px}.authPanel{background:linear-gradient(180deg,#fff,#fbfdff);border:1px solid rgba(203,214,238,.9);border-radius:12px;box-shadow:var(--edu-surface-highlight),var(--edu-shadow-md);display:grid;gap:.95rem;padding:2rem}.authPanel h1{font-size:clamp(2rem,6vw,3.25rem);margin-bottom:0}.authPanel p{color:var(--edu-muted);line-height:1.6;margin:0}.authForm{margin-top:0}.authForm h2{margin:0}.dashboardPage,.adminPage{display:grid;gap:1rem}.dashboardPage{--dashboard-border: #e5e7eb;--dashboard-border-strong: #cbd5e1;--dashboard-muted: #64748b;--dashboard-primary: #2d5b9f;--dashboard-primary-hover: #244a84;--dashboard-soft: #f8fafc;--dashboard-text: #0f172a;align-content:start;background:var(--dashboard-soft);box-shadow:0 0 0 100vmax var(--dashboard-soft);clip-path:inset(0 -100vmax);color:#0f172a;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-feature-settings:"cv02","cv03","cv04","cv11";font-size:.94rem;gap:1rem;letter-spacing:0;max-width:1180px;padding-top:1.65rem;width:100%}.dashboardPage .eyebrow{color:#64748b;font-size:.76rem;font-weight:700;letter-spacing:0;text-transform:none}.adminShell{align-items:start;display:grid;gap:1rem;grid-template-columns:220px minmax(0,1fr)}.adminContent{display:grid;gap:1rem;min-width:0}.dashboardSideNav{background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid rgba(203,214,238,.9);border-radius:12px;box-shadow:var(--edu-surface-highlight),var(--edu-shadow-sm);display:grid;gap:.3rem;padding:1rem;position:sticky;top:5.4rem}.dashboardSideNav strong{color:#111827;margin-bottom:.35rem}.dashboardSideNav span{border-radius:8px;color:#53627a;font-size:.92rem;font-weight:650;padding:.6rem .7rem;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.dashboardSideNav .activeDashboardNav{background:#eef3ff;box-shadow:inset 0 0 0 1px #3659e61f,0 6px 16px #3659e614;color:var(--edu-primary)}.dashboardHeader,.adminHero{align-items:stretch;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) minmax(260px,360px)}.dashboardHeader{grid-template-columns:minmax(0,1fr)}.dashboardIntro,.adminStatusCard{background:linear-gradient(180deg,#fff,#fbfdff);border:1px solid rgba(203,214,238,.9);border-radius:12px;box-shadow:var(--edu-surface-highlight),var(--edu-shadow-md);padding:1.5rem}.dashboardIntro{align-items:start;background:transparent;border:0;box-shadow:none;display:grid;gap:1.1rem;grid-template-columns:minmax(0,1fr) minmax(360px,420px);padding:.15rem 0 .25rem}.dashboardIntro h1{color:#0f172a;font-size:clamp(1.7rem,2.2vw,2.18rem);font-weight:760;letter-spacing:0;line-height:1.08;margin:.15rem 0 .45rem}.dashboardIntro>p{color:var(--edu-muted);line-height:1.6;margin:0 0 .85rem}.dashboardIntro>div:first-child>p:last-child{color:#64748b;font-size:.96rem;line-height:1.55;margin:0;max-width:560px}.dashboardStatusRow{display:grid;gap:.45rem;grid-template-columns:repeat(3,minmax(118px,1fr))}.dashboardStatusRow span{background:#fff;border:1px solid var(--dashboard-border);border-radius:8px;box-shadow:none;color:#111827;display:grid;gap:.12rem;min-width:0;padding:.62rem .72rem}.dashboardStatusRow strong{color:#111827;font-size:1.02rem;font-weight:720;letter-spacing:0;overflow-wrap:anywhere}.dashboardStatusRow small{color:#64748b;font-size:.78rem;font-weight:600}.dashboardNotice{background:#fff;border:1px solid var(--dashboard-border);border-left:2px solid #2563eb;border-radius:8px;color:#475569;grid-column:1 / -1;line-height:1.45;margin:0;padding:.62rem .75rem}.quickCreatePanel{align-items:end;grid-template-columns:minmax(160px,.75fr) minmax(220px,1fr) auto}.quickCreatePanel h2{margin:0}.quickCreatePanel .eyebrow{margin:0 0 .3rem}.roomGrid{align-items:start;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr))}.createRoomCard{align-items:flex-start;background:#fff!important;border:1px solid var(--dashboard-border)!important;color:#334155;cursor:pointer;gap:.8rem;grid-template-columns:auto minmax(0,1fr);justify-items:start;min-height:196px;text-align:left;width:100%}.createRoomCard:hover:not(:disabled),.createRoomCard:focus-visible{background:#f8fafc!important;border-color:var(--dashboard-border-strong)!important;box-shadow:none!important;transform:none}.createRoomCard:disabled{cursor:not-allowed}.createRoomCardIcon{align-items:center;background:#fff;border:1px solid #dbe4f0;border-radius:8px;box-shadow:none;color:var(--dashboard-primary);display:inline-flex;height:42px;justify-content:center;width:42px}.createRoomCardIcon svg{height:24px;width:24px}.createRoomCardTitle{color:#0f172a;display:block;font-size:1rem;font-weight:720;margin-bottom:.3rem}.createRoomCardText{color:var(--edu-muted);display:block;font-size:.92rem;line-height:1.5;max-width:260px}.roomCard{align-self:start;background:#fff;border:1px solid var(--dashboard-border);border-radius:8px;box-shadow:none;display:grid;gap:.78rem;grid-template-rows:auto auto minmax(0,1fr) auto;height:232px;max-height:260px;min-height:0;overflow:hidden;padding:.9rem;transition:border-color .16s ease,background .16s ease}.roomCard:has(.roomTitleEdit){height:auto;max-height:none;overflow:visible}body:not(.roomPageBody) .dashboardPage .roomCard{box-shadow:none}body:not(.roomPageBody) .dashboardPage .roomCard:hover{background:#fff;border-color:var(--dashboard-border-strong);box-shadow:none;transform:none}.roomCardActions{align-items:center;display:grid;gap:.5rem;grid-template-columns:repeat(2,minmax(0,1fr))}.roomCardActions button{align-items:center;border-radius:7px;box-shadow:none!important;display:inline-flex;gap:.5rem;justify-content:center;min-height:40px;min-width:0;padding-left:.65rem;padding-right:.65rem;white-space:nowrap;width:100%}body:not(.roomPageBody) .roomCardActions button{background:#fff;border:1px solid #d1d5db;box-shadow:none}body:not(.roomPageBody) .roomCardActions .primary{background:var(--dashboard-primary);border-color:var(--dashboard-primary);color:#fff}body:not(.roomPageBody) .roomCardActions button:hover:not(:disabled),body:not(.roomPageBody) .roomCardActions button:focus-visible{background:#f8fafc;box-shadow:none;transform:none}body:not(.roomPageBody) .roomCardActions .primary:hover:not(:disabled),body:not(.roomPageBody) .roomCardActions .primary:focus-visible{background:var(--dashboard-primary-hover);border-color:var(--dashboard-primary-hover)}.roomCardActions svg{height:17px;width:17px}.roomCardTop{align-items:flex-start;display:flex;gap:.75rem;justify-content:space-between}.roomCardIdentity{align-items:center;display:flex;flex-wrap:wrap;gap:.55rem;min-width:0}.roomCardTopRight{align-items:center;display:flex;gap:.45rem;min-width:0}.roomCardIconActions{align-items:center;display:inline-flex;gap:.25rem}.roomCardIconButton{align-items:center;background:transparent;border:1px solid transparent;border-radius:7px;box-shadow:none;color:#64748b;display:inline-flex;height:32px;justify-content:center;padding:0;width:32px}body:not(.roomPageBody) .roomCardIconButton,body:not(.roomPageBody) .roomCardIconButton:hover:not(:disabled),body:not(.roomPageBody) .roomCardIconButton:focus-visible{box-shadow:none;transform:none}body:not(.roomPageBody) .roomCardIconButton:hover:not(:disabled),body:not(.roomPageBody) .roomCardIconButton:focus-visible{background:#f9fafb;border-color:#d1d5db;color:#111827}.roomCardIconButton svg{height:16px;width:16px}.dangerRoomCardIconButton{color:#b91c1c}.dangerRoomCardIconButton:hover:not(:disabled),.dangerRoomCardIconButton:focus-visible{color:#991b1b}.roomCardIcon{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:7px;box-shadow:none;color:#0f172a;display:inline-flex;font-size:1rem;font-weight:760;height:40px;justify-content:center;width:40px}.roomCard h2{color:#0f172a;font-size:1.06rem;font-weight:720;letter-spacing:0;line-height:1.18;margin:0}.roomCardMeta{color:#64748b;display:grid;font-size:.86rem;gap:.35rem;line-height:1.45;margin:0;overflow:hidden}.roomCardMeta span{color:#7b8798;font-size:.8rem}.roomTitleEdit{display:grid;gap:.65rem}.dashboardPage .roomTitleEdit label,.dashboardCreateDialog label{color:#475569;font-size:.78rem;font-weight:650;gap:.34rem}.dashboardPage .roomTitleEdit input,.dashboardCreateDialog input{background:#fff;border:1px solid #d1d5db;border-radius:7px;box-shadow:none;color:#0f172a;min-height:40px;padding:.58rem .7rem}.dashboardPage .roomTitleEdit input::placeholder,.dashboardCreateDialog input::placeholder{color:#94a3b8}.dashboardPage .roomTitleEdit input:hover,.dashboardCreateDialog input:hover{border-color:#94a3b8;box-shadow:none}.dashboardPage .roomTitleEdit input:focus,.dashboardCreateDialog input:focus{border-color:var(--dashboard-primary, #2d5b9f);box-shadow:0 0 0 3px #2563eb1f;outline:none}.roomCardEditActions{display:grid;gap:.45rem;grid-template-columns:minmax(0,1fr)}.roomCardEditActions button{border-radius:7px;box-shadow:none!important;min-height:38px;min-width:0;white-space:nowrap;width:100%}body:not(.roomPageBody) .roomCardEditActions button{box-shadow:none;transform:none}body:not(.roomPageBody) .roomCardEditActions .primary{background:var(--dashboard-primary);border-color:var(--dashboard-primary);color:#fff}body:not(.roomPageBody) .roomCardEditActions .primary:hover:not(:disabled),body:not(.roomPageBody) .roomCardEditActions .primary:focus-visible{background:var(--dashboard-primary-hover);border-color:var(--dashboard-primary-hover)}.dashboardConfirmDialog,.dashboardCreateDialog{background:#fff;border:1px solid var(--dashboard-border, #e5e7eb);border-radius:8px;box-shadow:0 18px 50px #0f172a29;display:grid;gap:.9rem;padding:1rem}.dashboardConfirmDialog{max-width:560px}.dashboardCreateDialog{max-width:520px}.roomLeaveConfirmDialog{max-width:540px}.dashboardConfirmDialog p{color:#475569;font-size:.92rem;line-height:1.55;margin:0}.dashboardConfirmDialog .settingsHeader,.dashboardCreateDialog .settingsHeader{border-bottom:1px solid var(--dashboard-border, #e5e7eb);padding:0 0 .75rem}.dashboardConfirmDialog .settingsHeader h2,.dashboardCreateDialog .settingsHeader h2{color:#0f172a;font-size:1.08rem;font-weight:720}.dashboardConfirmDialog .modalCloseButton,.dashboardCreateDialog .modalCloseButton{border-radius:7px;color:#64748b;height:32px;padding:0;width:32px}.dashboardConfirmDialog .modalCloseButton svg,.dashboardCreateDialog .modalCloseButton svg{height:17px;width:17px}.dashboardConfirmActions{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:flex-end}.dashboardConfirmActions button{align-items:center;border-radius:7px;box-shadow:none!important;display:inline-flex;gap:.5rem;justify-content:center;min-height:40px;min-width:150px}body:not(.roomPageBody) .dashboardConfirmActions button{box-shadow:none;transform:none}body:not(.roomPageBody) .dashboardConfirmActions .primary{background:var(--dashboard-primary, #2d5b9f);border-color:var(--dashboard-primary, #2d5b9f);color:#fff}body:not(.roomPageBody) .dashboardConfirmActions .primary:hover:not(:disabled),body:not(.roomPageBody) .dashboardConfirmActions .primary:focus-visible{background:var(--dashboard-primary-hover, #244a84);border-color:var(--dashboard-primary-hover, #244a84)}body:not(.roomPageBody) .dashboardConfirmDialog .dangerButton{background:#dc2626!important;border:1px solid #dc2626;box-shadow:none!important;color:#fff!important}body:not(.roomPageBody) .dashboardConfirmDialog .dangerButton:hover:not(:disabled),body:not(.roomPageBody) .dashboardConfirmDialog .dangerButton:focus-visible{background:#b91c1c!important;border-color:#b91c1c;box-shadow:none!important;transform:none}.dangerButton{background:linear-gradient(180deg,rgba(255,255,255,.14),transparent 42%),linear-gradient(135deg,#ef4444,#b91c1c)!important;box-shadow:inset 0 1px #ffffff38,0 18px 36px #b91c1c3d,0 3px 8px #7f1d1d24!important;color:#fff!important}.dangerButton:hover:not(:disabled),.dangerButton:focus-visible{background:linear-gradient(180deg,rgba(255,255,255,.16),transparent 42%),linear-gradient(135deg,#dc2626,#991b1b)!important}.dangerButton svg{height:17px;width:17px}.emptyRoomCard{background:linear-gradient(135deg,#3659e60f,#10a9810f),#fff;border-style:dashed}body:not(.roomPageBody) .roomCard:hover .roomCardIcon{box-shadow:none}.adminHero{padding:1.5rem}.adminHero h1{font-size:clamp(2rem,4vw,3.25rem)}.adminHero p{max-width:720px}.adminStatusCard{align-content:center;display:grid;gap:.3rem;min-width:0}.adminStatusCard span,.adminStatusCard small{color:var(--edu-muted);font-size:.82rem}.adminStatusCard strong{color:#111827;overflow-wrap:anywhere}.adminChecklist ol{color:var(--edu-muted);line-height:1.6;margin:.65rem 0 0;padding-left:1.25rem}.adminForm{grid-template-columns:repeat(3,minmax(0,1fr)) auto}.adminForm h2,.adminForm .note{grid-column:1 / -1}.adminForm button{align-self:end}.adminGrid,.adminList{margin-top:0}.room{display:grid;flex:1 1 auto;gap:1rem;grid-template-columns:minmax(0,80fr) minmax(240px,20fr);height:auto;min-height:0;overflow:hidden;padding:1rem 1.5rem 1.25rem}.expandedBoardRoom{background:#f5f7fc;grid-template-columns:minmax(0,1fr);height:100dvh;inset:0;padding:0;position:fixed;z-index:40}.collapsedBoardRoom{grid-template-columns:minmax(0,1fr)}.expandedBoardRoom .participantsPanel,.collapsedBoardRoom .participantsPanel{display:none}.expandedBoardRoom .roomStage{border:0;border-radius:0;gap:0;padding:0;width:100%}.expandedBoardRoom .boardToolbar,.expandedBoardRoom .boardSurfaceToolbar{display:none}.expandedBoardRoom .whiteboardShell,.expandedBoardRoom .screenShareCanvas{border:0;border-radius:0}.roomStage{background:#ffffffe0;border:1px solid rgba(213,222,247,.96);border-radius:28px;box-shadow:0 24px 60px #3746a01a;display:flex;flex-direction:column;gap:.75rem;min-height:0;overflow:visible;padding:.9rem;position:relative}.participantsPanel{display:flex;flex-direction:column;gap:.65rem;min-height:0;overflow:hidden;overscroll-behavior:contain}.participantsPanel{overflow:visible}.participantsPanel .miniCard{flex:0 0 auto}.boardToolbar{align-items:center;background:#ffffffeb;border:1px solid rgba(219,226,249,.95);border-radius:22px;box-shadow:0 14px 34px #3746a012;display:flex;flex-wrap:wrap;gap:.45rem;justify-content:space-between;padding:.45rem;z-index:2}.boardRightControls,.boardCallControls{align-items:center;display:flex;gap:.25rem}.boardLeftControls{align-items:center;display:inline-flex;flex:0 1 auto;gap:.45rem;min-width:0}.boardRightControls{flex:1 1 auto;gap:.45rem;justify-content:flex-end;min-width:0}.boardCallControls{background:#f9faff;border:1px solid #e4e9fb;border-radius:18px;flex:0 1 auto;flex-wrap:nowrap;max-width:100%;min-width:0;overflow:visible;padding:.2rem;scrollbar-width:thin}.boardCallControls::-webkit-scrollbar,.whiteboardTools::-webkit-scrollbar{height:4px}.boardCallControls::-webkit-scrollbar-thumb,.whiteboardTools::-webkit-scrollbar-thumb{background:#94a3b87a;border-radius:999px}.roomControlsMenuButton{align-items:center;background:#fff;border-radius:14px;box-shadow:inset 0 0 0 1px #d8e0f8f2,0 10px 22px #3746a00f;color:#5360df;display:none;height:40px;justify-content:center;min-height:40px;padding:0;width:40px}.roomControlsMenuButton:hover,.roomControlsMenuButton:focus-visible{background:#f2f0ff;color:#4754da;outline:none}.roomControlsMenuButtonIcon{color:currentColor;height:19px;width:19px}.roomControlsDrawerLayer{inset:0;position:fixed;z-index:82}.roomControlsDrawerBackdrop{background:#0f172a6b;border-radius:0;box-shadow:none;height:100%;inset:0;padding:0;position:absolute;transform:none;width:100%}.roomControlsDrawerBackdrop:hover,.roomControlsDrawerBackdrop:focus-visible{background:#0f172a75;box-shadow:none;outline:none;transform:none}.roomControlsDrawer{animation:mobile-drawer-in .18s ease both;background:#fffffffa;border-left:1px solid rgba(216,224,248,.98);box-shadow:-24px 0 54px #1f2a5c2e;display:grid;grid-template-rows:auto 1fr;height:100dvh;max-width:min(318px,88vw);overflow-y:auto;padding:.85rem;position:absolute;right:0;top:0;width:min(318px,88vw)}.roomControlsDrawerHeader{align-items:center;border-bottom:1px solid rgba(216,224,248,.92);color:#202a3d;display:flex;font-weight:800;justify-content:space-between;gap:.75rem;padding:0 0 .8rem}.roomControlsDrawerClose{align-items:center;background:transparent;border-radius:0;box-shadow:none;color:#475569;display:inline-flex;height:40px;justify-content:center;padding:0;width:40px}.roomControlsDrawerClose:hover,.roomControlsDrawerClose:focus-visible{background:transparent;box-shadow:none;color:#111827;outline:none;transform:none}.roomControlsMenu{display:grid;align-content:start;gap:.35rem;padding:.85rem 0 0}.roomControlsMenuGroup{border-top:1px solid rgba(216,224,248,.92);display:grid;gap:.35rem;margin-top:.35rem;padding-top:.7rem}.roomControlsMenuGroupTitle{color:#64748b;font-size:.76rem;font-weight:800;padding:.15rem .65rem;text-transform:uppercase}.roomControlsMenuItem{align-items:center;background:transparent;border-radius:12px;box-shadow:none;color:#26324f;display:flex;gap:.55rem;justify-content:flex-start;min-height:42px;padding:.58rem .65rem;text-align:left;width:100%}.roomControlsMenuItem:hover,.roomControlsMenuItem:focus-visible{background:#eef2ff;box-shadow:none;color:#5360df;outline:none;transform:none}.roomControlsMenuItem:disabled{cursor:not-allowed;opacity:.45;transform:none}.roomControlsMenuItemIcon{color:currentColor;flex:0 0 auto;height:18px;width:18px}.buttonSpinner{animation:button-spinner .76s linear infinite;border:2px solid currentColor;border-right-color:transparent;border-radius:999px;display:inline-block;flex:0 0 auto;height:16px;width:16px}.activeRoomControlsMenuItem{background:#ecfdf5;color:#059669}.mutedRoomControlsMenuItem{color:#7b879d}.dangerRoomControlsMenuItem{color:#dc2f52}.boardTopToggleButton{align-items:center;background:#fff;border-radius:14px;box-shadow:inset 0 0 0 1px #d8e0f8f2,0 10px 22px #3746a00f;color:#465069;display:inline-flex;flex:0 0 auto;font-size:.84rem;font-weight:700;gap:.36rem;height:36px;justify-content:center;min-height:36px;padding:0 .72rem;white-space:nowrap}.boardTopToggleButton:hover,.boardTopToggleButton:focus-visible{background:#eef2ff;box-shadow:inset 0 0 0 1px #7e89ff47,0 12px 26px #5360df1f;color:#5360df;outline:none}.activeBoardTopToggle{background:#f2f0ff;color:#5360df}.boardTopToggleIcon{color:currentColor;height:16px;width:16px}.whiteboardBoardSwitcher{align-items:center;background:#f9faff;border:1px solid #e4e9fb;border-radius:14px;display:inline-flex;flex:0 0 auto;gap:.15rem;min-height:36px;padding:.18rem}.whiteboardBoardSwitchButton{align-items:center;background:transparent;border-radius:10px;box-shadow:none;color:#5360df;display:inline-flex;height:30px;justify-content:center;min-height:30px;padding:0;width:30px}.whiteboardBoardSwitchButton:hover:not(:disabled),.whiteboardBoardSwitchButton:focus-visible{background:#eef2ff;box-shadow:none;color:#4754da;outline:none;transform:none}.whiteboardBoardSwitchButton:disabled{color:#a9b3c7;cursor:not-allowed;opacity:.55}.whiteboardBoardSwitchIcon{height:16px;width:16px}.whiteboardBoardLabel{color:#26324f;font-size:.83rem;font-weight:800;min-width:64px;text-align:center;white-space:nowrap}.roomLockControl{align-items:center;border-radius:14px;display:inline-flex;flex:0 0 auto;padding:0}.openRoomControl{background:#fff}.openRoomControl .roomLockButton{color:#5360df}.lockedRoomControl{background:#fff1f2}.lockedRoomControl .roomLockButton.activeIconControl{background:#ffe4e6;box-shadow:inset 0 0 0 2px #f43f5ed6,0 10px 24px #f43f5e26;color:#e11d48}.lockedRoomControl .roomLockButton.activeIconControl:hover:not(:disabled),.lockedRoomControl .roomLockButton.activeIconControl:focus-visible{background:#fecdd3;color:#be123c}.boardSurfaceToolbar{align-items:center;display:none;justify-content:flex-start;margin:-.28rem 0 -.36rem;min-height:36px;padding:0 .22rem;position:relative;z-index:2}.boardSurfaceToolbar button{background:transparent;box-shadow:none;color:#465069;font-size:.84rem;min-height:36px;padding:.48rem .58rem}.boardViewerStatus{align-items:center;background:#f8faff;border:1px solid rgba(218,225,248,.95);border-radius:14px;color:#465069;display:inline-flex;font-size:.84rem;font-weight:700;min-height:36px;padding:.48rem .72rem;white-space:nowrap}.topEffectsMenu{position:relative}.topEffectsDropdown{background:#fffffffa;border:1px solid rgba(213,222,247,.95);border-radius:12px;box-shadow:0 18px 42px #18204a29;display:grid;gap:.15rem;min-width:150px;padding:.35rem;position:fixed;right:auto;top:0;z-index:140}.topEffectsDropdown button{background:transparent;border-radius:8px;box-shadow:none;color:#26324f;font-size:.84rem;min-height:32px;padding:.45rem .55rem;text-align:left;transform:none}.topEffectsDropdown button:hover,.topEffectsDropdown button:focus-visible{background:#eef2ff;box-shadow:none;color:#5360df;outline:none;transform:none}.iconControlButton{align-items:center;background:#fff;border-radius:14px;box-shadow:inset 0 0 0 1px #d8e0f8f2,0 10px 22px #3746a00f;color:#5360df;display:inline-flex;height:36px;justify-content:center;min-height:36px;min-width:36px;padding:0;position:relative;width:36px}.iconControlButton:hover:not(:disabled),.iconControlButton:focus-visible{background:#f2f0ff;color:#4754da;transform:translateY(-1px)}.iconControlButton:disabled{cursor:not-allowed;opacity:.42;transform:none}.iconControlButton.loadingIconControl:disabled{opacity:1}.activeIconControl{background:#ecfdf5;box-shadow:inset 0 0 0 2px #10b981e6,0 10px 24px #10b98129;color:#059669}.activeIconControl:hover:not(:disabled),.activeIconControl:focus-visible{background:#dffbed;color:#047857}.mutedIconControl{background:#f5f7fc;color:#7b879d}.dangerIconControl{background:#fff0f3;color:#dc2f52}.dangerIconControl:hover:not(:disabled),.dangerIconControl:focus-visible{background:#ffe4e9;color:#bd1f3f}.controlLucideIcon{color:currentColor;display:block;height:19px;width:19px}.controlButtonSpinner{height:18px;width:18px}.activeIconControl .controlLucideIcon{height:20px;width:20px}.floatingHint{background:#111827;border-radius:10px;box-shadow:0 12px 28px #0f172a2e;color:#fff;font-size:.76rem;font-weight:600;line-height:1.2;max-width:min(260px,calc(100vw - 24px));padding:.55rem .7rem;pointer-events:none;position:fixed;text-align:center;white-space:normal;width:max-content;z-index:1000}.floatingHint:before{background:#111827;content:"";height:8px;left:var(--hint-arrow-left);position:absolute;transform:translate(-50%) rotate(45deg);width:8px}.floatingHint.bottom:before{top:-4px}.floatingHint.top:before{bottom:-4px}.whiteboardShell{--whiteboard-background-color: #ffffff;--whiteboard-pattern-color: rgba(128, 143, 255, .08);background:var(--whiteboard-background-color);border:1px solid rgba(221,228,249,.98);border-radius:24px;flex:1;max-height:1200px;min-height:0;overflow:visible;position:relative;transform:translateY(0);transition:flex-basis .28s ease,max-height .28s ease,opacity .18s ease,transform .28s ease,border-width .28s ease}.whiteboardBackgroundGrid .whiteboardCanvas{background:linear-gradient(var(--whiteboard-pattern-color) 1px,transparent 1px),linear-gradient(90deg,var(--whiteboard-pattern-color) 1px,transparent 1px),var(--whiteboard-background-color);background-position:var(--whiteboard-viewport-x) var(--whiteboard-viewport-y),var(--whiteboard-viewport-x) var(--whiteboard-viewport-y),0 0;background-size:var(--whiteboard-grid-size) var(--whiteboard-grid-size),var(--whiteboard-grid-size) var(--whiteboard-grid-size),auto}.whiteboardBackgroundLines .whiteboardCanvas{background:linear-gradient(var(--whiteboard-pattern-color) 1px,transparent 1px),var(--whiteboard-background-color);background-position:0 var(--whiteboard-viewport-y),0 0;background-size:100% var(--whiteboard-line-size),auto}.whiteboardBackgroundBlank .whiteboardCanvas{background:var(--whiteboard-background-color)}.whiteboardBackgroundOldDesk .whiteboardCanvas{background:var(--whiteboard-old-desk-image),var(--whiteboard-background-color);background-position:center;background-repeat:no-repeat;background-size:cover}.collapsedBoardRoom .whiteboardShell{border-width:0;flex:0 0 0;max-height:0;min-height:0;opacity:0;pointer-events:none;transform:translateY(-24px)}.boardExpandButton{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:#ffffff94;border:1px solid rgba(255,255,255,.7);box-shadow:inset 0 0 0 1px #d8e0f88c,0 14px 34px #0f172a29;color:#23304a;position:absolute;right:1rem;top:1rem;z-index:7}.boardExpandButton:hover:not(:disabled),.boardExpandButton:focus-visible{background:#ffffffc2;color:#111827}.expandedBoardRoom .boardExpandButton{right:1.1rem;top:1.1rem}.expandedBoardRoom .whiteboardTools{bottom:1rem;transform:translate(-50%)}.whiteboardTools{align-items:center;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:#fffffff0;border:1px solid rgba(220,226,248,.95);border-radius:18px;bottom:.8rem;box-shadow:0 18px 44px #3746a033;display:flex;flex-wrap:nowrap;gap:.45rem;left:50%;max-width:calc(100% - 2rem);overflow-x:auto;overflow-y:hidden;padding:.42rem .55rem;position:absolute;scrollbar-width:thin;top:auto;transform:translate(-50%);width:max-content;z-index:30}.whiteboardShellMenuOpen{z-index:80}.whiteboardTools.whiteboardToolsMenuOpen{overflow:visible;z-index:120}.whiteboardTools button{align-items:center;background:transparent;border-radius:10px;box-shadow:none;display:inline-flex;height:32px;justify-content:center;padding:0;width:32px}.whiteboardToolGroup{display:flex;flex:0 0 auto;flex-wrap:nowrap;gap:.25rem}.whiteboardToolMenuControl{flex:0 0 auto;position:relative}.whiteboardPaletteControl{border-left:1px solid rgba(220,226,248,.95);flex:0 0 auto;padding-left:.45rem;position:relative}.whiteboardImageControl{border-left:1px solid rgba(220,226,248,.95);flex:0 0 auto;padding-left:.45rem}.whiteboardImageFileInput{display:none}.whiteboardBackgroundControl{border-left:1px solid rgba(220,226,248,.95);flex:0 0 auto;padding-left:.45rem;position:relative}.whiteboardPaletteButton,.whiteboardBackgroundButton{position:relative}.whiteboardPalettePreview{background:var(--active-color);border-radius:999px;box-shadow:inset 0 0 0 2px #ffffffeb,0 0 0 1px #0f172a29;height:20px;width:20px}.whiteboardBackgroundPreview{--preview-pattern-color: rgba(83, 96, 223, .18);background:var(--background-preview-color);border-radius:7px;box-shadow:inset 0 0 0 1px #0f172a24,0 0 0 1px #ffffffd9;display:block;height:22px;overflow:hidden;width:22px}.whiteboardBackgroundPreview-grid{background:linear-gradient(var(--preview-pattern-color) 1px,transparent 1px),linear-gradient(90deg,var(--preview-pattern-color) 1px,transparent 1px),var(--background-preview-color);background-size:7px 7px}.whiteboardBackgroundPreview-lines{background:linear-gradient(var(--preview-pattern-color) 1px,transparent 1px),var(--background-preview-color);background-size:100% 7px}.whiteboardBackgroundPreview-blank{background:var(--background-preview-color)}.whiteboardBackgroundPreview-oldDesk{background:var(--whiteboard-old-desk-image),#111827;background-position:center;background-repeat:no-repeat;background-size:cover}.whiteboardColorMenu{background:#fffffffa;border:1px solid rgba(220,226,248,.98);border-radius:12px;bottom:calc(100% + .45rem);box-shadow:0 14px 34px #3746a029;left:0;padding:.48rem;pointer-events:auto;position:absolute;transform:none;width:max-content;z-index:64}.whiteboardBackgroundMenu{background:#fffffffa;border:1px solid rgba(220,226,248,.98);border-radius:16px;bottom:calc(4.4rem + env(safe-area-inset-bottom,0px));box-shadow:0 18px 44px #3746a02e;left:50%;padding:.5rem;pointer-events:auto;position:fixed;transform:translate(-50%);width:min(270px,calc(100vw - 2rem));z-index:64}.whiteboardColorGrid{display:grid;gap:.35rem;grid-template-columns:repeat(4,28px)}.whiteboardBackgroundPatternGrid{display:grid;gap:.35rem;grid-template-columns:repeat(3,1fr)}.whiteboardBackgroundColorGrid{border-top:1px solid rgba(220,226,248,.95);display:grid;gap:.35rem;grid-template-columns:repeat(4,1fr);margin-top:.45rem;padding-top:.45rem}.whiteboardToolButton{color:#344054;line-height:1;position:relative}.whiteboardObjectSelectButton .whiteboardLucideIcon{fill:currentColor}.whiteboardToolChevron{bottom:3px;color:currentColor;height:8px;opacity:.75;position:absolute;right:3px;width:8px}.whiteboardLucideIcon{color:currentColor;height:18px;width:18px}.whiteboardOldDeskPatternIcon{background:var(--whiteboard-old-desk-image),#111827;background-position:center;background-repeat:no-repeat;background-size:cover;border-radius:4px;box-shadow:inset 0 0 0 1px #ffffff73;display:inline-block}.whiteboardToolMenu{--whiteboard-tool-menu-columns: 3;--whiteboard-tool-menu-item-size: 36px;background:#fffffffa;border:1px solid rgba(220,226,248,.98);border-radius:12px;bottom:var(--whiteboard-tool-menu-bottom, calc(4.4rem + env(safe-area-inset-bottom, 0px)) );box-shadow:0 14px 34px #3746a029;display:grid;gap:.28rem;grid-template-columns:repeat(var(--whiteboard-tool-menu-columns),var(--whiteboard-tool-menu-item-size));left:var(--whiteboard-tool-menu-left, 50%);max-width:calc(100vw - var(--whiteboard-tool-menu-left, 1rem) - .75rem);padding:.36rem;pointer-events:auto;position:fixed;transform:var(--whiteboard-tool-menu-transform, translateX(-50%));width:max-content;z-index:140}.whiteboardToolMenu-grid{grid-template-columns:repeat(var(--whiteboard-tool-menu-columns),var(--whiteboard-tool-menu-item-size))}.whiteboardShapeToolMenu{grid-template-columns:repeat(2,auto)}.whiteboardShapeToolColumn{display:grid;gap:.28rem;grid-template-columns:var(--whiteboard-tool-menu-item-size)}.whiteboardShapeToolColumn+.whiteboardShapeToolColumn{border-left:1px solid rgba(220,226,248,.98);padding-left:.36rem}.whiteboardToolMenuItem{align-items:center;background:#f8faff;border:0;border-radius:9px;box-shadow:inset 0 0 0 1px #6f7dff29;color:#344054;display:inline-flex;height:var(--whiteboard-tool-menu-item-size);justify-content:center;line-height:1;min-height:var(--whiteboard-tool-menu-item-size);min-width:var(--whiteboard-tool-menu-item-size);padding:0;width:var(--whiteboard-tool-menu-item-size)}.whiteboardToolMenuItem:hover,.whiteboardToolMenuItem:focus-visible{background:#eef2ff;box-shadow:inset 0 0 0 1px #5360df38;color:#5360df;outline:none;transform:none}.activeWhiteboardMenuItem,.activeWhiteboardMenuItem:hover,.activeWhiteboardMenuItem:focus-visible{background:#ecfdf5;box-shadow:inset 0 0 0 2px #10b981e6,0 10px 24px #10b98129;color:#059669;outline:none;transform:none}.whiteboardToolButton:hover,.whiteboardToolButton:focus-visible{background:#eef2ff;box-shadow:inset 0 0 0 1px #5360df38;color:#5360df;outline:none;transform:none}.whiteboardTools .activeWhiteboardTool,.whiteboardTools .activeWhiteboardTool:hover,.whiteboardTools .activeWhiteboardTool:focus-visible{background:#ecfdf5;box-shadow:inset 0 0 0 2px #10b981e6,0 10px 24px #10b98129;color:#059669;outline:none;transform:none}.whiteboardTools .whiteboardBackgroundPatternButton{color:#344054;font-size:.76rem;font-weight:700;gap:.25rem;height:32px;min-width:0;padding:0 .35rem;width:auto}.whiteboardMenuLucideIcon{color:#5360df;flex:0 0 auto;height:16px;width:16px}.whiteboardShapeToolMenu .whiteboardFilledShapeIcon{color:#111827;fill:currentColor}.whiteboardLayerMenu{background:#fffffffc;border:1px solid rgba(220,226,248,.98);border-radius:12px;box-shadow:0 16px 40px #26324f33;display:grid;gap:.25rem;min-width:182px;padding:.35rem;position:fixed;z-index:220}.whiteboardLayerMenu button{align-items:center;background:transparent;border:0;border-radius:8px;box-shadow:none;color:#26324f;display:flex;font-size:.86rem;gap:.5rem;justify-content:flex-start;min-height:36px;padding:.45rem .65rem;width:100%}.whiteboardLayerMenu button:hover,.whiteboardLayerMenu button:focus-visible{background:#eef2ff;color:#4754da;outline:none;transform:none}.whiteboardLayerMenu svg{height:16px;width:16px}.whiteboardTools .whiteboardBackgroundPatternButton:hover,.whiteboardTools .whiteboardBackgroundPatternButton:focus-visible,.whiteboardTools .activeWhiteboardBackgroundPattern{background:#eef2ff;box-shadow:inset 0 0 0 1px #5360df38;color:#5360df;outline:none;transform:none}.whiteboardTools .whiteboardColorSwatch{background:var(--swatch-color);border-radius:999px;flex:0 0 28px;box-shadow:inset 0 0 0 1px #0f172a1f;height:28px;width:28px}.whiteboardTools .whiteboardColorSwatch:hover,.whiteboardTools .whiteboardColorSwatch:focus-visible,.whiteboardTools .activeWhiteboardColor{box-shadow:inset 0 0 0 2px #fff,0 0 0 2px #5360dfcc;outline:none;transform:none}.whiteboardCustomColorButton{align-items:center;background:#f8faff;border-radius:10px;box-shadow:inset 0 0 0 1px #6f7dff29;cursor:pointer;display:flex;height:32px;justify-content:center;margin-top:.38rem;position:relative;width:100%}.whiteboardCustomColorButton:hover,.whiteboardCustomColorButton:focus-within{background:#eef2ff;box-shadow:inset 0 0 0 1px #5360df47}.whiteboardCustomColorInput{cursor:pointer;height:100%;inset:0;opacity:0;position:absolute;width:100%}.whiteboardCustomColorPreview{background:conic-gradient(#ef4444,#f97316,#facc15,#22c55e,#06b6d4,#2563eb,#7c3aed,#ec4899,#ef4444);border-radius:999px;box-shadow:inset 0 0 0 1px #ffffffd6,0 0 0 1px #0f172a21;display:block;height:22px;position:relative;width:22px}.whiteboardCustomColorPreview:after{background:var(--custom-color);border-radius:inherit;box-shadow:inset 0 0 0 1px #ffffffe6,0 0 0 1px #0f172a24;content:"";inset:5px;position:absolute}.whiteboardTools .whiteboardBackgroundColorSwatch{background:var(--background-color);border-radius:9px;flex:0 0 auto;box-shadow:inset 0 0 0 1px #0f172a1f;height:28px;width:100%}.whiteboardTools .whiteboardBackgroundColorSwatch:hover,.whiteboardTools .whiteboardBackgroundColorSwatch:focus-visible,.whiteboardTools .activeWhiteboardBackgroundColor{box-shadow:inset 0 0 0 2px #fff,0 0 0 2px #5360dfcc;outline:none;transform:none}.whiteboardStrokeSlider{accent-color:#5360df;border-left:1px solid rgba(220,226,248,.95);flex:0 0 118px;height:28px;padding:0 0 0 .55rem;width:118px}.whiteboardTextControls{border-left:1px solid rgba(220,226,248,.95);display:grid;flex:0 0 176px;gap:.35rem;grid-template-columns:112px 54px;padding-left:.55rem}.whiteboardTextControls select,.whiteboardTextControls input{border-radius:10px;font-size:.78rem;min-height:32px;padding:.3rem .45rem}.whiteboardHistoryControls{border-left:1px solid rgba(220,226,248,.95);display:flex;flex:0 0 auto;gap:.25rem;padding-left:.45rem}.whiteboardTools .whiteboardHistoryButton:disabled,.whiteboardTools .whiteboardHistoryButton:disabled:hover,.whiteboardTools .whiteboardHistoryButton:disabled:focus-visible{background:transparent;box-shadow:none;color:#98a2b3;cursor:not-allowed;opacity:.55;outline:none;transform:none}.whiteboardTools .whiteboardClearButton{color:#dc2626}.whiteboardTools .whiteboardClearButton:hover,.whiteboardTools .whiteboardClearButton:focus-visible{background:#fef2f2;color:#b91c1c}.whiteboardCanvas{--whiteboard-viewport-x: 0px;--whiteboard-viewport-y: 0px;--whiteboard-viewport-zoom: 1;--whiteboard-grid-size: 22px;--whiteboard-line-size: 28px;--whiteboard-teacher-frame-bottom: 0px;--whiteboard-teacher-frame-height: 100%;--whiteboard-teacher-frame-left: 0px;--whiteboard-teacher-frame-right: 0px;--whiteboard-teacher-frame-top: 0px;--whiteboard-teacher-frame-width: 100%;border-radius:inherit;color:#1f2937;height:100%;overflow:hidden;padding:0;position:relative;touch-action:none}.whiteboardTeacherViewportLocked{background:#eef2f7!important}.whiteboardTeacherViewportLocked .canvas-container{clip-path:inset(var(--whiteboard-teacher-frame-top) var(--whiteboard-teacher-frame-right) var(--whiteboard-teacher-frame-bottom) var(--whiteboard-teacher-frame-left))}.whiteboardTeacherViewportFrame{border-radius:8px;box-shadow:0 0 0 9999px #eef2f7;height:var(--whiteboard-teacher-frame-height);left:var(--whiteboard-teacher-frame-left);pointer-events:none;position:absolute;top:var(--whiteboard-teacher-frame-top);width:var(--whiteboard-teacher-frame-width);z-index:2}.whiteboardTouchScrollCanvas,.whiteboardTouchScrollCanvas .canvas-container,.whiteboardTouchScrollCanvas .lower-canvas,.whiteboardTouchScrollCanvas .upper-canvas{touch-action:pan-y pinch-zoom!important}.whiteboardReadOnlyCanvas,.whiteboardReadOnlyCanvas .canvas-container,.whiteboardReadOnlyCanvas .lower-canvas,.whiteboardReadOnlyCanvas .upper-canvas{cursor:default!important}.whiteboardEraserCursorActive,.whiteboardEraserCursorActive .canvas-container,.whiteboardEraserCursorActive .lower-canvas,.whiteboardEraserCursorActive .upper-canvas{cursor:none!important}.whiteboardPanModeActive,.whiteboardPanModeActive .canvas-container,.whiteboardPanModeActive .lower-canvas,.whiteboardPanModeActive .upper-canvas{cursor:grab!important}.whiteboardPanningActive,.whiteboardPanningActive .canvas-container,.whiteboardPanningActive .lower-canvas,.whiteboardPanningActive .upper-canvas{cursor:grabbing!important}.whiteboardEraserCursor{background:#ffffff2e;border:2px solid rgba(37,99,235,.92);border-radius:999px;box-shadow:0 0 0 1px #ffffffdb,0 8px 18px #2563eb29;height:var(--eraser-cursor-size);left:var(--eraser-cursor-x);pointer-events:none;position:absolute;top:var(--eraser-cursor-y);transform:translate(-50%,-50%);width:var(--eraser-cursor-size);z-index:4}.whiteboardTextMoveHandle{background:#fff;border:2px solid #5360df;border-radius:999px;box-shadow:0 0 0 3px #5360df24,0 8px 18px #2563eb33;cursor:grab;height:18px;left:var(--text-handle-x);padding:0;position:absolute;top:var(--text-handle-y);transform:translate(-50%,-50%);width:18px;z-index:5}.whiteboardTextMoveHandle:hover,.whiteboardTextMoveHandle:focus-visible{background:#eef2ff;outline:none}.whiteboardTextMoveHandle:active{cursor:grabbing}.whiteboardCanvas .canvas-container{height:100%!important;inset:0;position:absolute!important;width:100%!important;z-index:1}.whiteboardDrawingCanvas,.whiteboardCanvas .lower-canvas,.whiteboardCanvas .upper-canvas{height:100%!important;width:100%!important}.stageVideoGrid{animation:stage-video-in .24s ease both;align-content:center;box-sizing:border-box;display:grid;flex:1 1 auto;gap:.9rem;grid-auto-rows:minmax(0,1fr);grid-template-columns:repeat(2,minmax(0,1fr));justify-content:center;min-height:0;min-width:0;overflow:hidden;width:100%}.spotlightVideoStage{animation:stage-video-in .24s ease both;display:grid;flex:1 1 auto;min-height:0;min-width:0;overflow:hidden;width:100%}.stageVideoGrid[data-count="1"]{grid-template-columns:minmax(0,1fr)}.stageVideoGrid[data-count="3"]{grid-template-columns:repeat(4,minmax(0,1fr))}.stageVideoGrid[data-count="5"],.stageVideoGrid[data-count="7"],.stageVideoGrid[data-count="8"]{grid-template-columns:repeat(6,minmax(0,1fr))}.stageVideoGrid[data-count="6"],.stageVideoGrid[data-count="9"]{grid-template-columns:repeat(3,minmax(0,1fr))}.stageVideoGrid[data-count="3"] .stageParticipantTile{grid-column:span 2}.stageVideoGrid[data-count="3"] .stageParticipantTile:nth-child(3){grid-column:2 / span 2}.stageVideoGrid[data-count="5"] .stageParticipantTile,.stageVideoGrid[data-count="7"] .stageParticipantTile,.stageVideoGrid[data-count="8"] .stageParticipantTile{grid-column:span 2}.stageVideoGrid[data-count="5"] .stageParticipantTile:nth-child(4),.stageVideoGrid[data-count="8"] .stageParticipantTile:nth-child(7){grid-column:2 / span 2}.stageVideoGrid[data-count="5"] .stageParticipantTile:nth-child(5),.stageVideoGrid[data-count="8"] .stageParticipantTile:nth-child(8){grid-column:4 / span 2}.stageVideoGrid[data-count="7"] .stageParticipantTile:nth-child(7){grid-column:3 / span 2}@keyframes stage-video-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.screenShareCanvas{background:radial-gradient(circle at 50% 0%,rgba(99,114,243,.16),transparent 18rem),#0f172a;border-radius:20px;inset:0;opacity:0;overflow:hidden;pointer-events:none;position:absolute;transition:opacity .12s ease;visibility:hidden;z-index:5}.visibleScreenShare{opacity:1;pointer-events:auto;visibility:visible}.screenShareVideo{background:#0f172a;display:none;height:100%;object-fit:contain;width:100%}.activeScreenVideo{display:block}.screenShareBadge{background:#0f172ac2;border:1px solid rgba(255,255,255,.16);border-radius:999px;bottom:1rem;color:#fff;font-size:.82rem;font-weight:650;left:1rem;padding:.45rem .72rem;position:absolute}.videoTile{align-items:center;background:radial-gradient(circle at 52% 28%,rgba(111,125,255,.13),transparent 7rem),radial-gradient(circle at 100% 90%,rgba(128,143,255,.1),transparent 18rem),linear-gradient(135deg,#fffffffa,#f6f8ffed);border:1px solid rgba(211,220,247,.96);border-radius:26px;box-shadow:inset 0 1px #ffffffe6,0 24px 58px #3746a01a;color:#202a3d;display:flex;justify-content:center;min-height:0;overflow:hidden;padding:1.4rem;position:relative}.videoTile:before,.videoTile:after{background:#707dff12;border-radius:42% 58% 48% 52%;content:"";filter:blur(.2px);height:220px;position:absolute;transform:rotate(-18deg);width:300px;z-index:0}.videoTile:before{left:-120px;top:55px}.videoTile:after{bottom:-70px;right:-75px}.student{background:radial-gradient(circle at 52% 35%,rgba(63,211,200,.18),transparent 7rem),radial-gradient(circle at 100% 86%,rgba(63,211,200,.11),transparent 17rem),linear-gradient(135deg,#f8fffffa,#e8fcfaed);border-color:#bcf0eefa}.videoTile video{background:#0f172a;height:100%;inset:0;object-fit:contain;position:absolute;width:100%;z-index:0}.videoPlaceholder{align-items:center;color:#59617f;display:flex;flex-direction:column;gap:.7rem;inset:1rem;justify-content:center;padding:1rem;position:absolute;text-align:center;z-index:1}.videoPlaceholder strong{color:#202a3d;font-size:clamp(1.05rem,1.7vw,1.3rem);font-weight:650}.videoPlaceholder p{margin:0;max-width:480px}.videoPlaceholder button{background:linear-gradient(135deg,#6b7cff,#4e5cf6);box-shadow:0 18px 34px #4e5cf647;color:#fff}.videoTile span{background:#ffffffc7;border:1px solid rgba(213,222,247,.96);border-radius:999px;bottom:1.05rem;box-shadow:0 12px 26px #3746a014;color:#3f4a61;font-weight:600;left:1.05rem;padding:.5rem .85rem;position:absolute;z-index:1}.celebration{inset:0;pointer-events:none;position:absolute;z-index:3}.celebration i{--hue: calc(var(--i) * 31deg);animation:confetti-fall 2.4s ease-out forwards;background:hsl(var(--hue),90%,60%);border-radius:4px;height:14px;left:calc((var(--i) * 41px) % 100%);position:absolute;top:-20px;transform:rotate(calc(var(--i) * 18deg));width:9px}.celebration-balloons i{animation-name:balloon-rise;border-radius:999px 999px 860px 860px;bottom:-40px;height:34px;top:auto;width:26px}.celebration-stars i{animation-name:star-burst;clip-path:polygon(50% 0%,61% 36%,98% 36%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 36%,39% 36%);height:24px;left:50%;top:50%;width:24px}@keyframes confetti-fall{0%{opacity:0;transform:translateY(-20px) rotate(0)}15%{opacity:1}to{opacity:0;transform:translateY(80vh) translate(calc((var(--i) - 12) * 10px)) rotate(720deg)}}@keyframes balloon-rise{0%{opacity:0;transform:translateY(0) scale(.7)}20%{opacity:1}to{opacity:0;transform:translateY(-85vh) translate(calc((var(--i) - 12) * 8px)) scale(1.1)}}@keyframes star-burst{0%{opacity:0;transform:translate(-50%,-50%) scale(.1)}20%{opacity:1}to{opacity:0;transform:translate(calc(-50% + (var(--i) - 12) * 28px),calc(-50% + ((var(--i) % 5) - 2) * 60px)) scale(1.2) rotate(360deg)}}.roomPanel{background:#ffffffd1;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid rgba(213,222,247,.94);border-radius:28px;box-shadow:0 24px 60px #3746a01a;display:flex;flex-direction:column;gap:.75rem;min-height:0;overflow-y:auto;padding:1.25rem;overscroll-behavior:contain}.roomPanel h1{font-size:1.35rem;letter-spacing:-.03em;margin:0}.participantsCard{display:grid;gap:.7rem}.countBadge{align-items:center;background:#eef1ff;border-radius:999px;color:#5360df;display:inline-flex;font-size:.78rem;font-weight:650;height:24px;justify-content:center;min-width:24px;padding:0 .45rem}.participantTile{aspect-ratio:16 / 8.4;background:#0f172a;border:1px solid rgba(219,226,249,.95);border-radius:18px;box-shadow:0 14px 32px #3746a014;overflow:visible;position:relative}.participantTile video{background:#0f172a;border-radius:inherit;height:100%;inset:0;object-fit:contain;position:absolute;width:100%;z-index:0}.participantTile.hasParticipantPlaceholder{background:linear-gradient(135deg,#eef2ff,#d9e4ef)}.participantTile.hasParticipantPlaceholder video{opacity:0}.participantTile.stageParticipantTile{align-self:stretch;aspect-ratio:auto;border-radius:20px;box-sizing:border-box;height:100%;min-height:0;min-width:0;overflow:hidden;width:100%}.participantTile.spotlightParticipantTile{align-self:stretch;aspect-ratio:auto;border-radius:22px;box-sizing:border-box;height:100%;min-height:0;min-width:0;overflow:hidden;width:100%}.participantTile.stageParticipantTile video{background:#0f172a;object-fit:contain}.participantTile.spotlightParticipantTile video{background:#0f172a;object-fit:contain}.clickableParticipantTile,.clickableParticipantTile.spotlightParticipantTile{cursor:default}.participantTile.stageParticipantTileMoving{animation:stage-tile-move-in .56s cubic-bezier(.2,.82,.22,1) .17s both;transform-origin:top left;will-change:transform,opacity;z-index:6}@keyframes stage-tile-move-in{0%{opacity:.92;transform:translate3d(var(--stage-start-x),var(--stage-start-y),0) scale(var(--stage-start-scale-x),var(--stage-start-scale-y))}65%{opacity:1}to{opacity:1;transform:translateZ(0) scale(1)}}@media(prefers-reduced-motion:reduce){.participantTile.stageParticipantTileMoving{animation:none;transform:none}}.activeParticipant{border-color:#26c586e6;box-shadow:0 0 0 2px #26c5862e,0 14px 32px #3746a014}.participantPlaceholder{align-items:center;align-content:center;background:linear-gradient(135deg,#eef2ff,#d9e4ef);border-radius:inherit;color:#657087;display:grid;gap:.35rem;inset:0;justify-items:center;overflow:hidden;padding:.8rem;position:absolute;text-align:center;z-index:1}.participantPlaceholder span,.participantPlaceholder .placeholderLucideIcon{font-size:1.45rem;opacity:.65}.placeholderLucideIcon{color:currentColor;height:28px;width:28px}.participantPlaceholder strong{margin:0}.participantPlaceholder p{font-size:.76rem;margin:0}.stageParticipantTile .participantPlaceholder{background:#0f172a;color:#94a3b8;gap:.55rem;padding:1.4rem}.stageParticipantTile .participantPlaceholder span,.stageParticipantTile .participantPlaceholder .placeholderLucideIcon{font-size:1.65rem}.stageParticipantTile .participantPlaceholder strong{color:#cbd5e1;font-size:.96rem}.stageParticipantTile .participantPlaceholder p{color:#94a3b8;font-size:.82rem}.participantName{background:#1118279e;border-radius:999px;bottom:.55rem;color:#fff;font-size:.82rem;font-weight:650;left:.55rem;padding:.35rem .6rem;position:absolute;z-index:2}.networkIndicator{align-items:end;display:inline-flex;gap:2px;height:22px;justify-content:center;left:.55rem;padding:0;position:absolute;top:.55rem;width:30px;z-index:3}.participantMediaBadges{align-items:center;display:flex;flex-wrap:wrap;gap:.35rem;left:2.7rem;max-width:calc(100% - 5.4rem);position:absolute;top:.48rem;z-index:4}.participantMediaBadge{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.18);border-radius:8px;box-shadow:0 8px 18px #0f172a29;color:#fff;display:inline-flex;font-size:.7rem;font-weight:700;gap:.25rem;line-height:1;min-height:24px;padding:.28rem .42rem;white-space:nowrap}.participantMediaBadgeIcon{flex:0 0 auto;height:13px;width:13px}.mutedMediaBadge{background:#0f172ab8}.activeMediaBadge{background:#0369a1c7}.stageParticipantTile .participantMediaBadges{gap:.42rem;left:3rem;max-width:calc(100% - 6rem);top:.7rem}.stageParticipantTile .participantMediaBadge{font-size:.76rem;min-height:28px}.networkIndicator i{background:currentColor;border-radius:999px 999px 2px 2px;display:block;width:4px}.networkIndicator i:nth-child(1){height:5px}.networkIndicator i:nth-child(2){height:8px}.networkIndicator i:nth-child(3){height:12px}.goodNetwork{color:#34d399}.mediumNetwork{color:#fbbf24}.badNetwork{color:#f87171}.unknownNetwork{color:#cbd5e1}.participantTileActions{position:absolute;right:.45rem;top:.45rem;z-index:5}.participantMenuButton{align-items:center;background:transparent;border-radius:0;box-shadow:none;color:#ffffffeb;display:inline-flex;font-size:1.2rem;height:28px;justify-content:center;line-height:1;padding:0;width:28px}.participantMenuIcon{color:currentColor;filter:drop-shadow(0 1px 2px rgba(17,24,39,.55));height:16px;width:16px}.participantSubmenuIcon{height:16px;width:16px}.participantMenuActionIcon{flex:0 0 auto;height:16px;width:16px}.participantMenuButton:hover,.participantMenuButton:focus-visible{background:transparent;box-shadow:none;color:#fff;outline:none;transform:none}.participantOptionsMenu,.participantQualitySubmenu{background:#fffffffa;border:1px solid rgba(213,222,247,.95);border-radius:12px;box-shadow:0 18px 42px #18204a29;min-width:168px;padding:.35rem;position:absolute}.participantOptionsMenu{right:0;top:calc(100% + .35rem)}.participantMenuItem{align-items:center;border-radius:8px;color:#26324f;display:flex;font-size:.84rem;font-weight:650;gap:.75rem;justify-content:space-between;min-height:34px;padding:.45rem .55rem;position:relative;white-space:nowrap}.participantMenuItem:hover,.participantMenuItem:focus-visible{background:#eef2ff;outline:none}.participantDangerMenuItem{background:transparent;border:0;box-shadow:none;color:#b91c1c;cursor:pointer;transform:none;width:100%}.participantDangerMenuItem:hover,.participantDangerMenuItem:focus-visible{background:#fef2f2;box-shadow:none;color:#991b1b;outline:none;transform:none}.participantQualitySubmenu{right:calc(100% + .4rem);top:0}.participantQualityButton{background:transparent;border-radius:8px;box-shadow:none;color:#26324f;display:block;font-size:.84rem;min-height:32px;padding:.45rem .55rem;text-align:left;transform:none;width:100%}.participantQualityButton:hover,.participantQualityButton:focus-visible,.activeQualityOption{background:#eef2ff;box-shadow:none;color:#5360df;outline:none;transform:none}.lessonList{display:grid;gap:.75rem}.lessonList h2{margin-bottom:0}.miniCard{background:#ffffffdb;border:1px solid rgba(219,226,249,.95);border-radius:20px;box-shadow:0 14px 32px #3746a00f;padding:.85rem}.miniCard strong{color:#202a3d;display:block;font-weight:650;margin-bottom:.35rem}.miniCard p{margin-bottom:0}.successCard{background:linear-gradient(135deg,#ecfdf5f5,#f0fdfae6);border-color:#9ee8cd}.googleButton{min-height:44px}.page .miniCard{background:linear-gradient(180deg,#fffffffa,#f9fcfff2);border:1px solid rgba(203,214,238,.88);border-radius:8px;box-shadow:var(--edu-surface-highlight),var(--edu-shadow-sm);padding:1.1rem}.page .miniCard strong{color:#182033;font-weight:750}.page .heroActions{flex-wrap:wrap;justify-content:flex-start}.modalBackdrop{align-items:center;-webkit-backdrop-filter:blur(14px) saturate(.92);backdrop-filter:blur(14px) saturate(.92);background:#0f172a80;display:flex;inset:0;justify-content:center;max-width:100dvw;overflow-x:clip;padding:1rem;position:fixed;z-index:20}.modal{background:#fff;border:1px solid rgba(226,232,246,.96);border-radius:26px;box-shadow:0 30px 90px #0f172a38,0 1px #ffffffbf inset;max-width:720px;min-width:0;padding:1.5rem;width:100%}.settingsModal{background:linear-gradient(180deg,#fffffffc,#f7fafffa);border-color:#e5ebfcfa;border-radius:24px;display:grid;gap:1rem;max-width:740px;overflow:visible;padding:1.15rem}.settingsHeader{align-items:center;border-bottom:1px solid rgba(218,225,248,.78);display:flex;gap:1rem;justify-content:space-between;padding:.05rem .1rem .86rem}.settingsHeader h2{color:#18233d;font-size:1.35rem;letter-spacing:0;line-height:1.2;margin:0}.modalCloseButton{align-items:center;background:transparent;border-radius:0;box-shadow:none;color:#64748b;display:inline-flex;font-size:1.65rem;height:36px;justify-content:center;line-height:1;padding:0 0 .15rem;width:36px}.modalCloseButton:hover,.modalCloseButton:focus-visible{background:transparent;box-shadow:none;color:#202a3d;outline:none;transform:none}.settingsGrid{display:grid;align-items:start;gap:.78rem;grid-template-columns:repeat(3,minmax(0,1fr))}.deviceField{background:linear-gradient(180deg,#fffffff0,#f8fbffeb);border:1px solid rgba(214,223,248,.9);border-radius:18px;box-shadow:0 10px 24px #3746a00d,inset 0 1px #ffffffeb;color:#48546c;display:grid;font-size:.78rem;font-weight:800;gap:.45rem;min-width:0;padding:.68rem;position:relative}.openDeviceField{border-color:#6674ff73;box-shadow:0 18px 42px #3746a01c,0 0 0 3px #6372f31a}.disabledDeviceField{opacity:.58}.deviceFieldLabel{line-height:1.1}.deviceSelectButton{align-items:center;background:#fff;border:1px solid rgba(203,213,245,.96);border-radius:14px;box-shadow:inset 0 0 0 1px #f6f8fff2,0 8px 18px #3746a00a;color:#18233d;display:flex;font-size:.9rem;font-weight:750;gap:.55rem;justify-content:space-between;min-height:42px;min-width:0;padding:.62rem .72rem .62rem .86rem;text-align:left;width:100%}.deviceSelectButton:hover:not(:disabled),.deviceSelectButton:focus-visible{background:#fff;border-color:#6372f36b;box-shadow:inset 0 0 0 1px #6372f31f,0 12px 24px #3746a014;outline:none;transform:none}.deviceSelectButton span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deviceSelectIcon{color:#64708a;flex:0 0 auto;height:16px;transition:transform .16s ease;width:16px}.openDeviceField .deviceSelectIcon{transform:rotate(180deg)}.deviceSelectMenu{background:#fffffffa;border:1px solid rgba(208,218,246,.98);border-radius:16px;box-shadow:0 22px 54px #161f3f33,0 1px #fffc inset;display:grid;gap:.16rem;left:.55rem;margin-top:.42rem;max-height:min(230px,calc(100dvh - 220px));overflow-x:hidden;overflow-y:auto;padding:.32rem;position:absolute;right:.55rem;top:100%;z-index:90}.deviceSelectOption{align-items:center;background:transparent;border-radius:11px;box-shadow:none;color:#243049;display:flex;font-size:.86rem;font-weight:650;justify-content:flex-start;line-height:1.25;min-height:34px;padding:.5rem .62rem;text-align:left;transform:none;width:100%}.deviceSelectOption:hover,.deviceSelectOption:focus-visible{background:#eef2ff;box-shadow:none;color:#3947c8;outline:none;transform:none}.deviceSelectOption span{min-width:0;overflow:visible;overflow-wrap:anywhere;text-overflow:clip;white-space:normal}.activeDeviceSelectOption{background:linear-gradient(135deg,#6372f3,#4f5fe6);color:#fff}.activeDeviceSelectOption:hover,.activeDeviceSelectOption:focus-visible{background:linear-gradient(135deg,#5b6af0,#4655dc);color:#fff}.settingsActions{display:flex;justify-content:flex-end;padding-top:.1rem}.settingsActions button{min-height:46px;min-width:160px;padding:.72rem 1.35rem}.prejoinBackdrop{align-items:center;-webkit-backdrop-filter:blur(18px) saturate(.88);backdrop-filter:blur(18px) saturate(.88);background:radial-gradient(circle at 50% 18%,rgba(255,255,255,.18),transparent 24rem),#0f172a85;overflow-y:auto;padding:clamp(.75rem,2vh,1rem);z-index:35}.prejoinBackground{min-height:calc(100vh - 74px);pointer-events:none;-webkit-user-select:none;user-select:none}.prejoinFallbackPage{min-height:calc(100vh - 74px)}.prejoinModal{background:linear-gradient(180deg,#fffffffc,#f7fafffb);border:1px solid rgba(226,233,252,.96);border-radius:30px;box-shadow:0 34px 95px #0f172a3d,0 1px #ffffffd1 inset;display:grid;gap:.86rem;max-height:calc(100vh - 1.5rem);max-width:min(760px,calc(100dvw - 1.5rem));min-width:0;overflow:visible;padding:1.2rem;width:min(100%,calc(100dvw - 1.5rem))}.prejoinModal .settingsHeader{border-bottom:0;padding:.15rem .25rem .25rem}.prejoinModal .settingsHeader h2{color:#17213a;font-size:clamp(1.28rem,2.4vw,1.72rem);letter-spacing:0;line-height:1.05;max-width:590px;overflow-wrap:anywhere}.prejoinModal .modalCloseButton{background:#f7faffdb;border-radius:12px;color:#64748b;font-size:1.45rem;height:38px;width:38px}.prejoinModal .modalCloseButton:hover,.prejoinModal .modalCloseButton:focus-visible{background:#eef2ff;color:#26324f}.prejoinKicker{color:#5360df;font-size:.72rem;font-weight:800;letter-spacing:.12em;margin:0 0 .32rem;text-transform:uppercase}.prejoinPreview{align-items:center;background:radial-gradient(circle at 48% 16%,rgba(99,114,243,.2),transparent 18rem),linear-gradient(145deg,#101827,#0b1221);border:1px solid rgba(13,20,35,.12);border-radius:24px;box-shadow:0 18px 38px #0f172a24,0 1px #ffffff24 inset;display:flex;height:clamp(220px,34vh,310px);justify-content:center;min-width:0;min-height:0;overflow:hidden;position:relative;width:100%}.prejoinPreview video{background:#0f172a;height:100%;object-fit:contain;width:100%}.prejoinPlaceholder{align-items:center;color:#dbeafe;display:grid;gap:.5rem;inset:0;justify-items:center;padding:1.5rem;position:absolute;text-align:center}.prejoinPlaceholder span,.prejoinPlaceholder .placeholderLucideIcon{font-size:2rem;opacity:.8}.prejoinPlaceholder strong{color:#fff;margin:0}.prejoinPlaceholder p{color:#cbd5e1;margin:0;max-width:520px}.prejoinControls{align-items:center;background:#ffffffeb;border:1px solid rgba(218,225,248,.94);border-radius:18px;box-shadow:0 16px 34px #3746a021;display:inline-flex;gap:.42rem;justify-content:center;justify-self:center;margin-top:-2.55rem;padding:.28rem;position:relative;z-index:2}.prejoinControls .iconControlButton{height:38px;min-height:38px;min-width:38px;width:38px}.prejoinSettingsGrid{background:#f7faffdb;border:1px solid rgba(218,225,248,.92);border-radius:22px;box-shadow:inset 0 1px #ffffffd1;padding:.62rem}.prejoinModal .deviceField{background:#ffffffeb;border-color:#d3dcf6eb;border-radius:16px;box-shadow:0 8px 20px #3746a00b;padding:.64rem}.prejoinModal .deviceFieldLabel{color:#5f6b82;font-size:.74rem;letter-spacing:.02em}.prejoinModal .deviceSelectButton{background:#fbfcff;border-radius:13px;font-size:.88rem;min-height:40px;padding:.58rem .68rem .58rem .78rem}.prejoinDevicesToggle{align-items:center;background:#f8faff;border:1px solid rgba(218,225,248,.95);border-radius:14px;box-shadow:none;color:#36415a;display:none;font-weight:800;justify-content:space-between;min-height:40px;padding:.52rem .7rem;transform:none;width:100%}.prejoinDevicesIcon{height:16px;transition:transform .16s ease;width:16px}.openPrejoinDevices .prejoinDevicesIcon{transform:rotate(180deg)}.prejoinEnterButton{min-width:180px}.prejoinActions{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:flex-end;padding-top:.1rem}.prejoinActions button{min-height:44px;padding:.68rem 1.18rem}.footer{align-items:flex-end;color:#64748b;display:flex;flex:0 0 var(--edu-footer-height);gap:1rem;height:var(--edu-footer-height);justify-content:center;margin-top:auto;min-height:var(--edu-footer-height);padding:0 2rem 1.65rem;text-align:center}.footerLinks{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}.footerLinks button{background:transparent;color:#64748b;padding:.2rem .35rem}@media(max-width:1180px){.room{gap:.75rem;grid-template-columns:minmax(0,1fr);overflow:visible;overscroll-behavior:auto;padding:.85rem;touch-action:pan-y}.collapsedBoardRoom{overflow:visible}.roomStage{min-height:min(760px,calc(100dvh - 1.7rem))}.whiteboardShell{min-height:460px}.collapsedBoardRoom .whiteboardShell{min-height:0}.participantsPanel{min-height:0;overflow:visible}.participantsCard{grid-template-columns:repeat(2,minmax(0,1fr))}.participantsCard .split{grid-column:1 / -1}.participantsCard .participantTile{min-height:128px}.stageVideoGrid[data-count]{grid-template-columns:repeat(2,minmax(0,1fr))}.stageVideoGrid[data-count] .stageParticipantTile{grid-column:auto}}@media(max-width:860px){.split{align-items:stretch;flex-direction:column}.footer{align-items:flex-end;flex:0 0 172px;height:172px;justify-content:center;min-height:172px}.header{align-items:center;flex-direction:row;gap:.75rem;padding:.6rem .75rem}.header .nav,.header .headerActions{display:none}.mobileHeaderMenuButton{display:inline-flex;margin-left:auto}.hero{padding:2rem}.roomHeader{align-items:center;flex-direction:row;gap:.45rem;padding:.26rem .55rem}.roomHeader .nav,.roomHeader .headerActions,.roomHeader .mobileHeaderMenuButton,.roomHeader .mobileHeaderDrawerLayer,.roomHeader .mobileHeaderMenu,.roomHeader .brand small{display:none}.room{padding:.65rem}body.roomPageBody .room{align-content:stretch;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;height:100%;max-height:100%;min-height:0;overflow:hidden;overscroll-behavior:none;touch-action:none}.roomStage{border-radius:22px;min-height:min(700px,calc(100dvh - 1.3rem));padding:.65rem}body.roomPageBody .roomStage{height:100%;min-height:0;overflow:hidden}.boardToolbar{align-items:center;border-radius:18px;display:flex;flex-wrap:nowrap;gap:.35rem;justify-content:space-between;padding:.35rem}.boardTopToggleButton{font-size:.8rem;height:40px;min-height:40px;padding:0 .58rem}.boardLeftControls{flex:1 1 auto;gap:.3rem;min-width:0}.whiteboardBoardSwitcher{min-height:40px}.whiteboardBoardLabel{font-size:.78rem;min-width:56px}.boardTopToggleIcon{height:15px;width:15px}.boardRightControls{flex:0 0 auto;min-width:0;width:auto}.boardRightControls{display:flex;justify-content:flex-end}.boardCallControls{display:none}.roomControlsMenuButton{display:inline-flex}.boardSurfaceToolbar{display:flex}.iconControlButton{height:40px;min-height:40px;min-width:40px;width:40px}.whiteboardShell{border-radius:20px;min-height:430px}body.roomPageBody .whiteboardShell{min-height:0}.boardExpandButton{right:.7rem;top:.7rem}.whiteboardTools{bottom:.55rem;display:flex;flex-wrap:nowrap;gap:.38rem;justify-content:flex-start;left:50%;max-height:none;max-width:calc(100% - 1rem);overflow-x:auto;overflow-y:hidden;padding:.42rem;right:auto;top:auto;transform:translate(-50%);width:calc(100% - 1rem)}.whiteboardToolGroup{flex-wrap:nowrap;justify-content:flex-start}.whiteboardTools button{height:34px;width:34px}.whiteboardPaletteControl,.whiteboardBackgroundControl,.whiteboardToolMenuControl,.whiteboardImageControl,.whiteboardHistoryControls{border-left:0;padding-left:0}.whiteboardStrokeSlider,.whiteboardTextControls{border-left:0}.whiteboardStrokeSlider{flex:0 0 118px;min-width:118px;padding-left:0}.whiteboardTextControls{flex:0 0 170px}.whiteboardBackgroundMenu{width:min(270px,calc(100vw - 2rem))}.whiteboardToolMenu{max-width:calc(100vw - var(--whiteboard-tool-menu-left, 1rem) - .75rem);width:max-content}.participantsCard{gap:.55rem}body.roomPageBody .participantsPanel{overflow:hidden}.participantsCard .participantTile{min-height:108px}.participantOptionsMenu{bottom:calc(100% + .3rem);max-width:calc(100vw - 1.5rem);right:0;top:auto}.participantSubmenuItem{align-items:stretch;flex-wrap:wrap}.participantQualitySubmenu{flex:1 0 100%;left:auto;margin-top:.25rem;position:static;right:0;top:auto;width:100%}.stageVideoGrid{gap:.65rem}.stageVideoGrid[data-count]{grid-template-columns:repeat(2,minmax(0,1fr))}.stageVideoGrid[data-count] .stageParticipantTile{grid-column:auto}.roomPanel{max-height:none;overflow:visible}}@media(max-width:640px){body.roomPageBody .roomHeader{flex:0 0 auto;position:relative;top:auto}.roomHeader .brand span{display:none}.roomHeaderTitle{font-size:.8rem;height:30px;max-width:calc(100% - 112px);padding:0 .7rem}.room{align-content:stretch;gap:.55rem;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;height:auto;min-height:0;overflow:hidden;overscroll-behavior:none;padding:.45rem;touch-action:none}body.roomPageBody .room{height:100%;max-height:100%}.roomStage{border-radius:18px;gap:.55rem;height:100%;min-height:0;overflow:hidden;padding:.45rem}.boardToolbar{gap:.35rem}.boardLeftControls{gap:.28rem}.whiteboardBoardSwitchButton{height:28px;min-height:28px;width:28px}.boardRightControls{gap:.35rem}.boardCallControls{display:none}.screenShareControlButton:not(.activeIconControl){display:none}.roomLockControl{flex:0 0 auto}.boardSurfaceToolbar button,.boardViewerStatus{font-size:.8rem;min-height:38px;padding:.45rem .55rem}.whiteboardShell{border-radius:18px;min-height:0}.whiteboardTools{border-radius:16px;gap:.32rem;left:50%;max-height:none;padding:.32rem;right:auto;top:auto;width:calc(100% - .8rem)}.whiteboardTools button{flex:0 0 auto;height:32px;width:32px}.whiteboardLucideIcon{height:17px;width:17px}.whiteboardStrokeSlider{flex:0 0 104px;min-width:104px;width:104px}.whiteboardTextControls{flex:0 0 164px;grid-template-columns:minmax(0,1fr) 64px}.whiteboardPaletteControl,.whiteboardBackgroundControl,.whiteboardToolMenuControl,.whiteboardImageControl,.whiteboardHistoryControls{padding-left:0}.whiteboardBackgroundPatternGrid{grid-template-columns:1fr}.whiteboardBackgroundMenu{bottom:calc(4.2rem + env(safe-area-inset-bottom,0px));left:50%;position:fixed;transform:translate(-50%)}.whiteboardToolMenu{--whiteboard-tool-menu-item-size: 34px;bottom:var(--whiteboard-tool-menu-bottom, calc(4.2rem + env(safe-area-inset-bottom, 0px)) );left:var(--whiteboard-tool-menu-left, 50%);max-width:calc(100vw - var(--whiteboard-tool-menu-left, 1rem) - .75rem);position:fixed;transform:var(--whiteboard-tool-menu-transform, translateX(-50%));width:max-content}.whiteboardToolMenu-grid{grid-template-columns:repeat(var(--whiteboard-tool-menu-columns),var(--whiteboard-tool-menu-item-size))}.whiteboardBackgroundColorGrid{grid-template-columns:repeat(4,minmax(0,1fr))}.participantsCard{grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;padding:.35rem}.participantsCard .split,.participantsPanel .successCard{display:none}.participantsCard .participantTile{border-radius:14px;min-height:72px}.participantName{bottom:.38rem;font-size:.7rem;left:.38rem;padding:.25rem .42rem}.networkIndicator{left:.36rem;top:.34rem}.participantMediaBadges{display:none}.participantTileActions{right:.28rem;top:.28rem}.stageVideoGrid[data-count]{grid-template-columns:minmax(0,1fr)}.stageParticipantTile .participantPlaceholder{padding:1rem}.screenShareBadge{bottom:.65rem;font-size:.74rem;left:.65rem}.prejoinBackdrop{align-items:stretch;padding:.5rem}.settingsModal,.prejoinModal{border-radius:22px;padding:1rem}.settingsModal{gap:.75rem}.settingsModal .settingsHeader{padding-bottom:.7rem}.settingsModal .settingsHeader h2{font-size:1.16rem}.settingsModal .settingsGrid{gap:.55rem;grid-template-columns:minmax(0,1fr)}.settingsModal .deviceField{border-radius:16px;padding:.62rem}.deviceSelectButton{border-radius:13px;font-size:.86rem;min-height:38px;padding:.54rem .62rem .54rem .72rem}.deviceSelectMenu{border-radius:14px;left:.48rem;max-height:min(210px,calc(100dvh - 160px));right:.48rem}.prejoinModal{align-self:center;gap:.54rem;max-height:calc(100dvh - 1rem);overflow-x:hidden;overflow-y:auto;padding:.72rem}.prejoinModal .settingsHeader{gap:.55rem;padding:.05rem .08rem .15rem}.prejoinModal .settingsHeader h2{font-size:1.28rem;line-height:1.15;overflow-wrap:anywhere}.prejoinKicker{font-size:.68rem;letter-spacing:.05em;margin-bottom:.12rem}.prejoinPreview{border-radius:18px;height:clamp(118px,24dvh,145px)}.prejoinPlaceholder{gap:.28rem;padding:.7rem}.prejoinPlaceholder strong{font-size:.92rem}.prejoinPlaceholder p{font-size:.78rem;line-height:1.3}.prejoinControls{gap:.45rem;margin-top:-2.15rem;padding:.22rem}.prejoinControls .iconControlButton{height:36px;min-height:36px;min-width:36px;width:36px}.prejoinDevicesToggle{display:inline-flex}.prejoinSettingsGrid{display:none;gap:.45rem;grid-template-columns:minmax(0,1fr);padding:.42rem}.prejoinSettingsGrid.openPrejoinSettings{display:grid}.prejoinModal .deviceField{font-size:.84rem;gap:.28rem;padding:.54rem}.prejoinActions{display:grid;gap:.45rem;grid-template-columns:1fr}.prejoinActions button,.prejoinEnterButton{min-height:40px;min-width:0;padding:.58rem .8rem;width:100%}}@media(max-width:420px){.room{padding:.3rem}.roomStage{border-radius:16px;padding:.35rem}.boardCallControls{gap:.2rem;padding:.18rem}.iconControlButton{height:38px;min-height:38px;min-width:38px;width:38px}.whiteboardShell{min-height:330px}body.roomPageBody .whiteboardShell{min-height:0}.participantsCard .participantTile{min-height:68px}}@media(max-width:900px)and (orientation:landscape){.room{grid-template-columns:minmax(0,1fr)}.roomStage{min-height:520px}body.roomPageBody .roomStage{min-height:0}.whiteboardShell{min-height:320px}body.roomPageBody .whiteboardShell{min-height:0}.stageVideoGrid[data-count]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:980px){.authShell,.registerShell,.adminShell{grid-template-columns:minmax(0,1fr)}.dashboardSideNav{position:static}.dashboardSideNav{grid-auto-flow:column;overflow-x:auto}.dashboardSideNav span,.dashboardSideNav strong{white-space:nowrap}.testHomeHero,.dashboardHeader,.adminHero{grid-template-columns:minmax(0,1fr)}.dashboardIntro{align-items:stretch;grid-template-columns:minmax(0,1fr)}.dashboardStatusRow{grid-template-columns:repeat(3,minmax(0,1fr))}.homePreview{min-height:280px}.quickCreatePanel,.adminForm{align-items:stretch;grid-template-columns:minmax(0,1fr)}}@media(max-width:860px){.page{padding:1rem .75rem 2rem}.dashboardSideNav{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr));overflow-x:visible}.dashboardSideNav strong{grid-column:1 / -1}.dashboardSideNav span{white-space:normal}body:not(.roomPageBody) .header{display:grid;grid-template-columns:minmax(0,1fr) auto}body:not(.roomPageBody) .brand{min-width:0}body:not(.roomPageBody) .mobileHeaderMenuButton{display:inline-flex!important;justify-self:end}.page .hero,.authPanel,.dashboardIntro,.adminStatusCard{border-radius:10px;padding:1.15rem}.testHomeHero{min-height:0}.testHomeHero h1{font-size:clamp(2rem,12vw,3.4rem)}.homePreviewWindow{max-width:100%;min-height:250px}.page .heroActions{align-items:stretch}.page .heroActions button,.authForm button,.quickCreatePanel button{width:100%}.roomGrid{grid-template-columns:minmax(0,1fr)}.roomCard{grid-template-rows:auto}.footer{padding:0 .9rem 1.35rem}}@media(max-width:520px){.brand{font-size:.98rem}.brandMark{height:28px;width:28px}.homeFeatureStrip{display:grid;grid-template-columns:minmax(0,1fr)}.authInfoPanel,.authPanel{padding:1.15rem}.authInfoPanel h1{font-size:2rem}.dashboardSideNav{padding:.55rem}.testHomeHero h1{font-size:2rem;line-height:1.05;overflow-wrap:normal;word-break:normal}.homePreview{min-height:220px}.homePreviewWindow{gap:.45rem;grid-template-columns:1fr .85fr;min-height:210px;padding:.65rem}.homePreviewBoard{padding:.85rem}.dashboardStatusRow{display:grid;grid-template-columns:minmax(0,1fr)}.roomCardTop{align-items:flex-start}.roomCardTopRight{align-items:flex-end;flex-direction:column}.roomCardActions,.roomCardEditActions{grid-template-columns:minmax(0,1fr)}.dashboardConfirmActions{display:grid;grid-template-columns:minmax(0,1fr)}.page .card,.page .form,.page .miniCard{padding:1rem}.authPanel h1{font-size:1.72rem;line-height:1.08;overflow-wrap:anywhere}.adminHero h1{font-size:1.6rem;line-height:1.12}.authPanel .miniCard,.authPanel .note,.page .note{word-break:break-word}}.adminStorageQuotaControl{display:grid;grid-template-columns:minmax(180px,1fr) minmax(110px,150px) auto;gap:12px;align-items:end;margin-top:14px;padding-top:14px;border-top:1px solid var(--border, #dbe3ec)}.adminStorageQuotaControl>div,.adminStorageQuotaControl label{display:grid;gap:5px}.adminStorageQuotaControl small{color:var(--muted, #64748b)}@media(max-width:720px){.adminStorageQuotaControl{grid-template-columns:1fr;align-items:stretch}}
