/* Engraved Alpha cards. Kept after arena.css so every view shares one frame. */
.card {
  --faction:#a9cbb0; --rarity:#a4b5ac;
  position:relative; isolation:isolate; display:flex; flex-direction:column;
  width:174px; min-width:154px; max-width:190px; height:240px; flex-shrink:0;
  padding:6px; gap:0; overflow:hidden; text-align:left;
  color:#f0eadb; border:1px solid color-mix(in srgb,var(--faction) 53%,#11191b);
  border-radius:11px; background:linear-gradient(145deg,#27322f,#121c1e 60%,#1b2523);
  box-shadow:0 7px 18px #0006,inset 0 0 0 3px #101a1b,inset 0 0 0 4px #ffffff0d;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.card.W{--faction:#e5ca90}.card.R{--faction:#eda183}.card.U{--faction:#91cddd}.card.B{--faction:#bba0cf}
.card.W,.card.R{border-color:color-mix(in srgb,var(--faction) 53%,#11191b);background:linear-gradient(145deg,color-mix(in srgb,var(--faction) 14%,#19211f),#121c1e 60%,#1b2523)}
.card.rarity-u{--rarity:#8ad4a5}.card.rarity-r{--rarity:#8cbfff}.card.rarity-m{--rarity:#f2a27d}.card.rarity-l{--rarity:#f3d992}.card.rarity-g{--rarity:#d8a9f4}
.card::after{content:'';position:absolute;inset:4px;border:1px solid #ffffff09;border-radius:7px;pointer-events:none;z-index:3}
.card .card-art{display:block;position:relative;width:100%;height:112px;flex-shrink:0;margin:0;border-radius:6px 6px 2px 2px;overflow:hidden;background:#152b25;border-bottom:1px solid var(--faction)}
.card-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 40%;transition:transform .35s ease,filter .2s ease}
.card .card-edition{position:absolute;bottom:6px;left:8px;font:8px 'Segoe UI',sans-serif;letter-spacing:1.6px;color:#eee5c2a3}
.card .card-cost{top:11px;right:11px;z-index:2;gap:4px;filter:drop-shadow(0 2px 2px #0009)}
.card .pip{width:23px;height:23px;font-size:12px;font-style:normal;box-shadow:0 0 0 2px #121d1b,inset 0 1px 3px #ffffff30;background:#243d32;border-color:#9fc7aa;color:#d9f2d6}
.card .pip.generic{background:#303837;color:#f0eadb;border-color:#b2b9ab}.card .pip.W{background:#534831;color:#ffedbd;border-color:#e5ca90}.card .pip.R{background:#5a3328;color:#ffd1a9;border-color:#e3a581}
.card-copy{padding:9px 7px 0;display:flex;flex-direction:column;gap:5px;min-width:0}
.card .card-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:0;min-height:34px;font:16px/1.1 Georgia,'Times New Roman',serif;letter-spacing:-.25px;color:#f2ecdc}
.card-type{font-size:8px;line-height:1.2;text-transform:uppercase;letter-spacing:1px;color:var(--faction);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card .card-bottom{margin:auto 7px 0;display:flex;align-items:center;gap:6px;min-height:29px;color:var(--faction)}
.card-instinct{font-size:8px;letter-spacing:.8px;text-transform:uppercase;min-width:0}
.card-stats{display:flex;gap:5px;margin-left:auto;flex-shrink:0}.card-bottom .card-stats b{display:inline;color:inherit;font:bold 14px 'Segoe UI',sans-serif}
.card-bottom .stat-attack,.card-bottom .stat-health{padding:2px 5px;font-size:11px;line-height:17px;min-width:31px;text-align:center;background:#3c2d20;border-color:#85653d;box-shadow:inset 0 1px 1px #ffffff0b}
.card-bottom .stat-health{background:#38242f;border-color:#7e5163;border-radius:10px}.spell-seal{font:25px Georgia;color:var(--faction);margin-left:auto;padding-right:6px}
.card-colophon{display:flex;justify-content:space-between;align-items:center;margin:5px 7px 2px;padding-top:6px;border-top:1px solid #ffffff16;font-size:8px;line-height:1.2;color:#8d9e95;gap:5px}
.card-rarity{display:flex;align-items:center;gap:5px;color:var(--rarity)}.card-rarity i{width:5px;height:5px;display:inline-block;transform:rotate(45deg);background:var(--rarity);box-shadow:0 0 6px color-mix(in srgb,var(--rarity) 40%,transparent)}
.card:hover:not(:disabled),.card:focus-visible{transform:translateY(-7px);border-color:var(--faction);background-color:#192724;box-shadow:0 15px 26px #0008,0 0 17px color-mix(in srgb,var(--faction) 12%,transparent),inset 0 0 0 3px #101a1b}
.card:hover .card-art img,.card:focus-visible .card-art img{transform:scale(1.035)}
.card.chosen{transform:translateY(-9px);border:1px solid #f3dca1;box-shadow:0 0 0 2px #d5bd8066,0 14px 25px #0008,inset 0 -3px #e1c786}
.card.unaffordable{opacity:1;filter:none}.card.unaffordable .card-art img{filter:saturate(.45) brightness(.62)}.card.unaffordable .card-cost{opacity:.76}
.card:disabled{opacity:.7}.hand{gap:12px;padding:15px 5px 22px;justify-content:safe center;scroll-padding:12px}.hand-title{letter-spacing:2px;font-size:9px}
.table .inspect-art.card-portrait{height:138px;margin:12px -5px 14px;border:1px solid #73826a55;border-radius:5px;overflow:hidden;background:#15251f;display:block}
.inspect-art.card-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;display:block}.inspect-rarity{font-size:9px;color:#a1b3a6;letter-spacing:1px;margin-top:8px}
.deck-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px 14px;padding:6px 0 12px}
.deck-gallery .card{width:100%;max-width:none;min-width:0;height:325px}.deck-gallery .card-art{height:143px}.deck-gallery .card-name{font-size:18px;min-height:40px}.card-rule{font-size:10px;line-height:1.55;color:#b7c4b9;margin-top:5px}.deck-gallery .card:hover{transform:translateY(-3px)}
@media(min-width:851px) and (max-height:900px){.hand .card{height:208px}.hand .card-art{height:82px}.table .inspect-art.card-portrait{height:96px}.hand .card-name{font-size:15px}}
@media(max-width:850px){.hand{justify-content:flex-start}.table .inspect-art.card-portrait{height:110px}}
@media(max-width:560px){.hand .card{width:161px;min-width:161px;height:232px}.hand .card-art{height:104px}.table .inspect-art.card-portrait{height:132px;display:block}.deck-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 9px}.deck-gallery .card{height:335px}.deck-gallery .card-art{height:104px}.deck-gallery .card-name{font-size:16px}.deck-gallery .card-instinct{display:none}.deck-gallery .card-colophon{font-size:7px}.deck-gallery .card-stats{margin-left:0}}
@media(prefers-reduced-motion:reduce){.card,.card *{transition:none!important}.card:hover:not(:disabled),.card:focus-visible,.card.chosen{transform:none}.card:hover .card-art img,.card:focus-visible .card-art img{transform:none}}

/* Layout and finish are independent axes; artwork can be replaced per layout. */
.card-surface{display:flex;flex-direction:column;flex:1;min-height:0;position:relative;isolation:isolate;border-radius:6px;overflow:hidden}
.card-surface>*{position:relative;z-index:2}
.card-surface .card-cost{position:absolute}
.card-surface .card-colophon{font-size:7px}
.card-surface.layout-semi-fullart .card-art,.card-surface.layout-fullart .card-art{position:absolute;inset:0;width:100%;height:100%;z-index:0;border:0;border-radius:6px}
.card-surface.layout-semi-fullart .card-art img,.card-surface.layout-fullart .card-art img{height:100%;object-fit:cover}
.card-surface.layout-semi-fullart .card-copy,.card-surface.layout-fullart .card-copy{margin-top:auto;padding:10px 8px 5px}
.card-surface.layout-semi-fullart .card-copy{background:#ede4cfee;border:1px solid #d7bc7b;border-radius:6px 6px 0 0}
.card-surface.layout-semi-fullart .card-name,.card-surface.layout-semi-fullart .card-rule{color:#213332}
.card-surface.layout-semi-fullart .card-type{color:#596746}
.card-surface.layout-semi-fullart .card-bottom,.card-surface.layout-fullart .card-bottom{margin-top:0;background:#102124e8;padding:3px 5px}
.card-surface.layout-semi-fullart .card-colophon,.card-surface.layout-fullart .card-colophon{background:#102124ed;padding:5px;margin-top:0}
.card-surface.layout-fullart .card-copy{background:none;padding-top:25px}
.card-surface.layout-fullart .card-rule{color:#f0ecdf}
/* Extended artwork keeps its title directly on the image. */
.card-surface.layout-semi-fullart .card-copy,.card-surface.layout-fullart .card-copy{position:static}
.card-surface.layout-semi-fullart .card-name,.card-surface.layout-fullart .card-name{position:absolute;top:42px;left:8px;right:8px;min-height:0;background:none;color:#fff4df;-webkit-text-stroke:2px #000;paint-order:stroke fill;text-shadow:0 2px 2px #000}
.card-surface.layout-fullart .card-bottom,.card-surface.layout-fullart .card-colophon{background:none;border:0;box-shadow:none}
.card-surface.layout-fullart .card-type,.card-surface.layout-fullart .card-rule,.card-surface.layout-fullart .card-bottom,.card-surface.layout-fullart .card-colophon,.card-surface.layout-fullart .card-rarity{color:#fff4df;-webkit-text-stroke:2px #000;paint-order:stroke fill;text-shadow:0 1px 2px #000}
.card-surface.layout-fullart .stat-attack,.card-surface.layout-fullart .stat-health,.card-surface.layout-fullart .spell-seal{background:none;border:0;box-shadow:none;color:#fff4df}
/* Spectral film and point light are below the text, above the illustration. */
.card-surface.is-foil::before,.card-surface.is-foil::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:1}
.card-surface.is-foil::before{background:repeating-linear-gradient(122deg,transparent 0%,#f97ac760 13%,#ffe08b6b 23%,#77e5ed75 33%,#97ffb55c 44%,#ac90ff69 54%,transparent 66%);background-size:280% 280%;background-position:var(--foil-x,50%) var(--foil-y,50%);mix-blend-mode:color-dodge;opacity:.42;transition:background-position .14s ease-out,opacity .3s}
.card-surface.is-foil::after{background:radial-gradient(ellipse at var(--foil-x,50%) var(--foil-y,38%),#fffbe752,transparent 52%),repeating-linear-gradient(35deg,#ffffff06 0px,#ffffff06 1px,transparent 1px,transparent 4px);mix-blend-mode:screen;opacity:.35;transition:opacity .3s}
.card-surface.is-foil .card-art{z-index:0}
.card-surface.is-foil{box-shadow:inset 0 0 0 1px #dbc8f18c}
.card.holo-tracking:not(:disabled){transform:perspective(1000px) translateY(-5px) rotateX(var(--foil-rx,0deg)) rotateY(var(--foil-ry,0deg));transition:transform .12s ease-out;z-index:4;border-color:#d3dce1;box-shadow:0 18px 32px #0009,0 0 15px #aedbea20}
.card.holo-tracking .is-foil::before{opacity:.76}.card.holo-tracking .is-foil::after{opacity:.85}
.card:focus-visible .is-foil::before{opacity:.65}.card:focus-visible .is-foil::after{opacity:.65}
.card-sprite{position:absolute;inset:0;display:block;background-repeat:no-repeat}

@media(prefers-reduced-motion:reduce){.card-sprite{animation:none!important}.card.holo-tracking:not(:disabled){transform:none}.card-surface.is-foil::before,.card-surface.is-foil::after{transition:none;background-position:50% 50%}}

/* Portrait compositions: fine metalwork, inset type plaques and restrained typography. */
.card .card-surface{--metal:#bfc4b4}
.card .layout-semi-fullart{--metal:var(--faction)}
.card .layout-fullart{--metal:#dabe85}
.card-engraving{position:absolute;inset:0;z-index:4;border:1px solid color-mix(in srgb,var(--metal) 70%,transparent);border-radius:7px;pointer-events:none;box-shadow:inset 0 0 0 3px #0002,inset 0 0 0 4px color-mix(in srgb,var(--metal) 20%,transparent)}
.card-engraving svg{position:absolute;width:34px;height:34px;fill:none;stroke:var(--metal);stroke-width:.75;opacity:.85}
.card-engraving .corner-tl{top:0;left:0}.card-engraving .corner-tr{top:0;right:0;transform:scaleX(-1)}
.card-engraving .corner-bl{bottom:0;left:0;transform:scaleY(-1)}.card-engraving .corner-br{bottom:0;right:0;transform:scale(-1)}
.card-engraving i{position:absolute;left:calc(50% - 3px);bottom:-2px;width:6px;height:6px;background:var(--metal);transform:rotate(45deg);box-shadow:0 0 0 3px #11191d,0 0 0 4px color-mix(in srgb,var(--metal) 40%,transparent)}
.card-pennant{position:absolute;left:9px;top:2px;width:30px;height:137px;background:linear-gradient(110deg,#0a0e15eb,#131923c9);clip-path:polygon(0 0,100% 0,100% 81%,50% 100%,0 81%);border-inline:1px solid var(--metal);pointer-events:none}
.card-pennant::after{content:'';position:absolute;left:3px;bottom:13px;width:21px;height:21px;border-right:1px solid var(--metal);border-bottom:1px solid var(--metal);transform:rotate(45deg)}
.card-pennant svg{position:absolute;left:5px;top:55px;width:18px;height:43px;fill:none;stroke:var(--faction);stroke-width:.8}
.layout-fullart .card-pennant{top:80px;height:104px}.layout-fullart .card-pennant svg{top:22px}
.card .is-portrait .card-art{height:40%;margin-top:72px;border-bottom:0}
.card .is-portrait .card-edition{display:none}
.card .is-portrait::after{content:'S I G I L';position:absolute;top:12px;left:12px;font:9px 'Segoe UI',sans-serif;letter-spacing:2px;color:var(--faction);z-index:3;pointer-events:none}
.card .is-portrait.is-foil::after{background:none;mix-blend-mode:normal;opacity:1;inset:auto;top:12px;left:12px}
.card .is-portrait .card-name{position:absolute;top:34px;left:13px;right:12px;min-height:0;font:21px/1.12 Georgia,serif;letter-spacing:-.4px;color:#fff5df;background:none;max-height:48px}
.card .is-portrait.layout-semi-fullart .card-name{left:48px}
.card .is-portrait .card-copy{position:static;margin-top:auto;padding:18px 14px 14px;gap:8px}
.card .is-portrait.layout-normal .card-copy{background:linear-gradient(115deg,#ece5d3,#dcd5c1);border:1px solid #bfc4b499;border-radius:4px;color:#202927}
.card .is-portrait .card-type{align-self:center;margin:-26px auto 0;padding:4px 12px;max-width:100%;background:#0c181c;border:1px solid color-mix(in srgb,var(--metal) 65%,transparent);border-radius:9px;font:9px/1.1 'Segoe UI',sans-serif;letter-spacing:.6px;color:#eadfc6}
.card .is-portrait .card-rule{font:13px/1.48 'Segoe UI',sans-serif;color:#202927;margin:2px 0 0}
.card .is-portrait .card-rule strong{font-weight:600}
.card .is-portrait .card-flavor{font:italic 12px/1.35 Georgia,serif;color:#535952;margin-top:15px}
.card .is-portrait.layout-semi-fullart .card-art,.card .is-portrait.layout-fullart .card-art{height:100%;margin:0;inset:0}
.card .is-portrait.layout-semi-fullart .card-copy{background:linear-gradient(115deg,#10171de8,#080f14f2);border:1px solid color-mix(in srgb,var(--faction) 65%,transparent);border-radius:6px;color:#f5f0e5}
.card .is-portrait.layout-semi-fullart .card-rule,.card .is-portrait.layout-fullart .card-rule{color:#f5f0e5}
.card .is-portrait.layout-semi-fullart .card-flavor{color:var(--faction)}
.card .is-portrait.layout-fullart .card-flavor{color:#f5f0e5;text-shadow:0 1px 2px #000;-webkit-text-stroke:1.5px #000;paint-order:stroke fill}
.card .is-portrait.layout-fullart .card-copy{background:none;border:0;padding-bottom:14px}
.card .is-portrait.layout-fullart .card-type{background:none;border:0;color:#f5f0e5}
.card .is-portrait .card-bottom{position:relative;margin:0;padding:8px 7px 0;min-height:40px;background:none}
.card .is-portrait .card-instinct{display:none}
.card .is-portrait .card-stats{border:1px solid var(--metal);border-radius:4px;padding:3px 7px;background:#0a1519;gap:5px}
.card .is-portrait .stat-attack,.card .is-portrait .stat-health{background:none;border:0;box-shadow:none;padding:0;min-width:0;font-size:0;color:#fff4df}
.card .is-portrait .card-stats b{font:23px/1 Georgia,serif;font-weight:400}
.card .is-portrait .stat-health::before{content:'/';font:22px Georgia,serif;margin-right:7px;color:#fff4df}
.card .is-portrait .card-colophon{position:absolute;left:8px;right:80px;bottom:10px;margin:0;padding:0;min-height:25px;border:0;background:none;align-items:start;flex-direction:column;gap:5px;font-size:8px}
.card .is-portrait .card-rarity{color:#e8dfd0;font-size:11px}.card .is-portrait .card-rarity i{display:none}
.card .is-portrait.layout-fullart .card-stats{background:none;border:0}
.card .is-portrait.layout-fullart .card-colophon{color:#fff4df}
.card .is-portrait.layout-semi-fullart .card-name,.card .is-portrait.layout-fullart .card-name{-webkit-text-stroke:1.5px #000;paint-order:stroke fill;text-shadow:0 1px 2px #000}
.card-surface.is-foil::before{opacity:.27}.card.holo-tracking .is-foil::before{opacity:.55}
@media(max-width:560px){.card .is-portrait .card-rule{font-size:11px}.card .is-portrait .card-name{font-size:17px}.card .is-portrait .card-flavor{font-size:10px}.card .is-portrait .card-type{font-size:8px}}

.card .card-cost .pip.B{background:#211c2b;border-color:#bba0cf;color:#eee7f5}.card .card-cost .pip.U{background:#153440;border-color:#91cddd;color:#dcf5ff}.card .card-cost .pip.C{background:#2c3233;border-color:#b6c5c9;color:#f0f1e5}
.card .pip svg{width:17px;height:17px}
.card .is-portrait .card-stats b{color:#fff4df}
.card .is-portrait.layout-normal .card-art{height:auto;min-height:65px;flex:1}
.card .is-portrait .card-copy{flex-shrink:0}.card .is-portrait .card-bottom{flex-shrink:0}
.card .is-portrait .card-colophon{bottom:9px}
.card .is-portrait .card-bottom{padding-bottom:9px}
/* Shared portrait grid: faction/cost, title, rules and stats keep the same anchors. */
.card:has(.is-portrait){padding:3px;border-radius:9px;box-shadow:0 8px 20px #0005;background:#101b1d}
.card:has(.is-portrait)::after{display:none}
.card .is-portrait{padding:0 7px 46px;--attack:#fff4df;--health:#fff4df}
.card .is-portrait .card-engraving{inset:0;border-radius:6px;box-shadow:inset 0 0 0 3px #10191b,inset 0 0 0 4px color-mix(in srgb,var(--metal) 16%,transparent)}
.card .is-portrait .card-engraving svg{width:15px;height:15px;opacity:.35}
.card .is-portrait .card-engraving i{bottom:5px;width:4px;height:4px;box-shadow:none;background:var(--faction)}
.card .is-portrait .card-pennant,.card .is-portrait::after{display:none}
.card .is-portrait .faction-gem{position:absolute;top:11px;left:13px;width:21px;height:25px;display:grid;place-items:center;color:var(--faction);background:#10191be8;clip-path:polygon(50% 0,100% 28%,100% 72%,50% 100%,0 72%,0 28%);font-size:15px;border-block:1px solid var(--faction);z-index:3}
.faction-gem svg{width:15px;height:15px}
.card .is-portrait .card-cost{top:10px;right:12px;align-items:center;gap:7px}
.card .is-portrait .card-name,.card .is-portrait.layout-semi-fullart .card-name{top:43px;left:14px;right:14px;font-size:21px;font-weight:400;line-height:1.12;max-height:48px}
.card .is-portrait.layout-normal .card-art{margin-top:75px;border-radius:2px;min-height:50px;flex:1;height:auto}
.card .is-portrait.layout-semi-fullart .card-art,.card .is-portrait.layout-fullart .card-art{margin:0;height:100%;border-radius:5px}
.card .is-portrait .card-copy{margin-top:auto;position:relative;padding:18px 12px 14px;gap:9px;flex-shrink:0;min-height:68px;border-radius:2px}
.card .is-portrait .card-name{position:absolute}
/* Title is anchored to the surface, independent of rules length. */
.card .is-portrait .card-copy{position:static}
.card .is-portrait .card-type{margin:-24px auto 1px;padding:2px 7px;border:0;border-radius:0;max-width:100%;font:8px/1.4 'Segoe UI',sans-serif;letter-spacing:.7px;background:#102023;color:#ece5d5;box-shadow:0 -1px color-mix(in srgb,var(--faction) 65%,transparent)}
.card .is-portrait .card-rule{font:13px/1.55 'Segoe UI',sans-serif;margin:0}
.card .is-portrait .card-rule strong{font-weight:650}
.card .is-portrait .card-flavor{margin-top:9px;font-size:12px}
.card .is-portrait.layout-semi-fullart .card-copy{background:linear-gradient(115deg,#0c1822bd,#10161dc7);border:0;border-top:1px solid color-mix(in srgb,var(--faction) 35%,transparent)}
.card .is-portrait.layout-fullart .card-copy{background:none;border:0;padding:18px 12px 14px}
.card .is-portrait.layout-fullart .card-type{background:none;box-shadow:none;font-size:8px}
.card .is-portrait.layout-fullart .card-art::after{content:'';position:absolute;inset:48% 0 0;background:linear-gradient(transparent,#07101615 25%,#07101680);pointer-events:none}
.card .is-portrait .card-bottom{position:absolute;left:10px;right:10px;bottom:11px;padding:0;min-height:24px;margin:0}
.card .is-portrait .card-stats{background:none;border:0;padding:0;gap:12px;margin-left:auto}
.card .is-portrait .stat-attack,.card .is-portrait .stat-health{display:flex;align-items:center;gap:4px;font:10px 'Segoe UI',sans-serif;border-radius:0;color:#fff4df}
.card .is-portrait .card-stats b{font:22px/1 Georgia,serif;color:#fff4df}
.card .is-portrait .stat-health::before{display:none}
.card .is-portrait .card-colophon{bottom:12px;left:14px;right:104px;gap:3px;min-height:0}
.card .is-portrait .card-rarity{font-size:10px}
.card .is-portrait.is-foil .card-engraving{border-color:#c1dfeb;box-shadow:inset 1px 0 #83ece0,inset -1px 0 #dba3ee,inset 0 -1px #efd390,inset 0 0 0 3px #071016,inset 0 0 0 4px #b8d3e850}
.card .is-portrait.is-foil .card-engraving i{width:7px;height:7px;background:conic-gradient(#e3b6ff,#8ef1e7,#ffe3a3,#e3b6ff);box-shadow:0 0 5px #d6c0ff70}
.card .is-portrait.is-foil .faction-gem{background:linear-gradient(140deg,#a3eedb,#313e60 42%,#e1a5e8);color:#fff}
@media(max-width:560px){.card .is-portrait .card-rule{font-size:12px}.card .is-portrait .card-name{font-size:19px}.card .is-portrait .card-flavor{font-size:11px}}

.card:has(.is-portrait){border-color:transparent}
.card .is-portrait .card-name,.card .is-portrait.layout-semi-fullart .card-name{top:32px}
.card .is-portrait .faction-gem{top:8px;width:17px;height:20px}
.card .is-portrait .card-cost{top:7px}
.card .is-portrait.layout-normal .card-art{margin-top:62px}
.card .is-portrait.layout-normal.long-name .card-art{margin-top:86px}
.card .is-portrait.layout-semi-fullart .card-art{height:calc(100% - 46px);bottom:46px}
.card .is-portrait.layout-fullart .card-engraving{box-shadow:none;border-color:#dabe8599}
.card .is-portrait.layout-normal .card-copy{border:0;box-shadow:inset 0 0 0 1px #bfc4b455}

.card .is-portrait .card-cost{gap:4px}
.card .is-portrait .card-cost .pip{width:24px;height:24px;font-size:14px;box-shadow:0 1px 3px #0009,inset 0 1px 2px #ffffff26}
.card .is-portrait .card-cost .pip.generic{font:17px Georgia,serif;color:#fff4df;background:#131b1de8;border-color:#ded6c1}
/* Keep collection typography readable at actual tile size. */
.card .is-portrait .card-rule{font-size:14px;line-height:1.5}
.card .is-portrait .card-type,.card .is-portrait.layout-fullart .card-type{font-size:9px}
@media(max-width:560px){.card .is-portrait .card-rule{font-size:13px}}
/* Portrait previews and in-game galleries use the same physical card ratio. */
.deck-gallery .card:has(.is-portrait){height:auto;aspect-ratio:2 / 3}
