@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}@font-face{font-family:Inter;src:url(/fonts/Inter-Variable.woff2) format("woff2");font-weight:300 900;font-style:normal;font-display:swap}*,*: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);color:#171717}:root{--background: #fff;--foreground: #171717;--color-accent: #d8d8d8;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-900: #111827;--nav-height: 80px;--fn-bg: #eef2fd;--fn-rule: #dce3f6;--fn-badge: #dfe6fa;--fn-accent: #6b8ee6;--fn-ring: #9db4f0;--fn-accent-strong: #3f63c9}:root[data-theme=dark]{--background: #0a0a0a;--foreground: #ededed;--fn-bg: #151b2b;--fn-rule: #263150;--fn-badge: #212b47;--fn-accent: #8aa6f2;--fn-ring: #4f68a8;--fn-accent-strong: #b3c6fb}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--background: #0a0a0a;--foreground: #ededed;--fn-bg: #151b2b;--fn-rule: #263150;--fn-badge: #212b47;--fn-accent: #8aa6f2;--fn-ring: #4f68a8;--fn-accent-strong: #b3c6fb}}.fn-ref{cursor:pointer;border-radius:2px;transition:color .15s}.fn-ref:hover,.fn-ref[aria-expanded=true]{color:var(--fn-accent)}.fn-ref:focus-visible{outline:2px solid var(--fn-accent);outline-offset:1px}.fn-num{display:inline-block;position:relative;top:-.55em;vertical-align:baseline;line-height:0;font-size:.62em;font-family:ROM,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;margin-left:.1em;color:var(--fn-accent);transform-origin:left bottom;transition:transform .15s,color .15s}.fn-ref:hover .fn-num{transform:scale(1.15);color:var(--fn-accent-strong);-webkit-text-stroke:.25px currentColor}.fn-popup{position:fixed;background:var(--fn-bg);color:var(--foreground);border:1px solid var(--fn-rule);border-radius:8px;box-shadow:0 10px 30px #0000001f;animation:fn-in .14s ease-out}.fn-popup-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--fn-rule)}.fn-popup-num{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 6px;border-radius:4px;background:var(--fn-badge);color:var(--fn-accent);font-weight:700;font-size:15px}.fn-popup-close{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;background:var(--fn-accent);color:#fff;cursor:pointer;box-shadow:0 0 0 2px var(--fn-bg),0 0 0 3.5px var(--fn-ring);transition:filter .15s}.fn-popup-close:hover{filter:brightness(1.08)}.fn-popup-close:focus-visible{outline:none;box-shadow:0 0 0 2px var(--fn-bg),0 0 0 4px var(--fn-accent)}.fn-popup-body{padding:14px 16px 16px;font-family:Marist,Georgia,Times New Roman,serif;font-size:1rem;line-height:1.5}.fn-popup-body a{text-decoration:underline;text-underline-offset:2px}.tldr-button{display:block;width:100%;margin-top:14px;padding:10px 14px;border:1.5px dotted var(--gray-500);border-radius:6px;color:var(--gray-500);font-size:.9rem;letter-spacing:.06em;cursor:pointer;opacity:.45;transition:opacity .15s,color .15s,border-color .15s}.tldr-button:hover,.tldr-button[aria-expanded=true]{opacity:1;color:var(--fn-accent);border-color:var(--fn-accent)}.tldr-button:focus-visible{outline:2px solid var(--gray-500);outline-offset:2px}.tldr-overlay{z-index:5;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--background) 70%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:tldr-fade .14s ease-out}.fn-popup.tldr-card{position:relative;width:88%}.tldr-card .fn-popup-num{padding:0 10px}.tldr-card .fn-popup-body{padding:18px 20px 22px;font-size:1.3rem}@keyframes tldr-fade{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.tldr-overlay{animation:none}}@keyframes fn-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.fn-popup{animation:none}}[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}}.rail-line{background:var(--foreground);opacity:.16;transition:opacity .3s}.rail:hover .rail-line{opacity:.4}.rail-bead{border-radius:50%;border:1px solid color-mix(in srgb,var(--foreground) 60%,var(--background));background:var(--background)}.rail-item{display:block;width:100%;text-align:left;cursor:pointer;opacity:.35;transition:opacity .15s}.rail-item[aria-current=page]{opacity:.6;cursor:default}.rail-item span{display:block;transform-origin:left center;transition:transform .3s cubic-bezier(.16,1,.3,1)}.rail-item:not([aria-current=page]):hover,.rail-item:focus-visible{opacity:1}.rail-item:not([aria-current=page]):hover span,.rail-item:focus-visible span{transform:scale(1.2)}.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,.rail-item: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-loading{display:block;padding:4rem 5rem;color:var(--gray-400);font-weight:700;font-size:.9rem;white-space:nowrap;text-align:center;pointer-events:none}@media(max-width:767px){.lightbox-loading{padding:3rem 3.5rem}}.lightbox-frame img.lightbox-before{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover}.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}}@media(prefers-reduced-motion:reduce){.wheel-pulse,.cursor-ring,.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,.rail-beads,.rail-item span{transition-duration:.01ms!important}}.nav-links a:hover,.nav-links button:hover,.nav-links span:hover{color:var(--gray-400);transition:color .15s}
