:root{--rl-v40-a:#f5c96f;--rl-v40-b:#7fe7ff;--rl-v40-pos:center center}
#rl-v40-global-bg{position:fixed;inset:0;z-index:-1;pointer-events:none;background-size:cover;background-position:var(--rl-v40-pos);background-repeat:no-repeat;opacity:.96;filter:saturate(1.04) contrast(1.01)}
body{position:relative;isolation:isolate}
.rl40-native-select{position:absolute!important;inline-size:1px!important;block-size:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;opacity:0!important;pointer-events:none!important}
.rl40-picker{--pick-a:#72ffd2;--pick-b:#9f74ff;width:100%;margin-top:10px;display:grid;grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;border-radius:22px;border:1px solid color-mix(in srgb,var(--pick-a) 62%,white 8%);background:linear-gradient(135deg,rgba(5,7,17,.92),rgba(12,8,24,.88));color:#fff;text-align:left;box-shadow:inset 0 1px rgba(255,255,255,.08),0 10px 28px rgba(0,0,0,.22),0 0 18px color-mix(in srgb,var(--pick-a) 13%,transparent)}
.rl40-picker-img{width:68px;height:74px;display:block;object-fit:cover;border-radius:16px;background:#0a0d18;border:1px solid color-mix(in srgb,var(--pick-a) 55%,white 10%)}
.rl40-picker-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.rl40-picker-copy small{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb,var(--pick-a) 85%,white 10%)}.rl40-picker-copy b{font-size:16px;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rl40-picker-meta{font-size:11px;color:rgba(255,255,255,.58)}
.rl40-picker-cta{display:flex;align-items:center;gap:7px;padding:9px 10px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(135deg,color-mix(in srgb,var(--pick-a) 18%,transparent),color-mix(in srgb,var(--pick-b) 16%,transparent));font-size:12px;font-weight:800;white-space:nowrap}.rl40-picker-cta b{font-size:22px;line-height:.8}

html.rl40-gallery-open,body.rl40-gallery-open{overflow:hidden!important;overscroll-behavior:none!important}
.rl40-overlay{position:fixed;inset:0;z-index:2147483640;display:none;align-items:center;justify-content:center;padding:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom));background:rgba(1,2,10,.94);touch-action:none}.rl40-overlay.open{display:flex}
.rl40-panel{position:relative;width:min(860px,100%);height:min(94dvh,980px);display:grid;grid-template-rows:auto 3px auto auto minmax(0,1fr) auto;overflow:hidden;color:#fff;border-radius:28px;border:1px solid rgba(255,215,128,.62);background:linear-gradient(180deg,rgba(14,9,6,.995),rgba(3,6,17,.995));box-shadow:0 20px 70px rgba(0,0,0,.72),0 0 28px rgba(255,184,70,.12);padding:14px;contain:layout paint}
.rl40-head{display:flex;gap:12px;justify-content:space-between;align-items:flex-start;min-width:0}.rl40-head>div{min-width:0}.rl40-head small{color:#ffd989;letter-spacing:.18em;font-weight:800;font-size:10px}.rl40-head h2{margin:3px 0 2px;font-size:clamp(25px,7vw,40px);line-height:1}.rl40-head p{margin:5px 0 0;color:rgba(255,255,255,.62);font-size:12px}.rl40-close{flex:0 0 50px;height:50px;border-radius:16px;border:1px solid rgba(255,255,255,.16);background:rgba(24,18,11,.82);color:#fff;font-size:30px}
.rl40-ledbar{height:3px;margin:10px 0;border-radius:999px;background:linear-gradient(90deg,#f5b838,#fff1a8,#65e6ff,#b070ff,#f5b838);background-size:220% 100%;box-shadow:0 0 10px rgba(255,202,78,.35);animation:rl40-ledflow 5s linear infinite}@keyframes rl40-ledflow{to{background-position:220% 0}}
.rl40-preview{--a:#f5c96f;--b:#7fe7ff;display:grid;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:12px;min-height:82px;margin-bottom:10px;padding:8px;border-radius:20px;border:1px solid color-mix(in srgb,var(--a) 48%,rgba(255,255,255,.12));background:linear-gradient(135deg,color-mix(in srgb,var(--a) 9%,rgba(12,12,24,.96)),color-mix(in srgb,var(--b) 8%,rgba(5,7,18,.96)))}
.rl40-preview-img{width:82px;height:82px;object-fit:cover;border-radius:15px;background:#090b16;opacity:.78;transition:opacity .12s ease}.rl40-preview-img.ready{opacity:1}.rl40-preview-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.rl40-preview-copy small{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:color-mix(in srgb,var(--a) 82%,white 12%)}.rl40-preview-title{font-size:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rl40-preview-meta{font-size:11px;color:rgba(255,255,255,.58)}
.rl40-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:10px}.rl40-tabs button{min-height:40px;border-radius:13px;border:1px solid rgba(255,255,255,.13);background:rgba(15,14,26,.76);color:#d7d7dd;font-size:12px;font-weight:800}.rl40-tabs button.active{color:#fff;border-color:#ffd16b;background:linear-gradient(135deg,#684107,#241a09);box-shadow:0 0 12px rgba(255,195,67,.18)}
.rl40-gridwrap{min-height:0;overflow:auto;overscroll-behavior:contain;touch-action:pan-y;padding:2px 2px 10px;scrollbar-width:thin;scrollbar-color:rgba(255,209,107,.45) transparent;contain:strict}
.rl40-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-content:start}
.rl40-card{--a:#72ffd2;--b:#9f74ff;position:relative;min-height:154px;contain:layout paint style;content-visibility:auto;contain-intrinsic-size:154px;border:1px solid color-mix(in srgb,var(--a) 44%,rgba(255,255,255,.10));border-radius:19px;overflow:hidden;padding:0;color:#fff;text-align:left;background:linear-gradient(145deg,color-mix(in srgb,var(--a) 10%,#10101b),color-mix(in srgb,var(--b) 8%,#050714));box-shadow:inset 0 1px rgba(255,255,255,.05);transform:translateZ(0)}.rl40-card[hidden]{display:none}.rl40-card:active{transform:scale(.992)}
.rl40-card-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#090b16;opacity:0;transition:opacity .16s ease}.rl40-card.img-ready .rl40-card-img{opacity:1}.rl40-card::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(1,2,8,.02) 20%,rgba(1,2,8,.18) 48%,rgba(1,2,8,.88) 100%);pointer-events:none}.rl40-card.is-selected{border-color:#ffe08a;box-shadow:0 0 0 2px rgba(255,217,112,.38),0 0 18px rgba(255,201,79,.28)}.rl40-card.is-applied .rl40-check{display:grid}.rl40-card.is-selected .rl40-check{display:grid;background:#ffe08a;color:#251400}
.rl40-num{position:absolute;left:9px;top:9px;z-index:2;padding:3px 7px;border-radius:999px;background:rgba(2,4,14,.72);border:1px solid rgba(255,255,255,.20);font-size:10px}.rl40-check{position:absolute;right:9px;top:9px;z-index:2;width:28px;height:28px;display:none;place-items:center;border-radius:50%;background:#7ef1d0;color:#052014;font-weight:900;box-shadow:0 0 12px currentColor}.rl40-cardcopy{position:absolute;z-index:2;left:11px;right:10px;bottom:10px;display:block;text-shadow:0 2px 10px #000}.rl40-cardcopy b{display:block;font-size:14px;line-height:1.1}.rl40-cardcopy small{display:block;margin-top:4px;font-size:10px;opacity:.72}
.rl40-foot{display:grid;grid-template-columns:1fr 1.45fr;gap:9px;padding-top:10px}.rl40-foot button{min-height:48px;border-radius:16px;font-weight:900;color:#fff}.rl40-cancel{border:1px solid rgba(255,255,255,.16);background:#17131b}.rl40-apply{border:1px solid #ffdc79;background:linear-gradient(135deg,#95600c,#563405);box-shadow:0 0 18px rgba(255,191,64,.20)}.rl40-apply:disabled{opacity:.58}
@media(max-width:520px){.rl40-overlay{padding:0;background:#03040c}.rl40-panel{width:100%;height:100dvh;max-height:none;border-radius:0;border-left:0;border-right:0;padding:10px 10px max(10px,env(safe-area-inset-bottom));box-shadow:none}.rl40-head h2{font-size:28px}.rl40-preview{grid-template-columns:70px minmax(0,1fr);min-height:70px}.rl40-preview-img{width:70px;height:70px}.rl40-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.rl40-card{min-height:146px;contain-intrinsic-size:146px}.rl40-picker{grid-template-columns:60px minmax(0,1fr) auto}.rl40-picker-img{width:60px;height:66px}.rl40-picker-cta{padding:8px;font-size:11px}}
@media(max-width:360px){.rl40-grid{gap:7px}.rl40-card{min-height:132px;contain-intrinsic-size:132px}.rl40-cardcopy b{font-size:12px}.rl40-picker-cta{font-size:0}.rl40-picker-cta b{font-size:24px}}
@media(prefers-reduced-motion:reduce){.rl40-ledbar{animation:none}.rl40-preview-img,.rl40-card-img{transition:none}}
/* V40.3: picker opens a dedicated full-screen gallery page on mobile/PWA.
   This avoids nested modal/top-layer conflicts with Unified World settings. */

/* V40.4 — Friends F1 uses its own legacy --sf-wallpaper variable.
   Force the social wall to inherit the same V40 wallpaper as every other main section. */
#retro-friends-screen{
  --sf-wallpaper:var(--rl-v40-friends-bg,var(--rl-v40-bg))!important;
}
#retro-friends-screen .sf-wall{
  background-position:var(--rl-v40-friends-pos,var(--rl-v40-pos,center 46%))!important;
}

/* V40.5 — one selected scene across the five main icons and the game center.
   Unified World previously repainted its own #rl-world-background after SPA navigation,
   which could restore an older wallpaper. V40.5 makes the V40 choice authoritative. */
html body[data-rl-v40-main="1"] #rl-world-background .u1-image{
  background-image:var(--rl-v40-bg)!important;
  background-position:var(--rl-v40-pos,center 46%)!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
}
html body[data-rl-v40-main="1"] #rl-world-background .u1-shade{
  background:
    linear-gradient(180deg,rgba(2,5,16,.14),rgba(2,5,16,.04) 38%,rgba(2,5,16,.46)),
    radial-gradient(circle at 50% 42%,transparent 0 48%,rgba(2,5,16,.18) 100%)!important;
}
html body[data-rl-v40-main="1"] :is(
  .d30-page,
  .m30-page,
  .retroGiftPage,
  .profilePage,
  .rlg1,
  .bottleLobby,
  .gh2-lobby,
  main[data-rl-v40-surface="1"]
)[data-rl-v40-surface="1"]{
  position:relative!important;
  z-index:1!important;
  background-color:transparent!important;
  background-image:none!important;
}

/* Friends F1 is a full-screen isolated surface and owns .sf-wall. */
#retro-friends-screen[data-rl-v40-surface="1"]{
  --sf-wallpaper:var(--rl-v40-friends-bg,var(--rl-v40-bg))!important;
  --rl-bg-image:var(--rl-v40-friends-bg,var(--rl-v40-bg))!important;
}
#retro-friends-screen[data-rl-v40-surface="1"] .sf-wall{
  background-image:
    linear-gradient(180deg,rgba(5,9,24,.44),rgba(4,8,20,.23) 42%,rgba(5,8,24,.72)),
    var(--sf-wallpaper,var(--rl-v40-bg))!important;
  background-position:var(--rl-v40-friends-pos,var(--rl-v40-pos,center 46%))!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
}

/* Bottle/game-hall routes do not always mount Unified World. In those routes the
   existing fixed V40 layer becomes the scene and the page content stays above it. */
html body:is([data-rl-v40-route="bottle"],[data-rl-v40-route="bottle-rewards"]) #rl-v40-global-bg{
  z-index:0!important;
  opacity:1!important;
  background-size:cover!important;
  background-position:var(--rl-v40-pos,center 46%)!important;
}
html body:is([data-rl-v40-route="bottle"],[data-rl-v40-route="bottle-rewards"]) [data-rl-v40-surface="1"]{
  position:relative!important;
  z-index:1!important;
}

@media(max-width:760px){
  html body[data-rl-v40-main="1"] #rl-world-background .u1-image,
  #retro-friends-screen[data-rl-v40-surface="1"] .sf-wall,
  html body:is([data-rl-v40-route="bottle"],[data-rl-v40-route="bottle-rewards"]) #rl-v40-global-bg{
    background-attachment:scroll!important;
  }
}
