.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;
}
.deck-hero, .editor-heading, .deck-detail-hero {
  display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2rem;
}
.deck-hero > div > p:last-child, .editor-heading > div > p:last-child,
.deck-detail-hero > div > p:last-child {
  max-width: 46rem; color: var(--ink-soft); line-height: 1.65; margin-bottom: 0;
}
.deck-section { margin-top: 2.5rem; }
.deck-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.deck-tile {
  min-height: 15rem; display: flex; flex-direction: column; justify-content: space-between;
  padding: 1.2rem; border-radius: 1rem; background: rgba(255, 253, 248, .82);
  border: 1px solid var(--line); text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.deck-tile:hover { transform: translateY(-3px); border-color: rgba(201, 104, 53, .5); box-shadow: var(--shadow); }
.deck-tile h3 { font-size: 1.35rem; }
.deck-tile p { color: var(--ink-soft); font-size: .84rem; line-height: 1.55; }
.deck-tile-top, .deck-tile footer { display: flex; justify-content: space-between; align-items: center; gap: .7rem; }
.deck-tile-top > span:last-child, .deck-tile footer span { font-size: .7rem; color: var(--ink-soft); }
.deck-tile footer { padding-top: .8rem; border-top: 1px solid var(--line); }
.deck-tile footer strong { font-size: .82rem; }
.deck-status { display: inline-flex; padding: .3rem .55rem; border-radius: 99px; font-size: .68rem; font-weight: 800; background: #e9e5db; color: var(--ink-soft); }
.deck-status-active { background: #ddecdf; color: #1d674c; }
.deck-status-archived { background: #e6e5e2; color: #646d69; }
.deck-status-draft { background: #f5e5d7; color: #9a4d25; }
.compact-empty { display: flex; align-items: center; gap: 1.2rem; padding: 1.3rem; }
.compact-empty .empty-emblem { flex: 0 0 4rem; margin: 0; }
.compact-empty > div { flex: 1; }
.compact-empty p { margin: 0; color: var(--ink-soft); }
.editor-layout { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(18rem, .65fr); gap: 1.25rem; align-items: start; }
.deck-editor-form { box-shadow: none; }
.editor-meta-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.commander-picker, .decklist-input { padding: 1.25rem 0; border-top: 1px solid var(--line); }
.commander-step { display: flex; align-items: center; gap: .75rem; margin-bottom: 1rem; }
.commander-step > span { display: grid; place-items: center; flex: 0 0 2rem; height: 2rem; border-radius: 50%; background: var(--fir); color: var(--gold); font-weight: 850; }
.commander-step > div { display: flex; flex-direction: column; gap: .12rem; }
.commander-step small { color: var(--ink-soft); }
.commander-field { position: relative; margin-bottom: 0; }
.commander-results { position: absolute; z-index: 20; top: 100%; left: 0; right: 0; max-height: 22rem; overflow: auto; background: var(--paper); border: 1px solid var(--line); border-radius: .8rem; box-shadow: var(--shadow); }
.commander-result { width: 100%; display: grid; grid-template-columns: 2.4rem 1fr; gap: .7rem; align-items: center; padding: .55rem; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--ink); text-align: left; cursor: pointer; }
.commander-result:hover, .commander-result:focus { background: rgba(201, 104, 53, .08); }
.commander-result img { width: 2.4rem; height: 3.35rem; object-fit: cover; border-radius: .2rem; }
.commander-result > span { display: flex; flex-direction: column; gap: .15rem; }
.commander-result small, .commander-result-empty { color: var(--ink-soft); font-size: .7rem; }
.commander-result-empty { padding: 1rem; margin: 0; }
.decklist-label-row { display: flex; justify-content: space-between; align-items: start; gap: 1rem; }
.text-button { border: 0; background: transparent; color: var(--copper); font-weight: 750; cursor: pointer; padding: .35rem; }
.decklist-input textarea { font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; line-height: 1.65; min-height: 27rem; }
.editor-actions { display: flex; align-items: center; gap: 1rem; }
.editor-actions span { font-size: .72rem; color: var(--ink-soft); }
.validation-panel { position: sticky; top: 6.5rem; padding: 1.25rem; border: 1px solid var(--line); border-radius: 1rem; background: var(--fir); color: white; box-shadow: 0 20px 50px rgba(10, 34, 28, .18); }
.validation-panel .eyebrow { color: var(--gold); }
.validation-summary { display: flex; align-items: center; gap: .8rem; padding: 1rem; margin: 1rem 0; border-radius: .8rem; background: rgba(255, 255, 255, .08); }
.validation-summary > span { display: grid; place-items: center; flex: 0 0 2.2rem; height: 2.2rem; border-radius: 50%; font-weight: 900; }
.validation-summary > div { display: flex; flex-direction: column; gap: .15rem; }
.validation-summary small, .validation-list small { color: #c7dad3; }
.validation-ready > span { background: #4d9d79; }
.validation-failed > span { background: #bb5c43; }
.validation-pending > span { background: rgba(230, 185, 87, .2); color: var(--gold); }
.validation-list { list-style: none; margin: 0 0 1rem; padding: 0; max-height: 18rem; overflow: auto; }
.validation-list li { display: grid; grid-template-columns: 1.4rem 1fr; gap: .5rem; padding: .65rem 0; border-bottom: 1px solid rgba(255, 255, 255, .1); }
.validation-list li > span { color: #ffad98; font-weight: 900; }
.validation-list li > div { display: flex; flex-direction: column; gap: .15rem; }
.validation-list small { line-height: 1.4; }
.validation-warning-heading { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-top: 1rem; color: #f2cf82; font-size: .72rem; }
.validation-warning-heading small { color: #c7dad3; }
.validation-warning-list li > span { color: var(--gold); }
.rule-checklist { display: grid; gap: .45rem; margin: 1rem 0; }
.rule-checklist span { font-size: .73rem; color: #d5e4df; }
.rule-checklist span::before { content: "✓"; color: var(--gold); margin-right: .5rem; }
.deck-owner-line { display: flex; align-items: center; gap: .7rem; margin-bottom: 1rem; color: var(--ink-soft); font-size: .78rem; }
.deck-fact-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin-bottom: 2.5rem; }
.deck-fact-grid article { padding: 1.1rem; border: 1px solid var(--line); border-radius: .9rem; background: rgba(255, 253, 248, .78); }
.deck-fact-grid span, .deck-fact-grid strong, .deck-fact-grid small { display: block; }
.deck-fact-grid span, .deck-fact-grid small { font-size: .7rem; color: var(--ink-soft); }
.deck-fact-grid strong { font-size: 1.45rem; margin: .25rem 0; }
.deck-detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(16rem, .3fr); gap: 1.25rem; align-items: start; }
.deck-table-wrap { overflow: auto; border: 1px solid var(--line); border-radius: 1rem; background: rgba(255, 253, 248, .72); }
.deck-table { width: 100%; border-collapse: collapse; min-width: 48rem; }
.deck-table th, .deck-table td { padding: .75rem .85rem; text-align: left; border-bottom: 1px solid var(--line); font-size: .76rem; }
.deck-table th { color: var(--ink-soft); font-size: .66rem; text-transform: uppercase; letter-spacing: .05em; }
.deck-table td:nth-child(1), .deck-table td:nth-child(5) { font-variant-numeric: tabular-nums; white-space: nowrap; }
.deck-table td:nth-child(3) { color: var(--ink-soft); }
.deck-table a { font-weight: 750; color: var(--ink); }
.deck-table tr:last-child td { border-bottom: 0; }
.commander-row { background: rgba(201, 104, 53, .07); }
.table-badge { display: inline-block; margin-left: .45rem; padding: .2rem .4rem; border-radius: 99px; background: var(--fir); color: var(--gold); font-size: .58rem; }
.deck-side-column { display: grid; gap: 1rem; }
.commander-card-panel { overflow: hidden; border-radius: 1rem; background: var(--fir); color: white; }
.commander-card-panel img { display: block; width: 100%; height: auto; }
.commander-card-panel > div { padding: 1rem; }
.commander-card-panel .eyebrow { color: var(--gold); }
.commander-card-panel p:last-child { color: #c6d9d2; font-size: .75rem; }
.type-breakdown > div { display: flex; justify-content: space-between; padding: .65rem 0; border-bottom: 1px solid var(--line); font-size: .8rem; }
.type-breakdown > div:last-child { border-bottom: 0; }
.card-builder { padding: 1.25rem 0; border-top: 1px solid var(--line); }
.builder-heading { display: flex; justify-content: space-between; align-items: start; gap: 1rem; }
.builder-controls { display: flex; align-items: center; gap: .5rem; }
.builder-controls select { min-height: 2.3rem; border: 1px solid var(--line); border-radius: .55rem; background: var(--paper); color: var(--ink); padding: .35rem .55rem; }
.builder-search-field { position: relative; }
.card-builder-results { position: absolute; z-index: 18; top: 100%; left: 0; right: 0; max-height: 28rem; overflow: auto; border: 1px solid var(--line); border-radius: .8rem; background: var(--paper); box-shadow: var(--shadow); }
.builder-result-card { display: grid; grid-template-columns: 3.5rem minmax(0, 1fr) auto; gap: .8rem; align-items: center; padding: .7rem; border-bottom: 1px solid var(--line); }
.builder-result-card > img { width: 3.5rem; height: 4.9rem; border-radius: .25rem; object-fit: cover; }
.builder-result-card > div { min-width: 0; display: flex; flex-direction: column; gap: .18rem; }
.builder-result-card small { color: var(--ink-soft); font-size: .69rem; }
.builder-result-card p { max-width: 48rem; margin: .3rem 0 0; color: var(--ink-soft); font-size: .7rem; line-height: 1.4; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.builder-result-notice { margin: 0; padding: .9rem; color: var(--ink-soft); font-size: .78rem; }
.builder-result-notice.is-error { color: var(--danger); }
.builder-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: .55rem; margin: 1rem 0; }
.builder-metrics > div { padding: .75rem; border: 1px solid var(--line); border-radius: .7rem; background: rgba(255, 253, 248, .66); }
.builder-metrics span, .builder-metrics strong, .builder-metrics small { display: block; }
.builder-metrics span, .builder-metrics small { color: var(--ink-soft); font-size: .62rem; }
.builder-metrics strong { margin: .2rem 0; font-size: 1rem; }
.builder-card-list { display: grid; gap: .4rem; max-height: 38rem; overflow: auto; }
.builder-card { display: grid; grid-template-columns: 2.4rem minmax(0, 1fr) minmax(11rem, .55fr) 8.5rem; gap: .65rem; align-items: center; padding: .55rem; border: 1px solid var(--line); border-radius: .7rem; background: rgba(255, 253, 248, .55); }
.builder-card.is-commander { border-color: rgba(201, 104, 53, .5); background: rgba(201, 104, 53, .07); }
.builder-card-image img, .builder-card-image span { display: grid; place-items: center; width: 2.4rem; height: 3.35rem; object-fit: cover; border-radius: .2rem; background: var(--fir); color: var(--gold); font-size: .65rem; }
.builder-card-copy { min-width: 0; }
.builder-card-copy > div { display: flex; align-items: center; gap: .4rem; }
.builder-card-copy > div > span { margin-left: auto; color: var(--ink-soft); font-size: .7rem; }
.builder-card-copy > small { color: var(--ink-soft); font-size: .65rem; }
.builder-card-copy p { display: none; margin: .45rem 0 0; color: var(--ink-soft); font-size: .7rem; line-height: 1.45; }
.builder-printing label { display: block; margin-bottom: .2rem; color: var(--ink-soft); font-size: .6rem; }
.builder-printing select { width: 100%; min-height: 2.15rem; border: 1px solid var(--line); border-radius: .5rem; background: var(--paper); color: var(--ink); padding: .3rem; font-size: .68rem; }
.builder-quantity { display: grid; grid-template-columns: 1fr auto; align-items: center; justify-items: end; gap: .25rem .45rem; }
.quantity-caption { grid-column: 1 / -1; color: var(--ink-soft); font-size: .57rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.quantity-stepper { display: inline-grid; grid-template-columns: 1.85rem 2.25rem 1.85rem; align-items: center; overflow: hidden; min-height: 2rem; border: 1px solid var(--line); border-radius: .65rem; background: var(--paper); box-shadow: 0 3px 10px rgba(12, 38, 31, .06); }
.quantity-step { display: grid; place-items: center; align-self: stretch; border: 0; background: transparent; color: var(--copper); font-size: 1rem; font-weight: 800; cursor: pointer; transition: background .15s ease, color .15s ease; }
.quantity-step:hover, .quantity-step:focus-visible { background: rgba(201, 104, 53, .12); color: var(--ink); }
.builder-quantity input { width: 100%; min-width: 0; min-height: 2rem; padding: .15rem; border: 0; border-right: 1px solid var(--line); border-left: 1px solid var(--line); outline: 0; background: transparent; color: var(--ink); text-align: center; font-size: .75rem; font-weight: 850; font-variant-numeric: tabular-nums; appearance: textfield; }
.builder-quantity input::-webkit-inner-spin-button, .builder-quantity input::-webkit-outer-spin-button { margin: 0; appearance: none; }
.builder-quantity input:focus { background: rgba(201, 104, 53, .08); }
.builder-remove { display: grid; place-items: center; width: 2rem; height: 2rem; border: 1px solid rgba(187, 92, 67, .28); border-radius: .65rem; background: rgba(187, 92, 67, .06); color: var(--danger); font-size: .9rem; cursor: pointer; transition: background .15s ease, border-color .15s ease; }
.builder-remove:hover, .builder-remove:focus-visible { border-color: var(--danger); background: rgba(187, 92, 67, .14); }
.quantity-fixed { display: grid; place-items: center; min-width: 3rem; min-height: 2rem; border: 1px solid rgba(201, 104, 53, .32); border-radius: .65rem; background: rgba(201, 104, 53, .09); color: var(--copper); font-size: .75rem; font-weight: 850; }
.builder-empty { display: flex; flex-direction: column; align-items: center; padding: 2rem; color: var(--ink-soft); }
.is-visual .builder-card-list { grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: none; }
.is-visual .builder-card { grid-template-columns: 5.5rem minmax(0, 1fr); align-items: start; }
.is-visual .builder-card-image { grid-column: 1; grid-row: 1 / span 3; }
.is-visual .builder-card-image img, .is-visual .builder-card-image span { width: 5.5rem; height: 7.7rem; }
.is-visual .builder-card-copy { grid-column: 2; grid-row: 1; }
.is-visual .builder-card-copy p { display: block; }
.is-visual .builder-printing { grid-column: 2; grid-row: 2; min-width: 0; }
.is-visual .builder-quantity { grid-column: 2; grid-row: 3; width: min(100%, 8.5rem); justify-self: end; }
.card-builder.is-loading { opacity: .65; pointer-events: none; }
.create-deck-layout { min-height: 34rem; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(20rem, .75fr); gap: clamp(2rem, 7vw, 7rem); align-items: center; }
.create-deck-intro > p:not(.eyebrow) { max-width: 38rem; color: var(--ink-soft); font-size: 1.05rem; line-height: 1.7; }
.creation-steps { display: flex; gap: .55rem; flex-wrap: wrap; margin-top: 1.5rem; }
.creation-steps span { display: flex; align-items: center; gap: .4rem; padding: .45rem .7rem; border: 1px solid var(--line); border-radius: 99px; color: var(--ink-soft); font-size: .72rem; font-weight: 750; }
.creation-steps b { display: grid; place-items: center; width: 1.25rem; height: 1.25rem; border-radius: 50%; background: var(--fir); color: var(--gold); font-size: .62rem; }
.create-deck-form h2 { margin-bottom: 1.5rem; font-size: 1.65rem; }
.deck-workbench { min-width: 0; display: grid; gap: 1rem; }
.deck-meta-form { box-shadow: none; padding-bottom: 1rem; }
.meta-save-row { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding-top: .75rem; border-top: 1px solid var(--line); }
.meta-save-row span { color: var(--ink-soft); font-size: .72rem; }
.search-workbench { position: relative; padding: 1.25rem; border: 1px solid var(--line); border-radius: 1rem; background: rgba(255, 253, 248, .78); }
.commander-workbench { background: linear-gradient(135deg, rgba(201, 104, 53, .1), rgba(255, 253, 248, .86)); border-color: rgba(201, 104, 53, .35); }
.workbench-heading, .builder-heading { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }
.source-badge { display: inline-flex; padding: .3rem .55rem; border: 1px solid var(--line); border-radius: 99px; color: var(--ink-soft); font-size: .63rem; font-weight: 750; white-space: nowrap; }
.interactive-search-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .65rem; }
.interactive-search-row input { width: 100%; min-height: 3.15rem; padding: .75rem .9rem; border: 1px solid #cfcabd; border-radius: .7rem; background: white; color: var(--ink); font-size: 1rem; }
.interactive-search-row input:focus { border-color: var(--copper); }
.search-explainer { margin: .55rem 0 0; color: var(--ink-soft); font-size: .7rem; line-height: 1.5; }
.search-workbench .card-builder-results { position: relative; top: auto; margin-top: .75rem; }
.builder-list-heading { align-items: end; margin-top: 2rem; padding-top: 1.25rem; border-top: 1px solid var(--line); }
.result-title-row { display: flex; align-items: center; gap: .5rem; }
.result-source { padding: .16rem .38rem; border-radius: 99px; font-size: .56rem !important; font-weight: 800; }
.result-source-local { background: #ddecdf; color: #1d674c !important; }
.result-source-scryfall { background: #eee2ff; color: #67409a !important; }
.builder-card-copy a { color: var(--ink); text-decoration: none; }
.builder-card-copy a:hover { color: var(--copper); }
.deck-showcase-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.deck-showcase { min-height: 31rem; display: grid; grid-template-rows: 17rem 1fr; overflow: hidden; border: 1px solid var(--line); border-radius: 1.2rem; background: rgba(255, 253, 248, .84); text-decoration: none; box-shadow: 0 12px 34px rgba(21, 48, 41, .08); transition: transform .2s ease, box-shadow .2s ease; }
.deck-showcase:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.deck-showcase-visual { position: relative; overflow: hidden; background: radial-gradient(circle at 50% 25%, var(--moss), var(--fir-2)); }
.deck-showcase-visual::after { content: ""; position: absolute; inset: auto 0 0; height: 45%; background: linear-gradient(transparent, rgba(8, 28, 23, .75)); }
.deck-showcase-visual > img { width: 100%; height: 100%; object-fit: cover; object-position: center 18%; transform: scale(1.03); transition: transform .25s ease; }
.deck-showcase:hover .deck-showcase-visual > img { transform: scale(1.07); }
.deck-showcase-visual .deck-status { position: absolute; z-index: 2; top: .8rem; left: .8rem; box-shadow: 0 5px 16px rgba(0, 0, 0, .16); }
.deck-box-placeholder { display: grid; place-items: center; align-content: center; height: 100%; color: var(--gold); }
.deck-box-placeholder span { font-size: 3rem; font-weight: 900; }
.deck-box-placeholder small { color: #d3e3dc; }
.deck-showcase-copy { display: flex; flex-direction: column; padding: 1.15rem; }
.deck-showcase-copy h3 { font-size: 1.45rem; }
.deck-showcase-copy > p:not(.eyebrow) { color: var(--ink-soft); font-size: .78rem; line-height: 1.5; }
.deck-showcase-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: .4rem; margin-top: auto; padding: .75rem 0; border-top: 1px solid var(--line); }
.deck-showcase-facts span { min-width: 0; }
.deck-showcase-facts small, .deck-showcase-facts strong { display: block; }
.deck-showcase-facts small { color: var(--ink-soft); font-size: .58rem; }
.deck-showcase-facts strong { margin-top: .15rem; font-size: .76rem; white-space: nowrap; }
.deck-showcase-copy footer { display: flex; justify-content: space-between; gap: .6rem; padding-top: .65rem; color: var(--ink-soft); font-size: .68rem; }
.deck-showcase-copy footer strong { color: var(--copper); }
.deck-library-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.deck-vault { position: relative; display: block; min-height: 29rem; overflow: hidden; border: 1px solid rgba(230, 185, 87, .22); border-radius: 1.3rem; background: var(--fir-2); color: white; text-decoration: none; box-shadow: 0 18px 48px rgba(8, 31, 25, .18); isolation: isolate; transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.deck-vault:hover { transform: translateY(-5px); border-color: rgba(230, 185, 87, .58); box-shadow: 0 28px 70px rgba(8, 31, 25, .3); }
.deck-vault-background, .deck-vault-scrim { position: absolute; inset: 0; }
.deck-vault-background img { width: 100%; height: 100%; object-fit: cover; object-position: center 28%; transition: transform .5s ease; }
.deck-vault:hover .deck-vault-background img { transform: scale(1.035); }
.deck-vault-background .deck-box-placeholder { height: 100%; }
.deck-vault-scrim { z-index: 1; background: linear-gradient(90deg, rgba(5, 25, 20, .92) 0%, rgba(5, 25, 20, .62) 55%, rgba(5, 25, 20, .15) 100%), linear-gradient(0deg, rgba(5, 25, 20, .98) 0%, rgba(5, 25, 20, .72) 38%, transparent 78%); }
.deck-vault-top { position: absolute; z-index: 3; top: 1rem; left: 1rem; right: 1rem; display: flex; justify-content: space-between; align-items: center; gap: 1rem; color: #d6e4df; font-size: .68rem; }
.deck-vault-card { position: absolute; z-index: 2; top: 3.4rem; right: 1.3rem; width: 8rem; transform: rotate(3deg); filter: drop-shadow(0 18px 28px rgba(0, 0, 0, .42)); transition: transform .25s ease; }
.deck-vault:hover .deck-vault-card { transform: rotate(1deg) translateY(-3px); }
.deck-vault-card img { display: block; width: 100%; border-radius: 4.6% / 3.3%; }
.deck-vault-copy { position: absolute; z-index: 3; left: 0; right: 0; bottom: 0; padding: 1.35rem; }
.deck-vault-copy > .eyebrow { max-width: calc(100% - 8.5rem); margin-bottom: .5rem; color: var(--gold); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.deck-vault-copy h3 { max-width: calc(100% - 7.5rem); margin-bottom: .5rem; font-size: clamp(1.55rem, 2.4vw, 2.25rem); letter-spacing: -.035em; }
.deck-vault-copy > p:not(.eyebrow) { max-width: calc(100% - 7.5rem); min-height: 2.4rem; margin-bottom: 1rem; color: #d1e0db; font-size: .76rem; line-height: 1.55; }
.deck-vault-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; padding: .55rem; border: 1px solid rgba(255, 255, 255, .13); border-radius: .78rem; background: rgba(7, 31, 25, .5); backdrop-filter: blur(12px); }
.deck-vault-facts span { min-width: 0; padding: .3rem .4rem; border-right: 1px solid rgba(255, 255, 255, .1); }
.deck-vault-facts span:last-child { border-right: 0; }
.deck-vault-facts small, .deck-vault-facts strong { display: block; }
.deck-vault-facts small { color: #9fb5ae; font-size: .58rem; }
.deck-vault-facts strong { margin-top: .15rem; color: white; font-size: .78rem; white-space: nowrap; }
.deck-vault-copy footer { display: flex; justify-content: space-between; gap: .75rem; margin-top: .8rem; color: #a9beb7; font-size: .65rem; }
.deck-vault-copy footer span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.deck-vault-copy footer strong { flex: 0 0 auto; color: #ff9b62; }
.deck-cinematic-hero { min-height: 27rem; display: grid; grid-template-columns: minmax(15rem, 23rem) minmax(0, 1fr); align-items: center; overflow: hidden; padding: clamp(1.2rem, 4vw, 2.5rem); border-radius: 1.35rem; background: radial-gradient(circle at 18% 20%, rgba(230, 185, 87, .2), transparent 24rem), var(--fir); color: white; }
.deck-hero-card { width: min(17rem, 100%); justify-self: center; transform: rotate(-2deg); }
.deck-hero-card img { display: block; width: 100%; border-radius: 4.6% / 3.3%; box-shadow: 0 25px 60px rgba(0, 0, 0, .35); }
.deck-hero-copy { max-width: 48rem; }
.deck-hero-copy .eyebrow { color: var(--gold); }
.deck-hero-copy h1 { font-size: clamp(2.6rem, 5vw, 5.3rem); }
.deck-hero-copy > p:last-of-type { color: #cfdfd9; line-height: 1.65; }
.deck-cinematic-hero .deck-owner-line { color: #c6d8d1; }
.deck-view-section { margin-top: 2.5rem; }
.deck-view-heading { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-bottom: 1.25rem; }
.deck-view-heading > div:first-child > p:last-child { max-width: 43rem; margin: .4rem 0 0; color: var(--ink-soft); font-size: .8rem; }
.deck-view-switch { display: inline-flex; padding: .25rem; border: 1px solid var(--line); border-radius: .75rem; background: rgba(255, 253, 248, .7); }
.deck-view-switch button { min-height: 2.35rem; padding: .45rem .7rem; border: 0; border-radius: .55rem; background: transparent; color: var(--ink-soft); font-weight: 750; cursor: pointer; }
.deck-view-switch button.is-active { background: var(--fir); color: white; }
.visual-deck-board { display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: 1rem; align-items: start; }
.visual-type-group { min-width: 0; padding: .85rem; border: 1px solid var(--line); border-radius: 1rem; background: rgba(255, 253, 248, .56); box-shadow: 0 10px 28px rgba(12, 38, 31, .05); }
.visual-group-heading { display: flex; justify-content: space-between; align-items: baseline; gap: .5rem; margin-bottom: .75rem; padding: 0 .1rem .65rem; border-bottom: 1px solid var(--line); }
.visual-group-heading h3 { margin: 0; font-size: 1rem; }
.visual-group-heading span { color: var(--ink-soft); font-size: .65rem; white-space: nowrap; }
.visual-card-grid { display: flex; flex-direction: column; align-items: center; min-height: 13.9rem; padding: .15rem 0 .35rem; isolation: isolate; }
.visual-deck-card { position: relative; display: block; width: min(100%, 10rem); flex: 0 0 auto; color: white; text-decoration: none; transition: margin .2s ease, transform .2s ease, filter .2s ease; }
.visual-deck-card + .visual-deck-card { margin-top: -11.25rem; }
.visual-deck-card:hover, .visual-deck-card:focus-visible { z-index: 50; transform: translate(.45rem, -.4rem); filter: drop-shadow(0 18px 24px rgba(7, 25, 21, .34)); outline: 0; }
.visual-deck-card:focus-visible .visual-card-image { outline: 3px solid var(--copper); outline-offset: 3px; }
.visual-card-image { position: relative; aspect-ratio: 488 / 680; overflow: hidden; border: 1px solid rgba(255, 255, 255, .24); border-radius: 4.6% / 3.3%; background: var(--fir-2); box-shadow: 0 9px 20px rgba(12, 38, 31, .18); }
.visual-card-image img, .visual-card-image .card-image-placeholder { width: 100%; height: 100%; object-fit: cover; }
.visual-card-image > strong { position: absolute; right: .38rem; top: .38rem; display: grid; place-items: center; min-width: 1.8rem; height: 1.8rem; padding: 0 .35rem; border-radius: 99px; background: rgba(14, 46, 40, .92); color: var(--gold); font-size: .68rem; box-shadow: 0 4px 12px rgba(0, 0, 0, .24); }
.visual-card-meta { position: absolute; right: .35rem; bottom: .35rem; left: .35rem; display: flex; align-items: center; justify-content: space-between; gap: .4rem; padding: .45rem .5rem; border-radius: .45rem; background: linear-gradient(90deg, rgba(7, 25, 21, .94), rgba(14, 46, 40, .86)); color: white; opacity: 0; transform: translateY(.25rem); transition: opacity .16s ease, transform .16s ease; }
.visual-deck-card:hover .visual-card-meta, .visual-deck-card:focus-visible .visual-card-meta { opacity: 1; transform: translateY(0); }
.visual-card-meta span { min-width: 0; overflow: hidden; font-size: .66rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.visual-card-meta small { flex: 0 0 auto; color: #d9e9e2; font-size: .58rem; white-space: nowrap; }
.deck-detail-footer { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-top: 2.5rem; }
.deck-detail-footer .type-breakdown { width: min(30rem, 100%); }
.deck-return-banner { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1.25rem; padding: .9rem 1rem; border: 1px solid rgba(201, 104, 53, .35); border-radius: .9rem; background: rgba(201, 104, 53, .08); }
.deck-return-banner > div { display: flex; align-items: center; gap: .75rem; }
.deck-return-banner > div > span { display: grid; place-items: center; flex: 0 0 2.2rem; height: 2.2rem; border-radius: 50%; background: var(--copper); color: white; }
.deck-return-banner p, .deck-return-banner small { margin: 0; }
.deck-return-banner small { display: block; margin-top: .15rem; color: var(--ink-soft); font-size: .7rem; }
.printing-helper { max-width: 34rem; margin: .3rem 0 0; color: var(--ink-soft); font-size: .7rem; line-height: 1.45; }
.printing-feedback { min-height: 1.2rem; margin: -.35rem 0 .7rem; color: var(--ink-soft); font-size: .68rem; }
.printing-feedback:empty { min-height: 0; margin-bottom: 0; }
.printing-feedback.is-success { color: #2f7f60; }
.printing-feedback.is-error { color: var(--danger); }
.printing-form { margin: 0; }
button.printing-option { width: 100%; color: var(--ink); font: inherit; text-align: left; cursor: pointer; appearance: none; }
.printing-option { transition: border-color .16s ease, background .16s ease, transform .16s ease; }
.printing-option:hover { transform: translateY(-1px); }
.printing-option.deck-selected { border-color: var(--copper); box-shadow: inset .22rem 0 0 var(--copper); }
.printing-saved-badge { align-self: flex-start; margin-top: .25rem; padding: .2rem .42rem; border-radius: 99px; background: rgba(201, 104, 53, .14); color: var(--copper); font-size: .58rem; font-weight: 800; letter-spacing: .02em; }
@media (max-width: 1050px) {
  .deck-card-grid { grid-template-columns: repeat(2, 1fr); }
  .editor-layout, .deck-detail-layout { grid-template-columns: 1fr; }
  .validation-panel { position: static; }
  .deck-side-column { grid-template-columns: 1fr 1fr; }
  .commander-card-panel { display: grid; grid-template-columns: 10rem 1fr; }
  .deck-fact-grid { grid-template-columns: repeat(2, 1fr); }
  .builder-card { grid-template-columns: 2.4rem minmax(0, 1fr) 8.5rem; }
  .builder-printing { grid-column: 2 / 4; }
  .deck-showcase-grid { grid-template-columns: repeat(2, 1fr); }
  .deck-library-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .deck-hero, .editor-heading, .deck-detail-hero { align-items: start; flex-direction: column; }
  .deck-hero .button, .editor-heading .button, .deck-detail-hero .button-row, .deck-detail-hero .button { width: 100%; }
  .deck-card-grid, .editor-meta-grid, .deck-side-column { grid-template-columns: 1fr; }
  .compact-empty { align-items: flex-start; flex-wrap: wrap; }
  .compact-empty .button { width: 100%; }
  .editor-actions { align-items: stretch; flex-direction: column; }
  .editor-actions .button { width: 100%; }
  .editor-actions span { text-align: center; }
  .commander-card-panel { display: block; width: min(20rem, 100%); }
  .decklist-label-row { display: block; }
  .decklist-input textarea { min-height: 23rem; }
  .builder-heading, .builder-result-card { display: flex; align-items: stretch; flex-direction: column; }
  .builder-controls { justify-content: space-between; }
  .builder-metrics { grid-template-columns: 1fr 1fr; }
  .builder-result-card > img { width: 4rem; height: 5.6rem; }
  .builder-card { grid-template-columns: 2.4rem minmax(0, 1fr) 8.5rem; }
  .is-visual .builder-card-list { grid-template-columns: 1fr; }
  .create-deck-layout { grid-template-columns: 1fr; min-height: 0; }
  .interactive-search-row { grid-template-columns: 1fr; }
  .interactive-search-row .button { width: 100%; }
  .workbench-heading, .deck-view-heading { align-items: stretch; flex-direction: column; }
  .source-badge { align-self: flex-start; }
  .deck-showcase-grid { grid-template-columns: 1fr; }
  .deck-showcase { min-height: 27rem; grid-template-rows: 14rem 1fr; }
  .deck-cinematic-hero { grid-template-columns: 1fr; gap: 2rem; }
  .deck-hero-card { width: min(14rem, 58vw); }
  .deck-view-switch { width: 100%; }
  .deck-view-switch button { flex: 1; }
  .visual-deck-board { grid-template-columns: 1fr; }
  .visual-type-group { padding-right: .65rem; padding-left: .65rem; }
  .visual-card-grid { align-items: flex-start; flex-direction: row; gap: .65rem; min-height: 0; overflow-x: auto; padding: .15rem .2rem .7rem; scroll-snap-type: x proximity; }
  .visual-deck-card { width: 8.35rem; min-width: 8.35rem; scroll-snap-align: start; }
  .visual-deck-card + .visual-deck-card { margin-top: 0; }
  .visual-deck-card:hover, .visual-deck-card:focus-visible { transform: translateY(-.2rem); }
  .visual-card-meta { position: static; margin-top: .4rem; padding: .35rem .1rem 0; background: transparent; color: var(--ink); opacity: 1; transform: none; }
  .visual-card-meta small { color: var(--ink-soft); }
  .deck-detail-footer, .deck-return-banner { align-items: stretch; flex-direction: column; }
  .deck-return-banner .button { width: 100%; }
  .deck-vault { min-height: 28rem; }
  .deck-vault-card { width: 6.5rem; top: 3.5rem; right: 1rem; }
  .deck-vault-copy > .eyebrow, .deck-vault-copy h3, .deck-vault-copy > p:not(.eyebrow) { max-width: calc(100% - 5.5rem); }
}
@media (max-width: 420px) {
  .deck-fact-grid { grid-template-columns: 1fr; }
  .deck-owner-line { align-items: flex-start; flex-direction: column; }
  .deck-vault-card { display: none; }
  .deck-vault-copy > .eyebrow, .deck-vault-copy h3, .deck-vault-copy > p:not(.eyebrow) { max-width: 100%; }
  .deck-vault-copy h3 { font-size: 1.55rem; }
  .deck-vault-facts { gap: .2rem; }
  .deck-vault-facts span { padding: .25rem; }
}
@media (hover: none) and (min-width: 761px) {
  .visual-deck-board { grid-template-columns: repeat(auto-fit, minmax(19rem, 1fr)); }
  .visual-card-grid { align-items: flex-start; flex-direction: row; gap: .65rem; min-height: 0; overflow-x: auto; padding: .15rem .2rem .7rem; scroll-snap-type: x proximity; }
  .visual-deck-card { width: 8.35rem; min-width: 8.35rem; scroll-snap-align: start; }
  .visual-deck-card + .visual-deck-card { margin-top: 0; }
  .visual-deck-card:hover, .visual-deck-card:focus-visible { transform: translateY(-.2rem); }
  .visual-card-meta { position: static; margin-top: .4rem; padding: .35rem .1rem 0; background: transparent; color: var(--ink); opacity: 1; transform: none; }
  .visual-card-meta small { color: var(--ink-soft); }
}
@media (prefers-color-scheme: dark) {
  .deck-tile, .deck-fact-grid article, .deck-table-wrap { background: rgba(18, 42, 36, .92); }
  .deck-status-draft { background: #583622; color: #f0bd97; }
  .deck-status-active { background: #24473e; color: #c4ded5; }
  .commander-row { background: rgba(201, 104, 53, .12); }
  .builder-metrics > div, .builder-card { background: rgba(18, 42, 36, .72); }
  .search-workbench, .deck-showcase { background: rgba(18, 42, 36, .88); }
  .commander-workbench { background: linear-gradient(135deg, rgba(201, 104, 53, .16), rgba(18, 42, 36, .9)); }
  .interactive-search-row input { background: #0d231e; color: var(--ink); border-color: #345047; }
  .deck-view-switch { background: rgba(18, 42, 36, .8); }
  .visual-type-group { background: rgba(18, 42, 36, .72); }
  .result-source-local { background: #24473e; color: #c4ded5 !important; }
  .detail-facts > div { border-color: #345047; background: rgba(18, 42, 36, .92); }
  .printing-option { border-color: #345047; background: #122a24; color: var(--ink); }
  .printing-option:hover, .printing-option.selected { border-color: var(--copper); background: #193a31; }
  .printing-option.deck-selected { border-color: #e08a55; background: linear-gradient(90deg, rgba(201, 104, 53, .19), #193a31 48%); }
  .printing-saved-badge { background: rgba(255, 155, 98, .14); color: #ffae7f; }
  .printing-feedback.is-success { color: #82c9ac; }
}

.deck-record-panel { display: grid; grid-template-columns: minmax(15rem, .7fr) minmax(0, 1.3fr); gap: 1rem 2rem; align-items: center; margin-top: 1rem; }
.deck-record-panel > div:first-child > p:last-child { margin: 0; color: var(--ink-soft); font-size: .72rem; line-height: 1.5; }
.deck-record-numbers { display: grid; grid-template-columns: repeat(4, 1fr); gap: .55rem; }
.deck-record-numbers span { min-width: 0; padding: .7rem; border: 1px solid var(--line); border-radius: .7rem; }
.deck-record-numbers small, .deck-record-numbers strong { display: block; }
.deck-record-numbers small { color: var(--ink-soft); font-size: .56rem; }
.deck-record-numbers strong { overflow: hidden; margin-top: .2rem; font-size: 1.05rem; text-overflow: ellipsis; white-space: nowrap; }
.deck-record-numbers a { text-decoration: none; }
.deck-record-numbers a:hover { color: var(--copper); }
.deck-record-matches { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: .45rem; padding-top: .8rem; border-top: 1px solid var(--line); }
.deck-record-matches a { display: flex; justify-content: space-between; gap: .6rem; padding: .55rem .65rem; border-radius: .6rem; background: rgba(201, 104, 53, .06); font-size: .66rem; text-decoration: none; }
.deck-record-matches a:hover { background: rgba(201, 104, 53, .12); }
.deck-record-matches time { color: var(--ink-soft); white-space: nowrap; }
@media (max-width: 760px) {
  .deck-record-panel { grid-template-columns: 1fr; }
  .deck-record-numbers { grid-template-columns: 1fr 1fr; }
  .deck-record-matches { grid-column: auto; }
}
