.nft-v5-vault{padding:clamp(72px,9vw,132px) clamp(20px,5vw,80px);background:radial-gradient(circle at 85% 0,rgba(232,92,150,.11),transparent 34%),linear-gradient(180deg,#030806,#07110d 54%,#030806);border-block:1px solid rgba(184,255,24,.13)}
.nft-v5-vault>header{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.7fr);gap:44px;align-items:end;max-width:1440px;margin:0 auto 38px}
.nft-v5-vault h2{margin:.4rem 0 0;color:#f7fff9;font-size:clamp(2.7rem,6.2vw,6.6rem);line-height:.88;letter-spacing:-.065em;text-transform:uppercase}
.nft-v5-vault h2 em{color:#e85c96;font-style:normal;text-shadow:0 0 30px rgba(232,92,150,.25)}
.nft-v5-vault>header p{max-width:42rem;margin:0;color:#91aaa0;font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.65}
.nft-v5-layer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1440px;margin:0 auto}
.nft-v5-layer-grid article{overflow:hidden;background:#06100c;border:1px solid rgba(55,216,255,.17);box-shadow:0 18px 50px rgba(0,0,0,.28);transition:transform .2s ease,border-color .2s ease}
.nft-v5-layer-grid article:hover{transform:translateY(-3px);border-color:rgba(232,92,150,.62)}
.nft-v5-layer-grid img{display:block;width:100%;aspect-ratio:1600/748;object-fit:cover;background:#020706}
.nft-v5-layer-grid article div{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;border-top:1px solid rgba(184,255,24,.12)}
.nft-v5-layer-grid h3{margin:0;color:#f7fff9;font-size:.84rem;letter-spacing:.12em}
.nft-v5-layer-grid b{flex:none;color:#37d8ff;font-size:.65rem;letter-spacing:.09em}
.nft-v5-loading{grid-column:1/-1;color:#91aaa0;letter-spacing:.1em}
.nft-v5-boundary{display:flex;gap:22px;align-items:center;max-width:1440px;margin:24px auto 0;padding:18px 20px;background:rgba(184,255,24,.055);border-left:3px solid #b8ff18;color:#91aaa0}
.nft-v5-boundary b{flex:none;color:#b8ff18;font-size:.75rem;letter-spacing:.12em}
.nft-v5-boundary span{line-height:1.5}
@media(max-width:980px){.nft-v5-vault>header{grid-template-columns:1fr}.nft-v5-layer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.nft-v5-layer-grid{grid-template-columns:1fr}.nft-v5-boundary{align-items:flex-start;flex-direction:column;gap:8px}.nft-v5-vault{padding-inline:16px}}
@media(prefers-reduced-motion:reduce){.nft-v5-layer-grid article{transition:none}}

/* V5.1 real-asset layer lab. */
.nft-v5-lab{display:grid;grid-template-columns:minmax(360px,.78fr) minmax(0,1.22fr);gap:16px;max-width:1440px;margin:0 auto}.nft-layer-preview{position:sticky;top:94px;align-self:start;overflow:hidden;border:1px solid rgba(232,92,150,.24);border-radius:14px;background:#020706}.nft-layer-canvas{position:relative;width:100%;aspect-ratio:1;overflow:hidden;background:linear-gradient(45deg,#09130f 25%,#050b08 25% 50%,#09130f 50% 75%,#050b08 75%);background-size:24px 24px}.nft-layer-canvas img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.nft-layer-readout{padding:18px;border-top:1px solid rgba(184,255,24,.12)}.nft-layer-readout>span{color:#37d8ff;font:900 .5rem ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.09em}.nft-layer-readout h3{margin:8px 0 13px;color:#f7fff9;font-size:1.35rem}.nft-layer-readout>div{display:flex;align-items:center;justify-content:space-between;gap:14px}.nft-layer-readout b,.nft-layer-readout em{font:900 .48rem ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em}.nft-layer-readout b{color:#e85c96}.nft-layer-readout em{color:#758b7f;font-style:normal}.nft-layer-browser{min-width:0;border:1px solid rgba(55,216,255,.14);border-radius:14px;background:rgba(3,10,7,.82);overflow:hidden}.nft-layer-families{padding:10px;border-bottom:1px solid rgba(184,255,24,.11);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.nft-layer-families button{min-width:0;min-height:50px;padding:8px 9px;border:1px solid rgba(255,255,255,.07);border-radius:7px;background:#07110d;color:#7c9186;display:flex;align-items:center;justify-content:space-between;gap:7px;cursor:pointer}.nft-layer-families button[data-active=true]{border-color:rgba(184,255,24,.44);background:rgba(184,255,24,.07);color:#d9ff68}.nft-layer-families b{overflow:hidden;font:850 .54rem ui-monospace,SFMono-Regular,Menlo,monospace;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.nft-layer-families span{color:#37d8ff;font:900 .48rem ui-monospace,SFMono-Regular,Menlo,monospace}.nft-layer-options{padding:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.nft-layer-options>button{min-width:0;padding:7px;border:1px solid rgba(255,255,255,.07);border-radius:9px;background:#050d09;color:#8da096;text-align:left;cursor:pointer;transition:border-color .18s ease,transform .18s ease}.nft-layer-options>button:hover{transform:translateY(-2px);border-color:rgba(55,216,255,.34)}.nft-layer-options>button[data-active=true]{border-color:rgba(232,92,150,.7);background:rgba(232,92,150,.055)}.nft-layer-options img{display:block;width:100%;aspect-ratio:1;object-fit:contain;border-radius:6px;background:linear-gradient(45deg,#0b1712 25%,#07100c 25% 50%,#0b1712 50% 75%,#07100c 75%);background-size:18px 18px}.nft-layer-options>button>span{min-width:0;padding:9px 3px 3px;display:grid;gap:4px}.nft-layer-options b{overflow:hidden;color:#e8f5ed;font-size:.66rem;text-overflow:ellipsis;white-space:nowrap}.nft-layer-options small{color:#37d8ff;font:850 .45rem ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.06em}.nft-v5-loading{grid-column:1/-1;color:#91aaa0;letter-spacing:.1em}
@media(max-width:1040px){.nft-v5-lab{grid-template-columns:1fr}.nft-layer-preview{position:relative;top:auto;width:min(100%,680px);margin:0 auto}.nft-layer-families{grid-template-columns:repeat(3,minmax(0,1fr))}.nft-layer-options{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.nft-layer-families{grid-template-columns:repeat(2,minmax(0,1fr))}.nft-layer-options{grid-template-columns:repeat(2,minmax(0,1fr))}.nft-layer-readout>div{align-items:flex-start;flex-direction:column}}
@media(max-width:420px){.nft-layer-options{grid-template-columns:1fr 1fr}.nft-layer-options b{font-size:.58rem}}
@media(prefers-reduced-motion:reduce){.nft-layer-options>button{transition:none}}
