
/* 起缘 OOF · oof.ink 首页样式 */
@font-face{font-family:"OOF Serif SC";src:url(../fonts/noto-serif-sc-600.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:"OOF Serif SC";src:url(../fonts/noto-serif-sc-900.woff2) format("woff2");font-weight:900;font-display:swap}@font-face{font-family:"Instrument Serif";src:url(../fonts/instrument-serif.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"Instrument Serif";src:url(../fonts/instrument-serif-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:"JetBrains Mono";src:url(../fonts/jetbrains-mono-400.woff2) format("woff2");font-weight:100 800;font-display:swap}:root{
  --bg:#0a0b10; --bg-2:#0e1016; --line:rgba(232,201,160,.12); --line-2:rgba(232,201,160,.22);
  --dust:#e8c9a0; --text:#ece6da; --dim:rgba(236,230,218,.58); --faint:rgba(236,230,218,.34);
  --copper:#d98663; --copper-hi:#efae86; --gold:#e8b04b; --vermilion:#d4382a; --cyan:#39d0d8; --ice:#9ecbff;
  --serif-sc:"OOF Serif SC","Noto Serif SC","Source Han Serif SC","Songti SC",STSong,serif;
  --serif-lat:"Instrument Serif","Times New Roman",serif;
  --sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",system-ui,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,"Cascadia Mono",Consolas,monospace;
  --pad:clamp(20px,4.2vw,64px);
  --ease:cubic-bezier(.2,.7,.1,1);
}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:clip}
html{scrollbar-color:#2b2a2c var(--bg);scrollbar-width:thin}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:#2b2a2c;border-radius:8px}
::-webkit-scrollbar-thumb:hover{background:#4a4038}
@media (prefers-reduced-motion:reduce){
  html:not(.force-motion){scroll-behavior:auto}
}body{margin:0;font-family:var(--sans);font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:clip;width:100%}
::selection{background:rgba(217,134,99,.38);color:#fff}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{font:inherit;color:inherit}
:focus-visible{outline:1px solid var(--copper-hi);outline-offset:4px}
em{font-style:normal}

/* 全局胶片颗粒 */
body::after{content:"";position:fixed;inset:-50%;z-index:90;pointer-events:none;opacity:.055;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 1.2s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}@media (prefers-reduced-motion:reduce){
  html:not(.force-motion) body::after{animation:none}
}.skip{position:fixed;left:16px;top:-60px;z-index:100;background:var(--dust);color:var(--bg);padding:8px 14px;border-radius:2px;font-size:14px}
.skip:focus{top:12px}

/* ---------- 导航 ---------- */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:18px var(--pad);transition:background .5s var(--ease),padding .5s var(--ease),border-color .5s;border-bottom:1px solid transparent}
.nav.is-scrolled{background:rgba(10,11,16,.62);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);
  padding-top:12px;padding-bottom:12px;border-bottom-color:var(--line)}
.nav__brand{display:flex;align-items:center;gap:12px;color:var(--dust)}
.nav__logo{width:64px;height:auto;display:block}
.nav__name{font-family:var(--serif-sc);font-weight:600;font-size:15px;letter-spacing:.32em}
.nav__links{display:flex;gap:clamp(14px,2.4vw,34px);font-size:13px;letter-spacing:.14em;color:var(--dim)}
.nav__links a{position:relative;padding:4px 0;transition:color .3s}
.nav__links a i{font-family:var(--mono);font-style:normal;font-size:9.5px;color:var(--copper);margin-right:6px;letter-spacing:.05em;vertical-align:2px}
.nav__links a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--copper-hi);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
.nav__links a:hover,.nav__links a.is-active{color:var(--text)}
.nav__links a:hover::after,.nav__links a.is-active::after{transform:scaleX(1);transform-origin:left}
.nav__cta{font-size:13px;letter-spacing:.18em;padding:9px 16px 9px 18px;border:1px solid var(--line-2);border-radius:999px;color:var(--dust);transition:background .35s,color .35s,border-color .35s}
.nav__cta:hover{background:var(--dust);color:var(--bg);border-color:var(--dust)}
@media (max-width:860px){
  .nav__links{display:none}
}
/* ---------- 首屏 ---------- */
.hero{position:relative;height:100vh;height:100svh;min-height:600px;overflow:hidden;isolation:isolate;cursor:crosshair;
  background:radial-gradient(120% 95% at 50% 44%,#10121a 0%,#0a0b10 55%,#060709 100%)}
#hero-gl{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:pan-y;opacity:0;animation:fadeIn 1.6s ease .1s forwards}
@keyframes fadeIn{to{opacity:1}}.hero__fb{position:absolute;inset:0;display:none;align-items:center;justify-content:center;padding-bottom:12vh}
.hero__fb svg{width:min(62vw,620px);filter:drop-shadow(0 0 24px rgba(232,176,75,.3))}
.hero__veil{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(10,11,16,.55) 0%,rgba(10,11,16,0) 16%,rgba(10,11,16,0) 62%,rgba(10,11,16,.72) 88%,var(--bg) 100%)}
@keyframes beat{0%,100%{opacity:.5;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}.motion-toggle{display:none;cursor:pointer;background:rgba(16,18,26,.4);border:1px solid var(--line-2);border-radius:2px;padding:4px 10px;font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--dim);transition:border-color .25s,color .25s}
.motion-toggle.is-visible{display:inline-block}
.motion-toggle:hover{border-color:rgba(232,176,75,.55);color:var(--text)}
.motion-toggle .mt__on{display:none}
.motion-toggle[data-state="on"] .mt__on{display:inline}
.motion-toggle[data-state="on"] .mt__off{display:none}
.hero__scroll{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;
  font-family:var(--mono);font-size:9.5px;letter-spacing:.4em;color:var(--faint);padding-left:.4em}
.hero__scroll i{width:1px;height:38px;background:linear-gradient(var(--dust),transparent);transform-origin:top;animation:drip 2.2s var(--ease) infinite}
@keyframes drip{0%{transform:scaleY(0);opacity:1}60%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}@media (max-width:900px){
  .hero__scroll{display:none}
}@media (prefers-reduced-motion:reduce){
  #hero-gl{animation-duration:.01s;animation-delay:0s}
  html:not(.force-motion) .hero__scroll i{animation:none}
}

.hero__meta-top{position:absolute;top:calc(84px + env(safe-area-inset-top));left:var(--pad);right:var(--pad);pointer-events:none}
.tag-meta{font-family:var(--mono);font-size:11px;letter-spacing:.24em;color:var(--faint)}
.hero__center-title{position:absolute;left:50%;bottom:clamp(90px,16vh,160px);transform:translateX(-50%);text-align:center;pointer-events:none}
.hero__brand-txt{margin:0;font-family:var(--serif-lat);font-size:clamp(32px,5.5vw,76px);letter-spacing:.2em;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(232,201,160,.4);text-shadow:0 0 36px rgba(232,176,75,.15)}
.hero__brand-sub{margin:10px 0 0;font-family:var(--serif-sc);font-weight:600;font-size:13px;letter-spacing:.42em;color:var(--faint)}

/* 首屏极简:只留落款 */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hero__sig{position:absolute;left:50%;bottom:clamp(64px,11vh,110px);transform:translateX(-50%);margin:0;pointer-events:none;white-space:nowrap;
  font-family:var(--mono);font-size:10.5px;letter-spacing:.62em;padding-left:.62em;color:rgba(232,201,160,.38);opacity:0;animation:fadeIn 2.4s ease 2.2s forwards}
.hero__sig i{font-style:normal;color:var(--gold);margin:0 .2em}
.hero .motion-toggle{position:absolute;right:var(--pad);bottom:24px;padding:4px 9px;font-size:10px}
.hero__scroll{gap:0}

/* ---------- 走马带 ---------- */
.marquee{position:relative;width:100%;max-width:100vw;overflow:hidden;contain:paint;border-block:1px solid var(--line);padding:18px 0;background:var(--bg);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.marquee__track{display:flex;align-items:center;gap:42px;width:max-content;animation:marq 38s linear infinite;
  font-family:var(--serif-lat);font-size:clamp(26px,3.2vw,44px);line-height:1;color:var(--dim);white-space:nowrap}
.marquee__track span:nth-of-type(2n){font-family:var(--serif-sc);font-weight:600;letter-spacing:.2em;font-size:.82em}
.marquee__track em{font-style:italic;color:var(--copper-hi)}
.marquee__track b{font-weight:400;color:var(--gold);font-size:.8em}
@keyframes marq{to{transform:translateX(-50%)}}@media (prefers-reduced-motion:reduce){
  html:not(.force-motion) .marquee__track{animation:none}
}
/* ---------- 核心作品流 (WORKS STREAM) ---------- */
.works-stream{display:flex;flex-direction:column;gap:clamp(80px,12vw,140px);padding:clamp(60px,10vw,120px) var(--pad)}

.work-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(36px,6vw,90px);align-items:center}
.work-item--alt{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
.work-item--alt .work-item__info{order:2}
.work-item--alt .work-item__visual{order:1}

.work-item__info{display:flex;flex-direction:column;gap:18px}
.work-item__no{font-family:var(--mono);font-size:11px;letter-spacing:.24em;color:var(--copper)}
.work-item__title{margin:0;font-family:var(--serif-sc);font-weight:900;font-size:clamp(28px,3.2vw,48px);line-height:1.2;letter-spacing:.04em;color:var(--text);display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 14px}
.work-item__title em{font-family:var(--serif-lat);font-style:italic;font-weight:400;color:var(--dim);font-size:clamp(20px,2vw,30px);letter-spacing:0;white-space:nowrap}
.work-item__desc{margin:0;color:var(--dim);font-size:15px;line-height:1.85;max-width:32em}

.work-item__tags{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.work-item__tags li{font-family:var(--mono);font-size:11px;letter-spacing:.1em;padding:4px 10px;border-radius:2px;border:1px solid var(--line-2);color:var(--faint)}

.work-item__status{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;color:var(--dim);margin-top:6px}
.dot-live{width:6px;height:6px;border-radius:50%;background:var(--copper);box-shadow:0 0 10px var(--copper);animation:beat 2.2s ease-in-out infinite}
.dot-green{background:var(--cyan);box-shadow:0 0 10px var(--cyan)}

.work-item__visual{position:relative;aspect-ratio:16/10.5;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#06080c;isolation:isolate}
.work-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:crosshair}
.work-item__hint{position:absolute;left:16px;bottom:12px;z-index:2;font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--faint);pointer-events:none}

/* 动效实训室横栏 */
.work-item--lab{display:flex;flex-direction:column;gap:36px;border-top:1px solid var(--line);padding-top:clamp(60px,8vw,100px)}
.work-item__head{max-width:44em}

@media (max-width:900px){
  .work-item,.work-item--alt{grid-template-columns:1fr;gap:28px}
  .work-item--alt .work-item__info{order:1}
  .work-item--alt .work-item__visual{order:2}
  .work-item__visual{aspect-ratio:16/11}
}
/* ---------- 04 实验室 ---------- */
.lab{padding:clamp(100px,12vw,160px) 0 clamp(80px,10vw,130px)}
.lab__rail{display:flex;gap:clamp(14px,1.6vw,24px);overflow-x:auto;scroll-snap-type:x mandatory;padding:6px var(--pad) 28px;scrollbar-width:none;cursor:grab;outline-offset:-4px}
.lab__rail::-webkit-scrollbar{display:none}
.lab__rail.is-drag{cursor:grabbing;scroll-snap-type:none}
.lab__rail.is-drag .labcard{pointer-events:none}
.labcard{position:relative;flex:0 0 clamp(280px,34vw,520px);aspect-ratio:16/10;border-radius:6px;overflow:hidden;scroll-snap-align:start;border:1px solid var(--line);background:#07080b;isolation:isolate}
.labcard img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);filter:saturate(.85) brightness(.82);transition:transform 1.1s var(--ease),filter .6s}
.labcard::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(5,6,10,.85));z-index:1}
.labcard:hover img,.labcard:focus-visible img{transform:scale(1.0);filter:saturate(1.05) brightness(1)}
.labcard__no{position:absolute;top:16px;left:18px;z-index:2;font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:rgba(255,255,255,.7)}
.labcard__name{position:absolute;left:18px;bottom:16px;z-index:2;display:flex;align-items:baseline;gap:12px;font-family:var(--mono);font-size:11.5px;letter-spacing:.24em;color:rgba(255,255,255,.78)}
.labcard__name b{font-family:var(--serif-sc);font-weight:900;font-size:30px;letter-spacing:0;color:#fff}
.labcard__go{position:absolute;right:16px;bottom:14px;z-index:2;width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.3);display:grid;place-items:center;color:#fff;font-size:14px;
  transform:translate(6px,6px);opacity:0;transition:all .5s var(--ease)}
.labcard:hover .labcard__go,.labcard:focus-visible .labcard__go{transform:none;opacity:1}
.lab__bar{margin:0 var(--pad);height:1px;background:var(--line);position:relative}
.lab__bar i{position:absolute;left:0;top:0;height:1px;width:20%;background:var(--dust)}

/* ---------- 05 联系 ---------- */
.contact{padding:clamp(120px,16vw,220px) var(--pad) clamp(90px,10vw,140px);text-align:center;overflow:hidden;
  background:radial-gradient(50% 45% at 50% 55%,rgba(232,176,75,.09),transparent 70%),var(--bg)}
.contact__title{margin:0 0 56px;display:flex;flex-direction:column;align-items:center;gap:10px}
.ct-line{display:block;font-family:var(--serif-sc);font-weight:900;font-size:clamp(64px,13vw,200px);line-height:1;letter-spacing:.08em;padding-left:.08em}
.ct-line em{color:transparent;-webkit-text-stroke:1.5px var(--gold);text-shadow:0 0 50px rgba(232,176,75,.25)}
.ct-line--lat{font-family:var(--serif-lat);font-weight:400;font-style:italic;font-size:clamp(28px,4.4vw,66px);letter-spacing:.01em;color:var(--dim);padding:0}
.ct-line--lat em{-webkit-text-stroke:0;color:var(--copper-hi)}
.contact__mail{display:inline-flex;align-items:center;gap:18px;padding:18px 30px 18px 34px;border:1px solid var(--line-2);border-radius:999px;font-family:var(--mono);font-size:clamp(15px,1.5vw,19px);letter-spacing:.06em;color:var(--text);
  transition:background .4s,color .4s,border-color .4s;will-change:transform}
.contact__mail i{font-style:normal;transition:transform .4s var(--ease)}
.contact__mail:hover{background:var(--dust);color:var(--bg);border-color:var(--dust)}
.contact__mail:hover i{transform:translateX(5px)}

/* ---------- 页脚 ---------- */
.foot{border-top:1px solid var(--line);padding:22px var(--pad) calc(22px + env(safe-area-inset-bottom))}
.foot__row{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;color:var(--faint)}
.foot__mid{display:flex;align-items:center;gap:10px}
.foot__dot{width:5px;height:5px;border-radius:50%;background:var(--gold);box-shadow:0 0 8px var(--gold)}
.foot__row--icp{justify-content:center;margin-top:10px}
.foot__row--icp a{color:var(--faint);text-decoration:none;letter-spacing:.15em;transition:color .25s}
.foot__row--icp a:hover{color:var(--dim)}

/* ---------- 光标 ---------- */
.cursor{position:fixed;left:0;top:0;z-index:95;pointer-events:none;width:34px;height:34px;margin:-17px 0 0 -17px;border:1px solid rgba(232,201,160,.45);border-radius:50%;
  opacity:0;transition:opacity .3s,width .35s var(--ease),height .35s var(--ease),margin .35s var(--ease),border-color .3s,background .3s;mix-blend-mode:difference}
.cursor i{position:absolute;left:50%;top:50%;width:4px;height:4px;margin:-2px 0 0 -2px;border-radius:50%;background:var(--dust)}
.cursor.is-on{opacity:1}
.cursor.is-link{width:58px;height:58px;margin:-29px 0 0 -29px;border-color:rgba(232,201,160,.9);background:rgba(232,201,160,.08)}
@media (hover:none),(pointer:coarse){
  .cursor{display:none}
}
/* ---------- 进场 ---------- */
.reveal{opacity:0;transform:translateY(34px);transition:opacity 1s var(--ease),transform 1.2s var(--ease)}
.reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html:not(.force-motion) .reveal{opacity:1;transform:none;transition:none}
}html.no-js .reveal{opacity:1;transform:none}


/* ---------- 通用按钮组件 (.btn) ---------- */
.btn-group{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:8px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:10px 20px;border-radius:999px;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-decoration:none;transition:all .3s var(--ease);cursor:pointer;line-height:1.2}
.btn--primary{background:var(--dust);color:var(--bg);border:1px solid var(--dust);font-weight:500}
.btn--primary:hover{background:#fff;border-color:#fff;box-shadow:0 0 24px rgba(232,201,160,.4)}
.btn--secondary{background:rgba(232,201,160,.06);color:var(--text);border:1px solid var(--line-2)}
.btn--secondary:hover{background:rgba(232,201,160,.14);border-color:var(--dust);color:#fff}
.btn--ghost{background:transparent;color:var(--dim);border:1px solid transparent;padding:10px 14px}
.btn--ghost:hover{color:var(--text);border-color:var(--line-2)}
.btn--cyan{background:rgba(57,208,216,.12);color:var(--cyan);border:1px solid rgba(57,208,216,.35)}
.btn--cyan:hover{background:var(--cyan);color:var(--bg);box-shadow:0 0 20px rgba(57,208,216,.4)}
.btn small{font-size:.85em;opacity:.7}

/* ---------- 下载中心页面样式 (.dl-*) ---------- */
.dl-wrap{padding:clamp(120px,16vh,160px) var(--pad) 80px;max-width:1200px;margin:0 auto}
.dl-header{margin-bottom:clamp(40px,7vw,70px);max-width:38em}
.dl-header__tag{font-family:var(--mono);font-size:11px;letter-spacing:.26em;color:var(--copper);display:block;margin-bottom:14px}
.dl-header__title{margin:0 0 16px;font-family:var(--serif-sc);font-weight:900;font-size:clamp(36px,4.5vw,64px);line-height:1.15;letter-spacing:.04em;color:var(--text)}
.dl-header__title em{font-family:var(--serif-lat);font-style:italic;font-weight:400;color:var(--dim);margin-left:14px;font-size:.8em}
.dl-header__desc{margin:0;color:var(--dim);font-size:15px;line-height:1.8}

.dl-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(24px,3.5vw,40px);align-items:start}
.dl-card{position:relative;border:1px solid var(--line);border-radius:8px;padding:clamp(24px,4vw,40px);background:var(--bg-2);display:flex;flex-direction:column;gap:20px;isolation:isolate}
.dl-card--feature{border-color:rgba(217,134,99,.4);background:radial-gradient(80% 60% at 90% 10%,rgba(217,134,99,.12),transparent 70%),#0c0e14}
.dl-card--feature::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--copper),var(--gold),transparent)}

.dl-card__badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;color:var(--copper);align-self:flex-start}
.dl-card__title{margin:0;font-family:var(--serif-sc);font-weight:900;font-size:clamp(24px,2.4vw,34px);letter-spacing:.04em;color:var(--text)}
.dl-card__desc{margin:0;color:var(--dim);font-size:14px;line-height:1.8}

.dl-card__meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:14px;padding:18px 0;border-block:1px solid var(--line);font-family:var(--mono);font-size:11px}
.dl-card__meta dt{color:var(--faint);margin-bottom:4px}
.dl-card__meta dd{margin:0;color:var(--text);font-weight:500}

.dl-card__sha{font-family:var(--mono);font-size:10px;color:var(--faint);word-break:break-all;line-height:1.6;background:rgba(0,0,0,.3);padding:10px 12px;border-radius:4px;border:1px solid var(--line)}
.dl-card__sha span{color:var(--dim);display:block;margin-bottom:4px}

.dl-subgrid{display:flex;flex-direction:column;gap:clamp(20px,2.5vw,32px)}
.dl-card--sub{padding:28px}
.dl-card--sub .dl-card__title{font-size:20px}

@media (max-width:900px){
  .dl-grid{grid-template-columns:1fr}
}


/* ---------- 体素交互工具栏 (.voxel-toolbar) ---------- */
.voxel-stepper{position:absolute;bottom:12px;right:16px;z-index:3;display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:10px;color:var(--faint);letter-spacing:.12em}
.v-sep{opacity:.4}
.v-step{background:transparent;border:0;padding:2px 4px;font-family:inherit;font-size:inherit;letter-spacing:inherit;color:var(--faint);cursor:pointer;transition:color .3s var(--ease);line-height:1}
.v-step:hover{color:var(--dim)}
.v-step.is-active{color:var(--dust);font-weight:500;text-shadow:0 0 12px rgba(232,201,160,.4)}
