.board-crescent{--crescent-gap-base:clamp(.22rem, .55vw, .45rem);--crescent-gap:calc(var(--crescent-gap-base) * var(--card-geometry-scale,1));--crescent-wcap:min(7.6rem, calc((var(--game-vw,100dvw) - 10 * var(--crescent-gap)) / 8 / var(--card-scale-fit-reserve,1.2)));--card-width:var(--crescent-wcap);--card-height:calc(var(--card-width) * 1.4);--crescent-board-scale:var(--card-scale-fit-aware,1.2);--card-scale:var(--crescent-board-scale);--card-w:calc(var(--card-width) * var(--card-scale));--card-h:calc(var(--card-height) * var(--card-scale));--crescent-mid-scale:.84;--crescent-mid-card-w:calc(var(--card-w) * var(--crescent-mid-scale));--crescent-mid-card-h:calc(var(--card-h) * var(--crescent-mid-scale));--crescent-arc-scale:1;--crescent-arc-max:calc(12px * var(--card-geometry-scale,1));width:100%;min-height:0;padding:calc(clamp(.4rem, 1.2vh, .9rem) + var(--crescent-arc-max) * var(--crescent-arc-scale)) var(--crescent-gap) calc(clamp(.6rem, 1.6vh, 1.1rem) + var(--crescent-arc-max) * var(--crescent-arc-scale));grid-template-rows:auto auto auto;place-content:start center;gap:clamp(.5rem,1.6vh,1rem);display:grid}@media (width<=1400px){.board-crescent{--crescent-wcap:min(6.6rem, calc((var(--game-vw,100dvw) - 10 * var(--crescent-gap)) / 8 / var(--card-scale-fit-reserve,1.2)))}}@media (width<=1024px){.board-crescent{--crescent-wcap:min(5.4rem, calc((var(--game-vw,100dvw) - 10 * var(--crescent-gap)) / 8 / var(--card-scale-fit-reserve,1.2)))}}@media (width<=720px){.board-crescent{--crescent-wcap:min(4.2rem, calc((var(--game-vw,100dvw) - 10 * var(--crescent-gap)) / 8 / var(--card-scale-fit-reserve,1.2)))}}.crescent-band{grid-template-columns:repeat(8, var(--card-w));gap:var(--crescent-gap);justify-content:center;align-items:start;display:grid}.crescent-fan{width:var(--card-w);height:var(--card-h);border-radius:var(--radius-card);transform:translateY(calc(var(--arc-dy,0px) * var(--crescent-arc-scale,1)));position:relative}.crescent-fan-card{position:absolute;top:0;left:0}.crescent-under{pointer-events:none}.crescent-fan[data-depth="1"]:after,.crescent-fan[data-depth="2"]:after,.crescent-fan[data-depth="2"]:before{content:"";border-radius:var(--radius-card);box-sizing:border-box;z-index:0;pointer-events:none;background:#faf8f2e6;border:1px solid #0000002e;position:absolute;inset:0;transform:translateY(2.5px);box-shadow:0 1px 2px #00000047}.crescent-fan[data-depth="2"]:before{transform:translateY(5px)}.crescent-fan-empty{opacity:.35;pointer-events:none;position:absolute;top:0;left:0}.crescent-fan-count,.crescent-shuffle-count{z-index:6;color:#ffffffeb;text-align:center;pointer-events:none;background:#0000009e;border-radius:999px;min-width:1.5rem;padding:.1rem .35rem;font-size:.78rem;font-weight:700;line-height:1.3;position:absolute;bottom:-.35rem;right:-.35rem}.crescent-mid{grid-template-columns:repeat(9, var(--crescent-mid-card-w));gap:var(--crescent-gap);justify-content:center;align-items:start;display:grid}.crescent-slot{--card-scale:calc(var(--crescent-board-scale) * var(--crescent-mid-scale));--card-w:calc(var(--card-width) * var(--card-scale));--card-h:calc(var(--card-height) * var(--card-scale));width:var(--card-w);height:var(--card-h);color:inherit;background:0 0;border:0;padding:0;display:block;position:relative}.crescent-slot .card{position:absolute;top:0;left:0}.crescent-shuffle{--card-scale:calc(var(--crescent-board-scale) * var(--crescent-mid-scale));--card-w:calc(var(--card-width) * var(--card-scale));--card-h:calc(var(--card-height) * var(--card-scale));width:var(--card-w);height:var(--card-h);cursor:pointer;background:0 0;border:none;padding:0;position:relative}.crescent-shuffle:disabled,.crescent-shuffle.is-disabled{cursor:default;opacity:.65}.crescent-shuffle.is-empty{border-radius:var(--radius-card);cursor:default;border:2px dashed #ffffff2e}.crescent-shuffle-back{width:100%;height:100%;display:block}@media (hover:hover){.crescent-shuffle:not(:disabled):not(.is-empty):hover{transition:transform var(--duration-normal) var(--ease-out);transform:translateY(-2px)}}.game-shell-crescent .game-main{overflow:auto}@media (width>=721px) and (width<=1024px){.game-shell-crescent{--card-width:min(5.4rem, calc((var(--game-vw,100vw) - 6.5rem) / 8 / var(--card-scale-fit-reserve,1.2)));--card-gap:.3rem}}@media (width>=1025px) and (width<=1400px){.game-shell-crescent{--card-width:min(6.6rem, calc((var(--game-vw,100vw) - 7rem) / 8 / var(--card-scale-fit-reserve,1.2)));--card-gap:.35rem}}@media (width>=1401px){.game-shell-crescent{--card-width:min(7.6rem, calc((var(--game-vw,100vw) - 6.5rem) / 8 / var(--card-scale-fit-reserve,1.2)));--card-gap:.4rem}}@media (width<=480px){.board-crescent{--crescent-gap-base:.18rem;--crescent-board-scale:var(--card-scale-fit-aware,1);--crescent-arc-scale:0}.crescent-fan-count,.crescent-shuffle-count{min-width:1.15rem;font-size:.65rem;bottom:-.2rem;right:-.2rem}}.game-shell .board-crescent{--card-height:min(calc(var(--crescent-wcap) * 1.4), calc((100dvh - var(--header-height,3.5rem) - var(--dock-height,3.5rem) - 3rem) / 3.1 / var(--card-scale-fit-reserve,1.2)));--card-width:calc(var(--card-height) / 1.4)}@media (height<=500px) and (orientation:landscape) and (width<=932px){.game-shell .board-crescent{--crescent-board-scale:var(--card-scale-fit-aware,1);--crescent-arc-scale:.5;--card-height:min(calc((100dvh - 8.5rem) / 3.1), calc((100cqw - 10 * var(--crescent-gap)) / 8 * 1.4));--card-width:calc(var(--card-height) / 1.4)}}.mini-board.mini-board-crescent{min-height:calc(min(56rem,96vw)/1.66667)}.mini-board-crescent .board-crescent{--card-width:calc(100cqw / 9);--card-height:calc(100cqw / 9 * 1.4);--crescent-gap:calc(100cqw / 9 * .09 * var(--mini-card-scale));--crescent-arc-scale:0;width:100%;margin:0;padding:.65rem .85rem .85rem}.crescent-fan-wave .crescent-fan-card{animation:.26s cubic-bezier(.22,1,.36,1) both crescent-shuffle-wave;animation-delay:var(--wave-delay,0s)}@keyframes crescent-shuffle-wave{0%{opacity:.25;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.crescent-fan-wave .crescent-fan-card{animation:none}}@media (width<=380px) and (height<=500px) and (orientation:landscape){.game-shell-crescent .board-crescent{--card-height:calc((100dvw - 10 * var(--crescent-gap)) / 8 * 1.4)}}
