/* Bluffing and hidden-role games: Power Grab (a candle-lit court in plum and gold), Rebel Cell
   (a safehouse map table), Round Table (oak and banners). */

/* ---------- Power Grab ---------- */
body[data-game="powergrab"] #felt { background: radial-gradient(ellipse 60% 55% at 50% 50%, rgba(255, 220, 160, .09), transparent 70%), radial-gradient(ellipse 120% 100% at 50% 50%, #4a2a3a 0%, #321c28 55%, #12080e 100%); }
body[data-game="powergrab"] #print, body[data-game="powergrab"] .fan { display: none; }
.pg-card { position: relative; width: 100%; aspect-ratio: 5 / 7; box-sizing: border-box; border-radius: 10px; padding: 6px 5px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; text-align: center;
  background: linear-gradient(170deg, #fffaf0, #efe4cc); box-shadow: inset 0 0 0 4px var(--c), inset 0 0 0 6px #fffaf0, inset 0 0 0 7px var(--c), 0 3px 8px rgba(0, 0, 0, .45); color: #2a1a10; }
.pg-card b { font-size: 34px; line-height: 1; }
.pg-card strong { font-family: var(--display); font-weight: 700; font-size: 15px; color: var(--c); }
.pg-card em { font-style: normal; font-family: var(--ui); font-weight: 600; font-size: 9px; line-height: 1.2; color: #5a4a3a; }
.pg-card.back { background: radial-gradient(circle at 50% 40%, #6a3a5a, #2a1220); box-shadow: inset 0 0 0 4px #c9a35a, 0 3px 8px rgba(0, 0, 0, .45); }
.pg-card.back b { font-size: 30px; }
.pg-card.lost { filter: grayscale(.85) brightness(.7); transform: rotate(-6deg); }
#powergrab { position: absolute; left: 0; top: 0; width: 0; height: 0; z-index: 2; }
.pg-mid { position: absolute; left: 0; top: 0; transform: translate(-50%, -55%); display: flex; align-items: center; gap: 3vmin; }
.pg-court { display: flex; flex-direction: column; align-items: center; }
.pg-court b { font-family: var(--num); font-weight: 400; font-size: 4vmin; color: var(--ivory); }
.pg-court small { font-family: var(--ui); font-size: 1.2vmin; color: var(--gold-ink); }
.pg-claim .pg-card { width: 13vmin; } .pg-claim .pg-card b { font-size: 5vmin; } .pg-claim .pg-card strong { font-size: 2vmin; } .pg-claim .pg-card em { font-size: 1.2vmin; }
.pg-seat { position: absolute; left: 0; top: 0; display: flex; align-items: center; gap: .8vmin; }
.pg-seat .pg-card { width: 7vmin; padding: .5vmin; border-radius: 1vmin; } .pg-seat .pg-card b { font-size: 3vmin; } .pg-seat .pg-card strong { font-size: 1.2vmin; } .pg-seat .pg-card em { display: none; }
.pg-seat.out { opacity: .55; }
.pg-coins { display: flex; flex-direction: column; align-items: center; max-width: 8vmin; font-size: 1.6vmin; line-height: 1; word-break: break-all; text-align: center; }
.pg-coins b { font-family: var(--num); font-weight: 400; font-size: 2.6vmin; color: #f3d67a; margin-top: .3vmin; }
#pgPhone { width: 100%; max-width: 440px; display: flex; flex-direction: column; gap: 10px; }
.pg-mine { display: flex; justify-content: center; gap: 12px; }
.pg-mine .pg-card, .pg-mine button { width: 128px; }
.pg-mine button { padding: 0; border: 0; background: none; cursor: pointer; }
.pg-mine.pool { flex-wrap: wrap; gap: 8px; }
.pg-mine.pool button { width: 96px; transition: transform .15s; }
.pg-mine.pool button.sel { transform: translateY(-8px); }
.pg-mine.pool button.sel .pg-card { outline: 3px solid var(--champagne); }
.pg-acts { display: flex; flex-direction: column; gap: 6px; }
.pg-acts.grid { display: grid; grid-template-columns: 1fr 1fr; }
.pg-act { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; text-align: left; padding: 10px 12px; }
.pg-act b { font-size: 15px; } .pg-act small { font-size: 11px; color: var(--gold-ink); font-weight: 600; }
.pg-note { margin: 0; text-align: center; font-family: var(--serif); font-style: italic; font-size: 17px; color: var(--ivory); }
.pg-alert { padding: 10px; border-radius: 10px; background: rgba(201, 163, 90, .2); box-shadow: inset 0 0 0 1px rgba(255, 220, 150, .45); font-family: var(--ui); font-size: 14px; color: var(--ivory); text-align: center; }
.pg-alert.dim { background: rgba(0, 0, 0, .25); box-shadow: none; color: var(--mute); }
body[data-game="powergrab"] { background: linear-gradient(180deg, #3a2030, #12080e); }
body[data-game="powergrab"] #handWrap, body[data-game="powergrab"] #handHint { display: none; }

/* ---------- Rebel Cell / Round Table ---------- */
body[data-game="rebelcell"] #felt { background: radial-gradient(ellipse 60% 55% at 50% 50%, rgba(200, 230, 255, .07), transparent 70%), radial-gradient(ellipse 120% 100% at 50% 50%, #2a3a3a 0%, #1c2828 55%, #080e0e 100%); }
body[data-game="roundtable"] #felt { background: radial-gradient(ellipse 60% 55% at 50% 50%, rgba(255, 230, 180, .1), transparent 70%), radial-gradient(ellipse 120% 100% at 50% 50%, #5a3a1e 0%, #3e2814 55%, #140c06 100%); }
body[data-game="rebelcell"] #print, body[data-game="roundtable"] #print, body[data-game="rebelcell"] .fan, body[data-game="roundtable"] .fan { display: none; }
#rebel { position: absolute; left: 0; top: 0; transform: translate(-50%, -60%); display: flex; flex-direction: column; align-items: center; gap: 2.4vmin; z-index: 2; }
.rb-missions { display: flex; gap: 2vmin; }
.rb-m { width: 11vmin; height: 11vmin; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; background: rgba(0, 0, 0, .3); box-shadow: inset 0 0 0 .3vmin rgba(255, 255, 255, .25); }
.rb-m b { font-family: var(--num); font-weight: 400; font-size: 4.4vmin; color: var(--ivory); line-height: 1; }
.rb-m small { font-family: var(--ui); font-weight: 700; font-size: 1.1vmin; color: var(--gold-ink); }
.rb-m.now { box-shadow: inset 0 0 0 .4vmin var(--champagne-hi), 0 0 2vmin rgba(255, 230, 170, .35); }
.rb-m.ok { background: radial-gradient(circle at 40% 35%, #6ac48a, #1f6a3a); box-shadow: 0 .6vmin 1.4vmin rgba(0, 0, 0, .5); }
.rb-m.bad { background: radial-gradient(circle at 40% 35%, #e0666c, #7a1a22); box-shadow: 0 .6vmin 1.4vmin rgba(0, 0, 0, .5); }
.rb-m.ok small, .rb-m.bad small { color: #fff; }
.rt .rb-m { border-radius: 30%; }
.rb-rej { display: flex; align-items: center; gap: .8vmin; }
.rb-rej small { font-family: var(--ui); font-weight: 800; font-size: 1.2vmin; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-ink); margin-right: .6vmin; }
.rb-rej i { width: 2.2vmin; height: 2.2vmin; border-radius: 50%; box-shadow: inset 0 0 0 .2vmin rgba(255, 255, 255, .35); }
.rb-rej i.on { background: #c0392b; box-shadow: none; }
.rb-team { display: flex; gap: 1vmin; flex-wrap: wrap; justify-content: center; }
.rb-team span { font-family: var(--ui); font-weight: 700; font-size: 1.8vmin; padding: .5vmin 1.4vmin; border-radius: 99px; background: color-mix(in srgb, var(--c) 40%, #111); color: #fff; box-shadow: inset 0 0 0 .14vmin var(--c); }
#rbPhone { width: 100%; max-width: 420px; display: flex; flex-direction: column; gap: 12px; }
.rb-role { position: relative; border-radius: 14px; min-height: 120px; user-select: none; -webkit-user-select: none; touch-action: none; }
.rb-face { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 14px; border-radius: 14px; background: linear-gradient(170deg, #2a3a4a, #142028); box-shadow: inset 0 0 0 2px #5a8aaa; visibility: hidden; }
.rb-role.s1 .rb-face { background: linear-gradient(170deg, #4a2a2a, #200e0e); box-shadow: inset 0 0 0 2px #c0392b; }
.rb-role.open .rb-face { visibility: visible; }
.rb-role.open .rb-hide { display: none; }
.rb-face b { font-size: 40px; }
.rb-face strong { font-family: var(--display); font-size: 24px; color: var(--ivory); }
.rb-face em { font-style: normal; font-family: var(--ui); font-size: 13px; color: var(--mute); text-align: center; }
.rb-face ul { margin: 6px 0 0; padding: 0; list-style: none; font-family: var(--ui); font-weight: 700; font-size: 14px; color: #ffd0a0; text-align: center; }
.rb-hide { position: absolute; inset: 0; display: grid; place-items: center; border-radius: 14px; background: repeating-linear-gradient(45deg, #1a1a1a 0 10px, #222 10px 20px); font-family: var(--ui); font-weight: 700; color: var(--gold-ink); }
.rb-note { margin: 0; text-align: center; font-family: var(--serif); font-style: italic; font-size: 17px; color: var(--ivory); }
.rb-pick { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.rb-pick button { display: flex; align-items: center; gap: 8px; padding: 12px; border-radius: 10px; border: 1px solid var(--hairline-hi); background: rgba(255, 255, 255, .04); color: var(--ivory); font-family: var(--ui); font-weight: 700; font-size: 15px; cursor: pointer; }
.rb-pick button i { width: 12px; height: 12px; border-radius: 50%; }
.rb-pick button.sel { background: var(--champagne); color: #17130c; }
.rb-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.rb-cards .panel-btn { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 22px 8px; font-size: 16px; }
.rb-cards .panel-btn b { font-size: 34px; }
.rb-cards .ok { box-shadow: inset 0 0 0 2px #3a9a5a; } .rb-cards .bad { box-shadow: inset 0 0 0 2px #c0392b; }
body[data-game="rebelcell"] { background: linear-gradient(180deg, #1c2828, #080e0e); }
body[data-game="roundtable"] { background: linear-gradient(180deg, #3e2814, #140c06); }
body[data-game="rebelcell"] #handWrap, body[data-game="roundtable"] #handWrap, body[data-game="rebelcell"] #handHint, body[data-game="roundtable"] #handHint { display: none; }
