.brand img{width:38px;height:38px;border:1px solid var(--line);border-radius:6px;object-fit:cover}
.muted{color:var(--muted)}
.primary-button[href]{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.danger-button{min-height:40px;padding:8px 14px;border:1px solid var(--danger);border-radius:5px;background:#fff;color:var(--danger);cursor:pointer;font-weight:800}
.account-delete{margin-top:20px}
.admin-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:15px 0 25px}
.admin-metrics>div{display:grid;gap:3px;padding:14px;border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:6px;background:#fff}
.admin-metrics span,.admin-metrics small{color:var(--muted);font-size:.74rem}.admin-metrics strong{font-size:1.35rem}
.admin-metrics .metric-date{font-size:1rem}
.admin-section{margin-top:27px}.admin-section h2{font-size:1.08rem}.table-scroll{max-width:100%;overflow-x:auto}
.status-badge.attention{background:#fff0ee;color:var(--danger)}
form[aria-busy="true"]{opacity:.72;pointer-events:none}
.admin-invite-links{display:grid;gap:8px}.admin-invite-row{display:grid;grid-template-columns:80px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:6px;background:#fff}.admin-invite-row>a{min-width:0;overflow-wrap:anywhere}.admin-invite-row>div{display:flex;gap:7px}.admin-invite-row button,.admin-invite-row .button-link{min-height:36px;padding:7px 10px;border:1px solid var(--line-strong);border-radius:5px;background:#fff;color:var(--ink);font:inherit;font-weight:750;cursor:pointer;text-decoration:none}
.verification-steps{display:grid;gap:10px;margin:4px 0 20px;padding-left:26px}.verification-steps li{padding-left:5px;line-height:1.45}.verification-steps li::marker{color:var(--accent);font-weight:800}
.password-input-control{position:relative;display:block}.form-panel .password-input-control input{padding-right:88px}.password-visibility-toggle{position:absolute;top:5px;right:5px;bottom:5px;min-width:66px;padding:4px 9px;border:1px solid var(--line-strong);border-radius:4px;background:#f4f8f6;color:var(--accent-dark);font:inherit;font-size:.78rem;font-weight:800;cursor:pointer}.password-visibility-toggle:hover{background:#e7f2ed}.password-visibility-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.data-table form{margin:0}.data-table button,.contact-row button,.contact-row select{min-height:34px;padding:6px 9px;border:1px solid var(--line-strong);border-radius:4px;background:#fff;color:var(--ink);cursor:pointer}
.contact-list{display:grid;gap:10px}.contact-row{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(260px,1.6fr) auto;gap:16px;align-items:start;padding:13px;border:1px solid var(--line);border-radius:6px;background:#fff}
.contact-row>div{display:grid;gap:3px}.contact-row span{color:var(--muted);font-size:.74rem}.contact-row p{margin:0;line-height:1.45}.contact-row form{display:flex;gap:6px}
@media(max-width:760px){.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-row{grid-template-columns:1fr}.contact-row form{justify-content:flex-start}.language-form select{width:100%}.admin-invite-row{grid-template-columns:1fr}.admin-invite-row>div{justify-content:flex-start}}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.language-form{margin:0}.language-form select{min-height:34px;padding:5px 25px 5px 8px;border:1px solid var(--line-strong);border-radius:4px;background:#fff;color:var(--ink);font:inherit;font-weight:800;cursor:pointer}
.pwa-install-button{min-height:36px;padding:7px 10px;border:1px solid var(--accent);border-radius:5px;background:#fff;color:var(--accent);font:inherit;font-weight:800;cursor:pointer}.pwa-status-banner{display:flex;align-items:center;justify-content:center;gap:12px;padding:8px 18px;border-bottom:1px solid var(--line);font-size:.88rem;font-weight:700}.pwa-status-banner[hidden]{display:none}.pwa-status-banner.is-offline{background:#fff1ed;color:#8d2f1d}.pwa-status-banner.is-update{background:#eaf5f0;color:#174c42}.pwa-status-banner button{min-height:32px;padding:5px 10px;border:1px solid currentColor;border-radius:4px;background:#fff;color:inherit;font:inherit;font-weight:800;cursor:pointer}
.header-mobile-actions{display:flex;align-items:center;gap:7px}.header-quick-sign-in{display:none;min-height:38px;padding:9px 11px;border:1px solid var(--accent);border-radius:5px;background:#fff;color:var(--accent-dark);text-decoration:none;font-weight:800;white-space:nowrap}.menu-toggle{padding:8px 11px;color:var(--ink);font-weight:750}
@media(max-width:820px){.header-quick-sign-in{display:flex;align-items:center}}
.game-title-controls{display:flex;align-items:flex-start;gap:9px}.binary-share-button{min-height:38px;padding:8px 12px;border:1px solid var(--accent);border-radius:5px;background:#fff;color:var(--accent-dark);font:inherit;font-weight:800;cursor:pointer;white-space:nowrap}.binary-share-button:hover{background:#eaf3ef}.binary-share-button:disabled{opacity:.68;cursor:wait}
@media(max-width:620px){.game-title-controls{align-items:stretch;justify-content:space-between}.game-title-controls .binary-save-status{flex:1}.binary-welcome-actions .binary-share-button{width:100%;grid-column:1/-1}}
.game-switcher{display:flex;gap:0;width:max-content;max-width:100%;margin:0 0 14px;border:1px solid var(--line-strong);border-radius:6px;overflow:hidden;background:#fff}.game-switcher a{padding:9px 14px;border-right:1px solid var(--line-strong);color:var(--ink);font-size:.86rem;font-weight:800;text-decoration:none}.game-switcher a:last-child{border-right:0}.game-switcher a.is-active{background:var(--accent);color:#fff}.classic-toolbar{grid-template-columns:minmax(300px,auto) auto}.classic-board-frame{width:min(100%,522px)}.classic-board{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));width:min(100%,522px);border:2px solid #45645a;background:#fff}.classic-cell{position:relative;display:grid;place-items:center;aspect-ratio:1;min-width:0;padding:0;border:0;border-right:1px solid #9fb2aa;border-bottom:1px solid #9fb2aa;background:#fff;color:#245b8f;cursor:pointer;font-size:1.22rem;font-weight:800}.classic-cell:nth-child(3n):not(:nth-child(9n)){border-right:2px solid #45645a}.classic-cell:nth-child(n+19):nth-child(-n+27),.classic-cell:nth-child(n+46):nth-child(-n+54){border-bottom:2px solid #45645a}.classic-cell.is-fixed{background:#e2eae6;color:var(--ink);cursor:default;font-weight:900}.classic-cell.is-related:not(.is-selected){background:#f0f7f3}.classic-cell.is-match:not(.is-selected):not(.is-conflict){box-shadow:inset 0 0 0 2px #71a38d;background:#e8f4ed}.classic-cell.is-selected{z-index:2;outline:3px solid var(--orange);outline-offset:-3px;background:#fff4df}.classic-cell.is-conflict{background:#fbded9!important;color:#9f241d!important}.classic-cell.is-logic-source{box-shadow:inset 0 0 0 2px #40866b;background:#edf8f2}.classic-cell.is-logic-target{z-index:3;outline:3px dashed #16734f;outline-offset:-4px;background:#fff1c7}.classic-notes{display:grid;grid-template-columns:repeat(3,1fr);width:100%;height:100%;padding:3px;color:#4e6b60;font-size:clamp(.42rem,1.25vw,.62rem);font-weight:700;line-height:1}.classic-notes span{display:grid;place-items:center}.classic-keypad{display:grid;grid-template-columns:repeat(5,minmax(48px,72px));gap:7px;margin-top:9px}.classic-keypad button,.classic-input-toolbar button{min-height:39px;padding:7px;border:1px solid var(--line-strong);border-radius:5px;background:#fff;color:var(--ink);cursor:pointer;font-weight:800}.classic-keypad button{color:#245b8f;font-size:1.05rem}.classic-keypad button[data-value="erase"]{grid-column:auto;color:var(--ink);font-size:.78rem}.classic-input-toolbar{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:12px}.classic-input-toolbar button.is-active{border-color:var(--accent);background:var(--accent);color:#fff}.classic-input-toolbar span{color:var(--muted);font-size:.8rem;font-weight:750}.classic-welcome-board{display:grid;grid-template-columns:repeat(9,1fr);width:min(100%,330px);margin:auto;border:2px solid #45645a;background:#fff}.classic-welcome-board span{display:grid;place-items:center;aspect-ratio:1;border-right:1px solid #b2c1ba;border-bottom:1px solid #b2c1ba;font-size:.78rem;font-weight:850}.classic-welcome-board span:nth-child(3n):not(:nth-child(9n)){border-right:2px solid #45645a}.classic-welcome-board span:nth-child(n+19):nth-child(-n+27),.classic-welcome-board span:nth-child(n+46):nth-child(-n+54){border-bottom:2px solid #45645a}.classic-welcome-board .is-clue{background:#e2eae6}.classic-print-grid{display:grid;grid-template-columns:repeat(9,1fr);width:170mm;max-width:100%;margin:8mm auto 0;border:2px solid #000}.classic-print-grid span{display:grid;place-items:center;aspect-ratio:1;border-right:1px solid #777;border-bottom:1px solid #777;font-size:17pt}.classic-print-grid span:nth-child(3n):not(:nth-child(9n)){border-right:2px solid #000}.classic-print-grid span:nth-child(n+19):nth-child(-n+27),.classic-print-grid span:nth-child(n+46):nth-child(-n+54){border-bottom:2px solid #000}
@media(max-width:620px){.game-switcher{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%}.game-switcher a{display:grid;place-items:center;min-width:0;padding:8px 3px;text-align:center;font-size:.68rem;line-height:1.15;overflow-wrap:anywhere}.classic-toolbar{grid-template-columns:1fr}.classic-keypad{grid-template-columns:repeat(5,minmax(0,1fr));width:100%}.classic-cell{font-size:1rem}}
.classic-input-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;justify-content:initial;gap:0;width:min(100%,260px);margin-top:12px}.classic-input-toolbar button:first-child{border-radius:5px 0 0 5px}.classic-input-toolbar button:last-child{border-left:0;border-radius:0 5px 5px 0}.classic-input-toolbar button.is-active{border-color:var(--accent);background:var(--accent);color:#fff}

/* Blackjack */
.blackjack-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:16px}.blackjack-title-row h1{margin:.12rem 0 .35rem;font-size:clamp(1.7rem,3vw,2.35rem);letter-spacing:0}.blackjack-title-row p{margin:0}.blackjack-app{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:18px;align-items:start}.blackjack-table{min-height:650px;padding:18px;border:2px solid #22584b;border-radius:8px;background:#17644f;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.15)}.blackjack-table button{min-height:42px;padding:8px 14px;border:1px solid rgba(255,255,255,.48);border-radius:5px;background:#fff;color:#173a32;font:inherit;font-weight:850;cursor:pointer}.blackjack-table button:hover:not(:disabled){background:#eef8f4}.blackjack-table button:disabled{opacity:.42;cursor:not-allowed}.blackjack-table-status{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid rgba(255,255,255,.32);border-radius:6px;background:#103f35}.blackjack-table-status>div{display:grid;gap:2px;padding:10px 13px;border-right:1px solid rgba(255,255,255,.2)}.blackjack-table-status>div:last-child{border-right:0}.blackjack-table-status span{font-size:.7rem;text-transform:uppercase}.blackjack-table-status strong{font-size:1.08rem}.blackjack-seat{min-height:130px;padding:14px 0}.blackjack-seat-heading{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:9px;text-transform:uppercase}.blackjack-seat-heading span{font-size:.76rem;font-weight:800}.blackjack-seat-heading strong{display:grid;place-items:center;min-width:30px;height:30px;border:1px solid rgba(255,255,255,.42);border-radius:50%;font-size:.85rem}.blackjack-cards{display:flex;justify-content:center;gap:8px;min-height:104px}.playing-card{position:relative;display:block;width:72px;height:102px;border:1px solid #d7dedb;border-radius:6px;background:#fff;color:#171b1a;box-shadow:0 3px 8px rgba(0,0,0,.22)}.playing-card b{position:absolute;top:7px;left:8px;font-size:1.1rem}.playing-card i{display:grid;place-items:center;height:100%;font-style:normal;font-size:2rem}.playing-card.is-red{color:#bd2a2a}.playing-card.is-hidden{border-color:#d9bb61;background:#172d48}.playing-card.is-hidden i{position:absolute;inset:6px;border:2px solid #d9bb61;background:repeating-linear-gradient(45deg,#244466 0 4px,#172d48 4px 8px)}.blackjack-table-message{min-height:40px;margin:2px auto 12px;padding:9px 14px;border:1px solid rgba(255,255,255,.24);border-radius:5px;background:rgba(0,0,0,.13);text-align:center;font-weight:800}.blackjack-table-message[data-tone="error"]{background:#7b2c25}.blackjack-table-message[data-tone="success"]{background:#173f67}.blackjack-player-hands{display:flex;justify-content:center;gap:13px;min-height:170px}.blackjack-hand{min-width:165px;padding:10px;border:2px solid transparent;border-radius:7px;background:rgba(0,0,0,.1)}.blackjack-hand.is-active{border-color:#f7cf65;background:rgba(0,0,0,.2)}.blackjack-hand.is-win{border-color:#9ed0f5}.blackjack-hand.is-loss{opacity:.78}.blackjack-hand footer{display:flex;justify-content:space-between;gap:10px;margin-top:8px;font-size:.74rem}.blackjack-empty-seat{display:grid;place-items:center;width:130px;height:140px;color:rgba(255,255,255,.18);font-size:5rem}.blackjack-betting{display:grid;gap:13px;justify-items:center;margin-top:10px}.blackjack-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:9px}.blackjack-chips button{display:grid;place-items:center;width:54px;height:54px;min-height:54px;padding:4px;border:5px dashed #fff;border-radius:50%;color:#fff;box-shadow:0 2px 5px rgba(0,0,0,.25)}.blackjack-chips button:nth-child(1){background:#315f91}.blackjack-chips button:nth-child(2){background:#a63131}.blackjack-chips button:nth-child(3){background:#4b2875}.blackjack-chips button:nth-child(4){background:#202a32}.blackjack-chips button:nth-child(5){background:#a07016}.blackjack-chips button:hover:not(:disabled){filter:brightness(1.15);background:inherit}.blackjack-bet-actions,.blackjack-action-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.blackjack-primary-action{min-width:120px;background:#f6c94f!important;color:#283226!important;border-color:#f6c94f!important}.blackjack-action-row{margin-top:12px}.blackjack-action-row button:first-child{background:#f6c94f}.blackjack-assistance-row{display:flex;align-items:center;justify-content:center;gap:12px;min-height:55px;margin-top:12px;border-top:1px solid rgba(255,255,255,.2);padding-top:12px}.blackjack-assistance-row button{background:#dbeafa}.blackjack-assistance-row p{max-width:430px;margin:0;font-size:.86rem}.blackjack-control-panel{display:grid;gap:18px}.blackjack-control-panel section{padding:14px 0;border-bottom:1px solid var(--line)}.blackjack-control-panel h2{margin:0 0 10px;font-size:1rem}.blackjack-control-panel label{display:flex;align-items:center;gap:8px;margin:9px 0;font-size:.85rem}.blackjack-control-panel button{width:100%;margin-top:7px}.blackjack-control-panel p{font-size:.75rem;color:var(--muted)}.blackjack-rules-list{display:grid;gap:0;margin:0}.blackjack-rules-list div{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--line);font-size:.8rem}.blackjack-rules-list dt{color:var(--muted)}.blackjack-rules-list dd{margin:0;font-weight:850}.blackjack-records{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:28px}.blackjack-history{display:grid;gap:7px}.blackjack-history article{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border:1px solid var(--line);border-radius:5px;background:#fff}.blackjack-history article>div{display:grid;gap:2px}.blackjack-history article>div:last-child{text-align:right}.blackjack-history span{font-size:.72rem;color:var(--muted)}.blackjack-history .positive{color:#176647}.blackjack-history .negative{color:#a22d29}.blackjack-rules-dialog ul{display:grid;gap:8px;padding-left:22px}.blackjack-rules-dialog li{line-height:1.4}
@media(max-width:900px){.blackjack-app{grid-template-columns:1fr}.blackjack-control-panel{grid-template-columns:repeat(3,minmax(0,1fr))}.blackjack-control-panel section{border-bottom:0}.blackjack-records{grid-template-columns:1fr}}
@media(max-width:620px){.blackjack-title-row{display:grid}.blackjack-table{min-height:600px;padding:10px}.blackjack-table-status{grid-template-columns:repeat(2,1fr)}.blackjack-table-status>div:nth-child(2){border-right:0}.blackjack-table-status>div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.2)}.playing-card{width:56px;height:80px}.playing-card i{font-size:1.6rem}.blackjack-cards{min-height:82px;gap:5px}.blackjack-player-hands{overflow-x:auto;justify-content:flex-start;padding-bottom:5px}.blackjack-hand{min-width:145px}.blackjack-control-panel{grid-template-columns:1fr}.blackjack-action-row button{flex:1 1 29%;padding:7px}.blackjack-assistance-row{align-items:stretch;flex-direction:column}.blackjack-records{gap:18px}}
.playing-card{animation:blackjack-card-in .18s ease-out both}.reduce-card-motion .playing-card{animation:none}@keyframes blackjack-card-in{from{opacity:.2;transform:translateY(-8px)}to{opacity:1;transform:none}}
.blackjack-records .binary-stats-grid>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:9px 11px;border-bottom:1px solid var(--line)}.blackjack-records .binary-stats-grid>div:nth-last-child(-n+2){border-bottom:0}.blackjack-records .binary-stats-grid strong{font-size:1rem}
.blackjack-statistics-column{min-width:0}.blackjack-performance-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:24px}.blackjack-stat-filters{display:inline-grid;grid-auto-flow:column;border:1px solid var(--line-strong);border-radius:5px;overflow:hidden}.blackjack-stat-filters button{min-height:34px;padding:6px 9px;border:0;border-right:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;font-size:.72rem;font-weight:800}.blackjack-stat-filters button:last-child{border-right:0}.blackjack-stat-filters button.is-active{background:var(--accent);color:#fff}.blackjack-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.blackjack-performance-stats>div:nth-child(4n+1),.blackjack-performance-stats>div:nth-child(4n+2){background:#f7faf8}.blackjack-reset-statistics{margin-top:14px!important;border-color:var(--line-strong)!important;color:var(--muted)!important}
@media(max-width:620px){.blackjack-performance-heading{align-items:stretch;flex-direction:column}.blackjack-stat-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:initial;width:100%}.blackjack-stat-filters button{padding-inline:4px}.blackjack-stats-grid{grid-template-columns:1fr}.blackjack-records .blackjack-stats-grid>div{border-bottom:1px solid var(--line)}.blackjack-records .blackjack-stats-grid>div:last-child{border-bottom:0}.blackjack-performance-stats>div:nth-child(odd){background:#f7faf8}.blackjack-performance-stats>div:nth-child(even){background:#fff}}
.game-hub{padding:22px 0 34px}.game-hub-heading{max-width:760px;margin-bottom:22px}.game-hub-heading h1{margin:.15rem 0 .4rem;font-size:2rem;letter-spacing:0}.game-hub-heading p:last-child{margin:0;color:var(--muted);font-size:1rem}.game-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.game-choice{display:grid;grid-template-rows:190px 1fr auto;gap:15px;min-width:0;padding:15px;border:1px solid var(--line-strong);border-radius:6px;background:#fff}.game-choice h2{margin:.12rem 0 .4rem;font-size:1.18rem}.game-choice p:last-child{margin:0;color:var(--muted);font-size:.84rem;line-height:1.45}.game-choice>.primary-button{display:flex;align-items:center;justify-content:center;width:100%;text-decoration:none}.game-choice-preview{align-self:stretch;width:100%;height:190px;overflow:hidden}.game-choice .binary-welcome-board{width:100%;height:190px;border-width:2px;box-shadow:none}.game-choice .binary-welcome-board span{min-height:0;font-size:.84rem}.classic-choice-board{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));border:2px solid #45645a;background:#fff}.classic-choice-board span{display:grid;place-items:center;border-right:1px solid #bdcbc6;border-bottom:1px solid #bdcbc6;font-size:.62rem;font-weight:800}.classic-choice-board span:nth-child(3n){border-right-color:#45645a}.classic-choice-board span:nth-child(9n){border-right:0}.classic-choice-board span:nth-child(n+19):nth-child(-n+27),.classic-choice-board span:nth-child(n+46):nth-child(-n+54){border-bottom-color:#45645a}.classic-choice-board span:nth-last-child(-n+9){border-bottom:0}.classic-choice-board span:empty{background:#f2f6f4}.blackjack-choice-table{position:relative;display:grid;place-items:center;align-content:center;gap:8px;border:2px solid #22584b;border-radius:5px;background:#17644f;color:#fff}.choice-dealer{display:flex;gap:7px}.choice-dealer span{display:grid;align-content:space-between;width:49px;height:70px;padding:6px;border-radius:4px;background:#fff;color:#173a32;font-weight:850;box-shadow:0 3px 7px rgba(0,0,0,.24)}.choice-dealer span b{justify-self:end;font-size:1.3rem}.choice-dealer .is-red{color:#b7322d}.blackjack-choice-table>strong{font-size:1.15rem}.choice-chips{display:flex;gap:7px}.choice-chips i{display:grid;place-items:center;width:35px;height:35px;border:4px dashed #fff;border-radius:50%;background:#315f91;font-size:.65rem;font-style:normal;font-weight:850}.choice-chips i:nth-child(2){background:#4b2875}.choice-chips i:nth-child(3){background:#a07016}.game-hub-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px;padding:13px 15px;border-left:4px solid var(--orange);background:#fff8ec}.game-hub-footer p{margin:0;max-width:720px}.game-hub-footer>div{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:13px}.game-hub-footer a{font-weight:800}.game-hub-footer button{white-space:nowrap}
.game-choice .binary-welcome-board span{aspect-ratio:auto}
.meowdoku-choice-board{display:grid;grid-template-columns:repeat(5,1fr);border:2px solid #263d38}.meowdoku-choice-board>span{display:grid;place-items:center;border:1px solid rgba(38,61,56,.18)}.meowdoku-choice-board .meowdoku-cat{width:34%}
@media(max-width:860px){.game-hub-grid{grid-template-columns:1fr}.game-choice{grid-template-columns:190px minmax(0,1fr) auto;grid-template-rows:190px;align-items:center}.game-choice>.primary-button{width:auto;min-width:125px}.game-hub-footer{align-items:flex-start;flex-direction:column}.game-hub-footer>div{justify-content:flex-start}}
@media(max-width:620px){.game-hub{padding-top:4px}.game-hub-heading h1{font-size:1.65rem}.game-choice{grid-template-columns:1fr;grid-template-rows:170px auto auto}.game-choice-preview,.game-choice .binary-welcome-board{height:170px}.game-choice>.primary-button{width:100%}.game-hub-footer>div{display:grid;grid-template-columns:1fr 1fr;width:100%}.game-hub-footer .binary-share-button{grid-column:1/-1;width:100%}}

/* Public game collection */
.game-hub{width:100vw;margin:-24px 0 -42px calc(50% - 50vw);padding:0;background:#f3f7f5}.game-hub-hero{position:relative;display:flex;align-items:center;height:clamp(460px,63vh,560px);overflow:hidden;background:#173f35 url('../images/69fs-games-hero.webp') center/cover no-repeat}.game-hub-hero::before{position:absolute;inset:0;background:rgba(8,34,28,.55);content:""}.game-hub-hero-copy{position:relative;z-index:1;width:min(1180px,calc(100% - 36px));margin:0 auto;color:#fff}.game-hub-hero-copy .eyebrow{color:#b9ead6}.game-hub-hero-copy h1{max-width:650px;margin:.12rem 0 .6rem;color:#fff;font-size:3.35rem;letter-spacing:0}.game-hub-hero-copy>p:last-of-type{max-width:570px;margin:0;color:#f0f7f4;font-size:1.16rem;line-height:1.55}.game-hub-hero-actions{display:flex;align-items:center;gap:20px;margin-top:24px}.game-hub-hero-actions .primary-button{display:inline-flex;align-items:center;justify-content:center;min-width:150px;background:#d6672d;border-color:#d6672d;text-decoration:none}.game-hub-hero-actions .primary-button:hover{background:#bc5422}.game-hub-hero-actions>a:last-child{color:#fff;font-weight:800}.game-hub-main{width:min(1180px,calc(100% - 36px));margin:0 auto;padding:42px 0 54px;scroll-margin-top:72px}.game-hub-heading{max-width:700px;margin-bottom:20px}.game-hub-heading h2{margin:.12rem 0 .35rem;font-size:1.75rem}.game-hub-heading p:last-child{margin:0;color:var(--muted)}.game-choice{grid-template-rows:170px 1fr auto;gap:14px;padding:14px}.game-choice h3{margin:.12rem 0 .4rem;font-size:1.2rem}.game-choice-preview{height:170px}.game-choice-photo{border-radius:4px;background-image:url('../images/69fs-games-hero.webp');background-repeat:no-repeat;background-size:300% auto}.game-choice-photo-binary{background-position:61% 20%}.game-choice-photo-classic{background-position:88% 18%}.game-choice-photo-blackjack{background-position:82% 80%}.game-hub-footer{margin-top:22px}
@media(max-width:860px){.game-hub-hero{height:480px;background-position:58% center}.game-hub-hero::before{background:rgba(8,34,28,.64)}.game-choice{grid-template-columns:190px minmax(0,1fr) auto;grid-template-rows:170px}.game-choice>.primary-button{min-width:150px}.game-choice-photo{height:170px}}
@media(max-width:620px){.game-hub{margin-top:-15px}.game-hub-hero{height:440px;background-position:62% center}.game-hub-hero::before{background:rgba(8,34,28,.7)}.game-hub-hero-copy{width:calc(100% - 32px)}.game-hub-hero-copy h1{font-size:2.55rem}.game-hub-hero-copy>p:last-of-type{font-size:1rem}.game-hub-hero-actions{align-items:flex-start;flex-direction:column;gap:14px}.game-hub-main{width:calc(100% - 18px);padding:34px 0 44px}.game-hub-heading h2{font-size:1.45rem}.game-choice{grid-template-columns:1fr;grid-template-rows:180px auto auto}.game-choice-preview,.game-choice-photo{height:180px}.game-choice>.primary-button{width:100%}}

/* Blackjack starting seats */
.blackjack-app[data-ready="0"] .blackjack-table button{pointer-events:none}
.blackjack-table-status{grid-template-columns:repeat(5,minmax(0,1fr))}
.blackjack-spot-picker{margin:0;padding:0;border:0;text-align:center}.blackjack-spot-picker legend{margin:0 auto 6px;color:#e8f4ef;font-size:.72rem;font-weight:800;text-transform:uppercase}.blackjack-spot-picker>div{display:grid;grid-template-columns:1fr 1fr;width:min(270px,100%);border:1px solid rgba(255,255,255,.55);border-radius:5px;overflow:hidden}.blackjack-spot-picker button{min-height:38px;border:0;border-radius:0;background:#fff;color:#173a32}.blackjack-spot-picker button+button{border-left:1px solid #aabdb6}.blackjack-spot-picker button.is-active{background:#f6c94f;color:#283226}.blackjack-player-hands{flex-wrap:wrap}
@media(max-width:620px){.blackjack-table-status{grid-template-columns:repeat(2,minmax(0,1fr))}.blackjack-table-status>div{border-right:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2)}.blackjack-table-status>div:nth-child(even){border-right:0}.blackjack-table-status>div:nth-last-child(1){grid-column:1/-1;border-right:0;border-bottom:0}.blackjack-player-hands{justify-content:center;overflow:visible}.blackjack-hand{flex:1 1 calc(50% - 7px);min-width:140px;max-width:calc(50% - 7px)}}

/* Caribbean Stud */
.caribbean-app{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:18px;align-items:start}.caribbean-app[data-ready="0"] .caribbean-table button{pointer-events:none}.caribbean-table{min-height:650px;padding:18px;border:2px solid #244f48;border-radius:8px;background:#276257;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}.caribbean-table button{min-height:42px;padding:8px 14px;border:1px solid rgba(255,255,255,.5);border-radius:5px;background:#fff;color:#173a32;font:inherit;font-weight:850;cursor:pointer}.caribbean-table button:hover:not(:disabled){background:#eef8f4}.caribbean-table button:disabled{opacity:.45;cursor:not-allowed}.caribbean-table-status{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid rgba(255,255,255,.35);border-radius:6px;background:#163f39}.caribbean-table-status>div{display:grid;gap:2px;padding:10px 13px;border-right:1px solid rgba(255,255,255,.2)}.caribbean-table-status>div:last-child{border-right:0}.caribbean-table-status span{font-size:.7rem;text-transform:uppercase}.caribbean-table-status strong{font-size:1.08rem}.caribbean-table-status .jackpot-status{background:#74591a}.caribbean-seat{min-height:145px;padding:14px 0}.caribbean-seat .blackjack-cards{min-height:104px}.caribbean-betting{display:grid;gap:13px;justify-items:center;margin-top:10px}.caribbean-progressive-toggle{display:flex;align-items:center;gap:10px;min-width:250px;padding:8px 11px;border:1px solid rgba(255,255,255,.45);border-radius:5px;background:rgba(0,0,0,.12);cursor:pointer}.caribbean-progressive-toggle input{width:19px;height:19px}.caribbean-progressive-toggle span{display:grid;gap:1px}.caribbean-progressive-toggle small{color:#e0ede9}.caribbean-table .blackjack-chips button{display:grid;place-items:center;width:54px;height:54px;min-height:54px;padding:4px;border:5px dashed #fff;border-radius:50%;color:#fff;box-shadow:0 2px 5px rgba(0,0,0,.25)}.caribbean-table .blackjack-chips button:nth-child(1){background:#315f91}.caribbean-table .blackjack-chips button:nth-child(2){background:#a63131}.caribbean-table .blackjack-chips button:nth-child(3){background:#4b2875}.caribbean-table .blackjack-chips button:nth-child(4){background:#202a32}.caribbean-table .blackjack-chips button:nth-child(5){background:#a07016}.caribbean-table .blackjack-chips button:hover:not(:disabled){filter:brightness(1.15);background:inherit}.caribbean-table .blackjack-primary-action{background:#f6c94f!important;color:#283226!important}.caribbean-paytable .blackjack-rules-list div{gap:10px}.caribbean-paytable dd{white-space:nowrap}
@media(max-width:900px){.caribbean-app{grid-template-columns:1fr}.caribbean-app>.blackjack-control-panel{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.caribbean-table{min-height:590px;padding:10px}.caribbean-table-status{grid-template-columns:repeat(2,minmax(0,1fr))}.caribbean-table-status>div:nth-child(2){border-right:0}.caribbean-table-status>div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.2)}.caribbean-seat{min-height:115px}.caribbean-seat .blackjack-cards{min-height:82px;gap:4px}.caribbean-seat .playing-card{width:52px;height:76px}.caribbean-progressive-toggle{min-width:0;width:min(280px,100%)}.caribbean-app>.blackjack-control-panel{grid-template-columns:1fr}}

/* Four-game public hub */
.game-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.game-choice-photo-caribbean{background-position:35% 80%}
@media(max-width:860px){.game-hub-grid{grid-template-columns:1fr}}

/* Poker Room */
.poker-room-intro{padding:12px 0 20px}.poker-room-intro h1{margin:.12rem 0 .45rem;font-size:2rem}.poker-room-intro p:last-child{max-width:720px;margin:0;color:var(--muted)}
.poker-room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.poker-room-card{display:grid;grid-template-rows:130px 1fr auto;gap:13px;padding:14px;border:1px solid var(--line-strong);border-radius:6px;background:#fff}.poker-room-card h2{margin:.1rem 0 .35rem;font-size:1.1rem}.poker-room-card p:last-child{margin:0;color:var(--muted);font-size:.84rem;line-height:1.45}.poker-room-card .primary-button{display:flex;align-items:center;justify-content:center;text-decoration:none}.poker-room-card-visual{position:relative;display:flex;align-items:center;justify-content:center;gap:7px;overflow:hidden;border-radius:4px;background:#225a4d;color:#fff}.poker-room-card-visual::before{position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.1),transparent 55%);content:""}.poker-room-card-visual span{position:absolute;left:10px;bottom:8px;font-size:.72rem;font-weight:900;text-transform:uppercase}.poker-room-card-visual i{display:grid;place-items:center;width:43px;height:60px;border-radius:4px;background:#fff;color:#18211e;font-size:1.45rem;font-style:normal;box-shadow:0 3px 7px rgba(0,0,0,.24)}.poker-room-card-visual i:nth-of-type(2),.poker-room-card-visual i:nth-of-type(4){color:#b52f2f}.poker-room-card-visual.visual-1{background:#365a72}.poker-room-card-visual.visual-2{background:#735b25}.poker-room-card-visual.visual-3{background:#573d52}.poker-room-card-visual.visual-4{background:#66513e}.poker-room-note{display:flex;align-items:center;gap:12px;margin-top:18px;padding:12px 14px;border-left:4px solid var(--orange);background:#fff8ec}.poker-room-note span{color:var(--muted)}
.poker-variant-tabs{display:flex;gap:0;margin:0 0 18px;border:1px solid var(--line-strong);border-radius:5px;overflow-x:auto;background:#fff}.poker-variant-tabs a{flex:1 0 auto;padding:9px 12px;border-right:1px solid var(--line);color:var(--ink);text-align:center;text-decoration:none;font-size:.78rem;font-weight:850}.poker-variant-tabs a:last-child{border-right:0}.poker-variant-tabs a.is-active{background:#245b50;color:#fff}
.poker-game-app{display:grid;grid-template-columns:minmax(0,1fr) 255px;gap:18px;align-items:start}.poker-game-app[data-ready="0"] .poker-table button{pointer-events:none}.poker-table{min-height:680px;padding:17px;border:2px solid #243d37;border-radius:8px;background:#285e51;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.15)}.poker-table button{min-height:40px;padding:8px 13px;border:1px solid rgba(255,255,255,.5);border-radius:5px;background:#fff;color:#173a32;font:inherit;font-weight:850;cursor:pointer}.poker-table button:hover:not(:disabled){background:#eef8f4}.poker-table button:disabled{opacity:.45;cursor:not-allowed}.poker-table-status{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid rgba(255,255,255,.35);border-radius:6px;background:#173e36}.poker-table-status>div{display:grid;gap:2px;padding:9px 12px;border-right:1px solid rgba(255,255,255,.2)}.poker-table-status>div:last-child{border-right:0}.poker-table-status span{font-size:.68rem;text-transform:uppercase}.poker-table-status strong{font-size:1.04rem}.poker-zone-heading{display:flex;justify-content:center;gap:10px;margin:12px 0 8px;text-transform:uppercase}.poker-zone-heading span{font-size:.72rem;font-weight:850}.poker-zone-heading strong{font-size:.72rem;color:#f7d87b}.poker-opponents{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-height:122px}.poker-opponent{min-width:0;padding:8px;border:1px solid rgba(255,255,255,.22);border-radius:5px;background:rgba(0,0,0,.1);text-align:center}.poker-opponent>header,.poker-opponent>footer{display:flex;justify-content:space-between;gap:5px;font-size:.7rem}.poker-opponent.is-folded{opacity:.55}.poker-opponent .blackjack-cards{min-height:74px;gap:3px;margin:5px 0}.poker-opponent .playing-card{width:42px;height:60px}.poker-opponent .playing-card b{top:4px;left:5px;font-size:.75rem}.poker-opponent .playing-card i{font-size:1.2rem}.variant-caribbean_draw .poker-opponents{grid-template-columns:1fr}.variant-caribbean_draw .poker-opponent .playing-card{width:58px;height:82px}.variant-caribbean_draw .poker-opponent .blackjack-cards{min-height:84px}.video-poker-mark{display:grid;place-items:center;align-content:center;min-height:115px;color:#f8d778}.video-poker-mark strong{font-size:2.3rem}.video-poker-mark span{font-size:.76rem;font-weight:850;text-transform:uppercase}.poker-community-zone{min-height:104px}.poker-community-zone .blackjack-cards{min-height:82px}.poker-player-zone{min-height:140px;text-align:center}.poker-player-zone .blackjack-cards{min-height:104px}.poker-player-zone .playing-card{appearance:none;padding:0}.poker-player-zone .playing-card.is-selected{border:3px solid #f7d259;transform:translateY(-7px)}.poker-player-zone .playing-card em{position:absolute;right:3px;bottom:3px;left:3px;padding:2px;border-radius:3px;background:#253b35;color:#fff;font-size:.55rem;font-style:normal;text-transform:uppercase}.poker-player-zone>p{min-height:18px;margin:4px 0 0;color:#e0ece8;font-size:.72rem}.poker-betting{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin:10px 0}.poker-table .blackjack-chips button{display:grid;place-items:center;width:50px;height:50px;min-height:50px;padding:3px;border:5px dashed #fff;border-radius:50%;background:#315f91;color:#fff}.poker-table .blackjack-chips button:nth-child(2){background:#a63131}.poker-table .blackjack-chips button:nth-child(3){background:#4b2875}.poker-table .blackjack-chips button:nth-child(4){background:#202a32}.poker-table .blackjack-chips button:nth-child(5){background:#a07016}.poker-coin-picker,.poker-difficulty{display:inline-grid;grid-auto-flow:column;border:1px solid rgba(255,255,255,.65);border-radius:5px;overflow:hidden}.poker-coin-picker button,.poker-difficulty button{border:0;border-right:1px solid #a9beb7;border-radius:0}.poker-coin-picker button:last-child,.poker-difficulty button:last-child{border-right:0}.poker-coin-picker button.is-active,.poker-difficulty button.is-active{background:#f6c94f;color:#27342f}.poker-fixed-table{font-size:.78rem;font-weight:800}.poker-table .blackjack-primary-action{background:#f6c94f!important;color:#283226!important}.poker-game-app .blackjack-control-panel>section{padding-top:10px}.poker-game-app .blackjack-control-panel button{width:100%;margin-top:7px}.blackjack-table-message a{display:inline-block;margin-left:5px;color:#fff;text-decoration:underline;text-underline-offset:2px}
@media(max-width:900px){.poker-room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.poker-game-app{grid-template-columns:1fr}.poker-game-app>.blackjack-control-panel{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.poker-room-intro h1{font-size:1.55rem}.poker-room-grid{grid-template-columns:1fr}.poker-room-card{grid-template-columns:120px 1fr;grid-template-rows:auto auto}.poker-room-card-visual{grid-row:1/3;min-height:145px}.poker-room-card .primary-button{grid-column:2}.poker-room-card-visual i:nth-of-type(n+3){display:none}.poker-room-note{align-items:flex-start;flex-direction:column}.poker-variant-tabs a{padding:8px 10px}.poker-table{min-height:650px;padding:9px}.poker-table-status{grid-template-columns:repeat(2,minmax(0,1fr))}.poker-table-status>div:nth-child(2){border-right:0}.poker-table-status>div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.2)}.poker-opponents{gap:4px}.poker-opponent{padding:5px 3px}.poker-opponent .playing-card{width:29px;height:43px}.poker-opponent .playing-card b{font-size:.6rem}.poker-opponent .playing-card i{font-size:.85rem}.variant-caribbean_draw .poker-opponent .playing-card{width:48px;height:70px}.poker-player-zone .playing-card{width:54px;height:78px}.poker-player-zone .blackjack-cards{gap:4px}.poker-community-zone .playing-card{width:52px;height:75px}.poker-game-app>.blackjack-control-panel{grid-template-columns:1fr}.poker-difficulty{width:100%}.poker-difficulty button{flex:1}.poker-room-card-visual i{width:38px;height:55px}}

/* Meowdoku */
.meowdoku-welcome-board{display:grid;grid-template-columns:repeat(5,1fr);width:min(360px,100%);aspect-ratio:1;border:3px solid #263d38;background:#fff}.meowdoku-welcome-board>span{display:grid;place-items:center;border:1px solid rgba(38,61,56,.2)}
.meowdoku-board-frame{width:min(620px,100%);margin-inline:auto}.meowdoku-board{display:grid;grid-template-columns:repeat(var(--meow-size),minmax(0,1fr));width:100%;aspect-ratio:1;border:3px solid #263d38;background:#fff}.meowdoku-cell{position:relative;display:grid;place-items:center;min-width:0;min-height:0;padding:0;border:1px solid rgba(38,61,56,.18);border-radius:0;background:var(--region-color);color:#203b34;cursor:pointer}.meowdoku-cell:hover{filter:brightness(.96)}.meowdoku-cell.is-selected{z-index:2;box-shadow:inset 0 0 0 3px #176b9a}.meowdoku-cell.is-conflict,.meowdoku-cell.is-checked-wrong{background:#f8b8b1!important}.meowdoku-cell.edge-top,.meowdoku-print-grid .edge-top{border-top:3px solid #263d38}.meowdoku-cell.edge-right,.meowdoku-print-grid .edge-right{border-right:3px solid #263d38}.meowdoku-cell.edge-bottom,.meowdoku-print-grid .edge-bottom{border-bottom:3px solid #263d38}.meowdoku-cell.edge-left,.meowdoku-print-grid .edge-left{border-left:3px solid #263d38}
.region-0{--region-color:#b9ddf2;background:#b9ddf2}.region-1{--region-color:#f4c46f;background:#f4c46f}.region-2{--region-color:#b7dfa4;background:#b7dfa4}.region-3{--region-color:#f3acc4;background:#f3acc4}.region-4{--region-color:#c9b5ec;background:#c9b5ec}.region-5{--region-color:#f4e36f;background:#f4e36f}.region-6{--region-color:#8ed8cd;background:#8ed8cd}.region-7{--region-color:#d2e483;background:#d2e483}.region-8{--region-color:#9fb9ef;background:#9fb9ef}.region-9{--region-color:#f1a28b;background:#f1a28b}.region-10{--region-color:#a7d7b7;background:#a7d7b7}.region-11{--region-color:#dfa6d6;background:#dfa6d6}
.meowdoku-cat{position:relative;display:block;width:46%;aspect-ratio:1;border-radius:48% 48% 44% 44%;background:#263d38}.meowdoku-cat::before,.meowdoku-cat::after{position:absolute;top:-24%;width:48%;height:48%;background:#263d38;clip-path:polygon(50% 0,100% 100%,0 82%);content:""}.meowdoku-cat::before{left:-5%;transform:rotate(-12deg)}.meowdoku-cat::after{right:-5%;transform:rotate(12deg)}.meowdoku-cat-small{width:16px;flex:0 0 16px}.meowdoku-cross{color:#37554d;font-size:clamp(1rem,4.2vw,2rem);font-weight:700}.meowdoku-keypad{display:flex;justify-content:center;gap:8px;margin:14px 0}.meowdoku-keypad button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:105px;min-height:42px;padding:8px 13px;border:1px solid var(--line-strong);border-radius:5px;background:#fff;color:var(--ink);font:inherit;font-weight:800;cursor:pointer}.meowdoku-keypad button:hover{background:#f1f7f4}.meowdoku-toolbar fieldset{min-width:min(620px,100%)}
.meowdoku-print-grid{display:grid;grid-template-columns:repeat(var(--meow-size),1fr);width:165mm;aspect-ratio:1;border:3px solid #000}.meowdoku-print-grid span{display:grid;place-items:center;border:1px solid #777;font-size:22px}
@media(max-width:620px){.meowdoku-board-frame{width:100%}.meowdoku-cell.edge-top{border-top-width:2px}.meowdoku-cell.edge-right{border-right-width:2px}.meowdoku-cell.edge-bottom{border-bottom-width:2px}.meowdoku-cell.edge-left{border-left-width:2px}.meowdoku-keypad{display:grid;grid-template-columns:repeat(3,1fr)}.meowdoku-keypad button{min-width:0;padding-inline:6px}.meowdoku-toolbar fieldset{min-width:0}.meowdoku-toolbar .binary-segmented{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Meowdoku direct-touch controls */
.meowdoku-board{touch-action:none;user-select:none;-webkit-user-select:none}.meowdoku-cell{-webkit-tap-highlight-color:transparent}.meowdoku-cell>.meowdoku-cat{position:absolute;top:50%;left:50%;width:40%;transform:translate(-50%,-50%)}.meowdoku-cat-small{width:14px;flex-basis:14px}.meowdoku-cell.is-checked-wrong{animation:meowdoku-mistake-flash .7s ease}
@keyframes meowdoku-mistake-flash{0%,100%{filter:none}35%{filter:saturate(1.6) brightness(.92);box-shadow:inset 0 0 0 4px #b62d25}}

@media(min-width:861px) and (max-width:1100px){.game-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
