.play-intro{padding-bottom:38px}.play-intro h1{font-size:clamp(3.5rem,7vw,6.5rem)}.play-intro>p{max-width:530px}.play-sparkle{display:inline-block;font-size:1.4rem;animation:welcome-sparkle 1s ease both}.play-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:start;padding-bottom:85px}.game-card{min-width:0;border:1px solid var(--line);padding:30px;background:radial-gradient(ellipse at top,#fdf4f1,white 65%);scroll-margin-top:125px}.game-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.game-card h2{font-size:3rem;letter-spacing:-.035em;margin:14px 0}.game-card p{font-size:.85rem}.game-card .hand{font-size:1.4rem}.game-stats{display:flex;gap:25px;font-size:.72rem;padding:18px 0;justify-content:space-between;border-block:1px solid var(--line);margin:22px 0}.game-stats strong{font-weight:600}.snake-board{width:min(100%,320px);display:block;aspect-ratio:1;margin:auto;border:1px solid var(--line);border-radius:12px;touch-action:none}.game-status{min-height:3.7em;line-height:1.65!important;margin:18px 0}.game-buttons{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}.game-buttons .button{padding:10px 20px}.game-button-quiet{background:transparent;border:0;min-height:48px;padding:10px;cursor:pointer;text-decoration:underline;text-underline-offset:4px}.game-hint{font-size:.71rem!important;text-align:center;line-height:1.7}.direction-pad{display:grid;grid-template-columns:repeat(3,46px);grid-template-rows:repeat(2,44px);gap:6px;justify-content:center;margin:20px auto}.direction-pad button{border:1px solid var(--line);background:white;border-radius:10px;font-size:1.3rem}.direction-pad button:hover,.direction-pad button:active{background:#f6e7e5}.direction-pad [data-direction=up]{grid-column:2}.direction-pad [data-direction=left]{grid-column:1;grid-row:2}.direction-pad [data-direction=down]{grid-column:2;grid-row:2}.direction-pad [data-direction=right]{grid-column:3;grid-row:2}.number-heart{display:block;margin:25px auto 10px;width:125px;height:115px}.number-heart .heart-outline{fill:#fae6e5;stroke:#a90d25;stroke-width:1.5}.number-heart text{fill:#a90d25;font:36px 'Cormorant Garamond',serif}.number-heart.is-found .heart-outline{fill:#f2c3c7}.number-heart .found-mark{display:none}.number-heart.is-found .question-mark{display:none}.number-heart.is-found .found-mark{display:block}.guess-form label{display:block;font-size:.78rem;margin-bottom:10px}.guess-input-row{display:flex;gap:10px}.guess-input-row input{width:100%;min-width:0;border:1px solid var(--line);background:white;color:var(--red);font:1.5rem var(--serif);border-radius:8px;padding:12px 16px}.guess-input-row button{white-space:nowrap;border-radius:8px}.game-card button:disabled,.game-card input:disabled{opacity:.5;cursor:default}.guess-history{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;min-height:35px;margin:12px 0 20px}.guess-history li{padding:7px 10px;background:#fcf1ef;border:1px solid var(--line);border-radius:20px;font-size:.67rem}.guess-rule{border-top:1px solid var(--line);padding-top:20px;margin-top:25px;font-size:.75rem!important}.play-note{font:1.5rem var(--hand);text-align:center;margin:0 0 50px}
@keyframes welcome-sparkle{from{transform:rotate(-25deg) scale(.7);opacity:0}to{transform:rotate(0) scale(1);opacity:1}}
@media(max-width:800px){.play-grid{grid-template-columns:1fr;max-width:520px;margin:auto;gap:30px}.game-card{padding:25px}.play-intro{padding-top:40px}}
@media(max-width:360px){.game-card{padding:18px}.game-card h2{font-size:2.6rem}.guess-input-row button{padding:12px}.game-stats{gap:10px;font-size:.67rem}}
@media(prefers-reduced-motion:reduce){.play-sparkle{animation:none}}

.direction-pad button{display:grid;place-items:center;padding:0;color:var(--red)}.direction-pad svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
