﻿.game-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.game-badges span{padding:5px 10px;border-radius:999px;border:1px solid rgba(237,206,126,.2);background:rgba(255,255,255,.02);color:var(--gold1);font-size:.78rem}.rules-list{display:grid;gap:8px}.rules-list li{list-style:none;padding:10px 12px;border-radius:12px;border:1px solid rgba(237,206,126,.14);background:rgba(255,255,255,.02);color:var(--muted)}
.payout-list{display:grid;gap:8px;margin-top:10px}.payout-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;border:1px solid rgba(237,206,126,.14);background:rgba(255,255,255,.02)}.payout-row strong{color:var(--gold1)}.payout-row span{color:var(--muted);font-size:.85rem}
.reel-stage{position:relative;padding:16px;border-radius:16px;border:1px solid rgba(237,206,126,.18);background:radial-gradient(circle at 10% 0%,rgba(237,206,126,.08),transparent 42%),linear-gradient(180deg,rgba(7,6,4,.95),rgba(11,9,6,.92));overflow:hidden}
.reel-stage::before{content:'';position:absolute;inset:auto -20% 70% -20%;height:120px;background:radial-gradient(circle,rgba(255,241,189,.06),transparent 70%);pointer-events:none}
.reels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;position:relative}.reel-col{padding:10px;border-radius:14px;border:1px solid rgba(237,206,126,.18);background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.01));box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)}
.reel-window{height:170px;border-radius:12px;border:1px solid rgba(237,206,126,.14);background:rgba(4,3,2,.5);display:grid;grid-template-rows:repeat(3,1fr);gap:8px;padding:8px;position:relative;overflow:hidden}
.reel-window::before,.reel-window::after{content:'';position:absolute;left:0;right:0;height:36px;pointer-events:none;z-index:2}.reel-window::before{top:0;background:linear-gradient(180deg,rgba(4,3,2,.92),transparent)}.reel-window::after{bottom:0;background:linear-gradient(0deg,rgba(4,3,2,.92),transparent)}
.reel-slot{display:grid;place-items:center;border-radius:10px;border:1px solid rgba(237,206,126,.14);background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.015));text-align:center;padding:6px;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.reel-slot .sigil{font-size:1.05rem;line-height:1}.reel-slot .name{font-size:.66rem;color:var(--muted);margin-top:4px;text-transform:uppercase;letter-spacing:.06em}
.reel-slot[data-kind='sun']{background:linear-gradient(180deg,rgba(255,209,96,.14),rgba(255,209,96,.03))}.reel-slot[data-kind='gem']{background:linear-gradient(180deg,rgba(135,240,255,.13),rgba(135,240,255,.03))}.reel-slot[data-kind='crown']{background:linear-gradient(180deg,rgba(251,231,160,.16),rgba(251,231,160,.03))}.reel-slot[data-kind='map']{background:linear-gradient(180deg,rgba(172,116,32,.18),rgba(172,116,32,.04))}.reel-slot[data-kind='orb']{background:linear-gradient(180deg,rgba(190,153,255,.12),rgba(190,153,255,.03))}.reel-slot[data-kind='blade']{background:linear-gradient(180deg,rgba(255,180,180,.11),rgba(255,180,180,.02))}
.reel-slot.is-center{border-color:rgba(237,206,126,.36)}.reel-slot.is-win{transform:translateY(-1px);border-color:rgba(237,206,126,.55);box-shadow:0 0 18px rgba(237,206,126,.2),inset 0 0 0 1px rgba(255,255,255,.04)}
.reels.is-spinning .reel-slot{animation:slotPulse .2s linear infinite alternate}.reel-col.is-stopping .reel-window{box-shadow:0 0 0 1px rgba(237,206,126,.22),0 0 18px rgba(237,206,126,.12)}
.payline{margin:10px 0 0;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-size:.84rem}.payline strong{color:var(--gold1)}.spin-flash{position:absolute;inset:0;pointer-events:none;border-radius:inherit;opacity:0;background:radial-gradient(circle,rgba(255,241,189,.14),transparent 60%)}.spin-flash.is-on{animation:flashGlow .55s ease}
.spin-controls{margin-top:12px;display:flex;gap:10px;flex-wrap:wrap}.spin-controls .button{min-width:120px}.reel-note{margin-top:10px;color:var(--muted);font-size:.84rem}
.memory-wrap{display:grid;gap:12px}.memory-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.memory-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;perspective:1000px}
.memory-card{position:relative;height:110px;border:0;background:transparent;padding:0;cursor:pointer;transform-style:preserve-3d;transition:transform .35s ease}.memory-card:disabled{cursor:default}.memory-card.is-flipped{transform:rotateY(180deg)}.memory-card.is-matched{animation:matchedPop .45s ease}
.memory-face{position:absolute;inset:0;border-radius:14px;backface-visibility:hidden;border:1px solid rgba(237,206,126,.18);box-shadow:inset 0 0 0 1px rgba(255,255,255,.02);display:grid;place-items:center;padding:8px;text-align:center}
.memory-front{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015))}.memory-front::before{content:'';position:absolute;inset:8px;border-radius:10px;border:1px dashed rgba(237,206,126,.12)}.memory-front .crest{font:700 1.4rem/1 'Cinzel',serif;color:var(--gold1)}.memory-front .crest-sub{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.memory-back{transform:rotateY(180deg);background:radial-gradient(circle at 28% 18%,rgba(237,206,126,.16),transparent 45%),linear-gradient(180deg,rgba(20,15,10,.95),rgba(14,10,7,.92))}.memory-back .glyph{font-size:1.35rem;line-height:1}.memory-back .label{font-size:.7rem;color:var(--muted);margin-top:5px;text-transform:uppercase;letter-spacing:.06em}
.memory-back[data-family='flame']{box-shadow:inset 0 0 0 1px rgba(255,255,255,.02),0 0 18px rgba(255,140,90,.07)}.memory-back[data-family='moon']{box-shadow:inset 0 0 0 1px rgba(255,255,255,.02),0 0 18px rgba(170,170,255,.07)}.memory-back[data-family='gem']{box-shadow:inset 0 0 0 1px rgba(255,255,255,.02),0 0 18px rgba(120,230,255,.07)}.memory-back[data-family='leaf']{box-shadow:inset 0 0 0 1px rgba(255,255,255,.02),0 0 18px rgba(120,255,170,.07)}.memory-back[data-family='crown']{box-shadow:inset 0 0 0 1px rgba(255,255,255,.02),0 0 18px rgba(255,220,120,.08)}.memory-back[data-family='star']{box-shadow:inset 0 0 0 1px rgba(255,255,255,.02),0 0 18px rgba(255,190,255,.07)}
.memory-board.is-busy .memory-card:not(.is-flipped){filter:saturate(.9)}.memory-status{display:flex;flex-wrap:wrap;gap:8px}.memory-status span{padding:6px 10px;border-radius:999px;border:1px solid rgba(237,206,126,.18);background:rgba(255,255,255,.02);font-size:.8rem;color:var(--muted)}.memory-status strong{color:var(--gold1)}
.reflex-shell{display:grid;gap:12px}.reflex-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.progress-rail{position:relative;height:10px;border-radius:999px;border:1px solid rgba(237,206,126,.14);background:rgba(255,255,255,.03);overflow:hidden}.progress-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--gold3),var(--gold1));box-shadow:0 0 14px rgba(237,206,126,.22);transition:width .15s linear}
.arena-wrap{position:relative}.arena{position:relative;height:360px;border-radius:16px;border:1px solid rgba(237,206,126,.2);background:radial-gradient(circle at 50% 50%,rgba(237,206,126,.05),transparent 65%),linear-gradient(180deg,rgba(8,7,5,.95),rgba(11,9,6,.94));overflow:hidden;touch-action:manipulation;cursor:crosshair}
.arena::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:28px 28px;opacity:.45;pointer-events:none}
.arena::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,transparent 40%,rgba(0,0,0,.25));pointer-events:none}
.arena-hud{position:absolute;top:10px;left:10px;right:10px;display:flex;justify-content:space-between;gap:8px;pointer-events:none;z-index:2}.arena-pill{padding:6px 10px;border-radius:999px;border:1px solid rgba(237,206,126,.18);background:rgba(5,4,3,.72);font-size:.78rem;color:var(--muted)}.arena-pill strong{color:var(--gold1)}
.target{position:absolute;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(237,206,126,.2);background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.22),rgba(237,206,126,.13) 45%,rgba(237,206,126,.04));box-shadow:0 0 18px rgba(237,206,126,.12);cursor:pointer;user-select:none;touch-action:manipulation;transform:translate(-50%,-50%) scale(.9);animation:targetEnter .16s ease forwards}
.target::before{content:'';position:absolute;inset:22%;border-radius:50%;border:2px solid rgba(255,255,255,.35)}.target::after{content:'';position:absolute;inset:40%;border-radius:50%;background:rgba(255,255,255,.42)}.target .pts{position:absolute;bottom:-18px;font-size:.68rem;color:var(--gold1);opacity:0;transform:translateY(4px)}
.target.s{width:42px;height:42px}.target.m{width:54px;height:54px}.target.l{width:66px;height:66px}
.target.hit{animation:targetHit .28s ease forwards}.target.miss{animation:targetMiss .24s ease forwards}
.hit-float{position:absolute;transform:translate(-50%,-50%);font-weight:800;font-size:.84rem;color:var(--gold1);text-shadow:0 0 14px rgba(237,206,126,.4);pointer-events:none;animation:floatUp .6s ease forwards}.hit-float.bad{color:#ffd1d1}
.combo-glow{position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(circle,rgba(134,242,166,.12),transparent 60%)}.combo-glow.is-active{animation:comboPulse .4s ease}
.reflex-log{min-height:48px}.arena-empty-hit{position:absolute;width:18px;height:18px;border-radius:50%;border:1px solid rgba(255,141,141,.35);transform:translate(-50%,-50%);pointer-events:none;animation:emptyClick .28s ease forwards}
.small-note{font-size:.82rem;color:var(--muted)}.leader-mini{display:grid;gap:8px;margin-top:10px}.leader-row{display:grid;grid-template-columns:1fr auto;gap:10px;padding:9px 11px;border-radius:10px;border:1px solid rgba(237,206,126,.14);background:rgba(255,255,255,.02);font-size:.84rem}.leader-row span{color:var(--muted)}.leader-row strong{color:var(--gold1)}
@keyframes slotPulse{from{opacity:.9}to{opacity:1;filter:brightness(1.07)}}@keyframes flashGlow{0%{opacity:0}18%{opacity:1}100%{opacity:0}}@keyframes matchedPop{0%{transform:rotateY(180deg) scale(1)}40%{transform:rotateY(180deg) scale(1.04)}100%{transform:rotateY(180deg) scale(1)}}
@keyframes targetEnter{from{transform:translate(-50%,-50%) scale(.7);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}@keyframes targetHit{0%{transform:translate(-50%,-50%) scale(1);opacity:1}100%{transform:translate(-50%,-50%) scale(1.25);opacity:0}}@keyframes targetMiss{0%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(.8)}}
@keyframes floatUp{0%{opacity:0;transform:translate(-50%,-40%)}15%{opacity:1}100%{opacity:0;transform:translate(-50%,-95%)}}@keyframes comboPulse{0%{opacity:0}35%{opacity:1}100%{opacity:0}}@keyframes emptyClick{from{opacity:.8;transform:translate(-50%,-50%) scale(.8)}to{opacity:0;transform:translate(-50%,-50%) scale(1.4)}}
@media (max-width:900px){.memory-board{grid-template-columns:repeat(3,minmax(0,1fr))}.arena{height:330px}}
@media (max-width:640px){.reels{gap:8px}.reel-col{padding:8px}.reel-window{height:156px;gap:6px;padding:6px}.spin-controls .button{flex:1}.memory-card{height:96px}.memory-board{gap:8px}.arena{height:300px}.target.s{width:38px;height:38px}.target.m{width:48px;height:48px}.target.l{width:58px;height:58px}}

/* Visual upgrades + UX polish */
.reel-stage{box-shadow:inset 0 0 0 1px rgba(255,255,255,.02),0 16px 30px rgba(0,0,0,.2)}
.reel-stage::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(115deg,transparent 20%,rgba(255,239,186,.05) 45%,transparent 70%);opacity:.7}
.reel-col{position:relative;transition:transform .2s ease,box-shadow .2s ease}
.reel-col::after{content:'';position:absolute;inset:10px;border-radius:12px;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 45%,rgba(237,206,126,.14),transparent 65%);transition:opacity .18s ease}
.reel-col.is-rolling::after,.reel-col.is-stopping::after{opacity:1}
.reel-col.is-rolling .reel-window{background:
  linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.015)),
  repeating-linear-gradient(180deg,rgba(237,206,126,.04) 0 10px,rgba(255,255,255,.01) 10px 20px);
  animation:reelTrackFlow .32s linear infinite}
.reel-col.is-rolling .reel-slot{filter:blur(.18px) brightness(1.04)}
.reel-col.is-roll-step .reel-slot{animation:reelScrollStep .14s cubic-bezier(.18,.7,.28,1)}
.reel-col.is-roll-step .reel-slot:nth-child(2){animation-delay:.012s}
.reel-col.is-roll-step .reel-slot:nth-child(3){animation-delay:.024s}
.reel-col.is-stopping .reel-window{animation:reelStopBounce .28s ease}

.reel-slot{gap:2px;position:relative}
.reel-slot::before{content:'';position:absolute;inset:1px;border-radius:9px;pointer-events:none;background:radial-gradient(circle at 50% 18%,rgba(255,255,255,.04),transparent 58%)}
.reel-slot .sigil{width:42px;height:34px;display:grid;place-items:center;position:relative}
.reel-slot .sigil::after{content:'';position:absolute;inset:7px 9px;border-radius:999px;background:radial-gradient(circle,rgba(237,206,126,.15),transparent 70%);opacity:.75;pointer-events:none}
.reel-slot .sigil svg{width:30px;height:30px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 6px rgba(237,206,126,.22));transition:filter .2s ease,transform .2s ease}
.reel-slot .sigil svg [data-fill='gold']{fill:rgba(255,220,120,.18)}
.reel-slot .sigil svg [data-fill='aqua']{fill:rgba(135,240,255,.18)}
.reel-slot .sigil svg [data-fill='violet']{fill:rgba(192,164,255,.16)}
.reel-slot .sigil svg [data-stroke='gold']{stroke:#f1d68c}
.reel-slot .sigil svg [data-stroke='aqua']{stroke:#9df4ff}
.reel-slot .sigil svg [data-stroke='rose']{stroke:#ffb7b7}
.reel-slot .sigil svg [data-stroke='violet']{stroke:#ccb7ff}
.reel-slot .sigil svg [data-stroke='ember']{stroke:#ffce9a}
.reel-slot .sigil svg [data-stroke='leaf']{stroke:#9ef0bc}
.reel-slot[data-kind='crown'] .sigil svg,.reel-slot[data-kind='sun'] .sigil svg{filter:drop-shadow(0 0 7px rgba(255,223,134,.35))}
.reel-slot[data-kind='gem'] .sigil svg{filter:drop-shadow(0 0 8px rgba(135,240,255,.28))}
.reel-slot[data-kind='orb'] .sigil svg{filter:drop-shadow(0 0 8px rgba(192,164,255,.24))}
.reel-slot[data-kind='blade'] .sigil svg{filter:drop-shadow(0 0 8px rgba(255,183,183,.24))}
.reel-slot[data-kind='map'] .sigil svg{filter:drop-shadow(0 0 8px rgba(255,214,145,.2))}
.reel-slot.is-win .sigil svg{transform:scale(1.04);filter:drop-shadow(0 0 10px rgba(255,224,132,.48))}
.reel-slot .name{margin-top:2px;font-size:.63rem;line-height:1.1}

.memory-card{outline:none}
.memory-card:focus-visible .memory-face{border-color:rgba(237,206,126,.55);box-shadow:0 0 0 2px rgba(237,206,126,.18),inset 0 0 0 1px rgba(255,255,255,.04)}
.memory-card:not(.is-flipped):not(.is-matched):hover .memory-front{border-color:rgba(237,206,126,.3);box-shadow:0 12px 22px rgba(0,0,0,.16),inset 0 0 0 1px rgba(255,255,255,.03)}
.memory-front .crest{letter-spacing:.04em;text-shadow:0 0 12px rgba(237,206,126,.18)}
.memory-front .crest-sub{margin-top:4px}
.memory-back .glyph{display:grid;place-items:center}
.memory-back .glyph-icon{width:42px;height:42px;display:grid;place-items:center;position:relative;margin:0 auto}
.memory-back .glyph-icon::after{content:'';position:absolute;inset:7px;border-radius:50%;background:radial-gradient(circle,rgba(237,206,126,.14),transparent 72%);pointer-events:none}
.memory-back .glyph-icon svg{width:40px;height:40px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 8px rgba(237,206,126,.18))}
.memory-back .glyph-icon svg [data-fill='core']{fill:rgba(255,228,155,.12)}
.memory-back .glyph-icon svg [data-fill='mint']{fill:rgba(120,255,170,.12)}
.memory-back .glyph-icon svg [data-fill='ice']{fill:rgba(120,230,255,.12)}
.memory-back .glyph-icon svg [data-fill='violet']{fill:rgba(188,174,255,.12)}
.memory-back .glyph-icon svg [data-stroke='gold']{stroke:#f3d98f}
.memory-back .glyph-icon svg [data-stroke='ember']{stroke:#ffc08e}
.memory-back .glyph-icon svg [data-stroke='moon']{stroke:#cbcfff}
.memory-back .glyph-icon svg [data-stroke='gem']{stroke:#9ef3ff}
.memory-back .glyph-icon svg [data-stroke='leaf']{stroke:#9df0bb}
.memory-back .glyph-icon svg [data-stroke='star']{stroke:#ffd3ff}
.memory-back .label{margin-top:4px}
.memory-back[data-family='flame'] .glyph-icon svg{filter:drop-shadow(0 0 8px rgba(255,160,110,.28))}
.memory-back[data-family='moon'] .glyph-icon svg{filter:drop-shadow(0 0 8px rgba(170,170,255,.25))}
.memory-back[data-family='gem'] .glyph-icon svg{filter:drop-shadow(0 0 8px rgba(120,230,255,.28))}
.memory-back[data-family='leaf'] .glyph-icon svg{filter:drop-shadow(0 0 8px rgba(120,255,170,.24))}
.memory-back[data-family='crown'] .glyph-icon svg{filter:drop-shadow(0 0 8px rgba(255,220,120,.28))}
.memory-back[data-family='star'] .glyph-icon svg{filter:drop-shadow(0 0 8px rgba(255,190,255,.22))}
.memory-card.is-matched .memory-back{border-color:rgba(237,206,126,.36);box-shadow:0 0 0 1px rgba(237,206,126,.18),0 0 22px rgba(237,206,126,.1)}

.arena-pill{backdrop-filter:blur(8px)}
.target:focus-visible{outline:2px solid rgba(237,206,126,.75);outline-offset:2px}

@keyframes reelTrackFlow{from{background-position:0 0,0 0}to{background-position:0 0,0 28px}}
@keyframes reelScrollStep{0%{transform:translateY(-12px) scale(.985);opacity:.9}100%{transform:translateY(0) scale(1);opacity:1}}
@keyframes reelStopBounce{0%{transform:translateY(-3px)}60%{transform:translateY(1px)}100%{transform:translateY(0)}}

@media (max-width:640px){
  .memory-back .glyph-icon{width:36px;height:36px}
  .memory-back .glyph-icon svg{width:34px;height:34px}
  .reel-slot .sigil{width:38px;height:30px}
  .reel-slot .sigil svg{width:26px;height:26px}
}
