.three-gallery{min-height:calc(100svh - var(--navbar-height));padding:clamp(2rem,5vw,5rem) clamp(1rem,5vw,5rem) 5rem;color:var(--text-color);background:radial-gradient(circle at 72% 18%,rgba(30,227,166,.1),transparent 24rem),var(--background-color)}.three-gallery-header{width:min(1180px,100%);margin:0 auto clamp(2rem,5vw,4rem);display:flex;align-items:end;justify-content:space-between;gap:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.three-gallery-index,.three-gallery-kicker{color:var(--link-color);font:700 .72rem/1.2 Courier New,monospace;letter-spacing:.12em;text-transform:uppercase}.three-gallery-header h1{margin:.45rem 0 .65rem;font-size:clamp(2.3rem,6vw,5.4rem);line-height:.95;letter-spacing:-.055em}.three-gallery-header p,.three-gallery-info p{max-width:42rem;margin:0;color:var(--text-color-secondary);line-height:1.65}.three-gallery-count{flex:none;color:var(--text-color-secondary);font:.75rem Courier New,monospace;text-transform:uppercase}.three-gallery-grid{width:min(1180px,100%);margin:0 auto;display:grid;grid-gap:clamp(2rem,5vw,4rem);gap:clamp(2rem,5vw,4rem)}.three-gallery-item{overflow:hidden;border:1px solid var(--border-color);border-radius:18px;background:color-mix(in srgb,var(--background-color) 90%,#fff 10%);box-shadow:0 20px 70px rgba(0,0,0,.22)}.three-gallery-preview{position:relative;min-height:clamp(360px,55vw,620px);display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle,rgba(30,227,166,.08),transparent 42%),#070a0c}.three-gallery-preview-grid{position:absolute;inset:0;background-image:linear-gradient(hsla(0,0%,100%,.035) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.035) 1px,transparent 0);background-size:42px 42px;-webkit-mask-image:radial-gradient(circle,#000,transparent 74%);mask-image:radial-gradient(circle,#000,transparent 74%)}.three-gallery-preview>div:not(.three-gallery-preview-grid){position:relative;z-index:1}.three-gallery-preview canvas{display:block;max-width:min(80vw,260px);height:auto!important}.three-gallery-info{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:2rem;gap:2rem;align-items:end;padding:clamp(1.25rem,3vw,2rem);border-top:1px solid var(--border-color)}.three-gallery-info h2{margin:.35rem 0 .6rem;font-size:clamp(1.5rem,3vw,2.2rem)}.three-gallery-tags{display:flex;flex-wrap:wrap;justify-content:end;gap:.4rem}.three-gallery-tags span{padding:.3rem .55rem;border:1px solid var(--border-color);border-radius:999px;color:var(--text-color-secondary);font:.68rem Courier New,monospace}.three-gallery-code{border-top:1px solid var(--border-color)}.three-gallery-code summary{display:flex;justify-content:space-between;gap:1rem;padding:1rem clamp(1.25rem,3vw,2rem);cursor:pointer;color:var(--text-color-secondary);font:.75rem Courier New,monospace;list-style:none}.three-gallery-code summary::-webkit-details-marker{display:none}.three-gallery-code[open] summary{color:var(--text-color);border-bottom:1px solid var(--border-color)}.three-gallery-source-label--open{display:none}.three-gallery-source-label--closed,.three-gallery-source-label--open{align-items:center;gap:.4rem}.three-gallery-source-label--closed{display:inline-flex}.three-gallery-code[open] .three-gallery-source-label--closed{display:none}.three-gallery-code[open] .three-gallery-source-label--open{display:inline-flex}.three-gallery-code-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 1rem;background:#0b0f12;color:#91a0aa;font:.7rem Courier New,monospace}.three-gallery-code-toolbar button{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .7rem;border:1px solid #29333a;border-radius:6px;color:#d7e2e3;background:#151b1f;cursor:pointer;font:inherit}.three-gallery-code-toolbar button:hover{border-color:#4b6268}.three-gallery-code pre{max-height:38rem;margin:0;padding:1.25rem;overflow:auto;color:#c3d0d4;background:#070a0c;font:.74rem/1.65 SFMono-Regular,Consolas,monospace;-moz-tab-size:2;tab-size:2}.three-gallery-code .syntax-comment{color:#66757d;font-style:italic}.three-gallery-code .syntax-keyword{color:#df8fcb}.three-gallery-code .syntax-string{color:#9ed68f}.three-gallery-code .syntax-number{color:#e4b475}.three-gallery-code .syntax-tag{color:#73c7dc}.three-gallery-code .syntax-operator{color:#8ebde8}@media (max-width:700px){.three-gallery{padding-top:1.5rem}.three-gallery-header{align-items:start;flex-direction:column;gap:1rem}.three-gallery-info{grid-template-columns:1fr}.three-gallery-tags{justify-content:start}.three-gallery-preview{min-height:360px}}