/* Hallmark · macrostructure: illustrated play stage + deck cabinet · theme: inherited Hum
 * tone: tactile · anchor hue: emerald · pre-emit critique: P4 H4 E4 S5 R4 V5 */
@import './art-tokens.css';
body.poker-page{background:var(--color-poker-night);color:var(--color-poker-light)}
.poker-page h1{overflow-wrap:anywhere;min-width:0}
.p-nav{border-color:var(--color-poker-rail);background:var(--color-poker-night-2)}
.p-nav a,.p-footer a{color:var(--color-poker-light);white-space:nowrap}
.p-intro .p-label{color:var(--color-poker-gold)}
.p-intro>p:not(.p-label){color:var(--color-poker-muted)}
.p-intro .p-button{color:var(--color-ink);white-space:nowrap}
.p-error{color:var(--color-poker-error)}
.poker-page .pip-shelf__link{color:var(--color-poker-light)}
.p-panel,.p-game{color:var(--color-ink);background:var(--color-poker-cream)}
.p-play{background-color:var(--color-poker-night-2);background-image:linear-gradient(var(--color-poker-wash),var(--color-poker-wash)),var(--p-table-art);background-position:center;background-size:cover;background-repeat:no-repeat;border:2px solid var(--color-poker-rail);border-radius:var(--radius-art-stage);padding:clamp(.75rem,2vw,1.25rem);box-shadow:0 .65rem 1.8rem var(--color-poker-shadow);color:var(--color-poker-light);min-height:16rem}
.p-play::before{content:attr(data-table-name);display:block;width:max-content;max-width:100%;font:700 .7rem var(--font-label);letter-spacing:.08em;text-transform:uppercase;background:var(--color-poker-shade);border:1px solid var(--color-poker-rail);border-radius:var(--radius-pill);padding:.4rem .7rem;color:var(--color-poker-gold);margin-bottom:var(--space-art-md)}
.p-tablebar{background:var(--color-poker-shade);border-radius:var(--radius-input);padding:.55rem .7rem;color:var(--color-poker-light)}
.p-seat{background:var(--color-poker-seat);border-color:var(--color-poker-rail);color:var(--color-poker-light);box-shadow:0 .2rem .6rem var(--color-poker-shadow)}
.p-seat small{color:var(--color-poker-muted)}
.p-seatlabel span{color:var(--color-poker-gold);font:700 .8rem var(--font-label)}
.p-you{border-color:var(--color-poker-gold)}
.p-turn{box-shadow:inset 0 0 0 2px var(--color-poker-gold),0 .2rem .6rem var(--color-poker-shadow)}
.p-status,.p-result{color:var(--color-poker-light);background:var(--color-poker-shade);border-radius:var(--radius-input);padding:.4rem .65rem}
.p-result:empty{display:none}
.p-result p{color:var(--color-poker-light)}
.p-play .p-note{color:var(--color-poker-muted)}
.p-coach{color:var(--color-ink);border-color:var(--color-poker-gold)}
.p-empty{background:var(--color-poker-shade);color:var(--color-poker-light);border-radius:var(--radius-card);margin:3rem .25rem 1rem;padding:1.25rem .75rem}
.p-art-picker{display:grid;gap:var(--space-art-sm);margin-top:var(--space-art-sm);padding-top:var(--space-art-sm);border-top:1px solid var(--color-rule)}
.p-art-picker label{font-weight:700;font-size:.85rem;display:grid;gap:.35rem}
.p-game{padding:0;overflow:clip;box-shadow:0 .3rem 1rem var(--color-poker-shadow)}
.p-game .p-game-art{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.p-game-body{padding:1rem;display:flex;flex-direction:column;align-items:start;flex:1;width:100%;min-width:0;box-sizing:border-box}
.p-game-body .p-table-caption{font:700 .7rem var(--font-label);color:var(--color-ink-2);text-transform:uppercase;letter-spacing:.05em}
.p-game .p-links{margin-top:auto}
.p-game a,.p-controls .p-button,.p-actions>.p-button{white-space:nowrap}
#poker-connection{color:var(--color-poker-muted)}
.p-card{position:relative;overflow:clip;width:clamp(2.75rem,6.8vw,4.1rem);height:clamp(4.1rem,10.2vw,6.15rem);padding:0;background:var(--color-poker-cream);border:1px solid var(--color-poker-rail);border-radius:var(--radius-art-card);color:var(--color-poker-spade);box-shadow:0 .15rem .3rem var(--color-poker-shadow);transition:transform var(--dur-micro) var(--ease-out),opacity var(--dur-micro) var(--ease-out)}
.p-card.p-red{color:var(--color-poker-red)}
.p-card[data-suit=clubs]{color:var(--color-poker-club)}
.p-card.p-back{background-image:var(--p-back-atlas);background-size:300% 323%;background-position:var(--p-back-x,0%) var(--p-back-y,0%);background-color:var(--color-poker-night);border-color:var(--color-poker-gold)}
.p-facework{position:absolute;inset:0;pointer-events:none;background-position:var(--p-portrait-x) var(--p-portrait-y)}
.p-facework.p-court{background-image:var(--p-court-atlas);background-size:400% 300%}
.p-facework.p-ace{background-image:var(--p-ace-atlas);background-size:200% 200%}
.p-facework.p-pips{inset:19% 19%}
.p-face-fallback{display:none}
.p-pip{position:absolute;transform:translate(-50%,-50%);font:700 clamp(.5rem,1.7vw,.9rem) var(--font-body);line-height:1}
.p-corner{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;font:800 clamp(.66rem,2.4vw,.9rem) var(--font-label);line-height:.92;padding:.16rem .13rem;border-radius:.15rem;background:var(--color-poker-cream);min-width:.6rem;pointer-events:none}
.p-corner.p-top{left:.12rem;top:.12rem}
.p-corner.p-bottom{right:.12rem;bottom:.12rem;transform:rotate(180deg)}
.p-corner .p-suit{font-family:var(--font-body);margin-top:.1rem}
button.p-card:hover:not(:disabled){transform:translateY(-3px)}
button.p-card:active:not(:disabled){transform:translateY(-1px)}
button.p-card:focus-visible{outline-color:var(--color-poker-gold)}
.p-card.p-discard{transform:translateY(-6px);outline:3px solid var(--color-poker-gold)}
.p-card.p-best{border-bottom:4px solid var(--color-poker-gold)}
.p-seat:not(.p-you) .p-card{width:clamp(1.1rem,3.6vw,2.15rem);height:clamp(1.65rem,5.4vw,3.2rem)}
.p-seat:not(.p-you) .p-card:not(.p-back){width:clamp(2rem,4vw,2.4rem);height:clamp(3rem,6vw,3.6rem)}
.p-seat:not(.p-you) .p-corner{font-size:clamp(.48rem,1.3vw,.6rem);padding:1px;left:1px;top:1px}
.p-seat:not(.p-you) .p-card:not(.p-back) .p-top{font-size:.7rem}
.p-seat:not(.p-you) .p-bottom,.p-seat:not(.p-you) .p-pip{display:none}
.p-classic-deck .p-facework.p-court,.p-classic-deck .p-facework.p-ace{background-image:none;display:grid;place-items:center}
.p-classic-deck .p-face-fallback{display:block;font:800 1.5rem var(--font-body)}
.p-deck-row{display:flex;flex-wrap:wrap;gap:.5rem}
.p-deck-suit h3{margin:1.1rem 0 .5rem}
.p-deck-row .p-card{width:4.1rem;height:6.15rem}
.p-back-cabinet{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:1rem}
.p-back-example{margin:0;text-align:center;min-width:0}
.p-back-example .p-card{width:4.1rem;height:6.15rem}
.p-back-example figcaption{font:600 .72rem var(--font-label);margin:.5rem 0;overflow-wrap:anywhere}
.p-footer{color:var(--color-poker-muted)}
.p-footer p{color:var(--color-poker-muted)}
@media(max-width:700px){.p-game-body{padding:.8rem}.p-seat{padding:.4rem}.p-deck-row .p-card{width:3.1rem;height:4.65rem}.p-nav nav{font-size:.85rem}.p-back-example .p-card{width:3.1rem;height:4.65rem}}
@media(prefers-reduced-motion:reduce){.p-card{transition:none}button.p-card:hover:not(:disabled),button.p-card:active:not(:disabled){transform:none}}
