/* Adapt the approved worlds by available space, without scaling the whole UI. */
input,textarea,select{font-size:16px!important}
#concept-stage:has([data-sheet-viewport]){overflow-y:hidden;scrollbar-gutter:stable;background:transparent}
.u-mini.world[data-sheet-viewport] .u-sheet{top:var(--u-sheet-top)!important;bottom:auto!important;height:var(--u-sheet-height)!important;overscroll-behavior:contain}
.world[data-sheet-viewport] .u-sheet-controls{position:sticky;top:0;height:64px;margin-bottom:-64px;background:var(--paper);z-index:10}
.world[data-sheet-viewport] .u-close{position:absolute;top:10px;right:14px;margin:0;min-height:44px}
.gallery-open{container-type:inline-size}
.gallery-invite{font-size:clamp(16px,5.8cqw,26px)}
.gallery-focus{gap:clamp(8px,3cqw,16px)}
.gallery-eyes{width:clamp(40px,13cqw,64px)}
.concept-toolbar>div,.concept-dialog-bottom>p{min-width:0}
.concept-toolbar .close{flex:none}
.world.mini-large .mc-book{margin-inline:0}
@media(min-width:1101px){
 .world.u-a.mini-large .ua-photo{bottom:215px}
 .world.u-c.mini-large .uc-products{bottom:88px}
 /* Keep the room and its markers at the same aspect ratio; captions follow it. */
 .world.u-f.mini-large{height:auto!important;min-height:700px}
 .world.u-f.mini-large .uf-title{position:relative;inset:auto;margin:28px 5% 24px}
 .world.u-f.mini-large .uf-stage{position:relative;inset:auto;width:70%;margin:0 15% 24px}
 .world.u-f.mini-large .uf-caption{position:relative;inset:auto;margin:0 5% 18px}
 .world.u-f.mini-large .uf-note{position:relative;inset:auto;margin:0 5% 18px;max-width:60%}
 .world.u-f.mini-large .uf-action{position:relative;inset:auto;margin:0 5% 24px!important}
 .world.u-f.mini-large .u-footnote{position:relative;inset:auto;margin:0 5%;padding-bottom:14px}
}
@media(max-width:1100px){
 .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .gallery-next{gap:24px;align-items:flex-start}
 .gallery-dialog-footer{gap:20px}
 .gallery-dialog-footer>div{min-width:0}
}
@media(max-width:700px){
 .gallery-grid{grid-template-columns:1fr;gap:38px}
 .gallery-caption{padding-top:18px}
 .gallery-caption h3{font-size:25px}
 .gallery-next,.gallery-dialog-footer{flex-direction:column;gap:18px}
 .gallery-dialog{inset:10px;height:calc(100dvh - 20px);max-height:calc(100dvh - 20px)}
 .gallery-dialog .concept-toolbar{padding:18px 18px 14px}
 .gallery-dialog .concept-toolbar h2{font-size:22px}
 .gallery-image-stage{padding:0 18px;min-height:100px}
 .gallery-dialog-footer{padding:18px;flex:none;align-items:stretch}
 .gallery-dialog-footer p{font-size:13px}
 .gallery-try{min-height:44px;width:100%;white-space:normal;gap:16px}
 .concept-dialog:not(.gallery-dialog){inset:8px;height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}
 .concept-toolbar{padding:14px 16px 10px;gap:10px}
 .concept-toolbar h2{font-size:21px}
 .concept-tabs{padding:0 12px 12px;gap:5px}
 .concept-tabs button{font-size:11px;min-height:44px;padding:9px 12px}
 /* Keep the same content width when a nested sheet locks parent scrolling. */
 #concept-stage{margin:0 10px;scrollbar-gutter:stable}
 .concept-dialog-bottom{padding:10px 14px;gap:12px;align-items:center}
 .concept-dialog-bottom>p{font-size:10px;line-height:1.45}
 .concept-dialog-bottom>div{gap:10px}
 .concept-dialog-bottom button,.close{min-width:44px;min-height:44px}
 .drawer{width:calc(100vw - 36px);min-height:0}
 .drawer .panel-inner{padding:22px}
 .drawer h2{font-size:clamp(30px,8vw,42px);margin-bottom:24px}
 .drawer .panel-top{margin-bottom:25px}
 .drawer .contact-copy{font-size:15px}
 .drawer .contact-links{margin-top:24px}
 .drawer .drawer-note{margin-top:24px}
 .contact-email{overflow-wrap:anywhere}
 .chrome{padding-inline:16px}
 .chrome-actions{gap:6px}
 .chrome-actions .pill{min-height:44px;padding-inline:13px;font-size:10px}
 .brand{flex:none}
 .directions-grid{grid-template-columns:1fr}
 .discuss-study button{min-height:44px}
}
@media(max-width:380px){
 .chrome{padding-inline:12px}
 .chrome-actions .pill{padding-inline:10px;font-size:9px;gap:8px}
 .brand-mark{font-size:22px}
 .concept-tabs button{padding-inline:9px;font-size:10px}
 .concept-dialog-bottom{flex-wrap:wrap}
 .concept-dialog-bottom>p{flex:1 1 150px}
}
/* A narrow live world must reflow, not inherit the wide scene's absolute rails. */
@media(max-width:1100px){
 .world.mini-large{height:auto!important;min-height:760px!important}
 .world.mini-large .u-header{position:relative!important;inset:auto!important;height:74px;padding:0 6%!important;gap:12px}
 .world.mini-large .u-header>b,.world.mini-large .u-header b{font-size:28px}
 .world.mini-large .world-edition{font-size:7px;max-width:85px}
 .world.mini-large .u-menu-toggle{font-size:11px!important;min-height:44px}
 .world.mini-large .u-sheet{inset:74px 0 0!important}
 .world.mini-large .u-sheet-body{padding:66px 22px 28px!important}
 .world.mini-large .u-close{min-width:44px;min-height:44px}
 .world.mini-large .u-footnote{position:relative;inset:auto!important;margin:18px 6% 0;padding-bottom:14px;font-size:9px!important;width:auto;max-width:none}
 .world.mini-large .u-sheet p{font-size:14px}
 .world.mini-large .u-sheet button{min-height:44px}
 .world.mini-large .u-sheet .u-link{font-size:13px}
 .world.mini-large .u-sheet h4{font-size:28px}
 .world.u-a.mini-large .ua-photo{position:relative;inset:auto;height:390px}
 .world.u-a.mini-large .ua-photo>.u-image{width:50%}
 .world.u-a.mini-large .ua-title{left:55%;width:40%;top:35px}
 .world.u-a.mini-large .ua-title h3{font-size:clamp(28px,4.8vw,46px)}
 .world.u-a.mini-large .world-intro{font-size:12px}
 .world.u-a.mini-large .world-handnote{font-size:15px;margin-top:20px}
 .world.u-a.mini-large .ua-choice{position:relative;inset:auto;margin:0 6%;padding:22px 0 0}
 .world.u-a.mini-large .ua-ages button{min-height:44px}
 .world.u-a.mini-large .ua-result{gap:16px}
 .world.u-a.mini-large .ua-result h4{font-size:25px}
 .world.u-b.mini-large{grid-template-columns:6% 40% 4% 44% 6%;grid-template-rows:74px auto 290px auto auto}
 .world.u-b.mini-large .ub-title{margin:24px 0}
 .world.u-b.mini-large .ub-title h3{font-size:clamp(32px,9vw,76px);line-height:.96;overflow-wrap:normal}
 .world.u-b.mini-large .ub-title h3 em{display:block}
 .world.u-b.mini-large .ub-parts button{grid-template-columns:42px minmax(0,1fr) 16px;gap:4px 8px;padding:8px 4px;min-height:85px}
 .world.u-b.mini-large .world-part-thumb{width:42px;height:58px}
 .world.u-b.mini-large .ub-parts button span{font-size:13px}
 .world.u-b.mini-large .ub-parts button>i{font-size:16px}
 .world.u-b.mini-large .ub-caption{grid-template-columns:1fr;gap:10px;margin-top:24px}
 .world.u-b.mini-large .ub-caption .u-primary{grid-column:1;grid-row:auto;justify-self:start;font-size:13px!important}
 .world.u-b.mini-large .ub-caption p{font-size:13px;min-height:0}
 .world.u-b.mini-large .u-footnote{grid-column:2/5;margin-inline:0}
 .world.u-c.mini-large .uc-heading{position:relative;inset:auto;width:auto;margin:35px 6% 24px}
 .world.u-c.mini-large .uc-heading h3{font-size:clamp(42px,7vw,66px)}
 .world.u-c.mini-large .uc-heading p{font-size:13px;margin-top:18px}
 .world.u-c.mini-large .uc-filter{position:relative;inset:auto;width:auto;margin:0 6% 20px;flex-wrap:wrap;gap:8px}
 .world.u-c.mini-large .uc-filter button{min-height:44px;font-size:13px}
 .world.u-c.mini-large .uc-products{position:relative;inset:auto;margin:0 6%;height:auto;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;gap:12px}
 .world.u-c.mini-large .uc-product{min-height:140px;flex-direction:column}
 .world.u-c.mini-large .uc-product .u-image{width:100%;height:110px;flex:none}
 .world.u-c.mini-large .uc-product>span{padding:12px}
 .world.u-c.mini-large .uc-product b{font-size:18px}
 .world.u-c.mini-large .uc-product small{font-size:10px}
 .world.u-c.mini-large .uc-bottom{position:relative;inset:auto;margin:20px 6% 0;font-size:11px;gap:12px}
 .world.u-c.mini-large .uc-saved{font-size:12px!important;min-height:44px}
 .world.u-d.mini-large .ud-title{position:relative;inset:auto;margin:30px 6%;max-width:none}
 .world.u-d.mini-large .ud-title h3{font-size:clamp(40px,7vw,70px)}
 .world.u-d.mini-large .ud-days{position:relative;inset:auto;margin:0 6% 30px;width:auto;justify-content:flex-start}
 .world.u-d.mini-large .ud-days button{min-width:55px}
 .world.u-d.mini-large .ud-story{position:relative;inset:auto;margin:0 6%;min-height:230px;padding:24px}
 .world.u-d.mini-large .ud-story p{font-size:14px;min-height:0}
 .world.u-d.mini-large .ud-story button{min-height:44px}
 .world.u-e.mini-large .ue-progress{position:relative;inset:auto;margin:22px 6%}
 .world.u-e.mini-large .ue-question{position:relative;inset:auto;margin:0 6%;padding:0}
 .world.u-e.mini-large .ue-question h3,.world.u-e.mini-large .ue-question[data-u-step="1"] h3{font-size:clamp(34px,6vw,60px);max-width:none}
 .world.u-e.mini-large .ue-answers,.world.u-e.mini-large .ue-question[data-u-step="1"] .ue-answers{gap:10px;margin-top:24px}
 .world.u-e.mini-large .ue-answers button>img{height:120px}
 .world.u-e.mini-large .ue-answers button>.world-age-name{font-size:14px;margin:9px 10px 0;flex-wrap:wrap}
 .world.u-e.mini-large .ue-answers button>small{font-size:10px;margin:0 10px}
 .world.u-e.mini-large .ue-question>.u-link{min-height:44px;font-size:13px}
 .world.u-e.mini-large .world-path{position:relative;inset:auto;margin:30px 6%}
 .world.u-e.mini-large .ue-disclaimer{position:relative;inset:auto!important;margin:20px 6%;padding-bottom:16px;font-size:10px!important}
 .world.u-e.mini-large .world-result-art{position:relative;inset:auto;float:right;width:36%;height:180px;margin:0 0 15px 16px;transform:rotate(4deg)}
 .world.u-e.mini-large .ue-question[data-u-step="2"] h3,.world.u-e.mini-large .ue-question[data-u-step="2"]>p{max-width:none}
 .world.u-e.mini-large .ue-reason{clear:both;max-width:none}
 .world.u-e.mini-large .ue-question[data-u-step="2"] .u-primary{min-height:44px}
 .world.u-f.mini-large .uf-title{position:relative;inset:auto;margin:26px 6% 20px;display:block}
 .world.u-f.mini-large .uf-title h3{font-size:clamp(34px,5vw,60px);max-width:none}
 .world.u-f.mini-large .uf-title p{font-size:13px;max-width:300px}
 .world.u-f.mini-large .uf-stage{position:relative;inset:auto;width:90%;margin:0 5% 24px}
 .world.u-f.mini-large .uf-caption{position:relative;inset:auto;margin:0 6% 18px;gap:12px}
 .world.u-f.mini-large .uf-caption h4{font-size:25px}
 .world.u-f.mini-large .uf-note{position:relative;inset:auto;margin:0 6% 18px;font-size:13px!important;min-height:0}
 .world.u-f.mini-large .uf-action{position:relative;inset:auto;margin:0 6%!important;font-size:13px!important;min-height:44px!important}
}
@media(max-width:500px){
 .world.mini-large .world-edition{display:none!important}
 .world.u-a.mini-large .u-header>b{margin-right:auto}
 .world.u-a.mini-large .ua-photo{height:auto;display:flex;flex-direction:column}
 .world.u-a.mini-large .ua-photo>.u-image{position:relative;width:100%;height:260px;object-position:50% 40%}
 .world.u-a.mini-large .ua-title{position:relative;inset:auto;width:auto;margin:26px 6%}
 .world.u-a.mini-large .ua-title h3{font-size:38px}
 .world.u-a.mini-large .ua-title>small{margin-bottom:12px}
 .world.u-a.mini-large .world-intro{font-size:14px}
 .world.u-a.mini-large .ua-result h4{font-size:23px}
 .world.u-a.mini-large .ua-result{flex-wrap:wrap}
 .world.u-a.mini-large .ua-result .u-primary{min-height:44px}
 .world.u-c.mini-large .u-header{gap:6px;padding-inline:5%!important}
 .world.u-c.mini-large .u-header>b{font-size:23px}
 .world.u-c.mini-large .world-bookmark{font-size:10px;flex-shrink:1}
 .world.u-c.mini-large .u-menu-toggle{font-size:10px!important;gap:8px;padding-inline:0!important;white-space:nowrap}
 .world.u-e.mini-large .world-guide-mark{font-size:28px}
 .world.u-e.mini-large .u-header{gap:8px}
 .world.u-e.mini-large .u-header>b{font-size:24px}
 .world.u-e.mini-large .u-menu-toggle{font-size:10px!important;padding-inline:9px!important;gap:6px}
 .world.u-b.mini-large .ub-parts button{grid-template-columns:minmax(0,1fr) 16px;padding:8px 6px}
 .world.u-b.mini-large .world-part-thumb{display:none}
 .world.u-b.mini-large .ub-parts button small,.world.u-b.mini-large .ub-parts button span{grid-column:1}
 .world.u-b.mini-large .ub-parts button>i{grid-column:2}
 .world.u-b.mini-large .ub-parts button>i{font-size:16px}
 .world.u-e.mini-large .ue-answers button>.world-age-name{font-size:12px;margin-inline:8px}
 .world.u-e.mini-large .ue-answers button>img{height:90px}
 .world.u-e.mini-large .ue-answers button>small{margin-inline:8px}
 .world.u-e.mini-large .world-result-art{float:none;width:65%;height:170px;margin:20px auto;transform:none}
 .world.u-f.mini-large .u-menu-toggle{padding-inline:12px!important;gap:8px}
 .world.u-f.mini-large .u-menu-toggle>span{font-size:10px}
 .world.u-f.mini-large .uf-title h3{font-size:clamp(30px,8vw,38px)}
 .world.mini-large .mc-album{grid-template-columns:32% minmax(0,1fr);gap:15px}
 .world.mini-large .mc-album figcaption{font-size:16px;padding:35px 6px 16px}
 .world.mini-large .u-sheet .mc-album h4{font-size:22px}
 .world.mini-large .mc-book{grid-template-columns:1fr 1fr}
 .world.mini-large .mc-book-page{padding:20px 12px}
 .world.mini-large .mc-book-chapter em{font-size:26px}
 .world.mini-large .mc-book-cover>span{padding:15px 10px}
 .world.mini-large .mc-book-cover b{font-size:18px}
 .world.mini-large .mc-book{margin-inline:0}
 .world.mini-large .mc-book-cover small{overflow-wrap:anywhere}
 .world.mini-large .mc-day-center{inset:68px auto auto 50%;width:76px;height:90px;transform:translateX(-50%)}
 .world.mini-large .mc-room-map button{padding:6px;min-height:40px;font-size:10px}
 .world.mini-large .mc-room-map button span{font-size:8px}
}
@media(max-height:600px){
 .gallery-dialog-footer{padding:10px 18px;gap:10px}
 .gallery-dialog-footer p{font-size:11px}
 .gallery-dialog-footer small{font-size:9px}
 .gallery-dialog-footer .gallery-try{font-size:11px}
 .gallery-dialog .concept-toolbar{padding:10px 18px}
 .gallery-dialog .concept-toolbar h2{font-size:20px}
 .concept-dialog{max-height:calc(100dvh - 16px)}
 .concept-dialog-bottom>p{font-size:9px}
}
@media(min-width:701px) and (max-height:600px){
 .gallery-dialog-footer{flex-direction:row}
 .gallery-dialog-footer .gallery-try{width:auto}
}
@media(max-width:380px){
 .world.mini-large .mc-album figcaption{font-size:14px;padding-inline:4px}
 .world.mini-large .mc-book-cover b{font-size:14px}
 .world.mini-large .mc-book-cover>span{padding-inline:8px}
}
