/* Quiet textile stationery: the same generated linen and silk palette as the invitation. */
.game-choice { background: #f5f0e6; color: #555b49; isolation: isolate; }
.game-choice::before { content: ""; position: absolute; inset: 16px 13px; background: var(--gc-linen) center/100% 100% no-repeat; opacity: .36; pointer-events: none; }
.game-choice::after { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 42%,#fcf9f080,transparent 73%); pointer-events: none; }
.device:has(.game-choice:not(.cutting)) #sound { color: #77725d; border-color: #8e876f3b; background: #f4eee250; }
.gc-glow { position: absolute; inset: 0; background: linear-gradient(118deg,#fffdf480,transparent 56%); pointer-events: none; }
.game-choice .gc-content { justify-content: center; align-items: center; text-align: center; padding: calc(var(--safe-top) + 88px) 32px calc(var(--safe-bottom) + 66px); }
.gc-ornament { position: relative; width: 148px; height: 148px; flex-shrink: 0; margin-bottom: 25px; }
.gc-mark { display: block; width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; mask-image: radial-gradient(ellipse at center,#000 62%,transparent 77%); }
.game-choice .kicker { color: #766d59; margin: 0 0 17px; font-size: 9px; letter-spacing: .19em; }
.game-choice .title { color: #555b49; font-size: clamp(43px,11.5vw,54px); line-height: 1.08; letter-spacing: -.05em; max-width: 100%; }
.gc-body { max-width: 285px; margin-top: 20px; color: #716e62; font-size: 13px; line-height: 1.8; text-wrap: balance; }
.game-choice .gc-actions { width: 100%; max-width: 350px; margin-top: 34px; gap: 13px; }
.gc-actions .btn { position: relative; width: 100%; min-height: 55px; border-radius: 2px; font-size: 10px; letter-spacing: .14em; box-shadow: none; }
.gc-actions .btn::after { content: ""; position: absolute; inset: 4px; border: 1px dashed; border-radius: 1px; pointer-events: none; opacity: .45; }
.gc-actions .gc-play { background: #646c57; color: #faf5e9; border: 1px solid #5f6753; box-shadow: inset 0 1px #ffffff18,0 2px 4px #635b4310; }
.gc-actions .gc-play::after { border-color: #efe8d797; }
.gc-actions .gc-skip { background: #f8f4ea66; color: #6b705c; border: 1px solid #b5ac9694; }
.gc-actions .gc-skip::after { border-color: #a69e886b; }
.gc-actions .btn:focus-visible { outline: 2px solid #7f8567; outline-offset: 4px; }
.gc-actions .btn:disabled { opacity: .55; cursor: wait; }
.gc-error { min-height: 0; color: #a35843; font-size: 13px; line-height: 1.5; }
.gc-error:empty { display: none; }
@media (min-width:500px) and (max-width:759px) { .game-choice .gc-content { padding-inline: 64px; } .gc-body { font-size: 15px; max-width: 340px; } .gc-ornament { width: 164px; height: 164px; margin-bottom: 30px; } .game-choice .gc-actions { max-width: 390px; } }
@media (max-height:730px) { .game-choice .gc-content { padding: calc(var(--safe-top) + 68px) 28px calc(var(--safe-bottom) + 36px); } .gc-ornament { width: 114px; height: 114px; margin-bottom: 16px; } .game-choice .title { font-size: 39px; } .game-choice .kicker { margin-bottom: 13px; font-size: 8px; } .gc-body { margin-top: 15px; font-size: 12px; line-height: 1.7; } .game-choice .gc-actions { margin-top: 25px; gap: 11px; } .gc-actions .btn { min-height: 51px; font-size: 9px; } }
