/* Eleven-game floor and individual duel tables. */
.catalogue{margin-bottom:32px}.catalogue-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 10px}.game-filters{display:flex;gap:5px;flex-wrap:wrap}.game-filter{display:flex;align-items:center;gap:7px;padding:10px 13px;min-height:39px;border-radius:6px;background:#211c19;color:#bdb1a9;font-size:10px;font-weight:700}.game-filter.active{background:#392e27;color:#d3c1b6}.game-filter span{background:#ff955c;color:#28211c;font-size:9px;padding:1px 4px;border-radius:3px}.game-search{display:flex;align-items:center;gap:9px;border:1px solid #3e322b;border-radius:6px;padding:0 11px;min-height:39px;color:#ac9b90;max-width:220px;background:#1b1612}.game-search .icon{width:14px;height:14px}.game-search input{width:100%;min-width:70px;border:0;outline:0;padding:10px 0;background:none;color:#f2edea;font-size:11px}.game-search:focus-within{outline:2px solid var(--accent);outline-offset:2px}.catalogue-count{margin:0 0 12px}.expanded-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;overflow:visible;padding:0;margin:0 0 30px}.game-tile{position:relative;min-width:0}.game-tile .game-card{display:block;width:100%;height:238px}.game-tile .game-card h3{font-size:26px;max-width:96%;text-wrap:balance}.game-tile .game-card small{display:block;max-width:82%;line-height:1.5;font-size:9px;min-height:27px}.game-tile .game-copy{left:14px;right:14px;bottom:14px}.game-tile .game-card img{top:20px;height:154px}.save-game{position:absolute;right:8px;top:9px;width:28px;height:28px;display:grid;place-items:center;border:1px solid #ffffff2b;border-radius:50%;background:#100d0ba8;color:#f1ece8;font-size:20px;line-height:1;z-index:3}.save-game.is-saved{color:#ff955c;background:#2c241e}.game-tile .card-badge{top:15px;left:9px;font-size:6px;letter-spacing:.2px;max-width:calc(100% - 45px);white-space:nowrap;padding:4px}.game-card.dice{background:linear-gradient(140deg,#243f51,#152732);border-color:#3b6174}.game-card.plinko{background:linear-gradient(140deg,#573344,#2b202a);border-color:#715365}.game-card.mines{background:linear-gradient(140deg,#154b42,#28201b);border-color:#59493e}.game-card.keno{background:linear-gradient(140deg,#264779,#172a45);border-color:#466896}.game-card.limbo{background:linear-gradient(140deg,#6a3d22,#32261b);border-color:#835b36}.game-card.blackjack{background:linear-gradient(140deg,#653439,#321e23);border-color:#7c4d53}.game-empty{padding:34px;background:#1f1a16;border:1px solid #3a2f28;border-radius:9px;text-align:center}.game-empty .text-button{margin:auto}.game-empty p{font-size:12px;color:var(--muted)}
.game-options{padding:17px;background:#161210;border:1px solid #3d322b;border-radius:9px;margin-bottom:20px;overflow:hidden}.game-instructions p{font-size:12px;line-height:1.75;color:#cbbdb4;margin:9px 0 17px}.game-options .field{margin-bottom:12px}.game-options .field small{line-height:1.6;margin-top:6px;color:#b6a498}.sealed-note{font-size:10px;line-height:1.6;color:#a58f81;border-top:1px solid #352b25;padding-top:11px;margin:13px 0 0}.pick-heading{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:11px;font-size:11px}.pick-heading span{font-variant-numeric:tabular-nums;color:#ff955c}.pick-grid{display:grid;gap:7px}.mine-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.keno-grid{grid-template-columns:repeat(8,minmax(0,1fr))}.pick-cell{background:#332923;border:1px solid #54463d;min-height:44px;border-radius:6px;position:relative;font-size:13px;font-weight:700;box-shadow:0 3px 0 #110d0b}.pick-cell:hover{background:#43362e;border-color:#8a7060}.pick-cell.selected{background:#ff955c;color:#1e1815;border-color:#ff955c;box-shadow:0 3px 0 #826a5b}.pick-cell small{position:absolute;top:3px;right:5px;font-size:8px;opacity:.75}.pick-hint{font-size:10px;color:#cdbaae;line-height:1.6;min-height:16px;margin-bottom:0}.dice-preview{display:flex;gap:12px;justify-content:center;font-size:61px;line-height:1.1;color:#abd1e8;padding:9px 0}.flight-preview{height:73px;position:relative;overflow:hidden}.flight-preview span{font-size:82px;position:absolute;right:21%;top:-21px;color:#f7b66e;transform:rotate(-12deg)}.flight-preview i{display:block;position:absolute;width:180px;height:70px;border:1px solid #b1763b;border-width:1px 0 0;border-radius:50%;transform:rotate(-25deg);left:21%;top:38px}.hand-preview{display:flex;justify-content:center;gap:9px;padding:6px 0 10px}.playing-card{display:flex;flex-direction:column;justify-content:space-between;width:52px;height:73px;padding:7px 8px;border-radius:5px;background:#f2efda;color:#251e19;font-family:Georgia,serif;font-size:20px;box-shadow:0 3px 0 #a39d83;line-height:1}.playing-card small{font-size:24px;align-self:flex-end;color:inherit}.red-card{color:#a3313f}.hand-preview .playing-card:first-child{transform:rotate(-9deg)}.hand-preview .playing-card:last-child{transform:rotate(9deg)}.plinko-preview{padding:9px 0 5px}.peg-triangle{display:grid;gap:7px;justify-content:center;margin:0 auto 13px}.peg-triangle>div{display:flex;justify-content:center;gap:10px}.peg-triangle i{width:3px;height:3px;background:#d9d4d9;border-radius:50%}.plinko-bins{display:grid;grid-template-columns:repeat(17,minmax(0,1fr));gap:2px;max-width:100%;font-size:7px}.plinko-bins span{text-align:center;background:#b45b80;color:white;padding:8px 0;border-radius:3px;overflow:hidden}.plinko-bins span:nth-child(n+6):nth-child(-n+12){background:#683f56}.game-options-plinko>.caption{text-align:center}
.round-board{border-top:1px solid #453830;padding-top:20px;margin:18px 0}.round-board .section-top{align-items:flex-start}.round-board h3{font-size:15px;margin:0}.duel-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.duel-player{border:1px solid #43372f;border-radius:8px;background:#161210;padding:12px;min-width:0}.duel-player.winning{border-color:#977b69;background:#251e19}.duel-player-heading{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:8px;letter-spacing:.5px;color:#ac9a8f;margin-bottom:12px}.duel-player-heading span{font-size:7px;color:#ff955c;letter-spacing:0}.duel-score{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-top:13px}.duel-score>span{font-size:8px;color:#bfab9f;letter-spacing:1px}.duel-score strong{font-size:27px;color:#e4dad3;font-variant-numeric:tabular-nums}.roll-values{display:flex;flex-wrap:wrap;gap:5px}.roll-values>span{padding:10px 6px;background:#213346;color:#b9d9ed;border-radius:5px;font-size:14px;font-variant-numeric:tabular-nums;font-weight:700}.ball-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.ball-results>div{text-align:center;background:#372432;border-radius:5px;padding:8px 3px;display:grid;gap:7px}.ball-results i{font-size:8px;color:#d3aac2;font-style:normal}.ball-results strong{color:#f0bad7;font-size:17px}.ball-results small{font-size:7px;color:#c3a6b5}.result-mine-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;max-width:220px;margin:0 auto 12px}.result-mine-grid span{background:#352b24;border-radius:4px;padding:8px;text-align:center;font-size:10px;color:#b6a397}.result-mine-grid .mine-revealed{background:#583831;color:#ffd3bf;font-size:14px}.path-result{display:flex;gap:4px;flex-wrap:wrap}.path-result>span{display:grid;place-items:center;gap:5px;padding:8px 6px;min-width:24px;font-size:11px;border-radius:4px}.path-result small{font-size:9px}.safe{background:#473a32;color:#e1d6cf}.hit{background:#4b3029;color:#ffc1a5}.unvisited{background:#302a26;color:#b7a79d}.keno-draw{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;max-width:330px;margin:0 auto 10px}.keno-draw span{width:33px;height:33px;display:grid;place-items:center;border-radius:50%;background:#d9e9fa;color:#1c3658;font-size:12px;font-weight:800;box-shadow:inset -3px -3px 0 #9ab8d4}.round-board>.caption{text-align:center;margin:8px 0 17px}.flight-results{display:grid;gap:5px}.flight-results>span{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:7px;border-radius:4px;font-size:14px;font-weight:700}.flight-results small{font-size:7px}.result-cards{display:flex;gap:5px;flex-wrap:wrap}.result-cards .playing-card{width:38px;height:55px;font-size:15px;padding:5px}.result-cards .playing-card small{font-size:18px}.duel-player>.caption{font-size:9px;line-height:1.6;margin-bottom:0;overflow-wrap:anywhere}.plinko-trace{width:100%;height:155px}.plinko-trace path{fill:none;stroke-width:2;stroke-linejoin:round}.plinko-trace circle{fill:#b8a0b0;opacity:.5}
@media(min-width:1500px){.game-tile .game-card{height:273px}.game-tile .game-card img{height:192px}.game-tile .game-card h3{font-size:32px}}
@media(max-width:1150px){.expanded-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.catalogue-toolbar{align-items:stretch;flex-direction:column;gap:9px}.game-search{max-width:none}.game-search input{width:100%}.game-tile .game-card{height:233px}}
@media(max-width:760px){.expanded-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-right:0;overflow:visible}.game-tile .game-card{height:215px}.game-tile .game-card h3{font-size:24px}.game-tile .game-card img{height:140px}.game-filters{gap:5px}.game-filter{font-size:9px;padding:8px 10px}.game-tile .card-badge{font-size:6px}.game-tile .game-copy{left:10px;right:10px;bottom:12px}}
@media(max-width:550px){.expanded-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.game-tile .game-card{height:215px}.game-tile .game-card img{height:146px;top:19px}.game-tile .game-card h3{font-size:25px}.game-tile .game-card small{font-size:9px;max-width:85%}.game-filter{font-size:10px;padding:9px 11px;min-height:38px}.game-filters{flex-wrap:nowrap;overflow:auto;padding:3px 0 7px;scrollbar-width:thin}.game-filter{white-space:nowrap;flex-shrink:0}.game-search input{font-size:12px}.game-options{padding:13px}.game-instructions p{font-size:11px}.keno-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.pick-cell{min-height:42px}.pick-grid{gap:6px}.duel-result-grid{grid-template-columns:1fr}.duel-player-heading{font-size:10px}.duel-player-heading span{font-size:9px}.duel-player{padding:15px}.duel-player .playing-card{width:44px;height:62px}.plinko-bins{font-size:6px;gap:1px}.peg-triangle>div{gap:9px}.modal-body{padding-left:17px;padding-right:17px}.game-options .field input,.game-options .field select{font-size:12px}.game-empty{padding:27px 18px}}
@media(prefers-reduced-motion:no-preference){.duel-player{animation:round-appear .35s ease both}.duel-player:nth-child(2){animation-delay:.07s}@keyframes round-appear{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}}

/* Keep the footer below the viewport while the initial lobby loads. */
main:has(.loading-state){min-height:100vh}
