/* The existing site owns the header, footer, typography and page background. */
.party-surface {
  --bg:#f7f8fa; --panel:#fff; --panel2:#f2f5ed; --edge:#dfe4e8;
  --text:#1d242a; --muted:#64717d; --lime:#c5ef5e; --mint:#4d732b;
  background:transparent; color:inherit; font:inherit; line-height:1.65;
}
.party-surface .container {max-width:1200px;padding:18px 28px 64px}
.party-surface .party-tools {max-width:1200px;margin:auto;padding:24px 28px 0;display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.party-surface .party-tools button {padding:7px 12px;min-height:38px;font-size:13px;border:1px solid var(--edge);border-radius:8px;background:#fff;color:#52616c}
.party-surface .party-tools button[aria-pressed="true"] {background:#eaf7c9;color:#2d4c25;border-color:#cfdfa8}
.party-surface .party-catalog-heading {margin-bottom:24px}
.party-surface .party-catalog-heading h1 {font-size:30px;line-height:1.4;letter-spacing:-1px;color:var(--text)}
.party-surface .party-catalog-heading p {margin-top:8px;color:var(--muted);font-size:15px}
.party-surface .section-head {margin:0 0 22px;align-items:center}
.party-surface .section-head h2 {font-size:17px;letter-spacing:-.4px}
.party-surface .filter-chips {gap:7px;flex-wrap:wrap}
.party-surface .filter {font-size:13px;padding:7px 13px;border:1px solid var(--edge);border-radius:999px;background:#fff;color:#52616c}
.party-surface .filter.active {background:#253943;border-color:#253943;color:#fff}
.party-surface .game-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.party-surface .game-card {display:flex;align-items:stretch;border:1px solid var(--edge);border-radius:14px;background:#fff;min-width:0}
.party-surface .game-card[hidden] {display:none}
.party-surface .game-card:hover {transform:translateY(-2px);border-color:#b1cc7b;box-shadow:0 7px 20px #2539430a}
.party-surface .game-card:focus-visible {outline:3px solid #83a82f;outline-offset:3px}
.party-surface .card-art {flex:0 0 34%;width:34%;aspect-ratio:auto;border:0;border-right:1px solid #e8ecdf;background:#f0f4e9}
.party-surface .card-art img {object-fit:contain}
.party-surface .card-num {display:none}
.party-surface .card-3d {top:9px;right:9px;font-size:9px}
.party-surface .card-copy {padding:19px 18px;flex:1;min-width:0}
.party-surface .card-copy h3 {font-size:17px;letter-spacing:-.5px;line-height:1.5;color:var(--text)}
.party-surface .card-copy p {font-size:13px;line-height:1.7;color:var(--muted);margin:6px 0 14px;min-height:44px}
.party-surface .card-bottom {border:0;padding:0;font-size:12px;color:#52616c;gap:8px}
.party-surface .card-go {font-size:20px;color:#4d732b}
.party-surface .note-banner {margin-top:24px;padding:15px 18px;background:#f0f3f5;border:1px solid var(--edge);border-radius:10px;color:var(--muted);font-size:13px;gap:10px}
.party-surface .note-banner strong {color:#40505b;white-space:nowrap}
.party-surface .back {font-size:14px;color:#52616c;margin-bottom:18px}
.party-surface .game-head h1 {font-size:30px;letter-spacing:-1px}
.party-surface .game-head p {font-size:14px;color:var(--muted)}
.party-surface .game-head .eyebrow {color:#63747c;font-size:10px}
.party-surface .side-panel {background:#fff;border-color:var(--edge);border-radius:14px}
.party-surface .side-panel label,.party-surface .side-panel p {font-size:12px;color:var(--muted)}
.party-surface .side-panel input,.party-surface .side-panel textarea,.party-surface .side-panel select {font-size:14px}
.party-surface .side-panel .full,.party-surface .controls button {font-size:13px}
.party-surface button.primary,.party-surface .primary {color:#233628;background:#c5ef5e;border-color:#badf61;box-shadow:none}
.party-surface .stage-wrap {border-radius:14px;box-shadow:none}
.party-surface dialog {background:#fff;border-color:var(--edge);border-radius:16px}
.party-surface dialog p {font-size:14px}
html:fullscreen .party-page>header,html:fullscreen .party-page>.foot,html:fullscreen .party-tools {display:none}
.party-surface .participant-fields {min-width:0;margin:16px 0 0;padding:0;border:0}
.party-surface .participant-count {font-size:14px;font-weight:750;margin-bottom:10px;padding:0}
.party-surface .participant-list {display:grid;gap:8px;max-height:320px;overflow-y:auto;overscroll-behavior:contain;padding:3px}
.party-surface .participant-row {display:grid;grid-template-columns:18px minmax(0,1fr) 48px;align-items:center;gap:6px}
.party-surface .participant-number {font-size:12px;color:#64717d;text-align:center}
.party-surface .participant-row .participant-name {width:100%;min-width:0;min-height:44px;font-size:16px;padding:8px;border-radius:8px;background:#fff}
.party-surface .participant-row .participant-remove {min-height:44px;padding:7px 4px;font-size:13px;border-radius:8px;color:#68727b;background:#fff}
.party-surface .participant-actions {display:flex;margin-top:10px}
.party-surface .participant-add {width:100%;border-radius:8px;font-size:14px;background:#eef7df;color:#355322}
.party-surface .participant-hint {font-size:12px;color:#64717d;margin:8px 0}
.party-surface .participant-error {color:#aa263d;background:#fff1f3;border-radius:8px;padding:10px;font-size:14px}
.party-surface .participant-error[hidden] {display:none}
.party-surface .participant-name[aria-invalid="true"] {border-color:#b92d40;outline:1px solid #b92d40}
.party-surface .participant-bulk {border-top:1px solid #e5e7eb;margin-top:12px;padding-top:10px}
.party-surface .participant-bulk summary {cursor:pointer;font-size:14px;color:#52616c;min-height:36px}
.party-surface .participant-bulk textarea {height:128px!important;min-height:128px;font-size:16px}
.party-surface .side-panel label,.party-surface .side-panel .full,.party-surface .controls button {font-size:14px}
.party-surface .side-panel input,.party-surface .side-panel textarea,.party-surface .side-panel select {font-size:16px}
.party-surface dialog {max-height:calc(100dvh - 32px);overflow:auto}
.party-surface .pair-choice,.party-surface .result-row {overflow-wrap:anywhere}
.party-surface .party-settings-link {margin-top:14px;padding:8px 14px;min-height:44px;font-size:14px;background:#fff;border-radius:9px}
.party-surface .party-back-to-play {display:none}
.party-surface .side-panel,.party-surface .play-column {scroll-margin-top:18px}
@media(max-width:900px){.party-surface .party-back-to-play {display:block;width:100%;margin-bottom:18px;min-height:44px;font-size:14px;background:#eef7df}}
@media(max-width:760px){
  .party-surface .game-grid {grid-template-columns:1fr}
  .party-surface .card-art {flex-basis:30%;width:30%}
}
@media(max-width:700px){
  .party-surface .party-tools {padding:20px 18px 0;justify-content:flex-start}
  .party-surface .container {padding:22px 18px 40px}
  .party-surface .party-catalog-heading h1,.party-surface .game-head h1 {font-size:26px}
  .party-surface .party-catalog-heading p {font-size:14px}
  .party-surface .section-head {display:block;margin-bottom:18px}
  .party-surface .filter-chips {margin-top:12px}
  .party-surface .card-copy {padding:15px}
  .party-surface .card-copy h3 {font-size:16px}
  .party-surface .card-copy p {min-height:0;font-size:12px}
  .party-surface .card-bottom {font-size:11px}
  .party-surface .note-banner {display:block;font-size:12px}
  .party-surface .note-banner strong {display:block;margin-bottom:4px}
}
