/* Independent card materials. No sizes, game attributes or clocks. */
:is(html:not([data-online-card-skins])[data-card-skin="obsidian"],.card[data-card-skin="obsidian"]) {
  --card-material:radial-gradient(ellipse at 12% 0%,rgba(171,143,223,.18),transparent 55%),linear-gradient(118deg,transparent 42%,rgba(214,209,236,.08) 43%,transparent 44%),linear-gradient(150deg,#24222c,#090a10 66%,#1e1b25);
  --card-edge:#b79a61;
  --card-accent:#f0d58d;
  --card-engraving:#caba94;
  --card-secondary:#bdb3a1;
  --card-rule:rgba(229,201,138,.3);
  --card-emblem:#ddbf75;
  --card-public:#87e69a;
}
:is(html:not([data-online-card-skins])[data-card-skin="pearl-ruby"],.card[data-card-skin="pearl-ruby"]),:is(html:not([data-online-card-skins])[data-card-skin="pearl-diamond"],.card[data-card-skin="pearl-diamond"]) {
  --card-material:radial-gradient(ellipse at 0% 15%,rgba(150,236,224,.5),transparent 65%),radial-gradient(ellipse at 100% 80%,rgba(211,179,237,.43),transparent 65%),linear-gradient(122deg,#fff9ed 5%,#f1dfe8 28%,#fbfff4 50%,#dceff3 75%,#fff3df);
  --card-edge:#c4adb2;
  --card-accent:#a3133c;
  --card-engraving:#6f4654;
  --card-secondary:#755a65;
  --card-rule:rgba(125,52,78,.25);
  --card-emblem:#af2651;
  --card-public:#356b36;
}
:is(html:not([data-online-card-skins])[data-card-skin="pearl-diamond"],.card[data-card-skin="pearl-diamond"]) {
  --card-edge:#8abac4;
  --card-accent:#087e94;
  --card-engraving:#315d70;
  --card-secondary:#436772;
  --card-rule:rgba(24,104,126,.28);
  --card-emblem:#078fa2;
}
:is(html:not([data-online-card-skins])[data-card-skin] .card,.card[data-card-skin]:not([data-card-skin="classic"])).face {
  background:var(--card-material);
  border-color:var(--card-edge);
  color:var(--card-accent);
}
:is(html:not([data-online-card-skins])[data-card-skin] .card,.card[data-card-skin]:not([data-card-skin="classic"])).face .rank,
:is(html:not([data-online-card-skins])[data-card-skin] .card,.card[data-card-skin]:not([data-card-skin="classic"])).face .suit { color:var(--card-accent); text-shadow:0 1px 0 rgba(255,255,255,.12); }
:is(html:not([data-online-card-skins])[data-card-skin] .card,.card[data-card-skin]:not([data-card-skin="classic"])).face .role { color:var(--card-engraving); border-color:var(--card-rule); }
:is(html:not([data-online-card-skins])[data-card-skin] .card,.card[data-card-skin]:not([data-card-skin="classic"])).face .slot { color:var(--card-secondary); }
:is(html:not([data-online-card-skins])[data-card-skin] .card,.card[data-card-skin]:not([data-card-skin="classic"])).face .known-mark { color:var(--card-public); }
:is(html:not([data-online-card-skins])[data-card-skin="obsidian"] .card,.card[data-card-skin="obsidian"]).face .bonus { color:#a0ecae; background:rgba(84,150,93,.2); }
/* One uniform back per deck. The side is public; rank and role never enter it. */
:is(html:not([data-online-card-skins])[data-card-skin] .card,.card[data-card-skin]:not([data-card-skin="classic"])).back[data-side="0"] { --deck-edge:#c87c6e; --deck-wash:rgba(158,54,48,.16); }
:is(html:not([data-online-card-skins])[data-card-skin] .card,.card[data-card-skin]:not([data-card-skin="classic"])).back[data-side="1"] { --deck-edge:#70a8c1; --deck-wash:rgba(38,108,145,.17); }
:is(html:not([data-online-card-skins])[data-card-skin] .card,.card[data-card-skin]:not([data-card-skin="classic"])).back[data-side] {
  border-color:var(--deck-edge);
  background:repeating-linear-gradient(45deg,transparent 0 8px,rgba(164,139,103,.12) 8px 9px),linear-gradient(var(--deck-wash),var(--deck-wash)),var(--card-material);
}
:is(html:not([data-online-card-skins])[data-card-skin] .card,.card[data-card-skin]:not([data-card-skin="classic"])).back::before { border-color:var(--deck-edge); }
:is(html:not([data-online-card-skins])[data-card-skin] .card,.card[data-card-skin]:not([data-card-skin="classic"])).back::after { color:var(--card-accent); text-shadow:none; }
/* Court illustrations are CSS masks selected from the already public label.
   Hidden cards cannot match: their label contains only "Carta coperta". */
:is(html:not([data-online-card-skins])[data-card-skin] .card,.card[data-card-skin]:not([data-card-skin="classic"])).face:is([aria-label^="K"],[aria-label*=" K"]) { --court-art:url('./king.svg'); }
:is(html:not([data-online-card-skins])[data-card-skin] .card,.card[data-card-skin]:not([data-card-skin="classic"])).face:is([aria-label^="Q"],[aria-label*=" Q"]) { --court-art:url('./queen.svg'); }
:is(html:not([data-online-card-skins])[data-card-skin] .card,.card[data-card-skin]:not([data-card-skin="classic"])).face:is([aria-label^="J"],[aria-label*=" J"]):not([aria-label*="Giullare"]) { --court-art:url('./knight.svg'); }
:is(html:not([data-online-card-skins])[data-card-skin] .card,.card[data-card-skin]:not([data-card-skin="classic"])).face[aria-label*="Giullare"] { --court-art:url('./jester.svg'); }
:is(html:not([data-online-card-skins])[data-card-skin] .card,.card[data-card-skin]:not([data-card-skin="classic"])).face::before {
  content:""; position:absolute; top:36%; left:25%; width:50%; height:29%;
  background:var(--card-emblem); mask:var(--court-art,none) center / contain no-repeat;
  pointer-events:none; opacity:.85;
}
/* No art on ordinary ranks or in the tiny seven-card mobile rows. */
:is(html:not([data-online-card-skins])[data-card-skin] .card,.card[data-card-skin]:not([data-card-skin="classic"])).face:not(:is([aria-label^="K"],[aria-label*=" K"],[aria-label^="Q"],[aria-label*=" Q"],[aria-label^="J"],[aria-label*=" J"],[aria-label*="Giullare"]))::before { content:none; }
@media(max-width:680px) {
  :is(html:not([data-online-card-skins])[data-card-skin] .army .frontline .card,.army .frontline .card[data-card-skin]:not([data-card-skin="classic"])).face::before { content:none; }
}
