.jft-gallery{width:100%;max-width:1048px;margin:0 auto;color:#f4d997;font-family:Georgia,serif;box-sizing:border-box}.jft-machine{width:100%;position:relative;aspect-ratio:2200/1368;background:url('machine.png') center/100% 100% no-repeat;isolation:isolate}.jft-panel{position:absolute;left:5.5%;top:21%;width:89.2%;height:61.8%;padding:1.3% 1%;box-sizing:border-box;border:5px ridge #d5a75e;border-radius:1.2%;background:linear-gradient(90deg,#30231b,#9e7042 2%,#201813 4%,#201813 96%,#a87c47 98%,#2e2016);box-shadow:0 0 12px #100804,inset 0 0 12px #000;z-index:2}.jft-reels{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));height:100%;gap:.65%}.jft-reel{display:block;min-width:0;width:100%;height:100%;padding:0;overflow:hidden;background:#120e0a;border:3px ridge #c49b65;border-radius:3%;cursor:zoom-in;box-shadow:inset 0 0 10px #000}.jft-reel img{width:100%;height:100%;display:block;object-fit:contain;filter:none!important;background:#130e0b}.jft-lever{position:absolute;right:.4%;top:22%;width:4.5%;height:48%;border:0;background:transparent;cursor:pointer;z-index:4;transform-origin:50% 75%}.jft-lever.pull{animation:jft-pull .6s ease}.jft-start{position:absolute;left:39%;top:85.1%;width:22%;height:8.8%;background:transparent;border:0;cursor:pointer;z-index:4}.jft-status{text-align:center;background:#21120e;color:#e9c179;margin:0;padding:12px;font-size:clamp(12px,1.5vw,17px)}.jft-rotate{display:none}.jft-modal{max-width:94vw;max-height:90dvh;padding:10px;background:#190e0a;border:4px solid #c99d4d}.jft-modal::backdrop{background:rgba(0,0,0,.85)}.jft-modal img{display:block;max-width:85vw;max-height:76dvh;object-fit:contain}.jft-close{display:block;margin:0 0 8px auto;color:white;background:#922c1c;border:0;font-size:26px;cursor:pointer}.jft-reel:focus-visible,.jft-start:focus-visible,.jft-lever:focus-visible{outline:3px solid white;outline-offset:2px}@keyframes jft-pull{50%{transform:rotate(16deg)}100%{transform:rotate(0)}}@media(max-width:1024px) and (orientation:portrait){.jft-gallery .jft-machine,.jft-gallery .jft-status{display:none}.jft-gallery .jft-rotate{display:flex;min-height:240px;box-sizing:border-box;padding:24px;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;background:linear-gradient(140deg,#631c14,#210d0a);border:5px ridge #d4a45c;border-radius:12px}.jft-rotate span{font-size:60px}.jft-rotate strong{font-size:clamp(20px,5vw,30px)}}@media(max-width:650px) and (orientation:landscape){.jft-gallery{max-width:min(100%,1048px)}.jft-panel{border-width:2px}.jft-reel{border-width:1px}}

/* V3: genuine vertical reel motion, two full-height cards per column */
.jft-reel{position:relative}.jft-track{position:absolute;inset:0 0 auto 0;height:200%;display:flex;flex-direction:column;will-change:transform;transform:translate3d(0,0,0)}.jft-reel .jft-track img{flex:0 0 50%;height:50%;min-height:0;width:100%;object-fit:contain;display:block;pointer-events:none}
/* V5: gallery of all 300 images, independently browsable in batches of 30. */
.jft-all-controls{text-align:center;background:#21120e;padding:10px}.jft-show-all,.jft-prev,.jft-next{background:#9b3924;color:#fff;border:1px solid #d9a65d;border-radius:5px;padding:9px 16px;cursor:pointer;font-size:15px}.jft-prev:disabled,.jft-next:disabled{opacity:.35;cursor:default}.jft-all-photos{background:#1c100d;padding:12px}.jft-all-photos[hidden]{display:none!important}.jft-photo-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.jft-thumb{background:#2b1b15;border:1px solid #a87c47;min-width:0;padding:5px;color:#fff;cursor:zoom-in}.jft-thumb img{width:100%;aspect-ratio:1728/2760;object-fit:contain;display:block}.jft-thumb span{font-size:12px}.jft-pager{display:flex;align-items:center;justify-content:center;gap:12px;padding:14px;flex-wrap:wrap}.jft-page-label{font:15px Arial,sans-serif;color:#fff}@media(max-width:650px){.jft-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* V6: one compositor-accelerated continuous movement per reel. */
.jft-reel{position:relative;contain:paint}
.jft-reel .jft-strip{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;will-change:transform;backface-visibility:hidden;transform:translate3d(0,0,0)}
.jft-reel .jft-strip img{width:100%;height:100%;flex:0 0 100%;min-height:100%;max-height:100%;object-fit:contain;pointer-events:none;display:block}
.jft-reel > img{width:100%;height:100%;object-fit:contain;display:block}
