:root{--bg:#f5f6f8;--panel:#fff;--text:#17181b;--muted:#737780;--border:#e5e7eb;--accent:#17181b;--danger:#b42318;--ok:#157f3b}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}.page{min-height:100vh}.shell{max-width:1180px;margin:0 auto;padding:28px 20px 48px}.topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;display:flex}.brand{letter-spacing:-.04em;font-size:22px;font-weight:800;display:inline-flex}.muted{color:var(--muted)}.card{background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:20px;box-shadow:0 8px 30px #00000009}.grid{gap:16px;display:grid}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.row{align-items:center;gap:12px;display:flex}.row.between{justify-content:space-between}.stack{flex-direction:column;gap:12px;display:flex}.button{background:var(--accent);color:#fff;border:0;border-radius:12px;padding:10px 14px;font-weight:700}.button.secondary{color:var(--text);background:#eef0f3}.button.ghost{color:var(--text);border:1px solid var(--border);background:0 0}.button.danger{background:var(--danger)}.input{border:1px solid var(--border);background:#fff;border-radius:12px;outline:none;width:100%;padding:11px 12px}.input:focus{border-color:#9ca3af;box-shadow:0 0 0 3px #1118270f}.label{margin-bottom:5px;font-size:13px;font-weight:700;display:block}.auth-wrap{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{width:min(440px,100%)}.auth-title{letter-spacing:-.04em;margin:0 0 8px;font-size:30px}.notice{border:1px solid var(--border);background:#fafafa;border-radius:12px;padding:12px;font-size:14px}.notice.error{color:#8a1c13;background:#fff6f5;border-color:#f4b4ad}.notice.ok{color:#116c32;background:#f5fff7;border-color:#b7dfc3}.stat{letter-spacing:-.04em;font-size:30px;font-weight:800}.lesson-item{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;padding:14px 0;display:flex}.lesson-item:first-child{border-top:0;padding-top:0}.lesson-item:last-child{padding-bottom:0}.pill{background:#f0f1f3;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:700;display:inline-flex}.lesson-page{background:#fff;flex-direction:column;height:100vh;display:flex;overflow:hidden}.lesson-header{border-bottom:1px solid var(--border);z-index:20;background:#fff;flex:0 0 58px;justify-content:space-between;align-items:center;gap:14px;height:58px;padding:0 14px;display:flex}.lesson-main{flex:1;min-height:0;display:flex}.board-wrap{background:#fff;flex:1;min-width:0;position:relative}.board-status{z-index:30;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);background:#ffffffeb;border-radius:999px;padding:7px 10px;font-size:12px;position:absolute;top:12px;right:12px;box-shadow:0 4px 20px #0000000d}.video-panel{border-left:1px solid var(--border);background:#111;flex-direction:column;flex:0 0 330px;width:330px;display:flex}.video-toolbar{color:#fff;background:#181818;justify-content:space-between;align-items:center;height:48px;padding:0 10px;display:flex}.video-content{flex:1;min-height:0}.mobile-only{display:none}@media (max-width:820px){.grid.two,.grid.three{grid-template-columns:1fr}.shell{padding:18px 14px 36px}.video-panel{flex-basis:46vw;width:46vw}}@media (max-width:620px){.lesson-header{flex-wrap:wrap;height:auto;min-height:58px;padding:8px 10px}.lesson-main{position:relative}.video-panel{z-index:50;border:1px solid #333;border-radius:14px;width:190px;height:250px;position:absolute;top:10px;right:10px;overflow:hidden;box-shadow:0 12px 40px #00000040}.desktop-secondary{display:none}.mobile-only{display:block}}:root{--accent:#335cde;--bg:#f7f8fa;--muted:#626975}h1,h2,h3,p{margin-top:0}h2{letter-spacing:-.025em;margin-bottom:8px;font-size:21px}h1{letter-spacing:-.045em;font-size:clamp(28px,4vw,40px)}button:disabled{opacity:.5;cursor:wait}button:hover:not(:disabled),.button:hover{filter:brightness(.95)}a:not(.button):hover{text-decoration:underline}.welcome{margin:42px 0 26px}.eyebrow{letter-spacing:.12em;color:var(--accent);font-size:11px;font-weight:700}.section-gap{margin-top:20px}.form-fields{border:0;flex-direction:column;gap:12px;min-width:0;margin:0;padding:0;display:flex}.form-fields textarea{resize:vertical;min-height:110px;font:inherit}.invite-url{overflow-wrap:anywhere;font-size:12px}.homework{white-space:pre-wrap;overflow-wrap:anywhere}.lesson-item p{margin:5px 0;font-size:13px}.skeleton{background:#e9edf4;border-radius:16px;height:110px;margin:18px 0}.loading-shell{max-width:none;min-height:100dvh;padding-inline:max(24px,50vw - 590px)}html[data-workspace-theme=dark] .loading-shell{background:#101725}html[data-workspace-theme=dark] .loading-shell .skeleton{background:#202c40}.lesson-page{height:100dvh}.lesson-main{position:relative}.lesson-header{flex:none;height:auto;min-height:64px;padding:10px 14px}.save-status{max-width:260px;font-size:12px}.save-status.ok{color:var(--ok)}.board-loading{z-index:40;background:#fff;place-items:center;display:grid;position:absolute;inset:0}.board-message{z-index:45;background:#fff5e2;border:1px solid #ebc883;border-radius:10px;max-width:90%;padding:12px;position:absolute;bottom:65px;left:50%;transform:translate(-50%)}.board-message button{background:0 0;border:0;margin-left:10px}.video-panel{z-index:45;flex:0 0 350px;width:350px;min-width:0}.video-toolbar{flex-wrap:wrap;gap:8px;height:auto;min-height:48px;padding:8px}.video-toolbar .ghost{color:#fff;border-color:#555;padding:6px 8px}.video-panel.minimized{border-radius:16px;width:285px;height:250px;position:absolute;top:auto;bottom:18px;right:14px;overflow:hidden;box-shadow:0 12px 38px #0004}.call-error{color:#fff;padding:16px;font-size:14px}.modal-scrim{z-index:100;background:#141c3455;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal-scrim>.card{width:min(540px,100%);max-height:90dvh;overflow:auto}.lesson-details{text-align:left}.lesson-details input[type=file]{max-width:100%;margin-top:8px;display:block}.excalidraw{--color-primary:#335cde;--color-primary-darker:#2649bc}@media (max-width:820px){.topbar,.topbar nav{flex-wrap:wrap}.video-panel{flex-basis:290px;width:290px}.lesson-header>.row{flex-wrap:wrap}}@media (max-width:620px){.lesson-header{gap:8px}.lesson-header>.row:last-child{flex:1;justify-content:flex-end;gap:6px}.lesson-header .button{padding:8px;font-size:12px}.save-status{text-align:right;order:3;width:100%;max-width:none;font-size:11px}.video-panel,.video-panel.minimized{border-radius:14px;width:min(270px,80vw);height:260px;position:absolute;top:auto;bottom:65px;right:8px;overflow:hidden}.lesson-item{flex-wrap:wrap}.welcome{margin:28px 0 20px}.card{padding:17px}}dialog.modal-scrim{width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--text);background:0 0;border:0;margin:0}dialog.modal-scrim:not([open]){display:none}dialog.modal-scrim::backdrop{background:#141c3455}:root{--bg:#f4f6f8;--panel:#fff;--border:#dde2e8;--text:#111827;--muted:#6b7280;--accent:#3b5ce1;--surface:#eef1f5}.shell>h1{letter-spacing:-.035em;margin:28px 0 18px;font-size:30px}.shell .card{border:1px solid var(--border);border-radius:16px;padding:24px;box-shadow:0 2px 5px #11182705,0 8px 24px #11182704}.shell .card h2{margin:0 0 4px;font-size:19px;line-height:1.35}.shell a.card:hover{background:#f1f4ff;border-color:#b9c5ee}.shell .notice{background:var(--surface)}.shell .topbar{border:1px solid var(--border);background:#fff;border-radius:16px;padding:16px 20px;box-shadow:0 2px 8px #11182704}.topbar nav{flex-wrap:wrap}.topbar nav>a{border-radius:8px;padding:8px 10px;font-size:14px}.topbar nav>a:hover{color:var(--accent);background:#f1f4ff}:focus-visible{outline-offset:3px;outline:3px solid #3b5ce155}.workspace-body{flex:1;min-width:0;min-height:0;display:flex;position:relative}.workspace-title{margin:0;font-size:16px;font-weight:650;line-height:1.3}.workspace-brand{color:var(--accent);letter-spacing:.025em;font-size:11px;font-weight:750}.workspace-notice{background:#fff7dc;border-bottom:1px solid #ecd79b;justify-content:space-between;gap:16px;padding:8px 16px;font-size:13px;display:flex}.workspace-notice button{background:0 0;border:0}.editor-area{flex:1;min-width:0;min-height:0;position:relative}.infinite-surface{display:flex;position:absolute;inset:0}.infinite-surface>.board-wrap,.board-wrap>.lesson-page{height:100%}.notebook-scroll{overscroll-behavior:contain;background:#e9edf2;position:absolute;inset:0;overflow:hidden}.notebook-surface{width:100%;height:100%;position:relative}.notebook-paper{left:var(--sheet-x,0px);top:var(--sheet-y,0px);width:var(--sheet-width,595.5px);height:var(--sheet-height,842.25px);pointer-events:none;background:#fff;position:absolute;box-shadow:0 1px 3px #19294018,0 12px 35px #19294018}.notebook-editor .excalidraw{background:0 0;overflow:visible}.notebook-editor .excalidraw canvas{clip-path:polygon(var(--sheet-x) var(--sheet-y), calc(var(--sheet-x) + var(--sheet-width)) var(--sheet-y), calc(var(--sheet-x) + var(--sheet-width)) calc(var(--sheet-y) + var(--sheet-height)), var(--sheet-x) calc(var(--sheet-y) + var(--sheet-height)))}.notebook-viewport-controls{z-index:30;top:max(8px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));pointer-events:none;background:#fffffff2;border:1px solid #dbe1e9;border-radius:10px;align-items:center;gap:5px;padding:4px;font-size:12px;display:flex;position:absolute;box-shadow:0 3px 12px #14254118}.notebook-viewport-controls button{color:#334762;pointer-events:auto;background:0 0;border:0;border-radius:7px;padding:6px 8px}.notebook-viewport-controls button:hover{background:#edf2ff}.notebook-export{position:relative}.notebook-export-menu{background:#fff;border:1px solid #dbe1e9;border-radius:8px;min-width:170px;padding:4px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 5px 18px #14254124}.notebook-export-menu button{text-align:left}.board-workspace .board-editor .App-toolbar-container{width:max-content;max-width:calc(var(--board-ui-width,100vw) - 112px);transform-origin:top;top:var(--board-ui-tools-top,74px)!important;left:var(--board-ui-center,50%)!important;transform:translateX(-50%) scale(var(--board-ui-scale,1))!important;z-index:20!important;display:flex!important;position:fixed!important}.board-editor .App-toolbar-container>.App-toolbar{scrollbar-width:none;max-width:100%;overflow:auto hidden}.board-editor .App-toolbar-container>.App-toolbar::-webkit-scrollbar{display:none}.board-editor .App-toolbar-container>.App-toolbar>.HintViewer{display:none}.board-workspace .board-editor .App-toolbar .Stack{flex-wrap:nowrap}.board-workspace .board-editor .App-toolbar-container>.App-toolbar{flex:auto;min-width:0}.board-workspace .board-editor .mobile-misc-tools-container{flex-direction:row;flex-shrink:0;align-self:center;margin:0;display:flex;position:static!important}.board-workspace .board-editor .App-menu__left,.board-workspace .board-editor .excalidraw .App-mobile-menu{transform-origin:0 0;background:#fff;border:1px solid #dbe1e9;border-radius:10px;box-shadow:0 5px 18px #14254124;top:var(--board-ui-properties-top,170px)!important;left:var(--board-ui-left,12px)!important;width:200px!important;max-width:200px!important;height:auto!important;max-height:var(--board-ui-height,60dvh)!important;transform:scale(var(--board-ui-scale,1))!important;z-index:22!important;position:fixed!important;right:auto!important}.board-workspace .board-editor .excalidraw .App-mobile-menu{overflow:visible}.board-editor.properties-collapsed .App-menu__left,.board-editor.properties-collapsed .excalidraw .App-mobile-menu{display:none!important}.board-editor .excalidraw .main-menu-trigger{top:var(--board-ui-tools-top,74px);left:var(--board-ui-left,12px);width:34px;height:34px;transform:scale(var(--board-ui-scale,1));transform-origin:0 0;z-index:23;padding:7px;position:fixed}.board-editor .excalidraw .main-menu-trigger+.dropdown-menu{top:calc(var(--board-ui-tools-top,74px) + 42px * var(--board-ui-scale,1));left:var(--board-ui-left,12px);width:200px;max-height:var(--board-ui-height,60dvh);transform:scale(var(--board-ui-scale,1));transform-origin:0 0;pointer-events:auto;z-index:24;margin-top:0;position:fixed;bottom:auto;right:auto;overflow-y:auto}.board-properties-toggle{top:var(--board-ui-tools-top,74px);left:calc(var(--board-ui-left,12px) + 42px * var(--board-ui-scale,1));transform:scale(var(--board-ui-scale,1));transform-origin:0 0;z-index:23;color:#334762;background:#fff;border:1px solid #d6dfea;border-radius:8px;place-items:center;width:34px;height:34px;padding:0;display:grid;position:fixed}.board-properties-toggle[aria-expanded=true]{background:#e8e5ff}.board-workspace .notebook-viewport-controls{top:var(--board-ui-controls-top,128px);right:var(--board-ui-right,12px);width:max-content;max-width:calc(var(--board-ui-width,100vw) - 64px);transform:scale(var(--board-ui-scale,1));transform-origin:100% 0;position:fixed;left:auto}.board-workspace .pen-width-control{top:var(--board-ui-properties-top,170px);right:var(--board-ui-right,12px);max-height:var(--board-ui-height,60dvh);transform:scale(var(--board-ui-scale,1));transform-origin:100% 0;position:fixed;overflow-y:auto}.notebook-surface .zoom-actions,.notebook-surface .layer-ui__wrapper__footer-right{display:none!important}.pages-sidebar{z-index:4;background:#f8fafc;border-right:1px solid #dbe1e9;flex-direction:column;flex:0 0 220px;gap:16px;width:220px;padding:20px 12px;display:flex;overflow-y:auto}.pages-heading{justify-content:space-between;align-items:center;padding:0 8px 0 30px;display:flex}.pages-heading h2{margin:0;font-size:14px;font-weight:650}.pages-heading>span{color:#6b7280;background:#e9edf2;border-radius:6px;padding:3px 6px;font-size:12px}.page-list{flex-direction:column;gap:8px;display:flex}.page-item{border:1px solid #0000;border-radius:12px;position:relative}.page-item.active{background:#eaf0ff;border-color:#bdcbf6}.page-select{text-align:left;color:#384456;background:0 0;border:0;border-radius:11px;align-items:center;gap:12px;width:100%;padding:12px 27px 12px 12px;display:flex}.page-select:hover{background:#edf1f7}.active .page-select{color:#2e4cbf}.page-mini{background:#fff;border:1px solid #d6dee9;border-radius:3px;flex-shrink:0;place-items:center;width:34px;height:46px;font-size:11px;font-weight:650;display:grid;box-shadow:0 1px 3px #0001}.page-mini.grid{background-image:linear-gradient(#dde4ef 1px,#0000 1px),linear-gradient(90deg,#dde4ef 1px,#0000 1px);background-size:6px 6px;display:grid}.page-title{overflow-wrap:anywhere;font-size:13px;line-height:1.4}.page-more{color:#69758a;letter-spacing:1px;background:0 0;border:0;border-radius:5px;padding:4px;font-size:18px;font-weight:800;position:absolute;top:9px;right:5px}.page-more:hover{background:#dce5fb}.page-menu{z-index:10;background:#fff;border:1px solid #dbe1e9;border-radius:12px;flex-direction:column;padding:5px;display:flex;position:absolute;top:38px;left:6px;right:6px;box-shadow:0 12px 30px #15263d29}.page-menu button{text-align:left;color:#263346;background:0 0;border:0;border-radius:6px;padding:9px;font-size:12px}.page-menu button:hover{background:#f1f4ff}.page-menu .danger-text{color:#b42318}.page-menu-divider{background:#edf0f4;height:1px;margin:4px}.page-menu-label{color:#788293;padding:5px 9px;font-size:10px}.add-page{color:#3b5ce1;background:0 0;border:1px dashed #c4cfdf;border-radius:10px;padding:12px;font-size:12px;font-weight:650}.add-page:hover{background:#edf2ff}.pages-toggle{z-index:7;color:#52627a;background:#fff;border:1px solid #dbe1e9;border-radius:8px;width:30px;height:30px;position:absolute;top:12px;left:10px;box-shadow:0 2px 5px #11182708}.pages-toggle.expanded{box-shadow:none;background:0 0;border-color:#0000}.paper-zoom{z-index:4;background:#fff;border:1px solid #dbe1e9;border-radius:12px;align-items:center;padding:4px;display:flex;position:absolute;bottom:20px;right:24px;box-shadow:0 4px 16px #13213a12}.paper-zoom button{color:#364257;background:0 0;border:0;border-radius:8px;min-width:36px;height:34px;font-size:20px}.paper-zoom button:hover{background:#f0f3fa}.paper-zoom .zoom-value{min-width:54px;font-size:12px;font-weight:650}.empty-notebook{text-align:center;color:#64748b;padding:60px 20px}button:disabled{cursor:default;opacity:.5}@media (max-width:800px){.pages-sidebar{box-shadow:none;position:relative}.lesson-header .save-status{max-width:150px;font-size:11px}.workspace-title{font-size:14px}.shell .topbar{flex-direction:column;align-items:flex-start;padding:14px}.shell .card{padding:18px}.paper-zoom{bottom:14px;right:14px}}.board-editor{width:100%;height:100%;position:relative}.board-editor .excalidraw .shapes-section>div,.board-editor .excalidraw .shapes-section>div>.Stack,.board-editor .excalidraw .App-toolbar-container,.board-editor .excalidraw .App-toolbar-container .Stack,.board-editor .excalidraw .Island.App-toolbar,.board-editor .excalidraw .App-menu_top__left{pointer-events:none}.board-editor .excalidraw .shapes-section :is(button,label,input,[role=button]),.board-editor .excalidraw .App-toolbar-container :is(button,label,input,[role=button]),.board-editor .excalidraw .App-menu_top__left :is(button,label,input,[role=button]){pointer-events:auto}.board-debug-controls{z-index:4;pointer-events:none;gap:4px;max-width:min(250px,70vw);font-size:12px;display:grid;position:absolute;bottom:110px;right:12px}.board-debug-controls button{pointer-events:auto;background:#fff;border:1px solid #d6dfea;border-radius:8px;padding:8px}.shell h1{letter-spacing:-.035em;margin-bottom:12px}.shell h2{overflow-wrap:anywhere;margin:0;font-size:20px;line-height:1.3}.shell .card p{overflow-wrap:anywhere;margin:0;line-height:1.55}.shell .card{min-width:0}.shell a.card{flex-direction:column;gap:10px;transition:border-color .15s,box-shadow .15s;display:flex}.shell a.card:hover{border-color:#aabbef;box-shadow:0 5px 18px #3b5ce112}.shell .topbar nav>a[aria-current=page]{color:#304fc9;background:#eaf0ff;font-weight:700}.shell summary{cursor:pointer;padding:6px 0;font-weight:600}.shell details[open]>summary{margin-bottom:16px}.board-create>summary{color:#304fc9}.board-type{color:#42577b;background:#eef1f5;border-radius:7px;padding:5px 9px;font-size:12px;font-weight:600}.board-card>.button{align-self:flex-start;margin-top:auto}.board-card>details{border-top:1px solid var(--border);padding-top:10px;font-size:14px}.board-card{gap:16px}.empty-state{text-align:center;padding:40px!important}.shell .lesson-item{background:#f8fafc;border:1px solid #e2e7ed;border-radius:12px;padding:14px}@media (max-width:800px){.shell .topbar nav{flex-wrap:wrap;gap:6px;width:100%}.shell .topbar nav>a{padding:8px 9px;font-size:13px}.shell .lesson-item{flex-wrap:wrap;gap:12px}}.pen-width-control{z-index:4;background:#fff;border:1px solid #d6dfea;border-radius:10px;max-width:210px;padding:8px 10px;font-size:12px;position:absolute;top:68px;right:12px;box-shadow:0 3px 12px #14254112}.pen-width-control summary{cursor:pointer;color:#334762}.pen-width-control label{flex-direction:column;gap:6px;margin-top:10px;display:flex}.pen-width-presets{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.pen-width-presets button{color:#334762;background:#fff;border:1px solid #d6dfea;border-radius:6px;padding:5px 7px}.pen-width-presets button[aria-pressed=true]{background:#e6edff;border-color:#829ce8}.remote-cursors,.remote-cursors *{pointer-events:none}.remote-cursors{z-index:7;position:absolute;inset:0;overflow:hidden}.excalidraw .value-bubble{pointer-events:none}.remote-cursor{white-space:nowrap;font-size:12px;line-height:18px;transition:left .18s linear,top .18s linear;position:absolute}.remote-cursor>svg{filter:drop-shadow(0 1px 1px #0002);display:block}.remote-cursor span{text-overflow:ellipsis;color:#182234;background:var(--cursor-background,#ffb1be);border:1px solid;border-radius:9px;max-width:110px;padding:1px 6px;font-size:11px;display:block;position:absolute;top:16px;left:12px;overflow:hidden;box-shadow:0 1px 2px #0001}.remote-laser{background:#ee294a;border-radius:50%;width:18px;height:18px;margin:-9px;transition:left .1s linear,top .1s linear;position:absolute;box-shadow:0 0 0 5px #ee294a33,0 0 15px 5px #ee294a88}.remote-laser.persistent{background:#284ed6;width:13px;height:13px;margin:-6px;transition:left .18s linear,top .18s linear;box-shadow:0 0 0 5px #284ed633,0 0 12px 3px #284ed688}.remote-cursor.edge{margin:-9px}.remote-cursor.label-left span{left:auto;right:4px}.remote-cursor.label-above span{top:-22px}.remote-cursor.edge span{border:0;margin:0;top:-2px;left:23px}.remote-cursor.edge.label-left span{left:auto;right:23px}.board-pointer-toggle{pointer-events:auto;color:#334762;background:#fff;border:1px solid #d6dfea;border-radius:8px;flex-shrink:0;place-items:center;width:34px;height:34px;padding:0;display:grid}.board-pointer-toggle[aria-pressed=true]{color:#284ed6;background:#e8edff;border-color:#829ce8}.board-workspace .excalidraw .layer-ui__wrapper__top-right{top:var(--board-ui-tools-top,74px);right:var(--board-ui-right,12px);transform:scale(var(--board-ui-scale,1));transform-origin:100% 0;z-index:21;position:fixed}@media (max-width:1200px){.board-editor .excalidraw .default-sidebar-trigger .sidebar-trigger__label{display:none}.board-workspace .board-editor .App-toolbar-container{max-width:calc(var(--board-ui-width,100vw) - 192px)}}.board-image-upload{z-index:4;cursor:pointer;background:#fff;border:1px solid #d6dfea;border-radius:8px;padding:8px;font-size:12px;position:absolute;top:68px;right:12px}.notebook-surface .board-image-upload{top:auto;bottom:calc(110px + env(safe-area-inset-bottom));right:max(12px, env(safe-area-inset-right));position:fixed}.board-image-upload input{opacity:0;width:1px;height:1px;position:absolute}.board-image-status{z-index:4;pointer-events:none;background:#fffffff0;padding:4px;font-size:12px;position:absolute;top:110px;right:12px}.notebook-surface .board-image-status{top:auto;bottom:calc(150px + env(safe-area-inset-bottom));position:fixed}.board-pen-toggle{z-index:4;color:#334762;background:#fff;border:1px solid #d6dfea;border-radius:8px;padding:9px;font-size:12px;position:absolute;bottom:62px;right:12px}.board-workspace .board-image-upload,.board-workspace .board-pen-toggle,.board-workspace .board-image-status{top:auto;right:var(--board-ui-right,12px);transform:scale(var(--board-ui-scale,1));transform-origin:100% 100%;position:fixed}.board-workspace .board-image-upload{bottom:calc(var(--board-ui-bottom,12px) + 100px * var(--board-ui-scale,1))}.board-workspace .board-pen-toggle{bottom:calc(var(--board-ui-bottom,12px) + 54px * var(--board-ui-scale,1))}.board-workspace .board-image-status{bottom:calc(var(--board-ui-bottom,12px) + 140px * var(--board-ui-scale,1))}.board-workspace .excalidraw .App-bottom-bar footer.App-toolbar{top:auto;bottom:var(--board-ui-bottom,12px);left:var(--board-ui-left,12px);width:calc((var(--board-ui-width,100vw) - 24px) * var(--board-ui-scale,1));transform-origin:0 100%;position:fixed;transform:none}.board-workspace .excalidraw .App-bottom-bar .App-toolbar-content>:not(.main-menu-trigger):not(.dropdown-menu){transform:scale(var(--board-ui-scale,1));transform-origin:bottom}.brand-logo{flex-shrink:0;width:64px;height:54px;display:block;position:relative;overflow:hidden}.brand-logo img{max-width:none;position:absolute;top:-16px;left:-10px}.brand-logo-auth{width:128px;height:108px}.brand-logo-auth img{top:-32px;left:-20px}.brand-logo-compact{width:52px;height:42px}.brand-logo-compact img{top:-13px;left:-8px}.board-workspace>.lesson-header{position:relative}.workspace-brand{pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.workspace-brand .brand-logo{width:78px;height:56px;display:flex}.workspace-brand img{width:88px;height:auto;position:absolute;top:-18px;left:-5px}.board-workspace .workspace-title{text-overflow:ellipsis;white-space:nowrap;max-width:min(28vw,330px);margin:0;font-size:15px;overflow:hidden}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.lesson-header .sync-light{background:#e8a623;border-radius:50%;width:12px;min-width:12px;height:12px;padding:0;display:inline-block;position:relative;box-shadow:0 0 0 4px #e8a62318}.lesson-header .sync-saved{background:#25ad63;box-shadow:0 0 0 4px #25ad6318}.lesson-header :is(.sync-error,.sync-offline,.sync-local-error){background:#d83a47;box-shadow:0 0 0 4px #d83a4718}.board-editor{--board-rail-width:40px}.board-editor .excalidraw .App-toolbar-container,.board-editor .excalidraw .default-sidebar-trigger,.board-editor .excalidraw .mobile-misc-tools-container,.board-editor .excalidraw .HintViewer{display:none!important}.board-tool-rail{left:var(--board-ui-left,12px);top:var(--board-ui-middle,50dvh);z-index:23;width:var(--board-rail-width);transform:translateY(-50%) scale(var(--board-ui-scale,1));transform-origin:0;background:#fffffff5;border:1px solid #e2e6ed;border-radius:10px;grid-template-columns:1fr;gap:2px;padding:3px;display:grid;position:fixed;box-shadow:0 3px 12px #14254112}.board-tool-rail :is(button,.rail-image-upload){color:#394659;cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;width:32px;height:30px;padding:0;display:grid}.board-tool-rail button:hover{background:#f0f3f8}.board-tool-rail button[aria-pressed=true]{color:#5040bd;background:#e4e0ff}.rail-image-upload{position:relative}.rail-image-input{display:none}.board-editor .excalidraw :is(.App-menu__left,.App-mobile-menu){transform-origin:0 0;background:#fff;border-radius:10px;box-shadow:0 5px 18px #14254124;left:calc(var(--board-ui-left,12px) + (var(--board-rail-width) + 8px) * var(--board-ui-scale,1))!important;top:calc(var(--board-ui-tools-top,74px) + 42px * var(--board-ui-scale,1))!important;width:200px!important;max-width:min(200px, calc(var(--board-ui-width,100vw) - 110px))!important;max-height:calc(var(--board-ui-height,65dvh) - 4px)!important;transform:scale(var(--board-ui-scale,1))!important;z-index:22!important;position:fixed!important;bottom:auto!important;right:auto!important;overflow-y:auto!important}.board-editor:has(.pen-width-control) .excalidraw :is(.App-menu__left,.App-mobile-menu){top:calc(var(--board-ui-tools-top,74px) + 162px * var(--board-ui-scale,1))!important;max-height:calc(var(--board-ui-height,65dvh) - 124px)!important}.board-editor .board-properties-toggle{top:calc(var(--board-ui-tools-top,74px) + 42px * var(--board-ui-scale,1));left:calc(var(--board-ui-left,12px) + (var(--board-rail-width) + 178px) * var(--board-ui-scale,1));z-index:25;width:28px;height:28px;font-size:20px}.board-editor .pen-width-control{top:calc(var(--board-ui-tools-top,74px) + 42px * var(--board-ui-scale,1));left:calc(var(--board-ui-left,12px) + (var(--board-rail-width) + 8px) * var(--board-ui-scale,1));width:200px;height:114px;max-height:none;transform:scale(var(--board-ui-scale,1));transform-origin:0 0;z-index:23;padding:8px;position:fixed;right:auto}.board-editor .pen-width-control summary{pointer-events:none;padding-right:26px;list-style:none}.board-editor .pen-width-control .pen-width-presets{gap:2px}.board-editor .pen-width-control .pen-width-presets button{min-width:20px;padding:3px}.board-editor .excalidraw .main-menu-trigger+.dropdown-menu{left:calc(var(--board-ui-left,12px) + (var(--board-rail-width) + 8px) * var(--board-ui-scale,1));top:var(--board-ui-tools-top,74px)}.remote-laser-trail{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.remote-laser-trail .remote-laser{filter:drop-shadow(0 0 4px #ee294a)}@media (max-height:740px){.board-editor{--board-rail-width:76px}.board-tool-rail{grid-template-columns:repeat(2,32px)}}@media (max-width:600px){.workspace-brand .brand-logo{width:60px;height:48px}.workspace-brand img{width:72px;height:auto;top:-14px;left:-6px}.board-workspace .lesson-header{gap:6px;padding-inline:8px}.board-workspace .lesson-header>.row{gap:6px}.board-workspace .lesson-header .button{padding:7px;font-size:11px}.board-workspace .workspace-title{max-width:24vw;font-size:12px}}.board-workspace:has(.pages-toggle) .main-menu-trigger{left:calc(var(--board-ui-left,12px) + 38px * var(--board-ui-scale,1))}.board-workspace .pages-toggle{width:34px;height:34px;top:8px;left:12px}.board-editor .excalidraw .sidebar{left:calc(var(--board-ui-left,12px) + (var(--board-rail-width) + 8px) * var(--board-ui-scale,1));right:auto;top:calc(var(--board-ui-tools-top,74px) + 42px * var(--board-ui-scale,1));max-width:calc(var(--board-ui-width,100vw) - 110px);height:var(--board-ui-height,65dvh);transform:scale(var(--board-ui-scale,1));transform-origin:0 0;z-index:25;border:1px solid #dbe1e9;border-radius:10px;position:fixed;bottom:auto}.shell .app-topbar{box-shadow:none;border-radius:18px;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;margin-bottom:40px;padding:10px 20px;display:grid}.app-topbar .app-brand{align-items:center;display:flex}.shell .app-topbar nav{flex-wrap:nowrap;gap:4px;width:auto;display:flex}.shell .app-topbar nav>a{white-space:nowrap;color:#677187;border-radius:10px;padding:10px 16px;font-weight:550}.shell .app-topbar nav>a[aria-current=page]{color:#354fce;background:#edf1ff}.account-menu{z-index:50;justify-self:end;min-width:0;position:relative}.shell .account-menu>summary{align-items:center;gap:10px;margin:0;padding:4px 0;font-size:13px;font-weight:550;list-style:none;display:flex}.shell .account-menu[open]>summary{margin-bottom:0}.account-menu>summary::-webkit-details-marker{display:none}.person-avatar{color:#4a5c8b;background:#edf1fb;border-radius:50%;flex-shrink:0;place-items:center;width:36px;height:36px;font-weight:650;display:inline-grid}.account-name{text-overflow:ellipsis;white-space:nowrap;max-width:170px;overflow:hidden}.account-name small{color:var(--muted);margin-top:2px;font-size:11px;font-weight:400;display:block}.account-dropdown{border:1px solid var(--border);background:#fff;border-radius:14px;width:210px;padding:8px;position:absolute;top:calc(100% + 14px);right:0;box-shadow:0 12px 36px #1c2b4618}.account-dropdown a{border-radius:8px;padding:10px 12px;font-size:14px;display:block}.account-dropdown a:hover{background:#f2f5fc}.account-dropdown form{border-top:1px solid #edf0f5;margin-top:6px;padding-top:6px}.account-dropdown form button{text-align:left;color:#697386;border:0;width:100%;font-weight:500}.home-intro{justify-content:space-between;align-items:center;gap:24px;margin:8px 0 42px;display:flex}.home-intro h1{letter-spacing:-.045em;margin:8px 0 10px;font-size:clamp(26px,3vw,36px)}.home-intro p{margin:0;line-height:1.6}.home-intro>.button{border-radius:12px;flex-shrink:0;padding:13px 19px;font-size:14px;box-shadow:0 4px 8px #3b5ce116}.home-layout{grid-template-columns:minmax(0,1fr) 290px;align-items:start;gap:30px;display:grid}.home-boards{min-width:0}.section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.section-heading h2{letter-spacing:-.025em;margin:0;font-size:19px}.section-heading p{margin:6px 0 0;font-size:13px;line-height:1.5}.text-link{color:#425dc3;white-space:nowrap;font-size:13px;font-weight:550}.text-link:hover{text-decoration:underline}.home-aside{gap:20px;display:grid}.shell .home-invite{box-shadow:none;background:#eef2ff;border-color:#e3e9fe;padding:24px}.home-invite-icon{color:#4e66cc;background:#fff9;border:1px solid #cfd9ff;border-radius:12px;place-items:center;width:38px;height:38px;margin-bottom:20px;font-size:24px;display:grid}.shell .home-invite h2{letter-spacing:-.03em;max-width:210px;font-size:20px;line-height:1.4}.shell .home-invite p{color:#687596;margin:12px 0 22px;font-size:13px;line-height:1.7}.home-invite .button{text-align:center;padding:11px 8px;font-size:13px;display:block}.shell .home-people{box-shadow:none;padding:22px}.home-people .section-heading{margin-bottom:12px}.shell .home-people h2{font-size:16px}.home-person{border-bottom:1px solid #f0f2f6;align-items:center;gap:12px;padding:12px 0;font-size:13px;display:flex}.home-person:last-child{border-bottom:0;padding-bottom:0}.home-person>span:nth-child(2){overflow-wrap:anywhere;min-width:0}.home-person .person-avatar{background:#f2f4f8;width:32px;height:32px;font-size:12px}.person-arrow{color:#8c96aa;margin-left:auto}.home-history{color:#798396;justify-content:space-between;padding:0 8px;font-size:13px;display:flex}.home-history:hover{color:#354fce}.board-list .board-card{box-shadow:none;gap:10px;padding:22px;transition:border-color .15s,box-shadow .15s;position:relative}.board-list .board-card:hover{border-color:#becbf3;box-shadow:0 4px 18px #314c8d08}.board-list .board-type{color:#7a8597;background:0 0;align-items:center;gap:9px;padding:0;font-size:11px;font-weight:500;display:inline-flex}.board-card-icon{color:#5a71cb;background:#f0f3ff;border-radius:9px;place-items:center;width:32px;height:32px;font-size:21px;display:grid}.shell .board-list .board-card h2{letter-spacing:-.025em;overflow-wrap:anywhere;margin-top:12px;font-size:18px;line-height:1.5}.shell .board-list .board-card p{margin:0;font-size:12px;line-height:1.6}.board-list .board-card>.button{color:#4b5a78;text-align:center;background:#f3f5fa;width:100%;margin-top:auto;font-size:13px;font-weight:550;display:block}.board-list .board-card>details{color:#8b94a6;border-top:0;margin-top:6px;padding-top:0;font-size:12px}.shell .board-list .board-card>details>summary{font-size:11px;font-weight:400}.board-card>details[open]{color:var(--text)}.home-first-board{text-align:center;margin-top:16px;display:block}.workspace-page-heading{margin:10px 0 28px}.workspace-page-heading h1{letter-spacing:-.04em;margin:8px 0 10px;font-size:32px}.workspace-page-heading>p>a{border:1px solid var(--border);background:#fff;border-radius:10px;padding:10px 16px;font-size:13px}.board-create{margin-bottom:8px}.workspace-people-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:28px;display:grid}.student-directory .person-avatar{width:42px;height:42px}.shell .student-directory a.card{box-shadow:none;align-items:center;gap:16px;padding:22px;display:flex}.shell .student-directory h2{margin-bottom:5px;font-size:17px}.student-directory p{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:12px}.workspace-create-lesson{margin-bottom:24px}@media (max-width:980px){.shell .app-topbar{grid-template-columns:auto 1fr auto;gap:14px}.shell .app-topbar nav{justify-content:center}.account-name{max-width:110px}.home-layout{grid-template-columns:minmax(0,1fr) 250px;gap:20px}.home-boards .grid.two{grid-template-columns:minmax(0,1fr)}.workspace-people-layout{grid-template-columns:minmax(0,1fr) 300px;gap:20px}}@media (max-width:700px){.shell .app-topbar{grid-template-columns:1fr auto;gap:6px 12px;margin-bottom:28px;padding:10px 14px}.shell .app-topbar nav{border-top:1px solid #f0f2f6;grid-area:2/1/auto/-1;width:100%;padding-top:6px}.shell .app-topbar nav>a{padding:9px 14px;font-size:13px}.account-menu{grid-area:1/2}.account-name{max-width:135px}.home-intro{flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:32px}.home-intro>.button{text-align:center;width:100%}.home-layout,.workspace-people-layout{grid-template-columns:minmax(0,1fr);gap:28px}.home-boards .grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.home-aside{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.home-history{grid-column:1/-1}.workspace-page-heading{align-items:flex-start}}@media (max-width:450px){.home-boards .grid.two,.home-aside{grid-template-columns:minmax(0,1fr)}.section-heading{gap:10px}.section-heading h2{font-size:18px}.section-heading p{max-width:240px}.account-name{max-width:125px;font-size:12px}}
