:root {
  --brand: #0a875d;
  --brand-deep: #075f44;
  --brand-soft: #e8f5ef;
  --ink: #202124;
  --muted: #69716d;
  --line: #e2e7e4;
  --surface: #ffffff;
  --page: #ffffff;
  --accent: #e7b748;
  font-family: Arial, Helvetica, sans-serif;
  color: var(--ink);
  background: var(--page);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--page); color: var(--ink); }
button { font: inherit; }

.shell { width: min(100%, 1050px); margin: 0 auto; padding: 36px 24px 88px; }
.app-head { display: flex; align-items: flex-start; gap: 22px; }
.app-icon { width: 106px; height: 106px; flex: 0 0 auto; border-radius: 25px; display: grid; place-items: center; overflow: hidden; position: relative; color: #fff; background: linear-gradient(145deg, var(--brand-deep), var(--brand)); box-shadow: 0 14px 30px color-mix(in srgb, var(--brand) 28%, transparent); }
.app-icon::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 22% 20%, rgba(255,255,255,.35), transparent 29%), linear-gradient(135deg, transparent 50%, rgba(255,255,255,.12)); }
.app-icon span { position: relative; font-size: 28px; font-weight: 900; letter-spacing: -.08em; }
.identity { min-width: 0; padding-top: 5px; }
.title-row { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.title-row h1 { margin: 0; font-size: clamp(30px, 5vw, 42px); line-height: 1; letter-spacing: -.045em; }
.verified-mark { width: 20px; height: 20px; display: inline-grid; place-items: center; border-radius: 50%; background: var(--brand); color: #fff; font-size: 13px; font-weight: 900; }
.eyebrow { margin: 14px 0 0; display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 13px; }
.eyebrow svg { width: 17px; color: var(--brand); }

.metrics { display: grid; grid-template-columns: repeat(3,1fr); margin: 38px 0 0; text-align: center; }
.metric { padding: 2px 10px; border-left: 1px solid var(--line); }
.metric:first-child { border-left: 0; }
.metric strong { display: block; font-size: 18px; letter-spacing: -.02em; }
.metric span { display: block; margin-top: 6px; font-size: 12px; color: var(--muted); }

.install { width: 100%; min-height: 57px; margin-top: 31px; border: 0; border-radius: 12px; color: #fff; background: var(--brand); cursor: pointer; box-shadow: 0 8px 20px color-mix(in srgb, var(--brand) 22%, transparent); transition: transform .16s ease, background .16s ease; }
.install:hover { background: var(--brand-deep); transform: translateY(-1px); }
.install:focus-visible { outline: 3px solid color-mix(in srgb, var(--brand) 28%, transparent); outline-offset: 3px; }
.install b, .install small { display: block; }
.install b { font-size: 15px; }
.install small { margin-top: 3px; color: rgba(255,255,255,.8); }

.actions { display: flex; justify-content: center; gap: 18px; margin-top: 14px; }
.action { border: 0; background: transparent; color: var(--brand-deep); padding: 10px 12px; border-radius: 9px; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; font-size: 13px; }
.action:hover { background: var(--brand-soft); }
.action svg { width: 18px; height: 18px; }

.gallery { display: flex; gap: 12px; overflow-x: auto; padding: 6px 2px 14px; margin-top: 20px; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.shot { width: 174px; aspect-ratio: 9/16; flex: 0 0 auto; border-radius: 16px; overflow: hidden; position: relative; scroll-snap-align: start; background-image: url('/assets/gallery-sprite.png'); background-size: 500% auto; background-repeat: no-repeat; border: 1px solid rgba(0,0,0,.05); }
.shot:nth-child(1) { background-position: 0% 50%; }
.shot:nth-child(2) { background-position: 25% 50%; }
.shot:nth-child(3) { background-position: 50% 50%; }
.shot:nth-child(4) { background-position: 75% 50%; }
.shot:nth-child(5) { background-position: 100% 50%; }
.shot::before { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(2,28,21,.12), transparent 40%, rgba(2,20,15,.72)); }
.shot-inner { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: space-between; padding: 17px; color: #fff; }
.shot-brand { font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; opacity: .85; }
.shot-orb { width: 48px; height: 48px; border-radius: 50%; margin-bottom: 13px; background: rgba(255,255,255,.15); border: 1px solid rgba(255,255,255,.28); backdrop-filter: blur(4px); }
.shot-copy { margin: 0; font-size: 15px; font-weight: 700; line-height: 1.25; }

.section { padding: 36px 0; border-top: 1px solid var(--line); }
.section:first-of-type { margin-top: 24px; }
.section-title { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.section h2 { margin: 0; font-size: 23px; letter-spacing: -.025em; }
.section p { max-width: 780px; margin: 15px 0 0; color: #535b57; font-size: 15px; line-height: 1.7; }
.facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; margin: 25px 0 0; }
.fact dt { font-size: 13px; font-weight: 700; }
.fact dd { margin: 6px 0 0; color: var(--muted); font-size: 14px; }

.safety-card { margin-top: 20px; padding: 22px; border: 1px solid var(--line); border-radius: 15px; display: grid; gap: 19px; }
.safety-item { display: flex; gap: 15px; align-items: flex-start; }
.safety-icon { width: 36px; height: 36px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 11px; color: var(--brand-deep); background: var(--brand-soft); }
.safety-icon svg { width: 18px; height: 18px; }
.safety-item strong { display: block; font-size: 14px; }
.safety-item span { display: block; margin-top: 4px; color: var(--muted); font-size: 13px; line-height: 1.5; }

.score-grid { display: grid; grid-template-columns: 160px 1fr; align-items: center; gap: 34px; margin-top: 22px; }
.score-big { font-size: 52px; letter-spacing: -.06em; line-height: 1; }
.stars { margin-top: 9px; color: var(--brand); letter-spacing: 3px; }
.bars { display: grid; gap: 7px; max-width: 460px; }
.bar { display: grid; grid-template-columns: 12px 1fr; align-items: center; gap: 10px; color: var(--muted); font-size: 11px; }
.bar-track { height: 7px; border-radius: 20px; background: #e8ecea; overflow: hidden; }
.bar-fill { height: 100%; border-radius: inherit; background: var(--brand); }
.feedback { margin-top: 25px; display: grid; gap: 22px; }
.quote { padding-top: 22px; border-top: 1px solid var(--line); }
.quote-head { display: flex; align-items: center; gap: 12px; }
.avatar { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: var(--brand-soft); color: var(--brand-deep); font-size: 12px; font-weight: 800; }
.quote strong { font-size: 14px; }
.quote time { display: block; margin-top: 2px; color: var(--muted); font-size: 11px; }
.quote p { margin-top: 9px; font-size: 14px; }

.footer { padding-top: 28px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; line-height: 1.6; }

.modal[hidden] { display: none; }
.modal { position: fixed; inset: 0; z-index: 50; display: grid; place-items: center; padding: 18px; }
.modal-backdrop { position: absolute; inset: 0; background: rgba(10,20,16,.54); backdrop-filter: blur(5px); }
.modal-card { position: relative; width: min(100%, 440px); overflow: hidden; border-radius: 20px; background: #fff; box-shadow: 0 28px 80px rgba(0,0,0,.28); animation: appear .18s ease-out; }
.modal-visual { display: grid; place-items: center; color: #fff; background: #0c342b; }
.modal-visual img { width: 100%; aspect-ratio: 1.91/1; object-fit: cover; display: block; }
.modal-logo { display: none; }
.modal-copy { padding: 22px 24px 26px; }
.modal-copy h3 { margin: 0; font-size: 21px; }
.modal-copy p { margin: 9px 0 0; color: var(--muted); font-size: 14px; line-height: 1.55; }
.modal-close { position: absolute; top: 12px; right: 12px; width: 36px; height: 36px; border: 0; border-radius: 50%; color: #fff; background: rgba(0,0,0,.28); cursor: pointer; font-size: 20px; }
@keyframes appear { from { opacity: 0; transform: translateY(8px) scale(.98); } }

body.novamint { --brand: #0a8c79; --brand-deep: #165044; --brand-soft: #e7f5f2; --accent: #9ccf65; }

/* Device split: desktop keeps the app-listing page; phones receive the interactive web app. */
.mobile-experience { display: none; }
html[data-device='mobile'] .desktop-experience,
html[data-device='mobile'] > body > .modal { display: none !important; }
html[data-device='mobile'] .mobile-experience { display: block; }
html[data-device='mobile'] body { background: #061b14; }

.mobile-app {
  --mobile-brand: #25d89b;
  min-height: 100dvh;
  max-width: 540px;
  margin: 0 auto;
  padding: max(18px, env(safe-area-inset-top)) 15px calc(94px + env(safe-area-inset-bottom));
  color: #f7fffb;
  background:
    radial-gradient(circle at 12% 2%, rgba(34,217,151,.22), transparent 27%),
    radial-gradient(circle at 100% 27%, rgba(221,178,64,.13), transparent 25%),
    #061b14;
  overflow: hidden;
  position: relative;
}
.mobile-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.mobile-brand { display: flex; align-items: center; gap: 10px; }
.mobile-brand-mark { width: 42px; height: 42px; border-radius: 13px; display: grid; place-items: center; background: linear-gradient(145deg,#19a979,#30e4a7); color: #052c20; font-weight: 950; letter-spacing: -.07em; box-shadow: 0 8px 24px rgba(25,215,150,.22); }
.mobile-brand-copy strong { display: block; font-size: 16px; letter-spacing: -.02em; }
.mobile-brand-copy span { display: block; margin-top: 2px; color: #91b8a8; font-size: 10px; }
.mobile-points { min-height: 38px; border: 1px solid rgba(116,255,205,.15); border-radius: 14px; padding: 7px 11px; color: #f7c95d; background: rgba(255,255,255,.06); text-align: right; }
.mobile-points b { display: block; font-size: 13px; }
.mobile-points small { display: block; margin-top: 1px; color: #8db4a4; font-size: 9px; }

.mobile-hero { min-height: 178px; margin-top: 18px; border-radius: 22px; overflow: hidden; position: relative; background-image: linear-gradient(90deg,rgba(4,25,19,.93),rgba(4,25,19,.12)),url('/assets/gallery-sprite.png'); background-size: auto 100%; background-position: 75% 50%; box-shadow: 0 20px 40px rgba(0,0,0,.25); }
.mobile-hero-copy { position: relative; z-index: 1; width: 68%; padding: 24px 20px; }
.mobile-kicker { color: #63f0bc; font-size: 10px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.mobile-hero h1 { margin: 9px 0 0; font-size: 25px; line-height: 1.05; letter-spacing: -.04em; }
.mobile-hero p { margin: 9px 0 0; color: #b9d2c8; font-size: 11px; line-height: 1.45; }
.mobile-hero button { margin-top: 15px; border: 0; border-radius: 11px; padding: 9px 14px; color: #063323; background: #39e6aa; font-size: 11px; font-weight: 800; }

.mobile-section-head { display: flex; align-items: center; justify-content: space-between; margin-top: 22px; }
.mobile-section-head h2 { margin: 0; font-size: 17px; letter-spacing: -.02em; }
.mobile-section-head span { color: #79a493; font-size: 10px; }
.mobile-chips { display: flex; gap: 8px; overflow-x: auto; margin: 12px -15px 0; padding: 0 15px 4px; scrollbar-width: none; }
.mobile-chip { flex: 0 0 auto; border: 1px solid rgba(136,219,188,.15); border-radius: 99px; padding: 8px 13px; color: #9bc0b1; background: rgba(255,255,255,.04); font-size: 11px; }
.mobile-chip.active { border-color: #35dca1; color: #062f22; background: #35dca1; font-weight: 800; }
.mobile-game-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; margin-top: 13px; }
.mobile-game-card { min-height: 148px; border: 0; border-radius: 17px; overflow: hidden; position: relative; padding: 0; color: #fff; background-image: url('/assets/gallery-sprite.png'); background-size: 500% auto; background-repeat: no-repeat; text-align: left; box-shadow: 0 12px 24px rgba(0,0,0,.18); }
.mobile-game-card::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 30%,rgba(2,18,13,.9)); }
.mobile-game-card:nth-child(1) { background-position: 0% 50%; }
.mobile-game-card:nth-child(2) { background-position: 25% 50%; }
.mobile-game-card:nth-child(3) { background-position: 50% 50%; }
.mobile-game-card:nth-child(4) { background-position: 75% 50%; }
.mobile-game-card:nth-child(5) { background-position: 100% 50%; }
.mobile-game-card[hidden] { display: none; }
.mobile-game-copy { position: absolute; z-index: 1; left: 13px; right: 13px; bottom: 12px; }
.mobile-game-copy b { display: block; font-size: 13px; }
.mobile-game-copy span { display: block; margin-top: 3px; color: #aed0c2; font-size: 9px; }

.mobile-bottom { position: fixed; z-index: 20; left: 50%; bottom: 0; width: min(100%,540px); transform: translateX(-50%); display: grid; grid-template-columns: repeat(4,1fr); padding: 9px 8px calc(8px + env(safe-area-inset-bottom)); border-top: 1px solid rgba(139,218,188,.12); background: rgba(4,22,16,.92); backdrop-filter: blur(18px); }
.mobile-nav { border: 0; padding: 6px 2px; color: #6f9988; background: transparent; font-size: 9px; }
.mobile-nav svg { display: block; width: 20px; height: 20px; margin: 0 auto 4px; }
.mobile-nav.active { color: #35e2a6; }

.mobile-sheet[hidden], .mobile-toast[hidden] { display: none; }
.mobile-sheet { position: fixed; z-index: 40; inset: 0; display: grid; align-items: end; background: rgba(0,0,0,.62); }
.mobile-sheet-card { width: min(100%,540px); margin: 0 auto; border-radius: 26px 26px 0 0; padding: 16px 16px calc(24px + env(safe-area-inset-bottom)); color: #eefbf6; background: #0b2a20; box-shadow: 0 -20px 60px rgba(0,0,0,.4); }
.mobile-sheet-art { height: 205px; border-radius: 18px; background-image: url('/assets/game-card-atlas-v1.webp'); background-size: 300% 300%; background-position: 50% 50%; background-repeat:no-repeat; }
.mobile-sheet-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-top: 16px; }
.mobile-sheet h3 { margin: 0; font-size: 20px; }
.mobile-sheet p { margin: 7px 0 0; color: #8fb7a7; font-size: 12px; line-height: 1.5; }
.mobile-sheet-close { width: 36px; height: 36px; border: 0; border-radius: 50%; color: #d9efe7; background: rgba(255,255,255,.08); font-size: 20px; }
.mobile-sheet-action { width: 100%; margin-top: 16px; border: 0; border-radius: 13px; padding: 13px; color: #073224; background: #35e2a6; font-weight: 850; }
.mobile-toast { position: fixed; z-index: 60; left: 50%; bottom: calc(82px + env(safe-area-inset-bottom)); transform: translateX(-50%); width: max-content; max-width: calc(100% - 30px); border: 1px solid rgba(132,231,193,.15); border-radius: 99px; padding: 10px 15px; color: #dff8ee; background: rgba(6,38,28,.96); box-shadow: 0 12px 30px rgba(0,0,0,.3); font-size: 11px; }

/* VerdeLume mobile lobby — compact green/gold game-hub rhythm. */
.lobby-app { min-height: 100dvh; max-width: 540px; margin: 0 auto; padding: max(10px,env(safe-area-inset-top)) 10px calc(88px + env(safe-area-inset-bottom)); color: #163421; background-image:linear-gradient(rgba(232,244,230,.82) 0,rgba(247,249,245,.9) 230px,rgba(238,244,235,.94) 100%),url('/assets/source-0007-lobby-bg.webp'); background-size:cover,100% auto; background-position:center top,center top; background-attachment:scroll,fixed; overflow: hidden; }
.lobby-header { display:flex; align-items:center; justify-content:space-between; gap:10px; position:relative; margin:calc(-1 * max(10px,env(safe-area-inset-top))) -10px 0; padding:max(10px,env(safe-area-inset-top)) 11px 10px; background:rgba(250,255,248,.82); backdrop-filter:blur(8px); }
.lobby-header::after { content:''; position:absolute; left:0; right:0; bottom:-5px; height:7px; background:url('/assets/source-0007-header-edge.webp') repeat-x center/22px 22px; opacity:.42; pointer-events:none; }
.lobby-brand { display:flex; align-items:center; gap:8px; min-width:0; }
.lobby-brand-mark { width:39px; height:39px; border-radius:50% 50% 44% 56%; display:grid; place-items:center; color:#f9ff77; background:linear-gradient(145deg,#0d612f,#43bf59); border:2px solid #e4cf37; font-weight:950; letter-spacing:-.08em; box-shadow:0 5px 12px rgba(20,98,43,.25); }
.lobby-brand strong { display:block; color:#176733; font-size:17px; font-style:italic; letter-spacing:-.04em; }
.lobby-brand small { display:block; margin-top:-1px; color:#75967b; font-size:7px; letter-spacing:.15em; }
.lobby-age { width:25px; height:25px; margin-left:1px; object-fit:contain; opacity:.82; }
.lobby-auth { display:flex; gap:5px; }
.lobby-auth button { min-width:55px; border:1px solid #39ad55; border-radius:7px; padding:8px 7px; color:#268340; background:#fff; font-size:10px; font-weight:800; }
.lobby-auth .primary { border-color:#e5c72f; color:#294411; background:linear-gradient(#fff46a,#f3d835); box-shadow:0 3px 8px rgba(153,125,0,.18); }
.reward-strip { display:grid; grid-template-columns:30px 1fr auto; align-items:center; gap:8px; margin:0 -10px; padding:8px 11px; color:#fff; background-image:linear-gradient(90deg,rgba(13,70,36,.94),rgba(33,113,54,.88) 58%,rgba(14,72,37,.94)),url('/assets/source-0007-nav-bg.webp'); background-size:cover; background-position:center; box-shadow:inset 0 1px rgba(255,255,255,.12); }
.reward-strip .reward-icon { width:27px; height:27px; display:grid; place-items:center; border-radius:8px; color:#315a12; background:#f4dd3b; transform:rotate(-5deg); }
.reward-strip b,.reward-strip small { display:block; }
.reward-strip b { font-size:11px; }
.reward-strip small { margin-top:1px; color:#cce7cf; font-size:8px; }
.reward-strip button { border:0; border-radius:7px; padding:7px 10px; color:#24430d; background:#f6dd38; font-size:9px; font-weight:900; }
.lobby-carousel { position:relative; height:174px; margin:10px 0 0; border-radius:11px; overflow:hidden; background:#0b3820; box-shadow:0 8px 18px rgba(38,89,48,.2); }
.promo-slide { position:absolute; inset:0; opacity:0; pointer-events:none; transition:opacity .55s ease,transform .7s ease; transform:scale(1.035); background-image:linear-gradient(90deg,rgba(3,34,19,.94) 0,rgba(3,34,19,.62) 46%,rgba(3,34,19,.05) 78%),var(--promo-image); background-size:var(--promo-size,cover); background-position:var(--promo-position,center); }
.promo-slide.active { opacity:1; pointer-events:auto; transform:scale(1); }
.promo-slide > div { width:58%; padding:23px 0 0 17px; color:#fff; }
.promo-slide span { color:#e8ef42; font-size:8px; font-weight:900; letter-spacing:.13em; }
.promo-slide h1,.promo-slide h2 { margin:6px 0 0; color:#fff; font-size:22px; line-height:.98; letter-spacing:-.04em; text-transform:uppercase; text-shadow:0 2px 7px rgba(0,0,0,.4); }
.promo-slide p { margin:7px 0 0; color:#d7e7d8; font-size:9px; line-height:1.35; }
.promo-slide button { margin-top:11px; border:0; border-radius:6px; padding:7px 12px; color:#23420f; background:#f3df35; font-size:9px; font-weight:900; }
.promo-dots { position:absolute; z-index:3; left:50%; bottom:7px; display:flex; gap:4px; transform:translateX(-50%); }
.promo-dots button { width:6px; height:6px; border:0; border-radius:99px; padding:0; background:rgba(255,255,255,.5); transition:width .25s; }
.promo-dots button.active { width:17px; background:#f6e33d; }
.lobby-notice { display:grid; grid-template-columns:20px 1fr; align-items:center; gap:5px; margin-top:8px; border-radius:7px; padding:7px 8px; color:#42704e; background:#fff; box-shadow:0 2px 8px rgba(43,91,52,.08); overflow:hidden; font-size:8px; }
.lobby-notice b { color:#37aa52; }
.lobby-notice div { display:flex; width:max-content; gap:60px; animation:noticeRun 14s linear infinite; }
@keyframes noticeRun { to { transform:translateX(calc(-50% - 30px)); } }
.quick-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:6px; margin-top:9px; }
.quick-grid button { border:1px solid #dbe8d8; border-radius:10px; padding:8px 3px 7px; color:#486651; background:#fff; box-shadow:0 3px 9px rgba(34,93,46,.07); font-size:8px; }
.quick-grid i { width:30px; height:30px; display:grid; place-items:center; margin:0 auto 4px; border-radius:10px; color:#1a6430; background:linear-gradient(145deg,#fff17a,#d4ed52); font-size:15px; font-style:normal; font-weight:900; }
.quick-grid button:nth-child(2) i { color:#fff; background:linear-gradient(145deg,#4cc66b,#1e7d3b); }
.quick-grid button:nth-child(3) i { color:#fff; background:linear-gradient(145deg,#f5a655,#ec6b36); }
.quick-grid button:nth-child(4) i { color:#fff; background:linear-gradient(145deg,#69aefb,#4576df); }
.quick-grid button:nth-child(5) i { color:#fff; background:linear-gradient(145deg,#bd75ef,#7b45c4); }
.lobby-title { display:flex; align-items:center; justify-content:space-between; margin-top:14px; }
.lobby-title > div { display:flex; align-items:center; gap:6px; }
.lobby-title h2 { margin:0; color:#1d4d2b; font-size:13px; }
.lobby-title > button { border:0; color:#67a16f; background:transparent; font-size:8px; }
.live-dot { width:7px; height:7px; border-radius:50%; background:#41b85a; box-shadow:0 0 0 4px rgba(65,184,90,.13); }
.lobby-tabs { display:flex; gap:6px; margin:9px -10px 0; padding:0 10px 3px; overflow-x:auto; scrollbar-width:none; }
.lobby-tabs button { flex:0 0 auto; min-width:57px; border:1px solid #d7e5d5; border-radius:7px; padding:7px 10px; color:#66816b; background:#fff; font-size:8px; font-weight:750; }
.lobby-tabs button.active { border-color:#2fa84c; color:#fff; background:linear-gradient(#50c76b,#2e9f49); box-shadow:0 3px 8px rgba(39,140,63,.2); }
.lobby-game-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:8px; }
.lobby-game { aspect-ratio:1; min-height:0; border:0; border-radius:9px; overflow:hidden; position:relative; padding:0; color:#fff; background-image:url('/assets/game-card-atlas-v1.webp'); background-size:300% 300%; background-position:0 0; background-repeat:no-repeat; box-shadow:0 5px 10px rgba(29,70,37,.16); text-align:left; }
.lobby-game::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(4,25,12,.9)); }
.lobby-game:nth-child(1) { background-position:0 0; }.lobby-game:nth-child(2){background-position:50% 0}.lobby-game:nth-child(3){background-position:100% 0}.lobby-game:nth-child(4){background-position:0 50%}.lobby-game:nth-child(5){background-position:50% 50%}.lobby-game:nth-child(6){background-position:100% 50%}.lobby-game:nth-child(7){background-position:0 100%}.lobby-game:nth-child(8){background-position:50% 100%}.lobby-game:nth-child(9){background-position:100% 100%}
.lobby-game[hidden] { display:none; }
.lobby-game .mobile-game-copy { left:7px; right:5px; bottom:7px; }
.lobby-game .mobile-game-copy b { overflow:hidden; color:#fff; font-size:9px; line-height:1.1; text-overflow:ellipsis; white-space:nowrap; }
.lobby-game .mobile-game-copy small { display:block; margin-top:2px; color:#cfe0d2; font-size:6px; }
.game-badge { position:absolute; z-index:2; top:5px; left:5px; border-radius:4px; padding:3px 5px; color:#29430d; background:#f2de3d; font-size:6px; font-weight:950; }
.provider-strip { padding-bottom:7px; }
.provider-strip > div:last-child { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; margin-top:8px; }
.provider-strip > div:last-child button { border:1px solid #d9e6d7; border-radius:8px; padding:10px 3px; color:#348448; background:#fff; font-size:8px; font-weight:900; }
.lobby-bottom { grid-template-columns:repeat(5,1fr); width:min(100%,540px); padding:8px 6px calc(7px + env(safe-area-inset-bottom)); border-color:#2f7850; background-image:linear-gradient(rgba(8,66,38,.9),rgba(5,50,29,.94)),url('/assets/source-0007-nav-bg.webp'); background-position:center bottom; background-size:cover; box-shadow:0 -6px 20px rgba(12,66,32,.22); }
.lobby-bottom .mobile-nav { color:#b8d6c1; font-size:8px; }
.lobby-bottom .mobile-nav.active { color:#f5e34a; }
.lobby-bottom .mobile-nav.center svg { width:27px; height:27px; margin-top:-13px; border-radius:50%; padding:8px; box-sizing:content-box; color:#173b13; background:linear-gradient(#fff36c,#e2c72a); border:4px solid #0a4d2b; box-shadow:0 4px 10px rgba(0,0,0,.28); }
.lobby-app .mobile-sheet-card { color:#20412a; background:#f8fbf7; }
.lobby-app .mobile-sheet p { color:#66816d; }
.lobby-app .mobile-sheet-action { color:#fff; background:#35a753; }
.lobby-app .mobile-toast { color:#fff; background:rgba(26,91,44,.96); }

/* VerdeLume source-style mobile lobby. All controls are local interface previews. */
.source-lobby {
  --source-green:#0d6b36;
  --source-green-deep:#064324;
  --source-green-soft:#e9f4e7;
  --source-gold:#f5d63f;
  --source-ink:#23442d;
  min-height:100dvh;
  max-width:540px;
  margin:0 auto;
  padding:0 0 calc(76px + env(safe-area-inset-bottom));
  position:relative;
  overflow:hidden;
  color:var(--source-ink);
  background:
    linear-gradient(rgba(239,247,234,.92),rgba(245,248,239,.96)),
    url('/assets/source-0007-lobby-bg.webp') center top/100% auto fixed;
  box-shadow:0 0 45px rgba(0,0,0,.25);
}
.source-lobby button,.source-lobby a { -webkit-tap-highlight-color:transparent; }
.source-lobby button { cursor:pointer; }
.source-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-height:62px;
  padding:max(9px,env(safe-area-inset-top)) 11px 8px;
  position:relative;
  z-index:4;
  color:#fff;
  background:
    linear-gradient(105deg,rgba(4,59,29,.97),rgba(15,121,56,.96)),
    url('/assets/source-0007-nav-bg.webp') center/cover;
  box-shadow:0 5px 16px rgba(10,70,34,.24);
}
.source-header::after { content:''; position:absolute; left:0; right:0; bottom:-5px; height:8px; background:url('/assets/source-0007-header-edge.webp') repeat-x center/22px 22px; opacity:.46; }
.source-logo { min-width:0; display:flex; align-items:center; gap:7px; color:inherit; text-decoration:none; }
.source-logo-mark { width:40px; height:40px; flex:0 0 auto; display:grid; place-items:center; border:2px solid #ffe563; border-radius:50% 48% 52% 44%; color:#fff57a; background:linear-gradient(145deg,#0a522a,#2caf54); box-shadow:0 5px 12px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.22); font-size:15px; font-weight:950; letter-spacing:-.08em; transform:rotate(-3deg); }
.source-logo > span:nth-child(2) { min-width:0; }
.source-logo b,.source-logo small { display:block; white-space:nowrap; }
.source-logo b { color:#fff; font-size:16px; font-style:italic; letter-spacing:-.045em; }
.source-logo small { margin-top:1px; color:#d2edc9; font-size:6px; letter-spacing:.13em; }
.source-logo img { width:24px; height:24px; object-fit:contain; filter:drop-shadow(0 2px 3px rgba(0,0,0,.2)); }
.source-auth { display:flex; gap:5px; }
.source-auth button { min-width:53px; min-height:32px; border:1px solid rgba(255,255,255,.8); border-radius:7px; padding:6px 7px; color:#fff; background:rgba(255,255,255,.08); font-size:9px; font-weight:850; }
.source-auth .source-auth-primary { border-color:#f7df4b; color:#29430d; background:linear-gradient(#fff277,#e8ca2d); box-shadow:0 4px 8px rgba(0,0,0,.16); }
.source-bonus-bar { display:grid; grid-template-columns:30px 1fr auto; align-items:center; gap:8px; min-height:45px; padding:7px 11px; color:#fff; background:linear-gradient(90deg,#073d23,#126438 62%,#073f24); box-shadow:inset 0 1px rgba(255,255,255,.1); }
.source-bonus-icon { width:29px; height:29px; display:grid; place-items:center; border-radius:9px; color:#31520d; background:linear-gradient(145deg,#fff373,#e1c52f); font-weight:900; transform:rotate(-5deg); }
.source-bonus-bar b,.source-bonus-bar small { display:block; }
.source-bonus-bar b { font-size:10px; }
.source-bonus-bar small { margin-top:2px; color:#bbdcc5; font-size:7px; }
.source-bonus-bar button { border:0; border-radius:7px; padding:7px 10px; color:#2c450f; background:var(--source-gold); font-size:8px; font-weight:900; box-shadow:0 3px 7px rgba(0,0,0,.15); }
.source-bonus-bar button:disabled { color:#def0df; background:#338051; }
.source-main { padding:9px 9px 20px; }
.source-carousel { height:170px; position:relative; overflow:hidden; border-radius:12px; background:#073d23; box-shadow:0 8px 18px rgba(28,83,41,.22); }
.source-promo { position:absolute; inset:0; opacity:0; pointer-events:none; transform:scale(1.04); transition:opacity .45s ease,transform .55s ease; background-image:linear-gradient(90deg,rgba(3,39,20,.95) 0,rgba(3,39,20,.74) 47%,rgba(3,39,20,.08) 78%),var(--promo-image); background-size:cover; background-position:center; }
.source-promo.active { opacity:1; pointer-events:auto; transform:scale(1); }
.source-promo:nth-child(1) { --promo-image:url('/assets/source-mobile/carousel-welcome-v12.webp'); }
.source-promo:nth-child(2) { --promo-image:url('/assets/source-mobile/carousel-weekly-v12.webp'); }
.source-promo:nth-child(3) { --promo-image:url('/assets/source-mobile/carousel-mystery-v12.webp'); }
.source-promo-brand { position:absolute; z-index:2; top:8px; right:10px; color:#fff8a8; font-size:9px; font-style:italic; font-weight:950; letter-spacing:-.03em; text-shadow:0 2px 5px rgba(0,0,0,.65); }
.source-promo > div { width:59%; padding:20px 0 0 17px; color:#fff; }
.source-promo em { color:#f7e94f; font-size:7px; font-style:normal; font-weight:900; letter-spacing:.14em; }
.source-promo h1,.source-promo h2 { margin:5px 0 0; color:#fff; font-size:21px; line-height:1; letter-spacing:-.045em; text-transform:uppercase; text-shadow:0 3px 8px rgba(0,0,0,.55); }
.source-promo p { margin:7px 0 0; color:#d1e6d3; font-size:8px; line-height:1.35; }
.source-promo button { margin-top:10px; border:0; border-radius:6px; padding:7px 12px; color:#294311; background:linear-gradient(#fff36b,#e8cc2e); font-size:8px; font-weight:900; }
.source-promo-dots { position:absolute; z-index:3; left:50%; bottom:7px; display:flex; gap:4px; transform:translateX(-50%); }
.source-promo-dots button { width:6px; height:6px; border:0; border-radius:99px; padding:0; background:rgba(255,255,255,.55); transition:width .2s; }
.source-promo-dots button.active { width:17px; background:#f7e54b; }
.source-notice { width:100%; display:grid; grid-template-columns:18px minmax(0,1fr) 12px; align-items:center; gap:4px; margin-top:7px; border:1px solid #d8e7d5; border-radius:8px; padding:7px; color:#356545; background:rgba(255,255,255,.94); box-shadow:0 3px 9px rgba(37,88,47,.07); overflow:hidden; text-align:left; font-size:8px; }
.source-notice > span:first-child { color:#2ca34c; font-weight:900; }
.source-notice-track { display:flex; width:max-content; gap:70px; animation:sourceNotice 15s linear infinite; }
.source-notice i { font-style:normal; white-space:nowrap; }
.source-notice b { color:#85a58d; font-size:14px; }
@keyframes sourceNotice { to { transform:translateX(calc(-50% - 35px)); } }
.source-quick { display:grid; grid-template-columns:repeat(5,1fr); gap:6px; margin-top:8px; padding:8px 5px; border:1px solid #dae8d7; border-radius:11px; background:rgba(255,255,255,.94); box-shadow:0 4px 12px rgba(38,93,50,.07); }
.source-quick button { min-width:0; border:0; padding:2px; color:#57715c; background:transparent; font-size:7px; }
.source-quick i { width:31px; height:31px; display:grid; place-items:center; margin:0 auto 5px; border:1px solid rgba(255,255,255,.55); border-radius:11px; color:#31520e; background:linear-gradient(145deg,#fff279,#d9ec4c); box-shadow:0 3px 8px rgba(0,0,0,.11); font-size:14px; font-style:normal; font-weight:900; }
.source-quick button:nth-child(2) i { color:#fff; background:linear-gradient(145deg,#4dca6e,#16723a); }
.source-quick button:nth-child(3) i { color:#fff; background:linear-gradient(145deg,#f5a456,#e66937); }
.source-quick button:nth-child(4) i { color:#fff; background:linear-gradient(145deg,#72b8ff,#4771d5); }
.source-quick button:nth-child(5) i { color:#fff; background:linear-gradient(145deg,#cc83ec,#7746bb); }
.source-quick span { display:block; overflow:hidden; text-overflow:ellipsis; }
.source-category { display:flex; gap:5px; margin:9px -9px 0; padding:0 9px 4px; overflow-x:auto; scrollbar-width:none; scroll-snap-type:x proximity; }
.source-category button { flex:0 0 57px; min-height:52px; display:grid; place-items:center; align-content:center; gap:3px; scroll-snap-align:start; border:1px solid #d7e5d4; border-radius:8px; padding:5px 3px; color:#627c67; background:rgba(255,255,255,.95); box-shadow:0 2px 7px rgba(36,84,44,.06); font-size:7px; font-weight:750; }
.source-category i { width:25px; height:25px; display:grid; place-items:center; border-radius:8px; color:#33894a; background:#edf6e9; font-size:13px; font-style:normal; }
.source-category button.active { border-color:#278f45; color:#fff; background:linear-gradient(#3ab35a,#16823d); box-shadow:0 4px 10px rgba(31,133,61,.22); }
.source-category button.active i { color:#274510; background:#f5df44; }
.source-section,.source-info-panel { margin-top:9px; border:1px solid #dce8d9; border-radius:11px; padding:9px; background:rgba(255,255,255,.96); box-shadow:0 4px 13px rgba(35,81,43,.07); }
.source-section[hidden] { display:none; }
.source-section-head { min-height:27px; display:flex; align-items:center; justify-content:space-between; gap:8px; }
.source-section-head > div { display:flex; align-items:center; gap:6px; min-width:0; }
.source-section-head h2 { margin:0; color:#31593b; font-size:11px; letter-spacing:-.01em; }
.source-section-head > button { border:0; padding:4px 0 4px 8px; color:#78a17f; background:transparent; font-size:7px; }
.source-section-head > button b { font-size:12px; }
.source-section-head > span { color:#8aa58f; font-size:7px; }
.source-section-icon { width:22px; height:22px; display:grid; place-items:center; border-radius:7px; color:#fff; background:linear-gradient(145deg,#45bd64,#18813e); font-size:11px; font-weight:900; }
.source-section-icon.hot { color:#314b0f; background:linear-gradient(145deg,#fff16e,#d8c02d); }
.source-section-icon.purple { background:linear-gradient(145deg,#c876ef,#7449bd); }
.source-section-icon.gold { color:#533b06; background:linear-gradient(145deg,#ffd866,#e79522); }
.source-section-icon.blue { background:linear-gradient(145deg,#60c9ff,#2378d6); }
.source-section-icon.red { background:linear-gradient(145deg,#ff856e,#db3e48); }
.source-section-icon.orange { background:linear-gradient(145deg,#ffb061,#e66a2f); }
.source-section-icon.teal { background:linear-gradient(145deg,#48d6c3,#188b7d); }
.source-section-icon.green { background:linear-gradient(145deg,#82cf58,#298d40); }
.source-feature-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; margin-top:7px; }
.source-feature-card { aspect-ratio:.78; min-width:0; position:relative; overflow:hidden; border:0; border-radius:8px; padding:0; color:#fff; background-image:url('/assets/game-card-atlas-v1.webp'); background-size:300% 300%; background-position:var(--x) var(--y); box-shadow:0 4px 9px rgba(24,74,37,.18); }
.source-feature-card::after { content:''; position:absolute; inset:43% 0 0; background:linear-gradient(transparent,rgba(2,27,13,.92)); }
.source-feature-card span { position:absolute; z-index:1; left:5px; right:5px; bottom:18px; overflow:hidden; color:#fff; font-size:8px; font-weight:900; text-align:left; text-overflow:ellipsis; white-space:nowrap; text-shadow:0 2px 4px rgba(0,0,0,.4); }
.source-feature-card b { position:absolute; z-index:1; left:5px; bottom:5px; border-radius:4px; padding:2px 5px; color:#29440e; background:#f2dd3c; font-size:6px; }
.source-game-grid,.source-game-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; margin-top:7px; }
.source-game-card { aspect-ratio:.92; min-width:0; position:relative; overflow:hidden; border:0; border-radius:8px; padding:0; color:#fff; background-image:url('/assets/game-card-atlas-v1.webp'); background-size:300% 300%; background-position:var(--x) var(--y); box-shadow:0 4px 10px rgba(29,71,37,.16); text-align:left; }
.source-game-card::after { content:''; position:absolute; inset:35% 0 0; background:linear-gradient(transparent,rgba(3,26,13,.92)); }
.source-game-card > span:last-child { position:absolute; z-index:1; left:7px; right:5px; bottom:6px; }
.source-game-card > span:last-child b,.source-game-card > span:last-child small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.source-game-card > span:last-child b { color:#fff; font-size:8px; line-height:1.1; text-shadow:0 2px 4px rgba(0,0,0,.45); }
.source-game-card > span:last-child small { margin-top:2px; color:#d2e6d4; font-size:6px; }
.source-card-badge { position:absolute; z-index:2; top:5px; left:5px; border-radius:4px; padding:3px 5px; color:#2d450f; background:#f3df3e; font-size:5px; font-weight:950; }
.source-card-badge.new { color:#fff; background:#38a958; }
.source-reward-feed { margin-top:5px; }
.source-reward-feed > div { display:grid; grid-template-columns:31px 1fr auto; align-items:center; gap:8px; padding:7px 0; border-top:1px solid #edf2ea; }
.source-reward-feed > div:first-child { border-top:0; }
.source-avatar { width:28px; height:28px; display:grid; place-items:center; border-radius:50%; color:#fff; background:linear-gradient(145deg,#4bc56b,#126c37); box-shadow:0 3px 7px rgba(28,102,48,.2); font-size:9px; font-style:normal; font-weight:900; }
.source-reward-feed p { margin:0; min-width:0; }
.source-reward-feed b,.source-reward-feed small { display:block; }
.source-reward-feed b { color:#385b40; font-size:8px; }
.source-reward-feed small { margin-top:2px; color:#8aa18f; font-size:6px; }
.source-reward-feed strong { color:#248342; font-size:8px; }
.source-podium { height:145px; display:grid; grid-template-columns:repeat(3,1fr); align-items:end; gap:6px; margin-top:4px; overflow:hidden; }
.source-podium article { min-width:0; position:relative; display:flex; align-items:center; flex-direction:column; }
.source-rank { position:absolute; z-index:2; top:-2px; right:calc(50% - 20px); width:14px; height:14px; display:grid; place-items:center; border:2px solid #fff; border-radius:50%; color:#fff; background:#7ba383; font-size:6px; font-weight:900; }
.source-podium .first .source-rank { color:#624509; background:#f5c83c; }
.source-podium article > b { margin-top:4px; color:#3b5b42; font-size:7px; }
.source-podium article > small { margin:2px 0 4px; color:#79907e; font-size:6px; }
.source-podium article > div { width:88%; height:var(--h); border-radius:8px 8px 0 0; background:linear-gradient(#73cb82,#248c48); box-shadow:inset 0 1px rgba(255,255,255,.35); }
.source-podium article.first > div { background:linear-gradient(#ffe86b,#e3bc2b); }
.source-podium .first .source-avatar { width:34px; height:34px; color:#4b3d0d; background:linear-gradient(#fff079,#dfc132); }
.source-service-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:6px; margin-top:9px; border:1px solid #dce8d9; border-radius:11px; padding:10px 5px; background:rgba(255,255,255,.96); box-shadow:0 4px 13px rgba(35,81,43,.07); }
.source-service-grid button { min-width:0; border:0; padding:3px; color:#5b745f; background:transparent; font-size:6px; }
.source-service-grid i { width:27px; height:27px; display:grid; place-items:center; margin:0 auto 5px; border-radius:50%; color:#278245; background:#e7f3e4; font-size:12px; font-style:normal; font-weight:900; }
.source-service-grid span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.source-footer { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:9px -9px -20px; padding:14px 11px 17px; color:#fff; background:linear-gradient(100deg,#063f24,#0e6a37); }
.source-footer > div { display:flex; align-items:center; gap:7px; }
.source-logo-mark.small { width:31px; height:31px; border-width:1px; font-size:11px; }
.source-footer b,.source-footer small { display:block; }
.source-footer b { font-size:11px; font-style:italic; }
.source-footer small { margin-top:2px; color:#b8dbc1; font-size:6px; }
.source-footer img { width:27px; height:27px; object-fit:contain; }
.source-footer button { border:1px solid rgba(255,255,255,.23); border-radius:7px; padding:7px 9px; color:#dbeade; background:rgba(255,255,255,.08); font-size:7px; }
.source-bottom { grid-template-columns:repeat(5,1fr); width:min(100%,540px); padding:7px 6px calc(6px + env(safe-area-inset-bottom)); border-color:#2e8050; background-image:linear-gradient(rgba(6,65,35,.92),rgba(3,45,25,.96)),url('/assets/source-0007-nav-bg.webp'); background-position:center bottom; background-size:cover; box-shadow:0 -7px 22px rgba(8,56,28,.28); }
.source-bottom .mobile-nav { color:#a7cbb2; font-size:7px; }
.source-bottom .mobile-nav.active { color:#f5e44b; }
.source-bottom .mobile-nav svg { width:18px; height:18px; }
.source-bottom .mobile-nav.center svg { width:25px; height:25px; margin-top:-13px; border:4px solid #08482a; border-radius:50%; padding:7px; box-sizing:content-box; color:#29430d; background:linear-gradient(#fff370,#e1c52c); box-shadow:0 4px 10px rgba(0,0,0,.3); }
.source-lobby .mobile-toast { bottom:calc(76px + env(safe-area-inset-bottom)); border-color:rgba(255,255,255,.16); color:#fff; background:rgba(6,62,34,.96); }
.source-game-sheet .mobile-sheet-card { color:#294c34; background:#f8fbf5; }
.source-game-sheet .mobile-sheet-art { height:190px; border:3px solid #fff; border-radius:16px; box-shadow:0 8px 20px rgba(20,70,34,.18); }
.source-game-sheet .mobile-sheet-row { margin-top:13px; }
.source-game-sheet .mobile-sheet-close { color:#4e7658; background:#e6f0e3; }
.source-game-sheet .mobile-sheet-action { margin-top:14px; color:#fff; background:linear-gradient(#3db65b,#1a873f); }
.source-sheet-kicker { display:block; margin-bottom:4px; color:#3ca050; font-size:7px; font-weight:900; letter-spacing:.12em; }
.source-sheet-secondary { width:100%; margin-top:8px; border:1px solid #cfe0cc; border-radius:13px; padding:11px; color:#568061; background:#fff; font-size:10px; font-weight:800; }
.source-panel[hidden],.source-welcome[hidden] { display:none; }
.source-panel,.source-welcome { position:fixed; z-index:70; inset:0; display:grid; place-items:center; padding:18px; }
.source-panel > article,.source-welcome > article { width:min(100%,350px); position:relative; z-index:1; border:1px solid rgba(255,255,255,.7); border-radius:20px; padding:23px 20px 20px; color:#31513a; background:linear-gradient(#fbfff7,#edf5e8); box-shadow:0 24px 70px rgba(0,0,0,.35); text-align:center; animation:appear .2s ease-out; }
.source-panel-close { position:absolute; z-index:3; top:9px; right:9px; width:30px; height:30px; border:0; border-radius:50%; color:#4e7157; background:#e4eee1; font-size:17px; }
.source-panel-icon { width:60px; height:60px; display:grid; place-items:center; margin:2px auto 13px; border:3px solid #f3d84a; border-radius:50% 48% 52% 44%; color:#fff36c; background:linear-gradient(145deg,#0b5f30,#38ae54); box-shadow:0 9px 20px rgba(24,112,48,.24); font-size:18px; font-weight:950; letter-spacing:-.08em; }
.source-panel h3,.source-welcome h3 { margin:0; color:#24472e; font-size:19px; }
.source-panel p,.source-welcome p { margin:8px auto 0; max-width:270px; color:#728879; font-size:10px; line-height:1.55; }
.source-panel-action { width:100%; margin-top:17px; border:0; border-radius:11px; padding:12px; color:#fff; background:linear-gradient(#3db55b,#16813d); box-shadow:0 7px 15px rgba(23,120,52,.2); font-size:10px; font-weight:900; }
.source-welcome > article { overflow:hidden; padding-top:17px; }
.source-welcome-art { height:146px; margin:-17px -20px 14px; position:relative; display:grid; place-items:center; align-content:center; color:#fff; background:radial-gradient(circle at 50% 30%,rgba(255,238,78,.32),transparent 35%),linear-gradient(145deg,#064928,#159047); overflow:hidden; }
.source-welcome-art::before,.source-welcome-art::after { content:'✦  ◆  ✦'; position:absolute; color:rgba(255,239,91,.5); font-size:18px; letter-spacing:24px; transform:rotate(-12deg); }
.source-welcome-art::before { top:15px; left:4px; }
.source-welcome-art::after { right:-18px; bottom:12px; transform:rotate(14deg); }
.source-welcome-art span { width:42px; height:42px; display:grid; place-items:center; border:2px solid #ffe355; border-radius:50%; color:#fff472; background:#0b5d31; font-size:13px; font-weight:950; }
.source-welcome-art i { position:absolute; top:19px; right:68px; color:#ffe954; font-size:19px; font-style:normal; }
.source-welcome-art b { margin-top:5px; color:#fff06a; font-size:42px; line-height:.9; text-shadow:0 4px 8px rgba(0,0,0,.28); }
.source-welcome-art small { margin-top:5px; color:#e4f0df; font-size:8px; font-weight:900; letter-spacing:.15em; }
.source-welcome label { display:block; margin-top:11px; color:#7a8f7f; font-size:8px; }
.source-welcome input { vertical-align:middle; accent-color:#238947; }
@media (min-width:541px) {
  html[data-device='mobile'] body { background:#052c1b; }
}
.source-lobby :focus-visible { outline:2px solid #f3d93e; outline-offset:2px; }
.source-lobby button:active { transform:scale(.985); }
@media (prefers-reduced-motion:reduce) {
  .source-promo,.source-notice-track { transition:none; animation:none; }
}

/* Source-aligned v10: dimensions and spacing follow the supplied mobile lobby. */
.source-lobby { color:#fff; background:#00351c; }
.source-header { min-height:52px; height:52px; padding:0 10px; background:#006d38; box-shadow:none; }
.source-header::after { display:none; }
.source-logo { gap:6px; }
.source-logo-mark { width:34px; height:34px; border-width:1px; font-size:12px; box-shadow:none; }
.source-logo b { color:#fff66b; font-size:15px; text-shadow:0 2px 2px rgba(0,0,0,.45); }
.source-logo small { color:#c7e9ce; font-size:6px; }
.source-auth { gap:5px; }
.source-auth button { width:72px; min-width:72px; min-height:31px; height:31px; border:0; border-radius:8px; padding:0; color:#13261a; background:#fff; font-size:12px; font-weight:700; }
.source-auth .source-auth-primary { color:#3c2a00; background:#f6ca28; box-shadow:none; }
.source-main { padding:0 0 22px; }
.source-carousel { height:160px; margin:2px 10px 0; border-radius:6px; box-shadow:none; }
.source-promo { background-image:linear-gradient(90deg,rgba(0,48,25,.93),rgba(0,45,24,.44) 58%,rgba(0,40,22,.05)),var(--promo-image); }
.source-promo > div { width:64%; padding:21px 0 0 15px; }
.source-promo em { color:#ffeb36; font-size:8px; }
.source-promo h1,.source-promo h2 { font-size:22px; }
.source-promo p { color:#dcefdc; font-size:8px; }
.source-promo button { min-width:125px; height:29px; margin-top:9px; padding:0 12px; border-radius:15px; color:#3c3100; background:linear-gradient(#ffdb36,#f0af11); font-size:9px; }
.source-promo-dots { bottom:6px; }
.source-notice { width:calc(100% - 20px); height:29px; margin:5px 10px 0; border:0; border-radius:4px; padding:4px 7px; color:#fff; background:#04703c; box-shadow:none; font-size:9px; }
.source-notice > span:first-child { color:#ffdf32; }
.source-notice b { color:#ffdc28; }
.source-quick { width:calc(100% - 20px); height:82px; grid-template-columns:repeat(4,1fr); gap:0; margin:10px 10px 0; padding:2px 7px; border:0; border-radius:0; background:transparent url('/assets/source-mobile/quick-bg.png') center/100% 100% no-repeat; box-shadow:none; }
.source-quick button { min-width:0; display:flex; align-items:center; justify-content:center; flex-direction:column; border:0; padding:0; color:#fff; background:transparent; font-size:12px; font-weight:700; }
.source-quick i,.source-quick button:nth-child(n) i { width:49px; height:49px; margin:0 auto 1px; border:0; border-radius:0; color:inherit; background:none; box-shadow:none; transform:none; }
.source-quick i img { width:100%; height:100%; display:block; object-fit:contain; }
.source-category { height:72px; gap:0; margin:11px 0 0; padding:0 10px; overflow-x:auto; }
.source-category button { flex:0 0 72px; width:72px; height:72px; min-height:72px; margin-right:9px; gap:0; border:0; border-radius:4px; padding:0; color:rgba(255,255,255,.66); background:transparent url('/assets/source-mobile/cat-inactive.png') center/100% 100% no-repeat; box-shadow:none; font-size:12px; font-weight:700; }
.source-category button.active { border:0; color:#fff; background-image:url('/assets/source-mobile/cat-active.png'); box-shadow:none; }
.source-category i,.source-category button.active i { width:52px; height:52px; display:block; border-radius:0; color:inherit; background:none; font-size:0; }
.source-category i img { width:52px; height:52px; display:block; object-fit:contain; }
.source-category span { height:20px; line-height:20px; }
.source-section,.source-info-panel { margin-top:10px; border:0; border-radius:0; padding:0 12px; color:#fff; background:transparent; box-shadow:none; }
.source-section-head { width:100%; min-height:31px; height:31px; padding:0; background:transparent url('/assets/source-mobile/title-bg.png') center/100% 100% no-repeat; }
.source-section-head > div { gap:0; }
.source-section-head h2 { margin-left:37px; color:#fceb50; font-size:14px; font-weight:700; }
.source-section-head > button { height:20px; margin-right:8px; padding:0 2px; color:#fceb50; font-size:12px; }
.source-section-head > button b { font-size:18px; }
.source-section-head > span { margin-right:10px; color:#fceb50; font-size:10px; }
.source-section-icon,.source-section-icon.hot,.source-section-icon.purple,.source-section-icon.gold,.source-section-icon.blue,.source-section-icon.red,.source-section-icon.orange,.source-section-icon.teal,.source-section-icon.green { width:26px; height:26px; margin-left:10px; margin-right:-26px; border-radius:50%; color:#ffe632; background:linear-gradient(#0d9a55,#006334); border:1px solid #e9c72a; box-shadow:inset 0 0 0 2px rgba(255,255,255,.08); }
.source-feature-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:11px; }
.source-feature-card { height:93px; aspect-ratio:auto; border:1px solid #d6b72d; border-radius:4px; color:#ffeb32; background-color:#006a3a; background-repeat:no-repeat; background-size:78% auto,cover; background-position:center 22px,center; box-shadow:none; }
.source-feature-card:nth-child(1) { background-image:url('/assets/source-mobile/lottery-win.png'),linear-gradient(145deg,#00894b,#004d2b); }
.source-feature-card:nth-child(2) { background-image:url('/assets/source-mobile/lottery-racing.png'),linear-gradient(145deg,#00894b,#004d2b); }
.source-feature-card:nth-child(3) { background-image:url('/assets/source-mobile/lottery-k3.png'),linear-gradient(145deg,#00894b,#004d2b); }
.source-feature-card:nth-child(4) { background-image:url('/assets/source-mobile/lottery-5d.png'),linear-gradient(145deg,#00894b,#004d2b); }
.source-feature-card::after { display:none; }
.source-feature-card span { top:4px; bottom:auto; color:#ffeb32; font-size:11px; font-weight:1000; text-align:center; text-shadow:0 2px 2px rgba(0,0,0,.55); }
.source-feature-card b { left:7px; right:7px; bottom:3px; border:1px solid #e4c434; border-radius:8px; padding:2px 4px; color:#ffed39; background:#00532e; font-size:8px; text-align:left; }
.source-game-grid,.source-game-row { grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; margin-top:11px; }
.source-game-card { aspect-ratio:.78; border:1px solid #dabf43; border-radius:4px; background-image:var(--card-image,url('/assets/game-card-atlas-v1.webp')); background-size:cover; background-position:center; box-shadow:none; }
.source-game-card::after { background:linear-gradient(180deg,transparent 72%,rgba(0,29,15,.72)); }
.source-game-card > span:last-child { opacity:0; pointer-events:none; }
.source-card-badge { top:4px; left:4px; padding:3px 5px; border-radius:3px; font-size:6px; }
.source-game-grid .source-game-card:nth-child(1),.source-game-row .source-game-card:nth-child(1) { --card-image:url('/assets/source-mobile/game-01-verdelume-v11.png'); }
.source-game-grid .source-game-card:nth-child(2),.source-game-row .source-game-card:nth-child(2) { --card-image:url('/assets/source-mobile/game-02.png'); }
.source-game-grid .source-game-card:nth-child(3),.source-game-row .source-game-card:nth-child(3) { --card-image:url('/assets/source-mobile/game-03.png'); }
.source-game-grid .source-game-card:nth-child(4),.source-game-row .source-game-card:nth-child(4) { --card-image:url('/assets/source-mobile/game-04.png'); }
.source-game-grid .source-game-card:nth-child(5) { --card-image:url('/assets/source-mobile/game-05.png'); }
.source-game-grid .source-game-card:nth-child(6) { --card-image:url('/assets/source-mobile/game-06.png'); }
.source-game-grid .source-game-card:nth-child(7) { --card-image:url('/assets/source-mobile/game-07.jpg'); }
.source-game-grid .source-game-card:nth-child(8) { --card-image:url('/assets/source-mobile/game-08.png'); }
.source-game-grid .source-game-card:nth-child(9) { --card-image:url('/assets/source-mobile/game-09.png'); }
.source-game-grid .source-game-card:nth-child(10) { --card-image:url('/assets/source-mobile/game-10.png'); }
.source-game-grid .source-game-card:nth-child(11) { --card-image:url('/assets/source-mobile/game-11.png'); }
.source-game-grid .source-game-card:nth-child(12) { --card-image:url('/assets/source-mobile/game-12.png'); }
.source-info-panel { margin-top:12px; }
.source-reward-feed { margin-top:8px; padding:0 8px; border:1px solid #1a8a50; border-radius:5px; background:#004928; }
.source-reward-feed > div { border-color:rgba(255,255,255,.1); }
.source-reward-feed b { color:#fff; }
.source-reward-feed small { color:#a9d8b6; }
.source-reward-feed strong { color:#f8dc3c; }
.source-avatar { background:linear-gradient(#15a760,#00693a); border:1px solid #e0c13b; }
.source-podium { margin-top:7px; border:1px solid #1a8a50; border-radius:5px; background:#004928; }
.source-podium article > b { color:#fff; }
.source-podium article > small { color:#a9d8b6; }
.source-service-grid { margin:12px 12px 0; border:1px solid #16854c; border-radius:5px; padding:12px 5px; background:#004928; box-shadow:none; }
.source-service-grid button { color:#dcefe1; font-size:7px; }
.source-service-grid i { color:#f1d53c; background:#07693c; border:1px solid #c3a930; }
.source-footer { margin:12px 0 -22px; padding:16px 12px 22px; background:#003019; border-top:1px solid #177a47; }
.source-footer button { color:#f4dd50; border-color:#7f8f3a; }
.source-floating { position:fixed; z-index:18; top:35%; right:max(7px,calc((100vw - 540px)/2 + 7px)); display:grid; gap:2px; }
.source-floating button { width:47px; height:47px; display:grid; place-items:center; border:3px solid #fff; border-radius:50%; color:#fff; background:#22a8dd; box-shadow:0 3px 8px rgba(0,0,0,.28); font-size:23px; font-weight:900; }
.source-floating button:nth-child(1) { color:#e9f6ec; background:#2e9a68; }
.source-floating button:nth-child(3) { background:#25c96f; }
.source-floating button:nth-child(4) { background:#2587dc; font-family:Arial,sans-serif; }
.source-floating button:nth-child(5) { background:linear-gradient(145deg,#7846d9,#ef3b6b,#ff9a37); }
.source-receive { position:fixed; z-index:19; right:max(7px,calc((100vw - 540px)/2 + 7px)); bottom:78px; width:72px; height:72px; overflow:hidden; border:0; border-radius:0; padding:0; color:#fff; background:transparent; font-size:10px; font-weight:700; text-shadow:0 1px 3px #6d1e22; }
.source-receive img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.source-receive span { position:absolute; z-index:1; left:0; right:0; bottom:9px; }
.source-receive:disabled { filter:grayscale(.45); opacity:.7; }
.source-bottom { height:83px; grid-template-columns:67px 1fr 110px 1fr 67px; padding:3px 0 0; border:0; background:transparent url('/assets/source-mobile/tabbar-bg.png') center/100% 100% no-repeat; box-shadow:none; }
.source-bottom .mobile-nav { height:80px; margin-top:15px; padding:0; color:#fff; font-size:12px; font-weight:1000; }
.source-bottom .mobile-nav.active { color:#fceb50; }
.source-bottom .mobile-nav svg { width:31px; height:31px; margin:0 auto 2px; stroke-width:2.5; }
.source-bottom .mobile-nav:first-child svg { width:41px; height:41px; margin-top:-7px; }
.source-bottom .mobile-nav.center { margin-top:0; color:#f8ea4d; }
.source-bottom .mobile-nav.center svg { width:57px; height:57px; margin:-2px auto 0; border:3px solid #f6d638; padding:7px; color:#fff; background:#079457; box-shadow:0 2px 8px rgba(0,0,0,.28); }
.source-lobby .mobile-toast { bottom:88px; color:#fff; background:rgba(0,73,40,.96); }
.source-game-sheet .mobile-sheet-card { color:#fff; background:#004629; }
.source-game-sheet .mobile-sheet-close { color:#fceb50; background:#087646; }
.source-game-sheet .mobile-sheet-action { color:#3d2c00; background:#f6ca28; }
.source-game-sheet .mobile-sheet p { color:#b7d8c0; }
.source-sheet-secondary { color:#fff; border-color:#27875a; background:#005333; }
.source-panel > article { color:#fff; border:1px solid #d1b638; border-radius:8px; background:linear-gradient(#087746,#003a20); }
.source-panel h3 { color:#ffe745; }
.source-panel p { color:#c5dfcc; }
.source-panel-icon { color:#fff06c; border-color:#f1cc32; background:#005731; }
.source-panel-action { color:#3a2900; background:#f6ca28; box-shadow:none; }
.source-panel-close { color:#fff; background:#0a6e43; }
.source-welcome { align-items:center; padding:0; background:rgba(20,20,20,.7); backdrop-filter:blur(5px); }
.source-welcome > article { width:335px; height:499px; overflow:visible; display:flex; align-items:center; flex-direction:column; border:0; border-radius:0; padding:0; color:#ffd000; background:transparent; box-shadow:none; }
.source-welcome > article h3 { width:100%; margin:0; color:#ffd000; font-size:47px; font-weight:700; line-height:1.14; letter-spacing:-.04em; text-align:left; white-space:nowrap; }
.source-welcome > article > strong { width:100%; margin:5px 0 0; color:#ffd000; font-size:47px; line-height:1; text-align:left; white-space:nowrap; }
.source-welcome-plane { width:260px; height:188px; margin-top:12px; object-fit:contain; }
.source-welcome-counter { margin-top:-2px; padding:1px 3px; color:#111; background:repeating-linear-gradient(90deg,#fff 0 11px,#111 11px 12px); font-family:monospace; font-size:15px; font-weight:900; letter-spacing:3px; }
.source-welcome .source-panel-action { width:335px; height:52px; margin-top:10px; border-radius:9px; padding:0; color:#553b00; background:#ffca1f; font-size:17px; }
.source-welcome label { margin-top:10px; color:#fff; font-size:12px; }
.source-welcome input { width:12px; height:12px; margin-right:7px; appearance:none; border:1px solid rgba(255,255,255,.7); border-radius:50%; background:transparent; }
.source-welcome input:checked { background:#ffcc24; box-shadow:inset 0 0 0 3px #163321; }
.source-welcome-close { width:34px; height:34px; margin-top:18px; border:2px solid #fff; border-radius:50%; padding:0; color:#fff; background:transparent; font-size:30px; font-weight:300; line-height:26px; }
@media (max-width:360px) {
  .source-auth button { width:64px; min-width:64px; }
  .source-game-grid,.source-game-row,.source-feature-grid { gap:5px; }
  .source-floating { right:4px; transform:scale(.88); transform-origin:right center; }
  .source-welcome > article { transform:scale(.9); }
}
.download-toast[hidden] { display:none; }
.download-toast { position:fixed; z-index:80; left:50%; bottom:28px; transform:translateX(-50%); border-radius:99px; padding:11px 17px; color:#fff; background:rgba(17,76,45,.96); box-shadow:0 10px 30px rgba(0,0,0,.22); font-size:12px; }
.device-tabs { display:flex; gap:8px; margin:18px 0 22px; }
.device-tabs button { border:1px solid #d7dedb; border-radius:99px; padding:9px 14px; color:#53645d; background:#fff; font-size:12px; }
.device-tabs button.active { border-color:#138f66; color:#fff; background:#138f66; }

@media (max-width: 620px) {
  .shell { padding: 26px 16px 64px; }
  .app-head { gap: 15px; }
  .app-icon { width: 82px; height: 82px; border-radius: 20px; }
  .app-icon span { font-size: 23px; }
  .identity { padding-top: 2px; }
  .title-row h1 { font-size: 28px; }
  .eyebrow { margin-top: 10px; font-size: 11px; }
  .metrics { margin-top: 28px; }
  .metric { padding-inline: 5px; }
  .metric strong { font-size: 15px; }
  .metric span { font-size: 10px; }
  .install { margin-top: 25px; }
  .actions { gap: 6px; }
  .shot { width: 132px; border-radius: 13px; }
  .shot-inner { padding: 13px; }
  .shot-copy { font-size: 12px; }
  .section { padding: 30px 0; }
  .section h2 { font-size: 20px; }
  .facts { grid-template-columns: 1fr; gap: 16px; }
  .score-grid { grid-template-columns: 115px 1fr; gap: 18px; }
  .score-big { font-size: 44px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
