/* 玻璃只用于导航和操作层，作品内容保留原有的清晰材质。 */
:root{--glass-ink:#30392a;--glass-line:rgba(255,255,255,.78);--glass-shadow:0 7px 20px -12px #33452b55,0 2px 5px #33452b09,inset 0 1px 1px #ffffffed,inset 0 -1px 1px #6f806719}
.hero-piece{--scroll-scale:1;--scroll-x:0px;--scroll-y:0px;--scroll-r:0deg;--entry-y:0px;--hover-y:0px;transform:translate(calc(-50% + var(--x) + var(--scroll-x)),calc(-50% + var(--entry-y) + var(--scroll-y) + var(--hover-y))) rotate(calc(var(--r) + var(--scroll-r))) scale(var(--scroll-scale));backface-visibility:hidden}
.glass-control{--glass-x:50%;--glass-y:15%;--glass-lift:0px;--glass-press:1;position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:42px;padding:10px 19px;border:1px solid var(--glass-line);border-radius:999px;color:var(--glass-ink);background:linear-gradient(155deg,#ffffff80,#ffffff24 55%,#ebeee34d);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%);transform:translateY(var(--glass-lift)) scale(var(--glass-press));transition:background .28s,box-shadow .28s,border-color .28s,color .28s;cursor:pointer;vertical-align:middle;line-height:1.5;-webkit-tap-highlight-color:transparent}
.glass-control::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;background:radial-gradient(ellipse at var(--glass-x) var(--glass-y),#ffffffc7 0%,#ffffff32 38%,transparent 70%);opacity:.25;transition:opacity .3s}
.glass-control::after{content:"";position:absolute;inset:1px;z-index:-1;pointer-events:none;border-radius:inherit;border:1px solid #ffffff28;box-shadow:inset 0 1px 1px #ffffffb3,inset 0 -1px 2px #57674b14}
.glass-control:hover{color:var(--glass-ink);background:linear-gradient(155deg,#ffffffa6,#ffffff38 60%,#ebeee361);box-shadow:0 10px 25px -12px #33452b66,0 2px 6px #33452b0c,inset 0 1px 1px #fff,inset 0 -1px 1px #6f80671c}
.glass-control:hover::before,.glass-control:focus-visible::before{opacity:.85}
.glass-control:focus-visible{outline:2px solid #687b50;outline-offset:4px}
.glass-control svg{width:18px;height:18px;flex:none;stroke-width:1.5;vector-effect:non-scaling-stroke}
.glass-control[aria-pressed=true]{color:#354529;background:linear-gradient(150deg,#ffffffb3,#acbb9759);border-color:#ffffffd9;box-shadow:var(--glass-shadow)}
.site-header{background:#efede6ad;-webkit-backdrop-filter:blur(26px) saturate(140%);backdrop-filter:blur(26px) saturate(140%);border-bottom-color:#ffffff73}
.desktop-nav{gap:4px;padding:5px;border:1px solid #ffffff85;border-radius:999px;background:linear-gradient(150deg,#ffffff55,#ffffff1c);box-shadow:0 7px 22px -18px #33452b66,inset 0 1px 1px #ffffffb3}
.desktop-nav .nav-link{padding:9px 13px;font-size:12px;min-height:38px;background:transparent;border-color:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.desktop-nav .nav-link::after{border:0;inset:1px;width:auto;height:auto;bottom:1px;background:none;box-shadow:none}
.desktop-nav .nav-link.active,.desktop-nav .nav-link:hover{background:#ffffff68;border-color:#ffffff9c;box-shadow:inset 0 1px 1px #ffffffe0,0 3px 10px -8px #32442c66}
.nav-contact.glass-control{padding:9px 16px;min-height:38px;background:linear-gradient(145deg,#ffffff9c,#dce5ce6b);gap:15px}
.menu-toggle.glass-control{display:none}
.text-link.glass-control{font-size:12px;gap:24px;padding:11px 19px;border-bottom:1px solid var(--glass-line)}
.pill-link.glass-control{font-size:12px;padding:13px 25px}
.opening-explore .arrow-ring.glass-control{padding:0;width:48px;height:48px;border-color:#ffffffbd;color:var(--glass-ink);background:linear-gradient(145deg,#ffffff85,#dfe7d04d)}
.opening-explore:hover .arrow-ring{transform:translateY(var(--glass-lift)) scale(var(--glass-press));color:var(--glass-ink)}
.discipline-bar,.project-section-nav{background:#efede6ba;border-color:#ffffff85;-webkit-backdrop-filter:blur(24px) saturate(140%);backdrop-filter:blur(24px) saturate(140%)}
.discipline-inner{padding-top:10px;padding-bottom:10px}
.discipline-links{gap:5px;padding:4px;border-radius:999px;background:#ffffff26;border:1px solid #ffffff61}
.discipline-links a.glass-control{font-size:12px;min-height:38px;padding:8px 17px;color:#57624e;background:transparent;border-color:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.discipline-links a span{top:-2px;font-size:9px;margin-left:3px}
.discipline-links a::after{display:none}
.glass-rail{position:relative;isolation:isolate}
.glass-rail>.glass-control{z-index:1}
.glass-selection{position:absolute;left:0;top:0;z-index:0;border-radius:999px;border:1px solid #ffffffe0;pointer-events:none;background:linear-gradient(150deg,#ffffffb8,#b5c49c50);box-shadow:0 4px 15px -10px #40533773,inset 0 1px 1px #fff,inset 0 -1px 1px #71825c24;will-change:transform;opacity:0}
.glass-rail>.glass-control[aria-pressed=true],.glass-rail>.glass-control.active{background:transparent;box-shadow:none;border-color:transparent;color:#2c3d20}
.archive-filters,.device-controls{padding:5px;gap:4px;border:1px solid #ffffff91;background:#ffffff28;border-radius:999px}
.archive-filter.glass-control,.device-control.glass-control{min-height:38px;padding:8px 17px;font-size:12px;background:transparent;border-color:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.project-section-nav .wrap{gap:7px;padding-top:9px;padding-bottom:9px}
.project-section-nav .glass-control{min-height:38px;font-size:12px;padding:8px 17px;background:transparent;border-color:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.detail-track a.glass-control{display:flex;justify-content:flex-start;font-size:11px;border:1px solid #ffffff70;margin-bottom:5px;padding:8px 13px;min-height:36px}
.detail-track a.active{background:linear-gradient(145deg,#ffffffc7,#c8d5b273);font-weight:500}
.detail-canvas .detail-slice-caption{display:none}
.zoom-hint.glass-control{padding:0;min-height:36px;width:36px;height:36px;background:#ffffff80;color:#33412a;border-color:#ffffffb3;box-shadow:var(--glass-shadow)}
.project-open{width:42px;height:42px;border-radius:50%;background:#ffffff6b;color:#33412a;border:1px solid #ffffffa6;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);box-shadow:var(--glass-shadow)}
.contact-tools{flex-wrap:wrap;gap:10px}
.contact .glass-control,.lightbox .glass-control{color:#f3f4ec;border-color:#ffffff3d;background:linear-gradient(145deg,#ffffff29,#ffffff09);box-shadow:0 8px 22px -16px #0008,inset 0 1px 1px #ffffff4d,inset 0 -1px 1px #ffffff0d}
.contact .glass-control::before,.lightbox .glass-control::before{background:radial-gradient(ellipse at var(--glass-x) var(--glass-y),#ffffff45,transparent 70%)}
.contact .glass-control::after,.lightbox .glass-control::after{border-color:#ffffff0a;box-shadow:inset 0 1px 1px #ffffff20}
.contact .glass-control:hover,.lightbox .glass-control:hover{color:white;background:#ffffff25}
.contact-tools .glass-control{font-size:12px;padding:9px 16px}
.lightbox-arrow.glass-control,.lightbox-close.glass-control{width:44px;height:44px;min-height:44px;padding:0;border-radius:50%;font-size:16px}
.lightbox-close.glass-control{width:auto;padding:0 15px;gap:8px;font-size:12px}
.cursor-label{display:flex;gap:9px;width:auto;min-width:104px;height:44px;padding:0 16px;font-size:12px;letter-spacing:.02em;color:#273520;background:linear-gradient(135deg,#fffffff0,#edf2e1ba);border:1px solid #fffffff0;border-radius:999px;box-shadow:0 9px 28px -12px #28351b88,inset 0 1px 1px white,inset 0 -1px 1px #6f806729;-webkit-backdrop-filter:blur(22px) saturate(155%);backdrop-filter:blur(22px) saturate(155%);transform:none;transition:none;white-space:nowrap;pointer-events:none;contain:layout style}
.cursor-label svg{width:16px;height:16px;flex:none;stroke-width:1.5}
.cursor-label.visible{scale:none}
/* 仅在支持折射滤镜的桌面浏览器上增强当前悬停控件。 */
@supports(backdrop-filter:url("#liquid-refraction")){@media(hover:hover) and (pointer:fine){.glass-control[data-glass-optics]:hover{backdrop-filter:url("#liquid-refraction") blur(16px) saturate(150%)}}}
@media(max-width:1100px){.desktop-nav .nav-link{padding:8px 10px}.discipline-links a.glass-control{padding:8px 14px}}
@media(max-width:760px){.menu-toggle.glass-control{display:inline-flex;font-size:11px;min-height:38px;padding:8px 14px;gap:10px}.desktop-nav{border-radius:0 0 24px 24px;padding:18px var(--gutter);gap:7px;border:1px solid #ffffffbd;background:#f3f3eaf0;box-shadow:0 20px 35px -25px #33452b88}.desktop-nav .nav-link{justify-content:flex-start;min-height:44px;font-size:15px;padding:10px 16px}.desktop-nav .nav-contact{justify-content:space-between;min-height:44px;font-size:15px}.discipline-inner{padding-top:8px;padding-bottom:8px}.discipline-links{width:100%;gap:0;justify-content:space-between;padding:3px}.discipline-links a.glass-control{min-height:36px;font-size:10px;padding:8px 9px;gap:1px;white-space:nowrap}.discipline-links a span{font-size:8px;margin-left:3px}.text-link.glass-control,.pill-link.glass-control{min-height:44px;font-size:12px}.opening-explore .arrow-ring.glass-control{width:42px;height:42px;min-height:42px}.archive-filters{width:max-content;max-width:100%;gap:2px;padding:4px}.archive-filter.glass-control,.device-control.glass-control{font-size:11px;padding:8px 12px}.project-section-nav .wrap{gap:4px;padding-top:8px;padding-bottom:8px}.project-section-nav .glass-control{font-size:11px;padding:8px 12px;white-space:nowrap}.detail-track{display:flex;padding-bottom:8px}.detail-track a.glass-control{display:inline-flex;min-height:36px;font-size:10px;padding:7px 12px;margin:0;white-space:nowrap}.cursor-label{display:none}.glass-control{--glass-lift:0px!important}.contact-tools .glass-control{min-height:44px;font-size:11px}.lightbox-arrow.glass-control{width:40px;height:44px;min-height:44px;flex:none}.lightbox-stage{gap:8px}.lightbox-stage img{max-width:calc(100% - 96px)}}
@media(prefers-reduced-motion:reduce){.glass-control{transform:none!important;transition:none}.glass-selection{will-change:auto}.cursor-label{display:none}.glass-control::before{transition:none}}
@media(prefers-reduced-transparency:reduce){.glass-control,.desktop-nav,.discipline-bar,.project-section-nav{background:#f4f3eb;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.contact .glass-control,.lightbox .glass-control{background:#45523d}.glass-selection{background:#dce5cf}}
@media(forced-colors:active){.glass-control,.glass-selection{border:1px solid ButtonText;box-shadow:none}.glass-control::before,.glass-control::after{display:none}}

/* 加载下一张时保留当前图片，完成后平滑恢复清晰度。 */
.lightbox-stage img{transition:opacity .18s}.lightbox[aria-busy=true] .lightbox-stage img{opacity:.78}
