.presentation-page{max-width:1220px}
.presentation-player{--slide-scale:1;margin-top:25px;padding:18px;border:1px solid var(--line);border-radius:20px;background:var(--paper);color:var(--ink)}
.presentation-toolbar,.presentation-controls,.presentation-timer{display:flex;align-items:center;flex-wrap:wrap;gap:9px}
.presentation-toolbar{margin-bottom:12px}
.presentation-player button,.presentation-player select,.presentation-player input,.presentation-exit{min-height:42px;padding:8px 12px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);font:inherit;font-size:.9rem;font-weight:700;cursor:pointer}
.presentation-exit{display:inline-flex;align-items:center;text-decoration:none;margin-right:auto}
.presentation-player button:hover:not(:disabled){border-color:var(--blue);color:var(--blue-deep)}
.presentation-player button:disabled{opacity:.45;cursor:not-allowed}
.presentation-player button[aria-pressed=true],.presentation-thumbs button[aria-current=true]{border-color:var(--blue);background:var(--blue-soft);color:var(--blue-deep)}
.presentation-viewport{max-height:min(80vh,820px);overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--page);touch-action:pan-y}
.presentation-slide{position:relative;width:calc(100% * var(--slide-scale));min-width:100%;aspect-ratio:16/9;margin:auto;background:#fff;overflow:hidden}
.presentation-slide img{display:block;width:100%;height:100%;object-fit:contain}
.presentation-slide canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;touch-action:none}
.presentation-slide canvas.is-drawing{pointer-events:auto;cursor:crosshair}
.presentation-controls{margin-top:14px}
.presentation-controls label{margin-left:8px;font-size:.87rem;font-weight:700}
.presentation-controls input{width:66px;text-align:center}
.presentation-controls button:first-child{margin-right:auto}.presentation-controls button:nth-of-type(2){margin-right:auto}
.presentation-status{margin:10px 0 0;color:var(--muted);font-size:.88rem}
.presentation-teacher-tools{margin-top:15px;padding:15px;border:1px solid var(--line);border-radius:13px;background:var(--blue-soft)}
.presentation-overlay:empty{display:none}
.presentation-overlay:not(:empty){margin:10px 0;padding:12px 15px;border-left:4px solid var(--amber);background:var(--paper);border-radius:0 9px 9px 0}
.presentation-timer{margin-top:12px}.presentation-timer span{min-width:67px;font-variant-numeric:tabular-nums;font-weight:800}
.presentation-thumbs{display:flex;gap:8px;max-width:100%;overflow-x:auto;margin-top:15px;padding:7px 2px}
.presentation-thumbs button{flex:none;display:grid;gap:4px;width:114px;padding:5px;font-size:.75rem;text-align:center}
.presentation-thumbs img{display:block;width:100%;aspect-ratio:16/9;object-fit:contain}
.presentation-note{font-size:.88rem;color:var(--muted)}
.presentation-player:fullscreen{border-radius:0;overflow:auto;padding:12px;background:var(--page)}
.presentation-player:fullscreen .presentation-viewport{max-height:calc(100vh - 220px)}
@media(max-width:650px){.presentation-page{padding:20px 14px}.presentation-player{padding:10px}.presentation-toolbar,.presentation-controls{gap:7px}.presentation-player button,.presentation-player select,.presentation-exit{font-size:.81rem;padding:7px 9px}.presentation-controls button:first-child,.presentation-controls button:nth-of-type(2){margin-right:0}.presentation-controls label{margin-left:0}.presentation-thumbs button{width:90px}.presentation-viewport{max-height:70vh}}
@media print{.presentation-player{display:none}}
