/* Hallmark · component-scope: game library · macrostructure: existing Catalogue
   Atmospheric / compact premium · anchor: inherited LC member palette · design.md
   Art-first cards, no page-shell redesign. P4 H5 E4 S5 R5 V4.
   Eight interaction states; reduced motion; native links and buttons share one treatment. */
.lcCasino .lcCasino-catalogue {
 --card-control: 48px;
 --card-title: 22px;
 --card-body: 14px;
 --card-caption: 12px;
 display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
 gap:var(--casino-lg) var(--casino-md);align-items:stretch;
}
.lcCasino .lcCasino-catalogue .lcCasino-card {
 min-width:0;overflow:hidden;display:flex;flex-direction:column;
 border:1px solid var(--casino-rule);border-radius:var(--casino-radius);
 background:var(--casino-surface);color:var(--casino-ink);box-shadow:none;
 transition:border-color var(--casino-fast) var(--casino-ease);
}
.lcCasino .lcCasino-catalogue .lcCasino-cardArt {
 width:100%;aspect-ratio:16/9;flex:none;isolation:isolate;
 background:var(--casino-paper);border-bottom:1px solid var(--casino-rule);
}
.lcCasino .lcCasino-catalogue .lcCasino-cardArt :is(canvas,.lcCasino-cardPreview) {
 position:absolute;inset:0;display:block;width:100%;max-width:none;
 height:100%!important;max-height:none;object-fit:cover;
}
.lcCasino .lcCasino-catalogue .lcCasino-cardKind {
 top:var(--casino-sm);left:var(--casino-sm);margin:0;
 padding:var(--casino-xs) var(--casino-sm);border:1px solid var(--casino-rule);
 border-radius:var(--casino-xs);background:var(--casino-paper);color:var(--casino-ink);
 font:600 var(--card-caption)/1.4 var(--casino-font);letter-spacing:.04em;
}
.lcCasino .lcCasino-catalogue [data-edition="premium"] .lcCasino-cardKind {
 color:var(--casino-metal);border-color:var(--casino-metal);
}
.lcCasino .lcCasino-catalogue .lcCasino-cardText {
 display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;
 padding:var(--casino-md);gap:var(--casino-sm);
}
.lcCasino .lcCasino-catalogue .lcCasino-cardTitle {display:block;min-width:0}
.lcCasino .lcCasino-catalogue h3 {
 margin:0;min-width:0;font:700 var(--card-title)/1.2 var(--casino-display);
 color:var(--casino-ink);letter-spacing:-.015em;overflow-wrap:anywhere;
}
.lcCasino .lcCasino-catalogue .lcCasino-cardText p {
 margin:0;min-height:0;max-width:48ch;color:var(--casino-muted);
 font:400 var(--card-body)/1.5 var(--casino-font);
}
.lcCasino .lcCasino-catalogue .lcCasino-cardAccess {
 margin-top:auto;padding-top:var(--casino-sm);color:var(--casino-muted);
 font:400 var(--card-caption)/1.5 var(--casino-font);
}
.lcCasino .lcCasino-catalogue .lcCasino-cardFoot {
 display:flex;align-items:center;gap:var(--casino-sm);width:100%;align-self:auto;
 margin:0;padding-top:var(--casino-xs);
}
.lcCasino .lcCasino-catalogue :is(a,button).lcCasino-cardPlay {
 display:flex;align-items:center;justify-content:space-between;gap:var(--casino-sm);
 flex:1;min-width:0;min-height:var(--card-control);box-sizing:border-box;
 padding:var(--casino-sm) var(--casino-md);border:1px solid var(--casino-rule);
 border-radius:var(--casino-xs);background:var(--casino-raised);color:var(--casino-ink);
 font:600 var(--card-body)/1 var(--casino-font);white-space:nowrap;text-decoration:none;
 transition:background-color var(--casino-fast) var(--casino-ease);
}
.lcCasino .lcCasino-catalogue .lcCasino-cardPlay span:last-child {font-size:20px;color:inherit;line-height:1}
.lcCasino .lcCasino-catalogue .lcCasino-favorite {
 width:var(--card-control);height:var(--card-control);min-height:var(--card-control);
 flex:0 0 var(--card-control);padding:0;border-radius:var(--casino-xs);
}
.lcCasino .lcCasino-catalogue :is(a,button):focus-visible,
.lcCasino .lcCasino-catalogue .is-focus {outline:2px solid var(--casino-ink);outline-offset:-4px}
.lcCasino .lcCasino-catalogue :is(a,button):active,
.lcCasino .lcCasino-catalogue .is-active {transform:translateY(1px)}
.lcCasino .lcCasino-catalogue :is(a,button):is(:disabled,[aria-disabled="true"]) {opacity:.5;cursor:not-allowed}
.lcCasino .lcCasino-catalogue [aria-busy="true"],
.lcCasino .lcCasino-catalogue [data-state="loading"] {opacity:.7;cursor:progress}
.lcCasino .lcCasino-catalogue :is(.lcCasino-cardPlay,.lcCasino-favorite)[data-state="error"] {border-color:var(--casino-error);color:var(--casino-error)!important}
.lcCasino .lcCasino-catalogue :is(.lcCasino-cardPlay,.lcCasino-favorite)[data-state="success"],
.lcCasino .lcCasino-catalogue .lcCasino-favorite[aria-pressed="true"] {border-color:var(--casino-metal);color:var(--casino-metal)}
@media(hover:hover) {
 .lcCasino .lcCasino-catalogue .lcCasino-card:hover {border-color:var(--casino-muted)}
 .lcCasino .lcCasino-catalogue :is(a,button).lcCasino-cardPlay:not(:disabled):hover,
 .lcCasino .lcCasino-catalogue :is(a,button).lcCasino-cardPlay.is-hover {
  background:var(--casino-accent);color:var(--casino-accent-ink);
 }
}
@media(min-width:80rem) {.lcCasino .lcCasino-catalogue {grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:599px) {.lcCasino .lcCasino-catalogue {grid-template-columns:minmax(0,1fr);gap:var(--casino-md)}}
@media(prefers-reduced-motion:reduce) {
 .lcCasino .lcCasino-catalogue .lcCasino-card,.lcCasino .lcCasino-catalogue :is(a,button).lcCasino-cardPlay {transition:none}
 .lcCasino .lcCasino-catalogue :is(a,button):active,.lcCasino .lcCasino-catalogue .is-active {transform:none}
}
