
.game-page{min-height:100vh}.game-shell{width:min(1120px,calc(100% - 24px));margin:24px auto 60px}.game-titlebar{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:16px}.game-titlebar h1{margin:0 0 6px;font-size:clamp(28px,4vw,42px)}.game-sub{margin:0;color:var(--muted);font-size:1.05rem}.game-stage{background:var(--card);border:1px solid var(--border);border-radius:22px;padding:22px;box-shadow:0 12px 30px rgba(18,31,58,.09)}.game-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:16px}.game-toolbar .field-inline{display:flex;gap:8px;align-items:center}.game-toolbar select,.game-toolbar input{min-height:44px;border:1px solid var(--border);border-radius:10px;background:var(--card);color:var(--text);padding:8px 10px}.game-message{min-height:30px;padding:10px 12px;border-radius:12px;background:var(--soft);font-weight:800;margin:14px 0}.game-board{border-radius:18px;background:var(--soft);border:1px solid var(--border);padding:16px}.game-actions-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.game-stat-row{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.game-stat{padding:9px 12px;border-radius:999px;background:var(--soft);border:1px solid var(--border);font-weight:800}.how-card{margin-top:18px}.how-card h2{margin-top:0}.tiny-note{font-size:.88rem;color:var(--muted)}
@media(max-width:600px){.game-shell{width:min(100% - 16px,1120px);margin-top:14px}.game-stage{padding:14px;border-radius:16px}.game-actions-row .btn{flex:1 1 140px}}

/* V5 shared game help */
.pp-help-wrap{position:relative;margin-left:auto}.pp-help-tip{display:none;position:absolute;right:0;top:calc(100% + 8px);width:260px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--card);color:var(--text);box-shadow:0 10px 30px rgba(0,0,0,.18);z-index:20;font-size:.9rem}.pp-help-wrap:hover .pp-help-tip{display:block}.pp-help-dialog{max-width:560px;width:calc(100% - 28px);border:1px solid var(--border);border-radius:16px;background:var(--card);color:var(--text);padding:20px}.pp-help-dialog::backdrop{background:rgba(0,0,0,.55)}.pp-help-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.pp-help-dialog li{margin:10px 0;line-height:1.45}@media(max-width:700px){.pp-help-tip{display:none!important}.pp-help-wrap{margin-left:0}}

/* V5.1 setting explanations */
.setting-info{position:relative;border:0;background:transparent;color:var(--accent);font-size:1rem;font-weight:900;cursor:help;padding:1px 4px;vertical-align:middle}.setting-info::after{content:attr(data-tip);position:absolute;z-index:80;left:50%;bottom:calc(100% + 9px);transform:translateX(-50%);width:min(300px,78vw);padding:10px 12px;border-radius:10px;background:#172032;color:#fff;font-size:.86rem;font-weight:600;line-height:1.35;box-shadow:0 10px 28px rgba(0,0,0,.28);opacity:0;pointer-events:none;transition:opacity .12s}.setting-info:hover::after,.setting-info:focus-visible::after,.setting-info.tip-open::after{opacity:1}.setting-info:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}

/* Shared pieces for the V5.5 house/relaxing games (Wheel, Drop, Garden, Memory Match): big, calm, easy to read. */
.hg-stage{background:#f4f1ea;color:#1f2a3a;border:1px solid #ddd7c9;border-radius:18px;padding:clamp(16px,3vw,28px)}
.hg-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:18px}
.hg-box{background:var(--d-surf,#fff);border:1px solid #e3ded1;border-radius:14px;padding:10px 16px;display:grid;gap:2px}
.hg-box small{letter-spacing:.06em;color:#5a6272;font-size:.8rem;font-weight:700}.hg-box strong{font-size:1.5rem;color:var(--d-tx,#14213d)}.hg-box span{color:var(--d-tx2,#4a5366);font-size:1rem}
.hg-h{font:700 1.2rem Georgia,serif;margin:14px 0 8px;color:var(--d-tx,#14213d)}
.hg-label{display:block;font-weight:700;margin-bottom:6px}
.hg-bet input{width:9em;min-height:52px;font-size:1.4rem;font-weight:700;border:2px solid #cfc8b8;border-radius:10px;padding:6px 12px;background:var(--d-surf,#fff);color:var(--d-tx,#14213d)}
.hg-quick{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.hg-quick button{min-height:48px;min-width:64px;font-size:1.1rem;font-weight:700;border:2px solid #14213d;background:var(--d-surf,#fff);color:var(--d-tx,#14213d);border-radius:10px;cursor:pointer}
.hg-quick button:hover,.hg-quick button.on{background:#14213d;color:#fff}
.hg-main{width:100%;min-height:62px;font-size:1.4rem;margin-top:16px}
.hg-message{min-height:2.4em;font-size:1.25rem;font-weight:700;margin:16px 0 0;padding:12px 16px;border-radius:12px;background:var(--d-surf,#fff);border:1px solid #e3ded1;color:var(--d-tx,#14213d)}
.hg-message.win{background:#eaf6ef;border-color:#1b6b43;color:#14502f}.hg-message.lose{background:var(--d-surf,#fff);border-color:#cfc8b8}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* V6.3 Play to Win action buttons (Blackjack, Ride the Bus): solid fills with readable text on the green felt in light AND dark mode,
   one gold primary action, clearly disabled states, 48px+ tap targets that wrap cleanly on phones. */
.game-actions-row.pg-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch}
.pg-actions .btn,.btn.rtb-main{min-height:50px;padding:10px 20px;border-radius:12px;font-weight:800;font-size:1.05rem;border:2px solid rgba(0,0,0,.28)!important;box-shadow:0 2px 0 rgba(0,0,0,.25);touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .06s,filter .12s}
.pg-actions .btn:not(:disabled):active,.btn.rtb-main:not(:disabled):active{transform:translateY(1px);box-shadow:none}
.pg-actions .btn:focus-visible,.btn.rtb-main:focus-visible{outline:3px solid #fff;outline-offset:2px}
/* primary = gold with navy text (contrast 9:1) */
.pg-actions #deal,.pg-actions #repeat,.btn.rtb-main#startBtn,.btn.rtb-main#againBtn{background:#f2c14e!important;color:#14213d!important}
/* the other actions: cream, navy and purple, each with AA text */
.pg-actions #hit{background:#fdf6e3!important;color:#14213d!important}
.pg-actions #stand{background:#14213d!important;color:#fff!important;border-color:rgba(255,255,255,.35)!important}
.pg-actions #double{background:#5b3fa8!important;color:#fff!important}
.pg-actions #continue,.btn.rtb-main#cashBtn{background:#fdf6e3!important;color:#14213d!important}
.pg-actions .btn:disabled,.pg-actions .btn[aria-disabled="true"],.btn.rtb-main:disabled{opacity:.45;filter:grayscale(.6);cursor:not-allowed;box-shadow:none}
.pg-actions .btn.hidden{display:none!important}
@media(max-width:600px){.game-actions-row.pg-actions .btn{flex:1 1 calc(50% - 6px);min-height:52px}.btn.rtb-main{width:100%;min-width:0}}
/* V7.4: on phones the floating chat button docks bottom-right and the page gets room under it, so it never covers action bars (e.g. Tumbo Farms). */
@media (max-width:640px){body.game-page .tcp:has(> .tcp-btn){top:auto!important;left:auto!important;right:10px!important;bottom:12px!important}body.game-page main{padding-bottom:84px}}
