/* Apsis Pass — table styles */
.table{
  background:var(--slate-800);border:1px solid var(--rule);border-radius:var(--radius);
  position:relative;overflow:hidden;
}
.table::before{
  content:"";position:absolute;width:460px;height:460px;border:1px solid var(--rule-soft);
  border-radius:50%;top:-230px;left:50%;transform:translateX(-50%);pointer-events:none;
}
.table-head{
  display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;
  padding:18px 22px;border-bottom:1px solid var(--rule-soft);position:relative;z-index:1;
  background:rgba(23,27,34,.6);
}
.table-head h2{margin:0;font-size:1.15rem;letter-spacing:.06em;}
.readouts{display:flex;gap:10px;flex-wrap:wrap;}
.readout{
  border:1px solid var(--rule);border-radius:100px;padding:7px 16px;min-width:126px;
  display:flex;align-items:baseline;gap:9px;background:var(--slate-900);
}
.readout b{font-family:var(--display);font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gunmetal-deep);font-weight:600;}
.readout span{font-family:var(--display);font-size:1.02rem;color:var(--gunmetal-lit);
  font-variant-numeric:tabular-nums;}

.table-body{padding:clamp(20px,3.4vw,34px);position:relative;z-index:1;}

.track{
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,3vw,30px);
  max-width:620px;margin:0 auto clamp(22px,3vw,30px);
}
.slot{text-align:center;}
.slot-label{
  font-family:var(--display);font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--gunmetal-deep);margin-bottom:12px;display:block;
}
.slot-label i{font-style:normal;display:block;color:var(--ink-mute);letter-spacing:.08em;
  font-size:.66rem;margin-top:4px;}

.card-frame{perspective:900px;}
.playing-card{
  position:relative;width:100%;aspect-ratio:5/7;transform-style:preserve-3d;
  transition:transform .55s cubic-bezier(.3,.7,.3,1);
}
.playing-card.flipped{transform:rotateY(180deg);}
.face{
  position:absolute;inset:0;backface-visibility:hidden;border-radius:6px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  border:1px solid var(--rule);
}
.face-back{
  background:
    radial-gradient(circle at 50% 50%,var(--slate-600) 0 14%,transparent 14.5%),
    repeating-radial-gradient(circle at 50% 50%,transparent 0 13px,var(--rule-soft) 13px 14px),
    var(--slate-900);
}
.face-front{
  transform:rotateY(180deg);background:#eef1f5;color:#15181d;
  font-family:var(--display);justify-content:space-between;padding:10px 12px;
}
.face-front .rank{font-size:clamp(1.9rem,6vw,2.7rem);line-height:1;align-self:flex-start;}
.face-front .pip{font-size:clamp(1.6rem,5vw,2.3rem);}
.face-front .rank.flip{align-self:flex-end;transform:rotate(180deg);}
.face-front.red{color:#a63a33;}

.result{
  text-align:center;font-family:var(--display);min-height:2.6em;
  border:1px solid var(--rule-soft);border-radius:var(--radius);
  padding:14px 16px;background:var(--slate-900);margin-bottom:26px;
}
.result .head{font-size:1.05rem;letter-spacing:.06em;display:block;}
.result .sub{font-size:.9rem;color:var(--ink-mute);font-family:var(--body);letter-spacing:0;}
.result.win .head{color:var(--bronze);}
.result.lose .head{color:var(--clay);}
.result.push .head{color:var(--gunmetal-lit);}

.rank-grid{
  display:grid;grid-template-columns:repeat(13,1fr);gap:7px;margin-bottom:8px;
}
@media(max-width:760px){.rank-grid{grid-template-columns:repeat(7,1fr);}}
.rank-btn{
  font-family:var(--display);font-size:.95rem;padding:11px 0;border-radius:100px;
  border:1px solid var(--rule);background:var(--slate-900);color:var(--ink-soft);cursor:pointer;
  transition:.15s;
}
.rank-btn:hover:not(:disabled){border-color:var(--gunmetal);color:#fff;}
.rank-btn[aria-pressed="true"]{
  background:linear-gradient(145deg,var(--gunmetal-lit),var(--gunmetal) 60%,var(--gunmetal-deep));
  color:#15181d;border-color:transparent;font-weight:600;
}
.rank-btn:disabled{opacity:.4;cursor:not-allowed;}

.stake-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.stake-btn{
  font-family:var(--display);font-size:.82rem;letter-spacing:.06em;padding:10px 18px;border-radius:100px;
  border:1px solid var(--rule);background:var(--slate-900);color:var(--ink-soft);cursor:pointer;
}
.stake-btn[aria-pressed="true"]{border-color:var(--gunmetal);color:var(--gunmetal-lit);
  background:var(--slate-700);}
.stake-btn:disabled{opacity:.4;cursor:not-allowed;}

.ctl-block{margin-bottom:22px;}
.ctl-block > .slot-label{margin-bottom:10px;text-align:left;}

.msg{min-height:1.5em;font-size:.92rem;color:var(--ink-mute);margin-top:6px;}
.msg.warn{color:var(--clay);}

.table-foot{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;
  border-top:1px solid var(--rule-soft);padding:18px 22px;position:relative;z-index:1;}
.table-foot p{margin:0;font-size:.86rem;color:var(--ink-mute);max-width:46ch;}
.rules-table{width:100%;border-collapse:collapse;margin:14px 0 4px;font-size:.95rem;}
.rules-table th,.rules-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--rule-soft);
  color:var(--ink-soft);}
.rules-table th{font-family:var(--display);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gunmetal-deep);font-weight:600;}
