:root{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,PingFang SC,Noto Sans SC,Microsoft YaHei,sans-serif;color:#1d1d1f;background:#f5f5f7;font-synthesis:none;font-size:15px;font-weight:400;line-height:1.6;--accent: #0066cc;--accent-hover: #0054a8;--accent-soft: #eaf3ff;--text: #1d1d1f;--muted: #606069;--border: #dedee3;--paper: #fff;--green: var(--accent);--green-dark: var(--accent-hover);--orange: #b45309}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;cursor:pointer;border:0;transition:background-color .16s,color .16s,box-shadow .16s;-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #0071e3;outline-offset:3px}button svg,.tiny-dot{flex-shrink:0}input,select,textarea{width:100%;min-width:0;min-height:46px;color:var(--text);background:#fff;border:1px solid #b6b6bf;border-radius:10px;padding:10px 12px;font-size:16px}input::placeholder,textarea::placeholder{color:#707078;opacity:1}input[aria-invalid=true]{border-color:#b42318}textarea{resize:vertical;line-height:1.65}a{color:inherit}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:600;letter-spacing:-.025em}label{display:block;font-size:14px;font-weight:500}label>input,label>select{margin-top:8px}label+.primary,label+.secondary{margin-top:16px}.app-shell{display:flex;min-height:100dvh}.rail{position:fixed;inset:0 auto 0 0;z-index:5;display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:96px;padding:28px 10px 24px;border-right:1px solid var(--border);background:#fbfbfc}.brand{display:block;text-decoration:none;text-align:center;font-size:20px;font-weight:600}.brand-mark{display:flex;align-items:center;justify-content:center;width:46px;height:46px;margin:0 auto 8px;border-radius:13px;color:var(--accent);background:var(--accent-soft)}.brand small{display:block;margin-top:2px;color:var(--muted);font-size:11px;font-weight:400}.rail-center{display:flex;flex-direction:column;gap:10px;width:100%;margin-top:46px}.rail-item{flex-direction:column;gap:5px;width:100%;padding:12px 4px;border-radius:12px;color:var(--muted);background:transparent;font-size:12px}.rail-item:hover{color:var(--text);background:#eeeef1}.rail-item.selected{color:var(--accent);background:var(--accent-soft)}.rail-help{margin-top:auto}.rail-bottom{margin-top:24px;color:var(--muted);font-size:11px;writing-mode:vertical-rl;letter-spacing:.12em}.app-main{width:calc(100% - 96px);min-width:0;margin-left:96px}.topbar{display:flex;align-items:center;justify-content:space-between;height:72px;padding:0 32px;border-bottom:1px solid var(--border);background:#fbfbfc}.breadcrumb{color:var(--muted);font-size:13px}.breadcrumb span{margin:0 13px;color:#888891}.topbar-right{display:flex;align-items:center;gap:18px}.privacy-label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}.avatar{width:44px;height:44px;border:1px solid var(--border);border-radius:50%;color:#42424a;background:#fff;font-size:14px}.mobile-device-button{display:none}.lobby{display:grid;grid-template-columns:minmax(300px,1fr) 430px;gap:44px 68px;max-width:1230px;margin:0 auto;padding:66px 52px 32px}.lobby-intro{padding-top:22px}.eyebrow{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;font-weight:500}.eyebrow>span:first-child:not(.role-badge){width:6px;height:6px;border-radius:50%;background:#27834b}.lobby h1{margin-top:18px;color:var(--text);font-size:clamp(38px,3.7vw,52px);line-height:1.18;letter-spacing:-.045em}.lobby-intro>p{margin-top:24px;color:var(--muted);font-size:18px;line-height:1.85}.intro-detail{display:flex;flex-wrap:wrap;gap:16px 24px;margin-top:30px;color:#45454d;font-size:13px}.intro-detail>span{display:flex;align-items:center;gap:7px}.desk-illustration{position:relative;height:282px;max-width:430px;margin-top:36px}.little-paper{position:absolute;top:35px;left:25px;width:292px;height:206px;padding:22px 24px;border:1px solid #e0e0e6;border-radius:12px;background:#fff;box-shadow:0 12px 28px #1d1d1f09;transform:rotate(-3deg)}.paper-label{color:var(--muted);font-size:12px}.paper-equation{margin-top:15px;color:#25252c;font-family:Georgia,serif;font-size:30px}.paper-scribble{margin:8px 0 11px;color:var(--accent);font-size:12px}.paper-line{width:83%;height:1px;margin-top:13px;background:#e6e6eb}.paper-line.short{width:55%}.paper-check{position:absolute;top:84px;right:26px;color:var(--accent);font-size:28px}.little-video{position:absolute;top:0;right:0;z-index:1;width:126px;height:100px;border:5px solid #fff;border-radius:14px;background:#edf2fa;box-shadow:0 5px 20px #1d1d1f0c;transform:rotate(4deg)}.little-avatar{display:flex;align-items:center;justify-content:center;height:62px;color:#62758d}.little-video>span{display:flex;align-items:center;justify-content:center;gap:5px;color:#45454d;font-size:11px}.little-video i{width:5px;height:5px;border-radius:50%;background:#27834b}.little-note{position:absolute;left:0;bottom:5px;padding:9px 15px;border:1px solid #dde7f4;border-radius:8px;color:#345678;background:#edf4fc;font-size:12px}.start-card{padding:30px;border:1px solid var(--border);border-radius:20px;background:#fff;box-shadow:0 10px 32px #1d1d1f04}.card-eyebrow{margin-bottom:10px;color:var(--muted);font-size:12px}.start-card h2{font-size:25px}.start-card>p,.start-card>form>p:not(.inline-error):not(.config-status){margin:10px 0 24px;color:var(--muted);font-size:14px}.start-card>label,.start-card>form>label{margin-top:20px}.homework-intro{display:flex;align-items:flex-start;gap:12px;padding:15px;border-radius:12px;background:#f5f5f7;font-size:14px}.homework-intro>svg{flex-shrink:0;margin-top:2px;color:var(--accent)}.homework-intro p{margin-top:5px;color:var(--muted);font-size:13px;line-height:1.6}.optional{margin-left:5px;color:var(--muted);font-size:12px;font-weight:400}.primary,.secondary,.end-button{min-height:44px;padding:10px 15px;border-radius:10px;font-size:14px;font-weight:500;white-space:nowrap}.primary{border:1px solid var(--accent);color:#fff;background:var(--accent)}.primary:hover:not(:disabled){border-color:var(--accent-hover);background:var(--accent-hover)}.secondary{border:1px solid #cfcfd7;color:#393941;background:#fff}.secondary:hover:not(:disabled){background:#f0f0f4}.wide{width:100%}.start-card>.primary,.start-card>form>.primary{margin-top:26px}.start-card>.secondary,.start-card>form>.secondary{margin-top:11px}.setup-hint{display:flex;align-items:flex-start;gap:7px;margin-top:15px;color:var(--muted);font-size:12px}.setup-hint .tiny-dot{margin-top:7px}.tiny-dot{display:inline-block;width:6px;height:6px;min-width:6px;border-radius:50%;background:#27834b}.tiny-dot.offline{background:#85858f}.join-details{margin-top:22px;padding-top:13px;border-top:1px solid var(--border)}.join-details summary{display:flex;align-items:center;justify-content:space-between;min-height:44px;color:#45454d;font-size:13px;cursor:pointer;list-style:none}.join-details summary::-webkit-details-marker{display:none}.join-form{display:flex;gap:8px;margin-top:10px}.join-form input{font-size:16px}.lobby-footer{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-size:12px}.lobby-footer svg{flex-shrink:0}.classroom{max-width:2000px;margin:0 auto;padding:24px 28px 116px}.class-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:21px}.class-header>div:first-child{min-width:0}.class-header h1{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:6px;font-size:26px;line-height:1.4;overflow-wrap:anywhere}.subject-badge{padding:2px 9px;border:1px solid #dedee6;border-radius:6px;color:#5b5b65;background:#f0f0f4;font-size:12px;font-weight:400;letter-spacing:0;white-space:nowrap}.role-badge{padding-left:8px;border-left:1px solid #c9c9d2;color:var(--muted);font-size:12px;letter-spacing:0}.class-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.timer{display:flex;align-items:center;gap:7px;margin-right:8px;color:#50505a;font-size:14px;font-variant-numeric:tabular-nums}.class-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:18px}.workspace{min-width:0;overflow:hidden;border:1px solid var(--border);border-radius:16px;background:#fff}.workspace-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border)}.problem-context{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;flex-shrink:0;gap:4px 16px;padding:7px 16px;border-bottom:1px solid var(--border);background:#fafafa}.problem-subject{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;min-width:0}.problem-subject label{margin:0;font-size:13px}.problem-subject select{width:auto;min-width:110px;min-height:44px;margin:0;padding:8px 28px 8px 10px;font-size:14px}.problem-status{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.auto-recognize{margin:0}.recognition-error{display:flex;align-items:center;flex-wrap:wrap;gap:8px;flex-basis:100%;color:#a33327;font-size:13px;overflow-wrap:anywhere}.view-tabs{display:flex;gap:3px;padding:3px;border-radius:10px;background:#f0f0f4}.view-tabs button{gap:6px;padding:8px 12px;border-radius:8px;color:#606069;background:transparent;font-size:13px;white-space:nowrap}.view-tabs button.selected{color:var(--text);background:#fff;box-shadow:0 1px 4px #1d1d1f12}.view-tabs i{width:5px;height:5px;border-radius:50%;background:var(--accent)}.source-label{color:var(--muted);font-size:12px}.board-stage{position:relative;height:clamp(420px,54vh,700px);overflow:hidden;background:#ececf0}.desk-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px;text-align:center}.empty-illustration{position:relative;display:flex;align-items:center;justify-content:center;width:82px;height:82px;margin-bottom:22px;border:1px solid #d5e4f6;border-radius:21px;color:#627e9e;background:#e5edf8}.empty-illustration>span{position:absolute;right:-8px;bottom:-6px;display:flex;align-items:center;justify-content:center;width:36px;height:34px;border:1px solid #d3deec;border-radius:10px;color:var(--accent);background:#fff}.desk-empty h2{color:#373740;font-size:22px}.desk-empty>p{max-width:400px;margin-top:10px;color:var(--muted);font-size:14px;line-height:1.8}.empty-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:24px}.text-button{padding:4px 2px;color:var(--accent);background:none;font-size:13px;line-height:1.6}.text-button:hover:not(:disabled){color:var(--accent-hover);text-decoration:underline;text-underline-offset:3px}.desk-empty>.text-button{margin-top:10px;font-size:13px}.board-scroll{display:flex;align-items:flex-start;height:100%;padding:24px 24px 58px;overflow:auto;overscroll-behavior:contain}.paper-surface{position:relative;flex-shrink:0;margin:auto;background:#fff;box-shadow:0 3px 14px #1d1d1f12;user-select:none}.paper-surface img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.paper-surface svg{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.drawing-tool{cursor:crosshair}.pointer-tool{cursor:default}.pan-tool{cursor:grab}.pan-tool:active{cursor:grabbing}.drawing-disabled{pointer-events:none}.snapshot-tag{position:absolute;bottom:12px;left:16px;display:flex;align-items:center;gap:6px;max-width:calc(100% - 32px);padding:5px 9px;overflow:hidden;border:1px solid #d9d9e2;border-radius:7px;color:#52525b;background:#fffffff2;font-size:12px;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.snapshot-tag>span:last-child{margin-left:5px;color:var(--muted)}.annotation-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:3px;padding:10px 12px;border-top:1px solid var(--border);background:#fff}.tool-group,.color-group{display:flex;align-items:center;gap:2px}.icon-button{flex-shrink:0;width:44px;height:44px;border-radius:9px;color:#55555e;background:transparent}.icon-button:hover:not(:disabled){color:var(--text);background:#f0f0f4}.icon-button.active{color:#005ebc;background:var(--accent-soft)}.tool-divider{width:1px;height:22px;margin:0 5px;background:var(--border)}.color-group{gap:0}.color-dot{flex-shrink:0;width:44px;height:44px;border:13px solid #fff;border-radius:50%;outline:2px solid transparent;outline-offset:-7px}.color-dot.selected{outline-color:#5b5b65}.color-dot:focus-visible{outline:3px solid #0071e3;outline-offset:0}.toolbar-space{flex:1;min-width:0}.zoom-value{min-width:44px;padding:0 6px;border-radius:9px;color:var(--muted);background:transparent;font-size:12px;text-align:center;font-variant-numeric:tabular-nums}.workspace-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:10px 16px;border-top:1px solid var(--border);background:#fbfbfc}.workspace-footer>span{display:flex;align-items:flex-start;gap:5px;color:var(--muted);font-size:12px}.workspace-footer>span svg{flex-shrink:0;margin-top:3px}.workspace-footer>div{display:flex;align-items:center;gap:14px;margin-left:auto}.primary.small{min-height:44px;padding:8px 12px;font-size:13px}.text-annotation{padding:0 16px 12px}.text-annotation input{font-size:16px}.class-sidebar{display:flex;flex-direction:column;gap:16px;min-width:0}.people-panel{padding:16px;border:1px solid var(--border);border-radius:16px;background:#fff}.panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.panel-title h2{font-size:14px;letter-spacing:0}.panel-title>span{color:var(--muted);font-size:12px}.people-videos{display:grid;grid-template-columns:1fr 1fr;gap:8px}.video-tile{position:relative;min-width:0;overflow:hidden;border:1px solid #dedee5;border-radius:10px;background:#f0f0f4;aspect-ratio:1.22}.video-tile video{display:block;width:100%;height:100%;object-fit:cover}.video-tile .video-label,.video-title,.video-tile>figcaption,.video-tile-title{position:absolute;bottom:6px;left:7px;max-width:calc(100% - 14px);padding:2px 6px;overflow:hidden;border-radius:5px;color:#373740;background:#fffffff0;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.video-tile .video-placeholder,.video-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:100%;padding:12px;color:var(--muted);font-size:12px;text-align:center}.video-empty svg{width:24px;height:24px}.video-tile-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:12px 10px 30px;color:var(--muted);font-size:12px;line-height:1.65;text-align:center}.video-tile button{position:absolute;inset:auto 6px 30px;min-height:44px;padding:6px;border-radius:7px;color:var(--accent);background:#fffffff0;font-size:12px}.video-tile-play{z-index:2}.document-video{width:100%;height:100%;border:0;border-radius:0;background:#252529;aspect-ratio:auto}.document-video video{object-fit:contain!important}.document-video .video-label{display:none}.document-video .video-tile-title{bottom:13px;left:13px;font-size:12px}.document-video .video-tile-placeholder{color:#e0e0e6}.presence-line{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-top:12px;color:var(--muted);font-size:12px}.call-state{margin-left:auto;color:#606069;font-size:11px}.hand-banner{display:flex;align-items:center;gap:7px;margin-top:12px;padding:6px 10px;border-radius:8px;color:#805315;background:#fff5df;font-size:13px}.hand-banner button{margin-left:auto;color:#805315;background:none;font-size:12px;text-decoration:underline}.collaboration-panel{display:flex;flex-direction:column;min-height:330px;overflow:hidden;border:1px solid var(--border);border-radius:16px;background:#fff}.side-tabs{display:flex;padding:0 12px;border-bottom:1px solid var(--border)}.side-tabs button{flex:1;gap:4px;min-height:50px;padding:10px 0;border-bottom:2px solid transparent;color:var(--muted);background:transparent;font-size:13px;white-space:nowrap}.side-tabs button.selected{border-bottom-color:var(--accent);color:var(--accent)}.messages{display:flex;flex-direction:column;gap:15px;height:clamp(230px,28vh,380px);padding:16px 14px;overflow:auto}.message-empty{display:flex;flex-direction:column;align-items:center;padding-top:18px;color:#45454d;font-size:14px;text-align:center}.message-empty>p{margin-top:6px;color:var(--muted);font-size:12px}.system-message{margin-top:22px;padding:8px 10px;border-radius:8px;color:var(--muted);background:#f5f5f7;font-size:12px}.message{align-self:flex-start;max-width:94%}.message small{color:var(--muted);font-size:11px}.message p{margin-top:4px;padding:9px 12px;border-radius:3px 12px 12px;color:#303038;background:#f0f0f4;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}.message.mine{align-self:flex-end}.message.mine small{display:block;text-align:right}.message.mine p{border-radius:12px 3px 12px 12px;color:#164d83;background:#eaf3ff}.message-compose{display:flex;gap:4px;margin:0 12px 12px;padding:3px;border:1px solid #b6b6bf;border-radius:11px;background:#fff}.message-compose:focus-within{outline:2px solid #0071e3;outline-offset:2px}.message-compose input{border:0;padding:8px;background:transparent;font-size:16px}.message-compose input:focus-visible{outline:none}.message-compose button{flex-shrink:0;width:44px;border-radius:8px;color:var(--accent);background:var(--accent-soft)}.notes-panel,.ai-panel{padding:16px}.notes-panel>p{margin-bottom:12px;color:var(--muted);font-size:13px}.notes-panel textarea{height:220px;font-size:16px}.notes-panel button{margin-top:12px}.ai-panel{max-height:540px;overflow:auto}.ai-status{display:flex;align-items:flex-start;gap:9px;margin-bottom:15px;color:var(--accent);font-size:14px}.ai-status svg{flex-shrink:0;margin-top:3px}.ai-status strong{color:#373740;font-size:14px;font-weight:600}.ai-status p{margin-top:5px;color:var(--muted);font-size:13px}.ai-panel>.text-button{margin-bottom:12px}.ai-panel textarea{min-height:90px;margin-top:12px;font-size:16px}.ai-panel .question-input{min-height:76px}.checkbox-label{display:flex;align-items:center;gap:8px;min-height:44px;margin-top:7px;color:#45454d;font-size:13px;font-weight:400}.checkbox-label input{flex-shrink:0;width:18px;height:18px;min-height:18px;margin:0;accent-color:var(--accent)}.ai-panel>.primary{margin-top:12px}.ai-answer{margin-top:16px;padding:13px;border:1px solid #d7e5f6;border-radius:10px;background:#f2f7ff;font-size:14px;white-space:pre-wrap}.ai-answer small{color:#54667c;font-size:12px}.ai-answer p{margin:8px 0 10px;line-height:1.8}.call-bar{position:fixed;right:0;bottom:0;left:96px;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:92px;padding:14px 28px calc(14px + env(safe-area-inset-bottom));border-top:1px solid #d9d9e1;background:#fafafcf5;backdrop-filter:blur(16px)}.call-left{display:flex;flex-direction:column;gap:5px;min-width:140px}.connection-pill{display:flex;align-items:center;gap:7px;color:#366c46;font-size:12px}.connection-pill.waiting{color:#805315}.remote-note{max-width:190px;color:var(--muted);font-size:11px}.call-controls{display:flex;align-items:center;gap:14px}.control-button{flex-direction:column;gap:4px;min-width:60px;min-height:52px;padding:5px 7px;border-radius:9px;color:#51515a;background:transparent}.control-button>span{font-size:12px;white-space:nowrap}.control-button:hover:not(:disabled){color:var(--text);background:#ededf2}.control-button.raised{color:#8b590e;background:#fff3d8}.end-button{border:1px solid #f1c6c3;color:#b42318;background:#fff0ef}.end-button:hover:not(:disabled){background:#ffe2df}.connection-banner,.ended-banner{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;padding:12px 14px;border:1px solid #e8d4a9;border-radius:11px;color:#755014;background:#fff7e6;font-size:13px}.connection-banner>svg,.ended-banner>svg{flex-shrink:0}.connection-banner button,.ended-banner button{margin-left:auto;padding:4px 8px;color:inherit;background:none;font-size:13px;text-decoration:underline;text-underline-offset:3px}.ended-banner{border-color:#cfe0d4;color:#346443;background:#eff7f1}.ended-banner button+button{margin-left:0}.ended-dot{background:#85858f!important}.toast{position:fixed;bottom:112px;left:50%;z-index:30;display:flex;align-items:center;gap:12px;width:max-content;max-width:min(660px,92vw);padding:10px 12px 10px 18px;border:1px solid #d5d5de;border-radius:14px;color:#373740;background:#fff;box-shadow:0 8px 36px #1d1d1f1a;font-size:14px;transform:translate(-50%)}.toast button{flex-shrink:0;width:44px;color:var(--muted);background:none}.modal-toast{position:static;width:100%;max-width:none;margin-top:18px;transform:none;box-shadow:none}.modal-backdrop{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:24px;border:0;color:inherit;background:#1d1d1f52;backdrop-filter:blur(5px)}dialog.modal-backdrop:not([open]){display:none}.modal-backdrop::backdrop{background:transparent}.modal{position:relative;width:520px;max-width:100%;max-height:calc(100dvh - 48px);padding:32px;overflow:auto;overscroll-behavior:contain;border:1px solid #e1e1e8;border-radius:22px;background:#fff;box-shadow:0 24px 80px #1d1d1f30}.modal-close{position:absolute;top:13px;right:13px}.modal-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin-bottom:18px;border:1px solid #d8e7f8;border-radius:13px;color:var(--accent);background:var(--accent-soft)}.modal h2{padding-right:10px;margin-bottom:10px;font-size:24px;line-height:1.4}.modal>p:not(.inline-error):not(.device-status):not(.privacy-note){margin-bottom:22px;color:var(--muted);font-size:14px;line-height:1.8}.modal>label{margin-top:17px;font-size:14px}.modal select{font-size:16px}.modal-separator{height:1px;margin:24px 0 8px;background:var(--border)}.modal .device-help{margin:17px 0 0;color:var(--muted);font-size:12px}.modal .device-size{margin:8px 0 0;color:#45617e;font-size:12px}.modal-footer,.modal-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;margin-top:24px}.modal-footer>.text-button{margin-right:auto;font-size:13px}.invite-text{min-height:112px;margin:9px 0 16px;color:#45454d;font-size:14px;word-break:break-all}.invite-note{margin-top:15px;color:var(--muted);font-size:12px}.invite-note>p{margin-top:12px;padding:12px;border-radius:9px;color:#755014;background:#fff7e6}.modal>.text-button{margin-top:16px}.help-modal{width:580px}.guide-steps{display:flex;flex-direction:column;gap:22px;margin:25px 0}.guide-steps>div{display:flex;gap:16px}.guide-steps b{color:var(--accent);font-size:22px;font-weight:400;line-height:1.3}.guide-steps h3{font-size:15px;letter-spacing:0}.guide-steps p{margin-top:6px;color:var(--muted);font-size:13px;line-height:1.8}.setup-box{margin-bottom:23px;padding:16px;border:1px solid #e1e1e8;border-radius:12px;background:#f7f7f9}.setup-box h3{margin-bottom:9px;color:#373740;font-size:14px;letter-spacing:0}.setup-box p{margin:8px 0;color:var(--muted);font-size:13px;line-height:1.8}.setup-box strong{color:#45454d;font-weight:600}.inline-error{margin-top:10px;padding:10px 12px;border:1px solid #f0c8c4;border-radius:9px;color:#a62118;background:#fff4f2;font-size:13px;line-height:1.6}.device-previews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.device-previews .video-tile{aspect-ratio:4 / 3}.device-status{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:10px 0;color:#45617e;font-size:13px}.privacy-note{margin:14px 0;padding:11px 12px;border:1px solid #e1e1e8;border-radius:9px;color:var(--muted);background:#f7f7f9;font-size:12px;line-height:1.7}.field-hint{display:block;margin-top:7px;color:var(--muted);font-size:12px;font-weight:400;line-height:1.6}.config-status{display:flex;align-items:center;gap:8px;margin:14px 0;color:var(--muted);font-size:13px}.config-status button{margin-left:auto}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:901px){.workspace{display:flex;flex-direction:column;height:calc(100dvh - 262px);min-height:520px}.board-stage{flex:1;height:auto;min-height:0}.workspace-heading,.annotation-toolbar,.workspace-footer,.text-annotation{flex-shrink:0}.class-sidebar{height:calc(100dvh - 262px);min-height:520px}.people-panel{flex-shrink:0}.collaboration-panel{flex:1;min-height:0}.messages{flex:1;height:auto;min-height:0}.notes-panel,.ai-panel{min-height:0;overflow:auto}.side-tabs,.message-compose{flex-shrink:0}}@media(min-width:1500px){.lobby{padding-top:90px}.classroom{padding-right:38px;padding-left:38px}.class-grid{grid-template-columns:minmax(0,1fr) 340px;gap:22px}.people-videos .video-tile{aspect-ratio:1.3}}@media(max-width:1150px){.rail{width:80px;padding-right:8px;padding-left:8px}.app-main{width:calc(100% - 80px);margin-left:80px}.call-bar{left:80px;padding-right:20px;padding-left:20px}.classroom{padding-right:20px;padding-left:20px}.class-grid{grid-template-columns:minmax(0,1fr) 286px;gap:14px}.class-header h1{font-size:23px}.source-label{display:none}.workspace-heading{padding-right:12px;padding-left:12px}.annotation-toolbar{padding:8px}.call-controls{gap:6px}.remote-note{max-width:140px}.lobby{grid-template-columns:minmax(250px,1fr) 390px;gap:32px;padding:48px 32px 28px}.lobby h1{font-size:39px}.intro-detail{gap:12px 16px}.little-paper{left:10px;width:260px}.little-video{right:-5px}.start-card{padding:26px}.topbar{padding:0 24px}}@media(max-width:900px){.rail{width:74px}.brand{font-size:18px}.brand-mark{width:44px;height:44px}.brand small{font-size:10px}.rail-item{font-size:11px}.app-main{width:calc(100% - 74px);margin-left:74px}.topbar{height:64px}.class-grid{grid-template-columns:minmax(0,1fr)}.class-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:14px}.people-videos{grid-template-columns:1fr}.people-videos .video-tile{aspect-ratio:2.1}.collaboration-panel{min-height:340px}.messages{height:250px}.board-stage{height:450px}.class-header{gap:12px}.class-header h1{font-size:23px}.class-actions{gap:6px}.export-top{display:none}.call-bar{left:74px;padding-right:16px;padding-left:16px}.call-left{display:none}.call-controls{flex:1;justify-content:space-around;gap:3px}.lobby{display:block;max-width:540px;padding:38px 28px}.lobby-intro{padding-top:0}.lobby h1{font-size:40px}.lobby-intro>p{margin-top:16px;font-size:17px}.intro-detail{margin:22px 0 26px}.desk-illustration{display:none}.start-card{margin-top:26px}.lobby-footer{align-items:flex-start;margin:24px 0 0}.lobby-footer svg{margin-top:2px}}@media(max-width:600px){.rail{display:none}.app-main{width:100%;margin-left:0}.topbar{height:64px;padding:0 16px}.breadcrumb{font-size:12px}.breadcrumb span{margin:0 7px}.topbar-right{gap:6px}.privacy-label{font-size:11px}.in-class .privacy-label{display:none}.avatar{width:44px;height:44px;font-size:13px}.mobile-device-button{display:inline-flex}.classroom{padding:20px 12px calc(150px + env(safe-area-inset-bottom))}.class-header{align-items:flex-start;gap:8px;margin-bottom:18px}.class-header .eyebrow{flex-wrap:wrap;gap:5px;font-size:12px}.class-header h1{display:block;max-width:225px;font-size:22px}.subject-badge{display:inline-block;margin-left:8px;font-size:11px;vertical-align:middle}.role-badge{font-size:11px}.class-actions{flex-direction:column-reverse;align-items:flex-end}.class-actions button{min-height:44px;padding:8px 10px;font-size:12px}.class-actions .timer{margin:0;font-size:12px}.board-stage{height:400px}.board-scroll{padding:16px 12px 48px}.workspace-heading{padding:10px}.view-tabs{width:100%}.view-tabs button{flex:1;padding:8px;font-size:13px}.desk-empty{padding:22px 16px}.desk-empty h2{font-size:21px}.desk-empty>p{font-size:14px}.empty-illustration{width:66px;height:66px;margin-bottom:18px}.empty-buttons{gap:8px;margin-top:18px}.empty-buttons button{padding:9px 11px;font-size:13px}.annotation-toolbar{gap:2px;padding:8px}.tool-group{width:100%;justify-content:space-between;margin-bottom:4px;padding-bottom:6px;border-bottom:1px solid var(--border)}.tool-divider{display:none}.color-group{flex:0 0 auto}.toolbar-space{flex-basis:100%;height:0}.zoom-value{min-width:44px;font-size:12px}.snapshot-tag{left:10px;bottom:10px;max-width:calc(100% - 20px);font-size:11px}.snapshot-tag>span:last-child{display:none}.workspace-footer{gap:8px;padding:10px 12px}.workspace-footer>span{font-size:12px}.workspace-footer>div{justify-content:space-between;width:100%;gap:8px}.workspace-footer .text-button{font-size:13px}.class-sidebar{grid-template-columns:minmax(0,1fr)}.people-panel{padding:15px}.people-videos{grid-template-columns:1fr 1fr}.people-videos .video-tile{aspect-ratio:1.45}.collaboration-panel{min-height:300px}.messages{height:250px}.call-bar{left:0;flex-wrap:wrap;gap:7px;min-height:128px;padding:8px 12px calc(9px + env(safe-area-inset-bottom))}.call-controls{flex:0 0 100%;justify-content:space-between;gap:2px}.control-button{min-width:44px;min-height:52px;padding:5px 3px}.control-button>span{font-size:11px}.control-button svg{width:20px;height:20px}.call-bar>.end-button{width:100%;min-height:44px;font-size:13px}.lobby{padding:30px 20px}.lobby h1{font-size:37px}.lobby-intro>p{font-size:16px}.intro-detail{gap:12px;font-size:12px}.start-card{padding:25px 22px;border-radius:18px}.start-card h2{font-size:24px}.join-form{flex-wrap:wrap}.join-form button{width:100%}.modal-backdrop{padding:12px}.modal{max-height:calc(100dvh - 24px);padding:26px 22px;border-radius:19px}.modal h2{font-size:22px}.modal-footer,.modal-actions{gap:8px}.modal-footer>button,.modal-actions>button{flex:1 1 auto}.modal-footer>.text-button{flex-basis:100%;margin-right:0}.device-previews{gap:8px}.device-previews .video-tile{aspect-ratio:1.15}.toast{bottom:calc(145px + env(safe-area-inset-bottom));max-width:calc(100vw - 24px);padding-left:14px;font-size:13px}.connection-banner,.ended-banner{font-size:13px}.board-stage:fullscreen{height:100dvh}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(prefers-contrast:more){:root{--muted: #44444c;--border: #a0a0aa}input,select,textarea{border-color:#767680}}.lesson-options{margin-top:16px;color:var(--muted);font-size:13px}.lesson-options summary{display:flex;justify-content:space-between;align-items:center;min-height:44px;cursor:pointer;list-style:none}.lesson-options summary::-webkit-details-marker{display:none}.lesson-options[open] summary svg{transform:rotate(180deg)}.lesson-options label{margin:14px 0;color:var(--text)}
