.present-tools[hidden],.present-restore[hidden]{display:none!important}
.present-tools{position:fixed;bottom:12px;left:50%;transform:translateX(-50%);z-index:80;display:flex;align-items:center;gap:7px;padding:7px;border:1px solid #d5d9e2;border-radius:14px;background:#fffffff5;box-shadow:0 8px 30px #15233a20;max-width:calc(100vw - 24px);color:#202735;font:500 13px/1.3 system-ui,sans-serif}
.present-tools button,.present-restore,.present-dialog button{font:inherit;cursor:pointer;color:inherit;border:1px solid transparent;background:transparent;border-radius:8px;padding:10px 12px;white-space:nowrap}
.present-tools button:hover,.present-dialog button:hover{background:#edf1fa}
.present-tools button:focus-visible,.present-restore:focus-visible,.present-dialog button:focus-visible{outline:3px solid #335cff;outline-offset:2px}
.present-tools button:disabled{opacity:.35;cursor:default}
.present-tools .present-next{background:#335cff;color:white}.present-tools .present-next:hover{background:#2349eb}
.present-count{font-variant-numeric:tabular-nums;min-width:54px;text-align:center}
.present-timing{display:flex;border-left:1px solid #dce0e8;padding-left:6px}.present-timing button{font-variant-numeric:tabular-nums}
.present-restore{position:fixed;bottom:10px;right:12px;z-index:81;background:#fff;border:1px solid #d5d9e2;color:#273349;font:500 12px system-ui;padding:10px 14px}
.presentation-mode .slide-controls{visibility:hidden;pointer-events:none}
.presentation-mode .present-tools{animation:present-appear .15s ease-out}
.present-focus .present-tools,.present-focus .lesson-topbar{visibility:hidden;opacity:0;pointer-events:none}
.present-dialog{width:min(900px,calc(100vw - 32px));max-height:calc(100dvh - 48px);padding:28px;border:1px solid #d5d9e2;border-radius:18px;background:#ffffff;color:#202735;box-shadow:0 24px 100px #0003;font:16px/1.5 system-ui,sans-serif}
.present-dialog::backdrop{background:#101725cc;backdrop-filter:blur(4px)}
.present-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:18px}.present-dialog h2{font-size:24px;margin:0}.present-dialog-head button{border-color:#d5d9e2}
.present-dialog-note{color:#596477;font-size:14px;margin:14px 0 22px}
.present-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.present-overview button{white-space:normal;display:flex;flex-direction:column;align-items:flex-start;gap:20px;min-height:120px;text-align:left;padding:18px;border:1px solid #d5d9e2;background:#fff;font-size:15px}
.present-overview button.is-current{background:#edf1ff;border:2px solid #335cff;padding:17px}.present-slide-number{font-size:12px;letter-spacing:.12em;font-weight:700;color:#596a90}
.present-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;margin:28px 0}.present-shortcuts dt{font-weight:650}.present-shortcuts dd{margin:0;color:#596477}
@keyframes present-appear{from{opacity:0}to{opacity:1}}
@media(max-width:800px){.present-tools{gap:2px;bottom:6px;padding:4px}.present-tools button{padding:10px 8px}.present-timing{display:none}.present-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.present-dialog{padding:20px}.present-tools .present-count{min-width:40px}}
@media(max-width:520px){.present-tools{width:calc(100vw - 12px);max-width:none;justify-content:space-between;font-size:11px}.present-tools button{padding:10px 5px}.present-tools button:nth-last-child(3){display:none}.present-dialog-head{align-items:flex-start}.present-dialog h2{font-size:20px}.present-overview{gap:8px}.present-overview button{min-height:105px;padding:12px;font-size:13px}.present-overview button.is-current{padding:11px}.present-shortcuts{font-size:13px;gap:12px}}
@media(prefers-reduced-motion:reduce){.presentation-mode .present-tools{animation:none}.present-dialog::backdrop{backdrop-filter:none}}

.present-more[hidden]{display:none!important}.present-more{position:fixed;z-index:79;left:50%;bottom:76px;transform:translateX(-50%);background:#202735;color:white;border-radius:20px;padding:5px 12px;font:500 11px/1.4 system-ui,sans-serif;white-space:nowrap;pointer-events:none;box-shadow:0 2px 8px #0002}
.present-secondary-tools{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}.present-secondary-tools button{text-align:left;white-space:normal;padding:16px;border:1px solid #d5d9e2;font-size:14px;min-height:52px}.present-secondary-tools button[aria-pressed=true]{border-color:#335cff;background:#edf1ff}
body.in-lesson .lesson-below{display:none}body.in-lesson .lesson-identity>.eyebrow{display:none}body.in-lesson.presentation-mode .lesson-topbar{display:none}
body.in-lesson.presentation-mode .lesson-shell{grid-template-rows:3px minmax(0,1fr) auto}
.present-mobile-timer{display:flex;gap:10px;flex-wrap:wrap;border-top:1px solid #d5d9e2;padding-top:16px}.present-mobile-timer button{border-color:#d5d9e2;font-size:13px}
.present-code-wrap{position:relative;min-width:0;margin:18px 0;background:#202735;border:1px solid #384152;border-radius:9px;overflow:hidden;padding-top:39px}.present-code-wrap>pre{margin:0!important;border-radius:0!important;border:0!important}.present-code-copy{position:absolute;right:8px;top:5px;z-index:1;border:1px solid #657085;background:#303a4c;color:#fff;border-radius:5px;font:500 11px/1.4 system-ui,sans-serif;padding:6px 10px;cursor:pointer;min-height:29px}.present-code-copy:hover{background:#414f67}.present-code-copy:focus-visible{outline:3px solid #8ea6ff;outline-offset:1px}
@media(max-width:520px){.present-tools{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:2px;padding:4px;box-sizing:border-box}.present-tools>button:first-child,.present-tools>.present-count,.present-tools>.present-next{grid-column:span 2}.present-tools>button:nth-child(4),.present-tools>button:last-child{grid-column:span 2}.present-tools button:nth-last-child(3){display:block}.present-tools button{min-width:0;white-space:normal;font-size:11px;line-height:1.3;padding:8px 3px;min-height:34px}.present-more{bottom:92px;font-size:10px}body.in-lesson.presentation-mode .slide-controls{min-height:106px}.present-focus .present-more{bottom:54px}}
@media(max-width:520px){.present-tools>.present-menu{grid-column:span 2}.present-secondary-tools{grid-template-columns:1fr}}
