/* Editor-only layout and card presentation. Shared foundations live in design-system.css. */

body.is-deck-loading,
body.is-site-intro-active { overflow: hidden; }
html[data-initial-loading="deck"] .site-intro { display: none; }

.site-intro {
  --intro-logo-size: clamp(220px, 34vw, 390px);
  --intro-origin-offset: clamp(40px, 6.1vw, 70px);
  --intro-fill-radius: 100vmax;
  position: fixed;
  z-index: 10000;
  inset: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #181a1d;
  opacity: 1;
  visibility: visible;
}

.site-intro-fill {
  position: absolute;
  z-index: 0;
  inset: 0;
  background: var(--page-background);
  clip-path: circle(0 at 50% calc(50% - var(--intro-origin-offset)));
  will-change: clip-path;
}

.site-intro-logo {
  position: relative;
  z-index: 1;
  width: var(--intro-logo-size);
  height: var(--intro-logo-size);
  display: block;
  object-fit: contain;
  opacity: 0;
  backface-visibility: hidden;
  will-change: opacity;
}

.site-intro.is-ready .site-intro-logo {
  animation: site-intro-logo-enter .3s ease-out .02s forwards;
}

.site-intro.is-ready .site-intro-fill {
  animation: site-intro-background-fill .85s cubic-bezier(.68, 0, .24, 1) .1s forwards;
}

.site-intro.is-exiting {
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
}

@keyframes site-intro-logo-enter {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes site-intro-background-fill {
  from { clip-path: circle(0 at 50% calc(50% - var(--intro-origin-offset))); }
  to { clip-path: circle(var(--intro-fill-radius) at 50% calc(50% - var(--intro-origin-offset))); }
}

main { min-width: 0; padding: 12px 32px 80px; }
.panel { display: none; }
.panel.is-active { display: block; animation: reveal .25s ease-out; }
@keyframes reveal { from { opacity: 0; transform: translateY(7px); } }
.deck-sticky-area { position: sticky; z-index: 35; top: 12px; margin-top: 12px; isolation: isolate; }
.deck-sticky-area::before {
  position: absolute;
  z-index: -1;
  top: -12px;
  right: calc(50% - 50vw);
  bottom: -10px;
  left: calc(50% - 50vw);
  content: "";
  border-radius: 0;
  background: var(--glass-bar-background);
  -webkit-backdrop-filter: var(--glass-bar-filter);
  backdrop-filter: var(--glass-bar-filter);
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease;
}
.deck-sticky-area.is-stuck::before { opacity: 1; }

.section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 32px;
  margin-bottom: 34px;
}

.lede { max-width: 770px; margin-bottom: 0; color: var(--muted); line-height: 1.65; }

.step-status {
  flex: 0 0 auto;
  padding: 10px 14px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: #c9ccd2;
  background: rgba(31,33,38,.82);
  font-size: .78rem;
  white-space: nowrap;
}

.view-switch-label { height: 30px; display: inline-flex; align-items: center; padding: 0 9px 0 7px; margin-right: 3px; border-right: 1px solid rgba(195,198,204,.18); color: #c3c6cc; font-size: .68rem; line-height: 1; white-space: nowrap; }
.control-mode-switch .view-switch-label { margin: 0 5px 0 0; border-right: 0; border-radius: 4px; color: #aeb2ba; background: #202227; }
.view-tab-icon { width: 30px; height: 30px; justify-content: center; gap: 0; padding: 0; }
.view-tab-icon .lucide-icon { width: 15px; height: 15px; }

.import-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(280px, .8fr);
  gap: 20px;
}

.import-grid-single { grid-template-columns: 1fr; }

.input-panel {
  border: 0;
  border-radius: var(--radius-panel);
  background: var(--control-background);
  box-shadow: none;
}

.input-panel { padding: 8px 16px 24px; }
.input-panel { width: 100%; transition: padding .32s ease, background-color .2s ease; }

label, legend {
  color: #d0d3d8;
  font-size: .82rem;
  font-weight: 750;
}

.deck-list-label {
  min-width: 0;
  overflow: hidden;
  font-family: inherit;
  color: #aeb2ba;
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -.01em;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.deck-title { min-width: 0; display: inline-flex; align-items: center; gap: 8px; }
.deck-title-color-identity { display: inline-flex; flex: 0 0 auto; align-items: center; }
.deck-title-color-identity img { width: 19px; height: 19px; margin-left: -4px; filter: drop-shadow(0 2px 3px rgba(0,0,0,.38)); }
.deck-title-color-identity img:first-child { margin-left: 0; }

.deck-input-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.deck-title-row { min-width: 0; display: flex; align-items: center; gap: 10px; }
.deck-input-toggle { min-width: 0; display: inline-flex; align-items: center; gap: 10px; padding: 0; border: 0; color: #d0d3d8; background: transparent; cursor: pointer; text-align: left; }
.deck-input-toggle:hover .deck-list-label { color: #d7d9de; }
.deck-input-toggle:focus-visible { outline: 2px solid var(--accent-bright); outline-offset: 5px; border-radius: 4px; }
.deck-input-disclosure { width: 28px; height: 28px; display: grid; place-items: center; border: 0; border-radius: 6px; color: #c3c6cc; background: #33363d; transition: color .18s ease, background .18s ease; }
.deck-input-disclosure svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transform: rotate(180deg); transition: transform .28s ease; }
.deck-input-toggle:hover .deck-input-disclosure { color: #f0f1f3; background: #41454d; }
.input-panel.is-collapsed .deck-input-disclosure svg { transform: rotate(0deg); }
.deck-heading-meta { min-width: 0; display: flex; align-items: center; justify-content: flex-end; gap: 12px; }
.deck-inline-summary { color: #b8bbc2; font-size: .78rem; white-space: nowrap; }
.deck-save-status { color: #b8bbc2; font-size: .66rem; white-space: nowrap; }
.deck-save-status.is-error { color: var(--brand-red-text); }
.deck-save-meta { color: var(--text-muted); font-size: .66rem; white-space: nowrap; }
.deck-collaboration-toolbar { min-width: 0; display: flex; align-items: center; gap: 8px; }
.deck-variant-menu .ui-selection-menu-current { max-width: 150px; }
.deck-variant-options { width: min(340px, calc(100vw - 36px)); }
.deck-variant-row { min-width: 0; display: flex; align-items: stretch; gap: 3px; }
.deck-variant-option { min-width: 0; min-height: var(--control-height); flex: 1 1 auto; display: flex; align-items: center; justify-content: flex-start; gap: 9px; padding: 6px 9px; border: 0; border-radius: var(--radius-control); color: #c9ccd2; background: transparent; cursor: pointer; font: inherit; text-align: left; }
.deck-variant-option:hover, .deck-variant-option:focus-visible { outline: none; color: #fff; background: rgba(255,255,255,.07); }
.deck-variant-option.is-active { color: #fff; background: var(--control-background-active); }
.deck-variant-option-copy { min-width: 0; display: grid; gap: 2px; }
.deck-variant-option-copy strong { overflow: hidden; color: var(--text-strong); font-size: .7rem; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.deck-variant-option-copy small { overflow: hidden; color: var(--text-muted); font-size: .6rem; text-overflow: ellipsis; white-space: nowrap; }
.deck-variant-option > .lucide-icon { width: 15px; height: 15px; color: var(--text-muted); }
.deck-variant-option .deck-variant-check { width: 14px; height: 14px; margin-left: auto; color: var(--text-strong); }
.deck-variant-actions { flex: 0 0 auto; display: flex; align-items: center; gap: 2px; }
.deck-variant-action { width: 28px; min-height: var(--control-height); display: grid; place-items: center; padding: 0; border: 0; border-radius: var(--radius-control); color: var(--text-muted); background: transparent; cursor: pointer; }
.deck-variant-action:hover, .deck-variant-action:focus-visible { outline: none; color: #fff; background: var(--control-background-active); box-shadow: var(--focus-ring-compact); }
.deck-variant-action .lucide-icon { width: 14px; height: 14px; }
.deck-variant-create { margin-top: 3px; border-top: 1px solid var(--line) !important; border-radius: 0 0 var(--radius-control) var(--radius-control) !important; }
.deck-collaborators-trigger, .deck-discussion-trigger { min-height: var(--control-height); display: inline-flex; align-items: center; gap: 6px; padding: 3px 9px 3px 5px; border: 0; border-radius: var(--radius-control); color: var(--text-subtle); background: var(--control-background); cursor: pointer; font-size: .68rem; }
.deck-collaborators-trigger:hover, .deck-collaborators-trigger:focus-visible, .deck-discussion-trigger:hover, .deck-discussion-trigger:focus-visible { outline: none; color: #fff; background: var(--control-background-active); box-shadow: var(--focus-ring-compact); }
.deck-collaborators-trigger .ui-avatar { width: 26px; height: 26px; flex-basis: 26px; font-size: .56rem; }
.deck-discussion-trigger { width: var(--control-height); justify-content: center; padding: 0; }
.deck-discussion-trigger .lucide-icon { width: 16px; height: 16px; }
.input-panel.is-load-success { animation: deck-loaded-glow .9s ease-out; }
@keyframes deck-loaded-glow { 45% { background-color: #35383e; } }

.deck-input-content { display: grid; grid-template-rows: 1fr; opacity: 1; transform: translateY(0); transition: grid-template-rows .32s ease, opacity .2s ease, transform .32s ease; }
.deck-input-content-inner { min-height: 0; overflow: hidden; }
.input-panel.is-collapsed { width: 100%; padding: 8px 16px; border-radius: 7px; box-shadow: none; }
.input-panel.is-collapsed .deck-input-content { grid-template-rows: 0fr; opacity: 0; transform: translateY(-8px); }

textarea, select, input[type="number"], input[type="text"] {
  width: 100%;
  border: 1px solid var(--line-bright);
  border-radius: 10px;
  color: var(--cream);
  outline: none;
  background: #17191c;
}

.deck-editor { position: relative; margin-top: 9px; }

textarea, .deck-highlight {
  min-height: 270px;
  padding: 16px;
  font-size: .78rem;
  line-height: 1.55;
  white-space: pre-wrap;
  overflow-wrap: break-word;
  tab-size: 4;
}

textarea { position: relative; z-index: 2; display: block; margin: 0; resize: vertical; border: 0; color: #c2c5ca; background: transparent; }
textarea.is-example-prefill { color: #7c8088; }
.deck-highlight { position: absolute; inset: 0; overflow: auto; border: 0; border-radius: 10px; color: transparent; background: #15171a; pointer-events: none; scrollbar-width: none; }
.deck-highlight::-webkit-scrollbar { display: none; }
.deck-highlight mark { color: transparent; background: rgba(169,72,66,.42); box-shadow: inset 3px 0 0 var(--danger); }
select, input[type="number"], input[type="text"] { margin-top: 7px; padding: 10px 11px; }
textarea:focus, select:focus, input:focus { border-color: #777c86; box-shadow: 0 0 0 3px rgba(119,124,134,.16); }
#deck-input:focus { box-shadow: none; }

.input-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 14px;
}

.input-footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 14px; }
.input-footer .input-actions { flex: 0 0 auto; margin-top: 0; }
.input-actions-primary { min-width: 0; flex: 1 1 auto !important; justify-content: flex-start; align-items: center; }
.input-actions-secondary { justify-content: flex-end; margin-left: auto; }

.deck-compact-action { min-height: var(--control-height); padding: 7px 13px; border-radius: var(--radius-control); font-size: .72rem; }
.deck-open-file, #prepare-deck { gap: 7px; }
.deck-open-file { font-weight: 400; }
.deck-open-file .lucide-icon, #prepare-deck .lucide-icon { width: 15px; height: 15px; }
#prepare-deck, #generate-pdf-deck { position: relative; height: var(--control-height); min-height: var(--control-height); padding-top: 0; padding-bottom: 0; font-weight: var(--control-font-weight); }
#prepare-deck, #generate-pdf-deck, #save-deck-confirm, #leave-confirm-save, #print-settings-done, #pdf-quality-confirm, #pdf-basics-close { color: var(--action-primary-text); background: var(--action-primary); box-shadow: inset 0 0 0 1px rgba(33,31,27,.1), 0 4px 12px rgba(0,0,0,.28); }
#prepare-deck:hover:not(:disabled), #generate-pdf-deck:hover:not(:disabled), #save-deck-confirm:hover:not(:disabled), #leave-confirm-save:hover:not(:disabled), #print-settings-done:hover:not(:disabled), #pdf-quality-confirm:hover:not(:disabled), #pdf-basics-close:hover:not(:disabled) { color: var(--action-primary-text); background: var(--action-primary-hover); }
#pdf-quality-confirm, #pdf-basics-close { font-weight: var(--control-font-weight); }
.hint { margin: 0; color: #a1a5ad; font-size: .75rem; line-height: 1.55; }

.deck-loading-confetti { position: absolute; z-index: 3; inset: 0; overflow: visible; pointer-events: none; }
.card-action-confetti { position: fixed; z-index: 220; width: 1px; height: 1px; transform: scale(.45); transform-origin: center; pointer-events: none; }
.deck-loading-confetti i,
.card-action-confetti i { --confetti-x: 0px; --confetti-y: -100px; --confetti-r: 180deg; position: absolute; top: 56%; left: 50%; width: 6px; height: 10px; border-radius: 1px; background: var(--action-primary); opacity: 0; }
.card-action-confetti i { top: 0; left: 0; }
:is(.deck-loading-confetti, .card-action-confetti) i:nth-child(2n) { width: 5px; height: 7px; background: var(--action-primary-hover); }
:is(.deck-loading-confetti, .card-action-confetti) i:nth-child(3n) { background: #f2efe6; }
:is(.deck-loading-confetti, .card-action-confetti) i:nth-child(1) { --confetti-x: -164px; --confetti-y: -72px; --confetti-r: -210deg; }
:is(.deck-loading-confetti, .card-action-confetti) i:nth-child(2) { --confetti-x: -126px; --confetti-y: -132px; --confetti-r: 170deg; }
:is(.deck-loading-confetti, .card-action-confetti) i:nth-child(3) { --confetti-x: -78px; --confetti-y: -94px; --confetti-r: 260deg; }
:is(.deck-loading-confetti, .card-action-confetti) i:nth-child(4) { --confetti-x: -34px; --confetti-y: -148px; --confetti-r: -190deg; }
:is(.deck-loading-confetti, .card-action-confetti) i:nth-child(5) { --confetti-x: 18px; --confetti-y: -118px; --confetti-r: 230deg; }
:is(.deck-loading-confetti, .card-action-confetti) i:nth-child(6) { --confetti-x: 64px; --confetti-y: -154px; --confetti-r: -250deg; }
:is(.deck-loading-confetti, .card-action-confetti) i:nth-child(7) { --confetti-x: 112px; --confetti-y: -104px; --confetti-r: 190deg; }
:is(.deck-loading-confetti, .card-action-confetti) i:nth-child(8) { --confetti-x: 162px; --confetti-y: -62px; --confetti-r: -220deg; }
:is(.deck-loading-confetti, .card-action-confetti) i:nth-child(9) { --confetti-x: -142px; --confetti-y: 38px; --confetti-r: 250deg; }
:is(.deck-loading-confetti, .card-action-confetti) i:nth-child(10) { --confetti-x: -62px; --confetti-y: 64px; --confetti-r: -170deg; }
:is(.deck-loading-confetti, .card-action-confetti) i:nth-child(11) { --confetti-x: 72px; --confetti-y: 58px; --confetti-r: 210deg; }
:is(.deck-loading-confetti, .card-action-confetti) i:nth-child(12) { --confetti-x: 148px; --confetti-y: 32px; --confetti-r: -260deg; }
.ui-loading-overlay.is-complete .deck-loading-confetti i,
.card-action-confetti.is-active i { animation: deck-loading-confetti .62s cubic-bezier(.2,.72,.3,1) forwards; }
@keyframes deck-loading-confetti {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(.4) rotate(0); }
  16% { opacity: 1; }
  100% { opacity: 0; transform: translate(calc(-50% + var(--confetti-x)), calc(-50% + var(--confetti-y))) scale(1) rotate(var(--confetti-r)); }
}

.deck-list { display: grid; gap: 22px; margin-top: 12px; }
.deck-section { min-width: 0; }
.deck-section-toggle { width: 100%; min-height: var(--control-height); display: flex; align-items: center; gap: 9px; padding: 0 2px 6px; border: 0; border-bottom: 1px solid rgba(112,117,126,.45); color: #d7d9de; background: transparent; cursor: pointer; font-size: .85rem; font-weight: var(--control-font-weight); text-align: left; }
.deck-section-toggle:hover, .deck-section-toggle:focus-visible { outline: none; color: #f0f1f3; }
.deck-section-toggle .lucide-icon { width: 16px; height: 16px; color: var(--muted); transition: transform .18s ease; }
.deck-section-toggle[aria-expanded="false"] .lucide-icon { transform: rotate(-90deg); }
.deck-section-count { margin-left: auto; color: var(--muted); font-size: .7rem; }
.deck-history-heading { width: 100%; min-height: var(--control-height); display: flex; align-items: center; gap: 8px; border-bottom: 1px solid rgba(112,117,126,.45); }
.deck-history-heading .deck-section-toggle { min-width: 0; flex: 1 1 auto; padding-bottom: 0; border-bottom: 0; }
.deck-history-actions { flex: 0 0 auto; display: flex; align-items: center; gap: 6px; }
.deck-history-actions .button { min-height: 30px; padding: 5px 8px; font-size: .64rem; }
.deck-history-content .deck-section-content-inner { padding-top: 8px; }
.deck-history-empty { margin: 0; padding: 8px 0; color: var(--text-muted); font-size: .7rem; }
.deck-history-list { max-width: 860px; }
.deck-history-list .ui-timeline-item.is-current .ui-timeline-marker { border-color: var(--legality-legal-surface); color: #e7f4e4; }
.deck-history-list .ui-timeline-actions .button { min-height: 28px; padding: 4px 8px; font-size: .62rem; }
.deck-section-content { display: grid; grid-template-rows: 1fr; opacity: 1; transform: translateY(0); visibility: visible; transition: grid-template-rows .3s ease, opacity .22s ease, transform .3s ease, visibility 0s linear 0s; }
.deck-section-content.is-collapsed { grid-template-rows: 0fr; opacity: 0; transform: translateY(-8px); visibility: hidden; transition: grid-template-rows .3s ease, opacity .18s ease, transform .3s ease, visibility 0s linear .3s; }
.deck-section-content-inner { min-height: 0; margin: 0 -10px; padding: 0 10px 10px; overflow: hidden; }
.deck-detailed-stats-content { padding-top: 14px; }
.deck-detailed-stats { --deck-stats-color: #c3c6cc; min-width: 0; display: grid; gap: 22px; }
.deck-detailed-stats .is-W { --deck-stats-color: var(--mana-white-surface); }
.deck-detailed-stats .is-U { --deck-stats-color: var(--mana-blue-surface); }
.deck-detailed-stats .is-B { --deck-stats-color: var(--mana-black-surface); }
.deck-detailed-stats .is-R { --deck-stats-color: var(--mana-red-surface); }
.deck-detailed-stats .is-G { --deck-stats-color: var(--mana-green-surface); }
.deck-detailed-stats .is-C { --deck-stats-color: var(--mana-colorless-surface); }
.deck-detailed-stats-distributions { --deck-stats-view-toggle-width: min(100%, 360px); display: grid; gap: 9px; }
.deck-detailed-stats-distributions > div { min-width: 0; display: grid; gap: 5px; }
.deck-detailed-stats-distribution-toolbar,
.deck-detailed-stats-mana-mode-toolbar { display: flex !important; align-items: center; gap: 12px !important; }
.deck-detailed-stats-distribution-toolbar { justify-content: flex-end; }
.deck-detailed-stats-mana-mode-toolbar { justify-content: space-between; }
.deck-detailed-stats-distribution-toolbar > span,
.deck-detailed-stats-mana-mode-toolbar > span,
.deck-detailed-stats-curve-metrics strong,
.deck-detailed-stats-group-field > span { color: var(--cream); font-family: inherit; font-size: .78rem; font-weight: 600; }
.deck-detailed-stats-distribution-toggle,
.deck-detailed-stats-mana-mode { width: var(--deck-stats-view-toggle-width); min-height: 32px; display: inline-flex; flex: 0 0 auto; padding: 2px; border-radius: var(--radius-control); background: var(--control-background); }
.deck-detailed-stats-distribution-toggle button,
.deck-detailed-stats-mana-mode button { min-width: 0; min-height: 28px; flex: 1 1 0; padding: 5px 9px; border: 0; border-radius: var(--radius-indicator); color: var(--muted); background: transparent; cursor: pointer; font: inherit; font-size: .68rem; font-weight: var(--control-font-weight); }
.deck-detailed-stats-distribution-toggle button:hover,
.deck-detailed-stats-distribution-toggle button:focus-visible,
.deck-detailed-stats-mana-mode button:hover,
.deck-detailed-stats-mana-mode button:focus-visible { outline: none; color: white; background: rgba(255,255,255,.07); }
.deck-detailed-stats-distribution-toggle button.is-active,
.deck-detailed-stats-mana-mode button.is-active { color: var(--cream); background: var(--control-background-active); }
.deck-detailed-stats-distributions h3,
.deck-detailed-stats-color-card h4,
.deck-detailed-stats-curve-card h4 { margin: 0; font-family: inherit; font-weight: 500; }
.deck-detailed-stats-distributions h3 { color: #e3e5e8; font-size: .78rem; }
.deck-detailed-stats-distribution-track { min-width: 0; height: 40px; display: flex; gap: 7px; overflow: hidden; border-radius: var(--radius-control); }
.deck-detailed-stats-distribution-segment { min-width: 42px; flex-basis: 0; display: grid; place-items: center; overflow: hidden; border-radius: var(--radius-control); background: var(--deck-stats-color); }
.deck-detailed-stats-segment-symbol { width: 19px; height: 19px; display: block; }
.deck-detailed-stats-distribution-empty { width: 100%; display: grid; place-items: center; color: var(--muted); background: rgba(112,117,126,.14); font-size: .68rem; }
.deck-detailed-stats-coverage-strips { gap: 8px !important; }
.deck-detailed-stats-coverage-strip { min-width: 0; display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; align-items: center; gap: 7px; }
.deck-detailed-stats-coverage-symbol { width: 21px; height: 21px; display: block; }
.deck-detailed-stats-coverage-track { position: relative; height: 24px; display: block; overflow: hidden; border-radius: var(--radius-control); background: rgba(112,117,126,.2); }
.deck-detailed-stats-coverage-bar { position: absolute; top: 0; bottom: 0; left: 0; border-radius: inherit; }
.deck-detailed-stats-coverage-bar.is-cost { z-index: 1; background: rgba(175,179,188,.3); }
.deck-detailed-stats-coverage-bar.is-production { z-index: 2; top: 6px; bottom: 6px; background: var(--deck-stats-color); }
.deck-detailed-stats-coverage-target,
.deck-detailed-stats-progress-target { position: absolute; z-index: 3; top: 0; bottom: 0; width: 1px; display: block; background: var(--cream); transform: translateX(-1px); }
.deck-detailed-stats-coverage-readout { min-width: 68px; color: var(--cream); font-size: .66rem; font-variant-numeric: tabular-nums; text-align: right; }
.deck-detailed-stats-distribution-legend { display: flex; align-items: center; justify-content: center; gap: 16px; color: var(--muted); font-size: .68rem; }
.deck-detailed-stats-distribution-legend > span { display: inline-flex; align-items: center; gap: 6px; }
.deck-detailed-stats-distribution-legend i { width: 18px; height: 8px; display: block; border-radius: 2px; }
.deck-detailed-stats-distribution-legend i.is-cost { border: 1px solid #afb3bc; background: rgba(175,179,188,.24); }
.deck-detailed-stats-distribution-legend i.is-production { border: 2px solid var(--cream); background: rgba(242,239,230,.3); }
.deck-detailed-stats-distribution-legend.is-coverage.is-strip i.is-cost { border: 0; background: rgba(175,179,188,.38); }
.deck-detailed-stats-distribution-legend.is-coverage.is-strip i.is-production,
.deck-detailed-stats-distribution-legend.is-coverage.is-columns i.is-production,
.deck-detailed-stats-distribution-legend.is-coverage.is-columns i.is-cost { width: 30px; border: 0; background: linear-gradient(90deg, var(--mana-white-surface) 0 16.666%, var(--mana-blue-surface) 16.666% 33.333%, var(--mana-black-surface) 33.333% 50%, var(--mana-red-surface) 50% 66.666%, var(--mana-green-surface) 66.666% 83.333%, var(--mana-colorless-surface) 83.333% 100%); }
.deck-detailed-stats-distribution-legend.is-coverage.is-columns i.is-cost { opacity: .38; }
.deck-detailed-stats-distribution-legend.is-coverage.is-radar i.is-cost { border: 0; background: linear-gradient(to bottom, transparent 3px, #afb3bc 3px 5px, transparent 5px); }
.deck-detailed-stats-distribution-legend.is-coverage.is-radar i.is-production { border: 0; background: linear-gradient(to bottom, transparent 2px, var(--cream) 2px 6px, transparent 6px); }
.deck-detailed-stats-chart-scale { padding-left: 10px; border-left: 1px solid var(--line); color: #d6d9de; font-variant-numeric: tabular-nums; }
.deck-detailed-stats-radar-wrap { justify-items: center; gap: 4px !important; }
.deck-detailed-stats-radar { width: min(100%, 720px); height: auto; display: block; overflow: visible; }
.deck-detailed-stats-radar-grid polygon { fill: rgba(112,117,126,.035); stroke: rgba(174,178,186,.32); stroke-width: 1; }
.deck-detailed-stats-radar-axes line { stroke: rgba(174,178,186,.26); stroke-width: 1; }
.deck-detailed-stats-radar-series { stroke-linejoin: round; }
.deck-detailed-stats-radar-series.is-cost { fill: rgba(175,179,188,.22); stroke: #afb3bc; stroke-width: 2; }
.deck-detailed-stats-radar-series.is-production { fill: rgba(242,239,230,.2); stroke: var(--cream); stroke-width: 2.5; }
.deck-detailed-stats-radar-points.is-cost circle { fill: #afb3bc; }
.deck-detailed-stats-radar-points.is-production circle { fill: var(--cream); stroke: #23252a; stroke-width: 1; }
.deck-detailed-stats-columns-wrap { width: min(100%, 960px); justify-self: center; gap: 10px !important; }
.deck-detailed-stats-columns { width: 100%; height: 300px; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: clamp(8px, 2vw, 24px); }
.deck-detailed-stats-column { min-width: 0; display: grid; grid-template-rows: minmax(0, 1fr) 30px; gap: 4px; }
.deck-detailed-stats-column-footer { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) 23px minmax(0, 1fr); align-items: center; gap: 6px; font-size: .6rem; font-variant-numeric: tabular-nums; }
.deck-detailed-stats-column-footer .is-cost { justify-self: end; color: #afb3bc; }
.deck-detailed-stats-column-footer .is-production { justify-self: start; color: var(--cream); }
.deck-detailed-stats-column-visual { position: relative; min-height: 0; border-bottom: 1px solid rgba(174,178,186,.58); }
.deck-detailed-stats-column-bar { position: absolute; bottom: 0; left: 50%; border-radius: 3px 3px 0 0; transform: translateX(-50%); }
.deck-detailed-stats-column-bar.is-cost { z-index: 1; width: 72%; background: var(--deck-stats-color); opacity: .38; }
.deck-detailed-stats-column-bar.is-production { z-index: 2; width: 42%; background: var(--deck-stats-color); opacity: .92; box-shadow: 0 0 0 1px rgba(19,20,23,.42); }
.deck-detailed-stats-column-symbol { width: 23px; height: 23px; align-self: center; justify-self: center; }
.deck-detailed-stats-color-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.deck-detailed-stats-color-card { min-width: 0; display: grid; grid-template-rows: auto auto auto auto auto; gap: 7px; padding: 15px; border: 1px solid var(--line); border-radius: var(--radius-panel); background: rgba(19,20,23,.35); }
.deck-detailed-stats-color-card.is-coverage { grid-template-rows: auto auto auto; }
.deck-detailed-stats-color-card.is-empty { opacity: .48; }
.deck-detailed-stats-color-card h4 { display: flex; align-items: center; justify-content: center; color: #e5e7ea; font-size: .78rem; }
.deck-detailed-stats-color-symbol { width: 42px; height: 42px; display: block; }
.deck-detailed-stats-progress { min-width: 0; display: grid; gap: 4px; color: #d8dbe0; font-size: .7rem; }
.deck-detailed-stats-progress-track { position: relative; height: 30px; display: block; overflow: hidden; border-radius: var(--radius-control); background: rgba(112,117,126,.24); }
.deck-detailed-stats-progress-fill { position: absolute; inset: 0 auto 0 0; min-width: 0; border-radius: inherit; background: var(--deck-stats-color); transition: width .24s ease; }
.deck-detailed-stats-progress.is-demand .deck-detailed-stats-progress-fill { background: #afb3bc; opacity: .38; }
.deck-detailed-stats-progress-value { position: absolute; top: 50%; left: 50%; padding: 2px 5px; border: 1px solid rgba(255,255,255,.15); border-radius: var(--radius-indicator); color: #f4f4f1; background: rgba(29,31,35,.76); font-variant-numeric: tabular-nums; transform: translate(-50%, -50%); }
.deck-detailed-stats-color-card > p { margin: -2px 0 2px; color: var(--muted); font-size: .66rem; text-align: center; }
.deck-detailed-stats-curves { min-width: 0; display: grid; gap: 14px; padding-top: 18px; border-top: 1px solid var(--line); }
.deck-detailed-stats-curve-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.deck-detailed-stats-curve-metrics { display: grid; gap: 2px; color: #d9dce1; font-size: .68rem; font-variant-numeric: tabular-nums; }
.deck-detailed-stats-scope { min-height: 32px; display: inline-flex; flex: 0 0 auto; padding: 2px; border-radius: var(--radius-control); background: var(--control-background); }
.deck-detailed-stats-scope button { min-height: 28px; padding: 5px 9px; border: 0; border-radius: var(--radius-indicator); color: var(--muted); background: transparent; cursor: pointer; font: inherit; font-size: .68rem; font-weight: var(--control-font-weight); }
.deck-detailed-stats-scope button:hover,
.deck-detailed-stats-scope button:focus-visible { outline: none; color: white; background: rgba(255,255,255,.07); }
.deck-detailed-stats-scope button.is-active { color: var(--cream); background: var(--control-background-active); }
.deck-detailed-stats-curve { height: 218px; display: grid; grid-template-columns: repeat(9, minmax(0, 1fr)); gap: clamp(4px, 1.2vw, 12px); }
.deck-detailed-stats-curve.is-compact { height: 170px; gap: clamp(3px, .8vw, 8px); }
.deck-detailed-stats-curve-column { min-width: 0; height: 100%; display: grid; grid-template-rows: minmax(0, 1fr) 25px; }
.deck-detailed-stats-curve-visual { position: relative; min-height: 0; display: block; border-bottom: 1px solid rgba(174,178,186,.58); }
.deck-detailed-stats-curve-count { position: absolute; z-index: 1; bottom: calc(var(--deck-stats-bar-height) + 4px); left: 50%; color: #d9dce1; font-size: .64rem; font-variant-numeric: tabular-nums; transform: translateX(-50%); }
.deck-detailed-stats-curve-bar { position: absolute; right: 16%; bottom: 0; left: 16%; height: var(--deck-stats-bar-height); min-height: 4px; border-radius: 2px 2px 0 0; background: var(--deck-stats-color); }
.deck-detailed-stats-curve-axis { display: grid; place-items: center; color: #e3e5e9; font-size: .72rem; font-weight: 500; font-variant-numeric: tabular-nums; }
.deck-detailed-stats-group-field { min-width: 0; display: grid; gap: 5px; color: #d6d9de; font-size: .72rem; }
.deck-detailed-stats-group-field select { width: 100%; min-height: var(--control-height); padding: 7px 10px; border: 1px solid var(--line); border-radius: var(--radius-control); color: var(--cream); background: var(--surface); font: inherit; font-weight: var(--control-font-weight); }
.deck-detailed-stats-curve-grid { min-width: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 12px; }
.deck-detailed-stats-empty { margin: 0; padding: 18px 0; color: var(--muted); font-size: .7rem; }
.deck-detailed-stats-curve-card { min-width: 0; display: grid; gap: 8px; padding: 10px 9px 5px; border: 1px solid var(--line); border-radius: var(--radius-panel); background: rgba(19,20,23,.35); }
.deck-detailed-stats-curve-card h4 { min-width: 0; display: flex; align-items: center; gap: 6px; overflow: hidden; color: #dfe1e5; font-size: .76rem; text-overflow: ellipsis; white-space: nowrap; }
.deck-detailed-stats-group-symbol { width: 18px; height: 18px; flex: 0 0 auto; }
.deck-section-cards { min-height: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 520px), 1fr)); gap: 14px; overflow: visible; padding-top: var(--deck-subsection-card-gap); }
.deck-section-cards:empty { display: none; }
.deck-card-groups { width: 100%; min-width: 0; display: flex; flex-direction: row; flex-wrap: wrap; align-content: flex-start; align-items: flex-start; row-gap: var(--deck-group-row-gap); column-gap: var(--deck-group-column-gap); }
.deck-card-group { width: min(100%, var(--deck-group-list-width, 520px)); min-width: min(100%, 230px); max-width: 100%; flex: 0 1 auto; }
.deck-card-group-content { display: grid; grid-template-rows: 1fr; opacity: 1; transform: translateY(0); visibility: visible; transition: grid-template-rows .3s ease, opacity .2s ease, transform .3s ease, visibility 0s linear 0s; }
.deck-card-group-content.is-collapsed { grid-template-rows: 0fr; opacity: 0; transform: translateY(-6px); visibility: hidden; transition: grid-template-rows .3s ease, opacity .18s ease, transform .3s ease, visibility 0s linear .3s; }
.deck-card-group-content-inner { min-height: 0; padding-bottom: 10px; overflow: hidden; }
.deck-card-group-content-inner > .deck-section-cards { width: 100%; max-width: 100%; grid-template-columns: repeat(auto-fit, minmax(min(100%, 520px), 1fr)); justify-content: start; overflow: visible; }
.deck-card-group-content-inner > .deck-card-groups { row-gap: var(--deck-group-row-gap); column-gap: var(--deck-group-column-gap); }
.deck-card-groups > .deck-section-cards { width: 100%; }
.deck-card-group-heading { width: 100%; min-height: 28px; margin: 8px 0 0; padding: 0 2px 5px; display: flex; align-items: center; gap: 6px; border: 0; border-bottom: 1px solid rgba(112,117,126,.28); border-radius: 0; color: #bfc3ca; background: transparent; cursor: pointer; font-family: inherit; font-size: .72rem; font-weight: var(--control-font-weight); line-height: 1.2; text-align: left; }
.deck-card-group-heading:hover, .deck-card-group-heading:focus-visible { outline: none; color: #eef0f3; border-bottom-color: rgba(145,150,160,.52); }
.deck-card-group-heading .lucide-icon { width: 14px; height: 14px; color: #aeb2ba; }
.deck-card-group-heading .deck-card-group-chevron { transition: transform .18s ease; }
.deck-card-group-heading[aria-expanded="false"] .deck-card-group-chevron { transform: rotate(-90deg); }
.deck-card-group-heading .deck-card-group-type-icon { color: #aeb2ba; }
.deck-card-group-count { color: var(--muted); }
.deck-card-group-depth-1 > .deck-card-group-heading { margin-top: 6px; color: var(--muted); font-size: .66rem; }
.deck-section-unresolved-cards { margin-top: 14px; }
.deck-section.is-drop-target .deck-section-toggle { border-bottom-color: var(--line-bright); color: #f0f1f3; background: rgba(112,117,126,.1); }

.deck-collaborator-list, .deck-proposal-list { display: grid; gap: 8px; }
.deck-collaborator-row { min-width: 0; display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 9px; border: 1px solid var(--line); border-radius: var(--radius-panel); background: rgba(19,20,23,.35); }
.deck-collaborator-row .ui-avatar { width: 34px; height: 34px; flex-basis: 34px; margin: 0; }
.deck-collaborator-identity { min-width: 0; display: grid; gap: 2px; }
.deck-collaborator-identity strong, .deck-collaborator-identity small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.deck-collaborator-identity strong { color: var(--text-strong); font-size: .72rem; font-weight: 500; }
.deck-collaborator-identity small { color: var(--text-muted); font-size: .62rem; }
.deck-collaborator-presence-summary { margin: 0 0 10px; color: var(--text-muted); font-size: .66rem; line-height: 1.45; }
.deck-collaborator-presence { min-width: 0; display: inline-flex; align-items: center; gap: 6px; color: #d8ead4; font-size: .62rem; line-height: 1.35; }
.deck-collaborator-presence > span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.deck-collaborator-presence .status-dot { background: #7ea676; box-shadow: 0 0 0 3px rgba(126, 166, 118, .11); }
.deck-collaborator-actions { display: flex; align-items: center; gap: 6px; }
.deck-collaborator-role { width: auto; min-width: 92px; min-height: var(--control-height-small); margin: 0; padding: 5px 24px 5px 8px; border: 1px solid var(--line); border-radius: var(--radius-control); color: var(--text); background: var(--control-background); font: inherit; font-size: .65rem; }
.deck-collaboration-subsection { display: grid; gap: 10px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); }
.deck-collaboration-subsection h4 { margin: 0; color: var(--text-strong); font-size: .76rem; font-weight: 600; }
.deck-collaboration-subsection > div > p { margin: 4px 0 0; color: var(--text-muted); font-size: .65rem; line-height: 1.45; }
.deck-invitation-fields { display: grid; grid-template-columns: minmax(0, 1fr) minmax(110px, .35fr); gap: 8px; align-items: end; }
.deck-invitation-fields .form-field { font-weight: var(--control-font-weight); }
.deck-invitation-list { display: grid; gap: 8px; }
.deck-invitation-row { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 9px; border: 1px solid var(--line); border-radius: var(--radius-panel); background: rgba(19,20,23,.35); }
.ui-timeline-description { margin: 4px 0 0; color: var(--text-subtle); font-size: .66rem; line-height: 1.45; white-space: pre-wrap; }
.deck-compare-selectors { display: grid; grid-template-columns: minmax(0, 1fr) 24px minmax(0, 1fr); align-items: end; gap: 8px; }
.deck-compare-selectors select { margin: 0; }
.deck-compare-direction { height: var(--control-height); display: grid; place-items: center; color: var(--text-muted); }
.deck-compare-direction .lucide-icon { width: 16px; height: 16px; }
.deck-compare-result { display: grid; gap: 14px; }
.deck-compare-summary { display: flex; flex-wrap: wrap; gap: 7px; }
.deck-proposal-card { min-width: 0; display: grid; gap: 9px; padding: 12px; border: 1px solid var(--line); border-radius: var(--radius-panel); background: rgba(19,20,23,.35); }
.deck-proposal-heading { min-width: 0; display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.deck-proposal-heading > div { min-width: 0; display: grid; gap: 3px; }
.deck-proposal-heading strong { overflow: hidden; color: var(--text-strong); font-size: .74rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.deck-proposal-heading small, .deck-proposal-card > p { color: var(--text-muted); font-size: .64rem; line-height: 1.45; }
.deck-proposal-card > p { margin: 0; color: var(--text-subtle); white-space: pre-wrap; }
.deck-proposal-stats { display: flex; flex-wrap: wrap; gap: 7px; }
.deck-proposal-actions { display: flex; flex-wrap: wrap; gap: 7px; }
.deck-proposal-detail { display: grid; gap: 14px; }
.deck-proposal-detail.is-hidden { display: none; }
.deck-proposal-back { justify-self: start; }
.deck-proposal-detail > p { margin: 0; color: var(--text-subtle); font-size: .7rem; line-height: 1.55; white-space: pre-wrap; }
.deck-proposal-detail-actions { display: flex; flex-wrap: wrap; gap: 7px; }
.deck-proposal-detail-diff { display: grid; gap: 12px; }
.deck-proposal-actions .button { min-height: 30px; padding: 5px 9px; font-size: .64rem; }
.card-row {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  gap: 20px;
  align-items: start;
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #1a1c20;
}
@property --card-filter-highlight-angle { syntax: "<angle>"; initial-value: 0deg; inherits: false; }
.card-row.is-card-filter-highlight > .card-art-wrap::after { position: absolute; z-index: 4; inset: -5px; content: ""; padding: 3px; border-radius: 10px; background: conic-gradient(from var(--card-filter-highlight-angle), rgba(242,239,230,.48) 0 68%, var(--cream) 76%, #fff 82%, var(--cream) 88%, rgba(242,239,230,.48) 100%); box-shadow: 0 0 0 1px rgba(17,18,21,.9), 0 0 18px var(--action-primary-glow-strong); pointer-events: none; -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); mask-composite: exclude; animation: card-filter-highlight-orbit 1.45s linear infinite; }
.deck-list.is-list .card-row.is-card-filter-highlight,
.card-row-unresolved.is-card-filter-highlight { border-color: var(--cream); background: #24262a; box-shadow: inset 4px 0 0 var(--cream), 0 0 16px var(--action-primary-glow); }
@keyframes card-filter-highlight-orbit { to { --card-filter-highlight-angle: 360deg; } }
@media (prefers-reduced-motion: reduce) { .card-row.is-card-filter-highlight > .card-art-wrap::after { animation: none; } }

.card-art-wrap { position: relative; width: 170px; aspect-ratio: 63/88; margin: 0 auto; border-radius: 7px; background: transparent; }
.card-art-primary { width: 100%; height: 100%; display: block; padding: 0; border: 0; border-radius: inherit; background: transparent; cursor: pointer; }
.card-art-wrap::before { position: absolute; z-index: 3; top: 50%; left: 50%; width: 24px; height: 24px; content: ""; border: 2px solid #555962; border-top-color: #d0d3d8; border-radius: 50%; opacity: 0; transform: translate(-50%, -50%); pointer-events: none; }
.card-art-wrap.is-loading, .card-art-wrap.is-error { background: #121316; }
.card-art-wrap.is-loading::before { opacity: 1; animation: printing-image-spin .7s linear infinite; }
.card-art-primary:focus-visible { outline: 0; }
.card-art { width: 100%; height: 100%; display: block; border: 1px solid #484b52; border-radius: 7px; object-fit: cover; background: #121316; opacity: 1; transition: opacity .15s ease; }
.card-art-wrap.is-loading .card-art { opacity: 0; }
.card-art-wrap.is-loading .card-hover-actions { opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; }
.card-art-wrap[draggable="true"] { cursor: grab; }
.is-card-drop-settling .card-hover-actions { opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; }
.card-hover-actions { position: absolute; z-index: 5; inset: 0; min-height: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(4, minmax(0, 1fr)); overflow: hidden; border: 2px solid rgba(145,150,160,.88); border-radius: inherit; background: rgba(17,18,21,.28); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity var(--card-overlay-reveal-duration) ease, visibility 0s linear var(--card-overlay-reveal-duration); }
.card-art-wrap:hover .card-hover-actions,
.card-art-wrap:has(:focus-visible) .card-hover-actions,
.card-hover-actions.is-interacting { opacity: 1; visibility: visible; pointer-events: auto; transition-delay: 0s; }
.card-art-wrap:hover .card-hover-actions,
.card-art-wrap:has(:focus-visible) .card-hover-actions,
.card-hover-actions.is-interacting,
.card-row.is-card-overlay-active .card-hover-actions { border: 4px solid var(--action-primary); }
.card-hover-action { min-width: 0; min-height: 0; display: grid; place-items: center; padding: 0 10px; border: 0; border-right: 1px solid rgba(220,222,226,.16); border-bottom: 1px solid rgba(220,222,226,.16); color: #e4e6ea; background: rgba(39,42,47,.22); cursor: pointer; font: inherit; font-size: .72rem; font-weight: 400; line-height: 1.4; text-align: center; white-space: pre-line; }
.card-hover-action .lucide-icon { width: 32px; height: 32px; }
.card-hover-action.is-add { grid-row: 1; grid-column: 1; }
.card-hover-action.is-remove { grid-row: 1; grid-column: 2; border-right: 0; }
.card-hover-action.is-zoom { grid-row: 2; grid-column: 1; }
.card-hover-action.is-prints { grid-row: 2; grid-column: 2; border-right: 0; }
.card-hover-action.is-settings { grid-row: 3; grid-column: 1; }
.card-hover-action.is-tags { grid-row: 3; grid-column: 2; border-right: 0; }
.card-hover-action.is-favorite-print { grid-row: 4; grid-column: 1; border-bottom: 0; }
.card-hover-action.is-duplicate { grid-row: 4; grid-column: 2; border-right: 0; border-bottom: 0; }
.card-hover-action.is-favorite-print.is-active { color: var(--cream); background: rgba(74,78,86,.58); }
.card-hover-action:hover, .card-hover-action:focus-visible { outline: none; background: rgba(74,78,86,.58); }
.card-hover-action:disabled { cursor: not-allowed; opacity: .38; }
.card-hover-action:disabled:hover { background: rgba(39,42,47,.22); }
.card-indicator-rail { --card-indicator-divider: rgba(224,226,230,.3); position: absolute; z-index: 7; top: 13%; right: -8px; width: 44px; display: flex; flex-direction: column; padding: 3px; overflow: visible; border: 0; border-radius: var(--radius-indicator); background: var(--glass-bar-background); -webkit-backdrop-filter: var(--glass-bar-filter); backdrop-filter: var(--glass-bar-filter); box-shadow: none; pointer-events: none; }
.card-indicator-rail:empty { display: none; }
.quantity-stack,
.image-quality-indicator,
.foil-indicator { position: static; width: 100%; min-width: 0; min-height: 37px; display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; padding: 4px 2px; overflow: hidden; border: 0; border-radius: 0; color: #e0e2e6; background: transparent; box-shadow: none; font-size: .58rem; font-weight: 800; line-height: 1; letter-spacing: .03em; text-overflow: ellipsis; white-space: nowrap; }
.quantity-stack { order: 10; pointer-events: none; }
.image-quality-indicator { order: 20; pointer-events: auto; }
.foil-indicator { order: 30; color: #fff; pointer-events: auto; }
.quantity-stack,
.card-indicator-rail:has(.foil-indicator, .card-face-flip) .image-quality-indicator,
.card-indicator-rail:has(.card-face-flip) .foil-indicator { border-bottom: 1px solid var(--card-indicator-divider); }
.quantity-stack .lucide-icon,
.image-quality-indicator .lucide-icon,
.foil-indicator .lucide-icon { width: 18px; height: 18px; }
.image-quality-indicator.is-high { color: #e0e2e6; }
.image-quality-indicator.is-warning { color: #efc967; }
.image-quality-indicator.is-low { color: var(--brand-red-icon); }
.image-quality-indicator.is-missing { color: var(--brand-red-icon); }
.image-quality-indicator.is-unknown { color: #b4b7bd; }
.hide-card-indicators .card-image-indicator,
.hide-card-indicators .quantity-stack { display: none !important; }
.hide-card-indicators .card-indicator-rail:not(:has(.card-face-flip)) { display: none; }
.card-face-flip { position: relative; order: 40; width: 100%; height: 36px; display: grid; place-items: center; margin: 4px 0 0; padding: 0; border: 0; border-radius: var(--radius-indicator); color: #e0e2e6; background: transparent; box-shadow: none; cursor: pointer; pointer-events: auto; }
.card-face-flip:hover, .card-face-flip:focus-visible { outline: none; color: #fff; background: rgba(74,78,86,.58); }
.card-face-flip:focus-visible { box-shadow: 0 0 0 2px #b7bac1; }
.card-face-flip:disabled { cursor: pointer; opacity: .65; }
.card-face-flip .lucide-icon { width: 20px; height: 20px; }
.card-art-wrap.is-flipping .card-hover-actions,
.is-flipping .card-indicator-rail { visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; }
.is-card-flipping { transform-style: preserve-3d; backface-visibility: hidden; animation: card-face-flip .28s ease-in-out; }
@keyframes card-face-flip {
  0% { transform: perspective(900px) rotateY(0deg); }
  48% { transform: perspective(900px) rotateY(90deg); }
  52% { transform: perspective(900px) rotateY(-90deg); }
  100% { transform: perspective(900px) rotateY(0deg); }
}
@media (prefers-reduced-motion: reduce) { .is-card-flipping { animation: none; } }
.deck-list .card-quality-indicator,
.printing-image-frame .card-quality-indicator { display: inline-flex; }
.card-list-content { min-width: 0; display: grid; align-content: start; gap: 10px; }
.card-identity { min-width: 0; }
.card-identity h3 { margin: 0; overflow: hidden; font-family: inherit; font-size: 1.04rem; font-weight: 600; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.card-list-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.card-list-action { min-height: 30px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 6px 9px; border: 0; border-radius: var(--radius-indicator); color: #d8dade; background: var(--control-background); cursor: pointer; font-size: .68rem; font-weight: var(--control-font-weight); line-height: 1.2; }
.card-list-action .lucide-icon { width: 14px; height: 14px; flex: 0 0 auto; }
.card-list-action:hover:not(:disabled) { background: #41454d; }
.card-list-action:focus-visible { outline: 2px solid #aeb2ba; outline-offset: 2px; }
.card-list-action:disabled { opacity: .4; cursor: not-allowed; }
.resolved-query { color: var(--muted); font-size: .72rem; }
.requested-missing { color: var(--danger); }
.field { min-width: 0; }
.field-heading { min-height: 18px; display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.field label { display: block; }
.edition-field label, .language-field label { font-weight: 400; }
.section-field label, .preview-quantity-field label { font-weight: var(--control-font-weight); }
.card-row select { font-size: .7rem; }
.settings-select-control,
.settings-quantity-control { position: relative; min-width: 0; margin-top: 7px; }
.settings-select-control select,
.settings-quantity-control input {
  height: 38px;
  min-height: 38px;
  margin-top: 0;
  padding: 8px 34px 8px 11px;
  border: 0;
  border-radius: var(--radius-control);
  color: #e0e2e6;
  background: var(--control-background);
  box-shadow: none;
}
.settings-select-control select {
  appearance: none;
  cursor: pointer;
}
.settings-select-control.has-marquee select { color: transparent; }
.settings-select-control.has-marquee select option { color: #e0e2e6; }
.settings-select-marquee {
  position: absolute;
  inset: 0 34px 0 11px;
  display: flex;
  align-items: center;
  overflow: hidden;
  color: #e0e2e6;
  font-size: .72rem;
  white-space: nowrap;
  pointer-events: none;
}
.settings-select-marquee-track { width: max-content; display: inline-flex; animation: settings-select-marquee 18s linear infinite; }
.settings-select-marquee-item { flex: 0 0 auto; padding-right: 32px; }
@keyframes settings-select-marquee {
  0%, 12% { transform: translateX(0); }
  88%, 100% { transform: translateX(-50%); }
}
.settings-select-control:hover .settings-select-marquee-track { animation-play-state: paused; }
.settings-quantity-control input {
  appearance: textfield;
  -moz-appearance: textfield;
}
.settings-quantity-control input::-webkit-inner-spin-button,
.settings-quantity-control input::-webkit-outer-spin-button { margin: 0; appearance: none; }
.settings-select-control select:hover,
.settings-quantity-control input:hover { background: #393d44; }
.settings-select-control select:focus-visible,
.settings-quantity-control input:focus-visible {
  border: 0;
  background: #393d44;
  box-shadow: 0 0 0 2px rgba(174,178,186,.72);
}
.settings-select-control > .lucide-icon {
  position: absolute;
  top: 50%;
  right: 10px;
  width: 14px;
  height: 14px;
  color: #b9bdc4;
  background: var(--control-background);
  pointer-events: none;
  transform: translateY(-50%);
}
.quantity-stepper { position: absolute; top: 0; right: 0; width: 30px; height: 38px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 0 var(--radius-control) var(--radius-control) 0; color: #b9bdc4; background: #3b3e45; cursor: pointer; }
.quantity-stepper .lucide-icon { width: 16px; height: 16px; pointer-events: none; }
.quantity-stepper:hover { color: #f0f1f3; background: var(--control-background-active); }
.quantity-stepper:focus-visible { outline: 2px solid #aeb2ba; outline-offset: -3px; }
.settings-select-control:hover > .lucide-icon,
.settings-select-control:focus-within > .lucide-icon { background: #393d44; }
.quality-readout { margin-top: 8px; color: #c3c6cc; font-size: .7rem; line-height: 1.4; white-space: nowrap; }
.quantity-edit { grid-column: 2; align-self: end; display: flex; align-items: center; justify-content: flex-end; gap: 7px; margin-top: 0; }
.quantity-edit .settings-quantity-control { width: 72px; margin-top: 0; }
.quantity-edit input { width: 100%; }
.remove-card { width: 38px; min-width: 38px; height: 38px; min-height: 38px; display: grid; place-items: center; padding: 0; border: 0; border-radius: var(--radius-control); color: var(--brand-red-icon); background: rgba(53,24,23,.4); cursor: pointer; }
.remove-card .lucide-icon { width: 16px; height: 16px; }
.remove-card:hover, .remove-card:focus-visible { color: var(--brand-red-text); outline: none; background: var(--brand-red-surface); }
.card-row-unresolved { grid-template-columns: minmax(0, 1fr); border-color: rgba(169,72,66,.42); background: #211918; }
.card-row-unresolved h3 { color: var(--brand-red-text); }
.unresolved-detail { margin: 5px 0 0; color: var(--brand-red-icon); font-size: .76rem; }
.card-row-unresolved .correction-form,
.card-row-unresolved .correction-form label,
.guessed-card-review .correction-form,
.guessed-card-review .correction-form label { min-width: 0; }
.card-row-unresolved .correction-form label,
.card-row-unresolved .correction-form input,
.card-row-unresolved .correction-form .button,
.guessed-card-review .correction-form label,
.guessed-card-review .correction-form input,
.guessed-card-review .correction-form .button { font-weight: var(--control-font-weight); }
.card-row-guessed .card-hover-actions { display: none; }
.card-row-guessed .card-image-indicator,
.card-row-guessed .quantity-stack { display: none !important; }
.guessed-card-review { position: absolute; z-index: 8; inset: 0; display: flex; min-width: 0; min-height: 0; flex-direction: column; justify-content: flex-start; padding: 14px; overflow-x: hidden; overflow-y: auto; scrollbar-width: thin; border-radius: inherit; color: #f4e8e6; background: linear-gradient(to bottom, rgba(93,35,31,.8), rgba(45,18,17,.94)); }
.guessed-card-review h3 { margin: 0; overflow: hidden; color: var(--brand-red-text); font-family: inherit; font-size: 1.04rem; font-weight: 600; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.guessed-card-review p { margin: 5px 0 0; color: var(--brand-red-icon); font-size: .76rem; line-height: normal; }
.guessed-card-confirm { width: 100%; min-height: 38px; height: 38px; margin-top: 12px; padding: 8px 14px; border-radius: 6px; font-size: .75rem; font-weight: var(--control-font-weight); }
.guessed-correction-form { display: flex; flex-direction: column; align-items: stretch; gap: 9px; margin-top: 12px; }
.guessed-correction-form label { display: grid; gap: 7px; }
.guessed-correction-form input { width: 100%; max-width: 100%; }
.guessed-correction-form .button { width: 100%; }
.guessed-card-review .correction-message { margin-top: 7px; color: #ffd7d3; font-size: .72rem; line-height: 1.3; }
.correction-form { display: flex; align-items: end; gap: 9px; margin-top: 12px; }
.correction-form label { flex: 1 1 auto; }
.correction-form input { min-width: 0; max-width: 100%; height: 38px; padding: 8px 10px; border-radius: 6px; font-size: .75rem; }
.correction-form .button { min-height: 38px; height: 38px; padding: 8px 14px; border-radius: 6px; font-size: .75rem; }
.correction-message { margin-top: 7px; color: var(--danger); font-size: .72rem; }
.correction-suggestions { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 9px; color: var(--muted); font-size: .72rem; }
.correction-suggestions:empty { display: none; }
.correction-suggestions button { max-width: 100%; min-height: 28px; padding: 5px 9px; overflow-wrap: anywhere; border: 0; border-radius: var(--radius-control); color: var(--cream); background: var(--control-background); cursor: pointer; font: inherit; text-align: left; }
.correction-suggestions button:hover, .correction-suggestions button:focus-visible { background: var(--control-background-active); outline: none; }

.card-settings { display: contents; }
.card-settings-body { min-width: 0; display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(112px, .75fr); gap: 10px 12px; align-items: start; }
.card-settings > summary { display: none; }
.image-information-field { min-width: 0; grid-column: 1; }

.deck-list.is-grid .deck-section-cards { grid-template-columns: repeat(auto-fit, minmax(230px, 250px)); justify-content: center; align-items: start; }
.deck-list.is-grid .deck-card-group { width: min(100%, var(--deck-group-grid-width, 246px)); }
.deck-list.is-grid .deck-card-group-content-inner > .deck-section-cards { grid-template-columns: repeat(auto-fit, minmax(230px, 246px)); grid-auto-flow: row; justify-content: start; }
.deck-list.is-list .deck-section-cards > .card-row:only-child { width: min(100%, 760px); justify-self: start; }
.deck-list:is(.is-grid, .is-visual-grid, .is-visual-stacks) .card-row:not(.card-row-unresolved) { position: relative; display: block; padding: 0; border: 0; border-radius: 7px; background: transparent; }
.deck-list:is(.is-grid, .is-visual-grid, .is-visual-stacks) .card-row-unresolved { aspect-ratio: 63 / 88; display: flex; justify-self: center; padding: 14px; overflow: hidden; }
.deck-list:is(.is-grid, .is-visual-grid, .is-visual-stacks) .card-row-unresolved .card-identity { width: 100%; height: 100%; min-height: 0; overflow-x: hidden; overflow-y: auto; scrollbar-width: thin; }
.deck-list:is(.is-grid, .is-visual-grid, .is-visual-stacks) .correction-form { align-items: stretch; flex-direction: column; }
.deck-list:is(.is-grid, .is-visual-grid, .is-visual-stacks) .correction-form label { display: grid; gap: 7px; }
.deck-list:is(.is-grid, .is-visual-grid, .is-visual-stacks) .correction-form input { width: 100%; }
.deck-list.is-grid .card-art-wrap,
.deck-list.is-grid .card-row-unresolved { width: min(100%, var(--deck-visual-card-width)); }

.deck-list.is-visual-grid .deck-card-group { width: min(100%, var(--deck-group-visual-grid-width, 246px)); }
.deck-list.is-visual-stacks .deck-card-group { width: min(100%, var(--deck-group-visual-stacks-width, 246px)); }
.deck-list.is-visual-grid .deck-section-cards,
.deck-list.is-visual-stacks .deck-section-cards {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--deck-visual-card-width)), 246px));
  grid-auto-flow: row;
  align-items: start;
  justify-content: start;
  column-gap: 12px;
  row-gap: 0;
  overflow: visible;
}
.deck-list.is-visual-grid .deck-section-cards {
  grid-auto-rows: 146px;
  padding-bottom: 176px;
}
.deck-list.is-visual-stacks .deck-section-cards {
  grid-auto-rows: 36px;
  padding-bottom: 286px;
}
.deck-list.is-visual-grid .card-row:not(.card-row-unresolved),
.deck-list.is-visual-grid .card-art-wrap,
.deck-list.is-visual-grid .card-row-unresolved,
.deck-list.is-visual-stacks .card-row:not(.card-row-unresolved),
.deck-list.is-visual-stacks .card-art-wrap,
.deck-list.is-visual-stacks .card-row-unresolved { width: min(100%, var(--deck-visual-card-width)); }
.deck-list:is(.is-visual-grid, .is-visual-stacks) .card-row:not(.card-row-unresolved) { z-index: 1; }
.deck-list:is(.is-visual-grid, .is-visual-stacks) .card-row:not(.card-row-unresolved) > .card-art-wrap {
  transform: translateY(var(--deck-card-spread-shift, 0px));
  transition: transform var(--deck-card-spread-duration) cubic-bezier(.2,.76,.18,1), filter .28s ease;
  will-change: transform;
}
.deck-list:is(.is-visual-grid, .is-visual-stacks) .card-row-unresolved {
  transform: translateY(var(--deck-card-spread-shift, 0px));
  transition: transform var(--deck-card-spread-duration) cubic-bezier(.2,.76,.18,1);
}
.deck-list:is(.is-visual-grid, .is-visual-stacks) .card-row:is(.is-card-spread-arriving, .is-card-spread-departing, .is-card-spread-settled):not(.card-row-unresolved) {
  z-index: 30;
}
.deck-list:is(.is-visual-grid, .is-visual-stacks) .card-row.is-card-spread-active:not(.card-row-unresolved) > .card-art-wrap {
  filter: drop-shadow(0 14px 16px rgba(0,0,0,.5));
}
.deck-list:is(.is-visual-grid, .is-visual-stacks) .card-row.is-card-overlay-active .card-hover-actions {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition-delay: 0s;
}
.deck-list:is(.is-visual-grid, .is-visual-stacks).has-active-card-overlay .card-row:not(.is-card-overlay-active) .card-hover-actions {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
.deck-list.is-visual-stacks .card-row:not(.is-card-stack-front):not(.is-card-overlay-active) .card-indicator-rail {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}
.deck-list:is(.is-visual-grid, .is-visual-stacks) .deck-card-group:has(.card-row.is-card-spread-active) { position: relative; z-index: 4; }

.deck-controls { --deck-control-region-gap: 16px; display: grid; grid-template-columns: auto minmax(360px, 480px) minmax(0, 1fr); align-items: center; gap: var(--deck-control-region-gap); }
.deck-view-controls { min-width: 0; min-height: 38px; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.deck-search-filter-controls { position: relative; min-width: 0; display: grid; grid-template-columns: minmax(230px, 1fr) auto; align-items: center; gap: 9px; }
.deck-search-filter-controls::before,
.deck-output-controls::before { content: ""; position: absolute; top: 4px; bottom: 4px; left: calc(var(--deck-control-region-gap) / -2); width: 1px; background: rgba(112,117,126,.55); transform: translateX(-50%); }
.deck-view-option-icons { display: inline-flex; align-items: center; gap: 3px; color: #aeb2ba; }
.deck-view-option-icons .lucide-icon { width: 14px; height: 14px; }
.deck-view-toggle-control { min-height: var(--control-height); display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 3px; padding: 6px 3px 0 9px; border-top: 1px solid rgba(112,117,126,.35); color: #c9ccd2; font-size: .7rem; }
.deck-view-toggle-control + .deck-view-toggle-control { margin-top: 0; padding-top: 3px; border-top: 0; }
.deck-view-toggle-control > div { height: 30px; display: inline-flex; padding: 2px; border-radius: var(--radius-control); background: var(--control-background); }
.deck-view-toggle-control button { width: 30px; height: 26px; display: grid; place-items: center; padding: 0; border: 0; border-radius: var(--radius-indicator); color: var(--muted); background: transparent; cursor: pointer; }
.deck-view-toggle-control button:hover, .deck-view-toggle-control button:focus-visible { outline: none; color: white; background: rgba(255,255,255,.07); }
.deck-view-toggle-control button.is-active { color: white; background: var(--control-background-active); }
.deck-view-toggle-control .lucide-icon { width: 14px; height: 14px; }
.deck-output-controls { position: relative; min-width: 0; min-height: 38px; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 9px; }
.deck-generate-pdf {
  flex: 0 0 auto;
  gap: 7px;
}
.deck-generate-pdf .lucide-icon { width: 15px; height: 15px; }
.print-settings-button { flex: 0 0 auto; height: var(--control-height); gap: 7px; padding-top: 0; padding-bottom: 0; font-weight: var(--control-font-weight); }
.print-settings-button .lucide-icon { width: 15px; height: 15px; }
.card-search-control { position: relative; z-index: 2; min-width: 0; width: 100%; height: var(--control-height); margin: 0; }
.mobile-controls-open { display: none; }
.card-search-suggestions { position: absolute; z-index: 40; top: calc(100% + 6px); right: 0; width: min(max(100%, var(--suggestion-target-width, 310px)), calc(100vw - 36px)); max-height: min(300px, 44vh); padding: 5px; overflow-y: auto; border-radius: var(--radius-panel); background: #202227; box-shadow: 0 12px 28px rgba(0,0,0,.28); }
.card-search-suggestions-loading { min-height: 54px; display: flex; align-items: center; justify-content: center; gap: 10px; padding: 10px 12px; color: var(--muted); font-size: .72rem; }
.card-search-suggestions-spinner { width: 20px; height: 20px; flex: 0 0 20px; border: 2px solid #555962; border-top-color: #d0d3d8; border-radius: 50%; animation: card-search-suggestions-spin .7s linear infinite; }
@keyframes card-search-suggestions-spin { to { transform: rotate(360deg); } }
.card-search-suggestion { width: 100%; min-height: var(--control-height); display: grid; grid-template-columns: 108px minmax(0, 1fr); align-items: center; gap: 10px; padding: 8px 10px; border: 0; border-radius: var(--radius-control); color: #f0f1f3; background: transparent; cursor: pointer; font-size: .72rem; font-weight: var(--control-font-weight); line-height: 1.35; text-align: left; }
.card-search-suggestion-meta { display: grid; grid-template-columns: minmax(0, 1fr) 27px; align-items: center; gap: 6px; color: var(--muted); white-space: nowrap; }
.card-search-suggestion-detail { display: inline-flex; align-items: center; gap: 4px; min-width: 0; }
.card-search-suggestion-detail .lucide-icon { width: 12px; height: 12px; }
.card-search-suggestion-name { min-width: 0; overflow-wrap: anywhere; }
.card-search-suggestion-language { color: var(--muted); white-space: nowrap; }
.card-search-suggestion:hover, .card-search-suggestion.is-active, .card-search-suggestion:focus-visible { outline: none; color: #f0f1f3; background: var(--control-background-active); }
.card-search-suggestions.has-keyboard-active .card-search-suggestion:hover:not(.is-active) { background: transparent; }
.card-search-artwork { position: fixed; z-index: 1001; width: min(250px, calc(100vw - 24px)); padding: 6px; border-radius: var(--radius-panel); background: #202227; box-shadow: 0 12px 28px rgba(0,0,0,.35); visibility: hidden; opacity: 0; transform: translateY(4px); pointer-events: none; transition: opacity .18s ease, transform .18s ease, visibility 0s linear .18s; }
.card-search-artwork.is-visible { visibility: visible; opacity: 1; transform: translateY(0); pointer-events: auto; transition-delay: 0s; }
.card-search-artwork-image-frame { position: relative; overflow: hidden; border-radius: var(--radius-control); }
.card-search-artwork img { width: 100%; aspect-ratio: 63 / 88; display: block; border-radius: inherit; object-fit: contain; background: #141519; opacity: 1; transition: opacity .14s ease; }
.card-search-artwork.is-loading img { opacity: .2; }
.card-search-artwork-overlay { position: absolute; inset: 0; display: grid; place-items: center; padding: 18px; visibility: hidden; opacity: 0; background: rgba(17,18,21,.76); pointer-events: none; transition: opacity .14s ease, visibility 0s linear .14s; }
.card-search-artwork-image-frame:hover .card-search-artwork-overlay,
.card-search-artwork-image-frame:focus-within .card-search-artwork-overlay { visibility: visible; opacity: 1; pointer-events: auto; transition-delay: 0s; }
.card-search-artwork-overlay button { min-height: var(--control-height); display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; border: 0; border-radius: var(--radius-control); color: #e6e8eb; background: var(--control-background-active); cursor: pointer; font-size: .7rem; font-weight: var(--control-font-weight); }
.card-search-artwork-overlay button:hover, .card-search-artwork-overlay button:focus-visible { outline: none; color: white; background: #41454d; }
.card-search-artwork-overlay .lucide-icon { width: 17px; height: 17px; }
.card-search-artwork-controls { display: flex; align-items: center; justify-content: space-between; gap: 5px; padding-top: 6px; color: var(--muted); font-size: .68rem; }
.card-search-artwork-controls button { width: 32px; height: 28px; display: grid; place-items: center; border: 0; border-radius: var(--radius-control); color: #d2d5da; background: #34373d; cursor: pointer; }
.card-search-artwork-controls button:hover:not(:disabled), .card-search-artwork-controls button:focus-visible { outline: none; background: #484c54; }
.card-search-artwork-controls button:disabled { opacity: .35; cursor: default; }
.card-search-artwork-controls .lucide-icon { width: 15px; height: 15px; }
.issue-filter-switch { flex: 0 0 auto; }
.issue-filter-switch .view-tab { color: rgba(255,255,255,.62); }
.issue-filter-switch .view-tab:hover, .issue-filter-switch .view-tab:focus-visible { color: white; outline: none; background: rgba(255,255,255,.08); }
.issue-filter-switch .view-switch-label { color: inherit; border-right-color: rgba(255,255,255,.2); }
.unrecognized-filter-switch { color: var(--brand-red-text); background: var(--brand-red-surface); }
.unrecognized-filter-switch .view-tab.is-active { color: white; background: var(--brand-red-hover); }
.deck-filter-mode-row { display: grid; grid-template-columns: minmax(0, 1fr) 34px; gap: 6px; margin: 1px 8px 7px; }
.deck-filter-mode-control { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px; padding: 2px; border-radius: var(--radius-control); background: var(--control-background); }
.deck-filter-mode-control button { min-width: 0; min-height: 30px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 5px 7px; border: 0; border-radius: var(--radius-indicator); color: var(--muted); background: transparent; cursor: pointer; font: inherit; font-size: .68rem; font-weight: var(--control-font-weight); }
.deck-filter-mode-control button:hover, .deck-filter-mode-control button:focus-visible { outline: none; color: white; background: rgba(255,255,255,.07); }
.deck-filter-mode-control button.is-active { color: white; background: var(--control-background-active); }
.deck-filter-mode-control .lucide-icon { width: 14px; height: 14px; }
.deck-filter-control { margin: 0; padding: 5px 3px 5px 9px; border-top: 0; }
.deck-filter-field + .deck-filter-control:not(.is-hidden),
.deck-filter-field + .deck-filter-control.is-hidden + .deck-filter-control:not(.is-hidden) { border-top: 1px solid rgba(112,117,126,.35); }
.image-information-heading { color: #d0d3d8; font-size: .82rem; font-weight: 400; }
.image-information { display: grid; gap: 6px; margin: 5px 0 0; padding: 9px 10px; border: 0; border-radius: var(--radius-control); background: var(--control-background); }
.image-information > div { min-width: 0; display: grid; grid-template-columns: minmax(92px, .7fr) minmax(0, 1fr); gap: 8px; align-items: baseline; }
.image-information dt, .image-information dd { min-width: 0; overflow: hidden; font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.image-information dt { color: #a1a5ad; font-family: inherit; }
.image-information dd { margin: 0; color: #d7d9de; }

.deck-stats-band { position: fixed; z-index: 40; right: 0; bottom: 0; left: 0; min-height: 42px; display: flex; align-items: center; justify-content: flex-start; gap: 16px; overflow-x: auto; padding: 8px 18px; border: 0; color: #d5d8dd; background: var(--glass-bar-background); -webkit-backdrop-filter: var(--glass-bar-filter); backdrop-filter: var(--glass-bar-filter); opacity: 1; transition: opacity .2s ease, visibility 0s linear 0s; scrollbar-width: none; }
.deck-stats-band::-webkit-scrollbar { display: none; }
.deck-stats-band.is-past-footer { opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .2s ease, visibility 0s linear .2s; }
.deck-stats-sections, .deck-stats-types, .deck-stats-average { display: flex; align-items: center; gap: 12px; white-space: nowrap; }
.deck-stats-sections { padding-right: 16px; border-right: 1px solid rgba(195,198,204,.25); }
.deck-stats-section, .deck-stats-type { display: inline-flex; align-items: center; gap: 5px; font-size: .67rem; font-weight: var(--control-font-weight); }
.deck-stats-section > span, .deck-stats-type > span { color: #f0f1f3; font-variant-numeric: tabular-nums; }
.deck-stats-type .lucide-icon { width: 13px; height: 13px; color: var(--muted); }
.deck-stats-types { padding-right: 16px; border-right: 1px solid rgba(195,198,204,.25); }
.deck-stats-average { padding-right: 16px; border-right: 1px solid rgba(195,198,204,.25); }
.deck-stats-average-item { display: inline-flex; align-items: center; gap: 7px; }
.deck-stats-average-item > .lucide-icon { width: 17px; height: 17px; color: var(--muted); }
.deck-stats-average-metric { display: flex; flex-direction: column; align-items: center; gap: 1px; color: #f0f1f3; font-size: .67rem; font-variant-numeric: tabular-nums; line-height: 1; }
.deck-stats-average-metric small { color: var(--muted); font-size: .53rem; font-weight: var(--control-font-weight); }
.deck-stats-mana { display: flex; align-items: center; gap: 12px; white-space: nowrap; }
.deck-stats-mana-color { display: inline-flex; align-items: center; gap: 5px; }
.deck-stats-mana-color img { display: block; flex: none; width: 22px; height: 22px; }
.deck-stats-mana-metric { display: flex; min-width: 23px; flex-direction: column; align-items: center; gap: 1px; color: #f0f1f3; font-size: .67rem; font-variant-numeric: tabular-nums; line-height: 1; }
.deck-stats-mana-metric small { color: var(--muted); font-size: .53rem; font-weight: var(--control-font-weight); line-height: 1; }
.deck-stats-mana-value { display: inline-flex; align-items: baseline; gap: 3px; }
.deck-stats-mana-percent { color: var(--muted); }
.deck-stat-roller { --deck-stat-roll-step-height: 1.18em; width: var(--deck-stat-roll-width); height: var(--deck-stat-roll-step-height); display: inline-block; overflow: hidden; line-height: var(--deck-stat-roll-step-height); vertical-align: middle; }
.deck-stat-roll-track { display: flex; flex-direction: column; align-items: center; line-height: var(--deck-stat-roll-step-height); will-change: transform; }
.deck-stat-roll-track > span { width: 100%; height: var(--deck-stat-roll-step-height); flex: 0 0 var(--deck-stat-roll-step-height); display: block; text-align: center; }
.deck-stat-roller.is-rolling-up .deck-stat-roll-track { animation: deck-stat-roll-up var(--deck-stat-roll-duration) cubic-bezier(.1,.78,.16,1) both; }
.deck-stat-roller.is-rolling-down .deck-stat-roll-track { animation: deck-stat-roll-down var(--deck-stat-roll-duration) cubic-bezier(.1,.78,.16,1) both; }
@keyframes deck-stat-roll-up { from { transform: translateY(0); } to { transform: translateY(var(--deck-stat-roll-distance)); } }
@keyframes deck-stat-roll-down { from { transform: translateY(var(--deck-stat-roll-distance)); } to { transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) {
  .deck-stat-roller .deck-stat-roll-track { animation: none; }
  .deck-stat-roller.is-rolling-up .deck-stat-roll-track { transform: translateY(var(--deck-stat-roll-distance)); }
  .deck-stat-roller.is-rolling-down .deck-stat-roll-track { transform: translateY(0); }
}

.card-preview {
  width: min(96vw, 1180px);
  max-width: 1180px;
  max-height: 94vh;
  margin: auto;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--line-bright);
  border-radius: 8px;
  color: var(--cream);
  background: #17191c;
  box-shadow: 0 28px 90px rgba(0,0,0,.7);
}
.card-preview::backdrop { background: rgba(0,0,0,.84); }
.card-preview-content { position: relative; height: min(94vh, 880px); min-height: 0; display: grid; grid-template-columns: minmax(400px, 1.25fr) minmax(310px, .75fr); gap: 24px; align-items: start; overflow: hidden; padding: 24px; }
.card-preview-visual { position: relative; min-width: 0; min-height: 0; display: grid; justify-items: center; }
.card-preview-image-stage { width: 100%; min-width: 0; min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; justify-items: center; gap: 8px; }
.card-preview-artwork-column { width: min(100%, 55.84vh, 560px); min-width: 0; display: grid; justify-items: stretch; gap: 12px; }
.card-preview-image-frame { position: relative; width: 100%; max-width: 100%; aspect-ratio: 63 / 88; }
.card-preview-image-frame::before,
.card-preview-gallery-choice::before { position: absolute; z-index: 1; top: 50%; left: 50%; width: 24px; height: 24px; content: ""; border: 2px solid #555962; border-top-color: #d0d3d8; border-radius: 50%; opacity: 0; transform: translate(-50%, -50%); pointer-events: none; }
.card-preview-image-frame::before { width: 30px; height: 30px; border-width: 3px; }
.card-preview-image-frame.is-loading::before,
.card-preview-gallery-choice.is-loading::before { opacity: 1; animation: spin .7s linear infinite; }
.card-preview #card-preview-image { width: 100%; height: 100%; display: block; border-radius: 14px; object-fit: contain; transition: opacity .12s ease; }
.card-preview #card-preview-image.is-loading { opacity: 0; }
.card-preview-image-frame.is-loading .card-indicator-rail { opacity: 0; visibility: hidden; }
.card-preview #card-preview-caption { min-width: 0; overflow: hidden; margin: 0; color: var(--muted); font-size: .76rem; text-align: left; font-variant-numeric: tabular-nums; white-space: nowrap; }
.card-preview-caption-track { width: max-content; display: inline-flex; animation: card-preview-caption-marquee 18s linear infinite; }
.card-preview-caption-item { flex: 0 0 auto; padding-right: 32px; }
.card-preview-caption-item strong { color: var(--cream); font-weight: 700; }
@keyframes card-preview-caption-marquee {
  0%, 12% { transform: translateX(0); }
  88%, 100% { transform: translateX(-50%); }
}
.card-preview #card-preview-caption:hover .card-preview-caption-track { animation-play-state: paused; }
.card-preview-artwork-controls { width: 100%; min-width: 0; display: grid; grid-template-columns: 32px minmax(0, 1fr) 32px; align-items: center; gap: 8px; }
.card-preview-artwork-controls button { width: 32px; height: 28px; display: grid; place-items: center; padding: 0; border: 0; border-radius: var(--radius-control); color: #d2d5da; background: #34373d; cursor: pointer; }
.card-preview-artwork-controls button:hover:not(:disabled), .card-preview-artwork-controls button:focus-visible { outline: none; background: #484c54; }
.card-preview-artwork-controls button:focus-visible { box-shadow: 0 0 0 2px var(--action-primary-focus); }
.card-preview-artwork-controls button:disabled { opacity: .35; cursor: default; }
.card-preview-artwork-controls .lucide-icon { width: 15px; height: 15px; }
.card-preview-gallery { --preview-gallery-columns: 1; --preview-gallery-column-width: 68px; --preview-gallery-gap: 7px; width: var(--preview-gallery-column-width); height: min(78vh, 760px); min-height: 0; display: grid; grid-template-rows: 28px minmax(0, 1fr) 28px; gap: 6px; }
.card-preview-gallery.is-single-page { grid-template-rows: minmax(0, 1fr); }
.card-preview-gallery > button { width: 100%; height: 28px; display: grid; place-items: center; padding: 0; border: 0; border-radius: var(--radius-control); color: #d2d5da; background: var(--control-background); cursor: pointer; }
.card-preview-gallery > button[hidden] { display: none; }
.card-preview-gallery > button:hover:not(:disabled), .card-preview-gallery > button:focus-visible { outline: none; background: var(--control-background-active); }
.card-preview-gallery > button:focus-visible { box-shadow: 0 0 0 2px var(--action-primary-focus); }
.card-preview-gallery > button:disabled { opacity: .35; cursor: default; }
.card-preview-gallery > button .lucide-icon { width: 15px; height: 15px; }
.card-preview-gallery-list { min-height: 0; display: grid; grid-template-columns: repeat(var(--preview-gallery-columns), var(--preview-gallery-column-width)); grid-template-rows: repeat(5, auto); grid-auto-flow: column; align-content: start; gap: var(--preview-gallery-gap); overflow: hidden; }
.card-preview-gallery-list::-webkit-scrollbar { display: none; }
.card-preview-gallery-choice { position: relative; width: 100%; aspect-ratio: 63 / 88; display: block; overflow: hidden; padding: 2px; border: 0; border-radius: var(--radius-control); background: #30333a; cursor: pointer; opacity: .66; }
.card-preview-gallery-choice[hidden] { display: none; }
.card-preview-gallery-choice:hover, .card-preview-gallery-choice:focus-visible { outline: none; opacity: 1; background: var(--control-background-active); }
.card-preview-gallery-choice:focus-visible { box-shadow: inset 0 0 0 2px var(--action-primary-focus); }
.card-preview-gallery-choice.is-selected { opacity: 1; background: var(--cream); }
.card-preview .card-preview-gallery-choice img { width: 100%; height: 100%; display: block; border-radius: calc(var(--radius-control) - 2px); object-fit: cover; transition: opacity .12s ease; }
.card-preview .card-preview-gallery-choice.is-loading img { opacity: 0; }
.card-preview-options { min-width: 0; height: min(100%, var(--card-preview-options-height, 100%)); min-height: 0; display: grid; grid-template-rows: auto minmax(0, 1fr); align-content: start; gap: 14px; padding: 0 14px 4px 4px; overflow: hidden; }
.card-preview-tabs { justify-self: start; }
.card-preview-tabs .lucide-icon { width: 14px; height: 14px; }
.card-preview-panel { min-width: 0; min-height: 0; padding-right: 24px; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.card-preview-panel[hidden] { display: none; }
.card-settings-panel { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); align-content: start; gap: 14px 12px; }
.card-settings-panel > .image-information-field,
.preview-tags-field { grid-column: 1 / -1; }
.preview-tags-heading { display: block; color: #d0d3d8; font-size: .82rem; }
.preview-tags-field .card-tag-form { margin-top: 7px; }
.preview-tag-options { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.preview-tag-options .card-tag-option { width: auto; max-width: 100%; min-height: 30px; overflow: hidden; padding: 5px 8px; background: var(--control-background); text-overflow: ellipsis; white-space: nowrap; }
.card-info-panel { display: flex; flex-direction: column; gap: 12px; color: #e5e7ea; }
.card-info-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.card-info-heading h3 { min-width: 0; margin: 0; font-family: inherit; font-size: 1rem; font-weight: 600; line-height: 1.3; }
.card-info-mana-cost { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 2px; color: #d3d6dc; font-size: .78rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.card-info-symbol { width: 1.18em; height: 1.18em; display: inline-block; margin: 0 .06em; vertical-align: -.2em; }
.card-info-panel p { margin: 0; text-align: left; }
.card-info-type-line { color: #d5d8dd; font-size: .78rem; line-height: 1.45; }
.card-info-oracle-text { min-width: 0; padding-top: 11px; border-top: 1px solid var(--line); color: #edeef0; font-size: .78rem; line-height: 1.55; overflow-wrap: break-word; white-space: pre-wrap; }
.card-info-stats { align-self: flex-end; font-size: .9rem; font-variant-numeric: tabular-nums; }
.card-info-credits { display: grid; gap: 5px; margin: 0; padding-top: 11px; border-top: 1px solid var(--line); font-size: .72rem; }
.card-info-credits > div { display: grid; grid-template-columns: minmax(90px, auto) minmax(0, 1fr); gap: 10px; }
.card-info-credits dt { color: var(--muted); }
.card-info-credits dd { min-width: 0; margin: 0; }
.card-info-credits a { color: #e7e8eb; text-underline-offset: 2px; }
.card-info-panel h4 { margin: 3px 0 0; padding-top: 12px; border-top: 1px solid var(--line); font-size: .78rem; font-weight: var(--control-font-weight); }
.card-info-legalities { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px 16px; margin: 0; }
.card-info-legalities > div { min-width: 0; display: flex; align-items: baseline; justify-content: space-between; gap: 8px; padding: 5px 0; border-bottom: 1px solid rgba(112,117,126,.2); font-size: .69rem; }
.card-info-legalities > div[hidden] { display: none; }
.card-info-legalities dt { overflow: hidden; color: #d4d6db; text-overflow: ellipsis; white-space: nowrap; }
.card-info-legalities dd { min-width: 70px; flex: 0 0 auto; margin: 0; padding: 3px 6px; border-radius: var(--radius-indicator); color: var(--legality-status-foreground); background: var(--legality-unavailable-surface); line-height: 1.15; text-align: center; }
.card-info-legalities dd.is-legal { background: var(--legality-legal-surface); }
.card-info-legalities-toggle { width: fit-content; min-height: 28px; align-self: flex-start; }
.card-info-rulings { display: grid; gap: 10px; padding-top: 12px; border-top: 1px solid var(--line); }
.card-info-rulings[hidden] { display: none; }
.card-info-panel .card-info-rulings h4 { margin: 0; padding: 0; border: 0; font-size: .78rem; font-weight: var(--control-font-weight); }
.card-info-rulings-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.card-info-rulings-list li { display: grid; gap: 4px; padding-bottom: 10px; border-bottom: 1px solid rgba(112,117,126,.2); }
.card-info-rulings-list li[hidden] { display: none; }
.card-info-rulings-list time { color: var(--muted); font-size: .66rem; font-variant-numeric: tabular-nums; }
.card-info-rulings-list p { color: #dfe1e5; font-size: .74rem; line-height: 1.5; overflow-wrap: break-word; white-space: pre-wrap; }
.card-info-rulings-toggle { width: fit-content; min-height: 28px; justify-self: start; }
.card-preview-options .field label { display: block; color: #d0d3d8; font-size: .82rem; }
.card-preview-options .section-field label, .card-preview-options .preview-quantity-field label { font-weight: var(--control-font-weight); }
.card-preview-options .settings-control { font-size: .72rem; }
.card-preview-options .image-information-heading { font-size: .82rem; font-weight: 400; }
.card-preview-options .quality-readout { margin-top: 8px; }
.preview-quantity-controls { display: grid; grid-template-columns: minmax(0, 1fr) 38px; gap: 8px; align-items: end; }
.preview-remove-card { margin-top: 7px; }
.card-preview-close { position: absolute; z-index: 1; top: 10px; right: 10px; width: 38px; height: 38px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 7px; color: white; background: rgba(54,57,64,.96); cursor: pointer; line-height: 1; }
.card-preview-close .lucide-icon { width: 22px; height: 22px; }
.card-preview-close:hover { background: var(--control-background-active); }

.pdf-quality-dialog { width: min(92vw, 510px); margin: auto; padding: 0; border: 0; border-radius: var(--radius-panel); color: var(--cream); background: #1a1c20; box-shadow: 0 28px 90px rgba(0,0,0,.72); }
.pdf-quality-dialog::backdrop { background: rgba(0,0,0,.82); }
.pdf-quality-dialog-content { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 10px 12px; padding: 18px; }
.pdf-quality-dialog-icon { width: 24px; height: 24px; display: grid; place-items: center; align-self: start; color: #f1f2f4; }
.pdf-quality-dialog-icon .lucide-icon { width: 22px; height: 22px; }
.pdf-quality-dialog h3 { margin: 1px 0 5px; font-family: inherit; font-size: 1.05rem; font-weight: 600; }
.pdf-quality-dialog p { margin: 0; color: #ced1d6; font-size: .82rem; line-height: 1.55; }
.pdf-quality-dialog-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: 8px; margin-top: 2px; }
.pdf-quality-dialog-actions .button { min-height: 36px; padding: 7px 13px; font-size: .74rem; font-weight: var(--control-font-weight); }
.account-dialog-content h3 { margin-bottom: 5px; }
.account-dialog-content p { margin-bottom: 0; }
.deck-library-heading-actions { display: flex; align-items: center; gap: 7px; }
.deck-library-heading-actions .button { min-height: 34px; gap: 6px; padding: 6px 10px; font-size: .68rem; }
.deck-library-heading-actions .button .lucide-icon { width: 15px; height: 15px; }
.account-dialog-close { width: 34px; height: 34px; flex: 0 0 34px; display: grid; place-items: center; padding: 0; border: 0; border-radius: var(--radius-control); color: #dddfe3; background: var(--control-background); cursor: pointer; }
.account-dialog-close .lucide-icon { width: 18px; height: 18px; }
.account-field { display: grid; gap: 7px; color: #c9ccd1; font-size: .72rem; }
.account-field input { width: 100%; min-height: 40px; padding: 8px 10px; border: 0; border-radius: var(--radius-control); color: var(--cream); background: var(--control-background); font: inherit; }
.deck-library-dialog { width: min(94vw, 760px); }
.deck-library-list { max-height: min(58vh, 520px); display: grid; gap: 7px; overflow: auto; }
.deck-library-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 11px; border-radius: var(--radius-control); background: #292c31; }
.deck-library-details { min-width: 0; display: grid; gap: 4px; }
.deck-library-name { overflow: hidden; color: #eceef1; font-size: .78rem; font-weight: 500; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.deck-library-name:hover, .deck-library-name:focus-visible { outline: none; color: white; text-decoration: underline; text-underline-offset: 3px; }
.deck-library-row span, .deck-library-empty { color: #aeb2ba; font-size: .67rem; }
.deck-library-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.deck-library-actions .button { min-height: 32px; padding: 6px 9px; border-radius: var(--radius-control); font-size: .65rem; font-weight: var(--control-font-weight); }
.help-dialog { width: min(92vw, 560px); }
.help-dialog-content { gap: 12px 14px; }
.help-steps { margin: 12px 0 0; padding-left: 20px; color: #ced1d6; font-size: .78rem; line-height: 1.55; }
.help-steps li + li { margin-top: 5px; }

.print-settings-dialog { width: min(94vw, 760px); max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); margin: auto; padding: 0; overflow: auto; border: 0; border-radius: 9px; color: var(--cream); background: #1a1c20; box-shadow: 0 28px 90px rgba(0,0,0,.72); }
.print-settings-dialog::backdrop { background: rgba(0,0,0,.82); }
.print-settings-dialog-content { padding: 22px; }
.print-settings-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.print-settings-header h3 { margin: 0; font-family: inherit; font-size: 1.08rem; font-weight: 500; }
.print-settings-header p { margin: 7px 0 0; color: #aeb2ba; font-size: .75rem; line-height: 1.45; }
.print-settings-close { width: 34px; height: 34px; flex: 0 0 34px; display: grid; place-items: center; padding: 0; border: 0; border-radius: var(--radius-control); color: #d8dade; background: var(--control-background); cursor: pointer; }
.print-settings-close:hover, .print-settings-close:focus-visible { outline: none; color: white; background: #454950; }
.print-settings-close .lucide-icon { width: 19px; height: 19px; }
.print-settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 20px; }
.print-setting-switch { width: 100%; justify-content: flex-end; }
.print-setting-switch .view-switch-label { min-width: 0; flex: 1 1 auto; }
.print-setting-switch .view-switch-label small { margin-left: 4px; color: #91959d; font-size: .6rem; }
.print-setting-switch .corner-swatch-black { color: #090a0c; stroke: #bfc2c8; }
.print-setting-switch .corner-swatch-white { color: #f4f4f2; stroke: #f4f4f2; }
.print-setting-switch.is-unavailable { opacity: .5; }
.print-setting-switch.is-unavailable .view-tab { cursor: not-allowed; }
.print-gap-switch .gap-value { color: #cfd2d7; font-size: .67rem; font-variant-numeric: tabular-nums; }
.print-gap-switch .gap-value::after { margin-left: 1px; content: "mm"; font-size: .43rem; opacity: .72; }
.print-settings-actions { display: flex; justify-content: flex-end; margin-top: 18px; }
.print-settings-actions .button { min-height: 36px; padding: 7px 16px; border-radius: 6px; font-size: .72rem; font-weight: 400; }

.printing-browser {
  width: calc(100vw - 24px);
  max-width: none;
  height: calc(100vh - 24px);
  height: calc(100dvh - 24px);
  max-height: calc(100vh - 24px);
  max-height: calc(100dvh - 24px);
  margin: auto;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--line-bright);
  border-radius: 8px;
  color: var(--cream);
  background: #17191c;
  box-shadow: 0 28px 90px rgba(0,0,0,.7);
}
.printing-browser::backdrop { background: rgba(0,0,0,.86); }
.printing-browser-content { position: relative; width: 100%; max-width: 100%; height: 100%; min-width: 0; min-height: 0; display: flex; flex-direction: column; overflow: hidden; padding: 16px 20px 18px; }
.printing-grid { width: 100%; max-width: 100%; min-width: 0; min-height: 0; flex: 1 1 auto; display: grid; grid-template-columns: repeat(var(--printing-columns, 1), var(--printing-card-width, 220px)); justify-content: center; gap: 16px; align-content: center; overflow: hidden; padding: 38px 8px 12px 4px; }
.printing-choice { position: relative; width: var(--printing-card-width, 220px); min-width: 0; justify-self: center; overflow: visible; padding: 7px; border: 0; border-radius: 10px; color: var(--cream); background: #25282d; text-align: left; }
.printing-choice:hover, .printing-choice:focus-within { outline: none; background: #34373d; }
.printing-choice.is-selected { background: #454952; box-shadow: none; }
.printing-choice-select { width: 100%; display: block; padding: 0; border: 0; color: inherit; background: transparent; cursor: pointer; text-align: left; }
.printing-choice-select:focus-visible { outline: 2px solid #b7bac1; outline-offset: 2px; }
.printing-image-frame { position: relative; width: 100%; height: var(--printing-image-height, auto); display: block; overflow: visible; border-radius: 6px; background: #121316; }
.printing-image-frame::before { position: absolute; z-index: 1; top: 50%; left: 50%; width: 24px; height: 24px; content: ""; border: 2px solid #555962; border-top-color: #d0d3d8; border-radius: 50%; opacity: 0; transform: translate(-50%, -50%); }
.printing-image-frame.is-loading::before { opacity: 1; animation: printing-image-spin .7s linear infinite; }
.printing-image-frame img { width: 100%; height: 100%; display: block; border-radius: inherit; object-fit: cover; object-position: center; opacity: 1; transition: opacity .15s ease; }
.printing-image-frame.is-loading img { opacity: 0; }
.printing-choice > .card-indicator-rail { right: -1px; }
.printing-choice:has(.printing-image-frame.is-loading) > .card-indicator-rail { opacity: 0; visibility: hidden; }
@keyframes printing-image-spin { to { transform: translate(-50%, -50%) rotate(360deg); } }
.printing-choice strong, .printing-metadata { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.printing-choice strong { margin-top: 8px; font-size: .73rem; }
.printing-metadata { margin-top: 3px; color: var(--muted); font-size: .65rem; }
.printing-hover-preview {
  position: fixed;
  z-index: 1000;
  width: min(500px, 38vw, calc(82dvh * .716));
  aspect-ratio: 63 / 88;
  padding: 6px;
  border-radius: 8px;
  visibility: hidden;
  opacity: 0;
  background: #111216;
  box-shadow: 0 18px 48px rgba(0,0,0,.58);
  transition: opacity .1s ease, visibility 0s linear .1s;
  pointer-events: none;
}
.printing-hover-preview.is-visible { visibility: visible; opacity: 1; transition-delay: 0s; }
.printing-hover-preview::before { position: absolute; z-index: 1; top: 50%; left: 50%; width: 30px; height: 30px; content: ""; border: 3px solid #555962; border-top-color: #d0d3d8; border-radius: 50%; opacity: 0; transform: translate(-50%, -50%); }
.printing-hover-preview.is-loading::before { opacity: 1; animation: printing-image-spin .7s linear infinite; }
.printing-hover-preview img { width: 100%; height: 100%; display: block; border-radius: 5px; object-fit: contain; opacity: 1; transition: opacity .1s ease; }
.printing-hover-preview.is-loading img { opacity: 0; }
.deck-zoom-preview { width: min(300px, 36vw, calc(70dvh * .716)); aspect-ratio: auto; pointer-events: auto; }
.deck-zoom-preview-confirm { width: 100%; display: block; padding: 0; border: 0; border-radius: 5px; background: transparent; cursor: pointer; }
.deck-zoom-preview-confirm:focus-visible { outline: 3px solid #aeb2ba; outline-offset: 3px; }
.deck-zoom-preview img { width: 100%; height: auto; aspect-ratio: 63 / 88; object-fit: contain; }
.deck-zoom-preview-close { position: absolute; z-index: 2; top: 10px; right: 10px; width: 30px; height: 30px; display: grid; place-items: center; padding: 0; border: 0; border-radius: var(--radius-control); color: #eceef1; background: rgba(34,36,41,.9); cursor: pointer; }
.deck-zoom-preview-close:hover, .deck-zoom-preview-close:focus-visible { outline: none; background: var(--control-background-active); }
.deck-zoom-preview-close .lucide-icon { width: 16px; height: 16px; }
.card-tag-panel { position: fixed; z-index: 1001; width: min(270px, calc(100vw - 24px)); max-height: min(390px, 70dvh); padding: 8px; overflow-y: auto; border-radius: var(--radius-panel); color: #e4e6ea; background: #202227; box-shadow: 0 18px 48px rgba(0,0,0,.5); visibility: hidden; opacity: 0; transform: translateY(4px); pointer-events: none; transition: opacity .14s ease, transform .14s ease, visibility 0s linear .14s; }
.card-tag-panel.is-visible { visibility: visible; opacity: 1; transform: translateY(0); pointer-events: auto; transition-delay: 0s; }
.card-tag-panel-heading { min-height: 30px; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 0 2px 5px 5px; color: #d8dae0; font-size: .7rem; }
.card-tag-panel-heading strong { font-weight: var(--control-font-weight); }
.card-tag-panel-close { width: 28px; height: 28px; display: grid; place-items: center; padding: 0; border: 0; border-radius: var(--radius-control); color: #cfd2d7; background: transparent; cursor: pointer; }
.card-tag-panel-close:hover, .card-tag-panel-close:focus-visible { outline: none; background: var(--control-background); }
.card-tag-panel-close .lucide-icon { width: 15px; height: 15px; }
.card-tag-form { height: var(--control-height); display: flex; overflow: hidden; border-radius: var(--radius-control); background: var(--control-background); }
.card-tag-form input { min-width: 0; height: 100%; align-self: stretch; flex: 1 1 auto; margin: 0; padding: 0 9px; border: 0; border-radius: 0; background: transparent; font-size: .66rem; line-height: 1; }
.card-tag-form button { width: var(--control-height); height: 100%; align-self: stretch; flex: 0 0 var(--control-height); display: grid; place-items: center; border: 0; color: var(--action-primary-text); background: var(--action-primary); cursor: pointer; }
.card-tag-form button:hover, .card-tag-form button:focus-visible { outline: none; background: var(--action-primary-hover); }
.card-tag-form .lucide-icon { width: 17px; height: 17px; }
.card-tag-options { display: grid; gap: 4px; margin-top: 8px; }
.card-tag-options:empty { display: none; }
.card-tag-options > strong { padding: 4px 5px 2px; color: var(--muted); font-size: .65rem; font-weight: var(--control-font-weight); }
.card-tag-option-row { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) 32px; align-items: stretch; gap: 4px; }
.card-tag-option { width: 100%; min-width: 0; min-height: 32px; display: flex; align-items: center; gap: 7px; padding: 6px 8px; border: 0; border-radius: var(--radius-control); color: #d7d9de; background: transparent; cursor: pointer; font: inherit; font-size: .7rem; text-align: left; }
.card-tag-option:hover { outline: none; background: var(--control-background); }
.card-tag-option:focus-visible { outline: 2px solid #d9dbe0; outline-offset: -2px; background: var(--control-background); }
.card-tag-option[aria-pressed="true"] { color: var(--action-primary-text); background: var(--action-primary); }
.card-tag-option[aria-pressed="true"]:hover { background: var(--action-primary-hover); }
.card-tag-option[aria-pressed="true"]:focus-visible { outline-color: var(--action-primary-text); background: var(--action-primary-hover); }
.card-tag-option .lucide-icon { width: 14px; height: 14px; }
.card-tag-delete { width: 32px; min-height: 32px; display: grid; place-items: center; padding: 0; border: 0; border-radius: var(--radius-control); color: var(--muted); background: transparent; cursor: pointer; }
.card-tag-delete:hover, .card-tag-delete:focus-visible { outline: none; color: var(--brand-red-text); background: var(--brand-red-dark); }
.card-tag-delete .lucide-icon { width: 14px; height: 14px; }
.printing-pagination { flex: 0 0 auto; display: flex; align-items: center; justify-content: center; gap: 14px; padding-top: 16px; }
.printing-pagination span { min-width: 190px; color: #c4c7cd; font-size: .76rem; text-align: center; }

@media (max-width: 1450px) {
  .quality-readout { white-space: normal; }
  .deck-controls { grid-template-columns: minmax(0, 1fr) minmax(360px, 480px); }
  .deck-output-controls { grid-column: 1 / -1; justify-content: flex-start; }
  .deck-output-controls::before { top: calc(var(--deck-control-region-gap) / -2); right: 0; bottom: auto; left: 0; width: auto; height: 1px; transform: translateY(-50%); }
}

@media (max-width: 760px) {
  .deck-stats-band { justify-content: flex-start; gap: 12px; }
  .deck-detailed-stats-distribution-toolbar,
  .deck-detailed-stats-mana-mode-toolbar { align-items: stretch; flex-direction: column; }
  .deck-detailed-stats-distribution-toggle,
  .deck-detailed-stats-mana-mode { width: 100%; }
  .deck-detailed-stats-distribution-toggle button { min-width: 0; flex: 1 1 33.333%; }
  .deck-detailed-stats-mana-mode button { min-width: 0; flex: 1 1 50%; }
  .deck-detailed-stats-columns { height: 260px; gap: 7px; }
  .deck-detailed-stats-color-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .deck-detailed-stats-curve-header { align-items: stretch; flex-direction: column; }
  .deck-detailed-stats-scope { align-self: flex-start; }
  .deck-detailed-stats-curve { height: 190px; gap: 4px; }
  .deck-detailed-stats-curve.is-compact { height: 160px; }
  main { padding-left: 18px; padding-right: 18px; }
  .app-shell { display: block; }
  .section-heading { display: block; }
  .step-status { display: inline-block; }
  .input-footer { align-items: stretch; flex-direction: column; }
  .input-footer .input-actions { justify-content: flex-start; }
  .input-actions-secondary { margin-left: 0; }
  .import-grid { grid-template-columns: 1fr; }
  .deck-heading-meta { align-items: flex-end; flex-direction: column; gap: 3px; }
  .deck-controls { grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px; }
  .deck-view-controls { display: none; }
  .deck-search-filter-controls { grid-column: 1 / -1; grid-row: 2; display: block; }
  .deck-search-filter-controls::before,
  .deck-output-controls::before { content: none; }
  .deck-output-controls { grid-column: 1; grid-row: 1; min-height: var(--control-height); justify-content: flex-start; gap: 8px; }
  .deck-output-controls .deck-compact-action { height: var(--control-height); min-width: var(--control-height); padding: 0 11px; }
  .card-search-suggestions { right: auto; left: 0; }
  .mobile-controls-open { grid-column: 2; grid-row: 1; display: inline-flex; align-items: center; gap: 6px; height: var(--control-height); padding: 0 10px; }
  .mobile-controls-open .lucide-icon { width: 15px; height: 15px; }
  .mobile-controls-content .print-settings-button { width: 100%; justify-content: flex-start; }
  .deck-library-row { grid-template-columns: 1fr; }
  .deck-library-actions { justify-content: flex-start; }
  .deck-invitation-fields { grid-template-columns: 1fr; }
  .deck-collaborator-row { grid-template-columns: 34px minmax(0, 1fr); }
  .deck-collaborator-actions, .deck-collaborator-row > .ui-status-badge { grid-column: 2; justify-self: start; }
  .print-settings-grid { grid-template-columns: 1fr; }
  .deck-input-heading { align-items: flex-start; flex-direction: column; gap: 5px; }
  .deck-title-row { width: 100%; flex-wrap: wrap; }
  .input-panel.is-collapsed .deck-input-heading { align-items: center; flex-direction: row; }
  .input-panel.is-collapsed .deck-heading-meta { align-items: center; flex-direction: row; }
  .deck-inline-summary { white-space: normal; }
  .card-row { grid-template-columns: 104px minmax(0, 1fr); align-items: start; }
  .card-art-wrap { width: 104px; }
  .card-settings-body { grid-template-columns: 1fr; }
  .image-information-field, .quantity-edit { grid-column: auto; }
  .card-preview { overflow-y: auto; }
  .card-preview-content { height: auto; grid-template-columns: 1fr; overflow: visible; }
  .card-preview-options { height: auto; max-height: none; grid-template-rows: auto; padding-top: 0; overflow: visible; }
  .card-preview-panel { padding-right: 0; overflow-y: visible; }
  .card-info-legalities { grid-template-columns: 1fr; }
  .printing-browser-content { padding: 18px; }
  .printing-grid { gap: 10px; }
  .printing-pagination { gap: 7px; }
  .printing-pagination span { min-width: 0; }
  .printing-pagination .button { min-height: 38px; padding: 8px 10px; }
}

@media (hover: none) {
  .printing-hover-preview { display: none; }
}

@media (max-width: 480px) {
  .deck-detailed-stats-distribution-toggle button,
  .deck-detailed-stats-mana-mode button { padding-right: 5px; padding-left: 5px; font-size: .61rem; }
  .deck-detailed-stats-columns { height: 230px; gap: 4px; }
  .deck-detailed-stats-column { grid-template-rows: minmax(0, 1fr) 28px; }
  .deck-detailed-stats-column-footer { grid-template-columns: minmax(0, 1fr) 19px minmax(0, 1fr); gap: 3px; font-size: .54rem; }
  .deck-detailed-stats-column-symbol { width: 19px; height: 19px; }
  .deck-detailed-stats-color-grid { grid-template-columns: 1fr; }
  .deck-detailed-stats-distribution-track { height: 36px; gap: 4px; }
  .deck-detailed-stats-distribution-segment { min-width: 34px; }
  .deck-detailed-stats-scope { width: 100%; }
  .deck-detailed-stats-scope button { min-width: 0; flex: 1 1 50%; }
  .deck-collaboration-toolbar { width: 100%; }
  .deck-variant-menu { min-width: 0; flex: 1 1 auto; }
  .deck-variant-menu .ui-selection-menu-trigger { width: 100%; }
  .deck-variant-menu .ui-selection-menu-selection { min-width: 0; flex: 1 1 auto; justify-content: space-between; }
  .deck-history-heading { align-items: stretch; flex-direction: column; padding-bottom: 8px; }
  .deck-history-actions { width: 100%; }
  .deck-history-actions .button { flex: 1 1 auto; }
  .deck-compare-selectors { grid-template-columns: minmax(0, 1fr); }
  .deck-compare-direction { height: 22px; transform: rotate(90deg); }
  .card-row { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .card-preview-caption-track { transform: none !important; }
  .settings-select-marquee-track { transform: none !important; }
}
