.classroom-host-panel{margin:0 0 22px;padding:20px 22px;border:1px solid #d8c68f;border-left:5px solid #d8a83c;border-radius:14px;background:linear-gradient(135deg,#fffdf7,#f4f7fb);box-shadow:0 8px 24px rgba(9,25,43,.14);color:#19344a}
.classroom-host-panel>header{display:flex;align-items:center;justify-content:space-between;gap:18px}
.classroom-host-panel h3{margin:3px 0 5px;font-size:20px;color:#18334a}
.classroom-host-panel p{margin:0;color:#52677c;font-size:14px;line-height:1.6}
.classroom-kicker{display:block;color:#987022;font-size:10px;font-weight:800;letter-spacing:.14em}
.classroom-primary,.classroom-secondary,.classroom-danger,.classroom-host-panel button,.classroom-stage-tools button{font:inherit;cursor:pointer}
.classroom-primary{border:1px solid #bf8e28;border-radius:9px;padding:10px 17px;background:linear-gradient(135deg,#f2d17a,#d7a53b);color:#172c3e;font-weight:800;box-shadow:0 3px 0 #a87a25}
.classroom-primary:hover{filter:brightness(1.04)}
.classroom-primary:disabled{opacity:.55;cursor:wait}
.classroom-secondary{border:1px solid #c7d3df;border-radius:8px;padding:8px 13px;background:#fff;color:#24425b}
.classroom-danger{border:1px solid #e8b9ad;border-radius:8px;padding:8px 12px;background:#fff7f5;color:#9f3d2d}
.classroom-host-active{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:12px;margin-top:16px;padding-top:15px;border-top:1px solid #dce3e9}
.classroom-host-code{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.classroom-host-code small{color:#607387}
.classroom-host-code strong{font-size:24px;letter-spacing:.18em;color:#193b56;font-variant-numeric:tabular-nums}
.classroom-host-code button{border:1px solid #c7d3df;border-radius:7px;padding:5px 10px;background:white;color:#24425b}
.classroom-permission{display:flex;align-items:center;gap:7px;color:#29445a;font-size:13px;font-weight:700}
.classroom-permission input{width:17px;height:17px;accent-color:#35785c}
.classroom-member-list{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;padding-top:5px}
.classroom-member-list>span{color:#76879a;font-size:13px}
.classroom-member-row{display:flex;align-items:center;gap:8px;border:1px solid #d7e0e8;border-radius:20px;background:#fff;padding:5px 7px 5px 10px;font-size:13px;color:#263f53}
.classroom-member-row i{display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:50%;background:#a7b2bd}
.classroom-member-row i.online{background:#27a66e;box-shadow:0 0 0 3px rgba(39,166,110,.12)}
.classroom-member-row small{color:#718499}
.classroom-member-row button{border:0;border-radius:12px;padding:3px 7px;background:#f2f5f7;color:#8c4b42;font-size:11px}
.classroom-host-error{min-height:18px;margin-top:8px;color:#ad3f35;font-size:13px}
.classroom-modal-backdrop{position:fixed;z-index:30000;inset:0;display:grid;place-items:center;padding:20px;background:rgba(7,18,32,.62);backdrop-filter:blur(4px)}
.classroom-modal-backdrop[hidden],.classroom-invite-prompt[hidden],.classroom-follow-stage[hidden]{display:none!important}
.classroom-modal{position:relative;width:min(440px,100%);padding:30px;border:1px solid #ddc780;border-radius:18px;background:#fffdf8;box-shadow:0 24px 80px rgba(0,0,0,.3);color:#19344a}
.classroom-modal h2{margin:7px 0 9px;font-size:24px}
.classroom-modal p{margin:0 0 18px;color:#607387;line-height:1.65}
.classroom-modal label{display:block;margin-bottom:7px;font-weight:700}
.classroom-modal input{box-sizing:border-box;width:100%;height:54px;border:1px solid #c6d3df;border-radius:10px;padding:0 15px;background:white;color:#18334a;font-size:22px;letter-spacing:.2em;text-align:center}
.classroom-modal input:focus{outline:3px solid rgba(64,133,213,.2);border-color:#4386c7}
.classroom-modal-close{position:absolute;right:13px;top:11px;border:0;background:none;color:#607387;font-size:26px;cursor:pointer}
.classroom-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}
.classroom-form-error{min-height:20px;margin-top:7px;color:#a83c32;font-size:13px}
.classroom-invite-prompt{position:fixed;z-index:29990;right:22px;bottom:22px;width:min(450px,calc(100vw - 32px));}
.classroom-invite-card{display:flex;align-items:flex-start;gap:12px;padding:17px;border:1px solid #d9bf7c;border-radius:14px;background:#fffdf7;box-shadow:0 14px 42px rgba(4,18,35,.28);color:#19344a}
.classroom-invite-dot{flex:0 0 10px;height:10px;margin-top:6px;border-radius:50%;background:#d9a532;box-shadow:0 0 0 5px #f8ecd0}
.classroom-invite-card p{margin:5px 0 0;color:#65788b;font-size:13px;line-height:1.5}
.classroom-invite-actions{display:flex;flex-direction:column;gap:7px;margin-left:auto;white-space:nowrap}
.classroom-invite-actions button{padding:7px 10px;font-size:13px}
.classroom-follow-stage{position:fixed;z-index:29980;top:0;right:0;bottom:auto;left:0;display:flex;flex-direction:column;height:100vh;height:100dvh;max-height:100dvh;background:#e9eef3;color:#172d43;-webkit-text-size-adjust:100%;text-size-adjust:100%}
.classroom-stage-header{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:66px;padding:10px 22px;background:#122d46;color:#f8fbff;box-shadow:0 4px 16px rgba(0,0,0,.2)}
.classroom-stage-header .classroom-kicker{color:#edc765}
.classroom-stage-header h2{margin:2px 0;font-size:17px;color:#fff}
.classroom-stage-header small{color:#c0d0df}
.classroom-stage-status{display:flex;align-items:center;gap:8px;color:#e3ebf3;font-size:13px;white-space:nowrap}
.classroom-stage-status i{width:9px;height:9px;border-radius:50%;background:#4bd095;box-shadow:0 0 0 4px rgba(75,208,149,.15)}
.classroom-stage-close{border:1px solid #627c91;border-radius:8px;padding:7px 12px;background:#203f5c;color:#fff}
.classroom-stage-body{position:relative;flex:1;min-height:0;overflow:hidden;display:block;padding:0!important;background:#dce3eb}
.classroom-stage-body.classroom-stage-body-qbank{background:#fff}
.classroom-stage-canvas{position:absolute;top:0;left:50%;display:block;box-sizing:border-box;flex:none;overflow:visible;transform-origin:top center;background:#fff;-webkit-text-size-adjust:100%;text-size-adjust:100%;will-change:transform}
.classroom-stage-canvas>.classroom-stage-waiting,.classroom-stage-canvas>.classroom-stage-error{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);margin:0;max-width:calc(100% - 40px);box-sizing:border-box}
.classroom-stage-waiting,.classroom-stage-error{align-self:center;margin:auto;padding:22px 26px;border-radius:12px;background:#fff;color:#516579;box-shadow:0 8px 30px rgba(16,38,60,.12)}
.classroom-stage-error{color:#a64032}
.classroom-word-scroll{position:relative;flex:0 0 auto;width:100%;height:100%;overflow:auto;padding:22px;box-sizing:border-box}
.classroom-stage-canvas .classroom-word-scroll,.classroom-stage-canvas .classroom-qbank-scroll,.classroom-stage-canvas .classroom-material-scroll{scrollbar-width:none;-ms-overflow-style:none}
.classroom-stage-canvas .classroom-word-scroll::-webkit-scrollbar,.classroom-stage-canvas .classroom-qbank-scroll::-webkit-scrollbar,.classroom-stage-canvas .classroom-material-scroll::-webkit-scrollbar{display:none;width:0;height:0}
.classroom-word-scale-frame{position:relative;display:block;flex:0 0 auto;margin:0 auto}
.classroom-word-page{position:absolute;top:0;left:0;width:920px;min-width:920px;min-height:420px;margin:0;padding:34px 42px;box-sizing:border-box;border:1px solid #d7dee7;background:#fff;box-shadow:0 4px 18px rgba(15,23,42,.12);color:#1f2937;font:15px/1.9 Cambria,'Times New Roman','Microsoft YaHei',serif;transform-origin:top left;will-change:transform}
.classroom-word-html{position:relative;z-index:1;max-width:none;overflow:visible;color:#1f2937;font:inherit;line-height:inherit}
.classroom-word-html p{margin:0 0 9px;white-space:pre-wrap}
.classroom-word-html table{width:100%;margin:9px 0;border-collapse:collapse}.classroom-word-html td{padding:6px;border:1px solid #e0e7df;vertical-align:top;white-space:pre-wrap}.classroom-word-html th{padding:6px;border:1px solid #e0e7df;vertical-align:top}.classroom-word-html tr:nth-child(even){background:#f8faf7}
.classroom-word-html img{max-width:100%;height:auto}
.classroom-word-html .teacher-word-text-underline{text-decoration:underline 2px #dc2626;text-underline-offset:3px}
.classroom-word-html .teacher-word-text-highlight{background:rgba(250,204,21,.42)}
.classroom-qbank-scroll{position:relative;flex:0 0 auto;width:100%;max-width:none;height:100%;overflow:auto;box-sizing:border-box;padding:0;display:flex;align-items:flex-start;justify-content:center;background:#fff;-webkit-text-size-adjust:100%;text-size-adjust:100%}
.classroom-qbank-scale-frame{position:relative;flex:0 0 auto;max-width:none}
.classroom-qbank-page{position:relative;flex:0 0 auto;width:100%;min-height:100%;box-sizing:border-box;padding:0;background:#fff;box-shadow:none;color:#1a1a1a;font-family:"Noto Serif SC","SimSun","KaiTi",serif}
.classroom-qbank-scale-frame>.classroom-qbank-page{position:absolute;top:0;left:0;min-height:0}
.classroom-qbank-html{position:relative;z-index:1;width:100%;max-width:none;overflow-wrap:normal}
.classroom-material-scroll{position:relative;flex:0 0 auto;box-sizing:border-box;width:100%;height:100%;overflow:auto;padding:20px;display:flex;justify-content:center;align-items:flex-start;background:#101b29}
.classroom-material-scroll-ppt{align-items:center}
.classroom-material-scroll-pdf{align-items:flex-start}
.classroom-qbank-html .qbank-practice-list{display:block!important;box-sizing:border-box!important;width:100%!important;margin:0!important;padding:32px 40px 0!important;border:1px solid #d8d8d8!important;border-top:0!important;border-bottom:0!important;background:#fff!important;color:#1a1a1a!important;box-shadow:0 2px 8px rgba(0,0,0,.06)!important;font:13px/1.9 "Noto Serif SC","SimSun","KaiTi",serif!important}
.classroom-qbank-html .qbank-practice-question{margin:0 0 4px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:#1a1a1a!important;box-shadow:none!important;font:inherit!important}
.classroom-qbank-html .qbank-section-title{margin:16px 0 4px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:#1a1a1a!important;font:700 15px/1.6 "Noto Serif SC","SimSun","KaiTi",serif!important}
.classroom-qbank-html .qbank-question-number{display:inline-block!important;margin:0 4px 0 0!important;color:#1a1a1a!important;font:700 14px/1.8 "Noto Serif SC","SimSun",serif!important}
.classroom-qbank-html .qbank-passage{margin:0 0 10px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:#1a1a1a!important;font:13px/2 "Noto Serif SC","SimSun","KaiTi",serif!important;text-indent:2em!important;white-space:pre-wrap!important}
.classroom-qbank-html .qbank-practice-question h3{margin:0 0 5px!important;color:#1a1a1a!important;font:13px/1.8 "Noto Serif SC","SimSun","KaiTi",serif!important;white-space:pre-wrap!important}
.classroom-qbank-html .qbank-options{display:flex!important;flex-wrap:wrap!important;gap:2px 18px!important;margin:2px 0 0 20px!important}
.classroom-qbank-html .qbank-option{display:flex!important;flex:0 1 auto!important;align-items:flex-start!important;gap:4px!important;min-height:25px!important;margin:0!important;padding:2px 7px!important;border:0!important;border-radius:3px!important;background:transparent!important;color:#1a1a1a!important;font:13px/1.7 "Noto Serif SC","SimSun","KaiTi",serif!important;cursor:default!important}
.classroom-qbank-html .qbank-option b{color:#1a1a1a!important;font:inherit!important}
.classroom-qbank-html .qbank-option input{display:none!important}
.classroom-qbank-html .qbank-answer-text{box-sizing:border-box;min-height:84px;margin-top:6px;padding:5px 8px;border:1px solid #d0ccc0;border-radius:3px;background:#fff;color:#1a1a1a;font:13px/1.8 "Noto Serif SC","SimSun","KaiTi",serif}
.classroom-qbank-html .qbank-answer-text.qbank-fill-answer{display:inline-block;width:120px;max-width:100%;height:30px;min-height:30px;max-height:30px;margin-top:6px;padding:4px 8px;border:0;border-bottom:2px solid #333;border-radius:0;background:transparent;color:#1a1a1a;font:13px/normal "Noto Serif SC","SimSun","KaiTi",serif;outline:none;box-shadow:none}
.classroom-qbank-html .qbank-pending-hint{color:#888;font:11px/1.5 "Microsoft YaHei UI","Microsoft YaHei",sans-serif}
.classroom-qbank-html img{max-width:100%;height:auto}
.classroom-qbank-page>.classroom-ink-svg,.classroom-qbank-page>.classroom-text-layer{z-index:8}
.classroom-slide-frame,.classroom-pdf-frame{position:relative;flex:0 0 auto;width:min(1200px,100%);background:#fff;box-shadow:0 8px 30px rgba(14,34,53,.18)}
.classroom-slide-frame{aspect-ratio:var(--classroom-aspect,1.7778);overflow:hidden}
.classroom-slide-svg{position:absolute;inset:0}.classroom-slide-svg svg{display:block;width:100%;height:100%}
.classroom-pdf-frame{min-height:0}.classroom-pdf-frame canvas{display:block;max-width:100%;height:auto}
.classroom-ink-svg,.classroom-text-layer{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.classroom-ink-svg{z-index:5}.classroom-text-layer{z-index:6}
.classroom-live-text-note{position:absolute;transform:translateY(-50%);max-width:50%;padding:4px 7px;border-radius:4px;background:rgba(255,255,255,.93);box-shadow:0 1px 5px rgba(0,0,0,.2);font:600 15px/1.35 system-ui,sans-serif;color:#234d87;white-space:pre-wrap;overflow-wrap:anywhere}
.classroom-teacher-live-text-note{border:1px solid #e4bd55;background:rgba(255,250,226,.96);color:#684b0a}
.classroom-live-student-note-marker{position:absolute;z-index:9;transform:translate(-50%,-50%);pointer-events:auto;color:#684b0a}
.classroom-live-student-note-dot{display:block;width:15px;height:15px;padding:0;border:2px solid #fff;border-radius:50%;background:var(--classroom-student-note-color,#f59e0b);box-shadow:0 1px 6px rgba(30,41,59,.38);color:#fff;font:700 8px/11px system-ui,sans-serif;cursor:pointer;pointer-events:auto}
.classroom-live-student-note-card{display:none;position:absolute;left:12px;top:8px;width:230px;max-width:min(230px,calc(100vw - 42px));padding:8px 10px;border:1px solid var(--classroom-student-note-color,#f59e0b);border-left:4px solid var(--classroom-student-note-color,#f59e0b);border-radius:7px;background:rgba(255,251,235,.98);box-shadow:0 5px 18px rgba(30,41,59,.22);box-sizing:border-box;color:#57421c;font:12px/1.5 system-ui,"Microsoft YaHei",sans-serif;white-space:normal;overflow-wrap:anywhere;pointer-events:auto}
.classroom-live-student-note-marker:hover .classroom-live-student-note-card,.classroom-live-student-note-marker.open .classroom-live-student-note-card,.classroom-live-student-note-marker:focus-within .classroom-live-student-note-card{display:block}
.classroom-live-student-note-card header{margin-bottom:4px;font-weight:700}.classroom-live-student-note-card small{display:block;margin:3px 0;color:#8a6b30}.classroom-live-student-note-card p{margin:4px 0 0;white-space:pre-wrap}
.classroom-host-ink,.classroom-host-text-layer{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:30}
.classroom-host-text-layer{z-index:31}
.classroom-follow-stage .classroom-stage-tools{position:absolute;left:0;right:0;bottom:0;z-index:4;box-sizing:border-box;max-height:min(45vh,250px);overflow:auto;padding:10px 18px max(10px,env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid #cdd7e0;box-shadow:0 -3px 16px rgba(12,31,49,.2);transform:translateY(calc(100% + 2px));opacity:0;visibility:hidden;pointer-events:none;transition:transform .2s ease,opacity .16s ease,visibility .2s step-end}.classroom-follow-stage.classroom-stage-tools-visible .classroom-stage-tools{transform:translateY(0);opacity:1;visibility:visible;pointer-events:auto;transition:transform .2s ease,opacity .16s ease,visibility 0s}.classroom-stage-tools-handle{position:absolute;left:50%;bottom:0;z-index:5;transform:translateX(-50%);padding:4px 13px;border:1px solid #8ba2b7;border-bottom:0;border-radius:9px 9px 0 0;background:rgba(18,45,70,.96);box-shadow:0 -2px 10px rgba(12,31,49,.2);color:#f8fbff;font:600 11px/1.3 system-ui,"Microsoft YaHei",sans-serif;cursor:pointer;transition:transform .18s ease,opacity .18s ease}.classroom-follow-stage.classroom-stage-tools-visible .classroom-stage-tools-handle{transform:translate(-50%,calc(100% + 2px));opacity:0;pointer-events:none}.classroom-stage-tools-handle[hidden]{display:none!important}.classroom-stage-tools-hide{margin-left:auto!important;font-size:12px!important}
.classroom-student-tool-buttons{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
.classroom-student-tool-buttons button{border:1px solid #c8d4df;border-radius:7px;padding:7px 10px;background:#f6f8fa;color:#29465f}
.classroom-student-tool-buttons button[aria-pressed="true"]{border-color:#3678bd;background:#e5f0fc;color:#155da6}
.classroom-student-tool-buttons label{display:flex;align-items:center;gap:5px;color:#50667a;font-size:12px}
.classroom-student-tool-buttons input[type=color]{width:30px;height:28px;padding:2px;border:1px solid #bdcbd7;border-radius:5px;background:#fff}
.classroom-stage-tools small{display:block;margin-top:6px;color:#607387}
.classroom-stage-revoke{position:absolute;right:18px;bottom:16px;z-index:9;padding:8px 11px;border-radius:8px;background:#1c344d;color:#fff;font-size:12px;box-shadow:0 4px 16px rgba(0,0,0,.2)}
.classroom-stage-revoke[hidden],.classroom-stage-tools[hidden]{display:none!important}
.classroom-live-toast{position:fixed;z-index:30010;left:50%;bottom:24px;transform:translate(-50%,12px);opacity:0;pointer-events:none;padding:10px 15px;border-radius:9px;background:#18334c;color:white;box-shadow:0 8px 30px rgba(0,0,0,.24);transition:opacity .18s,transform .18s}
.classroom-live-toast.visible{transform:translate(-50%,0);opacity:1}
body.classroom-following-active{overflow:hidden}
@media(max-width:760px){.classroom-host-panel{padding:15px}.classroom-host-panel>header{align-items:flex-start}.classroom-host-active{grid-template-columns:1fr;align-items:start}.classroom-host-active>*{grid-column:1}.classroom-member-list{grid-column:1}.classroom-stage-header{min-height:58px;padding:8px 12px}.classroom-stage-header h2{font-size:15px}.classroom-stage-body{padding:0}.classroom-stage-body.classroom-stage-body-qbank{padding:0}.classroom-word-scroll{padding:22px}.classroom-word-page{padding:34px 42px;font-size:15px}.classroom-qbank-page{padding:0}.classroom-qbank-html .qbank-practice-question{padding:11px}.classroom-follow-stage .classroom-stage-tools{padding:8px 10px max(8px,env(safe-area-inset-bottom));max-height:min(55vh,300px)}.classroom-student-tool-buttons button{padding:6px 8px;font-size:12px}.classroom-invite-prompt{right:12px;bottom:12px;width:calc(100vw - 24px)}.classroom-invite-card{padding:13px}.classroom-modal{padding:24px}}
