/* Scoped lobby presentation. Existing Okey event handlers and game state are retained. */
.fs-lobby-games{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:8px 0 0}
.fs-lobby-games>a,.fs-lobby-games>button{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;height:clamp(84px,16dvh,136px);padding:0;overflow:hidden;border:1px solid #e2ba62;border-radius:13px;color:#ffedbb;text-decoration:none;cursor:pointer;box-shadow:inset 0 0 0 1px #ffe39444,0 3px 8px #0005}
.fs-slot-tile{background:radial-gradient(ellipse,#1445bc,#080f49 80%);flex-direction:column}
.fs-slot-tile img{width:96%;height:73%;object-fit:contain;filter:drop-shadow(0 3px 4px #0008)}
.fs-slot-tile strong{font:700 12px/1.2 system-ui;max-width:95%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;padding:0 4px 5px}
.fs-dice-tile{background:#2b0704}
.fs-dice-tile>img{width:100%;height:100%;object-fit:cover;object-position:center 45%}
.fs-coming-soon{position:absolute;bottom:6px;right:6px;padding:4px 8px;border-radius:9px;background:linear-gradient(#fff19d,#ffc242);color:#2b1600;font:700 10px/1.2 system-ui;box-shadow:0 2px 5px #0008}
.fs-lobby-games>a:focus-visible,.fs-lobby-games>button:focus-visible{outline:2px solid #fff4b2;outline-offset:-4px}
.fs-lobby-games>a:hover,.fs-lobby-games>button:hover{filter:brightness(1.12)}
body.pool-lobby-mode .fixed-lobby.pool-premium{max-width:460px;width:100%;margin:0 auto}
body.pool-lobby-mode .main-wrap{box-sizing:border-box;min-height:100dvh;padding-top:calc(env(safe-area-inset-top,0px) + 6px);padding-bottom:calc(env(safe-area-inset-bottom,0px) + 6px)}
body.pool-lobby-mode .pool-lobby-top{padding:7px 10px;gap:5px}
body.pool-lobby-mode .pool-brand strong{font-size:28px}
body.pool-lobby-mode .pool-brand>img{width:28px;height:28px}
body.pool-lobby-mode .pool-lobby-art{height:clamp(55px,10dvh,90px);margin-top:0}
body.pool-lobby-mode .pool-lobby-content{padding:0 12px 8px;margin-top:0}
body.pool-lobby-mode .pool-heading{margin:2px 0 10px}
body.pool-lobby-mode .pool-heading h1{font-size:clamp(25px,7vw,31px);margin:0 0 4px}
body.pool-lobby-mode .pool-heading p{font-size:11px}
body.pool-lobby-mode .pool-tiers{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
body.pool-lobby-mode .pool-tier{min-height:clamp(55px,9dvh,79px);padding:6px 2px;gap:4px;border-radius:11px}
body.pool-lobby-mode .pool-tier strong{font-size:25px}
body.pool-lobby-mode .pool-tier>.icon{width:19px;height:19px}
body.pool-lobby-mode .pool-ornament{margin:9px 0 8px}
body.pool-lobby-mode .pool-specials{grid-template-columns:1fr}
body.pool-lobby-mode .pool-special{min-height:46px;padding:7px 11px;gap:9px}
body.pool-lobby-mode .pool-special strong{font-size:13px}
body.pool-lobby-mode .pool-special small{font-size:10px}
body.pool-lobby-mode .pool-special>span{gap:2px}
body.pool-lobby-mode .pool-special>.icon{width:23px;height:23px}
body.pool-lobby-mode .presence-box{margin-top:8px;padding:7px 10px;min-height:33px;gap:8px}
body.pool-lobby-mode .presence-box p{font-size:11px;line-height:1.25}
.fs-lobby-fit{position:relative;width:100%;max-width:460px;margin:0 auto;overflow:hidden}
.fs-lobby-stage{position:absolute;top:0;left:0;width:100%;transform-origin:top center}
.fs-lobby-fit.fs-lobby-zoom{overflow:visible}
.fs-leaving{opacity:.85;transition:opacity .15s}
#fs-dice-preview{width:min(90vw,360px);max-height:86dvh;overflow:auto;padding:18px;background:#06271e;color:#f8e8c0;border:1px solid #d8b666;border-radius:18px;text-align:center}
#fs-dice-preview::backdrop{background:#00130dd9}
#fs-dice-preview img{display:block;width:100%;max-height:30dvh;object-fit:cover;border-radius:10px}
#fs-dice-preview h2{font:28px Georgia,serif;margin:14px 0 8px}
#fs-dice-preview p{font:14px/1.5 system-ui}
#fs-dice-preview button{min-height:44px;width:100%;padding:10px;border:1px solid #e6ca85;border-radius:10px;background:linear-gradient(#ffe6a0,#c39b51);color:#15291d;font:700 14px system-ui}
@media(max-height:660px){body.pool-lobby-mode .pool-lobby-art{height:42px}body.pool-lobby-mode .pool-tier{min-height:50px}body.pool-lobby-mode .pool-tier strong{font-size:23px}body.pool-lobby-mode .pool-heading{margin-bottom:7px}.fs-lobby-games>a,.fs-lobby-games>button{height:80px}}
@media(prefers-reduced-motion:reduce){.fs-leaving{transition:none}}
/* V18: native horizontal swipe, keyboard and arrow navigation. */
.fs-lobby-games{display:block;overflow:hidden;margin-top:8px}
.fs-game-track{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:2px 2px 4px;touch-action:pan-x pan-y}
.fs-game-track::-webkit-scrollbar{display:none}
.fs-game-track>a,.fs-game-track>button{position:relative;flex:0 0 calc((100% - 22px)/2);height:clamp(90px,17dvh,140px);min-width:0;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #e8c779;border-radius:11px;box-shadow:inset 0 0 0 1px #fff1a755;background:#051d25;overflow:hidden;color:#ffe9aa;padding:0;text-decoration:none;cursor:pointer}
.fs-game-track .fs-slot-tile{background:radial-gradient(ellipse,#154bb0,#06173b)}
.fs-game-track .fs-slot-tile img{width:98%;height:78%;object-fit:contain}
.fs-game-track .fs-dice-tile img{width:100%;height:100%;object-fit:cover}
.fs-game-track .fs-book-tile img{width:100%;height:78%;object-fit:cover}
.fs-game-track strong{font:700 10px/1.2 system-ui;text-align:center;margin-top:3px;max-width:95%;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}
.fs-game-controls{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;gap:2px 8px;padding:5px 8px 0}
.fs-game-controls button{border:1px solid #dcb861;border-radius:50%;width:36px;height:36px;min-height:36px;padding:0;background:linear-gradient(#103d30,#031e16);font:30px/1 system-ui;color:#ffe094;box-shadow:inset 0 0 8px #a9802422;cursor:pointer}
.fs-game-controls button:disabled{opacity:.25;cursor:default}
.fs-game-controls button:focus-visible,.fs-game-track a:focus-visible,.fs-game-track>button:focus-visible{outline:2px solid #fff4b0;outline-offset:-3px}
.fs-game-pages{display:flex;justify-content:center;gap:7px}.fs-game-pages i{display:block;width:7px;height:7px;background:#28594d;border-radius:20px}.fs-game-pages i.active{background:#f6ce73;width:18px}
.fs-game-controls small{grid-column:1/4;text-align:center;font:9px/1.2 system-ui;color:#aec6bb}
@media(max-height:700px){.fs-game-track>a,.fs-game-track>button{height:86px}.fs-game-controls{padding-top:3px}.fs-game-controls small{font-size:8px}}

/* V19: six games, the same compact swipe row below live presence. */
.fs-game-track .fs-ac-tile{background:radial-gradient(ellipse,#771e14,#26080b 85%)}.fs-game-track .fs-ac-lady{background:radial-gradient(ellipse,#692971,#1e0a30 85%)}.fs-game-track .fs-ac-starburst{background:radial-gradient(ellipse,#3440a4,#0b102e 85%)}.fs-ac-art{display:flex;align-items:center;justify-content:center;width:100%;height:70%;padding:5px}.fs-ac-icon{display:block;width:33%;aspect-ratio:1;flex-shrink:0;background:url('arcade-symbols-v19.png') no-repeat;background-size:500% 400%;filter:drop-shadow(0 3px 4px #0009)}.fs-ac-icon:nth-child(2){transform:scale(1.2);z-index:1}.fs-ac-sizzling .fs-ac-icon{background-image:url('arcade-fruits-v19.png');background-size:300% 300%}.fs-game-track .fs-ac-tile strong{font-size:clamp(9px,2.8vw,13px);font-family:Georgia,serif;color:#ffe68c;text-shadow:0 2px 2px #000;white-space:normal;line-height:1.1}.fs-ac-lady .fs-ac-i0{background-position:0 0}.fs-ac-lady .fs-ac-i5{background-position:0 33.333333%}.fs-ac-lady .fs-ac-i12{background-position:50% 66.666667%}.fs-ac-starburst .fs-ac-i13{background-position:75% 66.666667%}.fs-ac-starburst .fs-ac-i19{background-position:100% 100%}.fs-ac-starburst .fs-ac-i14{background-position:100% 66.666667%}.fs-ac-sizzling .fs-ac-i0{background-position:0 0}.fs-ac-sizzling .fs-ac-i1{background-position:50% 0}.fs-ac-sizzling .fs-ac-i6{background-position:0 100%}

.fs-game-track>.fs-new-tile{flex:0 0 calc((100% - 8px)/2);min-width:0;border:1px solid #d4b96f;border-radius:12px;background:linear-gradient(#154036,#06211b);color:#f6dfaa;text-decoration:none;display:flex;align-items:center;justify-content:center;flex-direction:column;scroll-snap-align:start;overflow:hidden;position:relative;padding:7px;gap:2px}.fs-new-tile img{height:48px;width:48px;object-fit:contain;border-radius:10px}.fs-new-tile strong{font:700 13px Georgia,serif;text-align:center}.fs-new-tile small{font-size:9px;color:#bccdc6}.fs-game-pages{flex-wrap:wrap;max-width:140px;justify-content:center}

.fs-game-controls .fs-game-pages{justify-self:center;width:max-content;max-width:100%;margin-inline:auto;flex-wrap:nowrap;gap:clamp(3px,1.2vw,7px)}
.fs-game-pages>*{flex-shrink:0}

.fs-game-track>.fs-new-tile{position:relative;padding:0;overflow:hidden;isolation:isolate}
.fs-game-track>.fs-new-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0;z-index:-2}
.fs-game-track>.fs-new-tile:after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(transparent,#061226eb);z-index:-1}
.fs-game-track>.fs-new-tile strong{position:absolute;bottom:6px;left:5px;right:5px;color:#ffe6a0;font:900 clamp(11px,3.1vw,16px)/1.05 Georgia,serif;text-align:center;text-shadow:0 2px 3px #000}

.fs-game-track .fs-slot-tile{position:relative}.fs-game-track .fs-slot-tile img{width:145%;max-width:none;height:100%;object-fit:contain;object-position:center}.fs-game-track .fs-slot-tile strong{position:absolute;bottom:0;left:0;right:0;padding:4px;background:linear-gradient(transparent,#06173bd9);text-align:center}

/* V34: two full cards and half of the next card invite swiping. */
.fs-game-track>a,.fs-game-track>button,.fs-game-track>.fs-new-tile{flex:0 0 calc((100% - 16px)/2.5);min-width:0;height:clamp(70px,20vw,104px)}
.fs-game-track .fs-slot-tile img{width:100%;max-width:100%;height:100%;object-fit:cover}
.fs-game-track .fs-slot-tile strong{display:none}
.fs-game-track>.fs-new-tile strong,.fs-game-track strong{font-size:clamp(9px,2.5vw,13px)}

/* V35: preserve the complete baked-in gold frame at every card ratio. */
.fs-game-track .fs-slot-tile{background:#04101e;padding:2px}
.fs-game-track .fs-slot-tile img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;filter:none;border-radius:0;flex-shrink:1;min-height:0}

/* Same single outer tile border and edge-to-edge image as Flaming Dice. */
.fs-game-track .fs-slot-tile{padding:0;background:#051d25;border:1px solid #e8c779;border-radius:11px;box-shadow:inset 0 0 0 1px #fff1a755}
.fs-game-track .fs-slot-tile img{width:100%;height:100%;object-fit:cover;object-position:center;filter:none}
