.card-trigger{display:inline;padding:1px 0;min-height:0;border:0;border-radius:0;background:none;color:inherit;text-align:left;font:inherit;line-height:inherit;text-decoration:underline dotted;text-decoration-color:color-mix(in srgb,currentColor 42%,transparent);text-decoration-thickness:1px;text-underline-offset:.22em;cursor:pointer}
.card-trigger:hover{color:var(--card-accent,#865b25);background:none;border:0;text-decoration-color:currentColor;text-decoration-style:solid}
.card-trigger:focus-visible{outline:2px solid var(--card-accent,#865b25);outline-offset:5px;border-radius:2px;text-decoration-color:currentColor;text-decoration-style:solid}
.card-hover-preview,.card-details-dialog,.card-visual{--card-surface:#172522;--card-raised:#1d302b;--card-text:#f4eedf;--card-muted:#c0c7b9;--card-accent:#d8bd81;--card-line:#536150;--card-frame-accent:#d8bd81;--card-frame-trace:linear-gradient(90deg,#d8bd81,#d8bd81);color:var(--card-text);background:var(--card-surface);color-scheme:dark;font-family:"Segoe UI",Arial,sans-serif}
.card-hover-preview{position:fixed;z-index:1000;display:grid;grid-template-columns:136px minmax(0,1fr);gap:18px;width:min(420px,calc(100vw - 32px));max-height:min(540px,calc(100dvh - 32px));padding:18px;border:1px solid var(--card-line);border-radius:10px;box-shadow:0 16px 48px #0008;overflow:auto;overscroll-behavior:contain;isolation:isolate}
.card-hover-preview::before,.card-details-header::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--card-frame-trace);pointer-events:none}
.card-hover-preview[data-card-color-mode=mono],.card-hover-preview[data-card-color-mode=colorless]{border-top-color:var(--card-frame-accent)}
.card-hover-preview[hidden]{display:none}
.card-preview-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.card-preview-kicker{display:block;color:var(--card-accent);font:600 10px/1.5 "Segoe UI",Arial,sans-serif;letter-spacing:1.4px;text-transform:uppercase}
.card-preview-name{font:400 21px/1.2 Georgia,"Times New Roman",serif;color:var(--card-text)}
.card-preview-printing{font:11px/1.5 "Segoe UI",Arial,sans-serif;color:var(--card-muted)}
.card-preview-mana,.card-preview-type,.card-preview-rules{margin:0;font:12px/1.6 "Segoe UI",Arial,sans-serif;color:var(--card-text);white-space:pre-wrap;overflow-wrap:anywhere}
.card-preview-type{color:var(--card-muted)}
.card-preview-rules-label{font:600 10px/1.5 "Segoe UI",Arial,sans-serif;color:var(--card-muted)}
.card-preview-rules{display:-webkit-box;-webkit-line-clamp:8;-webkit-box-orient:vertical;overflow:hidden}
.card-preview-hint,.card-preview-face-note{display:block;font:11px/1.5 "Segoe UI",Arial,sans-serif;color:var(--card-accent)}
.card-preview-hint{border-top:1px solid var(--card-line);width:100%;padding-top:9px;margin-top:2px;color:var(--card-muted)}
.card-art-frame{position:relative;display:block;width:100%;aspect-ratio:488/680;overflow:hidden;border-radius:12px;background:#0c1513;box-shadow:0 8px 22px #0005;align-self:start}
.card-art-image{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;opacity:0}
.card-art-image.is-loaded{opacity:1}
.card-art-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;border:1px solid var(--card-line);border-radius:inherit;color:var(--card-muted);text-align:center;font:13px/1.6 "Segoe UI",Arial,sans-serif}
.card-art-placeholder[hidden]{display:none}
.card-art-placeholder strong{font:400 24px/1.2 Georgia,"Times New Roman",serif;color:var(--card-text)}
.card-art-placeholder-name{max-width:100%;overflow-wrap:anywhere}
.card-art-placeholder-mark{font-size:32px;color:var(--card-accent)}
.card-art-compact{border-radius:6px}
.card-art-compact .card-art-placeholder{padding:12px;gap:8px;font-size:10px;line-height:1.5}
.card-art-compact .card-art-placeholder strong{font-size:17px}
.card-art-compact .card-art-placeholder-mark{font-size:24px}
.card-visual{position:relative;display:block;width:100%;max-width:100%;min-width:0;min-height:0;padding:0;border:1px solid var(--card-line);border-radius:12px;text-align:left;line-height:1.4;cursor:pointer;isolation:isolate}
.card-visual .card-art-frame{border-radius:11px;box-shadow:none}
.card-visual:hover{background:var(--card-surface);border-color:var(--card-frame-accent);box-shadow:0 0 0 1px var(--card-frame-accent),0 8px 24px #0003}
.card-visual:focus-visible{outline:3px solid #b38d48;outline-offset:4px}
.card-visual-caption{display:grid;gap:5px;padding:13px 14px 15px;border-top:1px solid var(--card-line);color:var(--card-text)}
.card-visual-caption strong{font:400 19px/1.25 Georgia,"Times New Roman",serif;overflow-wrap:anywhere}
.card-visual-caption>span{color:var(--card-muted);font:11px/1.5 "Segoe UI",Arial,sans-serif;overflow-wrap:anywhere}
.card-visual-compact{border-radius:8px}
.card-visual-compact .card-art-frame{border-radius:7px}
.card-visual-compact .card-art-placeholder{padding:6px;gap:4px;font-size:10px;overflow-wrap:anywhere}
.card-visual-compact .card-art-placeholder strong{font:500 12px/1.3 "Segoe UI",Arial,sans-serif}
.card-visual-compact .card-art-placeholder-name{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.card-visual-compact .card-art-placeholder-mark{font-size:17px}
.card-visual-compact .card-art-placeholder>span:last-child{display:none}
.card-visual-compact .card-visual-caption{gap:3px;padding:10px}
.card-visual-compact .card-visual-caption strong{font-size:16px}
.card-details-dialog{width:min(980px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 40px);margin:auto;padding:0;border:1px solid var(--card-line);border-radius:14px;box-shadow:0 24px 100px #0009;overflow:auto;overscroll-behavior:contain}
.card-details-dialog::backdrop{background:#07100ddd;backdrop-filter:blur(5px)}
.card-details-header{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:24px 28px 20px;background:var(--card-surface);border-bottom:1px solid var(--card-line)}
.card-details-header h2{margin:7px 0 0;font:400 clamp(24px,3vw,34px)/1.16 Georgia,"Times New Roman",serif;color:var(--card-text);letter-spacing:-.3px}
.card-details-dialog .card-details-close{flex:none;display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:0;border:1px solid var(--card-line);border-radius:50%;background:transparent;color:var(--card-text);font:28px/1 Arial,sans-serif}
.card-details-dialog .card-details-close:hover{border-color:var(--card-accent);background:var(--card-raised);color:var(--card-accent)}
.card-details-dialog :focus-visible{outline:2px solid var(--card-accent);outline-offset:4px}
.card-details-body{display:grid;grid-template-columns:minmax(210px,340px) minmax(0,1fr);gap:36px;padding:28px}
.card-details-art-column{min-width:0}
.card-details-art-frame{position:relative}
.card-details-dialog .card-face-flip{position:absolute;top:15%;right:12px;width:44px;height:44px;min-height:44px;padding:0;border:1px solid #263e35;border-radius:50%;background:#f4eedf;color:#172522;font:30px/1 Georgia,serif;box-shadow:0 2px 8px #0006;cursor:pointer}
.card-details-dialog .card-face-flip:hover{background:#d8bd81}
.card-details-dialog .card-face-flip:focus-visible{outline:3px solid #d8bd81;outline-offset:3px}
.card-details-save-area{display:grid;gap:8px;margin-top:18px;padding-top:18px;border-top:1px solid var(--card-line)}
.card-details-dialog .card-details-save{width:100%;min-height:44px;padding:11px 16px;border:1px solid var(--card-accent);border-radius:6px;background:var(--card-accent);color:#172522;font:600 14px/1.5 "Segoe UI",Arial,sans-serif;cursor:pointer}
.card-details-dialog .card-details-save:hover{background:#e8d5a9;border-color:#e8d5a9;color:#172522}
.card-details-dialog .card-details-save[aria-disabled=true]{cursor:progress;background:var(--card-raised);border-color:var(--card-line);color:var(--card-muted)}
.card-details-save-status{margin:0;min-height:1.6em;color:var(--card-muted);text-align:center;font:12px/1.6 "Segoe UI",Arial,sans-serif}
.card-face-switcher{display:grid;gap:8px;margin-top:16px}
.card-details-dialog .card-face-button{min-height:44px;padding:11px 14px;border:1px solid var(--card-line);border-radius:6px;background:transparent;color:var(--card-muted);text-align:left;font:500 13px/1.45 "Segoe UI",Arial,sans-serif}
.card-details-dialog .card-face-button[aria-pressed=true]{border-color:var(--card-accent);background:var(--card-raised);color:var(--card-text)}
.card-details-dialog .card-face-button[aria-pressed=true]::before{content:"✓ ";color:var(--card-accent)}
.card-details-dialog .card-face-button:hover{background:var(--card-raised);color:var(--card-text)}
.card-details-copy{min-width:0;color:var(--card-text)}
.card-face-position{margin:0 0 6px;color:var(--card-accent);font:12px/1.5 "Segoe UI",Arial,sans-serif}
.card-face-name{margin:0 0 16px;color:var(--card-text);font:400 25px/1.2 Georgia,"Times New Roman",serif}
.card-details-mana{margin:0 0 18px;font-size:22px;line-height:1.5}
.card-details-type{margin:0 0 20px;padding-bottom:16px;border-bottom:1px solid var(--card-line);font:500 15px/1.6 "Segoe UI",Arial,sans-serif;color:var(--card-text)}
.card-details-rules-label{margin:0 0 9px;color:var(--card-muted);font:600 11px/1.5 "Segoe UI",Arial,sans-serif;letter-spacing:.4px}
.card-details-oracle{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font:15px/1.8 "Segoe UI",Arial,sans-serif;color:var(--card-text)}
.card-details-stats{display:inline-block;margin:16px 0 0;padding:5px 11px;border:1px solid var(--card-line);border-radius:5px;font:600 17px/1.4 Georgia,"Times New Roman",serif;color:var(--card-text)}
.card-details-flavor{margin:24px 0 0;padding:20px 0 0;border-top:1px solid var(--card-line);font:italic 19px/1.65 Georgia,"Times New Roman",serif;white-space:pre-wrap;color:#e0d5b9}
.card-details-artist{margin:12px 0 0;font:12px/1.6 "Segoe UI",Arial,sans-serif;color:var(--card-muted)}
.card-details-metadata{margin-top:26px;padding-top:20px;border-top:1px solid var(--card-line);font:12px/1.7 "Segoe UI",Arial,sans-serif;color:var(--card-muted)}
.card-details-metadata p{margin:0 0 12px}
.card-details-edition,.card-details-identity{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.card-details-identity>span:first-child{margin-right:4px}
.card-details-dialog .card-printing-link{display:inline-block;min-height:30px;color:var(--card-accent);font:13px/1.7 "Segoe UI",Arial,sans-serif;text-underline-offset:4px}
.card-details-dialog .card-printing-link:hover{color:var(--card-text)}
.card-details-source{color:var(--card-muted)}
.card-details-provenance{margin-top:16px;font:11px/1.7 "Segoe UI",Arial,sans-serif;color:var(--card-muted)}
.card-details-provenance summary{cursor:pointer;padding:4px 0}
.card-details-provenance code{display:block;margin-top:9px;overflow-wrap:anywhere;font:11px/1.7 Consolas,monospace;color:var(--card-muted)}
@media(max-width:640px){.card-details-dialog{width:calc(100vw - 20px);max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:10px}.card-details-header{padding:18px;gap:16px}.card-details-header h2{font-size:26px}.card-details-body{grid-template-columns:1fr;gap:24px;padding:20px}.card-details-art-column{width:min(100%,310px);margin:auto}.card-details-oracle{font-size:15px}.card-details-flavor{font-size:19px}.card-hover-preview{grid-template-columns:104px minmax(0,1fr);gap:12px;padding:13px;width:min(360px,calc(100vw - 24px))}.card-preview-name{font-size:18px}.card-preview-rules{-webkit-line-clamp:5}.card-preview-type{font-size:11px}.card-preview-kicker{font-size:9px}.card-art-compact .card-art-placeholder>span:last-child{display:none}}
@media(prefers-reduced-motion:no-preference){.card-trigger{transition:color .15s,text-decoration-color .15s}.card-details-dialog[open]{animation:card-dialog-enter .16s ease-out}.card-art-image{transition:opacity .12s}@keyframes card-dialog-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}}
@media(prefers-reduced-motion:reduce){.card-details-dialog[open],.card-hover-preview,.card-art-image,.card-trigger{animation:none!important;transition:none!important}}

.card-details-part + .card-details-part{margin-top:24px;padding-top:24px;border-top:1px solid var(--card-line)}
