/* A single local navigation shell. Existing page styles remain isolated. */
#lab-menu{display:flex;flex-direction:column;max-width:580px;width:min(580px,calc(100vw - 24px));max-height:calc(100dvh - 100px);overflow:hidden;padding:0;border-radius:10px;background:rgba(245,245,240,.70);backdrop-filter:blur(14px);}
#lab-menu:has(#menu-panel[hidden]){width:min(580px,calc(100vw - 24px));padding:0;}
#lab-menu[data-expanded=false]{width:min(580px,calc(100vw - 24px));background:transparent;backdrop-filter:none;}
#lab-menu[data-expanded=true][data-view=menu],#lab-menu[data-expanded=true][data-view=tour]{width:min(580px,calc(100vw - 24px));}
#lab-menu[data-expanded=true][data-view=page]{height:calc(100dvh - 100px);background:#e7e4dc;}
#lab-menu[data-expanded=true][data-view=dialog]{background:rgba(231,228,220,.97);}
#lab-menu[data-expanded=true][data-view=tour]{background:rgba(241,242,236,.52);}
#lab-menu #menu-toggle,#lab-menu #menu-toggle[aria-expanded=true],#lab-menu #menu-toggle[aria-expanded=false]{width:100%;margin:0;flex:0 0 44px;border:0;}
#panel-header{display:flex;align-items:center;gap:12px;padding:0 14px 8px;border-bottom:1px solid #30372f24;flex:0 0 auto;}
#panel-back{background:transparent;min-height:44px;padding:8px 0;white-space:nowrap;}
#panel-label{margin-left:auto;text-align:right;font:12px/1.4 Arial,sans-serif;color:#565c52;}
#panel-body{min-height:0;overflow:auto;flex:1 1 auto;overscroll-behavior:contain;}
#lab-menu #menu-panel{padding:8px 14px 12px;}
#panel-body dialog{position:static!important;inset:auto!important;margin:0!important;width:100%!important;max-width:none!important;max-height:none!important;height:auto!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;color:#242723;padding:18px 20px!important;overflow:visible!important;}
#panel-body dialog:not([open]),#panel-body[hidden],#panel-header[hidden],.panel-page[hidden],#panel-status[hidden]{display:none!important;}
#panel-body .sheet-header>button,#panel-body #close-agent,#panel-body [data-close],#panel-body #close-reader,#panel-body #close-text-reader{display:none!important;}
#panel-body #explore-title,#panel-body #tour-title{margin:0;}
.panel-page{display:block;width:100%;height:100%;min-height:280px;border:0;background:#e7e4dc;}
#lab-menu[data-view=page] #panel-body{overflow:hidden;display:flex;flex-direction:column;}
#panel-status{padding:12px 20px;}
#panel-body #tour-bar{display:none;position:static;inset:auto;width:100%;max-width:none;margin:0;padding:8px 16px 16px;border:0;background:transparent;backdrop-filter:none;visibility:visible;}
#panel-body #tour-bar.panel-tour-visible:not([hidden]){display:block;}
#panel-body #tour-bar .tour-actions{display:flex;gap:8px;flex-wrap:wrap;}
#panel-body #tour-bar button{flex:1;min-height:44px;}
#panel-body #tour-next:disabled{opacity:.5;cursor:default;}
#panel-body #agent-dialog{max-width:620px!important;margin:auto!important;}
#panel-body #text-scroll,#panel-body #reader-scroll{max-height:none;overflow:visible;}
.lab-embedded{background:#e7e4dc!important;min-height:100%;}
.lab-embedded .reader-header,.lab-embedded>footer,.lab-embedded .skip-link,.lab-embedded .back-link{display:none!important;}
.lab-embedded main{margin-top:0!important;padding-top:22px!important;}
.lab-embedded .hero,.lab-embedded .thesis-hero{padding-top:16px!important;}
.lab-embedded main>a:first-child[href="/essays/"]{display:none;}
@media(max-width:600px){body.lab-embedded main{width:100%;margin-inline:0;padding-left:24px!important;padding-right:24px!important;}}
@media(max-width:600px){#lab-menu{max-height:calc(100dvh - 86px);}#lab-menu[data-expanded=true][data-view=page]{height:calc(100dvh - 86px);}#panel-body dialog{padding:16px!important;}#panel-header{padding-left:16px;padding-right:16px;}.lab-embedded main{padding-left:18px!important;padding-right:18px!important;}.lab-embedded h1{font-size:clamp(30px,8vw,48px)!important;}}
@media(prefers-reduced-motion:reduce){#lab-menu{transition:none;}}

#lab-menu[data-expanded=true]{background:rgba(245,245,240,.70)!important;backdrop-filter:blur(14px)!important;border-radius:10px!important;}
#lab-menu[data-expanded=true][data-view=dialog]{background:rgba(231,228,220,.97)!important;}
#lab-menu[data-expanded=true][data-view=page]{background:#e7e4dc!important;}
#lab-menu[data-expanded=true][data-view=tour]{background:rgba(241,242,236,.52)!important;}

#lab-menu #panel-back{background:transparent;backdrop-filter:none;}

/* Keep unstyled/loading documents out of view and use one scroll owner. */
.panel-page{flex:1 1 0;min-height:0;}
.panel-page.panel-preparing{visibility:hidden;position:absolute;inset:0;}
#lab-menu[data-view=page] #panel-body{position:relative;}
#panel-status{flex:none;margin:0;}
#panel-body{touch-action:pan-y;-webkit-overflow-scrolling:touch;}
#panel-body #reader-scroll,#panel-body #text-scroll{height:auto;min-height:0;}
#explore-sheet #browse-directory nav button.coming-soon{cursor:default;opacity:1;color:#60665d;background:#ffffff45;}
.lab-embedded{overflow-x:hidden;overflow-wrap:anywhere;}
.lab-embedded main{max-width:100%;}
/* Programmatic reading focus is not an interactive control. */
.lab-embedded main[tabindex="-1"]:focus{outline:none;}
.menu-utility-links{display:flex;align-items:center;justify-content:center;gap:20px;}
#lab-menu .menu-utility-links>a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 0;white-space:nowrap;font-size:12px;}

#read-without-3d{display:block;padding:12px 0;min-height:44px;font-size:12px;text-align:center;}
.nojs-site{position:fixed;inset:0;z-index:100;background:#e7e4dc;overflow:auto;padding:24px;font:16px/1.6 Arial,sans-serif;}
.nojs-site h1{font-size:36px;line-height:1.1;max-width:760px;}
.plain-directory{list-style:none;padding:0;}.plain-directory a{display:block;min-height:44px;padding:12px 0;border-bottom:1px solid #bcbcb3;}
#panel-body #text-reader,#panel-body #terminal{font:16px/1.6 Arial,Helvetica,sans-serif;color:#262725;}
#panel-body #terminal h1,#panel-body #text-reader h2{font-size:clamp(30px,4.5vw,44px);line-height:1.1;letter-spacing:-.035em;}

#privacy-link{display:block;text-align:center;min-height:44px;padding:12px;font-size:12px;}

/* Shared main-menu grey glass, including the agent panel. */
#lab-menu[data-expanded=true][data-view=page],
#lab-menu[data-expanded=true][data-view=tour],
#lab-menu[data-expanded=true][data-view=dialog]{background:rgba(245,245,240,.70)!important;}
#panel-body #agent-dialog{backdrop-filter:none!important;}
#agent-title .agent-head{background:#000;border-radius:50%;}
.panel-page,html:has(>body.lab-embedded),body.lab-embedded{background:transparent!important;}
#panel-body #explore-sheet,#panel-body #tour-dialog{backdrop-filter:none!important;}
#lab-menu #explore-sheet #browse-directory nav a,
#lab-menu #explore-sheet #browse-directory nav button,
#lab-menu #tour-dialog button,
#lab-menu #tour-bar button{background:rgba(249,250,245,.82);color:#202720;border:0;border-radius:5px;min-height:46px;padding:12px 8px;font:12px/1.4 Arial,Helvetica,sans-serif;}
#lab-menu #explore-sheet #browse-directory nav a,
#lab-menu #explore-sheet #browse-directory nav button{text-align:center;justify-content:center;}
#lab-menu #explore-sheet #browse-directory nav a:hover,
#lab-menu #explore-sheet #browse-directory nav button:hover,
#lab-menu #tour-dialog button:hover,
#lab-menu #tour-bar button:hover{background:rgba(255,255,255,.9);}
#lab-menu #explore-sheet #browse-directory nav button.coming-soon{color:#60665d;}

/* Compact close control shares the menu/header row. */
#lab-menu[data-expanded=true] #menu-toggle{position:relative;inset:auto;width:100%;min-width:44px;height:44px;margin:0;z-index:3;flex:0 0 44px;}
#lab-menu[data-expanded=true] #panel-header{min-height:44px;padding-top:0;padding-right:14px;}
#lab-menu[data-view=menu] .directory-main{margin-right:0;}
#lab-menu[data-expanded=true][data-view=menu] #menu-panel{padding-top:0;}
#lab-menu #menu-toggle .menu-chevron{transition:transform .28s ease;}
#lab-menu #menu-toggle .menu-chevron::before,#lab-menu #menu-toggle .menu-chevron::after{transition:transform .28s ease,top .28s ease,width .28s ease,border-color .28s ease;}
#lab-menu #menu-toggle[aria-expanded=true] .menu-chevron{transform:none;}
#lab-menu #menu-toggle[aria-expanded=true] .menu-chevron::before,#lab-menu #menu-toggle[aria-expanded=true] .menu-chevron::after{top:8px;left:0;width:16px;height:0;border-left-color:transparent;}
#lab-menu #menu-toggle[aria-expanded=true] .menu-chevron::before{transform:rotate(45deg);}
#lab-menu #menu-toggle[aria-expanded=true] .menu-chevron::after{transform:rotate(-45deg);}
#agent-dialog #agent-choices [data-agent]{background:rgba(249,250,245,.82);color:#262725;border:0;}
#agent-dialog #agent-choices [aria-current=true]{background:rgba(249,250,245,.82);color:#262725;box-shadow:none;}
#agent-title .agent-head{width:48px;height:48px;flex-basis:48px;filter:brightness(2.8) saturate(1.55);}
/* Secondary panels share one compact header: back, centred close, label. */
#lab-menu[data-expanded=true]:not([data-view=menu]) #menu-toggle{position:absolute;top:0;left:calc(50% - 60px);width:120px;flex:none;}
#lab-menu[data-expanded=true]:not([data-view=menu]) #panel-header{padding-bottom:0;display:grid;grid-template-columns:minmax(0,1fr) 120px minmax(0,1fr);gap:6px;}
#panel-header #panel-back{grid-column:1;justify-self:start;max-width:100%;overflow:hidden;text-overflow:ellipsis;}
#panel-header #panel-label{grid-column:3;}
/* Four rounded strokes morph from double-right chevron into a single X. */
#lab-menu #menu-toggle .menu-chevron{width:24px;height:24px;transform:none;}
#lab-menu #menu-toggle .menu-chevron::before,#lab-menu #menu-toggle .menu-chevron::after{display:none;}
.menu-chevron i{position:absolute;left:6px;top:11px;width:10px;height:1.5px;border-radius:2px;background:currentColor;transform-origin:center;transition:transform .32s cubic-bezier(.22,1,.36,1),width .32s cubic-bezier(.22,1,.36,1);}
.menu-chevron i:nth-child(1){transform:translate(-5px,-3px) rotate(45deg);}
.menu-chevron i:nth-child(2){transform:translate(-5px,3px) rotate(-45deg);}
.menu-chevron i:nth-child(3){transform:translate(4px,-3px) rotate(45deg);}
.menu-chevron i:nth-child(4){transform:translate(4px,3px) rotate(-45deg);}
#menu-toggle[aria-expanded=true] .menu-chevron i{width:18px;}
#menu-toggle[aria-expanded=true] .menu-chevron i:nth-child(odd){transform:translate(-3px,0) rotate(45deg);}
#menu-toggle[aria-expanded=true] .menu-chevron i:nth-child(even){transform:translate(-3px,0) rotate(-45deg);}
#lab-menu #panel-body button,#lab-menu #panel-body a{backdrop-filter:none;}
/* Keep one glass surface throughout open/close; never stack handle glass. */
#lab-menu[data-expanded=false],#lab-menu[data-expanded=true]{background:rgba(245,245,240,.70)!important;backdrop-filter:blur(14px)!important;}
#lab-menu #menu-toggle[aria-expanded=false],#lab-menu #menu-toggle[aria-expanded=false]:hover,
#lab-menu #menu-toggle[aria-expanded=true],#lab-menu #menu-toggle[aria-expanded=true]:hover{background:transparent!important;backdrop-filter:none!important;box-shadow:none;border:0;color:#4d544b;}
#lab-menu #menu-toggle{-webkit-tap-highlight-color:transparent;}
/* A fixed-size glass layer avoids resizing the blur surface at the moving top edge. */
#lab-menu[data-expanded][data-view]{background:transparent!important;backdrop-filter:none!important;isolation:isolate;overflow:hidden!important;}
#lab-menu[data-expanded=false]::before{background:rgba(245,245,240,.32);}
#lab-menu::before{content:"";transition:background-color .28s ease;position:absolute;left:0;right:0;bottom:0;height:100dvh;background:rgba(245,245,240,.70);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);z-index:-1;pointer-events:none;}
@media(prefers-reduced-motion:reduce){#lab-menu #menu-toggle .menu-chevron,#lab-menu #menu-toggle .menu-chevron::before,#lab-menu #menu-toggle .menu-chevron::after,.menu-chevron i{transition:none;}}

