.gallery{--bar:3rem;--edge:1rem;z-index:1;color:var(--color-ink);position:fixed;inset:0}.stage{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;cursor:grab;outline:none;position:absolute;inset:0;overflow:hidden}.stage:focus-visible{outline:2px solid var(--color-ink);outline-offset:-4px}.plane{opacity:0;transition:opacity .42s var(--ease-out);position:absolute;top:50%;left:50%}.plane.ready{opacity:1}.card{color:inherit;-webkit-user-drag:none;transition:translate .16s var(--ease-out);text-decoration:none;display:block;position:absolute;box-shadow:0 8px 18px #0000001f}.card[data-hovered]{translate:0 -4px}.card[data-focus-visible]{outline:2px solid var(--color-ink);outline-offset:4px}.card[data-pressed]{opacity:.8}.gallery.is-open .card{opacity:.25;transition:opacity .3s var(--ease-out)}.chrome{border:1px solid var(--color-rule);background:var(--color-page)}.intro{place-content:center;gap:var(--spacing-12);padding:0 var(--spacing-24);text-align:center;pointer-events:none;transition:opacity .42s var(--ease-out);display:grid;position:absolute;inset:0}.intro.ready{opacity:0}.intro p{color:var(--color-ink-muted)}.tool-rail{bottom:calc(var(--edge) + env(safe-area-inset-bottom));z-index:5;height:var(--bar);transition:opacity .18s var(--ease-out), visibility .18s;align-items:center;gap:2px;padding:0 3px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.gallery.is-open .tool-rail{visibility:hidden;opacity:0}.tool-button{width:calc(var(--bar) - .5rem);height:calc(var(--bar) - .5rem);color:var(--color-ink-muted);cursor:pointer;transition:background .16s var(--ease-out), color .16s var(--ease-out);background:0 0;border:0;place-items:center;padding:0;text-decoration:none;display:grid;position:relative}.tool-button[aria-current=page]{background:var(--color-ink);color:var(--color-page)}.tool-button[data-hovered]:not([aria-current=page]){background:var(--color-gray-alpha-100);color:var(--color-ink)}.tool-button[data-pressed]{opacity:.55}.tool-button:after{padding:var(--spacing-4) var(--spacing-8);background:var(--color-ink);color:var(--color-page);content:attr(data-tip);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .16s var(--ease-out);font-size:.8125rem;line-height:1.125rem;position:absolute;bottom:calc(100% + .625rem);left:50%;translate:-50%}.tool-button[data-hovered]:after,.tool-button[data-focus-visible]:after{opacity:1}.tool-divider{background:var(--color-rule);width:1px;height:1.25rem;margin:0 3px;display:block}.open-overlay{z-index:10;background:color-mix(in oklab, var(--color-page) 55%, transparent);position:fixed;inset:0}.open-modal,.open-dialog{pointer-events:none;outline:none;position:fixed;inset:0}.hero{pointer-events:auto;transition:transform .52s var(--ease-out), height .3s var(--ease-out), margin-top .3s var(--ease-out);position:absolute;top:calc(50% - 24px);left:50%;box-shadow:0 12px 32px #00000029}.hero-hit{cursor:pointer;background:0 0;border:0;outline:none;padding:0;position:absolute;inset:0}.flipper{pointer-events:none;transform-style:preserve-3d;transition:transform .6s var(--ease-out);position:absolute;inset:0}.hero.flipped .flipper{transform:perspective(2000px)rotateY(180deg)}.hero:not(.flipped) .flipper{transform:perspective(2000px)rotateY(0)}.front{transform-origin:0;backface-visibility:hidden;position:absolute;top:50%;left:0;translate:0 -50%}.back{overscroll-behavior:contain;background:var(--color-page);border:1px solid var(--color-rule);color:var(--color-ink);backface-visibility:hidden;position:absolute;inset:0;overflow-y:auto;transform:rotateY(180deg)}.back-body{align-items:flex-start;gap:var(--spacing-16);padding:var(--spacing-20);flex-direction:column;display:flex}.back.medium .back-body{gap:var(--spacing-24);padding:var(--spacing-32)}.back.large .back-body{align-items:start;gap:var(--spacing-32) var(--spacing-40);padding:var(--spacing-40);grid-template-columns:minmax(0,1fr) 14rem;display:grid}.kicker{color:var(--color-ink-muted)}.lede h2{margin-top:var(--spacing-8)}.message{max-width:36em;margin-top:var(--spacing-12)}.facts{gap:var(--spacing-16) var(--spacing-24);grid-template-columns:repeat(2,minmax(0,1fr));align-self:stretch;margin:0;display:grid}.back.large .facts{grid-template-columns:1fr}.facts dt{color:var(--color-ink-muted)}.facts dd{margin:0}.back-panel{align-content:start;gap:var(--spacing-24);display:grid}.open-project{padding:var(--spacing-12) var(--spacing-20);background:var(--color-ink);color:var(--color-page);white-space:nowrap;pointer-events:auto;transition:background .16s var(--ease-out);justify-self:start;text-decoration:none}.open-project[data-hovered]{background:var(--color-charcoal)}.open-project[data-pressed]{opacity:.55}.caption{justify-content:space-between;gap:var(--spacing-20);margin-top:var(--spacing-16);pointer-events:auto;transition:opacity .2s var(--ease-out), top .3s var(--ease-out);display:flex;position:absolute;left:50%;translate:-50%}.open-modal:not(.open) .caption{opacity:0;pointer-events:none}.caption button{color:var(--color-ink-muted);font:inherit;cursor:pointer;transition:color .16s var(--ease-out);background:0 0;border:0;margin-block:-.75rem;padding:.75rem 0}.caption button[data-hovered]{color:var(--color-ink)}.caption button[data-pressed]{opacity:.55}@media (prefers-reduced-motion:reduce){.plane,.card,.intro,.tool-rail,.tool-button,.hero,.flipper,.caption{transition:none}}@media (width<=840px){.gallery{--bar:2.75rem;--edge:.75rem}.tool-rail{gap:0}}
