.projection-toggle{font:inherit;font-size:19px;line-height:1.3;min-height:44px;padding:10px 16px;border:1px solid #9bb18d;border-radius:9px;background:#294d3d;color:#fff;cursor:pointer;white-space:nowrap}
.projection-exit,.projection-hint,.rotate-hint,.fallback-hint{display:none}
.projection-controls,.controls-hide{display:none}
.is-projecting .projection-controls{display:inline-block;background:#fffef9;color:#294d3d}
.is-projecting.projection-controls-open .controls-show{display:none}
.is-projecting.projection-controls-open .controls-hide{display:inline}
.is-projecting:not(.projection-controls-open) :is(.quiz-steps,.timer){display:none}
.is-projecting:not(.projection-controls-open) .quiz-control{padding:0;border:0;background:none;margin-bottom:16px}
.is-projecting:not(.projection-controls-open) .quiz-control-foot{margin:0}
.is-projecting:not(.projection-controls-open) .quiz-control-foot span{display:none}
.is-projecting,.is-projecting body{overflow:hidden;overscroll-behavior:none}
.is-projecting :is(#lesson-dialog,#live-lesson){position:fixed;inset:0;box-sizing:border-box;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;margin:0;border:0;border-radius:0;padding:0;background:#fafbf5;overflow-y:auto;overscroll-behavior:contain}
.is-projecting .projection-enter{display:none}
.is-projecting .projection-exit{display:inline}
/* 投影時隱藏操作說明，避免與課程內容一起投出。 */
.is-projecting .projection-hint{display:none}
.is-projecting.projection-fallback .fallback-hint{display:inline}
.is-projecting .lesson-dialog-toolbar,.is-projecting .projection-toolbar{position:fixed;top:0;left:0;right:0;z-index:5;min-height:56px;padding:6px max(16px,env(safe-area-inset-right)) 6px max(16px,env(safe-area-inset-left));padding-top:max(6px,env(safe-area-inset-top));gap:10px;background:#edf2e5;flex-wrap:nowrap}
/* 控制列浮在內容上方；收起時不留空白，也不推動課程內容。 */
.is-projecting.projection-toolbar-hidden :is(.lesson-dialog-toolbar,.projection-toolbar){visibility:hidden;pointer-events:none;transform:translateY(-110%)}
.is-projecting .lesson-dialog-tools{width:auto;gap:12px;margin-left:auto}
.is-projecting .lesson-dialog-tools>:not(.projection-toggle,.projection-hint),.is-projecting .projection-toolbar>[data-action="close-lesson"]{display:none}
.is-projecting .lesson-dialog .lesson-panel{max-height:none;overflow:visible;flex:none}
.is-projecting .lesson-dialog .panel-top{display:flex;justify-content:space-between;gap:16px;padding:10px max(24px,env(safe-area-inset-right)) 10px max(24px,env(safe-area-inset-left))}
.is-projecting .lesson-dialog :is(.panel-eyebrow,.station-index,.station-title small){display:none}
.is-projecting .lesson-dialog .station-title h2{font-size:26px}
.is-projecting :is(.phase-tabs,.projection-toolbar .tabs){display:flex;flex-wrap:nowrap;gap:8px;width:auto;order:initial}
.is-projecting :is(.phase-tab,.projection-toolbar .tabs button){font-size:18px;min-height:44px;padding:8px 12px;white-space:nowrap}
.is-projecting .lesson-dialog .panel-body,.is-projecting .live-lesson .lesson{padding:20px max(32px,env(safe-area-inset-right)) 32px max(32px,env(safe-area-inset-left))}
.is-projecting .quiz-control{padding:10px 14px;margin-bottom:20px}
.is-projecting .quiz-steps{display:flex;flex-wrap:wrap;gap:8px}
.is-projecting .quiz-steps button{font-size:18px;padding:8px 12px;min-height:44px}
.is-projecting .quiz-control-foot{margin-top:10px}
.is-projecting .quiz-control-foot button{min-height:44px;font-size:18px;padding:8px 14px;width:auto}
.is-projecting .quiz-control-foot span{font-size:16px}
.is-projecting .quiz-section{margin:20px 0;padding:18px 24px}
.is-projecting .quiz-section-title{font-size:21px!important;margin-bottom:12px}
.is-projecting :is(.lesson-dialog,.live-lesson){scroll-padding-top:80px;padding-bottom:env(safe-area-inset-bottom)}
@media(orientation:portrait){
 .is-projecting .rotate-hint{display:block;font-weight:600}
 .is-projecting .lesson-window-label{display:none}
 .is-projecting .lesson-dialog-tools{width:100%;justify-content:space-between}
 .is-projecting .lesson-dialog .panel-top,.is-projecting .projection-toolbar{flex-wrap:wrap}
 .is-projecting .projection-toolbar .tabs{order:3;width:100%}
 .is-projecting :is(.phase-tabs,.projection-toolbar .tabs){flex-wrap:wrap}
 .is-projecting .lesson-dialog .panel-body,.is-projecting .live-lesson .lesson{padding:20px}
}
@media(orientation:landscape) and (max-height:600px){
 .is-projecting .lesson-window-label,.is-projecting .projection-toolbar>strong{display:none}
 .is-projecting .lesson-dialog-tools{margin:0;width:100%;justify-content:space-between}
 .is-projecting .lesson-dialog-toolbar,.is-projecting .projection-toolbar{min-height:50px;padding-top:max(3px,env(safe-area-inset-top));padding-bottom:3px}
 .is-projecting .lesson-dialog .panel-top{padding-top:6px;padding-bottom:6px}
 .is-projecting .lesson-dialog .station-title h2{font-size:22px}
 .is-projecting .quiz-control-foot span{display:none}
 .is-projecting .quiz-control-foot{margin-top:8px;justify-content:flex-end}
 .is-projecting .quiz-section-title{margin-bottom:8px}
}
@media(orientation:landscape) and (max-height:600px){
 .is-projecting:not(.projection-controls-open) .status-pill{display:none}
 .is-projecting .lesson-dialog .panel-body,.is-projecting .live-lesson .lesson{padding-top:12px}
 .is-projecting:not(.projection-controls-open) .quiz-control{margin-bottom:8px}
 .is-projecting .quiz-section{margin:8px 0;padding:12px 24px}
 .is-projecting .quiz-section-title{font-size:18px!important;line-height:1.5;margin-bottom:6px}
 .is-projecting .lesson-dialog .blank-question,.is-projecting .live-lesson .blank{font-size:32px;line-height:1.5;margin:4px 0;padding:6px 0}
 .is-projecting .projection-toolbar{flex-wrap:wrap}
}
