/* Each space owns its scroll. The document never grows when a space is added. */
.space-shell{--shell-header:88px;width:100%;height:100dvh;overflow:hidden!important}
.space-shell #space-pages{position:fixed;inset:var(--shell-header) 0 auto;height:calc(var(--space-height,100dvh) - var(--shell-header));overflow:hidden}
.space-shell .space-panel{position:absolute;inset:0;width:100%;height:100%;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin;scroll-padding-block:28px;isolation:isolate}
.space-shell .space-panel[hidden]{display:none!important}
.space-shell>.masthead{position:fixed;inset:0 4.6% auto;height:var(--shell-header);z-index:40;border-color:#b5d5dc20;color:#dce8e6;background:linear-gradient(#080d10f5,#080d10d9);gap:32px}
.space-shell .masthead-right{gap:36px}.space-nav{display:flex;gap:30px;align-items:center}.space-nav a{position:relative;display:flex;align-items:center;min-height:44px;color:#8fa3a7;font-size:12px;letter-spacing:.035em;white-space:nowrap;transition:color .3s}
.space-nav a:after{content:"";position:absolute;bottom:6px;left:0;right:0;height:1px;background:#c0e9e8;transform:scaleX(0);transition:transform .4s;transform-origin:left}
.space-nav a[aria-current=page],.space-nav a:hover{color:#ecf5ef}.space-nav a[aria-current=page]:after{transform:scaleX(1)}
.space-shell .identity{font-size:10px;letter-spacing:.15em}.space-shell .language-control:before{left:-18px}
.space-shell .hero{height:100%;min-height:0}.space-shell .hero-copy{top:29%}.space-shell .hero-boundary{display:none}.space-shell .hero-bottom{bottom:30px}
.space-shell .spectral-section{padding:28px 6.2% 30px}.space-shell .section-rule{margin-bottom:20px}
.space-shell .about{display:flex;flex-direction:column}.space-shell .about-layout{flex:1;width:100%;gap:5%;min-height:460px}.space-shell .about-figure{height:clamp(300px,62dvh,660px)}
.space-shell .about-copy{padding-block:20px}.space-shell .collection{display:grid;grid-template-rows:auto auto minmax(240px,1fr) auto auto;min-height:0}
.space-shell .collection-heading{width:100%;align-items:center}.space-shell .collection-heading .eyebrow{margin-bottom:14px}.space-shell .collection h2{font-size:clamp(38px,4.2vw,62px)}
.space-shell .carousel-stage{height:100%;min-height:240px;margin-top:0;--case-size:clamp(190px,31dvh,310px)}.space-shell .collection-console{margin:0}.space-shell .record-meta h3{font-size:clamp(25px,3.5dvh,39px)}
.space-shell .drag-hint{margin:12px auto 0}.space-shell .questions{padding:32px 6.2% 0}.space-shell .questions-heading{align-items:center}.space-shell .question-field{height:clamp(210px,34dvh,370px);margin-top:18px}
.space-shell .question-bottom{margin-top:0;padding-top:24px;gap:7%}.space-shell .questions .site-footer{padding:28px 0;margin-top:25px}.space-arriving{animation:space-arrival .65s cubic-bezier(.2,.7,.2,1) both}
@keyframes space-arrival{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
/* Portrait layouts recompose the scene; they are never a shrunken desktop canvas. */
@media(max-width:760px), (orientation:portrait) and (max-width:1100px){
 .space-shell{--shell-header:118px}.space-shell>.masthead{left:6%;right:6%;height:var(--shell-header);display:grid;grid-template-columns:1fr auto;align-content:center;gap:0 12px;padding-top:env(safe-area-inset-top,0px)}
 .space-shell .identity{grid-column:1;grid-row:1;font-size:9px;gap:10px;min-height:43px}.space-shell .masthead-right{display:contents}.space-shell .language-control{grid-column:2;grid-row:1;justify-self:end}.space-shell .language-control:before{display:none}
 .space-nav{grid-column:1/-1;grid-row:2;justify-content:space-between;gap:12px}.space-nav a{font-size:12px;min-height:43px}.space-nav a:after{bottom:5px}
 .space-shell .hero-copy,.space-shell:lang(zh) .hero-copy{top:22%;left:7%;max-width:87%}.space-shell .hero h1{font-size:clamp(42px,10vw,78px)}.space-shell .hero-bottom{bottom:24px;gap:20px}.space-shell .touch-hint{font-size:11px}
 .space-shell .spectral-section{padding:28px 7% 36px}.space-shell .about-layout{display:flex;flex-direction:column;min-height:0;gap:12px}.space-shell .about-copy{order:1;padding:0 0 25px;max-width:580px;align-self:center;width:100%}.space-shell .about-figure{order:0;flex:none;width:116%;height:clamp(245px,36dvh,440px);margin:-10px -8% 0}.space-shell .about-copy h2{font-size:clamp(40px,7vw,65px);max-width:100%}
 .space-shell .about-copy .eyebrow{margin-bottom:15px}.space-shell .about-copy>p:not(.eyebrow){max-width:520px}.space-shell .collection{display:flex;flex-direction:column}.space-shell .collection-heading{display:block}.space-shell .collection-description{margin-top:14px;max-width:400px}.space-shell .collection h2{font-size:clamp(36px,6.5vw,56px)}
 .space-shell .carousel-stage{height:clamp(290px,44dvh,510px);min-height:290px;flex:1 0 auto;margin:5px -8.2% 0;--case-size:clamp(200px,32dvh,285px)}.space-shell .collection-console{flex:none}.space-shell .record-meta h3{font-size:30px}.space-shell .drag-hint{flex:none;margin-top:18px}
 .space-shell .questions{padding:30px 7% 0}.space-shell .questions-heading{display:block}.space-shell .questions-heading>p{margin-top:16px}.space-shell .question-bottom{grid-template-columns:1fr;gap:15px}.space-shell .question-field{height:300px}.space-shell .question-form{padding-bottom:12px}.space-shell .question-form textarea{resize:vertical}
}
@media(max-height:650px) and (orientation:landscape){
 .space-shell{--shell-header:68px}.space-shell .hero h1{font-size:clamp(36px,5.5vw,66px)}.space-shell .hero-copy{top:17%}.space-shell .hero .eyebrow{margin-bottom:12px}.space-shell .hero-description{margin-top:12px}.space-shell .hero-copy:after{display:none}.space-shell .hero-bottom{bottom:16px}.space-shell .material-studies>.micro-label{display:none}.space-shell .hero .touch-hint{display:none}
 .space-shell .about-layout{min-height:400px}.space-shell .collection{display:block}.space-shell .carousel-stage{height:290px;--case-size:210px}.space-shell .collection-heading .eyebrow{margin-bottom:8px}
}
@media(prefers-reduced-motion:reduce){.space-arriving{animation:none}}
.space-shell .question-carriers{overflow-y:hidden}
.space-shell .question-field{margin-inline:-6.2vw}
@media(max-width:760px), (orientation:portrait) and (max-width:1100px){.space-shell .question-field{margin-inline:-7vw}}
.space-shell .record-meta{width:min(100%,440px)}
html[lang^=zh] .space-nav{font-family:var(--cn)}
@media(max-width:600px){.space-shell .hero-copy,.space-shell:lang(zh) .hero-copy{top:15%}}
@media(max-width:600px) and (max-height:650px){
 .space-shell .hero-copy,.space-shell:lang(zh) .hero-copy{top:8%}.space-shell .hero h1{font-size:clamp(32px,9.8vw,40px)}.space-shell .hero .eyebrow{margin-bottom:12px;font-size:10px}.space-shell .hero-description{margin-top:14px;font-size:12px;max-width:88%}.space-shell .hero-copy:after{display:none}.space-shell .hero-bottom{bottom:16px;gap:10px}.space-shell .material-studies>.micro-label{display:none}.space-shell .scroll-cue{font-size:10px}.space-shell .touch-hint{font-size:10px}
 .space-shell .hero-bottom{padding-top:12px;background:linear-gradient(transparent,#080d10c9 55%)}.space-shell .scroll-cue{white-space:nowrap}.space-shell .scroll-cue>span:last-child{font-size:11px}.space-shell .touch-hint{max-width:95px}
}
@media(max-width:760px) and (orientation:landscape) and (max-height:650px){
 .space-shell>.masthead{display:flex;align-items:center;align-content:normal;gap:18px;padding-top:0}.space-shell .masthead-right{display:flex;gap:14px}.space-shell .identity>span:last-child{display:none}.space-shell .identity{min-height:44px}.space-nav{gap:18px}.space-nav a{font-size:11px}.space-shell .language-control{display:flex}
}
/* Route headings receive programmatic focus for reading order, without a decorative focus box. */
.space-shell #space-pages :is(h1,h2)[tabindex="-1"]:focus{outline:none}
