:root{--display:"Aldrich", "Trebuchet MS", system-ui, sans-serif;--neon:#39ff14;--ink:#0a0d14}*{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}body{color:#f2f2f2;min-height:100dvh;font-family:system-ui,sans-serif}body:before{content:"";z-index:-1;background:linear-gradient(#06080ce6,#06080cf5),url(/loading-bg.jpg) 50%/cover no-repeat;position:fixed;inset:0}.bar{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#06080cd1;border-bottom:1px solid #ffffff12;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem clamp(1rem,3vw,2rem);display:flex;position:sticky;top:0}.brand img{width:auto;height:2.6rem;display:block}.bar-actions{align-items:center;gap:.4rem;display:flex}.icon-link{color:#ffffff9e;border-radius:.45rem;place-items:center;width:2.2rem;height:2.2rem;transition:color .12s,background .12s;display:grid}@media (hover:hover){.icon-link:hover{color:var(--neon);background:#ffffff12}}.icon-link svg{width:1.15rem;height:1.15rem}.cta{background:var(--neon);color:#080a0d;font-family:var(--display);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:.45rem;margin-left:.4rem;padding:.5rem 1.1rem;font-size:.82rem;text-decoration:none;transition:filter .12s}@media (hover:hover){.cta:hover{filter:brightness(1.15)}}main{max-width:96rem;margin:0 auto;padding:clamp(1.5rem,4vw,3rem) clamp(1rem,3vw,2rem) 5rem}main h1{font-family:var(--display);letter-spacing:.02em;text-transform:uppercase;font-size:clamp(2rem,5vw,3rem)}.lede{opacity:.6;max-width:34rem;margin:.5rem 0 2rem;line-height:1.6}.empty{text-align:center;opacity:.45;padding:4rem 0}.pieces{columns:22rem;column-gap:1rem}.piece{break-inside:avoid;cursor:pointer;background:#ffffff0a;border:0;border-radius:.6rem;width:100%;margin:0 0 1rem;padding:0;transition:transform .22s,box-shadow .22s;display:block;overflow:hidden;box-shadow:0 .4rem 1.2rem #0006}.piece img{width:100%;height:auto;display:block}@media (hover:hover){.piece:hover,.piece:focus-visible{outline:none;transform:translateY(-.4rem)scale(1.015);box-shadow:0 1.4rem 2.6rem #0009,0 0 0 1px #39ff1466}}.viewer{z-index:40;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#04060aeb;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);place-items:center;gap:1.25rem;padding:clamp(1rem,4vw,3rem);display:grid;position:fixed;inset:0}.viewer img{object-fit:contain;border-radius:.4rem;min-width:0;max-width:100%;min-height:0;max-height:100%;box-shadow:0 2rem 4rem #000000b3}.viewer-actions{gap:.6rem;display:flex}.cta.ghost{color:#f2f2f2;background:0 0;border:1px solid #ffffff47;margin:0}@media (hover:hover){.cta.ghost:hover{border-color:var(--neon);color:var(--neon);filter:none}}.viewer .cta{cursor:pointer;font-family:var(--display);border:1px solid #0000}.viewer-close{color:#f2f2f2;cursor:pointer;background:#ffffff14;border:0;border-radius:.5rem;width:2.6rem;height:2.6rem;font-size:1.6rem;line-height:1;transition:background .12s;position:absolute;top:clamp(.5rem,2vw,1.25rem);right:clamp(.5rem,2vw,1.25rem)}@media (hover:hover){.viewer-close:hover{background:#ffffff2e}}@media (prefers-reduced-motion:reduce){.piece{transition:none}.piece:hover,.piece:focus-visible{transform:none}}@media (width<=34rem){.bar{gap:.5rem;padding:.5rem .85rem}.brand img{height:2.1rem}.cta{letter-spacing:.04em;margin-left:0;padding:.55rem .9rem;font-size:.72rem}.viewer{padding:3.6rem .75rem calc(1rem + env(safe-area-inset-bottom));gap:.9rem}.viewer-actions{flex-wrap:wrap;justify-content:center}.viewer-close{width:2.75rem;height:2.75rem}.viewer .cta{padding:.7rem 1.2rem}}.spinner{border:3px solid #ffffff1f;border-top-color:var(--neon);border-radius:50%;width:2.6rem;height:2.6rem;margin:5rem auto;animation:.25s .3s both spinner-in,.8s linear infinite spin}@keyframes spin{to{transform:rotate(1turn)}}@keyframes spinner-in{0%{opacity:0}to{opacity:1}}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.spinner{border-color:var(--neon);animation:.25s .3s both spinner-in,1.4s ease-in-out infinite spinner-pulse}@keyframes spinner-pulse{0%,to{opacity:.25}50%{opacity:1}}}#version{font-family:var(--display);letter-spacing:.1em;color:#ffffff4d;-webkit-user-select:none;user-select:none;margin-right:auto;padding-top:.25rem;font-size:.62rem}
