/* Everything is scoped to the native student projection; room controls and overlays keep their own layout. */
.student-live-view{position:relative;display:flex;flex:1;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;background:var(--ui-bg,#f4f7fa)}
.student-live-native{position:relative;display:flex;flex:1;min-width:0;min-height:0;width:100%;height:100%;overflow:hidden}
.student-live-native *{box-sizing:border-box}
.student-live-native [hidden]{display:none!important}
.student-live-viewport{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.student-live-slide{position:relative;flex:none;overflow:hidden;background:#fff;isolation:isolate}
.student-live-content{position:absolute;left:0;top:0;transform-origin:top left;overflow:hidden;background:#fff}
.student-live-native .image-slide{display:block;object-fit:contain;background:#fff}
.student-live-native .ppt-canvas{position:relative;background:#fff;overflow:hidden}
.student-live-native .ppt-element{position:absolute;overflow:hidden}
.student-live-native .ppt-element.image{object-fit:contain}
.student-live-native .ppt-element.text{font-family:"Microsoft YaHei",sans-serif;color:#202a25}
.student-live-native .ppt-element.text p{margin:0 0 4px;white-space:pre-wrap;line-height:1.2}
.student-live-native .lesson-slide{padding:78px 92px;background:radial-gradient(at 95% 10%,#dde9d5,transparent 52%),#fcfdf8;display:flex;flex-direction:column;font-family:Inter,"Microsoft YaHei",sans-serif}
.student-live-native .slide-eyebrow{font-size:18px;letter-spacing:3px;color:#8a9e87;font-weight:600}
.student-live-native .lesson-slide h2{font-size:58px;line-height:1.3;margin:34px 0;color:#224f3b;max-width:1000px}
.student-live-native .slide-body{max-width:970px}
.student-live-native .slide-body p{font-size:25px;line-height:1.75;color:#54705d;margin:12px 0}
.student-live-native .slide-brand{margin-top:auto;padding-top:24px;display:flex;justify-content:space-between;color:#8ca18a;font-size:17px;border-top:1px solid #dbe4d3}
.student-live-native .slide-brand span:first-child{font-weight:700;color:#466e4a}
.student-live-native .student-live-pdf{display:block;width:100%;height:100%;object-fit:contain}
.student-live-ink{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.student-live-notice{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:2;display:flex;align-items:center;gap:12px;max-width:calc(100% - 24px);padding:8px 12px;border:1px solid var(--ui-line,#dce5ed);border-radius:12px;background:var(--ui-surface,#fff);color:var(--ui-text,#23434e);box-shadow:0 4px 24px #12334816;font-size:12px;line-height:1.6}
.student-live-notice button{flex:none;min-height:34px;padding:5px 10px;font:inherit;border:1px solid var(--ui-line,#dce5ed);border-radius:8px;background:var(--ui-soft,#eef6f8);color:var(--ui-primary,#276b8c);cursor:pointer}
.student-live-notice button:focus-visible{outline:3px solid var(--ui-primary,#276b8c);outline-offset:2px}
.student-live-demo{position:absolute;inset:0;overflow:hidden}
.student-live-native .student-teaching-demo{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;background:var(--ui-bg,#f4f7fa);color:var(--ui-text,#23434e)}
.student-live-native .student-demo-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-bottom:1px solid var(--ui-line,#dce5ed);background:var(--ui-surface,#fff)}
.student-live-native .student-demo-heading h2{font-size:18px;margin:0}
.student-live-native .student-demo-heading span,.student-live-native .student-demo-meta{font-size:12px;color:var(--ui-muted,#6d8490)}
.student-live-native .student-demo-stream{flex:1;min-height:0;overflow:auto;padding:22px max(20px,6%);overscroll-behavior:contain}
.student-live-native .student-demo-turn{max-width:1000px;margin:0 auto 20px;padding:20px;border:1px solid var(--ui-line,#dce5ed);border-radius:14px;background:var(--ui-surface,#fff)}
.student-live-native .student-demo-turn h3{font-size:14px;margin:0 0 6px}
.student-live-native .student-demo-prompt,.student-live-native .student-demo-output{font-size:clamp(16px,1.5vw,21px);line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}
.student-live-native .student-demo-prompt{padding-bottom:14px;border-bottom:1px solid var(--ui-line,#dce5ed);color:var(--ui-muted,#6d8490)}
.student-live-native .student-demo-media{display:block;max-width:100%;max-height:65vh;margin:16px auto;object-fit:contain;border-radius:8px}
.student-live-native .student-demo-error{color:var(--ui-danger,#a43d35);font-size:13px;line-height:1.7;white-space:pre-wrap}
.student-live-native .student-demo-empty{margin:auto;text-align:center;color:var(--ui-muted,#6d8490);font-size:15px}
.student-live-native .student-demo-latest{position:absolute;bottom:18px;right:22px;padding:10px 14px;border:1px solid var(--ui-line,#dce5ed);border-radius:10px;background:var(--ui-surface,#fff);color:var(--ui-primary,#276b8c);box-shadow:0 4px 22px #12334816;cursor:pointer}
@media(max-width:640px){.student-live-notice{bottom:10px;gap:7px;font-size:11px}.student-live-native .student-demo-heading{padding:12px}.student-live-native .student-demo-stream{padding:14px}.student-live-native .student-demo-turn{padding:14px}}
