/* A free, playful spin in the same matcha-green visual world. */
.matcha-game-section { position:relative; padding:88px 40px 96px; overflow:clip; color:var(--forest,#1c4117); background:var(--mint,#e3ebde); font-family:var(--body,'More Text',sans-serif); font-size:20px; scroll-margin-top:24px; }
.matcha-game-layout { display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); gap:32px 64px; align-items:start; max-width:1280px; margin:0 auto; }
.matcha-game-copy { grid-column:1; grid-row:1; padding-top:24px; }
.game-eyebrow { display:flex; align-items:center; gap:10px; margin:0 0 28px!important; font-size:16px; letter-spacing:.08em; }
.game-eyebrow svg { width:20px; height:20px; color:#b78996; }
.matcha-game-section .matcha-game-title { max-width:none; margin:0; font-family:var(--display,'More Display',sans-serif); font-size:clamp(70px,6.3vw,96px); font-weight:600; letter-spacing:-.04em; line-height:.85; }
.matcha-game-title span { display:block; }
.matcha-game-title span + span { margin-top:.12em; color:#91a873; }
.matcha-game-intro { max-width:21ch; margin:28px 0 0!important; font-size:30px; line-height:1.02; }
.matcha-game-preview { margin:18px 0 0!important; max-width:34ch; font-size:15px; line-height:1.25; opacity:.76; }
.matcha-game-details { max-width:39ch; margin:20px 0 0; font-size:16px; line-height:1.25; }
.matcha-game-details summary { width:fit-content; min-height:44px; padding:12px 0; cursor:pointer; text-decoration:underline; text-underline-offset:4px; }
.matcha-game-details p { margin:0 0 12px!important; }
.game-menu-link { display:inline-flex; gap:18px; align-items:center; min-height:44px; margin-top:8px; color:inherit; font-size:20px; text-underline-offset:5px; }
.matcha-game-section [hidden] { display:none!important; }
.matcha-game-machine { grid-column:2; grid-row:1 / span 2; display:flex; flex-direction:column; align-items:center; align-self:center; min-width:0; }
.matcha-playstage { position:relative; isolation:isolate; width:100%; max-width:560px; aspect-ratio:1; overflow:clip; }
.matcha-wheel-halo { position:absolute; inset:2%; border:1px solid rgba(28,65,23,.16); border-radius:50%; }
.matcha-wheel-wrap { position:absolute; inset:12px; transform:rotate(0deg); transition:transform 5.2s cubic-bezier(.12,.8,.14,1); }
.matcha-prize-wheel { display:block; width:100%; height:100%; overflow:visible; }
.matcha-prize-wheel text { font-family:var(--display,'More Display',sans-serif); font-size:38px; font-weight:600; letter-spacing:-.025em; text-anchor:middle; }
.matcha-wheel-pointer { position:absolute; z-index:3; width:44px; height:59px; left:50%; top:0; transform:translateX(-50%); }
.matcha-wheel-mascot { position:absolute; z-index:2; display:grid; place-items:center; left:50%; top:50%; width:26%; aspect-ratio:1; padding:5%; transform:translate(-50%,-50%); border:3px solid var(--forest,#1c4117); border-radius:50%; background:#f6f3d4; }
.matcha-wheel-mascot > svg { position:absolute; width:87%; height:95%; }
.game-cup-bob { animation:matcha-cup-bob 3.4s ease-in-out infinite alternate; }
.matcha-game-sparkle { position:absolute; z-index:3; width:27px; height:27px; pointer-events:none; }
.sparkle-one { right:1%; top:14%; color:#b78996; rotate:12deg; }
.sparkle-two { left:1%; bottom:17%; width:19px; height:19px; color:#91a873; rotate:-8deg; }
.matcha-game-section .matcha-spin-button { display:inline-flex; align-items:center; justify-content:center; min-width:220px; min-height:58px; gap:16px; margin-top:24px; padding:7px 28px 7px 8px; border:0; border-radius:100px; background:var(--forest,#1c4117); color:#f6f3d4; font-family:var(--display,'More Display',sans-serif); font-size:29px; font-weight:500; line-height:1; cursor:pointer; touch-action:manipulation; transition:transform .22s,background .22s; }
.matcha-spin-button:hover { transform:translateY(-3px); }
.matcha-spin-button:active { transform:scale(.97); }
.matcha-spin-button:disabled { cursor:wait; }
.matcha-spin-arrow { display:grid; place-items:center; width:44px; height:44px; flex:0 0 44px; border-radius:50%; background:#f6f3d4; color:var(--forest,#1c4117); }
.matcha-spin-arrow svg { width:24px; height:24px; }
.matcha-game-instructions { margin:16px 0 0!important; font-size:19px; line-height:1.1; text-align:center; }
.matcha-game-result { position:relative; grid-column:1; grid-row:2; align-self:start; min-height:252px; padding:28px 30px 24px; background:#f6f3d4; border:1px solid rgba(28,65,23,.2); border-radius:4px; }
.matcha-game-result::before,.matcha-game-result::after { content:''; position:absolute; width:16px; height:16px; top:64%; border:1px solid rgba(28,65,23,.2); border-radius:50%; background:var(--mint,#e3ebde); }
.matcha-game-result::before { left:-9px; border-left-color:transparent; }
.matcha-game-result::after { right:-9px; border-right-color:transparent; }
.matcha-result-kicker { font-size:13px; letter-spacing:.12em; }
.matcha-game-result h3 { margin:14px 0 10px!important; font-family:var(--display,'More Display',sans-serif); font-size:36px; font-weight:500; line-height:.94; letter-spacing:-.025em; }
.matcha-game-result > p:not(.matcha-game-reward-note) { min-height:2.1em; font-size:22px; line-height:1.06; }
.matcha-game-code-row { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:62px; margin-top:20px; padding-top:14px; border-top:1px dashed rgba(28,65,23,.3); }
.matcha-game-code-row code { min-width:0; overflow-wrap:anywhere; color:inherit; font-family:var(--display,'More Display',sans-serif); font-size:23px; font-weight:500; letter-spacing:.025em; }
.matcha-game-code-row button { min-height:44px; flex:0 0 auto; padding:9px 14px; border:1px solid currentColor; border-radius:50px; background:transparent; color:inherit; font-family:var(--body,'More Text',sans-serif); font-size:18px; cursor:pointer; touch-action:manipulation; }
.matcha-game-code-row button:disabled { opacity:.45; cursor:default; }
.matcha-game-reward-note { margin:14px 0 0!important; font-size:15px; line-height:1.2; opacity:.75; }
.matcha-game-section button:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
.matcha-game-section[data-game-state='spinning'] .matcha-wheel-wrap { will-change:transform; }
.matcha-game-section[data-game-state='spinning'] .matcha-spin-arrow svg { animation:matcha-spin-arrow 1.6s linear infinite; }
.matcha-game-section[data-game-state='result'] .matcha-game-result { animation:matcha-reward-arrive .55s cubic-bezier(.22,1,.36,1) both; }
.game-sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.game-confetti { position:absolute; z-index:5; inset:0; overflow:hidden; pointer-events:none; }
.game-confetti i { position:absolute; left:var(--x); top:25%; width:10px; height:18px; background:var(--color); border-radius:85% 0 85% 0; animation:matcha-leaf-fall 2.3s var(--delay) cubic-bezier(.15,.55,.45,1) both; }
.matcha-game-sparkle { animation:matcha-sparkle-float 4s ease-in-out infinite alternate; }
.sparkle-two { animation-delay:-2s; }
.matcha-game-section:not(.game-in-view) .game-cup-bob,.matcha-game-section:not(.game-in-view) .matcha-game-sparkle { animation-play-state:paused; }
@keyframes matcha-leaf-fall { 0% { opacity:0; transform:translate3d(0,-35px,0) rotate(0); } 12% { opacity:1; } 85% { opacity:1; } 100% { opacity:0; transform:translate3d(var(--dx),420px,0) rotate(var(--turn)); } }
@keyframes matcha-sparkle-float { to { transform:translateY(-9px) rotate(18deg); } }
@keyframes matcha-cup-bob { from { transform:translateY(0); } to { transform:translateY(-4px); } }
@keyframes matcha-spin-arrow { to { transform:rotate(360deg); } }
@keyframes matcha-reward-arrive { from { opacity:.55; transform:translateY(12px); } to { opacity:1; transform:none; } }
@media (max-width:991px) and (min-width:768px) {
  .matcha-game-section { padding:80px 28px 100px; }
  .matcha-game-layout { gap:30px; }
  .matcha-game-section .matcha-game-title { font-size:82px; }
  .matcha-game-result { padding:24px; }
  .matcha-game-code-row { flex-wrap:wrap; gap:8px; }
}
@media (max-width:767px) {
  .matcha-game-section { padding:44px 16px 72px; }
  .matcha-game-layout { display:flex; flex-direction:column; gap:30px; max-width:520px; }
  .matcha-game-copy { width:100%; padding:0; text-align:center; }
  .game-eyebrow { justify-content:center; margin-bottom:22px!important; font-size:13px; letter-spacing:.07em; }
  .game-eyebrow svg { width:17px; height:17px; }
  .matcha-game-section .matcha-game-title { max-width:none; font-size:clamp(43px,12.2vw,68px); line-height:.82; }
  .matcha-game-title span + span { margin-top:.15em; }
  .matcha-game-intro { max-width:23ch; margin:22px auto 0!important; font-size:25px; line-height:1.06; }
  .matcha-game-preview { max-width:34ch; margin:14px auto 0!important; font-size:14px; }
  .matcha-game-details { margin:12px auto 0; font-size:15px; }
  .matcha-game-details summary { margin:auto; }
  .matcha-game-machine { width:100%; }
  .matcha-playstage { width:100%; max-width:430px; }
  .matcha-wheel-wrap { inset:12px; }
  .matcha-wheel-pointer { width:34px; height:46px; top:2px; }
  .matcha-wheel-mascot { border-width:2px; }
  .matcha-game-sparkle { width:20px; height:20px; }
  .sparkle-two { width:15px; height:15px; }
  .matcha-game-section .matcha-spin-button { width:100%; max-width:310px; min-height:58px; margin-top:18px; font-size:28px; }
  .matcha-game-instructions { font-size:19px; margin-top:14px!important; }
  .matcha-game-result { width:100%; min-height:276px; padding:26px 24px 22px; }
  .matcha-game-result h3 { font-size:34px; }
  .matcha-game-result > p:not(.matcha-game-reward-note) { font-size:23px; line-height:1.08; }
  .matcha-game-code-row { gap:10px; }
  .matcha-game-code-row code { font-size:21px; }
  .matcha-game-code-row button { padding:9px 12px; font-size:17px; }
  .matcha-game-reward-note { font-size:15px; line-height:1.25; }
  body:has(#play.game-in-view) .motion-toggle { top:12px; bottom:auto; }
}
@media (max-width:359px) {
  .matcha-game-section { padding-left:12px; padding-right:12px; }
  .game-eyebrow { font-size:12px; gap:7px; }
  .matcha-game-result { padding-left:20px; padding-right:20px; }
  .matcha-game-code-row { flex-wrap:wrap; }
}
@media (prefers-reduced-motion:reduce) {
  .matcha-wheel-wrap { transition-duration:.2s; }
  .game-cup-bob,.matcha-game-sparkle,.game-confetti,.matcha-spin-arrow svg,.matcha-game-section[data-game-state='result'] .matcha-game-result { animation:none!important; }
}
