:root{--navy:#172B3A;--teal:#3A9D9A;--mint:#A8DCCF;--gold:#E8C477;--white:#F5F6F2}
*{box-sizing:border-box}body{margin:0;background:var(--white);color:var(--navy);font-family:Arial,sans-serif}
.top{background:var(--navy);color:var(--white);padding:20px;text-align:center}.brand{font-weight:900;font-size:28px;letter-spacing:2px}.brand span{color:var(--gold)}.motto{font-size:11px;letter-spacing:2px;color:var(--mint);margin-top:5px}
main{max-width:760px;margin:auto;padding:16px}.balance,.panel{background:white;border-radius:16px;padding:18px;margin:14px 0;box-shadow:0 4px 20px #172b3a12}.balance small{display:block;color:#60727c}.balance strong{font-size:26px}.rooms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.room{padding:18px;border-radius:15px;background:white;border:1px solid #e3e8e5;display:grid;gap:8px}.room b{font-size:17px}.room span,.room small{font-size:12px;color:#657780}.room.vip{background:var(--navy);color:var(--gold);border:1px solid var(--gold)}.room.vip span,.room.vip small{color:var(--white)}.panel h2{font-size:15px}.panel p{font-weight:800;color:#9a7428}.pattern-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;max-width:260px;margin:12px auto}.cell{aspect-ratio:1;border-radius:5px;background:#e9eeeb;display:grid;place-items:center}.cell.on{background:var(--gold)}.notice{font-size:12px;line-height:1.6;color:#60727c}
@media(max-width:420px){.rooms{grid-template-columns:1fr}.brand{font-size:24px}}

[hidden]{display:none!important}.phone-gate{max-width:520px;margin:12vh auto;padding:28px 22px;text-align:center;background:var(--navy);color:var(--white);border-radius:20px;box-shadow:0 8px 30px #172b3a22}.gate-brand{font-size:30px;font-weight:900;letter-spacing:2px}.gate-brand span{color:var(--gold)}.phone-gate h1{font-size:21px;color:var(--mint)}.phone-gate p{line-height:1.7}.share-link{display:block;margin:22px auto;padding:14px;border-radius:12px;background:var(--teal);color:white;text-decoration:none;font-weight:bold}.phone-gate #gateError{font-size:13px;color:var(--gold)}
.registration-gate form{display:grid;gap:9px;text-align:left;margin-top:18px}.registration-gate label{font-size:13px;color:var(--mint);font-weight:bold}.registration-gate input{width:100%;padding:13px;border:1px solid #71838d;border-radius:10px;font-size:17px;background:#fff;color:var(--navy)}.registration-gate button{padding:14px;border:0;border-radius:11px;background:var(--gold);color:var(--navy);font-weight:800;font-size:15px;margin-top:8px}.registration-gate .pin-warning{font-size:12px;color:#dce8e5;line-height:1.6}.registration-gate #registrationError{font-size:13px;color:var(--gold);text-align:center}
.vip-showcase{position:relative;overflow:hidden;margin:18px 0;padding:28px 22px;border-radius:22px;background:radial-gradient(ellipse at 85% 0%,#47636c 0,#172b3a 48%,#101e29 100%);border:1px solid #d7b66c;box-shadow:0 14px 34px #172b3a26;color:#f5f6f2}.vip-showcase:after{content:"✦";position:absolute;right:22px;top:18px;color:#e8c477;font-size:68px;opacity:.24}.vip-kicker{font-size:10px;letter-spacing:3px;color:#e8c477;font-weight:800}.vip-showcase h1{font-size:38px;letter-spacing:4px;margin:12px 0 6px;color:#f5f6f2}.vip-showcase h1 span{color:#e8c477}.vip-showcase>p{max-width:520px;line-height:1.7;color:#d9e5e1;font-size:13px}.vip-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:20px}.vip-stats div,.vip-metrics div{padding:12px;border:1px solid #71838a66;border-radius:12px;background:#ffffff0b}.vip-stats b{display:block;color:#e8c477;font-size:19px}.vip-stats small,.vip-metrics small{display:block;font-size:9px;letter-spacing:1px;color:#c1d1cd;margin-top:5px}.vip-showcase .vip-note{font-size:11px;color:#c7d8d2;margin-bottom:0}.vip-panel{border:1px solid #d9e0db}.vip-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.vip-section-head small,.vip-pattern small{font-size:9px;letter-spacing:1.5px;color:#9a7428}.vip-section-head h2{margin:5px 0}.vip-status{font-size:10px;padding:7px 10px;border-radius:20px;background:#e8eee9;color:#53645d;font-weight:800}.vip-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:15px 0}.vip-metrics b{display:block;margin-top:5px;font-size:13px;overflow-wrap:anywhere}.vip-pattern{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;border-radius:14px;background:#f6f4ec}.vip-pattern>div:first-child b{display:block;margin-top:6px;font-size:15px;color:#8c6724}.vip-pattern .pattern-grid{width:112px;gap:3px;margin:0}.vip-pattern .cell{border-radius:3px}.vip-pattern .cell.on{background:#e8c477}.card-tools{display:flex;justify-content:center;align-items:center;gap:15px;margin:12px 0}.card-tools button{border:1px solid #d7c28e;background:#f8f4e8;color:#6e5422;padding:8px 13px;border-radius:9px;font-weight:700}.vip-card-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.vip-card{aspect-ratio:1;border:1px solid #d7dfd9;border-radius:9px;background:#fff;color:#263d46;font-weight:800}.vip-card.sold{background:#273640;color:#9eaaa8;border-color:#273640}.vip-card.owned{background:var(--mint);color:var(--navy);border-color:var(--teal)}.vip-card:disabled{opacity:1}.vip-card:not(:disabled){cursor:pointer}.my-vip-cards{display:flex;gap:8px;flex-wrap:wrap}.my-vip-cards span{background:var(--mint);border:1px solid var(--teal);border-radius:10px;padding:9px 12px;font-weight:800;color:var(--navy)}.vip-note{font-size:12px;line-height:1.6;color:#667780}@media(max-width:440px){.vip-showcase{padding:22px 16px}.vip-showcase h1{font-size:32px}.vip-stats{gap:6px}.vip-stats div{padding:9px 7px}.vip-stats b{font-size:15px}.vip-stats small{font-size:8px}.vip-card-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.vip-pattern{align-items:flex-start}}
.called-panel{margin-top:14px;padding:13px;border-radius:12px;background:#172b3a;color:#f5f6f2}.called-panel small{color:#a8dccf;font-size:10px;letter-spacing:1.5px}.called-numbers{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.called-numbers span{display:grid;place-items:center;min-width:31px;height:31px;border-radius:50%;background:#e8c477;color:#172b3a;font-size:11px;font-weight:900}.winner-panel,.pattern-choice{margin-top:14px;padding:15px;border-radius:14px;border:1px solid #e8c477;background:#fbf7e9}.winner-panel h3{color:#8a6829;margin:0 0 8px}.winner-panel button,.pattern-choice button,.admin-panel button{border:0;border-radius:10px;padding:11px 15px;background:#172b3a;color:#f5f6f2;font-weight:800}.pattern-choice{display:grid;gap:9px}.pattern-choice label{font-weight:800;font-size:13px}.pattern-choice select,.admin-panel input,.admin-panel select{padding:11px;border:1px solid #d4ddd7;border-radius:9px;background:#fff;color:#172b3a;max-width:100%}.admin-panel summary{font-weight:900;cursor:pointer;color:#8a6829}.admin-panel p{font-size:12px;color:#667780}.admin-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-config{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.admin-config label{display:grid;gap:5px;font-size:12px;font-weight:700}.admin-pattern-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.admin-pattern-list label{display:flex;align-items:center;gap:7px;font-size:12px}.admin-panel #adminSaveConfig{background:#3a9d9a}@media(max-width:440px){.admin-config{grid-template-columns:1fr}.admin-pattern-list{grid-template-columns:1fr}}
.vip-countdown{font-size:13px!important;color:#8a6829!important;font-weight:900!important;text-align:center}.owned-vip-card{width:min(100%,360px);padding:12px;border:1px solid #e8c477;border-radius:14px;background:#fffdf8}.owned-card-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;color:#6e5422}.auto-mark-toggle{display:flex;align-items:center;gap:5px;font-size:11px}.owned-card-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.owned-cell{aspect-ratio:1;border:1px solid #dfe5e0;border-radius:6px;background:#f7faf7;color:#172b3a;font-size:12px;font-weight:800}.owned-cell.marked{background:#3a9d9a;color:white;border-color:#3a9d9a}.owned-cell:disabled{opacity:1}.owned-cell:not(:disabled){cursor:pointer}.my-vip-cards{display:flex;gap:10px;flex-wrap:wrap}
.owned-card-tools{margin-left:auto}.remove-vip-card{width:26px;height:26px;border:0;border-radius:50%;background:#f7e7e2;color:#a23c2a;font-weight:900;font-size:18px;line-height:1;cursor:pointer}.owned-card-head{justify-content:flex-start}
.card-search{display:flex;gap:8px;margin:12px 0}.card-search input{flex:1;min-width:0;padding:10px;border:1px solid #d7dfd9;border-radius:9px}.card-search button{border:0;border-radius:9px;padding:10px 16px;background:#3a9d9a;color:#fff;font-weight:800}.vip-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:440px){.vip-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}

.vip-pattern .pattern-description{grid-column:1/-1;margin:0;color:#3f5d64;font-size:.78rem;font-weight:500;line-height:1.5}
.wallet-panel{border:1px solid #dce5df}.wallet-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.wallet-head small{font-size:10px;letter-spacing:2px;color:#9a7428}.wallet-head h2{margin:5px 0 12px}.wallet-head button,.wallet-actions button{border:0;border-radius:9px;padding:10px 13px;background:#3a9d9a;color:#fff;font-weight:800}.wallet-balances{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.wallet-balances>div{padding:12px;border-radius:11px;background:#f3f7f3;border:1px solid #e0e8e2}.wallet-balances small{display:block;font-size:9px;letter-spacing:1px;color:#60727c}.wallet-balances b{display:block;margin-top:6px;font-size:16px;color:#172b3a}.wallet-note{font-size:11px!important;font-weight:500!important;line-height:1.6;color:#60727c!important}.wallet-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}.wallet-actions form{display:grid;align-content:start;gap:8px;padding:13px;border:1px solid #e1e8e2;border-radius:13px;background:#fbfcfa}.wallet-actions h3{font-size:14px;margin:0 0 5px}.wallet-actions label{display:grid;gap:5px;font-size:11px;font-weight:700;color:#52646b}.wallet-actions input,.wallet-actions select,.wallet-actions textarea{width:100%;min-width:0;padding:10px;border:1px solid #d5dfd8;border-radius:8px;background:#fff;color:#172b3a;font:inherit}.wallet-actions button{font-size:12px}.wallet-actions p[role=status]{font-size:11px;line-height:1.5;color:#8a6829}.wallet-activity{display:grid;gap:6px}.wallet-activity-row{display:flex;justify-content:space-between;gap:10px;padding:9px 11px;border-radius:9px;background:#f6f8f5;font-size:12px}.wallet-activity-row b{white-space:nowrap;color:#172b3a}@media(max-width:650px){.wallet-actions{grid-template-columns:1fr}.wallet-balances{grid-template-columns:1fr 1fr}}@media(max-width:360px){.wallet-balances{grid-template-columns:1fr}}
.normal-room-game{display:grid;gap:10px;margin-top:10px}.normal-owned-card{border:1px solid #3a9d9a55;border-radius:12px;padding:10px;display:grid;gap:8px}.normal-card-grid{display:grid;grid-template-columns:repeat(5,minmax(28px,1fr));gap:4px}.normal-card-grid button{min-width:0;aspect-ratio:1;border:1px solid #3a9d9a55;border-radius:6px;background:#f5f6f2;color:#172b3a;font-weight:700;padding:2px}.normal-card-grid button.marked{background:#3a9d9a;color:#fff}.normal-card-grid button:disabled{opacity:1}

.home-winner-panel{border:1px solid #e8c477;background:#fbf7e9}.home-winner-panel h2{margin:5px 0;color:#8a6829}.home-winner-panel p{margin:7px 0;font-weight:700}.support-ticket{border:1px solid #dbe3df;border-radius:12px;padding:12px;margin:10px 0;background:#fff}.support-ticket h3{font-size:14px;color:#172b3a}.support-message{padding:9px;border-radius:9px;background:#f5f6f2;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.support-message.admin{background:#e8f3ef}.support-reply{display:grid;gap:8px}.support-reply textarea,#supportForm textarea{width:100%;min-height:76px;padding:10px;border:1px solid #d4ddd7;border-radius:9px}.support-reply button{justify-self:start}

/* REV24: full normal-room card selector and premium winner presentation */
main{max-width:1200px}
.rooms-panel{padding:20px}
.rooms-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.rooms-heading small{font-size:10px;letter-spacing:2px;color:#9a7428;font-weight:900}
.rooms-heading h2{margin:5px 0;font-size:20px}
.rooms-heading>span{font-size:11px;color:#60727c}
.rooms-panel .rooms{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.room-large{min-width:0;padding:13px;gap:10px;border-radius:16px}
.room-title{display:flex;flex-direction:column;gap:4px}
.room-title>b{font-size:18px;color:#172b3a}
.room-title>span{font-size:10px;color:#60727c}
.room-meta{font-size:12px;font-weight:800;color:#3a9d9a}
.room-search{display:flex;gap:6px}
.room-search input{min-width:0;flex:1;width:0;padding:9px;border:1px solid #d4ddd7;border-radius:8px;background:#fff;color:#172b3a}
.room-search button,.room-grid-tools button,.room-selection button{border:0;border-radius:8px;padding:8px 10px;background:#172b3a;color:#f5f6f2;font-weight:800;font-size:11px}
.room-grid-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;font-weight:800;color:#60727c}
.normal-card-picker{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:3px;max-height:300px;overflow:auto;padding:5px;border:1px solid #e1e8e2;border-radius:10px;background:#f4f7f4}
.normal-card-option{min-width:0;aspect-ratio:1;padding:0;border:1px solid #d8e1db;border-radius:5px;background:#fff;color:#172b3a;font-size:10px;font-weight:800}
.normal-card-option.sold{background:#5f6d73;color:#fff;border-color:#5f6d73;cursor:not-allowed}
.normal-card-option.owned{background:#dce7e2;color:#172b3a;border-color:#a9bbb1;cursor:not-allowed}
.normal-card-option.selected{background:#3a9d9a;color:#fff;border:2px solid #172b3a}
.room-selection{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:10px;color:#60727c}
.room-selection b{color:#172b3a}
.room-selection button{margin-left:auto;background:#667780}
.room-buy-footer{position:sticky;bottom:0;z-index:2;display:flex;gap:7px;padding:9px;border-radius:10px;background:#172b3a;box-shadow:0 -4px 14px #172b3a18}
.room-buy-footer select{flex:1;min-width:0;padding:9px;border:1px solid #71838a;border-radius:8px;background:#f5f6f2;color:#172b3a;font-size:11px}
.room-buy-footer button{flex:1.2;border:0;border-radius:8px;background:#e8c477;color:#172b3a;font-weight:900;font-size:11px}
.super-room{border:1px solid #e8c477;background:linear-gradient(180deg,#fffdf7,#fff)}
.super-schedule-banner{display:grid;gap:4px;padding:10px;border:1px solid #e8c477;border-radius:10px;background:#172b3a;color:#f5f6f2}
.super-schedule-banner b{font-size:13px;color:#e8c477}
.super-schedule-banner small{font-size:10px;color:#a8dccf}
.super-schedule-banner span{font-size:10px;color:#f5f6f2}
.normal-room-game{display:grid;gap:8px;margin-top:8px}
.normal-current-ball{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border-radius:10px;background:#172b3a;color:#f5f6f2}
.normal-current-ball small{font-size:9px;letter-spacing:1.4px;color:#a8dccf}
.normal-current-ball strong{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#e8c477;color:#172b3a;font-size:22px}
.normal-game-details{margin:0!important;font-size:10px!important;color:#60727c!important;overflow-wrap:anywhere}
.normal-recent-balls{display:flex;gap:6px}
.normal-recent-balls span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e8c477;color:#172b3a;font-weight:900;font-size:11px}
.normal-number-tracker{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;padding:7px;border:1px solid #e2e8e3;border-radius:9px;background:#f6f8f5}
.normal-number-tracker b,.normal-number-tracker span{display:grid;place-items:center;min-height:20px;border-radius:4px;font-size:9px}
.normal-number-tracker b{background:#172b3a;color:#e8c477}
.normal-number-tracker span{background:#fff;color:#52646b}
.normal-number-tracker span.called{background:#3a9d9a;color:#fff;font-weight:900}
.normal-owned-card{background:#fbfdfb}
.normal-private-winner{padding:11px;border:1px solid #e8c477;border-radius:12px;background:#fbf7e9}
.normal-private-winner h3{margin:0;color:#8a6829;font-size:13px}
.normal-private-winner p{font-size:10px!important;line-height:1.5;color:#60727c!important}
.normal-winner-card{display:grid;gap:6px;margin-top:8px}
.normal-winner-card>b{font-size:10px;color:#172b3a}
.normal-card-grid span{display:grid;place-items:center;aspect-ratio:1;border:1px solid #dce5df;border-radius:5px;background:#fff;color:#172b3a;font-size:10px;font-weight:800}
.normal-card-grid span.marked{background:#3a9d9a;color:#fff}
.vip-winner-panel{background:#172b3a;color:#f5f6f2;border-color:#e8c477}
.vip-winner-panel h3{color:#e8c477}
.vip-winner-panel>p{color:#dce7e2!important;font-size:12px}
.vip-winner-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0}
.vip-winner-totals>div{display:grid;gap:5px;padding:10px;border:1px solid #71838a;border-radius:10px;background:#223b49}
.vip-winner-totals small{font-size:9px;letter-spacing:1px;color:#a8dccf}
.vip-winner-totals b{font-size:14px;color:#e8c477;overflow-wrap:anywhere}
.vip-winner-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}
.vip-winner-card{padding:10px;border:1px solid #e8c477;border-radius:12px;background:#f5f6f2;color:#172b3a}
.vip-winner-card-head{display:grid;gap:4px;margin-bottom:8px}
.vip-winner-card-head b{font-size:12px}
.vip-winner-card-head strong{font-size:12px;color:#8a6829}
.vip-winning-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
.vip-winning-grid span{display:grid;place-items:center;aspect-ratio:1;border-radius:6px;border:1px solid #dce5df;background:#fff;color:#172b3a;font-size:12px;font-weight:900}
.vip-winning-grid span.called{background:#3a9d9a;color:#fff}
.vip-winning-grid span.pattern{outline:3px solid #e8c477;outline-offset:-3px}
.vip-winning-grid span.free{background:#e8c477;color:#172b3a}
.vip-winner-proof{font-size:10px!important;color:#60727c!important;overflow-wrap:anywhere}
.vip-share-card{width:100%;border:0;border-radius:9px;padding:10px;background:#172b3a;color:#e8c477;font-weight:900}
.vip-share-card:disabled{opacity:.45}
@media(max-width:900px){.rooms-panel .rooms{grid-template-columns:1fr}.room-large{max-width:100%}.normal-card-picker{max-height:260px}}
@media(max-width:480px){.rooms-heading{align-items:flex-start;flex-direction:column}.normal-card-picker{grid-template-columns:repeat(5,minmax(0,1fr));max-height:260px}.normal-card-option{font-size:12px}.vip-winner-totals{grid-template-columns:1fr 1fr}.vip-winner-totals>div:last-child{grid-column:1/-1}}

.normal-card-grid span.pattern{outline:3px solid #e8c477;outline-offset:-3px}

/* REV27 home dashboard: winner panel sits beside the room cards on wide screens. */
.home-game-layout{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(250px,.8fr);gap:14px;align-items:start}
.home-game-layout #normalRoomsPanel{min-width:0}
.home-game-layout .home-winner-panel{position:sticky;top:12px;min-width:0;overflow-wrap:anywhere}
.home-live-status{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:9px 12px;margin:10px 0 14px;border-radius:10px;background:#edf5f1;color:#172b3a;font-size:12px;font-weight:700}
@media(max-width:900px){.home-game-layout{grid-template-columns:1fr}.home-game-layout .home-winner-panel{position:static;order:2}}
