/* Applies to the common shell, not the authored slide canvas. */
[hidden]{display:none!important}
.site-header{padding:var(--ui-space-4) var(--ui-space-8);gap:var(--ui-space-6);background:var(--ui-color-surface)}
.site-header .brand{font-family:var(--ui-font-heading);font-size:20px;line-height:1.35;max-width:360px;flex-shrink:0}
.site-header .brand span{font-size:12px;letter-spacing:0;color:var(--ui-color-muted)}
.site-header nav{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ui-space-2);max-width:none;font-size:var(--ui-text-small);justify-content:flex-end}
.site-header nav>a,.site-header nav>button,.course-resources>summary{display:inline-flex;align-items:center;min-height:var(--ui-control-height);padding:var(--ui-space-2) var(--ui-space-3);border-radius:var(--ui-radius-control);font:inherit;text-decoration:none;white-space:nowrap}
.site-header nav>a[aria-current]{color:var(--ui-color-ink);background:var(--ui-color-soft);box-shadow:inset 0 -3px var(--ui-color-action);font-weight:700}
.site-header nav>button{border:1px solid var(--ui-color-line);background:var(--ui-color-soft)}
.site-header nav>a:hover,.course-resources>summary:hover{background:var(--ui-color-soft)}
.course-resources{position:relative;color:var(--ui-color-action)}
.course-resources>summary{cursor:pointer;list-style:none;margin:0}
.course-resources>summary::-webkit-details-marker{display:none}
.course-resources>summary::after{content:' ▾';margin-left:var(--ui-space-2)}
.course-resources[open]>summary{background:var(--ui-color-soft)}
.course-resources>div{position:absolute;z-index:30;right:0;min-width:220px;max-width:calc(100vw - 32px);padding:var(--ui-space-2);background:var(--ui-color-surface);border:1px solid var(--ui-color-line);border-radius:var(--ui-radius-control);box-shadow:0 8px 24px #082f7514}
.course-resources>div>a{display:block;padding:var(--ui-space-3);min-height:var(--ui-control-height);font-size:var(--ui-text-small);text-decoration:none}
.course-resources>div>a:hover{background:var(--ui-color-soft)}
.portal-shell{max-width:var(--ui-width-portal)}
.course-summary h3,.portal-intro h1,.reading h1,.course-next h2{font-family:var(--ui-font-heading)}
.portal-intro h1 span+span{margin-left:.2em}
.reading{max-width:var(--ui-width-reading);padding:var(--ui-space-12) var(--ui-space-8)}
.reading h1{font-size:clamp(30px,3.5vw,42px);line-height:1.3}
.reading h2{font-size:26px;line-height:1.4;margin:var(--ui-space-8) 0 var(--ui-space-4)}
.reading p,.reading li{font-size:var(--ui-text-body);line-height:1.85}
.reading pre{font-family:var(--ui-font-code);font-size:var(--ui-text-small);line-height:1.8;background:var(--ui-color-soft);border-radius:var(--ui-radius-control)}
.reading details,.reading .notice{border-radius:var(--ui-radius-control)}
.reading img.evidence{border-color:var(--ui-color-line)}
.reading figcaption{font-size:var(--ui-text-small);color:var(--ui-color-muted)}
.prompt button,.prompt-block button,.review-actions button,.comment-form button,.comment-reply-button,.reply-more,.reactions button,.deck-controls button,.deck-next-action,.ui-primary,.course-start{min-height:var(--ui-control-height);padding:var(--ui-space-2) var(--ui-space-4);font-size:var(--ui-text-small);font-family:var(--ui-font-body);line-height:1.5;border-radius:var(--ui-radius-control)}
.deck-next-action,.ui-primary{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:var(--ui-color-action);color:var(--ui-color-surface);border:1px solid var(--ui-color-action)}
.course-start,.comment-form button,.review-actions button{background:var(--ui-color-action);color:var(--ui-color-surface)}
.prompt button,.prompt-block button,.comment-reply-button,.reply-more,.reactions button,.deck-controls button{background:var(--ui-color-soft);border:1px solid var(--ui-color-line)}
button:disabled{opacity:.5;cursor:default}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--ui-color-action);outline-offset:3px}
.comment-form input,.comment-form textarea,.review-controls input,.review-controls select{min-height:var(--ui-control-height);border-radius:var(--ui-radius-control);font-family:var(--ui-font-body);font-size:var(--ui-text-body)}
.course-feedback,.review-controls,.review-preview,.course-row{border-radius:var(--ui-radius-panel)}
.comment-form textarea{line-height:1.7}
.comment-form .reply-cancel{background:var(--ui-color-surface);color:var(--ui-color-muted);border:1px solid var(--ui-color-line)}
.course-next{max-width:var(--ui-width-reading);margin:var(--ui-space-8) auto;padding:var(--ui-space-8);border-top:3px solid var(--ui-color-action);background:var(--ui-color-surface)}
.course-next h2{font-size:24px;margin:0 0 var(--ui-space-3)}
.course-next p{font-size:var(--ui-text-body);line-height:1.8;color:var(--ui-color-muted);margin:0 0 var(--ui-space-6)}
.course-next-actions{display:flex;align-items:center;gap:var(--ui-space-4) var(--ui-space-6);flex-wrap:wrap;font-size:var(--ui-text-small)}
.course-next-actions>a{min-height:var(--ui-control-height);display:inline-flex;align-items:center}
html:fullscreen .course-next{display:none}
@media(max-width:850px){
 .site-header{display:block;padding:var(--ui-space-4) var(--ui-space-4) var(--ui-space-2)}
 .site-header .brand{display:block;max-width:none;font-size:18px}
 .site-header .brand span{max-width:none;font-size:12px}
 .site-header nav{justify-content:flex-start;gap:var(--ui-space-1);margin-top:var(--ui-space-3);max-width:none;font-size:var(--ui-text-small)}
 .site-header nav>button{display:none}
 .course-resources>div{left:0;right:auto;min-width:210px}
 .reading{padding:var(--ui-space-8) var(--ui-space-6)}
 .reading h2{font-size:24px}
 .course-next{margin:var(--ui-space-6) var(--ui-space-4);padding:var(--ui-space-6)}
 .deck-controls button,.deck-next-action{padding:var(--ui-space-2) var(--ui-space-3)}
 .portal-intro h1 span+span{margin-left:0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{.site-header,.course-next{display:none!important}}
