.pyr-game{max-width:920px;margin-inline:auto;--pyr-gap: .45rem;--pyr-card-w: clamp(var(--fgs-tap, 52px), calc((min(94vw, 42rem) - 6 * var(--pyr-gap)) / 7), 5rem);--pyr-card-h: calc(var(--pyr-card-w) * 1.42);--pyr-peek: calc(var(--pyr-card-h) * .55)}.pyr-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:center;margin-bottom:1rem}.pyr-toolbar button{margin:0;font-size:1.1rem;font-weight:800;min-height:var(--fgs-tap, 52px);padding-inline:1.25rem}.pyr-howto{text-align:center;font-size:1.15rem;font-weight:700;color:var(--fgs-ink, #161616);background:var(--fgs-accent-soft, #e6f1e9);border:2px solid var(--fgs-accent, #16692f);border-radius:var(--fgs-radius, 14px);max-width:46ch;margin:0 auto 1rem;padding:.6rem 1rem}.pyr-help-bar{display:flex;justify-content:center;margin-bottom:1rem}.pyr-hint-btn{margin:0;min-height:64px;font-size:1.35rem;font-weight:800;padding:.6rem 2rem;background:var(--fgs-hint, #b06a00);border:3px solid var(--fgs-hint, #b06a00);color:#fff;border-radius:var(--fgs-radius, 14px);box-shadow:0 3px color-mix(in srgb,var(--fgs-hint, #b06a00) 60%,#000)}.pyr-hint-btn:hover{background:color-mix(in srgb,var(--fgs-hint, #b06a00) 85%,#000);border-color:color-mix(in srgb,var(--fgs-hint, #b06a00) 85%,#000)}.pyr-scroll{overflow-x:auto;padding:.5rem .25rem .75rem;border-radius:var(--fgs-radius, 14px)}.pyr-pyramid{display:flex;flex-direction:column;align-items:center;width:max-content;margin:0 auto;padding-top:.5rem}.pyr-row{display:flex;gap:var(--pyr-gap)}.pyr-row+.pyr-row{margin-top:calc(var(--pyr-peek) - var(--pyr-card-h))}.pyr-card,.pyr-gap,.pyr-pile{box-sizing:border-box;width:var(--pyr-card-w);height:var(--pyr-card-h);border-radius:10px;margin:0;padding:0;display:grid;place-items:center}.pyr-gap{background:transparent;pointer-events:none}.pyr-card{position:relative;border:2px solid var(--pico-color);background:#fff;cursor:pointer;font-weight:800;line-height:1;box-shadow:0 1px 2px #0000002e}.pyr-card.pyr-red{color:#c1121f}.pyr-card.pyr-black{color:#111}.pyr-card.pyr-covered{background:#e3e3e3;border-color:color-mix(in srgb,var(--pico-color) 55%,#e3e3e3)}.pyr-card.pyr-covered.pyr-red{color:color-mix(in srgb,#c1121f 62%,#e3e3e3)}.pyr-card.pyr-covered.pyr-black{color:color-mix(in srgb,#111 62%,#e3e3e3)}.pyr-corner{position:absolute;top:.22rem;display:flex;flex-direction:column;align-items:center;line-height:.95}.pyr-tl{left:.28rem}.pyr-tr{right:.28rem}.pyr-corner .pyr-rank{font-size:1.2rem;font-weight:900}.pyr-corner .pyr-suit{font-size:.85rem}.pyr-pip{font-size:1.9rem}img.pyr-suit-ico{width:1em;height:1em;object-fit:contain;display:inline-block;vertical-align:-.14em}.pyr-pip img.pyr-suit-ico{vertical-align:middle}.pyr-piles{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:flex-start;justify-content:center;margin-top:1rem}.pyr-zone{margin:0;text-align:center}.pyr-zone-label{display:block;font-size:.85rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--pico-muted-color);margin-bottom:.35rem}.pyr-stock-btn{border:2px solid var(--pico-color);cursor:pointer}.pyr-stock-btn.pyr-has-cards{background:repeating-linear-gradient(45deg,#1d4ed8,#1d4ed8 8px,#1e40af 8px 16px);border-color:#1e3a8a;color:#dbeafe}.pyr-back{font-size:1.6rem;color:#dbeafe}.pyr-stock-btn.pyr-empty{background:transparent;border:3px dashed var(--pico-muted-border-color, #b8c0cc)}.pyr-stock-btn.pyr-recycle{background:var(--pico-card-sectioning-background-color, #eef2f7);border:3px solid var(--fgs-focus, #15549e)}.pyr-recycle-icon{font-size:2.2rem;font-weight:900;color:var(--fgs-focus, #15549e)}.pyr-stock-num{display:block;margin-top:.3rem;font-size:.95rem;font-weight:800;color:var(--pico-muted-color)}.pyr-placeholder{border:3px dashed var(--pico-muted-border-color, #b8c0cc);background:transparent;pointer-events:none}.pyr-card.pyr-selected{outline:6px solid var(--fgs-focus, #15549e);outline-offset:-2px;background:color-mix(in srgb,var(--fgs-focus, #15549e) 16%,#fff);transform:translateY(-6px);box-shadow:0 0 0 5px color-mix(in srgb,var(--fgs-focus, #15549e) 30%,transparent);z-index:30}.pyr-card.pyr-selected:after{content:"▲ picked up";position:absolute;top:-1.35rem;left:50%;transform:translate(-50%);font-size:.8rem;font-weight:900;color:var(--fgs-focus, #15549e);white-space:nowrap}.pyr-card.pyr-hint,.pyr-pile.pyr-hint{outline:6px solid var(--fgs-hint, #b06a00);outline-offset:-2px;background:color-mix(in srgb,var(--fgs-hint, #b06a00) 18%,#fff);box-shadow:0 0 0 5px color-mix(in srgb,var(--fgs-hint, #b06a00) 35%,transparent);z-index:25;animation:pyr-pulse 1.1s ease-in-out infinite}.pyr-card.pyr-hint.pyr-red{color:#a00}.pyr-card.pyr-hint.pyr-black{color:#111}@keyframes pyr-pulse{0%,to{box-shadow:0 0 0 5px color-mix(in srgb,var(--fgs-hint, #b06a00) 35%,transparent)}50%{box-shadow:0 0 0 11px color-mix(in srgb,var(--fgs-hint, #b06a00) 22%,transparent)}}.pyr-card:focus-visible,.pyr-pile:focus-visible{z-index:40}.pyr-status{text-align:center;font-size:1.2rem;font-weight:700;min-height:3rem;padding:.5rem;margin:1rem auto 0;max-width:60ch}.pyr-remaining{text-align:center;font-weight:800;margin:0 auto}.pyr-actions{display:flex;flex-wrap:wrap;gap:.85rem;justify-content:center;margin-top:1rem}.pyr-actions button{margin:0;min-height:var(--fgs-tap, 52px);font-size:1.15rem;font-weight:800;padding-inline:1.5rem}.pyr-game.pyr-won .pyr-scroll{outline:4px solid var(--fgs-good, #1c7a3a);outline-offset:2px}[data-contrast=high] .pyr-card{border:3px solid #000!important;box-shadow:none;background:#fff}[data-contrast=high] .pyr-card.pyr-red{color:#b00010}[data-contrast=high] .pyr-card.pyr-black{color:#000}[data-contrast=high] .pyr-card.pyr-covered{background:#ddd}[data-contrast=high] .pyr-stock-btn.pyr-has-cards{background:#00339c;border-color:#000;color:#fff}[data-contrast=high] .pyr-placeholder,[data-contrast=high] .pyr-stock-btn.pyr-empty,[data-contrast=high] .pyr-stock-btn.pyr-recycle{border-color:#000;background:#fff}[data-contrast=high] .pyr-card.pyr-selected,[data-contrast=high] .pyr-card.pyr-hint,[data-contrast=high] .pyr-pile.pyr-hint{outline-color:#00339c;background:#fff}[data-contrast=high] .pyr-hint-btn{background:#7a4a00;border-color:#000;color:#fff}@media(prefers-reduced-motion:reduce){.pyr-card.pyr-hint,.pyr-pile.pyr-hint{animation:none}.pyr-card.pyr-selected{transform:none}}
