:root{--card-w: clamp(48px, 11vw, 96px);--felt: #15663a;--felt-dark: #0e4a2b}@media(max-width:900px){:root{--card-w: clamp(56px, min(20vw, 13vh), 120px)}}@media(min-width:1200px){:root{--card-w: clamp(96px, min(11vw, 16vh), 144px)}}*{box-sizing:border-box}html,body{margin:0;height:100%}body{font-family:system-ui,sans-serif;color:#fff;background:var(--felt-dark)}#app{height:100vh}.prsi-table{display:grid;grid-template-rows:auto 1fr auto;gap:clamp(8px,2vh,24px);height:100%;padding:clamp(8px,2vh,24px);background-image:linear-gradient(#00000073,#0000008c),var(--table-bg, radial-gradient(ellipse at center, var(--felt), var(--felt-dark)));background-size:cover;background-position:center;background-repeat:no-repeat}.zone{display:flex;align-items:center;justify-content:center}.zone--center{flex-direction:column;gap:clamp(8px,2vh,20px)}.hand{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(2px,1vw,8px)}.card{width:var(--card-w);height:auto;display:block;border-radius:6px;box-shadow:0 2px 6px #0006}.piles{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(12px,4vw,48px);align-items:center}.pile{position:relative;display:flex;align-items:center;justify-content:center;min-width:var(--card-w)}.pile--empty{width:var(--card-w);aspect-ratio:2 / 3;border:2px dashed rgba(255,255,255,.4);border-radius:6px}.pile__empty{font-size:.75rem;opacity:.7}.pile__count{position:absolute;bottom:-1.4em;font-size:.85rem;font-weight:700}.indicators{display:flex;flex-wrap:wrap;gap:clamp(8px,2vw,20px);align-items:center;justify-content:center;margin-top:clamp(18px,3vh,28px)}.indicator{display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:#00000059;font-size:.9rem}.indicator--suit{padding:6px;aspect-ratio:1;justify-content:center}.indicator--suit .indicator__suit-img{width:calc(var(--card-w) * .45);height:calc(var(--card-w) * .45);object-fit:contain;border-radius:4px}.indicator--sevens{background:#b3261e;font-weight:700}.indicator--aces{background:#1a56b3;font-weight:700}.indicator--stand{color:inherit;font:inherit;font-weight:700;border:none;cursor:pointer;background:#1a56b3}.indicator--stand:hover,.indicator--stand:focus{background:#ffd34d59}.indicator--theme,.indicator--music,.indicator--difficulty{color:inherit;font:inherit;border:none;cursor:pointer}.indicator--theme:hover,.indicator--theme:focus,.indicator--music:hover,.indicator--music:focus,.indicator--difficulty:hover,.indicator--difficulty:focus{background:#ffd34d59}.hand--player .card{transition:transform .08s ease}.hand--player .card--playable{cursor:pointer;outline:3px solid #ffd34d;outline-offset:1px;border-radius:6px}.hand--player .card--playable:hover{transform:translateY(-8px)}.pile--draw{cursor:pointer}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0009;z-index:10}.overlay__box{background:#0e4a2b;padding:clamp(16px,4vw,32px);border-radius:12px;box-shadow:0 8px 24px #00000080;text-align:center}.overlay__title{margin:0 0 16px;font-size:1.2rem}.overlay__suits{display:flex;gap:clamp(8px,3vw,20px)}.overlay__suit-btn{border:2px solid transparent;border-radius:10px;background:#ffffff1a;padding:8px;cursor:pointer}.overlay__suit-btn:hover,.overlay__suit-btn:focus{border-color:#ffd34d}.overlay__suit-btn img{width:clamp(48px,12vw,88px);height:auto;display:block}.overlay__newgame{margin-top:20px;padding:12px 28px;border:none;border-radius:999px;background:#ffd34d;color:#0e4a2b;font-size:1.1rem;font-weight:700;cursor:pointer}.overlay__newgame:hover,.overlay__newgame:focus{background:#ffdf73}.overlay--end .overlay__title{font-size:1.6rem}.overlay__themes{display:flex;flex-wrap:wrap;gap:clamp(10px,3vw,20px);justify-content:center;max-width:min(90vw,720px)}.overlay__theme-btn{border:3px solid transparent;border-radius:12px;background:#ffffff1a;padding:10px;cursor:pointer}.overlay__theme-btn:hover,.overlay__theme-btn:focus{border-color:#ffd34d}.overlay__theme-btn--active{border-color:#ffd34d;background:#ffd34d40}.overlay__theme-preview{display:flex;gap:4px}.overlay__theme-card{width:clamp(34px,8vw,60px);height:auto;display:block;border-radius:4px}.anim-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9}.anim-ghost{position:absolute;top:0;left:0;transform-origin:top left;will-change:transform;border-radius:6px;box-shadow:0 6px 16px #00000073}
