/* River Room USA: sporting-club Americana, not a casino promotion. */
:root{--font-display:'Barlow Condensed','Arial Narrow',sans-serif;--bg:#0e1726;--surface:#152236;--raised:#1d2e45;--text:#f3efdf;--muted:#abb8ca;--line:#314056;--accent:#e7d4a7;--accent-ink:#142036;--america-red:#b5373d;--america-blue:#1b3559}
[data-theme=light]{--bg:#efece2;--surface:#fbf8ee;--raised:#e4e6e7;--text:#14243b;--muted:#566679;--line:#cbd0d2;--accent:#795b29;--accent-ink:#fff9e8}
body{--felt:#26466d;--felt-dark:#172e4c;--rail:#76262f}
body[data-room=chicago]{--felt:#245568;--felt-dark:#143846;--rail:#183040}
body[data-room=neworleans]{--felt:#573a69;--felt-dark:#342341;--rail:#987a39}
body[data-room=austin]{--felt:#345044;--felt-dark:#20362d;--rail:#79452f}
body[data-room=vegas]{--felt:#3b315e;--felt-dark:#241d3d;--rail:#88577e}
.header{height:72px;border-top:4px solid var(--america-red);border-bottom:1px solid var(--line)}
.brand>span{font-family:var(--font-display);font-size:30px;font-weight:400;letter-spacing:.5px}
.brand svg{color:var(--text);width:32px}
.brand small{font-family:var(--font-body);font-size:12px;letter-spacing:1px;font-weight:500}
.usa-brand{display:inline-block;vertical-align:3px;font:700 12px/1 var(--font-body);letter-spacing:1px;color:#fff6e4;background:var(--america-red);padding:5px 6px;margin-left:8px;border-radius:2px}
.nav-active{border-color:var(--america-red)}.free-tag{letter-spacing:1px;font-size:12px}
.heading{padding:17px 0}.heading h1{font-size:36px;font-weight:400;line-height:1.1;letter-spacing:.5px;margin-top:4px}
.eyebrow{font-size:12px;letter-spacing:1.4px}
.practice-bar{padding:9px 0;margin-bottom:18px}.level-summary{gap:14px}.level-summary strong{font-size:12px;letter-spacing:.4px}
.level-medal{background:var(--america-blue);border-color:#e7d4a7;color:#f3e7c6;outline:0;border-radius:8px 8px 18px 18px;width:42px;height:46px;font:400 24px/1 var(--font-display);position:relative;padding-bottom:7px}
.level-medal i{position:absolute;bottom:3px;font:normal 10px/1 Georgia,serif}
.xp-track{height:5px;width:190px;background:var(--line)}.xp-track i{background:var(--america-red)}
.route-ribbon{display:flex;gap:20px;position:relative}.route-ribbon:before{content:"";position:absolute;top:16px;left:30px;right:30px;border-top:1px dashed var(--muted);opacity:.5}
.route-ribbon button{position:relative;min-width:55px;min-height:48px;display:flex;align-items:center;flex-direction:column;gap:4px;color:var(--muted)}
.route-ribbon button>span{background:var(--bg);border:1px solid var(--line);display:grid;place-items:center;border-radius:50%;width:32px;height:32px;font-size:12px;font-weight:600}
.route-ribbon button>small{font-size:12px}.route-ribbon .unlocked>span{border-color:var(--accent);color:var(--text)}.route-ribbon .selected>span{background:var(--america-red);border-color:var(--america-red);color:#fff9ec}.route-ribbon .selected>small{color:var(--text)}
.goal-count{font:400 28px/1 var(--font-display);color:var(--text)}.goal-count span{font:500 12px/1.4 var(--font-body);letter-spacing:.8px}
.game{border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 9px 30px #0001}
.game-toolbar{height:48px;border-bottom:1px solid var(--line);letter-spacing:.4px}
.game-toolbar #room-label{color:var(--text);font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;text-align:left}
.room-star{color:#cc575b;font-size:16px;vertical-align:-1px;margin-right:4px}
.stage{background:radial-gradient(ellipse at 50% 45%,#253b591f,transparent 75%)}
.felt{border-color:var(--rail);box-shadow:0 0 0 2px #eee0ba65,0 7px 0 #091525,0 15px 24px #0004,inset 0 0 40px #040b1938}
.felt-line{border:1px dashed #ebe0c641}
.felt-flag{opacity:.17;filter:saturate(1)}
.nameplate{background:#15243a;border:1px solid #59708c;color:#f8f0dd;box-shadow:0 3px 8px #0003}
.seat.active .nameplate{border-color:#efd9a6;box-shadow:0 0 0 2px #efd9a640,0 3px 12px #0004}.seat.active .name{color:#efd9a6}.seat.active .seat-action{color:#efd9a6}
.seat.folded .nameplate{background:#18273a;color:#a9b6c5;border-color:#35485f}.seat-action{color:#bdcbdc}
.seat.winner .nameplate{background:#3e3d30;border-color:#ead4a2}
.card.back{background:repeating-linear-gradient(45deg,#243e65 0,#243e65 3px,#193053 3px,#193053 6px);border:3px solid #e9dfc8}
.card.back:before{border-color:#d4b77380}.card.back:after{content:"★";border:0;width:auto;height:auto;transform:none;color:#efddba;font:400 19px/1 Georgia,serif}
.card.mini.back:after{font-size:12px}
.dealer{background:#fff5d7;color:#182840;border:3px double #8c7544;width:44px;height:44px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;right:-24px;top:41px;z-index:5;box-shadow:0 3px 6px #0007;line-height:1;cursor:pointer}
.dealer span{font-size:18px;font-weight:800}.dealer small{font:700 7px/1.5 var(--font-body);letter-spacing:.3px}
.dealer:hover{background:#fff;color:#182840!important}
.seat.folded{opacity:1}.seat.folded .hole,.seat.folded .nameplate,.seat.folded .seat-action{opacity:.45}
.seat-0 .dealer{top:77px}
.seat-4 .dealer,.seat-5 .dealer{right:auto;left:-24px}
.position-strip{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 14px;border-bottom:1px solid var(--line);min-height:36px}
.position-strip button{font-size:12px;min-height:36px;color:var(--muted);text-align:left}.position-strip #position-info{color:var(--text)}
.finish-buttons{display:flex;align-items:center;gap:8px}.finish-buttons .secondary{font-size:12px}
.pot{color:#dce1e9}.pot strong{color:#fff4d6}.pot .chip{background:#b73742;border-color:#f7e9ce}
.street{color:#d4dbe3}
.welcome-stars{color:#e9d3a8;font-size:18px;letter-spacing:8px;display:block;margin-bottom:9px}
.welcome h2{font:400 38px/1.04 var(--font-display);max-width:330px;letter-spacing:1px;margin-bottom:16px}
.welcome>p{color:#d3d9e1}
.primary,.actions button.primary{background:var(--america-red);color:#fff9ed;border-color:transparent;font-weight:600}
.primary:hover:not(:disabled),.actions button.primary:hover:not(:disabled){background:#922a32;color:#fff9ed}
.welcome .primary{background:#f0dfb7;color:#15253d;box-shadow:0 3px 0 #987740;border:1px solid #f7e7c2}
.welcome .primary:hover{background:#fff0ca;color:#132139}
.action-panel[data-turn=you]{box-shadow:inset 0 3px 0 var(--america-red)}
.turn-copy strong{color:var(--text)}.turn-copy strong:before{content:"";display:inline-block;background:#d6585c;width:6px;height:6px;border-radius:50%;margin-right:6px;vertical-align:1px}
.pause-screen{background:#102239f5}.pause-screen h2{font-weight:400}
.practice-card{padding:18px;text-align:center;position:relative;overflow:hidden;background:var(--surface);border-top:4px solid var(--america-red)}
.practice-card .section-title h2{font-size:12px;letter-spacing:.8px;font-weight:600}.practice-card .section-title>span{font:400 18px/1 var(--font-display);color:var(--accent)}
.passport-stamp{position:relative;border:3px double var(--accent);border-radius:50%;width:120px;height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:17px auto 12px;rotate:-9deg;color:var(--accent)}
.passport-stamp>span{font-size:12px;letter-spacing:1px;line-height:1.2}.passport-stamp strong{font:400 45px/1 var(--font-display);letter-spacing:2px}.passport-stamp i{font:normal 12px/1 Georgia,serif;letter-spacing:5px;margin-top:5px}
.practice-card h3{font:400 25px/1.1 var(--font-display);margin:12px 0 8px}.practice-card p{line-height:1.45;max-width:220px;margin:auto}
.trip-button{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:44px;border:1px solid var(--line);background:var(--raised);border-radius:5px;padding:8px 10px;font-size:12px;margin-top:16px;color:var(--text)}
.practice-card .text-btn{font-size:12px;min-height:40px;margin-top:2px}
.hand-hunt{border:1px solid var(--line);background:var(--surface);padding:15px 12px;border-radius:10px;display:flex;align-items:center;gap:12px;text-align:left;min-height:110px;color:var(--text)}
.hand-hunt:hover{background:var(--raised);color:var(--text)!important}.hand-hunt>span:last-child{flex:1}.hand-hunt small{font-size:12px;letter-spacing:.8px;color:var(--muted)}.hand-hunt strong{display:block;font:400 21px/1.1 var(--font-display);margin:5px 0}.hand-hunt>span:last-child>span{font-size:12px;color:var(--muted)}
.hunt-cards{display:flex;align-items:center;position:relative;width:58px;height:66px;flex-shrink:0}
.hunt-cards i{background:#f1e9d4;color:#1a3049;box-shadow:0 1px 3px #0004;position:absolute;left:0;top:7px;width:31px;height:46px;border-radius:3px;font:normal 700 15px/1 var(--font-body);padding:4px;rotate:-14deg}
.hunt-cards i:nth-child(2){left:12px;top:4px;rotate:0deg;color:#b13d43}.hunt-cards i:nth-child(3){left:25px;top:7px;rotate:14deg;color:#b13d43}.hunt-cards i span{display:block;font-size:19px;line-height:1}
.sidebar{gap:14px}.session{padding:16px 18px}.bankroll{padding:12px 0}.bankroll>span{font:400 40px/1 var(--font-display);letter-spacing:1px}.bankroll small{margin-top:6px}.stats{padding:10px 0}.stats strong{font-family:var(--font-display);font-weight:400;font-size:24px}
.modal-head h2{font:400 29px/1.06 var(--font-display);letter-spacing:.6px}.modal-head{gap:12px}.career-heading strong{font-family:var(--font-display);font-weight:400}
.trip-total{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-block:1px solid var(--line);margin-bottom:18px}.trip-total strong{font:400 29px/1 var(--font-display)}.trip-total span{color:var(--muted);font-size:12px}
.trip-stops{display:flex;flex-direction:column;gap:12px}
.trip-stop{display:flex;gap:16px;border:1px solid var(--line);border-radius:9px;padding:15px;background:var(--raised)}
.stop-swatch{position:relative;flex-shrink:0;width:82px;min-height:146px;background:repeating-linear-gradient(0deg,#ffffff09 0,#ffffff09 8px,transparent 8px,transparent 16px),#243f62;color:#f3e3ba;border:5px solid #7d2d35;border-radius:42px;display:flex;align-items:center;justify-content:center;flex-direction:column;align-self:stretch}
.stop-swatch span{font:400 34px/1 var(--font-display)}.stop-swatch i{font-style:normal;margin-top:7px;color:#ebd5a7}
[data-city=chicago] .stop-swatch{background-color:#245568;border-color:#183040}
[data-city=neworleans] .stop-swatch{background-color:#573a69;border-color:#987a39}
[data-city=austin] .stop-swatch{background-color:#345044;border-color:#79452f}
[data-city=vegas] .stop-swatch{background-color:#3b315e;border-color:#88577e}
.stop-copy{flex:1;min-width:0}.stop-copy small{font-size:12px;color:var(--muted);letter-spacing:1px}.stop-copy h3{font:400 30px/1 var(--font-display);margin:5px 0}.stop-copy p{font-size:14px}.stop-copy>span{display:block;font-size:12px;color:var(--muted);margin-top:4px}.stop-copy button{margin-top:12px;font-size:12px;min-height:44px;width:100%;padding:10px}
.trip-stop.selected{border-color:var(--accent)}.trip-stop.selected .primary{background:var(--accent);color:var(--accent-ink)}.trip-stop.locked .stop-swatch{filter:saturate(.45)}.stop-copy button:disabled{opacity:1;color:var(--muted);background:var(--surface);border-style:dashed;cursor:not-allowed}
.challenge-meta{display:flex;justify-content:space-between;gap:12px;color:var(--accent);font-size:12px;letter-spacing:1px;margin-bottom:18px}
.challenge-hand{padding:16px 0 28px}.challenge-hand .card{width:60px;height:84px;font-size:27px}.challenge-hand .card .suit{font-size:30px}
.challenge-choices{display:grid;gap:10px}.challenge-choices button{min-height:48px;text-align:left;font-size:14px}.challenge-choices button.correct{background:#28483b;border-color:#7da891;color:#f5f1de;opacity:1}.challenge-choices button:disabled:not(.correct){opacity:.5}
.challenge-feedback{font-size:14px;color:var(--text);margin-top:16px}.challenge-feedback strong{color:var(--accent)}.challenge-feedback p{font-size:12px;color:var(--muted);margin-top:5px}.challenge-feedback button{margin-top:15px;min-height:44px;width:100%}
.challenge-complete{text-align:center;padding:15px 0}.challenge-complete>span{display:block;font:400 70px/1 Georgia,serif;color:var(--accent);margin:10px}.challenge-complete h3{font:400 32px/1.1 var(--font-display);margin:16px 0}.challenge-complete p{color:var(--muted);font-size:14px}
.celebration{position:absolute;left:50%;top:70%;z-index:7;pointer-events:none}.celebration i{position:absolute;color:#f4d887;font:normal 16px/1 Georgia,serif;animation:star-burst 1.2s var(--delay) ease-out both}.celebration i:nth-child(3n){color:#d74c57}.celebration i:nth-child(3n + 1){color:#f2eee0}
@keyframes star-burst{0%{opacity:0;transform:translate(0,0) scale(.4)}15%{opacity:1}100%{opacity:0;transform:translate(var(--x),var(--y)) rotate(var(--spin)) scale(.7)}}
.mobile-challenge{display:none}
@media(max-width:1150px){.route-ribbon{gap:8px}.brand small{letter-spacing:.3px}.header nav{gap:22px}.heading h1{font-size:32px}}
@media(max-width:900px){.route-ribbon{gap:13px}.route-ribbon button small{display:none}.free-tag{display:none}.header nav{gap:16px}.heading h1{font-size:29px}.practice-bar{gap:12px}}
@media(max-width:600px){
  .position-strip{padding:0 8px;gap:4px}.position-strip button{font-size:11px;min-height:36px}.dealer{right:-44px;top:0}.seat-4 .dealer,.seat-5 .dealer{left:-44px}.seat-0 .dealer{top:59px}
  .finish-buttons{flex-direction:column-reverse;gap:2px}.finish-buttons .secondary{min-height:32px;padding:5px 8px;font-size:11px}
  .header{height:52px;border-top-width:3px}.brand>span{font-size:24px;letter-spacing:.4px}.brand svg{width:23px}.usa-brand{font-size:10px;padding:4px;vertical-align:3px;margin-left:6px;letter-spacing:.6px}.brand small{display:none}.header-actions{gap:2px}.header .icon-btn{width:40px;min-width:40px}.header{gap:5px}
  .practice-bar{height:64px;padding:7px 4px;margin:0 0 8px;gap:8px}.route-ribbon{display:none}.level-summary{gap:10px}.level-medal{width:32px;height:40px;font-size:22px;border-width:1px;flex-shrink:0}.level-medal i{font-size:9px;bottom:2px}.level-summary strong{font-size:12px;letter-spacing:0}.xp-track{width:150px;height:4px}.level-summary small{font-size:12px}.goal-count{font-size:26px}.goal-count span{font-size:12px;letter-spacing:.5px}.mission-summary{gap:8px}
  .game-toolbar{height:44px;padding:0 10px}.game-toolbar #room-label{letter-spacing:0;font-size:12px}.game-toolbar button{font-size:12px}.room-star{font-size:13px;margin-right:2px}.game-toolbar>div{gap:8px}
  .felt{border-width:9px}.felt-flag{opacity:.19}.welcome-stars{font-size:14px;letter-spacing:5px;margin-bottom:7px}.welcome h2{font-size:29px;max-width:220px;letter-spacing:.6px;margin-bottom:12px}.welcome>p{font-size:12px}.welcome .primary{min-height:44px;padding:8px 18px}
  .card.mini.back:after{font-size:10px}.action-panel{border-radius:0 0 8px 8px}.hand-title{font-family:var(--font-display)}
  .mobile-challenge{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:10px}.mobile-challenge button{font-size:12px;min-height:48px;padding:10px 6px;border:1px solid var(--line);border-radius:5px;background:var(--surface);text-align:center}.mobile-challenge button:first-child{border-left:3px solid var(--america-red)}.mobile-challenge button span{display:block;font-size:12px;color:var(--muted)}
  .modal-head h2{font-size:27px}.trip-stop{padding:12px;gap:12px}.stop-swatch{width:62px;min-height:140px;border-width:4px}.stop-copy h3{font-size:27px}.stop-copy small{letter-spacing:.5px}.stop-copy button{padding:8px}
  .challenge-hand .card{width:47px;height:68px;font-size:23px}.challenge-hand .card .suit{font-size:25px}.challenge-hand{padding-top:8px;padding-bottom:20px}
}
@media(max-width:350px){.brand>span{font-size:22px}.usa-brand{margin-left:5px;font-size:9px}.brand svg{width:20px}.header .icon-btn{width:36px;min-width:36px}.xp-track{width:134px}.level-summary{gap:7px}.level-summary strong{font-size:12px}.level-summary small{font-size:12px}.mission-summary{gap:4px}.challenge-hand .card{width:40px;height:60px}}
@media(max-width:600px) and (max-height:700px){.header{height:44px}.practice-bar{height:52px;padding-block:3px}.level-medal{height:36px}.welcome h2{font-size:23px;max-width:166px}.welcome-stars{font-size:12px;margin-bottom:5px}.felt{border-width:7px}.stage{height:clamp(222px,calc(100svh - 346px),304px)}.seat:not(.seat-0) .dealer{top:0}.seat-0 .dealer{top:48px}}
@media(max-width:600px) and (max-height:600px){.welcome h2,.welcome-stars{display:none}}
@media(max-width:600px) and (max-height:700px){.seat-0{top:78%}.seat.seat-1 .dealer{right:-12px;top:40px}.seat.seat-5 .dealer{left:-12px;top:40px}.seat-0 .dealer{top:44px}}
@media(min-width:901px) and (max-height:900px){
  .header{height:56px}.brand>span{font-size:24px}.brand small{font-size:10px}.heading{display:none}
  .practice-bar{height:56px;padding:3px 0;margin-bottom:8px}.route-ribbon button{min-height:44px}.route-ribbon button small{display:none}
  .game-toolbar{height:44px}.stage{height:clamp(280px,calc(100svh - 385px),450px)}
  .felt{inset:36px 44px 38px}.seat-0{top:80%}.board-area{top:25%}
  .seat-0 .hole{height:64px}.seat-0 .hole .card{height:64px;width:45px;font-size:21px}.seat-0 .seat-action{display:none}.seat-0 .dealer{top:62px}
  .result{font-size:12px;line-height:1.1;margin-top:6px}.result strong{font-size:14px}.pot{margin-bottom:6px}
  .seat-3 .seat-action{display:none}
  .community .card{height:62px;width:45px;font-size:21px}.community .card .suit{font-size:22px}
  .action-panel{min-height:132px;padding-block:10px}.practice-card{padding:14px}.passport-stamp{margin:10px auto}
}
[data-theme=light] .seat-1 .seat-action,[data-theme=light] .seat-5 .seat-action{color:var(--muted)}
@media(prefers-reduced-motion:reduce){.celebration{display:none}}
