@font-face{font-family:Archive;src:local('Arial');font-display:swap}*{box-sizing:border-box} :root{font-family:Archive,Helvetica,Arial,sans-serif;color:#252722;background:#eeede6;font-synthesis:none;--ink:#252722;--paper:#eeede6;--accent:#d95023;--line:#35362c40}body{margin:0;min-height:700px;height:100svh;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;background:none;border:0}a{color:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}button:hover{color:var(--accent)}[hidden]{display:none!important}#scene{position:fixed;inset:0;background:radial-gradient(ellipse at 55% 48%,#faf9f2,#e9e7df 80%)}#scene canvas{display:block;width:100%;height:100%;touch-action:pan-y}.film-grain{pointer-events:none;position:fixed;inset:0;opacity:.045;z-index:10;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.87' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.3' filter='url(%23n)'/%3E%3C/svg%3E")}.masthead{position:relative;z-index:12;display:flex;align-items:flex-start;justify-content:space-between;margin:34px 40px 0;padding-bottom:22px;border-bottom:1px solid var(--line)}.identity{text-decoration:none;display:flex;flex-direction:column}.identity>span{font-size:26px;font-weight:800;letter-spacing:-1.2px;line-height:1}.identity small{font-size:12px;letter-spacing:.19em;margin-top:7px;font-weight:500}nav{display:flex;gap:35px;position:absolute;left:50%;transform:translateX(-50%);padding-top:4px}nav button{font-size:14px;padding:2px 0}nav button span{font-size:11px;vertical-align:super;margin-left:3px;color:#686a61}.edition{font-size:11px;line-height:1.6;letter-spacing:.09em;text-align:right}.overview{position:absolute;left:40px;top:160px;pointer-events:none;z-index:2;transition:opacity .5s,transform .7s}.eyebrow{display:flex;gap:10px;align-items:center;font-size:11px;letter-spacing:.13em}.eyebrow i{display:block;width:6px;height:6px;background:var(--accent)}h1{font-size:clamp(40px,4.7vw,74px);font-weight:400;letter-spacing:-.065em;line-height:.97;margin:20px 0} .overview p{font-size:15px;line-height:1.65;margin:0;color:#606259}.scene-label{position:absolute;top:39%;left:40px;right:40px;display:flex;gap:12px;align-items:center;font-size:10px;letter-spacing:.1em;pointer-events:none;opacity:.55;z-index:1}.cross{font-size:24px;font-weight:300}.hairline{height:1px;background:#464a3735;flex:1}.scene-label>span:last-child{margin-left:auto}.selection{position:absolute;z-index:3;left:40px;bottom:128px;max-width:400px;transition:opacity .35s,transform .5s}.file-number{font-size:11px;letter-spacing:.15em;color:#64675c}.selection h2{font-weight:500;font-size:clamp(26px,2.5vw,40px);letter-spacing:-.055em;line-height:1.05;margin:13px 0 9px}.selection p{font-size:10px;letter-spacing:.12em;margin:0 0 20px}.open-file{font-size:14px;padding:10px 0 9px;min-width:145px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--ink)}.button-square{width:7px;height:7px;background:var(--accent);transition:transform .25s}.open-file:hover .button-square{transform:rotate(90deg) scale(1.3)}.archive-controls{position:absolute;bottom:78px;left:50%;transform:translateX(-50%);z-index:4;display:flex;align-items:center;gap:18px}.archive-controls>div{display:flex;gap:5px}.file-tab{height:40px;width:36px;font-size:12px;border-bottom:1px solid #53564840;position:relative;transition:color .2s,border-color .2s}.file-tab[aria-pressed=true]{color:var(--accent);border-bottom:2px solid var(--accent)}.file-tab:before{content:'';position:absolute;left:50%;top:2px;width:3px;height:3px;background:currentColor;opacity:0}.file-tab[aria-pressed=true]:before{opacity:1}.direction{font-size:26px;width:32px;height:40px;font-weight:300}.instruction{position:absolute;right:40px;bottom:140px;font-size:10px;letter-spacing:.11em;writing-mode:vertical-rl}.hover-label{position:absolute;padding:7px 10px;background:#f4f3eddd;border:1px solid #8f91834d;font-size:12px;z-index:9;pointer-events:none;opacity:0;backdrop-filter:blur(10px)}footer{position:absolute;z-index:12;left:40px;right:40px;bottom:22px;padding-top:18px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.07em}footer>div{display:flex;gap:22px}footer button{font-size:11px;padding:3px 0}footer i{display:inline-block;width:5px;height:5px;margin-left:12px;background:var(--accent)}.index-panel,.about-panel{position:absolute;z-index:15;background:#f3f2eadf;backdrop-filter:blur(28px);border:1px solid #ffffff;box-shadow:0 18px 60px #25281a16;top:130px;right:40px;width:min(570px,calc(100% - 80px));padding:26px 30px;max-height:calc(100svh - 220px);overflow:auto;animation:panel-in .4s cubic-bezier(.16,1,.3,1)}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:10px;letter-spacing:.1em;padding-bottom:22px;border-bottom:1px solid var(--line)}.panel-heading button{font-size:12px;letter-spacing:0}.index-row{display:grid;grid-template-columns:34px 1fr 65px;align-items:center;text-align:left;width:100%;padding:17px 0;border-bottom:1px solid #393e3020;gap:8px}.index-row:last-child{border:0}.index-row .index-no{font-size:11px;color:#777b6b}.index-row strong{display:block;font-weight:500;font-size:18px;letter-spacing:-.03em}.index-row small{display:block;font-size:10px;color:#777b6b;margin-top:5px;letter-spacing:.06em}.index-row>span:last-child{font-size:10px;text-align:right;color:#757a6a}.about-panel h2{font-size:47px;letter-spacing:-.05em;font-weight:400;margin:32px 0 20px}.about-panel p{font-size:17px;line-height:1.65;max-width:460px}.about-panel p+p{font-size:15px;color:#686b60}.about-panel dl{margin:30px 0 0}.about-panel dl div{display:grid;grid-template-columns:95px 1fr;padding:12px 0;border-top:1px solid var(--line);align-items:center;gap:12px}.about-panel dt{font-size:10px;letter-spacing:.07em}.about-panel dd{font-size:14px;margin:0}dialog{position:fixed;margin:0;inset:130px 40px 82px auto;width:min(590px,48vw);max-width:none;max-height:none;height:auto;padding:0;z-index:20;border:1px solid #ffffffc9;box-shadow:0 2px 3px #fff inset,0 30px 80px #30392b24,0 0 0 1px #6c72661e;background:linear-gradient(120deg,#e6eeebcf,#f9faf1dc 70%);backdrop-filter:blur(25px);color:var(--ink);overflow:auto;transform:perspective(1600px) rotateY(-9deg) translateX(80px);opacity:0;transition:opacity .45s,transform .8s cubic-bezier(.16,1,.3,1)}dialog[open].arrived{opacity:1;transform:perspective(1600px) rotateY(0) translateX(0)}dialog::backdrop{background:transparent}.dossier-chrome{display:flex;justify-content:space-between;align-items:center;padding:22px 26px;border-bottom:1px solid #4355493a;font-size:10px;letter-spacing:.12em}.dossier-chrome>span{color:var(--accent)}.dossier-chrome button{font-size:12px;letter-spacing:0}.dossier-content{padding:34px 34px 28px}.dossier-kicker{font-size:11px;letter-spacing:.14em;color:#5d685f}dialog h2{font-size:clamp(34px,3.6vw,56px);font-weight:400;letter-spacing:-.06em;line-height:1;max-width:450px;margin:18px 0 25px}.dossier-rule{display:flex;justify-content:space-between;gap:16px;border-top:2px solid #353e36;padding-top:10px;font-size:10px;letter-spacing:.07em}.dossier-rule span:first-child{color:#6b6c53}.dossier-description{font-size:18px;line-height:1.55;margin:28px 0}.record-detail{border-top:1px solid #505d4833;padding-top:16px;margin-top:21px}.record-detail h3{font-size:11px;letter-spacing:.05em;font-weight:500;margin:0 0 8px;text-transform:uppercase}.record-detail p{font-size:14px;line-height:1.65;margin:0;color:#5c665b}.note p{font-size:13px}.visit-project{display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:#f6f5ec;text-decoration:none;padding:15px 18px;margin-top:27px;font-size:14px}.visit-project:hover{background:#454b3e}.visit-project span{font-size:19px}.new-tab-note{display:block;margin-top:9px;font-size:10px;color:#6b7468}.dossier-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #4355493a;padding:16px 28px;font-size:10px;letter-spacing:.1em}.dossier-footer button{font-size:12px;letter-spacing:0}.dossier-open .overview{opacity:0;transform:translateY(-18px)}.dossier-open .selection{opacity:0;pointer-events:none;transform:translateY(20px)}.dossier-open .scene-label{opacity:.22}.dossier-open .instruction{opacity:0}.dossier-open .archive-controls{left:26%}.entry-caption{position:absolute;z-index:14;left:40px;bottom:148px;pointer-events:none;transition:opacity .5s,transform .5s;max-width:440px}.entry-caption>span{display:block;font-size:10px;letter-spacing:.15em;margin-bottom:22px;color:#666957}.entry-caption strong{font-size:clamp(34px,4vw,60px);font-weight:400;letter-spacing:-.06em;line-height:1.04;display:block;max-width:370px}.skip-entry{position:absolute;z-index:16;right:40px;bottom:85px;border-bottom:1px solid #35362c50;padding:12px 0;font-size:12px}.entering .overview,.entering .selection,.entering .archive-controls,.entering .instruction{opacity:0;pointer-events:none}.entering .scene-label{opacity:.15}.entered .entry-caption{opacity:0;transform:translateY(12px)}.entered .skip-entry{display:none}#render-status{position:fixed;z-index:16;bottom:90px;left:40px;max-width:350px;padding:16px;background:#f5f2e6;border-left:2px solid var(--accent);font-size:14px;line-height:1.5}.skip-link{position:fixed;z-index:99;top:10px;left:40px;transform:translateY(-160%);background:var(--ink);color:#fff;padding:14px}.skip-link:focus{transform:translateY(0)}.noscript{position:relative;padding:60px 40px;z-index:20;background:var(--paper)}.noscript a{display:block;padding:10px}body.flat-mode .overview{display:none}body.flat-mode .selection{display:none}body.flat-mode .archive-controls{display:none}body.flat-mode .index-panel{left:40px;right:auto;top:130px;width:min(800px,calc(100% - 80px));max-height:calc(100svh - 260px)}@keyframes panel-in{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1500px){.overview{top:175px}.selection{bottom:150px}dialog{width:600px;right:70px}.masthead,footer{left:auto;margin-left:50px;margin-right:50px}.masthead{margin-top:40px}footer{left:0;right:0}.scene-label{top:42%}}
@media(max-height:790px) and (min-width:761px){.overview{top:138px}h1{font-size:51px;margin:17px 0}.overview p{font-size:13px}.scene-label{top:43%}.selection{bottom:120px}.selection h2{font-size:29px}.dossier-content{padding:22px 27px}.dossier-description{font-size:16px;margin:20px 0}.record-detail{margin-top:16px;padding-top:12px}dialog h2{font-size:40px;margin:15px 0 18px}.visit-project{margin-top:20px}.dossier-chrome{padding:16px 26px}}
@media(max-width:760px){body{min-height:580px}.masthead{margin:23px 22px 0;padding-bottom:19px}.identity>span{font-size:22px}.identity small{font-size:9px;letter-spacing:.18em;margin-top:5px}.edition{display:none}nav{position:static;transform:none;gap:23px;padding-top:1px}nav button{font-size:13px}nav button span{font-size:9px}.overview{left:22px;top:126px}.eyebrow{font-size:9px;letter-spacing:.1em;gap:7px}h1{font-size:44px;margin:17px 0}.overview p{font-size:12px;line-height:1.55}.scene-label{left:22px;right:22px;top:42%;font-size:8px;gap:8px}.scene-label>span:last-child{display:none}.selection{left:22px;bottom:143px;max-width:310px}.selection h2{font-size:29px;margin-top:9px}.selection p{font-size:9px;margin-bottom:13px}.file-number{font-size:9px}.open-file{font-size:13px;padding:8px 0;min-width:133px}.archive-controls{bottom:81px;gap:5px;width:calc(100% - 32px);justify-content:center}.archive-controls>div{gap:3px}.file-tab{width:29px;height:36px;font-size:11px}.direction{width:26px;font-size:23px}.instruction{display:none}footer{left:22px;right:22px;bottom:19px;padding-top:14px;font-size:8px;letter-spacing:0}footer>div{gap:18px}footer button{font-size:10px}.footer-right{display:none}.index-panel,.about-panel{top:102px;left:16px;right:16px;width:auto;padding:22px;max-height:calc(100svh - 181px)}.index-row{padding:14px 0;grid-template-columns:25px 1fr 45px}.index-row strong{font-size:16px}.index-row small{font-size:9px}.index-row>span:last-child{font-size:9px}.about-panel h2{font-size:39px;margin:25px 0 16px}.about-panel p{font-size:16px}.about-panel p+p{font-size:14px}.about-panel dl{margin-top:23px}.about-panel dd{font-size:13px}dialog{inset:108px 16px 80px;width:auto;max-width:none;background:linear-gradient(120deg,#eaf0e9ed,#f8f9efee);backdrop-filter:blur(32px)}.dossier-chrome{padding:17px 21px}.dossier-chrome button{font-size:11px}.dossier-content{padding:25px 24px}dialog h2{font-size:40px;margin:16px 0 22px}.dossier-kicker{font-size:10px}.dossier-rule{font-size:8px}.dossier-description{font-size:16px;margin:22px 0}.record-detail p{font-size:13px}.record-detail h3{font-size:10px}.new-tab-note{font-size:9px}.dossier-footer{padding:16px 23px}.dossier-open .archive-controls{opacity:0;pointer-events:none}.entry-caption{left:22px;bottom:153px;max-width:240px}.entry-caption strong{font-size:38px}.entry-caption>span{font-size:8px;line-height:1.6;max-width:190px}.skip-entry{right:22px;bottom:88px;font-size:11px}#render-status{left:22px;right:22px;bottom:82px;max-width:none;font-size:12px}body.flat-mode .index-panel{left:16px;right:16px;top:102px;width:auto;max-height:calc(100svh - 260px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}body.motion-off *,body.motion-off *:before{transition-duration:.001ms!important;animation-duration:.001ms!important}
/* Reading stays comfortably sized even while the surrounding archive uses fine metadata. */
.record-detail p{font-size:16px;line-height:1.6}.note p{font-size:14px;line-height:1.6}.record-detail h3{font-size:12px}.dossier-kicker{font-size:12px}.dossier-chrome button,.dossier-footer button{font-size:14px}.new-tab-note{font-size:12px}.visit-project{font-size:16px}.panel-heading button{font-size:14px}.index-row small{font-size:12px}.about-panel dd{font-size:15px}nav button{font-size:15px}.open-file{font-size:15px}
@media(max-width:760px){.record-detail p{font-size:15px}.note p{font-size:14px}.dossier-kicker{font-size:11px}.dossier-chrome button{font-size:12px}.new-tab-note{font-size:11px}.index-row small{font-size:10px}nav button{font-size:14px}.about-panel dd{font-size:14px}}
@media(max-width:760px){.file-tab{width:32px;height:44px}.direction{height:44px;width:28px}.archive-controls{gap:5px}}
@media(max-height:600px){.overview,.scene-label,.instruction{display:none}.masthead{margin-top:16px;padding-bottom:13px}.selection{bottom:122px}.selection h2{font-size:25px}.selection p{margin-bottom:10px}.archive-controls{bottom:64px}.entry-caption{bottom:132px}.entry-caption strong{font-size:32px}.skip-entry{bottom:72px}dialog{top:93px;bottom:60px}.index-panel,.about-panel{top:92px;max-height:calc(100svh - 156px)}footer{bottom:12px;padding-top:10px}}

/* The directory is the homepage; records live inside its physical modules. */
.overview{top:128px}.overview h1{font-size:clamp(32px,3.1vw,49px)}.overview p{font-size:13px}.scene-label{top:34%}.selection{bottom:170px;max-width:325px}.selection h2{font-size:30px}.selection p{line-height:1.6;max-width:300px}.directory-mode .overview p{display:none}.directory-mode .selection{bottom:185px}.directory-mode .selection h2{font-size:25px}.directory-mode .selection p{font-size:12px;letter-spacing:0}.directory-mode .scene-label{top:32%}#section-tabs{position:absolute;z-index:4;bottom:83px;left:40px;right:40px;display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.section-tab{border-top:1px solid #454c3e60;text-align:left;padding:13px 0;display:grid;grid-template-columns:40px 1fr;gap:4px}.section-tab>span{font-size:11px;grid-row:span 2;padding-top:2px}.section-tab strong{font-size:15px;font-weight:500}.section-tab small{font-size:9px;letter-spacing:.1em;color:#787d6b}.section-tab[aria-pressed=true]{border-top:2px solid var(--ink);color:var(--ink)}.section-tab[aria-pressed=true]>span:before{content:'▸';margin-right:4px;color:var(--accent)}#back-sections{position:absolute;left:40px;top:105px;z-index:5;font-size:12px;padding:12px 0}.entering #section-tabs{opacity:0;pointer-events:none}.dossier-open #back-sections{visibility:hidden}.directory-mode .overview{opacity:.85}.directory-mode .scene-label{opacity:.3}body:not(.directory-mode) .overview{opacity:0;pointer-events:none}.flat-mode #section-tabs{display:none}.flat-mode #back-sections{display:none}
@media(max-width:760px){.overview{top:111px}.overview h1{font-size:30px}.overview .eyebrow{font-size:8px}.directory-mode .selection{bottom:272px;left:22px}.directory-mode .selection h2{font-size:23px}.directory-mode .selection p{max-width:260px;margin-bottom:12px}.directory-mode .scene-label{display:none}#section-tabs{left:22px;right:22px;bottom:80px;grid-template-columns:repeat(2,1fr);gap:9px 16px}.section-tab{min-height:67px;grid-template-columns:28px 1fr;padding-top:10px}.section-tab strong{font-size:12px}.section-tab>span{font-size:9px}.section-tab small{font-size:8px}#back-sections{left:22px;top:91px}.selection{bottom:150px}.selection h2{font-size:28px}}
@media(max-height:650px){.overview{display:none}.directory-mode .selection{bottom:175px}.selection{bottom:125px}#section-tabs{bottom:66px}.directory-mode .selection p{display:none}}
/* Offline Blender artwork, displayed as ordinary images. No GPU renderer. */
#scene{overflow:hidden}.module-stage{position:absolute;inset:0;transform:translate(var(--px,0px),var(--py,0px));transition:transform .5s ease;perspective:1400px}.archive-module{position:absolute;left:calc(18% + var(--i)*21%);top:48%;width:34vw;max-width:560px;transform:translate(-50%,-50%);padding:0;transition:transform .85s cubic-bezier(.65,0,.2,1),left .85s cubic-bezier(.65,0,.2,1),top .85s,opacity .65s;filter:drop-shadow(0 20px 25px #36382a18)}.archive-module img{width:100%;height:auto;display:block;pointer-events:none;transition:filter .4s}.archive-module:nth-child(2){top:53%;z-index:2}.archive-module:nth-child(3){top:45%;z-index:1}.archive-module:nth-child(4){top:52%}.archive-module.preview img{filter:brightness(1.07)}.module-id{position:absolute;left:40%;bottom:14%;font:10px Arial;letter-spacing:.12em;color:#606558}.archive-module:focus-visible{outline-offset:-50px}.isolating .archive-module.chosen{left:50%;top:50%;transform:translate(-50%,-50%) scale(1.2);z-index:5}.isolating .archive-module.depart-left{transform:translate(-250vw,-50%) rotate(-12deg);opacity:0}.isolating .archive-module.depart-right{transform:translate(250vw,-50%) rotate(12deg);opacity:0}.pushing .archive-module.chosen{transform:translate(-50%,-50%) scale(4.6);opacity:0;transition:transform 1.1s cubic-bezier(.6,0,.25,1),opacity 1s}.isolating .overview,.isolating .selection,.isolating #section-tabs{opacity:0;pointer-events:none}.archive-view{position:absolute;inset:0;opacity:1;transition:opacity .55s,filter .8s;overflow:hidden;touch-action:pan-y;cursor:grab}.art-stage{position:absolute;width:max(112vw,160vh);aspect-ratio:1.6;left:50%;top:50%;margin-left:calc(max(112vw,160vh)/-2);margin-top:calc(max(112vw,160vh)/-3.2);will-change:transform}.art-stage>img,.art-stage>svg{display:block;position:absolute;inset:0;width:100%;height:100%;user-select:none}.art-stage>img{object-fit:fill;pointer-events:none}#leaf-map{pointer-events:none;overflow:visible}#leaf-highlight{fill:#eedbbc27;stroke:#da7b43;stroke-width:1.8;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 5px #ffe5c4);transition:fill .2s}.archive-view.has-hover{cursor:pointer}.archive-view.dragging{cursor:grabbing}.directory-mode .archive-view{opacity:0;pointer-events:none}body:not(.directory-mode) .module-stage{opacity:0;pointer-events:none}.retrieved-art{position:absolute;left:7%;top:20%;width:42%;height:65%;opacity:0;transform:translateY(9%) scale(.85);transition:opacity .7s,transform 1s cubic-bezier(.2,.8,.2,1);pointer-events:none}.retrieved-art img{width:100%;height:100%;object-fit:contain}.retrieved-art span{position:absolute;left:35%;top:62%;font-size:12px;letter-spacing:.1em;transform:rotate(-5deg)}.dossier-open .retrieved-art{opacity:1;transform:translateY(0) scale(1)}.dossier-open .archive-view{filter:blur(5px);opacity:.36}.directory-mode .scene-label{top:34%}.directory-mode .selection{bottom:190px;max-width:290px}.directory-mode .overview{z-index:2}.selection{padding:16px 20px 16px 0;background:linear-gradient(90deg,#eeede6e8 65%,transparent);max-width:390px}.directory-mode .selection{background:none;padding:0}.scene-label{z-index:2;top:29%;mix-blend-mode:multiply}.entered .entry-caption{visibility:hidden}.entering .module-stage{animation:assembly 2.4s cubic-bezier(.2,.8,.2,1)}@keyframes assembly{from{transform:translateY(80px) scale(.84);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}body{min-height:0}.masthead,footer{pointer-events:none}.masthead a,.masthead button,footer button{pointer-events:auto}.hover-label{max-width:230px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.motion-off .module-stage{transform:none!important}.motion-off .art-stage{transform:none!important}.flat-mode .archive-view{display:none}
@media(max-width:760px){.archive-module{width:68vw;left:calc(21% + var(--i)*19%);top:44%}.archive-module:nth-child(2){top:48%}.archive-module:nth-child(3){top:39%}.archive-module:nth-child(4){top:43%}.module-id{font-size:8px}.directory-mode .selection{bottom:262px;max-width:270px}.directory-mode .selection h2{font-size:24px}.directory-mode .overview{top:110px}.art-stage{width:180vh;margin-left:-90vh;margin-top:-56.25vh}.retrieved-art{display:none}.selection{bottom:145px;left:22px;padding:14px 20px 12px 0;max-width:320px}.scene-label{display:none}.isolating .archive-module.chosen{top:43%;transform:translate(-50%,-50%) scale(1.2)}.pushing .archive-module.chosen{transform:translate(-50%,-50%) scale(4.6)}.instruction{display:none}.directory-mode .selection p{font-size:11px}.hover-label{font-size:11px}.archive-view{touch-action:none}}
@media(max-height:600px){.directory-mode .selection{bottom:153px}.selection{bottom:110px}.archive-module{top:43%}.directory-mode .selection h2{font-size:22px}.directory-mode .selection p{display:none}}
#hover-file{position:absolute;width:210px;height:310px;transform:translate(-50%,-47%) scale(.95);opacity:0;pointer-events:none;z-index:2;transition:opacity .16s,transform .26s cubic-bezier(.2,.8,.2,1);filter:drop-shadow(12px 17px 14px #1f221d38)}#hover-file img{width:100%;height:100%;object-fit:contain}#hover-file.visible{opacity:1;transform:translate(-50%,-55%) scale(1)}.dossier-open #hover-file{display:none}@media(max-width:760px){#hover-file{width:160px;height:240px}}
body:not(.directory-mode) .masthead{color:#f0ecdf;border-color:#f0ecdf50}body:not(.directory-mode) .masthead nav button span{color:#d2d1bf}body:not(.directory-mode) #back-sections{color:#f3efdf;text-shadow:0 1px 8px #181a15;background:#252922a6;padding:8px 11px;border:1px solid #e4e6d840;backdrop-filter:blur(8px)}body:not(.directory-mode) .scene-label{display:none}
/* Keep the artwork clear of the lower-left record typography. */
.archive-module{width:28vw;top:43%}.archive-module:nth-child(2){top:46%}.archive-module:nth-child(3){top:40%}.archive-module:nth-child(4){top:45%}.directory-mode .selection{bottom:174px}#leaf-highlight{fill:#d89150;stroke:none;filter:drop-shadow(0 0 3px #ffe4bb)}
@media(max-width:760px){.archive-module{width:58vw;top:35%}.archive-module:nth-child(2){top:39%}.archive-module:nth-child(3){top:33%}.archive-module:nth-child(4){top:38%}.directory-mode .selection{bottom:262px}}
#hover-file{background:url('assets/file.webp') center/contain no-repeat}
html,body{width:100%;overflow:hidden}body{display:flow-root}#scene{width:100vw;height:100svh;inset:0}
/* Clipping must not become a focus-scroll container during module departure. */
#scene{overflow:clip}
@media(max-width:760px){.archive-module{width:42vw;top:36%}.archive-module:nth-child(2){top:38%}.archive-module:nth-child(3){top:33%}.archive-module:nth-child(4){top:37%}}
/* Sculptural archive assemblies: real isolated Blender layers share one camera. */
.archive-module{width:25vw;max-width:440px;left:calc(17% + var(--i)*22%);top:43%;filter:drop-shadow(0 22px 22px #44413915)}
.archive-module:nth-child(2){top:48%}.archive-module:nth-child(3){top:40%}.archive-module:nth-child(4){top:47%}
.module-assembly{display:block;position:relative;width:100%;aspect-ratio:7 / 8}
.archive-module img.module-layer,.archive-module img.module-angle{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:transform .85s cubic-bezier(.2,.8,.2,1),opacity .65s,filter .4s}
.module-angle{opacity:0}.module-id{left:0;right:0;text-align:center;bottom:0;color:#6c6b62}
.archive-module.preview .module-cap{transform:translateY(-9px)}.archive-module.preview .module-core{transform:translateY(-3px)}
.isolating .archive-module.chosen .module-cap{transform:translateY(-32px)}.isolating .archive-module.chosen .module-core{transform:translateY(-5px)}.isolating .archive-module.chosen .module-base{transform:translateY(17px)}
.holding .archive-module.chosen .module-angle,.pushing .archive-module.chosen .module-angle{opacity:1}
.holding .archive-module.chosen .module-layer,.pushing .archive-module.chosen .module-layer{opacity:0}
.isolating .module-id{opacity:0}.isolating .archive-module.chosen{top:49%;transform:translate(-50%,-50%) scale(1.45)}
.pushing .archive-module.chosen{transform:translate(-50%,-46%) scale(5.4)}
body:not(.directory-mode) .masthead{color:var(--ink);border-color:var(--line)}body:not(.directory-mode) .masthead nav button span{color:#686a61}
@media(max-width:760px){.archive-module{width:36vw;left:calc(17% + var(--i)*22%);top:35%}.archive-module:nth-child(2){top:40%}.archive-module:nth-child(3){top:33%}.archive-module:nth-child(4){top:39%}.module-id{font-size:7px}.isolating .archive-module.chosen{top:42%;transform:translate(-50%,-50%) scale(1.65)}.pushing .archive-module.chosen{transform:translate(-50%,-46%) scale(6)}}
body:not(.directory-mode) .masthead,body:not(.directory-mode) footer{color:#eeece3;border-color:#eeece340}body:not(.directory-mode) .masthead nav button span{color:#cccbbf}
.film-grain{opacity:.015}
/* Leave a clear typography margin around the taller layered sculptures. */
.directory-mode .overview{top:112px}
.archive-module{width:20vw;top:44%}
.module-id{bottom:8%}
body:not(.directory-mode) .selection{left:auto;right:80px;bottom:190px;max-width:320px;padding:0;background:none}
body:not(.directory-mode) .archive-controls{color:#eeece3}
body:not(.directory-mode) .file-tab{border-bottom-color:#eeece355}
body:not(.directory-mode) .file-tab[aria-pressed=true]{border-bottom-color:var(--accent)}
@media(max-width:760px){
 .directory-mode .overview{top:110px}
 .archive-module{width:26vw;top:36%}
 .archive-module:nth-child(2){top:40%}.archive-module:nth-child(3){top:35%}.archive-module:nth-child(4){top:39%}
 .module-id{bottom:5%;font-size:7px}
 body:not(.directory-mode) .selection{left:22px;right:auto;bottom:145px;max-width:320px;padding:14px 20px 12px 0;background:linear-gradient(90deg,#eeede6e8 65%,transparent)}
}
/* Keep the selected-camera dissolve brief, then hold a single clean assembly. */
.holding .archive-module.chosen img,.pushing .archive-module.chosen img{transition-duration:.85s,.15s,.4s;transition-property:transform,opacity,filter}
@media(max-width:760px) and (max-height:680px){.directory-mode .overview{display:none}.directory-mode .selection{bottom:226px}.directory-mode .selection p{display:none}}
.module-id{display:none}
.isolating:not(.pushing) .archive-module.chosen{transform:translate(-50%,-50%) scale(1.8)}
@media(max-width:760px){.isolating:not(.pushing) .archive-module.chosen{transform:translate(-50%,-50%) scale(2.25)}}
.directory-mode .scene-label,.isolating .scene-label{opacity:0}
@media(min-width:761px) and (max-height:740px){.directory-mode .overview{top:104px}.directory-mode .overview h1{font-size:32px}}
@media(min-width:761px) and (max-height:740px){.directory-mode .overview h1{margin-top:0}}
/* The circular file field has real moving geometry in one registered camera stage. */
#circular-files{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:grab}#circular-files:active{cursor:grabbing}.archive-view{touch-action:none}.art-stage{transform:none!important}.motion-off .art-stage{transform:none!important}.hover-label{pointer-events:none}.archive-view .art-stage>img{pointer-events:none}
/* Ground-plane construction marks match the elevated Blender camera. */
.ground-guides{position:absolute;inset:24% 6% 28%;pointer-events:none;opacity:.09;background-image:url('assets/modules/ground-guides.svg');background-repeat:space;background-size:52px 39px;mask-image:linear-gradient(transparent,#000 22%,#000 82%,transparent);transition:opacity .4s}.ground-guides{background-repeat:repeat;background-size:180px 130px}.ground-guides::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#eeede666,transparent 20%,transparent 80%,#eeede666)}body:not(.directory-mode) .ground-guides,.isolating .ground-guides{opacity:0}.archive-module img.module-ground-frame,.archive-module img.module-ground-frame-selected{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;filter:none;pointer-events:none;transition:opacity .25s;z-index:-1}.archive-module.preview .module-ground-frame,.archive-module:focus-visible .module-ground-frame{opacity:.65}.isolating .archive-module .module-ground-frame{opacity:0}.isolating:not(.holding):not(.pushing) .archive-module.chosen .module-ground-frame{opacity:.65}.holding .archive-module.chosen .module-ground-frame-selected{opacity:.65}.pushing .module-ground-frame-selected{opacity:0!important}@media(max-width:760px){.ground-guides{inset:23% 3% 35%;background-size:110px 95px}}
/* Keep the record readable as glass files pass behind it. */
body:not(.directory-mode) .selection{padding:18px 22px;background:linear-gradient(110deg,#eeede6ed,#eeede6c9 78%,#eeede680);backdrop-filter:blur(14px);border-left:1px solid #eeede650;max-width:345px}.selection .file-number{color:#646658}@media(max-width:760px){body:not(.directory-mode) .selection{right:22px;max-width:320px;padding:14px 18px}}

/* Directory primary axes: one structural cross, subordinate ground marks. */
.directory-axes{--axis-x:50%;--axis-y:55%;position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .38s ease;color:#383a32}
.directory-mode:not(.isolating):not(.entering) .directory-axes{opacity:1}
.directory-axis{position:absolute;display:block;background:currentColor;opacity:.72}
.directory-axis.horizontal{left:0;right:0;top:var(--axis-y);height:1px}
.directory-axis.vertical{left:var(--axis-x);top:104px;bottom:68px;width:1px}
.axis-origin{position:absolute;left:var(--axis-x);top:var(--axis-y);width:5px;height:5px;background:currentColor;transform:translate(-2px,-2px)}
.axis-register{position:absolute;top:calc(var(--axis-y) + 11px);font-size:10px;line-height:1;letter-spacing:.14em;color:#65675c}
.register-left{left:40px}.register-right{right:68px}
.axis-register:before{content:'';position:absolute;top:-15px;width:1px;height:8px;background:#383a32}
.register-left:before{left:0}.register-right:before{right:0}
.axis-cap{position:absolute;left:calc(var(--axis-x) - 4px);height:1px;width:9px;background:currentColor;opacity:.72}
.cap-top{top:104px}.cap-bottom{bottom:68px}
@media(max-width:760px){
 .directory-axes{--axis-y:46%}
 .directory-axis.vertical{top:96px;bottom:calc(54% - 24px)}
 .cap-top{top:96px}.cap-bottom{bottom:calc(54% - 24px)}
 .register-left{left:22px}.register-right{right:22px}
 .axis-register{font-size:9px;top:calc(var(--axis-y) + 9px)}
}
@media(max-width:760px) and (max-height:680px){.directory-axes{--axis-y:45%}.directory-axis.vertical{bottom:calc(55% - 24px)}.cap-bottom{bottom:calc(55% - 24px)}}
@media(prefers-reduced-motion:reduce){.directory-axes{transition:none}}

/* Additional records scroll within the same controls; original small collections keep their approved layout. */
#file-tabs.many-records{max-width:min(620px,calc(100vw - 150px));overflow-x:auto;scrollbar-width:thin;scrollbar-color:#aaa99c transparent;overscroll-behavior-x:contain}
#file-tabs.many-records .file-tab{flex:0 0 36px}
button:disabled{cursor:default;opacity:.45}
@media(max-width:760px){#file-tabs.many-records{max-width:calc(100vw - 98px)}#file-tabs.many-records .file-tab{flex-basis:32px}}

/* Section-local identifiers stay whole and readable, including 6-letter codes. */
#file-tabs{max-width:min(620px,calc(100vw - 150px));overflow-x:auto;scrollbar-width:thin;scrollbar-color:#aaa99c transparent;overscroll-behavior-x:contain}
#file-tabs .file-tab,#file-tabs.many-records .file-tab{width:auto;min-width:78px;flex:0 0 auto;padding-inline:10px;white-space:nowrap;font-variant-numeric:tabular-nums}
.index-row{grid-template-columns:max-content minmax(0,1fr) 58px;column-gap:16px}.index-no{white-space:nowrap;font-variant-numeric:tabular-nums}
@media(max-width:760px){#file-tabs,#file-tabs.many-records{max-width:calc(100vw - 98px)}#file-tabs .file-tab,#file-tabs.many-records .file-tab{min-width:72px;padding-inline:8px}.index-row{grid-template-columns:max-content minmax(0,1fr) 45px;column-gap:12px}}

/* Junyi Yang's Lab: Chinese reading rhythm, with existing spatial layout. */
:root{font-family:Archive,Helvetica,Arial,'PingFang SC','Microsoft YaHei','Noto Sans CJK SC',sans-serif}
.identity>span{font-size:25px;letter-spacing:-.045em;line-height:1.1}
.identity small{font-size:12px;letter-spacing:.12em}
.overview h1{letter-spacing:0;line-height:1.3}
.directory-mode .overview{top:120px}
.directory-mode .selection h2{letter-spacing:0;line-height:1.3}
.directory-mode .selection p{line-height:1.75;font-size:13px}
.section-tab strong{letter-spacing:0;line-height:1.5;font-size:15px}
.section-tab small{font-size:11px;letter-spacing:.05em}
.selection p,.index-row small{letter-spacing:.02em;line-height:1.65}
.about-panel p{font-size:16px;line-height:1.85}
.about-panel h2{font-size:clamp(30px,5vw,47px)}
.entry-caption{display:none!important}
footer>div{margin-left:auto}
@media(max-width:760px){.identity>span{font-size:21px}.identity small{font-size:10px}.directory-mode .overview{top:110px}.directory-mode .overview h1{font-size:24px}.section-tab strong{font-size:14px}.section-tab small{font-size:10px}.directory-mode .selection p{font-size:12px}.directory-mode .selection h2{font-size:24px}.about-panel p{font-size:16px}}
@media(max-width:380px){.identity>span{font-size:18px}.masthead{gap:10px}.masthead nav{gap:14px}footer{font-size:8px}}

/* Directory copy: the module itself is the entry target. */
body.directory-mode .selection #open-file{display:none}
body.directory-mode .selection h2{padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--line)}
body.directory-mode .selection p{display:block;margin-bottom:0}
