:root{color-scheme:light;--ink:#173e35;--green:#123f35;--green2:#205c4d;--paper:#f5f5ef;--white:#fff;--gold:#e9bf59;--line:#d7ded7;--muted:#5d6b63;--fan:30px;font-family:Arial,Helvetica,sans-serif;font-size:18px;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #006ccc;outline-offset:5px}button{touch-action:manipulation}button,a{color:inherit}button{border:0}h1,h2,h3,p{margin:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:normal}h1{font-size:clamp(2rem,5vw,3rem);letter-spacing:-.035em;line-height:1.13}h2{font-size:1.7rem}h3{font-size:1.1rem}p{line-height:1.6}button:not(.playing-card):not(.letter):not(.bingo-cell):not(.memory-card):not(.bonus-choice){min-height:44px}.large-text{font-size:22px}.skip-link{position:absolute;top:-100px;background:white;padding:16px;z-index:100}.skip-link:focus{top:0}.site-header{max-width:1192px;margin:auto;padding:26px 36px;display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-align:left;background:none;font-family:Georgia,serif;font-size:1.7rem;letter-spacing:-.05em;line-height:1.1;padding:0}.brand-mark{font-size:2.1rem;color:var(--paper);background:var(--green);border-radius:50%;width:54px;height:54px;display:grid;place-items:center}.brand-sub{display:block;font:700 .61rem Arial,sans-serif;letter-spacing:.14em;margin-top:8px}.text-toggle{background:none;display:flex;gap:10px;align-items:center;font-size:.83rem;font-weight:600;padding:10px 0 10px 14px}.text-toggle>span:first-child{font:1.35rem Georgia,serif}.text-toggle[aria-pressed=true]{text-decoration:underline}main{max-width:1192px;margin:auto;padding:35px 36px 50px;min-height:70vh}main:focus{outline:none}.eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.15em;line-height:1.6;margin-bottom:12px}.welcome{display:flex;justify-content:space-between;align-items:center;margin:9px 0 30px}.welcome-copy{color:var(--muted);margin-top:12px;font-size:1rem}.welcome-seal{width:100px;height:100px;border:1px solid #b9c9bf;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;margin-right:8px;transform:rotate(8deg);color:#476957}.welcome-seal>span:nth-child(2){font-size:.55rem;font-weight:700;letter-spacing:.12em}.welcome-seal>span:not(:nth-child(2)){font-size:1.1rem;letter-spacing:.14em}.featured-games{display:grid;grid-template-columns:1fr 1fr;gap:22px}.game-tile{border-radius:16px;position:relative;overflow:hidden;min-height:330px;padding:24px 28px 26px;text-align:left;color:white;transition:transform .2s,box-shadow .2s}.game-tile:hover{transform:translateY(-3px);box-shadow:0 12px 28px #173e351b}.solitaire-tile{background:radial-gradient(ellipse at 75% 20%,#28735c,transparent 65%),#123f35}.slots-tile{background:radial-gradient(ellipse at 75% 20%,#924722,transparent 65%),#55261b}.tile-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.tile-tag{font-size:.65rem;letter-spacing:.12em;font-weight:bold;color:#e8dcb4}.round-arrow{border:1px solid #ffffff55;border-radius:50%;width:36px;height:36px;display:grid;place-items:center}.tile-copy h2{font-size:2rem;margin-bottom:7px}.tile-copy p{font-size:.9rem;color:#e6eae3}.tile-play{display:inline-flex;gap:24px;margin-top:20px;font-size:.88rem;font-weight:bold;color:#fae2a0}.card-sample{display:flex;margin:8px 10px 18px;justify-content:flex-end;height:90px;align-items:center}.card-sample>span{display:flex;flex-direction:column;justify-content:space-between;line-height:1;background:#fffdfa;color:#193a31;box-shadow:0 5px 15px #0003;border-radius:6px;font-size:1.6rem;width:66px;height:94px;padding:8px;transform:rotate(-14deg);border:1px solid #d8d5c8}.card-sample>span:nth-child(2){transform:translate(-12px,-2px) rotate(0)}.card-sample>span:nth-child(3){transform:translate(-24px,3px) rotate(14deg)}.card-sample b{font:700 1.2rem Georgia,serif}.card-sample .red{color:#ac2333}.slot-sample{display:flex;justify-content:flex-end;height:90px;gap:6px;margin:8px 9px 18px}.slot-sample span{width:66px;height:86px;display:grid;place-items:center;border:3px solid #cb9b45;border-radius:9px;background:linear-gradient(#c9be9a,#fff7d8 40%,#fff7d8 70%,#c9be9a);color:#a32920;font:bold 3.4rem Georgia,serif;text-shadow:2px 2px 0 #e4bd72}.section-label{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:35px 0 20px}.section-label h2{font-size:1.5rem}.section-label>span{font-size:.8rem;color:var(--muted)}.small-games{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.small-game{border:1px solid var(--line);background:white;border-radius:12px;padding:24px 18px;display:flex;gap:14px;align-items:center;text-align:left;transition:border-color .15s}.small-game:hover{border-color:var(--green)}.small-game p{font-size:.78rem;color:var(--muted);margin-top:7px}.small-game>span:last-child{margin-left:auto}.game-glyph{background:#f1f4ea;color:#285441;border-radius:9px;flex-shrink:0;width:57px;height:64px;display:flex;align-items:center;justify-content:center;font:700 .9rem Georgia,serif;gap:3px}.word-glyph>span{background:#e3bd5c;padding:4px}.memory-glyph{font-size:1.4rem;background:#edf0fa;color:#526299;gap:0}.bingo-glyph{flex-direction:column;background:#f9ede0;color:#96502a;gap:0;font-size:.75rem}.bingo-glyph span{font-size:1.55rem}.lobby-note{display:flex;align-items:center;gap:12px;margin-top:28px;color:var(--muted);font-size:.8rem}.lobby-note>span{font-size:1.5rem}.game-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px;gap:12px}.back-link,.help-button{background:none;padding:5px 0;font-size:.87rem;display:flex;gap:8px;align-items:center}.back-link{font-size:1.4rem}.back-link span{font-size:.9rem}.help-button{color:var(--muted)}.game-heading{margin-bottom:24px}.game-heading .eyebrow{margin-bottom:8px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:16px 0;flex-wrap:wrap;font-size:.9rem}.toolbar>div{display:flex;gap:7px;flex-wrap:wrap}.button{padding:12px 18px;border-radius:9px;font-size:.87rem;font-weight:700}.button.primary{background:var(--green);color:white}.button.quiet{border:1px solid #c8d2ca;background:#fff}.button:disabled{opacity:.4}.muted{color:var(--muted)}.game-instruction{font-size:.9rem;margin:18px 0;min-height:2.7em}.under-note{font-size:.8rem;text-align:center;color:var(--muted);margin:22px auto 0;max-width:720px}.solitaire-board{padding:24px;border-radius:16px;background:radial-gradient(ellipse at 50% 0,#256852,transparent 90%),#123f35;max-width:950px;margin:0 auto;box-shadow:inset 0 0 50px #00191020;--fan:30px}.sol-top,.tableau{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}.pile{position:relative;padding-bottom:28px}.playing-card{width:100%;aspect-ratio:.7;display:block;border-radius:7px;background:#fffef9;color:#163b31;position:relative;padding:0;box-shadow:0 2px 4px #0003;border:1px solid #c6c9c2;text-align:left;overflow:hidden}.playing-card.red{color:#b02439}.card-corner{position:absolute;left:9%;top:5%;font-size:clamp(.8rem,3vw,1.5rem);font-weight:700;line-height:1.05;display:flex;gap:4px}.card-corner>span{font-size:.85em}.card-center{position:absolute;inset:32% 0 0;display:grid;place-items:center;font-size:clamp(1.3rem,5vw,3.3rem)}.face-down{border:3px solid #fcf8dd;background:repeating-linear-gradient(45deg,#307460 0,#307460 3px,#25644f 3px,#25644f 7px);color:#f3dda0;display:grid;place-items:center;text-align:center}.face-down>span{font-size:clamp(1.3rem,5vw,2.5rem)}.empty-card{background:#ffffff07;box-shadow:none;border:1px solid #ffffff55;display:grid;place-items:center;text-align:center;color:#d4e2d5}.empty-card.red{color:#ffb5b5}.empty-card>span{font:1.5rem Georgia,serif}.pile-label{position:absolute;bottom:4px;left:0;right:0;text-align:center;color:#edf2e9;font-size:.65rem;white-space:nowrap}.tableau{margin-top:10px}.tableau-column{position:relative;height:calc((var(--stack-count) * var(--fan)) + clamp(70px,17vw,181px));min-height:210px}.tableau-column .playing-card{position:absolute;top:0}.playing-card.selected,.letter.selected{outline:3px solid #ffd15c;outline-offset:1px;box-shadow:0 0 0 3px #ffd15c;z-index:30}.playing-card.hinted{outline:3px solid #ffd15c}.intro-copy{color:var(--muted);margin:-10px 0 20px}.slot-room-balance{display:inline-flex;gap:8px;background:white;border:1px solid var(--line);padding:12px 18px;border-radius:30px;align-items:center;margin:0 0 22px;font-weight:700}.coin-dot{color:#b77b0b}.coin-caption{font-size:.8rem;font-weight:normal}.machine-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.machine-tile{padding:0;border-radius:14px;overflow:hidden;background:white;box-shadow:0 2px 5px #123f3512;text-align:left;border:1px solid #d5dbd4;transition:transform .2s}.machine-tile:hover{transform:translateY(-4px)}.machine-poster{height:220px;background-size:cover;background-position:center 22%;position:relative;display:flex;align-items:flex-end;padding:18px}.express .machine-poster,.express .cabinet-banner{background-image:linear-gradient(0deg,#061a2ee6,transparent 60%),url('./moonlight-express.webp');background-color:#0d263c}.golden .machine-poster,.golden .cabinet-banner{background-image:linear-gradient(0deg,#122e20e6,transparent 60%),url('./golden-rails.webp');background-color:#315237}.machine-badge{font-size:.6rem;font-weight:bold;letter-spacing:.08em;color:#fff2c7;position:relative;z-index:1}.machine-copy{padding:24px 21px}.machine-copy h2{font-size:1.55rem;line-height:1.15}.machine-copy p{font-size:.85rem;color:var(--muted);margin-top:12px;min-height:4.8em}.machine-copy>span{display:flex;justify-content:space-between;font-weight:700;margin-top:20px;font-size:.86rem}.classic .machine-poster{background:radial-gradient(ellipse at center,#a65a37,#4f211d);align-items:flex-end;justify-content:center}.vintage-seven{position:absolute;top:32px;left:0;right:0;font:bold clamp(2rem,4vw,3.6rem) Georgia,serif;color:#fff3c8;text-shadow:3px 3px 0 #c3893c;text-align:center;letter-spacing:.04em}.slot-cabinet{max-width:830px;margin:auto;background:#0d2031;color:#fff6dd;border:3px solid #c69845;border-radius:20px;overflow:hidden;box-shadow:0 12px 38px #173e3520}.slot-cabinet.golden{background:#153829}.slot-cabinet.classic{background:#562720;border-color:#bd8f43}.cabinet-banner{min-height:235px;padding:130px 28px 24px;background-size:cover;background-position:center 22%;text-align:center;position:relative}.cabinet-banner h1{font-size:clamp(2rem,6vw,3.5rem);text-shadow:0 2px 6px #000;color:#fff4cd}.cabinet-banner .eyebrow{font-size:.64rem;margin-bottom:7px;text-shadow:0 1px 4px #000}.cabinet-type{display:block;font-size:.76rem;margin-top:10px}.classic .cabinet-banner{padding:30px 20px;min-height:165px;background:radial-gradient(ellipse at center,#8e4530,#48201c);border-bottom:1px solid #c6984577}.classic .cabinet-banner h1{color:#ffdd84;font-style:italic}.cabinet-body{padding:20px 28px 26px}.machine-status{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:1rem;margin-bottom:18px}.machine-status>span:last-child{font-size:.75rem;color:#eddbac}.machine-status .coin-dot{color:#efc55a}.payline-label{font-size:.6rem;letter-spacing:.08em;text-align:center;margin-bottom:12px;color:#ede5d1}.reel-window{display:grid;gap:4px;padding:9px;border:3px solid #d2a248;border-radius:13px;background:#bd8b37;box-shadow:0 3px 0 #5f401d,0 0 0 6px #0003;position:relative}.three-reels{grid-template-columns:repeat(3,minmax(0,1fr))}.reel{border-radius:5px;background:linear-gradient(#a6a18e 0,#fcf8e9 28%,#fffced 70%,#a6a18e);height:clamp(170px,28vw,220px);display:grid;grid-template-rows:1fr 1.5fr 1fr;align-items:center;justify-items:center;overflow:hidden;position:relative}.reel:after{content:'';position:absolute;top:29%;height:42%;left:0;right:0;border-top:1px solid #98763760;border-bottom:1px solid #98763760;pointer-events:none}.reel-symbol{font-size:clamp(1.6rem,5.8vw,3.8rem);line-height:1.2;color:#244536;z-index:1}.reel-symbol.seven{color:#b92523;font:bold clamp(2.5rem,7vw,4.7rem) Georgia,serif;text-shadow:2px 2px 0 #e1b866}.reel-ghost{font-size:clamp(1.05rem,4vw,2.5rem);opacity:.48;line-height:1;color:#824327;filter:blur(.5px)}.three-reels .reel-symbol{font-size:clamp(2.6rem,8vw,5rem)}.three-reels .reel-symbol.seven{font-size:clamp(3rem,9vw,5rem)}.reel-symbol.bar-symbol{font:bold clamp(1.2rem,4vw,2.7rem) Arial,sans-serif;color:white;background:#1f3029;padding:3px 5px;border:3px double #f9f4dd;box-shadow:0 0 0 1px #1f3029}.spinning .reel>*{animation:reel-spin .22s linear infinite;filter:blur(2px)}.spinning .reel:nth-child(2n)>*{animation-delay:.06s}@keyframes reel-spin{from{transform:translateY(-20px)}to{transform:translateY(20px)}}.slot-message{min-height:4.2em;display:flex;align-items:center;justify-content:center;text-align:center;font-size:1rem;font-weight:700;color:#ffe3a4;padding:17px 0 10px;line-height:1.45}.train-journey{background:#0003;padding:16px;border-radius:10px;margin:6px 0 20px}.train-journey>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.8rem}.train-journey>div:first-child>span{font-size:.7rem;color:#ede5d1}.ticket-track{display:flex;justify-content:space-between;gap:10px;position:relative;padding:16px 0 12px}.ticket-track:before{content:'';position:absolute;top:50%;left:2%;right:2%;height:4px;background:#7a79644a}.ticket{z-index:1;background:#213a45;border:1px solid #a5a38c70;min-width:35px;height:35px;border-radius:50%;font-size:.8rem;display:grid;place-items:center;color:#eee1bc}.golden .ticket{background:#304c36}.ticket.collected{background:#f2d17a;border-color:#fff0bd;font-size:1.1rem}.train-journey p{font-size:.7rem;color:#e8dfc9;text-align:center}.spin-button{display:block;width:min(100%,390px);margin:auto;color:#382511;background:linear-gradient(#f7de98,#e6b44f);border:1px solid #fff1b6;border-bottom:5px solid #a66b20;box-shadow:0 3px 10px #0003;border-radius:13px;padding:15px 25px 13px;font-size:1.45rem;font-weight:800;letter-spacing:.08em}.spin-button>span{display:block;font-size:.72rem;font-weight:600;letter-spacing:0;margin-top:5px}.spin-button:active{transform:translateY(2px);border-bottom-width:3px}.spin-button:disabled{opacity:.7}.cabinet-links{display:flex;justify-content:space-between;gap:12px;margin-top:15px}.cabinet-links button{background:none;color:#eadfc8;font-size:.73rem;text-decoration:underline;text-underline-offset:4px;padding:6px 0}.train-bonus{padding:20px 16px;background:#fff8e3;color:#294532;border-radius:12px;text-align:center}.train-bonus h2{font-size:1.65rem}.train-bonus p{font-size:.85rem;margin:9px 0 18px}.bonus-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.express .bonus-choices{grid-template-columns:repeat(3,minmax(0,1fr))}.bonus-choice{border-radius:9px;background:#e9d5a1;border:2px solid #bc9044;padding:14px 4px;color:#253c2a}.bonus-choice>span{font-size:2rem;display:block;margin-bottom:10px}.bonus-choice>strong{font-size:.75rem}.bonus-choice:disabled{background:#e2ecda;border-color:#557f56}.word-layout{display:grid;grid-template-columns:minmax(0,620px) minmax(180px,1fr);gap:36px;align-items:start}.word-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:3px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:12px}.letter{aspect-ratio:1;min-width:0;background:#fff;color:#193e32;font-weight:700;font-size:1.1rem;border-radius:5px;padding:0}.letter:hover{background:#edf1e5}.letter.found{background:#d9e9cf;color:#244724}.letter.selected{background:#f4d278;color:#302509;outline-width:2px}.word-list{background:#eaf0e4;border-radius:12px;padding:24px}.word-list h2{font-size:1.4rem}.word-list ul{list-style:none;padding:0;margin:20px 0;display:grid;grid-template-columns:1fr;gap:16px;font-size:.9rem;font-weight:700;letter-spacing:.06em}.word-list li>span{display:inline-block;width:22px}.word-list .complete{text-decoration:line-through;color:#547248}.word-list p{font-size:.8rem;color:#56624e}.memory-grid{max-width:730px;margin:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.memory-card{aspect-ratio:1;border-radius:13px;border:4px solid white;box-shadow:0 0 0 1px #b9c9b9,0 3px 5px #0001;background:repeating-linear-gradient(45deg,#2a6453 0,#2a6453 4px,#245747 4px,#245747 9px);color:#eac96e;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:8px;transition:background .2s}.memory-back{font-size:clamp(2rem,7vw,4.2rem)}.memory-card.revealed{background:white;color:var(--ink);border-color:white}.memory-card.revealed>span{font-size:clamp(2rem,6vw,3.5rem)}.memory-card small{font-size:.72rem;margin-top:8px}.memory-card.matched{background:#e6efdf;border-color:#e6efdf;box-shadow:0 0 0 2px #95b77b}.bingo-layout{display:grid;grid-template-columns:minmax(0,580px) minmax(190px,1fr);gap:40px;align-items:start}.bingo-letters{display:grid;grid-template-columns:repeat(5,1fr);background:var(--green);border-radius:12px 12px 0 0;color:#fff0bb;text-align:center;font:bold 1.6rem Georgia,serif;padding:17px 0}.bingo-board{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;background:white;border:1px solid var(--line);border-top:0;padding:12px;border-radius:0 0 12px 12px}.bingo-cell{aspect-ratio:1;border-radius:50%;font-size:1.5rem;font-weight:700;background:#f5f5ed;color:#244737;padding:0;display:grid;place-items:center}.bingo-cell.marked{background:#d8e8ce;color:#294b27;border:2px solid #82a96d}.bingo-cell.winning{background:#f5d889;border:2px solid #b18423}.bingo-cell span{font-size:1.2rem;line-height:1.3}.bingo-cell small{display:block;font-size:.6rem}.bingo-caller{text-align:center;padding:22px;background:#eaf0e4;border-radius:12px}.bingo-ball{height:130px;width:130px;display:flex;align-items:center;justify-content:center;flex-direction:column;margin:18px auto 25px;border-radius:50%;border:8px solid #d0aa4c;background:#fffefa;box-shadow:0 4px 0 #b6933a30}.bingo-ball span{font-size:1.05rem;font-weight:700}.bingo-ball strong{font-size:2.6rem;line-height:1.1}.bingo-caller>.button{width:100%}.bingo-caller>p:not(.eyebrow){font-size:.85rem;margin-top:18px}.called-list{text-align:left;margin-top:20px;font-size:.82rem}.called-list summary{padding:10px 0;cursor:pointer}.called-list>div{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.called-list>div>span{padding:7px;background:#fff;border-radius:5px;font-size:.75rem}.win-banner{padding:20px;background:#f6db92;border-radius:12px;margin-top:20px;font-weight:bold;text-align:center}.notice{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#123f35;color:#fff;padding:15px 24px;border-radius:12px;max-width:min(90vw,620px);width:max-content;box-shadow:0 5px 24px #0003;transition:opacity .2s,transform .2s;z-index:100;font-size:.95rem;line-height:1.45;border:1px solid #ffffff55}.notice.show{transform:translate(-50%,0);opacity:1}dialog{color:var(--ink);background:#fffefa;max-width:min(650px,calc(100% - 30px));width:100%;max-height:85dvh;border:1px solid #c2cebf;border-radius:16px;padding:30px;box-shadow:0 16px 70px #0004}dialog::backdrop{background:#062319aa}dialog h2{margin-bottom:18px;font-size:1.9rem}dialog p{margin:15px 0;font-size:.95rem}dialog>.button{display:block;width:100%;margin-top:24px}dialog table{width:100%;border-collapse:collapse;font-size:.9rem;text-align:left}dialog td,dialog th{padding:13px 7px;border-bottom:1px solid var(--line)}dialog .dialog-small{font-size:.75rem;color:var(--muted)}footer{max-width:1120px;margin:0 auto;padding:24px 0 32px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:14px;color:var(--muted);font-size:.75rem}footer>span:first-child{font:1.1rem Georgia,serif;font-weight:700;color:var(--green)}
@media(min-width:1500px){main{padding-top:50px}}
@media(max-width:1000px){.small-games{gap:12px}.small-game{padding:20px 12px;gap:10px}.small-game>span:last-child{display:none}.game-glyph{width:45px;height:56px}.small-game h3{font-size:.92rem}.small-game p{font-size:.72rem}.machine-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.machine-tile.classic{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.machine-tile.classic .machine-poster{height:auto;min-height:220px}.machine-tile.classic .machine-copy p{min-height:0}footer{margin:0 36px}.solitaire-board{--fan:28px}.word-layout{gap:20px}}
@media(max-width:700px){.site-header{padding:20px}.brand{font-size:1.4rem;gap:9px}.brand-mark{width:44px;height:44px;font-size:1.7rem}.brand-sub{font-size:.5rem}.text-toggle{gap:6px;flex-direction:column;font-size:.62rem;padding:0}.text-toggle>span:first-child{font-size:1.1rem}main{padding:26px 18px 36px}.welcome{margin:0 0 24px}.welcome h1{font-size:2.2rem}.welcome-seal{display:none}.welcome-copy{font-size:.95rem}.eyebrow{font-size:.67rem}.featured-games{gap:14px}.game-tile{min-height:320px;padding:16px}.tile-tag{font-size:.53rem;line-height:1.5}.round-arrow{display:none}.card-sample{height:105px;margin:22px 0 14px;justify-content:center}.card-sample>span{width:50px;height:77px;font-size:1.25rem;padding:6px;flex-shrink:0}.card-sample>span:nth-child(2){transform:translate(-8px,-2px) rotate(0)}.card-sample>span:nth-child(3){transform:translate(-16px,3px) rotate(14deg)}.slot-sample{height:105px;align-items:center;margin:22px 0 14px;gap:3px;justify-content:center}.slot-sample span{width:43px;height:76px;font-size:2.35rem;border-width:2px}.tile-copy h2{font-size:1.65rem}.tile-copy p{font-size:.78rem;min-height:3.2em}.tile-play{font-size:.78rem;gap:6px;margin-top:15px;line-height:1.5}.section-label{margin:30px 0 17px;align-items:flex-start;flex-direction:column;gap:7px}.section-label h2{font-size:1.5rem}.section-label>span{font-size:.76rem}.small-games{grid-template-columns:1fr;gap:12px}.small-game{padding:16px 20px;gap:20px}.game-glyph{width:57px;height:58px}.small-game h3{font-size:1.05rem}.small-game p{font-size:.85rem;margin-top:4px}.small-game>span:last-child{display:block}.lobby-note{align-items:flex-start;margin-top:24px;font-size:.76rem}.game-top{margin-bottom:20px}.toolbar{font-size:.85rem;gap:12px}.toolbar .button{font-size:.8rem;padding:10px 12px}.game-instruction{font-size:.87rem}.solitaire-board{padding:12px 8px;--fan:27px;border-radius:12px}.sol-top,.tableau{gap:5px}.playing-card{border-radius:4px}.face-down{border-width:2px}.card-corner{gap:1px}.card-center{inset:34% 0 0;font-size:1.5rem}.empty-card>span{font-size:1.2rem}.pile-label{font-size:.51rem;bottom:7px}.tableau-column{min-height:190px}.word-layout,.bingo-layout{grid-template-columns:1fr;gap:24px}.word-grid{padding:7px;gap:1px}.letter{font-size:.95rem}.word-list{padding:21px}.word-list ul{grid-template-columns:1fr 1fr;gap:16px;font-size:.8rem}.memory-grid{gap:11px}.memory-card{border-width:3px;border-radius:10px;padding:4px}.memory-card small{font-size:.59rem;letter-spacing:-.02em;margin-top:3px}.memory-card.revealed>span{font-size:1.9rem}.bingo-caller{display:grid;grid-template-columns:115px 1fr;gap:10px 20px;align-items:center}.bingo-caller>.eyebrow{grid-column:1/-1;margin:0}.bingo-ball{margin:6px 0;width:105px;height:105px;grid-row:2/4}.bingo-caller>.button{font-size:.88rem}.bingo-caller>p:not(.eyebrow){font-size:.76rem;margin:0}.called-list{grid-column:1/-1;margin-top:0}.bingo-cell{font-size:1.45rem}.bingo-letters{font-size:1.5rem}.bingo-board{gap:6px}.machine-picker{grid-template-columns:1fr;gap:20px}.machine-tile.classic{display:block;grid-column:auto}.machine-poster{height:205px;background-position:center 22%}.machine-tile.classic .machine-poster{min-height:170px}.vintage-seven{font-size:3.6rem;top:25px}.machine-copy{padding:22px}.machine-copy h2{font-size:1.75rem}.machine-copy p{min-height:0;font-size:.9rem}.machine-copy>span{margin-top:16px}.machine-badge{font-size:.63rem}.cabinet-banner{padding:120px 15px 20px;min-height:215px;background-position:center 10%}.cabinet-body{padding:18px 12px 22px}.slot-cabinet{margin:0 -5px;border-width:2px;border-radius:15px}.machine-status{font-size:.92rem;align-items:flex-start;gap:8px}.machine-status>span:last-child{font-size:.65rem}.machine-status .coin-caption{display:block;font-size:.65rem;margin-top:4px}.coin-caption{font-size:.76rem}.payline-label{font-size:.52rem;line-height:1.5;margin-bottom:10px}.reel-window{gap:3px;padding:5px;border-width:2px;box-shadow:0 3px 0 #5f401d,0 0 0 3px #0003}.reel{height:170px}.three-reels .reel-symbol{font-size:2.6rem}.three-reels .reel-symbol.bar-symbol{font-size:1.5rem}.train-journey{padding:13px 10px;margin-top:3px}.train-journey>div:first-child{flex-wrap:wrap;gap:6px}.train-journey>div:first-child strong{font-size:.76rem}.ticket-track{gap:6px}.ticket{min-width:30px;height:30px}.train-journey p{font-size:.62rem}.slot-message{font-size:.88rem;min-height:4.5em}.spin-button{font-size:1.35rem;padding:13px 18px 11px}.cabinet-links button{font-size:.65rem}.bonus-choices{gap:6px}.bonus-choice>span{font-size:1.5rem}.bonus-choice>strong{font-size:.58rem}.train-bonus{padding:17px 10px}.train-bonus h2{font-size:1.4rem}.train-bonus p{font-size:.8rem}footer{margin:0 20px;padding:20px 0 26px;flex-direction:column;gap:10px;font-size:.7rem}.notice{font-size:.85rem;bottom:18px;padding:14px 18px}.under-note{font-size:.74rem}.large-text .brand{font-size:1.1rem}.large-text .featured-games{grid-template-columns:1fr}.large-text .game-tile{min-height:310px}.large-text .tile-copy p{min-height:0}.large-text .card-sample,.large-text .slot-sample{justify-content:flex-end;height:90px;margin:8px 10px 18px}.large-text .card-corner{font-size:.69rem}.large-text .card-center{font-size:1rem}.large-text .pile-label{font-size:.45rem}.large-text .game-top{flex-wrap:wrap}.large-text .word-grid{padding:5px}.large-text .letter{font-size:.8rem}.large-text .memory-card small{font-size:.48rem}.large-text .machine-status{flex-wrap:wrap}.large-text .train-journey>div:first-child{font-size:.67rem}.large-text .reel-symbol{font-size:1.5rem}.large-text .reel-symbol.seven{font-size:2rem}.large-text .bingo-caller{display:block}.large-text .bingo-ball{margin:14px auto}.large-text .bingo-caller>p:not(.eyebrow){margin-top:15px}}
@media(max-width:360px){.featured-games{grid-template-columns:1fr}.game-tile{min-height:280px}.card-sample,.slot-sample{justify-content:flex-end;height:80px;margin:10px 10px 20px}.tile-copy p{min-height:0}.memory-card small{font-size:.52rem}.card-corner{font-size:.7rem}.brand{font-size:1.2rem}.brand-mark{width:38px;height:38px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Readable labels, including on narrow phones. */
.brand-sub,.tile-tag,.machine-badge,.payline-label,.cabinet-banner .eyebrow,.text-toggle,.pile-label,.ticket,.memory-card small,.bonus-choice>strong,.bingo-cell small{font-size:max(.67rem,12px)}
.tile-play,.tile-copy p,.under-note,.cabinet-links button,.train-journey p,.coin-caption,.machine-status>span:last-child{font-size:max(.78rem,14px)}
.memory-card small{max-width:100%;overflow-wrap:anywhere}.large-text .memory-card small{font-size:max(.67rem,12px)}
@media(max-width:700px){.pile-label,.large-text .pile-label{font-size:12px;white-space:normal;line-height:1.1;bottom:1px}.pile{padding-bottom:32px}.brand-sub{font-size:10px}.tile-tag{font-size:12px}.tile-copy h2{font-size:1.5rem}.large-text .card-corner{font-size:.8rem}.memory-card small{font-size:12px}.train-journey>div:first-child>span{font-size:14px}.cabinet-links{flex-wrap:wrap}.memory-card{aspect-ratio:.88}.game-tile{min-height:350px}}

.machine-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.machine-tile.classic{display:block;grid-column:auto}.machine-tile.classic .machine-poster{height:220px;min-height:0}.machine-tile.classic .machine-copy p{min-height:3.2em}.cherry .machine-poster,.cherry .cabinet-banner{background:radial-gradient(ellipse at center,#a63f56,#601c35)}.cherry.slot-cabinet{background:#611f35}.cherry .vintage-seven{font-size:3rem}.brand-sub{font-size:12px}.brand{letter-spacing:-.035em}.memory-card small{line-height:1.1}.large-text .brand-sub{font-size:12px}
@media(max-width:700px){.site-header{flex-wrap:wrap}.brand-sub{font-size:12px;letter-spacing:.05em}.brand{font-size:1.2rem}.machine-picker{grid-template-columns:1fr}.machine-tile.classic .machine-poster{height:175px}.machine-tile.classic .machine-copy p{min-height:0}.large-text .brand{font-size:1.1rem}}

/* Real rolling strips; each reel stops separately before its outcome appears. */
.reel.rolling{display:block;position:relative}.reel-strip{position:absolute;top:0;left:0;right:0;display:flex;flex-direction:column;align-items:center;animation:reel-travel .72s linear infinite;filter:blur(1.2px)}.reel-strip>span{height:80px;flex:0 0 80px;display:grid;place-items:center;font-size:clamp(2.6rem,8vw,5rem);color:#91452d;font-weight:700;line-height:1}.reel.landed{animation:reel-land .16s ease-out}@keyframes reel-travel{from{transform:translateY(-960px)}to{transform:translateY(0)}}@keyframes reel-land{from{transform:translateY(-4px)}to{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.reel-strip{animation:none!important;filter:none}.reel.landed{animation:none!important}}

/* Bet selection and celebrations use generous touch targets. */
.bet-picker{border:0;margin:5px 0 20px;padding:0;color:#fff1cc;min-width:0}.bet-picker legend{padding:0;margin-bottom:10px;font-weight:700;font-size:.78rem;letter-spacing:.08em}.bet-picker legend span{font-weight:400;letter-spacing:0;margin-left:9px;color:#e4d8b8}.bet-picker>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.bet-picker button{min-height:48px!important;background:#ffffff0c;border:1px solid #cfb87888;border-radius:9px;color:#fff1cc;padding:8px 3px;font-size:.9rem;font-weight:700}.bet-picker button[aria-pressed=true]{color:#31250f;background:#f1cc75;border-color:#ffecb8;box-shadow:inset 0 -3px 0 #ad7b32}.bet-picker:disabled{opacity:.55}.bet-picker:disabled button{cursor:default}.reel.reel-winning{box-shadow:inset 0 0 0 3px #e9b348;background:linear-gradient(#b5a575,#fff5c6 28%,#fff5c6 70%,#b5a575)}.slot-message:has(.small-win-count){flex-direction:column;gap:5px}.small-win-count{font:700 1.8rem Georgia,serif;color:#ffe49c}.small-win-note{font-size:.8rem;font-weight:400}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
#win-dialog{isolation:isolate;position:fixed;max-width:min(620px,calc(100% - 28px));padding:0;border:2px solid #ddba61;background:radial-gradient(ellipse at 50% 32%,#234c56,#0b202d 75%);color:#ffe8a4;text-align:center;overflow:auto;border-radius:22px;box-shadow:0 0 60px #edc56726,0 24px 100px #0009}#win-dialog::backdrop{background:#04161bcb}#fireworks{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1}.win-content{position:relative;padding:54px 30px 30px}.win-content>.eyebrow{font-size:.7rem;letter-spacing:.15em;color:#e6dab5;line-height:1.5;margin:0 0 23px}#win-title{font:bold clamp(2rem,8vw,3.1rem) Georgia,serif;margin:0 0 14px;letter-spacing:.02em;color:#ffe394;text-shadow:0 3px 0 #835a25}.win-total{display:block;margin:0 auto;padding:12px 0;width:100%;min-height:90px;font:bold clamp(2.8rem,12vw,4.7rem) Georgia,serif;font-variant-numeric:tabular-nums;color:#fff1bd;background:none;letter-spacing:-.025em;text-shadow:0 0 24px #f1c36935;line-height:1.1}.win-unit{font-size:.8rem!important;letter-spacing:.2em;font-weight:700;color:#ecd292;margin:5px 0 22px!important}#win-description{font-size:.88rem;line-height:1.6;max-width:360px;margin:0 auto 27px;color:#f0e6cf}.celebration-continue{display:block;width:100%;min-height:58px!important;color:#302713;background:linear-gradient(#ffe49c,#e9bc59);border:1px solid #ffeeaf;border-bottom:4px solid #ac7932;font-size:1rem;padding:15px 20px;border-radius:11px}.more-fireworks{font-size:.83rem;color:#e9dbb9;text-decoration:underline;text-underline-offset:4px;background:none;margin:13px auto 0;padding:10px 20px;min-height:48px!important}#win-dialog button:focus-visible{outline-color:#88cfff}
@media(max-width:700px){.bet-picker>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.bet-picker button{font-size:1rem;min-height:49px!important}.bet-picker legend{font-size:.8rem}.win-content{padding:39px 22px 22px}#win-title{font-size:2.2rem}.win-total{font-size:clamp(2.6rem,13vw,4rem)}#win-description{font-size:.83rem}.win-content>.eyebrow{font-size:.67rem}.small-win-count{font-size:1.5rem}}

/* Original family photos are presented in the reels without altering the images. */
.photo-machine.slot-cabinet{background:#173750;border-color:#d4b363}.photo-machine .machine-poster{background:linear-gradient(135deg,#254d6a,#142f49);height:250px;padding-top:25px}.photo-preview{display:flex;align-items:center;justify-content:center;gap:10px;position:absolute;inset:23px 22px 54px}.photo-preview>span{height:100%;width:30%;overflow:hidden;border:3px solid #f8e6b1;border-radius:7px;box-shadow:0 4px 12px #0004;transform:rotate(-5deg)}.photo-preview>span:nth-child(2){transform:translateY(-5px);height:105%}.photo-preview>span:nth-child(3){transform:rotate(5deg)}.reel-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 32%;pointer-events:none}.photo-2{object-position:50% 24%}.photo-3{object-position:50% 25%}.photo-4{object-position:45% 28%}.photo-5{object-position:50% 27%}.photo-machine .cabinet-banner{background:linear-gradient(130deg,#284e68,#142e46);padding:30px 20px;min-height:155px;border-bottom:1px solid #e7c57655}.photo-machine .cabinet-banner h1{font-size:clamp(2rem,6vw,3rem)}.photo-machine .reel{height:clamp(230px,34vw,310px);grid-template-rows:1fr 4fr 1fr;gap:5px;background:#eae4d5}.photo-machine .reel-symbol,.photo-machine .reel-ghost{display:block;width:100%;height:100%;min-height:0;overflow:hidden;padding:0}.photo-machine .reel-symbol{border-top:2px solid #b99246;border-bottom:2px solid #b99246}.photo-machine .reel-ghost{filter:none;opacity:.35}.photo-machine .reel:after{display:none}.photo-machine .reel-strip>span{height:160px;flex-basis:160px;width:100%;padding:4px 0}.photo-machine .reel-strip{animation-name:photo-travel;animation-duration:1.05s;filter:blur(.7px)}@keyframes photo-travel{from{transform:translateY(-1920px)}to{transform:translateY(0)}}.photo-machine .reel.reel-winning .reel-symbol{border:3px solid #edbd52}.photo-machine .machine-copy h2{font-size:1.8rem}.photo-machine .machine-badge{color:#fff0bd}
@media(max-width:700px){.photo-machine .reel{height:230px}.photo-machine .cabinet-banner{padding:24px 14px;min-height:140px}.photo-machine .cabinet-banner h1{font-size:1.9rem}.photo-machine .machine-poster{height:245px}.photo-machine .reel-window{gap:5px}.photo-machine .machine-copy h2{font-size:1.65rem}}

/* A vintage concert palette for the Elvis fan-tribute machine. */
.elvis-machine.slot-cabinet{background:#122340;border-color:#dfbb64}.elvis-machine .machine-poster{height:245px;background-image:linear-gradient(90deg,#132344 0%,#132344dd 44%,#13234400 75%),url('./elvis-portrait.jpg');background-size:cover,auto 125%;background-position:center,right 10%;background-repeat:no-repeat;background-color:#142444}.elvis-poster-title{position:absolute;left:24px;top:54px;color:#ffdb81;font:700 clamp(2.6rem,5vw,4rem) Georgia,serif;letter-spacing:.08em;text-shadow:0 3px 0 #724c38}.elvis-poster-title>span{display:block;font:700 .8rem Arial,sans-serif;letter-spacing:.17em;color:#f5b3c9;margin-top:10px}.elvis-machine .machine-badge{position:relative;color:#ffeabc;text-shadow:0 1px 4px #000}.elvis-machine .cabinet-banner{background:radial-gradient(ellipse at top,#334666,#122340 75%);min-height:175px;padding:30px 18px;border-bottom:1px solid #d4ad5066}.elvis-machine .cabinet-banner h1{font-size:clamp(1.8rem,6vw,3.1rem);color:#ffdd8c}.elvis-machine .cabinet-banner .eyebrow{color:#f6b0c9}.elvis-machine .reel{height:230px;grid-template-rows:1fr 2fr 1fr}.elvis-machine .reel-symbol:has(.elvis-photo),.elvis-machine .reel-ghost:has(.elvis-photo){display:block;width:100%;height:100%;min-height:0;overflow:hidden}.elvis-photo{display:block;width:100%;height:100%;min-height:60px;overflow:hidden;position:relative;background:#e2e2df}.elvis-photo>img{position:absolute;width:240%;max-width:none;height:auto;left:-70%;top:-4%;pointer-events:none}.elvis-machine .reel-strip>span{width:100%;overflow:hidden}.elvis-machine .reel-strip .elvis-photo{height:80px}.elvis-machine .spin-button{background:linear-gradient(#ffe9ad,#e3b452);color:#142340}.elvis-credit{display:block;margin-top:9px;font-size:12px;line-height:1.6}.elvis-credit a{color:inherit;text-underline-offset:3px}
@media(max-width:700px){.elvis-machine .machine-poster{height:230px}.elvis-machine .reel{height:200px}.elvis-machine .cabinet-banner{min-height:155px;padding:27px 16px}.elvis-poster-title{font-size:3rem}}

/* Family photos retain their original files; the jackpot frame hides screenshot borders. */
.family-machine.slot-cabinet{background:#452744;border-color:#e1bc68}.family-machine .machine-poster,.family-machine .cabinet-banner{background:radial-gradient(ellipse at top,#805275,#372039)}.family-machine .cabinet-banner h1{color:#ffe4a2}.family-machine .reel-photo{object-position:50% 35%}.family-machine .photo-1,.family-machine .photo-3,.family-machine .photo-4{object-fit:cover;background:#eee6db}.family-jackpot-photo{display:block;width:100%;height:100%;position:relative;overflow:hidden;background:#ddd}.family-jackpot-photo img{position:absolute;display:block;width:100%;height:188%;top:-46.8%;object-fit:cover;object-position:center;pointer-events:none}.family-machine .reel-strip>span{overflow:hidden}.family-machine .spin-button{background:linear-gradient(#ffe9ad,#e3b452);color:#452744}

/* Kendra & Pop’s photos: keep group portraits and golf memories fully visible. */
.pops-machine.slot-cabinet{background:#233e31;border-color:#dfbd72}.pops-machine .machine-poster,.pops-machine .cabinet-banner{background:radial-gradient(ellipse at top,#58775c,#1e352a)}.pops-machine .cabinet-banner h1{color:#ffe8ae}.pops-machine .reel-photo{object-position:50% 25%}.pops-machine .photo-0,.pops-machine .photo-2,.pops-machine .photo-3,.pops-machine .photo-4{object-fit:cover;background:#eee8da}.pops-machine .spin-button{background:linear-gradient(#ffe9ad,#e3b452);color:#233e31}

/* Kim and Kendra: charcoal and rose gold, with both faces kept in frame. */
.kimkendra-machine.slot-cabinet{background:#292429;border-color:#d2a489}.kimkendra-machine .machine-poster,.kimkendra-machine .cabinet-banner{background:radial-gradient(ellipse at top,#60505d,#211e24)}.kimkendra-machine .cabinet-banner h1{color:#ffdfcb}.kimkendra-machine .cabinet-banner .eyebrow{color:#f7c8ca}.kimkendra-machine .reel-photo{object-fit:contain;object-position:center;background:#ece3df}.kimkendra-machine .photo-1{object-fit:cover;object-position:50% 30%}.kimkendra-machine .spin-button{background:linear-gradient(#ffe4d0,#d4a184);color:#292429}

/* Bingo showdown: a readable card, a visible opponent, and a race on every ball. */
.bingo-showdown .game-heading{margin-bottom:20px}
.bingo-challenges{border:0;padding:0;margin:0 0 14px;min-width:0}
.bingo-challenges legend{font-size:1rem;font-weight:700;margin-bottom:10px;padding:0}
.bingo-challenges>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.bingo-challenges button{display:flex;align-items:center;gap:12px;border:2px solid #c5cdc2;background:#fffefa;padding:12px;border-radius:10px;font-size:1rem;text-align:left;font-weight:700;line-height:1.3}
.bingo-challenges button[aria-pressed=true]{background:#173f34;border-color:#173f34;color:#fff3d2}
.bingo-challenges button:disabled:not([aria-pressed=true]){opacity:.65}
.bingo-pattern{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;width:33px;height:33px;flex:0 0 33px}
.bingo-pattern i{background:#dce3d9;border-radius:1px}.bingo-pattern i.filled{background:#a67b20}
.bingo-challenges button[aria-pressed=true] .bingo-pattern i{background:#567467}.bingo-challenges button[aria-pressed=true] .bingo-pattern i.filled{background:#ffe09b}
.bingo-goal{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.bingo-goal p{font-size:1rem;flex:1 1 260px}.bingo-goal button{font-size:.9rem;flex-shrink:0}
.bingo-race{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bingo-racer{display:grid;gap:7px;background:#fff;border:1px solid #bcccbf;border-top:4px solid #285d48;border-radius:10px;padding:12px 16px}
.bingo-racer.computer{border-color:#d1bd93;border-top-color:#92621c}
.bingo-racer strong{font-size:1.1rem}.bingo-racer span{font-size:.9rem;line-height:1.45;min-height:1.5em}
.bingo-racer progress{appearance:none;display:block;width:100%;height:10px;border:0;border-radius:10px;background:#e9eee7;overflow:hidden}
.bingo-racer progress::-webkit-progress-bar{background:#e9eee7}.bingo-racer progress::-webkit-progress-value{background:#285d48;border-radius:10px}.bingo-racer progress::-moz-progress-bar{background:#285d48;border-radius:10px}
.bingo-racer.computer progress::-webkit-progress-value{background:#a77727}.bingo-racer.computer progress::-moz-progress-bar{background:#a77727}
.bingo-score{font-size:.9rem;color:#425346;margin:12px 0 20px;line-height:1.6}
.bingo-match-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr);gap:28px;align-items:start}
.bingo-player-side,.bingo-computer-side{min-width:0}
.bingo-call-panel{display:flex;align-items:center;gap:16px;border:1px solid #bfccbe;border-radius:12px;background:#eef3e9;padding:14px;position:sticky;top:8px;z-index:3;margin-bottom:18px;box-shadow:0 3px 8px #173e3510}
.bingo-current-ball{display:flex;flex-direction:column;align-items:center;justify-content:center;width:90px;height:90px;flex:0 0 90px;border:6px solid #c89b3c;border-radius:50%;background:#fffef9;box-shadow:0 3px 0 #a77a2730}
.bingo-current-ball span{font-size:1rem;font-weight:700}.bingo-current-ball strong{font-size:2.1rem;line-height:1.05}
.bingo-call-controls{min-width:0;flex:1}.bingo-match-status{font-size:1rem;line-height:1.4;margin-bottom:10px}
.bingo-call-controls .button{width:100%;font-size:1rem;padding:12px 10px}
.bingo-call-controls .button:disabled{opacity:1;background:#dfe6da;color:#40523d}
.bingo-card-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:10px}
.bingo-card-heading h2{font-size:1.5rem}.bingo-card-heading>span{font-size:.85rem;color:#53634f}
.bingo-showdown .bingo-board{padding:10px;gap:7px}
.bingo-showdown .bingo-cell{font-size:clamp(1.4rem,3vw,2rem);border:2px solid transparent;position:relative}
.bingo-showdown .bingo-cell small{font-size:12px}.bingo-showdown .bingo-cell.marked{background:#24533f;color:#fff9e3;border-color:#24533f}
.bingo-showdown .bingo-cell.ready{background:#fff0c5;color:#302718;border:4px solid #b67c0b;box-shadow:0 0 0 2px #f2d388}
.bingo-showdown .bingo-cell.corner-target:not(.marked):not(.ready){border:2px dashed #8f722b}
.bingo-showdown .bingo-cell.winning{background:#f7d78b;border-color:#a47413;color:#392a12}
.bingo-computer-side{padding:18px;border:1px solid #d1c5ac;border-radius:12px;background:#f7f0df}
.bingo-computer-side .bingo-letters{background:#79531e;padding:12px 0;font-size:1.3rem}
.bingo-computer-side .bingo-cell{font-size:1.1rem}
.bingo-computer-side .bingo-cell.marked{background:#8d6122;border-color:#8d6122;color:white}
.bingo-computer-side .bingo-cell.winning{background:#f7d78b;border-color:#a47413;color:#392a12}
.bingo-fair-note{font-size:.9rem;line-height:1.6;margin-top:15px;color:#574c38}
.bingo-recent{margin-top:20px}.bingo-recent h3{display:flex;justify-content:space-between;gap:10px;font-size:.95rem;margin-bottom:10px}.bingo-recent h3>span{font-weight:normal}
.bingo-recent>div{display:flex;gap:7px;flex-wrap:wrap}.bingo-recent>div>span{display:inline-block;background:white;border:1px solid #d4c5a7;border-radius:20px;padding:7px 10px;font-weight:700;font-size:.9rem}.bingo-recent p{font-size:.9rem}
.bingo-showdown .called-list{font-size:.9rem}.bingo-showdown .called-list summary{min-height:44px;display:flex;align-items:center;text-decoration:underline;cursor:pointer}.bingo-showdown .called-list>div span{font-size:.85rem}
.bingo-result{padding:24px 18px;margin-top:20px;text-align:center;background:#ede9db;border:1px solid #bfb397;border-radius:12px}.bingo-result.player-won{background:#fff0c7;border-color:#b68c31}
.bingo-result h2{font-size:1.8rem;margin:4px 0 12px}.bingo-result p{font-size:1rem;margin-bottom:16px}.bingo-result-star{font-size:2.5rem;color:#947015}
.bingo-end-symbol{text-align:center;color:#a5771f;font-size:4rem;line-height:1.3;animation:bingo-cheer .65s ease-out}
.bingo-rematch{display:block;width:100%;font-size:1rem;margin-top:12px}
@keyframes bingo-cheer{0%{transform:scale(.65) rotate(-12deg)}65%{transform:scale(1.12) rotate(5deg)}100%{transform:scale(1) rotate(0)}}
@media(max-width:760px){
  .bingo-challenges>div{grid-template-columns:1fr 1fr;gap:8px}.bingo-challenges button{padding:10px;gap:10px}
  .bingo-match-layout{grid-template-columns:1fr;gap:24px}.bingo-computer-side{width:100%;max-width:430px;justify-self:center;padding:16px}
  .bingo-racer{padding:10px 12px}.bingo-racer span{font-size:.85rem}.bingo-race{gap:8px}
  .bingo-call-panel{top:0;padding:10px;gap:12px}.bingo-current-ball{width:76px;height:76px;flex-basis:76px;border-width:5px}.bingo-current-ball strong{font-size:1.8rem}
  .bingo-showdown .bingo-board{padding:8px;gap:6px}.bingo-showdown .bingo-letters{padding:12px 0}.bingo-showdown .bingo-cell{font-size:1.45rem;min-height:44px}
  .bingo-computer-side .bingo-cell{font-size:1.2rem}.bingo-goal{margin-bottom:14px}.bingo-score{margin-bottom:16px}
}
@media(max-width:360px){.bingo-challenges button{font-size:.9rem;gap:7px}.bingo-pattern{width:28px;height:28px;flex-basis:28px}.bingo-showdown .bingo-board{padding:5px;gap:4px}.bingo-call-panel{gap:8px}.bingo-current-ball{width:66px;height:66px;flex-basis:66px}.bingo-computer-side{padding:10px}}
.large-text .bingo-match-layout{grid-template-columns:1fr}.large-text .bingo-challenges>div{grid-template-columns:1fr 1fr}.large-text .bingo-call-panel{position:static}.large-text .bingo-computer-side{max-width:520px;width:100%;justify-self:center}
@media(prefers-reduced-motion:reduce){.bingo-end-symbol{animation:none}}

.bingo-challenges button>span:last-child{min-width:0;overflow-wrap:anywhere}
@media(max-width:480px){.large-text .bingo-challenges>div{grid-template-columns:1fr}}

/* A warm daily greeting and three new puzzle tables. */
.daily-kindness{border:1px solid #d7bb72;border-left:5px solid #ba8d36;border-radius:12px;background:#fff7df;padding:18px 22px;margin:0 0 24px}
.daily-kindness>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.daily-kindness h2{font-size:1.2rem}.daily-kindness>div>span{font-size:1.5rem;color:#846329}.daily-kindness time{margin-left:auto;font-size:.85rem;color:#685736}.daily-kindness blockquote{font:1.25rem/1.5 Georgia,serif;margin:10px 0}.daily-kindness>p{font-size:.85rem;color:#685736}
.mahjong-glyph{background:#f9eed2;color:#b52d33;font:2rem Georgia,serif}.sudoku-glyph{background:#e6edf7;color:#284b7e;line-height:1.2;font-size:1.2rem;text-align:center}.blocks-glyph{background:#e8e2f6;color:#633c9b;font-size:2.5rem}
.puzzle-page{max-width:1000px;margin:0 auto}.puzzle-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:16px 0}.puzzle-toolbar>div{display:flex;gap:8px;flex-wrap:wrap}.puzzle-toolbar .button{font-size:.9rem}.puzzle-status{font-size:1rem;line-height:1.5;margin:14px 0;min-height:3em}.puzzle-note{font-size:.9rem;line-height:1.6;color:#526254;margin-top:16px}.puzzle-win{background:#fff0bc;border:1px solid #d2ad57;border-radius:12px;padding:20px;text-align:center;margin-top:18px}.puzzle-win h2{margin-bottom:16px}
.mj-table{background:radial-gradient(ellipse at top,#326955,#123d32);border:4px solid #b88b40;border-radius:14px;padding:20px 16px 14px;max-width:620px;margin:auto;overflow-x:auto}
.mj-board{position:relative;width:100%;min-width:288px;aspect-ratio:1 / 1.25}
.mj-tile{position:absolute;left:calc(var(--x) * 16.6667% + var(--z) * 2px);top:calc(var(--y) * 16.6667% - var(--z) * 3px);width:calc(16.6667% - 5px);height:calc(16.6667% - 5px);border:1px solid #baa47a;border-radius:6px;background:linear-gradient(#fffdf4,#f3e8cf);box-shadow:0 4px 0 #c1a67b,0 5px 5px #001d1890;color:#244136;padding:3px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px}
.mj-tile.blocked{background:#bdc8af;color:#4d6659;box-shadow:0 4px 0 #84967a,0 5px 5px #001d1860}
.mj-tile.selected,.mj-tile.hinted{outline:3px solid #ffce45;outline-offset:1px;background:#fff1b1}.mj-tile small{font-size:12px;line-height:1.1}.mj-art{font:clamp(1.1rem,4vw,2rem)/1 Georgia,serif;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:2px;max-width:100%}.mj-art b{font-weight:normal;color:#af2f32}.mj-dots{color:#a72e33;font-size:clamp(.9rem,3.4vw,1.6rem);letter-spacing:-.07em}.mj-bamboo{color:#216047;letter-spacing:-.12em}.mj-dragon{color:#b42c35}.mj-finished{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;color:#fff4cf;text-align:center;padding:24px}.mj-finished>span{font-size:4rem}.mj-finished .button{background:#ffdfa2;color:#243f32}
.sudoku-layout{display:grid;grid-template-columns:minmax(0,540px) minmax(210px,1fr);gap:24px;align-items:start}.sudoku-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));border:3px solid #28476b;border-radius:5px;overflow:hidden;background:white}
.sudoku-grid button.sd-cell{min-height:0!important;aspect-ratio:1;width:100%;border-right:1px solid #bdc7d3;border-bottom:1px solid #bdc7d3;background:#fff;color:#255ea0;font-size:clamp(1.15rem,3.5vw,1.8rem);font-weight:500;padding:0;border-radius:0;display:grid;place-items:center}
.sudoku-grid .sd-cell.given{font-weight:800;color:#243c58;background:#f0f3f7}.sudoku-grid .sd-cell.related{background:#e5eef8}.sudoku-grid .sd-cell.selected{background:#c7dff8;box-shadow:inset 0 0 0 3px #2161a6}.sudoku-grid .sd-cell.error{color:#a22330;box-shadow:inset 0 0 0 2px #b52f3a;background:#fff0ed}.sudoku-grid .sd-cell.box-right{border-right:3px solid #28476b}.sudoku-grid .sd-cell.box-bottom{border-bottom:3px solid #28476b}.sudoku-grid .sd-cell:nth-child(9n){border-right:0}.sudoku-grid .sd-cell:nth-last-child(-n+9){border-bottom:0}.sd-controls{padding:18px;background:#edf2f8;border:1px solid #bdcbdc;border-radius:12px}.sd-selection{font-size:1rem;line-height:1.5;margin-bottom:12px}.sd-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.sd-keypad button{background:#fff;color:#254c7b;border:1px solid #afc1d5;border-radius:8px;font-weight:700;font-size:1.4rem;min-height:50px}.sd-keypad button:disabled{opacity:.45}.sd-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.sd-actions .button{font-size:.9rem;padding:11px 6px}
.blocks-scores{display:flex;align-items:center;gap:16px;flex-wrap:wrap;border-radius:12px;background:#eee8f6;padding:14px 18px;margin:18px 0}.blocks-scores>span{font-size:.9rem;display:flex;flex-direction:column;gap:4px}.blocks-scores strong{font-size:1.3rem;color:#503478}.blocks-scores .button{margin-left:auto}.blocks-layout{display:grid;grid-template-columns:minmax(220px,320px) minmax(200px,1fr);gap:28px;align-items:start;max-width:740px;margin:auto}.blocks-play{width:100%}.blocks-grid{display:grid;grid-template-columns:repeat(10,1fr);grid-template-rows:repeat(18,1fr);aspect-ratio:10/18;position:relative;gap:1px;padding:3px;background:#172432;border:3px solid #68788c;border-radius:6px;overflow:hidden}.block-cell{display:block;min-width:0;min-height:0;border-radius:2px}.block-0{background:#203143}.block-1{background:#55c8db;box-shadow:inset 2px 2px #b6f7ff,inset -2px -2px #238895}.block-2{background:#ebc75a;box-shadow:inset 2px 2px #fff0b1,inset -2px -2px #b18b26}.block-3{background:#b28ae1;box-shadow:inset 2px 2px #e4cfff,inset -2px -2px #705195}.block-4{background:#74c996;box-shadow:inset 2px 2px #b5f5d0,inset -2px -2px #328754}.block-5{background:#e77e85;box-shadow:inset 2px 2px #ffc2c7,inset -2px -2px #ad414c}.block-6{background:#759fee;box-shadow:inset 2px 2px #c6d8ff,inset -2px -2px #3d62a5}.block-7{background:#efac6c;box-shadow:inset 2px 2px #ffddb8,inset -2px -2px #b47336}.block-cell.ghost{border:2px dotted #d2deea;background:#34495e}.blocks-overlay{position:absolute;inset:0;background:#142231e8;color:#fff7df;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:20px;text-align:center}.blocks-overlay h2{font-size:1.7rem}.blocks-overlay p{font-size:1rem}.blocks-overlay .button{background:#efd084;color:#282739;font-size:1.1rem;min-width:150px}.block-controls{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:12px 0}.block-controls button{background:#f1edf7;color:#49306e;border:1px solid #b7a8cb;border-radius:9px;font-size:1.7rem;padding:5px 0}.block-controls small{font-size:.85rem;display:block}.block-controls button:disabled{opacity:.5}.block-drop{width:100%;font-size:1rem}.blocks-panel{background:#f3eef8;border:1px solid #cbbfda;border-radius:12px;padding:20px}.blocks-next h2{font-size:1.4rem;margin-bottom:14px}.blocks-next>div{display:grid;grid-template-columns:repeat(var(--cols),28px);grid-auto-rows:28px;gap:2px;width:max-content}.blocks-next .block-0{background:transparent}.blocks-options{display:flex;flex-wrap:wrap;gap:8px}.blocks-options .button{font-size:.9rem}
@media(max-width:700px){
 .daily-kindness{padding:14px 16px}.daily-kindness time{margin-left:0}.daily-kindness blockquote{font-size:1.15rem}.puzzle-page .game-heading{margin-bottom:16px}.puzzle-toolbar .button{padding:10px 12px}.puzzle-toolbar{gap:10px}.puzzle-status{margin:12px 0;font-size:.95rem}.mj-table{padding:16px 8px 10px;border-width:3px}.mj-tile{border-radius:4px}.mj-art{font-size:1.35rem}.mj-dots{font-size:1rem}.sudoku-layout{grid-template-columns:1fr;gap:14px}.sd-controls{padding:12px}.sd-keypad{grid-template-columns:repeat(5,1fr);gap:7px}.sd-keypad button{min-height:46px}.sd-actions{grid-template-columns:repeat(4,1fr);gap:7px}.sd-controls .puzzle-note{margin-top:10px}.blocks-layout{grid-template-columns:1fr;gap:20px}.blocks-play{max-width:240px;justify-self:center}.blocks-panel{padding:16px}.blocks-scores{padding:12px;gap:14px}.blocks-scores strong{font-size:1.2rem}.puzzle-note{font-size:.85rem}
}
.large-text .sudoku-layout,.large-text .blocks-layout{grid-template-columns:1fr}.large-text .blocks-play{max-width:300px;justify-self:center}.large-text .sd-actions{grid-template-columns:1fr 1fr}

/* Solid tile sides meet the layer below: each level rises by one tile thickness. */
.mahjong-page .mj-table{padding:24px 16px 24px 22px;background:radial-gradient(ellipse at 45% 30%,#348765,#174e3a 75%);border-color:#ac8241;box-shadow:inset 0 3px 18px #062c2b90;max-width:580px}
.mj-mixed-board{--depth-x:7px;--depth-y:9px;min-width:264px;aspect-ratio:3 / 5}
.mj-mixed-board .mj-tile{left:calc(var(--x) * 16.6667% + var(--z) * var(--depth-x));top:calc(var(--y) * 12.5% - var(--z) * var(--depth-y));width:calc(16.6667% - 5px);height:calc(12.5% - 10px);border:0;border-radius:6px;background:transparent;box-shadow:-5px 12px 9px #052d2999;padding:0;display:block;opacity:1;overflow:visible;--tile-side:#427da1;--tile-edge:#d9e4e6}
.mj-mixed-board .mj-tile::before,.mj-mixed-board .mj-tile::after{content:"";position:absolute;pointer-events:none}
.mj-mixed-board .mj-tile::before{left:calc(-1 * var(--depth-x));top:0;width:var(--depth-x);height:calc(100% + var(--depth-y));background:linear-gradient(90deg,#2b6485,var(--tile-edge));clip-path:polygon(100% 0,100% calc(100% - var(--depth-y)),0 100%,0 var(--depth-y))}
.mj-mixed-board .mj-tile::after{left:calc(-1 * var(--depth-x));top:calc(100% - 1px);width:calc(100% + var(--depth-x));height:calc(var(--depth-y) + 1px);background:linear-gradient(var(--tile-edge) 0 28%,var(--tile-side) 35% 83%,#194f72 88%);clip-path:polygon(var(--depth-x) 0,100% 0,calc(100% - var(--depth-x)) 100%,0 100%)}
.mj-tile-face{position:absolute;inset:0;border:1px solid #becbce;border-top-color:#fff;border-right-color:#e2ebed;border-radius:6px;background:linear-gradient(135deg,#fff 10%,#fffefa 62%,#edf0ec);box-shadow:inset 2px 2px 0 #ffffffec,inset -2px -2px 1px #cbd8db;display:flex;align-items:center;justify-content:center;padding:4px;overflow:hidden}
.mj-mixed-board .mj-tile.blocked,.mj-mixed-board .mj-tile.covered{background:transparent;box-shadow:-5px 12px 9px #052d29b0;--tile-side:#57758a;--tile-edge:#b8c6cd}
.mj-tile.blocked .mj-tile-face,.mj-tile.covered .mj-tile-face{background:linear-gradient(135deg,#d4dbe0,#b4bfc8);border-color:#8495a2;border-top-color:#e0e6e9;box-shadow:inset 2px 2px 0 #e2e8eb,inset -2px -2px 1px #8c9faa}
.mj-mixed-board .mj-tile.covered{pointer-events:none}
.mj-mixed-board .mj-tile.selected,.mj-mixed-board .mj-tile.hinted{background:transparent;outline:3px solid #ffd45a;outline-offset:1px;--tile-side:#b28522;--tile-edge:#ffe59a}
.mj-tile.selected .mj-tile-face,.mj-tile.hinted .mj-tile-face{background:linear-gradient(135deg,#fff9d6,#ffe393);border-color:#d1a028;box-shadow:inset 2px 2px 0 #fff8dd,inset -2px -2px 1px #d1aa51}
.mj-face-art{display:block;width:100%;height:100%;max-height:100px;min-height:0;pointer-events:none}
.mj-legend{margin-top:18px;display:flex;gap:12px 22px;flex-wrap:wrap;padding:12px 16px;background:#edf4ef;border:1px solid #bccdc2;border-radius:10px;font-size:1rem;line-height:1.4}
.mj-legend>span{display:flex;align-items:center;gap:10px}.mj-legend p{flex-basis:100%;font-size:.9rem}
.mj-key-ready,.mj-key-blocked{display:block;width:25px;height:30px;border:1px solid #bfccd0;border-radius:4px;background:linear-gradient(#fff,#f3f5f0);box-shadow:-2px 4px 0 #427da1;flex-shrink:0}
.mj-key-blocked{background:linear-gradient(#d4dbe0,#b4bfc8);border-color:#8495a2;box-shadow:-2px 4px 0 #57758a}
@media(max-width:700px){.mahjong-page .mj-table{margin-inline:-8px;padding:22px 10px 22px 17px}.mj-tile-face{padding:3px}}

/* Nelle's family garden keeps every person in the supplied photos visible. */
.nelle-machine.slot-cabinet{background:#204735;border-color:#d8b669}
.nelle-machine .machine-poster,.nelle-machine .cabinet-banner{background:linear-gradient(135deg,#3b7050,#163b2a)}
.nelle-machine .photo-preview>span{background:#e9efdf;border-color:#e7ce87}
.nelle-machine .reel-photo{object-fit:cover;object-position:center;background:#f5f4e9}
.nelle-machine .machine-badge,.nelle-machine .cabinet-banner h1{color:#fff1bf}

.header-controls{display:flex;align-items:center;gap:18px;flex-shrink:0}
.sound-toggle{border:1px solid #b5c9bc;background:#fff;border-radius:9px;padding:10px 14px;font-size:.9rem;font-weight:700;white-space:nowrap;color:#234d38;min-height:44px}
.sound-toggle[aria-pressed=false]{color:#526158;background:#eef1ed}.sound-toggle:disabled{opacity:.65}
@media(max-width:600px){.site-header{flex-wrap:wrap;gap:12px}.header-controls{width:100%;justify-content:flex-end;gap:24px}.header-controls .text-toggle{flex-direction:row;gap:8px;font-size:.85rem;padding:0}.sound-toggle{font-size:.95rem}}

/* Every game uses the same generous lobby card. */
.lobby-game-card{display:flex;flex-direction:column;min-height:340px}
.lobby-game-card .tile-top{width:100%}.lobby-game-card .tile-copy{margin-top:auto}
.lobby-game-card .tile-copy p{font-size:.95rem}.lobby-game-card .tile-play{font-size:.95rem}
.lobby-game-sample{display:flex;justify-content:flex-end;align-items:center;height:105px;flex:0 0 105px;margin:8px 10px 18px}
.lobby-game-sample .game-glyph{width:115px;height:90px;border:2px solid #f5e4ac;border-radius:10px;background:#fff8df;color:#294637;font:bold 2rem/1.15 Georgia,serif;text-align:center;box-shadow:0 5px 0 #0003}
.mahjong-tile{background:radial-gradient(ellipse at 75% 20%,#4d7854,transparent 65%),#23462f}
.words-tile{background:radial-gradient(ellipse at 75% 20%,#356d9a,transparent 65%),#183c62}
.memory-tile{background:radial-gradient(ellipse at 75% 20%,#89537c,transparent 65%),#4c284a}
.bingo-tile{background:radial-gradient(ellipse at 75% 20%,#a7553b,transparent 65%),#662c24}
.sudoku-tile{background:radial-gradient(ellipse at 75% 20%,#5769a0,transparent 65%),#2d365b}
.blocks-tile{background:radial-gradient(ellipse at 75% 20%,#7960a1,transparent 65%),#432c66}
.lobby-game-sample .mahjong-glyph{color:#a32b35}.lobby-game-sample .memory-glyph{color:#73466e}.lobby-game-sample .blocks-glyph{color:#633c9b;font-size:3.5rem}
@media(max-width:700px){.lobby-game-sample{justify-content:center;margin:22px 0 14px}.lobby-game-sample .game-glyph{width:96px;height:82px;font-size:1.65rem}.lobby-game-sample .blocks-glyph{font-size:3rem}.lobby-game-card .tile-copy h2{font-size:1.55rem}.lobby-game-card .tile-copy p,.lobby-game-card .tile-play{font-size:.85rem}}
@media(max-width:360px){.lobby-game-sample{justify-content:flex-end;height:80px;flex-basis:80px;margin:10px 10px 20px}}

/* Family room: roomy controls and clear cards on every phone. */
.family-tile{background:#214f59;color:#fff6e7}.family-page{max-width:1180px;margin:auto}.family-welcome,.family-room-info,.family-members,.family-bingo,.family-notes{background:#fffaf0;border:1px solid #d8d2bf;border-radius:20px;padding:clamp(16px,3vw,28px);margin-bottom:20px;min-width:0}.family-welcome{max-width:620px;margin:20px auto}.family-page label{display:block;font-weight:700;margin:12px 0 8px}.family-page input,.family-page textarea,.family-page select{display:block;width:100%;box-sizing:border-box;min-height:48px;border:2px solid #79958b;border-radius:10px;background:white;color:#183f37;font:inherit;padding:12px;margin:7px 0 14px}.family-page input:focus,.family-page textarea:focus,.family-page select:focus{outline:3px solid #b27811;outline-offset:2px}.family-page .button{min-height:48px;white-space:normal}.family-entry-tabs,.family-actions,.family-modes{display:flex;gap:10px;flex-wrap:wrap}.family-page [aria-pressed=true].button{background:#24594b;color:white;border-color:#24594b}.family-note{font-size:1rem;line-height:1.55;color:#506157}.family-room-info #family-code{font-weight:800;font-size:1.3rem;letter-spacing:.08em;max-width:330px}.family-columns{display:grid;grid-template-columns:1.15fr 1fr;gap:22px;align-items:start}.family-members ul{display:flex;list-style:none;padding:0;gap:10px;flex-wrap:wrap}.family-members li{background:#eceee4;padding:10px 14px;border-radius:12px}.family-members small{display:block;margin-left:18px}.family-presence{display:inline-block;width:10px;height:10px;background:#8b8b84;border-radius:50%;margin-right:8px}.family-presence.online{background:#267e50}.family-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.family-section-title h2{margin:0}.family-call{display:flex;align-items:center;gap:18px;margin:24px 0}.family-ball{display:grid;place-items:center;flex-shrink:0;width:95px;height:95px;border-radius:50%;background:#24594b;color:white;border:6px solid #dabb74;font-size:1.5rem;font-weight:800}.family-recent span{display:inline-block;background:#eeebdf;padding:5px;border-radius:5px;margin:3px}.family-card,.family-card-letters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;max-width:500px}.family-card-letters{text-align:center;font-size:1.5rem;padding:8px 0;color:#24594b}.family-number{position:relative;aspect-ratio:1;min-height:44px;border:2px solid #b3bbaf;border-radius:9px;background:white;color:#263f37;font-size:clamp(1.1rem,4vw,1.7rem);font-weight:800;padding:4px}.family-number:disabled{opacity:1}.family-number.marked{background:#24594b;color:white;border-color:#24594b}.family-number.called{border:4px solid #b27811;background:#fff0bd;cursor:pointer}.family-number small{display:block;font-size:.65rem;line-height:1}.family-number.winning{outline:3px solid #dbaf35;outline-offset:-4px}.family-race{list-style:none;padding:0}.family-race li{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #dad9ca}.family-winner{padding:18px;background:#fff0bd;border:2px solid #b27811;border-radius:14px;margin:20px 0}.family-winner h3{font-size:1.7rem;margin:0}.family-messages{max-height:370px;overflow:auto;overscroll-behavior:contain;margin:16px 0}.family-messages article{background:#eceee4;border-radius:12px;padding:14px;margin-bottom:12px;overflow-wrap:anywhere}.family-messages article div{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.family-messages time{font-size:.85rem;color:#52645b}.family-messages p{white-space:pre-wrap;margin:8px 0 0}.family-error{background:#fff0db;border:2px solid #b27937;padding:14px;border-radius:12px;margin:16px 0}.family-bottom{margin:12px 0 30px}.family-transfer{margin-top:22px}.family-page h2{font-size:1.65rem}.family-page strong,.family-page h2,.family-page h3{overflow-wrap:anywhere}@media(max-width:760px){.family-columns{grid-template-columns:1fr}.family-section-title{flex-wrap:wrap}.family-call{gap:12px}.family-ball{width:76px;height:76px}.family-modes .button{flex:1 1 42%}.family-messages{max-height:300px}}

/* Family football rivalry, with equal billing for both teams. */
.rivalry-machine.slot-cabinet{background:#3c1916;border-color:#d9b268}.rivalry-machine .machine-poster,.rivalry-machine .cabinet-banner{background:linear-gradient(110deg,#a74408 0 48%,#f7e8cc 48% 49%,#841617 49% 100%)}.rivalry-machine .cabinet-banner h1{color:#fff8e9;text-shadow:0 2px 4px #35140c80}.rivalry-machine .cabinet-banner .eyebrow,.rivalry-machine .cabinet-type,.rivalry-machine .machine-badge{color:#fff4d9}.rivalry-poster{display:flex;align-items:center;justify-content:center;gap:16px;position:absolute;inset:20px 16px 65px;color:#fffaf1;text-shadow:0 3px 4px #34100d60}.rivalry-poster>span{flex:1;text-align:center;font:bold clamp(1.8rem,5vw,3rem)/1 Georgia,serif}.rivalry-poster small{display:block;font:700 .64rem/1.4 Arial,sans-serif;letter-spacing:.06em;margin-top:12px}.rivalry-poster>b{font-size:1rem;border-radius:50%;background:#fff2d9;color:#5b2520;padding:12px;text-shadow:none}.rivalry-symbol{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;border:2px solid #e2c99a;border-radius:8px;padding:5px;font-family:Georgia,serif;line-height:1;text-shadow:none}.texas-symbol{color:#fff9ed;background:#b64d09}.ou-symbol{color:#fff9ed;background:#841617}.rivalry-symbol b{font-size:clamp(1.15rem,5vw,2.6rem);line-height:1}.rivalry-symbol small{font:bold clamp(.5rem,1.75vw,.8rem)/1.2 Arial,sans-serif;letter-spacing:.025em}.rivalry-seven{background:linear-gradient(110deg,#b64d09 0 48%,#841617 49%);color:#ffe4a2}.rivalry-seven b{font-size:clamp(2.4rem,9vw,4.4rem)}.rivalry-game-symbol{display:grid;place-items:center;width:100%;height:100%;font-size:clamp(2rem,7vw,3.5rem);text-shadow:none}.rivalry-machine .reel{grid-template-rows:minmax(0,1fr) minmax(0,1.8fr) minmax(0,1fr)}.rivalry-machine .reel-symbol{width:100%;height:100%;min-height:0;padding:3px}.rivalry-machine .reel-ghost{width:100%;height:100%;min-height:0;overflow:hidden}.rivalry-machine .reel-ghost .rivalry-symbol{height:70px}.rivalry-machine .reel-strip>span{padding:4px;width:100%}.rivalry-machine .spin-button{background:linear-gradient(#ffe7af,#e4b758);color:#55231c}
