/* Shared navigation for study and labs. */
[hidden]{display:none!important}
.site-header{height:auto;min-height:76px;display:flex;align-items:center;gap:20px;padding:14px max(24px,calc((100vw - 1480px)/2));background:var(--paper,#fff);color:var(--ink,#1c1b19);border-bottom:1px solid var(--line,#e4e0d8);font:16px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;flex-wrap:wrap}
.site-header .brand{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:600;letter-spacing:normal;text-decoration:none;color:var(--ink,#1c1b19);flex-shrink:0}
.site-header .brand-mark{padding:0 8px;border-radius:5px;background:var(--accent,#0b6e78);color:var(--button-ink,#fff);font-size:20px;font-weight:600;letter-spacing:normal}
.site-header .course{font-size:13px;color:var(--muted,#5e5b55);white-space:nowrap}.site-header .course span{margin-left:6px}
.site-header .site-nav{display:flex;align-items:center;gap:2px;flex-wrap:wrap;justify-content:flex-start;margin:0 0 0 auto;padding:0;border:0}
.site-header .site-nav a,.site-header .site-nav button,.site-header #signout{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 11px;font:inherit;font-size:14px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted,#5e5b55);text-decoration:none;white-space:nowrap;cursor:pointer}
.site-header .site-nav [aria-current=page]{background:var(--tint,#e3f1f2);color:var(--accent,#0b6e78)}
.site-header .site-nav a:hover,.site-header .site-nav button:hover,.site-header #signout:hover{background:var(--tint,#e3f1f2);color:var(--accent,#0b6e78)}
.site-header #signout{margin-left:0;color:var(--accent,#0b6e78)}
.site-header :focus-visible{outline:3px solid var(--accent,#0b6e78);outline-offset:2px}
@media(max-width:1200px){.site-header{gap:10px}.site-header .course span{display:none}.site-header .site-nav a,.site-header .site-nav button{padding:10px 8px}}
@media(max-width:1000px){.site-header .site-nav{order:4;flex-basis:100%;margin-left:0}.site-header #signout{margin-left:auto}.site-header{padding:12px 18px}.site-header .site-nav a,.site-header .site-nav button{flex:0 0 auto}}
@media(max-width:420px){.site-header{padding:10px 12px}.site-header .site-nav{gap:0}.site-header .site-nav a,.site-header .site-nav button{padding:9px;font-size:13px}}
