:root{--bg:#0d1012;--white:#eeeee7;--muted:#a0a7a7;--accent:#b5d9ce;--accent-rgb:181,217,206;--line:rgba(237,239,235,.13);font-family:'Avenir Next','PingFang SC','Microsoft YaHei',sans-serif;color:var(--white);background:var(--bg);font-synthesis:none;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,a,input{-webkit-tap-highlight-color:transparent}button,a{color:inherit}button{font:inherit;cursor:pointer;border:0;background:none}a{text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button:disabled{opacity:.35;cursor:wait}button:hover{color:var(--accent)}.skip{position:fixed;top:-60px;left:20px;z-index:40;padding:12px;background:var(--white);color:var(--bg)}.skip:focus{top:12px}.topbar{height:96px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;position:fixed;inset:0 0 auto;z-index:10;background:linear-gradient(var(--bg),transparent)}.brand{font-size:28px;font-weight:750;font-style:italic;letter-spacing:-1.6px;display:flex;align-items:center;gap:18px}.brand span{font-size:10px;font-weight:400;font-style:normal;letter-spacing:3px;border-left:1px solid #42474a;padding-left:18px}.topbar nav{display:flex;gap:36px;align-items:center;font-size:12px;letter-spacing:1px}.topbar nav a,.topbar nav button{padding:8px 0}.nav-active{border-bottom:1px solid var(--accent)}.topbar nav span{padding-left:7px;color:var(--muted)}.edition{font-size:10px;letter-spacing:2px;color:#d5d7d5}.edition span{color:#788082}.journey{height:320vh}.stage{height:100svh;min-height:680px;position:sticky;top:0;overflow:hidden;background:radial-gradient(ellipse at 66% 45%,#252c2d 0%,#14191b 31%,#0d1012 70%)}.ambient{position:absolute;inset:0;background:radial-gradient(ellipse at 60% 54%,rgba(var(--accent-rgb),.13),transparent 57%);transition:background 1.3s}.halo{position:absolute;width:63vw;height:16vw;border-radius:50%;left:31%;top:66%;background:radial-gradient(ellipse,rgba(var(--accent-rgb),.08),transparent 60%);filter:blur(18px)}.wordmark{position:absolute;top:16%;left:3%;width:94%;font-size:20.4vw;font-weight:800;line-height:1;letter-spacing:-1.25vw;color:rgba(218,230,227,.038);user-select:none;pointer-events:none}.floor-line{position:absolute;left:39%;right:10%;top:74%;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--accent-rgb),.28),transparent);transform:rotate(-4deg)}#scene{position:absolute;inset:0;touch-action:pan-y;cursor:grab;outline-offset:-6px}#scene:active{cursor:grabbing}#scene canvas{width:100%;height:100%;display:block}#loading{position:absolute;left:57%;top:40%;font-size:11px;letter-spacing:2px;color:#adbdb8;pointer-events:none;transition:opacity .4s}#loading span{display:block;width:20px;height:20px;border:1px solid #4c5955;border-top-color:var(--accent);border-radius:50%;margin:0 auto 15px;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.chapter{position:absolute;left:5%;top:27%;z-index:2;pointer-events:none;transition:opacity .4s,transform .4s}.chapter button{pointer-events:auto}.eyebrow{font-size:10px;font-weight:500;letter-spacing:2.4px;color:var(--accent);display:flex;align-items:center;gap:9px}.eyebrow i{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--accent)}h1{font-size:clamp(44px,4.3vw,68px);font-weight:500;letter-spacing:3px;margin:21px 0 20px;line-height:1.3}.chapter p{font-size:12px;line-height:2.1;color:#a7afaf;letter-spacing:1.2px;margin:0 0 27px}.explore{display:flex;align-items:center;justify-content:space-between;gap:45px;border:1px solid #56645f;padding:13px 18px;font-size:12px;letter-spacing:1px;min-width:160px;transition:background .2s}.explore:hover{background:rgba(var(--accent-rgb),.08)}.explore span{font-size:20px;line-height:1}.small-note{font-size:10px;letter-spacing:2px;color:#798482;margin-top:26px}.detail-copy h2{font-size:clamp(38px,4vw,60px);font-weight:400;line-height:1.45;letter-spacing:3px;margin:22px 0}.detail-copy p{max-width:250px}.text-link{font-size:11px;border-bottom:1px solid #65726d;padding:0 0 10px;letter-spacing:1px}.chapter-nav{position:absolute;right:3.9%;top:34%;display:flex;flex-direction:column;gap:21px}.chapter-nav button{display:flex;align-items:center;justify-content:flex-end;gap:14px;padding:8px 0}.chapter-nav span{font-size:10px;letter-spacing:1px;opacity:0;transition:opacity .3s}.chapter-nav button:hover span,.chapter-nav .active span{opacity:1}.chapter-nav i{width:4px;height:4px;background:#73807b;border-radius:50%;display:block}.chapter-nav .active i{background:var(--accent);box-shadow:0 0 0 4px rgba(var(--accent-rgb),.08)}.model-label{position:absolute;right:10%;top:48%;width:130px;pointer-events:none}.model-label>span{font-size:10px;letter-spacing:2px;color:#8d9c98}.model-label h3{font-size:28px;font-weight:400;letter-spacing:5px;margin:8px 0 10px}.model-label p{font-size:10px;color:#9ba7a3;line-height:1.8;letter-spacing:1px}.viewer-controls{position:absolute;bottom:210px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:0;background:rgba(15,20,22,.68);border:1px solid var(--line);border-radius:40px;backdrop-filter:blur(12px);padding:6px;white-space:nowrap}.viewer-controls>button{font-size:10px;letter-spacing:.8px;padding:8px 14px;border-radius:28px;display:flex;align-items:center;gap:6px}.viewer-controls>button[aria-pressed=true]{background:rgba(var(--accent-rgb),.13);color:var(--accent)}.rotate-icon{font-size:20px;line-height:1}.zoom-control{display:flex;align-items:center;gap:3px;border-left:1px solid var(--line);border-right:1px solid var(--line);padding:0 6px}.zoom-control button{font-size:16px;width:26px;height:28px}.zoom-control input{width:64px;accent-color:var(--accent);height:2px;cursor:pointer}.interaction-hint{position:absolute;bottom:174px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:1px;color:#929e9a;white-space:nowrap}.interaction-hint>span{font-size:20px}.interaction-hint i{width:2px;height:2px;border-radius:50%;background:#81918a}.collection{position:absolute;bottom:49px;left:24%;right:24%}.collection-heading{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:1.7px;color:#8f9b96;margin:0 2px 10px}.collection-heading>span:last-child{font-family:monospace}.swatches{display:flex;gap:7px;justify-content:space-between}.swatch{height:78px;min-width:0;flex:1;position:relative;display:flex;align-items:flex-end;justify-content:center;border:1px solid rgba(220,230,224,.1);border-radius:3px;background:#181d1f;overflow:hidden;transition:border .3s,background .3s}.swatch img{height:88px;width:auto;position:absolute;left:45%;top:-17px;transform:rotate(22deg);opacity:.6;mix-blend-mode:screen;transition:opacity .3s,transform .3s}.swatch span{position:relative;z-index:1;font-size:9px;letter-spacing:1px;padding:4px 0 6px;width:100%;background:linear-gradient(transparent,#151a1c 30%);color:#aab3b0}.swatch.active{border-color:var(--accent);background:rgba(var(--accent-rgb),.065)}.swatch.active img,.swatch:hover img{opacity:1;transform:rotate(12deg)}.swatch.active span{color:var(--accent)}.stage-footer{position:absolute;bottom:22px;left:4%;right:4%;display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:2px;color:#66726f}.stage-footer button{font-size:9px;letter-spacing:1px}dialog{background:#151a1d;color:var(--white);border:1px solid #35413c;padding:0;max-width:calc(100vw - 30px);max-height:calc(100svh - 30px);box-shadow:0 30px 100px #0009}dialog::backdrop{background:rgba(0,0,0,.75);backdrop-filter:blur(10px)}#reference-modal{width:720px}.modal-bar{display:flex;align-items:center;justify-content:space-between;padding:21px 25px;border-bottom:1px solid var(--line)}.modal-bar h2{font-size:19px;font-weight:400;letter-spacing:2px;margin:8px 0 0}.modal-bar .eyebrow{font-size:8px}.close{font-size:30px;color:#a7b6af;width:40px;height:40px;line-height:1}.reference-image{height:calc(100svh - 218px);min-height:180px;background:#202122;overflow:auto;text-align:center}.reference-image img{height:100%;max-width:100%;object-fit:contain;display:block;margin:auto}.modal-bottom{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;font-size:11px}.modal-bottom span{font-size:10px;color:var(--muted)}#about-modal{width:490px;padding:44px 36px}#about-modal>.close{position:absolute;right:12px;top:12px}#about-modal h2{font-size:25px;font-weight:400;margin:22px 0}#about-modal p{font-size:13px;color:#adb8b2;line-height:1.9;margin:18px 0}#about-modal .explore{margin-top:30px}#toast{position:fixed;bottom:38px;left:50%;transform:translateX(-50%);background:#d5e6dd;color:#18221e;font-size:12px;padding:12px 20px;z-index:50;opacity:0;pointer-events:none;transition:opacity .2s;max-width:90vw}#toast.visible{opacity:1}#fallback{position:absolute;top:13%;left:34%;height:58%;width:48%;text-align:center}#fallback img{height:100%;max-width:100%;object-fit:contain}#fallback p{font-size:11px;line-height:1.6}.stage[data-phase="1"] .wordmark,.stage[data-phase="2"] .wordmark{opacity:.4}.stage[data-phase="1"] .model-label,.stage[data-phase="2"] .model-label{top:31%}
@media(min-width:1700px){.collection{left:28%;right:28%}.viewer-controls{bottom:230px}.interaction-hint{bottom:190px}.swatch{height:92px}.collection{bottom:56px}}
@media(max-width:1100px){.edition{display:none}.topbar nav{gap:24px}.collection{left:18%;right:18%}.model-label{right:9%;width:105px}.chapter{left:5%;top:25%}.model-label h3{font-size:23px}.chapter p{font-size:11px}.viewer-controls{bottom:207px}}
@media(max-width:680px){.topbar{height:75px;padding:0 6%}.brand{font-size:24px}.brand span{font-size:9px;gap:10px;letter-spacing:2px;padding-left:12px}.topbar nav{gap:0}.topbar nav a,.topbar nav #go-detail{display:none}.topbar nav button{font-size:10px}.stage{min-height:650px}.wordmark{top:26%;font-size:21vw;left:0;letter-spacing:-1.8vw;width:100%}.chapter{left:7%;top:14%;right:7%}.eyebrow{font-size:8px;letter-spacing:2px}h1{font-size:36px;margin:13px 0 10px;letter-spacing:2px}.chapter p{font-size:10px;line-height:1.9;letter-spacing:.5px;margin-bottom:16px}.intro .explore{position:absolute;right:0;top:43px;font-size:10px;padding:9px 12px;min-width:0;gap:18px}.small-note{display:none}.chapter-nav{right:6%;top:40%;gap:15px}.chapter-nav span{display:none}.model-label{left:7%;right:auto;top:46%;width:85px}.model-label h3{font-size:22px;letter-spacing:3px}.model-label>span{font-size:8px}.model-label p{font-size:8px}.viewer-controls{bottom:202px;gap:0;padding:4px}.viewer-controls>button{padding:7px 11px;font-size:9px}.control-label{display:none}.zoom-control input{width:54px}.interaction-hint{bottom:166px;font-size:8px;letter-spacing:.6px;gap:8px}.collection{left:6%;right:6%;bottom:48px}.collection-heading{font-size:8px;margin-bottom:9px}.swatches{gap:5px}.swatch{height:73px}.swatch img{height:83px;left:42%;top:-17px}.swatch span{font-size:8px;letter-spacing:0}.stage-footer{left:6%;right:6%;bottom:23px;font-size:6px;letter-spacing:1px}.stage-footer button{font-size:8px}.detail-copy h2{font-size:32px;margin:13px 0;line-height:1.4}.detail-copy p{max-width:145px;font-size:10px}.detail-copy .text-link{font-size:9px}.stage[data-phase="1"] .model-label,.stage[data-phase="2"] .model-label{top:51%}.stage[data-phase="1"] .chapter,.stage[data-phase="2"] .chapter{top:15%}.modal-bottom{padding:14px 12px;font-size:10px}.modal-bottom span{font-size:8px}.modal-bar{padding:18px}.modal-bar h2{font-size:16px}#about-modal{padding:38px 26px}#fallback{top:31%;left:32%;width:58%;height:35%}}
@media(max-height:740px) and (min-width:681px){.stage{min-height:620px}.chapter{top:24%}.chapter h1{font-size:42px;margin:14px 0}.chapter p{margin-bottom:18px}.small-note{margin-top:16px}.viewer-controls{bottom:178px}.interaction-hint{bottom:145px}.collection{bottom:41px}.swatch{height:62px}.stage-footer{bottom:17px}.collection-heading{margin-bottom:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
[hidden]{display:none!important}

#scene.inspection{touch-action:none;user-select:none}
@media(max-width:680px){.topbar nav .real-model-link{display:block;font-size:10px}.topbar nav{gap:14px}}
