@font-face{font-family:ROM;src:url(/fonts/ABCROM-Regular.otf) format("opentype");font-weight:400;font-style:normal;font-display:block}@font-face{font-family:ROM;src:url(/fonts/ABCROM-Heavy.otf) format("opentype");font-weight:700;font-style:normal;font-display:block}@font-face{font-family:Marist;src:url(/fonts/ABCMarist-Book.otf) format("opentype");font-weight:400;font-style:normal;font-display:block}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:ROM,Helvetica Neue,Helvetica,Arial,sans-serif;line-height:1.2;letter-spacing:0em;background:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button{background:none;border:none;font:inherit;color:inherit}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}ul,ol{list-style:none}::selection{background-color:var(--color-accent, #d8d8d8)}:root{--background: #fff;--foreground: #171717;--color-accent: #d8d8d8;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-900: #111827;--nav-height: 80px}:root[data-theme=dark]{--background: #0a0a0a;--foreground: #ededed}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--background: #0a0a0a;--foreground: #ededed}}[data-tooltip]{position:relative}[data-tooltip]:hover:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 2px);left:0;background:var(--foreground);color:var(--background);padding:2px 7px;font-size:.72rem;font-weight:700;white-space:nowrap;z-index:50;pointer-events:none}.wheel-rings,.wheel-orbit-clamp{transform:scale(var(--ring-clamp, 1))}.wheel-unclamp{display:block;transform:scale(calc(1 / var(--ring-clamp, 1)))}.wheel-ring{opacity:calc(.14 + .31 * var(--p, 0));transition:opacity .3s}.wheel-ring.is-open{opacity:.45}.wheel-pulse{animation:wheel-emanate 2.2s ease-out infinite;transition:opacity .3s}.wheel-pulse.is-open{animation:none;opacity:0}@keyframes wheel-emanate{0%{transform:scale(.84);opacity:.4}75%{transform:scale(1.12);opacity:0}to{transform:scale(1.12);opacity:0}}.cursor-ring{--ring: 26px;position:absolute;width:var(--ring);height:var(--ring);margin-left:calc(var(--ring) / -2);margin-top:calc(var(--ring) / -2);border:1.25px solid var(--foreground);border-radius:50%;animation:cursor-pulse 1.8s ease-in-out infinite;transition:width .22s,height .22s,margin .22s}.is-over .cursor-ring{--ring: 48px}@keyframes cursor-pulse{0%{transform:scale(.82);opacity:.9}50%{transform:scale(1.12);opacity:.45}to{transform:scale(.82);opacity:.9}}.wheel-orbit button:focus,.filter-chip:focus{outline:none}.wheel-orbit button:focus-visible{outline:1px solid var(--gray-400);outline-offset:2px}.filter-chip:focus-visible{outline:1.5px solid var(--foreground);outline-offset:-1.5px}.photo-cell{--tint: .55;position:relative;overflow:hidden}.photo-cell img{width:100%;height:100%;object-fit:cover;display:block}.photo-tint{position:absolute;top:0;right:0;bottom:0;left:0;opacity:var(--tint);transition:opacity .35s ease,background-color .5s;pointer-events:none}.photo-cell.wall-hit-now .photo-tint{animation:photo-untint .32s ease-out}@media(hover:hover){.photo-cell:hover .photo-tint{opacity:0}.photo-cell.wall-hit-now:hover .photo-tint{animation:none}}@keyframes photo-untint{0%,55%{opacity:0}to{opacity:var(--tint)}}.wall-ball{position:absolute;top:0;left:0;z-index:1;border-radius:50%;background:#fff;box-shadow:0 0 0 1.5px #00000059,0 2px 4px #0000004d;pointer-events:none;will-change:transform;transition:opacity .18s}.wall-paddle{position:absolute;top:0;left:0;z-index:1;border-radius:2px;background:var(--foreground);pointer-events:none;will-change:transform}.wall-paddle.is-hit{animation:paddle-flash .2s ease-out}@keyframes paddle-flash{0%{filter:brightness(2.4)}to{filter:brightness(1)}}.wall-hit-now{animation:wall-hit-pulse .26s ease-out}@keyframes wall-hit-pulse{0%{transform:translate(0)}20%{transform:translate(-5px)}45%{transform:translate(4px)}70%{transform:translate(-2px)}to{transform:translate(0)}}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;gap:20px;padding:5vh 5vw;background:color-mix(in srgb,var(--background) 88%,transparent);animation:lightbox-in .2s ease}@keyframes lightbox-in{0%{opacity:0}to{opacity:1}}.lightbox-inner{display:grid;grid-template-rows:auto auto;align-items:center;gap:10px;max-width:100%;max-height:100%;min-width:0;min-height:0}.lightbox-nav{flex-shrink:0;display:flex;padding:8px;background:none;border:none;cursor:pointer;opacity:.6;transition:opacity .15s}.lightbox-nav:hover{opacity:1}.lightbox-frame{position:relative;min-height:0;min-width:0;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none}.lightbox-frame img{display:block;max-width:100%;max-height:80vh;width:auto;height:auto;object-fit:contain;-webkit-user-drag:none}.lightbox-before{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.lightbox-handle{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--background);pointer-events:none}.lightbox-side{writing-mode:vertical-rl;flex-shrink:0;font-size:.9rem;font-weight:700;letter-spacing:.04em;color:var(--gray-400);white-space:nowrap;pointer-events:none;transition:opacity .2s ease}.lightbox-side.is-before{transform:rotate(180deg)}.lightbox-caption{display:flex;justify-content:space-between;gap:16px;font-weight:700;font-size:.9rem}.lightbox-hint{color:var(--gray-400);white-space:nowrap}@media(max-width:767px){.lightbox{gap:4px;padding:4vh 3vw}.lightbox-nav{padding:4px}.lightbox-inner{gap:8px}.lightbox-frame img{max-height:68vh}}.cycle-flash{animation:cycle-flash 2s ease-in-out}@keyframes cycle-flash{0%{opacity:0}18%{opacity:1}78%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.wheel-pulse,.cursor-ring,.cycle-flash,.wall-hit-now,.wall-paddle.is-hit,.photo-cell.wall-hit-now .photo-tint{animation:none}.wheel-orbit,.wheel-orbit button,.wheel-orbit button span{transition-duration:.01ms!important}}.nav-links a:hover,.nav-links button:hover,.nav-links span:hover{color:var(--gray-400);transition:color .15s}
