/* sedlec.css — Skulls of Sedlec styling (loaded after the shared styles.css). */

:root {
  --t-R: #e7b53c;   /* royal    — gold   */
  --t-P: #7ea36b;   /* peasant  — sage   */
  --t-T: #dfe4ee;   /* priest   — silver */
  --t-M: #e06a95;   /* romantic — rose   */
  --t-C: #737c90;   /* criminal — slate  */
  --stone: #4a4535;
}

/* --------------------------------------------------------- lobby form bits
   (sedlec.html loads only styles.css + this file, so the shared lobby form
   controls are repeated here.) */
.field {
  display: flex; flex-direction: column; gap: 8px;
  text-align: left; color: var(--muted); font-size: 0.9rem; margin: 14px 0;
}
.text-input {
  background: var(--bg); color: var(--text);
  border: 1px solid var(--panel-2); border-radius: 8px;
  padding: 10px 12px; font: inherit;
}
.count-row { display: flex; gap: 8px; }
.count-btn {
  flex: 1; background: var(--panel-2); color: var(--text);
  padding: 10px 0; font-weight: 700; border: 2px solid transparent;
}
.count-btn.selected { border-color: var(--accent); color: var(--accent); }
.name-row { display: flex; gap: 8px; }
.name-row .text-input { flex: 1; }
.name-row .ghost { flex: 0 0 auto; font-size: 1.1rem; }

/* --------------------------------------------------------------- layout */
.topbar { justify-content: space-between; }
.sedlec-scroll {
  flex: 1 1 auto; min-height: 0; overflow-y: auto;
  padding: 14px; display: flex; flex-direction: column; gap: 16px;
}
.section-label {
  font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.08em;
  color: var(--muted); margin-bottom: 8px;
}

/* --------------------------------------------------------------- cards */
.card {
  width: var(--card-w); height: var(--card-h);
  display: flex; flex-direction: column;
  border-radius: 7px; overflow: hidden;
  border: 1.5px solid rgba(0, 0, 0, 0.55);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.4);
  background: #12151c; flex: none;
}
.card.back {
  background:
    repeating-linear-gradient(45deg, #2c3140 0 6px, #262b38 6px 12px);
  display: flex; align-items: center; justify-content: center;
}
.card.back::after {
  content: '💀'; font-size: calc(var(--card-w) * 0.5); opacity: 0.5;
  filter: grayscale(0.4);
}

/* One skull inside a card. */
.sk {
  flex: 1 1 50%; display: flex; align-items: center; justify-content: center;
  position: relative; border-bottom: 1px solid rgba(0, 0, 0, 0.35);
}
.card .sk:last-child { border-bottom: none; }
.sk-emoji { font-size: calc(var(--card-w) * 0.44); line-height: 1; filter: drop-shadow(0 1px 1px rgba(0,0,0,0.4)); }
.sk.t-R { background: var(--t-R); }
.sk.t-P { background: var(--t-P); }
.sk.t-T { background: var(--t-T); }
.sk.t-M { background: var(--t-M); }
.sk.t-C { background: var(--t-C); }

/* ------------------------------------------------------------ graveyard */
.graveyard-wrap { align-self: center; width: 100%; max-width: 420px; }
.graveyard {
  --card-w: 52px; --card-h: 70px;
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 12px; justify-items: center;
  padding: 12px; border-radius: 14px;
  background: var(--panel); border: 1px dashed var(--panel-2);
}
.pile { position: relative; width: var(--card-w); height: var(--card-h); }
.pile.empty {
  border: 2px dashed rgba(255, 255, 255, 0.08); border-radius: 7px;
  background: rgba(0, 0, 0, 0.15);
}
.pile-count {
  position: absolute; top: -7px; right: -7px;
  min-width: 17px; height: 17px; padding: 0 4px; box-sizing: border-box;
  border-radius: 9px; background: var(--stone); color: #f3ecd6;
  font-size: 0.68rem; font-weight: 700; line-height: 17px; text-align: center;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}
.pile.flip-target { cursor: pointer; }
.pile.flip-target .card { outline: 2px solid var(--accent-2); outline-offset: 2px; }
.pile.flip-target:hover .card { filter: brightness(1.12); }
.pile.take-target { cursor: pointer; }
.pile.take-target .card { outline: 3px solid #6fdc8c; outline-offset: 2px; }
.pile.take-target:hover .card { filter: brightness(1.12); }

/* -------------------------------------------------------------- actions */
.actions { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.action-bar { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; }
.act-btn {
  background: var(--panel-2); color: var(--text);
  font-weight: 700; padding: 10px 16px; border: 2px solid transparent;
  border-radius: 10px; font-size: 0.95rem;
}
.act-btn:hover:not(:disabled) { background: #3d4557; }
.act-btn.active { border-color: var(--accent); color: var(--accent); }
.act-btn:disabled { opacity: 0.4; cursor: default; }
.action-hint { font-size: 0.82rem; color: var(--muted); text-align: center; min-height: 1.1em; }

/* ----------------------------------------------------------------- hand */
.hand {
  --card-w: 50px; --card-h: 68px;
  display: flex; align-items: center; gap: 10px; justify-content: center;
  flex-wrap: wrap; min-height: 68px;
}
.hand-label {
  font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.08em;
  color: var(--muted);
}
.hand-empty { color: var(--muted); font-size: 0.85rem; }
.hand-card.pickable { cursor: pointer; }
.hand-card.pickable:hover { transform: translateY(-3px); }
.hand-card { transition: transform 0.1s ease; }
.hand-card.sel { outline: 3px solid var(--accent); outline-offset: 2px; transform: translateY(-3px); }

/* --------------------------------------------------------------- boards */
.boards { display: flex; justify-content: center; }
.sboard {
  background: linear-gradient(180deg, #323a4b, #262c39);
  border: 1px solid #454f64; border-radius: 14px;
  padding: 12px 14px 10px; box-shadow: 0 3px 12px rgba(0, 0, 0, 0.4);
}
.sboard.active { border-color: var(--accent); box-shadow: 0 0 0 2px var(--accent), 0 3px 12px rgba(0, 0, 0, 0.4); }
.sboard.me .sboard-head { color: var(--accent-2); }
.sboard-head { display: flex; justify-content: space-between; align-items: baseline; gap: 14px; margin-bottom: 10px; }
.pname { font-weight: 700; }
.pscore { font-weight: 700; font-size: 1.3rem; }
.sboard-foot { font-size: 0.72rem; color: var(--muted); text-align: right; margin-top: 6px; }

/* the pyramid: cards placed absolutely, higher rows offset half a card. */
.crypt {
  --card-w: 48px; --card-h: 62px;
  position: relative;
  width: calc(var(--cols) * var(--card-w));
  height: calc(3 * var(--card-h));
  margin: 0 auto;
}
.crypt .card { position: absolute; }
.crypt .card.placed { animation: cardpop 0.18s ease; }
@keyframes cardpop { from { transform: scale(0.7); opacity: 0.4; } to { transform: scale(1); opacity: 1; } }
.slot-open {
  position: absolute; width: var(--card-w); height: var(--card-h);
  box-sizing: border-box; border-radius: 7px;
  border: 2px dashed var(--accent); background: rgba(245, 180, 0, 0.14);
  cursor: pointer;
}
.slot-open:hover { background: rgba(245, 180, 0, 0.3); }

/* --------------------------------------------------------- mini mats */
.minimats { display: flex; gap: 10px; overflow-x: auto; padding: 2px 2px 4px; -webkit-overflow-scrolling: touch; }
.minimats:empty { display: none; }
.sboard.mini { flex: 0 0 auto; padding: 8px 10px; }
.sboard.mini .crypt { --card-w: 22px; --card-h: 28px; }
.sboard.mini .pname { font-size: 0.74rem; }
.sboard.mini .pscore { font-size: 1rem; }
.sboard.mini .sboard-head { margin-bottom: 6px; }
.sboard.mini .sboard-foot { font-size: 0.62rem; }

/* --------------------------------------------------------- end screen */
.endscreen {
  background: var(--panel); border: 1px solid var(--accent);
  border-radius: 14px; padding: 18px; text-align: center;
}
.endscreen h2 { margin: 0 0 12px; }
.final-list { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; }
.final-row {
  display: grid; grid-template-columns: 24px 1fr auto 44px;
  align-items: center; gap: 10px; padding: 8px 10px;
  background: var(--panel-2); border-radius: 8px; text-align: left;
}
.final-row.win { outline: 2px solid var(--accent); }
.end-btns { display: flex; gap: 10px; }
.end-btns .primary, .end-btns .secondary { margin-top: 0; }
.fr-rank { color: var(--muted); font-weight: 700; }
.fr-name { font-weight: 600; }
.fr-extra { color: var(--muted); font-size: 0.82rem; letter-spacing: 0.02em; }
.fr-score { font-weight: 700; font-size: 1.2rem; text-align: right; }

/* --------------------------------------------------------- responsive */
@media (min-width: 720px) {
  .crypt { --card-w: 56px; --card-h: 72px; }
  .graveyard { --card-w: 58px; --card-h: 78px; }
  .hand { --card-w: 56px; --card-h: 74px; }
  .sboard.mini .crypt { --card-w: 26px; --card-h: 33px; }
}
