/* Shared Discaperio presentation details. */
:root{--accent-gold:#b3924e;--gold-line:#d8c595;--gold-wash:#fbf6e9;--ui-gap:10px;--ui-space:18px}
header{padding-bottom:14px;border-bottom:1px solid var(--gold-line)}
.heading{padding-bottom:18px;border-bottom:1px solid var(--gold-line);margin-bottom:22px}
.heading h1{font-size:clamp(1.65rem,3.4vw,2.35rem);line-height:1.25;max-width:940px;margin:10px 0 12px}
.heading .unit-code{font-size:.95rem;letter-spacing:.055em;font-weight:750;color:#52676e}
.heading .muted{line-height:1.55;margin-bottom:0}
h2,h3{line-height:1.3}p,li{line-height:1.6}
.actions,.listen-toolbar,.section-tabs,.study-controls,.overview-controls,.activity-toolbar,.timer-actions,.video-nav,.board-caption-controls{gap:var(--ui-gap)}
.section-tabs{padding:10px;background:#ffffff80;border:1px solid #d4ded8;border-radius:12px;margin:18px 0}
.section-tabs button{border-bottom:3px solid transparent;box-shadow:0 2px 0 #a7bcb5}
.section-tabs button[aria-pressed="true"]{background:#176b61;color:#fff;border-color:#176b61;border-bottom-color:var(--gold-line);box-shadow:none}
.teacher-unit-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:18px 0 22px;padding:12px;background:#ffffffaa;border:1px solid #d4ded8;border-top:2px solid var(--gold-line);border-radius:12px}
.control-group{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}
.control-group+.control-group{border-left:1px solid var(--gold-line);padding-left:12px}
.teacher-unit-grid{gap:18px;align-items:stretch}
.teacher-unit-card{position:relative;display:flex;flex-direction:column;justify-content:flex-start;padding:24px;border:1px solid #b6c8cc;border-top:3px solid var(--gold-line);border-radius:12px;min-height:148px;box-shadow:0 2px 4px #17333b0d;transition:box-shadow .15s,border-color .15s}
.teacher-unit-card strong{font-size:.95rem;letter-spacing:.025em;margin-bottom:10px;color:#36565e}
.teacher-unit-card span{font-size:1.15rem;line-height:1.45;font-weight:650}
.teacher-unit-card:hover{outline:none;border-color:#997b3d;box-shadow:0 4px 12px #17333b18}
.resource-card,.panel,.overview-frame,.response-surface,.join-panel,.teacher-tools{border-radius:12px}
.resource-card{padding:20px}.resource-card h3{font-size:1.2rem;line-height:1.35}.resource-card p{color:#52676e}
#topic-title{font-size:clamp(1.5rem,2.8vw,2rem);line-height:1.3}
#topic-view .panel>h3{margin-top:26px}#topic-view .panel li{margin:12px 0}
.setup,.join-panel,.overview-frame{border-top:2px solid var(--gold-line)}
.activity-toolbar{padding:12px;background:#ffffffa6;border:1px solid #d4ded8;border-radius:12px}
.setup .actions{gap:10px}.join-panel h2{color:#36565e}.join-panel .room-code{color:#36565e}
.toolbar{gap:10px}.window-title{border-top:2px solid var(--gold-line)}
.ui-icon{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;display:block}
button:focus-visible,a:focus-visible{outline:3px solid #176b61;outline-offset:3px}
@media(max-width:700px){.teacher-unit-controls{padding:10px}.control-group{width:100%}.control-group+.control-group{border-left:0;border-top:1px solid var(--gold-line);padding-left:0;padding-top:10px}.section-tabs{gap:8px}.teacher-unit-card{padding:20px;min-height:130px}}
@media(prefers-reduced-motion:reduce){.teacher-unit-card{transition:none}}

/* Compact resource navigation with consistent spacing. */
main:has(#student-unit-content){max-width:1440px}
main:has(#student-unit-content) header{justify-content:space-evenly;gap:10px;margin-bottom:12px;padding-bottom:10px}
main:has(#student-unit-content) header img{width:115px}
main:has(#student-unit-content) .student-site-label{display:inline-flex;align-items:center;gap:9px;font-size:clamp(1.35rem,2.2vw,1.7rem);font-weight:800;line-height:1.2;white-space:nowrap;color:#17333b}
main:has(#student-unit-content) button:not(.flashcard):not(.topic-button):not(.quiz-options button),
main:has(#student-unit-content) a.button,
main:has(#student-unit-content) .listen-toolbar summary{font-size:14px;min-height:38px;padding:7px 10px;gap:6px}
main:has(#student-unit-content) .heading{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:0 0 12px;padding:0 0 10px}
main:has(#student-unit-content) .heading h1{font-size:clamp(1rem,1.5vw,1.15rem);margin:0;max-width:none;flex:1;min-width:0}
main:has(#student-unit-content) .heading .unit-code{font-size:clamp(1.4rem,2.2vw,1.7rem);white-space:nowrap;color:#176b61}
main:has(#student-unit-content) .revision-actions{display:flex;align-items:center;gap:8px;margin:0;border-left:1px solid var(--gold-line);padding-left:12px}
main:has(#student-unit-content) .section-tabs{align-items:center;gap:8px;padding:8px;margin:12px 0}
main:has(#student-unit-content) .listen-toolbar{display:flex;align-items:center;gap:8px;margin:0;border-left:1px solid var(--gold-line);padding-left:12px}
main:has(#student-unit-content) .teacher-unit-controls{gap:10px;margin:12px 0;padding:8px}
main:has(#student-unit-content) .control-group{display:contents}
main:has(#student-unit-content) .control-group+.control-group{border:0;padding:0}
@media(max-width:650px){
 main:has(#student-unit-content) header{justify-content:flex-start}
 main:has(#student-unit-content) .heading{gap:6px}
 main:has(#student-unit-content) .heading h1{flex-basis:100%}
}

.browse-heading{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin:14px 0}.browse-heading h2,.browse-heading #result-count{margin:0;min-height:0}
@media(max-width:650px){main:has(#student-unit-content) .listen-toolbar{border-left:0;padding-left:0}.browse-heading{gap:8px}}

main:has(#student-unit-content) #student-unit-content>.listen-toolbar{border-left:0;padding-left:0;margin:10px 0}
main:has(#student-unit-content) #teacher-unit-controls .listen-toolbar{margin:0}

.site-role-icon{width:32px;height:32px;flex:0 0 32px;fill:none;stroke:#176b61;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.site-role-icon .role-gold{stroke:var(--accent-gold)}

.video-duration{position:absolute;right:8px;bottom:8px;z-index:1;padding:3px 6px;border-radius:4px;background:#111e;color:#fff;font:700 14px/1.2 system-ui,sans-serif;font-variant-numeric:tabular-nums;pointer-events:none}

/* Read-aloud controls are purple; microphone captions retain their blue identity. */
button.read-aloud{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:#6029bd!important;color:#fff!important;border:2px solid #481a94!important;box-shadow:0 2px 0 #38116f!important;font-weight:700;white-space:nowrap}button.read-aloud:hover:not(:disabled){background:#4e1f9f!important}button.read-aloud:focus-visible{outline:3px solid #a784e7;outline-offset:3px}button.read-aloud:disabled{opacity:.6}.dc-speaker{width:20px;height:20px;flex:none}.dc-reading-wave{display:inline-flex;align-items:center;justify-content:center;gap:2px;width:13px;height:16px;flex:none;visibility:hidden}.dc-reading-wave i{display:block;width:3px;height:12px;border-radius:3px;background:currentColor;transform:scaleY(.4)}.dc-reading .dc-reading-wave{visibility:visible}.dc-reading .dc-reading-wave i{animation:dc-reading-wave 1s ease-in-out infinite}.dc-reading .dc-reading-wave i:nth-child(2){animation-delay:.17s}.dc-reading .dc-reading-wave i:nth-child(3){animation-delay:.34s}.dc-reading-paused .dc-reading-wave{visibility:visible}.dc-reading-paused .dc-reading-wave i{height:10px;transform:none}.dc-reading-paused .dc-reading-wave i:last-child{display:none}@keyframes dc-reading-wave{0%,100%{transform:scaleY(.35)}50%{transform:scaleY(1)}}@media(prefers-reduced-motion:reduce){.dc-reading .dc-reading-wave i{animation:none;transform:none}}
