/* Readable, deliberate play: stable cards and one clear action at a time. */
.welcome{max-width:650px;margin:clamp(35px,9vh,100px) auto;text-align:center;padding:22px 8px}.welcome h1{font-size:clamp(42px,6vw,66px);margin-bottom:16px}.welcome p{line-height:1.7}.start-game{width:100%;max-width:430px;min-height:68px;font-size:23px;margin:24px 0 12px;display:inline-flex;align-items:center;justify-content:space-between}.lobby-settings{display:flex;flex-direction:column;align-items:center;color:var(--muted);font-size:14px}.friend-actions{display:flex;justify-content:center;gap:12px;margin-top:35px}.small-note{font-size:13px;margin-top:20px}
.controls b{display:block;font-size:18px;color:#fff8e6;line-height:1.4}.controls p{font-size:14px;line-height:1.6;margin:5px 0 10px}.controls .last-move{font-size:14px;color:var(--gold);padding-bottom:9px;margin-bottom:9px;border-bottom:1px solid #ffffff16;line-height:1.4}.guide{max-width:510px;margin:auto}.guide .primary,.trick-result .primary{margin-top:4px;min-height:44px}.thinking{color:var(--gold);letter-spacing:5px;font-size:12px}.hand-progress{font-size:15px;color:var(--gold)}
.bid-leading{color:var(--muted);font-size:14px;margin:6px 0}.bid-number{display:flex;justify-content:center;align-items:center;gap:24px;margin:8px 0}.bid-number button{width:44px;height:44px;padding:0;font-size:25px}.bid-number strong{font-size:27px;min-width:115px}.bid-number small{font-size:15px;font-weight:400;color:var(--muted)}.suit-picker{display:flex;justify-content:center;gap:8px;margin:10px 0}.suit-picker button{font-size:24px;min-width:45px;min-height:44px;padding:4px 10px}.suit-picker button:nth-child(2),.suit-picker button:nth-child(3){color:#f19b94}.suit-picker [aria-pressed=true],.target-btn[aria-pressed=true]{background:#e1c389!important;color:#0b3229!important;box-shadow:0 0 0 2px #e1c38966}.confirm-target{margin-top:12px}.table-toolbar{display:flex;align-items:center;justify-content:center;gap:20px}.table-toolbar button{font-size:14px;padding:8px}
.hand .card,.trick-card{animation:none!important}.hand .card{transition:transform .2s,outline-color .2s;user-select:none}.hand .card:disabled{opacity:.65}.trick-card.winning-card{z-index:8}.trick-card.winning-card .card{outline:3px solid var(--gold);box-shadow:0 0 25px #e1c38970}.player.active .avatar{outline:2px solid var(--gold);outline-offset:4px}.player.active>div:nth-child(2){color:var(--gold);font-weight:700}.player .stats{font-size:14px}
body[data-screen=table] .game-layout>div{grid-template-rows:minmax(160px,1fr) auto 26px auto;gap:8px}body[data-screen=table] .arena{min-height:160px}.controls{scroll-margin:12px}.controls button:focus-visible{outline:3px solid white;outline-offset:3px}
@media(max-width:800px){body[data-screen=table] .controls{padding:10px 12px}.controls .last-move{font-size:13px;padding-bottom:7px;margin-bottom:7px}.controls b{font-size:17px}.guide p{font-size:14px}.hand-progress{font-size:14px}.bid-number{margin:5px 0}.suit-picker{margin:8px 0}.player .stats{font-size:12px}.welcome{margin:7vh auto}.friend-actions button{padding:12px 16px}.lobby-settings{line-height:1.7}}
@media(max-height:760px){body[data-screen=table] .shell{height:auto;min-height:100dvh}body[data-screen=table] .game-layout>div{grid-template-rows:180px auto 26px auto}.shell>.center{margin-bottom:env(safe-area-inset-bottom,0px)}}
@media(prefers-reduced-motion:no-preference){.trick-card.arriving-card{animation:place-card .6s ease-out!important}.arena.collecting .trick-card{transition:translate .5s,opacity .5s;translate:0 45px;opacity:0}@keyframes place-card{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}}
.premove-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:10px 12px;border:1px solid #e1c38955;border-radius:12px;background:#e1c3890b;text-align:right;font-size:14px}.premove-bar>div{display:flex;align-items:center;gap:8px}.premove-bar button{padding:7px 12px;font-size:14px}.premove-bar small{color:var(--muted);font-size:12px;max-width:125px}.premove-hint{font-size:12px;color:var(--muted);margin-top:10px}.hand .card.queued{outline:3px solid #7bdebe!important;transform:translateY(-7px)!important;box-shadow:0 0 18px #7bdebe55}.hand .card.queued::after{content:'✓';position:absolute;top:-9px;right:-5px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font:700 14px Arial;color:#082d26;background:#7bdebe}.premove-bar b{display:inline;color:#7bdebe;font-size:16px}@media(max-width:800px){.premove-bar{gap:6px;padding:8px;font-size:13px;flex-wrap:wrap}.premove-bar>div{margin-right:auto}.premove-bar small{max-width:none}.premove-bar button{min-height:38px}.controls:has(.auction-picker) .premove-hint{display:none}body[data-screen=table]:has(.auction-picker) .shell{height:auto;min-height:100dvh}body[data-screen=table]:has(.auction-picker) .game-layout>div{grid-template-rows:170px auto 26px auto}}

/* Clear suit identity and advance notice for automatic moves. */
.suit-mark{display:inline-block;font-weight:800;line-height:1.1;min-width:1em;text-align:center;text-shadow:0 1px 2px #0008}
.suit-0{color:#75e0b0}.suit-1{color:#ffbf75}.suit-2{color:#ff8796}.suit-3{color:#9bc8ff}.suit-4{color:#f1d594}
.suit-picker button[aria-pressed="true"] .suit-mark,.primary .suit-mark{color:#162e29;text-shadow:none}
.opener{display:block;color:#edcf8c;font-size:11px;font-weight:700;margin-top:3px}
.auto-notice{display:grid;gap:5px;color:#f5d58b}.auto-notice small{color:#c7d6cd}.auto-pulse{letter-spacing:5px;animation:auto-pulse 1s ease-in-out infinite}
.hand .card.auto-card{outline:3px solid #f4cd78;box-shadow:0 0 0 6px #f4cd7833,0 0 24px #f4cd7866;transform:translateY(-18px);z-index:8}
@keyframes auto-pulse{50%{opacity:.35}}
@media(prefers-reduced-motion:reduce){.auto-pulse{animation:none}}

.target-btn:disabled{opacity:.35;text-decoration:line-through;text-decoration-thickness:1px;cursor:not-allowed;box-shadow:none}.bid-total{display:inline-block;font-variant-numeric:tabular-nums}
