:root{--ink:#173d52;--muted:#6d8188;--paper:#f6f3ec;--line:#173d5221;--serif:'Songti SC','STSong','Noto Serif SC',serif;--ease:cubic-bezier(.16,1,.3,1);font-family:'PingFang SC','Microsoft YaHei',sans-serif;color:var(--ink);background:#102d3f;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer;border:0;color:inherit;background:none;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.32;cursor:default}button,a,summary,select{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible{outline:2px solid #caa963;outline-offset:5px}button,summary,a{transition:background .25s,color .25s,box-shadow .25s}button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}a{color:inherit;text-underline-offset:4px}img{display:block;max-width:100%;object-fit:contain}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}button h3{font-family:var(--serif)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
#panorama{position:fixed;inset:0;width:100%;height:100%;touch-action:none;cursor:grab}#panorama:active{cursor:grabbing}#scene-shade{position:fixed;inset:0;pointer-events:none;background:linear-gradient(180deg,#0925364d,transparent 28%,transparent 65%,#0925369e);transition:background .5s}.is-cover #scene-shade{background:linear-gradient(90deg,#0b2a41e8 0%,#0b2a41b3 35%,#0b2a412e 72%),linear-gradient(0deg,#0b2a417a,transparent 55%)}
.topbar{position:fixed;z-index:10;top:24px;left:34px;right:34px;display:flex;align-items:center;justify-content:space-between;gap:24px;color:#faf7ee}.brand{display:flex;gap:13px;align-items:center;padding:0;text-align:left;font-family:var(--serif);font-size:24px;letter-spacing:3px;text-shadow:0 2px 14px #16384f4d}.brand-mark{font-size:36px;font-family:serif;line-height:1;color:#e2c899}.brand small{display:block;margin-top:3px;font:10px/1.5 'PingFang SC',sans-serif;letter-spacing:3px;opacity:.65}.topbar nav{position:absolute;left:50%;transform:translateX(-50%);display:flex;gap:4px;padding:5px;background:#faf7efed;backdrop-filter:blur(16px);border:1px solid #ffffff70;border-radius:40px;box-shadow:0 6px 30px #102c3412;color:var(--ink)}.topbar nav button{height:43px;padding:0 22px;border-radius:28px;white-space:nowrap;font-size:15px;letter-spacing:1px}.topbar nav button>span{font:12px var(--serif);margin-right:9px;opacity:.55}.topbar nav button:hover{background:#173d5210}.topbar nav button.active{background:var(--ink);color:var(--paper);box-shadow:0 2px 8px #173d5228}.icon-button{width:45px;height:45px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;flex:none}.icon-button:hover{background:#173d520c}.topbar>.icon-button{border:1px solid #f7f4eb5c;background:#15334728;backdrop-filter:blur(12px)}.topbar>.icon-button:hover{background:#f7f4eb33}
.cover{position:fixed;left:9vw;top:50%;transform:translateY(-44%);z-index:2;color:#faf6ec}.eyebrow{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:3px;line-height:1.6}.cover .eyebrow{color:#d6c29e;margin-bottom:30px}.cover .eyebrow>span{width:36px;height:1px;background:currentColor}.cover h1{font-family:var(--serif);font-size:clamp(70px,6.7vw,125px);letter-spacing:.18em;line-height:1.15;margin-right:-.18em}.cover-subtitle{margin-top:24px;font:23px/1.6 var(--serif);letter-spacing:7px}.cover-copy{font-size:14px;letter-spacing:3px;opacity:.62;margin-top:12px}.primary-button{display:flex;align-items:center;justify-content:space-between;gap:65px;padding:0 26px;height:60px;margin-top:42px;background:var(--paper);color:var(--ink);font-size:17px;letter-spacing:3px;border-radius:3px;box-shadow:0 7px 30px #071e2b33;transition:transform .35s var(--ease),background .2s}.primary-button:hover{transform:translateX(6px);background:#fff}.primary-button svg{width:25px}.cover-index{display:flex;align-items:center;gap:16px;margin-top:54px;font-size:10px;letter-spacing:2px;opacity:.42}.cover-index i{width:16px;height:1px;background:currentColor}.cover-guide{position:fixed;right:12vw;bottom:-8vh;width:36vh;height:78vh;pointer-events:none;filter:drop-shadow(0 15px 25px #0c243c33)}.cover-guide img{height:100%;width:100%;object-fit:contain}.is-cover .topbar nav{opacity:0;pointer-events:none}
.room-intro{position:fixed;z-index:4;bottom:118px;left:38px;color:#faf6ed;pointer-events:none;text-shadow:0 2px 18px #0a2a3dc7}.room-intro .eyebrow{font-size:10px;letter-spacing:2px;opacity:.67;margin-bottom:8px}.room-intro h2{font:38px/1.3 var(--serif);letter-spacing:5px}#room-description{display:none}.exhibit-launch{position:fixed;z-index:5;right:38px;bottom:122px;display:flex;align-items:center;gap:14px;height:53px;padding:0 21px;border-radius:4px;color:var(--ink);background:#faf7eff2;box-shadow:0 7px 25px #10364b1c;font-size:16px;letter-spacing:1px;transition:transform .3s var(--ease),background .2s}.exhibit-launch:hover{transform:translateY(-3px);background:#fff}.exhibit-launch>[data-icon=grid] svg{width:18px;opacity:.6}.exhibit-launch>[data-icon=arrow]{margin-left:12px}.toolbar{position:fixed;z-index:6;bottom:28px;left:36px;right:36px;display:flex;justify-content:space-between;align-items:center;gap:20px;color:#f4f3eb}.location{display:flex;align-items:center;gap:11px;font-size:12px;letter-spacing:2px}.location-dot{width:5px;height:5px;border-radius:50%;background:#e2c899}.location small{opacity:.4;font-size:10px;margin-left:8px;font-variant-numeric:tabular-nums}.view-controls,.utility-controls{display:flex;align-items:center;gap:3px;padding:5px;border:1px solid #f7f4ec37;background:#0f2c3e78;backdrop-filter:blur(18px);border-radius:30px}.view-controls{position:absolute;left:50%;transform:translateX(-50%)}.toolbar button{width:39px;height:39px;display:flex;align-items:center;justify-content:center;border-radius:50%}.toolbar button:hover{background:#ffffff20}.toolbar button[aria-pressed=false]{opacity:.45}.toolbar svg{width:18px;height:18px}.view-controls i{height:17px;width:1px;background:#f7f4ec26;margin:0 7px}.drag-hint{font-size:11px;letter-spacing:2px;opacity:.7;padding:0 9px}
#world-layer{position:fixed;inset:0;pointer-events:none;transition:opacity .3s}.world-item{position:absolute;transform:translate(-50%,-50%);pointer-events:auto}.portal{display:flex;flex-direction:column;align-items:center;gap:14px;padding:10px;filter:drop-shadow(0 4px 7px #0b243728)}.portal-circle{display:flex;align-items:center;justify-content:center;height:58px;width:58px;border-radius:50%;background:#f6f2e9e8;border:1px solid #fff8;box-shadow:0 0 0 7px #f7f4eb22;transition:transform .4s var(--ease),box-shadow .4s}.portal-circle svg{width:26px;height:26px}.portal:hover .portal-circle{transform:scale(1.12);box-shadow:0 0 0 12px #f7f4eb22}.portal-label{display:flex;flex-direction:column;align-items:center;padding:10px 17px 11px;background:#f6f2e9f2;backdrop-filter:blur(12px);border-radius:3px}.portal-label strong{font:21px/1.4 var(--serif);letter-spacing:2px}.portal-label small{font-size:10px;letter-spacing:1px;margin-top:4px;color:var(--muted)}.art-spot{display:flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid #faf8ed9e;background:#f6f3ebe8;box-shadow:0 4px 14px #173d5221;border-radius:3px;font-size:12px}.art-spot svg{width:17px}.art-spot:hover{background:white}.cropped{position:relative;overflow:hidden;display:block;max-width:100%}.cropped>svg{display:block;width:100%;height:100%;fill:none;stroke:none}.art-in-scene,.mini-exhibit{display:flex;flex-direction:column;padding:12px 12px 0;background:#ebe8df;box-shadow:0 4px 0 #bdbaaF,0 10px 24px #0b213660;border:1px solid #fcf9ec;transition:filter .25s}.art-in-scene:hover,.mini-exhibit:hover{filter:brightness(1.07)}.art-in-scene>.cropped,.mini-exhibit>.cropped,.mini-exhibit>img{width:100%;min-height:0;flex:1;object-fit:contain}.scene-art-caption{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:32px;font:14px var(--serif);letter-spacing:1px}.scene-art-caption small{font:10px 'PingFang SC',sans-serif;letter-spacing:1px;color:#526a72}.mini-exhibit>span{display:block;padding:9px 0;font:15px var(--serif);letter-spacing:2px}.mini-exhibit>span small{display:block;font:9px 'PingFang SC',sans-serif;letter-spacing:1px;color:#647b83;margin-top:4px}.mini-exhibit{padding:7px 7px 0}.scene-guide{transform:translate(-50%,-100%);pointer-events:none;filter:drop-shadow(0 10px 7px #122f4433)}.scene-guide img{height:100%;width:100%;object-fit:contain}
/* The two halves meet before the panorama changes, then reveal the next room. */
#transition{position:fixed;z-index:40;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:17px;pointer-events:none;color:var(--paper);visibility:hidden;transition:visibility 0s .75s;isolation:isolate}#transition::before,#transition::after{content:'';position:absolute;inset:0 50% 0 0;background:#153d53;z-index:-1;transform:translateX(-101%);transition:transform .7s cubic-bezier(.65,0,.2,1);border-right:1px solid #d5c29a26}#transition::after{inset:0 0 0 50%;transform:translateX(101%);background:#143b51;border:0}#transition.active{visibility:visible;pointer-events:auto;transition-delay:0s}#transition.active::before,#transition.active::after{transform:translateX(0);transition-duration:.46s}#transition>span,#transition>strong,#transition>small{opacity:0;transform:translateY(16px);transition:opacity .22s,transform .45s var(--ease)}#transition.active>span,#transition.active>strong,#transition.active>small{opacity:1;transform:none;transition-delay:.24s}#transition .chapter-number{font:17px var(--serif);color:#d4c19b;display:grid;place-items:center;border:1px solid #d4c19b66;width:40px;height:40px}#transition strong{font:44px/1.3 var(--serif);letter-spacing:9px;margin-top:4px}#transition small{font-size:12px;letter-spacing:5px;opacity:0;color:#e5e6dbb8}.is-travelling #world-layer{opacity:0}.scene-arrived #world-layer{animation:scene-arrive 1.05s var(--ease) both}.scene-arrived .room-intro,.scene-arrived .exhibit-launch{animation:ui-arrive 1s var(--ease) both}@keyframes scene-arrive{from{opacity:0}to{opacity:1}}@keyframes ui-arrive{from{opacity:0;translate:0 15px}to{opacity:1;translate:0 0}}
/* Gallery reading space */
dialog{color:var(--ink);background:var(--paper);border:1px solid #fff8;padding:0;border-radius:12px;box-shadow:0 28px 120px #051c426b;width:min(1640px,calc(100vw - 80px));height:min(900px,calc(100dvh - 72px));max-width:none;max-height:none;overflow:hidden}dialog::backdrop{background:#071f3b8c;backdrop-filter:blur(12px)}.dialog-top{height:108px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 34px 20px}.dialog-top .eyebrow{color:var(--muted);font-size:10px;letter-spacing:2px;margin-bottom:8px}.dialog-top h2{font:30px/1.3 var(--serif);letter-spacing:3px}.dialog-top .close-dialog{border:1px solid var(--line)}#reader-content{height:calc(100% - 108px);padding:0 34px 28px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#173d5230 transparent}.reader-view{height:100%;min-height:0}.micro-label{display:block;color:var(--muted);font-size:11px;letter-spacing:2px;line-height:1.7}.one-line{color:#607980;font-size:16px;line-height:1.75;letter-spacing:1px}.fold{border-top:1px solid var(--line)}.fold:last-of-type{border-bottom:1px solid var(--line)}.fold summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;list-style:none;padding:17px 0;font-size:16px;letter-spacing:1px}.fold summary::-webkit-details-marker{display:none}.fold summary svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.4;flex:none;transition:transform .3s}.fold[open] summary svg{transform:rotate(45deg)}.fold p{color:#60757e;font-size:15px;line-height:1.95;letter-spacing:.4px;padding:0 0 17px}.fold[open]>p,.fold[open]>ul{animation:fold-open .4s var(--ease)}@keyframes fold-open{from{opacity:0;translate:0 -6px}to{opacity:1;translate:0 0}}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:13px;letter-spacing:1px;padding:12px 0;line-height:1.5;text-align:left}.text-button svg{width:17px;height:17px}.text-button:hover{color:#9d7534}.ink-button{display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--ink);color:var(--paper);padding:15px 19px;border-radius:3px;font-size:14px;letter-spacing:2px}.ink-button:hover{background:#24516b}.picture-zoom{position:absolute;bottom:16px;right:16px;z-index:2;display:grid;place-items:center;width:43px;height:43px;border-radius:50%;border:1px solid #fff9;background:#f9f7efed;box-shadow:0 2px 13px #133b5320;transition:transform .3s,background .2s}.picture-zoom:hover{transform:scale(1.1);background:white}
.explore-layout{display:grid;grid-template-columns:minmax(0,1fr) 282px;grid-template-rows:minmax(0,1fr) 104px;gap:22px 32px;height:100%;min-height:0}.explore-stage{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;overflow:hidden;background:#e8e7df;border:1px solid #173d520b;border-radius:4px}.map-image,.focus-art{position:relative;flex:none;box-shadow:0 12px 32px #14384a29}.map-image>.cropped,.focus-art>.cropped{width:100%;height:100%}.motif-hit{position:absolute;transform:translate(-50%,-50%);padding:9px;display:flex;align-items:center;z-index:2;gap:8px}.motif-hit b{font:15px 'Georgia',serif;display:grid;place-items:center;width:33px;height:33px;border-radius:50%;background:#faf8eff5;border:1px solid #bda56c;box-shadow:0 0 0 5px #fcf5e842,0 3px 15px #173d5233;transition:transform .3s var(--ease)}.motif-hit span{position:absolute;left:55px;color:var(--ink);font-size:12px;letter-spacing:1px;background:#faf8efed;white-space:nowrap;padding:7px 10px;border-radius:2px;opacity:0;transform:translateX(-4px);transition:opacity .2s,transform .25s}.motif-hit:hover b,.motif-hit:focus-visible b{transform:scale(1.17)}.motif-hit:hover span,.motif-hit:focus-visible span{opacity:1;transform:none}.motif-hit.found b{background:#d8bf85;border-color:#fcf5e8}.explore-aside{min-height:0;overflow:auto;padding:25px 3px 0 0;scrollbar-width:thin}.explore-aside h3{font:39px/1.5 var(--serif);letter-spacing:3px;margin:12px 0 10px}.explore-aside .one-line{margin-bottom:30px}.meaning-fold summary{color:#8f6d33}.find-guide{padding:28px 0}.discover-ring{display:block;font:55px/1.1 'Georgia',serif;color:#31536a}.discover-ring i{font:14px sans-serif;color:#849499;font-style:normal;margin-left:10px}.find-guide p{color:#839295;font-size:12px;letter-spacing:1px;margin-top:18px}.discovery-progress{display:flex;gap:7px;margin-top:22px}.discovery-progress span{flex:1;font-size:10px;font-variant-numeric:tabular-nums;letter-spacing:1px;color:#b8c1c1;border-top:2px solid #173d5215;padding-top:8px}.discovery-progress span.lit{color:#8e713b;border-color:#b89a60}.origin-return{display:flex;align-items:center;gap:17px;margin-top:25px;padding:0;width:100%;text-align:left}.origin-wrap{position:relative;display:block;width:95px;flex:none;border:2px solid #d0c4a9}.origin-wrap>.cropped{width:100%}.region-box{position:absolute;border:1.5px solid #ffe199;box-shadow:0 0 0 999px #0929433b;pointer-events:none}.origin-wrap{overflow:hidden}.origin-return>span:last-child{display:flex;align-items:center;gap:8px;font-size:12px;color:#617781}.origin-return svg{width:16px}.motif-strip{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;min-height:0;border-top:1px solid var(--line);padding-top:17px}.motif-strip button{display:flex;align-items:center;gap:15px;min-width:0;padding:8px 10px 8px 6px;border-radius:4px;position:relative;text-align:left}.motif-strip button>.cropped{width:65px;max-height:57px;flex:none;aspect-ratio:1!important}.motif-strip button>.cropped>svg{object-fit:contain}.motif-strip button>span{font:18px/1.5 var(--serif);letter-spacing:2px}.motif-strip small{display:block;font:9px/1.5 sans-serif;letter-spacing:1px;color:#97a5a7;margin-bottom:3px}.motif-strip i{position:absolute;width:4px;height:4px;right:8px;top:12px;border-radius:50%;background:#aebcbd4f}.motif-strip i.lit{background:#aa8e52}.motif-strip button:hover{background:#eaeae2}.motif-strip button.active{background:#e2e7e3;box-shadow:inset 0 -2px #8f7850}
.gallery-view{display:flex;flex-direction:column;gap:22px}.catalogue-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;flex:none;color:#7b8b8d;font-size:12px;letter-spacing:1px}.catalogue-heading .text-button{padding:5px 0;color:var(--ink)}.catalogue-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 24px;padding-bottom:10px}.catalogue-card{display:flex;flex-direction:column;min-width:0;padding:0;text-align:left}.catalogue-image{display:flex;align-items:center;justify-content:center;width:100%;height:220px;padding:18px;background:#e9e8e0;overflow:hidden;border-radius:4px}.catalogue-image>img,.catalogue-image>.cropped{width:100%;height:100%;min-width:0;transition:transform .6s var(--ease)}.catalogue-card:hover .catalogue-image>img,.catalogue-card:hover .catalogue-image>.cropped{transform:scale(1.055)}.catalogue-label{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:13px;width:100%}.catalogue-label strong{font:17px/1.4 var(--serif);letter-spacing:1px}.catalogue-label>span{color:#8a9a9b;transition:translate .3s}.catalogue-card:hover .catalogue-label>span{translate:3px -3px}.craft-doors{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;flex:1;min-height:0}.craft-door{text-align:left;display:flex;flex-direction:column;padding:0;min-height:0;min-width:0;position:relative}.door-art{display:flex;align-items:center;justify-content:center;width:100%;min-height:100px;flex:1;overflow:hidden;padding:24px;background:#e7e7df;border-radius:5px}.door-art img,.door-art>.cropped{width:100%;height:100%;transition:transform .7s var(--ease)}.craft-door:hover .door-art img,.craft-door:hover .door-art>.cropped{transform:scale(1.055)}.door-copy{position:relative;display:block;width:100%;padding:24px 0 12px}.door-copy>small{position:absolute;right:2px;top:32px;font:12px Georgia,serif;color:#98a6a6}.door-copy h3{font-size:37px;letter-spacing:5px}.door-copy p{font-size:13px;letter-spacing:2px;color:#7a8c8d;margin-top:9px}.door-copy b{display:block;font-size:12px;font-weight:400;letter-spacing:2px;margin-top:24px;color:#887342}.craft-door:hover .door-copy b{color:var(--ink)}
.craft-navigation{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px;height:50px}.craft-tabs{display:flex;gap:25px;height:100%}.craft-tabs button{border-bottom:2px solid transparent;padding:0 5px;font:21px var(--serif);letter-spacing:2px;color:#8b9a9b}.craft-tabs button.active{color:var(--ink);border-color:var(--ink)}.craft-tabs button:hover{color:var(--ink)}.mode-switch{padding:4px;display:flex;background:#e8e9e1;border-radius:30px}.mode-switch button{padding:10px 21px;font-size:13px;letter-spacing:1px;border-radius:26px;color:#70858a}.mode-switch button.active{background:var(--paper);color:var(--ink);box-shadow:0 2px 8px #143a530d}.craft-studio{height:calc(100% - 75px);display:grid;grid-template-columns:minmax(0,1fr) 254px;gap:38px;min-height:0}.craft-canvas{overflow:auto;min-width:0;min-height:0;scrollbar-width:thin}.craft-works{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 20px;align-content:start}.craft-works .catalogue-image{height:265px;padding:15px}.craft-works .catalogue-label strong{font-size:16px}.craft-aside{padding:28px 0 0;min-height:0;overflow:auto;scrollbar-width:thin}.craft-aside h3{font:58px/1.5 var(--serif);letter-spacing:9px;margin:6px 0}.craft-aside .one-line{margin-bottom:28px}.craft-aside .ink-button{margin-bottom:32px;width:100%}.craft-aside>.text-button{margin-top:13px;font-size:12px}.craft-canvas #craft-lab-host{display:flex;align-items:flex-start;justify-content:center;min-height:100%}.craft-canvas .lab-shell{width:100%;border:0;border-radius:5px;background:#e9ebe3}.craft-canvas .lab-stage>.lab-art{max-height:420px}.craft-canvas .lab-heading{padding-top:22px}.craft-canvas .lab-caption-row{min-height:90px}
.comparison-layout{display:grid;grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);height:100%;min-height:0}.comparison-side{display:flex;align-items:center;flex-direction:column;min-height:0;gap:16px;padding:0 14px 6px}.comparison-side select{height:49px;border:0;border-bottom:1px solid #173d5238;background:transparent;color:var(--ink);font:22px var(--serif);letter-spacing:2px;width:100%;padding:0 10px;cursor:pointer}.comparison-art{background:#e7e8df;border-radius:4px;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:25px;width:100%;overflow:hidden}.comparison-art>img,.comparison-art>.cropped{width:100%;height:100%}.comparison-side h3{font:24px var(--serif);letter-spacing:3px;margin-top:5px}.comparison-side .text-button{padding:0}.compare-divider{display:flex;align-items:center;justify-content:center;position:relative}.compare-divider::before{content:'';position:absolute;left:50%;top:68px;bottom:100px;width:1px;background:var(--line)}.compare-divider span{z-index:1;background:var(--paper);padding:15px 0;writing-mode:vertical-rl;font:12px 'PingFang SC',sans-serif;letter-spacing:5px;color:#8b9a9c}
.viewer-layout{display:grid;grid-template-columns:minmax(0,1fr) 292px;gap:35px;height:100%;min-height:0}.viewer-main{display:flex;flex-direction:column;gap:17px;min-height:0;min-width:0}.viewer-art{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:28px 62px;background:#e7e7df;border-radius:4px;overflow:hidden;touch-action:pan-y}.viewer-art>img,.viewer-art>.cropped{width:100%;height:100%;object-fit:contain}.step-button{position:absolute;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:42px;height:54px;background:#faf7efb8;border:1px solid #ffffff7a;border-radius:28px;z-index:2;transition:background .2s,box-shadow .2s}.step-button:hover{background:#faf7ef;box-shadow:0 4px 20px #173d521a}.step-prev{left:12px}.step-next{right:12px}.filmstrip{display:flex;align-items:center;gap:10px;height:72px;overflow-x:auto;overflow-y:hidden;flex:none;scrollbar-width:thin;padding:3px 1px 7px;scroll-behavior:smooth}.filmstrip button{display:flex;align-items:center;justify-content:center;padding:5px;width:72px;height:58px;flex:none;background:#e8e8df;border:1px solid transparent;border-radius:3px;opacity:.65;transition:opacity .25s,border-color .25s}.filmstrip button img,.filmstrip button>.cropped{height:100%;width:100%}.filmstrip button.active{opacity:1;border-color:#aa925d;background:#e3e6dd}.filmstrip button:hover{opacity:1}.viewer-aside{overflow:auto;min-height:0;padding:30px 0 0;scrollbar-width:thin}.viewer-aside h3{font:35px/1.5 var(--serif);letter-spacing:3px;margin:13px 0 22px}.work-counter{display:block;font:29px 'Georgia',serif;color:#31536a;margin-bottom:38px;letter-spacing:2px}.work-counter i{font:12px sans-serif;font-style:normal;color:#8c9da0;letter-spacing:1px}.viewer-aside>.text-button{margin-top:22px}.credit-fold p{font-size:12px;word-break:break-word}.room-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;height:100%;padding-bottom:25px}.room-map button{display:flex;flex-direction:column;align-items:flex-start;padding:0;text-align:left;min-height:0}.room-map-picture{display:block;flex:1;min-height:0;overflow:hidden;border-radius:4px;width:100%;margin-bottom:25px}.room-map-picture img{height:100%;width:100%;object-fit:cover;transition:transform .8s var(--ease)}.room-map button:hover img{transform:scale(1.06)}.room-map small{font-size:11px;color:var(--muted);letter-spacing:2px}.room-map h3{font:35px var(--serif);letter-spacing:4px;margin:10px 0 24px}.room-map button>span:last-child{font-size:12px;letter-spacing:2px}.help-content,.sources-content{max-width:900px;margin:25px auto}.help-content p{display:flex;align-items:center;gap:50px;padding:26px 0;border-bottom:1px solid var(--line);line-height:1.8}.help-content b{font:24px var(--serif);min-width:140px;letter-spacing:2px}.help-content span{font-size:16px;color:var(--muted)}.sources-content>p{font-size:16px;line-height:2;color:var(--muted);margin-bottom:34px}.sources-content .fold{padding:0 5px}.sources-content ul{padding-left:23px;font-size:14px;line-height:2.2;color:var(--muted)}
.zoom-dialog{width:calc(100vw - 32px);height:calc(100dvh - 32px);background:#efefe7}.zoom-dialog .dialog-top{height:77px;padding:16px 26px}.zoom-dialog .dialog-top h2{font-size:23px}.zoom-controls{display:flex;align-items:center;gap:10px}.zoom-controls>button{width:39px;height:39px;border:1px solid var(--line);border-radius:50%;font-size:20px}.zoom-controls #image-scale{width:54px;text-align:center;font-size:12px;color:var(--muted)}#zoom-scroll{height:calc(100% - 77px);overflow:auto;overscroll-behavior:contain;padding:25px;scrollbar-width:thin}#zoom-image{max-width:none;margin:0 auto;transition:width .25s var(--ease)}#zoom-image>.cropped,#zoom-image>img{width:100%;max-width:none}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:80;background:#173d52ed;color:#f7f4eb;padding:13px 25px;border-radius:4px;font-size:14px;box-shadow:0 6px 25px #0b223733}#loading{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:25px;background:#143b51;color:#edeadb}#loading>span{display:block;width:32px;height:32px;border:1px solid #edeadb26;border-top-color:#d7c39b;rotate:45deg;animation:load-spin 1.8s ease-in-out infinite}#loading p{font-size:13px;letter-spacing:3px;opacity:.65}@keyframes load-spin{to{rotate:405deg}}#fallback{position:fixed;inset:0;z-index:70;background:#143b51;color:var(--paper);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:24px}#fallback h2{font:32px var(--serif)}#fallback p{font-size:16px;opacity:.7}#fallback button{padding:14px 30px;background:var(--paper);color:var(--ink);border-radius:4px}
@media(min-width:1700px){.catalogue-image{height:255px}.explore-layout{grid-template-columns:minmax(0,1fr) 318px;gap:26px 44px}.explore-aside h3{font-size:45px}.one-line{font-size:18px}.fold summary{font-size:18px}.fold p{font-size:17px}.motif-strip button>span{font-size:20px}.craft-studio{grid-template-columns:minmax(0,1fr) 300px;gap:45px}.craft-works .catalogue-image{height:320px}.viewer-layout{grid-template-columns:minmax(0,1fr) 320px;gap:45px}.viewer-aside h3{font-size:40px}.craft-canvas .lab-stage>.lab-art{max-height:490px}.craft-canvas .lab-shell .lab-caption{font-size:16px}}
@media(max-height:800px) and (min-width:901px){dialog{height:calc(100dvh - 44px);width:calc(100vw - 60px)}.dialog-top{height:94px;padding:17px 28px}.dialog-top h2{font-size:27px}#reader-content{height:calc(100% - 94px);padding:0 28px 24px}.explore-layout{grid-template-columns:minmax(0,1fr) 252px;grid-template-rows:minmax(0,1fr) 87px;gap:17px 28px}.explore-aside{padding-top:12px}.explore-aside h3{font-size:33px;margin:6px 0}.explore-aside .one-line{margin-bottom:19px;font-size:14px}.fold summary{padding:13px 0;font-size:15px}.fold p{font-size:14px}.find-guide{padding:12px 0}.discover-ring{font-size:46px}.origin-return{margin-top:16px}.discovery-progress{margin-top:17px}.motif-strip{padding-top:12px}.motif-strip button>.cropped{width:51px;max-height:44px}.motif-strip button>span{font-size:16px}.motif-strip button{gap:10px}.craft-doors{gap:20px}.door-copy{padding-top:17px}.door-copy h3{font-size:31px}.door-copy b{margin-top:15px}.door-copy>small{top:25px}.craft-navigation{height:45px;margin-bottom:17px}.craft-studio{height:calc(100% - 62px);grid-template-columns:minmax(0,1fr) 235px;gap:28px}.craft-aside{padding-top:12px}.craft-aside h3{font-size:47px}.craft-aside .ink-button{margin-bottom:20px}.craft-aside .one-line{margin-bottom:20px}.craft-works .catalogue-image{height:205px}.craft-canvas .lab-stage>.lab-art{max-height:280px}.craft-canvas .lab-caption-row{min-height:70px;padding-top:12px;padding-bottom:15px}.craft-canvas .lab-heading{padding-top:16px}.viewer-layout{grid-template-columns:minmax(0,1fr) 250px;gap:28px}.viewer-aside{padding-top:15px}.viewer-aside h3{font-size:30px;margin-bottom:15px}.work-counter{margin-bottom:25px}.viewer-main{gap:12px}.filmstrip{height:63px}.filmstrip button{height:50px;width:64px}.catalogue-image{height:180px}}
@media(max-width:1050px){.topbar{left:22px;right:22px}.brand{font-size:21px}.brand small{display:none}.topbar nav button{padding:0 15px;font-size:13px}.toolbar .location{display:none}.view-controls{position:static;transform:none}.toolbar{left:22px;right:22px}.room-intro{left:24px}.exhibit-launch{right:24px}.catalogue-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.explore-layout{grid-template-columns:minmax(0,1fr) 230px;column-gap:23px}.motif-strip{gap:7px}.motif-strip button{gap:7px}.motif-strip button>span{font-size:15px;letter-spacing:1px}.craft-studio{grid-template-columns:minmax(0,1fr) 215px;gap:24px}.craft-works{grid-template-columns:repeat(2,minmax(0,1fr))}.craft-doors{gap:15px}.door-art{padding:12px}.door-copy h3{font-size:29px}}
@media(max-width:760px){.topbar{top:14px;left:16px;right:16px}.brand{font-size:19px}.brand-mark{font-size:28px}.topbar nav{top:57px;white-space:nowrap}.topbar nav button{height:36px;padding:0 16px}.topbar>.icon-button{width:37px;height:37px}.cover{left:8vw;top:43%;transform:translateY(-40%)}.cover h1{font-size:60px;letter-spacing:.1em}.cover .eyebrow{font-size:8px;letter-spacing:2px;margin-bottom:25px}.cover-subtitle{font-size:17px;letter-spacing:3px}.cover-copy{font-size:11px;letter-spacing:1px}.primary-button{height:53px;margin-top:30px;font-size:15px;gap:35px}.cover-index{display:none}.cover-guide{width:30vh;height:63vh;bottom:-9vh;right:-10vw;opacity:.8}.room-intro{bottom:146px;left:20px}.room-intro h2{font-size:29px}.room-intro .eyebrow{display:none}.exhibit-launch{bottom:89px;left:20px;right:auto;height:44px;font-size:13px;padding:0 16px}.toolbar{bottom:18px;left:15px;right:15px;gap:10px}.toolbar button{width:30px;height:32px}.drag-hint{display:none}.view-controls i{margin:0 3px}.utility-controls{gap:0}.view-controls{gap:0}.scene-art-caption{font-size:11px}.scene-art-caption small{display:none}.portal-circle{width:43px;height:43px}.portal-label strong{font-size:17px}.portal-label small{font-size:9px}.portal-label{padding:8px 12px}.art-spot span{display:none}.art-in-scene{padding:6px 6px 0}dialog{width:calc(100vw - 20px);height:calc(100dvh - 24px);border-radius:8px}.dialog-top{height:86px;padding:15px 19px}.dialog-top h2{font-size:24px;letter-spacing:2px}.dialog-top .eyebrow{font-size:8px;letter-spacing:1px;margin-bottom:4px}.dialog-top .icon-button{width:35px;height:35px}#reader-content{height:calc(100% - 86px);padding:0 18px 20px}.reader-view{height:auto;min-height:100%}.explore-layout{grid-template-columns:1fr;grid-template-rows:38vh auto auto;gap:20px;height:auto}.explore-stage{grid-row:1}.explore-aside{grid-row:3;overflow:visible;padding:0}.explore-aside h3{font-size:30px}.explore-aside h3 br{display:none}.explore-aside .one-line{margin-bottom:18px;font-size:14px}.find-guide{padding:0;display:flex;align-items:center;gap:20px}.discover-ring{font-size:36px}.find-guide p{margin:0;font-size:11px}.motif-strip{grid-row:2;grid-column:1;display:flex;overflow-x:auto;gap:8px;padding:10px 0 5px}.motif-strip button{min-width:103px;padding:6px 8px}.motif-strip button>.cropped{width:34px;height:35px}.motif-strip button>span{font-size:14px}.motif-strip small{font-size:8px}.discovery-progress{margin-top:17px}.origin-return{margin:15px 0}.motif-hit b{width:27px;height:27px;font-size:12px}.motif-hit span{display:none}.fold summary{font-size:15px;padding:14px 0}.fold p{font-size:14px}.craft-doors{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 15px}.door-art{height:205px;flex:none}.door-copy{padding:13px 0 0}.door-copy h3{font-size:27px}.door-copy>small{top:19px;font-size:10px}.door-copy p{font-size:11px;letter-spacing:1px}.door-copy b{margin-top:12px;font-size:10px}.catalogue-heading{font-size:10px;gap:12px;line-height:1.8}.catalogue-heading .text-button{font-size:11px;flex:none}.gallery-view{gap:22px}.catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 15px}.catalogue-image{height:175px;padding:12px}.catalogue-label strong{font-size:14px}.craft-navigation{height:auto;flex-wrap:wrap;gap:14px;margin-bottom:20px}.craft-tabs{gap:26px;height:43px}.craft-tabs button{font-size:20px;padding:0}.mode-switch button{padding:9px 23px;font-size:12px}.mode-switch{margin-left:auto}.craft-studio{height:auto;grid-template-columns:1fr;gap:20px}.craft-canvas{overflow:visible}.craft-works{grid-template-columns:repeat(2,minmax(0,1fr))}.craft-works .catalogue-image{height:190px;padding:12px}.craft-works .catalogue-label strong{font-size:14px}.craft-aside{padding:0}.craft-aside h3{font-size:33px;margin:0}.craft-aside .one-line{margin-bottom:20px;font-size:14px}.craft-aside .ink-button{width:auto;margin-bottom:20px;font-size:12px}.viewer-layout{grid-template-columns:1fr;gap:20px;height:auto}.viewer-main{height:45vh;gap:10px}.viewer-art{padding:16px 39px}.step-button{width:30px;height:43px}.step-prev{left:5px}.step-next{right:5px}.picture-zoom{width:33px;height:33px;right:10px;bottom:10px}.filmstrip{height:57px}.filmstrip button{height:43px;width:58px}.viewer-aside{padding:0;overflow:visible}.viewer-aside h3{font-size:27px;margin:9px 0}.work-counter{font-size:23px;margin-bottom:20px}.viewer-aside>.text-button{margin-top:15px}.comparison-layout{grid-template-columns:1fr 24px 1fr;height:70vh}.comparison-side{padding:0;gap:12px}.comparison-side select{font-size:15px;letter-spacing:0;padding:0 2px}.comparison-art{padding:10px}.comparison-side h3{font-size:18px;letter-spacing:1px}.comparison-side .text-button{font-size:10px}.compare-divider span{font-size:10px}.room-map{grid-template-columns:1fr;height:auto;gap:25px}.room-map-picture{height:160px;flex:none;margin-bottom:15px}.room-map h3{font-size:29px;margin:6px 0 13px}.help-content,.sources-content{margin:6px 0}.help-content p{display:block;padding:20px 0}.help-content b{display:block;font-size:22px}.help-content span{display:block;margin-top:9px;font-size:14px}.sources-content>p{font-size:14px}.zoom-dialog{width:calc(100vw - 12px);height:calc(100dvh - 12px)}.zoom-dialog .dialog-top{padding:12px 16px;height:65px}.zoom-dialog .dialog-top h2{font-size:18px;letter-spacing:1px}.zoom-controls{gap:5px}.zoom-controls>button{width:30px;height:30px;font-size:17px}.zoom-controls #image-scale{width:41px;font-size:10px}#zoom-scroll{height:calc(100% - 65px);padding:15px}#transition strong{font-size:34px;letter-spacing:6px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0s!important;scroll-behavior:auto!important}}
/* Keep the process controls visible within the classroom screen. */
.craft-canvas #craft-lab-host{height:100%}
.craft-canvas .lab-shell{height:100%;min-height:420px;display:flex;flex-direction:column}
.craft-canvas .lab-heading{flex:none}
.craft-canvas .lab-process{display:flex;flex-direction:column;flex:1;min-height:0}
.craft-canvas .lab-stage{flex:1;min-height:135px}
.craft-canvas .lab-stage>.lab-art{height:100%;max-height:none;aspect-ratio:auto}
.craft-canvas .lab-steps{flex:none}
.craft-canvas .lab-caption-row{flex:none;min-height:76px}
.craft-canvas .lab-compare{display:flex;flex-direction:column;flex:1;min-height:0}
.craft-canvas .lab-comparison{flex:1;min-height:100px;max-height:calc(100% - 85px);width:100%;max-width:620px}
.craft-canvas .lab-compare-caption{flex:none;min-height:76px}
@media(max-width:760px){.craft-canvas #craft-lab-host{height:auto}.craft-canvas .lab-shell{height:510px;min-height:0}.craft-canvas .lab-stage>.lab-art{min-height:0}.craft-canvas .lab-caption-row{min-height:95px}.craft-canvas .lab-caption{font-size:12px}.craft-canvas .lab-heading-copy{gap:10px}.craft-canvas .lab-title{font-size:21px}.craft-canvas .lab-mode{font-size:11px}}
/* V4: attached to the front exhibition wall through four projected corners. */
.wall-display{transform-origin:0 0;display:flex;flex-direction:column;gap:18px;padding:24px;background:#e5dfd0;border:10px solid #6d4f33;box-shadow:inset 0 0 0 2px #baa078,0 4px 7px #081c335c;overflow:hidden;will-change:transform}
.wall-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:none;height:27px;border-bottom:1px solid #85724d48;padding-bottom:12px;color:#544932}
.wall-panel-heading>span{font:22px var(--serif);letter-spacing:3px}.wall-panel-heading small{font:11px 'PingFang SC',sans-serif;letter-spacing:2px}
.wall-master{padding:0;flex:1;min-height:0;width:100%;display:flex;justify-content:center;align-items:center;background:#14394e;box-shadow:0 0 0 1px #aaa08c}
.wall-master>.cropped{width:100%;height:100%}.wall-motifs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;height:125px;flex:none;padding-top:15px;border-top:1px solid #8d78594d}
.wall-motifs button{padding:5px;background:#f3eee2;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;gap:8px;border:1px solid #a3916d70;box-shadow:0 2px 2px #3c382415;border-radius:0}
.wall-motifs button:hover{background:#fff7e7;box-shadow:0 0 0 2px #ba9b55}.wall-motifs .cropped{width:100%;height:66px;min-height:0}.wall-motifs button>span{display:flex;align-items:center;gap:7px;font:16px var(--serif);letter-spacing:1px;white-space:nowrap}.wall-motifs button>span small{font:9px sans-serif;color:#948467}

.lab-shell {
  --lab-paper: #f7f4ee;
  --lab-ink: #143a53;
  --lab-silver: #adc5d0;
  color: var(--lab-ink);
  background: var(--lab-paper);
  border: 1px solid #143a531c;
  border-radius: 5px;
  overflow: hidden;
  font-family: inherit;
  min-width: 0;
  isolation: isolate;
}
.lab-shell [hidden] { display: none !important; }
.lab-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  padding: 23px 28px 16px;
}
.lab-heading-copy { display: flex; align-items: baseline; gap: 16px; min-width: 0; }
.lab-eyebrow { font-size: 11px; letter-spacing: 2px; color: #597887; white-space: nowrap; }
.lab-title { margin: 0; color: var(--lab-ink); font: 400 25px/1.3 "Songti SC", "STSong", serif; letter-spacing: 3px; }
.lab-mode-switch { display: flex; flex: none; gap: 2px; padding: 3px; border: 1px solid #143a5321; border-radius: 4px; }
.lab-shell .lab-mode {
  min-height: 37px;
  padding: 8px 13px;
  border: 0;
  border-radius: 2px;
  color: #587283;
  background: transparent;
  font: inherit;
  font-size: 12px;
  line-height: 1.3;
  cursor: pointer;
  transition: color .18s, background .18s;
}
.lab-shell .lab-mode[aria-pressed="true"] { background: #143a53; color: #f7f4ee; }
.lab-stage { position: relative; overflow: hidden; background: radial-gradient(ellipse at 50% 65%, #e6e9e280, transparent 68%); }
.lab-shell .lab-art { display: block; width: 100%; height: 100%; max-height: none; fill: none; stroke: none; overflow: visible; }
.lab-stage > .lab-art { aspect-ratio: 600 / 340; max-height: 360px; }
.lab-stage-note { position: absolute; top: 5px; left: 28px; z-index: 1; font-size: 11px; letter-spacing: 2px; color: #69818c; }
.lab-stage-count { position: absolute; bottom: 15px; right: 28px; font-size: 11px; letter-spacing: 2px; font-variant-numeric: tabular-nums; color: #69818c; }
.lab-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; padding: 0 28px; }
.lab-shell .lab-step {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 9px;
  min-height: 52px;
  padding: 8px 0 12px;
  background: transparent;
  border: 0;
  border-radius: 0;
  color: #637a87;
  font: inherit;
  font-size: 16px;
  letter-spacing: 2px;
  cursor: pointer;
}
.lab-step-number { font-size: 10px; line-height: 21px; letter-spacing: 1px; color: #8398a1; font-variant-numeric: tabular-nums; }
.lab-step-line { position: absolute; bottom: 0; left: 0; width: 100%; height: 2px; background: #143a5324; overflow: hidden; }
.lab-step-line::after { content: ""; display: block; width: 100%; height: 100%; background: var(--lab-ink); transform: scaleX(0); transform-origin: left; transition: transform .3s ease; }
.lab-shell .lab-step[aria-pressed="true"] { color: var(--lab-ink); }
.lab-step[aria-pressed="true"] .lab-step-line::after { transform: scaleX(1); }
.lab-step[aria-pressed="true"] .lab-step-number { color: var(--lab-ink); }
.lab-caption-row { min-height: 87px; padding: 16px 28px 21px; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.lab-shell .lab-caption { margin: 0; color: #456375; font-size: 14px; line-height: 1.7; letter-spacing: .4px; }
.lab-actions { display: flex; gap: 9px; flex: none; align-items: center; }
.lab-shell .lab-play, .lab-shell .lab-next {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 7px;
  height: 42px;
  padding: 0 13px;
  border: 1px solid #143a532c;
  border-radius: 3px;
  color: var(--lab-ink);
  background: transparent;
  font: inherit;
  font-size: 12px;
  white-space: nowrap;
  cursor: pointer;
  transition: background .18s, border-color .18s;
}
.lab-shell .lab-next { width: 42px; padding: 0; }
.lab-shell .lab-icon { display: block; width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.lab-shell[data-lab-playing="true"] .lab-play { background: #e4ebea; border-color: #7d9ba8; }
.lab-shell .lab-mode:hover, .lab-shell .lab-play:hover, .lab-shell .lab-next:hover { background: #dfe8e8; color: var(--lab-ink); }
.lab-shell .lab-step:hover { color: var(--lab-ink); }
.lab-shell .lab-step:hover .lab-step-line { background: #6e929f; }
.lab-shell .lab-mode:focus-visible, .lab-shell .lab-step:focus-visible, .lab-shell .lab-play:focus-visible, .lab-shell .lab-next:focus-visible { outline: 2px solid #527e94; outline-offset: 4px; }
.lab-compare { padding: 15px 28px 0; }
.lab-comparison { position: relative; width: 100%; max-width: 530px; aspect-ratio: 362 / 252; margin: 0 auto; background: #eeede5; border: 1px solid #143a5317; overflow: hidden; }
.lab-comparison-image { position: absolute; inset: 0; background: #f0eee7; }
.lab-comparison-plain { clip-path: inset(0 calc(100% - var(--lab-split)) 0 0); }
.lab-divider { position: absolute; z-index: 2; top: 0; bottom: 0; left: var(--lab-split); width: 1px; background: #f7f4ee; box-shadow: 0 0 0 1px #143a5344; pointer-events: none; transform: translateX(-50%); }
.lab-divider > span { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); display: flex; justify-content: center; align-items: center; gap: 6px; width: 43px; height: 43px; border: 1px solid #143a533a; border-radius: 50%; background: #f7f4ee; color: #143a53; font-size: 20px; box-shadow: 0 2px 12px #143a531a; }
.lab-divider i { display: block; width: 1px; height: 12px; background: #adc5d0; }
.lab-compare-label { position: absolute; z-index: 1; top: 12px; padding: 5px 8px; background: #f7f4eee8; font-size: 10px; letter-spacing: 1px; pointer-events: none; }
.lab-compare-before { left: 12px; }
.lab-compare-after { right: 12px; }
.lab-shell .lab-range { position: absolute; z-index: 3; inset: 0; width: 100%; height: 100%; min-height: 44px; padding: 0; margin: 0; border: 0; opacity: 0; cursor: ew-resize; touch-action: pan-y; }
.lab-comparison:focus-within { outline: 2px solid #527e94; outline-offset: 4px; }
.lab-compare-caption { min-height: 82px; display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 15px 0 21px; }
.lab-drag-hint { color: #6b828e; font-size: 11px; white-space: nowrap; letter-spacing: 1px; }
@media (max-width: 700px) {
  .lab-heading { padding: 20px 18px 14px; gap: 14px; flex-wrap: wrap; }
  .lab-heading-copy { gap: 12px; }
  .lab-title { font-size: 23px; }
  .lab-mode-switch { margin-left: auto; }
  .lab-stage-note { left: 18px; top: 0; font-size: 10px; }
  .lab-stage-count { right: 18px; bottom: 7px; font-size: 10px; }
  .lab-stage > .lab-art { min-height: 215px; }
  .lab-steps { padding: 0 18px; gap: 12px; }
  .lab-caption-row { padding: 15px 18px 18px; flex-wrap: wrap; }
  .lab-shell .lab-caption { font-size: 13px; }
  .lab-actions { margin-left: auto; }
  .lab-compare { padding: 10px 18px 0; }
  .lab-compare-caption { flex-wrap: wrap; gap: 6px; }
  .lab-drag-hint { margin-left: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .lab-shell .lab-mode, .lab-shell .lab-play, .lab-shell .lab-next, .lab-step-line::after { transition: none; }
}
