.ft-game{--ft-cyan:#64f2ff;box-sizing:border-box;position:relative;max-width:720px;margin:16px auto;padding:15px 18px 12px;border:2px solid #d9ba68;border-radius:22px;background:radial-gradient(ellipse at 50% 0,#153851,#080d22 63%,#03081b);box-shadow:0 22px 50px #000a,inset 0 0 0 3px #060a1c,0 0 22px #00bfd32b;color:#f5f4e5;text-align:center;font-family:Arial,sans-serif;touch-action:manipulation}.ft-game *{box-sizing:border-box}.ft-game button{cursor:pointer;font-family:inherit;touch-action:manipulation}.ft-game button:disabled{opacity:.5;cursor:default}.ft-game button:focus-visible,.ft-rules summary:focus-visible{outline:3px solid #fff;outline-offset:3px}
.ft-header{display:flex;justify-content:center;align-items:center;gap:10px}.ft-header p{margin:0 0 5px;color:#8ad2db;font:700 8px/1 Arial;letter-spacing:.22em}.ft-game h2{margin:0;color:#f9d98b;font:900 clamp(23px,4.3vw,36px)/1.05 Georgia,serif;letter-spacing:.07em;text-shadow:0 2px #614320,0 0 13px #60dfff55}.ft-sound{width:32px;height:32px;border:1px solid #7bcbd5;border-radius:50%;background:#0a2338;color:#d5ffff;font-size:20px}
.ft-scene{position:relative;width:min(100%,480px);aspect-ratio:3/2;margin:8px auto 0;background-image:var(--ft-portrait);background-size:100% 100%;border-radius:14px 14px 24% 24%;isolation:isolate}.ft-scene::after{position:absolute;content:"";inset:0;pointer-events:none;z-index:0;background:linear-gradient(transparent 80%,#080d22);border-radius:inherit}
.ft-orb{position:absolute;z-index:2;width:46%;aspect-ratio:1;left:27%;top:32%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14% 0 0;border:2px solid #c1f6ffb3;border-radius:50%;background:radial-gradient(circle at 35% 22%,#d8faff70,transparent 28%),radial-gradient(circle at 50% 50%,#133e5bcc 36%,#46e0f66b 70%,#ccf8ffcc 91%,#288cac);box-shadow:inset 5px 5px 16px #b6fbff66,inset -7px -8px 19px #057b9277,0 0 17px #44dfff65;overflow:hidden}.ft-orb::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:50%;background:radial-gradient(ellipse at 30% 16%,#e8ffff99,transparent 18%);box-shadow:inset 0 0 14px #d5ffff66}.ft-orb-label{position:absolute;top:12%;left:0;right:0;color:#c9fbff;font:800 8px/1 Arial;letter-spacing:.1em;text-shadow:0 1px #05223d}
.ft-reels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;overflow:hidden}.ft-upper{position:absolute;width:70%;height:59%;top:25%;left:15%;padding:3px;border:1px solid #94f1ff;border-radius:9px;background:#041b30ba;box-shadow:0 0 14px #16dae86e}.ft-reel{position:relative;display:grid;grid-template-rows:repeat(3,minmax(0,1fr));min-width:0;overflow:hidden;border-radius:4px;background:linear-gradient(#c2dde4,#fbfffa 24%,#e2f3ee 73%,#97c4d2)}.ft-symbol{display:block;min-height:0;background:center/contain no-repeat}.ft-symbol.win{background-color:#fff08e;animation:ftWin .35s alternate 3}.ft-track{position:absolute;z-index:3;top:0;left:0;width:100%;background:#e4f3ef;will-change:transform}.ft-track .ft-symbol{width:100%}
.ft-s0{background-image:var(--ft-s0)}.ft-s1{background-image:var(--ft-s1)}.ft-s2{background-image:var(--ft-s2)}.ft-s3{background-image:var(--ft-s3)}.ft-s4{background-image:var(--ft-s4)}.ft-s5{background-image:var(--ft-s5)}.ft-s6{background-image:var(--ft-s6)}.ft-s7{background-image:var(--ft-s7)}
.ft-lower-frame{width:min(92%,400px);margin:5px auto 0;padding:7px;border:2px solid #d1b160;border-radius:12px;background:linear-gradient(145deg,#274859,#071628 45%,#226978);box-shadow:inset 0 0 0 2px #051122,0 7px 14px #0006}.ft-window-label{display:block;padding:1px 0 6px;color:#ccdaeb;font-size:8px;font-weight:800;letter-spacing:.13em}.ft-lower{height:144px;padding:3px;border:2px solid #061629;border-radius:7px;background:#0c1b2e}.ft-game .ft-message{min-height:24px;margin:6px 0;display:grid;place-items:center;color:#d2faff;font-size:10px;font-weight:800;letter-spacing:.04em}
.ft-control-dock{position:sticky;bottom:8px;z-index:10;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:7px;border:1px solid #af985b;border-radius:12px;background:#061025f5;box-shadow:0 3px 15px #0008}.ft-wallet{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;align-items:center}.ft-wallet span{color:#a4bdcc;font-size:8px;font-weight:800}.ft-wallet b{display:block;overflow-wrap:anywhere;margin-top:4px;color:#ffe5a1;font:800 19px/1 Consolas,monospace}.ft-buttons{display:grid;grid-template-columns:1.6fr 1fr;gap:6px}.ft-buttons button{min-height:48px;min-width:0;border:2px solid #f3d993;border-radius:8px;font-size:17px;font-weight:900}.ft-start{background:linear-gradient(#ffa940,#ee551e,#9e3216);color:#fff7da}.ft-auto{background:linear-gradient(#294b68,#0d223d);color:#ffe3a0}.ft-auto[aria-pressed=true]{background:linear-gradient(#926733,#4c2813)}
.ft-rules{margin-top:10px;border:1px solid #446479;border-radius:8px;background:#071127;text-align:left}.ft-rules summary{text-align:center;padding:10px;color:#d0e9ed;font-size:10px;font-weight:800;letter-spacing:.12em;cursor:pointer}.ft-rules p{padding:0 12px;color:#b3ccd6;font-size:11px;line-height:1.5}.ft-paytable{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;padding:8px}.ft-paytable>span{display:flex;align-items:center;gap:4px;font-size:10px;color:#f7df96}.ft-paytable i{width:35px;height:34px}.ft-game footer{display:flex;justify-content:space-between;align-items:center;margin-top:8px;color:#688998;font-size:7px;letter-spacing:.09em}.ft-version{padding:3px 7px;border:1px solid #4d7181;border-radius:15px;background:#071c2d;color:#8eb4c4;font-size:8px}.ft-version.selected{color:#ffd97b;border-color:#cfa743;background:#493917}
@keyframes ftWin{to{filter:brightness(1.2);box-shadow:inset 0 0 12px #fff2ae}}
@media(max-width:570px){.ft-game{padding:10px 8px;margin:8px auto;border-radius:15px}.ft-header{gap:6px}.ft-header p{font-size:6px;letter-spacing:.1em}.ft-game h2{font-size:clamp(20px,6vw,31px)}.ft-sound{width:27px;height:27px;font-size:16px}.ft-scene{margin-top:6px}.ft-orb-label{font-size:6px}.ft-upper{gap:2px;padding:2px}.ft-lower-frame{width:84%;padding:5px;margin-top:4px}.ft-lower{height:clamp(104px,31vw,144px)}.ft-window-label{font-size:6px;padding-bottom:4px}.ft-message{font-size:8px!important;margin:4px 0!important;min-height:21px!important}.ft-control-dock{gap:5px;padding:5px;bottom:5px;grid-template-columns:1fr 1.07fr}.ft-wallet span{font-size:6px}.ft-wallet b{font-size:16px}.ft-buttons{gap:4px}.ft-buttons button{min-height:46px;font-size:14px;border-radius:7px}.ft-rules{margin-top:7px}.ft-rules summary{padding:9px;font-size:9px}.ft-game footer{margin-top:6px}.ft-paytable{grid-template-columns:repeat(2,1fr)}}
@media(max-height:720px) and (min-width:571px){.ft-scene{width:400px}.ft-lower{height:120px}.ft-game{padding-top:10px;margin-top:8px}.ft-game h2{font-size:28px}}
@media(max-height:500px) and (orientation:landscape){.ft-game{display:grid;grid-template-columns:1fr 1fr;gap:6px;max-width:800px}.ft-header,.ft-message,.ft-control-dock,.ft-rules, .ft-game footer{grid-column:1/-1}.ft-scene{width:260px;margin:0 auto}.ft-lower-frame{width:100%;align-self:center}.ft-lower{height:120px}.ft-control-dock{position:relative;bottom:auto}.ft-rules{margin-top:0}}
@media(prefers-reduced-motion:reduce){.ft-symbol{animation:none!important}}

/* v1.0.1: centered crystal window, larger lower symbols and a subtle lantern cue. */
.ft-game .ft-upper{width:76%;height:52%;left:12%;top:24%}.ft-game .ft-lower-frame{width:min(96%,440px);margin-top:18px;padding:7px}.ft-game .ft-lower{height:174px}
.ft-game .ft-symbol{display:flex;align-items:center;justify-content:center;background-image:none!important}.ft-game .ft-symbol::before{content:"";display:block;flex:none;width:95%;height:95%;max-width:95%;max-height:95%;background:var(--ft-art) center/contain no-repeat}
.ft-s0{--ft-art:var(--ft-s0)}.ft-s1{--ft-art:var(--ft-s1)}.ft-s2{--ft-art:var(--ft-s2)}.ft-s3{--ft-art:var(--ft-s3)}.ft-s4{--ft-art:var(--ft-s4)}.ft-s5{--ft-art:var(--ft-s5)}.ft-s6{--ft-art:var(--ft-s6)}.ft-s7{--ft-art:var(--ft-s7)}
.ft-lamp-glow{position:absolute;z-index:1;left:6.5%;top:12%;width:13%;height:23%;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(ellipse,#ffda8599 0%,#ff642d70 28%,#df251847 48%,transparent 74%);mix-blend-mode:screen;opacity:0;pointer-events:none}.ft-scene.sees-win .ft-lamp-glow{animation:ftLantern 2.8s ease-in-out infinite}@keyframes ftLantern{0%,100%{opacity:.05}50%{opacity:.55}}
@media(max-width:570px){.ft-game .ft-lower-frame{width:92%;margin-top:16px;padding:5px}.ft-game .ft-lower{height:clamp(128px,37vw,174px)}.ft-game .ft-header p{font-size:7px;letter-spacing:.055em}}
@media(max-height:720px) and (min-width:571px){.ft-game .ft-lower{height:150px}.ft-game .ft-scene{width:380px}}
@media(max-height:500px) and (orientation:landscape){.ft-game .ft-lower-frame{margin-top:0;width:100%}.ft-game .ft-lower{height:146px}.ft-game .ft-scene{width:260px}}

/* Shared linear reel travel, clipped to each window on mobile and desktop. */
.ft-game .ft-reel{contain:paint;isolation:isolate}.ft-game .ft-track{backface-visibility:hidden;transform:translate3d(0,0,0)}

@media(prefers-reduced-motion:reduce){.ft-scene.sees-win .ft-lamp-glow{animation:none;opacity:.3}}

.ft-game .ft-reel,.ft-game .ft-track,.ft-game .ft-symbol{background-color:#fff}
