.ph{--ph-card:44px;--ph-spread:34%;--ph-tone:var(--ws-accent,#cdb9ff);position:relative;display:block;width:calc(var(--ph-card) * 1.5);height:calc(var(--ph-card) * 1.36)}.ph[data-tone=gold]{--ph-tone:var(--ws-due,#f3c77a)}.ph[data-tone=rose]{--ph-tone:var(--ws-late,#ff8fa3)}.ph[data-tone=quiet]{--ph-tone:var(--ws-muted,#a39cb2)}.ph-pool{position:absolute;left:2%;right:2%;bottom:0;height:34%;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--ph-tone) 78%,transparent),color-mix(in srgb,var(--ph-tone) 26%,transparent) 62%,transparent);filter:blur(1.5px)}.ph-card{position:absolute;left:50%;bottom:12%;width:calc(var(--ph-card) * .74);aspect-ratio:5/7;overflow:hidden;border-radius:4.6%/3.3%;background:var(--ws-surface-2,#2a2535);box-shadow:0 4px 10px -4px rgba(0,0,0,.7);transform:translateX(-50%) translateX(calc(var(--ph-i) * var(--ph-spread))) rotate(calc(var(--ph-i) * 9deg));transform-origin:50% 100%}.ph-card img{display:block;width:100%;height:100%;object-fit:cover}.ph-card .fo-tile-foil{animation:none;background-position:50% 0}.ph-blank{display:grid;place-items:center;width:100%;height:100%;color:var(--ws-muted,#a39cb2);font:italic 400 14px/1 var(--font-fraunces),serif}.ph-count{position:absolute;top:0;right:0;padding:1px 5px;border-radius:999px;background:rgba(14,11,22,.78);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#f5f1e8;font:600 10px/1.4 var(--font-geist-mono),monospace;pointer-events:none}button.ph-card{padding:0;border:0;cursor:pointer;transition:translate .15s ease,box-shadow .15s ease}button.ph-card:hover{z-index:1;translate:0 -3px;box-shadow:0 8px 14px -6px rgba(0,0,0,.8)}button.ph-card:focus-visible{z-index:1;outline:2px solid var(--ph-tone);outline-offset:2px}.ph-hit{display:none}@media (pointer:coarse){.ph[data-open] .ph-card{pointer-events:none}.ph-hit{position:absolute;left:50%;top:50%;z-index:2;display:block;width:max(100%,44px);height:max(100%,44px);padding:0;border:0;border-radius:12px;background:none;transform:translate(-50%,-50%);cursor:pointer;-webkit-tap-highlight-color:transparent}}@media (prefers-reduced-motion:reduce){button.ph-card{transition:none}}:root[data-motion=off] button.ph-card{transition:none}@media (forced-colors:active){.ph-pool{display:none}button.ph-card{border:1px solid ButtonText}}