/* Shared compact headers and footers in normal document flow. */
body{font-family:'Noto Sans',system-ui,sans-serif}
:root{--stv-navbar-h:56px}
.stv-navbar{min-height:56px;padding:4px 0;font-family:'Noto Sans',sans-serif}
.stv-navbar .navbar-brand{font-size:17px;line-height:1.2}
.stv-navbar .navbar-brand img{width:auto;max-width:160px;height:28px;object-fit:contain}
.stv-navbar .nav-link{padding:8px 10px;min-height:44px}
.stv-navbar .stv-nav-mega{margin-top:4px}
.stv-quiz{padding:16px clamp(12px,2vw,24px);font-family:'Noto Sans',sans-serif}
.stv-quiz{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px}
.stv-quiz-header{grid-column:1;grid-row:1;text-align:left;min-width:0}
.stv-quiz-toolbar{grid-column:2;grid-row:1;align-items:start;align-self:start}
.stv-quiz-stage,.stv-quiz>p,.stv-quiz-history-panel,.stv-quiz>noscript{grid-column:1/-1;min-width:0}
.stv-quiz-header h2{font-size:clamp(1.15rem,2vw,1.55rem);letter-spacing:.025em;text-transform:none}
.stv-quiz-kicker{margin:6px 0;font:500 12px/1.4 'Noto Sans',sans-serif;letter-spacing:.04em}
.stv-quiz-toolbar{margin:4px 0}.stv-quiz-meta{gap:14px;margin:10px 0 14px}
.stv-quiz-board{padding:12px clamp(0px,2vw,24px)}
.stv-quiz-card{min-height:0;padding:clamp(16px,2vw,28px)}
.stv-quiz-intro{min-height:0;gap:8px}.stv-quiz-intro h3{font-size:clamp(1.4rem,2.5vw,2rem);margin-bottom:8px}
.stv-quiz-card legend{font-size:clamp(1.2rem,2.1vw,1.7rem)}
.stv-quiz-controls{margin:12px auto}.stv-quiz-history-panel{margin:10px auto;padding:10px 0}
.stv-fc{--stv-fs-app-title:clamp(1.05rem,2vw,1.5rem);--stv-fs-app-sub:12px;--stv-fs-counter:14px}
.stv-fc .stv-shell{gap:10px;padding-top:12px;padding-bottom:12px}
.stv-fc .stv-header{line-height:1.2}.stv-fc .stv-title{letter-spacing:.06em;text-indent:0;font-size:clamp(1.05rem,2vw,1.5rem)}
.stv-fc .stv-sub{margin:6px 0 0;font:500 12px/1.4 'Noto Sans',sans-serif;letter-spacing:.03em}
.stv-lms-heading{margin-bottom:14px}.stv-lms-heading h2{font-size:clamp(1.4rem,2.5vw,2rem);margin:6px 0}
footer,[role=contentinfo],.stv-chosen-footer,.stv-lms-completion,.stv-slide-controls,.stv-slide-keyboard,.stv-quiz-controls,.stv-fc .stv-controls{position:static!important;inset:auto!important;transform:none!important}
.stv-remote-toolbar{position:static;max-width:1100px;margin:20px auto;border-radius:0;box-shadow:none;font-family:'Noto Sans',sans-serif}
.stv-remote-toolbar button,.stv-remote-toolbar input{border-radius:0}
/* Slide canvas has its own bounded area; controls sit beneath it, never over it. */
.stv-slide{display:grid;grid-template-rows:auto auto minmax(260px,1fr) auto auto auto;height:calc(100dvh - var(--stv-navbar-h,56px) - 20px);min-height:480px;overflow:hidden;font-family:'Noto Sans',sans-serif}
.stv-slide .stv-slide-topbar{position:relative;inset:auto;grid-row:1;padding:8px 12px;background:#fff;min-height:0;border-bottom:0}
.stv-slide .stv-slide-brand strong{font-size:14px;line-height:1.25}.stv-slide .stv-slide-brand small{font-size:10px;margin-top:2px}
.stv-slide .stv-slide-tools{position:relative;inset:auto;grid-row:2;max-width:none;justify-content:flex-start;padding:0 12px 6px;gap:5px}
.stv-slide .stv-slide-tools button{padding:5px 8px;min-height:32px;font-size:10px}
.stv-slide .stv-slide-viewport{position:relative;inset:auto;grid-row:3;width:100%;height:100%;min-height:0}
.stv-slide .stv-slide-bg3d,.stv-slide .stv-slide-vignette{position:absolute}
.stv-slide .stv-slide-controls{grid-row:4;width:100%;padding:8px 12px;gap:6px;z-index:15}
.stv-slide .stv-slide-keyboard{grid-row:5;padding:0 10px 6px;font-size:10px}
.stv-slide .stv-slide-status{position:relative;inset:auto;grid-row:6;max-width:none;text-align:center;margin:0;font-size:11px}
.stv-slide .stv-slide-remote-links{top:84px}
.stv-slide.stv-slide-controller{height:auto;min-height:400px;grid-template-rows:auto auto auto auto}
.stv-slide-controller .stv-slide-controls{grid-row:3;display:grid;width:100%;gap:10px}
.stv-slide-controller .stv-slide-controls button{min-height:64px;font-size:20px}
.stv-slide-controller .stv-slide-status{grid-row:4;background:#000;color:#fff}
.stv-slide-controller .stv-slide-topbar{background:#000}
.stv-slide:fullscreen{height:100dvh}
@media(max-width:600px){:root{--stv-navbar-h:56px}.stv-navbar{padding:4px 0}.stv-quiz{padding:12px}.stv-slide .stv-slide-controls{padding:6px}.stv-slide .stv-slide-controls button{min-width:0;min-height:40px;font-size:10px;padding:6px 4px}.stv-slide .stv-slide-counter{min-width:58px;font-size:12px}}
