@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Outfit:wght@400;500;600;700;800;900&display=swap');
:root{--bg:#0d1f1a;--deep:#071510;--panel:#182e25;--panel2:#213b2e;--line:#3b5646;--gold:#e9c782;--cream:#f9f2dd;--muted:#a6b9a8;--red:#ba3e43;--green:#66b987;font-family:'DM Sans',system-ui,sans-serif;color:var(--cream);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-height:100vh;overflow-x:hidden;background:radial-gradient(circle at 20% 0%,#1b3a2d 0%,transparent 48%),radial-gradient(circle at 100% 90%,#122f25 0%,transparent 42%),var(--deep)}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}input{outline:none}a{color:inherit;text-decoration:none}.hidden{display:none!important}.ambient{pointer-events:none;position:fixed;z-index:-1;filter:blur(80px);opacity:.28}.ambient-a{width:36vw;height:36vw;left:-15vw;top:-8vw;background:#376a4a}.ambient-b{width:35vw;height:35vw;right:-20vw;bottom:-15vw;background:#a08135}
.site-header{height:82px;max-width:1500px;padding:0 6%;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff16}.brand{font-family:Outfit,sans-serif;font-weight:900;font-size:18px;display:flex;align-items:center;gap:12px;letter-spacing:.04em}.brand em{color:var(--gold);font-style:normal}.brand-mark{background:var(--gold);color:#143024;width:40px;height:40px;border-radius:11px;display:grid;place-items:center;font-size:28px;line-height:1}.header-right{display:flex;gap:10px;align-items:center;color:#bfdbc5;font-size:11px;font-weight:800;letter-spacing:.13em}.status-dot,.pulse{width:8px;height:8px;display:inline-block;background:#77cf96;border-radius:50%;box-shadow:0 0 0 4px #77cf9617}.divider-v{width:1px;height:14px;background:#ffffff32;margin:0 10px}.badge-beta{border:1px solid #d7ae625a;border-radius:100px;color:var(--gold);padding:8px 12px}
.home-wrap{max-width:1290px;margin:auto;min-height:calc(100vh - 82px);display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:8%;padding:60px 6% 100px}.eyebrow{font-size:11px;font-weight:900;letter-spacing:.19em;color:var(--gold)}.eyebrow span{font-size:17px}.hero-copy h1{font-family:Outfit,sans-serif;font-size:clamp(44px,5vw,76px);line-height:1.07;letter-spacing:-.055em;margin:26px 0}.hero-copy h1 i{color:var(--gold);font-style:normal}.hero-copy p{font-size:17px;line-height:1.75;color:#a9bdae;max-width:540px}.hero-stats{display:flex;gap:50px;margin-top:50px}.hero-stats div{display:flex;flex-direction:column}.hero-stats strong{font-family:Outfit,sans-serif;color:var(--gold);font-size:33px}.hero-stats span{color:#93a99b;font-size:13px}.home-card{background:linear-gradient(155deg,#274638,#1a342a 70%);border:1px solid #64856862;border-radius:25px;padding:42px;box-shadow:0 22px 80px #0005;position:relative}.home-cards-preview{height:116px;display:flex;justify-content:center;align-items:center;margin-bottom:12px}.preview-card{width:75px;height:109px;background:#f8f5e9;color:#12221c;border-radius:10px;border:4px solid #f8f5e9;box-shadow:0 8px 20px #0005;display:flex;flex-direction:column;align-items:flex-start;padding:6px 9px;justify-content:flex-start;font-size:23px;font-weight:900;font-family:Outfit;line-height:1.1}.preview-card span{font-size:30px}.preview-card.red{color:#c53c40}.preview-card:first-child{transform:rotate(-20deg) translate(16px,18px)}.preview-card:nth-child(2){transform:rotate(-8deg) translate(5px,2px)}.preview-card:nth-child(3){transform:rotate(5deg) translate(-7px,0)}.preview-card:nth-child(4){transform:rotate(17deg) translate(-20px,16px)}.preview-card.card-back{background:repeating-linear-gradient(45deg,#194433,#194433 7px,#e0b76c 8px,#194433 9px);border-color:#f9ebbd}.home-card h2{font-family:Outfit;font-size:27px;letter-spacing:-.02em;margin:20px 0 8px}.home-card>p{color:#b8c9b8;line-height:1.6;font-size:14px}.home-card label{display:block;margin:30px 0 9px;font-size:10px;font-weight:900;letter-spacing:.17em;color:var(--gold)}.home-card input{height:54px;padding:0 16px;width:100%;border:1px solid #74917d65;background:#11271d;color:#fff;border-radius:10px}.home-card input:focus{border-color:var(--gold)}.button{border:0;border-radius:10px;min-height:54px;display:inline-flex;align-items:center;justify-content:center;gap:14px;font-weight:800;transition:transform .15s,filter .15s}.button:not(:disabled):hover,.tool-button:hover{filter:brightness(1.09);transform:translateY(-2px)}.primary{background:var(--gold);color:#183025}.secondary{background:#355b46;color:#fff}.home-card>.button{width:100%;margin-top:12px;justify-content:space-between;padding:0 21px}.join-divider{display:flex;align-items:center;gap:15px;color:#8cae99;font-size:11px;margin:22px 0}.join-divider:before,.join-divider:after{content:"";flex:1;height:1px;background:#ffffff25}.join-row{display:grid;grid-template-columns:1fr auto;gap:10px}.join-row input{letter-spacing:.2em;font-weight:800}.join-row button{padding:0 20px}.home-note{text-align:center;color:#8eaa96!important;font-size:11px!important;margin:22px 0 0}
.room-wrap{max-width:1450px;padding:28px 4% 34px;margin:auto}.room-topline{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:20px}.room-title{font-family:Outfit;font-size:33px;letter-spacing:-.025em;margin:7px 0}.room-title span{color:var(--gold);letter-spacing:.05em}.room-tools{display:flex;gap:10px}.tool-button{border:1px solid #5e7864;background:#1d382a;color:#e7f1e2;border-radius:9px;padding:12px 15px;transition:.15s}.alert{padding:13px 17px;border-radius:10px;background:#5a2b2d;border:1px solid #b87568;color:#fff;margin-bottom:15px;font-size:14px}.lobby{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.7fr);gap:18px}.panel{background:#1b362a;border:1px solid #42644c;border-radius:18px;padding:30px}.panel h2{font:700 31px Outfit;margin:10px 0 5px}.panel p{color:#a8bcad;line-height:1.7}.lobby-seats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:30px 0}.lobby-seat{border:1px dashed #718b7566;border-radius:12px;display:flex;align-items:center;gap:13px;min-height:87px;padding:17px;background:#11281e8a}.lobby-seat.filled{border-style:solid;border-color:#8db39577}.seat-avatar{width:37px;height:37px;border-radius:50%;display:grid;place-items:center;background:#3b6146;color:#fff;font-weight:800}.seat-name{font-weight:800}.seat-meta{font-size:11px;color:#a7c1a8;margin-top:4px}.lobby-intro>.button{width:100%;padding:0 20px}.rules-card h3{font:800 13px Outfit;letter-spacing:.12em;color:var(--gold)}.rule-line{display:flex;gap:15px;align-items:baseline;border-bottom:1px solid #ffffff18;padding:14px 0}.rule-line span{font-size:12px;color:var(--gold);font-weight:900}.rule-line p{margin:0;font-size:13px}.small-rule{margin-top:24px;padding:15px;background:#284634;color:#c5d4c5;border-radius:10px;font-size:12px;line-height:1.7}
.game-status{padding:12px 18px;background:#1d3a2b;border:1px solid #446a4d;border-radius:12px 12px 0 0;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#d7e6d4;font-size:13px}.game-status>div{display:flex;align-items:center;gap:12px;font-weight:800}#last-action{font-size:12px;color:#9dbba5}.felt-table{min-height:420px;border:9px solid #563e2a;outline:2px solid #a27a4b;border-radius:0 0 60px 60px;position:relative;background:radial-gradient(ellipse at 50% 50%,#2c684b,#13432f 68%,#0a3121);box-shadow:inset 0 0 70px #082918,0 24px 30px #0003;overflow:hidden;padding:16px 22px 30px}.felt-texture{position:absolute;inset:0;opacity:.13;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100' height='100' filter='url(%23n)' opacity='.3'/%3E%3C/svg%3E")}.opponents{position:relative;display:flex;justify-content:space-around;gap:8px;z-index:1;margin:0 auto 14px;max-width:850px}.player-seat{display:flex;align-items:center;gap:9px;padding:8px 13px;border:1px solid #ffffff26;background:#072d2088;border-radius:100px;font-size:12px;color:#cbe1ce}.player-seat.active{box-shadow:0 0 0 2px #e1bf74;border-color:#e1bf74}.player-seat strong{white-space:nowrap}.player-seat .seat-cards{color:#a4c8ae}.player-seat .seat-round{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#ffffff18}.table-center{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1.05fr 1fr;gap:15px;min-height:294px;align-items:stretch}.team-zone{background:#061e1670;border:1px solid #ffffff1c;border-radius:18px;padding:15px;min-width:0}.team-title{display:flex;align-items:center;gap:10px;justify-content:space-between}.team-pill{font-size:10px;font-weight:900;letter-spacing:.08em;border-radius:100px;padding:7px 10px}.team-a{background:#dbbb72;color:#29432d}.team-b{background:#c6e2d0;color:#1b4934}.team-points{font-size:11px;color:#b2d0b5}.melds{display:flex;gap:9px;align-items:flex-start;flex-wrap:wrap;margin-top:16px}.meld-group{border:1px solid #ffffff28;background:#ffffff14;border-radius:9px;padding:7px;max-width:100%;cursor:default}.meld-group.own-meld{cursor:pointer}.meld-group.own-meld:hover,.meld-group.own-meld.chosen{border-color:var(--gold);background:#dfc47d25}.meld-cards{display:flex;padding-right:10px}.mini-card{height:43px;width:30px;border-radius:4px;background:#fbf8ed;border:1px solid #ddd9c8;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#14251c;font:900 12px Outfit;margin-right:-9px;box-shadow:0 2px 4px #0002}.mini-card.red{color:#b53e43}.mini-card small{font-size:14px;line-height:13px}.meld-caption{text-align:center;color:#e0e9d9;font-size:10px;margin-top:8px}.empty-meld{font-style:italic;font-size:12px;color:#a0c3a9}.center-piles{display:flex;justify-content:center;gap:16px;align-items:center;align-self:center}.pile-wrap{display:flex;flex-direction:column;align-items:center;gap:10px}.pile-label{font-size:10px;font-weight:900;color:#dcead8;letter-spacing:.12em}.playing-card{background:#f8f5e8;border:3px solid #efeee6;width:65px;height:91px;border-radius:7px;box-shadow:0 6px 14px #0004;position:relative;color:#16261c;padding:5px;display:flex;flex-direction:column;justify-content:flex-start;font:900 20px Outfit;user-select:none}.playing-card .suit{font-size:24px;line-height:1}.playing-card.red{color:#c53a41}.playing-card.back-card{background:repeating-linear-gradient(45deg,#174530,#174530 7px,#c8a66a 8px,#174530 9px);border-color:#eee0b7;color:#e7d6a6;align-items:center;justify-content:center;font-size:28px}.back-card small{display:block;background:#184a32;padding:3px;font-size:8px;letter-spacing:.1em}.dead-card{background:repeating-linear-gradient(45deg,#174530,#174530 7px,#b38f57 8px,#174530 9px)}.card-stack{position:relative}.card-stack:after{content:'';position:absolute;z-index:-1;inset:6px -5px -4px 5px;border-radius:6px;background:#dbcfaa}.pile-count{font-size:11px;color:#c9e0c7;white-space:nowrap}.empty-card{display:grid;place-items:center;background:#ffffff21;border:2px dashed #ffffff66;color:#ffffffa0;font-size:27px}
.player-panel{margin-top:22px;padding:22px 24px;background:#1b3629;border:1px solid #527858;border-radius:18px}.hand-toolbar{display:flex;align-items:center;justify-content:space-between}.hand-toolbar h3{font:800 21px Outfit;margin:5px 0}.selected-count{font-size:12px;color:var(--gold)}.hand-scroller{display:flex;gap:6px;overflow-x:auto;padding:18px 6px 24px;min-height:147px;scrollbar-width:thin;scrollbar-color:#659273 transparent}.hand-card{flex:0 0 75px;height:112px;border:3px solid #e5e1d4;border-radius:8px;background:#faf7eb;color:#23352a;box-shadow:0 5px 12px #0004;display:flex;align-items:flex-start;flex-direction:column;padding:6px;line-height:1;font:900 20px Outfit;position:relative;transition:transform .15s,border-color .15s}.hand-card .big-suit{font-size:31px;align-self:center;margin-top:8px}.hand-card.red{color:#bd3c42}.hand-card.wild{box-shadow:inset 0 0 0 2px #d5b064,0 5px 12px #0004}.hand-card.selected{border-color:var(--gold);transform:translateY(-13px);box-shadow:0 0 0 3px #e9c78270,0 12px 18px #0007}.action-bar{display:flex;flex-wrap:wrap;gap:10px}.action-bar .button{padding:0 19px;min-height:47px;font-size:13px}.button.outline{border:1px solid #849e89;background:#274a36;color:#fff}.button.danger{background:#633f39;color:#fff}.hint{font-size:12px;color:#a8bea8;margin:14px 0 0}.tv-info{display:flex;align-items:center;justify-content:center;gap:15px;margin-top:25px;padding:17px;border:1px dashed #6d9878;border-radius:12px;color:#dae8d9}.tv-info>span{font-size:35px;color:var(--gold)}.tv-info strong{font-size:12px;letter-spacing:.13em}.tv-info p{margin:4px 0 0;font-size:12px;color:#a7bdab}.footer-note{font-size:10px;color:#668b71;text-align:center;letter-spacing:.13em;font-weight:700;padding:30px 0}.footer-note span{color:var(--gold);margin:0 14px}
@media(max-width:1000px){.home-wrap{gap:4%;padding:45px 4%}.home-card{padding:28px}.table-center{grid-template-columns:1fr 1fr}.team-zone:last-child{grid-column:1/-1}.felt-table{border-radius:0 0 36px 36px}.team-zone{min-height:170px}}
@media(max-width:700px){.site-header{height:67px;padding:0 4%}.brand{font-size:13px;gap:7px}.brand-mark{width:33px;height:33px;font-size:24px}.badge-beta{font-size:9px}.header-right{font-size:0;gap:5px}.divider-v{margin:0 4px}.home-wrap{display:flex;flex-direction:column;gap:25px;padding:34px 5% 50px}.hero-copy h1{font-size:42px;margin:16px 0}.hero-copy p{font-size:14px}.hero-stats{margin-top:20px;gap:40px}.hero-stats strong{font-size:25px}.hero-stats span{font-size:11px}.home-card{width:100%;padding:26px}.home-cards-preview{height:100px;transform:scale(.9)}.room-wrap{padding:18px 3%}.room-title{font-size:26px}.room-topline{display:block}.room-tools{margin-top:12px}.tool-button{font-size:12px;padding:10px;flex:1}.lobby{display:block}.rules-card{margin-top:16px}.panel{padding:22px}.lobby-seats{gap:8px}.lobby-seat{padding:11px;gap:7px}.seat-name{font-size:12px}.game-status{font-size:11px;flex-direction:column;align-items:flex-start;gap:7px}#last-action{font-size:10px}.felt-table{padding:12px 8px 20px;border-width:5px;border-radius:0 0 24px 24px;min-height:430px}.opponents{gap:4px;overflow-x:auto;justify-content:flex-start}.player-seat{padding:5px 8px;gap:5px;flex-shrink:0;font-size:10px}.player-seat .seat-round{width:20px;height:20px}.table-center{display:flex;flex-direction:column;gap:10px}.center-piles{order:-1;gap:28px}.team-zone{width:100%;padding:10px;min-height:95px}.melds{margin-top:8px}.playing-card{width:56px;height:78px}.pile-wrap{gap:5px}.pile-label{font-size:9px}.player-panel{padding:15px 8px;margin-top:14px}.hand-toolbar{padding:0 8px}.hand-toolbar h3{font-size:17px}.hand-card{flex-basis:62px;height:97px;font-size:17px}.hand-card .big-suit{font-size:26px}.hand-scroller{gap:4px}.action-bar .button{flex:1;min-width:120px;padding:0 8px;font-size:12px}.hint{padding:0 8px;line-height:1.6}.footer-note{line-height:1.7}}

/* Solo testing: each virtual player retains a separate private token. */
.home-card>.solo-button{width:100%;margin-top:10px;justify-content:center;min-height:49px;background:#173e2d;border:1px solid #98b699;color:#f4e6c3;gap:12px;font-size:13px}
.home-card>.solo-button span:first-child{font-size:22px;color:var(--gold)}
.home-card>.solo-button span:last-child{margin-left:auto}
.home-card .solo-note{font-size:11px;color:#a9c8ae;margin:9px 0 0;text-align:center}
.solo-panel{background:linear-gradient(100deg,#254b34,#17372a);border:1px solid #c8a86d86;border-radius:15px;margin-bottom:16px;padding:18px 20px;box-shadow:0 9px 28px #0002}
.solo-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:15px}
.solo-panel-heading strong{display:block;font-family:Outfit,sans-serif;font-size:18px;margin-top:6px}
.solo-jump{min-height:37px;padding:0 15px;font-size:12px;background:var(--gold);color:#143326}
.solo-seats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.solo-seat{position:relative;display:flex;align-items:center;gap:9px;min-height:70px;background:#0f2b1fa0;border:1px solid #70907977;border-radius:10px;color:#eaf0e2;padding:11px;text-align:left;transition:.15s}
.solo-seat:hover{border-color:var(--gold)}
.solo-seat.selected-seat{border:2px solid var(--gold);background:#3c5c3d}
.solo-seat.turn-seat:not(.selected-seat){box-shadow:inset 0 0 0 1px #77c995}
.solo-seat-number{display:grid;place-items:center;flex:0 0 29px;width:29px;height:29px;border-radius:50%;background:#477354;color:#f2f6ed;font-weight:900;font-size:13px}
.solo-seat-label{display:flex;flex-direction:column;min-width:0;gap:4px}
.solo-seat-label strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}
.solo-seat-label small{font-size:10px;color:#b9d6bd;white-space:nowrap}
.turn-badge{position:absolute;right:7px;top:-8px;padding:4px 6px;background:#e9c782;color:#17372a;border-radius:5px;font-size:8px;font-weight:900;letter-spacing:.1em}
.solo-panel>p{font-size:11px;color:#b5d2b9;margin:13px 0 0;line-height:1.6}
@media(max-width:750px){.solo-panel{padding:15px 10px}.solo-panel-heading{align-items:flex-start}.solo-panel-heading strong{font-size:15px}.solo-jump{max-width:135px;min-height:42px;line-height:1.2;padding:6px 9px}.solo-seats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.solo-seat{min-height:63px;padding:9px}.solo-seat-label strong{font-size:11px}}

/* Accumulated scoreboard and round-end accounting, visible on phones and TV. */
.home-rules{margin-top:18px;border:1px solid #9eae8e55;border-radius:11px;background:#112d20;padding:13px 16px}
.home-rules summary{color:var(--gold);font-size:12px;font-weight:800;cursor:pointer;display:flex;justify-content:space-between;list-style:none}
.home-rules summary::-webkit-details-marker{display:none}
.home-rules-body{font-size:12px;line-height:1.6;color:#cedfcd}
.home-rules-body p{margin:10px 0 0}
.score-strip{display:grid;grid-template-columns:1fr minmax(145px,.85fr) 1fr;align-items:center;gap:12px;padding:18px 24px;background:linear-gradient(115deg,#18382a,#244834,#19382b);border:1px solid #719568;border-top:0;box-shadow:inset 0 1px #ffffff11}
.score-side{display:flex;flex-direction:column;gap:3px;align-items:flex-start}
.score-side-b{align-items:flex-end;text-align:right}
.score-side>span{font-size:11px;letter-spacing:.14em;font-weight:900;color:var(--gold)}
.score-side-b>span{color:#a9ddbc}
.score-side strong{font:900 clamp(27px,4vw,44px) Outfit,sans-serif;line-height:1.2;color:#fff;letter-spacing:-.02em}
.score-side small{font-size:11px;color:#b0d0b9}
.score-center{text-align:center;display:flex;align-items:center;flex-direction:column;gap:5px}
.score-center span{font-size:9px;color:var(--gold);font-weight:900;letter-spacing:.13em}
.score-center strong{font:900 14px Outfit,sans-serif;letter-spacing:.08em;color:#f7efd3}
.score-center small{font-size:9px;color:#b4d2b9;letter-spacing:.06em}
.round-result{margin-top:20px;padding:26px;background:linear-gradient(140deg,#204230,#122a20);border:1px solid #c4a86b77;border-radius:17px;box-shadow:0 10px 32px #0002}
.round-result-head{text-align:center;margin-bottom:20px}
.round-result-head h2{font:900 28px Outfit,sans-serif;color:#f1d38e;margin:8px 0}
.round-result-head p{font-size:13px;line-height:1.5;color:#b7d1bd;margin:4px auto;max-width:600px}
.round-teams{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.round-team{border:1px solid #5b8169;background:#10291fe0;border-radius:13px;padding:20px}
.round-team-winner{border-color:#ceb376;box-shadow:inset 0 0 0 1px #ceb37644}
.round-team h3{font:800 17px Outfit,sans-serif;margin:0 0 15px;color:var(--gold)}
.score-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;font-size:12px;color:#c7d9cd;border-bottom:1px solid #ffffff16}
.score-row strong{font-weight:800;color:#a2e2b0;font-variant-numeric:tabular-nums}
.score-row strong.negative{color:#f1a2a1}
.seat-penalties{display:flex;flex-wrap:wrap;gap:7px;color:#adbdad;font-size:10px;margin:9px 0 4px}
.seat-penalties span{padding:5px 8px;background:#ffffff12;border-radius:6px}
.round-team-total{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px;padding-top:13px;border-top:1px solid #d9c38665}
.round-team-total span{font-size:10px;letter-spacing:.08em;font-weight:900;color:#e4d39e}
.round-team-total strong{font:900 28px Outfit,sans-serif;color:#f3d892}
.round-next{text-align:center;margin:22px 0 0;font-size:12px;color:#c3d8c4}
.round-next .button{margin-top:10px;padding:0 25px}
.score-history{margin-top:17px;border:1px solid #587962;border-radius:13px;background:#153124;padding:13px 18px}
.score-history summary{cursor:pointer;display:flex;justify-content:space-between;gap:15px;list-style:none;font-size:13px;font-weight:800;color:#e5d29c}
.score-history summary::-webkit-details-marker{display:none}
.score-history summary span{font-size:11px;color:#a6c4ae;font-weight:500}
.history-line{display:grid;grid-template-columns:1fr auto;gap:7px 15px;border-top:1px solid #ffffff1a;margin-top:13px;padding-top:13px;font-size:12px;color:#cbdecc}
.history-line strong{color:#f0dfac}
.history-line small{grid-column:1/-1;color:#a3bca9}
.meld-caption b{display:block;margin-top:3px;font-size:10px;color:#f1d389}
@media(max-width:700px){.score-strip{padding:13px 10px;gap:5px;grid-template-columns:1fr 1fr 1fr}.score-center strong{font-size:10px}.score-center small{font-size:8px}.score-side>span{font-size:9px}.score-side small{font-size:9px}.score-side strong{font-size:27px}.round-result{padding:17px 12px}.round-teams{grid-template-columns:1fr}.round-team{padding:15px}}

/* Integração no portal: retorno e estado de conexão sem ocupar a mesa. */
.portal-back{color:inherit;text-decoration:none;font-size:13px;white-space:nowrap}#sync-status{font-size:11px}#home-error{color:#ffb1aa;line-height:1.5}.tv-mode .player-panel,.tv-mode .solo-panel{display:none!important}@media(max-width:600px){.header-right .divider-v,.header-right .badge-beta{display:none}.portal-back{font-size:11px}}

@media(max-width:600px){.site-header{height:auto;min-height:80px;flex-wrap:wrap;padding:12px 18px;gap:10px}.site-header .brand{font-size:15px;letter-spacing:0}.header-right{width:100%;justify-content:space-between;letter-spacing:0}.opponents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;overflow:visible}.player-seat{min-width:0;padding:6px 8px;gap:5px;font-size:10px}.player-seat strong{overflow:hidden;text-overflow:ellipsis}.player-seat .seat-cards{white-space:nowrap}.player-seat .seat-round{width:21px;height:21px;flex-shrink:0}}
/* Cartas legíveis: cada face tem espaço próprio; sequências têm rolagem local. */
.melds{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.meld-group{width:100%;min-width:0;padding:10px}.meld-cards{gap:5px;padding:2px 1px 8px;overflow-x:auto;max-width:100%;scrollbar-width:thin;scrollbar-color:#83a38a transparent;overscroll-behavior:contain}.mini-card{flex:0 0 47px;width:47px;height:75px;margin:0;padding:6px 3px;justify-content:space-between;box-sizing:border-box;overflow:hidden;font:700 18px/1 Georgia,serif}.mini-card b{font:700 18px/1 Georgia,serif}.mini-card small{font-size:23px;line-height:1}.mini-card em{font:600 9px/1.2 Arial,sans-serif;min-height:11px;white-space:nowrap;max-width:100%}.mini-card.as-wild{border:2px solid #d9b56d;background:#fff3cf}.meld-caption{font-size:11px;margin-top:5px}.meld-caption b{display:inline;margin-left:9px;font-size:11px}.hand-tools{display:flex;align-items:flex-end;flex-direction:column;gap:9px}.hand-tools label{display:flex;align-items:center;gap:8px;font-size:11px;color:#c9ddc9}.hand-tools select{font:600 12px Arial,sans-serif;color:#f6ecd4;background:#173629;border:1px solid #769980;border-radius:7px;padding:9px;min-height:38px;max-width:130px}.hand-order-note{font-size:11px;color:#bdd1b9;margin:12px 0 0}.hand-scroller{gap:20px;align-items:flex-start;padding-top:12px;padding-bottom:20px}.hand-suit-group{flex:0 0 auto;min-width:0}.hand-suit-group h4{font:650 11px/1.4 Arial,sans-serif;color:#d9dfbb;margin:0 0 2px}.hand-suit-cards{display:flex;gap:7px;padding-top:17px}.hand-card{width:75px;flex:0 0 75px;height:118px;font-family:Georgia,serif;overflow:hidden}.hand-card .rank-name{font:600 10px/1.2 Arial,sans-serif;margin-top:auto;align-self:center;padding-top:5px}.hand-card .big-suit{margin-top:5px}.pile-rank-name{font:700 9px/1.2 Arial,sans-serif;margin-top:auto}.meld-cards:focus-visible,.hand-tools select:focus-visible{outline:2px solid var(--gold);outline-offset:3px}@media(max-width:700px){.mini-card{flex-basis:44px;width:44px;height:70px}.mini-card b{font-size:17px}.mini-card small{font-size:21px}.mini-card em{font-size:8px}.hand-toolbar{align-items:flex-start;gap:10px}.hand-tools label{font-size:10px;gap:5px}.hand-tools select{font-size:11px;padding:7px;min-height:38px;max-width:110px}.hand-tools .selected-count{font-size:10px;text-align:right}.hand-order-note{padding:0 8px;line-height:1.6}.hand-scroller{gap:15px}.hand-card{width:64px;flex-basis:64px;height:104px;font-size:19px}.hand-card .rank-name{font-size:9px}.hand-suit-cards{gap:5px}}
.hand-swipe-hint{font-size:11px;color:#e6ca85;margin:0 5px 16px}.hand-swipe-hint[hidden]{display:none}
.buraco-rules-note{font:12px/1.6 Arial,sans-serif;color:#c1d4b9;margin:10px 0 14px;max-width:900px}

#player-count,#lobby-mode{width:100%;padding:12px;border:1px solid #769980;border-radius:8px;background:#173629;color:#f6ecd4;font:14px Arial,sans-serif;margin-bottom:14px;min-height:46px}.tv-share{margin:0 0 20px}.tv-share h2{margin-top:0}.tv-share p{font-size:13px;color:#cfdec7}.tv-share input{width:100%;padding:12px;background:#10291f;color:#fff;border:1px solid #729077;border-radius:8px;min-width:0}.tv-share>div{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.tv-share a{display:inline-block;text-decoration:none}#lobby-mode-controls{display:block;max-width:350px;font-size:12px;color:#cce0cc}
#lobby-mode-controls[hidden]{display:none}

.meld-group.aces-vertical{width:100%;display:flex;align-items:center;gap:18px}.aces-vertical .meld-cards{flex-direction:column;align-items:center;max-height:270px;overflow-y:auto;overflow-x:hidden;min-width:65px;width:65px;flex:0 0 65px;padding:3px 7px;gap:5px}.aces-vertical .mini-card{flex:0 0 75px}.aces-vertical .meld-caption{font-size:12px;text-align:left}.aces-vertical .meld-caption b{display:block;margin:10px 0 0}.aces-vertical .meld-caption:after{content:"Grupo de ases";display:block;margin-top:8px;color:#bfd1bb;font-size:11px}
/* Sobreposição leve, mantendo os índices de cada carta descobertos. */
.meld-group:not(.aces-vertical) .meld-cards{gap:0;padding:5px 2px 9px;isolation:isolate}
.meld-group:not(.aces-vertical) .mini-card{position:relative;align-items:flex-start;padding:6px 5px;box-shadow:-2px 2px 5px #071d1738}
.meld-group:not(.aces-vertical) .mini-card+.mini-card{margin-left:-11px}
.meld-group:not(.aces-vertical) .mini-card small{font-size:18px}
.meld-group:not(.aces-vertical) .mini-card em{font-size:8px;text-align:left}
.hand-suit-cards{gap:0;isolation:isolate;padding-right:4px}
.hand-suit-cards .hand-card{box-shadow:-3px 4px 9px #0003}
.hand-suit-cards .hand-card+.hand-card{margin-left:-21px}
.hand-suit-cards .hand-card .big-suit{align-self:flex-start;margin-left:3px;font-size:28px}
.hand-suit-cards .hand-card .rank-name{align-self:flex-start;font-size:9px}
.hand-suit-cards .hand-card.selected,.hand-suit-cards .hand-card:focus-visible{z-index:2}
.aces-vertical .meld-cards{gap:0;max-height:325px;padding:5px 7px 9px}
.aces-vertical .mini-card{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:20px 1fr;align-items:start;justify-content:initial;padding:6px 3px;box-shadow:0 -2px 4px #071d1733}
.aces-vertical .mini-card+.mini-card{margin-top:-40px}
.aces-vertical .mini-card b{font-size:17px}.aces-vertical .mini-card small{font-size:16px;line-height:20px}.aces-vertical .mini-card em{grid-column:1/-1;align-self:end}
.aces-vertical .mini-card:not(:last-child) em{visibility:hidden}
@media(max-width:700px){.hand-suit-cards .hand-card+.hand-card{margin-left:-16px}.hand-suit-cards .hand-card .big-suit{font-size:25px}.meld-group:not(.aces-vertical) .mini-card+.mini-card{margin-left:-10px}.aces-vertical .mini-card+.mini-card{margin-top:-40px}}
.meld-group:not(.aces-vertical) .mini-card em{max-width:25px;white-space:normal;line-height:1.05}
/* Leitura da mesa no celular: valores maiores, contraste e menos espaco vazio. */
.mini-card{flex-basis:52px;width:52px;height:88px}.mini-card b{font-size:21px}.mini-card small{font-size:23px}.meld-group:not(.aces-vertical) .mini-card small{font-size:22px}.meld-group:not(.aces-vertical) .mini-card em{font-size:11px;max-width:31px;line-height:1.1;min-height:13px}.meld-caption,.meld-caption b{font-size:14px;line-height:1.4}.meld-caption{margin-top:6px;color:#f2f5e9}.team-pill{font-size:13px;letter-spacing:.04em}.team-points{font-size:13px;color:#e2efdf}.empty-meld{font-size:14px;color:#cfe3cf}.pile-label{font-size:12px}.pile-count{font-size:13px;color:#e0eddb}.player-seat{font-size:14px}.player-seat .seat-cards{color:#d7e7d6}.hand-suit-group h4{font-size:14px}.hand-card .rank-name{font-size:11px}.hand-order-note{font-size:13px;color:#d8e5d2}.hand-tools label,.hand-tools select{font-size:13px}.hand-tools select{min-height:44px}.selected-count,#last-action{font-size:14px;color:#dce9d6}.aces-vertical .mini-card{flex-basis:88px}.aces-vertical .mini-card b{font-size:20px}.aces-vertical .mini-card small{font-size:20px}.aces-vertical .meld-caption,.aces-vertical .meld-caption:after{font-size:14px}.aces-vertical .meld-cards{max-height:380px}.aces-vertical .mini-card+.mini-card{margin-top:-48px}.aces-vertical .mini-card em{font-size:11px}.melds{gap:9px}.team-zone{padding:12px}.meld-group{padding:9px}
@media(max-width:700px){.mini-card{flex-basis:50px;width:50px;height:84px}.mini-card b{font-size:20px}.mini-card small{font-size:22px}.team-title{gap:8px}.team-pill{font-size:14px}.team-points{font-size:13px}.meld-caption,.meld-caption b{font-size:14px}.team-zone{padding:10px}.melds{margin-top:10px}.meld-group{padding:8px}.hand-card{font-size:22px}.hand-suit-group h4{font-size:14px}.hand-tools label,.hand-tools select{font-size:13px}.hand-tools .selected-count{font-size:13px}.hand-card .rank-name{font-size:11px}.hand-order-note{font-size:13px}.aces-vertical .mini-card{flex-basis:84px}.aces-vertical .mini-card+.mini-card{margin-top:-44px}}

.meld-group:not(.aces-vertical) .mini-card.normal-two em{font-size:10px;max-width:34px;line-height:1.1}.hand-card:not(.wild) .rank-name{color:inherit}.normal-two em{font-weight:700}

.discard-targets{flex-basis:100%;display:flex;flex-direction:column;gap:9px;padding:14px;border:1px solid #d7c18a88;border-radius:10px;background:#ffffff09;font:14px/1.5 Arial,sans-serif}.discard-targets strong{color:#f3e1aa}.discard-targets small{color:#d7e7d6;font-size:13px}.discard-targets .button{width:100%;white-space:normal;text-align:left;line-height:1.5;min-height:44px}

/* Preferencia local: a TV sempre conserva a mesa completa. */
.table-view-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:14px 0;padding:14px 16px;background:#173729;border:1px solid #6b8a6d;border-radius:12px}.table-view-controls strong{font-size:15px}.table-view-controls p{font-size:13px;line-height:1.5;margin:5px 0 0;color:#d8e6d1}.table-view-controls button{min-height:44px;white-space:normal;flex-shrink:0}.table-view-controls[hidden],.table-mini-summary[hidden],.felt-table[hidden],.compact-meld-controls[hidden]{display:none!important}.table-mini-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 20px;padding:14px;background:#143524;border:1px solid #58745d;border-radius:12px}.table-mini-summary>div{display:flex;flex-direction:column;gap:5px;min-width:0;overflow-wrap:anywhere}.table-mini-summary span{font-size:11px;color:#d4e2c9;letter-spacing:.05em}.table-mini-summary strong{font-size:18px;color:#f9efcf}.table-mini-summary small{font-size:12px}.compact-meld-controls{display:flex;flex-direction:column;gap:8px;border:1px solid #7d936a;border-radius:10px;padding:14px;margin:12px 0;color:#f8eed7}.compact-meld-controls label{font:700 14px/1.5 Arial,sans-serif}.compact-meld-controls select{width:100%;max-width:100%;min-height:44px;padding:10px;background:#122d20;color:#fff2d8;border:1px solid #8eaa8a;border-radius:8px;font:14px Arial,sans-serif}.compact-meld-controls small{font-size:13px;line-height:1.6;color:#d9e5ce}@media(max-width:700px){.table-view-controls{flex-direction:column;align-items:stretch;padding:12px;gap:10px}.table-view-controls button{width:100%;font-size:14px}.table-mini-summary{padding:12px;gap:8px}.table-mini-summary strong{font-size:16px}.compact-meld-controls{padding:12px}}

.hand-only-view .buraco-rules-note{display:none}
