/* Navigation repair: roomy touch targets, visible states, no invisible blocking layer. */
.sl-nav .sl-menu-toggle{display:none;border:1px solid #b9cadb;background:#edf4fb;color:#183153;border-radius:12px;font:inherit;font-weight:700;min-width:100px;min-height:48px;padding:10px 16px;align-items:center;justify-content:center;cursor:pointer;touch-action:manipulation}
.sl-nav .sl-nav-panel a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;min-width:48px;padding:10px 14px;line-height:1.5;text-decoration:none;border-radius:10px;touch-action:manipulation;position:relative}
.sl-nav .sl-nav-panel a.sl-current{background:#e6f0ff;color:#173f7f;box-shadow:inset 0 -3px #3267b0}
.sl-nav .sl-nav-panel a:active,.sl-nav .sl-menu-toggle:active{background:#d6e6f7;color:#163251}
.sl-nav .sl-nav-panel a:focus-visible,.sl-menu-toggle:focus-visible{outline:3px solid #d58b23;outline-offset:3px}
.sl-nav .sl-nav-panel[hidden]{display:none!important}
button,a,summary,select{touch-action:manipulation}
#studio-toast{pointer-events:none}
.skip-link{z-index:120}
#main,#studio-main,#kb-main,.reading-section,[id^='source-']{scroll-margin-top:100px}
.sl-route-loading{padding:30px 18px;border:1px solid #c9d9e8;border-radius:14px;background:#f0f6fc;color:#193c59}
.sl-route-loading p{margin:8px 0}
@media(max-width:900px){
 .topbar.sl-nav,.studio-header.sl-nav{position:sticky;top:0;z-index:60;isolation:isolate;background:#f5f7fb;border-bottom:1px solid #ccd9e7;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 0;margin-top:0;margin-bottom:18px;width:100%;box-shadow:0 4px 9px #1831530a}
 .studio-header.sl-nav{padding:12px 16px}
 .sl-nav .brand{min-width:0;white-space:normal;font-size:21px}
 .sl-nav .brand-mark{flex:none}
 .sl-nav .brand small{font-size:11px;line-height:1.35}
 .sl-nav .sl-menu-toggle{display:inline-flex;justify-self:end}
 .sl-nav .sl-nav-panel{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;justify-content:stretch;gap:8px;width:100%;margin:0;padding:8px 2px 4px;max-height:60vh;max-height:60dvh;overflow:auto;overscroll-behavior:contain}
 .sl-nav .sl-nav-panel a{margin:0;border:1px solid #d4e0ec;background:white;color:#24445f;min-height:50px;width:100%;min-width:0;font-size:15px;font-weight:600;padding:12px 10px;white-space:normal;overflow-wrap:anywhere;text-align:center}
 .sl-nav .sl-nav-panel a.sl-current{border-color:#739aca;background:#e5efff;color:#163f79}
 .sl-nav .sl-nav-panel .stage-link{background:#203f63;color:white}
 .reading-nav .toc,.reading-nav .btn{min-height:44px;font-size:14px;padding:10px 12px}
 .kb-nav a{display:inline-flex;align-items:center;min-height:44px;padding:10px 12px}
 .manual-scores button,.team button,.selected-module .btn{min-width:44px;min-height:44px}
 .audience-focus .sl-nav,.standalone-audience .sl-nav{display:none}
}
@media(max-width:350px){.sl-nav .brand{font-size:18px}.sl-nav .brand small{max-width:132px}.sl-nav .sl-menu-toggle{min-width:88px;padding:10px}.sl-nav .sl-nav-panel a{font-size:14px}}
@media print{.sl-nav,.sl-menu-toggle{display:none!important}}
