/* LEGEND TOWN MINI GAME V12 — clean, image-backed, viewport-fit */
.lt-game-launch{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;height:42px;min-width:92px;padding:0 13px;background:#07111b;color:#e6f7ff;border:1px solid rgba(34,211,238,.34);border-radius:2px;box-shadow:none;font:800 11px/1 inherit;cursor:pointer;letter-spacing:.02em;white-space:nowrap}
.lt-game-launch:hover{background:#0b1a27;border-color:rgba(34,211,238,.72);color:#fff}.lt-game-launch-icon{color:#22d3ee;font-size:15px}.lt-game-launch-label{white-space:nowrap}
html.lt-game-no-scroll,html.lt-game-no-scroll body{overflow:hidden!important;height:100%!important}
.lt-game-modal{position:fixed;inset:0;z-index:10050;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(1,5,10,.82)}
.lt-game-modal.is-open{display:flex}.lt-game-backdrop{position:absolute;inset:0;background:rgba(1,5,10,.72)}
.lt-game-card{position:relative;z-index:1;width:min(920px,calc(100vw - 32px));height:min(720px,calc(100vh - 32px));max-height:calc(100vh - 32px);min-height:0;overflow:hidden;background:#070e17;border:1px solid rgba(148,163,184,.22);border-radius:4px;box-shadow:0 28px 80px rgba(0,0,0,.72);padding:20px;display:flex;flex-direction:column}
.lt-game-head{flex:0 0 auto;display:flex;justify-content:space-between;gap:18px;align-items:flex-start;border-bottom:1px solid rgba(148,163,184,.12);padding-bottom:12px}.lt-game-kicker{font-size:10px;font-weight:900;letter-spacing:.2em;color:#22d3ee}.lt-game-head h2{margin:5px 0 3px;font-size:24px;color:#fff;font-weight:900}.lt-game-head p{margin:0;color:#718096;font-size:11px}.lt-game-close{width:40px;height:40px;flex:0 0 40px;background:#0b1520;border:1px solid rgba(148,163,184,.22);color:#fff;font-size:24px;cursor:pointer;border-radius:2px}.lt-game-close:hover{border-color:#22d3ee;color:#22d3ee}
.lt-game-stats{flex:0 0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:8px;margin:12px 0}.lt-game-stats>div:not(.lt-game-actions){background:#0a1420;border:1px solid rgba(148,163,184,.14);padding:9px 12px;min-height:54px}.lt-game-stats b{display:block;color:#fff;font-size:17px}.lt-game-stats span{font-size:9px;color:#6f8195}.lt-game-actions{display:flex;gap:7px;align-items:stretch}.lt-game-actions button{min-width:104px;border:1px solid rgba(34,211,238,.35);background:#091722;color:#dff8ff;padding:0 12px;border-radius:2px;font-weight:800;font-size:10px;cursor:pointer}.lt-game-actions button:hover{background:#0d2230;border-color:#22d3ee}
.lt-game-grid{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));gap:9px}
.lt-card{min-width:0;min-height:0;width:100%;height:100%;perspective:900px;cursor:pointer;border:0;background:transparent;padding:0}.lt-card-inner{position:relative;width:100%;height:100%;transition:transform .38s ease;transform-style:preserve-3d}.lt-card.is-flipped .lt-card-inner,.lt-card.is-matched .lt-card-inner{transform:rotateY(180deg)}
.lt-card-face{position:absolute;inset:0;backface-visibility:hidden;display:flex;align-items:center;justify-content:center;border:1px solid rgba(34,211,238,.18);background:#0b1520;border-radius:3px;overflow:hidden}.lt-card-back{background:#0b1520}.lt-card-mark{font-size:26px;line-height:1;color:#22d3ee;text-shadow:0 0 12px rgba(34,211,238,.25)}.lt-card-front{transform:rotateY(180deg);border-color:rgba(34,211,238,.4);background:#08131f}.lt-card-front img{width:68%;height:68%;object-fit:contain;display:block;user-select:none}.lt-card:hover .lt-card-back{border-color:rgba(34,211,238,.52);background:#0d1a28}.lt-card.is-matched .lt-card-front{border-color:#22d3ee;box-shadow:inset 0 0 20px rgba(34,211,238,.08)}
.lt-game-leaderboard{display:none;position:absolute;left:20px;right:20px;bottom:20px;z-index:7;margin:0;border:1px solid rgba(34,211,238,.3);background:#08111c;padding:10px 12px;box-shadow:0 16px 40px rgba(0,0,0,.55)}.lt-game-leaderboard.is-visible{display:block}.lt-score-head,.lt-score-row{display:grid;grid-template-columns:40px 1fr 1fr;gap:8px;align-items:center}.lt-score-head{font-size:9px;color:#5e7488;padding-bottom:5px;border-bottom:1px solid rgba(255,255,255,.06)}.lt-score-row{font-size:11px;color:#cbd5e1;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.04)}.lt-score-row:last-child{border-bottom:0}.lt-score-row strong{color:#22d3ee}.lt-score-empty{font-size:10px;color:#708398}
.lt-game-win{display:none;position:absolute;inset:0;z-index:8;align-items:center;justify-content:center;flex-direction:column;text-align:center;background:rgba(4,9,15,.96);padding:30px}.lt-game-win.is-visible{display:flex}.lt-win-icon{width:58px;height:58px;border:1px solid #22d3ee;color:#22d3ee;display:grid;place-items:center;font-size:30px;margin-bottom:12px}.lt-game-win h3{margin:0;color:#fff;font-size:27px}.lt-game-win p{color:#22d3ee;font-weight:900}.lt-game-win>span{color:#7f91a3;font-size:11px}.lt-win-actions{display:flex;gap:8px;margin-top:18px}.lt-win-actions button{border:1px solid #22d3ee;background:#091723;color:#dff8ff;padding:10px 15px;border-radius:2px;font-weight:800;cursor:pointer}
@media(max-width:700px){.lt-game-modal{padding:8px}.lt-game-card{width:calc(100vw - 16px);height:calc(100vh - 16px);max-height:none;padding:12px}.lt-game-head h2{font-size:20px}.lt-game-head p{font-size:10px}.lt-game-stats{grid-template-columns:repeat(3,1fr);gap:6px;margin:9px 0}.lt-game-stats>div:not(.lt-game-actions){min-height:46px;padding:7px 8px}.lt-game-actions{grid-column:1/-1}.lt-game-actions button{height:36px;flex:1}.lt-game-grid{gap:6px}.lt-card-front img{width:72%;height:72%}.lt-game-leaderboard{left:12px;right:12px;bottom:12px}}
@media(max-width:420px){.lt-game-kicker{font-size:8px}.lt-game-head h2{font-size:18px}.lt-game-head p{display:none}.lt-game-close{width:34px;height:34px;flex-basis:34px}.lt-game-stats b{font-size:14px}.lt-game-stats span{font-size:8px}.lt-game-actions button{font-size:9px;padding:0 7px}}

/* V13 GAME IMAGE GUARANTEE */
.lt-game-card .lt-card-front img{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:72%!important;
  height:72%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
  border:0!important;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.32))!important;
}
.lt-game-grid{gap:10px!important}
.lt-card-face{isolation:isolate}
.lt-game-card{overflow:hidden!important}
@media (max-height:720px){
  .lt-game-card{height:calc(100vh - 24px)!important;padding:14px!important}
  .lt-game-head{padding-bottom:8px!important}
  .lt-game-stats{margin:8px 0!important}
}
@media (max-width:700px){
  .lt-game-modal{padding:8px!important}
  .lt-game-card{width:calc(100vw - 16px)!important;height:calc(100vh - 16px)!important;padding:12px!important}
  .lt-game-head h2{font-size:19px!important}
  .lt-game-stats{grid-template-columns:repeat(3,1fr)!important}
  .lt-game-actions{grid-column:1/-1!important}
  .lt-game-actions button{min-height:40px!important}
}


/* V14: inline card artwork - no external image requests */
.lt-card-art{width:72%;height:72%;display:flex;align-items:center;justify-content:center;pointer-events:none}
.lt-card-art svg{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;visibility:visible!important;opacity:1!important}


/* V14.1 — robust card reveal. Do not rely on backface-visibility for the artwork. */
.lt-card-inner{position:relative!important;width:100%!important;height:100%!important;transform:none!important;transition:none!important}
.lt-card-face{transition:opacity .22s ease,transform .22s ease!important;backface-visibility:visible!important}
.lt-card-back{opacity:1!important;transform:rotateY(0deg) scale(1)!important}
.lt-card-front{opacity:0!important;transform:rotateY(180deg) scale(.94)!important;pointer-events:none!important}
.lt-card.is-flipped .lt-card-back,.lt-card.is-matched .lt-card-back{opacity:0!important;transform:rotateY(-180deg) scale(.94)!important}
.lt-card.is-flipped .lt-card-front,.lt-card.is-matched .lt-card-front{opacity:1!important;transform:rotateY(0deg) scale(1)!important;pointer-events:auto!important}
.lt-card-art{position:relative!important;z-index:2!important}
.lt-card-art svg{position:relative!important;z-index:3!important}


/* V18 — REAL CARD GRID / IMAGE VISIBILITY FIX
   The local server already serves /assets/game/*.png with HTTP 200.
   Keep the board dimensions explicit so global site CSS cannot collapse
   the card faces to 1px/transparent points. */
.lt-game-card .lt-game-grid{
  position:relative!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-template-rows:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  flex:1 1 auto!important;
  width:100%!important;
  min-height:0!important;
  height:auto!important;
  overflow:hidden!important;
}
.lt-game-card .lt-game-grid .lt-card{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:70px!important;
  max-width:none!important;
  max-height:none!important;
  padding:0!important;
  margin:0!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  background:transparent!important;
  border:0!important;
  overflow:visible!important;
}
.lt-game-card .lt-card-inner{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  display:block!important;
}
.lt-game-card .lt-card-face{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  opacity:1;
}
.lt-game-card .lt-card-back{
  z-index:1!important;
  visibility:visible!important;
}
.lt-game-card .lt-card-front{
  z-index:2!important;
}
.lt-game-card .lt-card-art{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:78%!important;
  height:78%!important;
  min-width:40px!important;
  min-height:40px!important;
  z-index:4!important;
  overflow:visible!important;
}
.lt-game-card .lt-card-front .lt-card-image{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:32px!important;
  min-height:32px!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  opacity:1!important;
  visibility:visible!important;
  z-index:5!important;
  filter:drop-shadow(0 5px 12px rgba(0,0,0,.38))!important;
}
.lt-game-card .lt-card-fallback{
  display:grid!important;
  place-items:center!important;
  width:70px!important;
  height:70px!important;
  border:1px solid rgba(34,211,238,.35)!important;
  color:#22d3ee!important;
  font-size:28px!important;
  font-weight:900!important;
}
.lt-game-card .lt-card.is-flipped .lt-card-front,
.lt-game-card .lt-card.is-matched .lt-card-front{
  z-index:10!important;
}
@media (max-height:760px) and (min-width:701px){
  .lt-game-card .lt-game-grid .lt-card{min-height:58px!important}
}
@media (max-width:700px){
  .lt-game-card .lt-game-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    grid-template-rows:repeat(4,minmax(0,1fr))!important;
    gap:6px!important;
  }
  .lt-game-card .lt-game-grid .lt-card{min-height:52px!important}
}


/* V31 — PRO MINI GAME SKIN */
.lt-game-modal{position:fixed!important;inset:0!important;z-index:99999!important;display:none!important;place-items:center!important;padding:22px!important;background:rgba(1,5,10,.72)!important;backdrop-filter:blur(14px)!important}
.lt-game-modal.is-open{display:grid!important}
.lt-game-backdrop{position:absolute!important;inset:0!important;background:radial-gradient(circle at 50% 20%,rgba(34,211,238,.12),transparent 42%),rgba(1,5,10,.76)!important}
.lt-game-card{position:relative!important;z-index:1!important;width:min(960px,calc(100vw - 44px))!important;height:min(820px,calc(100vh - 44px))!important;display:flex!important;flex-direction:column!important;gap:0!important;padding:24px!important;border:1px solid rgba(34,211,238,.18)!important;border-radius:18px!important;background:linear-gradient(180deg,rgba(8,17,28,.985),rgba(4,10,18,.985))!important;box-shadow:0 30px 100px rgba(0,0,0,.72),0 0 70px rgba(34,211,238,.08)!important;overflow:hidden!important}
.lt-game-card:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(34,211,238,.05),transparent 28%,transparent 70%,rgba(34,211,238,.03))}
.lt-game-head{position:relative!important;display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:20px!important;padding-bottom:18px!important;border-bottom:1px solid rgba(148,163,184,.10)!important}
.lt-game-kicker{display:inline-flex!important;align-items:center!important;gap:8px!important;width:max-content!important;padding:5px 9px!important;border:1px solid rgba(34,211,238,.25)!important;background:rgba(34,211,238,.06)!important;color:#22d3ee!important;font-size:9px!important;font-weight:900!important;letter-spacing:.22em!important}
.lt-game-head h2{margin:10px 0 5px!important;font-size:25px!important;line-height:1.15!important;font-weight:900!important;color:#f8fbff!important;letter-spacing:-.02em!important}
.lt-game-head p{margin:0!important;color:#71839a!important;font-size:11px!important;line-height:1.8!important}
.lt-game-close{width:42px!important;height:42px!important;flex:0 0 42px!important;display:grid!important;place-items:center!important;border:1px solid rgba(148,163,184,.18)!important;border-radius:10px!important;background:#08131f!important;color:#e7f7ff!important;font-size:24px!important;cursor:pointer!important}
.lt-game-close:hover{border-color:#22d3ee!important;color:#22d3ee!important;background:#0b1b29!important}
.lt-game-stats{position:relative!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr)) auto!important;gap:10px!important;margin:16px 0!important}
.lt-game-stats>div:not(.lt-game-actions){min-height:64px!important;padding:10px 14px!important;border:1px solid rgba(148,163,184,.10)!important;border-radius:10px!important;background:rgba(9,19,31,.82)!important}
.lt-game-stats b{font-size:20px!important;color:#f8fbff!important}
.lt-game-stats span{font-size:9px!important;color:#65788e!important;text-transform:uppercase!important;letter-spacing:.12em!important}
.lt-game-actions{display:flex!important;align-items:center!important;gap:8px!important}
.lt-game-icon-btn{width:52px!important;min-width:52px!important;height:52px!important;padding:0!important;display:grid!important;place-items:center!important;border:1px solid rgba(34,211,238,.25)!important;border-radius:10px!important;background:#081722!important;color:#ccefff!important;font-size:21px!important;font-weight:900!important;cursor:pointer!important;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease!important}
.lt-game-icon-btn:hover{transform:translateY(-2px)!important;border-color:#22d3ee!important;background:#0b2230!important;box-shadow:0 0 24px rgba(34,211,238,.12)!important;color:#fff!important}
.lt-game-grid{position:relative!important;flex:1 1 auto!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-template-rows:repeat(4,minmax(0,1fr))!important;gap:12px!important;min-height:0!important}
.lt-card{border-radius:12px!important}
.lt-card-face{border-radius:12px!important;border:1px solid rgba(148,163,184,.13)!important;background:linear-gradient(145deg,#0b1825,#07111c)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important}
.lt-card-back{background:radial-gradient(circle at 50% 45%,rgba(34,211,238,.09),transparent 42%),linear-gradient(145deg,#0b1825,#06101a)!important}
.lt-card:hover .lt-card-back{border-color:rgba(34,211,238,.55)!important;box-shadow:inset 0 0 30px rgba(34,211,238,.07),0 8px 30px rgba(0,0,0,.25)!important}
.lt-card-brand{position:relative!important;width:66px!important;height:66px!important;display:grid!important;place-items:center!important}
.lt-card-brand:before{content:"";position:absolute!important;inset:0!important;border:1px solid rgba(34,211,238,.24)!important;border-radius:50%!important;box-shadow:0 0 30px rgba(34,211,238,.08)!important}
.lt-card-brand img{width:48px!important;height:48px!important;object-fit:contain!important;border-radius:50%!important;opacity:.92!important}
.lt-card-brand span{position:absolute!important;bottom:-5px!important;right:-5px!important;padding:2px 5px!important;border:1px solid rgba(34,211,238,.25)!important;border-radius:5px!important;background:#07131f!important;color:#22d3ee!important;font-size:7px!important;font-weight:900!important;letter-spacing:.12em!important}
.lt-card-front{background:linear-gradient(145deg,#0a1a28,#07111c)!important;border-color:rgba(34,211,238,.38)!important}
.lt-card.is-matched .lt-card-front{border-color:#22d3ee!important;box-shadow:0 0 24px rgba(34,211,238,.12),inset 0 0 28px rgba(34,211,238,.07)!important}
.lt-game-leaderboard{left:24px!important;right:24px!important;bottom:24px!important;border-radius:12px!important;background:rgba(4,11,19,.97)!important;border-color:rgba(34,211,238,.24)!important}
.lt-game-win{background:rgba(3,9,16,.965)!important}
.lt-win-icon{border-radius:14px!important;background:rgba(34,211,238,.06)!important;box-shadow:0 0 35px rgba(34,211,238,.12)!important}
.lt-win-actions button{border-radius:10px!important}
@media(max-width:700px){.lt-game-modal{padding:8px!important}.lt-game-card{width:calc(100vw - 16px)!important;height:calc(100vh - 16px)!important;padding:14px!important;border-radius:14px!important}.lt-game-head h2{font-size:19px!important}.lt-game-head p{font-size:9px!important}.lt-game-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;margin:10px 0!important}.lt-game-stats>div:not(.lt-game-actions){min-height:52px!important;padding:8px!important}.lt-game-actions{grid-column:1/-1!important;justify-content:flex-end!important}.lt-game-icon-btn{width:44px!important;min-width:44px!important;height:44px!important}.lt-game-grid{gap:7px!important}.lt-card-face{border-radius:9px!important}.lt-card-brand{width:48px!important;height:48px!important}.lt-card-brand img{width:36px!important;height:36px!important}}
