.game-truco-cover{background:radial-gradient(ellipse at top right,#83563344,transparent 65%),linear-gradient(140deg,#163a36,#21172f)}
.truco-stage{--truco-gold:#f3d293;max-width:1050px;margin:20px auto;padding:clamp(14px,3vw,28px);border:1px solid #f3d29330;border-radius:24px;background:radial-gradient(ellipse at 50% 35%,#194c433b,transparent 65%),var(--bg-secondary,#181421);color:var(--text-primary,#f5f1fa);contain:layout style}
.truco-stage *{box-sizing:border-box}.truco-scoreboard{display:grid;grid-template-columns:1fr 1fr;gap:16px}.truco-score{display:grid;gap:7px;padding:14px 18px;border:1px solid #ffffff18;border-radius:16px;min-width:0}.truco-score>span:first-child{font-weight:700;color:var(--truco-gold)}.truco-score strong{font-size:32px;line-height:1.15}.truco-score strong small{font-size:14px;opacity:.65}.truco-score>span:last-of-type{font-size:12px;overflow-wrap:anywhere}.truco-score progress{width:100%;height:5px;accent-color:var(--truco-gold)}
.truco-status{text-align:center;margin:24px 0 18px;min-height:108px}.truco-status h3{font-size:clamp(18px,3vw,25px);line-height:1.3;margin:10px 0;overflow-wrap:anywhere}.truco-status p{font-size:13px;margin:8px 0;line-height:1.5}.truco-status .game-countdown{font-variant-numeric:tabular-nums;font-size:12px}
.truco-seats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.truco-seat{display:grid;gap:5px;padding:10px 12px;border:1px solid #ffffff15;border-radius:12px;min-width:0;overflow-wrap:anywhere}.truco-seat strong{font-size:13px}.truco-seat small{font-size:11px;opacity:.75}.truco-seat.is-turn{border-color:var(--truco-gold);background:#f3d2930a}.truco-seat.team-0{border-left:3px solid #71d1c0}.truco-seat.team-1{border-left:3px solid #bb9def}
.truco-table{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:16px;min-height:190px;margin:18px 0;padding:18px 10px;border-radius:22px;border:1px solid #ffffff12;background:#0a211b50}.truco-table-hint{text-align:center;font-size:13px;opacity:.6}.truco-played{display:grid;justify-items:center;gap:8px;max-width:110px;min-width:0}.truco-played small{max-width:100%;font-size:11px;overflow-wrap:anywhere;text-align:center}
.truco-stage .truco-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-between;flex:0 0 auto;width:90px;height:130px;min-height:0;padding:10px 8px;border:1px solid #ead9b9;border-radius:10px;background:linear-gradient(135deg,#fff9e8,#eadebe);color:#38302d;box-shadow:0 5px 12px #0003;transform:none;transition:transform .15s,box-shadow .15s;font-family:inherit;line-height:1.2;opacity:1}
.truco-card-value{font-size:23px;font-weight:800;align-self:flex-start}.truco-card svg{width:36px;height:36px;display:block;flex-shrink:0;margin:0}.truco-card-suit{font-size:10px;text-transform:uppercase;font-weight:750;letter-spacing:.07em}.truco-stage .suit-espadas{color:#305181}.truco-stage .suit-bastos{color:#376248}.truco-stage .suit-oros{color:#88561d}.truco-stage .suit-copas{color:#963f56}.truco-stage button.truco-card:disabled{cursor:default;filter:saturate(.7);opacity:.82}.truco-stage button.truco-card:enabled{cursor:pointer}.truco-stage button.truco-card:enabled:hover{transform:translateY(-5px);box-shadow:0 8px 15px #0004}.truco-stage button.truco-card:focus-visible{outline:3px solid #a6eada;outline-offset:4px}
.truco-hand-title{text-align:center;font-size:13px;font-weight:650;margin:18px 0 12px}.truco-hand{display:flex;justify-content:center;gap:12px;min-height:130px}.truco-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:10px;margin:22px 0}.truco-actions .btn-modern{width:auto;min-height:40px;flex:0 1 auto;white-space:normal}.truco-fold{max-width:300px;border:1px solid #ffffff25;border-radius:12px;padding:10px 14px;font-size:12px}.truco-fold summary{cursor:pointer;line-height:20px}.truco-fold p{line-height:1.5}.truco-envido-result{font-size:12px;line-height:1.65;text-align:center;padding:12px;border-radius:12px;background:#f3d2930b;overflow-wrap:anywhere}.truco-stage .game-rules{margin-top:16px}.truco-stage .game-rules p{font-size:13px;line-height:1.75;overflow-wrap:anywhere}
.truco-table-caption{flex:1 0 100%;text-align:center;font-size:11px;opacity:.7;margin:0}
@media(max-width:600px){.truco-stage{border-radius:16px;padding:12px}.truco-scoreboard{gap:8px}.truco-score{padding:12px 10px}.truco-table{gap:12px;min-height:150px}.truco-stage .truco-card{width:68px;height:104px;padding:8px 6px}.truco-card-value{font-size:20px}.truco-card svg{width:27px;height:27px}.truco-card-suit{font-size:8px}.truco-hand{gap:9px;min-height:104px}.truco-status{margin-top:20px}.truco-played{max-width:78px}.truco-actions{gap:8px}.truco-actions .btn-modern{font-size:12px;padding:10px 12px}}body.no-animations .truco-card{transition:none!important;transform:none!important;box-shadow:none!important}
@media(prefers-reduced-motion:reduce){.truco-stage .truco-card{transition:none!important;transform:none!important}}
