body.qixi {
  --bg: #10132c;
  --card: #1b2042;
  --red: #ff7896;
  --gold: #ffd76a;
  --wood: #6656a8;
  --ink: #f8efff;
  --ink-soft: #b8add3;
  --board: #161b39;
  --cell-shadow: #0b0e22;
  --card-shadow: #090b1d;
  background-image:
    radial-gradient(circle at 18% 12%, rgba(255,255,255,.75) 0 1px, transparent 1.5px),
    radial-gradient(circle at 75% 28%, rgba(255,215,106,.8) 0 1px, transparent 1.5px),
    linear-gradient(180deg,#10132c,#171337 70%,#20143c);
  background-size: 68px 68px,91px 91px,auto;
}
body.qixi .awning {
  background: repeating-linear-gradient(90deg,#6b58ac 0 24px,#f4d4e4 24px 48px);
}
.p1b-card {
  background: var(--card); border-radius: 16px; padding: 14px;
  box-shadow: 0 3px 0 var(--card-shadow); margin-bottom: 14px;
}
.p1b-card h2 { font-size: 16px; margin-bottom: 5px; }
.p1b-card p, .p1b-muted { color: var(--ink-soft); font-size: 12px; line-height: 1.6; }
.p1b-grid { display: grid; gap: 8px; margin-top: 10px; }
.p1b-field {
  width: 100%; min-height: 42px; border: 1px solid var(--card-shadow); border-radius: 12px;
  padding: 8px 10px; background: var(--card); color: var(--ink); font: inherit;
}
.p1b-check { display: flex; gap: 8px; align-items: center; font-size: 12px; color: var(--ink-soft); }
.p1b-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 9px; }
.p1b-btn {
  min-height: 40px; border: 1px solid var(--wood); border-radius: 11px;
  padding: 7px 12px; background: transparent; color: var(--ink); font: inherit; font-weight: 800;
}
.p1b-btn.primary { background: var(--wood); color: #fff; }
.p1b-btn.danger { border-color: var(--red); color: var(--red); }
.p1b-invite, .p1b-rank, .p1b-player {
  padding: 9px 0; border-top: 1px solid var(--card-shadow); font-size: 12px; line-height: 1.55;
}
.p1b-invite:first-child, .p1b-rank:first-child { border-top: none; }
.p1b-score { margin-left: auto; color: var(--gold); font-weight: 900; }
.p1b-meta {
  margin-top: 12px; background: var(--card); border-radius: 14px; padding: 11px 12px;
  box-shadow: 0 3px 0 var(--card-shadow); font-size: 12px; line-height: 1.65;
}
.p1b-team { font-weight: 900; color: var(--gold); }
.cell.p1b-clickable { cursor: pointer; outline: none; }
.cell.p1b-clickable:focus-visible { box-shadow: 0 0 0 3px var(--gold); }
.cell.p1b-selected { box-shadow: 0 0 0 4px var(--red); transform: scale(1.06); }
.qixi-flower {
  position: fixed; z-index: 90; left: 50%; top: 42%; transform: translate(-50%,-50%);
  font-size: 42px; pointer-events: none; animation: qixiFlower 1.2s ease forwards;
}
@keyframes qixiFlower {
  0% { opacity: 0; transform: translate(-50%,-50%) scale(.3) rotate(-15deg); }
  35% { opacity: 1; transform: translate(-50%,-65%) scale(1.15) rotate(8deg); }
  100% { opacity: 0; transform: translate(-50%,-110%) scale(.75) rotate(25deg); }
}
.p1b-note-list { margin-top: 8px; display: grid; gap: 6px; }
.p1b-note { background: var(--board); border-radius: 10px; padding: 8px 10px; font-size: 12px; }
.p1b-note b { color: var(--gold); }
body.qixi .topbar { background: rgba(16,19,44,.9); }
