/* V4 · NƠ CONCERT / STYLIZED 3D visual system */
:root{--pink:#ff88ca;--pink2:#ffd2ec;--purple:#aa96ff;--mint:#82e8ce;--bg:#101024;--panel:#18152c;--line:#eac5ff22}
.topbar{background:linear-gradient(100deg,#111126,#21162d 55%,#171628);box-shadow:0 2px 30px #0005;border-bottom:1px solid #f1c6e32b}
.brand-symbol{color:#ffb7d7}
.brand-name{letter-spacing:-.055em}
.brand-name span{background:linear-gradient(100deg,#ffc6d8,#e4b7ff);color:transparent;background-clip:text}
.top-copy{background:linear-gradient(130deg,#ffafce,#f9caab);box-shadow:0 3px 20px #ff87c744}
.top-center{color:#d5bbdd}
.venue{background:radial-gradient(ellipse at 50% 48%,#403064 0,#18162d 58%,#101120 100%)}
.venue-vignette{background:linear-gradient(180deg,#11102128 2%,transparent 26%,transparent 62%,#0b091ba8 96%),linear-gradient(90deg,#0b0a1f77,transparent 33%,transparent 78%,#0b0a1f55)!important}
#three-stage canvas.world-canvas{filter:saturate(1.18) contrast(1.035)}
.hero-title-v2{opacity:.87;top:5.8%;text-shadow:0 5px 32px #130d20cf}
.hero-title-v2 h1{font-size:clamp(30px,3.4vw,57px);font-weight:900}
.hero-title-v2 em{color:#ffc0d7!important}
.hero-title-v2 p{color:#ffe3f0;letter-spacing:.12em;font-size:clamp(8px,.84vw,11px)}
.chat-panel-heading{background:linear-gradient(140deg,#30223e,#211b32)!important}
.sidebar-v2{background:linear-gradient(155deg,#18152a,#171525 73%,#201929)!important}
.playing-card{background:linear-gradient(116deg,#48324f,#362c50)!important;border:1px solid #d09ac44a!important}
.chat-section-v2 .chat-messages{background:transparent}
.sidebar-v2 .chat-form input{background:#292337;border-color:#9d76a863}
.sidebar-v2 .chat-form button{background:linear-gradient(130deg,#ffc09b,#f7a9d0);color:#2a1c37}
.map-panel{background:linear-gradient(132deg,#242138ed,#17162cef)!important;border-color:#b8a0de55!important;box-shadow:0 18px 60px #090717bc!important}
.map-board{background-color:#26233d;border-color:#9d89ca55;box-shadow:inset 0 0 30px #0b091c70}
.map-stage{background:linear-gradient(110deg,#603b78,#2c2d53,#603b78)}
.stage-video-screen.in-world{border-color:#e5b0ff;box-shadow:0 0 55px #e175eb5c}
.graphics-control{position:absolute;right:17px;top:59px;z-index:8;display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:11px;border:1px solid #dab8e451;background:#20182edb;backdrop-filter:blur(10px);box-shadow:0 8px 24px #0006}
.graphics-control label{font:900 9px 'Be Vietnam Pro',sans-serif;letter-spacing:.08em;color:#e9c3e2;white-space:nowrap}
.graphics-control select{color:#fff1f7;background:#42304e;border:1px solid #9e71a9;border-radius:7px;padding:6px 8px;max-width:184px;font:800 9px 'Be Vietnam Pro',sans-serif;cursor:pointer}
.graphics-control select:hover{border-color:#ffb7dd}
.camera-label:after{content:' · ✦ STYLIZED 3D'!important;color:#ffcfdf!important}
.world-label,.camera-label{border-color:#e0b1dc48!important}
.stage-effects-ticker span{border-color:#edb6d857;background:#251c3ba8}
.mode-badge{box-shadow:0 4px 21px #0008}
.mode-toolbar button{background:#30223edb;border-color:#a782b9}
.fallback-scene{background:radial-gradient(ellipse at 44% 48%,#5e316c 0,#282246 40%,#0d1026 88%)}
.fall-stage{background:linear-gradient(130deg,#9b6eb6,#4d3a84);box-shadow:0 15px 1px #21193f,0 22px 60px #d45de958}
.fall-arch{border-color:#bd79dc;box-shadow:0 0 24px #ad7ce9,0 0 100px #bb65da73}
.fall-truss{border-color:#c4b6e3;background:repeating-linear-gradient(90deg,#6d6395 0 9px,#36304d 9px 18px)}
.welcome-card{border:1px solid #fccce77c;box-shadow:0 25px 120px #000c,0 0 80px #e87ab02a;background:linear-gradient(130deg,#26192f,#21182f 50%,#3e294a)}
.welcome-copy{background:radial-gradient(ellipse at 20% 78%,#ad4d8d3b,transparent 62%)}
.avatar-customize{background:linear-gradient(145deg,#33283f,#241b38)}
.welcome-stickers span{border-radius:40px}
.join-button{background:linear-gradient(110deg,#ffe0bf,#ffa9d0 62%,#bd9aff);color:#271c36}
.experience-card{border-color:#c48dc2;background:linear-gradient(138deg,#282039,#211b31);box-shadow:0 40px 110px #000d}
@media(max-width:1150px){.graphics-control{right:14px;top:60px}.graphics-control label{display:none}.graphics-control select{max-width:160px}.hero-title-v2{left:21%;top:8%}}
@media(max-width:760px){.graphics-control{top:12px;right:13px;padding:5px}.graphics-control select{padding:5px;font-size:8px}.hero-title-v2{top:12%;left:0;right:0}.camera-label{display:none}}

.graphics-control #fps-readout{font:900 9px 'Be Vietnam Pro',sans-serif;color:#aaf5d4;min-width:42px;text-align:right;white-space:nowrap}
