/* Original arcade theme, scoped to the home screen. */
#lobby{background:linear-gradient(180deg,#123984 0%,#2067b6 55%,#42b9ca 100%);isolation:isolate;overflow-x:hidden;gap:0;padding:calc(12px + env(safe-area-inset-top)) 18px calc(34px + env(safe-area-inset-bottom));font-family:Arial,sans-serif}
#lobby::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 15% 20%,#fff5 0 2px,transparent 3px),radial-gradient(circle at 82% 10%,#fff6 0 3px,transparent 4px),radial-gradient(circle at 90% 60%,#fff4 0 2px,transparent 3px),linear-gradient(0deg,#644435 0 12px,#b98754 12px 23px,#56cb66 23px 30px,transparent 30px);background-repeat:no-repeat}
#lobby::after{content:'';position:fixed;left:6%;top:35%;width:34px;height:12px;background:#ffffff24;box-shadow:10px -8px #ffffff24,23px 0 #ffffff24,280px 160px #ffffff1c,290px 152px #ffffff1c;z-index:-1;pointer-events:none}
#lobby .lobby-top{font:700 8px Arial;color:#d8f8ff;letter-spacing:1.5px;margin-bottom:8px}
#lobby .lobby-account,#lobby .lobby-menu{flex:0 0 auto;width:min(100%,276px);max-width:276px;margin:4px auto;gap:0;min-width:0}
#lobby .wallet-actions{display:contents}
#lobby .lobby-account #profileShortcut,#lobby .lobby-account #shopShortcut,#lobby .lobby-account #withdrawShortcut{flex:0 0 auto!important;min-width:0!important;width:100%!important;height:40px!important;min-height:40px!important;max-width:100%!important;overflow:hidden!important;flex-direction:row!important;flex-wrap:nowrap!important;padding:6px 10px!important;margin:0 0 5px!important;background:linear-gradient(#51c8f0,#2198dc)!important;color:#092a57!important;border:2px solid #b1efff!important;border-radius:9px!important;box-shadow:inset 0 2px #fff5,0 3px #10519a!important;font:700 12px Arial!important;letter-spacing:0!important;text-transform:none!important}
#lobby #profileShortcut .profile-meta{min-width:0;flex:1;overflow:hidden}#lobby #profileNickname{max-width:100%;color:#072c5c;font-size:12px}#lobby #profileLevel{font-size:8px;color:#135280}#lobby .profile-initial{flex-shrink:0;width:24px;height:24px;border-radius:6px;background:#ffe283;color:#6f4410;font-size:13px}
#lobby .lobby-account #shopShortcut{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;gap:8px!important;align-items:center!important;text-align:left}
#lobby #shopShortcut small{font:800 9px Arial;letter-spacing:.8px;color:#164975}
#lobby #shopShortcut strong{display:flex;justify-content:flex-end;min-width:0;overflow:hidden;font:800 16px/1 monospace;color:#092a57;letter-spacing:0;text-shadow:none;gap:3px;white-space:nowrap}
#lobby #shopShortcut em{font:700 12px Arial;color:#092a57}#lobby #coinBalance{display:inline;min-width:0;max-width:100%;text-overflow:ellipsis;overflow:hidden}
#lobby #shopShortcut .recharge-label{font:700 9px Arial;color:#164975;white-space:nowrap}
#lobby .lobby-brand{margin:12px 0 0;flex-shrink:0}#lobby .lobby-brand small{color:#ffeea8;font:700 8px Arial;letter-spacing:1px}
#lobby .lobby-brand h2{font:900 53px/1 Arial;letter-spacing:3px;color:#ffe36e;text-shadow:0 3px #ef923a,3px 5px #8e4a27,5px 7px #062561;margin:5px 0 2px}
#lobby .lobby-brand p{font:900 12px Arial;letter-spacing:6px;color:#fff;text-shadow:0 2px #163d86;margin:7px 0}#lobby .lobby-brand span{font:600 11px Arial;color:#d9f8ff}
#lobby .lobby-cards{height:47px;margin:12px 0 10px;flex-shrink:0}#lobby .lobby-cards img{height:45px}
#lobby .lobby-menu>button{min-width:0!important;height:44px!important;min-height:44px!important;padding:8px 12px!important;margin:0 0 7px!important;border:2px solid #b1efff!important;border-radius:9px!important;background:linear-gradient(#51c8f0,#2198dc)!important;color:#092a57!important;box-shadow:inset 0 2px #fff5,0 3px #10519a!important;font:800 12px Arial!important;letter-spacing:.2px!important;text-transform:none!important}
#lobby .lobby-menu>button::after{display:none}#lobby .lobby-menu>button::first-letter{font-size:inherit}#lobby .lobby-menu>button:active,#lobby .lobby-account button:active{transform:translateY(2px);filter:brightness(1.12)}
#lobby .lobby-menu #playGame,#lobby .lobby-menu #playBot,#lobby .lobby-menu #registerPlayer,#lobby .lobby-menu #lobbyRules,#lobby .lobby-menu #supportShortcut,#lobby .lobby-menu #testVoice{background:linear-gradient(#51c8f0,#2198dc)!important;color:#092a57!important;font-size:12px!important}
#lobby .lobby-menu p,#lobby .xp-status{color:#d9f8ff;font:500 9px/1.4 Arial;margin:5px 0}#lobby .xp-track{background:#123478;height:4px}#lobby .xp-track>i{background:#ffe168}
#lobby footer{color:#e9ffdf;font:700 8px Arial;margin-top:8px;letter-spacing:2px}#lobby #activeSearchStatus{max-width:276px;background:#173e84;color:#fff2a2;border:2px solid #ffe283;box-shadow:0 3px #112654}#lobby #activeSearchStatus small{color:#d9f8ff}
#lobby [hidden]{display:none!important}

/* Money controls use the same bright green accent. */
#lobby .lobby-account #shopShortcut,#lobby .lobby-menu #playGame{background:linear-gradient(#9ef77f,#39ce70)!important;color:#083d29!important;border-color:#d0ffb9!important;box-shadow:inset 0 2px #ffffff80,0 3px #157c45!important}
#lobby #shopShortcut strong,#lobby #shopShortcut em{color:#07462b}#lobby #shopShortcut small,#lobby #shopShortcut .recharge-label{color:#135534}
#lobby .lobby-options{flex:0 0 auto;width:min(100%,276px);margin:0 auto 7px;border:1px solid #a8deff88;border-radius:9px;background:#163d84d9;color:#ecfaff}
#lobby .lobby-options summary{display:flex;justify-content:space-between;align-items:center;min-height:32px;padding:6px 10px;list-style:none;font:700 11px Arial;color:#e5f7ff;cursor:pointer;margin:0}
#lobby .lobby-options summary::-webkit-details-marker{display:none}#lobby .lobby-options[open] summary>span{transform:rotate(180deg)}
#lobby .options-content{padding:6px 9px 9px;border-top:1px solid #9acbff55}#lobby .options-content button{display:block;width:100%;min-height:34px;padding:7px 9px;margin:0 0 5px;background:#2d67ad;color:#e7f7ff;border:1px solid #86bde5;border-radius:6px;font:700 11px Arial;text-align:left;overflow-wrap:anywhere}
#lobby .options-content p{font:400 10px/1.4 Arial;color:#cde5fc;margin:7px 0}#lobby .options-content [hidden]{display:none!important}
#envidoResult .result-scores,#envidoResult #resultDetail,#envidoResult>small{display:none}#envidoResult.envido-result{width:min(78vw,280px)}#envidoResult.envido-result .result-award{font-size:18px;margin:14px 0;color:#9cffbc}
#exitDialog{position:fixed;inset:0;margin:auto;width:min(86vw,340px);max-height:85svh;padding:22px 20px;background:linear-gradient(#18498a,#123166);color:#ecfaff;border:2px solid #ffd96d;border-radius:16px;text-align:center;box-shadow:0 12px 50px #0009;font-family:Arial,sans-serif}
#exitDialog::backdrop{background:#030c26b3}.exit-warning{display:grid;place-items:center;margin:0 auto 12px;width:40px;height:40px;border:2px solid #ffe893;border-radius:50%;background:#ffe06d;color:#704016;font:900 26px Arial}
#exitDialog h2{font:800 21px Arial;margin:0 0 12px}#exitDialog p{font:14px/1.5 Arial;margin:0 0 15px}.exit-actions{display:flex;flex-direction:column;gap:9px}#exitDialog button{min-height:44px;padding:11px;border:1px solid #d8f1ff;border-radius:9px;font:700 13px Arial;background:#9be79a;color:#083d29}#exitDialog #confirmExit{background:#f9c774;color:#58330d;border-color:#ffe394}#exitDialog button:disabled{opacity:.5}#exitError{color:#ffcf94!important}

/* Online lobby: an arcade cash table in emerald and gold. */
#onlineDialog{font-family:Arial,sans-serif;background:linear-gradient(145deg,#104d39,#092d27);border:2px solid #e8bf53;border-radius:18px;color:#efffe9;padding:20px;width:min(92vw,410px)}
#onlineDialog .sheet-heading h2{font:800 23px Arial;color:#ffe596;display:flex;align-items:center;gap:8px}#onlineDialog h3{font:800 20px Arial;color:#fff0b7;margin:10px 0 14px}
#onlineDialog .match-panel{margin:12px 0 22px;padding:17px;border:2px solid #ccaa50;border-radius:13px;background:linear-gradient(145deg,#19694a,#104435);box-shadow:inset 0 2px #8cdba433,0 5px #06261c}
.real-play-label{display:block;color:#ffe595;font:800 9px Arial;letter-spacing:1.4px}#onlineDialog label{font:600 12px Arial;color:#d7ebd8}
#onlineDialog select,#onlineDialog input{width:100%;min-width:0;min-height:44px;padding:11px 12px;background:#082e23;color:#ffe38a;border:1px solid #e8c770;border-radius:9px;font:700 16px Arial;margin:7px 0 10px}
#onlineDialog p{font:12px/1.5 Arial;color:#d1e6d3}#onlineDialog button{min-height:42px;padding:11px 12px;font:800 13px Arial;border-radius:9px!important;box-shadow:inset 0 2px #fff5,0 3px #745820;background:linear-gradient(#ffe69e,#d4aa48)!important;color:#273e1b!important}
#onlineDialog #findRival{width:100%;background:linear-gradient(#a0f783,#39cc72)!important;color:#063d29!important;border:1px solid #d5ffc3;box-shadow:0 3px #176b42}
#onlineDialog #cancelSearch{width:100%;margin-top:9px}#onlineDialog button:disabled{opacity:.5}#onlineDialog #matchStatus{margin-bottom:0;color:#baffd6;min-height:20px}#onlineDialog #closeOnline{width:34px;min-height:34px;padding:5px}#onlineDialog .join-row{display:flex;gap:8px}#onlineDialog .join-row input{flex:1}
.gold-coin{display:inline-grid;place-items:center;flex-shrink:0;width:25px;height:25px;border-radius:50%;border:2px solid #ffe9a1;background:radial-gradient(circle at 35% 25%,#fff4b7,#f4c444 55%,#b77610);color:#815109;font:900 16px Arial;box-shadow:inset 0 0 0 2px #ba8419,0 2px #84500b;text-shadow:0 1px #fff2ad}
.table-stake{position:relative!important;inset:auto!important;left:auto!important;top:auto!important;transform:none!important;flex:0 0 auto;width:100%;max-width:none;margin:0;padding:6px 16px 5px;z-index:2;display:block;background:linear-gradient(#51401b,#2e2616);border:0;border-bottom:2px solid #cd9e32;border-top:1px solid #eedb8a88;border-radius:0;box-shadow:inset 0 2px #fff1;color:#ffe5a0}
.stake-duel{display:flex;align-items:center;justify-content:center;gap:18px}.stake-side{flex:1;max-width:145px;min-width:0;display:flex;flex-direction:column;align-items:center;gap:3px}.table-stake .stake-side small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:800 8px Arial;letter-spacing:1px;color:#fff0b2}.stake-side strong{display:flex;align-items:center;gap:7px;font:900 17px monospace;color:#ffdf69;text-shadow:0 1px #8c5b15}.stake-side .gold-coin{width:21px;height:21px;font-size:13px}.stake-vs{font:900 11px Arial;color:#f1cf80;border:1px solid #9e8035;border-radius:5px;padding:5px 6px}.stake-pot{text-align:center;margin-top:5px;color:#ebd39a;font:700 9px Arial}.table-stake[hidden]{display:none!important}
#authDialog .remember-email{display:flex;align-items:center;gap:8px;font:500 12px Arial;margin:10px 0}#authDialog .remember-email input{width:17px;height:17px;margin:0;accent-color:#80dc98}#authDialog .session-note{font:10px/1.4 Arial;color:#b6d0be;margin:0 0 12px}

#lobby .music-options{padding-bottom:10px;margin-bottom:9px;border-bottom:1px solid #9bc8ff44}#lobby .music-options label{display:flex;align-items:center;justify-content:space-between;font:600 10px Arial;color:#dcefff;margin:10px 0 5px}#lobby .music-options output{font:800 10px Arial;color:#ffe894}#lobby #musicVolume{display:block;width:100%;margin:7px 0 12px;accent-color:#9de987}#lobby #musicNext{font-size:10px;min-height:30px;background:#234f89}#lobby #musicNext:disabled{opacity:.5}

/* Separate voice and music controls, always within reach. */
#lobby .menu-audio-controls{display:flex;gap:7px;flex:0 0 auto;width:min(100%,276px);margin:0 0 9px}
#lobby .menu-audio-controls button{flex:1;min-width:0;min-height:32px;padding:6px;border:1px solid #8fcce9;border-radius:7px;background:#174a86;color:#e4f7ff;font:700 10px Arial;box-shadow:0 2px #0d2d60}
#lobby .menu-audio-controls button[aria-pressed=true]{border-color:#c1f5aa;background:#2d795d;color:#eaffdc}
.game-audio-controls{display:flex;align-items:center;justify-content:center;gap:8px;flex:0 0 auto;padding:5px 12px;background:#102f25;border-top:1px solid #927a41}
.game-audio-controls button{min-width:105px;min-height:30px;padding:5px 10px;border:1px solid #8e985b;border-radius:7px;background:#193d30;color:#e6e5bd;font:700 10px Arial}
.game-audio-controls button[aria-pressed=true]{border-color:#a6d889;background:#2a6848;color:#e7ffd2}
.game-audio-controls button[aria-pressed=false],#lobby .menu-audio-controls button[aria-pressed=false]{opacity:.75}

/* Readable, separated calls with room for confirmation and raises. */
#actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px 9px 10px;min-height:66px;align-items:stretch;background:linear-gradient(#143e2d,#09291f);border-top:1px solid #c9a658;border-bottom:1px solid #8e7943;box-shadow:none}
#actions:has(>button:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
#actions:has(>button:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}
#actions>button{min-width:0;min-height:46px;margin:0;padding:9px 5px!important;border-radius:10px!important;font:800 13px/1.15 Arial!important;letter-spacing:.25px;text-shadow:none;white-space:normal;overflow-wrap:normal;border:1px solid #ffdfa2!important;box-shadow:inset 0 2px #fff5,0 3px #8a6725;background:linear-gradient(#ffe6a0,#d7ac4e)!important;color:#173d28!important;transition:filter .12s,transform .12s}
#actions>button.secondary{background:linear-gradient(#286d4d,#174a35)!important;color:#fff0bf!important;border-color:#bca561!important;box-shadow:inset 0 2px #86c39744,0 3px #062b1c}
#actions>button[data-action=quiero]{background:linear-gradient(#a5ef86,#54bc76)!important;color:#103c26!important;border-color:#cdf7ae!important;box-shadow:inset 0 2px #e8ffd3,0 3px #1d7544}
#actions>button[data-action=no-quiero],#actions>button[data-action=mazo]{background:linear-gradient(#594c36,#343226)!important;color:#ffe8b0!important;box-shadow:inset 0 2px #b8a77b44,0 3px #201f18}
#actions>button.wide{grid-column:1/-1;font-size:13px!important}
#actions>button:disabled{opacity:.52;box-shadow:none;filter:saturate(.55);cursor:default}
#actions>button:active:not(:disabled){transform:translateY(2px);filter:brightness(1.12)}
#actions>button:focus-visible{outline:2px solid #eaffca;outline-offset:2px}
@media(max-width:360px){#actions{gap:6px;padding:7px 7px 9px}#actions>button{font-size:12px!important}}

/* Arcade scoreboard with traditional five-stick tallies. */
main>.score{height:98px;min-height:98px;padding:7px 8px 9px;gap:7px;background:linear-gradient(#133d58,#092a36);border-bottom:2px solid #dfb94e;box-shadow:inset 0 2px #6ca4b144,0 3px #081d25;align-items:center}
.score .score-side{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;flex-wrap:nowrap;min-width:0;gap:3px;height:80px;padding:5px 7px;border:2px solid #a0df84;border-radius:8px;background:linear-gradient(#1e6149,#113d32);box-shadow:inset 0 2px #b5f9ac44,0 3px #061d1d;position:relative}
.score .score-opponent{border-color:#81c9ff;background:linear-gradient(#1b4c83,#153453);box-shadow:inset 0 2px #b4e6ff44,0 3px #061d2c}
.score .score-side>span{flex:0 0 auto;max-width:100%;width:100%;font:800 9px/1.2 Arial;letter-spacing:.3px;color:#e8ffd9;text-align:center;text-shadow:0 1px #173d29;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.score .score-opponent>span{color:#e6f6ff;text-shadow:0 1px #133555}
.score .score-side>strong{display:block;flex:0 0 auto;color:#ffe26d;font:900 35px/.95 monospace;letter-spacing:2px;text-shadow:2px 2px #956011,0 0 11px #ffe06c44;font-variant-numeric:tabular-nums}
.score .score-opponent>strong{color:#a2e7ff;text-shadow:2px 2px #265a9a,0 0 11px #80d7ff55}
 .score .score-side .sticks{display:flex;flex:0 0 auto;justify-content:center;width:100%;height:17px;gap:8px;align-items:center;margin-top:1px}
.score .score-side .tally{display:block;position:relative;width:16px;height:16px;flex:0 0 16px}
.score .tally i{height:2px;background:#bce4cd18;box-shadow:none;border-radius:1px}
.score .score-player .tally i.counted{background:#ffe070;box-shadow:0 0 3px #ffe05a66}
.score .score-opponent .tally i.counted{background:#9de0ff;box-shadow:0 0 3px #72d2ff66}
.score .tally i.counted:after{background:#fff5c1;width:2px;height:2px;top:0}
.score .score-opponent .tally i.counted:after{background:#e2f9ff}
.score .is-leading::before{content:'★';position:absolute;top:-7px;left:-5px;display:grid;place-items:center;width:16px;height:16px;color:#ffe86d;font:900 13px Arial;filter:drop-shadow(0 1px #74501a)}
.score .goal{display:flex;flex-direction:column;align-items:center;gap:3px;width:27px;flex-shrink:0}
.score .goal>small:not(.sr-only){font:800 6px Arial;letter-spacing:.7px;color:#e6d69a}
.score .goal>span{display:grid;place-items:center;width:27px;height:27px;border:2px solid #e7c866;border-radius:6px;color:#ffe899;background:#294537;font:900 12px monospace;box-shadow:0 2px #0b1e19}
.score>.icon{width:26px;height:30px;border-radius:7px;background:#113543;border:1px solid #d4b862;color:#ffe18a}
.score>.back-home{font-size:28px}.score>.chat-icon{font-size:10px;letter-spacing:0}
.score .score-arrival{animation:arcade-score-hit .65s ease-out}
.score .score-arrival::after{inset:-3px;border:2px solid #ffe486;border-radius:9px;animation:arcade-score-ring .65s ease-out}
.flying-point{background:linear-gradient(#fff097,#efc443)!important;color:#50320a!important;border:2px solid #fff6bf!important;border-radius:7px!important;font:900 27px monospace!important;box-shadow:3px 4px #6b460f,0 0 17px #ffe17088!important}
@keyframes arcade-score-hit{0%{filter:brightness(1.7);transform:scale(1.05)}35%{transform:scale(1.08)}100%{filter:brightness(1);transform:scale(1)}}
@keyframes arcade-score-ring{0%{opacity:1;transform:scale(.95)}100%{opacity:0;transform:scale(1.1)}}
@media(max-width:360px){main>.score{gap:5px;padding-left:6px;padding-right:6px}.score .score-side{padding-left:5px;padding-right:5px}.score .score-side>strong{font-size:32px;letter-spacing:1px}.score .score-side>span{font-size:8px}.score .score-side .sticks{gap:1px}}
@media(prefers-reduced-motion:reduce){.score .score-arrival,.score .score-arrival::after{animation:none}.score .score-arrival{outline:2px solid #ffe486}}

/* Home menu: play first, one account card, sound controls together. */
#lobby{padding:calc(12px + env(safe-area-inset-top)) 16px calc(38px + env(safe-area-inset-bottom))}
#lobby .lobby-options{width:min(100%,320px);margin:0 auto 10px}
#lobby .lobby-brand{margin:2px 0 0}
#lobby .lobby-brand small{display:none}
#lobby .lobby-brand h2{font-size:48px}
#lobby .lobby-cards{margin:10px 0 8px;height:40px}
#lobby .lobby-cards img{height:39px}
#lobby .menu-section-title{width:min(100%,320px);margin:8px auto 9px;font:800 11px/1.4 Arial;color:#eefaff;letter-spacing:.6px;text-align:left}
#lobby .lobby-menu{width:min(100%,320px);max-width:320px;margin:0 auto 10px}
#lobby .lobby-menu>button{height:48px!important;min-height:48px!important;font-size:14px!important;padding:10px 13px!important;margin-bottom:9px!important}
#lobby .lobby-account{display:flex;flex-direction:column;flex:0 0 auto;width:min(100%,320px);max-width:320px;padding:12px;margin:2px auto 12px;border:1px solid #a6dfff66;border-radius:12px;background:#10397bd9;box-shadow:0 4px #0d2c6155}
#lobby .lobby-account .menu-section-title{width:100%;margin:0 0 9px;font-size:10px;color:#c2e9ff}
#lobby .lobby-account #profileShortcut{order:0;margin:0!important;background:transparent!important;border-color:transparent!important;color:#eefaff!important;box-shadow:none!important;padding:0!important;text-align:left}
#lobby #profileShortcut .profile-meta{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
#lobby #profileNickname{color:#fff3b4;font-size:14px}
#lobby #profileLevel{color:#bcdcff;font-size:9px}
#lobby .xp-status{width:100%;margin:4px 0 12px;padding-left:34px;font-size:9px}
#lobby .xp-track{height:5px;margin-top:5px;border-radius:3px;overflow:hidden}
#lobby .wallet-section{width:100%;padding-top:11px;border-top:1px solid #a6dfff33}
#lobby .lobby-account #shopShortcut{height:44px!important;min-height:44px!important;margin:0 0 8px!important}
#lobby #shopShortcut strong{font-size:19px}
#lobby .lobby-account #withdrawShortcut{order:0;height:34px!important;min-height:34px!important;margin:0!important;background:#174b86!important;color:#e5f7ff!important;border:1px solid #8dbfed!important;box-shadow:none!important;font-size:11px!important}
#lobby .menu-audio-controls{width:min(100%,320px);margin:0 auto 7px}
#lobby #activeSearchStatus{width:min(100%,320px);max-width:320px;margin:0 auto 10px}
#lobby button:focus-visible,#lobby summary:focus-visible{outline:3px solid #fff19b;outline-offset:3px}
@media(max-width:360px){.score .score-side .sticks{gap:6px}}

/* Simple online choices with readable type and concrete amounts. */
#onlineDialog{padding:18px;width:min(92vw,410px);max-height:86svh;overflow-y:auto}
#onlineDialog .sheet-heading{margin-bottom:14px;gap:10px;align-items:center}
#onlineDialog .sheet-heading h2{font-size:25px;margin:0}
#onlineDialog #closeOnline{width:44px;min-height:44px;font-size:25px;flex-shrink:0}
#onlineDialog .match-panel{padding:16px;margin:0 0 16px;border:1px solid #e7c66d;border-radius:12px;box-shadow:none;background:#12503d}
#onlineDialog h3{font-size:22px;line-height:1.25;margin:0 0 8px}
#onlineDialog p{font-size:16px;line-height:1.5;color:#e6f2e9;margin:8px 0 16px}
#onlineDialog label{display:block;font-size:16px;line-height:1.4;color:#f4ffef;margin:0 0 5px}
#onlineDialog select,#onlineDialog input{font-size:20px;min-height:52px;margin:0 0 12px;padding:12px}
#onlineDialog button{font-size:17px;min-height:50px;line-height:1.3;padding:12px}
#onlineDialog .online-money-summary{padding:12px;border-radius:9px;background:#062f25;border:1px solid #93bba055}
#onlineDialog .online-money-summary>div{display:flex;justify-content:space-between;align-items:center;gap:12px;font:16px/1.4 Arial}
#onlineDialog .online-money-summary strong{color:#ffe48e;font:800 21px/1.3 Arial;white-space:nowrap}
#onlineDialog .online-prize-row{border-top:1px solid #7cad8833;margin-top:10px;padding-top:10px}
#onlineDialog .online-prize-row strong{color:#bcffa4}
#onlineDialog .online-currency-note{font-size:14px;margin:8px 0 10px;color:#d8e9d9}
#onlineDialog .online-fee{margin:0 0 16px}
#onlineDialog summary{font:700 16px/1.4 Arial;cursor:pointer;color:#f8ecc5;min-height:44px;align-content:center}
#onlineDialog .online-fee summary{font-weight:400;text-decoration:underline}
#onlineDialog #matchStatus:empty{display:none}
#onlineDialog #matchStatus{font-size:16px;line-height:1.5;margin-top:14px;min-height:0}
#onlineDialog #resumeMatch{width:100%;margin-top:10px}
#onlineDialog .online-practice{border:1px solid #a3c9ae66;border-radius:10px;background:#0a332a}
#onlineDialog .online-practice>summary{position:relative;list-style:none;padding:13px 40px 13px 14px;color:#fff2c8;font-size:18px}
#onlineDialog .online-practice>summary::-webkit-details-marker{display:none}
#onlineDialog .online-practice>summary small{display:block;font:400 15px/1.5 Arial;color:#d2e7d5;margin-top:3px}
#onlineDialog .online-practice>summary>span{position:absolute;right:16px;top:18px}
#onlineDialog .online-practice[open]>summary>span{transform:rotate(180deg)}
#onlineDialog .online-practice-content{padding:0 14px 14px}
#onlineDialog #createRoom,#onlineDialog #copyInvite,#onlineDialog #shareInvite,#onlineDialog #enterTable{width:100%;margin:6px 0}
#onlineDialog .online-join{margin-top:12px}
#onlineDialog .join-row{align-items:stretch;gap:8px}
#onlineDialog .join-row input{margin:0;min-width:0;font-size:18px}
#onlineDialog .join-row button{margin:0;width:auto;flex-shrink:0}
#onlineDialog #onlineError:empty{display:none}
#onlineDialog #inviteLink{font-size:14px}
#onlineDialog [hidden]{display:none!important}
#onlineDialog button:focus-visible,#onlineDialog summary:focus-visible{outline:3px solid #fff2a3;outline-offset:3px}
@media(max-width:360px){#onlineDialog{padding:14px}#onlineDialog .match-panel{padding:12px}#onlineDialog .online-money-summary>div{font-size:15px;gap:8px}#onlineDialog .online-money-summary strong{font-size:19px}}

/* Each amount is a large illustrated table choice. */
#onlineDialog .online-tables{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}
#onlineDialog .online-table-choice{display:flex;flex-direction:column;align-items:stretch;min-width:0;padding:0 0 10px!important;margin:0;background:#082f29!important;color:#fff7d8!important;border:2px solid #719b8a;border-radius:10px!important;overflow:hidden;box-shadow:0 3px #04251d;text-align:center;position:relative}
#onlineDialog .online-table-choice[aria-pressed=true]{border-color:#ffe391;box-shadow:0 0 0 2px #ffe39144,0 3px #76632e}
#onlineDialog .online-table-scene{position:relative;display:flex;justify-content:center;align-items:flex-end;height:91px;background-size:100% 280%;background-position:center top;overflow:hidden;padding:10px}
#onlineDialog .online-table-scene img{width:30px;height:46px;object-fit:fill;border-radius:2px;box-shadow:0 2px 4px #0008;transform:rotate(-13deg);margin-right:-5px}
#onlineDialog .online-table-scene img+img{transform:rotate(13deg);margin-bottom:1px}
#onlineDialog .online-table-choice>strong{font:800 16px/1.3 Arial;color:#ffe595;padding:10px 4px 3px}
#onlineDialog .online-table-choice>small{font:400 13px/1.4 Arial;color:#e0f0df;padding:0 4px 7px}
#onlineDialog .online-table-select{font:700 14px/1.4 Arial;color:#bddac4}
#onlineDialog .online-table-choice[aria-pressed=true] .online-table-select{color:#cbffad}
#onlineDialog .online-selected{font-size:16px;color:#efffdc;margin-bottom:10px}
#onlineDialog .online-app-fee{font-size:16px;background:#082f25;border:1px solid #adc59255;padding:12px;border-radius:8px;margin:0 0 8px}
#onlineDialog .online-app-fee strong{font-size:20px;color:#ffe48e}
main[data-online-table] .table:before{display:none}
main[data-online-table] .table{background-size:100% 100%}
@media(max-width:360px){#onlineDialog .online-tables{gap:9px}#onlineDialog .online-table-choice>strong{font-size:15px}}
main[data-online-table="3000"] .table{background-image:linear-gradient(#1f8448,#1f8448),url("assets/table-scene.webp")}main[data-online-table="3000"] .back,main[data-online-table="3000"] .deck-stack{background-image:url("assets/online-back-3000.svg")}
main[data-online-table="5000"] .table{background-image:linear-gradient(#9a4c31,#9a4c31),url("assets/table-scene.webp")}main[data-online-table="5000"] .back,main[data-online-table="5000"] .deck-stack{background-image:url("assets/online-back-5000.svg")}
main[data-online-table="10000"] .table{background-image:linear-gradient(#367ba2,#367ba2),url("assets/table-scene.webp")}main[data-online-table="10000"] .back,main[data-online-table="10000"] .deck-stack{background-image:url("assets/online-back-10000.svg")}
main[data-online-table="20000"] .table{background-image:linear-gradient(#19a897,#19a897),url("assets/table-scene.webp")}main[data-online-table="20000"] .back,main[data-online-table="20000"] .deck-stack{background-image:url("assets/online-back-20000.svg")}
main[data-online-table="30000"] .table{background-image:linear-gradient(#25407f,#25407f),url("assets/table-scene.webp")}main[data-online-table="30000"] .back,main[data-online-table="30000"] .deck-stack{background-image:url("assets/online-back-30000.svg")}
main[data-online-table="50000"] .table{background-image:linear-gradient(#b89436,#b89436),url("assets/table-scene.webp")}main[data-online-table="50000"] .back,main[data-online-table="50000"] .deck-stack{background-image:url("assets/online-back-50000.svg")}

/* Match the practice camera and leave the same space for the cards. */
main[data-online-table] .table{background-blend-mode:color,normal;background-position:center;background-size:100% 100%;background-repeat:no-repeat}
main[data-online-table]>.score{height:70px;min-height:70px;padding:4px 8px 6px}
main[data-online-table] .score-side{height:58px;gap:2px;padding:3px 7px}
main[data-online-table] .score-side>strong{font-size:26px}
main[data-online-table] .score-side .sticks{height:14px;gap:7px}
main[data-online-table] .score-side .tally{width:13px;height:13px;flex-basis:13px}
main[data-online-table]>.table-stake{height:28px;min-height:28px;padding:3px 10px;border-bottom-width:1px}
main[data-online-table] .stake-duel{height:21px;gap:8px}
main[data-online-table] .stake-side{flex-direction:row;justify-content:center;gap:5px;max-width:none}
main[data-online-table] .stake-side strong{font-size:14px;gap:4px}
main[data-online-table] .stake-side .gold-coin{width:17px;height:17px;font-size:11px}
main[data-online-table] .stake-side small{max-width:55px;font-size:8px;letter-spacing:0}
main[data-online-table] .stake-vs{padding:2px 4px;font-size:9px}
main[data-online-table] .stake-pot{display:none}
/* Brief nonblocking result notice, dismissed automatically. */
#envidoResult.envido-auto-notice{position:fixed;inset:calc(112px + env(safe-area-inset-top)) 12px auto;margin:0 auto;width:min(calc(100vw - 24px),330px);max-width:330px;padding:13px 16px;background:#124d34;border:2px solid #e3c66b;border-radius:11px;box-shadow:0 5px 18px #0007;pointer-events:none;z-index:45;text-align:center}
#envidoResult.envido-auto-notice h2{font:800 20px/1.25 Arial;color:#fff0b3;margin:0 0 5px}
#envidoResult.envido-auto-notice .result-award{display:block;font:700 17px/1.3 Arial;color:#beffd3;margin:0}
#envidoResult.envido-auto-notice #resultContinue,#envidoResult.envido-auto-notice #resultClock{display:none}
/* A quiet, contextual next-step guide; never selects a game move. */
.next-step-guide{outline:3px solid #ffdc68!important;outline-offset:4px;animation:next-step-pulse 2s ease-in-out infinite}
#stepGuideHint{position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:55;width:min(calc(100vw - 28px),350px);padding:10px 13px;border:1px solid #e6cc79;border-radius:9px;background:#123c2fed;color:#fff2c7;font:700 15px/1.4 Arial;text-align:center;pointer-events:none}
dialog #stepGuideHint{position:static;width:100%;transform:none;inset:auto;margin:12px 0 0}
@keyframes next-step-pulse{0%,100%{outline-color:#ffdc6870}50%{outline-color:#ffe28e}}
@media(prefers-reduced-motion:reduce){.next-step-guide{animation:none;outline-color:#ffe28e!important}}
.reward-credit-state{margin:12px 0;padding:14px;border:1px solid #8bdfa355;border-radius:12px;background:#164c32;color:#caffd6}
.reward-credit-state p{font:700 15px/1.4 Arial;color:#caffd6!important;margin:0 0 8px}.reward-credit-state strong{font:800 23px Arial;color:#b6ffbb}
#winDialog.reward-counting #winPrize{color:#b1ffa9;font-variant-numeric:tabular-nums;text-shadow:0 0 14px #69f89466}
#winDialog.reward-deposited .reward-credit-state{animation:deposit-glow 1s ease-out;border-color:#a4f9b4}
@keyframes deposit-glow{0%{box-shadow:0 0 0 #55eb8000}45%{box-shadow:0 0 24px #55eb8088;background:#287a45}100%{box-shadow:0 0 0 #55eb8000}}
@media(prefers-reduced-motion:reduce){#winDialog.reward-deposited .reward-credit-state{animation:none}}
#tableStartDialog{background:linear-gradient(#165339,#0b3227);border:2px solid #e6c369;color:#f2ffe8}
#tableStartDialog h2{color:#ffe8a4}#tableStartDialog p{color:#d5ead4;font-size:16px}
#tableStartDialog .table-start-amount{display:block;font:800 29px Arial;color:#ffe28b;padding:14px 0}
#startChosenTable,#changeChosenTable{width:100%;margin-top:12px}
#tableStartDialog #startChosenTable{background:#a2e992;color:#123f28}
#tableStartDialog #changeChosenTable{background:#164731;border:1px solid #83ad87;color:#e6f4dc}

/* Practice result appears after the spoken call, with time to read. */
#envidoResult.envido-local-notice{top:38svh;padding:18px 20px;max-width:350px;width:min(calc(100vw - 24px),350px);border-width:2px;box-shadow:0 8px 24px #0008}
#envidoResult.envido-local-notice h2{font-size:23px;line-height:1.3;margin-bottom:8px}
#envidoResult.envido-local-notice .result-award{font-size:20px;line-height:1.35}
/* Envido: two comic point cards, then the winner. */
#envidoResult[data-stage=points]{padding:0;background:transparent;border:0;box-shadow:none;max-width:380px;width:min(calc(100vw - 20px),380px);top:34svh}
#envidoResult[data-stage=points] #resultWinner,#envidoResult[data-stage=points] .result-award,#envidoResult[data-stage=points] #envidoTie{display:none}
.envido-point-reveal{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:center;padding:10px 5px}
#envidoPointReveal[hidden]{display:none!important}
.envido-comic-points{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:125px;padding:17px 12px;color:#254560;background:#b7e9ff;border:3px solid #fff1ab;border-radius:27% 37% 28% 38%;transform:rotate(-5deg);box-shadow:4px 5px #143b53,0 4px 20px #0007}
.envido-comic-points.own{transform:rotate(5deg);background:#ffe384;color:#553a0d;box-shadow:4px 5px #73551a,0 4px 20px #0007}
.envido-comic-points:after{content:'';position:absolute;bottom:-11px;left:28%;width:19px;height:19px;background:inherit;transform:rotate(35deg);border-right:3px solid #fff1ab;border-bottom:3px solid #fff1ab}
.envido-comic-points small{font:800 12px/1.2 Arial;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.envido-comic-points strong{font:900 44px/1 monospace;text-shadow:2px 2px #fff8}
#envidoResult #envidoTie{font:600 14px/1.4 Arial;color:#e7f3cb;margin:9px 0 0}
@media(max-width:360px){.envido-comic-points{min-height:115px}.envido-comic-points strong{font-size:39px}.envido-point-reveal{gap:11px}}
.envido-comic-points strong{font:900 28px/1.15 Arial;letter-spacing:-.5px;white-space:normal}
.envido-point-reveal[data-speaker=rival] .rival,.envido-point-reveal[data-speaker=own] .own{outline:3px solid #a1ffb2;outline-offset:4px;box-shadow:4px 5px #214b37,0 0 20px #77e99c88}
@media(max-width:360px){.envido-comic-points strong{font-size:25px}}

/* Refined card stock: crisp faces, rounded edges and soft depth. */
.card,.flying-card{border:1px solid #efe5cf;border-radius:9px;background:#fffdf4;box-shadow:0 1px 0 #fff7,0 2px 0 #d4c8b0,0 5px 12px #0005;isolation:isolate}
.card img,.flying-card img{border-radius:8px;filter:saturate(1.08) contrast(1.025);image-rendering:auto}
.card:after,.flying-card:after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(115deg,#fff2 0%,transparent 38%,transparent 75%,#9b792a0a 100%);box-shadow:inset 0 0 0 1px #fff6,inset 0 0 0 3px #e1d7bd33;z-index:1}
.cards .card{box-shadow:0 1px 0 #fff8,0 2px 0 #d5c8ae,0 5px 11px #0006;transition:translate .16s ease-out,box-shadow .16s ease-out}
.cards .card.playable{border-color:#fff0bd;box-shadow:0 1px 0 #fff9,0 2px 0 #d5c8ae,0 6px 13px #0006}
.cards .card.dragging{box-shadow:0 2px 0 #e9ddc2,0 9px 18px #0007;filter:none}
.cards .card.ready-to-throw{outline:3px solid #a7e9b6;outline-offset:3px}
.trick .card{border-radius:7px;box-shadow:0 1px 0 #e6dac2,0 4px 8px #0005}
.trick .card img{border-radius:6px}
.back,.deck-stack{border:1px solid #f3df9a;box-shadow:0 1px 0 #e9dbbf,1px 3px 0 #baa57a,0 5px 9px #0005;border-radius:5px;overflow:hidden}
.deck-stack{box-shadow:1px 2px #eadcc1,2px 4px #b9a77f,3px 6px #e1cfaa,4px 8px #746046,0 8px 14px #0006}
@media(prefers-reduced-motion:reduce){.cards .card{transition:none}}

/* A clear full-width recharge action below the balance. */
#lobby .lobby-account #shopShortcut{height:88px!important;min-height:88px!important;padding:10px!important;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 36px;gap:8px 10px!important;border-radius:11px!important;overflow:visible!important}
#lobby #shopShortcut small{font:800 11px Arial;letter-spacing:.5px}
#lobby #shopShortcut strong{font-size:23px;justify-content:flex-end;max-width:100%;overflow:hidden}
#lobby #shopShortcut .recharge-label{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:36px;padding:7px 10px;border:1px solid #fff5c6;border-radius:7px;background:linear-gradient(#fff1ad,#f3d36d);color:#294322;font:800 16px/1.2 Arial;box-shadow:0 2px #728d35;white-space:nowrap}
#lobby #shopShortcut .recharge-label>span{margin-left:auto;font:800 24px/1 Arial;color:#294322}
#lobby #shopShortcut .recharge-label::before{content:'';width:15px}
@media(max-width:360px){#lobby #shopShortcut .recharge-label{font-size:15px}#lobby #shopShortcut strong{font-size:21px}}
/* A card is dealt once; dragging must not restart its entrance animation. */
.cards .card.deal-complete{animation:none}

/* Large table previews with an unmistakable entry amount. */
#onlineDialog .online-tables{grid-template-columns:minmax(0,1fr);gap:15px;margin:16px 0}
#onlineDialog .online-table-choice{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);padding:0!important;border:2px solid #91b397;border-radius:13px!important;text-align:left;min-height:148px;background:linear-gradient(125deg,#16472f,#082e27)!important;box-shadow:0 4px #051f18,0 7px 15px #0003}
#onlineDialog .online-table-choice[aria-pressed=true]{border-color:#ffe193;box-shadow:0 0 0 2px #ffe19333,0 4px #766127}
#onlineDialog .online-table-scene,#chosenTablePreview .online-table-scene{display:flex;position:relative;height:100%;min-height:148px;align-items:flex-end;justify-content:center;gap:0;padding:11px 8px;background-size:100% 100%;background-position:center;background-blend-mode:color,normal;border-right:1px solid #e4c67955;overflow:hidden}
.table-theme-tag{position:absolute;left:7px;right:7px;top:9px;padding:5px 7px;background:#071b14dc;border:1px solid #ffe59b88;border-radius:6px;text-align:center;font:800 13px/1.3 Arial;color:#fff0c5;z-index:2}
#onlineDialog .online-table-scene img,#chosenTablePreview .online-table-scene img{width:38px;height:59px;object-fit:fill;margin:0 -5px 6px;border-radius:4px;border:1px solid #ffe9b6;box-shadow:0 3px 8px #0009;transform:rotate(-14deg)}
#onlineDialog .online-table-scene img:nth-of-type(2),#chosenTablePreview .online-table-scene img:nth-of-type(2){transform:translateY(-6px) rotate(0deg);z-index:1}
#onlineDialog .online-table-scene img:nth-of-type(3),#chosenTablePreview .online-table-scene img:nth-of-type(3){transform:rotate(14deg)}
.online-table-info{display:flex;flex-direction:column;justify-content:center;gap:8px;padding:14px 12px;min-width:0}
.table-entry-label{font:700 9px/1.4 Arial;letter-spacing:.7px;color:#c4e0c9}
#onlineDialog .online-table-info>strong{font:900 27px/1.15 Arial;color:#ffe38d;white-space:nowrap;text-shadow:0 2px #69491a}
#onlineDialog .online-table-info>small{font:400 12px/1.5 Arial;color:#d5e9d6}
#onlineDialog .online-table-select{font:800 14px/1.4 Arial;display:block;color:#e3ffdb;border:1px solid #b0d69477;background:#245b39;border-radius:6px;padding:6px 7px}
#onlineDialog .online-table-choice[aria-pressed=true] .online-table-select{background:#6a5b28;border-color:#efcb6b;color:#fff0b4}
#chosenTablePreview{margin:0 0 13px;border:2px solid #e3c778;border-radius:11px;overflow:hidden}
#chosenTablePreview .online-table-scene{min-height:165px;border-right:0}
#chosenTablePreview .online-table-scene img{width:47px;height:73px;margin-bottom:9px}
#tableStartDialog #tableStartName{font:800 20px Arial;color:#ffe4a4;margin:8px 0 0}
#tableStartDialog .table-start-amount{font-size:32px}
@media(max-width:360px){#onlineDialog .online-table-choice{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.online-table-info{padding:12px 9px}#onlineDialog .online-table-info>strong{font-size:24px}#onlineDialog .online-table-select{font-size:13px;padding:6px 5px}.table-theme-tag{font-size:12px}#onlineDialog .online-table-scene img{width:33px;height:51px}}
/* Search stays visible just below the Play buttons on the home screen. */
#lobby #activeSearchStatus{position:relative;display:flex;flex-direction:column;gap:6px;width:min(100%,320px);max-width:320px;margin:0 auto 16px;padding:15px 14px 15px 43px;border:2px solid #b8f399;border-radius:11px;background:linear-gradient(#235b3c,#123b2b);color:#efffe7;text-align:left;box-shadow:0 4px #0a291d;animation:search-status-glow 2s ease-in-out infinite}
#lobby #activeSearchStatus>span{font:800 17px/1.3 Arial;color:#e9ffdc}
#lobby #activeSearchStatus>b{font:800 14px/1.4 Arial;color:#ffe395}
#lobby #activeSearchStatus>small{font:400 13px/1.5 Arial;color:#d8eed3}
#lobby #activeSearchStatus:before{content:'';position:absolute;left:15px;top:19px;width:14px;height:14px;border:2px solid #d6f5be55;border-top-color:#d6f5be;border-radius:50%;animation:search-status-spin 1.2s linear infinite}
#lobby #activeSearchStatus[data-state=error]{border-color:#f1ca78;background:#4a3b26;animation:none}
#lobby #activeSearchStatus[data-state=error]:before{content:'!';border:0;border-radius:0;width:16px;height:20px;font:800 21px Arial;color:#ffdb8d;animation:none}
#lobby .lobby-menu #playBot:disabled{opacity:.55;cursor:default}
@keyframes search-status-glow{0%,100%{box-shadow:0 4px #0a291d,0 0 0 #a3f67b00}50%{box-shadow:0 4px #0a291d,0 0 16px #a3f67b40}}
@keyframes search-status-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){#lobby #activeSearchStatus,#lobby #activeSearchStatus:before{animation:none}}

/* Full-height connection panel; reset legacy button sizing. */
#lobby #activeSearchStatus{flex:0 0 auto!important;height:auto!important;min-height:126px!important;max-height:none!important;overflow:hidden!important;width:min(100%,320px);padding:20px 16px 25px 46px!important;align-items:flex-start;justify-content:center;gap:9px;border:2px solid #83ffc1!important;border-radius:13px!important;background:radial-gradient(circle at top right,#176852,#072b31 75%)!important;color:#c8ffdf!important;box-shadow:inset 0 0 20px #3bffa815,0 4px #07282c,0 0 18px #31ffad30!important;white-space:normal!important;text-transform:none!important;letter-spacing:0!important}
#lobby #activeSearchStatus>*{position:static!important;inset:auto!important;transform:none!important;width:100%;height:auto!important;min-height:0!important;margin:0!important;white-space:normal!important;overflow-wrap:anywhere;text-align:left}
#lobby #activeSearchStatus>span{font:800 20px/1.35 monospace!important;letter-spacing:.3px!important;color:#a6ffce;text-shadow:0 0 9px #4affb466}
#lobby #activeSearchStatus>b{font:700 16px/1.4 Arial!important;color:#fff0b5}
#lobby #activeSearchStatus>small{font:400 14px/1.5 Arial!important;color:#d2eee4}
#lobby #activeSearchStatus:before{top:25px;left:17px;width:12px;height:12px;border:0;background:#70ffb7;box-shadow:0 0 10px #70ffb7;border-radius:50%;animation:connection-dot 2s ease-in-out infinite}
#lobby #activeSearchStatus:after{content:'';display:block!important;position:absolute;left:0;bottom:0;width:36%;height:4px;background:#87ffd0;box-shadow:0 0 12px #5affb4;animation:connection-scan 2.6s ease-in-out infinite}
#lobby #activeSearchStatus[data-state=error]{background:#34333c!important;border-color:#f3c986!important;animation:none}
#lobby #activeSearchStatus[data-state=error]:before{content:'!';background:none;box-shadow:none;color:#ffd590;animation:none}
#lobby #activeSearchStatus[data-state=error]:after{display:none!important}
@keyframes connection-dot{50%{opacity:.4;box-shadow:0 0 3px #70ffb7}}
@keyframes connection-scan{0%,100%{transform:translateX(-100%)}50%{transform:translateX(280%)}}
@media(prefers-reduced-motion:reduce){#lobby #activeSearchStatus,#lobby #activeSearchStatus:before,#lobby #activeSearchStatus:after{animation:none}}

/* Direct account entry stays visible above the game menu for signed-out visitors. */
#lobby .account-access{flex:0 0 auto;width:min(100%,320px);margin:0 auto 12px;padding:14px;border:2px solid #b6e8ff;border-radius:12px;background:#12376f;box-shadow:0 4px #08295b;text-align:left}
#lobby .account-access h3{margin:0 0 5px;color:#fff7d2;font:800 19px/1.3 Arial;letter-spacing:0}
#lobby .account-access p{margin:0 0 12px;color:#ddecff;font:400 14px/1.5 Arial;letter-spacing:0}
#lobby .account-access-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#lobby #menuLogin,#lobby #menuSignup{width:100%;height:auto!important;min-height:48px!important;margin:0!important;padding:12px 7px!important;border:2px solid #d0edff!important;border-radius:9px!important;font:800 16px/1.3 Arial!important;text-transform:none!important;letter-spacing:0!important;text-shadow:none!important;white-space:normal!important;box-shadow:0 3px #082757!important;background:#2874b4!important;color:#fff!important}
#lobby #menuSignup{background:linear-gradient(#fff0b6,#e7c66d)!important;color:#173b37!important;border-color:#fff2bf!important}
#lobby .account-access[hidden]{display:none!important}
