.card-flash{--card-red:#b42318;--card-black:var(--text);--playfield-bg:#fff;--card-bg:var(--bg-elevated);--card-back:#1e3a5f;--card-back-pattern:#2a4a73;--card-border:var(--border);--card-selected:var(--accent);--dot-red:#b42318;--heart-red:#b42318}@media (prefers-color-scheme:dark){.card-flash{--card-red:#f87171;--playfield-bg:#f5f5f5;--card-bg:#fff;--card-black:#1a1a1a;--dot-red:#b42318;--heart-red:#b42318}}.card-flash .view{display:none}.card-flash .view-active{display:block}.play-shell{gap:var(--space);flex-direction:column;min-height:min(70vh,32rem);display:flex;position:relative}.play-header{justify-content:space-between;align-items:center;gap:var(--space);display:flex}.play-score{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);flex:1;margin:0}.play-hearts{flex:1;justify-content:center;align-items:center;gap:.35rem;display:flex}.heart{font-size:var(--text-base);line-height:1}.heart--full{color:var(--heart-red)}.heart--empty{color:#0000;-webkit-text-stroke:1.5px var(--card-black)}.play-timer{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);tabular-nums:1;text-align:right;flex:1;margin:0;font-weight:500}.playfield{background:var(--playfield-bg);border:1px solid var(--border);border-radius:var(--radius);flex:1;justify-content:center;align-items:center;min-height:16rem;display:flex;position:relative}.playfield-dot{background:var(--dot-red);border-radius:50%;width:.25rem;height:.25rem;position:absolute}.flash-slot{z-index:2;justify-content:center;align-items:center;display:flex;position:absolute}.reveal-row{z-index:3;justify-content:center;align-items:center;gap:.5rem;display:flex;position:absolute}.reveal-row[hidden]{display:none}.score-flash{z-index:4;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;margin:0;display:flex;position:absolute}.score-flash[hidden]{display:none}.score-flash__value{font-family:var(--font-mono);color:var(--card-black);font-weight:700;line-height:1;animation:.6s forwards scorePop}.score-flash__breakdown{font-family:var(--font-sans);color:var(--card-black);opacity:.85;font-size:.75rem}.score-flash--small .score-flash__value{font-size:2rem}.score-flash--medium .score-flash__value,.score-flash--large .score-flash__value{font-size:var(--text-xl)}.score-flash--mega .score-flash__value{font-size:var(--text-xl);animation:.9s forwards scoreMega}@keyframes scorePop{0%{opacity:0;transform:scale(.5)}20%{opacity:1;transform:scale(1.15)}to{opacity:0;transform:scale(1)}}@keyframes scoreMega{0%{opacity:0;transform:scale(.4)}15%{opacity:1;transform:scale(1.3)}40%{transform:scale(1.1)}to{opacity:0;transform:scale(1.05)}}.response-countdown{font-family:var(--font-mono);font-size:var(--text-xl);color:var(--card-black);z-index:1;margin:0;font-weight:500;line-height:1;position:absolute}.playfield--gameover .playfield-dot,.playfield--gameover .response-countdown,.playfield--gameover .flash-slot,.playfield--gameover .reveal-row,.playfield--gameover .score-flash{visibility:hidden}.playfield-overlay{text-align:center;z-index:5;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:1rem;display:flex;position:absolute;inset:0}.playfield-overlay[hidden]{display:none}.playfield-overlay__title{color:var(--card-black);margin:0;font-size:1.5rem;font-weight:600}.playfield-overlay__score{color:var(--card-black);margin:0;font-size:1rem}.piles{flex-wrap:wrap;justify-content:center;gap:.5rem;padding-top:1rem;display:flex}.piles--disabled .playing-card--top{pointer-events:none}.pile{flex-direction:column;align-items:center;display:flex}.pile__stack{width:2.25rem;height:calc(3.125rem + (var(--stack-count,1) - 1) * 3px);position:relative}.pile__empty-slot{border:1px solid var(--border);border-radius:calc(var(--radius) / 2);opacity:.35;width:2.25rem;height:3.125rem}.playing-card{appearance:none;border:1px solid var(--card-border);border-radius:calc(var(--radius) / 2);background-color:#fff;background:var(--card-bg);width:2.25rem;height:3.125rem;color:var(--card-black);font-family:var(--font-sans);cursor:default;flex-direction:column;justify-content:center;align-items:center;gap:.08rem;padding:1rem;transition:border-color .15s,transform .15s,opacity .15s;display:flex}button.playing-card{cursor:pointer}.playing-card--stacked{left:0;bottom:calc(var(--stack-depth,0) * 3px);z-index:calc(3 - var(--stack-depth,0));position:absolute}.playing-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.playing-card:hover:not(:disabled){border-color:var(--text-muted)}.playing-card--red{color:var(--card-red)}.playing-card--selected{border-color:var(--card-selected);transform:translateY(-.125rem)}.playing-card--vanish{pointer-events:none;animation:.25s forwards cardVanish}@keyframes cardVanish{to{opacity:0;transform:scale(.6)}}.playing-card--flash{cursor:default;width:3.25rem;height:4.5rem}.playing-card--flash .playing-card__rank{font-size:1rem}.playing-card--flash .playing-card__suit{font-size:var(--text-lg)}.playing-card--back{background:repeating-linear-gradient(45deg, var(--card-back-pattern) 0, var(--card-back-pattern) 2px, var(--card-back) 2px, var(--card-back) 4px), var(--card-back);border-color:color-mix(in srgb, var(--card-back) 70%, white)}.playing-card__rank{font-size:var(--text-xs);font-weight:600;line-height:1}.playing-card__suit{font-size:var(--text-xs);line-height:1}.play-footer{justify-content:flex-end;margin-top:auto;display:flex}
