.pyr{--felt-ink:#f4edcf;--felt-muted:#d5dfbd;--card-paper:#fffdf2;--card-edge:#e5ddbf;--card-ink:#263d37;--card-red:#b63f39;--pick:#f2cc6f}.pyr-board{background:radial-gradient(ellipse at 50% 18%, var(--felt-light), var(--felt) 58%, var(--felt-dark));color:var(--felt-ink);border-radius:6px;flex-direction:column;gap:12px;padding:16px clamp(8px,2.4vw,28px);display:flex;position:relative;box-shadow:inset 0 0 90px #10261f35}.pyr-board button{-webkit-tap-highlight-color:transparent}.pyr-table{flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:0;display:flex}.pyr-pyramid{flex:none;position:relative}.pyr-card{width:var(--card-w);height:var(--card-h);border:1px solid var(--card-edge);border-radius:clamp(4px, calc(var(--card-w) * .08), 8px);background:var(--card-paper);color:var(--card-ink);cursor:pointer;user-select:none;touch-action:none;padding:0;font-family:DM Sans,sans-serif;line-height:1;transition:box-shadow .16s,background-color .16s,border-color .16s;display:block;position:absolute;top:0;left:0;box-shadow:0 2px 3px #102e3260,inset 0 1px #fffef9}.pyr-card.suit-hearts,.pyr-card.suit-diamonds{color:var(--card-red)}.four-color .pyr-card.suit-diamonds{color:#2364a1}.four-color .pyr-card.suit-clubs{color:#397a43}.pyr-card.is-covered{cursor:default}.pyr-dim .pyr-card.is-covered{background-color:#e9e4d2;border-color:#d6ceb4;box-shadow:0 1px 2px #102e3240}.pyr-card.is-under{pointer-events:none}.pyr-card.is-under.has-more{box-shadow:-3px 0 0 -1px var(--card-edge), -3px 2px 3px #102e3240}.pyr-card:focus-visible,.pyr-stock:focus-visible{outline-offset:2px;outline:2px solid #ffe3a0}.pyr-card:focus-visible{z-index:20!important}@media (hover:hover) and (pointer:fine){.pyr-card.is-open:hover{background-color:#fffbe8}}.pyr-card.is-selected{box-shadow:0 0 0 2px var(--pick), 0 4px 14px #102c2860;background-color:#fff2cc;border-color:#bd9028}.pyr-card.is-hinted{outline:2px dashed var(--pick);outline-offset:2px;background-color:#fff8e0}.pyr-card.is-target{outline-offset:2px;outline:2px dashed #e5edb2}.pyr-card.is-dragging{opacity:.35}.pyr-strip{grid-template-columns:var(--card-w) calc(var(--card-w) * 1.5) 1fr var(--card-w);align-items:center;gap:calc(var(--pitch) - var(--card-w) + 6px);width:calc(var(--pitch) * 7);height:var(--card-h);flex:none;display:grid}.pyr-table.is-beside{flex-direction:row;gap:24px}.is-beside .pyr-strip{grid-template-columns:var(--card-w) calc(var(--card-w) * 1.5);grid-template-rows:var(--card-h) auto var(--card-h);gap:10px 8px;width:auto;height:auto}.is-beside .pyr-pass{grid-column:1/-1}.is-beside .pyr-stuck{flex:none;width:200px;padding:10px}.is-beside .pyr-stuck div{grid-template-columns:1fr 1fr;display:grid}.is-beside .pyr-stuck .game-button{justify-content:center;padding-inline:8px}.is-beside .pyr-stuck .game-button:nth-child(2){order:1;grid-column:1/-1}.pyr-stock{width:var(--card-w);height:var(--card-h);border-radius:clamp(4px, calc(var(--card-w) * .08), 8px);color:var(--felt-ink);cursor:pointer;background:0 0;border:0;padding:0;position:relative}.pyr-stock[aria-disabled=true]{cursor:default}.pyr-stock-card{border-radius:inherit;background:#f6edcf;border:1px solid #e0d3a7;padding:2px;position:absolute;inset:0;overflow:hidden;box-shadow:2px 2px #d9cca3,3px 3px 3px #102e3260}.pyr-stock-count{z-index:1;background:var(--pick);color:#2b2410;font-variant-numeric:tabular-nums;border-radius:11px;place-items:center;min-width:22px;height:22px;padding:0 6px;font-size:.75rem;font-weight:700;display:grid;position:absolute;bottom:-6px;right:-8px;box-shadow:0 1px 3px #0004}.pyr-stock-empty{border-radius:inherit;color:var(--felt-ink);font-size:calc(var(--card-w) * .4);border:1px dashed #c9d2af90;place-items:center;display:grid;position:absolute;inset:0}.pyr-stock.is-hinted .pyr-stock-card,.pyr-stock.is-hinted .pyr-stock-empty{box-shadow:0 0 0 2px var(--pick)}@media (hover:hover) and (pointer:fine){.pyr-stock:not([aria-disabled=true]):hover .pyr-stock-card{box-shadow:0 0 0 1.5px var(--pick), 2px 2px 0 #d9cca3}}.pyr-waste{height:var(--card-h);position:relative}.pyr-slot{position:absolute;top:0}.pyr-slot,.pyr-discard{width:var(--card-w);height:var(--card-h);border-radius:clamp(4px, calc(var(--card-w) * .08), 8px);border:1px dashed #c9d2af70;display:block}.pyr-discard{background:#0e332526;border-style:solid;border-color:#dce1ba38;position:relative}.pyr-discard-count{color:var(--felt-ink);font-variant-numeric:tabular-nums;place-items:center;font-weight:700;display:grid;position:absolute;inset:0}.pyr-pass{color:var(--felt-ink);text-align:center;font-variant-numeric:tabular-nums;margin:0;font-size:.8rem}.pyr-sun{width:calc(var(--card-h) * 2.6);height:calc(var(--card-h) * 2.6);margin:calc(var(--card-h) * -1.3) 0 0 calc(var(--card-h) * -1.3);color:#b98a1c;pointer-events:none;background:radial-gradient(circle,#fff6d8 0 38%,#f2cc6f00 70%);border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;left:50%}.pyr-sun svg{width:62%;height:62%}.pyr-stuck{background:var(--paper);color:var(--ink);border-radius:12px;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 14px;padding:10px 14px;display:flex;box-shadow:0 6px 20px #0003}.pyr-stuck p{margin:0;font-weight:600}.pyr-stuck div{flex-wrap:wrap;gap:6px;display:flex}.pyr-stuck .game-button{min-height:44px}.pyr-message{min-height:52px;color:var(--muted);background:var(--tint);justify-content:space-between;align-items:center;gap:12px;margin:0;padding:6px 16px;font-size:.82rem;display:flex}.pyr-message button{min-height:44px;color:var(--ink);font:inherit;text-underline-offset:3px;background:0 0;border:0;padding:0 4px;text-decoration:underline}.pyr-footer{color:var(--muted);letter-spacing:.04em;font-variant-numeric:tabular-nums;justify-content:space-between;gap:12px;margin:0;padding:8px 16px 10px;font-size:.72rem;display:flex}.pyr-metrics{font-variant-numeric:tabular-nums;gap:16px;display:flex}.pyr-metrics small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.7rem}.pyr-metrics b{font-weight:600}.pyr-play{position:relative}.pyr-records{overflow-x:auto}.pyr-records thead th{text-align:right;white-space:nowrap;font-size:.8rem;font-weight:600}.pyr-ghost{width:var(--card-w);height:var(--card-h)}.pyr-ghost .pyr-card{box-shadow:0 9px 25px #0005}.pyr-daily-done{color:var(--ink);margin:12px 0 0;font-weight:600}.pyr-daily-done span{color:var(--amber)}.pyr-levels{gap:10px;margin:18px 0 6px;display:grid}.pyr-levels button{border:1px solid var(--line-strong);background:var(--white);min-height:44px;color:var(--ink);text-align:left;font:inherit;border-radius:12px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.pyr-levels button[aria-checked=true]{background:var(--olive);border-color:var(--gold-line);box-shadow:inset 0 0 0 1px var(--gold-line)}.pyr-levels span{color:var(--muted);font-size:.8rem}:is(.game-frame:fullscreen,.game-frame-expanded) .pyr-play{flex-direction:column;height:100cqh;display:flex}:is(.game-frame:fullscreen,.game-frame-expanded) .pyr-board{border-radius:0;flex:1;min-height:0}:is(.game-frame:fullscreen,.game-frame-expanded) .pyr-table{flex:1}@media (height<=500px){:is(.game-frame:fullscreen,.game-frame-expanded) .pyr-footer{display:none}:is(.game-frame:fullscreen,.game-frame-expanded) .pyr-message{min-height:44px;padding-block:2px;font-size:.72rem}:is(.game-frame:fullscreen,.game-frame-expanded) .pyr-board{gap:8px;padding-block:8px}}@media (width<=520px){.pyr-board{border-radius:0;gap:10px;padding:12px 6px}.pyr-message{padding:6px 12px;font-size:.76rem}.pyr-metrics{gap:10px}.pyr-footer{padding:6px 12px 8px}}.pyr-card.is-leaving{box-shadow:0 0 0 2px var(--pick), 0 0 18px 4px #f2cc6f99;background-color:#fff3c9;border-color:#bd9028}@keyframes pyr-glow{0%,to{box-shadow:none}45%{box-shadow:0 0 0 2px var(--pick), 0 0 22px 6px #f2cc6f99}}.pyr-discard.is-landing{animation:.3s ease-out .24s both pyr-glow}@keyframes pyr-rise{0%{opacity:0;transform:translateY(45%)scale(.5)}to{opacity:1;transform:none}}.pyr-board.is-won .pyr-sun{animation:.3s cubic-bezier(.2,.75,.25,1.2) .28s both pyr-rise}@media (prefers-reduced-motion:reduce){.pyr-card{transition:none}.pyr-discard.is-landing,.pyr-board.is-won .pyr-sun{animation:none}}
