/* The homepage flex column must give its album a full container width. */
.overview-practice>.practice-photo-section{width:100%}
.spatial-album{width:100%;min-width:0;color:#142b50;--album-time:6000ms}
.spatial-heading{position:relative;isolation:isolate;display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:160px;padding:12px 0 22px}
.spatial-album .spatial-title{font-family:"Noto Serif SC","Songti SC","STSong","SimSun",serif;font-size:clamp(44px,5.8vw,82px);font-weight:700;line-height:1.15;letter-spacing:-.045em;margin:0;color:#112747}
.spatial-title:after{content:"";display:block;width:55px;height:3px;margin-top:23px;background:#0f62d6}
.spatial-kicker{display:block;font-size:11px;letter-spacing:.32em;color:#6483a9;margin-top:15px}
.spatial-heading>p{font-size:12px;line-height:1.9;color:#6482a6;text-align:right;z-index:1;margin:0 3px 0 0;max-width:260px}
.spatial-heading>p span{color:#8aa0bb;font-size:11px}
.spatial-watermark{position:absolute;right:8%;top:-7px;z-index:-1;font-family:"Segoe UI",sans-serif;font-size:clamp(120px,20vw,280px);font-weight:650;letter-spacing:-.04em;line-height:1;color:transparent;-webkit-text-stroke:1px #dce8f9;user-select:none;pointer-events:none}
.spatial-scene{display:grid;grid-template-columns:minmax(0,1fr) 62px;gap:21px;align-items:center}
.spatial-stage{position:relative;isolation:isolate;height:clamp(390px,41vw,535px);perspective:1700px;overflow:hidden;touch-action:pan-y pinch-zoom;user-select:none;background:radial-gradient(ellipse at 50% 92%,#dae7f338,transparent 66%)}
.spatial-stage:after{content:"";position:absolute;z-index:-1;left:5%;right:5%;bottom:10px;height:70px;background:radial-gradient(ellipse,#a4bdd926,transparent 68%);pointer-events:none}
.spatial-card{display:block;position:absolute;left:50%;top:50%;width:46%;height:82%;margin:0;padding:5px;border:1px solid #dae5f2;background:#fff;color:white;cursor:pointer;transform:translate(-50%,-50%) rotateY(-10deg) rotateZ(-1.5deg);transform-origin:center;box-shadow:0 20px 32px -21px #163e7147;overflow:hidden;backface-visibility:hidden;transition:left .8s cubic-bezier(.22,.72,.18,1),width .8s cubic-bezier(.22,.72,.18,1),height .8s cubic-bezier(.22,.72,.18,1),transform .8s cubic-bezier(.22,.72,.18,1),opacity .55s ease,visibility .55s ease;z-index:30}
.spatial-card img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none}
.spatial-card.is-portrait[data-position="0"] img{object-fit:contain;background:#edf3fb}
.spatial-card:after{content:"";position:absolute;left:5px;right:5px;bottom:5px;height:90px;background:linear-gradient(transparent,#102c52b8);pointer-events:none}
.spatial-card[data-position="-1"]{left:27%;width:21%;height:79%;transform:translate(-50%,-50%) rotateY(-16deg) rotateZ(1.5deg) translateZ(-35px);z-index:20;opacity:.95}
.spatial-card[data-position="1"]{left:76%;width:20%;height:73%;transform:translate(-50%,-50%) rotateY(16deg) rotateZ(-1.5deg) translateZ(-45px);z-index:20;opacity:.95}
.spatial-card[data-position="-2"]{left:9%;width:17%;height:61%;transform:translate(-50%,-50%) rotateY(-21deg) rotateZ(2deg) translateZ(-70px);z-index:10;opacity:.84}
.spatial-card[data-position="2"]{left:93%;width:16%;height:61%;transform:translate(-50%,-50%) rotateY(21deg) rotateZ(-2deg) translateZ(-70px);z-index:10;opacity:.84}
.spatial-card[data-position="left"]{left:-12%;width:16%;height:52%;transform:translate(-50%,-50%) rotateY(-25deg);opacity:0;visibility:hidden;z-index:0;pointer-events:none}
.spatial-card[data-position="right"]{left:112%;width:16%;height:52%;transform:translate(-50%,-50%) rotateY(25deg);opacity:0;visibility:hidden;z-index:0;pointer-events:none}
.spatial-card[data-position="0"]{cursor:zoom-in}
.spatial-card-label{position:absolute;z-index:1;left:18px;right:12px;bottom:20px;text-align:left;font-size:13px;font-weight:650;line-height:1.6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 8px #08152a55}
.spatial-card[data-position="0"] .spatial-card-label{font-size:17px;bottom:26px;right:104px}
.spatial-card[data-position="0"] .spatial-card-label:after{content:"";display:block;width:38px;height:3px;background:#4f9bff;margin-top:9px}
.spatial-zoom{display:none;position:absolute;z-index:1;right:15px;bottom:27px;border:1px solid #ffffff67;padding:7px 10px;font-size:10px;background:#143c6580}
.spatial-card[data-position="0"] .spatial-zoom{display:block}
.spatial-card:hover{filter:brightness(1.025)}
.album-filmstrip{display:flex;flex-direction:column;gap:8px;max-height:370px;overflow-y:auto;overflow-x:hidden;padding:3px;scrollbar-width:thin;scrollbar-color:#adc9ec transparent;overscroll-behavior:contain}
.album-thumb{position:relative;flex:0 0 46px;width:54px;height:46px;border:2px solid transparent;padding:2px;background:#fff;opacity:.62;cursor:pointer;transition:opacity .25s,border-color .25s;overflow:hidden}
.album-thumb img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
.album-thumb span{position:absolute;right:4px;bottom:4px;padding:2px 3px;font-size:8px;line-height:1;background:#1029519c;color:white;pointer-events:none}
.album-thumb:hover,.album-thumb.is-current{opacity:1}
.album-thumb.is-current{border-color:#1468d5}
.spatial-timeline{position:relative;height:87px;margin:0 80px 0 0;isolation:isolate}
.spatial-timeline svg{position:absolute;width:100%;height:44px;left:0;top:0;overflow:visible;pointer-events:none}
.spatial-timeline path{fill:none;stroke:#81aff0;stroke-width:1;vector-effect:non-scaling-stroke}
.spatial-point{position:absolute;top:21px;left:50%;width:32px;height:28px;padding:0;border:0;background:transparent;color:#6b87aa;cursor:pointer;transform:translateX(-50%)}
.spatial-point[data-album-point="-2"]{left:6%;top:2px}.spatial-point[data-album-point="-1"]{left:28%;top:18px}.spatial-point[data-album-point="1"]{left:72%;top:18px}.spatial-point[data-album-point="2"]{left:94%;top:2px}
.spatial-dot{display:block;width:7px;height:7px;border-radius:50%;margin:8px auto;background:#a8c9f3;transition:background .3s,box-shadow .3s}
.spatial-point.is-current .spatial-dot{width:10px;height:10px;margin:7px auto;background:#0f62d6;border:2px solid white;box-shadow:0 0 0 3px #dcecff}
.spatial-point-label{position:absolute;top:32px;left:50%;transform:translateX(-50%);max-width:145px;width:max-content;font-size:11px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.spatial-point.is-current .spatial-point-label{color:#0e62ce;font-weight:700}
.spatial-point[hidden]{display:none}
.album-caption-row{display:grid;grid-template-columns:120px minmax(0,1fr) 120px;gap:18px;align-items:center;margin-right:80px;padding:7px 0 18px;min-height:102px}
.spatial-current{text-align:center;min-width:0}
.album-count{font-size:10px;letter-spacing:.16em;color:#6c91bf;margin:0 0 8px}
.spatial-album .album-caption-row h3{font-size:20px;font-weight:650;letter-spacing:-.035em;line-height:1.5;margin:0;color:#173b70;overflow-wrap:anywhere}
.album-description{font-size:12px;color:#6e8bac;margin:6px 0 0;min-height:18px;overflow-wrap:anywhere}
.spatial-text-control{color:#526f93;border:0;background:transparent;padding:12px 5px;font-size:12px;letter-spacing:.04em;min-height:44px;cursor:pointer;text-align:left;display:flex;align-items:center;gap:13px}
.spatial-text-control[data-album-next]{text-align:right;justify-content:flex-end}
.spatial-text-control[data-album-previous]:before,.spatial-text-control[data-album-next]:after{content:"";width:31px;height:1px;background:#96b9e9;transition:background .2s}
.spatial-text-control:hover{color:#0f62d6}
.spatial-text-control:hover:before,.spatial-text-control:hover:after{background:#0f62d6}
.spatial-text-control:disabled{opacity:.3;cursor:default}
.spatial-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #d9e5f4;padding:17px 0 0;font-size:10px;color:#829ab6}
.spatial-bottom a{color:#2d70c4;border-bottom:1px solid #aecbf0;padding-bottom:4px}
.spatial-card:focus-visible{outline:3px solid #387dd7;outline-offset:-4px}
.album-thumb:focus-visible,.spatial-point:focus-visible,.spatial-text-control:focus-visible{outline:2px solid #387dd7;outline-offset:2px}
.album-live.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.album-lightbox{box-sizing:border-box;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:22px 30px;background:#08172c;color:#eaf3ff;border:0;overflow:auto}
.album-lightbox::backdrop{background:#08172cf5;backdrop-filter:blur(12px)}
.album-lightbox[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:16px;animation:album-dialog-in .25s ease-out}
.album-lightbox-header{display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:.1em}
.album-lightbox-header button,.album-controls button{background:#112b4a;border:1px solid #395573;color:#eaf3ff;padding:12px 18px;font:inherit;font-size:12px;min-height:44px;cursor:pointer}
.album-lightbox-frame{min-height:0;display:grid;place-items:center;touch-action:pan-y pinch-zoom}
.album-lightbox-frame img{width:100%;height:100%;min-height:0;max-height:100%;object-fit:contain}
.album-lightbox-footer{display:flex;justify-content:space-between;gap:20px;align-items:center}
.album-lightbox-footer h3{font-size:19px;margin:0 0 6px}
.album-lightbox-footer p{font-size:12px;color:#9cb6d6;margin:0}
.album-controls{display:flex;gap:10px;flex-shrink:0}
.album-controls button:disabled{opacity:.35;cursor:default}
html.album-open{overflow:hidden}
.spatial-gallery-page{padding-top:30px}
.spatial-gallery-return{display:flex;justify-content:flex-end;margin-bottom:5px;font-size:11px}
@keyframes album-dialog-in{from{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}
@media(max-width:1000px){.spatial-scene{grid-template-columns:minmax(0,1fr) 54px;gap:12px}.album-thumb{width:46px;height:42px;flex-basis:42px}.spatial-stage{height:415px}.spatial-card-label{left:12px;font-size:11px}.spatial-card[data-position="0"] .spatial-card-label{font-size:14px}.spatial-watermark{font-size:190px;right:0}.spatial-timeline,.album-caption-row{margin-right:66px}.spatial-heading>p{max-width:210px;font-size:11px}}
@media(max-width:700px){.spatial-heading{min-height:134px;padding:16px 0 12px;align-items:flex-start;gap:12px}.spatial-album .spatial-title{font-size:46px}.spatial-title:after{margin-top:16px;width:40px}.spatial-kicker{font-size:9px;letter-spacing:.26em;margin-top:11px}.spatial-heading>p{margin-top:10px;text-align:right;font-size:9px;line-height:1.9;max-width:120px}.spatial-heading>p span{font-size:8px}.spatial-watermark{font-size:139px;top:49px;right:-4px;letter-spacing:-.08em}.spatial-scene{display:block}.spatial-stage{height:356px;margin:0 -8px;width:calc(100% + 16px);perspective:1200px}.spatial-card{width:78%;height:88%;padding:4px;transform:translate(-50%,-50%) rotateY(-3deg)}.spatial-card[data-position="-1"]{left:5%;width:28%;height:65%;transform:translate(-50%,-50%) rotateY(-20deg);opacity:.8}.spatial-card[data-position="1"]{left:95%;width:28%;height:65%;transform:translate(-50%,-50%) rotateY(20deg);opacity:.8}.spatial-card[data-position="-2"],.spatial-card[data-position="left"]{left:-26%;width:25%;height:53%;opacity:0;visibility:hidden;pointer-events:none}.spatial-card[data-position="2"],.spatial-card[data-position="right"]{left:126%;width:25%;height:53%;opacity:0;visibility:hidden;pointer-events:none}.spatial-card[data-position="-1"] .spatial-card-label,.spatial-card[data-position="1"] .spatial-card-label{display:none}.spatial-card[data-position="0"] .spatial-card-label{font-size:14px;left:13px;bottom:23px;right:90px}.spatial-zoom{font-size:9px;padding:6px 8px;right:12px;bottom:24px}.spatial-card[data-position="0"] .spatial-card-label:after{height:2px;margin-top:7px}.album-filmstrip{flex-direction:row;overflow-x:auto;overflow-y:hidden;max-height:none;gap:8px;padding:10px 2px 5px;scrollbar-width:none}.album-thumb{width:54px;height:44px;flex:0 0 54px;padding:2px}.album-thumb span{font-size:7px}.spatial-timeline{margin:14px 0 0;height:79px}.spatial-point[data-album-point="-2"],.spatial-point[data-album-point="2"]{display:none}.spatial-point[data-album-point="-1"]{left:16%;top:9px}.spatial-point[data-album-point="1"]{left:84%;top:9px}.spatial-point-label{max-width:100px;font-size:9px}.album-caption-row{grid-template-columns:64px minmax(0,1fr) 64px;gap:7px;margin:0;padding:8px 0 16px;min-height:106px}.spatial-text-control{font-size:10px;gap:6px;padding-inline:0}.spatial-text-control:before,.spatial-text-control:after{width:12px!important}.spatial-album .album-caption-row h3{font-size:15px;line-height:1.5}.album-count{font-size:8px;margin-bottom:6px}.album-description{font-size:10px;margin-top:5px;min-height:15px}.spatial-bottom{font-size:8px;gap:10px;line-height:1.7;padding-top:14px}.spatial-bottom a{white-space:nowrap}.album-lightbox{padding:18px 14px}.album-lightbox-footer{align-items:flex-start;flex-direction:column;gap:16px}.album-lightbox-footer h3{font-size:17px}.album-lightbox-header button{padding:10px 12px}.spatial-gallery-return{margin-bottom:10px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.spatial-card,.album-thumb,.spatial-dot{transition:none}.album-lightbox[open]{animation:none}}
