/* Canonical card: painted grade rail, large artwork, calibrated painted footer. */
.soul-card{position:relative;display:block;isolation:isolate;container-type:inline-size;aspect-ratio:2/3;width:100%;padding:0;flex-shrink:0;color:#f3ead7;text-align:left;background:#101e28 url('./assets/card-back-v1.webp?v=20261028-panteon153-v17') center/cover no-repeat;border:1px solid var(--grade);border-radius:4px;box-shadow:0 4px 9px #0008;overflow:hidden;filter:none}
.soul-card:before,.soul-card:after,.soul-frame,.card-corner{display:none}
.soul-art{position:absolute;pointer-events:none;inset:1% 1% auto;width:98%;height:98%;z-index:1;border-radius:2px}
.soul-frame-overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:6;pointer-events:none}
.soul-rarity{position:absolute;left:2%;top:.8%;width:24%;height:9.7%;padding:.5% 1%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:none;border:0;clip-path:none;font-size:clamp(6px,7.3cqw,24px);font-weight:950;line-height:1;color:var(--grade);z-index:7;pointer-events:none}
.rarity-letter{font:inherit;line-height:1;letter-spacing:-.035em;background:linear-gradient(180deg,#fffbe8 0%,color-mix(in srgb,var(--grade) 65%,white) 23%,var(--grade) 47%,color-mix(in srgb,var(--grade) 52%,#10202e) 72%,color-mix(in srgb,var(--grade) 85%,white) 100%);background-clip:text;-webkit-background-clip:text;color:var(--grade);-webkit-text-fill-color:transparent;-webkit-text-stroke:.2px color-mix(in srgb,var(--grade) 80%,white);filter:drop-shadow(0 .7px .2px #09121f) drop-shadow(0 1.3px .7px #000b);text-shadow:0 -.25px .2px #fff8}
.soul-rarity small{display:block;font-size:.48em;font-weight:700;line-height:1;margin-top:4%;color:#e6edf1;text-shadow:0 1px 2px #000}
.soul-dex{position:absolute;top:2%;left:32%;width:36%;text-align:center;font:700 clamp(6px,5cqw,13px)/1.1 'Noto Sans KR',sans-serif;color:var(--grade);text-shadow:0 1px 3px #000,0 0 5px #000;z-index:7;pointer-events:none;white-space:nowrap}
.soul-element,.soul-skill{display:none}
/* Source artwork 1774x887. Crop y=200..787; anchor every text row to that crop. */
.soul-footer{position:absolute;inset:auto 0 2.6%;height:24%;padding:0;border:0;display:block;background:url('./assets/card-footer-clean-v2.webp?v=20261028-panteon153-v17') center 66.6667%/100% 151.1073% no-repeat;z-index:4;pointer-events:none}
.soul-identity{position:static;width:auto;min-width:0}
.soul-name{position:absolute;left:8%;top:20%;width:41%;height:22%;display:flex;align-items:center;justify-content:center;margin:0;font-family:'Noto Serif KR',serif;font-weight:900;font-size:var(--name-size,6.8cqw);line-height:1;letter-spacing:-.035em;white-space:nowrap;text-align:center;color:#f0eadb;text-shadow:0 1px 2px #000}
.soul-inscription{position:absolute;left:9%;top:49%;width:39%;height:37%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9%;padding:0;text-align:center}
.soul-type,.soul-trait{position:static;display:block;font-size:4.8cqw;font-weight:650;line-height:1.1;white-space:nowrap;text-shadow:0 1px 2px #000}
.soul-type{color:var(--element)}.soul-trait{font-size:4.6cqw;color:#e5d4b1}
.stat-ribbons{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}
.stat-ribbons>span,.stat-ribbons>span:first-child{position:absolute;left:56.5%;width:33.5%;height:22%;padding:0;display:grid;grid-template-columns:42% 58%;align-items:center;justify-items:center;text-align:center;background:none;border:0;clip-path:none}
.stat-ribbons>span:nth-child(1){top:22%}.stat-ribbons>span:nth-child(2){top:47.1%}.stat-ribbons>span:nth-child(3){top:73.8%}
.stat-ribbons small{font-size:4.3cqw;font-weight:500;line-height:1;color:#c4d3dc;white-space:nowrap;text-shadow:0 1px 2px #000}
.stat-ribbons b{font-size:6.8cqw;font-weight:800;line-height:1;color:#f4edda;white-space:nowrap;text-shadow:0 1px 2px #000}
.stat-ribbons em{font-size:.62em;font-weight:500;color:#c8d2d8;font-style:normal;margin-left:1px}
.soul-tag{position:absolute;right:8%;top:12%;padding:1px 3px;border:0;background:#101d28bd;font-size:clamp(5px,4.5cqw,11px);font-weight:500;line-height:1.2;color:#e5dec8;writing-mode:horizontal-tb;z-index:7}
.card-selected{outline:1px solid var(--grade);outline-offset:2px;filter:none}.card-unowned .soul-art{filter:grayscale(.25) brightness(.78)}.displayed-card .soul-art,.framed-card-preview .soul-art{filter:none}
.world-battle .battle-deck-mini .soul-card{border:1px solid var(--grade)}
