/* v10 — limestone, paper, bronze. Controls stay quieter than the room. */
:root{--ease-atelier:cubic-bezier(.22,1,.36,1);--control-paper:#f2eee4;--control-ink:#293a31}
.focused:has(#exhibit-card:not([hidden])) #detail:has(#project-picker:not([hidden])){visibility:visible}
/* Reading and discovery are available without judging tiny 3D labels. */
.gallery-walk{width:450px!important}#gallery-section{font-size:12px!important;min-width:0;flex:1}#all-projects{font-size:12px;min-width:62px;border-left:1px solid #a8b69f;border-radius:0}.header-title{font-size:10px!important}.room-current small{font-size:9px}.room-tabs button{font-size:13px!important}#project-picker button,.gallery-mode #project-picker button{font-size:13px!important}#exhibit-card p,.gallery-mode #exhibit-card p{font-size:13px!important;line-height:1.6}#exhibit-role,#exhibit-card small{font-size:10px!important}#exhibit-card button{font-size:13px!important}.intro .intro-description{font-size:14px!important}#balance-copy{font-size:13px!important}.balance-kicker,.balance-case small{font-size:9px!important}.balance-choices button,#balance-toggle,#balance-panda{font-size:12px!important}
#gallery-ending{position:absolute;left:28px;bottom:112px;z-index:8;width:290px;padding:22px 24px;background:#f1ede2f5;color:#344c3c;border:1px solid #c7cfbd;border-radius:9px;box-shadow:0 8px 28px #1c2d211a}#gallery-ending>span{font-size:9px;letter-spacing:.08em}#gallery-ending h2{font:400 31px/1.1 Georgia,serif;letter-spacing:-1px;margin:17px 0}#gallery-ending p{font-size:13px;line-height:1.65;color:#5b6854}#gallery-ending button{width:100%;min-height:46px;display:flex;align-items:center;justify-content:space-between;background:#354f3f;color:#f7f2e8;padding:0 14px;border-radius:6px;margin-top:18px;font-size:13px}
#project-index{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border:0;padding:0 4vw 35px;overflow-y:auto;background:#efede5;color:#283d30}#project-index::backdrop{background:#1e2e25c9}#project-index>header{position:sticky;inset:auto;top:0;z-index:2;height:auto;min-height:110px;padding:20px 0;background:#efede5f5;border-bottom:1px solid #bfc8b8;display:flex;align-items:center;justify-content:space-between;gap:20px;backdrop-filter:blur(12px)}#project-index header span{font-size:10px;letter-spacing:.12em}#project-index h2{font:400 clamp(30px,4vw,48px)/1.1 Georgia,serif;margin:8px 0 0;letter-spacing:-1.2px}#project-index-close{min-width:82px;min-height:44px;border:1px solid #a7b69c;border-radius:6px;font-size:13px;padding:8px 15px}.project-search{display:flex;align-items:center;gap:20px;margin:26px 0;font-size:13px}.project-search input{border:1px solid #b6c1ac;border-radius:6px;background:#f9f6ef;color:#344c3c;font:inherit;min-height:46px;max-width:420px;width:100%;padding:10px 15px}#project-index-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 23px}#project-index-grid button{position:relative;min-width:0;text-align:left;color:#344c3c;border:1px solid #bfc8b8;border-radius:8px;background:#f8f5ed;padding:0 0 18px;overflow:hidden}#project-index-grid img{width:100%;height:auto;aspect-ratio:1.6;object-fit:cover;display:block;margin-bottom:18px;border-bottom:1px solid #bfc8b8}#project-index-grid img[data-brand=true]{object-fit:contain;padding:30px;background:#f7f3e9}#project-index-grid strong{font:400 25px/1.15 Georgia,serif;display:block;padding:0 20px}#project-index-grid span{font-size:12px;display:block;margin-top:8px;padding:0 20px;color:#5b6952}#project-index-grid b{position:absolute;bottom:28px;right:20px;font-size:22px;font-weight:400}#project-index-grid button:hover{box-shadow:0 8px 22px #253c291f;transform:translateY(-3px)}#project-search-empty{font-size:16px;padding:40px 0}#project-index-grid button[hidden]{display:none}
.contact-dialog[data-kind=feedback] .contact-direct{display:none}.contact-dialog[data-kind=feedback] .letter-stage{height:150px}.contact-dialog[data-kind=feedback] .letter-envelope{background:#b8c4a7}.contact-dialog label,.contact-dialog .contact-intro,.contact-dialog textarea,.contact-dialog input{font-size:14px}.contact-dialog .contact-explain{font-size:12px;line-height:1.6}.contact-topics[hidden]{display:none!important}.contact-dialog .contact-topics button{font-size:12px;min-height:44px}.contact-dialog #contact-status{font-size:13px;line-height:1.6}
@media(max-width:760px){.gallery-walk{width:calc(100% - 30px)!important}#gallery-section{font-size:10px!important}#all-projects{min-width:49px;font-size:11px}.room-tabs button{font-size:11px!important}#project-picker button,.gallery-mode #project-picker button{font-size:11px!important}#balance-copy{font-size:12px!important}#gallery-ending{left:12px;right:12px;bottom:96px;width:auto;padding:16px 20px}#gallery-ending h2{font-size:27px;margin:12px 0}#gallery-ending p{font-size:12px}#gallery-ending button{margin-top:10px}#project-index{padding:0 18px 25px}#project-index>header{min-height:100px;gap:10px}#project-index header span{font-size:8px}#project-index h2{font-size:29px}#project-index-close{min-width:64px;padding:8px 10px;font-size:12px}.project-search{margin:18px 0;gap:12px;white-space:nowrap;font-size:12px}#project-index-grid{grid-template-columns:1fr;gap:20px}#project-index-grid strong{font-size:26px}.contact-dialog[data-kind=feedback] .letter-stage{height:120px}}
@media(max-height:540px) and (min-width:761px){#gallery-ending{left:auto;right:16px;bottom:85px;width:270px;padding:16px}#gallery-ending h2{font-size:24px}#gallery-ending p{font-size:11px}#project-index-grid{grid-template-columns:repeat(3,minmax(0,1fr))}#project-index-grid strong{font-size:19px}#project-index>header{min-height:85px}}
.viewer #viewer-copy,.viewer #viewer-counter,.viewer #viewer-credits dt,.viewer .viewer-shots button,.viewer-top button span{color:#58664f}.viewer .viewer-shots button{border-color:#bec5b5}.viewer .viewer-shots button[aria-pressed=true]{color:#f6f0e1}.viewer #viewer-link{background:#354f3f;color:#f7f1e5;border-radius:7px}.viewer #viewer-status{color:#f6efdf}.viewer .viewer-stage>button{border:1px solid #bbc4b4;min-width:44px;min-height:44px;width:44px;height:44px;border-radius:6px}.viewer .viewer-stage{grid-template-columns:50px minmax(0,1fr) 50px}
header{left:28px;right:28px;height:84px;border-bottom:1px solid #f1ebdc28}
#guide-open,.room-tabs,.room-tabs button,.enter,.personal-tabs button,.gallery-walk,#project-picker button{border-radius:8px}
header .wordmark{font-size:38px}.header-title{font-size:8px;letter-spacing:.15em}
#guide-open{background:#eee9dded;color:var(--control-ink);border:1px solid #ece7da70;padding:0 19px;box-shadow:0 3px 14px #17271a14}
.gallery-mode header{background:linear-gradient(#202f27dc,#202f278f);padding:0 18px;border-radius:0 0 10px 10px}.gallery-mode footer{background:transparent;box-shadow:none}
.room-navigation{height:88px;left:28px;right:28px;border:0}.room-tabs{padding:5px;background:#f2eee5f5;border:1px solid #c5c7b4;color:#435047;gap:4px;box-shadow:0 8px 28px #16241725}.room-tabs button{position:relative;border:0;padding:0 24px;gap:10px;font-size:12px;min-height:46px}.room-tabs button small{color:#808b7e}.room-tabs button[aria-pressed=true]{background:#324d3f;color:#f6f1e5;box-shadow:0 3px 8px #26362c22}.room-tabs button[aria-pressed=true] small{color:#c7d4bf}
#hint-toggle{width:46px;min-height:46px;justify-content:center;background:#ede9deeb;border:1px solid #d6d6c8;color:#334a3b;border-radius:50%;font-size:0}#hint-toggle span{font-size:22px}.room-current strong{font:400 14px/1.4 Georgia,serif}.room-current small{color:#d3d7c9}
.intro{bottom:152px;left:42px;max-width:235px}.intro h1{font-size:clamp(42px,4vw,62px);letter-spacing:-.055em}.intro .intro-description{font-size:12px;line-height:1.7}.intro .enter{margin-top:22px;padding:0 16px;min-height:48px;border:1px solid #d2d7c65c;background:#f2eee5;color:#33483a;width:205px;box-shadow:0 5px 22px #18362426}.intro .enter span{color:#677d5f}
button,a,select{touch-action:manipulation}button,a{transition:background-color .24s,color .24s,border-color .24s,box-shadow .32s,transform .36s var(--ease-atelier)}button:active{transform:scale(.975)}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid #c19b68;outline-offset:4px}
.gallery-walk{top:108px;bottom:auto;left:28px;width:330px;min-height:48px;background:#f3eee5f5;color:#34483b;border:1px solid #d0cbbd;box-shadow:0 5px 20px #263b2312;z-index:8;gap:4px}#gallery-section{color:#34483b;font-size:10px;letter-spacing:.05em}.gallery-walk button{color:#4c6650;border-radius:6px;font-size:22px}
.detail:has(#project-picker:not([hidden])),.focused .detail:has(#project-picker:not([hidden])),.gallery-mode .detail:has(#project-picker:not([hidden])){top:auto;bottom:105px;left:50%;width:min(650px,calc(100% - 64px));transform:translateX(-50%);padding:7px;background:#f1ede4f2;border:1px solid #c8c7b7;border-radius:10px;box-shadow:0 9px 30px #263b2326;z-index:8}
#project-picker,.gallery-mode #project-picker{flex-direction:row;gap:4px;width:100%;max-width:100%;margin:0;overflow:visible}#project-picker button,.gallery-mode #project-picker button{position:relative;flex:1;min-width:0;min-height:58px;padding:8px 10px;font-size:11px;line-height:1.3;border:0;color:#33483b;background:transparent;gap:10px;box-shadow:none}#project-picker img,.gallery-mode #project-picker img{display:block;flex:0 0 48px;width:48px;height:32px;object-fit:cover;filter:saturate(.85);border-radius:3px}#project-picker span{color:#879978;margin-left:auto;font-size:15px}#project-picker button[data-hover=true]{background:#dce3d4;box-shadow:inset 0 0 0 1px #b5c6a5}
#exhibit-card,.walking #exhibit-card{top:108px;right:28px;left:auto;bottom:auto;width:272px;padding:19px 22px;background:#f2eee5f5;border:1px solid #d0cbbd;border-radius:9px;box-shadow:0 8px 28px #182c1c18}#exhibit-card h2{font-size:29px;line-height:1.1;margin:12px 0}.gallery-mode #exhibit-card p{font-size:11px;line-height:1.6;color:#667361}#exhibit-card button{padding:10px 0 0;border-color:#b9c5ac;color:#39543b}#exhibit-card b{font-size:22px}
#scene-tooltip{border:1px solid #d4d2c0;border-radius:6px;padding:10px 15px;background:#f6f1e5;color:#39513e;box-shadow:0 6px 20px #1b302320;font-size:10px;letter-spacing:.025em;pointer-events:none}
#balance-panel{background:#f3efe6f7;border-color:#d2c9b8;border-radius:12px;padding:25px;box-shadow:0 14px 42px #10201526}#balance-title{font-size:32px;letter-spacing:-.9px}.balance-choices{background:#e8e5da;border-radius:7px;padding:4px;gap:3px}.balance-choices button{border:0;border-radius:5px}.balance-choices button[aria-pressed=true]{background:#405744;box-shadow:0 2px 8px #34452e26}
.personal-tabs{gap:6px;padding:5px;border:1px solid #cec9b5;background:#f2eee5ed;border-radius:10px;box-shadow:0 6px 22px #142c2021}.personal-tabs button{border:0;background:transparent;color:#465942;padding:0 16px}.personal-tabs button[aria-pressed=true]{background:#35523e;color:#f6f0df}
#studio-guide,#panda-chat,.contact-dialog{border-radius:12px;box-shadow:0 24px 100px #14261c4a}#studio-guide .guide-primary button{border-radius:7px}#tour-panel{background:#f2eee5f7;border-radius:10px;border:1px solid #cfc8b8}#tour-panel button{border-radius:6px}.tour-actions button:last-child{background:#334d3b;color:#f4efdf;padding:0 14px}
.viewer{background:#eeebe3;color:#2c3c31}.viewer::backdrop{background:#17241bbd;backdrop-filter:blur(6px)}.viewer-stage{background:#dedfd4}.viewer-stage img{box-shadow:0 18px 40px #1523191a;border-radius:4px}.viewer-shots{background:#eeebe3}.viewer-shots button{border-radius:5px;transition:background .25s,color .25s}.viewer-shots button[aria-pressed=true]{background:#354f3f;color:#f3eddd}.viewer-top,.viewer-bottom{background:#f4f0e8;border-color:#d1d0c0}.viewer-top button,.viewer-controls button{border-radius:6px;min-width:44px;min-height:44px}.viewer-bottom h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.7px}.viewer-link{border-radius:7px}.viewer-thumbnails button{border-radius:5px;overflow:hidden}
#travel-track{position:absolute;bottom:0;left:0;right:0;height:2px;z-index:30;pointer-events:none;opacity:0;transition:opacity .3s}#travel-track i{display:block;height:100%;width:100%;background:#d5bd8c;transform:scaleX(var(--travel-progress,0));transform-origin:left}.is-travelling #travel-track{opacity:.8}
@media(hover:hover) and (pointer:fine){#guide-open:hover,.intro .enter:hover{background:#fffaf0;transform:translateY(-2px);box-shadow:0 8px 26px #162b2526}.room-tabs button:not([aria-pressed=true]):hover,.gallery-walk button:hover,.personal-tabs button:hover{background:#dce3d5;color:#2e4637;transform:translateY(-1px)}#project-picker button:hover{background:#dfe5d8;transform:translateY(-2px)}#project-picker button:hover img{filter:saturate(1)}.panda-action:hover,#balance-toggle:hover,#balance-panda:hover{color:#a5753d;transform:translateX(3px)}.viewer-controls button:hover,.viewer-top button:hover{background:#dae1d2}.viewer-link:hover{background:#4a644c;transform:translateY(-2px)}}
@keyframes atelier-panel-in{from{opacity:0;translate:0 9px}to{opacity:1;translate:0 0}}@media(prefers-reduced-motion:no-preference){#balance-panel:not([hidden]),#exhibit-card:not([hidden]),#tour-panel:not([hidden]),.personal-tabs{animation:atelier-panel-in .42s var(--ease-atelier) both}}
@media(max-width:760px){
 header{left:15px;right:15px;height:72px;gap:10px}.gallery-mode header{padding:0 10px}#guide-open{padding:0 11px;gap:12px;font-size:10px;min-height:44px}.header-title{display:none}.wordmark{font-size:31px!important}.room-navigation{left:12px;right:12px;height:82px;padding:0!important;gap:7px}.room-tabs{padding:4px;gap:2px}.room-tabs button{font-size:10px;padding:0 7px;min-height:46px;gap:3px}.room-tabs button small{display:none}#hint-toggle{flex:0 0 44px;width:44px;height:44px;min-width:44px}
 .intro{left:24px;bottom:135px;max-width:175px}.intro h1{font-size:36px!important}.intro .enter{width:174px;font-size:10px;padding:0 12px;min-height:46px;margin-top:16px}.gallery-walk{top:87px;bottom:auto;left:15px;width:calc(100% - 30px);max-width:none;min-height:46px}.gallery-walk button{min-height:44px}#gallery-section{font-size:9px}
 .detail:has(#project-picker:not([hidden])),.focused .detail:has(#project-picker:not([hidden])),.gallery-mode .detail:has(#project-picker:not([hidden])){bottom:94px;left:12px;width:calc(100% - 24px);padding:5px;transform:none;border-radius:9px}#project-picker button,.gallery-mode #project-picker button{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:65px;font-size:9px;gap:7px;padding:6px 8px;overflow-wrap:anywhere}#project-picker img,.gallery-mode #project-picker img{display:block;flex-basis:auto;width:36px;height:22px}#project-picker span{position:absolute;right:7px;top:9px;font-size:12px}
 .gallery-mode #exhibit-card{display:none!important}.walking #exhibit-card{display:block!important;top:87px;left:15px;right:15px;width:auto}#exhibit-card button{float:none;width:100%;max-width:none}#exhibit-card h2{display:block}.discovery-tip{display:none}.personal-tabs{top:86px;left:14px;right:14px;padding:4px;gap:2px}.personal-tabs button{padding:0 10px;font-size:9px}
 #balance-panel{left:12px;right:12px;bottom:96px;width:auto;padding:16px 19px;border-radius:10px}#balance-title{font-size:27px;margin-top:7px}.balance-case strong{font-size:16px}#balance-copy{font-size:10px;line-height:1.6}.viewer-bottom h2{font-size:29px}.viewer-link{min-height:44px}.viewer-stage{padding:12px 8px}
}
@media(max-height:540px) and (min-width:761px){header{height:58px}.gallery-walk{top:72px;width:280px}.room-navigation{height:68px}.detail:has(#project-picker:not([hidden])),.focused .detail:has(#project-picker:not([hidden])),.gallery-mode .detail:has(#project-picker:not([hidden])){bottom:80px;width:min(560px,calc(100% - 40px))}#exhibit-card{display:none!important}#balance-panel{top:76px;bottom:82px;width:270px;left:auto;right:14px;overflow:auto;padding:14px}#balance-title{font-size:25px}.intro{bottom:95px}.intro h1{font-size:38px}.intro-description{display:none}}
@media(prefers-reduced-motion:reduce){button,a,select,.viewer-stage img{transition:none!important}button:hover,a:hover,button:active{transform:none!important}#travel-track{display:none}.personal-tabs{animation:none}}
@media(max-width:760px){#gallery-ending{padding:14px 18px}#gallery-ending h2,#gallery-ending p{display:none}#gallery-ending>span{font-size:10px}#gallery-ending button{margin-top:10px}}
