/* rpg scene layer: visual world, not empty gradients */
:root{--scene-cyan:#21f3ff;--scene-pink:#ff2d91;--scene-gold:#ffd27a;--scene-deep:#03070b}
body{background-color:#020609!important;background-image:none!important;position:relative}
body::before{content:""!important;position:fixed!important;inset:-20vh -20vw!important;z-index:0!important;pointer-events:none!important;opacity:.72!important;background:
linear-gradient(90deg,transparent 0 8%,rgba(33,243,255,.12) 8% 8.15%,transparent 8.15% 22%,rgba(33,243,255,.05) 22% 22.08%,transparent 22.08% 100%),
linear-gradient(0deg,transparent 0 18%,rgba(33,243,255,.08) 18% 18.12%,transparent 18.12% 46%,rgba(255,45,145,.06) 46% 46.1%,transparent 46.1% 100%),
repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 5px),
radial-gradient(circle at 72% 18%,rgba(33,243,255,.13),transparent 16%),
radial-gradient(circle at 35% 80%,rgba(255,45,145,.09),transparent 18%);
transform:perspective(800px) rotateX(57deg) translateY(18vh) scale(1.25);transform-origin:center bottom;animation:rgGridDrift 14s linear infinite}
body::after{content:""!important;position:fixed!important;inset:0!important;z-index:0!important;pointer-events:none!important;background:
linear-gradient(120deg,transparent 0 24%,rgba(33,243,255,.055) 24.1% 24.25%,transparent 24.35% 54%,rgba(255,45,145,.04) 54.1% 54.22%,transparent 54.3% 100%),
linear-gradient(180deg,rgba(1,4,7,.18),rgba(1,4,7,.68)),
repeating-linear-gradient(90deg,transparent 0 120px,rgba(33,243,255,.018) 121px,transparent 122px 240px);animation:rgSweep 9s ease-in-out infinite alternate}
.app-shell,.rg-lobby,.main,.sidebar{position:relative;z-index:1}
.sidebar{background:linear-gradient(180deg,rgba(2,8,12,.98),rgba(3,5,10,.98))!important;border-right:1px solid rgba(33,243,255,.34)!important;box-shadow:16px 0 0 rgba(33,243,255,.018),22px 0 60px rgba(0,0,0,.55)!important}
.sidebar::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,transparent 0 18%,rgba(33,243,255,.04) 18.1% 18.4%,transparent 18.5% 62%,rgba(255,45,145,.028) 62.1% 62.35%,transparent 62.45%),repeating-linear-gradient(0deg,transparent 0 31px,rgba(33,243,255,.025) 32px,transparent 33px);mix-blend-mode:screen}
.sidebar::after{content:"SYS // NAV";position:absolute;right:12px;top:86px;color:rgba(33,243,255,.38);font-size:7px;letter-spacing:.22em;writing-mode:vertical-rl}
.nav{position:relative;z-index:2;gap:2px!important}
.nav-item,.nav-item strong{font-family:"Manrope",system-ui,sans-serif!important;text-transform:uppercase!important;letter-spacing:.055em!important}
.nav-item{min-height:52px!important;padding:11px 15px!important;border-left:2px solid transparent!important;border-bottom:1px solid rgba(33,243,255,.055)!important;background:linear-gradient(90deg,rgba(2,8,12,.45),rgba(2,8,12,.05))!important}
.nav-item strong{font-size:13px!important;font-weight:800!important;color:#aab8b5!important}
.nav-item span{font-size:14px!important;color:var(--scene-cyan)!important;text-shadow:0 0 11px rgba(33,243,255,.35)}
.nav-item:hover strong,.nav-item.active strong{color:#f4ffff!important}
.nav-item.active{background:linear-gradient(90deg,rgba(33,243,255,.12),rgba(33,243,255,.025) 64%,transparent)!important;border-left-color:var(--scene-cyan)!important;box-shadow:inset 14px 0 24px rgba(33,243,255,.05)!important}
.nav-item.active::after{content:"";position:absolute;right:0;top:0;width:18px;height:18px;border-top:1px solid var(--scene-pink);border-right:1px solid var(--scene-pink)}
.brand,.brand-sub{text-transform:uppercase!important}.brand{letter-spacing:.08em!important}.brand-sub{font-size:8px!important;letter-spacing:.12em!important;line-height:1.45!important}
.rg-sidebar-collapse,.rg-sidebar-restore{background:#031016!important;border-color:rgba(33,243,255,.45)!important;color:var(--scene-cyan)!important}
.rg-lobby{overflow:hidden}
.rg-lobby::after{content:"";position:absolute;left:9%;right:9%;bottom:4%;height:34%;z-index:0;pointer-events:none;border-top:1px solid rgba(33,243,255,.12);background:repeating-linear-gradient(90deg,transparent 0 79px,rgba(33,243,255,.045) 80px,transparent 81px),repeating-linear-gradient(0deg,transparent 0 39px,rgba(33,243,255,.035) 40px,transparent 41px);transform:perspective(500px) rotateX(62deg);transform-origin:center bottom}
.rg-lobby>*{z-index:1!important}
.rg-lobby-main>*{background:rgba(3,8,13,.86)!important;backdrop-filter:blur(4px);box-shadow:0 22px 70px rgba(0,0,0,.52)!important}
.rg-banner-stage{background-color:#04070c!important;background-image:linear-gradient(rgba(33,243,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(33,243,255,.035) 1px,transparent 1px),radial-gradient(circle at 50% 46%,rgba(255,45,145,.12),transparent 25%)!important;background-size:32px 32px,32px 32px,100% 100%!important}
.rg-banner-stage::after{content:"TARGET // SUMMON"!important;width:auto!important;height:auto!important;right:12px!important;top:12px!important;border:0!important;color:rgba(33,243,255,.32)!important;font-size:7px!important;letter-spacing:.2em!important}
.rg-card{filter:drop-shadow(0 22px 34px rgba(0,0,0,.55));transform-origin:center center}.rg-card.featured{animation:rgFloat 4.5s ease-in-out infinite,rgCardPulse 3.8s ease-in-out infinite}
.rg-card::before{content:"";position:absolute;inset:-2px;z-index:5;pointer-events:none;background:linear-gradient(90deg,var(--scene-cyan),transparent 14% 86%,var(--scene-pink)),linear-gradient(0deg,var(--scene-pink),transparent 14% 86%,var(--scene-cyan));opacity:.18;mix-blend-mode:screen}
/* fantasy becomes carved occult architecture */
body.rg-adult-fantasy{background:#080307!important;background-image:none!important}
body.rg-adult-fantasy::before{opacity:.85!important;transform:none!important;inset:0!important;background:
radial-gradient(circle at 50% 34%,transparent 0 11%,rgba(215,168,92,.08) 11.3% 11.7%,transparent 12% 18%,rgba(167,47,90,.07) 18.3% 18.65%,transparent 19% 100%),
repeating-conic-gradient(from 22.5deg at 50% 34%,rgba(215,168,92,.055) 0 1deg,transparent 1deg 44deg),
linear-gradient(180deg,rgba(19,5,12,.45),rgba(8,3,7,.96)),
repeating-linear-gradient(90deg,transparent 0 94px,rgba(215,168,92,.022) 95px,transparent 96px 190px)!important;animation:rgRuneBreathe 8s ease-in-out infinite!important}
body.rg-adult-fantasy::after{background:
linear-gradient(90deg,rgba(0,0,0,.62),transparent 20% 80%,rgba(0,0,0,.62)),
linear-gradient(180deg,rgba(93,19,46,.045),transparent 38%,rgba(215,168,92,.025)),
repeating-linear-gradient(135deg,transparent 0 80px,rgba(215,168,92,.018) 81px,transparent 82px 160px)!important;animation:none!important}
body.rg-adult-fantasy .sidebar{background:linear-gradient(180deg,#10050a,#090306)!important;border-right-color:rgba(215,168,92,.34)!important}
body.rg-adult-fantasy .sidebar::before{background:repeating-linear-gradient(135deg,transparent 0 46px,rgba(215,168,92,.025) 47px,transparent 48px 94px),radial-gradient(circle at 50% 30%,rgba(167,47,90,.09),transparent 30%)}
body.rg-adult-fantasy .sidebar::after{content:"COVEN // NAV";color:rgba(215,168,92,.42)}
body.rg-adult-fantasy .nav-item{border-bottom-color:rgba(215,168,92,.06)!important;background:linear-gradient(90deg,rgba(20,6,12,.65),rgba(20,6,12,.08))!important}
body.rg-adult-fantasy .nav-item span{color:#ffd68d!important;text-shadow:0 0 10px rgba(215,168,92,.25)}body.rg-adult-fantasy .nav-item.active{background:linear-gradient(90deg,rgba(167,47,90,.17),rgba(167,47,90,.025))!important;border-left-color:#d7a85c!important}body.rg-adult-fantasy .nav-item.active::after{border-color:#d7a85c}
body.rg-adult-fantasy .rg-lobby::after{border-top-color:rgba(215,168,92,.12);background:repeating-linear-gradient(90deg,transparent 0 79px,rgba(215,168,92,.028) 80px,transparent 81px),repeating-linear-gradient(0deg,transparent 0 39px,rgba(167,47,90,.025) 40px,transparent 41px)}
body.rg-adult-fantasy .rg-lobby-main>*{background:rgba(17,5,11,.88)!important;box-shadow:0 22px 70px rgba(0,0,0,.58)!important}
body.rg-adult-fantasy .rg-banner-stage{background-color:#10060b!important;background-image:radial-gradient(circle at 50% 42%,rgba(167,47,90,.15),transparent 24%),repeating-conic-gradient(from 0deg at 50% 45%,rgba(215,168,92,.025) 0 1deg,transparent 1deg 29deg)!important;background-size:100% 100%!important}
body.rg-adult-fantasy .rg-banner-stage::after{content:"RITUAL // SUMMON"!important;color:rgba(215,168,92,.38)!important}
@keyframes rgGridDrift{0%{background-position:0 0,0 0,0 0,0 0,0 0}100%{background-position:120px 0,0 80px,0 60px,0 0,0 0}}
@keyframes rgSweep{0%{opacity:.65;transform:translateX(-1%)}100%{opacity:1;transform:translateX(1%)}}
@keyframes rgRuneBreathe{0%,100%{opacity:.68}50%{opacity:.94}}
@keyframes rgCardPulse{0%,100%{filter:drop-shadow(0 22px 34px rgba(0,0,0,.55))}50%{filter:drop-shadow(0 22px 40px rgba(255,45,145,.16))}}
@media(max-width:760px){body::before{transform:none!important;inset:0!important;animation:none!important}.sidebar::after{display:none}.rg-lobby::after{display:none}}
