.gallery-wrapper{z-index:0;--gallery-chrome-surface:color-mix(in oklch, var(--neutral-950) 78%, transparent);--gallery-chrome-border:color-mix(in oklch, var(--neutral-50) 20%, transparent);--gallery-chrome-text:var(--neutral-50);--gallery-chrome-text-muted:color-mix(in oklch, var(--neutral-50) 76%, transparent);position:fixed;inset:0}#gallery-canvas{width:100%;height:100%;display:block}.gallery-hud{inset-block-start:var(--space-4);inset-inline:var(--space-4);z-index:3;justify-content:space-between;align-items:flex-start;gap:var(--space-3);pointer-events:none;display:flex;position:absolute}.gallery-hud>*{pointer-events:auto}.gallery-back-link,.gallery-overlay__action{min-height:44px;padding-inline:var(--space-4);border:var(--border-width-1) solid var(--gallery-chrome-border);background:var(--gallery-chrome-surface);color:var(--gallery-chrome-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:.08em;text-transform:uppercase;justify-content:center;align-items:center;text-decoration:none;transition:background-color .2s,border-color .2s,color .2s,opacity .2s;display:inline-flex}.gallery-back-link:hover,.gallery-overlay__action:hover{background:color-mix(in oklch, var(--neutral-950) 88%, var(--neutral-50));color:var(--gallery-chrome-text);text-decoration:none}.gallery-hud__panel{width:min(100%,30rem);padding:var(--space-6);border:var(--border-width-1) solid var(--gallery-chrome-border);background:var(--gallery-chrome-surface);gap:var(--space-3);margin-inline-start:auto;display:grid}.gallery-hud__status{color:var(--gallery-chrome-text);font-size:var(--font-size-base);line-height:var(--line-height-snug);max-width:32ch}.gallery-hud__instructions{color:var(--gallery-chrome-text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-snug);max-width:40ch;padding-top:var(--space-2)}.gallery-hud kbd{border:var(--border-width-1) solid color-mix(in oklch, var(--neutral-50) 28%, transparent);background:color-mix(in oklch, var(--neutral-50) 10%, transparent);min-width:2.1em;min-height:2.1em;color:var(--gallery-chrome-text);font-family:inherit;font-size:.8em;font-weight:var(--font-weight-semibold);vertical-align:middle;box-shadow:inset 0 -2px 0 color-mix(in oklch, var(--neutral-950) 45%, transparent);justify-content:center;align-items:center;padding-inline:.55em;line-height:1;display:inline-flex}.gallery-kbd-group{gap:var(--space-1);vertical-align:middle;margin-inline-end:var(--space-1);display:inline-flex}.gallery-wrapper[data-gallery-state=locked] .gallery-hud__instructions{display:none}.gallery-wrapper[data-gallery-state=locked] .gallery-hud__panel{width:auto;max-width:min(100%,18rem);padding:var(--space-3) var(--space-4);gap:0}.gallery-wrapper[data-gallery-state=locked] .gallery-hud__status{max-width:none;font-size:var(--font-size-sm);letter-spacing:.08em;text-transform:uppercase}@media (width<=767px){.gallery-hud{inset-inline:var(--space-4);flex-direction:column;align-items:stretch}.gallery-hud__panel{width:100%;margin-inline-start:0}.gallery-hud__status{max-width:none}}#display-labels{pointer-events:none;display:none;position:absolute;inset:0;overflow:visible}#display-labels.active{display:block}.display-label{background:var(--neutral-800);border:1px solid color-mix(in oklch, var(--neutral-50) 20%, transparent);width:min(460px,100vw - 32px);color:var(--neutral-50);opacity:0;pointer-events:none;padding:26px 28px 28px;font-size:1.04rem;line-height:1.55;transition:opacity .36s,transform .36s;position:absolute;top:0;left:0;transform:translate(calc(18px - 100%),calc(18px - 100%))scale(.94);box-shadow:0 24px 64px #00000047}.display-label.visible{opacity:1;transform:translate(-100%,-100%)scale(1)}.display-label-accent{border-radius:999px;width:52px;height:5px;margin-bottom:14px;display:block;box-shadow:0 0 24px #ffffff38}.display-label-title{color:var(--neutral-50);letter-spacing:-.02em;margin-bottom:8px;font-size:1.36rem;font-weight:650;display:block}.display-label-meta{color:color-mix(in oklch, var(--neutral-50) 58%, transparent);letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px;font-size:.78rem;display:block}.display-label-desc{color:color-mix(in oklch, var(--neutral-50) 80%, transparent);font-size:1rem;line-height:1.6;display:block}.display-label-tech{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.display-label-tech-tag{letter-spacing:.08em;text-transform:uppercase;color:color-mix(in oklch, var(--neutral-50) 70%, transparent);background:color-mix(in oklch, var(--neutral-50) 8%, transparent);border:1px solid color-mix(in oklch, var(--neutral-50) 14%, transparent);border-radius:6px;padding:3px 8px;font-size:.7rem}.display-label-link{letter-spacing:.12em;text-transform:uppercase;color:color-mix(in oklch, var(--neutral-50) 70%, transparent);align-items:center;gap:7px;margin-top:14px;font-size:.78rem;display:inline-flex}.display-label-link kbd{color:var(--neutral-100);background:color-mix(in oklch, var(--neutral-50) 12%, transparent);border:1px solid color-mix(in oklch, var(--neutral-50) 22%, transparent);letter-spacing:0;border-radius:5px;padding:2px 7px;font-family:inherit;font-size:.72rem}.gallery-overlay{background:var(--neutral-900);flex-direction:column;justify-content:center;align-items:center;gap:12px;transition:opacity .4s;display:flex;position:absolute;inset:0}.gallery-overlay.hidden{opacity:0;pointer-events:none}.gallery-overlay h1{font-family:var(--font-nature), system-ui, sans-serif;font-size:2.5rem;font-weight:var(--font-weight-bold);letter-spacing:-.02em;color:var(--neutral-50);margin:0}.gallery-overlay p{font-family:var(--font-nature), system-ui, sans-serif;font-weight:var(--font-weight-regular);color:color-mix(in oklch, var(--neutral-50) 78%, transparent);margin:0;font-size:1rem}#gallery-mobile-wall{--gallery-chrome-surface:color-mix(in oklch, var(--neutral-950) 78%, transparent);--gallery-chrome-border:color-mix(in oklch, var(--neutral-50) 20%, transparent);--gallery-chrome-text:var(--neutral-50);gap:var(--space-4);min-height:100dvh;padding:var(--space-6);color:var(--neutral-50);background:var(--neutral-950);grid-template-rows:auto 1fr;display:grid}.gallery-mobile-wall__bar{justify-content:flex-start;display:flex}.gallery-mobile-wall__body{text-align:center;place-items:center;display:grid}.gallery-back-link--mobile{padding-inline:var(--space-4)}#gallery-mobile-wall p{font-size:var(--font-size-lg);color:var(--neutral-400);max-width:20ch;margin:0}
