/* Hallmark · existing LC atmospheric application · Workbench + four-game catalogue.
   Inherited forum shell; original precision vector game scenes; anchor hue 325. */
@import url('./house.css?v=1000110');
@import url('./blackjack.css?v=1000080');
@import url('./tables.css?v=1000135');
@import url('./gameplay.css?v=1000120');
@import url('./history.css?v=20261006');
@import url('./editions.css?v=1000210');
.lcCasino-buffaloPreview {display:block;width:100%;height:100%;background-size:400% 200%;background-position:0 0;background-repeat:no-repeat;background-color:var(--casino-paper)}
.lcCasino-buffaloCard .lcCasino-cardArt {border-bottom:2px solid var(--casino-metal)}
.lcCasino-buffaloCard .lcCasino-premiumArt {display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.lcCasino-buffaloCard .lcCasino-premiumActions {margin-top:var(--casino-md)}
.lcCasino-buffaloCard .lcCasino-premiumActions a:focus-visible {outline:2px solid var(--casino-ink);outline-offset:3px}
/* Hallmark · component: premium access · existing LC atmospheric tokens
 * pre-emit critique: P4 H4 E4 S4 R5 V4
 * states: default · hover · focus · active · disabled · loading · error · success */
.lcCasino-premium{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--casino-lg);padding:var(--casino-lg);margin-block:var(--casino-lg);border:1px solid var(--casino-rule);border-inline-start:3px solid var(--casino-metal);border-radius:var(--casino-radius);background:var(--casino-surface);color:var(--casino-ink)}
.lcCasino-premiumLabel{color:var(--casino-metal);font-size:13px}
.lcCasino-premium h3{font-size:28px;margin-block:var(--casino-xs) var(--casino-sm)}
.lcCasino-premium p{margin-block:var(--casino-sm)}
.lcCasino-premiumActions{display:flex;flex-direction:column;align-items:flex-start;gap:var(--casino-sm);min-width:0}
.lcCasino-premiumActions a{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap}
.lcCasino-premiumActions button:focus-visible,.lcCasino-premiumActions button.is-focus{outline:2px solid var(--casino-ink);outline-offset:3px}
.lcCasino-premiumActions button:active,.lcCasino-premiumActions button.is-active{transform:translateY(1px)}
.lcCasino-premiumActions [data-state="loading"]{cursor:progress;opacity:.7}
.lcCasino-premiumActions [data-state="error"]{border-color:var(--casino-error);color:var(--casino-error)}
.lcCasino-premiumExpiry,.lcCasino-premiumActions [data-state="success"]{color:var(--casino-success)}
@media(hover:hover){.lcCasino-premiumActions button:not(:disabled):hover,.lcCasino-premiumActions button.is-hover{background:var(--casino-raised);color:var(--casino-ink)}}
@media(min-width:48rem){.lcCasino-premium{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.lcCasino-premiumActions button{transition:none}.lcCasino-premiumActions button:active{transform:none}}
.lcCasino {
 --casino-paper:var(--color-paper,#101116);--casino-surface:var(--color-paper-2,#191b25);
 --casino-raised:var(--color-paper-3,#242735);--casino-ink:var(--color-ink,#eee9ef);
 --casino-muted:var(--color-muted,#b9b4c2);--casino-rule:var(--color-rule,#525362);
 --casino-accent:var(--color-accent,#c89cff);--casino-accent-ink:var(--color-accent-ink,#181018);
 --casino-metal:oklch(79% .055 80);--casino-felt:oklch(24% .025 170);
 --casino-red:oklch(52% .13 25);--casino-card:oklch(94% .01 80);--casino-card-ink:oklch(23% .015 325);
 --casino-success:oklch(82% .10 155);--casino-error:oklch(81% .10 25);
 --casino-font:var(--font-body,"Segoe UI",Arial,sans-serif);--casino-display:var(--font-display,Bahnschrift,"Arial Narrow",sans-serif);
 --casino-xs:4px;--casino-sm:8px;--casino-md:16px;--casino-lg:24px;--casino-xl:40px;
 --casino-radius:8px;--casino-fast:160ms;--casino-ease:cubic-bezier(.16,1,.3,1);
 color:var(--casino-ink);font-family:var(--casino-font);font-size:15px;line-height:1.5;min-width:0;
}
.lcCasino *{box-sizing:border-box}.lcCasino [hidden]{display:none!important}
.lcCasino h2,.lcCasino h3{font-family:var(--casino-display);font-style:normal;margin:0;font-weight:700;overflow-wrap:anywhere}
.lcCasino h2{font-size:28px;line-height:1.2}.lcCasino h3{font-size:20px}
.lcCasino p{margin:0}.lcCasino small{font-size:13px;color:var(--casino-muted)}
.lcCasino a{color:var(--casino-accent)}
.lcCasino button,.lcCasino select,.lcCasino input{font:inherit;border:1px solid var(--casino-rule);border-radius:4px;background:var(--casino-paper);color:var(--casino-ink);min-height:48px;padding:var(--casino-sm) var(--casino-md);max-width:100%}
.lcCasino button{cursor:pointer;white-space:nowrap;transition:background-color var(--casino-fast) var(--casino-ease),transform 100ms var(--casino-ease)}
.lcCasino button:active{transform:translateY(1px)}
.lcCasino button:disabled{opacity:.5;cursor:not-allowed}
.lcCasino :is(button,input,select,a,summary):focus-visible{outline:2px solid var(--casino-accent);outline-offset:3px}
.lcCasino button.lcCasino-primary{background:var(--casino-accent);color:var(--casino-accent-ink);font-weight:700;border-color:var(--casino-accent)}
.lcCasino-nav{display:flex;flex-wrap:wrap;gap:var(--casino-xs);border-bottom:1px solid var(--casino-rule);margin-bottom:var(--casino-lg)}
.lcCasino-nav a{padding:var(--casino-sm) var(--casino-md);min-height:44px;white-space:nowrap;color:var(--casino-muted)}
.lcCasino-nav [aria-current]{color:var(--casino-ink);border-bottom:2px solid var(--casino-accent)}
.lcCasino-intro{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:start;gap:var(--casino-lg);margin-bottom:var(--casino-lg)}
.lcCasino-intro p{max-width:60ch;margin-top:var(--casino-sm);color:var(--casino-muted)}
.lcCasino-balance{font-variant-numeric:tabular-nums;display:flex;gap:var(--casino-lg)}
.lcCasino-balance strong{font-family:var(--casino-display);font-size:24px;display:block;line-height:1.3}
.lcCasino-notice{padding:var(--casino-md);background:var(--casino-surface);color:var(--casino-ink);border:1px solid var(--casino-rule);border-radius:var(--casino-radius);margin-bottom:var(--casino-lg)!important}
.lcCasino-access{display:grid;gap:var(--casino-md);border-block:1px solid var(--casino-rule);padding-block:var(--casino-lg);margin-block:var(--casino-lg)}
.lcCasino-accessOptions{display:flex;flex-wrap:wrap;gap:var(--casino-md);align-items:center}
.lcCasino-cards{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--casino-md)}
.lcCasino-card{background:var(--casino-surface);color:var(--casino-ink);border:1px solid var(--casino-rule);border-radius:var(--casino-radius);overflow:clip;min-width:0}
.lcCasino-card canvas{display:block;width:100%;aspect-ratio:2/1;background:var(--casino-paper);color:var(--casino-ink)}
.lcCasino-cardText{padding:var(--casino-md);display:grid;gap:var(--casino-sm)}
.lcCasino-cardText p{color:var(--casino-muted);min-height:3em}
.lcCasino-cardFoot{display:flex;gap:var(--casino-sm);justify-content:space-between;align-items:center}
.lcCasino-cardFoot button:first-child{flex:1}
.lcCasino-favorite{width:48px;padding:0!important;font-size:22px!important;color:var(--casino-metal)!important}
.lcCasino-gameHead{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--casino-md);margin-bottom:var(--casino-md);scroll-margin-top:84px}
.lcCasino-actions{display:flex;gap:var(--casino-sm);flex-wrap:wrap;align-items:center}
.lcCasino-gameLayout{display:grid;gap:var(--casino-md);grid-template-columns:minmax(0,1fr)}
.lcCasino-stage{min-width:0;position:relative;background:var(--casino-paper);color:var(--casino-ink);border:1px solid var(--casino-rule);border-radius:var(--casino-radius);overflow:clip}
.lcCasino-stage canvas{display:block;width:100%;aspect-ratio:5/3}
.lcCasino-stageFooter{display:flex;justify-content:space-between;gap:var(--casino-sm);padding:var(--casino-sm) var(--casino-md);border-top:1px solid var(--casino-rule);align-items:center;flex-wrap:wrap}
.lcCasino-outcome{font-variant-numeric:tabular-nums;min-height:3em;margin-top:var(--casino-md)!important}
.lcCasino-controls{display:flex;flex-direction:column;gap:var(--casino-md);min-width:0}
.lcCasino-controls label{display:grid;gap:var(--casino-xs)}
.lcCasino-controls input,.lcCasino-controls select{width:100%}
.lcCasino-audio{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--casino-sm);align-items:end}
.lcCasino-audio label{grid-template-columns:1fr auto;font-size:13px;color:var(--casino-muted)}
.lcCasino-audio input[type="range"]{grid-column:1/-1;accent-color:var(--casino-accent);padding:0;border:0;background:transparent;cursor:pointer}
.lcCasino-audio output{font-variant-numeric:tabular-nums}
.lcCasino-wager{display:flex;justify-content:space-between;gap:var(--casino-sm);padding-block:var(--casino-sm);font-variant-numeric:tabular-nums}
.lcCasino-betGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(48px,1fr));gap:var(--casino-xs)}
.lcCasino-betGrid button{padding:0;position:relative;font-variant-numeric:tabular-nums}
.lcCasino-betGrid button[data-red="true"]{background:var(--casino-red);color:var(--casino-ink)}
.lcCasino-betGrid button[data-selected="true"]{outline:2px solid var(--casino-metal);outline-offset:-3px}
.lcCasino-betGrid button small{position:absolute;right:2px;bottom:0;background:var(--casino-paper);color:var(--casino-ink);font-size:10px}
.lcCasino-betList{display:grid;gap:var(--casino-xs);max-height:160px;overflow:auto;font-variant-numeric:tabular-nums}
.lcCasino-betList>div{display:flex;justify-content:space-between;gap:var(--casino-sm)}
.lcCasino-payouts{display:flex;gap:var(--casino-sm);flex-wrap:wrap;align-items:center}
.lcCasino-payouts span{border-bottom:1px solid var(--casino-rule);padding:var(--casino-xs);font-variant-numeric:tabular-nums}
.lcCasino-status{min-height:1.5em;color:var(--casino-error);margin-block:var(--casino-sm)!important}
.lcCasino-history{margin-top:var(--casino-xl);border-top:1px solid var(--casino-rule);padding-top:var(--casino-md)}
.lcCasino-history h3{margin-bottom:var(--casino-md)}
.lcCasino-historyRow{display:grid;grid-template-columns:1fr auto;gap:var(--casino-sm);border-bottom:1px solid var(--casino-rule);padding-block:var(--casino-sm);font-variant-numeric:tabular-nums}
.lcCasino-historyRow small{display:block}.lcCasino-historyRow>span:last-child{text-align:right}
.lcCasino-tools{margin-top:var(--casino-lg);display:flex;flex-wrap:wrap;gap:var(--casino-md);align-items:center}
.lcCasino-dialog{background:var(--casino-surface);color:var(--casino-ink);border:1px solid var(--casino-rule);border-radius:var(--casino-radius);padding:var(--casino-lg);position:fixed;inset:0;margin:auto;height:fit-content;max-height:80dvh;width:560px;max-width:calc(100% - 32px);overflow:auto}
.lcCasino-dialog::backdrop{background:oklch(10% .01 325 / .8)}
.lcCasino-dialog h2{font-size:24px;margin-bottom:var(--casino-md)}
.lcCasino-dialog .lcCasino-actions{margin-top:var(--casino-lg)}
.lcCasino-dialog ul{padding-inline-start:var(--casino-lg)}
.lcCasino-dialog td,.lcCasino-dialog th{padding:var(--casino-sm);border-bottom:1px solid var(--casino-rule);text-align:left}
.lcCasino-dialog table{width:100%;font-variant-numeric:tabular-nums}
.lcCasino-focus .lcCasino-controls{max-width:none}
@media (hover:hover){.lcCasino button:not(:disabled):hover{background:var(--casino-raised);color:var(--casino-ink)}.lcCasino-card:hover{border-color:var(--casino-metal)}}
@media (min-width:40rem){.lcCasino-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:70rem){.lcCasino-gameLayout{grid-template-columns:minmax(0,1fr) 280px}.lcCasino-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.lcCasino-cardText{min-height:215px}.lcCasino-cardText p{min-height:4.5em}.lcCasino-card canvas{aspect-ratio:1.4/1}.lcCasino-focus .lcCasino-gameLayout{grid-template-columns:minmax(0,1fr)}.lcCasino-focus .lcCasino-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.lcCasino-gameLayout[data-game="roulette"]{grid-template-columns:minmax(0,1fr) 400px}}
@media (prefers-reduced-motion:reduce){.lcCasino button{transition:none}.lcCasino button:active{transform:none}}

/* Hallmark · component: casino game picker · genre: atmospheric · design-system: design.md
   Scope: catalogue only; fixed art frames, compact two-column rhythm, no gameplay changes.
   States: default, hover, focus, active, disabled, loading, error, success.
   Pre-emit critique: P4 H4 E4 S5 R4 V4. Existing illustration and shell tokens preserved. */
.lcCasino-cards.lcCasino-catalogue{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--casino-lg)}
.lcCasino-catalogue .lcCasino-card{display:flex;flex-direction:column;border-radius:var(--casino-radius);transition:border-color var(--casino-fast) var(--casino-ease)}
.lcCasino-cardArt{position:relative;aspect-ratio:2.05;overflow:clip;background:var(--hob-paper,var(--casino-paper));color:var(--casino-ink);border-bottom:1px solid var(--casino-rule)}
.lcCasino-catalogue .lcCasino-cardArt canvas{position:absolute;inset:0;width:100%;height:100%!important;max-height:100%;object-fit:contain;background:transparent}
.lcCasino-cardKind{position:absolute;top:var(--casino-sm);left:var(--casino-sm);padding:var(--casino-xs) var(--casino-sm);border:1px solid var(--casino-rule);background:var(--casino-paper);color:var(--casino-muted);font-size:11px;line-height:1.4;letter-spacing:.08em;text-transform:uppercase}
.lcCasino-catalogue .lcCasino-cardText{padding:var(--casino-md) var(--casino-lg);gap:var(--casino-sm);min-height:0;flex:1;grid-template-rows:auto 1fr auto}
.lcCasino-cardTitle{display:flex;align-items:baseline;justify-content:space-between;gap:var(--casino-sm)}
.lcCasino-catalogue h3{font-size:23px;line-height:1.2;min-width:0}
.lcCasino-cardNumber{font-size:12px;color:var(--casino-muted);font-variant-numeric:tabular-nums}
.lcCasino-catalogue .lcCasino-cardText p{min-height:0;font-size:14px;line-height:1.5;max-width:48ch;margin:0 0 var(--casino-sm)}
.lcCasino-catalogue .lcCasino-cardFoot{gap:var(--casino-sm);align-self:end}
.lcCasino-catalogue button.lcCasino-cardPlay{display:flex;align-items:center;justify-content:space-between;gap:var(--casino-md);min-height:44px;font-weight:600;background:var(--casino-raised);color:var(--casino-ink);border-color:var(--casino-rule)}
.lcCasino-catalogue .lcCasino-cardPlay span:last-child{color:var(--casino-accent);font-size:20px;line-height:1}
.lcCasino-catalogue .lcCasino-favorite{min-height:44px;width:44px;flex:0 0 44px}
.lcCasino-catalogue .lcCasino-favorite[aria-pressed="true"],.lcCasino-catalogue button[data-state="success"]{background:var(--casino-raised);color:var(--casino-metal);border-color:var(--casino-metal)}
.lcCasino-catalogue button[data-state="error"]{border-color:var(--casino-error);color:var(--casino-error)}
.lcCasino-catalogue button[aria-busy="true"],.lcCasino-catalogue button[data-state="loading"]{cursor:progress;opacity:.7}
.lcCasino-catalogue button:focus-visible,.lcCasino-catalogue button.is-focus{outline:2px solid var(--casino-ink);outline-offset:3px}
.lcCasino-catalogue button:active,.lcCasino-catalogue button.is-active{transform:translateY(1px)}
.lcCasino-catalogue button:disabled{opacity:.5;cursor:not-allowed}
.lcCasino-cardLocked{grid-column:1/-1;font-size:12px}
.lcCasino-lobbyUtility{display:flex;align-items:center;flex-wrap:wrap;gap:var(--casino-sm) var(--casino-lg);margin-bottom:var(--casino-lg);padding-bottom:var(--casino-md);border-bottom:1px solid var(--casino-rule)}
.lcCasino-lobbyUtility>button{min-height:44px;font-size:13px}
.lcCasino-lobbyUtility details{min-width:0;flex:1}
.lcCasino-lobbyUtility summary{cursor:pointer;min-height:44px;align-content:center;font-size:13px;color:var(--casino-muted)}
.lcCasino-lobbyUtility .lcCasino-accessReceipt{font-size:13px;color:var(--casino-muted);padding-block:var(--casino-sm);max-width:70ch}
@media(hover:hover){.lcCasino-catalogue button.lcCasino-cardPlay:not(:disabled):hover,.lcCasino-catalogue button.lcCasino-cardPlay.is-hover{background:var(--casino-accent);color:var(--casino-accent-ink)}.lcCasino-catalogue .lcCasino-cardPlay:not(:disabled):hover span:last-child{color:inherit}}
@media(max-width:639px){.lcCasino-cards.lcCasino-catalogue{grid-template-columns:minmax(0,1fr);gap:var(--casino-md)}.lcCasino-catalogue .lcCasino-cardText{padding:var(--casino-md)}.lcCasino-catalogue h3{font-size:21px}.lcCasino-cardArt{aspect-ratio:2.05}.lcCasino-lobbyUtility{gap:var(--casino-sm)}.lcCasino-lobbyUtility details{flex-basis:100%}}
@media(min-width:100rem){.lcCasino-cards.lcCasino-catalogue{grid-template-columns:repeat(4,minmax(0,1fr))}.lcCasino-catalogue .lcCasino-cardText{padding:var(--casino-md)}}
@media(prefers-reduced-motion:reduce){.lcCasino-catalogue .lcCasino-card{transition:none}.lcCasino-catalogue button:active,.lcCasino-catalogue button.is-active{transform:none}}
