/* A static card list first; browser filtering is an optional enhancement. */
.card-catalog{max-width:1000px;margin-bottom:52px;scroll-margin-top:28px}
.catalog-heading{max-width:800px}
.catalog-number-range{white-space:nowrap}
.catalog-heading h2{font-size:clamp(30px,3.2vw,40px);margin:0 0 18px}
.catalog-heading>p:not(.section-kicker){font-size:16px;line-height:1.8;color:var(--muted)}
.catalog-jumps{display:flex;flex-wrap:wrap;gap:10px 24px;margin:20px 0 24px;font-size:14px;font-weight:600}
.catalog-legality{padding:20px 24px;background:var(--sage);border-left:3px solid #82986c;font-size:15px;line-height:1.8;margin-bottom:24px;border-radius:0 4px 4px 0}
.catalog-controls{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:16px 24px;padding:24px;border:1px solid var(--line);border-radius:6px;background:var(--paper-white)}
.catalog-controls label{display:block;font-size:13px;font-weight:650;margin-bottom:7px}
.catalog-controls input[type=search],.catalog-controls select{width:100%;min-height:48px;padding:11px 12px;border:1px solid #9da891;border-radius:4px;background:var(--paper);color:var(--ink);font-size:16px}
.catalog-controls select:focus-visible{outline:3px solid #95700b;outline-offset:4px}
.catalog-search>span{display:block;margin-top:7px;font-size:12px;line-height:1.6;color:var(--muted)}
.catalog-controls .catalog-rulebreaker-filter{display:flex;align-items:center;gap:10px;min-height:44px;margin:0;font-size:14px}
.catalog-rulebreaker-filter input{width:18px;height:18px;accent-color:var(--green)}
.catalog-reset{justify-self:end;align-self:center;min-height:44px;border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--green);padding:9px 14px;font-size:14px}
.catalog-reset:hover{background:var(--sage)}
.catalog-result-count{font-size:14px;font-weight:650;margin:22px 0 8px}
.catalog-legend{font-size:13px;line-height:1.7;color:var(--muted);margin-bottom:20px;max-width:800px}
.catalog-table-wrap{border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--paper-white)}
.catalog-table{width:100%;border-collapse:collapse;text-align:left;table-layout:fixed}
.catalog-table caption{text-align:left;font-size:13px;line-height:1.7;color:var(--muted);padding:16px 20px;border-bottom:1px solid var(--line)}
.catalog-table thead th{padding:13px 18px;background:var(--sage);font-size:11px;line-height:1.6;letter-spacing:.05em;text-transform:uppercase}
.catalog-table thead th:first-child{width:65px}.catalog-table thead th:nth-child(2){width:39%}.catalog-table thead th:nth-child(3){width:20%}
.catalog-table tbody th,.catalog-table tbody td{padding:18px;vertical-align:top;border-top:1px solid var(--line);font-size:15px;line-height:1.7}
.catalog-table tbody tr:hover{background:#edf0e540}
.catalog-table .catalog-number{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.catalog-name{font-weight:550;overflow-wrap:anywhere}
.catalog-name a{text-underline-offset:4px}.catalog-name a>span{font-size:12px;color:var(--muted);white-space:nowrap}
.catalog-identity{color:var(--muted);font-size:14px!important;overflow-wrap:anywhere}
.catalog-table .catalog-notes{font-size:12px}
.catalog-tag{display:inline-block;background:var(--sage);border:1px solid var(--line);border-radius:3px;padding:2px 7px;margin:0 5px 5px 0;font-size:11px;line-height:1.6;white-space:nowrap}
.catalog-tag-rulebreaker{background:#f8eac1;color:var(--green);border-color:#d6c89b}
.catalog-explainer{display:block;font-size:12px;line-height:1.7;margin-top:4px}
.catalog-mobile-label{display:none}
.catalog-empty{padding:22px 24px;border:1px solid var(--line);background:var(--sage);font-size:15px;line-height:1.7;margin:18px 0}
.catalog-source-note{margin-top:22px;font-size:13px;line-height:1.8;color:var(--muted)}
.catalog-source-note p{margin-bottom:8px}.catalog-source-note .source-link{font-size:13px}
#card-categories,#rules-examples{scroll-margin-top:28px}
@media(max-width:700px){
  .catalog-controls{grid-template-columns:1fr;padding:18px;gap:16px}
  .catalog-reset{justify-self:start}.catalog-jumps{gap:12px 18px;font-size:13px}
  .catalog-legality{padding:18px;font-size:14px}
  .catalog-table,.catalog-table tbody{display:block}
  .catalog-table caption{display:block;padding:16px 18px;font-size:12px}
  .catalog-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
  .catalog-table tbody tr{display:grid;grid-template-columns:34px minmax(0,1fr);gap:7px 12px;padding:18px;border-top:1px solid var(--line)}
  .catalog-table tbody th,.catalog-table tbody td{display:block;border:0;padding:0;width:auto}
  .catalog-table .catalog-number{grid-row:1;grid-column:1;font-size:12px;padding-top:3px}
  .catalog-table .catalog-name{grid-row:1;grid-column:2;font-size:16px}
  .catalog-table .catalog-identity,.catalog-table .catalog-notes{grid-column:2;font-size:13px!important}
  .catalog-mobile-label{display:inline}.catalog-explainer{font-size:13px}
  .catalog-source-note{font-size:12px}.catalog-source-note .source-link{font-size:12px}
}
@media print{
  .catalog-controls,.catalog-jumps,.catalog-reset{display:none!important}
  .card-catalog{max-width:none}.catalog-table tr[hidden]{display:table-row!important}
  .catalog-table tbody tr{break-inside:avoid}.catalog-table tbody th,.catalog-table tbody td{font-size:10pt;padding:9px}
  .catalog-name a{color:#111}.catalog-result-count,.catalog-empty{display:none!important}
}
