@font-face{font-family:Cormorant;src:url("assets/cormorant.woff2") format("woff2");font-display:swap;font-weight:400}
html{overflow-x:clip;}
:root{color-scheme:dark;--bg:#101110;--ink:#e8e4da;--muted:#aaa99e;--accent:#c6ad7e;--red:#c95d4c;--ease:cubic-bezier(.16,1,.3,1);}
*{box-sizing:border-box;}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Microsoft YaHei","PingFang SC",sans-serif;font-size:14px;overflow-x:hidden;}
body:before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse at 49% 43%,#37393036,transparent 62%);pointer-events:none;}
a{color:inherit;text-decoration:none;}
button{font:inherit;color:inherit;}
a,button{-webkit-tap-highlight-color:transparent;}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:7px;}
::selection{background:#c6ad7e;color:#111;}
::-webkit-scrollbar{width:6px;}
::-webkit-scrollbar-thumb{background:#65665d;}
#grain{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;}
#grain{z-index:0;}
main{position:relative;z-index:3;}
#home{position:relative;display:flex;align-items:center;justify-content:center;}
#lens-stage{flex-shrink:0;transform-origin:center;will-change:transform,filter;}
#lens-tilt{will-change:transform;transform:perspective(1200px) rotateX(var(--tilt-y,0deg)) rotateY(var(--tilt-x,0deg));transition:transform .22s ease-out;}
#lens{display:block;width:100%;overflow:visible;filter:drop-shadow(0 24px 30px #0009);}
.metal-face{stroke-width:1;}
.ring{fill:none;stroke:url(#silver);}
.groove{stroke-width:1.2;}
.knurl{fill:none;stroke-width:1.3;}
.tick{stroke-linecap:round;}
.line-shimmer{transform-origin:400px 400px;animation:orbit 48s linear infinite;pointer-events:none;}
.line-shimmer circle{fill:none;stroke:#fff3cf;stroke-width:1.4;stroke-dasharray:37 100 2 760;opacity:.48;}
.line-shimmer circle+circle{stroke-dasharray:20 900;opacity:.55;}
.sector{fill:transparent;stroke:transparent;stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:all;cursor:pointer;transition:fill .3s,stroke .3s;}
.branch:focus{outline:none;}
.engraving{fill:#e1dfd1;font-size:17.5px;letter-spacing:.6px;}
.engraving.lower{font-size:16px;}
.red-mark{fill:var(--red);}
.glass{transition:stroke .4s,fill .4s;}
.glass:hover{stroke:#f3e7c7;}
#glass-link:focus{outline:none;}
#glass-link:focus-visible .glass{stroke:#f7e0a6;stroke-width:3;}
.intro{position:absolute;}
.intro h1{font-family:Cormorant,Georgia,serif;font-weight:400;line-height:.98;letter-spacing:-.025em;margin:0;}
.intro h1 span{color:var(--accent);}
.warping .intro{opacity:0;transition:opacity .18s;}
#transition-veil{position:fixed;inset:0;z-index:9;background:#101110;opacity:0;pointer-events:none;}
.warping{overflow:hidden;}
.warping #home{pointer-events:none;}
@keyframes veil{0%,68%{opacity:0}94%,100%{opacity:1}}
@keyframes orbit{to{transform:rotate(360deg)}}
.motion-paused *,.motion-paused *:before{animation-play-state:paused!important;}
.motion-paused #lens-tilt{transform:none!important;}
.motion-paused.warping #lens-stage,.motion-paused.warping #transition-veil{animation:none;}
#page{min-height:100svh;padding:55px max(6vw,24px) 80px;max-width:1480px;margin:auto;outline:none;}
#page[hidden],#home[hidden]{display:none;}
.noscript{position:fixed;bottom:25px;left:25px;z-index:20;background:#111;padding:20px;}
@media(min-width:1500px){.intro{left:7vw;}}
@media(max-width:1100px){.intro h1{font-size:48px;}
.intro{top:12%;left:5vw;}
#lens-stage{width:min(80vw,740px);}}
@media(max-width:650px){#home{height:auto;min-height:calc(100svh - 161px);padding:125px 0 150px;align-items:center;}
.intro{top:19px;left:27px;}
.intro h1{font-size:38px;line-height:.95;}
.intro h1 br{display:none;}
#lens-stage{width:100vw;max-width:560px;}
.engraving{font-size:19px;}
.engraving.lower{font-size:18px;}
#page{padding-top:22px;}}
@media(prefers-reduced-motion:reduce){*,*:before{animation:none!important;transition:none!important;}
#lens-tilt{transform:none!important;}}
#lens-stage{pointer-events:none;}
#lens a{pointer-events:auto;}
#ticks{pointer-events:none;}
.metal-face{stroke:#050709;filter:drop-shadow(0 9px 5px #000b);}
.rim-metal{stroke:#f2f5f8;stroke-width:.8;filter:drop-shadow(0 5px 2px #000c);}
.rim-machining{fill:none;stroke:#f8fbff;stroke-width:.55;opacity:.6;pointer-events:none;}
.rim-machining circle:nth-child(2n){stroke:#515e69;opacity:.7;}
.knurl{stroke:#d7e0e9;opacity:.95;filter:drop-shadow(0 1px .5px #020304);}
.ring{opacity:.5;stroke-width:1.1;}
#rings circle:nth-child(3){stroke:#080b0a;stroke-width:5;opacity:1;}
#rings circle:nth-child(5){stroke:#545f68;stroke-width:1.3;opacity:.65;}
#rings circle:nth-child(7){stroke:#060909;stroke-width:5;opacity:1;}
.engraving-seat{pointer-events:none;}
.engraving,.engraving.lower{fill:#dfded5;}
.engraving text{paint-order:stroke fill;}
.intro{transition:opacity .25s;}
.exploring .intro{opacity:0;}
#aperture-halo{fill:none;stroke:url(#coating);opacity:0;pointer-events:none;transition:opacity .3s;}
#aperture-halo.visible{opacity:.68;}
.iris-blade{fill:url(#blade-metal);stroke-width:.75;stroke-linejoin:round;}
.iris-seam{fill:none;}
.glass{stroke:#738ca4;stroke-width:1.3;filter:drop-shadow(0 -4px 3px #000);}
.glass-optics{pointer-events:none;}
.glass-reflections,.glass-counter-reflection{transform-origin:400px 400px;transform:rotate(var(--reflection-angle,0deg));transition:transform .16s ease-out,opacity .3s;}
.glass-counter-reflection{opacity:.48;transition-duration:.24s;}
.reflection-bloom{fill:none;stroke:#b8cde0;stroke-width:13;opacity:.18;filter:blur(3px);}
.reflection-strip{fill:none;stroke:#d9e6f2;stroke-width:3.8;opacity:.72;stroke-linecap:round;filter:blur(.6px);}
.specular{fill:none;stroke:#f4fbff;stroke-width:1.2;opacity:.92;stroke-linecap:round;}
.reflection-echo{fill:none;stroke:#a9b8e8;stroke-width:1.2;opacity:.46;}
.coating-edge{fill:none;stroke:url(#coating);stroke-width:3;opacity:.43;filter:blur(.7px);}
.glass-inner-edge{fill:none;stroke:url(#coating);stroke-width:.8;opacity:.25;}
#glass-link:hover .glass-counter-reflection,#glass-link:focus .glass-counter-reflection{opacity:.8;}
.warping #aperture-halo{opacity:0;}
@media(prefers-reduced-motion:reduce){.glass-reflections,.glass-counter-reflection{transform:none;}}
.metal-face,.engraving-seat,.iris-blade{filter:url(#surface-grain);}
.well-depth{pointer-events:none;filter:url(#surface-grain);}
.engraving-seat{stroke:#06090c;stroke-width:3;}
.engraving text{fill:#c2c5bd;stroke:#090d10;stroke-width:2.1;filter:url(#engraved) drop-shadow(0 1px .25px #d8e2de88);}
.groove{stroke:#65717a;opacity:.37;filter:drop-shadow(0 2px 1px #000);}
.iris-blade{stroke:none;}
.iris-seam{stroke:#8d9993;opacity:.5;stroke-width:.7;filter:drop-shadow(0 .8px .35px #17201d);}
#aperture-halo{stroke-width:3.5;filter:blur(1.3px);}
.sector-photo{opacity:0;pointer-events:none;transition:opacity .55s;filter:saturate(.6) brightness(.57);}
.branch.active .sector-photo,.branch:hover .sector-photo,.branch:focus-visible .sector-photo{opacity:.8;}
.tick-lit{stroke:#fff5c9;filter:drop-shadow(0 0 3px #ecc68b);}
#model-stage{position:absolute;inset:0;pointer-events:none;z-index:2;filter:drop-shadow(0 24px 24px #0008);}
#model-stage canvas{display:block;width:100%;height:100%;}
#lens-stage{z-index:3;}
.model-ready #lens{filter:none;}
.model-ready #lens>*{visibility:hidden;}
.model-ready #branches,.model-ready #branches *,.model-ready #glass-link>.glass{visibility:visible;}
.model-ready #glass-link>.glass{opacity:0;}
.model-ready #glass-link:focus-visible>.glass{opacity:1;fill:transparent;stroke:#f7e0a6;stroke-width:3;filter:none;}
.model-ready .engraving,.model-ready #glass-link{visibility:visible;}
.model-ready .engraving text{visibility:hidden;}
@media(max-width:650px){#home{padding-bottom:125px;}
.sector-photo{filter:saturate(.6) brightness(.5);}}
#glass-link{pointer-events:auto!important;cursor:pointer;}
#glass-link *{pointer-events:none!important;}
#glass-link>.glass{pointer-events:all!important;}
.model-ready #lens-tilt{transition:none;}
#home{user-select:none;}
.sector-photo{display:block;}
#aperture-halo{display:none;}
.warping #model-stage{animation:none;filter:none;}
.warping #lens-stage{animation:none;opacity:0;pointer-events:none;transition:none;}
.warping.entering #lens-stage{opacity:1;}
.warping.entering #model-stage{z-index:5;}
.warping.entering .branch:not(.active),.warping.entering .intro{transition:none;}
.warping.entering .edge-light.visible{opacity:1;transition:none;}
.warping.entering .sector{opacity:var(--entry-context,1);}
.warping #transition-veil{animation:none;opacity:0;}
.photo-flow{position:fixed;inset:0;width:100%;height:100%;z-index:11;pointer-events:none;}
.gallery-open #page{padding:0;max-width:none;min-height:100svh;}
.film-return{bottom:28px;right:30px;place-items:center;transition:transform .2s;}
.model-ready .preview-clip{visibility:visible;}
.roll-feed{transform:translateX(-33.333333%);}
.viewing-film .roll-feed,.motion-paused .roll-feed{animation-play-state:paused;}
.film-cell{display:block;flex:none;width:calc(var(--film-h)*1.085714286);height:var(--film-h);padding:0;margin:0;border:0;background:none;cursor:pointer;color:#111;}
.film-cell svg{display:block;width:100%;height:100%;overflow:visible;}
.film-cell:focus-visible{outline-offset:-4px;outline:2px solid #fff2b3;}
.edge-print{font:1.1px "Arial Narrow",Arial,sans-serif;letter-spacing:.12px;}
.film-viewer{--film-h:calc(var(--shot-w)*.9210526);--photo-w:calc(var(--shot-w)*.9473684);--photo-h:calc(var(--shot-w)*.6315789);--viewer-border:18px;--viewer-size:calc(var(--photo-w) + var(--viewer-border)*2);position:fixed;inset:0;width:100vw;height:100svh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#080b0bdd;overflow:hidden;outline:none;color:#deded4;touch-action:none;}
.film-viewer::backdrop{background:#050605c9;backdrop-filter:blur(5px);}
.viewer-band{position:absolute;left:0;right:0;top:50%;height:var(--film-h);transform:translateY(-50%);cursor:grab;overflow:hidden;z-index:1;}
.viewer-band:active{cursor:grabbing;}
.viewer-track{position:absolute;display:flex;left:0;right:0;height:100%;touch-action:none;}
.viewer-shot{position:absolute;left:calc(50% - var(--shot-w)*.5);width:var(--shot-w);height:100%;will-change:transform;}
.viewer-shot.adjacent{filter:brightness(.17);}
.viewer-shot.current{filter:brightness(1);}
.viewer-shot .film-cell{cursor:grab;opacity:1;}
.viewer-frame{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:var(--viewer-size);height:calc(var(--photo-h) + var(--viewer-border)*2);border:var(--viewer-border) solid #1c2021;border-radius:12px;z-index:2;pointer-events:none;box-shadow:inset 0 0 0 2px #050708,inset 0 5px 12px #0008,0 16px 28px #000b;outline:1px solid #454b4b;}
.viewer-frame:before{content:"";position:absolute;inset:calc(var(--viewer-border)*-1);border:var(--viewer-border) solid transparent;border-radius:12px;background-image:url("assets/viewer-grain.svg");mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);mask-composite:exclude;opacity:.65;pointer-events:none;}
.viewer-screw{position:absolute;width:5px;height:5px;border-radius:50%;background:#080a0a;box-shadow:0 1px #6b747066;top:calc(var(--viewer-border)*-.6);}
.screw-a{left:0;}
.screw-b{right:0;}
.viewer-notch{position:absolute;right:calc(var(--viewer-border)*-1.35);top:39%;height:22%;width:8px;background:repeating-linear-gradient(0deg,#101416 0 3px,#353b3c 3px 4px);border-radius:0 4px 4px 0;}
.viewer-prev,.viewer-next{border:0;background:none;display:flex;align-items:center;gap:12px;padding:16px 10px;cursor:pointer;font-size:12px;color:#dddcd1;flex-direction:column;text-shadow:0 2px 4px #000;}
.viewer-prev svg,.viewer-next svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.2;}
@media(prefers-reduced-motion:reduce){.roll-window{transition:none;}
.roll-feed{animation:none;}
.film-viewer{scroll-behavior:auto;}}
@media(max-width:650px){.film-viewer{--shot-w:92vw;--viewer-border:10px;}}
.branch:hover .sector,.branch:focus .sector,.branch.active .sector{stroke:transparent;stroke-width:.45;}
.branch:focus-visible .sector{stroke:#d7cfb578;stroke-width:.75;}
.edge-light{pointer-events:none!important;opacity:0;transition:opacity .22s;}
.edge-light *{pointer-events:none!important;}
.edge-light.visible{opacity:1;}
.edge-ray{fill:none;vector-effect:non-scaling-stroke;}
.warping .edge-light,.returning .edge-light{opacity:0;}
.edge-ray{stroke-width:.7;filter:blur(.35px);}
.edge-haze{opacity:.36;}
.edge-light circle{filter:none;}
.branch:hover .sector,.branch:focus .sector,.branch.active .sector{fill:transparent;}
.roll-wall{position:relative;height:100svh;overflow:hidden;}
.roll-row{position:absolute;left:var(--film-left);right:0;top:51%;height:var(--film-h);transform:translateY(-50%);touch-action:pan-y;cursor:grab;}
.roll-row:active{cursor:grabbing;}
.roll-row:focus-visible{outline:2px solid var(--accent);outline-offset:8px;}
.roll-window{position:absolute;inset:0;overflow:clip;}
.roll-feed{animation:none!important;display:flex;height:100%;width:max-content;will-change:transform;}
.album-canister{position:absolute;z-index:3;left:-6px;top:51%;width:calc(var(--film-h)*.87);height:calc(var(--film-h)*1.8);transform:translateY(-50%);filter:drop-shadow(6px 9px 7px #000b);pointer-events:none;}
.album-canister canvas{display:block;width:100%;height:100%;}
.film-return{border-radius:0;background:none;box-shadow:none;display:inline-flex;padding:12px 0;font-size:14px;min-height:44px;}
.film-return:hover{transform:none;color:var(--accent);}
.album-controls{right:5vw;flex-wrap:wrap;justify-content:space-between;}
.film-viewer{--shot-w:min(80vw,calc((100svh - 80px)*1.085714286));}
@font-face{font-family:LensEngraving;src:url("assets/d-din.woff2") format("woff2");font-weight:400;font-display:block}
.engraving,.engraving.lower{font-family:LensEngraving,sans-serif;font-size:32px;letter-spacing:7.5px;font-kerning:none;}
.red-mark{font-family:LensEngraving,sans-serif;font-size:32px;font-weight:400;}
.engraving{pointer-events:none;}
#grain{opacity:.045;}
#home{--lens-size:min(46vw,80svh);min-height:min(650px,100svh);height:100svh;touch-action:pan-y;}
#lens-stage{position:absolute;width:var(--lens-size);left:50%;top:54%;transform:translate(-50%,-50%);transition:opacity .18s;}
.intro{left:6vw;top:auto;bottom:calc(46svh - var(--lens-size)*.4125);z-index:4;pointer-events:auto;}
.intro h1{font-size:clamp(48px,4.6vw,72px);}
body.exploring:not(.warping) .intro{opacity:1;}
#branches .branch .sector-photo{opacity:1;filter:saturate(.65) brightness(.46);transition:filter .22s;}
#branches .branch.active .sector-photo{opacity:1;filter:saturate(.65) brightness(.88);}
.tick{stroke:#343c3d;stroke-width:2.6;filter:none;}
.tick.tick-lit{stroke:var(--tick-color,#c6ceca);}
@media(max-width:1100px) and (min-width:651px){#home{--lens-size:min(68vw,76svh);}
.intro{top:auto;left:5vw;}
.intro h1{font-size:46px;}}
@media(max-width:650px){#home{--lens-size:min(94vw,46svh);height:100svh;min-height:560px;padding:0;}
#lens-stage{max-width:520px;left:50%;top:51%;}
.intro{top:calc(51% + var(--lens-size)*.4125 + 78px);bottom:auto;left:24px;right:24px;}
.intro h1{font-size:clamp(34px,11.5vw,45px);white-space:nowrap;}
.intro h1 br{display:none;}
.film-viewer{--shot-w:92vw;}}
@media(max-width:650px) and (max-height:700px){#home{--lens-size:min(92vw,42svh);min-height:500px;}
#lens-stage{top:43%;}
.intro{top:calc(43% + var(--lens-size)*.4125 + 78px);}
.intro h1{font-size:36px;}}
.roll-photos{position:absolute;inset:0;clip-path:inset(0 max(0px,calc(100% - var(--photo-width,100%))) 0 0);}
.film-leader{position:absolute;top:0;width:calc(var(--film-h)*1.085714286);height:100%;transform:translateX(-1px);pointer-events:none;}
.film-leader svg{display:block;width:100%;height:100%;}
.rim-machining circle{stroke:#abb6b4;stroke-width:4;opacity:.5;}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;border:0!important;clip-path:inset(50%)!important;overflow:hidden!important;white-space:nowrap!important;}
.roll-wall{min-height:min(520px,100svh);}
.roll-wall.all-works .roll-row{top:calc(46% + var(--strip)*(var(--film-h) + 18px));}
.album-controls{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);width:min(800px,calc(100% - 48px));display:grid;grid-template-columns:auto minmax(140px,1fr);align-items:center;gap:30px;padding:14px 22px;background:#171c1b url("assets/viewer-grain.svg");border:1px solid #454e4b;border-radius:5px;box-shadow:inset 0 1px 0 #9ca8a332,0 8px 22px #0008;z-index:5;}
.film-transport{display:flex;align-items:center;gap:12px;}
.transport-button,.film-return{position:relative;display:grid;place-items:center;flex:none;width:48px;height:48px;min-height:44px;padding:0;border:0;border-radius:50%;background:linear-gradient(135deg,#a2afaa 0%,#45534f 27%,#141c1a 48%,#7d8a84 76%,#3d4a45 100%);color:var(--ink);cursor:pointer;box-shadow:0 3px 5px #0008;transition:transform .16s,color .16s;}
.transport-button:before,.film-return:before{content:"";position:absolute;inset:3px;border-radius:50%;background:radial-gradient(circle at 35% 24%,#343d38,#161d19 67%);box-shadow:inset 0 1px 1px #d3dcd32b,0 1px 1px #000;pointer-events:none;}
.transport-button svg,.film-return svg{position:relative;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;z-index:1;}
.transport-button svg,.transport-button svg *,.film-return svg,.film-return svg *{pointer-events:none;}
.transport-button:hover,.film-return:hover{color:#ffe0a6;transform:translateY(-1px);}
.transport-button:active,.film-return:active{transform:translateY(1px);}
.transport-button:focus-visible,.film-return:focus-visible{outline:2px solid var(--accent);outline-offset:4px;}
.transport-button:disabled{opacity:.45;cursor:default;transform:none;}
.film-play{width:56px;height:56px;}
.film-play .pause-icon{display:none;}
.film-play .play-icon{display:block;}
.film-play.is-playing .pause-icon{display:block;}
.film-play.is-playing .play-icon{display:none;}
.transport-led{position:absolute;z-index:2;width:4px;height:4px;border-radius:50%;background:#51564c;bottom:9px;left:calc(50% - 2px);}
.film-play.is-playing .transport-led{background:var(--accent);box-shadow:0 1px 2px #000;}
.film-position{margin:0 0 0 10px;min-width:66px;white-space:nowrap;font:500 21px Cormorant,Georgia,serif;font-variant-numeric:tabular-nums;color:var(--ink);text-align:center;}
.film-return{position:absolute;left:30px;top:28px;width:52px;height:52px;z-index:6;text-decoration:none;}
.film-return svg{width:25px;height:25px;}
.film-progress{display:flex;align-items:center;min-width:0;width:100%;height:48px;position:relative;}
.film-progress:before{content:"";position:absolute;inset:10px 7px;background:repeating-linear-gradient(90deg,#9eaba555 0 1px,transparent 1px 16px);mask:linear-gradient(#000 0 0) top/100% 4px no-repeat;pointer-events:none;}
.film-scrubber{--progress:0%;appearance:none;-webkit-appearance:none;width:100%;min-width:0;height:44px;margin:0;cursor:ew-resize;background:transparent;touch-action:none;accent-color:var(--accent);position:relative;}
.film-scrubber::-webkit-slider-runnable-track{height:5px;border-radius:3px;background:linear-gradient(to right,var(--accent) var(--progress),#080d0b var(--progress));box-shadow:0 1px 0 #7f8c844d,inset 0 1px 2px #000;}
.film-scrubber::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:radial-gradient(circle at 34% 28%,#e1e5dc,#8d9b92 40%,#394b41 68%,#c6cec3 75%,#4d5e53);border:2px solid #0c140f;margin-top:-7.5px;box-shadow:0 2px 4px #000a;}
.film-scrubber::-moz-range-track{height:5px;border-radius:3px;background:#080d0b;}
.film-scrubber::-moz-range-progress{height:5px;background:var(--accent);}
.film-scrubber::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#b6c1b5;border:2px solid #0c140f;}
.film-scrubber:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
@media(max-width:650px){.roll-wall.all-works .roll-row{top:calc(45% + var(--strip)*(var(--film-h) + 12px));}
.album-controls{bottom:16px;width:calc(100% - 32px);grid-template-columns:1fr;gap:2px;padding:10px 18px;}
.film-transport{justify-content:center;gap:14px;}
.film-position{font-size:21px;margin-left:8px;}
.film-progress{height:38px;}
.film-return{left:18px;top:18px;width:48px;height:48px;}}
@media(max-height:650px){.roll-wall.all-works .roll-row{top:calc(43% + var(--strip)*(var(--film-h) + 10px));}
.album-controls{bottom:12px;padding-top:8px;padding-bottom:8px;}
.film-return{top:12px;}}
@media(prefers-reduced-motion:reduce){.transport-button,.film-return{transition:none;}}
.viewer-prev,.viewer-next{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;z-index:6;}
.viewer-prev{left:18px;}
.viewer-next{right:18px;}
.viewer-prev:hover,.viewer-next:hover{transform:translateY(calc(-50% - 1px));}
.viewer-prev:active,.viewer-next:active{transform:translateY(calc(-50% + 1px));}
.viewer-close{position:absolute;top:20px;right:24px;z-index:8;width:48px;height:48px;}
.viewer-shot.adjacent{cursor:pointer;}
.viewer-shot.current{cursor:zoom-in;}
.viewer-shot.current:focus-visible,.viewer-original:focus-visible{outline:2px solid var(--accent);outline-offset:-3px;}
.film-viewer.is-expanded{height:100dvh;touch-action:auto;}
.film-viewer.is-expanded>:not(.viewer-expanded){visibility:hidden;}
.viewer-expanded{position:absolute;inset:0;z-index:10;background:#080909;}
.viewer-original{display:block;width:100%;height:100%;object-fit:contain;cursor:zoom-out;-webkit-touch-callout:default;}
@media(max-width:650px){.viewer-prev{left:12px;}
.viewer-next{right:12px;}
.viewer-close{top:16px;right:16px;}}
@media(max-height:500px){.film-viewer{--shot-w:min(76vw,calc((100svh - 64px)*1.085714286));}
.viewer-close{top:12px;right:14px;}}
