@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/assets/fonts/plus-jakarta-sans-var.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/assets/fonts/jetbrains-mono-var.woff2) format("woff2")}:root{color-scheme:light;--color-paper: oklch(97% .012 95);--color-paper-2: oklch(94% .016 95);--color-paper-3: oklch(91% .02 95);--color-rule: oklch(86% .014 90);--color-neutral: oklch(38% .014 100);--color-ink-2: oklch(28% .014 250);--color-ink: oklch(20% .012 250);--color-accent: oklch(86% .18 95);--color-accent-deep: oklch(76% .2 95);--color-accent-2: oklch(66% .18 235);--color-accent-2-deep: oklch(56% .2 235);--color-accent-3: oklch(68% .24 18);--color-accent-3-deep: oklch(58% .26 18);--color-mint: oklch(80% .16 150);--color-mint-deep: oklch(70% .18 150);--color-accent-ink: oklch(20% .012 250);--color-focus: oklch(56% .2 235);--tint-pear: oklch(86% .18 95 / .16);--tint-pear-soft: oklch(86% .18 95 / .08);--tint-cyan: oklch(66% .18 235 / .14);--tint-coral: oklch(68% .24 18 / .12);--tint-mint: oklch(80% .16 150 / .16);--shadow-card: 0 12px 32px -16px oklch(20% .012 250 / .18), 0 1px 2px oklch(20% .012 250 / .06);--shadow-card-hover: 0 18px 40px -16px oklch(20% .012 250 / .24), 0 2px 4px oklch(20% .012 250 / .07);--shadow-pear-cast: oklch(76% .2 95 / .45);--shadow-coral-cast: oklch(58% .26 18 / .35);--font-display: "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;--font-body: "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;--font-label: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--text-display: clamp(2.4rem, 9vw, 4.25rem);--text-display-s: clamp(1.5rem, 5vw, 2rem);--text-md: 1.0625rem;--text-base: 1rem;--text-sm: .875rem;--text-xs: .75rem;--tracking-display: -.025em;--tracking-tight: -.014em;--tracking-label: .1em;--lh-tight: 1.05;--lh-snug: 1.18;--lh-normal: 1.55;--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--radius-card: 22px;--radius-input: 12px;--radius-pill: 999px;--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-snap: cubic-bezier(.22, 1, .36, 1);--ease-press: cubic-bezier(.2, .7, .3, 1);--dur-burst: .42s;--dur-tick: 1.2s;--page-max: 46rem;--page-gutter: max(1rem, env(safe-area-inset-left), env(safe-area-inset-right))}*{box-sizing:border-box;margin:0;padding:0}html,body{overflow-x:clip}body{font-family:var(--font-body);background:var(--color-paper);color:var(--color-ink);line-height:var(--lh-normal);min-height:100vh;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}main{width:100%;max-width:var(--page-max);margin:0 auto;padding:calc(var(--space-xl) + env(safe-area-inset-top)) var(--page-gutter) calc(var(--space-xl) + env(safe-area-inset-bottom))}a{color:var(--color-accent-2-deep)}.masthead{margin-bottom:var(--space-xl)}h1{font-family:var(--font-display);font-size:var(--text-display);font-weight:800;font-style:normal;line-height:var(--lh-tight);letter-spacing:var(--tracking-display);overflow-wrap:anywhere;min-width:0}.hl{background-image:linear-gradient(var(--color-accent) 0 0);background-repeat:no-repeat;background-size:100% .34em;background-position:0 84%;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-bottom:.02em}.spark{display:inline-block;width:.32em;height:.32em;margin-left:.14em;border-radius:var(--radius-pill);background:var(--color-accent-deep);animation:spark-breathe 4s ease-in-out infinite}@keyframes spark-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.18)}}.pitch{margin-top:var(--space-md);font-size:var(--text-base);line-height:var(--lh-normal);color:var(--color-neutral);max-width:34em}.add-cta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);min-height:48px;margin:var(--space-md) 0 var(--space-lg);padding:var(--space-xs) var(--space-md);border:1px solid var(--color-rule);border-radius:var(--radius-pill);background:var(--tint-pear-soft);color:var(--color-ink);font-weight:600;text-decoration:none;white-space:nowrap}.add-cta:hover{background:var(--tint-pear)}.add-cta:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.shelf{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-sm)}@media(min-width:40rem){.shelf{gap:var(--space-md)}}.tile a{position:relative;overflow:hidden;display:block;aspect-ratio:1;border-radius:var(--radius-card);background:linear-gradient(155deg,var(--from),var(--to));box-shadow:var(--shadow-card);color:var(--color-paper);text-decoration:none;transform:translateY(0);transition:transform .22s var(--ease-spring),box-shadow .22s}.tile a:hover{transform:translateY(-4px);box-shadow:var(--shadow-card-hover)}.tile a:active{transform:translateY(2px);box-shadow:var(--shadow-card);transition-duration:70ms}.tile a:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.art{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center}.art img{display:block;position:absolute}.art.cutout img{left:8%;top:8%;width:84%;height:65%;object-fit:contain;filter:drop-shadow(0 8px 14px oklch(20% .012 250 / .45))}.art.shot img{left:0;top:0;width:100%;height:80%;object-fit:cover}.fallback{font-size:3.5rem;line-height:1}.label{position:absolute;inset:auto 0 0 0;padding:2.6rem var(--space-sm) var(--space-sm);background:linear-gradient(transparent,#12171bb8 55%)}.title{display:block;font-size:clamp(.95rem,4.2vw,1.35rem);font-weight:700;line-height:1.1;text-shadow:0 2px 6px oklch(20% .012 250 / .6)}.sponsor{display:block;margin-top:var(--space-2xs);font-family:var(--font-label);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;opacity:.9;text-shadow:0 1px 4px oklch(20% .012 250 / .7)}.tile a.locked .art{filter:saturate(.35) brightness(.6)}.lock{position:absolute;right:var(--space-sm);top:var(--space-sm);font-size:1.4rem;line-height:1;filter:drop-shadow(0 2px 4px oklch(20% .012 250 / .7))}.footer{margin-top:var(--space-2xl);padding-top:var(--space-lg);border-top:1px solid var(--color-rule);font-size:var(--text-sm);line-height:var(--lh-normal);color:var(--color-neutral)}.footer .stat-row{font-family:var(--font-label);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;font-variant-numeric:tabular-nums}.restore button{font:inherit;color:var(--color-neutral);background:none;border:0;padding:var(--space-2xs) 0;min-height:44px;text-decoration:underline;cursor:pointer}.restore button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}#unlock{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:end center;background:#12171b73;padding:var(--space-md)}#unlock[hidden]{display:none}.unlock-card{width:100%;max-width:24rem;margin-bottom:env(safe-area-inset-bottom);padding:var(--space-lg) var(--space-lg) calc(var(--space-lg) + env(safe-area-inset-bottom));border-radius:var(--radius-card);background:var(--color-paper);box-shadow:var(--shadow-card-hover);text-align:center}.unlock-art{width:7rem;height:7rem;object-fit:contain;filter:drop-shadow(0 8px 14px oklch(20% .012 250 / .35))}.unlock-card h2{margin-top:var(--space-xs);font-family:var(--font-display);font-size:1.4rem;font-weight:700}.unlock-copy{margin:var(--space-xs) 0 var(--space-md);color:var(--color-neutral);line-height:var(--lh-normal)}.unlock-card button{display:block;width:100%;font:inherit;font-weight:700;min-height:48px;padding:var(--space-sm);margin-top:var(--space-xs);border:0;border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-accent-ink);cursor:pointer;box-shadow:0 4px 0 0 var(--color-accent-deep);transition:transform .14s var(--ease-press),box-shadow .14s var(--ease-press)}.unlock-card button:active{transform:translateY(3px);box-shadow:0 1px 0 0 var(--color-accent-deep)}.unlock-card button:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.unlock-card button:disabled{opacity:.55;cursor:not-allowed}.unlock-card .unlock-restore,.unlock-card .unlock-close{background:none;box-shadow:none;color:var(--color-neutral);font-weight:600}.unlock-card .unlock-restore:active,.unlock-card .unlock-close:active{transform:none}@media(prefers-reduced-motion:reduce){.tile a,.unlock-card button{transition:none}.tile a:hover,.tile a:active,.unlock-card button:active{transform:none}.spark{animation:none}}
