/* ── deck-check plugin ──────────────────────────────────────────────────────── */

/* ── Semantic color tokens (overridden in dark mode below) ──────────────────── */
:root {
    --dc-legal-bg:        #d1fae5;
    --dc-legal-text:      #065f46;
    --dc-legal-border:    #6ee7b7;
    --dc-illegal-bg:      #fee2e2;
    --dc-illegal-text:    #991b1b;
    --dc-illegal-border:  #fca5a5;
    --dc-unknown-bg:      var(--sand-200);
    --dc-unknown-text:    var(--neutral-500);
    --dc-unknown-border:  var(--sand-300);

    --dc-err-bg:          #fff5f5;
    --dc-err-border:      #fca5a5;
    --dc-err-text:        #7f1d1d;
    --dc-err-label:       #991b1b;
    --dc-err-row-bg:      #fff8f8;

    --dc-ok-color:        #059669;
    --dc-fail-color:      #dc2626;
    --dc-fail-row-bg:     #fff5f5;

    --dc-rar-r-bg:        #f5f3ff;
    --dc-rar-r-border:    #ddd6fe;
    --dc-rar-r-text:      #5b21b6;
    --dc-rar-e-bg:        #fffbeb;
    --dc-rar-e-border:    #fde68a;
    --dc-rar-e-text:      #92400e;
    --dc-rar-u-bg:        #fff1f2;
    --dc-rar-u-border:    #fecdd3;
    --dc-rar-u-text:      #9f1239;

    --dc-badge-r-bg:      #ede9fe;
    --dc-badge-r-text:    #5b21b6;
    --dc-badge-e-bg:      #fef3c7;
    --dc-badge-e-text:    #92400e;
    --dc-badge-u-bg:      #fee2e2;
    --dc-badge-u-text:    #991b1b;

    --dc-draft-bg:        #fef3c7;
    --dc-draft-text:      #92400e;
    --dc-public-bg:       #d1fae5;
    --dc-public-text:     #065f46;
    --dc-private-bg:      var(--sand-200);
    --dc-private-text:    var(--neutral-500);
    --dc-format-bg:       #dbeafe;
    --dc-format-text:     #1e40af;
}

[data-theme="dark"] {
    --dc-legal-bg:        rgba(6,78,59,.28);
    --dc-legal-text:      #6ee7b7;
    --dc-legal-border:    rgba(110,231,183,.22);
    --dc-illegal-bg:      rgba(127,29,29,.28);
    --dc-illegal-text:    #fca5a5;
    --dc-illegal-border:  rgba(252,165,165,.22);
    --dc-unknown-bg:      var(--sand-200);
    --dc-unknown-text:    var(--neutral-500);
    --dc-unknown-border:  var(--sand-300);

    --dc-err-bg:          rgba(127,29,29,.2);
    --dc-err-border:      rgba(252,165,165,.2);
    --dc-err-text:        #fca5a5;
    --dc-err-label:       #fca5a5;
    --dc-err-row-bg:      rgba(127,29,29,.15);

    --dc-ok-color:        #34d399;
    --dc-fail-color:      #f87171;
    --dc-fail-row-bg:     rgba(127,29,29,.15);

    --dc-rar-r-bg:        rgba(91,33,182,.22);
    --dc-rar-r-border:    rgba(221,214,254,.12);
    --dc-rar-r-text:      #c4b5fd;
    --dc-rar-e-bg:        rgba(146,64,14,.22);
    --dc-rar-e-border:    rgba(253,230,138,.12);
    --dc-rar-e-text:      #fde68a;
    --dc-rar-u-bg:        rgba(159,18,57,.22);
    --dc-rar-u-border:    rgba(254,205,211,.12);
    --dc-rar-u-text:      #fda4af;

    --dc-badge-r-bg:      rgba(91,33,182,.3);
    --dc-badge-r-text:    #c4b5fd;
    --dc-badge-e-bg:      rgba(146,64,14,.3);
    --dc-badge-e-text:    #fde68a;
    --dc-badge-u-bg:      rgba(159,18,57,.3);
    --dc-badge-u-text:    #fda4af;

    --dc-draft-bg:        rgba(146,64,14,.25);
    --dc-draft-text:      #fde68a;
    --dc-public-bg:       rgba(6,78,59,.25);
    --dc-public-text:     #6ee7b7;
    --dc-private-bg:      var(--sand-200);
    --dc-private-text:    var(--neutral-500);
    --dc-format-bg:       rgba(30,64,175,.28);
    --dc-format-text:     #93c5fd;
}

/* ── Fade animation ──────────────────────────────────────────────────────────── */
.dc-state { animation: dc-fadein .18s ease; }
@keyframes dc-fadein { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: none; } }

/* ── Legal badge ─────────────────────────────────────────────────────────────── */
.dc-legal-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    border-radius: 10px;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: .05em;
    white-space: nowrap;
}
.dc-legal-badge.legal   { background: var(--dc-legal-bg);   color: var(--dc-legal-text);   border: 1.5px solid var(--dc-legal-border); }
.dc-legal-badge.illegal { background: var(--dc-illegal-bg); color: var(--dc-illegal-text); border: 1.5px solid var(--dc-illegal-border); }
.dc-legal-badge.unknown { background: var(--dc-unknown-bg); color: var(--dc-unknown-text); border: 1.5px solid var(--dc-unknown-border); }

/* ── Status badges (format, public, draft…) ─────────────────────────────────── */
.dc-badge-format  { background: var(--dc-format-bg);  color: var(--dc-format-text);  font-weight: 700; letter-spacing: .04em; }
.dc-badge-draft   { background: var(--dc-draft-bg);   color: var(--dc-draft-text); }
.dc-badge-public  { background: var(--dc-public-bg);  color: var(--dc-public-text); }
.dc-badge-private { background: var(--dc-private-bg); color: var(--dc-private-text); }

/* ── Stat chips ──────────────────────────────────────────────────────────────── */
.dc-stat-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: .82rem;
    background: var(--sand-100);
    border: 1px solid var(--sand-200);
    color: var(--neutral-600);
}
.dc-stat-chip .dc-stat-val  { font-weight: 700; color: var(--neutral-800); }
.dc-stat-chip .dc-stat-icon { color: var(--neutral-400); font-size: .75rem; }
.dc-stat-chip.dc-rar-r { background: var(--dc-rar-r-bg); border-color: var(--dc-rar-r-border); }
.dc-stat-chip.dc-rar-r .dc-stat-val { color: var(--dc-rar-r-text); }
.dc-stat-chip.dc-rar-e { background: var(--dc-rar-e-bg); border-color: var(--dc-rar-e-border); }
.dc-stat-chip.dc-rar-e .dc-stat-val { color: var(--dc-rar-e-text); }
.dc-stat-chip.dc-rar-u { background: var(--dc-rar-u-bg); border-color: var(--dc-rar-u-border); }
.dc-stat-chip.dc-rar-u .dc-stat-val { color: var(--dc-rar-u-text); }

/* ── Stats row separator ─────────────────────────────────────────────────────── */
.dc-stats-row { border-top: 1px solid var(--sand-200); }

/* ── Section column label ────────────────────────────────────────────────────── */
.dc-col-label {
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--neutral-500);
    padding-bottom: 6px;
    border-bottom: 1px solid var(--sand-200);
}
.dc-col-label.dc-col-label-err { color: var(--dc-err-label); border-bottom-color: var(--dc-err-border); }

/* ── Legality table ──────────────────────────────────────────────────────────── */
.dc-legality-table { border-collapse: collapse; font-size: .85rem; }
.dc-legality-table td { padding: 5px 6px; border-bottom: 1px solid var(--sand-100); }
.dc-legality-table tr:last-child td { border-bottom: none; }
.dc-legality-table .dc-lk-icon { width: 26px; text-align: center; font-size: .9rem; }
.dc-legality-table .dc-lk-ok   { color: var(--dc-ok-color); }
.dc-legality-table .dc-lk-fail { color: var(--dc-fail-color); }
.dc-legality-table .dc-lk-row-fail { background: var(--dc-fail-row-bg); }
.dc-legality-table .dc-lk-row-fail .dc-lk-fail-label { font-weight: 600; color: var(--dc-fail-color); }

/* ── Format errors box ───────────────────────────────────────────────────────── */
.dc-errors-box {
    padding: 12px 14px;
    border-radius: 8px;
    background: var(--dc-err-bg);
    border: 1px solid var(--dc-err-border);
    font-size: .85rem;
}
.dc-errors-list { list-style: none; padding: 0; margin: 0; color: var(--dc-err-text); line-height: 1.9; }
.dc-errors-list li::before { content: '\2022'; color: var(--dc-fail-color); font-weight: 700; margin-right: 7px; }

/* ── Card list ───────────────────────────────────────────────────────────────── */
.dc-card-group { margin-bottom: 18px; }
.dc-type-header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding-bottom: 6px;
    margin-bottom: 4px;
    border-bottom: 2px solid var(--sand-200);
    font-weight: 700;
    font-size: .88rem;
    color: var(--neutral-700);
}
.dc-type-count {
    font-size: .72rem;
    font-weight: 600;
    padding: 2px 7px;
    border-radius: 999px;
    background: var(--sand-200);
    color: var(--neutral-600);
}
.dc-card-row {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 8px;
    border-radius: 6px;
    font-size: .875rem;
    border-left: 3px solid transparent;
    transition: background .1s;
}
.dc-card-row:hover { background: var(--sand-100); }
.dc-card-row.dc-card-error { border-left-color: var(--dc-err-border); background: var(--dc-err-row-bg); }
.dc-card-row.dc-card-error:hover { filter: brightness(.97); }
.dc-card-row.dc-card-verified .dc-card-name { text-decoration: line-through; color: var(--neutral-400); }
.dc-card-qty  { min-width: 22px; text-align: right; font-weight: 600; color: var(--neutral-400); font-size: .8rem; flex-shrink: 0; }
.dc-card-name { flex: 1; color: var(--neutral-800); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dc-card-scan-check { color: var(--dc-ok-color); display: none; flex-shrink: 0; }
.dc-card-row.dc-card-verified .dc-card-scan-check { display: inline; }

/* Rarity badges */
.dc-rar { font-size: .68rem; font-weight: 700; padding: 1px 5px; border-radius: 4px; flex-shrink: 0; }
.dc-rar-C { background: var(--sand-200); color: var(--neutral-600); }
.dc-rar-R { background: var(--dc-badge-r-bg); color: var(--dc-badge-r-text); }
.dc-rar-E { background: var(--dc-badge-e-bg); color: var(--dc-badge-e-text); }
.dc-rar-U { background: var(--dc-badge-u-bg); color: var(--dc-badge-u-text); }

/* Status flags */
.dc-flag { font-size: .68rem; font-weight: 700; padding: 1px 5px; border-radius: 4px; flex-shrink: 0; }
.dc-flag-banned    { background: var(--dc-fail-color); color: #fff; }
.dc-flag-suspended { background: #d97706; color: #fff; }
.dc-flag-warn      { color: #d97706; font-size: .8rem; flex-shrink: 0; }

/* ── History items ───────────────────────────────────────────────────────────── */
.dc-history-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    background: var(--sand-50, #fff);
    border: 1px solid var(--sand-200);
    border-radius: 8px;
    cursor: pointer;
    transition: border-color .12s, box-shadow .12s;
}
.dc-history-item:hover { border-color: var(--primary-400); box-shadow: 0 1px 4px rgba(0,0,0,.08); }
.dc-history-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.dc-history-dot.legal   { background: var(--dc-ok-color); }
.dc-history-dot.illegal { background: var(--dc-fail-color); }
.dc-history-dot.unknown { background: var(--neutral-300); }
.dc-history-name { flex: 1; font-size: .875rem; color: var(--neutral-800); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dc-history-fmt  { font-size: .7rem; padding: 1px 6px; border-radius: 4px; background: var(--sand-200); color: var(--neutral-600); font-weight: 600; flex-shrink: 0; }
.dc-history-date { font-size: .75rem; color: var(--neutral-400); flex-shrink: 0; }

/* ── Physical scan overlay ───────────────────────────────────────────────────── */
.dc-scan-overlay {
    position: fixed;
    inset: 0;
    z-index: 1060;
    background: rgba(0,0,0,.96);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    padding: 16px;
    overflow-y: auto;
}
.dc-scan-header { width: 100%; max-width: 440px; display: flex; justify-content: space-between; align-items: center; }
.dc-scan-counter { color: rgba(255,255,255,.8); font-size: .95rem; font-weight: 600; }
.dc-scan-close-btn {
    padding: 7px 18px;
    background: transparent;
    color: rgba(255,255,255,.5);
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 7px;
    font-size: .85rem;
    cursor: pointer;
    transition: border-color .12s, color .12s;
}
.dc-scan-close-btn:hover { border-color: var(--primary-400); color: #fff; }
.dc-scan-video-wrap { width: 100%; max-width: 440px; border-radius: 12px; overflow: hidden; border: 2px solid var(--primary-400); }
.dc-scan-video-wrap video { width: 100%; display: block; }
.dc-scan-hint { color: rgba(255,255,255,.4); font-size: .85rem; text-align: center; margin: 0; }
.dc-scan-msg { font-size: .9rem; font-weight: 600; text-align: center; padding: 8px 18px; border-radius: 8px; margin: 0; }
.dc-scan-msg.success { background: var(--dc-legal-bg);   color: var(--dc-legal-text); }
.dc-scan-msg.warning { background: var(--dc-illegal-bg); color: var(--dc-illegal-text); }
.dc-scan-msg.info    { background: var(--dc-format-bg);  color: var(--dc-format-text); }

/* ── Zoom controls ───────────────────────────────────────────────────────────── */
.dc-scan-zoom { display: flex; flex-direction: row; align-items: center; gap: 6px; background: rgba(0,0,0,.45); border-radius: 999px; padding: 6px 14px; }
.dc-zoom-btn {
    background: transparent;
    color: rgba(255,255,255,.5);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 6px;
    padding: 5px 11px;
    font-size: .82rem;
    font-weight: 600;
    cursor: pointer;
    line-height: 1;
    transition: background .12s, color .12s;
}
.dc-zoom-btn:hover { color: #fff; border-color: rgba(255,255,255,.4); }
.dc-zoom-btn.dc-zoom-active { background: var(--primary-400); border-color: transparent; color: var(--neutral-800); }
.dc-zoom-sep { width: 1px; height: 16px; background: rgba(255,255,255,.18); flex-shrink: 0; }
#dc-zoom-level { color: rgba(255,255,255,.8); font-size: .82rem; font-weight: 600; min-width: 3em; text-align: center; }

@media (max-width: 600px) {
    .dc-scan-video-wrap { max-width: 100%; border-radius: 0; border-left: none; border-right: none; }
}
