:root { --dao-tools-height: 60px; }
body.dao-tools-ready { box-sizing: border-box; padding-top: var(--dao-tools-height); }
.dao-page-tools { position: fixed; inset: 0 0 auto; z-index: 110; height: var(--dao-tools-height); display: flex; align-items: center; gap: 18px; padding: 6px max(18px, env(safe-area-inset-right)); border-bottom: 1px solid #b69242; background: #081a30; color: #fff; font: 700 14px/1.2 system-ui, sans-serif; box-sizing: border-box; }
.dao-page-tools[hidden], [data-dao-replaced="true"] { display: none !important; }
.dao-home-control { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 12px; border: 1px solid #74879b; border-radius: 9px; color: #fff; text-decoration: none; }
.dao-tools-course { color: #c3d0e1; letter-spacing: .08em; font-size: 12px; }
.dao-tools-actions { display: flex; gap: 8px; margin-left: auto; }
.dao-fullscreen-control, .dao-contrast-control { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; cursor: pointer; border: 1px solid #e6b84e; border-radius: 10px; color: #ffcd65; background: #0b2948; }
.dao-page-tools svg { flex-shrink: 0; pointer-events: none; }
.dao-page-tools button:hover, .dao-page-tools [aria-pressed="true"], .dao-home-control:hover { background: #ffcd65; color: #071a2f; }
.dao-page-tools :focus-visible { outline: 3px solid #79cfff; outline-offset: 2px; }
.dao-tools-actions button:hover, .dao-tools-actions [aria-pressed="true"] { background: #ffcd65; color: #071a2f; }
.dao-tools-actions button:focus-visible { outline: 3px solid #79cfff; outline-offset: 2px; }
body.dao-tools-ready:has([data-dao-inline-controls]) { padding-top: 0; }
body:has([data-dao-inline-controls]) .dao-page-tools { display: none; }
body.dao-tools-ready:has([data-dao-inline-controls]) .portal-sticky-header { top: 0; }
.dao-fullscreen-status:not(:empty) { position: fixed; top: calc(var(--dao-tools-height) + 12px); right: 16px; z-index: 1000; max-width: min(320px, calc(100vw - 32px)); padding: 14px 18px; border: 1px solid #e6b84e; border-radius: 12px; background: #0b2948; color: #fff; font: 15px/1.5 system-ui, sans-serif; box-shadow: 0 4px 20px #0003; }
html.dao-contrast:has(body.dao-tools-ready) { filter: contrast(1.2); }
html.dao-contrast :focus-visible { outline-width: 3px; }
body.dao-tools-ready .portal-sticky-header { top: var(--dao-tools-height); }
body.dao-tools-ready .scene { top: var(--dao-tools-height); padding-right: calc(.8*var(--u)); padding-left: calc(.8*var(--u)); }
body.dao-tools-ready .scene .d { width: min(calc(100vw - 1.6*var(--u)), calc((100dvh - var(--dao-tools-height) - var(--nav) - 1.6*var(--u))*16/9)); }
body.dao-tools-ready :is(.grille-vue, .garde) { top: var(--dao-tools-height); }
.dao-slide-navigation { justify-content: center; flex-wrap: wrap; height: auto !important; min-height: 64px; padding: 8px 12px !important; gap: 8px !important; }
.dao-slide-actions { display: flex; justify-content: center; gap: 10px; }
.dao-slide-navigation .dao-slide-actions button { min-width: 44px; min-height: 44px; padding: 8px 12px; font-size: 14px; border-radius: 8px; }
.dao-slide-navigation .pts, .dao-slide-navigation .aide, .dao-slide-navigation .dr, .dao-slide-navigation #partie { display: none; }
.dao-slide-navigation #tt { position: absolute; right: 20px; font-size: 13px; }
body:has(.dao-slide-navigation) { --nav: 64px; }
body.dao-tools-ready .slide { top: var(--dao-tools-height); height: calc(100dvh - var(--dao-tools-height)); }
body.dao-tools-ready .course-shell { height: calc(100dvh - var(--dao-tools-height)); }
body.dao-tools-ready .chrome { left: 50%; right: auto; transform: translateX(-50%); }
body.dao-tools-ready .deck { overflow-x: clip; }
body.dao-tools-ready:has(.chrome) .slide:not(.active) { transform: none; }
.course-nav { display: flex; justify-content: center; flex-wrap: wrap; }
.course-nav .page-info { flex: 0 1 30rem; }
.course-nav .progress-wrap, .course-nav .presenter { display: none; }
.course-nav .next { flex: 0 0 auto; }
@media (max-width: 600px) {
  .dao-page-tools { padding-inline: 10px; gap: 10px; }
  .dao-tools-course { display: none; }
  .dao-slide-navigation { justify-content: flex-start; }
  .dao-slide-navigation .dao-slide-actions { margin-inline: auto; padding-right: 42px; gap: 6px; }
  .dao-slide-navigation #tt { right: 10px; }
  body.dao-tools-ready .scene .d { width: 100%; }
}
@media print {
  .dao-page-tools, .dao-fullscreen-status { display: none !important; }
  body.dao-tools-ready { padding-top: 0; }
  html.dao-contrast { filter: none; }
}
