/* Shared visual language across opening, collection, decks and the table. */
:root{--cp-ink:#263e35;--cp-muted:#6b786f;--cp-accent:#285c45;--cp-accent-hover:#1c4935;--cp-surface:#fffefa;--cp-canvas:#f3f5ef;--cp-line:#d7dfd3;--cp-radius:10px;--cp-focus:#b18b3f}
body{color:var(--cp-ink);background:var(--cp-canvas)}
.site-header{background:var(--cp-surface);border-bottom:1px solid var(--cp-line);box-shadow:none}
.site-header nav a{color:var(--cp-muted)}.site-header nav a.active,.site-header nav a[aria-current=page]{color:var(--cp-accent);box-shadow:inset 0 -2px var(--cp-accent)}
.button.primary{background:var(--cp-accent);border-color:var(--cp-accent);color:white;box-shadow:none}.button.primary:hover{background:var(--cp-accent-hover);border-color:var(--cp-accent-hover)}
.button.secondary,.home-button{background:var(--cp-surface);color:var(--cp-ink);border:1px solid var(--cp-line);box-shadow:none}
.opening-controls .home-button{background:var(--cp-surface);color:var(--cp-ink);border:1px solid var(--cp-line)}
.table-turn-control .button,.table-card-actions [data-action=move][data-to=field],.table-card-actions [data-action=move][data-to=stage]{background:var(--cp-accent);border-color:var(--cp-accent);color:#fff}
.button{border-radius:8px;font-weight:650}.button:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--cp-focus);outline-offset:3px}
.button:disabled{opacity:.45;cursor:default}.section-heading h1 em{color:var(--cp-accent)}
.deck-editor,.deck-preview,.deck-filters,.collection-filters,.lobby-entry,.public-lobbies,.lobby-members,.lobby-chat{background:var(--cp-surface);border-color:var(--cp-line);border-radius:var(--cp-radius);box-shadow:none}
.deck-card,.collection-card,.set-tile{background:var(--cp-surface);border:1px solid var(--cp-line);border-radius:var(--cp-radius);box-shadow:0 3px 12px #263e3506}
.deck-card:hover,.collection-card:hover,.set-tile:hover{border-color:#8ea68e;box-shadow:0 5px 16px #263e350c}
.deck-card strong,.collection-card h3{color:var(--cp-ink)}.deck-card small,.collection-card>p:not(.collection-price),.preview-meta,.muted{color:var(--cp-muted)}
.set-cta{color:var(--cp-accent)}.deck-ownership button[aria-pressed=true]{background:var(--cp-accent);color:#fff;border-color:var(--cp-accent)}
.deck-valid{color:#245c3b;background:#eaf2e7;border:1px solid #c6d9bd;border-radius:7px;padding:10px}.deck-invalid{color:#795b30;background:#faf3e6;border:1px solid #e3d5b7;border-radius:7px;padding:10px}
.card-facts,.collection-price{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:10px 0 0;margin:8px 0 0;border-top:1px solid var(--cp-line);color:var(--cp-accent);font-size:16px;font-variant-numeric:tabular-nums}
.card-facts>strong{color:var(--cp-accent);font-size:16px;font-weight:750}.ownership-badge{display:inline-block;border-radius:5px;padding:3px 6px;background:#eaf0e4;color:#4f654d;font-size:10px;font-weight:600;line-height:1.3;white-space:nowrap}
.unowned .ownership-badge{background:#eeeee9;color:#788074}.deck-card .card-facts{margin-top:auto}.deck-card .button{width:100%}.deck-preview .card-facts{margin-bottom:14px}.deck-preview .preview-effect{font-size:13px;line-height:1.65}
.viewed-card-price .card-meta{white-space:normal;max-width:230px;font-size:9px;color:var(--cp-muted);margin-top:3px}
.table-active .table-detail .card-facts{padding-top:8px;margin:0;gap:5px}.table-active .table-detail .card-facts strong{font-size:17px}.table-active .table-detail .ownership-badge{font-size:9px}
.members-dialog,.member-dialog,.again-dialog,.table-dialog{border-color:var(--cp-line);background:var(--cp-surface);border-radius:14px}.members-dialog::backdrop,.member-dialog::backdrop,.again-dialog::backdrop{background:#18382e70}
@media(prefers-reduced-motion:no-preference){.button,.deck-card,.collection-card,.set-tile{transition:background-color .15s,border-color .15s,box-shadow .15s}}
@media(max-width:760px){.card-facts,.collection-price{font-size:14px;gap:5px}.card-facts>strong{font-size:14px}.ownership-badge{font-size:9px}.viewed-card-price .card-meta{max-width:135px;font-size:8px}}
