:root { --ocean-950:#102b29; --ocean-900:#183c39; --ocean-800:#23534c; --ocean-700:#326a5e; --coral:#d95f4c; --yellow:#f0c05f; }
.game-intro h1 em { color:var(--ocean-700); }
.pife-aliases { max-width:530px;margin:16px 0 0;color:#657169;font-size:.72rem;line-height:1.6; }
.pife-aliases span { margin-right:8px;color:var(--coral);font-size:.59rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase; }
.game-layout { min-height:690px; }
.felt-table { display:flex;flex-direction:column;justify-content:space-between;gap:20px;min-height:690px;background:radial-gradient(circle at 50% 45%,rgba(239,191,95,.1),transparent 36%),repeating-radial-gradient(circle at 50% 48%,transparent 0 160px,rgba(255,255,255,.045) 161px 162px,transparent 163px 320px),var(--ocean-800); }
.opponents { width:100%; }
.table-center { display:grid;justify-items:center;align-content:center;flex:1;max-width:none;min-height:270px; }
.table-kicker { margin:0 0 17px;color:var(--yellow);font-size:.62rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase; }
.draw-piles { gap:34px; }
.pile { min-height:142px; }
.pile:not(:disabled) { cursor:pointer; }
.pile:not(:disabled):hover,.pile:not(:disabled):focus-visible { border-color:var(--yellow);background:rgba(241,191,90,.13);outline:0; }
.table-reminder { display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px 12px;max-width:400px;margin:9px 0 0;padding:17px 22px;border-top:1px solid rgba(255,255,255,.17);color:#d0ded7; }
.table-reminder span { color:var(--yellow);font-size:.62rem;font-weight:700; }
.table-reminder p { margin:0;font-size:.67rem;line-height:1.45; }
.human-zone { width:100%;margin:0 auto;padding-bottom:8px; }
.human-hand { min-height:100px; }
.hand-card { position:relative;flex:0 0 auto;padding:0;border:0;background:none;cursor:pointer; }
.hand-card .playing-card { pointer-events:none; }
.hand-card.selected .playing-card,.hand-card:hover .playing-card,.hand-card:focus-visible .playing-card { z-index:2;outline:3px solid var(--yellow);outline-offset:2px;transform:translateY(-7px); }
.hand-card:focus-visible { outline:none; }
.quick-discard { display:block;margin:18px auto 0;padding:10px 17px;border:1px solid var(--yellow);border-radius:4px;background:var(--yellow);color:#19322d;font-size:.69rem;font-weight:700;cursor:pointer; }
.quick-discard:disabled { opacity:.45;cursor:default; }
.score-strip > div { gap:4px; }
.score-strip > div span { display:flex;align-items:center;gap:5px;padding:4px 6px;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:#d6e5dd;font-size:.58rem; }
.score-strip b { margin:0; }
.winning-hand { display:grid;gap:10px;margin:20px 0; }
.winning-meld { min-width:0;padding:9px 11px 11px;border:1px solid #d5c8b5;background:#f7efe2; }
.winning-meld-label { display:block;margin-bottom:8px;color:#586861;font-size:.61rem;font-weight:700;letter-spacing:.08em;text-align:left;text-transform:uppercase; }
.winning-meld-cards { display:flex;gap:7px;max-width:100%;overflow-x:auto;padding:2px 2px 4px; }
.winning-meld-cards .playing-card { margin-left:0;cursor:default; }
.result-dialog[hidden] { display:none; }
.game-taxonomy { grid-template-columns:repeat(3,minmax(0,1fr));margin-top:28px; }
.game-taxonomy strong { overflow-wrap:anywhere; }
@media(max-width:1100px) { .game-layout,.felt-table { min-height:0; }.table-center { min-height:260px; }.game-panel { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) {
  .game-intro { gap:14px; }.pife-aliases { font-size:.65rem; }
  .felt-table { gap:8px;padding:14px 10px 19px; }.opponents { margin-bottom:0; }
  .opponent { min-height:64px; }.table-center { min-height:244px; }
  .table-reminder { margin-top:3px;padding:10px 14px; }
  .human-zone { padding:11px 0 2px; }.human-label { margin-bottom:9px; }
  .human-hand { justify-content:center;gap:3px;min-height:82px; }
  .hand-card .playing-card { width:48px;height:70px; }.hand-card .playing-card .corner { font-size:.83rem; }.hand-card .playing-card>b { font-size:1.2rem; }
  .game-panel { grid-template-columns:1fr; }.game-taxonomy { grid-template-columns:1fr; }
}
@media(max-width:440px) {
  .score-strip > div { flex-wrap:wrap; }.score-strip > div span { font-size:.51rem; }
  .human-hand { gap:1px; }.hand-card .playing-card { width:35px;height:57px; }.hand-card .playing-card .corner { top:4px;left:4px;font-size:.7rem; }.hand-card .playing-card .corner small { font-size:.51rem; }.hand-card .playing-card>b { font-size:1rem; }
  .table-reminder { display:none; }.table-center { min-height:230px; }.quick-discard { margin-top:11px; }
  .winning-meld-cards .playing-card { width:54px;height:78px; }
}
