:root{--bone:#f3f1eb;--film-width:clamp(11.25rem,16vw,13rem);--feed-top:clamp(8.8rem,17vh,11.5rem);--stage-shift:0px;--bottom-space:calc(6rem + env(safe-area-inset-bottom, 0px));font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Helvetica Neue,Arial,sans-serif;color:var(--bone);background:#3d3d3d;font-synthesis:none}*{box-sizing:border-box}body,html{width:100%;height:100%;margin:0;overflow:hidden;overscroll-behavior:none;background:#3d3d3d}body{min-width:0;background:radial-gradient(ellipse at 82% 104%,rgba(102,75,55,.2),transparent 42%),radial-gradient(ellipse at 24% 9%,rgba(139,139,139,.34),transparent 34%),linear-gradient(135deg,#444,#3c3c3c 53%,#343434)}body:before{z-index:20;pointer-events:none;content:"";opacity:.11;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.24'/%3E%3C/svg%3E");mix-blend-mode:soft-light}.viewer,body:before{position:fixed;inset:0}.viewer{height:100dvh;overflow:hidden;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:-webkit-grab;cursor:grab}.viewer.is-dragging{cursor:-webkit-grabbing;cursor:grabbing}.roll-assembly{position:absolute;inset:0;animation:assembly-float 4.2s ease-in-out 3.6s infinite}.viewer.is-open .roll-assembly{animation:none}.viewer.is-snapping .cartridge,.viewer.is-snapping .film-window,.viewer.is-snapping .pull-hint{transition:transform .76s cubic-bezier(.18,.82,.18,1),opacity .24s ease}.film-window{animation:entrance-reveal .4s 3.6s both;inset:var(--feed-top) 0 var(--bottom-space);z-index:4;overflow:hidden;pointer-events:none;transform:translateY(var(--stage-shift));mask-image:linear-gradient(180deg,transparent 0,#000 .45rem,#000 calc(100% - 3rem),transparent);-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 .45rem,#000 calc(100% - 3rem),transparent)}.film-track,.film-window{position:absolute;will-change:transform}.film-track{top:0;left:50%;width:var(--film-width);pointer-events:auto}.film-track.is-snapping{transition:transform .76s cubic-bezier(.18,.82,.18,1)}.film-frame{position:relative;width:100%;aspect-ratio:464/512;margin:0;filter:drop-shadow(0 .65rem .8rem rgba(0,0,0,.1))}.film-ink-defs{position:absolute;width:0;height:0;overflow:hidden}.film-stock{filter:url(#film-ink);position:absolute;inset:0;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.photo-window{position:absolute;top:2.34%;left:15.73%;width:68.53%;height:95.31%;overflow:hidden;background:#070808}.photo-window:after{position:absolute;inset:0;pointer-events:none;content:"";background:linear-gradient(112deg,rgba(255,245,225,.045),transparent 28%,transparent 76%,rgba(0,0,0,.12));box-shadow:inset 0 0 1.25rem rgba(0,0,0,.2)}.photo-window img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none;filter:saturate(.93) contrast(.98) brightness(.96) blur(.18px)}.film-tail-handle{position:relative;width:100%;height:calc(var(--film-width) * 180 / 464);filter:drop-shadow(0 .65rem .8rem rgba(0,0,0,.1));outline:none;cursor:-webkit-grab;cursor:grab}.film-tail-handle:focus-visible{filter:drop-shadow(0 0 .5rem rgba(239,237,230,.3))}.film-tail-art{filter:url(#film-ink);display:block;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.cartridge{position:absolute;top:calc(var(--feed-top) - clamp(6.1rem, 10vw, 7.5rem));left:50%;z-index:12;width:clamp(33rem,46vw,41rem);height:clamp(9rem,15vw,12rem);transform:translate(-50%,var(--stage-shift));pointer-events:none;will-change:transform}.cartridge-float{position:absolute;inset:0;transform-origin:50% 50%;animation:cartridge-pop 3.6s linear both}.cartridge-art{position:absolute;top:50%;left:50%;width:100%;aspect-ratio:1;transform:translate(-50%,-50%)}.cartridge img{position:absolute;inset:0;width:100%;height:auto;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 1.1rem 1.5rem rgba(0,0,0,.34))}.viewer.is-open .cartridge-art,.viewer.is-open .cartridge-shadow{animation:none}.cartridge-shadow{position:absolute;left:50%;bottom:.25rem;width:43%;height:1rem;transform:translateX(-50%);border-radius:50%;background:rgba(0,0,0,.34);filter:blur(1rem)}.pull-hint{animation:entrance-reveal .4s 4s backwards;position:absolute;top:calc(var(--feed-top) + var(--film-width) * .48);left:50%;z-index:15;margin:0;color:rgba(243,241,235,.75);font-family:SFMono-Regular,Consolas,monospace;font-size:clamp(.72rem,1vw,.84rem);font-weight:500;letter-spacing:.09em;text-align:center;transform:translate(-50%,var(--stage-shift));pointer-events:none;transition:opacity .24s ease;white-space:nowrap}.pull-hint.is-hidden{opacity:0}.roll-count{position:fixed;bottom:calc(4.5rem + env(safe-area-inset-bottom, 0px));left:50%;z-index:14;margin:0;transform:translateX(-50%);color:rgba(243,241,235,.62);font-size:.875rem;letter-spacing:.025em;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .26s ease}.roll-count.is-visible{opacity:1}footer{position:fixed;right:clamp(1.25rem,4vw,3rem);bottom:max(1.4rem,env(safe-area-inset-bottom));z-index:30;display:flex;gap:clamp(.75rem,2vw,1.25rem);align-items:center;max-width:calc(100vw - 2rem)}footer,footer.is-visible{pointer-events:auto;opacity:1}footer.is-visible{transform:translateY(0)}.own-roll{display:inline-flex;flex:none;white-space:nowrap;gap:.58rem;align-items:center;min-height:44px;padding-inline:.5rem;color:rgba(243,241,235,.62);font-size:.78rem;font-weight:500;letter-spacing:.015em;text-decoration:none;transition:color .18s ease,transform .18s ease}.own-roll-arrow{display:inline-grid;width:1.35rem;height:1.35rem;place-items:center;border:1px solid rgba(243,241,235,.24);border-radius:50%;font-size:.72rem;transition:border-color .18s ease,transform .18s ease}.own-roll:focus-visible,.own-roll:hover{color:var(--bone);outline:none;transform:translateY(-1px)}.own-roll:focus-visible .own-roll-arrow,.own-roll:hover .own-roll-arrow{border-color:rgba(243,241,235,.55);transform:translate(1px,-1px)}@keyframes cartridge-pop{0%{opacity:0;transform:scale(.3)}8%{opacity:1;transform:scale(.38)}50%{opacity:1;transform:scale(.72)}75%{opacity:1;transform:scale(.9);animation-timing-function:ease-out}to{opacity:1;transform:scale(1)}}body:not(.entrance-ready) .cartridge-art,body:not(.entrance-ready) .cartridge-float,body:not(.entrance-ready) .cartridge-shadow,body:not(.entrance-ready) .film-window,body:not(.entrance-ready) .pull-hint,body:not(.entrance-ready) .roll-assembly{animation-play-state:paused}.cartridge-canvas{position:absolute;inset:0;z-index:1;pointer-events:none;filter:drop-shadow(0 1.1rem 1.5rem rgba(0,0,0,.34))}.cartridge-art img.is-replaced{display:none}body.is-entering .film-window,body.is-entering .pull-hint{visibility:hidden}@keyframes entrance-reveal{0%{opacity:0}to{opacity:1}}.close-roll{position:fixed;top:calc(.75rem + env(safe-area-inset-top, 0px));left:calc(.75rem + env(safe-area-inset-left, 0px));z-index:30;display:flex;align-items:center;gap:.5rem;min-height:44px;padding:.5rem .75rem;border:0;border-radius:1.5rem;background:rgba(40,40,40,.72);color:var(--bone);font:inherit;font-size:.8125rem;cursor:pointer}.close-roll[hidden]{display:none}.close-roll:hover{background:rgba(25,25,25,.85)}.close-roll:focus-visible{outline:2px solid var(--bone);outline-offset:3px}@media (max-width:40rem){.close-roll{width:44px;padding:0;justify-content:center}.close-roll span{display:none}}@keyframes assembly-float{0%,to{transform:translateY(0)}50%{transform:translateY(-.45rem)}}@keyframes shadow-float{0%,to{opacity:.72;transform:translateX(-50%) scaleX(1)}50%{opacity:.48;transform:translateX(-50%) scaleX(.9)}}@media (max-width:40rem){:root{--cartridge-width:min(150vw,40rem);--film-width:calc(var(--cartridge-width) * 0.30);--feed-top:calc(clamp(8.5rem, 19dvh, 10rem) + env(safe-area-inset-top, 0px))}.cartridge{top:calc(var(--feed-top) - var(--cartridge-width) * .12);width:var(--cartridge-width);height:0}.pull-hint{top:calc(var(--feed-top) + var(--film-width) * .5);width:calc(100% - 2rem);white-space:normal;overflow-wrap:anywhere;font-size:.875rem;line-height:1.5}footer{right:50%;bottom:calc(.5rem + env(safe-area-inset-bottom, 0px));gap:.9rem;transform:translateX(50%)}.own-roll{font-size:.8rem;padding-inline:calc(.25rem + 1.25rem + .58rem) .25rem}.own-roll-arrow{width:1.25rem;height:1.25rem}footer.is-visible{transform:translate(50%)}}@media (max-height:500px) and (orientation:landscape){:root{--cartridge-width:min(95dvh,32rem);--film-width:calc(var(--cartridge-width) * 0.30);--feed-top:calc(25dvh + env(safe-area-inset-top, 0px))}.cartridge{top:calc(var(--feed-top) - var(--cartridge-width) * .12);width:var(--cartridge-width);height:0}}@media (prefers-reduced-motion:reduce){.cartridge-art,.cartridge-float,.cartridge-shadow,.film-window,.pull-hint,.roll-assembly{animation-duration:1ms;animation-delay:0s;animation-iteration-count:1}.film-track.is-snapping{transition-duration:1ms}}.landing{position:fixed;inset:0;display:flex;flex-direction:column;gap:1rem;align-items:center;justify-content:center;padding:2rem;text-align:center}.landing h1{margin:0;font-size:clamp(2rem,8vw,3.5rem);font-weight:600;letter-spacing:-.02em}.landing p{margin:0;color:rgba(243,241,235,.6);font-size:1rem;max-width:22rem}.landing .own-roll{margin-top:1rem}#pageFooter{display:flex;align-items:center;gap:.9rem}.finished-roll-page{background:#2d2e30}.finished-landing{position:fixed;inset:0;display:grid;grid-template-rows:minmax(1rem,1fr) minmax(19rem,52dvh) auto auto minmax(4.5rem,.7fr);justify-items:center;min-height:100dvh;overflow:hidden;background:radial-gradient(circle at 50% 37%,rgba(255,214,174,.11),transparent 33%),linear-gradient(145deg,#323335,#292a2c 68%)}.finished-glow{position:absolute;top:17%;left:50%;width:min(34rem,86vw);aspect-ratio:1;transform:translateX(-50%);border-radius:50%;background:rgba(245,197,151,.045);filter:blur(2.5rem);pointer-events:none}.finished-cartridge-button{grid-row:2;position:relative;z-index:1;width:min(33rem,90vw);height:100%;padding:0;border:0;background:transparent;cursor:pointer;filter:drop-shadow(0 1.6rem 1.7rem rgba(0,0,0,.34));transition:transform .18s ease,filter .18s ease}.finished-cartridge-button:hover{transform:translateY(-.2rem) scale(1.012)}.finished-cartridge-button:active{transform:scale(.97)}.finished-cartridge-button:focus-visible{outline:1px solid rgba(243,241,235,.8);outline-offset:.35rem;border-radius:1rem}.finished-cartridge-canvas{position:absolute;inset:0}.finished-meta{grid-row:3;z-index:1;display:flex;align-items:baseline;margin-top:.25rem;font-family:SFMono-Regular,Consolas,monospace;text-transform:uppercase}.finished-meta p{margin:0}.finished-owner{color:rgba(243,241,235,.86);font-size:.82rem;letter-spacing:.1em}.finished-open{grid-row:4;z-index:1;width:min(20rem,calc(100vw - 3.5rem));min-height:3.5rem;margin-top:1.5rem;border:0;border-radius:.9rem;background:var(--bone);color:#242426;font:inherit;font-size:.96rem;font-weight:600;cursor:pointer;transition:transform .16s ease,background .16s ease}.finished-open:hover{background:#fffefa;transform:translateY(-1px)}.finished-open:active{transform:scale(.985)}.finished-open:focus-visible{outline:2px solid var(--bone);outline-offset:4px}.finished-footer{right:0;bottom:max(.65rem,env(safe-area-inset-bottom));left:0;justify-content:flex-end;width:100%;transform:none;padding:0 clamp(.75rem,3vw,2rem);opacity:.8}.finished-gallery{position:fixed;inset:0;overflow:auto;overscroll-behavior:contain;background:#050505;scrollbar-width:none;scroll-padding-top:calc(3.75rem + env(safe-area-inset-top, 0px))}.finished-gallery::-webkit-scrollbar{display:none}.gallery-header{position:-webkit-sticky;position:sticky;top:0;z-index:30;display:grid;grid-template-columns:3rem 1fr 3rem;align-items:center;min-height:calc(3.75rem + env(safe-area-inset-top, 0px));padding:env(safe-area-inset-top,0) clamp(.7rem,2.8vw,1.4rem) 0;background:rgba(5,5,5,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.gallery-header button,.photo-detail-header button{display:grid;width:2.75rem;height:2.75rem;place-items:center;padding:0 0 .15rem;border:0;background:transparent;color:var(--bone);font:300 2rem/1 Arial,sans-serif;cursor:pointer}.gallery-header p{display:flex;gap:.8rem;justify-content:center;margin:0;color:rgba(243,241,235,.48);font-family:SFMono-Regular,Consolas,monospace;font-size:.7rem;letter-spacing:.09em;text-transform:uppercase}.gallery-header p span:first-child{color:rgba(243,241,235,.8)}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:clamp(.3rem,.85vw,.52rem);gap:clamp(.3rem,.85vw,.52rem);width:min(100%,58rem);margin:0 auto;padding:.7rem clamp(.65rem,2.8vw,1.15rem) calc(2rem + env(safe-area-inset-bottom, 0px))}.gallery-photo{aspect-ratio:1;min-width:0;padding:0;overflow:hidden;border:0;border-radius:var(--tile-radius);background:#171717;cursor:pointer;opacity:0;transform:translate3d(0,25vh,0) scale(.2) rotate(calc((var(--photo-index) - 1) * .7deg));transition:opacity .42s ease calc(var(--photo-index) * 32ms),transform .68s cubic-bezier(.2,.78,.18,1) calc(var(--photo-index) * 32ms)}.finished-gallery.is-ready .gallery-photo{opacity:1;transform:none}.gallery-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .24s ease}@media (hover:hover) and (pointer:fine){.gallery-photo:hover img{transform:scale(1.025)}}.gallery-photo:focus-visible{outline:2px solid var(--bone);outline-offset:-3px}.photo-detail{--detail-header:calc(3.75rem + env(safe-area-inset-top, 0px));position:fixed;inset:0;z-index:40}.photo-detail-backdrop{position:absolute;inset:0;background:#000}.photo-detail-chrome{position:absolute;inset:0;pointer-events:none}.photo-detail-chrome>*{pointer-events:auto}.photo-detail-header{position:absolute;top:0;right:0;left:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:var(--detail-header);padding:env(safe-area-inset-top,0) .75rem 0;color:rgba(243,241,235,.58);font-family:SFMono-Regular,Consolas,monospace;font-size:.72rem;letter-spacing:.08em}.photo-detail-header a{justify-self:end;padding:.75rem;color:rgba(243,241,235,.7);text-decoration:none}.photo-track{position:absolute;inset:0;display:flex;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none}.photo-track::-webkit-scrollbar{display:none}.photo-slide{display:grid;flex:0 0 100%;place-items:center;padding:calc(var(--detail-header) + .5rem) 4rem calc(2rem + env(safe-area-inset-bottom, 0px));container-type:size;scroll-snap-align:center;scroll-snap-stop:always}.photo-slide img{display:block;width:min(100cqw,100cqh * var(--ratio));height:auto;aspect-ratio:var(--ratio);border-radius:var(--frame-radius);background:#111 50%/cover no-repeat;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}:root{--tile-radius:clamp(0.28rem,1.4vw,0.52rem);--frame-radius:clamp(0.6rem,2vw,1rem);--ease-drawer:cubic-bezier(0.32,0.72,0,1);--photo-morph:460ms}html[data-photo-transition]::view-transition-group(*),html[data-photo-transition]::view-transition-new(*),html[data-photo-transition]::view-transition-old(*){animation-duration:var(--photo-morph);animation-timing-function:var(--ease-drawer)}html[data-photo-transition]::view-transition-new(finished-photo),html[data-photo-transition]::view-transition-old(finished-photo){height:100%;object-fit:cover;animation:none;mix-blend-mode:normal}html[data-photo-transition=close]::view-transition-new(finished-photo),html[data-photo-transition=open]::view-transition-old(finished-photo){opacity:0}html[data-photo-transition]::view-transition-image-pair(finished-photo){overflow:hidden;animation:finished-photo-open var(--photo-morph) var(--ease-drawer) both}html[data-photo-transition=close]::view-transition-image-pair(finished-photo){animation-name:finished-photo-close}@keyframes finished-photo-open{0%{border-radius:var(--tile-radius)}to{border-radius:var(--frame-radius)}}@keyframes finished-photo-close{0%{border-radius:var(--frame-radius)}to{border-radius:var(--tile-radius)}}.photo-step{position:absolute;top:var(--detail-header);bottom:0;width:3.5rem;border:0;background:transparent;color:rgba(243,241,235,.7);font:200 2.3rem/1 Arial,sans-serif;cursor:pointer}.photo-step.previous{left:0}.photo-step.next{right:0}.photo-step:disabled{opacity:.12;cursor:default}@media (min-width:54rem){.finished-landing{grid-template-rows:minmax(1rem,.8fr) minmax(21rem,58dvh) auto auto minmax(4rem,.5fr)}.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:40rem){.finished-footer{justify-content:center}.photo-slide{padding-inline:.6rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom, 0px))}.photo-step{top:auto;bottom:.5rem;z-index:2;width:3rem;height:3rem;border-radius:50%;background:rgba(0,0,0,.55)}.photo-step.previous{left:.75rem}.photo-step.next{right:.75rem}.photo-detail-header a{font-size:.66rem}}@media (prefers-reduced-motion:reduce){.gallery-photo{transition-duration:1ms;transition-delay:0s}html[data-photo-transition]::view-transition-group(finished-photo),html[data-photo-transition]::view-transition-image-pair(finished-photo){animation:none}html[data-photo-transition=open]::view-transition-image-pair(finished-photo){border-radius:var(--frame-radius)}html[data-photo-transition=close]::view-transition-image-pair(finished-photo){border-radius:var(--tile-radius)}.finished-cartridge-button{transition-duration:1ms}}