:root {
  --bg: #100e0c;
  --panel: #181410;
  --panel-2: #201a14;
  --panel-3: #2a2118;
  --line: #3c3023;
  --line-bright: #6c5434;
  --text: #f2e8d7;
  --muted: #b8a891;
  --gold: #d7ad62;
  --gold-bright: #f0cf8c;
  --blue: #8bb2c7;
  --danger: #d58c7a;
  --shadow: 0 20px 60px rgba(0,0,0,.35);
  --radius: 14px;
  --accent: var(--gold);
  --border: var(--line);
  --accent-contrast: #17100a;
}
* { box-sizing: border-box; }
html { color-scheme: dark; scroll-behavior: smooth; }
body { margin: 0; background: radial-gradient(circle at 70% -10%, #342516 0, transparent 30rem), var(--bg); color: var(--text); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
button, input, select { font: inherit; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.mobile-only { display: none !important; }
.app-shell { min-height: 100vh; display: grid; grid-template-columns: 290px minmax(0,1fr); grid-template-rows: 72px 1fr; }
.topbar { grid-column: 1 / -1; position: sticky; top: 0; z-index: 30; height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 0 24px; border-bottom: 1px solid var(--line); background: rgba(16,14,12,.92); backdrop-filter: blur(16px); }
.brand { display: inline-flex; align-items: center; gap: 12px; }
.brand-rune { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--line-bright); border-radius: 50%; color: var(--gold-bright); box-shadow: inset 0 0 18px rgba(215,173,98,.14); }
.brand strong, .brand small { display: block; }
.brand strong { font-family: Georgia, serif; letter-spacing: .03em; }
.brand small { color: var(--muted); margin-top: 2px; font-size: .76rem; text-transform: uppercase; letter-spacing: .14em; }
.header-actions { display: flex; align-items: center; gap: 10px; }
.button, .icon-button { border: 1px solid var(--line); border-radius: 9px; background: var(--panel-2); cursor: pointer; transition: .18s ease; }
.button { min-height: 40px; padding: 0 14px; font-weight: 700; }
.button:hover, .icon-button:hover { border-color: var(--gold); transform: translateY(-1px); }
.button.primary { color: #1a1309; background: linear-gradient(135deg, var(--gold-bright), var(--gold)); border-color: var(--gold-bright); }
.button.ghost { background: transparent; }
.button.danger { color: var(--danger); }
.button.wide { width: 100%; }
.icon-button { width: 40px; height: 40px; display: inline-grid; place-items: center; font-size: 1.2rem; }
.filters { grid-column: 1; grid-row: 2; position: sticky; top: 72px; height: calc(100vh - 72px); overflow: auto; padding: 24px 20px 40px; border-right: 1px solid var(--line); background: rgba(24,20,16,.84); }
.filter-header { display: flex; align-items: center; justify-content: space-between; }
.filter-header h2 { margin: 0; font-family: Georgia, serif; font-size: 1.22rem; }
.search-field { height: 44px; margin: 18px 0 22px; display: grid; grid-template-columns: auto 1fr auto; gap: 8px; align-items: center; padding: 0 11px; border: 1px solid var(--line); border-radius: 10px; background: #0f0d0b; }
.search-field:focus-within { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(215,173,98,.09); }
.search-field input { min-width: 0; border: 0; outline: 0; background: transparent; color: var(--text); }
kbd { padding: 2px 6px; border: 1px solid var(--line); border-bottom-width: 2px; border-radius: 4px; color: var(--muted); font-size: .72rem; }
.filter-section { padding: 20px 0; border-top: 1px solid var(--line); }
.filter-section h3 { margin: 0 0 12px; font-size: .78rem; color: var(--muted); text-transform: uppercase; letter-spacing: .12em; }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.section-heading h3 { margin-bottom: 12px; }
.section-heading span { color: var(--gold-bright); font-size: .85rem; }
.section-heading select, .toolbar-controls select { border: 1px solid var(--line); border-radius: 7px; background: var(--panel-2); color: var(--text); padding: 6px 8px; }
.text-button { border: 0; background: transparent; color: var(--gold); cursor: pointer; padding: 0; font-size: .82rem; }
.category-list { display: grid; gap: 5px; }
.category-button { width: 100%; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 8px; padding: 9px 10px; border: 1px solid transparent; border-radius: 8px; background: transparent; text-align: left; cursor: pointer; color: var(--muted); }
.category-button:hover { background: var(--panel-2); color: var(--text); }
.category-button.active { background: var(--panel-3); border-color: var(--line-bright); color: var(--gold-bright); }
.category-button span:last-child { font-size: .75rem; opacity: .7; }
.range-pair { display: grid; gap: 10px; }
.range-pair label { display: grid; grid-template-columns: 58px 1fr; align-items: center; gap: 8px; color: var(--muted); font-size: .8rem; }
input[type="range"] { width: 100%; accent-color: var(--gold); }
.check-row { display: flex; gap: 8px; align-items: flex-start; margin-top: 12px; color: var(--muted); font-size: .82rem; line-height: 1.35; }
.check-row input { accent-color: var(--gold); }
.chip-list { display: flex; flex-wrap: wrap; gap: 7px; }
.filter-chip { padding: 7px 9px; border: 1px solid var(--line); border-radius: 999px; background: transparent; color: var(--muted); cursor: pointer; font-size: .78rem; transition: background .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease; }
.filter-chip.active, .filter-chip.included { color: #1b140b; border-color: var(--gold-bright); background: var(--gold); font-weight: 800; box-shadow: 0 0 0 1px rgba(240,207,140,.16); }
.filter-chip.excluded { color: #ffd7d2; border-color: #d85d50; background: rgba(177,48,38,.78); font-weight: 800; box-shadow: 0 0 12px rgba(218,72,58,.28); }
.filter-chip.excluded:hover { background: rgba(200,57,45,.9); border-color: #ff8276; }
.filter-help { margin: 10px 0 0; color: #8f806d; font-size: .75rem; line-height: 1.45; }
.main-content { grid-column: 2; grid-row: 2; min-width: 0; padding: 28px clamp(18px,3vw,44px) 80px; }
.hero { position: relative; overflow: hidden; display: flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 210px; padding: clamp(24px,4vw,46px); border: 1px solid var(--line); border-radius: 20px; background: linear-gradient(135deg, rgba(57,40,23,.88), rgba(24,20,16,.92)); box-shadow: var(--shadow); }
.hero::after { content: "✦"; position: absolute; right: 9%; top: 8%; color: rgba(240,207,140,.08); font-size: 10rem; }
.eyebrow { margin: 0 0 8px; color: var(--gold); font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .16em; }
.hero h1 { max-width: 700px; margin: 0; font-family: Georgia, serif; font-size: clamp(2rem,4vw,3.7rem); line-height: 1.02; }
.hero p:not(.eyebrow) { max-width: 720px; margin: 16px 0 0; color: var(--muted); line-height: 1.6; }
.hero-stat { z-index: 1; flex: 0 0 150px; text-align: center; }
.hero-stat strong { display: block; color: var(--gold-bright); font-family: Georgia, serif; font-size: 3.3rem; }
.hero-stat span { color: var(--muted); font-size: .8rem; text-transform: uppercase; letter-spacing: .12em; }
.results-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 28px 0 14px; }
.results-toolbar p { margin: 0; color: var(--muted); }
.results-toolbar strong { color: var(--text); }
.toolbar-controls { display: flex; align-items: center; gap: 10px; }
.toolbar-controls label { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: .82rem; }
.active-filters { display: flex; flex-wrap: wrap; gap: 8px; min-height: 8px; margin-bottom: 14px; }
.active-filter { display: inline-flex; align-items: center; gap: 7px; padding: 6px 9px; border: 1px solid var(--line); border-radius: 999px; background: var(--panel); color: var(--muted); font-size: .76rem; }
.active-filter button { border: 0; background: transparent; color: var(--text); cursor: pointer; padding: 0; }
.active-filter.excluded { color: #ffd7d2; border-color: rgba(216,93,80,.8); background: rgba(124,34,28,.42); }
.active-filter.excluded button { color: #ffd7d2; }
.card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(205px, 1fr)); gap: 18px; }
.card-grid.compact { grid-template-columns: repeat(auto-fill, minmax(155px, 1fr)); gap: 12px; }
.card-tile { position: relative; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); transition: .2s ease; }
.card-tile:hover { transform: translateY(-4px); border-color: var(--line-bright); box-shadow: 0 18px 40px rgba(0,0,0,.32); }
.card-image-button { display: block; width: 100%; padding: 0; border: 0; background: #090807; cursor: zoom-in; aspect-ratio: 907 / 1306; overflow: hidden; }
.card-image-button img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .25s ease; }
.card-tile:hover img { transform: scale(1.018); }
.card-body { padding: 12px; }
.card-kicker { display: flex; justify-content: space-between; gap: 8px; color: var(--gold); font-size: .68rem; text-transform: uppercase; letter-spacing: .1em; }
.card-body h2 { margin: 5px 0 9px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: Georgia, serif; font-size: 1rem; }
.card-tags { display: flex; flex-wrap: wrap; gap: 5px; min-height: 20px; }
.mini-tag { padding: 3px 6px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); font-size: .65rem; }
.card-actions { display: grid; grid-template-columns: 40px 1fr; gap: 8px; margin-top: 11px; }
.card-actions button { min-height: 36px; border: 1px solid var(--line); border-radius: 8px; background: transparent; cursor: pointer; }
.card-actions .add-button { color: var(--gold-bright); }
.card-actions button:hover { border-color: var(--gold); background: var(--panel-3); }
.card-actions .favourite.active { color: var(--gold-bright); }
.compact .card-body { padding: 9px; }
.compact .card-tags { display: none; }
.compact .card-actions { margin-top: 7px; }
.empty-state { padding: 80px 20px; text-align: center; color: var(--muted); }
.empty-state span { font-size: 3rem; color: var(--gold); }
.empty-state h2 { color: var(--text); font-family: Georgia, serif; }
.deck-panel { position: fixed; z-index: 55; top: 0; right: 0; width: min(440px, 100vw); height: 100vh; display: flex; flex-direction: column; padding: 22px; background: #17130f; border-left: 1px solid var(--line-bright); box-shadow: -30px 0 80px rgba(0,0,0,.45); transform: translateX(105%); transition: transform .24s ease; }
.deck-panel.open { transform: translateX(0); }
.deck-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.deck-header h2 { margin: 0; font-family: Georgia, serif; }
.deck-name-label { display: grid; gap: 6px; margin: 18px 0 12px; color: var(--muted); font-size: .76rem; text-transform: uppercase; letter-spacing: .1em; }
.deck-name-label input { border: 1px solid var(--line); border-radius: 8px; background: #0e0c0a; color: var(--text); padding: 10px; text-transform: none; letter-spacing: normal; }
.deck-summary { display: flex; gap: 8px; flex-wrap: wrap; padding: 10px 0 15px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: .78rem; }
.deck-summary span { padding: 5px 8px; border-radius: 999px; background: var(--panel-3); }
.deck-list { flex: 1; overflow: auto; padding: 12px 2px 20px; }
.deck-empty { padding: 50px 20px; text-align: center; color: var(--muted); line-height: 1.6; }
.deck-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--line); }
.deck-row-title { min-width: 0; }
.deck-row-title strong, .deck-row-title small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.deck-row-title small { margin-top: 3px; color: var(--muted); }
.qty-controls { display: flex; align-items: center; gap: 6px; }
.qty-controls button { width: 28px; height: 28px; border: 1px solid var(--line); border-radius: 6px; background: var(--panel-2); cursor: pointer; }
.qty-controls output { min-width: 22px; text-align: center; }
.deck-footer { display: grid; gap: 9px; padding-top: 14px; border-top: 1px solid var(--line); }
.deck-actions-row { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.scrim { position: fixed; inset: 0; z-index: 50; background: rgba(0,0,0,.62); backdrop-filter: blur(2px); }
.card-dialog { width: min(1050px, calc(100vw - 30px)); max-height: calc(100vh - 30px); padding: 0; border: 1px solid var(--line-bright); border-radius: 18px; background: #17130f; color: var(--text); box-shadow: var(--shadow); }
.card-dialog::backdrop { background: rgba(0,0,0,.78); backdrop-filter: blur(5px); }
.dialog-close { position: absolute; z-index: 3; top: 12px; right: 12px; background: rgba(15,13,11,.82); }
.dialog-layout { display: grid; grid-template-columns: minmax(300px, 43%) 1fr; min-height: 620px; }
.dialog-image-wrap { display: grid; place-items: center; padding: 24px; background: radial-gradient(circle at center, #312314, #0c0a08); }
.dialog-image-wrap img { max-width: 100%; max-height: calc(100vh - 80px); border-radius: 10px; box-shadow: 0 20px 50px rgba(0,0,0,.5); }
.dialog-details { overflow: auto; padding: 44px 38px 34px; }
.dialog-details h2 { margin: 0; font-family: Georgia, serif; font-size: clamp(2rem,4vw,3rem); }
.meta-row, .tag-row { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }
.meta-pill { padding: 6px 9px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); font-size: .77rem; }
.stats-list { display: flex; flex-wrap: wrap; gap: 10px; margin: 20px 0 0; }
.stats-list div { min-width: 62px; padding: 10px; border: 1px solid var(--line); border-radius: 9px; background: var(--panel-2); text-align: center; }
.stats-list dt { color: var(--muted); font-size: .66rem; }
.stats-list dd { margin: 3px 0 0; font-weight: 800; }
.rules-section { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); }
.rules-section h3 { margin: 0 0 12px; font-family: Georgia, serif; }
#dialogText { display: grid; gap: 9px; color: #ddd0bd; line-height: 1.55; }
#dialogText p { margin: 0; padding: 9px 11px; border-left: 2px solid var(--line-bright); background: rgba(255,255,255,.018); }
.source-note { color: #877966; font-size: .73rem; line-height: 1.45; }
.dialog-actions { display: flex; gap: 10px; margin-top: 26px; }
.toast { position: fixed; z-index: 90; left: 50%; bottom: 26px; max-width: min(420px, calc(100vw - 30px)); padding: 11px 15px; border: 1px solid var(--line-bright); border-radius: 9px; background: var(--panel-3); box-shadow: var(--shadow); opacity: 0; pointer-events: none; transform: translate(-50%, 15px); transition: .2s ease; }
.toast.show { opacity: 1; transform: translate(-50%, 0); }
@media (max-width: 900px), (hover: none) and (pointer: coarse) and (max-device-width: 1200px) {
  .mobile-only { display: inline-grid !important; }
  .app-shell { grid-template-columns: 1fr; }
  .topbar { padding: 0 14px; }
  .brand small { display: none; }
  .filters { position: fixed; z-index: 60; inset: 0 auto 0 0; top: 0; width: min(330px, 88vw); height: 100vh; transform: translateX(-105%); transition: transform .22s ease; box-shadow: 30px 0 70px rgba(0,0,0,.45); }
  .filters.open { transform: translateX(0); }
  .main-content { grid-column: 1; }
  .dialog-layout { grid-template-columns: 1fr; }
  .dialog-image-wrap { padding: 18px; }
  .dialog-image-wrap img { max-height: 65vh; }
}
@media (max-width: 620px), (hover: none) and (pointer: coarse) and (max-device-width: 620px) {
  .topbar { height: 64px; }
  .brand strong { font-size: .9rem; }
  .header-actions .ghost { display: none; }
  .main-content { padding: 16px 12px 60px; }
  .hero { min-height: 0; padding: 24px 20px; }
  .hero-stat { display: none; }
  .results-toolbar { align-items: flex-start; }
  .toolbar-controls label { display: none; }
  .card-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
  .card-body h2 { font-size: .88rem; }
  .card-kicker { font-size: .59rem; }
  .card-tags { display: none; }
  .card-actions { grid-template-columns: 34px 1fr; }
  .dialog-details { padding: 30px 20px; }
  .dialog-actions { flex-direction: column; }
}

/* v1.4 enhanced metadata, views and deck page */
.deck-creation-filter { margin-top: 5px; border-color: rgba(202,156,72,.55) !important; background: rgba(202,156,72,.08) !important; }
.card-grid.compact { grid-template-columns: repeat(auto-fill,minmax(150px,1fr)); gap: 11px; }
.card-grid.compact .card-tags { display:none; }
.card-grid.detailed { display:grid; grid-template-columns:repeat(auto-fill,minmax(340px,1fr)); gap:14px; }
.detailed-card { min-height:250px; }
.detailed-card .card-body { height:100%; display:flex; flex-direction:column; }
.detailed-card h2 { white-space:normal; overflow:visible; font-size:1.25rem; }
.detailed-card h2 small { color:var(--gold); font-size:.68rem; }
.detailed-rules { flex:1; color:#cfc1ae; line-height:1.55; white-space:pre-line; }
.detailed-card .card-actions { grid-template-columns:40px 1fr 1fr; }
.card-body h2 small { color:var(--gold); font-size:.68em; }
.toolbar-controls { flex-wrap:wrap; }
.toolbar-controls select { min-width:135px; }
.deck-page { grid-column:2; padding-top:34px; }
.deck-page-header { display:flex; justify-content:space-between; gap:28px; align-items:flex-end; padding:28px; border:1px solid var(--line); border-radius:18px; background:linear-gradient(135deg,rgba(57,40,23,.88),rgba(24,20,16,.92)); }
.deck-page-header h1 { margin:4px 0 0; font-family:Georgia,serif; font-size:clamp(2rem,4vw,3.3rem); }
.deck-page-actions { min-width:min(440px,100%); }
.deck-page-actions label { display:grid; gap:6px; color:var(--muted); font-size:.76rem; text-transform:uppercase; letter-spacing:.1em; }
.deck-page-actions input { border:1px solid var(--line); border-radius:8px; background:#0e0c0a; color:var(--text); padding:11px; font-size:1rem; text-transform:none; letter-spacing:normal; }
.deck-command-bar { display:flex; flex-wrap:wrap; gap:9px; padding:20px 0; }
.deck-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(205px,1fr)); gap:18px; }
.deck-card { overflow:hidden; border:1px solid var(--line); border-radius:var(--radius); background:var(--panel); }
.deck-card-image { position:relative; display:block; width:100%; padding:0; border:0; background:#090807; cursor:zoom-in; aspect-ratio:907/1306; overflow:hidden; }
.deck-card-image img { width:100%; height:100%; display:block; object-fit:cover; }
.quantity-badge { position:absolute; top:10px; right:10px; padding:6px 9px; border:1px solid var(--gold); border-radius:999px; background:rgba(12,10,8,.9); color:var(--gold-bright); font-weight:800; }
.deck-card-body { padding:12px; }
.deck-card-body strong,.deck-card-body small { display:block; }
.deck-card-body small { margin-top:4px; color:var(--muted); }
.deck-card-body .qty-controls { margin-top:10px; justify-content:center; }
.card-dialog { overflow:hidden; }
.dialog-details { padding-top:38px; }
.stats-list { display:grid; grid-template-columns:repeat(5,minmax(62px,1fr)); }
.stats-list .wide-stat { grid-column:span 5; text-align:left; }
.info-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:12px 0 0; }
.info-grid div { min-width:0; padding:10px; border:1px solid var(--line); border-radius:9px; background:var(--panel-2); }
.info-grid dt { color:var(--muted); font-size:.66rem; text-transform:uppercase; letter-spacing:.06em; }
.info-grid dd { margin:4px 0 0; font-weight:700; overflow-wrap:anywhere; }
.rule-blocks { display:grid; gap:14px; color:#ddd0bd; line-height:1.58; }
.rule-blocks p { margin:0; padding:11px 13px; border-left:2px solid var(--line-bright); background:rgba(255,255,255,.018); }
.related-section { margin-top:22px; padding-top:18px; border-top:1px solid var(--line); }
.related-card-list { display:grid; grid-template-columns:repeat(auto-fill,minmax(110px,1fr)); gap:10px; margin-top:12px; }
.related-card { overflow:hidden; padding:0; border:1px solid var(--line); border-radius:9px; background:var(--panel-2); color:var(--text); cursor:pointer; text-align:left; }
.related-card img { width:100%; aspect-ratio:907/1306; display:block; object-fit:cover; }
.related-card span { display:block; padding:7px; font-size:.72rem; }
@media (max-width: 900px), (hover: none) and (pointer: coarse) and (max-device-width: 1200px){.deck-page{grid-column:1}.deck-page-header{align-items:stretch;flex-direction:column}.deck-page-actions{min-width:0}.info-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.stats-list{grid-template-columns:repeat(3,minmax(62px,1fr));}.stats-list .wide-stat{grid-column:span 3;}}
@media (max-width: 620px), (hover: none) and (pointer: coarse) and (max-device-width: 620px){.card-grid.detailed{grid-template-columns:1fr}.detailed-card .card-actions{grid-template-columns:36px 1fr}.detailed-card .add-button{grid-column:1/-1}.deck-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.deck-page-header{padding:20px}.info-grid{grid-template-columns:1fr}.stats-list{grid-template-columns:repeat(2,minmax(62px,1fr));}.stats-list .wide-stat{grid-column:span 2;}}

/* v1.4.1 alternative-art and version preview controls */
.dialog-image-wrap { align-content:start; gap:12px; }
.card-image-toolbar { width:min(100%,520px); display:flex; flex-wrap:wrap; justify-content:center; gap:9px; padding-top:2px; }
.version-card-list { width:min(100%,640px); display:flex; gap:10px; overflow-x:auto; padding:3px 4px 10px; }
.version-card { flex:0 0 112px; border:1px solid var(--line); border-radius:10px; padding:7px; background:#17120e; color:var(--paper); cursor:pointer; }
.version-card.current { border-color:var(--gold); box-shadow:0 0 0 1px rgba(202,156,72,.38); }
.version-card img { width:100%; aspect-ratio:2/3; object-fit:cover; border-radius:6px; display:block; }
.version-card span { display:block; padding-top:6px; font-size:.76rem; line-height:1.25; }

/* v1.4.1 stat-order refinement */
.stats-list.has-resistances{grid-template-columns:repeat(6,minmax(62px,1fr));}
.stats-list.has-resistances>div:last-child dd{font-size:.78rem;line-height:1.25;overflow-wrap:anywhere;}
@media (max-width: 900px), (hover: none) and (pointer: coarse) and (max-device-width: 1200px){.stats-list.has-resistances{grid-template-columns:repeat(3,minmax(62px,1fr));}}
@media (max-width: 620px), (hover: none) and (pointer: coarse) and (max-device-width: 620px){.stats-list.has-resistances{grid-template-columns:repeat(2,minmax(62px,1fr));}}

/* v1.4.2 reliable card-detail scrolling */
.card-dialog {
  height: min(900px, calc(100dvh - 24px));
  max-height: calc(100dvh - 24px);
  overflow: hidden;
}
.card-dialog .dialog-layout {
  height: 100%;
  min-height: 0;
  max-height: 100%;
  grid-template-columns: minmax(300px,43%) minmax(0,1fr);
  align-items: start;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  touch-action: pan-y;
}
.card-dialog .dialog-image-wrap {
  position: sticky;
  top: 0;
  align-self: start;
  min-height: 0;
  max-height: 100%;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.card-dialog .dialog-details {
  box-sizing: border-box;
  min-width: 0;
  min-height: 0;
  height: auto;
  max-height: none;
  overflow: visible;
}
@media (max-width: 900px), (hover: none) and (pointer: coarse) and (max-device-width: 1200px) {
  .card-dialog {
    width: calc(100vw - 12px);
    height: calc(100dvh - 12px);
    max-height: calc(100dvh - 12px);
  }
  .card-dialog .dialog-layout {
    display: block;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
  }
  .card-dialog .dialog-image-wrap {
    position: static;
    max-height: none;
    overflow: visible;
  }
  .card-dialog .dialog-details {
    height: auto;
    max-height: none;
    overflow: visible;
  }
}

/* v1.4.3 PFCG filters and reference navigation */
.app-shell { grid-template-columns: 320px minmax(0,1fr); }
.search-help code { color: var(--gold-bright); }
.filter-subsection { margin-top: 16px; }
.filter-subsection h4,
.resistance-strength-heading h4 {
  margin: 0 0 9px;
  color: #d6c6af;
  font-size: .72rem;
  font-weight: 750;
  text-transform: uppercase;
  letter-spacing: .085em;
}
.filter-details {
  margin-top: 14px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: rgba(255,255,255,.012);
}
.filter-details summary {
  cursor: pointer;
  padding: 10px 11px;
  color: #d6c6af;
  font-size: .76rem;
  font-weight: 750;
  text-transform: uppercase;
  letter-spacing: .075em;
  list-style-position: inside;
}
.filter-details[open] summary { border-bottom: 1px solid var(--line); }
.dense-chip-list {
  max-height: 230px;
  overflow-y: auto;
  padding: 11px;
  scrollbar-gutter: stable;
}
.resistance-strength-heading { margin-top: 17px; }
.resistance-strength-heading h4 { margin: 0; }
.resistance-filter > input[type="range"] { display: block; width: 100%; margin-top: 8px; }
.origin-filters .filter-details:first-of-type { margin-top: 4px; }
.related-help { margin: 10px 0 0; color: var(--muted); font-size: .75rem; line-height: 1.45; }
.related-card-list:not([hidden]) { display: grid; }
.version-card-list:not([hidden]) { display: flex; }
.card-dialog .dialog-layout { scroll-behavior: smooth; }

@media (max-width: 900px), (hover: none) and (pointer: coarse) and (max-device-width: 1200px) {
  .app-shell { grid-template-columns: 1fr; }
}

/* v1.4.5 collapsible filters, category tri-state and exact resistance values */
.filter-reset { margin: 14px 0 6px; }
.filter-group { padding: 0; }
.filter-group > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 16px 0;
  cursor: pointer;
  color: var(--muted);
  font-size: .78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .12em;
  list-style: none;
  user-select: none;
}
.filter-group > summary::-webkit-details-marker { display: none; }
.filter-group > summary::after { content: '▸'; color: var(--gold); font-size: .9rem; transition: transform .16s ease; }
.filter-group[open] > summary::after { transform: rotate(90deg); }
.filter-group > summary strong { margin-left: auto; color: var(--gold-bright); font-size: .82rem; letter-spacing: 0; }
.filter-group-body { padding: 0 0 20px; }
.filter-group:not([open]) > .filter-group-body { display: none; }
.filter-subsection.first-subsection { margin-top: 0; }
.compact-heading { align-items: flex-start; margin-bottom: 10px; }
.compact-heading h4, .compact-heading p { margin: 0; color: #d6c6af; font-size: .72rem; line-height: 1.35; }
.compact-heading p { max-width: 160px; color: var(--muted); }
.category-button.included { background: var(--panel-3); border-color: var(--line-bright); color: var(--gold-bright); font-weight: 800; }
.category-button.excluded { color: #ffd7d2; border-color: #d85d50; background: rgba(177,48,38,.78); font-weight: 800; box-shadow: 0 0 12px rgba(218,72,58,.22); }
.category-button.excluded:hover { color: #fff; border-color: #ff8276; background: rgba(200,57,45,.9); }
.resistance-list { display: grid; gap: 8px; }
.resistance-row { display: grid; grid-template-columns: minmax(0,1fr) 58px; gap: 8px; align-items: center; }
.resistance-chip { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 8px; border-radius: 8px; text-align: left; }
.resistance-chip small { opacity: .7; font-size: .7rem; }
.resistance-value-input {
  width: 58px;
  height: 34px;
  padding: 5px 6px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #0f0d0b;
  color: var(--text);
  text-align: center;
  font-weight: 800;
}
.resistance-value-input:focus { outline: none; border-color: var(--gold); box-shadow: 0 0 0 3px rgba(215,173,98,.09); }
.resistance-value-input:disabled { opacity: .35; cursor: not-allowed; }
.resistance-detail-grid {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 10px;
  margin: 12px 0 0;
  padding: 12px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.resistance-detail-grid[hidden] { display: none; }
.resistance-detail-grid div { min-width: 0; padding: 10px; border: 1px solid var(--line); border-radius: 9px; background: rgba(91,65,37,.18); text-align: center; }
.resistance-detail-grid dt { color: var(--muted); font-size: .66rem; text-transform: uppercase; letter-spacing: .06em; }
.resistance-detail-grid dd { margin: 4px 0 0; color: var(--gold-bright); font-weight: 850; }
@media (max-width: 900px), (hover: none) and (pointer: coarse) and (max-device-width: 1200px){.resistance-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width: 620px), (hover: none) and (pointer: coarse) and (max-device-width: 620px){.resistance-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}


/* v1.4.6 metadata, legality, image zoom and TTS export */
[hidden] { display: none !important; }

#dialogImage {
  cursor: zoom-in;
  transition: transform .16s ease, filter .16s ease;
}
#dialogImage:hover,
#dialogImage:focus-visible {
  transform: scale(1.015);
  filter: brightness(1.05);
  outline: 2px solid rgba(232,187,92,.55);
  outline-offset: 4px;
}
.post-ability-info {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}
.button.prohibited {
  border-color: rgba(216,93,80,.65);
  background: rgba(135,43,35,.22);
  color: #ffd7d2;
}
.tts-button {
  border-color: rgba(94,164,224,.7);
  background: linear-gradient(180deg, rgba(48,106,154,.92), rgba(31,72,108,.92));
  color: #eef8ff;
}
.tts-export-dialog {
  width: min(760px, calc(100vw - 28px));
  max-height: calc(100dvh - 28px);
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--line-bright);
  border-radius: 16px;
  background: #17130f;
  color: var(--text);
  box-shadow: var(--shadow);
}
.tts-export-dialog::backdrop {
  background: rgba(0,0,0,.78);
  backdrop-filter: blur(5px);
}
.tts-export-content {
  padding: 40px 34px 30px;
  overflow: auto;
}
.tts-export-content h2 {
  margin: 0 0 10px;
  font-family: Georgia, serif;
  font-size: 2rem;
}
.tts-export-content p {
  color: var(--muted);
  line-height: 1.55;
}
.tts-export-content code { color: var(--gold-bright); }
.tts-export-content label {
  display: block;
  margin: 18px 0 8px;
  color: #d6c6af;
  font-size: .78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}
#ttsDeckString {
  box-sizing: border-box;
  width: 100%;
  min-height: 145px;
  resize: vertical;
  padding: 12px;
  border: 1px solid var(--line-bright);
  border-radius: 10px;
  background: #0d0b09;
  color: #f1dfbd;
  font: .82rem/1.55 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  overflow-wrap: anywhere;
}
.tts-export-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}
.tts-export-actions a.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}
.image-lightbox {
  position: fixed;
  inset: 0;
  z-index: 250;
  display: grid;
  place-items: start center;
  overflow: auto;
  padding: 32px 24px 60px;
  background: rgba(0,0,0,.92);
  backdrop-filter: blur(7px);
}
.image-lightbox img {
  width: min(92vw, 920px);
  height: auto;
  max-width: none;
  border-radius: 14px;
  box-shadow: 0 28px 90px rgba(0,0,0,.72);
}
.image-lightbox p {
  margin: 14px 0 0;
  color: #cdbfa9;
  font-size: .8rem;
}
.image-lightbox-close {
  position: fixed;
  z-index: 251;
  top: 14px;
  right: 14px;
  background: rgba(20,16,12,.9);
}
body.lightbox-open { overflow: hidden; }

.related-card-list[hidden],
.version-card-list[hidden] {
  display: none !important;
}

@media (max-width: 620px), (hover: none) and (pointer: coarse) and (max-device-width: 620px) {
  .image-lightbox { padding: 52px 8px 40px; }
  .image-lightbox img { width: 96vw; }
  .tts-export-content { padding: 36px 18px 24px; }
  .tts-export-actions { flex-direction: column; }
}

/* v1.4.10 saved deck library */
.deck-workspace { display:grid; grid-template-columns:240px minmax(0,1fr); gap:22px; align-items:start; }
.deck-editor { min-width:0; }
.deck-library-panel { position:sticky; top:94px; padding:18px; border:1px solid var(--line); border-radius:16px; background:rgba(24,20,16,.9); box-shadow:var(--shadow); }
.deck-library-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; margin-bottom:14px; }
.deck-library-heading h2 { margin:0; font-family:Georgia,serif; font-size:1.35rem; }
.deck-library-heading > span { padding:5px 8px; border:1px solid var(--line); border-radius:999px; color:var(--muted); font-size:.72rem; }
.deck-library-help { margin:12px 0 14px; color:var(--muted); font-size:.75rem; line-height:1.45; }
.deck-library-list { display:grid; gap:8px; max-height:calc(100vh - 300px); overflow:auto; padding-right:2px; }
.deck-library-item { display:grid; grid-template-columns:minmax(0,1fr) 34px; gap:5px; border:1px solid var(--line); border-radius:10px; background:#110e0b; overflow:hidden; }
.deck-library-item.active { border-color:var(--gold); box-shadow:0 0 0 1px rgba(215,173,98,.18); background:var(--panel-3); }
.deck-library-select,.deck-library-delete { border:0; background:transparent; cursor:pointer; }
.deck-library-select { min-width:0; padding:10px; text-align:left; }
.deck-library-select strong,.deck-library-select small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.deck-library-select strong { color:var(--text); font-size:.82rem; }
.deck-library-select small { margin-top:3px; color:var(--muted); font-size:.68rem; }
.deck-library-delete { color:var(--muted); font-size:1.1rem; }
.deck-library-delete:hover { color:#ffd7d2; background:rgba(177,48,38,.35); }
.button:disabled { opacity:.45; cursor:not-allowed; transform:none; }
@media (max-width: 1100px), (hover: none) and (pointer: coarse) and (max-device-width: 1100px){.deck-workspace{grid-template-columns:200px minmax(0,1fr)}}
@media (max-width: 900px), (hover: none) and (pointer: coarse) and (max-device-width: 1200px){.deck-workspace{grid-template-columns:1fr}.deck-library-panel{position:static}.deck-library-list{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));max-height:none}}
@media (max-width: 620px), (hover: none) and (pointer: coarse) and (max-device-width: 620px){.deck-library-list{grid-template-columns:1fr}}

/* v1.4.11 — Netlify Identity accounts and cloud deck storage */
.account-button {
  min-width: 92px;
  max-width: 190px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.account-dialog {
  width: min(720px, calc(100vw - 28px));
  max-height: min(820px, calc(100vh - 28px));
  padding: 0;
  border: 1px solid rgba(214, 170, 83, 0.42);
  border-radius: 18px;
  background: #18130f;
  color: #f3eadb;
  box-shadow: 0 24px 90px rgba(0, 0, 0, 0.7);
}

.account-dialog::backdrop {
  background: rgba(6, 4, 3, 0.78);
  backdrop-filter: blur(5px);
}

.account-dialog-content {
  padding: 32px;
  overflow: auto;
  max-height: min(820px, calc(100vh - 28px));
}

.account-dialog h2,
.account-dialog h3 {
  margin: 4px 0 12px;
}

.account-auth-actions {
  display: grid;
  gap: 10px;
  margin-top: 22px;
}

.google-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid #c9c9c9;
  background: #fff;
  color: #202124;
  font-weight: 700;
}

.google-button:hover {
  background: #f2f2f2;
}

.google-mark {
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 50%;
  font-family: Arial, sans-serif;
  font-weight: 800;
  color: #4285f4;
  background: #fff;
}

.account-profile {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 16px;
  margin: 18px 0 12px;
  border: 1px solid rgba(214, 170, 83, 0.22);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.035);
}

.account-profile div {
  min-width: 0;
}

.account-profile small,
.account-profile strong {
  display: block;
}

.account-profile strong {
  margin-top: 3px;
  overflow-wrap: anywhere;
}

.account-role {
  flex: 0 0 auto;
  padding: 5px 9px;
  border: 1px solid rgba(214, 170, 83, 0.42);
  border-radius: 999px;
  color: #edc878;
  font-size: 0.78rem;
  font-weight: 700;
}

.account-sync-status {
  min-height: 24px;
  margin: 10px 0 16px;
  color: #cfc3b3;
}

.account-sync-status[data-state="saved"] { color: #8ed39c; }
.account-sync-status[data-state="working"] { color: #e7c16d; }
.account-sync-status[data-state="error"],
.account-error { color: #ff9b8d; }

.admin-section {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid rgba(214, 170, 83, 0.22);
}

.admin-heading,
.admin-user-row,
.admin-user-actions {
  display: flex;
  align-items: center;
}

.admin-heading,
.admin-user-row {
  justify-content: space-between;
  gap: 14px;
}

.admin-help,
.admin-loading {
  color: #bcae9d;
  font-size: 0.9rem;
}

.admin-users {
  display: grid;
  gap: 8px;
  margin-top: 15px;
}

.admin-user-row {
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.025);
}

.admin-user-row strong,
.admin-user-row small {
  display: block;
}

.admin-user-row strong {
  overflow-wrap: anywhere;
}

.admin-user-row small {
  margin-top: 3px;
  color: #aa9d8e;
}

.admin-user-actions {
  flex: 0 0 auto;
  gap: 7px;
}

.admin-user-actions .button {
  padding: 7px 10px;
}

@media (max-width: 640px), (hover: none) and (pointer: coarse) and (max-device-width: 640px) {
  .header-actions {
    gap: 6px;
  }

  .account-button {
    min-width: 0;
    max-width: 90px;
  }

  .account-dialog-content {
    padding: 26px 18px 20px;
  }

  .account-profile,
  .admin-user-row {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-user-actions {
    width: 100%;
  }

  .admin-user-actions .button {
    flex: 1;
  }
}

/* v1.4.12 filter organisation, resistance steppers and detail refinements */
.other-card-tags .filter-details,
.nested-filter-sections > .filter-details {
  margin-top: 9px;
}
.nested-filter-sections,
.nested-filter-body {
  display: grid;
  gap: 9px;
}
.nested-filter-body {
  padding: 12px 10px 4px;
}
.creature-card-tags > summary {
  color: var(--gold-bright);
}

.resistance-lower-toggle {
  min-height: 34px;
  margin: 0 0 10px;
  padding: 6px 9px;
  font-size: .76rem;
}
.resistance-row {
  grid-template-columns: minmax(78px, 1fr) auto;
  gap: 6px;
}
.resistance-chip {
  min-width: 0;
  padding: 6px 7px;
  font-size: .72rem;
}
.resistance-chip span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.resistance-stepper {
  display: grid;
  grid-template-columns: 30px 50px 30px;
  gap: 4px;
  align-items: center;
}
.resistance-step {
  width: 30px;
  height: 34px;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--panel-2);
  color: var(--gold-bright);
  cursor: pointer;
  font-weight: 900;
}
.resistance-step:hover:not(:disabled) {
  border-color: var(--gold);
  background: var(--panel-3);
}
.resistance-step:disabled {
  opacity: .35;
  cursor: not-allowed;
}
.resistance-value-input {
  width: 50px;
}

#dialogMeta[hidden],
#dialogInfo[hidden] {
  display: none !important;
}
.reminder-box {
  margin-top: 12px;
  padding: 12px 14px;
  border: 1px solid rgba(215,173,98,.46);
  border-radius: 10px;
  background: rgba(87,60,31,.22);
  color: #decdb4;
}
.reminder-box p {
  margin: 0;
  line-height: 1.5;
}
.reminder-box p + p {
  margin-top: 8px;
}
.negated-n {
  text-decoration-thickness: 2px;
  text-decoration-color: currentColor;
}

/* A second modal dialog enters the browser top layer, so the enlarged image
   always sits above the card information dialog. */
.image-lightbox:not([open]) {
  display: none !important;
}
.image-lightbox[open] {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100dvh;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 54px 20px 30px;
  border: 0;
  background: transparent;
  color: var(--text);
  display: grid;
  grid-template-rows: minmax(0, auto) auto;
  place-items: center;
  align-content: center;
  overflow: auto;
}
.image-lightbox::backdrop {
  background: rgba(0,0,0,.9);
  backdrop-filter: blur(7px);
}
.image-lightbox img {
  height: auto;
  max-width: 92vw;
  max-height: calc(100dvh - 105px);
  object-fit: contain;
}
.image-lightbox p {
  text-align: center;
}
.image-lightbox-close {
  position: fixed;
  z-index: 1;
}

@media (max-width: 620px), (hover: none) and (pointer: coarse) and (max-device-width: 620px) {
  .resistance-row { grid-template-columns: 1fr; }
  .resistance-stepper { grid-template-columns: 34px 1fr 34px; }
  .resistance-step { width: 34px; }
  .resistance-value-input { width: 100%; }
  .image-lightbox[open] { padding: 52px 8px 24px; }
  .image-lightbox img { max-width: 96vw; }
}

/* v1.4.13 — card-tag hierarchy, deck limits, deck filters and visual summaries */
.card-tags-group > summary,
.creature-card-tags > summary,
.other-card-tags > summary {
  color: var(--gold-bright);
}
.card-tags-group .filter-details,
.creature-card-tags .filter-details,
.other-card-tags .filter-details {
  margin-top: 9px;
}
.break-rules-filter > summary { color: #ef9b8c; }
.break-rules-filter .filter-group-body {
  padding: 2px 2px 0;
}
.break-rule-row {
  margin-top: 10px;
  padding: 9px 10px;
  border: 1px solid rgba(213,140,122,.28);
  border-radius: 9px;
  background: rgba(112,39,30,.13);
  color: #e8c0b7;
}
.break-rule-row input { flex: 0 0 auto; }

.add-button .add-quantity,
#dialogAddDeck .add-quantity {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  margin-left: 6px;
  padding: 2px 6px;
  border-radius: 999px;
  background: rgba(0,0,0,.22);
  font-size: .76rem;
  font-weight: 900;
}
.add-button:disabled,
#dialogAddDeck:disabled,
.qty-plus:disabled {
  opacity: .52;
  cursor: not-allowed;
  transform: none;
}
.card-actions .add-button.at-limit { color: var(--muted); }

.card-dialog { width: min(1180px, calc(100vw - 30px)); }
.card-dialog .dialog-image-wrap {
  grid-template-columns: minmax(0,1fr);
  grid-auto-rows: max-content;
  justify-items: center;
  align-content: start;
  gap: 12px;
  padding-bottom: 22px;
}
.card-dialog .dialog-image-wrap > img {
  max-height: calc(100dvh - 210px);
}
.dialog-image-actions {
  width: min(100%, 520px);
  display: grid;
  grid-template-columns: 1fr 1.25fr;
  gap: 10px;
  margin: 0;
}
.dialog-image-actions .button { min-height: 44px; }

.deck-library-list { max-height: min(36vh, 360px); }
.deck-breakdown-panel {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}
.deck-breakdown-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
}
.deck-breakdown-heading h3 {
  margin: 0;
  font-family: Georgia, serif;
  font-size: 1rem;
}
.deck-breakdown-heading span {
  color: var(--gold-bright);
  font-weight: 850;
}
.deck-pie-chart {
  width: 150px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  margin: 0 auto 14px;
  border-radius: 50%;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), 0 10px 26px rgba(0,0,0,.28);
}
.deck-pie-chart > span {
  width: 64%;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: #15110e;
  color: var(--gold-bright);
  font-size: 1.35rem;
  font-weight: 900;
}
.deck-pie-legend { display: grid; gap: 6px; }
.deck-pie-legend > div {
  display: grid;
  grid-template-columns: 10px minmax(0,1fr) auto;
  align-items: center;
  gap: 7px;
  color: var(--muted);
  font-size: .72rem;
}
.deck-pie-legend i {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--legend-colour);
}
.deck-pie-legend strong { color: var(--text); }
.deck-pie-empty { margin: 0; color: var(--muted); font-size: .72rem; line-height: 1.4; }

.deck-filter-bar {
  display: grid;
  grid-template-columns: minmax(190px,1.4fr) repeat(4,minmax(125px,.8fr)) auto;
  gap: 10px;
  align-items: end;
  margin: 0 0 18px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(24,20,16,.75);
}
.deck-filter-bar label {
  display: grid;
  gap: 5px;
  min-width: 0;
}
.deck-filter-bar label > span {
  color: var(--muted);
  font-size: .68rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.deck-filter-bar input,
.deck-filter-bar select {
  width: 100%;
  min-width: 0;
  height: 40px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #0f0d0b;
  color: var(--text);
}
.deck-filter-bar input:focus,
.deck-filter-bar select:focus {
  outline: none;
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(215,173,98,.09);
}
.deck-filter-reset { min-height: 40px; }

.deck-grid.mana-curve-view { display: block; }
.mana-curve-scroll {
  width: 100%;
  overflow-x: auto;
  padding: 4px 2px 24px;
  scrollbar-gutter: stable;
}
.mana-curve {
  display: grid;
  grid-template-columns: repeat(12, minmax(106px, 1fr));
  gap: 10px;
  min-width: 1380px;
  align-items: start;
}
.mana-curve-column {
  min-width: 0;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(24,20,16,.82);
}
.mana-curve-column > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  height: 34px;
  margin-bottom: 8px;
  padding: 0 7px;
  border-radius: 8px;
  background: var(--panel-3);
}
.mana-curve-column > header strong { color: var(--gold-bright); }
.mana-curve-column > header span {
  min-width: 24px;
  padding: 2px 6px;
  border: 1px solid var(--line-bright);
  border-radius: 999px;
  text-align: center;
  color: var(--text);
  font-size: .72rem;
  font-weight: 850;
}
.mana-curve-stack {
  display: flex;
  min-height: 150px;
  flex-direction: column;
  align-items: center;
  padding-bottom: 4px;
}
.mana-curve-card {
  position: relative;
  width: 100%;
  aspect-ratio: 907/1306;
  flex: 0 0 auto;
  overflow: hidden;
  padding: 0;
  border: 1px solid var(--line-bright);
  border-radius: 7px;
  background: #090807;
  box-shadow: 0 7px 15px rgba(0,0,0,.42);
  cursor: zoom-in;
  transition: transform .15s ease, border-color .15s ease;
}
.mana-curve-card + .mana-curve-card { margin-top: -102%; }
.mana-curve-card:focus-visible {
  z-index: 20;
  border-color: var(--gold-bright);
  transform: translateY(-7px) scale(1.03);
}
.mana-curve-card img { width: 100%; height: 100%; display: block; object-fit: cover; }

@media (max-width: 1250px), (hover: none) and (pointer: coarse) and (max-device-width: 1250px) {
  .deck-filter-bar { grid-template-columns: repeat(3,minmax(150px,1fr)); }
  .deck-filter-reset { width: 100%; }
}
@media (max-width: 900px), (hover: none) and (pointer: coarse) and (max-device-width: 1200px) {
  .dialog-image-actions { width: min(520px,100%); }
  .card-dialog .dialog-image-wrap > img { max-height: 58dvh; }
  .deck-breakdown-panel { display: grid; grid-template-columns: 150px 1fr; gap: 14px; align-items: center; }
  .deck-breakdown-heading { grid-column: 1/-1; margin-bottom: 0; }
  .deck-pie-chart { margin: 0; }
}
@media (max-width: 680px), (hover: none) and (pointer: coarse) and (max-device-width: 680px) {
  .deck-filter-bar { grid-template-columns: 1fr 1fr; }
  .deck-search-label { grid-column: 1/-1; }
  .dialog-image-actions { grid-template-columns: 1fr; }
  .card-dialog .dialog-image-wrap > img { max-height: 52dvh; }
}
@media (max-width: 460px), (hover: none) and (pointer: coarse) and (max-device-width: 460px) {
  .deck-filter-bar { grid-template-columns: 1fr; }
  .deck-search-label { grid-column: auto; }
  .deck-breakdown-panel { grid-template-columns: 1fr; }
  .deck-breakdown-heading { grid-column: auto; }
  .deck-pie-chart { margin: 0 auto; }
}


.account-auth-status { margin: .8rem 0 0; padding: .7rem .8rem; border: 1px solid var(--border); border-radius: 10px; background: var(--panel-2); }
.account-auth-status[data-state="error"] { border-color: #b8473f; color: #ffd0cc; background: rgba(130, 28, 24, .32); }
.account-auth-status[data-state="working"] { border-color: #a9792d; color: #ffe4a8; background: rgba(120, 80, 18, .25); }


/* v1.4.15 mobile filter isolation, hold-to-exclude and mana-curve copy counts */
.filter-chip,
.category-button,
.resistance-chip {
  -webkit-touch-callout: none;
  user-select: none;
}
.mana-curve-card { position: relative; }
.mana-curve-quantity {
  position: absolute;
  top: 7px;
  right: 7px;
  z-index: 3;
  min-width: 34px;
  padding: 5px 7px;
  border: 1px solid var(--gold-bright);
  border-radius: 999px;
  background: rgba(10,8,6,.92);
  color: var(--gold-bright);
  font-size: .78rem;
  font-weight: 900;
  line-height: 1;
  box-shadow: 0 4px 14px rgba(0,0,0,.45);
}
.mana-curve.copy-count-mode .mana-curve-card + .mana-curve-card { margin-top: -78%; }
@media (max-width: 900px), (hover: none) and (pointer: coarse) and (max-device-width: 1200px) {
  html { overscroll-behavior: none; }
  body.filters-open {
    position: fixed;
    left: 0;
    right: 0;
    width: 100%;
    overflow: hidden;
    overscroll-behavior: none;
  }
  .filters {
    height: 100dvh;
    max-height: 100dvh;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
  }
  .filters.open { isolation: isolate; }
  .filter-chip,
  .category-button,
  .resistance-chip { touch-action: manipulation; }
  .scrim { overscroll-behavior: none; touch-action: none; }
}

/* v1.4.19 — full-width deck route, resilient theme, account settings, and admin deck access */
html,
body,
.app-shell {
  background-color: var(--bg);
}

input,
select,
textarea,
dialog {
  color-scheme: dark;
}

body.deck-route .app-shell {
  grid-template-columns: minmax(0, 1fr);
}

body.deck-route .deck-page {
  grid-column: 1;
  width: 100%;
  padding-left: clamp(14px, 2vw, 32px);
  padding-right: clamp(14px, 2vw, 32px);
}

body.deck-route .deck-workspace {
  width: 100%;
  max-width: none;
}

.account-dialog {
  width: min(900px, calc(100vw - 28px));
}

.account-settings {
  margin-top: 26px;
  padding-top: 22px;
  border-top: 1px solid rgba(214, 170, 83, 0.22);
}

.account-settings-heading,
.admin-deck-browser-heading,
.admin-deck-row,
.admin-deck-actions {
  display: flex;
  align-items: center;
}

.account-settings-heading,
.admin-deck-browser-heading,
.admin-deck-row {
  justify-content: space-between;
  gap: 14px;
}

.account-settings-heading h3,
.admin-deck-browser-heading h4 {
  margin: 3px 0 0;
}

.account-settings-help {
  margin: 8px 0 15px;
  color: var(--muted);
  font-size: 0.88rem;
  line-height: 1.5;
}

.account-settings-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.account-settings-grid label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.78rem;
}

.account-settings-grid select {
  width: 100%;
  min-height: 42px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: #0f0d0b;
  color: var(--text);
}

.account-settings-checks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 18px;
  margin-top: 6px;
}

.admin-user-actions {
  flex-wrap: wrap;
  justify-content: flex-end;
}

.admin-deck-browser {
  margin-top: 18px;
  padding: 16px;
  border: 1px solid rgba(214, 170, 83, 0.28);
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.18);
}

.admin-deck-list {
  display: grid;
  gap: 9px;
  margin-top: 14px;
}

.admin-deck-row {
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.025);
}

.admin-deck-row > div:first-child {
  min-width: 0;
}

.admin-deck-row strong,
.admin-deck-row small {
  display: block;
}

.admin-deck-row strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-deck-row small {
  margin-top: 4px;
  color: var(--muted);
}

.admin-deck-actions {
  flex: 0 0 auto;
  gap: 7px;
}

.admin-deck-cards {
  grid-column: 1 / -1;
  width: 100%;
  margin-top: 8px;
  color: var(--muted);
  font-size: 0.76rem;
  line-height: 1.5;
}

html[data-interface-density="compact"] {
  font-size: 14px;
}

html[data-interface-density="large"] {
  font-size: 17px;
}

html.reduce-motion {
  scroll-behavior: auto;
}

html.reduce-motion *,
html.reduce-motion *::before,
html.reduce-motion *::after {
  animation-duration: 0.001ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.001ms !important;
  scroll-behavior: auto !important;
}

@media (max-width: 760px), (hover: none) and (pointer: coarse) and (max-device-width: 760px) {
  .account-settings-grid,
  .account-settings-checks {
    grid-template-columns: 1fr;
  }

  .admin-deck-row {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-deck-actions {
    width: 100%;
  }

  .admin-deck-actions .button {
    flex: 1;
  }
}


/* PFCG v1.5.0 — community, deck workshop, collection and moderation */
.community-route .app-shell{grid-template-columns:1fr}
.community-route .community-page{grid-column:1}
.community-page{max-width:none;padding:24px clamp(18px,3vw,54px) 80px}
.community-hero{margin-bottom:18px}
.community-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) minmax(220px,1fr) 190px auto;gap:12px;align-items:end;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:18px;position:sticky;top:68px;z-index:12}
.community-toolbar label,.deck-meta-form label,.deck-notes-grid label,.hand-simulator-controls label,.multi-export-section label,.report-dialog label,.glossary-dialog label{display:grid;gap:6px;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.community-tabs{display:flex;gap:8px;align-items:center}
.community-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.community-deck-card{background:linear-gradient(145deg,var(--panel),var(--panel-2));border:1px solid var(--line);border-radius:18px;padding:18px;display:grid;gap:10px;box-shadow:var(--shadow)}
.community-deck-card h2{margin:0;font-family:var(--display);font-size:1.45rem}
.community-deck-card p,.community-deck-card small{margin:0;color:var(--muted)}
.community-deck-top{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:var(--muted)}
.community-loading{padding:30px;color:var(--muted)}
.wide-dialog{width:min(1180px,96vw);max-width:none;max-height:94vh;border:1px solid var(--line);border-radius:20px;background:var(--panel);color:var(--text);padding:0;box-shadow:var(--shadow)}
.wide-dialog::backdrop,.report-dialog::backdrop,.glossary-dialog::backdrop{background:rgba(3,2,1,.78);backdrop-filter:blur(5px)}
.wide-dialog-content{padding:30px;max-height:92vh;overflow:auto}
.tool-tab-bar{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0;border-bottom:1px solid var(--line);padding-bottom:14px}
.tool-panel{display:grid;gap:22px}
.tool-panel-heading{display:flex;justify-content:space-between;gap:16px;align-items:start}
.tool-panel-heading h3,.tool-panel-heading p{margin:0}
.tool-panel-heading p,.muted{color:var(--muted)}
.tool-two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.analysis-report{display:grid;gap:12px}
.report-group{border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--panel-2)}
.report-group.error{border-color:rgba(235,100,91,.55)}
.report-group.warning{border-color:rgba(231,184,82,.55)}
.report-group.info{border-color:rgba(91,161,219,.4)}
.report-group h3{margin:0 0 8px}
.report-item{display:block;width:100%;text-align:left;border:0;background:transparent;color:var(--text);padding:8px 4px;border-top:1px solid var(--line);cursor:pointer}
.report-item:disabled{cursor:default;opacity:1}
.success-message{padding:18px;border:1px solid rgba(104,194,128,.45);background:rgba(104,194,128,.08);border-radius:14px;color:#a9e8b8}
.suggestion-grid{display:grid;gap:8px}
.suggestion-card{display:grid;grid-template-columns:46px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2)}
.suggestion-card img,.mini-card img{width:46px;height:64px;object-fit:cover;border-radius:6px}
.suggestion-card div{display:grid;gap:3px}
.suggestion-card small{color:var(--muted)}
.mini-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:8px}
.mini-card{border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-radius:10px;padding:7px;display:grid;justify-items:center;gap:5px;cursor:pointer}
.mini-card span{font-size:.72rem;text-align:center}
.deck-meta-form{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.deck-notes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.deck-notes-grid textarea,.deck-meta-form input,.deck-meta-form select,.community-toolbar input,.community-toolbar select,.hand-simulator-controls input,.multi-export-section select,.multi-export-section textarea,.report-dialog textarea,.glossary-dialog input{width:100%;box-sizing:border-box}
.hand-simulator-controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap}
.hand-simulator-controls label{max-width:190px}
.opening-hand-results{display:flex;gap:12px;overflow:auto;padding:12px 2px;min-height:180px}
.hand-card{flex:0 0 126px;border:1px solid var(--line);background:var(--panel-2);border-radius:12px;color:var(--text);padding:7px;cursor:pointer}
.hand-card img{width:100%;border-radius:7px}
.hand-card span{display:block;font-size:.75rem;margin-top:5px}
.stats-dashboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.stat-card{background:var(--panel-2);border:1px solid var(--line);border-radius:14px;padding:14px}
.stat-card h4{margin:0 0 9px}
.stat-card div{display:flex;justify-content:space-between;gap:10px;padding:5px 0;border-top:1px solid var(--line)}
.headline-stat strong{font-size:1.05rem;color:var(--gold)}
.history-list{display:grid;gap:8px}
.history-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2)}
.history-row div{display:grid;gap:3px}
.history-row small{color:var(--muted)}
.comparison-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.comparison-columns section{border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--panel-2)}
.comparison-columns p{font-size:.82rem;line-height:1.5;color:var(--muted)}
.card-comparison-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.comparison-card{border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--panel-2)}
.comparison-card img{width:100%;max-height:310px;object-fit:contain;border-radius:8px}
.comparison-card h4{margin:9px 0}
.comparison-card dl{display:grid;gap:4px}
.comparison-card dl div{display:grid;grid-template-columns:70px 1fr;gap:8px;font-size:.78rem}
.comparison-card dt{color:var(--muted)}
.collection-list{max-height:520px;overflow:auto;display:grid;gap:7px;margin-top:10px}
.collection-row{display:grid;grid-template-columns:42px minmax(0,1fr) 90px;align-items:center;gap:9px;padding:7px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2)}
.collection-row img{width:42px;height:58px;object-fit:cover;border-radius:5px}
.collection-row div{display:grid;gap:2px}
.collection-row small{color:var(--muted)}
.collection-row label{display:grid;gap:3px;font-size:.65rem;color:var(--muted)}
.collection-row input{width:78px}
.tts-order-list{display:grid;gap:7px;max-height:520px;overflow:auto}
.tts-order-row{display:grid;grid-template-columns:26px 38px minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:7px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2)}
.tts-order-row img{width:38px;height:53px;object-fit:cover;border-radius:4px}
.multi-export-section{display:grid;gap:10px}
.multi-export-section textarea{font-family:monospace}
.challenge-result{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2);min-height:34px}
.community-deck-dialog .wide-dialog-content{display:grid;gap:16px}
.community-author{color:var(--muted)}
.public-deck-notes{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.public-deck-notes section{border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--panel-2)}
.public-deck-notes h3,.public-deck-notes p{margin:0}
.public-deck-notes p{margin-top:6px;color:var(--muted);line-height:1.5}
.community-card-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}
.community-preview-card{border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-radius:10px;padding:7px;cursor:pointer}
.community-preview-card img{width:100%;border-radius:6px}
.community-preview-card span{display:block;margin-top:5px;font-size:.74rem}
.report-dialog,.glossary-dialog{width:min(720px,94vw);max-width:none;border:1px solid var(--line);border-radius:18px;background:var(--panel);color:var(--text);padding:0}
.report-dialog-content{padding:28px;display:grid;gap:14px}
.glossary-list{display:grid;gap:10px;margin-top:14px;max-height:68vh;overflow:auto}
.glossary-list article{border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--panel-2)}
.glossary-list h3,.glossary-list p{margin:0}
.glossary-list p{margin-top:5px;color:var(--muted)}
.glossary-term{display:inline;border:0;padding:0;background:transparent;color:var(--gold);text-decoration:underline dotted;cursor:pointer;font:inherit}
.card-history-list{display:grid;gap:8px}
.card-history-list article{border-left:3px solid var(--gold);padding:7px 10px;background:var(--panel-2);border-radius:0 8px 8px 0}
.card-history-list p{margin:4px 0 0;color:var(--muted);font-size:.82rem}
.admin-moderation{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}
.admin-reports{display:grid;gap:9px}
.admin-report-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:8px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--panel-2)}
.admin-report-row div{display:grid;gap:3px}
.admin-report-row small,.admin-report-row p{color:var(--muted);margin:0}
.owned-only-row{margin-top:10px;border-top:1px solid var(--line);padding-top:10px}
.deck-library-item .deck-library-tts{width:30px;height:30px;border:0;background:transparent;color:var(--gold);cursor:pointer}
@media (max-width: 1050px), (hover: none) and (pointer: coarse) and (max-device-width: 1050px){
  .community-toolbar{grid-template-columns:1fr 1fr}
  .deck-meta-form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tool-two-column,.comparison-columns{grid-template-columns:1fr}
}
@media (max-width: 760px), (hover: none) and (pointer: coarse) and (max-device-width: 760px){
  .header-actions{gap:5px;overflow-x:auto;max-width:72vw;padding-bottom:2px}
  .header-actions .button{white-space:nowrap;padding-inline:10px}
  .community-page{padding:14px 12px 60px}
  .community-toolbar{grid-template-columns:1fr;position:static}
  .community-tabs{display:grid;grid-template-columns:1fr 1fr}
  .wide-dialog-content{padding:20px 14px}
  .tool-tab-bar{display:grid;grid-template-columns:repeat(2,1fr)}
  .tool-two-column,.deck-notes-grid,.deck-meta-form{grid-template-columns:1fr}
  .suggestion-card{grid-template-columns:42px minmax(0,1fr)}
  .suggestion-card .button{grid-column:auto}
  .admin-report-row{grid-template-columns:1fr 1fr}
  .admin-report-row div{grid-column:1/-1}
}

.deck-library-item{grid-template-columns:minmax(0,1fr) 38px 34px}
.deck-library-tts{font-size:.58rem;font-weight:800;letter-spacing:.02em}

.deck-folder-group{display:grid;gap:6px;margin-bottom:10px}.deck-folder-heading{margin:4px 2px 0;color:var(--gold);font-size:.72rem;text-transform:uppercase;letter-spacing:.09em}


/* PFCG v1.5.1 — dedicated Public Decks page */
body.community-route #communityPage{display:block}
body.community-route #archivePage,
body.community-route #deckPage,
body.community-route #filtersPanel{display:none!important}
body.community-route .header-actions a.button{text-decoration:none}

/* PFCG v1.5.2 — profiles, card revisions, smaller previews and cleaner deck commands */
html[data-theme="dark"] {
  --bg:#100e0c;--panel:#181410;--panel-2:#201a14;--panel-3:#2a2118;
  --line:#3c3023;--line-bright:#6c5434;--text:#f2e8d7;--muted:#b8a891;
}
html[data-theme="midnight"] {
  color-scheme:dark;
  --bg:#090d15;--panel:#101722;--panel-2:#151f2d;--panel-3:#1b293a;
  --line:#283a50;--line-bright:#446785;--text:#edf4fb;--muted:#a5b7c8;
}
html[data-theme="parchment"] {
  color-scheme:light;
  --bg:#e6dcc5;--panel:#f5eedf;--panel-2:#ece1cc;--panel-3:#dfcfb2;
  --line:#b9a37d;--line-bright:#806842;--text:#261f17;--muted:#6e604e;
  --shadow:0 20px 60px rgba(55,39,19,.22);
}
html[data-accent="gold"] {--gold:#d7ad62;--gold-bright:#f0cf8c}
html[data-accent="blue"] {--gold:#65a9df;--gold-bright:#a9d8ff}
html[data-accent="green"] {--gold:#72b986;--gold-bright:#ade6b9}
html[data-accent="crimson"] {--gold:#c96a70;--gold-bright:#f2a0a5}
html,body,.app-shell{background-color:var(--bg)!important;color:var(--text)!important}
body{background:radial-gradient(circle at 70% -10%,color-mix(in srgb,var(--gold) 18%,transparent) 0,transparent 30rem),var(--bg)!important}
.topbar{background:color-mix(in srgb,var(--bg) 92%,transparent)}
.filters{background:color-mix(in srgb,var(--panel) 88%,transparent)}
.card-dialog,.account-dialog,.wide-dialog,.report-dialog,.glossary-dialog{background:var(--panel)!important;color:var(--text)!important}
input,select,textarea{background:color-mix(in srgb,var(--bg) 84%,var(--panel))!important;color:var(--text)!important}
html[data-theme="parchment"] .button.primary{color:#21170b}
html.high-contrast{--line:color-mix(in srgb,var(--text) 42%,var(--bg));--line-bright:color-mix(in srgb,var(--gold) 72%,var(--text));}
html.high-contrast .muted,html.high-contrast .account-settings-help,html.high-contrast .filter-help{color:var(--text)}
html.compact-header .app-shell{grid-template-rows:58px 1fr}
html.compact-header .topbar{height:58px}
html.compact-header .filters{top:58px;height:calc(100vh - 58px)}
html.compact-header .community-toolbar{top:60px}
html[data-archive-card-size="small"] .card-grid:not(.compact){grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:13px}
html[data-archive-card-size="large"] .card-grid:not(.compact){grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px}

.account-button{display:inline-flex;align-items:center;gap:8px}
.account-button img{width:25px;height:25px;border-radius:50%;object-fit:cover;border:1px solid var(--line-bright)}
.account-profile-avatar{width:64px;height:64px;object-fit:cover;border-radius:50%;border:2px solid var(--line-bright);background:var(--panel-2)}
.account-nickname-display{display:block;margin-top:3px;color:var(--gold-bright);font-weight:800}
.account-profile-editor{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.profile-editor-grid{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:14px;align-items:end}
.profile-editor-grid label{display:grid;gap:6px;color:var(--muted);font-size:.78rem}
.profile-editor-grid input{min-height:42px;padding:8px 10px;border:1px solid var(--line);border-radius:9px}
.profile-picture-controls{display:flex;gap:8px;flex-wrap:wrap}
.account-settings-grid input{width:100%;min-height:42px;padding:8px 10px;border:1px solid var(--line);border-radius:9px}

.version-level-up-help{width:min(100%,520px);margin:0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2);color:var(--muted);font-size:.78rem;line-height:1.45}
.card-history-section[hidden]{display:none!important}

.card-dialog{width:min(1080px,calc(100vw - 28px));height:min(850px,calc(100dvh - 24px));max-height:calc(100dvh - 24px)}
.card-dialog .dialog-layout{grid-template-columns:minmax(300px,41%) minmax(0,1fr);height:100%;min-height:0}
.card-dialog .dialog-image-wrap{overflow:auto;padding:17px 18px 18px}
.card-dialog .dialog-image-wrap>img{max-height:min(57dvh,545px);width:auto;max-width:100%}
.card-dialog .dialog-details{padding:36px 30px 28px}
.dialog-image-actions{width:min(100%,500px);grid-template-columns:1fr 1fr;gap:8px}
.dialog-image-actions .button{min-height:40px;padding-inline:9px}
.card-image-toolbar{width:min(100%,500px)}

.deck-command-bar{display:grid;gap:10px;padding:14px 0}
.deck-command-group{display:flex;gap:8px;align-items:stretch;flex-wrap:wrap}
.deck-command-files{display:grid;grid-template-columns:auto minmax(230px,1fr) auto;align-items:stretch}
.json-drop-zone{min-height:48px;display:grid;place-content:center;gap:2px;padding:7px 15px;border:2px dashed var(--line-bright);border-radius:10px;background:color-mix(in srgb,var(--panel-2) 75%,transparent);text-align:center;cursor:pointer;transition:.16s ease}
.json-drop-zone strong{color:var(--gold-bright);font-size:.84rem}
.json-drop-zone span{color:var(--muted);font-size:.68rem}
.json-drop-zone:hover,.json-drop-zone:focus-visible,.json-drop-zone.dragging{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 12%,var(--panel-2));outline:0}
.community-author-line{display:flex;align-items:center;gap:10px}
.community-author-line p{margin:0}
.community-author-avatar{width:42px;height:42px;border-radius:50%;object-fit:cover;border:1px solid var(--line-bright)}

@media (max-width: 760px), (hover: none) and (pointer: coarse) and (max-device-width: 760px){
  .profile-editor-grid{grid-template-columns:1fr}
  .card-dialog{width:calc(100vw - 12px);height:calc(100dvh - 12px)}
  .card-dialog .dialog-layout{grid-template-columns:1fr;height:auto;min-height:100%}
  .card-dialog .dialog-image-wrap>img{max-height:47dvh}
  .card-dialog .dialog-details{padding:24px 16px 28px}
  .deck-command-files{grid-template-columns:1fr}
  .json-drop-zone{order:2}
}

/* PFCG v1.6.1 — compact deck controls, expanded administration, username login and repaired motion */
.mana-cost-controls{display:grid;gap:9px;margin:10px 0}
.mana-cost-row{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:10px;color:var(--muted);font-size:.8rem}
.mana-stepper,.resistance-stepper{display:grid;grid-template-columns:38px minmax(48px,1fr) 38px;align-items:stretch}
.mana-step,.resistance-step{border:1px solid var(--line);background:var(--panel-2);color:var(--gold-bright);font-weight:900;cursor:pointer}
.mana-step:first-child,.resistance-step:first-child{border-radius:8px 0 0 8px}
.mana-step:last-child,.resistance-step:last-child{border-radius:0 8px 8px 0}
.mana-step:hover,.resistance-step:hover{border-color:var(--gold);background:var(--panel-3)}
.mana-stepper input,.resistance-stepper input{min-width:0;width:100%;border-block:1px solid var(--line)!important;border-inline:0!important;border-radius:0!important;text-align:center;appearance:textfield}
.mana-stepper input::-webkit-inner-spin-button,.mana-stepper input::-webkit-outer-spin-button{appearance:none;margin:0}
.mana-lower-toggle,.resistance-lower-toggle{min-height:39px}
.mana-lower-toggle.primary,.resistance-lower-toggle.primary,.mana-lower-toggle.primary span,.resistance-lower-toggle.primary span{color:#1a1309!important}
html[data-theme="parchment"] .mana-lower-toggle.primary,html[data-theme="parchment"] .resistance-lower-toggle.primary{color:#21170b!important}

.archive-deck-controls{display:grid;grid-template-columns:36px minmax(0,1fr);gap:7px;min-width:0}
.archive-deck-controls .remove-button{color:var(--danger);font-size:1.15rem;font-weight:900}
.archive-deck-controls .remove-button:disabled{opacity:.35;cursor:not-allowed}
.archive-deck-controls .add-button{min-width:0;padding-inline:7px}
.detailed-card .archive-deck-controls{grid-template-columns:38px minmax(120px,1fr)}
.archive-mana-badge{position:absolute;z-index:3;top:9px;right:9px;width:32px;height:32px;display:grid;place-items:center;border:2px solid color-mix(in srgb,var(--gold-bright) 78%,white);border-radius:50%;background:radial-gradient(circle at 35% 25%,var(--gold-bright),var(--gold) 48%,color-mix(in srgb,var(--gold) 55%,#120c08));color:#160f08;font-family:Georgia,serif;font-weight:900;box-shadow:0 3px 12px rgba(0,0,0,.45)}
.archive-card-id{margin-left:auto;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.68rem}
.card-tile{position:relative}
html[data-card-image-fit="contain"] .card-image-button img{object-fit:contain;background:var(--panel-2)}

.rulings-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0;border:0;background:transparent;color:var(--text);cursor:pointer;text-align:left}
.rulings-toggle span{font-family:Georgia,serif;font-size:1.02rem;font-weight:700}
.rulings-toggle small{color:var(--gold);text-transform:uppercase;letter-spacing:.09em}
.card-rulings-body{margin-top:12px}
.card-rulings-body[hidden]{display:none!important}

.json-drop-zone{min-height:38px;max-width:430px;padding:4px 12px;gap:0;border-width:1px}
.json-drop-zone strong{font-size:.78rem}.json-drop-zone span{font-size:.62rem}

html[data-theme="paizo"]{color-scheme:light;--bg:#d8c8aa;--panel:#f3e6cd;--panel-2:#e6d4b2;--panel-3:#d2bc91;--line:#9c8053;--line-bright:#6f4b22;--text:#2c1d10;--muted:#6f5940;--gold:#9d4b20;--gold-bright:#d47b35;--danger:#9f2e2e;--shadow:0 20px 55px rgba(60,38,12,.25)}
html[data-theme="dnd"]{color-scheme:dark;--bg:#160b0c;--panel:#241113;--panel-2:#321719;--panel-3:#482024;--line:#673037;--line-bright:#a45155;--text:#f4e7df;--muted:#c8a8a2;--gold:#bd3038;--gold-bright:#ef7b73;--danger:#ff9d82}
html[data-theme="arcane"]{color-scheme:dark;--bg:#070b1b;--panel:#0d1530;--panel-2:#132044;--panel-3:#1b2d59;--line:#2b477d;--line-bright:#5785c7;--text:#edf5ff;--muted:#a4b8d7;--gold:#6d72e8;--gold-bright:#b0aaff;--danger:#e28fae}
html[data-theme="verdant"]{color-scheme:dark;--bg:#08130d;--panel:#102018;--panel-2:#173023;--panel-3:#214331;--line:#315c43;--line-bright:#5d956c;--text:#ecf7ed;--muted:#a6c4ab;--gold:#68ad73;--gold-bright:#b2df9d;--danger:#e18d73}
html[data-theme="infernal"]{color-scheme:dark;--bg:#130706;--panel:#210d09;--panel-2:#32130d;--panel-3:#481b11;--line:#6b2c1b;--line-bright:#a64a25;--text:#f8e6d5;--muted:#c9a58b;--gold:#df6b25;--gold-bright:#ffc16c;--danger:#ff7260}
html[data-theme="paizo"] body{background:radial-gradient(circle at 75% -10%,rgba(147,63,23,.22),transparent 31rem),linear-gradient(rgba(255,255,255,.12),rgba(0,0,0,.03)),var(--bg)!important}
html[data-theme="dnd"] body{background:radial-gradient(circle at 75% -10%,rgba(187,34,47,.26),transparent 31rem),var(--bg)!important}
html[data-theme="arcane"] body{background:radial-gradient(circle at 75% -10%,rgba(91,94,232,.32),transparent 31rem),var(--bg)!important}
html[data-theme="verdant"] body{background:radial-gradient(circle at 75% -10%,rgba(75,153,89,.24),transparent 31rem),var(--bg)!important}
html[data-theme="infernal"] body{background:radial-gradient(circle at 75% -10%,rgba(232,78,22,.27),transparent 31rem),var(--bg)!important}

.admin-page{grid-column:1/-1;max-width:1600px;width:100%;margin:0 auto;padding-top:24px}
body.admin-route .filters,body.admin-route #archivePage,body.admin-route #deckPage,body.admin-route #communityPage{display:none!important}
.admin-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px;padding:24px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--panel-3) 75%,transparent),var(--panel));box-shadow:var(--shadow)}
.admin-page-header h1,.admin-page-header p{margin:0}.admin-page-header h1{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.2rem)}.admin-page-header p:last-child{margin-top:8px;color:var(--muted)}
.admin-layout{display:grid;grid-template-columns:235px minmax(0,1fr);gap:18px;align-items:start}
.admin-nav{position:sticky;top:92px;display:grid;gap:5px;padding:10px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}
.admin-nav-button{min-height:42px;padding:0 12px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--muted);text-align:left;cursor:pointer;font-weight:700}
.admin-nav-button:hover{background:var(--panel-2);color:var(--text)}.admin-nav-button.active{border-color:var(--line-bright);background:var(--panel-3);color:var(--gold-bright)}
.admin-content{min-width:0}.admin-panel-section{padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--panel);box-shadow:0 12px 35px rgba(0,0,0,.18)}
.admin-panel-section[hidden]{display:none!important}.admin-section-heading,.admin-deck-browser-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.admin-section-heading h2,.admin-deck-browser-heading h3,.admin-deck-browser-heading h4{margin:0;font-family:Georgia,serif}
.admin-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-stat-grid article{display:grid;gap:4px;padding:18px;border:1px solid var(--line);border-radius:13px;background:var(--panel-2)}.admin-stat-grid strong{color:var(--gold-bright);font-family:Georgia,serif;font-size:2rem}.admin-stat-grid span{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}
.admin-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.admin-dashboard-grid>section,.admin-user-editor,.admin-deck-browser{padding:16px;border:1px solid var(--line);border-radius:13px;background:var(--panel-2)}.admin-dashboard-grid h3{margin-top:0}.admin-dashboard-grid textarea{width:100%}
.admin-action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:9px}
.admin-create-user,.admin-settings-grid,.admin-user-editor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-bottom:16px;padding:15px;border:1px solid var(--line);border-radius:13px;background:var(--panel-2)}
.admin-create-user label,.admin-settings-grid label,.admin-user-editor-grid label,.admin-user-search{display:grid;gap:6px;color:var(--muted);font-size:.78rem}.admin-create-user input,.admin-settings-grid input,.admin-settings-grid select,.admin-settings-grid textarea,.admin-user-editor-grid input,.admin-user-editor-grid textarea,.admin-user-search input{width:100%;min-height:42px;padding:8px 10px;border:1px solid var(--line);border-radius:9px}
.admin-create-user .check-row{align-self:center}.admin-user-search{margin-bottom:12px}
.admin-users,.admin-deck-list,.admin-reports{display:grid;gap:9px}
.admin-user-row,.admin-deck-row,.admin-report-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2)}
.admin-user-summary,.admin-user-row>div:first-child,.admin-deck-row>div:first-child,.admin-report-row>div:first-child{min-width:0;display:grid;gap:4px}.admin-user-row small,.admin-deck-row small,.admin-report-row small,.admin-report-row p{color:var(--muted);overflow-wrap:anywhere}.admin-report-row p{margin:6px 0 0;line-height:1.45;white-space:pre-wrap}
.admin-user-actions,.admin-deck-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.admin-user-editor,.admin-deck-browser{margin-top:16px}.admin-user-editor .dialog-actions{margin-top:12px}
.account-settings-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:1px 14px}
.system-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.system-check-grid article{display:grid;gap:5px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2)}.system-check-grid span{color:var(--muted);overflow-wrap:anywhere}

.impersonation-banner{position:fixed;z-index:120;left:50%;bottom:18px;transform:translateX(-50%);width:min(920px,calc(100vw - 24px));display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 13px;border:2px solid var(--gold-bright);border-radius:13px;background:color-mix(in srgb,var(--panel) 94%,transparent);box-shadow:0 16px 50px rgba(0,0,0,.52);backdrop-filter:blur(12px)}
.impersonation-banner[hidden]{display:none!important}.impersonation-banner span{font-weight:700;color:var(--gold-bright)}
.site-announcement{position:fixed;z-index:110;top:78px;left:50%;transform:translateX(-50%);width:min(900px,calc(100vw - 24px));padding:9px 13px;border:1px solid var(--gold);border-radius:10px;background:color-mix(in srgb,var(--panel) 94%,transparent);box-shadow:var(--shadow);text-align:center;color:var(--text);backdrop-filter:blur(10px)}.site-announcement[hidden]{display:none!important}


@media (max-width: 900px), (hover: none) and (pointer: coarse) and (max-device-width: 1200px){.admin-layout{grid-template-columns:1fr}.admin-nav{position:static;grid-template-columns:repeat(4,minmax(0,1fr))}.admin-nav-button{text-align:center;padding:7px}.admin-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-dashboard-grid{grid-template-columns:1fr}}
@media (max-width: 650px), (hover: none) and (pointer: coarse) and (max-device-width: 650px){.admin-page{padding-inline:10px}.admin-page-header{align-items:stretch;flex-direction:column}.admin-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-panel-section{padding:14px}.admin-stat-grid{grid-template-columns:1fr 1fr}.admin-user-row,.admin-deck-row,.admin-report-row{grid-template-columns:1fr}.admin-user-actions,.admin-deck-actions{justify-content:flex-start}.impersonation-banner{align-items:stretch;flex-direction:column}.site-announcement{top:66px}.archive-deck-controls{grid-template-columns:34px minmax(0,1fr)}}
.admin-avatar-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:7px}.admin-avatar-actions .button{min-height:34px;font-size:.75rem}

/* PFCG v1.6.1 — compact versions, independently scrolling decks, repaired command bar */
.card-dialog .dialog-image-wrap{
  grid-template-rows:auto auto minmax(0,1fr) auto;
  min-height:0;
  overflow:hidden;
}
.card-dialog .dialog-image-wrap>img{
  align-self:center;
  min-height:0;
  max-height:min(55dvh,520px);
  object-fit:contain;
}
.card-dialog .dialog-image-wrap.versions-open{
  gap:7px;
  padding:12px 14px 13px;
}
.card-dialog .dialog-image-wrap.versions-open .version-card-list{
  width:min(100%,500px);
  gap:6px;
  padding:1px 2px 4px;
  scrollbar-width:thin;
}
.card-dialog .dialog-image-wrap.versions-open .version-card{flex-basis:76px;padding:4px;border-radius:7px}
.card-dialog .dialog-image-wrap.versions-open .version-card img{border-radius:4px}
.card-dialog .dialog-image-wrap.versions-open .version-card span{padding-top:3px;font-size:.61rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card-dialog .dialog-image-wrap.versions-open>img{max-height:min(42dvh,390px)}
.card-dialog .dialog-image-wrap.versions-open .card-image-toolbar{min-height:34px}
.card-dialog .dialog-image-wrap.versions-open .card-image-toolbar .button{min-height:32px;padding:5px 8px;font-size:.72rem}
.card-dialog .dialog-image-actions{position:relative;z-index:2;align-self:end;background:color-mix(in srgb,var(--panel) 86%,transparent);border-radius:10px;padding:4px;backdrop-filter:blur(5px)}

.deck-command-files{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-start;
  align-items:stretch;
  gap:9px;
}
.deck-command-files>*{min-width:0}
.deck-command-files .json-drop-zone{
  flex:0 1 360px;
  width:min(360px,100%);
}
.deck-command-files #copyTtsQuick,
.deck-command-files #downloadDeckJson,
.deck-command-files #printDeckCards{flex:0 0 auto;white-space:nowrap}

.deck-library-panel{
  max-height:calc(100dvh - 112px);
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
.deck-library-list{max-height:none;overflow:visible;padding-right:0}
html[data-deck-sidebar-mode="page"] .deck-library-panel{position:static;max-height:none;overflow:visible}

.archive-deck-controls .add-button{font-size:1.25rem;font-weight:900;line-height:1;padding-inline:7px}
.archive-deck-controls .add-symbol{display:inline-block;transform:translateY(-1px)}
html.hide-copy-counts .add-button .add-quantity,html.hide-copy-counts #dialogAddDeck .add-quantity{display:none!important}
html.hide-card-tags .card-tile .tag-row,html.hide-card-tags .detailed-card .tag-row{display:none!important}
html.hide-favourite-stars .card-actions .favourite{display:none!important}
html.hide-deck-breakdown .deck-breakdown-panel{display:none!important}
html.compact-card-controls .card-actions{grid-template-columns:31px minmax(31px,auto);justify-content:start}
html.compact-card-controls .archive-deck-controls{grid-template-columns:31px 38px}
html.compact-card-controls .card-actions button{min-height:31px;padding:3px 6px}
html[data-rule-text-size="small"] .rule-blocks,html[data-rule-text-size="small"] .reminder-box{font-size:.78rem}
html[data-rule-text-size="large"] .rule-blocks,html[data-rule-text-size="large"] .reminder-box{font-size:1rem;line-height:1.62}

.credential-login-form{display:grid;grid-template-columns:1fr 1fr auto;gap:9px;align-items:end;margin:14px 0;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2)}
.credential-login-form label{display:grid;gap:5px;color:var(--muted);font-size:.75rem}
.credential-login-form input{width:100%;min-height:42px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--text)}
.credential-login-form .button{min-height:42px}

html.site-read-only .add-button,html.site-read-only #dialogAddDeck,html.site-read-only .qty-plus,html.site-read-only .qty-minus{opacity:.48;cursor:not-allowed}
.site-announcement{position:relative;z-index:2000;padding:8px 16px;text-align:center;background:#4a211c;color:#fff2df;border-bottom:1px solid #b15c4e;font-size:.82rem}

@media (max-width: 980px), (hover: none) and (pointer: coarse) and (max-device-width: 980px){
  .deck-command-files .json-drop-zone{flex-basis:320px;width:min(320px,100%)}
}
@media (max-width: 760px), (hover: none) and (pointer: coarse) and (max-device-width: 760px){
  .card-dialog .dialog-image-wrap{overflow:visible;grid-template-rows:auto auto auto auto}
  .card-dialog .dialog-image-wrap.versions-open>img{max-height:39dvh}
  .deck-command-files{display:grid;grid-template-columns:1fr 1fr}
  .deck-command-files .json-drop-zone{grid-column:1/-1;width:auto;max-width:none;order:0}
  .deck-command-files #copyTtsQuick,.deck-command-files #downloadDeckJson,.deck-command-files #printDeckCards{width:100%}
  .deck-library-panel{max-height:none;overflow:visible}
  .credential-login-form{grid-template-columns:1fr}
}


/* PFCG v1.6.2 — stable inline card controls and administrator popularity analytics */
.archive-deck-controls .add-button{display:inline-flex;align-items:center;justify-content:center;gap:3px;white-space:nowrap;line-height:1}
.archive-deck-controls .add-button .add-quantity{flex:0 0 auto;min-width:0;margin-left:0;padding:1px 3px;font-size:.68rem;line-height:1.15}
.archive-deck-controls .add-symbol{display:inline-block;line-height:1}
.card-dialog .dialog-image-wrap>img{max-height:min(60dvh,565px)}
.card-dialog .dialog-image-wrap.versions-open>img{max-height:min(45dvh,415px)}
.admin-section-help{max-width:760px;margin:7px 0 0;color:var(--muted);line-height:1.5}
.admin-popularity-summary{margin-bottom:16px}
.admin-popularity-controls{display:grid;grid-template-columns:minmax(220px,1.4fr) repeat(2,minmax(170px,.8fr)) minmax(190px,.8fr);gap:10px;align-items:end;margin-bottom:12px;padding:14px;border:1px solid var(--line);border-radius:13px;background:var(--panel-2)}
.admin-popularity-controls label{display:grid;gap:6px;color:var(--muted);font-size:.78rem}.admin-popularity-controls input,.admin-popularity-controls select{width:100%;min-height:42px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--text)}
.admin-popularity-controls .check-row{display:flex;align-items:center;align-self:center;min-height:42px;padding-top:20px}.admin-popularity-controls .check-row input{width:auto;min-height:0}
.admin-popularity-table-wrap{max-height:68vh;overflow:auto;border:1px solid var(--line);border-radius:13px;background:var(--panel-2)}
.admin-popularity-table{width:100%;border-collapse:separate;border-spacing:0;min-width:720px}.admin-popularity-table th{position:sticky;z-index:2;top:0;padding:11px 12px;border-bottom:1px solid var(--line-bright);background:var(--panel-3);color:var(--muted);font-size:.72rem;text-align:right;text-transform:uppercase;letter-spacing:.07em}.admin-popularity-table th:nth-child(1){width:64px;text-align:center}.admin-popularity-table th:nth-child(2){text-align:left}
.admin-popularity-table td{padding:9px 12px;border-bottom:1px solid var(--line);text-align:right;vertical-align:middle;font-variant-numeric:tabular-nums}.admin-popularity-table tr:last-child td{border-bottom:0}.admin-popularity-table tbody tr:hover td{background:color-mix(in srgb,var(--panel-3) 62%,transparent)}.admin-popularity-table td:first-child{text-align:center;color:var(--muted);font-weight:800}
.admin-popularity-card{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:10px;text-align:left}.admin-popularity-card img{width:40px;height:56px;object-fit:cover;border:1px solid var(--line);border-radius:5px;background:var(--panel)}.admin-popularity-card strong,.admin-popularity-card small{display:block}.admin-popularity-card small{margin-top:2px;color:var(--muted);font-size:.7rem}
.admin-popularity-copies{min-width:88px}.admin-popularity-copies strong{display:block;color:var(--gold-bright);font-size:1rem}.admin-popularity-bar{display:block;width:82px;height:5px;margin:5px 0 0 auto;border-radius:999px;background:var(--panel);overflow:hidden}.admin-popularity-bar i{display:block;height:100%;width:var(--popularity-percent);border-radius:inherit;background:var(--gold)}.admin-popularity-zero td{opacity:.68}.admin-popularity-zero .admin-popularity-copies strong{color:var(--muted)}
@media (max-width: 980px), (hover: none) and (pointer: coarse) and (max-device-width: 980px){.admin-popularity-controls{grid-template-columns:1fr 1fr}.admin-popularity-controls .check-row{padding-top:0}}
@media (max-width: 620px), (hover: none) and (pointer: coarse) and (max-device-width: 620px){.admin-popularity-controls{grid-template-columns:1fr}.admin-popularity-table-wrap{max-height:62vh}.card-dialog .dialog-image-wrap>img{max-height:49dvh}.card-dialog .dialog-image-wrap.versions-open>img{max-height:41dvh}}

/* Keep the archive copy count beside the + symbol, including compact controls. */
html.compact-card-controls .archive-deck-controls{grid-template-columns:31px 52px}
.archive-deck-controls .add-button{min-width:48px;overflow:hidden}
.archive-deck-controls .add-button .add-quantity{padding-inline:1px;white-space:nowrap}

/* PFCG v1.7.0 — rulebook, stable filters, print backs, history and layout refinements */

/* Suggestion form: provide enough room for a useful report on desktop and mobile. */
.suggestion-box{display:grid;gap:14px}
.suggestion-box>label{display:grid;grid-template-columns:minmax(120px,170px) minmax(0,1fr);align-items:start;gap:14px}
.suggestion-box>label>span{padding-top:11px;color:var(--muted);font-weight:750}
.suggestion-box textarea{width:100%;min-height:190px;resize:vertical;box-sizing:border-box;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2);color:var(--text);font:inherit;line-height:1.5}
.suggestion-box #submitSuggestion{justify-self:start;min-width:170px;min-height:46px}

/* Stepper and slider filter modes share the same predictable footprint. */
.mana-stepper,.resistance-stepper{min-width:0}
.mana-value-output,.resistance-value-output{display:none;min-width:42px;place-items:center;padding:0 8px;border:1px solid var(--line);border-radius:8px;background:var(--panel-3);color:var(--gold-bright);font-weight:850;font-variant-numeric:tabular-nums}
html[data-filter-control-style="stepper"] .mana-stepper,
html[data-filter-control-style="stepper"] .resistance-stepper{grid-template-columns:38px minmax(48px,1fr) 38px}
html[data-filter-control-style="stepper"] .mana-value-output,
html[data-filter-control-style="stepper"] .resistance-value-output{display:none}
html[data-filter-control-style="slider"] .mana-cost-row{grid-template-columns:72px minmax(130px,1fr)}
html[data-filter-control-style="slider"] .mana-stepper,
html[data-filter-control-style="slider"] .resistance-stepper{display:grid;grid-template-columns:minmax(100px,1fr) auto;gap:8px;align-items:center}
html[data-filter-control-style="slider"] .mana-step,
html[data-filter-control-style="slider"] .resistance-step{display:none}
html[data-filter-control-style="slider"] .mana-stepper input,
html[data-filter-control-style="slider"] .resistance-stepper input{grid-column:1;width:100%;height:34px;padding:0;border:0!important;border-radius:0!important;background:transparent;accent-color:var(--gold);cursor:pointer}
html[data-filter-control-style="slider"] .mana-value-output,
html[data-filter-control-style="slider"] .resistance-value-output{display:grid;grid-column:2;min-height:34px}
html[data-filter-control-style="slider"] .resistance-row{align-items:center}
html[data-filter-control-style="slider"] .resistance-stepper{min-width:150px}
.lower-value-check{min-height:38px;padding:7px 9px;border:1px solid var(--line);border-radius:9px;background:var(--panel-2);color:var(--text)!important}
.lower-value-check input{flex:0 0 auto;accent-color:var(--gold)}
.lower-value-check:has(input:checked){border-color:var(--gold);background:color-mix(in srgb,var(--gold) 13%,var(--panel-2));color:var(--gold-bright)!important}
.lower-value-check:has(input:checked) *{color:inherit!important}

/* Keep active controls readable instead of inheriting dark-on-dark button text. */
#favouritesButton.primary,#favouritesButton.primary *,
.mana-lower-toggle.primary,.mana-lower-toggle.primary *,
.resistance-lower-toggle.primary,.resistance-lower-toggle.primary *{color:#1b1308!important}
html[data-theme="parchment"] #favouritesButton.primary,
html[data-theme="parchment"] #favouritesButton.primary *{color:#21170b!important}

/* Highlight every dropdown with a non-default selection when the user enables that preference. */
html[data-dropdown-mode="highlight"] select.has-selection,
html[data-dropdown-mode="highlight"] label.has-selection select{border-color:var(--gold)!important;background:color-mix(in srgb,var(--gold) 13%,var(--panel-2))!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--gold) 18%,transparent);color:var(--gold-bright)!important}
html[data-dropdown-mode="highlight"] label.has-selection>span{color:var(--gold-bright)}

/* Alternative Art and Versions no longer shrink the main card preview. */
.card-dialog .dialog-image-wrap{overflow-y:auto;scrollbar-gutter:stable}
.card-dialog .dialog-image-wrap>img,
.card-dialog .dialog-image-wrap.versions-open>img{width:auto;max-width:100%;height:min(60dvh,575px);max-height:min(60dvh,575px);object-fit:contain;flex:0 0 auto}
.card-dialog .dialog-image-actions{position:sticky;bottom:0;z-index:8}
.card-dialog .dialog-image-wrap.versions-open{padding:17px 18px 18px}
.card-dialog .dialog-image-wrap.versions-open .version-card-list{flex:0 0 auto}

/* Deck command rows remain in a stable order and never push JSON download to the far edge. */
.deck-command-bar{align-items:start}
.deck-command-group{justify-content:flex-start}
.deck-command-files{width:100%;justify-content:flex-start}
.deck-command-files #downloadDeckJson{margin-left:0}
.deck-command-files .json-drop-zone{flex:0 1 360px}

/* Mana curve reaches the available screen edge and stacked cards occupy the same positions in either copy mode. */
body.deck-route .deck-page{--deck-page-pad:clamp(14px,2vw,32px)}
body.deck-route .mana-curve-scroll{width:calc(100% + var(--deck-page-pad));margin-right:calc(0px - var(--deck-page-pad));padding-right:var(--deck-page-pad)}
.mana-curve.copy-count-mode .mana-curve-card + .mana-curve-card{margin-top:-102%}
.mana-curve-card.curve-active{z-index:20;border-color:var(--gold-bright);transform:translateY(-7px) scale(1.03)}

/* Opening-hand text can grow downward without nudging cards upward. */
.opening-hand-results{align-items:flex-start}
.hand-card{align-self:flex-start;display:flex;flex-direction:column;justify-content:flex-start;height:auto;min-height:0}
.hand-card img{flex:0 0 auto}
.hand-card span{flex:0 0 auto;min-height:2.5em;overflow-wrap:anywhere}

/* Rulebook reader. */
.rulebook-dialog{width:min(1240px,calc(100vw - 24px));height:min(920px,calc(100dvh - 20px));max-height:calc(100dvh - 20px);overflow:hidden}
.rulebook-dialog .wide-dialog-content{height:100%;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:12px;padding:28px;box-sizing:border-box}
.rulebook-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.rulebook-heading h2,.rulebook-heading p{margin:0}.rulebook-heading h2{margin-top:3px}.rulebook-heading p:last-child{margin-top:7px;color:var(--muted)}
.rulebook-quick-nav{display:flex;gap:7px;overflow-x:auto;padding:2px 0 8px;scrollbar-width:thin}
.rulebook-quick-nav button{flex:0 0 auto;min-height:36px;padding:7px 11px;border:1px solid var(--line);border-radius:9px;background:var(--panel-2);color:var(--muted);font-weight:750;cursor:pointer}
.rulebook-quick-nav button:hover,.rulebook-quick-nav button.active{border-color:var(--gold);background:var(--panel-3);color:var(--gold-bright)}
#rulebookFrame{width:100%;height:100%;min-height:420px;border:1px solid var(--line);border-radius:12px;background:#e7e7e7}

/* Printable card backing choices. */
.print-options-dialog{width:min(820px,calc(100vw - 24px))}
.print-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}
.print-option-grid>label:not(.check-row){display:grid;grid-column:1/-1;gap:7px}
.print-backing-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}
.print-backing-preview article{display:grid;gap:7px;justify-items:center;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2)}
.print-backing-preview img{width:min(100%,150px);aspect-ratio:907/1306;object-fit:cover;border-radius:8px;border:1px solid var(--line-bright)}
.print-backing-preview span{text-align:center;color:var(--muted);font-size:.76rem;font-weight:700}

/* Recently viewed page. */
.recent-page{grid-column:2;grid-row:2;min-width:0;padding:28px clamp(18px,3vw,44px) 80px}
body.recent-route .filters,body.recent-route #archivePage,body.recent-route #deckPage,body.recent-route #communityPage,body.recent-route #adminPage{display:none!important}
body.recent-route .app-shell{grid-template-columns:1fr}
body.recent-route .recent-page{grid-column:1}
.recent-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:24px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,var(--panel-3),var(--panel));box-shadow:var(--shadow)}
.recent-page-header h1,.recent-page-header p{margin:0}.recent-page-header h1{margin-top:5px;font-family:Georgia,serif;font-size:clamp(2rem,4vw,3rem)}.recent-page-header p:last-child{margin-top:7px;color:var(--muted)}
.recent-page-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin-top:18px}
.recent-page-card{display:grid;grid-template-columns:70px minmax(0,1fr);align-items:center;gap:12px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text);text-align:left;cursor:pointer}
.recent-page-card:hover{border-color:var(--gold)}.recent-page-card img{width:70px;aspect-ratio:907/1306;object-fit:cover;border-radius:7px}.recent-page-card strong,.recent-page-card small{display:block}.recent-page-card small{margin-top:4px;color:var(--muted)}

/* Administrator reprint gallery. */
.admin-revision-controls{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1.2fr);gap:12px;margin-bottom:12px}
.admin-revision-controls label{display:grid;gap:6px;color:var(--muted);font-size:.78rem}
.admin-revision-controls input,.admin-revision-controls select{width:100%;min-height:42px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--panel-2);color:var(--text)}
.admin-revision-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:14px;margin-top:16px}
.admin-revision-card{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--panel-2)}
.admin-revision-image{display:grid;place-items:center;min-height:300px;border-radius:10px;background:var(--panel);overflow:hidden}
.admin-revision-image img{width:100%;max-height:480px;object-fit:contain}.admin-revision-card h3{margin:8px 0 3px}.admin-revision-card p{margin:7px 0 0;color:var(--muted);line-height:1.45}.admin-revision-card small{color:var(--muted)}

/* Global administrator feature switches. */
html.collection-disabled [data-tool-tab="collection"],html.collection-disabled [data-tool-panel="collection"]{display:none!important}

/* Optional synergy images can be hidden without changing the rest of the suggestion layout. */
.suggestion-grid.hide-synergy-images .suggestion-card{grid-template-columns:minmax(0,1fr) auto auto}

.password-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:stretch}.password-input-row .password-toggle{white-space:nowrap;padding-inline:11px}
.account-auth-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.account-auth-actions .button{width:100%}
.provider-button{background:var(--panel-2);border-color:var(--line-bright)}

@media (max-width: 760px), (hover: none) and (pointer: coarse) and (max-device-width: 760px){
  .suggestion-box>label{grid-template-columns:1fr;gap:6px}.suggestion-box>label>span{padding-top:0}
  .card-dialog .dialog-image-wrap>img,.card-dialog .dialog-image-wrap.versions-open>img{height:43dvh;max-height:43dvh}
  .rulebook-dialog .wide-dialog-content{padding:20px 12px 12px}.rulebook-heading{flex-direction:column}.rulebook-heading .button{width:100%}#rulebookFrame{min-height:55dvh}
  .print-option-grid,.print-backing-preview{grid-template-columns:1fr}.print-option-grid>label:not(.check-row){grid-column:auto}
  .recent-page{grid-column:1;padding:16px 12px 60px}.recent-page-header{align-items:stretch;flex-direction:column}.recent-page-header>.button{width:100%}
  .admin-revision-controls{grid-template-columns:1fr}
  .account-auth-actions{grid-template-columns:1fr}
}


/* PFCG v1.7.2 — responsive app shell, device settings, and stable card previews. */
#schoolList{
  width:100%;
  max-width:100%;
  max-height:none;
  overflow:visible;
  overflow-x:hidden;
  padding:11px 0;
  scrollbar-gutter:auto;
  flex-wrap:wrap;
  min-width:0;
}
#schoolList .filter-chip{max-width:100%;white-space:normal;overflow-wrap:anywhere}

.settings-device-tabs{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:14px 0 18px;
  padding:5px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--panel-2);
}
.settings-device-tabs .button{width:100%;min-height:42px}
.settings-device-tabs .button.active,
.settings-device-tabs .button[aria-selected="true"]{
  border-color:var(--gold-bright);
  background:linear-gradient(135deg,var(--gold-bright),var(--gold));
  color:#1b1308;
}
[data-settings-panel][hidden]{display:none!important}
.mobile-settings-intro{margin:0 0 14px;color:var(--muted);line-height:1.5}

/* Only the algorithm-selected mana-curve card rises. Pointer hover alone never stacks previews. */
.mana-curve-card:hover{z-index:inherit;border-color:var(--line-bright);transform:none}
.mana-curve-card.curve-active,
.mana-curve-card.curve-active:hover,
.mana-curve-card:focus-visible{
  z-index:30;
  border-color:var(--gold-bright);
  transform:none;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--gold-bright) 70%,transparent),0 12px 28px rgba(0,0,0,.45);
}
.mana-curve-column{isolation:isolate}

.mobile-app-nav{display:none!important}

@media (max-width: 900px), (hover: none) and (pointer: coarse) and (max-device-width: 1200px){
  html{scroll-padding-top:64px}
  body{min-width:0;overscroll-behavior-y:none}
  .app-shell{display:block;min-height:100dvh;padding-bottom:0}
  .topbar{
    position:sticky;
    top:0;
    z-index:80;
    width:100%;
    height:64px;
    padding:0 max(10px,env(safe-area-inset-right)) 0 max(10px,env(safe-area-inset-left));
    gap:9px;
    background:color-mix(in srgb,var(--bg) 95%,transparent);
  }
  .topbar>#filterToggle{flex:0 0 42px}
  .brand{min-width:0;gap:9px}
  .brand-rune{width:34px;height:34px;flex:0 0 34px}
  .brand>span:last-child{min-width:0}
  .brand strong{font-size:.96rem}
  .brand small{font-size:.58rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:145px}
  .header-actions{margin-left:auto;min-width:0}
  .header-actions .button:not(#accountButton):not(#deckToggle){display:none}
  .header-actions #accountButton{max-width:102px;min-height:38px;padding-inline:10px}
  .header-actions #accountButtonLabel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .header-actions #deckToggle{min-height:38px;padding-inline:10px}

  .main-content,.deck-page,.recent-page,.community-page,.admin-page{
    width:100%;
    max-width:none;
    min-width:0;
    padding:12px 10px calc(82px + env(safe-area-inset-bottom));
  }
  .main-content{grid-column:1;grid-row:auto}
  .hero{min-height:0;padding:18px;border-radius:15px;gap:12px}
  .hero h1{font-size:clamp(1.55rem,8vw,2.15rem)}
  .hero p:not(.eyebrow){margin-top:10px;line-height:1.45;font-size:.88rem}
  .hero-stat{flex-basis:84px}.hero-stat strong{font-size:2.25rem}.hero-stat span{font-size:.62rem}
  html.mobile-hide-hero .hero{display:none!important}

  .results-toolbar{
    position:sticky;
    top:64px;
    z-index:22;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:8px;
    margin:0 -10px;
    padding:10px;
    border-bottom:1px solid var(--line);
    background:color-mix(in srgb,var(--bg) 94%,transparent);
    backdrop-filter:blur(14px);
  }
  html.compact-header .results-toolbar{top:58px}
  .results-toolbar p{font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .toolbar-controls{gap:6px}
  .toolbar-controls label{font-size:0;gap:0}
  .toolbar-controls select{max-width:108px;min-height:38px;padding:6px 7px;font-size:.75rem}
  .active-filters{margin:10px 0;gap:6px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}
  .active-filter{flex:0 0 auto}

  .card-grid,.card-grid.compact{
    width:100%;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
  }
  html[data-mobile-card-columns="1"] .card-grid:not(.detailed),
  html[data-mobile-card-columns="1"] .card-grid.compact{grid-template-columns:1fr;max-width:430px;margin-inline:auto;gap:13px}
  html[data-mobile-card-columns="2"] .card-grid:not(.detailed),
  html[data-mobile-card-columns="2"] .card-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}
  html[data-mobile-card-columns="auto"] .card-grid:not(.detailed),
  html[data-mobile-card-columns="auto"] .card-grid.compact{grid-template-columns:repeat(auto-fill,minmax(min(155px,44vw),1fr))}
  .card-grid.detailed{grid-template-columns:1fr;gap:9px}
  .card-tile{border-radius:11px;transform:none!important;box-shadow:none!important}
  .card-tile:hover{transform:none;border-color:var(--line)}
  .card-body{padding:8px}
  .card-kicker{font-size:.58rem;letter-spacing:.06em}
  .card-body h2{margin:4px 0 7px;font-size:.86rem}
  .card-tags{gap:3px}.mini-tag{font-size:.55rem;padding:2px 4px}
  .card-actions{grid-template-columns:38px minmax(0,1fr);gap:6px;margin-top:7px}
  .card-actions button{min-height:40px}
  html.mobile-large-tap-targets .card-actions button,
  html.mobile-large-tap-targets .button,
  html.mobile-large-tap-targets .filter-chip,
  html.mobile-large-tap-targets select,
  html.mobile-large-tap-targets input{min-height:46px}

  /* Phone filters are a self-contained full-height workspace, not a narrow desktop drawer. */
  .filters{
    display:block;
    position:fixed;
    z-index:130;
    inset:0;
    top:0;
    width:100vw;
    max-width:none;
    height:100dvh;
    padding:0 12px calc(88px + env(safe-area-inset-bottom));
    border:0;
    transform:translateY(104%);
    transition:transform .2s ease;
    box-shadow:none;
    background:var(--bg);
    overscroll-behavior:contain;
  }
  .filters.open{transform:translateY(0)}
  .filter-header{
    position:sticky;
    top:0;
    z-index:3;
    min-height:60px;
    margin:0 -12px;
    padding:8px 12px;
    border-bottom:1px solid var(--line);
    background:color-mix(in srgb,var(--bg) 96%,transparent);
    backdrop-filter:blur(14px);
  }
  .filter-header h2{font-size:1.15rem}
  .search-field{position:sticky;top:68px;z-index:2;height:48px;margin:10px 0 4px;background:var(--panel)}
  .search-help{margin:6px 3px 12px}
  .tri-state-help{margin:10px 0 12px}
  .filter-reset{margin-bottom:9px}
  .filter-section{padding:0;border:1px solid var(--line);border-radius:12px;background:var(--panel);margin:9px 0;overflow:hidden}
  .filter-section>summary{min-height:48px;padding:11px 12px}
  .filter-group-body{padding:10px}
  .filter-subsection{padding:9px 0}
  .dense-chip-list,#schoolList{max-height:none;overflow:visible;padding:7px 0}
  .filter-chip{padding:9px 11px}
  body.filters-open{position:fixed;width:100%;overflow:hidden}

  /* Deck builder becomes one linear, thumb-friendly workspace. */
  .deck-page-header{padding:16px;border-radius:14px;gap:14px}
  .deck-page-header h1{font-size:1.9rem}
  .deck-page-actions{width:100%}
  .deck-page-actions input{width:100%;min-height:46px}
  .deck-workspace{display:block}
  .deck-library-panel{position:static;margin-bottom:12px;padding:10px;border-radius:12px}
  .deck-library-list{display:flex;grid-template-columns:none;max-height:none;overflow-x:auto;overflow-y:hidden;gap:7px;padding-bottom:4px;scroll-snap-type:x proximity}
  .deck-library-list>*{flex:0 0 min(78vw,270px);scroll-snap-align:start}
  .deck-main-panel{min-width:0}
  .deck-command-bar,.deck-command-files,.deck-command-secondary,.deck-command-group{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:7px}
  .deck-command-bar>.deck-command-files,.deck-command-bar>.deck-command-secondary{grid-column:1/-1}
  .deck-command-bar .button,.deck-command-files .button,.deck-command-secondary .button{width:100%;min-width:0;padding-inline:8px;font-size:.76rem}
  .deck-command-files .json-drop-zone{grid-column:1/-1;max-width:none;width:100%;min-height:58px}
  .deck-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  html[data-mobile-card-columns="1"] .deck-grid{grid-template-columns:1fr;max-width:430px;margin-inline:auto}
  .deck-card{min-width:0}
  .deck-card-actions{gap:5px}.deck-card-actions button{min-height:40px}
  .info-grid,.stats-list,.stats-list.has-resistances{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stats-list .wide-stat,.stats-list.has-resistances .wide-stat{grid-column:1/-1}
  .mana-curve-scroll{overflow-x:auto;overscroll-behavior-x:contain}
  body.deck-route .mana-curve-scroll{width:calc(100% + 10px);margin-right:-10px;padding-right:10px}

  /* Dialogs can feel like native app screens while remaining optional. */
  html.mobile-fullscreen-dialogs dialog:not(.print-dialog){
    width:100vw!important;
    max-width:none!important;
    height:100dvh!important;
    max-height:none!important;
    margin:0!important;
    border-radius:0!important;
    border:0!important;
    padding:0!important;
  }
  html.mobile-fullscreen-dialogs dialog:not(.print-dialog)>.dialog-close{position:fixed;top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));z-index:200}
  html.mobile-fullscreen-dialogs .wide-dialog-content,
  html.mobile-fullscreen-dialogs .account-dialog-content,
  html.mobile-fullscreen-dialogs .dialog-content,
  html.mobile-fullscreen-dialogs .report-dialog-content{
    min-height:100%;
    padding:max(58px,calc(env(safe-area-inset-top) + 50px)) 12px calc(28px + env(safe-area-inset-bottom));
    overflow-y:auto;
  }
  html.mobile-fullscreen-dialogs .card-dialog{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}
  html.mobile-fullscreen-dialogs .card-dialog .dialog-image-wrap{min-height:45dvh;max-height:58dvh}
  html.mobile-fullscreen-dialogs .card-dialog .dialog-info{overflow:visible}

  .account-settings{padding:14px;border-radius:12px}
  .account-settings-heading{align-items:flex-start;gap:8px}
  .account-settings-grid,.account-settings-checks{grid-template-columns:1fr}
  .settings-device-tabs{position:sticky;top:0;z-index:3;background:var(--panel);margin-inline:-4px}
  .settings-device-tabs .button{min-height:46px}
  .mobile-settings-grid{grid-template-columns:1fr}

  .recent-page-header,.community-header,.admin-page-header{padding:16px;border-radius:14px}
  .recent-page-grid{grid-template-columns:1fr;gap:8px}
  .recent-page-card{grid-template-columns:58px minmax(0,1fr)}
  .recent-page-card img{width:58px}
  .admin-layout{display:block}
  .admin-nav{position:sticky;top:64px;z-index:24;display:flex;overflow-x:auto;gap:5px;margin-bottom:10px;padding:7px;scrollbar-width:none;background:color-mix(in srgb,var(--panel) 96%,transparent)}
  .admin-nav::-webkit-scrollbar{display:none}
  .admin-nav-button{flex:0 0 auto;min-height:40px;white-space:nowrap}
  .admin-panel-section{padding:12px;border-radius:12px}

  html.mobile-bottom-nav-enabled .mobile-app-nav{
    position:fixed;
    z-index:115;
    left:0;
    right:0;
    bottom:0;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:2px;
    min-height:64px;
    padding:5px max(6px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));
    border-top:1px solid var(--line-bright);
    background:color-mix(in srgb,var(--bg) 95%,transparent);
    box-shadow:0 -12px 32px rgba(0,0,0,.35);
    backdrop-filter:blur(18px);
  }
  .mobile-app-nav button{
    position:relative;
    display:grid;
    place-items:center;
    gap:1px;
    min-width:0;
    min-height:52px;
    padding:4px;
    border:0;
    border-radius:10px;
    background:transparent;
    color:var(--muted);
    cursor:pointer;
  }
  .mobile-app-nav button>span{font-size:1.22rem;line-height:1}
  .mobile-app-nav button>small{font-size:.62rem;font-weight:750}
  .mobile-app-nav button.active{background:var(--panel-3);color:var(--gold-bright)}
  .mobile-app-nav b{position:absolute;top:3px;right:calc(50% - 24px);display:grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:var(--gold);color:#171006;font-size:.58rem}
  html.mobile-bottom-nav-enabled .header-actions #deckToggle{display:none}
  html.mobile-bottom-nav-enabled .main-content,
  html.mobile-bottom-nav-enabled .deck-page,
  html.mobile-bottom-nav-enabled .recent-page,
  html.mobile-bottom-nav-enabled .community-page,
  html.mobile-bottom-nav-enabled .admin-page{padding-bottom:calc(88px + env(safe-area-inset-bottom))}
}

@media (max-width: 430px), (hover: none) and (pointer: coarse) and (max-device-width: 430px){
  .topbar{height:58px}
  .topbar>#filterToggle{width:38px;height:38px;flex-basis:38px}
  .brand-rune{display:none}
  .brand small{max-width:122px}
  .header-actions #accountButton{max-width:82px;padding-inline:8px}
  .results-toolbar{top:58px}
  .toolbar-controls select{max-width:92px}
  .card-grid,.card-grid.compact{gap:7px}
  .card-body{padding:7px}
  .card-actions{grid-template-columns:36px minmax(0,1fr)}
  .deck-command-bar,.deck-command-files,.deck-command-secondary,.deck-command-group{grid-template-columns:1fr}
  .deck-command-bar>.deck-command-files,.deck-command-bar>.deck-command-secondary{grid-column:auto}
  .deck-command-files .json-drop-zone{grid-column:auto}
  .admin-stat-grid{grid-template-columns:1fr}
}

/* v1.7.2 interface fixes and community features */
.header-primary-actions{display:flex;align-items:center;gap:8px;margin-left:12px}
.header-actions{margin-left:auto}
.social-notifications-button{position:relative}
.notification-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--danger,#d94b55);color:#fff;font-size:.72rem;line-height:1}
#favouritesButton.active,#favouritesButton.active *{color:var(--gold-bright)!important}
#favouritesButton.active{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 15%,transparent)}
.school-filter-list{display:flex!important;flex-wrap:wrap!important;overflow-x:visible!important;white-space:normal!important;max-width:100%}
.creature-information-filter{border:1px solid var(--line);border-radius:12px;padding:12px;background:color-mix(in srgb,var(--panel) 82%,transparent)}
.creature-information-filter>h4{margin:0 0 10px;color:var(--gold-bright);font-family:var(--font-display);font-size:1rem}
.stat-value-list{display:grid;gap:7px}
.stat-value-row{display:grid;grid-template-columns:minmax(110px,1fr) minmax(136px,auto);align-items:center;gap:8px}
.stat-value-row>span{font-size:.82rem;line-height:1.2}
.stat-value-stepper{display:grid;grid-template-columns:34px minmax(42px,62px) 42px 34px;align-items:center;gap:4px}
.stat-value-stepper button{min-width:34px;height:34px;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--panel-raised);color:var(--text);font-weight:800}
.stat-value-stepper input{width:100%;min-width:0;height:34px;padding:4px 6px;text-align:center;border:1px solid var(--line);border-radius:8px;background:var(--input);color:var(--text)}
.stat-value-stepper output{min-width:42px;text-align:center;font-weight:800;color:var(--gold-bright)}
.ability-marker{font-weight:900;color:inherit}
.detailed-card .card-actions{grid-template-columns:40px minmax(82px,1fr) max-content!important}
.detailed-card .archive-deck-controls{grid-template-columns:38px clamp(48px,5vw,72px)!important;justify-self:end;width:auto!important;max-width:118px}
.detailed-card .archive-deck-controls .add-button{width:auto!important;min-width:48px;max-width:72px;padding-inline:12px}
.rulebook-dialog{width:min(1200px,calc(100vw - 24px));height:min(94dvh,980px);max-height:94dvh}
.rulebook-dialog .wide-dialog-content{height:100%;min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden;padding:24px}
.rulebook-heading{padding-right:52px;min-width:0}
.rulebook-download{flex:0 0 auto}
.rulebook-quick-nav{min-width:0;overflow-x:auto}
#rulebookFrame{width:100%;height:100%;min-height:0;border:1px solid var(--line);border-radius:12px;background:#e7e7e7}
.rulebook-dialog .dialog-close{z-index:5;top:12px;right:12px}
.guest-report-fields{display:grid;gap:8px}
.guest-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.social-hub{display:grid;gap:14px}
.social-tabs{display:flex;flex-wrap:wrap;gap:8px}
.social-panel{display:grid;gap:12px}
.social-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.social-panel-heading p{margin:0}
.social-list{display:grid;gap:8px;max-height:420px;overflow:auto;padding-right:2px}
.social-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel-raised)}
.social-item.unread{border-color:var(--gold);box-shadow:inset 3px 0 var(--gold)}
.social-item p,.social-item small{margin:4px 0 0;display:block}
.social-item-actions{display:flex;gap:7px;flex-wrap:wrap}
.friend-request-form,.message-compose{display:grid;gap:10px}
.friend-request-form{grid-template-columns:minmax(0,1fr) auto;align-items:end}
.social-message{max-width:88%;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:var(--panel-raised)}
.social-message.mine{justify-self:end;border-color:color-mix(in srgb,var(--gold) 55%,var(--line))}
.social-message p{margin:5px 0;white-space:pre-wrap;overflow-wrap:anywhere}
.admin-favicon-field{display:grid;gap:8px}
.admin-favicon-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#adminFaviconPreview{width:48px;height:48px;object-fit:contain;border:1px solid var(--line);border-radius:10px;background:var(--panel-raised)}

@media (max-width: 900px), (hover: none) and (pointer: coarse) and (max-device-width: 1200px){
  .header-primary-actions{display:none}
  .stat-value-row{grid-template-columns:1fr}
  .stat-value-stepper{grid-template-columns:42px minmax(50px,1fr) 48px 42px}
  .rulebook-dialog{width:calc(100vw - 8px);height:calc(100dvh - 8px);max-height:calc(100dvh - 8px);margin:4px}
  .rulebook-dialog .wide-dialog-content{padding:58px 8px 8px;grid-template-rows:auto auto minmax(0,1fr)}
  .rulebook-heading{padding-right:0;gap:8px}
  .rulebook-heading .button{width:100%}
  .rulebook-quick-nav{padding-bottom:4px}
  #rulebookFrame{min-height:0!important;height:100%!important}
  .guest-report-grid{grid-template-columns:1fr}
  .social-panel-heading,.social-item{align-items:stretch;flex-direction:column}
  .friend-request-form{grid-template-columns:1fr}
  .social-message{max-width:96%}
}


/* PFCG v1.7.4 — Fold-safe mobile detection, compact mobile tools, and lower stat thresholds. */
.stat-include-lower{margin-top:9px;padding:8px 9px;border:1px solid var(--line);border-radius:9px;background:color-mix(in srgb,var(--panel-2) 74%,transparent)}
.mobile-header-tools{position:relative;z-index:125}
.mobile-header-tools-button{display:inline-flex!important;align-items:center;justify-content:center;gap:6px;min-height:38px;max-width:116px;padding-inline:9px;font-size:.76rem;white-space:nowrap;overflow:hidden}
.mobile-header-tools-button span:first-child{overflow:hidden;text-overflow:ellipsis}
.mobile-header-tools-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:160;display:grid;gap:5px;width:min(210px,calc(100vw - 20px));padding:8px;border:1px solid var(--line-bright);border-radius:11px;background:color-mix(in srgb,var(--panel) 97%,transparent);box-shadow:0 18px 45px rgba(0,0,0,.48);backdrop-filter:blur(18px)}
.mobile-header-tools-menu[hidden]{display:none!important}
.mobile-header-tools-menu button{width:100%;min-height:42px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);color:var(--text);font-weight:750;text-align:left;cursor:pointer}
.mobile-header-tools-menu button:hover,.mobile-header-tools-menu button:focus-visible{border-color:var(--gold);background:var(--panel-3)}
@media (max-width: 900px), (hover: none) and (pointer: coarse) and (max-device-width: 1200px){
  html.mobile-device-layout .mobile-only{display:inline-grid!important}
  .header-actions{order:4;margin-left:auto}
  .mobile-header-tools{order:5;display:block!important;margin-left:0;flex:0 1 auto;min-width:0}
}
@media (max-width: 620px), (hover: none) and (pointer: coarse) and (max-device-width: 620px){
  .mobile-header-tools-button{max-width:104px;font-size:.7rem;padding-inline:7px}
  .topbar{gap:6px}
  .brand-rune{width:31px;height:31px;flex-basis:31px}
  .brand strong{font-size:.84rem}
}


/* v1.7.5 account, filter and administrative refinements */
@media (min-width: 901px){
  .app-shell{grid-template-columns:390px minmax(0,1fr)}
  .filter-sidebar{min-width:0}
}
.header-notification-actions{display:flex;align-items:center;justify-content:center;margin-left:auto}
.header-notification-actions + .header-actions{margin-left:0}
.social-notifications-button{width:44px;min-width:44px;height:42px;padding:0;display:inline-grid;place-items:center;position:relative}
.notification-bell{font-size:1.15rem;line-height:1}
.social-notifications-button .notification-count{position:absolute;right:-4px;top:-5px}
.rulebook-download{display:inline-flex;align-items:center;justify-content:center;align-self:center;line-height:1.15;margin-block:auto}
.mana-stepper,.resistance-stepper,.stat-value-stepper{grid-template-columns:34px minmax(44px,64px) minmax(0,42px) 34px auto;align-items:center}
.numeric-clear{min-height:34px;padding:5px 9px;border:1px solid var(--line);border-radius:9px;background:transparent;color:var(--muted);font:inherit;font-size:.76rem;white-space:nowrap;cursor:pointer}
.numeric-clear:hover{color:var(--text);border-color:var(--accent)}
.resistance-stepper{grid-template-columns:34px minmax(44px,64px) minmax(0,42px) 34px auto}
.stat-value-stepper{grid-template-columns:34px minmax(44px,64px) minmax(0,42px) 34px auto}
.mana-value-output,.resistance-value-output,.stat-value-stepper output{min-width:0;text-align:center}
.admin-revision-mode{display:flex;gap:8px;margin:0 0 14px}
.tts-updater-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin:18px 0}
.tts-updater-grid label{display:grid;gap:7px}
@media (max-width:900px){
 .header-notification-actions{margin-left:0}
 .mana-stepper,.resistance-stepper,.stat-value-stepper{grid-template-columns:34px minmax(42px,1fr) 34px auto}
 .mana-value-output,.resistance-value-output,.stat-value-stepper output{display:none}
}


/* PFCG v1.7.7 — contained numeric filters and clearer errata comparisons. */
@media (min-width:901px){.app-shell{grid-template-columns:420px minmax(0,1fr)}}
html[data-filter-control-style="stepper"] .mana-value-output,
html[data-filter-control-style="stepper"] .resistance-value-output,
html[data-filter-control-style="stepper"] .stat-value-stepper output{display:none!important}
html[data-filter-control-style="stepper"] .mana-stepper,
html[data-filter-control-style="stepper"] .resistance-stepper,
html[data-filter-control-style="stepper"] .stat-value-stepper{grid-template-columns:34px minmax(46px,1fr) 34px auto!important;gap:6px;min-width:0;width:100%}
.resistance-row{grid-template-columns:minmax(92px,112px) minmax(0,1fr)!important;gap:8px;align-items:center}
.resistance-stepper,.mana-stepper,.stat-value-stepper{min-width:0;max-width:100%}
.resistance-value-input,.mana-stepper input,.stat-value-stepper input{min-width:0!important;width:100%!important}
.numeric-clear{min-width:48px;padding-inline:7px}
.mana-cost-row{grid-template-columns:76px minmax(0,1fr)}
.stat-value-row{grid-template-columns:minmax(104px,128px) minmax(0,1fr)!important}
@media (max-width:900px){
 .resistance-row,.stat-value-row,.mana-cost-row{grid-template-columns:1fr!important}
 html[data-filter-control-style="stepper"] .mana-stepper,
 html[data-filter-control-style="stepper"] .resistance-stepper,
 html[data-filter-control-style="stepper"] .stat-value-stepper{grid-template-columns:42px minmax(52px,1fr) 42px auto!important}
}
.admin-revision-gallery{grid-template-columns:1fr!important;gap:18px}
.admin-revision-comparison{padding:16px;border:1px solid var(--line-bright);border-radius:16px;background:linear-gradient(145deg,var(--panel-2),color-mix(in srgb,var(--panel-3) 72%,var(--panel)));box-shadow:0 12px 28px rgba(0,0,0,.18)}
.admin-revision-comparison>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.admin-revision-comparison h3{margin:7px 0 0;font-size:1.25rem}
.revision-date-label{padding:7px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.78rem;white-space:nowrap}
.revision-compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.revision-compare-grid figure{margin:0;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.revision-compare-grid figcaption{margin-bottom:8px;color:var(--gold-bright);font-weight:850;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}
.revision-compare-grid img{display:block;width:100%;height:min(58vh,620px);object-fit:contain;border-radius:8px}
.revision-change-list{display:grid;gap:8px;margin-top:14px}
.revision-change-row{display:grid;grid-template-columns:minmax(120px,.7fr) repeat(2,minmax(0,1fr));gap:10px;padding:10px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel) 72%,transparent)}
.revision-change-row>strong{color:var(--gold-bright)}
.revision-change-row div{min-width:0}
.revision-change-row span{display:block;margin-bottom:3px;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}
.revision-change-row p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.4}
@media(max-width:760px){.revision-compare-grid{grid-template-columns:1fr}.revision-change-row{grid-template-columns:1fr}.revision-compare-grid img{height:auto;max-height:65dvh}.admin-revision-comparison>header{flex-direction:column}.revision-date-label{white-space:normal}}


/* PFCG v1.7.7 — print-version history and signed-out profile isolation. */
.revision-compare-grid figcaption{display:flex;justify-content:space-between;align-items:center;gap:10px}
.revision-compare-grid figcaption span{font-size:.72rem;color:var(--muted);font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.revision-summary,.revision-ability-change{margin-top:16px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--gold) 38%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--panel) 92%,var(--gold) 8%)}
.revision-summary h4,.revision-ability-change h4{margin:0 0 8px;font-family:var(--display);font-size:1.05rem}
.revision-summary ul{margin:0;padding-left:20px;display:grid;gap:5px}
.revision-ability-change>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.revision-ability-change article{min-width:0;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.revision-ability-change article>span{display:block;margin-bottom:8px;color:var(--gold-bright);font-size:.75rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.revision-ability-change ul{margin:0;padding-left:19px;display:grid;gap:8px}
.revision-ability-change li{white-space:pre-line;overflow-wrap:anywhere}
@media(max-width:760px){.revision-ability-change>div{grid-template-columns:1fr}}


/* v1.8.0 errata comparison alignment and exact text highlighting */
.revision-change-row{grid-template-columns:112px minmax(0,1fr) minmax(0,1fr)!important;align-items:start}
.revision-change-row>strong{padding-top:18px}
.revision-diff-text del{background:color-mix(in srgb,#e1535e 28%,transparent);color:#ffb5bb;text-decoration:line-through;text-decoration-thickness:2px;border-radius:3px;padding:0 1px}
.revision-diff-text ins{background:color-mix(in srgb,#5fcf84 25%,transparent);color:#bff4cf;text-decoration:none;border-bottom:2px solid #5fcf84;border-radius:3px;padding:0 1px}
.revision-ability-change{margin-top:14px;padding:12px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--panel) 82%,transparent)}
.revision-ability-change h4{margin:0 0 10px;color:var(--gold-bright)}
.revision-ability-change>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.revision-ability-change article{min-width:0;padding:10px;border:1px solid var(--line);border-radius:9px;background:var(--panel-2)}
.revision-ability-change article>span{display:block;margin-bottom:6px;color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.revision-ability-change p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}
.revision-visual-note{margin:10px 0 0;color:var(--muted);font-size:.82rem}
@media(max-width:760px){.revision-change-row{grid-template-columns:1fr!important}.revision-change-row>strong{padding-top:0}.revision-ability-change>div{grid-template-columns:1fr}}

/* v1.8.1 community, notifications, TTS uploader, and history */
.notification-dropdown{position:fixed;z-index:1300;top:4.5rem;right:16rem;width:min(390px,calc(100vw - 24px));max-height:min(560px,75vh);overflow:auto;background:var(--panel,#17130f);border:1px solid var(--border,#5f452c);border-radius:16px;box-shadow:0 18px 60px #000a;padding:12px}
.notification-dropdown-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 4px 10px;border-bottom:1px solid var(--border,#5f452c)}
.notification-dropdown-list{display:grid;gap:6px;padding:8px 0}
.notification-dropdown-item{display:grid;gap:4px;width:100%;text-align:left;border:1px solid transparent;background:transparent;color:inherit;border-radius:10px;padding:10px;cursor:pointer}
.notification-dropdown-item:hover,.notification-dropdown-item:focus{background:color-mix(in srgb,var(--accent,#d8a84e) 12%,transparent);border-color:var(--border,#5f452c)}
.notification-dropdown-item.unread{border-left:4px solid var(--accent,#d8a84e);background:color-mix(in srgb,var(--accent,#d8a84e) 8%,transparent)}
.notification-dropdown-item span{font-size:.9rem;line-height:1.35}.notification-dropdown-item small{opacity:.7}
.community-browser-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;align-items:start}
.community-folder-rail{position:sticky;top:88px;display:grid;gap:8px;padding:16px;border:1px solid var(--border);border-radius:16px;background:var(--panel)}
.community-folder-rail h2{font-size:1rem;margin:0 0 6px}.community-folder-button{appearance:none;border:1px solid var(--border);background:transparent;color:inherit;border-radius:10px;padding:10px 12px;text-align:left;cursor:pointer}.community-folder-button.active,.community-folder-button:hover{background:var(--accent);color:#17100a;border-color:var(--accent)}
.community-browser-content{min-width:0}.meta-pill.folder{opacity:.85}
.tts-deck-upload-zone{display:grid;place-items:center;gap:6px;min-height:150px;padding:24px;border:2px dashed var(--border);border-radius:16px;background:color-mix(in srgb,var(--panel) 88%,transparent);cursor:pointer}.tts-deck-upload-zone.dragging{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--panel))}
.admin-unclaimed-decks,.admin-history-row,.admin-public-card-list{display:grid;gap:10px}.admin-unclaimed-row,.admin-history-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--panel)}
.admin-history-actions,.admin-user-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.admin-history-actions select,.admin-user-actions select{min-width:190px}
.admin-history-toolbar{margin-bottom:14px}.admin-history-toolbar input{min-width:min(440px,100%)}.admin-history-pagination{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:16px}.admin-history-pagination button{border:1px solid var(--border);background:var(--panel);color:inherit;border-radius:8px;padding:7px 11px}.admin-history-pagination button.active{background:var(--accent);color:#17100a}
.admin-public-deck-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-public-card-list{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));max-height:380px;overflow:auto}.admin-public-card-list label{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;border:1px solid var(--border);border-radius:10px}.admin-public-card-list input{width:70px}
.tts-paste-dialog{width:min(760px,calc(100vw - 24px))}.tts-paste-dialog textarea{width:100%;box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
@media(max-width:900px){.notification-dropdown{right:12px;top:4.2rem}.community-browser-layout{grid-template-columns:1fr}.community-folder-rail{position:static;display:flex;overflow-x:auto}.community-folder-rail h2{display:none}.community-folder-button{white-space:nowrap}.admin-unclaimed-row,.admin-history-row{grid-template-columns:1fr}.admin-public-deck-editor-grid{grid-template-columns:1fr}}


.notification-centre-dialog{width:min(760px,calc(100vw - 28px));max-height:min(820px,90vh)}
.notification-centre-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;padding-right:54px}
.notification-centre-heading h2{margin:.15rem 0 .35rem;font-family:Georgia,serif;font-size:clamp(1.8rem,4vw,2.7rem)}
.notification-centre-list{display:grid;gap:10px;max-height:62vh;overflow:auto;padding-right:4px}
.notification-centre-item{display:grid;gap:6px;width:100%;padding:14px 16px;text-align:left;color:inherit;background:var(--panel-2);border:1px solid var(--line);border-radius:12px;cursor:pointer}
.notification-centre-item:hover,.notification-centre-item:focus,.notification-centre-item.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--panel-2))}
.notification-centre-item.unread{border-left:5px solid var(--accent)}
.notification-centre-item span{line-height:1.45;color:var(--muted)}.notification-centre-item small{opacity:.72}
@media(max-width:900px),(hover:none) and (pointer:coarse) and (max-device-width:1200px){.community-route .community-page{grid-column:1}.notification-centre-heading{display:grid;padding-right:42px}}


/* PFCG v1.8.2 */
.glossary-links-plain .glossary-term{color:inherit;text-decoration:none}
.glossary-links-plain .glossary-term:hover,.glossary-links-plain .glossary-term:focus-visible{color:inherit;text-decoration:underline dotted;text-underline-offset:3px}
.header-actions{position:relative}
.header-social-actions{display:flex;align-items:center;gap:6px;margin-left:auto}
.header-social-actions[hidden]{display:none!important}
.header-social-popover{position:relative;display:flex}
.social-icon-button{width:44px;min-width:44px;padding:8px;position:relative;justify-content:center;font-size:1.05rem}
.social-header-dropdown{position:absolute;right:0;top:calc(100% + 10px);z-index:140;width:min(390px,92vw);max-height:min(620px,78vh);overflow:auto;border:1px solid var(--line-bright);border-radius:15px;background:var(--panel);box-shadow:var(--shadow);padding:12px;display:grid;gap:10px}
.social-header-dropdown[hidden]{display:none!important}
.social-header-dropdown label{display:grid;gap:5px;color:var(--muted);font-size:.78rem}
.social-header-dropdown select,.social-header-dropdown textarea{width:100%;box-sizing:border-box}
.friend-dropdown-item{width:100%;display:grid;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:9px;text-align:left;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);padding:10px 4px;cursor:pointer}
.friend-presence{width:9px;height:9px;border-radius:50%;background:#777}.friend-presence.online{background:#45c96d;box-shadow:0 0 0 3px rgba(69,201,109,.15)}
.friend-dropdown-item small{color:var(--muted)}
body.community-route .app-shell{grid-template-columns:minmax(0,1fr)!important}
body.community-route #communityPage{grid-column:1!important;width:100%;max-width:none;box-sizing:border-box}
body.community-route .community-browser-layout{grid-template-columns:minmax(180px,240px) minmax(0,1fr);align-items:start}
body.community-route .community-browser-content{min-width:0}
body.community-route .community-toolbar{grid-template-columns:minmax(240px,auto) minmax(220px,1fr) minmax(170px,220px) auto}
@media(max-width:900px),(hover:none) and (pointer:coarse) and (max-device-width:1200px){
  .header-social-actions{margin-left:0}.social-icon-button{width:40px;min-width:40px}
  body.community-route .community-browser-layout{grid-template-columns:1fr}
  body.community-route .community-folder-rail{display:flex;overflow-x:auto;gap:8px;position:static}
  body.community-route .community-folder-rail h2{display:none}
}

/* Direct Public Decks route must look like the normal application shell immediately. */
body.community-route .filters,body.community-route #archivePage,body.community-route #deckPage{display:none!important}
body.community-route .topbar{grid-column:1!important}
body.community-route #communityPage{display:block!important}


/* v1.8.3 — larger mobile UI, paged/collapsible deck library */
.deck-workspace{grid-template-columns:320px minmax(0,1fr)}
.deck-library-heading-actions{display:flex;align-items:center;gap:7px}
.deck-library-heading-actions>span{padding:5px 8px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.72rem;white-space:nowrap}
.deck-library-collapse{width:34px;height:34px;font-size:1rem}
.deck-library-body[hidden]{display:none!important}
.deck-folder-group{display:block;margin-bottom:10px;border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:10px;overflow:hidden;background:color-mix(in srgb,var(--panel-2) 68%,transparent)}
.deck-folder-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;padding:8px 10px;cursor:pointer;list-style:none;color:var(--gold);font-size:.72rem;text-transform:uppercase;letter-spacing:.09em}
.deck-folder-heading::-webkit-details-marker{display:none}
.deck-folder-heading::before{content:'▸';font-size:.78rem;transition:transform .15s ease}
.deck-folder-group[open]>.deck-folder-heading::before{transform:rotate(90deg)}
.deck-folder-heading span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.deck-folder-heading small{color:var(--muted);font-size:.65rem}
.deck-folder-items{display:grid;gap:6px;padding:0 6px 6px}
.deck-library-item{grid-template-columns:minmax(0,1fr) 42px 34px}
.deck-library-tts{border:0;border-left:1px solid var(--line);background:transparent;color:var(--gold-bright);font-size:.68rem;font-weight:850;cursor:pointer}
.deck-library-tts:hover{background:var(--panel-3)}
.deck-library-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;margin:10px 0 2px}
.deck-library-pagination[hidden]{display:none!important}
.deck-library-pagination button{min-width:32px;height:32px;padding:0 7px;border:1px solid var(--line);border-radius:7px;background:var(--panel-2);color:var(--text);cursor:pointer}
.deck-library-pagination button.active{border-color:var(--gold-bright);background:var(--gold);color:#1b1308;font-weight:900}
.deck-library-pagination button:disabled{opacity:.35;cursor:not-allowed}
@media (max-width:1100px), (hover:none) and (pointer:coarse) and (max-device-width:1100px){.deck-workspace{grid-template-columns:270px minmax(0,1fr)}}

@media (max-width:900px), (hover:none) and (pointer:coarse) and (max-device-width:1200px){
  body{font-size:17px}
  .topbar{height:70px;padding-inline:max(12px,env(safe-area-inset-left));gap:11px}
  .topbar>#filterToggle{flex-basis:46px;width:46px;height:46px}
  .brand strong{font-size:1.06rem}.brand small{font-size:.66rem;max-width:170px}
  .mobile-header-tools-button{min-height:44px;font-size:.84rem;max-width:130px}
  .main-content,.deck-page,.recent-page,.community-page,.admin-page{padding:15px 12px calc(94px + env(safe-area-inset-bottom))}
  .results-toolbar{top:70px;margin-inline:-12px;padding:12px}
  .results-toolbar p{font-size:.9rem}.toolbar-controls select{min-height:44px;font-size:.84rem;max-width:122px}
  .card-grid,.card-grid.compact{gap:12px}
  .card-body{padding:10px}.card-kicker{font-size:.66rem}.card-body h2{font-size:1rem;margin:6px 0 9px}.mini-tag{font-size:.62rem;padding:3px 5px}
  .card-actions{grid-template-columns:44px minmax(0,1fr);gap:8px}.card-actions button{min-height:46px;font-size:1rem}
  .deck-library-panel{padding:13px}.deck-library-list{display:grid;overflow:visible;gap:8px}.deck-library-list>*{flex:auto;width:auto}
  .deck-library-select{padding:12px}.deck-library-select strong{font-size:.94rem}.deck-library-select small{font-size:.76rem}
  .deck-breakdown-heading h3{font-size:1.08rem}.deck-pie-chart{width:170px}
  html.mobile-bottom-nav-enabled .mobile-app-nav{min-height:74px;padding-top:7px}
  .mobile-app-nav button{min-height:60px}.mobile-app-nav button>span{font-size:1.42rem}.mobile-app-nav button>small{font-size:.72rem}
}
@media (max-width:430px), (hover:none) and (pointer:coarse) and (max-device-width:430px){
  .topbar{height:64px}.results-toolbar{top:64px}
  .brand strong{font-size:1rem}.brand small{font-size:.62rem}
  .card-grid,.card-grid.compact{gap:10px}.card-body{padding:9px}.card-body h2{font-size:.94rem}
  .card-actions{grid-template-columns:42px minmax(0,1fr)}
}

/* v1.8.4 — direct numeric stepping, stronger theme contrast, larger mobile controls, Tag-Team rooms and bulk tools */
html[data-theme="dnd"]{
  --text:#fff4ec;--muted:#e2beb8;--line:#82434a;--line-bright:#d56c72;--gold:#df4650;--gold-bright:#ffaaa2;
}
html[data-theme="arcane"]{
  --text:#f7fbff;--muted:#c7d8f4;--line:#4266a3;--line-bright:#79a8ee;--gold:#8f92ff;--gold-bright:#d7d3ff;
}
html[data-theme="dnd"] .button,html[data-theme="dnd"] .filter-chip,html[data-theme="dnd"] input,html[data-theme="dnd"] select,html[data-theme="dnd"] textarea,
html[data-theme="arcane"] .button,html[data-theme="arcane"] .filter-chip,html[data-theme="arcane"] input,html[data-theme="arcane"] select,html[data-theme="arcane"] textarea{font-weight:650}
html[data-theme="dnd"] .muted,html[data-theme="dnd"] .filter-help,html[data-theme="dnd"] small,
html[data-theme="arcane"] .muted,html[data-theme="arcane"] .filter-help,html[data-theme="arcane"] small{opacity:1}

.deck-library-pagination-top{margin:10px 0 8px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.current-deck-collapsible{display:grid;gap:10px;margin-top:12px}
.current-deck-collapse-button{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto 24px;align-items:center;gap:10px;min-height:48px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2);color:var(--text);font:inherit;font-weight:850;text-align:left;cursor:pointer}
.current-deck-collapse-button strong{padding:4px 8px;border-radius:999px;background:var(--panel-3);color:var(--muted);font-size:.75rem}.current-deck-collapse-button i{text-align:center;font-style:normal;color:var(--gold-bright)}
#currentDeckCardsBody[hidden]{display:none!important}

.deck-mode-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}
.deck-mode-toolbar p{margin:0;color:var(--muted);font-size:.82rem}.deck-mode-tabs{display:flex;gap:7px;flex:0 0 auto}.deck-mode-tabs .button{min-width:108px}
.tag-team-room-panel{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:14px;margin-bottom:16px}
.tag-team-room-panel>aside,.tag-team-room-stage{min-width:0;padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--panel)}
.tag-team-room-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.tag-team-room-heading h2{margin:0;font-size:1.15rem}
#tagTeamRoomList{display:grid;gap:8px}.tag-team-room-list-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;padding:7px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2)}.tag-team-room-list-item.active{border-color:var(--gold-bright);box-shadow:0 0 0 1px color-mix(in srgb,var(--gold) 35%,transparent)}
.tag-team-room-list-item>[data-open-room]{min-width:0;border:0;background:transparent;color:var(--text);text-align:left;cursor:pointer}.tag-team-room-list-item strong,.tag-team-room-list-item small{display:block}.tag-team-room-list-item small{margin-top:3px;color:var(--muted)}
.tag-team-active-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding-bottom:12px;border-bottom:1px solid var(--line)}.tag-team-active-heading h2,.tag-team-active-heading p{margin:0}.tag-team-active-heading p:last-child{margin-top:5px;color:var(--muted)}
.tag-team-room-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.tag-team-room-actions select{min-width:190px}
.tag-team-deck-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.tag-team-deck-pair>article{min-width:0;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2)}.tag-team-deck-pair h3,.tag-team-deck-pair p{margin:0}.tag-team-deck-pair p{margin-top:4px;color:var(--muted)}
#tagTeamOwnDeckPreview,#tagTeamPartnerDeckPreview{display:grid;gap:7px;margin-top:10px;max-height:420px;overflow:auto}.tag-team-preview-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:9px;padding:7px;border:1px solid var(--line);border-radius:9px;background:var(--panel);cursor:pointer}.tag-team-preview-card img{width:42px;height:58px;object-fit:cover;border-radius:4px}.tag-team-preview-card strong,.tag-team-preview-card small{display:block}.tag-team-preview-card small{margin-top:3px;color:var(--muted)}.readonly-badge{font-size:.66rem;color:var(--muted);white-space:nowrap}.partner-deck-readonly{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gold) 15%,transparent)}

.collection-bulk-toolbar{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin:10px 0;padding:10px;border:1px solid var(--line);border-radius:11px;background:var(--panel-2)}.collection-bulk-toolbar label{display:grid;gap:4px}.collection-bulk-toolbar .check-row{display:flex}.collection-bulk-toolbar input[type="number"]{width:90px}
.collection-row{grid-template-columns:24px 42px minmax(0,1fr) 90px}.collection-select{width:18px;height:18px}
.admin-history-row{grid-template-columns:28px minmax(0,1fr) auto}.admin-history-select{align-self:start;padding-top:7px}.admin-history-select input{width:18px;height:18px}.admin-history-toolbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.admin-history-toolbar>label:first-child{flex:1 1 240px}.admin-history-toolbar select{min-width:170px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

@media (max-width:900px), (hover:none) and (pointer:coarse) and (max-device-width:1200px){
  body{font-size:19px}
  .button,.icon-button,button,input,select,textarea{font-size:1rem}
  .button{min-height:52px;padding:11px 15px}.icon-button{min-width:50px;min-height:50px}
  .topbar{height:78px;padding-inline:14px;gap:12px}.results-toolbar{top:78px}
  .topbar>#filterToggle{width:54px;height:54px;flex-basis:54px}.mobile-header-tools-button{min-height:52px;max-width:150px;font-size:.95rem}
  .search-field{min-height:56px}.search-field input{font-size:1.05rem}.toolbar-controls select{min-height:52px;font-size:.96rem;max-width:145px}
  .filter-chip,.category-button{min-height:48px;font-size:.9rem}.check-row{font-size:.95rem}.numeric-clear{min-height:46px;font-size:.88rem}
  .mana-step,.resistance-step,.stat-value-stepper button{min-width:48px;min-height:48px;font-size:1.15rem}.mana-stepper input,.resistance-stepper input,.stat-value-stepper input{min-height:48px;font-size:1rem}
  .card-actions button{min-height:54px;font-size:1.08rem}.card-body h2{font-size:1.08rem}.card-kicker{font-size:.72rem}.mini-tag{font-size:.69rem}
  .deck-command-bar .button,.deck-command-files .button,.deck-command-secondary .button{min-height:54px;font-size:.95rem}.deck-filter-bar input,.deck-filter-bar select{min-height:52px;font-size:.95rem}
  .deck-library-pagination button{min-width:44px;height:44px;font-size:.95rem}.deck-library-collapse{width:46px;height:46px}.deck-library-select{min-height:60px}
  .mobile-app-nav button{min-height:70px}.mobile-app-nav button>span{font-size:1.58rem}.mobile-app-nav button>small{font-size:.8rem}
  .deck-mode-toolbar{display:grid}.deck-mode-tabs{display:grid;grid-template-columns:1fr 1fr}.deck-mode-tabs .button{width:100%}.deck-mode-toolbar p{font-size:.92rem}
  .tag-team-room-panel{grid-template-columns:1fr}.tag-team-room-panel>aside{max-height:280px;overflow:auto}.tag-team-active-heading{display:grid}.tag-team-room-actions{justify-content:stretch}.tag-team-room-actions>*{flex:1 1 150px}.tag-team-deck-pair{grid-template-columns:1fr}
  .current-deck-collapse-button{min-height:56px;font-size:1rem}
}
@media (max-width:430px), (hover:none) and (pointer:coarse) and (max-device-width:430px){
  body{font-size:20px}.topbar{height:76px}.results-toolbar{top:76px}.button{min-height:56px}.card-actions button{min-height:58px}.mobile-app-nav button{min-height:74px}
}

/* v1.8.4 mobile touch-size pass: normal phone controls are intentionally app-sized. */
@media (max-width:620px), (hover:none) and (pointer:coarse) and (max-device-width:620px){
  body{font-size:20px;line-height:1.48}
  button,.button,.icon-button,input,select,textarea{font-size:1.08rem}
  button,.button{min-height:60px;padding:14px 18px;border-radius:12px}
  .icon-button,.social-icon-button{min-width:58px;min-height:58px;padding:10px}
  .topbar{height:84px;padding-inline:14px;gap:12px}.results-toolbar{top:84px}
  .topbar>#filterToggle{width:60px;height:60px;flex-basis:60px;font-size:1.45rem}
  .mobile-header-tools-button{min-height:60px;max-width:175px;font-size:1.05rem}
  .mobile-header-tools-menu button{min-height:58px;font-size:1.05rem}
  .search-field{min-height:62px}.search-field input{font-size:1.12rem}
  .toolbar-controls select,.toolbar-controls button{min-height:58px;font-size:1.02rem}
  .category-button,.filter-chip{min-height:56px;padding:12px 14px;font-size:1rem}
  .check-row{min-height:54px;font-size:1rem}.check-row input[type="checkbox"]{width:24px;height:24px}
  .mana-step,.resistance-step,.stat-value-stepper button{min-width:56px;min-height:56px;font-size:1.35rem;padding:8px}
  .mana-stepper input,.resistance-stepper input,.stat-value-stepper input{min-height:56px;font-size:1.12rem}
  .numeric-clear{min-height:54px;font-size:.98rem;padding-inline:12px}
  .card-actions button{min-height:64px;font-size:1.2rem}.card-actions .favourite-button{min-width:54px}
  .deck-command-bar button,.deck-filter-bar button,.deck-filter-bar input,.deck-filter-bar select{min-height:60px;font-size:1.04rem}
  .deck-library-select{min-height:68px;font-size:1.04rem}.deck-library-tts,.deck-library-delete,.deck-library-collapse{min-width:54px;min-height:54px}
  .deck-library-pagination button{min-width:52px;height:52px;font-size:1.05rem}
  .current-deck-collapse-button{min-height:64px;font-size:1.08rem}
  .mobile-app-nav{min-height:88px}.mobile-app-nav button{min-height:84px;padding:10px 8px}.mobile-app-nav button>span{font-size:1.75rem}.mobile-app-nav button>small{font-size:.9rem;font-weight:800}
  .account-dialog button,.wide-dialog button,.card-dialog button{min-height:58px}
}


/* v1.8.5 — narrower, better-aligned filter sidebar and reorganised filter groups. */
.creature-information-filter{
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  background:transparent!important;
}
.creature-information-filter>h4{margin-bottom:8px}
@media (min-width:901px){
  .app-shell{grid-template-columns:390px minmax(0,1fr)}
  .filters{padding-left:16px;padding-right:14px}
  .filter-group-body{padding-right:2px}
  .nested-filter-body{padding-left:4px;padding-right:2px}
  .resistance-row{grid-template-columns:minmax(76px,94px) minmax(0,1fr)!important;gap:6px}
  .stat-value-row{grid-template-columns:minmax(86px,106px) minmax(0,1fr)!important;gap:6px}
  .mana-cost-row{grid-template-columns:66px minmax(0,1fr);gap:6px}
  html[data-filter-control-style="stepper"] .mana-stepper,
  html[data-filter-control-style="stepper"] .resistance-stepper,
  html[data-filter-control-style="stepper"] .stat-value-stepper{
    grid-template-columns:32px minmax(40px,1fr) 32px auto!important;
    gap:4px;
    justify-self:start;
  }
  .mana-step,.resistance-step,.stat-value-stepper button{min-width:32px}
  .numeric-clear{min-width:42px;padding-inline:6px}
}

/* v1.8.6 — slimmer archive sidebar and dedicated Tag-Team room page. */
@media (min-width:901px){
  .app-shell{grid-template-columns:350px minmax(0,1fr)}
  .filters{padding-left:12px;padding-right:10px}
  .filter-group-body{padding-left:0;padding-right:0}
  .nested-filter-body{padding-left:2px;padding-right:0}
  .resistance-row{grid-template-columns:minmax(68px,82px) minmax(0,1fr)!important;gap:4px}
  .stat-value-row{grid-template-columns:minmax(76px,92px) minmax(0,1fr)!important;gap:4px}
  .mana-cost-row{grid-template-columns:58px minmax(0,1fr)!important;gap:4px}
  html[data-filter-control-style="stepper"] .mana-stepper,
  html[data-filter-control-style="stepper"] .resistance-stepper,
  html[data-filter-control-style="stepper"] .stat-value-stepper{
    grid-template-columns:30px minmax(34px,1fr) 30px 38px!important;
    gap:3px;
    width:100%;
    justify-self:stretch;
  }
  .mana-step,.resistance-step,.stat-value-stepper button{min-width:30px;padding-inline:5px}
  .numeric-clear{min-width:38px;padding-inline:4px;font-size:.74rem}
}

body.tag-team-route .app-shell{grid-template-columns:minmax(0,1fr)!important}
body.tag-team-route .filters,
body.tag-team-route #archivePage,
body.tag-team-route #deckPage,
body.tag-team-route #communityPage,
body.tag-team-route #recentPage,
body.tag-team-route #adminPage{display:none!important}
body.tag-team-route #tagTeamPage{display:block!important;grid-column:1/-1}
.tag-team-page{width:100%;max-width:none;padding:24px clamp(16px,3vw,42px) 48px}
.tag-team-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 auto 18px;max-width:1800px;padding:22px 24px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}
.tag-team-page-header h1,.tag-team-page-header p{margin:0}.tag-team-page-header h1{margin-top:4px}.tag-team-page-header>div>p:last-child{margin-top:8px;color:var(--muted);max-width:820px}
.tag-team-page-workspace{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;max-width:1800px;margin:0 auto;align-items:start}
.tag-team-room-sidebar,.tag-team-room-stage{min-width:0;border:1px solid var(--line);border-radius:16px;background:var(--panel)}
.tag-team-room-sidebar{position:sticky;top:86px;padding:14px;max-height:calc(100vh - 106px);overflow:auto}
.tag-team-room-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.tag-team-room-heading h2,.tag-team-room-heading p{margin:0}.tag-team-room-heading h2{font-size:1.2rem}
#tagTeamRoomList{display:grid;gap:8px}.tag-team-room-list-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:6px;border:1px solid var(--line);border-radius:11px;background:var(--panel-2)}.tag-team-room-list-item.active{border-color:var(--gold-bright);box-shadow:0 0 0 1px color-mix(in srgb,var(--gold) 35%,transparent)}
.tag-team-room-list-item>[data-open-room]{min-width:0;border:0;background:transparent;color:var(--text);text-align:left;padding:8px;cursor:pointer}.tag-team-room-list-item strong,.tag-team-room-list-item small{display:block;overflow:hidden;text-overflow:ellipsis}.tag-team-room-list-item small{margin-top:3px;color:var(--muted)}
.tag-team-no-rooms{padding:16px 10px;text-align:center;color:var(--muted)}.tag-team-no-rooms p{margin:0 0 4px;color:var(--text)}
.tag-team-room-stage{padding:18px;min-height:680px}
.tag-team-room-empty{min-height:620px;display:grid;place-content:center;text-align:center;color:var(--muted)}.tag-team-room-empty span{font-size:3rem;color:var(--gold)}.tag-team-room-empty h2{margin:10px 0 4px;color:var(--text)}.tag-team-room-empty p{max-width:540px;margin:0}
.tag-team-active-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:14px;border-bottom:1px solid var(--line)}.tag-team-active-heading h2,.tag-team-active-heading p{margin:0}.tag-team-active-heading p:last-child{margin-top:5px;color:var(--muted)}
.tag-team-room-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.tag-team-room-actions select{min-width:210px}
.tag-team-deck-tabs{display:flex;gap:8px;margin:14px 0}.tag-team-deck-tabs .button{min-width:160px}
.tag-team-builder-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.75fr);gap:14px;align-items:start}
.tag-team-card-browser-panel,.tag-team-own-deck-panel,.tag-team-partner-view{min-width:0;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--panel-2)}
.tag-team-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.tag-team-panel-heading h3,.tag-team-panel-heading p{margin:0}.tag-team-panel-heading p{margin-top:3px;color:var(--muted)}.tag-team-panel-heading>span{color:var(--muted);font-weight:700;white-space:nowrap}
.tag-team-browser-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,220px);gap:10px;margin-bottom:12px}.tag-team-browser-controls label,.tag-team-deck-name{display:grid;gap:5px}.tag-team-browser-controls span,.tag-team-deck-name span{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}
.tag-team-card-browser{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:9px;max-height:690px;overflow:auto;padding-right:4px}
.tag-team-browser-card{display:grid;grid-template-columns:52px minmax(0,1fr) 42px;align-items:center;gap:9px;padding:7px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.tag-team-browser-open{padding:0;border:0;background:transparent;cursor:pointer}.tag-team-browser-open img{display:block;width:52px;height:72px;object-fit:cover;border-radius:5px}.tag-team-browser-card strong,.tag-team-browser-card small{display:block}.tag-team-browser-card small{margin-top:3px;color:var(--muted)}.tag-team-browser-add{width:42px;height:42px;border:1px solid var(--line);border-radius:9px;background:var(--button);color:var(--text);font-size:1.35rem;font-weight:900;cursor:pointer}
.tag-team-own-deck-panel{position:sticky;top:86px}.tag-team-deck-name{margin-bottom:12px}.tag-team-deck-name input{width:100%}
#tagTeamOwnDeckPreview,#tagTeamPartnerDeckPreview{display:grid;gap:7px;max-height:640px;overflow:auto;padding-right:3px}
.tag-team-own-card{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:9px;padding:7px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.tag-team-own-open{padding:0;border:0;background:transparent;cursor:pointer}.tag-team-own-open img{display:block;width:46px;height:64px;object-fit:cover;border-radius:4px}.tag-team-own-card strong,.tag-team-own-card small{display:block}.tag-team-own-card small{margin-top:3px;color:var(--muted)}.tag-team-qty{display:grid;grid-template-columns:34px 28px 34px;align-items:center;gap:3px}.tag-team-qty button{width:34px;height:34px;border:1px solid var(--line);border-radius:8px;background:var(--button);color:var(--text);font-weight:900;cursor:pointer}.tag-team-qty output{text-align:center;font-weight:900}
.tag-team-partner-view{min-height:520px}.tag-team-partner-card{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:12px;padding:9px;border:1px solid var(--line);border-radius:11px;background:var(--panel)}.tag-team-partner-card img{width:64px;height:88px;object-fit:cover;border-radius:5px}.tag-team-partner-card strong,.tag-team-partner-card small{display:block}.tag-team-partner-card small{margin-top:3px;color:var(--muted)}.tag-team-partner-card>span{font-size:.72rem;color:var(--muted);white-space:nowrap}
.tag-team-empty-deck{padding:28px 12px;text-align:center;color:var(--muted)}.tag-team-empty-deck p{margin:0 0 4px;color:var(--text);font-weight:800}

@media (max-width:1100px){
  .tag-team-page-workspace{grid-template-columns:220px minmax(0,1fr)}
  .tag-team-builder-grid{grid-template-columns:1fr}.tag-team-own-deck-panel{position:static}.tag-team-card-browser{max-height:520px}
}
@media (max-width:900px){
  .tag-team-page{padding:12px 10px 110px}.tag-team-page-header{display:grid;padding:16px}.tag-team-page-header>.button{width:100%}
  .tag-team-page-workspace{grid-template-columns:1fr}.tag-team-room-sidebar{position:static;max-height:260px}.tag-team-room-stage{padding:12px;min-height:560px}.tag-team-room-empty{min-height:480px}
  .tag-team-active-heading{display:grid}.tag-team-room-actions{justify-content:stretch}.tag-team-room-actions>*{flex:1 1 160px;min-height:52px}
  .tag-team-deck-tabs{display:grid;grid-template-columns:1fr 1fr}.tag-team-deck-tabs .button{min-width:0;min-height:54px}
  .tag-team-browser-controls{grid-template-columns:1fr}.tag-team-card-browser{grid-template-columns:1fr;max-height:520px}.tag-team-browser-card{grid-template-columns:62px minmax(0,1fr) 52px;min-height:88px}.tag-team-browser-open img{width:62px;height:86px}.tag-team-browser-add{width:52px;height:52px}
  .tag-team-own-card{grid-template-columns:58px minmax(0,1fr)}.tag-team-own-open img{width:58px;height:80px}.tag-team-qty{grid-column:1/-1;grid-template-columns:52px minmax(40px,1fr) 52px}.tag-team-qty button{width:52px;height:48px;font-size:1.25rem}
  .tag-team-partner-card{grid-template-columns:64px minmax(0,1fr)}.tag-team-partner-card>span{grid-column:2}
}


/* v1.8.7 — collapsible filters, clearer themes, bounded numeric filters, and mulligan controls. */
@media (min-width:901px){
  .desktop-filter-collapse{display:inline-grid;flex:0 0 40px}
  body.desktop-filters-collapsed .app-shell{grid-template-columns:0 minmax(0,1fr)!important}
  body.desktop-filters-collapsed .filters{display:none!important}
  body.desktop-filters-collapsed .main-content{grid-column:2}
}
@media (max-width:900px){.desktop-filter-collapse{display:none!important}}

/* Keep checkbox labels from crowding the next numeric rows. */
.lower-value-check,.stat-include-lower{margin-bottom:16px!important}
.numeric-stat-filter + .numeric-stat-filter{margin-top:18px}

/* Hide browser-native number spinners; the interface provides its own − and + buttons. */
.mana-stepper input[type="number"],.stat-value-stepper input[type="number"],.resistance-stepper input[type="number"],
.hand-simulator-controls input[type="number"]{-moz-appearance:textfield;appearance:textfield}
.mana-stepper input[type="number"]::-webkit-inner-spin-button,.mana-stepper input[type="number"]::-webkit-outer-spin-button,
.stat-value-stepper input[type="number"]::-webkit-inner-spin-button,.stat-value-stepper input[type="number"]::-webkit-outer-spin-button,
.resistance-stepper input[type="number"]::-webkit-inner-spin-button,.resistance-stepper input[type="number"]::-webkit-outer-spin-button,
.hand-simulator-controls input[type="number"]::-webkit-inner-spin-button,.hand-simulator-controls input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}

.hand-mulligan-help{margin:7px 0 12px}
.opening-hand-results{align-items:flex-start}
.hand-card{position:relative;overflow:hidden}
.hand-card.selected{border-color:var(--gold-bright);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 30%,transparent)}
.hand-card-select{display:flex;width:100%;padding:0;border:0;background:transparent;color:var(--text);cursor:pointer;flex-direction:column;text-align:left}
.hand-card-select img{width:100%;border-radius:7px}
.hand-card-select span{display:block;font-size:.75rem;margin-top:5px;min-height:2.5em}
.hand-card-select b{display:block;margin-top:5px;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}
.hand-card.selected .hand-card-select b{color:var(--gold-bright)}
.hand-card-view{margin-top:6px}
.synergy-score{display:block;margin-top:5px;color:var(--gold);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.suggestion-card small{line-height:1.45}

/* Parchment: use darker accents so highlighted/link text remains readable. */
html[data-theme="parchment"]{--gold:#774713;--gold-bright:#5c330d;--blue:#315c74;--danger:#8b2922;--muted:#665541;--line-bright:#7c5a2d}
html[data-theme="parchment"] .eyebrow,html[data-theme="parchment"] .text-button,html[data-theme="parchment"] .glossary-link,
html[data-theme="parchment"] .card-kicker,html[data-theme="parchment"] a{color:#65380f}
html[data-theme="parchment"] .button.primary,html[data-theme="parchment"] .filter-chip.active,html[data-theme="parchment"] .filter-chip.included{color:#fff8e9;background:linear-gradient(135deg,#9a6527,#72410e)}
html[data-theme="parchment"] .button.ghost,html[data-theme="parchment"] input,html[data-theme="parchment"] select,html[data-theme="parchment"] textarea{color:#2a1b0c}

/* Paizo option: d20PFSRD-inspired neutral reading surface with dark navigation and burgundy accents. */
html[data-theme="paizo"]{color-scheme:light;--bg:#eeeeec;--panel:#ffffff;--panel-2:#f4f4f1;--panel-3:#e8e7e2;--line:#c9c8c1;--line-bright:#8b1d24;--text:#242424;--muted:#5c5c58;--gold:#8b1d24;--gold-bright:#aa2931;--blue:#245f86;--danger:#a32121;--shadow:0 10px 28px rgba(0,0,0,.14)}
html[data-theme="paizo"] body{background:#eeeeec!important}
html[data-theme="paizo"] .topbar{background:#252525!important;border-bottom-color:#111;color:#fff}
html[data-theme="paizo"] .topbar .brand small,html[data-theme="paizo"] .topbar .header-actions,html[data-theme="paizo"] .topbar .button{color:#f6f6f3}
html[data-theme="paizo"] .topbar .button{background:#363636;border-color:#555}
html[data-theme="paizo"] .topbar .button.primary{background:#8b1d24;border-color:#b64048;color:#fff}
html[data-theme="paizo"] .filters{background:#f7f7f4;border-right-color:#b8b7b0}
html[data-theme="paizo"] .hero{background:linear-gradient(135deg,#fff,#ecebe6);box-shadow:var(--shadow)}
html[data-theme="paizo"] .button.primary,html[data-theme="paizo"] .filter-chip.active,html[data-theme="paizo"] .filter-chip.included{background:#8b1d24;border-color:#8b1d24;color:#fff}
html[data-theme="paizo"] .text-button,html[data-theme="paizo"] .eyebrow,html[data-theme="paizo"] .glossary-link{color:#8b1d24}
html[data-theme="paizo"] input,html[data-theme="paizo"] select,html[data-theme="paizo"] textarea{background:#fff;color:#242424;border-color:#aaa}

@media (min-width:901px){
  body:not(.deck-route):not(.community-route):not(.recent-route):not(.favourites-route):not(.profile-route):not(.admin-route):not(.tag-team-route):not(.news-route):not(.desktop-filters-collapsed) .app-shell{grid-template-columns:330px minmax(0,1fr)}
  .filters{padding-left:10px;padding-right:8px}
  .resistance-row{grid-template-columns:minmax(62px,76px) minmax(0,1fr)!important}
  .stat-value-row{grid-template-columns:minmax(68px,84px) minmax(0,1fr)!important}
  .mana-cost-row{grid-template-columns:54px minmax(0,1fr)!important}
}


/* PFCG v1.8.9 — full-width utility pages, favourites library, responsive mana curve, and rulebook navigation. */
.filter-header-actions{display:flex;align-items:center;gap:7px}
.filter-search-sticky{position:sticky;top:-24px;z-index:24;margin:6px -2px 0;padding:12px 2px 4px;background:color-mix(in srgb,var(--panel) 96%,transparent);backdrop-filter:blur(12px)}
.filter-search-sticky .search-field{margin:0}
.desktop-filter-expand{display:none!important}

/* Selected sort controls retain the archive's black input surface. */
html[data-dropdown-mode="highlight"] #sortSelect.has-selection,
html[data-dropdown-mode="highlight"] #deckSort.has-selection,
html[data-dropdown-mode="highlight"] #communitySort.has-selection,
html[data-dropdown-mode="highlight"] label.has-selection #sortSelect,
html[data-dropdown-mode="highlight"] label.has-selection #deckSort,
html[data-dropdown-mode="highlight"] label.has-selection #communitySort{
  background:#0f0d0b!important;color:#f2e8d7!important;box-shadow:none!important
}
#sortSelect option,#deckSort option,#communitySort option{background:#0f0d0b;color:#f2e8d7}

/* Notes grow with their content and cannot be manually dragged out of alignment. */
.deck-notes-grid textarea{min-height:118px;resize:none!important;overflow:hidden;line-height:1.5}

/* Mana columns fill all available width, then scroll only when the device is genuinely too narrow. */
.mana-curve{
  --curve-columns:11;
  --curve-min-column:86px;
  grid-template-columns:repeat(var(--curve-columns),minmax(var(--curve-min-column),1fr));
  width:100%;
  min-width:calc(var(--curve-columns) * var(--curve-min-column) + (var(--curve-columns) - 1) * 10px);
}

/* Public Decks uses the same search surface as the archive sidebar. */
.community-search-control{min-width:0}
.community-search-field{height:42px;margin:0;width:100%;background:#0f0d0b}
.community-toolbar{grid-template-columns:minmax(250px,auto) minmax(280px,1fr) minmax(180px,220px) auto}

/* Dedicated favourite-card library. */
.favourites-page{min-width:0;padding:28px clamp(18px,3vw,44px) 80px}
.favourites-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:24px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,var(--panel-3),var(--panel));box-shadow:var(--shadow)}
.favourites-page-header h1,.favourites-page-header p{margin:0}
.favourites-page-header h1{margin-top:5px;font-family:Georgia,serif;font-size:clamp(2rem,4vw,3rem)}
.favourites-page-header p:last-child{margin-top:7px;color:var(--muted)}
.favourites-page-total{display:grid;justify-items:center;min-width:108px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--panel-2)}
.favourites-page-total strong{font-size:2rem;color:var(--gold-bright)}
.favourites-page-total span{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}
.favourites-page-grid{margin-top:18px}

/* The reader uses nearly the complete display and mirrors every highlighted TOC heading. */
.rulebook-dialog{width:min(1580px,calc(100vw - 12px));height:min(980px,calc(100dvh - 12px));max-height:calc(100dvh - 12px)}
.rulebook-quick-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));overflow:visible;gap:7px;padding:2px 0 8px}
.rulebook-quick-nav button{white-space:normal;text-align:center;color:#171717;border-color:color-mix(in srgb,var(--rule-nav-colour,#e5e5e5) 72%,#555);background:var(--rule-nav-colour,#e5e5e5)}
.rulebook-quick-nav button[data-rule-colour="neutral"]{--rule-nav-colour:#ececec}
.rulebook-quick-nav button[data-rule-colour="purple"]{--rule-nav-colour:#ded9e8}
.rulebook-quick-nav button[data-rule-colour="blue"]{--rule-nav-colour:#dbe5f1}
.rulebook-quick-nav button[data-rule-colour="pink"]{--rule-nav-colour:#f0d8d8}
.rulebook-quick-nav button[data-rule-colour="green"]{--rule-nav-colour:#e3ead4}
.rulebook-quick-nav button[data-rule-colour="yellow"]{--rule-nav-colour:#fff4b9}
.rulebook-quick-nav button:hover,.rulebook-quick-nav button.active{color:#111;border-color:var(--gold);filter:brightness(.93);box-shadow:0 0 0 2px color-mix(in srgb,var(--gold) 24%,transparent)}

@media (min-width:901px){
  .desktop-filter-collapse{display:inline-grid!important}
  body.desktop-filters-collapsed .desktop-filter-expand{display:inline-grid!important}
  body:not(.desktop-filters-collapsed) .desktop-filter-expand{display:none!important}
  body.deck-route .desktop-filter-expand,
  body.community-route .desktop-filter-expand,
  body.recent-route .desktop-filter-expand,
  body.favourites-route .desktop-filter-expand,
  body.admin-route .desktop-filter-expand,
  body.tag-team-route .desktop-filter-expand{display:none!important}

  /* Non-archive routes never reserve the hidden archive-filter column. */
  body.deck-route .app-shell,
  body.community-route .app-shell,
  body.recent-route .app-shell,
  body.favourites-route .app-shell,
  body.admin-route .app-shell,
  body.tag-team-route .app-shell{grid-template-columns:minmax(0,1fr)!important}
  body.deck-route .deck-page,
  body.community-route .community-page,
  body.recent-route .recent-page,
  body.favourites-route .favourites-page,
  body.admin-route .admin-page,
  body.tag-team-route .tag-team-page{grid-column:1!important}
  body.deck-route .filters,
  body.community-route .filters,
  body.recent-route .filters,
  body.favourites-route .filters,
  body.admin-route .filters,
  body.tag-team-route .filters{display:none!important}
}

@media (max-width:900px), (hover:none) and (pointer:coarse) and (max-device-width:1200px){
  .filter-search-sticky{top:0;margin-top:4px;padding-top:8px}
  .mana-curve{--curve-min-column:72px}
  html[data-mobile-card-columns="4"] .card-grid:not(.detailed),
  html[data-mobile-card-columns="4"] .card-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
  html[data-mobile-card-columns="4"] .deck-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
  html[data-mobile-card-columns="4"] .card-body{padding:5px}
  html[data-mobile-card-columns="4"] .card-body h2{font-size:.67rem}
  html[data-mobile-card-columns="4"] .card-kicker,html[data-mobile-card-columns="4"] .card-tags{display:none}
  html[data-mobile-card-columns="4"] .card-actions{grid-template-columns:28px 1fr;gap:3px;margin-top:4px}
  html[data-mobile-card-columns="4"] .card-actions button{min-height:30px;padding:2px}
  .community-toolbar{grid-template-columns:1fr}
  .favourites-page{padding:16px 12px 70px}
  .favourites-page-header{align-items:stretch;flex-direction:column}
  .favourites-page-total{grid-template-columns:auto auto;justify-content:center;align-items:center;gap:8px}
  .rulebook-quick-nav{display:flex;overflow-x:auto}
  .rulebook-quick-nav button{min-width:145px}
}


/* v1.8.9 accessibility, responsive and layout corrections */
html{--control-text:var(--text,#f7efe1)}
select,select.has-selection,label.has-selection select{background-color:#0c0b0a!important;color:#fff!important;border-color:var(--border)!important;box-shadow:none!important;background-image:none!important}
select option{background:#0c0b0a!important;color:#fff!important}
[data-theme="parchment"] select,[data-theme="paizo"] select{background:#171513!important;color:#fff!important}
.results-toolbar .debug-mode-button{align-self:end;min-height:42px}
.sidebar-master-toggle{position:fixed;z-index:90;top:72px;left:286px;width:40px;height:40px;border-radius:0 10px 10px 0;background:var(--panel-strong,var(--panel));box-shadow:0 5px 18px #0008}
body.desktop-filters-collapsed .sidebar-master-toggle{left:0;display:grid!important}
.desktop-filter-collapse,.desktop-filter-expand{display:none!important}
.filters{overflow:visible}.filters>.filter-header,.filters>.filter-search-sticky,.filters>details,.filters>.filter-help,.filters>.filter-reset{position:relative}
.filter-search-sticky{position:sticky!important;top:0;z-index:22;background:var(--panel);padding-top:8px;padding-bottom:8px}
.terrain-filter-subsection h5{margin:12px 0 7px;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.hero h1{white-space:nowrap;font-size:clamp(1.55rem,3.2vw,3.7rem);line-height:1.04}.hero>div:first-child{min-width:0}.hero p{max-width:95ch}
.archive-deck-controls{display:grid!important;align-items:center!important;gap:5px!important;width:100%!important}
.archive-deck-controls.empty{grid-template-columns:1fr!important}.archive-deck-controls.counted{grid-template-columns:38px minmax(34px,auto) 38px!important}
.archive-deck-controls .add-to-deck-text{width:100%!important;min-width:0!important;padding:9px 8px!important;font-weight:800!important}
.deck-copy-number{display:grid;place-items:center;min-height:38px;border:1px solid var(--border);border-radius:9px;background:var(--panel-strong);font-weight:900;font-variant-numeric:tabular-nums}
.favourite.active,.favourite.golden{color:#ffd66b!important;background:color-mix(in srgb,#d99a21 24%,var(--panel))!important;border-color:#eab84c!important;box-shadow:0 0 0 2px #eab84c44,0 0 18px #eab84c55!important;text-shadow:0 0 8px #ffd66b}
.card-tags .archive-card-id,.debug-mode-button[aria-pressed="true"]{font-weight:900}
.card-tile.single-compact{animation:pftcg-card-flip .36s ease both;width:min(100%,165px);min-height:0;justify-self:center;align-self:start}.card-tile.single-compact .card-image-button{display:block!important}.card-tile.single-compact .card-body{display:block!important;min-height:0!important;padding:5px!important}.card-tile.single-compact .card-kicker,.card-tile.single-compact .card-tags{display:none!important}.card-tile.single-compact h2{font-size:.72rem!important;line-height:1.15!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;margin:1px 2px 5px!important}.card-tile.single-compact .card-actions{margin-top:0!important;gap:4px!important}.card-tile.single-compact .archive-deck-controls.counted{grid-template-columns:30px minmax(24px,1fr) 30px!important}.card-tile.single-compact .card-actions button{min-height:31px!important;padding:3px 5px!important}
@keyframes pftcg-card-flip{0%{transform:rotateY(0)}49%{transform:rotateY(90deg)}50%{transform:rotateY(-90deg)}100%{transform:rotateY(0)}}
.rulebook-dialog{width:calc(100vw - clamp(6px,1.2vw,24px))!important;max-width:none!important;height:calc(100dvh - clamp(6px,1.2vw,24px))!important;max-height:none!important;margin:auto!important}
.rulebook-dialog .wide-dialog-content{height:100%!important;padding:clamp(10px,1.6vw,26px)!important}
#rulebookFrame{width:100%!important;height:100%!important;min-height:0!important}
.rulebook-quick-nav{grid-template-columns:repeat(auto-fit,minmax(clamp(108px,9vw,165px),1fr))!important;max-height:28dvh;overflow:auto!important}
.rulebook-quick-nav button{font-weight:800!important;color:#111!important;text-shadow:none!important;filter:none!important;opacity:1!important}
.rulebook-quick-nav button[data-rule-colour="cover"]{--rule-nav-colour:#f1e5c9}.rulebook-quick-nav button:hover,.rulebook-quick-nav button:focus-visible{background:#15110d!important;color:#fff!important;border-color:#fff!important;box-shadow:0 0 0 3px #ffffff55!important}.rulebook-quick-nav button.active{background:#111!important;color:#fff!important;border-color:#f1c96e!important}
.deck-notes-grid textarea{resize:none!important;overflow:hidden!important;box-sizing:border-box!important}
.mana-curve-column,.mana-curve-stack{min-width:0}.mana-curve-card,.mana-curve-card img{width:100%!important;max-width:none!important}.mana-curve-grid{grid-template-columns:repeat(auto-fit,minmax(min(128px,35vw),1fr))!important}
.tool-tab-bar{flex-wrap:wrap}.synergy-subtabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.profile-page{grid-column:2;padding:clamp(14px,2vw,34px);overflow:auto}.profile-page-heading{max-width:1180px;margin:0 auto 18px}.profile-page-content{max-width:1180px;margin:0 auto}.profile-page-content .account-dialog-content{display:block!important;max-width:none!important;width:100%!important;height:auto!important;overflow:visible!important;background:transparent!important;padding:0!important}.profile-page-content .dialog-close{display:none!important}
.nav-active{background:var(--accent)!important;color:var(--accent-contrast)!important;border-color:var(--accent)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 28%,transparent)!important}
.tag-team-room-name-editor{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:8px;max-width:650px}.tag-team-room-name-editor>span{grid-column:1/-1}.tag-team-own-actions{display:flex;gap:8px;flex-wrap:wrap}.tag-team-partner-view .tag-team-deck-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.friend-presence{margin-right:8px!important}.social-item strong .friend-presence{display:inline-block;vertical-align:middle;margin-right:9px!important}
.admin-history-toolbar{display:grid!important;grid-template-columns:minmax(220px,2fr) minmax(140px,.8fr) minmax(190px,1fr) minmax(230px,1.2fr) auto!important;align-items:end!important;gap:12px!important}.admin-history-toolbar>label{min-width:0!important}.admin-history-toolbar input,.admin-history-toolbar select{width:100%!important;min-width:0!important}.admin-history-row{grid-template-columns:30px minmax(220px,1fr)!important}.admin-history-actions{grid-column:2;display:grid!important;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));width:100%}.admin-history-actions select{min-width:0!important;width:100%}
.button,.button:active,.button:focus,.button:hover,button{--button-readable-text:currentColor}.community-page .button,.community-page button,.community-deck-dialog .button,.community-deck-dialog button{font-weight:800}.community-page .button:hover,.community-page .button:focus-visible,.community-page .button:active,.community-deck-dialog .button:hover,.community-deck-dialog .button:focus-visible,.community-deck-dialog .button:active{background:#fff!important;color:#111!important;border-color:#111!important;text-shadow:none!important}.public-search-shell{display:flex;align-items:center;gap:8px;min-width:min(100%,460px);padding:8px 12px;border:1px solid var(--border);border-radius:11px;background:#0b0a09}.public-search-shell input{flex:1;border:0!important;background:transparent!important;color:#fff!important;outline:0}
@media(max-width:1100px){.admin-history-toolbar{grid-template-columns:1fr 1fr!important}.admin-history-toolbar #adminHistoryApplyBulk{grid-column:1/-1}.hero h1{white-space:normal}.sidebar-master-toggle{top:68px}}
@media(max-width:900px){.sidebar-master-toggle{display:none!important}.profile-page{grid-column:1}.admin-history-toolbar{grid-template-columns:1fr!important}.rulebook-quick-nav{display:flex!important;max-height:none}.rulebook-quick-nav button{min-width:136px}.tag-team-room-name-editor{grid-template-columns:1fr}.tag-team-room-name-editor>span{grid-column:auto}}
@media(max-width:620px){.archive-deck-controls.counted{grid-template-columns:34px minmax(30px,1fr) 34px!important}.hero h1{font-size:1.75rem}.rulebook-dialog{width:100vw!important;height:100dvh!important;margin:0!important;border-radius:0!important}}


/* v1.8.9 final corrections */
html{color-scheme:dark}
select,select.has-selection,label.has-selection select{
  appearance:auto!important;-webkit-appearance:menulist!important;
  background:#0b0a09!important;color:#fff!important;border-color:#625b52!important;
  box-shadow:none!important;text-shadow:none!important;accent-color:#222!important;
}
select:hover,select:focus,select:focus-visible,select.has-selection:focus,label.has-selection select:focus{
  background:#0b0a09!important;color:#fff!important;border-color:#8a8278!important;
  box-shadow:0 0 0 2px rgba(255,255,255,.12)!important;outline:none!important;
}
select option,select optgroup{background:#0b0a09!important;color:#fff!important}
.sidebar-master-toggle{position:fixed!important;z-index:150!important;top:66px!important;left:330px!important;width:42px!important;height:42px!important;display:grid!important;place-items:center!important;border-radius:0 10px 10px 0!important}
body.desktop-filters-collapsed .sidebar-master-toggle{left:0!important}
.filters{overflow-y:auto!important;overflow-x:hidden!important}
.filter-search-sticky{position:sticky!important;top:0!important;z-index:30!important;background:var(--panel)!important}
body.deck-route .sidebar-master-toggle,body.community-route .sidebar-master-toggle,body.recent-route .sidebar-master-toggle,
body.favourites-route .sidebar-master-toggle,body.admin-route .sidebar-master-toggle,body.tag-team-route .sidebar-master-toggle,
body.profile-route .sidebar-master-toggle{display:none!important}
.rulebook-dialog .wide-dialog-content{display:flex!important;flex-direction:column!important;min-height:0!important;overflow:hidden!important}
.rulebook-heading,.rulebook-quick-nav{flex:0 0 auto}
#rulebookFrame{flex:1 1 auto!important;min-height:240px!important}
.friend-dropdown-item{grid-template-columns:18px minmax(0,1fr) auto!important;gap:12px!important}.friend-presence{margin-right:10px!important}
.admin-history-toolbar .check-row{min-height:42px;align-items:center;padding:0 8px}
@media(max-width:1200px){.admin-history-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))!important}.admin-history-toolbar>button{grid-column:1/-1}}
@media(max-width:900px){.sidebar-master-toggle{display:none!important}.admin-history-toolbar{grid-template-columns:1fr!important}.admin-history-toolbar>button{grid-column:auto}.hero h1{white-space:normal}}

/* v1.8.9 profile route uses the full application width. */
body.profile-route .app-shell{grid-template-columns:minmax(0,1fr)!important}
body.profile-route .profile-page{grid-column:1!important}
html[data-accent="crimson"]{--accent-contrast:#fff}
html[data-accent="crimson"] .community-folder-button.active,html[data-accent="crimson"] .admin-history-pagination button.active{color:#fff}


/* v1.8.10 — compact card controls, black toolbar menus, profile and archive fixes. */
.black-select{position:relative;min-width:145px}
.black-select-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.black-select-trigger{width:100%;min-height:38px;padding:7px 34px 7px 11px;border:1px solid #625b52;border-radius:8px;background:#0b0a09!important;color:#fff!important;text-align:left;font:inherit;font-weight:700;cursor:pointer;position:relative}
.black-select-trigger::after{content:'▾';position:absolute;right:11px;top:50%;transform:translateY(-50%);color:#d8d0c5}
.black-select-trigger:hover,.black-select-trigger:focus-visible{background:#111!important;color:#fff!important;border-color:#8a8278;outline:2px solid rgba(255,255,255,.12)}
.black-select-menu{position:absolute;right:0;top:calc(100% + 5px);z-index:220;display:grid;width:max(100%,210px);max-height:320px;overflow:auto;padding:5px;border:1px solid #625b52;border-radius:9px;background:#050505!important;box-shadow:0 18px 45px rgba(0,0,0,.62)}
.black-select-menu[hidden]{display:none!important}
.black-select-option{width:100%;padding:9px 10px;border:0;border-radius:6px;background:#050505!important;color:#fff!important;text-align:left;font:inherit;cursor:pointer}
.black-select-option:hover,.black-select-option:focus-visible,.black-select-option.selected{background:#242424!important;color:#fff!important;outline:none!important;box-shadow:none!important}

.card-actions button,.archive-deck-controls .add-button,.archive-deck-controls .remove-button,.archive-deck-controls .add-to-deck-text{font-size:.78rem!important}
.archive-deck-controls .remove-button,.archive-deck-controls .add-button:not(.add-to-deck-text){font-size:1rem!important}
.deck-copy-number{font-size:.78rem!important;min-height:34px!important}
.archive-deck-controls.counted{grid-template-columns:34px minmax(28px,auto) 34px!important}
.archive-deck-controls .add-to-deck-text{min-height:34px!important;padding:6px 7px!important}
.dialog-image-actions .button{font-size:.82rem!important;min-height:38px!important;padding:7px 9px!important}
#dialogAddDeck .dialog-copy-count{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-left:5px;padding:0 5px;border-radius:999px;background:rgba(0,0,0,.24);font-size:.72rem;font-weight:900}

html.hide-card-tags .card-tile .card-tags{display:none!important}
.card-tile .card-tags:empty{display:none!important;min-height:0!important}
#favouritesButton,#favouritesButton *{color:inherit!important}
#favouritesButton.nav-active,#favouritesButton.nav-active *{color:var(--accent-contrast)!important}
.friend-dropdown-item>span:nth-child(2){display:grid!important;gap:4px!important;min-width:0}
.friend-dropdown-item strong,.friend-dropdown-item small{display:block!important;line-height:1.25}

.card-grid .card-tile.single-compact{width:158px!important;max-width:100%!important;justify-self:center!important;transform-style:preserve-3d!important}
.card-grid .card-tile.single-compact .card-image-button{aspect-ratio:907/1306!important}
.card-grid .card-tile.single-compact .card-body{padding:6px!important}
.card-grid .card-tile.single-compact .card-actions{grid-template-columns:30px minmax(0,1fr)!important}
.card-grid .card-tile.single-compact .archive-deck-controls.empty{grid-template-columns:1fr!important}
.card-grid .card-tile.single-compact .archive-deck-controls.counted{grid-template-columns:28px 28px 28px!important}
.card-grid .card-tile.single-compact .add-to-deck-text{font-size:.64rem!important;padding:4px!important}

.card-dialog>.dialog-close{right:22px!important}
.card-dialog .dialog-image-wrap.versions-open>img{margin-top:8px!important}

body.profile-route .app-shell{grid-template-columns:minmax(0,1fr)!important}
body.profile-route #profilePage{display:block!important;grid-column:1!important;width:100%!important}
body.profile-route .profile-page-content .account-dialog-content{display:block!important}

@media(max-width:620px){
  .black-select{min-width:118px}
  .black-select-menu{right:auto;left:0;width:min(240px,calc(100vw - 24px))}
  .card-grid .card-tile.single-compact{width:132px!important}
  .dialog-image-actions .button{font-size:.76rem!important;min-height:36px!important}
}

/* v1.8.10 final archive, card-dialog and social refinements. */
.card-actions{gap:5px!important;margin-top:7px!important}
.card-actions button{min-height:31px!important;padding:4px 6px!important;font-size:.72rem!important;line-height:1.1!important}
.card-actions .favourite{font-size:.9rem!important;min-width:31px!important;padding:2px!important}
.archive-deck-controls{gap:4px!important}
.archive-deck-controls .add-to-deck-text{min-height:31px!important;padding:5px 6px!important;font-size:.7rem!important;line-height:1.08!important}
.archive-deck-controls.counted{grid-template-columns:30px minmax(25px,auto) 30px!important}
.archive-deck-controls .remove-button,.archive-deck-controls .add-button:not(.add-to-deck-text){min-height:31px!important;min-width:30px!important;padding:1px 3px!important;font-size:.88rem!important;line-height:1!important}
.deck-copy-number{min-height:31px!important;padding:0 3px!important;font-size:.72rem!important}
.dialog-image-actions{gap:7px!important}
.dialog-image-actions .button{min-height:35px!important;padding:6px 8px!important;font-size:.74rem!important;line-height:1.12!important}
#dialogFavourite{font-size:.72rem!important}
#dialogAddDeck .dialog-copy-count{min-width:20px!important;height:20px!important;font-size:.68rem!important}

/* Archive identity tags are opt-in; administrator Debug Mode always reveals its diagnostic tags. */
html.hide-card-tags:not(.debug-card-tags) .card-tile .card-tags{display:none!important}
html.debug-card-tags .card-tile .card-tags{display:flex!important}
html.hide-card-tags:not(.debug-card-tags) .card-tile .card-body h2{margin-bottom:5px!important}

/* Keep the per-card compact state visibly different without changing neighbouring cards. */
.card-grid .card-tile.single-compact{width:min(100%,148px)!important;transform-origin:center top!important}
.card-grid .card-tile.single-compact .card-image-button{aspect-ratio:907/1306!important}
.card-grid .card-tile.single-compact .card-body{padding:5px!important}
.card-grid .card-tile.single-compact .card-actions{gap:3px!important}
.card-grid .card-tile.single-compact .archive-deck-controls.counted{grid-template-columns:26px 25px 26px!important}
.card-grid .card-tile.single-compact .archive-deck-controls button,.card-grid .card-tile.single-compact .deck-copy-number{min-height:27px!important;min-width:25px!important;font-size:.66rem!important}
.card-grid .card-tile.single-compact .add-to-deck-text{min-height:27px!important;font-size:.6rem!important}

/* Match the other header destinations in both inactive and highlighted states. */
#favouritesButton:not(.nav-active),#favouritesButton:not(.nav-active) *{color:var(--text)!important}
#favouritesButton.nav-active,#favouritesButton.nav-active *{color:var(--accent-contrast)!important}

/* Separate presence, name and status text instead of rendering “NameLast seen”. */
.friend-dropdown-item{column-gap:13px!important}
.friend-dropdown-item>span:nth-child(2){display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:4px!important;min-width:0!important}
.friend-dropdown-item strong,.friend-dropdown-item small{display:block!important;width:100%!important;line-height:1.28!important}
.friend-dropdown-item small{margin-top:1px!important}

/* Give the close control and version strip breathing room around the main preview. */
.card-dialog>.dialog-close{right:26px!important}
.card-dialog .dialog-image-wrap.versions-open>img{margin-top:16px!important}
.card-dialog .dialog-image-wrap.versions-open .version-card-list{margin-bottom:4px!important}

@media(max-width:620px){
  .card-actions button{font-size:.66rem!important}
  .archive-deck-controls .add-to-deck-text{font-size:.64rem!important}
  .dialog-image-actions .button{font-size:.69rem!important;padding:5px 6px!important}
  .card-grid .card-tile.single-compact{width:min(100%,124px)!important}
  .card-dialog>.dialog-close{right:18px!important}
}

/* A quick card flip confirms the per-card compact toggle without persisting any state after navigation or refresh. */
@keyframes pftcg-compact-flip{
  0%{transform:perspective(900px) rotateY(0deg) scale(1)}
  48%{transform:perspective(900px) rotateY(88deg) scale(.96)}
  52%{transform:perspective(900px) rotateY(-88deg) scale(.96)}
  100%{transform:perspective(900px) rotateY(0deg) scale(1)}
}
.card-grid .card-tile.single-compact{animation:pftcg-compact-flip .34s ease both}
html.reduce-motion .card-grid .card-tile.single-compact{animation:none}

/* v1.8.11 — repaired profile routing, true per-card compact layout, and sidebar toggle placement. */
@media (min-width:901px){
  #filtersPanel .filter-header-actions .sidebar-master-toggle{
    position:static!important;
    display:inline-grid!important;
    width:34px!important;
    height:34px!important;
    border-radius:9px!important;
    box-shadow:none!important;
    flex:0 0 34px;
  }
  .sidebar-master-toggle.outside-sidebar{
    position:fixed!important;
    z-index:150!important;
    top:72px!important;
    left:0!important;
    display:grid!important;
    width:42px!important;
    height:42px!important;
    border-radius:0 10px 10px 0!important;
    box-shadow:0 5px 18px #0008!important;
  }
  html.compact-header .sidebar-master-toggle.outside-sidebar{top:58px!important}
}

/* Compacting one card now reduces its internal chrome while preserving its normal grid column width. */
.card-grid .card-tile.single-compact{
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  justify-self:stretch!important;
  align-self:start!important;
}
.card-grid .card-tile.single-compact .card-image-button{width:100%!important;aspect-ratio:907/1306!important}
.card-grid .card-tile.single-compact .card-body{padding:6px!important}
.card-grid .card-tile.single-compact .card-kicker,
.card-grid .card-tile.single-compact .card-tags{display:none!important}
.card-grid .card-tile.single-compact h2{
  margin:1px 2px 6px!important;
  font-size:.76rem!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.card-grid .card-tile.single-compact .card-actions{margin-top:0!important;gap:4px!important}
.card-grid .card-tile.single-compact .archive-deck-controls.counted{grid-template-columns:30px minmax(28px,1fr) 30px!important}
.card-grid .card-tile.single-compact .archive-deck-controls.empty{grid-template-columns:1fr!important}
.card-grid .card-tile.single-compact .card-actions button,
.card-grid .card-tile.single-compact .deck-copy-number{min-height:31px!important}

/* Profile content is a real route, never a lingering background layer. */
body:not(.profile-route) #profilePage{display:none!important}
body.profile-route #profilePage{display:block!important}

/* Conversation history reads downward, with the newest item naturally at the bottom. */
#messageList,.messages-dropdown .notification-dropdown-list{scroll-behavior:auto}

/* v1.8.12 — text-only card flips, clearer archive controls, account registration, and Tag-Team parity. */
#cardGrid .archive-deck-controls .add-to-deck-text,
#favouritesPageGrid .archive-deck-controls .add-to-deck-text{
  min-height:40px!important;
  padding:9px 10px!important;
  font-size:.84rem!important;
  line-height:1.12!important;
}

.card-text-preview{
  display:none;
  width:100%;
  aspect-ratio:907/1306;
  overflow:auto;
  padding:12px;
  box-sizing:border-box;
  background:linear-gradient(180deg,var(--panel-2),var(--panel));
  border-bottom:1px solid var(--line);
  color:var(--text);
  scrollbar-width:thin;
}
.card-text-preview header{
  display:grid;
  gap:3px;
  padding-bottom:9px;
  margin-bottom:9px;
  border-bottom:1px solid var(--line);
}
.card-text-preview header strong{font-family:Georgia,'Times New Roman',serif;font-size:1rem;line-height:1.15}
.card-text-preview header small{color:var(--muted);font-size:.68rem;line-height:1.25}
.card-text-preview-rules{font-size:.73rem;line-height:1.42;overflow-wrap:anywhere}
.card-text-preview-rules .ability-marker{color:var(--gold)}

.card-grid .card-tile.single-compact{
  width:auto!important;
  max-width:none!important;
  min-height:0!important;
  justify-self:stretch!important;
  align-self:stretch!important;
  animation:pftcg-compact-flip .34s ease both;
}
.card-grid .card-tile.single-compact .card-image-button{display:none!important}
.card-grid .card-tile.single-compact .card-text-preview{display:block!important}
.card-grid .card-tile.single-compact .card-body{display:block!important;padding:9px!important}
.card-grid .card-tile.single-compact .card-kicker{display:flex!important}
.card-grid .card-tile.single-compact .card-tags{display:none!important}
.card-grid .card-tile.single-compact h2{
  margin:2px 0 7px!important;
  font-size:.9rem!important;
  line-height:1.18!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.card-grid .card-tile.single-compact .card-actions{gap:6px!important;margin-top:0!important}
.card-grid .card-tile.single-compact .archive-deck-controls.empty{grid-template-columns:1fr!important}
.card-grid .card-tile.single-compact .archive-deck-controls.counted{grid-template-columns:32px minmax(28px,auto) 32px!important}
.card-grid .card-tile.single-compact .card-actions button,
.card-grid .card-tile.single-compact .deck-copy-number{min-height:34px!important;font-size:.76rem!important}
.card-grid .card-tile.single-compact .add-to-deck-text{min-height:38px!important;font-size:.8rem!important;padding:7px!important}
html.reduce-motion .card-grid .card-tile.single-compact{animation:none}

.username-signup-form{
  display:grid;
  gap:12px;
  margin-top:14px;
  padding:14px;
  border:1px solid var(--line-bright);
  border-radius:12px;
  background:var(--panel-2);
}
.username-signup-form[hidden]{display:none!important}
.username-signup-form label{display:grid;gap:5px}
.username-signup-form label>span{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.username-signup-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.username-signup-heading h3{margin:0}
.account-warning{
  margin:0;
  padding:10px 12px;
  border:1px solid color-mix(in srgb,var(--gold) 45%,var(--line));
  border-radius:10px;
  background:color-mix(in srgb,var(--gold) 9%,var(--panel));
  color:var(--text);
  line-height:1.4;
}

/* Tag-Team uses the same card grid and deck-card language as Normal deck creation. */
.tag-team-page-header.deck-page-header{margin-bottom:14px}
#tagTeamBackToDecks{align-self:flex-start;margin-bottom:9px}
.tag-team-browser-controls.deck-filter-bar{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(170px,220px);
  margin:0 0 12px;
  padding:10px;
}
.tag-team-own-deck-panel.current-deck-collapsible{padding:14px}
.tag-team-deck-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(170px,1fr))!important;
  gap:12px!important;
  max-height:720px!important;
  overflow:auto!important;
  align-content:start;
}
.tag-team-deck-grid .tag-team-deck-card{min-width:0}
.tag-team-deck-grid .tag-team-deck-card .deck-card-image{cursor:pointer}
.tag-team-deck-grid .tag-team-partner-card .deck-card-body{align-content:start}
.tag-team-deck-grid .readonly-badge{
  display:inline-flex;
  width:max-content;
  margin-top:8px;
  padding:4px 7px;
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--muted);
  font-size:.68rem;
  font-weight:800;
}
.tag-team-empty-deck{grid-column:1/-1}

@media(max-width:720px){
  #cardGrid .archive-deck-controls .add-to-deck-text,
  #favouritesPageGrid .archive-deck-controls .add-to-deck-text{min-height:36px!important;font-size:.76rem!important}
  .card-text-preview{padding:9px}
  .card-text-preview-rules{font-size:.68rem;line-height:1.36}
  .tag-team-browser-controls.deck-filter-bar{grid-template-columns:1fr}
  .tag-team-deck-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-height:none!important}
}


/* v1.8.13 — responsive stability, compact phone controls and iOS image compositing. */
html,body{max-width:100%;overflow-x:hidden;touch-action:pan-x pan-y}
.mana-curve-scroll{max-width:100%;min-width:0}

html.pftcg-ios .card-image-button,
html.pftcg-ios .deck-card-image,
html.pftcg-ios .mana-curve-card,
html.pftcg-ios .recent-page-card,
html.pftcg-ios .version-card,
html.pftcg-ios .related-card{
  isolation:isolate;
  contain:paint;
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
}
html.pftcg-ios .card-image-button img,
html.pftcg-ios .deck-card-image img,
html.pftcg-ios .mana-curve-card img,
html.pftcg-ios .recent-page-card img,
html.pftcg-ios .version-card img,
html.pftcg-ios .related-card img{
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
  -webkit-transform:translateZ(0);
  transform:translateZ(0);
  transition:none!important;
}
html.pftcg-ios .card-tile:hover img{transform:translateZ(0)!important}

@media (max-width:620px), (hover:none) and (pointer:coarse) and (max-device-width:620px){
  /* Remove most of the oversized mobile padding while retaining usable touch controls. */
  button,.button{min-height:36px!important;padding:4px 9px!important;border-radius:8px!important;font-size:.82rem!important;line-height:1.12!important}
  .icon-button,.social-icon-button{min-width:36px!important;min-height:36px!important;padding:4px!important}
  .topbar{height:58px!important;padding-inline:9px!important;gap:8px!important}
  .results-toolbar{top:58px!important;padding:7px 9px!important}
  .topbar>#filterToggle{width:38px!important;height:38px!important;flex-basis:38px!important;font-size:1rem!important}
  .mobile-header-tools-button{min-height:36px!important;max-width:132px!important;font-size:.78rem!important}
  .header-actions #accountButton,.header-actions #deckToggle{min-height:34px!important;padding-inline:8px!important}

  .card-actions{grid-template-columns:30px minmax(0,1fr)!important;gap:4px!important;margin-top:5px!important}
  .card-actions button,
  #cardGrid .archive-deck-controls .add-to-deck-text,
  #favouritesPageGrid .archive-deck-controls .add-to-deck-text,
  .archive-deck-controls .remove-button,
  .archive-deck-controls .add-button:not(.add-to-deck-text),
  .deck-copy-number{min-height:30px!important;height:30px!important;padding:2px 5px!important;font-size:.7rem!important;line-height:1!important}
  .card-actions .favourite{min-width:30px!important;font-size:.82rem!important}
  .archive-deck-controls.counted{grid-template-columns:30px minmax(25px,auto) 30px!important}

  /* Smaller, denser card filters on phones. */
  .filters{padding:0 8px calc(68px + env(safe-area-inset-bottom))!important}
  .filter-header{min-height:46px!important;margin:0 -8px!important;padding:5px 8px!important}
  .filter-header h2{font-size:.96rem!important}
  .search-field{top:52px!important;height:38px!important;min-height:38px!important;margin:6px 0 3px!important}
  .search-field input{font-size:.82rem!important}
  .search-help,.tri-state-help{font-size:.68rem!important;line-height:1.3!important;margin:4px 2px 7px!important}
  .filter-reset{min-height:34px!important;margin-bottom:5px!important}
  .filter-section{margin:5px 0!important;border-radius:8px!important}
  .filter-section>summary{min-height:34px!important;padding:6px 8px!important;font-size:.76rem!important}
  .filter-group-body{padding:6px!important}
  .filter-subsection{padding:5px 0!important}
  .dense-chip-list,#schoolList{padding:4px 0!important;gap:4px!important}
  .category-button,.filter-chip{min-height:30px!important;padding:4px 7px!important;font-size:.72rem!important;border-radius:7px!important}
  .filter-chip{border-radius:999px!important}
  .check-row{min-height:30px!important;font-size:.76rem!important;gap:6px!important}
  .check-row input[type="checkbox"]{width:17px!important;height:17px!important}
  .mana-step,.resistance-step,.stat-value-stepper button{min-width:30px!important;min-height:30px!important;padding:2px!important;font-size:.9rem!important}
  .mana-stepper input,.resistance-stepper input,.stat-value-stepper input{min-height:30px!important;font-size:.78rem!important}
  .numeric-clear{min-height:30px!important;padding-inline:7px!important;font-size:.7rem!important}
  .active-filters{gap:4px!important;margin:6px 0!important}
  .active-filter{padding:3px 6px!important;font-size:.66rem!important}

  body.deck-route .mana-curve-scroll{width:100%!important;max-width:100%!important;margin-right:0!important;padding-right:0!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  .mana-curve{--curve-min-column:66px!important;max-width:none!important}
}


/* v1.8.15 — Tag-Team deck-page parity, reliable social badges, reversible card flips and restored mobile tap sizes. */
.social-icon-button{position:relative!important;overflow:visible!important}
.social-icon-button .notification-count{
  position:absolute!important;
  top:-7px!important;
  right:-7px!important;
  bottom:auto!important;
  left:auto!important;
  z-index:5!important;
  min-width:20px!important;
  height:20px!important;
  padding:0 5px!important;
  margin:0!important;
  border:2px solid var(--panel,#17120e)!important;
  box-sizing:border-box!important;
  line-height:16px!important;
  transform:none!important;
  pointer-events:none!important;
}

/* The JavaScript now performs one clean half-turn in each direction. */
.card-grid .card-tile.single-compact,
.card-grid .card-tile[data-flip-animating="true"]{animation:none!important;will-change:transform;backface-visibility:hidden;transform-style:preserve-3d}

.profile-page-heading{position:relative}
.profile-exit-button{
  display:inline-flex!important;
  width:max-content!important;
  min-height:42px!important;
  margin-bottom:14px!important;
  padding:8px 14px!important;
  border-color:var(--line-bright)!important;
  background:var(--panel-2)!important;
  color:var(--text)!important;
  font-weight:800!important;
}
.profile-exit-button:hover{background:var(--panel-3)!important;color:var(--gold-bright)!important}

/* Keep the Saved Decks rail following the reader on desktop, regardless of the old page-scroll preference. */
@media (min-width:901px){
  body.deck-route .deck-library-panel{
    position:sticky!important;
    top:72px!important;
    align-self:start!important;
    max-height:calc(100vh - 84px)!important;
    overflow:auto!important;
    overscroll-behavior:contain;
  }
  html.compact-header body.deck-route .deck-library-panel{top:62px!important;max-height:calc(100vh - 72px)!important}
  body.tag-team-route .tag-team-room-sidebar{position:sticky!important;top:72px!important;max-height:calc(100vh - 84px)!important}
}

/* Tag-Team now uses the same visual hierarchy as Normal deck creation. */
.tag-team-mode-toolbar{max-width:1800px;margin:0 auto 14px!important}
.tag-team-page-header.deck-page-header{max-width:1800px!important}
.tag-team-page-workspace{grid-template-columns:minmax(250px,310px) minmax(0,1fr)!important}
.tag-team-room-stage{padding:0!important;border:0!important;background:transparent!important;min-height:0!important}
#tagTeamRoomActive{display:grid;gap:14px}
#tagTeamRoomActive[hidden]{display:none!important}
.tag-team-active-heading.deck-page-header{
  margin:0!important;
  max-width:none!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(320px,520px)!important;
  align-items:end!important;
  padding:22px 24px!important;
  border:1px solid var(--line)!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,var(--panel-2),var(--panel))!important;
}
.tag-team-active-title h1{margin:4px 0 0!important;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2rem,4vw,4.25rem);line-height:.98}
.tag-team-active-title p:last-child{max-width:760px;margin-top:10px!important;color:var(--muted)}
.tag-team-room-actions.deck-page-actions{display:grid!important;grid-template-columns:1fr auto auto!important;align-items:end!important;justify-content:stretch!important}
.tag-team-room-name-editor{grid-column:1/-1;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;max-width:none!important}
.tag-team-room-name-editor>span{grid-column:1/-1!important}
.tag-team-room-actions>select{min-width:0!important}
.tag-team-deck-tabs{
  margin:0!important;
  padding:12px 14px!important;
  border:1px solid var(--line)!important;
  border-radius:14px!important;
  background:var(--panel)!important;
}
.tag-team-deck-tabs .button{min-width:150px!important}
.tag-team-builder-grid{display:flex!important;flex-direction:column!important;gap:14px!important}
.tag-team-own-deck-panel.current-deck-collapsible{
  order:1!important;
  position:static!important;
  width:100%!important;
  padding:0!important;
  border:1px solid var(--line)!important;
  border-radius:16px!important;
  background:var(--panel)!important;
  overflow:hidden;
}
.tag-team-own-deck-panel .tag-team-deck-name{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:6px!important;
  margin:0!important;
  padding:18px 18px 0!important;
}
.tag-team-current-deck-heading{
  padding:14px 18px!important;
  margin:0!important;
  border-bottom:1px solid var(--line)!important;
  background:var(--panel-2)!important;
}
.tag-team-own-actions{justify-content:flex-end!important}
.tag-team-deck-grid{
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr))!important;
  max-height:none!important;
  overflow:visible!important;
  padding:14px!important;
  background:transparent!important;
}
.tag-team-card-browser-panel{
  order:2!important;
  padding:14px!important;
  border:1px solid var(--line)!important;
  border-radius:16px!important;
  background:var(--panel)!important;
}
.tag-team-card-browser{max-height:620px!important}
.tag-team-partner-view{
  padding:14px!important;
  border:1px solid var(--line)!important;
  border-radius:16px!important;
  background:var(--panel)!important;
}
.tag-team-partner-view .tag-team-deck-grid{padding:0!important;margin-top:12px}

@media (max-width:1100px){
  .tag-team-page-workspace{grid-template-columns:220px minmax(0,1fr)!important}
  .tag-team-active-heading.deck-page-header{grid-template-columns:1fr!important}
}
@media (max-width:900px){
  .tag-team-page-workspace{grid-template-columns:1fr!important}
  .tag-team-room-sidebar{position:static!important;max-height:260px!important}
  .tag-team-room-actions.deck-page-actions{grid-template-columns:1fr 1fr!important}
  .tag-team-room-name-editor{grid-column:1/-1!important}
}

/* The previous phone pass over-corrected button heights. Restore comfortable top/bottom navigation and taps. */
@media (max-width:620px), (hover:none) and (pointer:coarse) and (max-device-width:620px){
  button,.button{min-height:40px!important;padding:6px 10px!important;font-size:.84rem!important;line-height:1.15!important}
  .icon-button,.social-icon-button{min-width:40px!important;min-height:40px!important;padding:5px!important}
  .topbar{height:62px!important}
  .results-toolbar{top:62px!important}
  .topbar>#filterToggle{width:42px!important;height:42px!important;flex-basis:42px!important}
  .mobile-header-tools-button{min-height:40px!important}
  .mobile-app-nav{min-height:68px!important}
  .mobile-app-nav button{min-height:58px!important;padding:7px 8px calc(7px + env(safe-area-inset-bottom))!important;font-size:.82rem!important}
  .mobile-app-nav button span{font-size:1.15rem!important}
  .header-actions #accountButton,.header-actions #deckToggle{min-height:38px!important}
  .card-actions button,
  #cardGrid .archive-deck-controls .add-to-deck-text,
  #favouritesPageGrid .archive-deck-controls .add-to-deck-text,
  .archive-deck-controls .remove-button,
  .archive-deck-controls .add-button:not(.add-to-deck-text),
  .deck-copy-number{min-height:34px!important;height:34px!important;padding:4px 6px!important;font-size:.74rem!important}
  .tag-team-deck-tabs .button{min-height:44px!important}
  .tag-team-active-heading.deck-page-header{padding:16px!important}
  .tag-team-room-actions.deck-page-actions{grid-template-columns:1fr!important}
  .tag-team-room-name-editor{grid-template-columns:1fr!important}
}

.tag-team-header-summary{grid-column:1/-1!important;justify-content:flex-start!important;margin:2px 0 0!important}
.tag-team-room-actions.deck-page-actions>.tag-team-header-summary+select{grid-column:1/2}

/* v1.8.16 — news, public-folder permissions, persistent sidebars, Tag-Team parity and larger touch controls. */
body.news-route .filters,
body.news-route #archivePage,
body.news-route #deckPage,
body.news-route #communityPage,
body.news-route #recentPage,
body.news-route #favouritesPage,
body.news-route #profilePage,
body.news-route #adminPage,
body.news-route #tagTeamPage,
body.news-route .sidebar-master-toggle{display:none!important}
.news-page{grid-column:1/-1!important;width:min(1380px,calc(100% - 32px));margin:0 auto;padding:28px 0 80px}
.news-page-header{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px;padding:24px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,var(--panel-2),var(--panel))}
.news-page-header h1{margin:.2rem 0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.4rem,6vw,5rem);line-height:.95}
.news-admin-composer{margin-bottom:18px;padding:20px;border:1px solid var(--line-bright);border-radius:16px;background:var(--panel)}
.news-composer-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(180px,1fr);gap:12px}
.news-feed{display:grid;gap:16px}
.news-card{padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--panel);box-shadow:0 12px 34px rgba(0,0,0,.12)}
.news-card.draft{border-style:dashed;opacity:.82}
.news-card h2{margin:.5rem 0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.5rem,3vw,2.35rem)}
.news-card-meta,.news-card footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;color:var(--muted)}
.news-card-meta{justify-content:flex-start}.news-summary{font-size:1.08rem;font-weight:700;color:var(--text)}
.news-highlights{display:grid;gap:8px;margin:16px 0;padding-left:22px}.news-highlights li::marker{color:var(--accent)}
.news-admin-actions{display:flex;gap:8px}
#newsButton.active{background:var(--accent)!important;color:var(--button-text,#160f08)!important;border-color:var(--accent)!important}

/* The card-filter rail now follows the right-side collection for the entire desktop page. */
@media (min-width:901px){
  body:not(.deck-route):not(.community-route):not(.recent-route):not(.favourites-route):not(.profile-route):not(.admin-route):not(.tag-team-route):not(.news-route):not(.desktop-filters-collapsed) #filtersPanel{
    position:fixed!important;left:0!important;top:72px!important;bottom:0!important;width:330px!important;height:auto!important;max-height:none!important;overflow-y:auto!important;z-index:45!important;overscroll-behavior:contain;
  }
  html.compact-header body:not(.deck-route):not(.community-route):not(.recent-route):not(.favourites-route):not(.profile-route):not(.admin-route):not(.tag-team-route):not(.news-route):not(.desktop-filters-collapsed) #filtersPanel{top:58px!important}
  body.tag-team-route .tag-team-room-sidebar{position:sticky!important;top:76px!important;align-self:start!important;max-height:calc(100vh - 88px)!important;overflow-y:auto!important;overscroll-behavior:contain}
}

/* Keep the legacy room renderer alive but display the complete deck-page parity renderer. */
body.tag-team-route #tagTeamOwnDeckView>.tag-team-builder-grid{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}
body.tag-team-route #tagTeamPartnerDeckView>.tag-team-panel-heading,
body.tag-team-route #tagTeamPartnerDeckView>#tagTeamPartnerDeckPreview{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important}
.tag-team-parity-builder{display:grid;gap:14px;min-width:0}
.tag-team-parity-header{max-width:none!important;margin:0!important}
.tag-team-parity-header .deck-page-actions{min-width:min(520px,100%)}
.tag-team-parity-filters{grid-template-columns:minmax(220px,1.6fr) repeat(5,minmax(145px,1fr))!important}
.tag-team-parity-filters>[data-tt-reset]{align-self:end}
.tag-team-parity-current{overflow:hidden}.tag-team-parity-current>.static{cursor:default}.tag-team-parity-current>[data-tt-grid]{padding:14px}
.tag-team-parity-builder.readonly .qty-controls{display:none!important}
.tag-team-parity-builder .mana-curve-scroll{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.tag-team-parity-builder .mana-curve{min-width:max-content}
.tag-team-parity-builder .mana-column{min-width:150px}
.tag-team-parity-builder .mana-column .deck-card{width:100%}
.tag-team-parity-builder .deck-card-image img{display:block;width:100%;height:auto}

/* Main archive add/remove controls are 30% larger without inflating unrelated controls. */
#cardGrid .card-actions,
#favouritesPageGrid .card-actions{gap:8px!important}
#cardGrid .card-actions .favourite,
#favouritesPageGrid .card-actions .favourite{min-width:48px!important;min-height:48px!important;font-size:1.15rem!important}
#cardGrid .archive-deck-controls .add-to-deck-text,
#favouritesPageGrid .archive-deck-controls .add-to-deck-text{min-height:48px!important;height:48px!important;padding:8px 15px!important;font-size:1.05rem!important}
#cardGrid .archive-deck-controls .remove-button,
#cardGrid .archive-deck-controls .add-button:not(.add-to-deck-text),
#cardGrid .archive-deck-controls .deck-copy-number,
#favouritesPageGrid .archive-deck-controls .remove-button,
#favouritesPageGrid .archive-deck-controls .add-button:not(.add-to-deck-text),
#favouritesPageGrid .archive-deck-controls .deck-copy-number{min-width:48px!important;min-height:48px!important;height:48px!important;font-size:1.12rem!important}

@media (max-width:1200px){.tag-team-parity-filters{grid-template-columns:repeat(3,minmax(150px,1fr))!important}}
@media (max-width:900px){
  .news-page{grid-column:1!important;width:calc(100% - 20px);padding-top:14px}.news-page-header{align-items:start;padding:18px}.news-composer-grid{grid-template-columns:1fr}
  .tag-team-parity-filters{grid-template-columns:repeat(2,minmax(0,1fr))!important}.tag-team-parity-header .deck-page-actions{min-width:0}
}

/* The requested 50% mobile enlargement: readable text, roomy controls, and large card actions. */
@media (max-width:620px), (hover:none) and (pointer:coarse) and (max-device-width:620px){
  html{font-size:18px!important}
  body{font-size:1rem!important}
  .topbar{height:78px!important;padding:8px 12px!important;gap:10px!important}
  .brand strong{font-size:1rem!important}.brand small{font-size:.68rem!important}
  .topbar>#filterToggle,.icon-button,.social-icon-button{width:54px!important;min-width:54px!important;height:54px!important;min-height:54px!important;font-size:1.15rem!important;padding:8px!important}
  button,.button{min-height:54px!important;padding:10px 14px!important;border-radius:10px!important;font-size:1rem!important;line-height:1.15!important}
  input,select,textarea{min-height:52px!important;font-size:1rem!important;padding:10px 12px!important}
  textarea{min-height:110px!important}
  .mobile-header-tools-button{min-height:54px!important;max-width:170px!important;font-size:.95rem!important}
  .mobile-header-tools-menu button{min-height:54px!important;font-size:1rem!important}
  .results-toolbar{top:78px!important;min-height:58px!important;padding:9px 12px!important}
  .mobile-app-nav{min-height:92px!important}
  .mobile-app-nav button{min-height:82px!important;padding:12px 10px calc(12px + env(safe-area-inset-bottom))!important;font-size:.96rem!important}
  .mobile-app-nav button span{font-size:1.45rem!important}.mobile-app-nav small{font-size:.8rem!important}
  .filters{padding:0 12px calc(100px + env(safe-area-inset-bottom))!important}
  .filter-header{min-height:68px!important;margin:0 -12px!important;padding:9px 12px!important}.filter-header h2{font-size:1.2rem!important}
  .search-field{top:76px!important;height:54px!important;min-height:54px!important;margin:9px 0!important}.search-field input{font-size:1rem!important}
  .filter-section>summary{min-height:50px!important;padding:10px 12px!important;font-size:.96rem!important}
  .filter-group-body{padding:10px!important}.category-button,.filter-chip{min-height:44px!important;padding:8px 11px!important;font-size:.9rem!important}
  .check-row{min-height:44px!important;font-size:.92rem!important}.check-row input[type="checkbox"]{width:24px!important;height:24px!important}
  .mana-step,.resistance-step,.stat-value-stepper button{min-width:44px!important;min-height:44px!important;font-size:1.1rem!important}
  #cardGrid .card-actions .favourite,#favouritesPageGrid .card-actions .favourite{min-width:58px!important;min-height:58px!important;font-size:1.35rem!important}
  #cardGrid .archive-deck-controls .add-to-deck-text,#favouritesPageGrid .archive-deck-controls .add-to-deck-text{min-height:58px!important;height:58px!important;font-size:1.13rem!important;padding:10px 16px!important}
  #cardGrid .archive-deck-controls .remove-button,#cardGrid .archive-deck-controls .add-button:not(.add-to-deck-text),#cardGrid .archive-deck-controls .deck-copy-number,
  #favouritesPageGrid .archive-deck-controls .remove-button,#favouritesPageGrid .archive-deck-controls .add-button:not(.add-to-deck-text),#favouritesPageGrid .archive-deck-controls .deck-copy-number{min-width:58px!important;min-height:58px!important;height:58px!important;font-size:1.25rem!important}
  .tag-team-parity-filters{grid-template-columns:1fr!important}.tag-team-parity-header{padding:18px!important}.tag-team-parity-builder .deck-command-bar{display:grid!important;grid-template-columns:1fr!important}
  .news-page{padding-bottom:110px}.news-card{padding:18px}.news-page-header{display:grid;grid-template-columns:1fr}
}


/* v1.8.17 — restore reliable one-finger scrolling on iPhone and Android. */
@media (max-width:900px), (hover:none) and (pointer:coarse) and (max-device-width:1200px){
  html{
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior-y:auto!important;
    touch-action:auto!important;
    -webkit-text-size-adjust:100%;
  }
  body{
    min-height:100dvh!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior-y:auto!important;
    touch-action:pan-y!important;
    -webkit-overflow-scrolling:touch;
  }
  body:not(.filters-open){
    position:static!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    width:auto!important;
    overflow-y:auto!important;
  }
  .app-shell,
  .main-content,
  #archivePage,
  .card-grid,
  .card-tile,
  .card-image-button,
  .card-body,
  .hero,
  .results-toolbar{
    touch-action:pan-y!important;
  }
  .card-image-button img,
  .deck-card-image img{
    pointer-events:none;
    -webkit-user-drag:none;
  }
  #filtersPanel:not(.open){
    pointer-events:none!important;
    visibility:hidden!important;
  }
  #filtersPanel.open{
    pointer-events:auto!important;
    visibility:visible!important;
    touch-action:pan-y!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .scrim[hidden]{display:none!important;pointer-events:none!important}
  .scrim:not([hidden]){pointer-events:auto!important}
  .mana-curve-scroll,
  .deck-library-list,
  .active-filters{
    touch-action:pan-x pan-y!important;
    -webkit-overflow-scrolling:touch;
  }
  dialog[open] .wide-dialog-content,
  dialog[open] .dialog-content,
  dialog[open] .account-dialog-content,
  dialog[open] .report-dialog-content{
    touch-action:pan-y!important;
    -webkit-overflow-scrolling:touch;
  }
}


/* v1.8.18 — readable mobile card controls, stable desktop header, news comparisons */
@media (min-width: 901px){
  .topbar{position:sticky!important;top:0!important;z-index:120!important;grid-column:1/-1!important;width:100%!important}
  .filters{position:sticky!important;top:var(--topbar-height,72px)!important;align-self:start!important;max-height:calc(100vh - var(--topbar-height,72px))!important}
}
#cardGrid .card-actions,#favouritesPageGrid .card-actions{display:flex!important;align-items:stretch!important;gap:10px!important;min-width:0!important}
#cardGrid .card-actions>.favourite,#favouritesPageGrid .card-actions>.favourite{position:relative!important;flex:0 0 56px!important;width:56px!important;max-width:56px!important;margin:0!important;z-index:1!important}
#cardGrid .card-actions>.archive-deck-controls,#favouritesPageGrid .card-actions>.archive-deck-controls{position:relative!important;display:grid!important;flex:1 1 auto!important;width:auto!important;min-width:0!important;margin:0!important;inset:auto!important;transform:none!important;z-index:1!important}
#cardGrid .archive-deck-controls.empty,#favouritesPageGrid .archive-deck-controls.empty{grid-template-columns:minmax(0,1fr)!important}
#cardGrid .archive-deck-controls .add-to-deck-text,#favouritesPageGrid .archive-deck-controls .add-to-deck-text{width:100%!important;min-width:0!important;white-space:normal!important;overflow:visible!important}
.messages-dropdown,#messagesDropdown{z-index:600!important;pointer-events:auto!important}
#quickMessageRecipient,#quickMessageText,#quickSendMessage{pointer-events:auto!important;position:relative!important;z-index:2!important;color:var(--text)!important;-webkit-text-fill-color:var(--text)!important}
.mobile-header-tools-menu,.black-select-menu{z-index:500!important;background:#100d0c!important;color:#fff!important}
.mobile-header-tools-menu button,.mobile-header-tools-menu a,.black-select-trigger,.black-select-option,select,option{color:#fff!important;-webkit-text-fill-color:#fff!important}
.black-select-trigger,.black-select-option,select{background-color:#080808!important;border-color:#6f4146!important}
.news-admin-actions{display:flex;flex-wrap:wrap;gap:8px}
.news-key-cards{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.news-key-cards>h3{font-family:Georgia,serif;font-size:1.55rem;margin:0 0 16px}
.news-key-card{padding:18px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--panel) 94%,black);margin-top:16px}
.news-key-card>header{display:flex;gap:12px;align-items:center;margin-bottom:14px}.news-key-card>header h3{margin:0}
.news-key-card-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.news-key-card-images figure{margin:0}.news-key-card-images figcaption{font-weight:800;margin-bottom:8px}.news-key-card-images img{display:block;width:100%;max-height:720px;object-fit:contain;background:#050505;border-radius:12px}
.news-key-card-changes>article{display:grid;grid-template-columns:minmax(100px,.35fr) repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:12px}
.news-key-card-changes p{white-space:normal;line-height:1.55;margin:4px 0 0}.news-key-card-changes span{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.negated-n{text-decoration:line-through!important;text-decoration-thickness:2px!important;text-decoration-color:currentColor!important}
@media (max-width:900px),(pointer:coarse){
  html{font-size:18px!important}
  .card-dialog{width:100vw!important;max-width:none!important;height:100dvh!important;max-height:none!important;margin:0!important;border-radius:0!important}
  .card-dialog .dialog-layout{display:block!important;height:auto!important;min-height:100%!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important}
  .card-dialog .dialog-image-wrap{display:flex!important;flex-direction:column!important;align-items:center!important;min-height:auto!important;padding:74px 14px 18px!important;overflow:visible!important}
  .card-dialog #dialogImage{width:min(100%,620px)!important;height:auto!important;max-height:none!important;object-fit:contain!important}
  .card-dialog .dialog-image-actions{position:static!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:min(100%,620px)!important;margin:14px auto 0!important;padding:10px!important;gap:10px!important;background:var(--panel)!important;backdrop-filter:none!important;border:1px solid var(--line)!important;border-radius:14px!important}
  .card-dialog .dialog-image-actions .button{min-height:56px!important;height:auto!important;padding:12px 10px!important;font-size:1rem!important;line-height:1.2!important;white-space:normal!important}
  .card-dialog .dialog-details{overflow:visible!important;padding:28px 18px 110px!important;font-size:1.08rem!important;line-height:1.65!important}
  .card-dialog .dialog-details h2{font-size:clamp(2rem,8vw,3rem)!important;line-height:1.05!important}
  .card-dialog .dialog-details h3{font-size:1.55rem!important}
  .card-dialog .rule-blocks,.card-dialog .rule-blocks p,.card-dialog .info-grid dd,.card-dialog .stats-list dd{font-size:1.08rem!important;line-height:1.65!important}
  .card-dialog .info-grid,.card-dialog .stats-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .card-dialog .info-grid>div,.card-dialog .stats-list>div{padding:12px!important;min-width:0!important}
  #cardGrid .card-actions,#favouritesPageGrid .card-actions{gap:10px!important}
  #cardGrid .card-actions>.favourite,#favouritesPageGrid .card-actions>.favourite{flex-basis:64px!important;width:64px!important;max-width:64px!important;min-height:60px!important;font-size:1.35rem!important}
  #cardGrid .archive-deck-controls .add-to-deck-text,#favouritesPageGrid .archive-deck-controls .add-to-deck-text{min-height:60px!important;height:auto!important;font-size:1.08rem!important;padding:12px!important}
  #cardGrid .archive-deck-controls.counted,#favouritesPageGrid .archive-deck-controls.counted{grid-template-columns:56px minmax(42px,1fr) 56px!important}
  #cardGrid .archive-deck-controls.counted>* ,#favouritesPageGrid .archive-deck-controls.counted>*{min-height:60px!important;height:60px!important;font-size:1.2rem!important}
  .mobile-header-tools-menu button,.mobile-header-tools-menu a,.black-select-trigger,.black-select-option,select,option{font-size:1.05rem!important;line-height:1.35!important}
  .mobile-header-tools-menu button,.black-select-option{min-height:52px!important;padding:12px 14px!important}
  .messages-dropdown{width:min(94vw,430px)!important;max-height:78dvh!important;overflow:auto!important}
  #quickMessageText{min-height:100px!important;font-size:1rem!important}
  #quickSendMessage{min-height:54px!important;font-size:1rem!important}
  .news-key-card-images{grid-template-columns:1fr!important}.news-key-card-changes>article{grid-template-columns:1fr!important}
}
@media (max-width:480px){
  .card-dialog .dialog-details{padding-inline:14px!important}.card-dialog .dialog-image-actions{grid-template-columns:1fr 1fr!important}
  .card-dialog .info-grid,.card-dialog .stats-list{grid-template-columns:1fr!important}
}


/* PFTCG v1.8.19 — fixed navigation, restored sidebar scrolling and stable card controls */
:root{--pftcg-fixed-topbar-height:72px}
.topbar{
  position:fixed!important;inset:0 0 auto 0!important;top:0!important;left:0!important;right:0!important;
  width:100%!important;height:var(--pftcg-fixed-topbar-height)!important;z-index:1000!important;
  transform:none!important;
}
.filters{
  position:fixed!important;left:0!important;top:var(--pftcg-fixed-topbar-height)!important;bottom:0!important;
  height:auto!important;max-height:none!important;overflow-x:hidden!important;overflow-y:auto!important;
  overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;scrollbar-gutter:stable;
}
body:not(.filters-open) .filters[hidden]{display:none!important}
.deck-library-panel,.tag-team-room-sidebar,.deck-panel,.deck-list{
  overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;
}
.results-toolbar{scroll-margin-top:calc(var(--pftcg-fixed-topbar-height) + 12px)!important}
html.compact-header .topbar,html.mobile-compact-header .topbar{height:var(--pftcg-fixed-topbar-height)!important}

/* Card names use one consistent display face in image and compact-detail modes. */
.card-body h2,.card-text-preview header strong,.detailed-card h2,.dialog-details h2{
  font-family:Georgia,"Times New Roman",serif!important;font-weight:700!important;
}

/* The full Add button is unchanged; only counted minus / quantity / plus controls are 10% smaller. */
#cardGrid .archive-deck-controls.counted,#favouritesPageGrid .archive-deck-controls.counted{
  display:grid!important;grid-template-columns:43px minmax(34px,43px) 43px!important;
  align-items:stretch!important;justify-content:start!important;gap:6px!important;width:max-content!important;max-width:100%!important;
}
#cardGrid .archive-deck-controls.counted .remove-button,
#cardGrid .archive-deck-controls.counted .add-button,
#cardGrid .archive-deck-controls.counted .deck-copy-number,
#favouritesPageGrid .archive-deck-controls.counted .remove-button,
#favouritesPageGrid .archive-deck-controls.counted .add-button,
#favouritesPageGrid .archive-deck-controls.counted .deck-copy-number{
  width:43px!important;min-width:0!important;height:43px!important;min-height:43px!important;padding:0!important;margin:0!important;
  display:grid!important;place-items:center!important;position:static!important;transform:none!important;line-height:1!important;
}
#cardGrid .archive-deck-controls.counted .deck-copy-number,#favouritesPageGrid .archive-deck-controls.counted .deck-copy-number{width:auto!important}
.card-actions,.archive-deck-controls,.archive-deck-controls *{transition:none!important;animation:none!important}
.card-tile[data-compact-busy="true"]{overflow-anchor:none!important}

/* Quick messages remain interactive inside the header and always show result text. */
#messagesDropdown{pointer-events:auto!important;overflow-y:auto!important;max-height:min(78vh,720px)!important}
#quickMessageRecipient,#quickMessageText,#quickSendMessage{pointer-events:auto!important}
.quick-message-status{min-height:1.25em;margin:2px 0 0;color:var(--muted);font-size:.82rem;line-height:1.25}
.quick-message-status[data-tone="working"]{color:var(--gold-bright)}
.quick-message-status[data-tone="saved"]{color:#9fdda8}
.quick-message-status[data-tone="error"]{color:#ffaaa2}

/* Rulebook is 20% smaller on desktop. */
@media (min-width:901px){
  .rulebook-dialog{width:min(992px,calc(100vw - 32px))!important;height:min(736px,calc(100dvh - 40px))!important;max-height:calc(100dvh - 40px)!important}
}

@media (max-width:900px),(pointer:coarse){
  :root{--pftcg-fixed-topbar-height:78px}
  .app-shell{display:block!important;padding-top:var(--pftcg-fixed-topbar-height)!important}
  .topbar{height:var(--pftcg-fixed-topbar-height)!important}
  .filters{
    top:0!important;bottom:0!important;height:100dvh!important;max-height:100dvh!important;
    overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;
  }
  .results-toolbar{top:var(--pftcg-fixed-topbar-height)!important}
  #cardGrid .archive-deck-controls.counted,#favouritesPageGrid .archive-deck-controls.counted{
    grid-template-columns:54px minmax(38px,54px) 54px!important;gap:6px!important;
  }
  #cardGrid .archive-deck-controls.counted .remove-button,
  #cardGrid .archive-deck-controls.counted .add-button,
  #cardGrid .archive-deck-controls.counted .deck-copy-number,
  #favouritesPageGrid .archive-deck-controls.counted .remove-button,
  #favouritesPageGrid .archive-deck-controls.counted .add-button,
  #favouritesPageGrid .archive-deck-controls.counted .deck-copy-number{
    width:54px!important;height:54px!important;min-height:54px!important;font-size:1.05rem!important;
  }
  #cardGrid .archive-deck-controls.counted .deck-copy-number,#favouritesPageGrid .archive-deck-controls.counted .deck-copy-number{width:auto!important}
}
@media (max-width:620px){:root{--pftcg-fixed-topbar-height:76px}}

/* v1.8.19 narrow-card collision safeguards. */
#cardGrid .card-actions:has(.archive-deck-controls.counted),
#favouritesPageGrid .card-actions:has(.archive-deck-controls.counted){
  display:grid!important;grid-template-columns:56px minmax(0,1fr)!important;align-items:stretch!important;gap:8px!important;
}
#cardGrid .card-actions:has(.archive-deck-controls.counted)>.archive-deck-controls.counted,
#favouritesPageGrid .card-actions:has(.archive-deck-controls.counted)>.archive-deck-controls.counted{
  width:100%!important;min-width:0!important;grid-template-columns:repeat(3,minmax(24px,43px))!important;justify-content:stretch!important;
}
#cardGrid .archive-deck-controls.counted .remove-button,
#cardGrid .archive-deck-controls.counted .add-button,
#cardGrid .archive-deck-controls.counted .deck-copy-number,
#favouritesPageGrid .archive-deck-controls.counted .remove-button,
#favouritesPageGrid .archive-deck-controls.counted .add-button,
#favouritesPageGrid .archive-deck-controls.counted .deck-copy-number{width:100%!important;max-width:43px!important}
@media (max-width:900px),(pointer:coarse){
  .filters{padding-top:calc(var(--pftcg-fixed-topbar-height) + 16px)!important;padding-bottom:calc(40px + env(safe-area-inset-bottom))!important}
  #cardGrid .card-actions:has(.archive-deck-controls.counted),
  #favouritesPageGrid .card-actions:has(.archive-deck-controls.counted){grid-template-columns:54px minmax(0,1fr)!important}
  #cardGrid .card-actions:has(.archive-deck-controls.counted)>.archive-deck-controls.counted,
  #favouritesPageGrid .card-actions:has(.archive-deck-controls.counted)>.archive-deck-controls.counted{
    grid-column:1/-1!important;width:100%!important;grid-template-columns:repeat(3,minmax(34px,54px))!important;justify-content:start!important;
  }
  #cardGrid .archive-deck-controls.counted .remove-button,
  #cardGrid .archive-deck-controls.counted .add-button,
  #cardGrid .archive-deck-controls.counted .deck-copy-number,
  #favouritesPageGrid .archive-deck-controls.counted .remove-button,
  #favouritesPageGrid .archive-deck-controls.counted .add-button,
  #favouritesPageGrid .archive-deck-controls.counted .deck-copy-number{width:100%!important;max-width:54px!important}
}

/* PFTCG v1.8.20 — verified fixed navigation, independent filter scrolling, stable archive controls, original Tag-Team editor and viewport-sized rulebook. */
@media (min-width:901px){
  :root{--pftcg-filter-width:330px}
  body:not(.deck-route):not(.community-route):not(.recent-route):not(.favourites-route):not(.profile-route):not(.admin-route):not(.tag-team-route):not(.news-route):not(.desktop-filters-collapsed) .app-shell{grid-template-columns:var(--pftcg-filter-width) minmax(0,1fr)!important}
  .topbar{position:fixed!important;top:0!important;left:0!important;right:0!important;z-index:1000!important;transform:translateZ(0)!important;backface-visibility:hidden!important;will-change:transform!important}
  #filtersPanel.filters:not([hidden]){
    position:fixed!important;left:0!important;right:auto!important;top:var(--pftcg-fixed-topbar-height,72px)!important;bottom:auto!important;
    width:var(--pftcg-filter-width)!important;height:calc(100dvh - var(--pftcg-fixed-topbar-height,72px))!important;max-height:calc(100dvh - var(--pftcg-fixed-topbar-height,72px))!important;min-height:0!important;
    box-sizing:border-box!important;z-index:80!important;contain:none!important;pointer-events:auto!important;touch-action:auto!important;
    overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior-y:contain!important;scroll-behavior:auto!important;
    scrollbar-gutter:stable both-edges!important;scrollbar-width:auto!important;scrollbar-color:var(--line-bright) var(--panel)!important;
  }
  #filtersPanel.filters:not([hidden])::-webkit-scrollbar{width:13px!important}
  #filtersPanel.filters:not([hidden])::-webkit-scrollbar-thumb{background:var(--line-bright)!important;border:3px solid var(--panel)!important;border-radius:999px!important}
  #filtersPanel.filters:not([hidden])::-webkit-scrollbar-track{background:var(--panel)!important}
  #filtersPanel.filters:not([hidden])>.filter-search-sticky{position:sticky!important;top:0!important;z-index:31!important}
  body.tag-team-route .tag-team-page-workspace{grid-template-columns:330px minmax(0,1fr)!important;align-items:start!important}
  body.tag-team-route .tag-team-room-sidebar{position:sticky!important;top:calc(var(--pftcg-fixed-topbar-height,72px) + 12px)!important;max-height:calc(100dvh - var(--pftcg-fixed-topbar-height,72px) - 24px)!important;overflow-y:auto!important;overflow-x:hidden!important}
}

/* Archive action updates stay inside a fixed footprint and no longer rebuild the card tile. */
#cardGrid .card-tile,#favouritesPageGrid .card-tile{transform:none!important;transition:border-color .16s ease,box-shadow .16s ease!important;overflow-anchor:none!important}
#cardGrid .card-tile:hover,#favouritesPageGrid .card-tile:hover{transform:none!important}
#cardGrid .card-actions,#favouritesPageGrid .card-actions{
  display:grid!important;grid-template-columns:50px minmax(0,1fr)!important;align-items:stretch!important;gap:8px!important;
  height:44px!important;min-height:44px!important;max-height:44px!important;overflow:visible!important;box-sizing:border-box!important;contain:layout!important;
}
#cardGrid .card-actions>.favourite,#favouritesPageGrid .card-actions>.favourite{position:static!important;width:50px!important;min-width:50px!important;max-width:50px!important;height:44px!important;min-height:44px!important;padding:0!important;margin:0!important;transform:none!important}
#cardGrid .card-actions>.archive-deck-controls,#favouritesPageGrid .card-actions>.archive-deck-controls{grid-column:2!important;display:grid!important;width:100%!important;min-width:0!important;height:44px!important;min-height:44px!important;margin:0!important;align-items:center!important;transform:none!important;contain:layout!important}
#cardGrid .archive-deck-controls.empty,#favouritesPageGrid .archive-deck-controls.empty{grid-template-columns:minmax(0,1fr)!important}
#cardGrid .archive-deck-controls.empty .add-to-deck-text,#favouritesPageGrid .archive-deck-controls.empty .add-to-deck-text{width:100%!important;height:44px!important;min-height:44px!important;margin:0!important;padding:6px 10px!important}
#cardGrid .archive-deck-controls.counted,#favouritesPageGrid .archive-deck-controls.counted{grid-template-columns:repeat(3,minmax(28px,39px))!important;justify-content:start!important;gap:5px!important;width:100%!important}
#cardGrid .archive-deck-controls.counted .remove-button,#cardGrid .archive-deck-controls.counted .add-button,#cardGrid .archive-deck-controls.counted .deck-copy-number,
#favouritesPageGrid .archive-deck-controls.counted .remove-button,#favouritesPageGrid .archive-deck-controls.counted .add-button,#favouritesPageGrid .archive-deck-controls.counted .deck-copy-number{
  width:100%!important;min-width:0!important;max-width:39px!important;height:39px!important;min-height:39px!important;max-height:39px!important;padding:0!important;margin:0!important;line-height:1!important;transition:none!important;animation:none!important;transform:none!important;
}

/* The live room uses the actual Normal deck editor instead of a duplicate builder. */
body.tag-team-route .tag-team-original-deck-editor{display:grid!important;gap:14px!important;width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important}
body.tag-team-route #tagTeamOwnDeckView>.tag-team-builder-grid,body.tag-team-route #tagTeamParityBuilder,body.tag-team-route #tagTeamPartnerParityBuilder{display:none!important}
body.tag-team-route #tagTeamOwnDeckView{display:block!important;min-width:0!important}
body.tag-team-route #tagTeamOwnDeckView[hidden]{display:none!important}
body.tag-team-route .tag-team-original-deck-editor>.deck-page-header,body.tag-team-route .tag-team-original-deck-editor>.deck-command-bar,body.tag-team-route .tag-team-original-deck-editor>.deck-filter-bar,body.tag-team-route .tag-team-original-deck-editor>.current-deck-collapsible{width:100%!important;max-width:none!important}
body.tag-team-route .tag-team-original-deck-editor>.deck-page-header{margin:0!important}
body.tag-team-route .tag-team-original-deck-editor #deckModeToolbar{display:none!important}
body.tag-team-route .tag-team-room-stage{overflow:visible!important}
body.tag-team-route #tagTeamPartnerDeckView>.tag-team-panel-heading,body.tag-team-route #tagTeamPartnerDeckView>#tagTeamPartnerDeckPreview{position:static!important;width:auto!important;height:auto!important;overflow:visible!important;clip:auto!important;clip-path:none!important;white-space:normal!important}
body.tag-team-route #tagTeamPartnerDeckView{display:block!important;min-width:0!important}
body.tag-team-route #tagTeamPartnerDeckView[hidden]{display:none!important}

/* Rulebook always follows the current viewport and is exactly 20% smaller. */
.rulebook-dialog{width:80vw!important;height:80vh!important;width:80dvw!important;height:80dvh!important;max-width:80dvw!important;max-height:80dvh!important;min-width:0!important;min-height:0!important;margin:auto!important;border-radius:16px!important}
.rulebook-dialog .wide-dialog-content{height:100%!important;max-height:100%!important;min-height:0!important}
#rulebookFrame{min-height:0!important}

@media (max-width:900px),(pointer:coarse){
  #cardGrid .card-actions,#favouritesPageGrid .card-actions{grid-template-columns:52px minmax(0,1fr)!important;height:50px!important;min-height:50px!important;max-height:50px!important}
  #cardGrid .card-actions>.favourite,#favouritesPageGrid .card-actions>.favourite{width:52px!important;min-width:52px!important;max-width:52px!important;height:50px!important;min-height:50px!important}
  #cardGrid .card-actions>.archive-deck-controls,#favouritesPageGrid .card-actions>.archive-deck-controls{height:50px!important;min-height:50px!important}
  #cardGrid .archive-deck-controls.empty .add-to-deck-text,#favouritesPageGrid .archive-deck-controls.empty .add-to-deck-text{height:50px!important;min-height:50px!important;padding:8px 10px!important}
  #cardGrid .archive-deck-controls.counted,#favouritesPageGrid .archive-deck-controls.counted{grid-template-columns:repeat(3,minmax(28px,49px))!important;gap:5px!important;grid-column:2!important}
  #cardGrid .archive-deck-controls.counted .remove-button,#cardGrid .archive-deck-controls.counted .add-button,#cardGrid .archive-deck-controls.counted .deck-copy-number,
  #favouritesPageGrid .archive-deck-controls.counted .remove-button,#favouritesPageGrid .archive-deck-controls.counted .add-button,#favouritesPageGrid .archive-deck-controls.counted .deck-copy-number{width:100%!important;min-width:0!important;max-width:49px!important;height:49px!important;min-height:49px!important;max-height:49px!important}
  body.tag-team-route .tag-team-original-deck-editor .deck-page-header{padding:16px!important}
  body.tag-team-route .tag-team-original-deck-editor .deck-command-bar{grid-template-columns:1fr!important}
  .rulebook-dialog{width:80dvw!important;height:80dvh!important;max-width:80dvw!important;max-height:80dvh!important;border-radius:14px!important}
}

/* Override the older counted-control collision rule with the smaller stable row. */
#cardGrid .card-actions:has(.archive-deck-controls.counted),#favouritesPageGrid .card-actions:has(.archive-deck-controls.counted){grid-template-columns:50px minmax(0,1fr)!important;height:44px!important;min-height:44px!important;max-height:44px!important}
#cardGrid .card-actions:has(.archive-deck-controls.counted)>.archive-deck-controls.counted,#favouritesPageGrid .card-actions:has(.archive-deck-controls.counted)>.archive-deck-controls.counted{grid-column:2!important;width:100%!important;grid-template-columns:repeat(3,minmax(28px,39px))!important;justify-content:start!important}
@media (max-width:900px),(pointer:coarse){
  #cardGrid .card-actions:has(.archive-deck-controls.counted),#favouritesPageGrid .card-actions:has(.archive-deck-controls.counted){grid-template-columns:52px minmax(0,1fr)!important;height:50px!important;min-height:50px!important;max-height:50px!important}
  #cardGrid .card-actions:has(.archive-deck-controls.counted)>.archive-deck-controls.counted,#favouritesPageGrid .card-actions:has(.archive-deck-controls.counted)>.archive-deck-controls.counted{grid-column:2!important;width:100%!important;grid-template-columns:repeat(3,minmax(28px,49px))!important;justify-content:start!important}
}

/* PFTCG v1.8.28 — clean desktop shell and Cards sidebar.
   This replaces the v1.8.24–v1.8.27 sidebar patches with one native scroll owner.
   No JavaScript intercepts wheel/touch events or restores scrollTop. */
:root{
  --pftcg-shell-topbar:72px;
  --pftcg-shell-sidebar:330px;
  --pftcg-fixed-topbar-height:72px;
  --pftcg-filter-width:330px;
}

/* Preserve the fixed top bar introduced before the sidebar repair. */
.topbar{position:fixed!important;top:0!important;left:0!important;right:0!important;width:100%!important;z-index:2000!important}
.app-shell{width:100%!important;max-width:none!important;min-width:0!important}

@media (min-width:901px){
  /* Only the Cards route reserves a sidebar column. */
  body:not(.deck-route):not(.community-route):not(.recent-route):not(.favourites-route):not(.profile-route):not(.admin-route):not(.tag-team-route):not(.news-route):not(.desktop-filters-collapsed) .app-shell,
  body[data-pftcg-route="cards"]:not(.desktop-filters-collapsed) .app-shell{
    display:grid!important;
    grid-template-columns:var(--pftcg-shell-sidebar) minmax(0,1fr)!important;
    grid-template-rows:var(--pftcg-shell-topbar) minmax(0,1fr)!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }

  /* The aside itself is the sole scroll container. */
  body:not(.deck-route):not(.community-route):not(.recent-route):not(.favourites-route):not(.profile-route):not(.admin-route):not(.tag-team-route):not(.news-route):not(.desktop-filters-collapsed) #filtersPanel.filters:not([hidden]),
  body[data-pftcg-route="cards"]:not(.desktop-filters-collapsed) #filtersPanel.filters:not([hidden]){
    display:block!important;
    grid-column:auto!important;
    grid-row:auto!important;
    position:fixed!important;
    inset:var(--pftcg-shell-topbar) auto auto 0!important;
    width:var(--pftcg-shell-sidebar)!important;
    height:calc(100dvh - var(--pftcg-shell-topbar))!important;
    min-height:0!important;
    max-height:calc(100dvh - var(--pftcg-shell-topbar))!important;
    align-self:auto!important;
    justify-self:auto!important;
    box-sizing:border-box!important;
    padding:24px 20px 40px!important;
    overflow-x:hidden!important;
    overflow-y:scroll!important;
    overscroll-behavior-y:contain!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-y!important;
    pointer-events:auto!important;
    contain:none!important;
    scrollbar-gutter:stable!important;
    scrollbar-width:auto!important;
    scrollbar-color:var(--gold,#d7ad62) var(--panel,#181410)!important;
    z-index:40!important;
  }

  body:not(.deck-route):not(.community-route):not(.recent-route):not(.favourites-route):not(.profile-route):not(.admin-route):not(.tag-team-route):not(.news-route):not(.desktop-filters-collapsed) #filtersPanel.filters:not([hidden])::-webkit-scrollbar,
  body[data-pftcg-route="cards"]:not(.desktop-filters-collapsed) #filtersPanel.filters:not([hidden])::-webkit-scrollbar{
    display:block!important;
    width:14px!important;
    height:14px!important;
  }
  body:not(.deck-route):not(.community-route):not(.recent-route):not(.favourites-route):not(.profile-route):not(.admin-route):not(.tag-team-route):not(.news-route):not(.desktop-filters-collapsed) #filtersPanel.filters:not([hidden])::-webkit-scrollbar-track,
  body[data-pftcg-route="cards"]:not(.desktop-filters-collapsed) #filtersPanel.filters:not([hidden])::-webkit-scrollbar-track{
    background:var(--panel,#181410)!important;
    border-left:1px solid var(--line,#3c3023)!important;
  }
  body:not(.deck-route):not(.community-route):not(.recent-route):not(.favourites-route):not(.profile-route):not(.admin-route):not(.tag-team-route):not(.news-route):not(.desktop-filters-collapsed) #filtersPanel.filters:not([hidden])::-webkit-scrollbar-thumb,
  body[data-pftcg-route="cards"]:not(.desktop-filters-collapsed) #filtersPanel.filters:not([hidden])::-webkit-scrollbar-thumb{
    min-height:48px!important;
    background:var(--gold,#d7ad62)!important;
    border:3px solid var(--panel,#181410)!important;
    border-radius:999px!important;
  }
  body:not(.deck-route):not(.community-route):not(.recent-route):not(.favourites-route):not(.profile-route):not(.admin-route):not(.tag-team-route):not(.news-route):not(.desktop-filters-collapsed) #filtersPanel.filters:not([hidden])::-webkit-scrollbar-thumb:hover,
  body[data-pftcg-route="cards"]:not(.desktop-filters-collapsed) #filtersPanel.filters:not([hidden])::-webkit-scrollbar-thumb:hover{
    background:var(--gold-bright,#f0cf8c)!important;
  }

  body.desktop-filters-collapsed #filtersPanel.filters{
    display:none!important;
  }
  body.desktop-filters-collapsed .app-shell{
    grid-template-columns:minmax(0,1fr)!important;
  }
  body.desktop-filters-collapsed #archivePage{
    grid-column:1!important;
    width:100%!important;
    max-width:none!important;
  }

  /* Preserve the existing full-width layout for every dedicated page. */
  body.deck-route .app-shell,
  body.community-route .app-shell,
  body.recent-route .app-shell,
  body.favourites-route .app-shell,
  body.profile-route .app-shell,
  body.admin-route .app-shell,
  body.tag-team-route .app-shell,
  body.news-route .app-shell,
  body[data-pftcg-route="deck"] .app-shell,
  body[data-pftcg-route="community"] .app-shell,
  body[data-pftcg-route="recent"] .app-shell,
  body[data-pftcg-route="favourites"] .app-shell,
  body[data-pftcg-route="profile"] .app-shell,
  body[data-pftcg-route="admin"] .app-shell,
  body[data-pftcg-route="tag-team"] .app-shell,
  body[data-pftcg-route="news"] .app-shell{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:var(--pftcg-shell-topbar) minmax(0,1fr)!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }

  body.deck-route #filtersPanel,body.community-route #filtersPanel,body.recent-route #filtersPanel,
  body.favourites-route #filtersPanel,body.profile-route #filtersPanel,body.admin-route #filtersPanel,
  body.tag-team-route #filtersPanel,body.news-route #filtersPanel,
  body.deck-route .sidebar-master-toggle,body.community-route .sidebar-master-toggle,body.recent-route .sidebar-master-toggle,
  body.favourites-route .sidebar-master-toggle,body.profile-route .sidebar-master-toggle,body.admin-route .sidebar-master-toggle,
  body.tag-team-route .sidebar-master-toggle,body.news-route .sidebar-master-toggle{
    display:none!important;
  }

  body.deck-route #deckPage,
  body.community-route #communityPage,
  body.recent-route #recentPage,
  body.favourites-route #favouritesPage,
  body.profile-route #profilePage,
  body.admin-route #adminPage,
  body.tag-team-route #tagTeamPage,
  body.news-route #newsPage,
  body[data-pftcg-route="deck"] #deckPage,
  body[data-pftcg-route="community"] #communityPage,
  body[data-pftcg-route="recent"] #recentPage,
  body[data-pftcg-route="favourites"] #favouritesPage,
  body[data-pftcg-route="profile"] #profilePage,
  body[data-pftcg-route="admin"] #adminPage,
  body[data-pftcg-route="tag-team"] #tagTeamPage,
  body[data-pftcg-route="news"] #newsPage{
    grid-column:1!important;
    grid-row:2!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
  }

  .topbar{
    grid-column:1/-1!important;
    grid-row:1!important;
    width:100%!important;
  }
}


/* Preserve the existing Tag-Team room layout exactly. */
body[data-pftcg-route="tag-team"] .tag-team-page{width:100%!important;max-width:none!important}
body[data-pftcg-route="tag-team"] .tag-team-mode-toolbar,
body[data-pftcg-route="tag-team"] .tag-team-page-header,
body[data-pftcg-route="tag-team"] .tag-team-page-workspace{width:min(1800px,100%)!important;max-width:1800px!important;margin-left:auto!important;margin-right:auto!important}
body[data-pftcg-route="tag-team"] .tag-team-page-workspace{grid-template-columns:minmax(250px,310px) minmax(0,1fr)!important;align-items:start!important}
body[data-pftcg-route="tag-team"] .tag-team-room-stage,
body[data-pftcg-route="tag-team"] #tagTeamRoomActive,
body[data-pftcg-route="tag-team"] #tagTeamOwnDeckView{min-width:0!important;width:100%!important;max-width:none!important}
body[data-pftcg-route="tag-team"] #tagTeamOwnDeckView>.tag-team-builder-grid{display:none!important}
body[data-pftcg-route="tag-team"] .tag-team-original-deck-editor{
  display:grid!important;gap:14px!important;width:100%!important;min-width:0!important;max-width:none!important;
  margin:0!important;padding:0!important;border:0!important;background:transparent!important
}
body[data-pftcg-route="tag-team"] .tag-team-original-deck-editor>*{min-width:0!important;width:100%!important;max-width:none!important}
body[data-pftcg-route="tag-team"] .tag-team-original-deck-editor #deckModeToolbar,
body[data-pftcg-route="tag-team"] .tag-team-original-deck-editor #duplicateToTagTeam{display:none!important}
body[data-pftcg-route="tag-team"] .tag-team-room-sidebar{max-height:calc(100dvh - var(--pftcg-fixed-topbar-height) - 24px)!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important}

.revision-initial-print{display:grid;place-items:center;margin-top:14px}
.revision-initial-print figure{width:min(520px,100%);margin:0}
.revision-initial-print img{display:block;width:100%;height:auto;border-radius:12px}
.initial-print-record .revision-summary{margin-top:16px}

@media (max-width:900px){
  .app-shell{display:block!important;width:100%!important;max-width:none!important;min-width:0!important}
  #profilePage,#deckPage,#communityPage,#recentPage,#favouritesPage,#adminPage,#tagTeamPage,#newsPage{width:100%!important;max-width:none!important;min-width:0!important;margin-left:0!important;margin-right:0!important}
  body[data-pftcg-route="tag-team"] .tag-team-page-workspace{grid-template-columns:1fr!important}
  body[data-pftcg-route="tag-team"] .tag-team-room-sidebar{position:static!important;max-height:300px!important}
}

/* Preserve v1.8.23 Deck-page flow exactly. */
body.deck-route .deck-library-panel,
body[data-pftcg-route="deck"] .deck-library-panel{
  position:static!important;
  inset:auto!important;
  top:auto!important;
  bottom:auto!important;
  align-self:start!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  overscroll-behavior:auto!important;
  scrollbar-gutter:auto!important;
}
body.deck-route .deck-library-list,
body[data-pftcg-route="deck"] .deck-library-list{
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}

/* Preserve the existing enlarged Rulebook size. */
.rulebook-dialog{height:calc(100dvh - 8px)!important;max-height:calc(100dvh - 8px)!important}
