:root{--bg: #131218;--bg-elev: #1c1a24;--card: rgba(16, 14, 22, .42);--card-body: rgba(16, 14, 22, .62);--card-solid: #24202e;--line: rgba(243, 239, 232, .12);--text: #f3efe8;--muted: #b9b3c4;--faint: #b4aec0;--accent: #d4b896;--accent-2: #9b8fd4;--brand: #3b6cff;--ok: #6fbfa3;--danger: #e07a6a;--radius: 18px;--radius-sm: 12px;--shadow: 0 18px 50px rgba(0, 0, 0, .38);--glass: blur(20px) saturate(1.6);--glass-grain: .16;--text-glow: 0 1px 2px rgba(8, 7, 12, .8), 0 0 16px rgba(8, 7, 12, .55);--hairline: 1px;--glass-spec: inset 0 1px 0 rgba(255, 255, 255, .22), 0 8px 22px rgba(0, 0, 0, .18);--max: 1180px;--ease: cubic-bezier(.22, 1, .36, 1);--t: .22s;--focus: 0 0 0 3px var(--bg), 0 0 0 6px var(--accent-2);--scrollbar-track: rgba(243, 239, 232, .04);--scrollbar-thumb: rgba(212, 184, 150, .42);--banner-bg: #3b2a08;--banner-fg: #fde68a;--shot-bg: rgba(8, 7, 12, .28);color-scheme:dark}[data-theme=light]{--bg: #f3efe8;--bg-elev: #fffcf8;--card: rgba(255, 252, 248, .18);--card-body: rgba(255, 252, 248, .34);--card-solid: #fffcf8;--glass: blur(22px) saturate(1.55);--glass-grain: .28;--text-glow: 0 1px 0 rgba(255, 252, 248, .95), 0 0 18px rgba(243, 239, 232, .9);--glass-spec: inset 0 1px 0 rgba(255, 255, 255, .55), 0 8px 20px rgba(28, 24, 20, .08);--line: rgba(28, 24, 20, .1);--text: #1c1814;--muted: #5c564e;--faint: #534e47;--accent: #8a6a45;--accent-2: #5b4ea0;--brand: #2f5de0;--ok: #2e8a6d;--shadow: 0 14px 36px rgba(28, 24, 20, .1);--focus: 0 0 0 3px #fff, 0 0 0 6px var(--accent-2);--scrollbar-track: rgba(28, 24, 20, .05);--scrollbar-thumb: rgba(91, 78, 160, .35);--banner-bg: #fff4c8;--banner-fg: #713f12;--shot-bg: rgba(255, 252, 248, .1);color-scheme:light}@media(min-resolution:2dppx){:root{--hairline: .5px}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}html{scroll-behavior:auto;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);scrollbar-width:thin;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.55;min-height:100vh;min-height:100svh;font-size:16px;overflow-x:hidden;-webkit-tap-highlight-color:rgba(0,0,0,0)}img{max-width:100%;height:auto;display:block;-webkit-user-drag:none}a{color:var(--accent-2)}:focus{outline:none}:focus:not(:focus-visible){box-shadow:none}:focus-visible{outline:none;box-shadow:var(--focus)}button,a,[role=button],.card,.chip,.theme-switch,.thumb,.arrow,.lb-arrow,.dl-btn,.icon-close,.shot-hit,.brand{-webkit-tap-highlight-color:rgba(0,0,0,0);touch-action:manipulation}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:999px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--accent);background-clip:padding-box}::-webkit-scrollbar-corner{background:var(--scrollbar-track)}.skip{position:absolute;left:1rem;top:-3rem;background:var(--accent-2);color:#fff;padding:.5rem .8rem;border-radius:8px;z-index:40;text-decoration:none}.skip:focus{top:.6rem}.preview-banner{position:relative;z-index:3;background:var(--banner-bg);color:var(--banner-fg);text-align:center;padding:.65rem 1rem;font-size:.9rem;border-bottom:1px solid color-mix(in srgb,var(--banner-fg) 25%,transparent)}.wrap{width:min(var(--max),calc(100% - 2rem));margin:0 auto}.wave-bg{position:fixed;top:0;left:0;z-index:0;pointer-events:none;width:100%;height:100vh;height:100lvh;min-height:100vh;min-height:100lvh}.wave-bg canvas{width:100%;height:100%;display:block}.wave-bg--static{background:radial-gradient(900px 420px at 8% -8%,color-mix(in srgb,var(--accent-2) 22%,transparent),transparent 55%),radial-gradient(700px 360px at 100% 0%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 50%),var(--bg)}.site{position:relative;z-index:1;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;background:transparent}.glass-filter{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}header.wrap{padding-top:1rem}.top{display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:inherit}.brand strong{font-size:1.05rem;letter-spacing:-.03em}.hero{padding:2.2rem 0 0;max-width:38rem}.hero h1{font-size:clamp(2rem,5vw,3.15rem);line-height:1.15;letter-spacing:-.04em;margin:0 0 .85rem;font-weight:700}.hero-title__line{display:block}.hero-title__line--sub{font-weight:400;font-size:.86em;letter-spacing:-.03em;color:color-mix(in srgb,var(--accent) 72%,var(--text))}.hero p{margin:0;color:var(--muted);font-size:1.05rem;max-width:36rem}.toolbar{display:flex;flex-wrap:wrap;gap:.45rem;padding:1.6rem 0 1.4rem}@media(min-width:900px){header.wrap{padding-top:.65rem}.hero{padding:1rem 0 0}.hero h1{font-size:clamp(1.7rem,2.1vw + .55rem,2.3rem);line-height:1.15;margin:0}.hero p{font-size:1rem}.toolbar{padding:1.75rem 0 1rem}}@media(min-width:1100px){.hero{max-width:none;display:grid;grid-template-columns:minmax(16rem,.85fr) minmax(22rem,1.2fr);column-gap:2.8rem;row-gap:0;align-items:start;padding:.85rem 0 0}.hero h1{margin:0}.toolbar{padding:1.75rem 0 1rem}}.chip{min-height:44px;padding:0 1rem;border-radius:999px;border:1px solid var(--line);background:color-mix(in srgb,var(--bg-elev) 70%,transparent);backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass);color:var(--text);cursor:pointer;font:inherit}.chip[aria-pressed=true]{background:color-mix(in srgb,var(--accent-2) 22%,var(--bg-elev));border-color:color-mix(in srgb,var(--accent-2) 45%,var(--line))}.grid{display:grid;grid-template-columns:1fr;gap:1rem;padding-bottom:3rem}@media(min-width:640px){.grid{grid-template-columns:1fr 1fr}}@media(min-width:960px){.grid{grid-template-columns:1fr 1fr 1fr}}@media(min-width:1180px){.grid{grid-template-columns:1fr 1fr 1fr 1fr}}.empty{color:var(--muted);text-align:center;padding:2rem 0 4rem}footer{margin-top:auto;border-top:1px solid var(--line);padding:2rem 0 2.4rem;color:var(--muted);font-size:.92rem}footer .mark{display:flex;align-items:center;gap:.55rem;color:var(--text);margin-bottom:.5rem}footer .future{display:flex;gap:1rem;margin:.7rem 0;color:var(--faint)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.hero-ch{position:relative;display:inline}html.intro .hero-ch{opacity:0}html.intro .hero-ch.is-on,html.intro-done .hero-ch{opacity:1}html.intro.intro-soft-title .hero-ch{opacity:0;animation:none}html.intro.intro-soft-title.intro-lead .hero-ch,html.intro.intro-soft-title.intro-lead .hero-lead,html.intro.intro-soft-title.intro-lead .toolbar{opacity:1;transition:opacity 1.15s cubic-bezier(.22,1,.36,1)}html.intro.intro-soft-title .hero-ch.is-caret:after{content:none}.hero-ch.is-caret:after{content:"";position:absolute;left:100%;top:.12em;width:.085em;height:.82em;background:currentColor;animation:hero-caret .46s step-end infinite;pointer-events:none}@keyframes hero-caret{0%,49%{opacity:1}50%,to{opacity:0}}html.intro-caret-fade .hero-ch.is-caret:after,html.intro-done .hero-ch.is-caret:after{animation:none;opacity:0;transition:opacity .4s ease}html.intro .hero-lead,html.intro .toolbar{opacity:0}html.intro-lead .hero-lead,html.intro-lead .toolbar,html.intro-done .hero-lead,html.intro-done .toolbar{opacity:1;transition:opacity .7s var(--ease)}html.intro .brand strong{opacity:0}html.intro-logo-fill .brand strong,html.intro-done .brand strong{opacity:1;transition:opacity .65s ease}html.intro .card{opacity:0;transform:translate3d(0,22px,0);backdrop-filter:none!important;-webkit-backdrop-filter:none!important}html.intro .card.intro-in{will-change:transform,opacity;animation:card-fly 1.05s cubic-bezier(.22,1,.36,1) both;animation-delay:var(--intro-delay, 0ms)}@keyframes card-fly{0%{opacity:0;transform:translate3d(0,22px,0)}to{opacity:1;transform:translateZ(0)}}html.intro-done .card{opacity:1;transform:none;will-change:auto}html.still *,html.still *:before,html.still *:after{animation:none!important;transition:none!important}.card{display:flex;flex-direction:column;text-align:left;width:100%;margin:0;padding:8px;border:var(--hairline) solid color-mix(in srgb,#fff 20%,var(--line));border-radius:var(--radius);background:var(--card);backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass);color:inherit;cursor:pointer;font:inherit;overflow:hidden;position:relative;contain:layout paint;box-shadow:var(--glass-spec);transition:transform .36s ease-out;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0);touch-action:manipulation}.card:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:3;opacity:var(--glass-grain, .2);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='g' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)' opacity='0.55'/%3E%3C/svg%3E");background-size:160px 160px}.card:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:4;background:linear-gradient(165deg,rgba(255,255,255,.28),transparent 42%);padding:var(--hairline);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude}html.can-refract .card.is-refracting{backdrop-filter:url(#volna-glass-rim);-webkit-backdrop-filter:url(#volna-glass-rim)}.card.is-clip-edge,dialog.app-modal.is-clip-edge{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.card *,.card img{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}@media(hover:hover)and (pointer:fine){.card:hover:not(.is-settle){transform:translate3d(0,-5px,0);box-shadow:var(--glass-spec),0 14px 28px #00000029}}.card:focus-visible:not(.is-settle){transform:translate3d(0,-5px,0);box-shadow:var(--focus),var(--glass-spec)}.card:active:not(.is-settle){transform:none;box-shadow:var(--glass-spec)}.card.is-pressed:not(.is-settle),.card.is-pressed:not(.is-settle):hover,.card.is-pressed:not(.is-settle):active{transform:scale(.985)}.card.is-settle{animation:card-settle .4s cubic-bezier(.22,1,.36,1) both;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;will-change:transform}@keyframes card-settle{0%{transform:translate3d(0,3px,0) scale(.97)}28%{transform:translate3d(0,-2px,0) scale(1.012)}55%{transform:translate3d(0,1px,0) scale(.996)}78%{transform:translate3d(0,-.4px,0) scale(1.002)}to{transform:translateZ(0) scale(1)}}@media(prefers-reduced-motion:reduce){.card:hover,.card:focus-visible,.card.is-pressed,.card.is-settle{transform:none;animation:none}}.shot-box{position:relative;aspect-ratio:16 / 10;background:var(--shot-bg);overflow:hidden;display:grid;place-items:center}.card .shot-box{background:transparent;border-radius:0}.card .shot-box .shot-back{display:none}.card .shot-front{border-radius:14px;border:var(--hairline) solid color-mix(in srgb,#fff 22%,var(--line));box-shadow:0 1px #ffffff1a inset}.shot-box .shot-back{position:absolute;inset:-12%;width:124%;height:124%;object-fit:cover;filter:blur(18px) saturate(1.1);opacity:.45;transform:scale(1.05);pointer-events:none}.shot-box .shot-front{position:relative;z-index:1;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;object-position:center}.card .body{display:flex;gap:.7rem;padding:.75rem .35rem .35rem;margin-top:0;align-items:flex-start;background:none;border-radius:0;position:relative;z-index:1}.card h2,.card .short,.card .badge{text-shadow:var(--text-glow)}.app-icon{width:40px;height:40px;border-radius:11px;flex:0 0 auto}.card h2{margin:0 0 .25rem;font-size:1.02rem;letter-spacing:-.02em}.card .short{margin:0 0 .5rem;color:var(--muted);font-size:.9rem;line-height:1.45;display:block;overflow:visible;white-space:normal;-webkit-line-clamp:unset}.badges{display:flex;flex-wrap:wrap;gap:.3rem}.badge{font-size:.72rem;padding:.12rem .45rem;border-radius:999px;border:1px solid var(--line);color:var(--muted)}.theme-switch{width:44px;height:44px;border-radius:999px;border:1px solid var(--line);background:color-mix(in srgb,var(--bg-elev) 80%,transparent);backdrop-filter:var(--glass);color:var(--text);cursor:pointer;position:relative;display:grid;place-items:center;padding:0}.theme-switch__icons{position:relative;width:22px;height:22px}.theme-switch svg{position:absolute;inset:0;width:22px;height:22px;transition:transform .2s var(--ease),opacity .2s var(--ease)}.theme-switch__sun{opacity:0;transform:translateY(8px) rotate(-20deg)}.theme-switch__moon{opacity:1;transform:none}:root[data-theme=light] .theme-switch__sun{opacity:1;transform:none}:root[data-theme=light] .theme-switch__moon{opacity:0;transform:translateY(-8px) rotate(20deg)}:root.theme-icon-hold .theme-switch svg{transition:none}.logo-mark{width:40px;height:40px;border-radius:11px;overflow:hidden;flex:0 0 auto;background:#3b6cff;box-shadow:0 0 0 1px #ffffff0f}.logo-mark svg{display:block;width:100%;height:100%}.logo-wave{fill:none;stroke:#fff;stroke-width:7.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:28 200;animation:logo-flow 4.8s linear infinite}.logo-wave--soft{stroke:#ffffff59;stroke-dasharray:none;animation:logo-drift 6.5s ease-in-out infinite alternate}@keyframes logo-flow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-228}}@keyframes logo-drift{0%{transform:translate(0)}to{transform:translate(-4px)}}html.intro .brand .logo-mark{background:transparent}html.intro .brand .logo-plate{fill-opacity:0;stroke:#3b6cff;stroke-width:4;stroke-linejoin:round;stroke-dasharray:230;stroke-dashoffset:230;animation:logo-draw-plate 1.15s cubic-bezier(.22,1,.36,1) forwards}html.intro-logo-fill .brand .logo-plate,html.intro-done .brand .logo-plate{fill-opacity:1;stroke-opacity:0;transition:fill-opacity .65s ease,stroke-opacity .5s ease}html.intro .brand .logo-wave{animation:logo-draw-wave 1.2s .28s cubic-bezier(.22,1,.36,1) both;stroke-dasharray:120;stroke-dashoffset:120}html.intro .brand .logo-wave--soft{animation:none;opacity:0}html.intro.intro-logo-handoff .brand .logo-wave:not(.logo-wave--soft){animation:logo-wave-handoff 1.2s linear forwards}html.intro-logo-idle .brand .logo-wave:not(.logo-wave--soft),html.intro.intro-logo-idle .brand .logo-wave:not(.logo-wave--soft){stroke-dasharray:28 200;animation:logo-flow 4.8s linear infinite;animation-delay:-.5s}html.intro-logo-idle .brand .logo-wave--soft,html.intro-done .brand .logo-wave--soft{opacity:1}html.intro-logo-idle .brand .logo-wave--soft{transition:opacity .55s ease;animation:logo-drift 6.5s ease-in-out infinite alternate}@keyframes logo-draw-plate{to{stroke-dashoffset:0}}@keyframes logo-draw-wave{to{stroke-dashoffset:0}}@keyframes logo-wave-handoff{0%{stroke-dasharray:120 0;stroke-dashoffset:0;animation-timing-function:cubic-bezier(.22,1,.36,1)}58%{stroke-dasharray:28 200;stroke-dashoffset:0;animation-timing-function:cubic-bezier(.4,0,1,1)}to{stroke-dasharray:28 200;stroke-dashoffset:-23.75}}@media(prefers-reduced-motion:reduce){.logo-wave,.logo-wave--soft{animation:none;stroke-dasharray:none}html.intro .brand .logo-plate,html.intro .brand .logo-wave{animation:none;stroke-dashoffset:0;fill-opacity:1}}dialog.app-modal{width:min(880px,calc(100vw - 1.5rem));max-height:min(92vh,920px);max-height:min(92svh,920px);margin:auto;padding:0;border:var(--hairline) solid color-mix(in srgb,#fff 20%,var(--line));border-radius:22px;background:var(--card-body);backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass);color:var(--text);box-shadow:var(--glass-spec);contain:layout paint;display:flex;flex-direction:column;overflow:hidden;overscroll-behavior:none;scroll-behavior:auto;scroll-snap-type:none;isolation:isolate;transform:translateZ(0);scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}dialog.app-modal:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:5;background:linear-gradient(165deg,rgba(255,255,255,.22),transparent 40%);padding:var(--hairline);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude}html.can-refract dialog.app-modal.is-refracting{backdrop-filter:url(#volna-glass-rim);-webkit-backdrop-filter:url(#volna-glass-rim)}dialog.app-modal::backdrop{background:#0c0a1094;opacity:0;backdrop-filter:none;-webkit-backdrop-filter:none}dialog.app-modal[open]::backdrop{animation:vs-backdrop-in .4s cubic-bezier(.22,1,.36,1) both}dialog.app-modal.closing::backdrop{animation:vs-backdrop-out .38s cubic-bezier(.4,0,.6,1) both}dialog.app-modal[open]:not(.opening):not(.closing)::backdrop{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}@keyframes vs-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes vs-backdrop-out{0%{opacity:1}to{opacity:0}}dialog.app-modal.opening,dialog.app-modal.closing{will-change:transform,opacity;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}html.modal-busy .card,html.vt-to-light .card,html.vt-to-dark .card,html.modal-busy .theme-switch,html.vt-to-light .theme-switch,html.vt-to-dark .theme-switch{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}dialog.app-modal.opening:after,dialog.app-modal.closing:after{opacity:0}html.can-refract dialog.app-modal.opening.is-refracting,html.can-refract dialog.app-modal.closing.is-refracting{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.1rem 1.15rem .4rem;position:relative;z-index:2;flex:0 0 auto;background:transparent}.modal-head h2{margin:0;font-size:1.25rem;letter-spacing:-.02em}.modal-ident{display:flex;gap:.75rem;align-items:flex-start;min-width:0}.icon-close{width:44px;height:44px;border-radius:999px;border:1px solid var(--line);background:transparent;color:inherit;cursor:pointer;font-size:1.2rem;flex:0 0 auto}.modal-body{padding:.4rem 1.15rem 1.3rem;flex:1 1 auto;min-height:0;overflow:auto;overflow-x:hidden;overscroll-behavior:contain;overscroll-behavior-y:contain;scroll-behavior:auto;scroll-snap-type:none;-webkit-overflow-scrolling:touch;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}.modal-desc{margin:.8rem 0 1rem;color:var(--text)}.modal-section{margin:1.1rem 0 0}.modal-section h3{margin:0 0 .5rem;font-size:.95rem;letter-spacing:-.01em;border-bottom:1px solid var(--line);padding-bottom:.35rem}.changelog,.roadmap{margin:0;padding:0;list-style:none}.changelog li,.roadmap li{margin:0 0 .75rem}.changelog strong{margin-right:.5rem}.changelog time{color:var(--faint);font-size:.85rem}.changelog p,.roadmap li{margin:.2rem 0 0;color:var(--muted);font-size:.95rem}.downloads{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.dl-btn{min-height:44px;padding:0 1.1rem;border-radius:999px;border:1px solid var(--line);background:var(--bg-elev);color:var(--text);font:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:.4rem;cursor:pointer}.dl-btn.recommended{background:var(--accent-2);color:#fff;border-color:transparent}.dl-btn .meta{font-size:.8rem;opacity:.8}.site-link{margin-left:auto}.carousel{margin:.4rem 0 .2rem}.carousel-stage{position:relative}.carousel-stage .shot-box{aspect-ratio:16 / 10;border-radius:14px;cursor:zoom-in}.carousel-stage button.shot-hit{display:block;width:100%;padding:0;border:0;background:none;color:inherit;cursor:zoom-in;border-radius:14px;overflow:hidden}.carousel-caption{margin:.5rem 0 .35rem;color:var(--muted);font-size:.9rem;min-height:1.35em}.carousel-nav{display:flex;align-items:center;gap:.45rem}.carousel-nav .arrow{width:44px;height:44px;border-radius:999px;border:1px solid var(--line);background:transparent;color:inherit;cursor:pointer;font-size:1.1rem}.counter{color:var(--faint);font-size:.85rem;min-width:3.5rem}.thumbs{display:flex;gap:.35rem;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}.thumb{width:52px;height:34px;padding:0;border-radius:7px;border:2px solid transparent;background:var(--shot-bg);overflow:hidden;cursor:pointer}.thumb img{width:100%;height:100%;object-fit:contain}.thumb[aria-current=true]{border-color:var(--accent-2)}dialog.lightbox{width:100vw;width:100svw;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#08070cf0;color:#f3efe8;overflow:hidden}dialog.lightbox::backdrop{background:#000}.lb{height:100%;display:grid;grid-template-rows:auto 1fr auto auto;gap:.4rem;padding:.6rem .8rem .9rem;overscroll-behavior:contain}.lb-top{display:flex;align-items:center;justify-content:space-between;gap:1rem}.lb-stage{min-height:0;display:grid;place-items:center;position:relative;touch-action:none;width:100%;height:100%}.lb-stage .shot-box,.shot-box--fill{width:100%;height:100%;aspect-ratio:auto;background:transparent;max-height:100%;max-width:100%}.lb-stage .shot-back,.shot-box--fill .shot-back{display:none}.lb-stage .shot-front,.shot-box--fill .shot-front{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.swipe-viewport{overflow:hidden;position:relative;width:100%;touch-action:pan-y}.lightbox .swipe-viewport{touch-action:none;height:100%}.swipe-track{display:flex;height:100%;width:100%;will-change:transform}.swipe-slide{flex:0 0 100%;width:100%;height:100%;min-width:0;display:grid;place-items:center}.carousel-stage.swipe-viewport{aspect-ratio:16 / 10;touch-action:pan-y;border-radius:14px}.carousel-stage .swipe-track,.carousel-stage .swipe-slide{height:100%}.carousel-stage .shot-hit{width:100%;height:100%}.lb-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:48px;height:48px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:#00000073;color:#fff;cursor:pointer;font-size:1.3rem}.lb-arrow.prev{left:.6rem}.lb-arrow.next{right:.6rem}.lb-caption{text-align:center;color:#f3efe8cc;margin:0}.lb .thumbs{justify-content:center;margin:0 auto}.lb .thumb{width:72px;height:46px;background:#ffffff0f}.lb .thumb[aria-current=true]{border-color:#d4b896}.ripple-overlay{position:fixed;inset:0;width:100vw;height:100vh;margin:0;padding:0;border:0;background:transparent;overflow:hidden;pointer-events:none;z-index:40}.ripple-overlay:popover-open{display:block}.ripple-ring{position:absolute;box-sizing:border-box;margin:0;border:0;background:transparent;box-shadow:0 0 22px 8px color-mix(in srgb,var(--accent-2) 18%,transparent),0 0 8px 2px color-mix(in srgb,var(--accent) 10%,transparent);opacity:0;transform:scale(1);transform-origin:center center;animation:ripple-ring .75s cubic-bezier(.22,1,.36,1) both;will-change:transform,opacity;pointer-events:none}.ripple-ring--2{animation-delay:90ms}.ripple-ring--3{animation-delay:.18s}@keyframes ripple-ring{0%{opacity:.22;transform:scale(1)}45%{opacity:.1}to{opacity:0;transform:scale(var(--ripple-to, 1.5))}}@media(prefers-reduced-motion:reduce){.ripple-ring{animation:none;opacity:0}}@media(prefers-reduced-transparency:reduce){.card,dialog.app-modal{background:var(--card-solid);backdrop-filter:none;-webkit-backdrop-filter:none}.card .body{background:transparent}html.can-refract .card.is-refracting,html.can-refract dialog.app-modal.is-refracting{backdrop-filter:none;-webkit-backdrop-filter:none}.card:after,dialog.app-modal:after{opacity:.4}.card:before{display:none}}html{view-transition-name:none}.site{view-transition-name:site}::view-transition,::view-transition-group(*),::view-transition-image-pair(*),::view-transition-old(*),::view-transition-new(*){pointer-events:none}::view-transition-old(site),::view-transition-new(site){animation:none}html.vt-to-light::view-transition-new(site){animation:theme-wave-grow var(--theme-wave-ms, .73s) cubic-bezier(.33,0,.2,1) both}html.vt-to-dark::view-transition-old(site){z-index:1;animation:theme-wave-shrink var(--theme-wave-ms, .59s) cubic-bezier(.22,1,.36,1) both}@keyframes theme-wave-grow{0%{clip-path:circle(0px at var(--wx) var(--wy))}to{clip-path:circle(var(--theme-clip-r, 150vmax) at var(--wx) var(--wy))}}@keyframes theme-wave-shrink{0%{clip-path:circle(var(--theme-clip-r, 150vmax) at var(--wx) var(--wy))}to{clip-path:circle(0px at var(--wx) var(--wy))}}@media(prefers-reduced-motion:reduce){html.vt-to-light::view-transition-new(site),html.vt-to-dark::view-transition-old(site){animation:none}}
