.mobile-menu,.header nav .mobile-publish{display:none}
.dialog-fallback[open]{display:block;position:fixed;inset:10vh 0 auto;z-index:1100;box-shadow:0 0 0 100vmax #000b}
#classroom{height:100vh;height:100dvh;max-height:var(--visible-height,100dvh);overscroll-behavior:none}
#lesson-frame{min-width:0;min-height:0}#lesson-frame iframe{display:block;width:100%;height:100%;border:0}
@media(max-width:900px){
 :root{--header-height:72px}
 html{scroll-padding-top:84px}body{min-width:0;overflow-x:hidden;-webkit-text-size-adjust:100%}
 body .header.site-header{position:fixed;inset:0 0 auto;display:flex;align-items:center;gap:10px;width:100%;height:calc(72px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 18px 0;z-index:100;background:#0a0d11f5;border-bottom:1px solid #ffffff18;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
 .header .brand{margin-right:auto;flex-shrink:0;gap:9px}.header .brand span{font-size:18px;letter-spacing:.02em}.header .site-logo{width:31px;height:31px}
 body .header .account-button,body .header .theme-toggle{position:static;min-height:44px;font-size:14px;padding:8px 10px;margin:0;white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}
 body .header .publish-link,body .header #scene-settings-button{display:none}
 body .header .mobile-menu{display:grid;place-items:center;order:6;width:42px;height:44px;flex-shrink:0;padding:0;border:1px solid #ffffff24;border-radius:12px;background:#ffffff06;color:inherit;font-size:23px}
 body .header nav{display:none!important;position:absolute!important;inset:100% 0 auto!important;height:auto;max-height:calc(var(--visible-height,100vh) - 72px);overflow-y:auto;padding:14px 18px 22px;margin:0;gap:6px!important;background:#0c1016;box-shadow:0 20px 40px #0005;border-bottom:1px solid #ffffff24;grid-template-columns:repeat(2,minmax(0,1fr));z-index:101}
 body .header.menu-open nav{display:grid!important}.header nav .nav-link,.header nav .mobile-publish{display:flex;align-items:center;min-height:50px;padding:12px 16px;border:1px solid #ffffff12;border-radius:12px;font-size:16px!important;white-space:normal}
 .header nav a[aria-current=page]{background:#ffffff10}
 body #main{width:100%;max-width:100%;margin:0;padding:100px 18px 40px}
 .catalog-section,.catalog-page-heading,.catalog-shell,.catalog-products,.library-layout,.library-content{min-width:0;max-width:100%}
 .catalog-page-heading{gap:14px;margin-bottom:22px}.catalog-page-heading h1,.library-header h1{font-size:30px;line-height:1.3}
 .catalog-bundle-grid{display:flex!important;gap:12px!important;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;padding-bottom:10px!important;margin-bottom:18px!important}
 .catalog-bundle-grid>*{flex:0 0 280px;min-width:0;scroll-snap-align:start;padding:16px!important;border-radius:16px!important;display:flex!important;flex-direction:column;gap:10px!important}
 .catalog-bundle-grid h2{font-size:19px!important;margin:0!important}.catalog-bundle-grid p{font-size:12px!important;margin:6px 0!important}.catalog-bundle-grid a{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px!important;text-align:left!important}.catalog-bundle-grid strong{font-size:25px!important}.catalog-bundle-grid a span{font-size:12px!important}
 html[data-theme] body .catalog-bundle-grid>.bundle-strip{padding:16px!important;gap:8px!important}.catalog-bundle-grid .bundle-strip>a{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end}.catalog-bundle-grid .bundle-promotion{line-height:1.5}.catalog-bundle-grid .bundle-strip>a>span{font-size:12px;padding:0}
 html[data-theme] body .catalog-result-row{margin:0 0 14px;min-height:26px}.catalog-layout{gap:18px}.catalog-page-heading{margin-bottom:18px!important}
 #mobile-catalog-filters{margin:0 0 16px;border:1px solid #ffffff20;border-radius:14px;padding:0 14px}#mobile-catalog-filters>summary{display:flex;align-items:center;min-height:48px;cursor:pointer;font-size:16px;list-style:none}#mobile-catalog-filters>summary::-webkit-details-marker{display:none}#mobile-catalog-filters>summary::after{content:'＋';margin-left:auto}#mobile-catalog-filters[open]>summary::after{content:'−'}#mobile-catalog-filters .catalog-panel{margin:0;padding:8px 0 16px;border:0;box-shadow:none}
 .catalog-controls,.catalog-filter-bar,.filters,.filter-row{max-width:100%;flex-wrap:wrap;gap:8px}
 #search{width:100%;min-width:0;font-size:16px;min-height:46px}
 button,input,select,textarea{touch-action:manipulation}input,select,textarea{font-size:16px!important;max-width:100%}
 .catalog-section .chip,.catalog-section .filter-button,.catalog-section select{min-height:42px;font-size:15px}
 .curriculum-mobile-toggle,.library-directory-toggle{min-height:50px;font-size:17px;padding:14px 16px}
 .curriculum-volume summary,.library-volume summary{font-size:16px;min-height:44px}.curriculum-unit,.library-unit{min-height:44px;font-size:15px}
 .card h3,.library-course-card h3{font-size:20px;line-height:1.5}.card p,.library-card-body .subtle{font-size:15px;line-height:1.7}
 .button,.text-button{min-height:44px}.card .button,.library-card-actions .button{font-size:16px}
 .library-course-grid{gap:18px}.library-card-body{padding:18px}.library-header{flex-wrap:wrap;gap:16px}
 .purchase-library .library-bundle{padding:0;border:0;background:none}.library-bundle>header{gap:12px;flex-wrap:wrap}
 .library-card-cover{aspect-ratio:16/9}.library-card-cover img{width:100%;height:100%;object-fit:cover}
 body.is-home{height:100vh;height:var(--visible-height,100dvh);overflow:hidden}
 .brand-home{height:100vh;height:var(--visible-height,100dvh);padding-top:calc(72px + env(safe-area-inset-top,0px))}
 .brand-composition{height:100%;min-height:0;padding:12px 20px 90px;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;gap:8px}
 .brand-art{min-height:0;height:100%;width:100%}.brand-lockup{gap:16px}.brand-monogram{width:86px;height:86px}.brand-wordmark{font-size:clamp(36px,8.8vw,64px);letter-spacing:.12em;white-space:nowrap}
 .brand-entry{align-self:center}.magnetic-entry{width:152px;height:152px}.magnetic-label{font-size:20px}
 .brand-era{left:20px;bottom:48px;font-size:15px;letter-spacing:.18em}.home-filing{left:20px;right:auto;bottom:20px;font-size:10px}
 .home-glass-plane{inset:84px 10px 10px}.flare-stage{inset:0}
 #dialog{width:calc(100% - 24px);max-width:520px;max-height:calc(var(--visible-height,100vh) - 32px);padding:0;overscroll-behavior:contain}.dialog-content{padding:30px 22px}.dialog-content h2{font-size:25px}
 #classroom{inset:0;max-height:var(--visible-height,100dvh);padding:0}.classroom-toolbar{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right));gap:6px;flex-wrap:nowrap}
 #player-back{font-size:14px;min-width:0;white-space:nowrap}#classroom button{min-height:40px}.orientation-hint{max-width:calc(100% - 28px);bottom:64px!important;pointer-events:none}.orientation-hint button{pointer-events:auto}
 html[data-theme=day] .header.site-header,html[data-theme=day] .header nav{background:#f2f1edf5;border-color:#28313a22}
 html[data-theme=day] .header nav .nav-link,html[data-theme=day] .header .mobile-menu{border-color:#28313a24}
 html[data-theme=day] .header nav a[aria-current=page]{background:#27364b0d}
 html[data-theme=day] #mobile-catalog-filters{border-color:#28313a24}
}
@media(min-width:901px){#mobile-catalog-filters{display:contents}#mobile-catalog-filters>summary{display:none}}
@media(max-width:420px){.header .brand span{font-size:17px}body .header.site-header{gap:5px;padding-left:12px;padding-right:12px}body .header .theme-toggle{font-size:13px;padding:6px}.header .brand{gap:5px}body .header .account-button{max-width:92px;padding:7px}.header .site-logo{width:27px;height:27px}}
@media(max-width:900px) and (max-height:520px){
 :root{--header-height:60px}body .header.site-header{height:60px;padding-top:0}.brand-home{padding-top:60px}
 .brand-composition{grid-template-columns:1.2fr 1fr;grid-template-rows:1fr;padding:10px 28px 50px}.brand-monogram{width:56px;height:56px}.brand-wordmark{font-size:36px}.brand-lockup{gap:8px}.magnetic-entry{width:136px;height:136px}.brand-era{bottom:18px}.home-filing{left:auto;right:20px;bottom:18px}
}
