:root{--ink:#192232;--muted:#7a8497;--line:#e8ebf2;--paper:#fff;--canvas:#f3f5fa;--navy:#111827;--navy2:#1a2537;--purple:#6657e8;--purple-soft:#efedff;--teal:#21a889;--red:#e34b67;--shadow:0 10px 32px rgba(27,37,60,.055);font-family:Tahoma,"Segoe UI",Arial,sans-serif;color:var(--ink);background:#f6f7fb;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#f6f7fb;font-size:13px}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(102,87,232,.24);outline-offset:2px}svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:28px;padding:0 28px;flex-shrink:0}.brand-block{display:flex;align-items:center;gap:11px;min-width:203px}.brand-mark{width:38px;height:38px;border-radius:13px;background:linear-gradient(135deg,#7567f3,#4e41c9);display:inline-flex;align-items:center;justify-content:center;gap:3px;box-shadow:0 6px 14px #6556d92b;flex-shrink:0}.brand-mark span{display:block;width:4px;border-radius:10px;background:white}.brand-mark span:nth-child(1){height:12px;opacity:.82}.brand-mark span:nth-child(2){height:21px}.brand-mark span:nth-child(3){height:16px;opacity:.9}.brand-copy{display:flex;flex-direction:column;gap:4px}.brand-copy strong{font-size:16px;letter-spacing:-.3px}.brand-copy small{font-size:10px;color:#8b93a5}.class-meta{display:flex;align-items:center;gap:9px;flex:1;color:#5f687b;min-width:0}.live-dot,.stage-indicator{height:7px;width:7px;border-radius:50%;background:#22b891;box-shadow:0 0 0 4px #22b8911a;flex-shrink:0}.class-name{font-size:13px;color:#354056;font-weight:700;white-space:nowrap}.meta-divider{height:20px;width:1px;background:#e6e8ef;margin:0 7px}.room-label{font-size:11px;color:#9199a9}.class-meta>strong{font-size:11px;color:#687285;background:#f5f6fa;border:1px solid #eceef4;padding:5px 8px;border-radius:7px;direction:ltr}.icon-button,.subtle-icon{border:1px solid #e8eaf2;background:#fff;color:#6b7485;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;transition:.18s}.icon-button{width:36px;height:36px}.icon-button svg,.subtle-icon svg{width:17px;height:17px}.icon-button:hover,.subtle-icon:hover{background:#f7f6ff;color:var(--purple);border-color:#dcd8ff}.top-actions{display:flex;align-items:center;gap:10px}.connection-status{display:inline-flex;align-items:center;gap:7px;font-size:10px;color:#9aa2b1;white-space:nowrap}.connection-status i{width:6px;height:6px;border-radius:100%;background:#e6ad44}.connection-status.online{color:#21856d}.connection-status.online i{background:#22b891}.connection-status.offline{color:#c34b63}.connection-status.offline i{background:#e34b67}.secondary-button{border:1px solid #e4e7ef;background:#fff;color:#606a7c;border-radius:10px;padding:10px 13px;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;transition:.2s}.secondary-button svg{width:16px;height:16px}.secondary-button:hover{border-color:#ccc6ff;color:var(--purple);background:#faf9ff}.top-actions>.secondary-button{height:38px;font-size:11px}.class-layout{flex:1;min-height:calc(100vh - 76px);display:grid;grid-template-columns:238px minmax(390px,1fr) 320px;gap:16px;padding:16px;max-width:1920px;margin:0 auto;width:100%;direction:rtl}.panel{background:#fff;border:1px solid #e9ebf2;border-radius:15px;box-shadow:var(--shadow)}.participants-panel{padding:20px 15px 14px;display:flex;flex-direction:column;min-height:0}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;margin:1px 1px 19px}.eyebrow{font-size:10px;color:#999faf;display:block;margin-bottom:6px;letter-spacing:.2px}.panel-heading h2,.chat-header h2{font-size:14px;line-height:1.4;margin:0;color:#253047;font-weight:800}.count-badge{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;margin-right:4px;min-width:20px;height:20px;background:#f0edff;color:#6757de;border-radius:7px;font-size:10px}.subtle-icon{width:31px;height:31px}.search-mini{display:flex;align-items:center;gap:8px;border:1px solid #eceef4;background:#fafbfe;border-radius:9px;height:36px;padding:0 10px;margin-bottom:13px;color:#a5acb9}.search-mini svg{width:15px;height:15px}.search-mini input{width:100%;min-width:0;background:transparent;border:0;outline:0;color:var(--ink);font-size:11px}.search-mini input::placeholder{color:#abb1bf}.participants-list{display:flex;flex-direction:column;gap:8px;overflow:auto;max-height:48vh}.participant{display:flex;align-items:center;gap:10px;padding:9px 8px;border-radius:11px;transition:.16s;min-width:0}.participant:hover{background:#f8f8fc}.participant-avatar{width:35px;height:35px;display:grid;place-items:center;border-radius:12px;color:#6455d4;background:#efedff;font-weight:800;flex-shrink:0;position:relative}.participant-avatar.teal{background:#e2f7f1;color:#198568}.participant-avatar.peach{background:#fff0e8;color:#c47b4c}.participant-avatar.blue{background:#e8f1ff;color:#4776c5}.participant-avatar.pink{background:#ffedf2;color:#c25676}.participant-avatar .online-dot{position:absolute;bottom:-1px;left:-1px;width:9px;height:9px;border:2px solid white;background:#24b88d;border-radius:50%}.participant-info{min-width:0;flex:1;display:flex;flex-direction:column;gap:5px}.participant-name{font-size:11px;font-weight:700;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:#354056}.participant-role{font-size:9px;color:#9ba2b0}.participant-status{color:#a4abba;font-size:10px}.participant-hand{font-size:14px}.empty-people{display:flex;flex-direction:column;align-items:center;text-align:center;padding:21px 7px;color:#9ba3b2;gap:8px}.empty-people strong{font-size:11px;color:#657087}.empty-people span{font-size:10px;line-height:1.9}.empty-avatar{width:39px;height:39px;display:grid;place-items:center;border-radius:14px;background:#f0eeff;color:#6759dc;font-size:17px;font-weight:700}.panel-spacer{flex:1;min-height:18px}.quick-tips{display:flex;align-items:flex-start;gap:10px;background:#f8f7ff;border:1px solid #efedff;padding:12px 10px;border-radius:12px;margin-top:15px}.tip-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#ece9ff;color:#6c5ade;flex-shrink:0}.tip-icon svg{width:16px;height:16px}.quick-tips strong{font-size:10px;color:#5749b5}.quick-tips p{font-size:10px;color:#878ca3;line-height:1.9;margin:4px 0 0}.center-column{min-width:0;display:flex;flex-direction:column;gap:13px;position:relative}.toolbar{padding:8px 12px;display:flex;align-items:center;gap:8px;min-height:65px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}.toolbar-group{display:flex;align-items:center;gap:3px;flex-shrink:0}.tool-button{display:flex;align-items:center;flex-direction:column;justify-content:center;gap:4px;width:53px;height:48px;border:1px solid transparent;background:transparent;border-radius:9px;color:#8d95a5;font-size:9px;flex-shrink:0;transition:.16s}.tool-button svg{width:18px;height:18px}.tool-button:hover{background:#f8f8fe;color:#6556d9}.tool-button.active{background:#efedff;color:#6253d8;border-color:#e8e4ff}.toolbar-separator{height:32px;width:1px;background:#eceef4;margin:0 4px;flex-shrink:0}.colors-group{gap:8px;padding:0 4px}.color-swatch{width:19px;height:19px;border-radius:50%;background:var(--swatch);border:2px solid #fff;box-shadow:0 0 0 1px transparent;position:relative;flex-shrink:0}.color-swatch.selected{box-shadow:0 0 0 1.5px var(--swatch)}.color-swatch.selected:after{content:"";position:absolute;width:4px;height:4px;border-radius:50%;background:white;inset:0;margin:auto}.custom-color{width:23px;height:23px;position:relative;display:grid;place-items:center;border:1px dashed #cfd4e0;border-radius:50%;overflow:hidden;color:#9098a8;font-size:18px}.custom-color input{position:absolute;inset:-5px;width:34px;height:34px;opacity:0;cursor:pointer}.toolbar-spacer{flex:1;min-width:3px}.compact-tool{width:31px;height:31px;display:grid;place-items:center;border:0;background:transparent;color:#8c94a3;border-radius:8px;flex-shrink:0}.compact-tool svg{width:17px;height:17px}.compact-tool:hover{background:#f2f0ff;color:#6556db}.stage-card{overflow:hidden;min-width:0;display:flex;flex-direction:column;flex:1;min-height:480px}.stage-header{min-height:64px;display:flex;align-items:center;justify-content:space-between;padding:10px 18px;border-bottom:1px solid #eff0f5;gap:12px}.stage-title-wrap{display:flex;align-items:center;gap:11px;min-width:135px}.stage-indicator{background:#6a5be3;box-shadow:0 0 0 4px #7567f314}.stage-title-wrap>div{display:flex;flex-direction:column;gap:5px}.stage-title-wrap strong{font-size:12px}.stage-title-wrap small{font-size:9px;color:#9aa1af}.stage-header-actions{display:flex;align-items:center;gap:7px;min-width:0}.stage-action{border:1px solid #e7e9f1;background:#fff;color:#6d7688;display:flex;align-items:center;gap:7px;border-radius:9px;padding:8px 10px;font-size:10px;white-space:nowrap;transition:.16s}.stage-action svg{width:15px;height:15px}.stage-action:hover,.stage-action.active{border-color:#d8d2ff;background:#f8f7ff;color:#6556d9}.recording-status{align-items:center;gap:6px;color:#d64c63;background:#fff2f4;border:1px solid #ffe3e8;border-radius:8px;padding:7px 9px;font-size:9px;white-space:nowrap}.recording-status:not(.hidden){display:flex}.recording-status i{width:7px;height:7px;background:#e34b67;border-radius:50%;animation:blink 1.4s infinite}.recording-status b{font-weight:700;direction:ltr}.stage-visual{height:clamp(300px,45vh,560px);min-height:290px;position:relative;overflow:hidden;background:#f2f3f9;isolation:isolate}.sample-slide{position:absolute;inset:0;background:#fff;display:flex;flex-direction:column;padding:clamp(23px,4vw,53px) clamp(24px,5vw,66px) 19px;overflow:hidden}.slide-topline{display:flex;align-items:center;justify-content:space-between;color:#a0a6b6;font-size:10px;z-index:1}.slide-badge{background:#f1efff;color:#6255d1;border-radius:6px;padding:6px 10px;font-size:9px}.slide-body{display:flex;align-items:center;justify-content:space-between;gap:24px;flex:1;min-height:0;position:relative}.slide-copy{max-width:65%;z-index:1}.slide-kicker{font-size:9px;letter-spacing:2px;color:#9087ed;font-family:Arial,sans-serif;display:block;margin-bottom:16px}.slide-copy h1{font-size:clamp(28px,4vw,49px);letter-spacing:-1.4px;color:#1d2540;margin:0 0 14px;font-weight:900}.slide-copy p{font-size:clamp(11px,1.2vw,14px);line-height:2.2;color:#7b849a;max-width:470px;margin:0 0 23px}.formula-card{display:inline-flex;flex-direction:column;gap:10px;padding:13px 17px;border-radius:11px;background:#f8f8ff;border:1px solid #efedff}.formula-card span{font-size:9px;color:#8e93aa}.formula-card strong{font-size:clamp(10px,1vw,13px);font-weight:700;direction:ltr;color:#423b9e;letter-spacing:.2px}.slide-art{position:absolute;inset-inline-end:-7%;width:45%;height:95%;opacity:.8;overflow:hidden}.orbit{position:absolute;border:1px solid #e4e2ff;border-radius:50%;transform:rotate(-26deg)}.orbit-one{width:90%;height:58%;right:-10%;top:21%}.orbit-two{width:115%;height:78%;right:-22%;top:7%;border-color:#eeebff}.wave-line{position:absolute;width:130%;height:40%;border:2px solid transparent;border-top-color:#9388f2;border-radius:50%;transform:rotate(-30deg);right:-20%}.wave-one{top:22%}.wave-two{top:32%;right:-27%;border-top-color:#c8c3ff}.wave-three{top:42%;right:-35%;border-top-color:#e1ddff}.art-dot{position:absolute;width:9px;height:9px;border-radius:50%;background:#6a5be3;box-shadow:0 0 0 8px #6a5be315}.dot-one{top:26%;right:34%}.dot-two{top:56%;right:70%;background:#9f96f5}.dot-three{top:67%;right:20%;background:#cac5ff}.slide-footer{display:flex;align-items:center;justify-content:space-between;color:#abb0bf;font-size:9px;border-top:1px solid #f0f0f6;padding-top:12px}.screen-preview,.pdf-preview{position:absolute;z-index:1;inset:0;width:100%;height:100%;border:0;object-fit:contain;background:#161b29}.pdf-preview{z-index:2;background:#fff}.stage-visual.board-mode .sample-slide{display:none}.stage-visual.board-mode{background:#fff}.stage-visual.board-mode:after{content:"تختهٔ سفید";position:absolute;top:16px;right:17px;color:#d0d2dc;font-size:10px;pointer-events:none}#boardCanvas{position:absolute;inset:0;width:100%;height:100%;z-index:4;touch-action:none;cursor:crosshair}#boardCanvas.tool-pointer{cursor:none}.pointer-halo{position:absolute;z-index:8;width:28px;height:28px;border:2px solid #e34b67;border-radius:50%;box-shadow:0 0 0 6px #e34b671e;transform:translate(-50%,-50%);pointer-events:none}.stage-empty-notice{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;background:white;padding:20px}.stage-empty-notice h3{font-size:15px;margin:16px 0 6px}.stage-empty-notice p{color:#8e97a9;font-size:11px;line-height:1.9;max-width:330px}.notice-art{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;background:#f0eeff;color:#6555df}.notice-art svg{width:26px;height:26px}.local-media-badge{position:absolute;z-index:9;bottom:13px;right:13px;background:#131a28d9;color:white;border-radius:8px;padding:9px 11px;display:flex;align-items:center;gap:8px;font-size:10px;backdrop-filter:blur(8px)}.local-media-badge .live-dot{width:6px;height:6px;background:#fb556f;box-shadow:0 0 0 4px #fb556f25}.remote-media-strip{display:flex;gap:9px;overflow:auto;padding:10px 14px;border-top:1px solid #f1f2f6;min-height:0}.remote-tile{width:104px;height:65px;position:relative;overflow:hidden;border-radius:9px;background:#e9ebf4;flex-shrink:0;border:1px solid #e1e4ed}.remote-tile video{width:100%;height:100%;object-fit:cover;display:block}.remote-tile .remote-name{position:absolute;bottom:4px;right:5px;left:5px;max-width:calc(100% - 10px);font-size:9px;background:#111827ba;color:white;padding:4px 5px;border-radius:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.remote-tile.audio-only{display:flex;align-items:center;justify-content:center}.remote-tile.audio-only:before{content:"";position:absolute;width:29px;height:29px;background:#e2dcff;border-radius:10px}.remote-tile.audio-only .voice-avatar{position:relative;color:#6757d9;font-weight:bold}.stage-bottom-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border-top:1px solid #f1f2f6}.stage-hint{display:flex;align-items:center;gap:8px;color:#999faf;min-width:0;font-size:10px;line-height:1.8}.stage-hint svg{width:15px;height:15px;color:#b4b8c7}.floating-chat-btn{display:flex;align-items:center;gap:8px;border:1px solid #e4e0ff;background:#f6f4ff;color:#6254d5;border-radius:9px;padding:10px 12px;font-size:10px;white-space:nowrap;flex-shrink:0}.floating-chat-btn svg{width:16px;height:16px}.floating-chat-btn:hover{background:#ece9ff;border-color:#d8d2ff}.floating-arrow{font-family:Arial,sans-serif;font-size:15px}.controls-panel{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 13px}.controls-left,.controls-right{display:flex;align-items:center;gap:8px}.control-button{display:flex;align-items:center;gap:8px;background:white;border:1px solid #eaecf2;padding:7px 10px;border-radius:10px;color:#778093;font-size:10px;white-space:nowrap}.control-icon{width:29px;height:29px;background:#f5f6fa;border-radius:8px;display:grid;place-items:center;color:#6b7487}.control-icon svg{width:16px;height:16px}.control-button:hover{border-color:#d6d0ff;color:#6153d3}.control-button.active{background:#f1f9f6;border-color:#d5f1e7;color:#21896e}.control-button.active .control-icon{background:#dff7ee;color:#21896e}.control-button.muted{background:#fff5f6;border-color:#ffe0e5;color:#d04a62}.control-button.muted .control-icon{background:#ffe5e9;color:#ce4a62}.share-control .control-icon{background:#efedff;color:#6655dc}.record-button{display:flex;align-items:center;gap:8px;padding:12px 15px;background:#fff5f6;color:#ce4a62;border:1px solid #ffe0e5;border-radius:10px;font-size:11px;font-weight:700;white-space:nowrap}.record-button:hover,.record-button.is-recording{background:#ffe9ec}.record-icon{width:9px;height:9px;border-radius:50%;background:#e34b67;box-shadow:0 0 0 4px #e34b6714}.record-button.is-recording .record-icon{animation:blink 1.2s infinite}.leave-button{display:flex;align-items:center;gap:6px;padding:12px 13px;background:#e34b67;color:#fff;border:1px solid #e34b67;border-radius:10px;font-size:11px;font-weight:700;white-space:nowrap}.leave-button svg{width:16px;height:16px}.leave-button:hover{background:#ce3f5b}.chat-panel{min-height:0;display:flex;flex-direction:column;overflow:hidden}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:20px 16px 13px;border-bottom:1px solid #f0f1f5}.chat-header h2{font-size:14px}.chat-header-actions{display:flex;gap:5px}.unread-badge{display:inline-flex;vertical-align:middle;align-items:center;justify-content:center;background:#e34b67;color:white;border-radius:50%;min-width:17px;height:17px;font-size:9px;padding:0 4px;margin-right:4px}.chat-filter-row{display:flex;align-items:center;gap:7px;padding:12px 15px 8px}.chat-filter{border:1px solid #eaecf3;background:#fff;color:#979faf;border-radius:7px;padding:7px 10px;font-size:10px}.chat-filter.active{background:#efedff;border-color:#e5e1ff;color:#6254d5}.chat-filter span{border:1px solid currentColor;border-radius:50%;width:13px;height:13px;display:inline-grid;place-items:center;margin-right:3px;font-size:8px}.messages{padding:11px 14px;flex:1;min-height:150px;overflow-y:auto;display:flex;flex-direction:column;gap:15px;scroll-behavior:smooth}.chat-welcome{flex:1;min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#9aa2b1;padding:22px 16px;gap:9px}.welcome-mark{width:44px;height:44px;border-radius:15px;background:#f1efff;color:#6a5ade;display:grid;place-items:center;margin-bottom:2px}.welcome-mark svg{width:22px;height:22px}.chat-welcome strong{font-size:11px;color:#606b82}.chat-welcome p{font-size:10px;line-height:2;max-width:220px;margin:0;color:#9aa2b1}.message{display:flex;flex-direction:column;gap:5px;align-items:flex-start;max-width:100%}.message.self{align-items:flex-end}.message-head{display:flex;align-items:center;gap:7px;font-size:10px;color:#677188;max-width:100%}.message.self .message-head{flex-direction:row-reverse}.message-avatar{width:24px;height:24px;border-radius:8px;background:#e9f1ff;color:#4879c8;display:grid;place-items:center;font-size:10px;font-weight:700;flex-shrink:0}.message-avatar.purple{background:#efedff;color:#6556d8}.message-avatar.teal{background:#e0f6f0;color:#239275}.message-avatar.peach{background:#fff0e6;color:#bd774a}.message-name{font-weight:700;max-width:125px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-time{font-size:9px;color:#b2b8c4;direction:ltr}.message-bubble{margin-right:31px;background:#f3f5fa;color:#4d586d;line-height:1.95;padding:10px 12px;border-radius:3px 12px 12px 12px;max-width:calc(100% - 30px);overflow-wrap:anywhere;font-size:11px;white-space:pre-wrap}.message.self .message-bubble{margin-right:0;margin-left:31px;background:#efedff;color:#4e459e;border-radius:12px 3px 12px 12px}.message.question .message-bubble{border-right:3px solid #e6b85b}.message-role{font-size:8px;background:#f1efff;color:#7365d8;border-radius:4px;padding:3px 5px}.message-system{align-self:center;color:#9da5b4;font-size:9px;background:#f9fafc;border-radius:20px;padding:6px 11px;text-align:center;line-height:1.8}.quick-replies{padding:6px 12px 12px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;border-top:1px solid #f6f6f9}.quick-replies>span{font-size:9px;color:#a1a8b5;width:100%;padding:2px 2px}.quick-replies button{border:1px solid #e9eaf2;background:#fff;border-radius:7px;padding:6px 8px;color:#8790a3;font-size:9px}.quick-replies button:hover{color:#6556d9;border-color:#dcd7ff;background:#faf9ff}.chat-composer{padding:10px 12px 13px;background:#fcfcfe;border-top:1px solid #eceef4}.composer-tools{display:flex;align-items:center;gap:7px;margin-bottom:7px}.composer-tool{width:25px;height:25px;background:#fff;border:1px solid #e9ebf2;color:#9299a9;border-radius:7px;display:grid;place-items:center;font-size:12px}.composer-tool.active{background:#fff7e9;border-color:#f1d69c;color:#b1842e}.composer-hint{font-size:9px;color:#bbc0cb;margin-right:auto}.composer-input-row{display:flex;align-items:flex-end;gap:8px;background:#fff;border:1px solid #e7e9f1;border-radius:11px;padding:6px 7px 6px 6px;transition:.16s}.composer-input-row:focus-within{border-color:#ccc5ff;box-shadow:0 0 0 3px #7163e80c}.composer-input-row textarea{resize:none;min-height:34px;max-height:120px;flex:1;width:100%;background:transparent;border:0;outline:0;padding:8px 6px;color:#344057;font-size:11px;line-height:1.8}.composer-input-row textarea::placeholder{color:#a8afbc}.send-button{width:34px;height:34px;border:0;border-radius:9px;background:#6859e4;color:#fff;display:grid;place-items:center;flex-shrink:0;transition:.16s}.send-button:hover{background:#5344cb;transform:translateY(-1px)}.send-button svg{width:17px;height:17px}.toast-region{position:fixed;z-index:100;bottom:20px;left:20px;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{background:#192235;color:white;padding:12px 16px;border-radius:11px;box-shadow:0 10px 30px #10182726;max-width:min(390px,calc(100vw - 40px));font-size:11px;line-height:1.8;animation:toast-in .2s ease-out}.toast.error{background:#a52e4a}.toast.success{background:#187e65}.app-dialog{border:0;border-radius:20px;padding:0;width:min(420px,calc(100% - 30px));box-shadow:0 24px 80px #141a2d3b;color:var(--ink)}.app-dialog::backdrop{background:#11182766;backdrop-filter:blur(3px)}.app-dialog form{padding:28px;display:flex;flex-direction:column;gap:10px}.dialog-mark{display:flex;justify-content:center;margin-bottom:5px}.app-dialog h2{margin:0;text-align:center;font-size:19px;letter-spacing:-.5px}.app-dialog p{font-size:11px;color:#868fa0;text-align:center;line-height:2;margin:0 0 6px}.app-dialog label{font-size:11px;color:#657086;font-weight:700;margin-top:4px}.app-dialog input,.app-dialog select{width:100%;border:1px solid #e5e8f0;background:#fafbfe;border-radius:9px;padding:12px 11px;color:#2d374b;outline:none}.app-dialog input:focus,.app-dialog select:focus{border-color:#bdb5ff}.primary-button{background:#6656df;color:white;border:1px solid #6656df;border-radius:10px;padding:13px 15px;display:flex;align-items:center;justify-content:center;gap:12px;font-weight:700;font-size:12px;margin-top:7px}.primary-button:hover{background:#5142c4}.app-dialog small{text-align:center;color:#a1a8b5;font-size:9px;line-height:1.8;margin-top:4px}.small-dialog{width:min(390px,calc(100% - 30px))}.small-dialog form{padding:25px}.small-dialog h2{text-align:right;font-size:17px}.small-dialog p{text-align:right;margin:0 0 4px}.dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:7px}.dialog-actions .primary-button{margin:0}.danger-button{background:#e34b67;border-color:#e34b67}.danger-button:hover{background:#c93955}.hidden{display:none!important}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.chat-options-popover{position:absolute;z-index:20;right:12px;top:74px;background:#fff;border:1px solid #e5e8f0;box-shadow:var(--shadow);border-radius:10px;padding:6px;display:flex;flex-direction:column;min-width:170px}.chat-options-popover button{background:white;border:0;text-align:right;padding:10px;border-radius:7px;color:#70798b;font-size:10px}.chat-options-popover button:hover{background:#f4f2ff;color:#6153d6}@keyframes blink{0%,100%{opacity:1}50%{opacity:.35}}@keyframes toast-in{from{transform:translateY(7px);opacity:0}to{transform:translateY(0);opacity:1}}
@media (min-width:1600px){.class-layout{grid-template-columns:270px minmax(500px,1fr) 355px;padding:20px;gap:19px}.stage-visual{height:clamp(400px,50vh,680px)}.class-layout{min-height:calc(100vh - 76px)}}
@media (max-width:1200px){.class-layout{grid-template-columns:205px minmax(340px,1fr) 290px;gap:10px;padding:10px}.topbar{padding:0 18px;gap:15px}.brand-block{min-width:170px}.stage-header{padding:10px 12px}.stage-action{padding:7px 8px}.stage-action span{font-size:9px}.tool-button{width:47px}.controls-left,.controls-right{gap:5px}.control-button{padding:6px 7px;gap:5px}.record-button,.leave-button{padding:11px 10px}.participants-panel{padding:17px 11px 12px}}
@media (max-width:1000px){.topbar{height:auto;min-height:70px;flex-wrap:wrap;padding:12px 16px;gap:12px}.brand-block{min-width:auto}.brand-copy small{display:none}.class-meta{order:3;flex-basis:100%;font-size:11px}.top-actions{margin-right:auto}.class-layout{grid-template-columns:210px minmax(0,1fr);min-height:auto;padding:12px}.participants-panel{grid-column:1;grid-row:1}.center-column{grid-column:2;grid-row:1 / span 2}.chat-panel{grid-column:1;grid-row:2;min-height:550px}.stage-visual{height:clamp(320px,42vh,460px)}.controls-panel{flex-wrap:wrap}.controls-left,.controls-right{width:100%;justify-content:center}.controls-right{padding-top:7px;border-top:1px solid #f0f1f5}.participants-list{max-height:35vh}.quick-tips{display:none}}
@media (max-width:700px){.topbar{gap:9px;padding:10px 12px}.brand-mark{width:33px;height:33px;border-radius:11px}.brand-copy strong{font-size:14px}.connection-status{display:none}.top-actions>.secondary-button{padding:8px 9px}.top-actions>.secondary-button span{display:none}.class-layout{display:flex;flex-direction:column;gap:11px;padding:10px}.center-column{order:1}.chat-panel{order:2;min-height:470px}.participants-panel{order:3;min-height:180px}.participants-list{max-height:250px}.toolbar{min-height:60px;padding:5px 8px}.tool-button{width:45px;height:45px}.stage-card{min-height:auto}.stage-header{align-items:flex-start;flex-direction:column}.stage-header-actions{width:100%;overflow-x:auto}.stage-visual{height:350px;min-height:280px}.sample-slide{padding:22px 18px 15px}.slide-copy{max-width:85%}.slide-copy h1{font-size:32px}.slide-copy p{font-size:11px}.slide-art{width:60%;opacity:.35}.formula-card strong{font-size:9px}.stage-bottom-bar{align-items:flex-start;flex-direction:column}.floating-chat-btn{width:100%;justify-content:center}.controls-panel{padding:9px 6px}.controls-left{justify-content:space-around;flex-wrap:wrap}.control-button{flex-direction:column;gap:4px;min-width:64px;font-size:9px}.control-icon{width:29px;height:27px}.controls-right{justify-content:space-around}.record-button,.leave-button{flex:1;justify-content:center}.remote-media-strip{padding:8px}.toast-region{bottom:10px;left:10px}.chat-panel{min-height:520px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

.remote-pointer{position:absolute;z-index:10;transform:translate(-50%,-50%);pointer-events:none;display:flex;align-items:flex-start;gap:5px}.remote-pointer-dot{display:block;width:19px;height:19px;border:2px solid #2874ee;border-radius:50%;box-shadow:0 0 0 5px #2874ee24;background:#ffffff50}.remote-pointer-label{margin-top:10px;background:#2874ee;color:#fff;border-radius:6px 6px 6px 0;padding:4px 7px;font-size:9px;white-space:nowrap;box-shadow:0 3px 8px #143e8d30}.notification-enabled{color:#21896e!important;border-color:#d2eee5!important;background:#f1fbf7!important}

/* Smaller, lighter pointer and the instructor permission menu. */
.pointer-halo{width:10px;height:10px;border-width:1px;box-shadow:0 0 0 2px #e34b6718;will-change:left,top}
.remote-pointer{gap:3px;will-change:left,top}
.remote-pointer-dot{width:8px;height:8px;border-width:1px;box-shadow:0 0 0 2px #2874ee18;background:#fff8}
.remote-pointer-label{margin-top:3px;border-radius:4px;padding:2px 4px;font-size:7px;box-shadow:0 1px 3px #143e8d20}
.participant{position:relative}
.participant-menu-button{width:25px;height:28px;flex:0 0 25px;border:0;background:transparent;border-radius:7px;color:#929aac;font-size:20px;line-height:1;display:grid;place-items:center;padding:0}
.participant-menu-button:hover,.participant.has-open-menu .participant-menu-button{background:#f0edff;color:#6253d8}
.teacher-password-row{display:flex;flex-direction:column;gap:8px}
.teacher-password-row.hidden{display:none!important}
body.is-teacher #recordingStatus{display:none!important}
#boardCanvas{touch-action:none}

/* Larger, unclipped participant permission dialog */
.permission-dialog{width:min(470px,calc(100% - 28px));max-height:min(88vh,760px);overflow:auto;border:1px solid #e7e9f2;border-radius:22px;background:#fff}
.permission-dialog form{padding:24px;gap:12px}
.permissions-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.permissions-dialog-head .eyebrow{margin:0 0 5px}
.permissions-dialog-head h2{font-size:18px;text-align:right;line-height:1.5}
.permissions-dialog-head .icon-button{width:34px;height:34px;font-size:22px;flex:0 0 34px}
.permission-dialog p{text-align:right;margin:0;line-height:1.9}
.permission-dialog-options{display:grid;grid-template-columns:1fr;gap:8px;margin:2px 0 4px}
.permission-dialog-option{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid #eaecf3;border-radius:12px;background:#fff;cursor:pointer;transition:background .15s,border-color .15s}
.permission-dialog-option:hover{border-color:#d8d2ff;background:#fbfaff}
.permission-option-icon{width:36px;height:36px;border-radius:11px;background:#f0edff;color:#6556dc;display:grid;place-items:center;flex:0 0 36px;font-weight:800;font-size:14px}
.permission-dialog-option>span:nth-child(2){display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}
.permission-dialog-option strong{font-size:12px;color:#334057}
.permission-dialog-option small{text-align:right;font-size:10px;line-height:1.6;color:#949bad;margin:0}
.permission-dialog-option input[type=checkbox]{width:19px;height:19px;flex:0 0 19px;accent-color:#6656df;margin:0}
.permission-dialog .dialog-actions{border-top:1px solid #eff0f5;padding-top:14px;margin-top:0}
.permission-dialog .primary-button{min-width:150px}
.permission-dialog button:disabled{opacity:.6;cursor:wait}
.close-share-view{position:absolute;z-index:20;left:14px;top:14px;display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid #ffffff60;border-radius:11px;background:#171c2dbb;color:#fff;backdrop-filter:blur(8px);font-size:11px;box-shadow:0 5px 16px #0003}
.close-share-view svg{width:15px;height:15px}
.close-share-view:hover{background:#c64258}
#screenPreview,#remoteScreenPreview{pointer-events:none;will-change:transform}
#boardCanvas{background:transparent}
@media(max-width:600px){.permission-dialog form{padding:18px}.permission-dialog .dialog-actions{flex-direction:column-reverse;align-items:stretch}.permission-dialog .dialog-actions button{width:100%}.close-share-view{left:8px;top:8px;padding:7px 9px;font-size:10px}}
