/* Midnight Nightlife OS · NextGen design system (compartido por la web y la demo) */
:root{
  --bg:#05050A;--bg2:#0B0B14;--panel:rgba(20,18,34,.62);--panel2:rgba(28,24,46,.72);
  --line:rgba(226,182,92,.22);--line2:rgba(150,120,255,.22);
  --gold:#E2B65C;--gold2:#F6D894;--gold3:#9C7A33;--pur:#8A5CFF;--pur2:#B9A3FF;--blue:#4FC3FF;
  --tx:#F2F0EA;--mu:#A7A3B5;--mu2:#77738A;
  --ok:#3DDC97;--warn:#FFB547;--bad:#FF5C7A;
  --r:18px;--sh:0 20px 60px rgba(0,0,0,.55);
  --f:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--fd:"Cormorant Garamond","Times New Roman",serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--tx);font:400 16px/1.55 var(--f);overflow-x:hidden;min-height:100vh}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(1000px 600px at 85% -10%,rgba(138,92,255,.16),transparent 60%),radial-gradient(900px 600px at -10% 20%,rgba(226,182,92,.09),transparent 60%),radial-gradient(800px 500px at 50% 110%,rgba(79,195,255,.07),transparent 60%),var(--bg)}
a{color:inherit}
button{font:inherit;color:inherit;cursor:pointer}
img{max-width:100%;display:block}
:focus-visible{outline:2px solid var(--gold2);outline-offset:3px;border-radius:6px}
.wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.gold{background:linear-gradient(100deg,#9C7A33,#F6D894 35%,#E2B65C 55%,#FFF1C9 70%,#B88B3A);-webkit-background-clip:text;background-clip:text;color:transparent}
.kick{font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
h1,h2,h3{font-family:var(--fd);font-weight:600;letter-spacing:0}
.glass{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--sh)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 24px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--tx);text-decoration:none;font:600 15px/1 var(--f);letter-spacing:.01em;text-transform:none;white-space:nowrap;transition:transform .25s,background .25s,border-color .25s,box-shadow .25s}
.btn:hover{transform:translateY(-1px);background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.28)}
.btn:active{transform:translateY(0) scale(.98)}
.btn.p{background:linear-gradient(180deg,#F4D893,#D6A64B);color:#1A1309;border-color:transparent;box-shadow:0 10px 30px -10px rgba(226,182,92,.7),inset 0 1px 0 rgba(255,255,255,.55)}
.btn.p:hover{box-shadow:0 14px 36px -10px rgba(226,182,92,.85),inset 0 1px 0 rgba(255,255,255,.55);background:linear-gradient(180deg,#F8E1A6,#DDB057)}
.btn.v{border-color:rgba(185,163,255,.35);background:rgba(138,92,255,.12)}
.btn .ar{transition:transform .25s}.btn:hover .ar{transform:translateX(3px)}
.tag{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line2);color:var(--pur2)}
.demo-tag{background:rgba(255,181,71,.12);border-color:rgba(255,181,71,.45);color:#FFCB7A}
.live{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ok)}
.live::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 0 rgba(61,220,151,.6);animation:pulse 1.8s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(61,220,151,0)}100%{box-shadow:0 0 0 0 rgba(61,220,151,0)}}
.lang{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}
.lang button{background:none;border:0;padding:7px 11px;font-size:12px;font-weight:600;letter-spacing:.08em;color:var(--mu)}
.lang button[aria-pressed="true"]{background:rgba(226,182,92,.16);color:var(--gold2)}

/* ---------- club 3D (hero, plano y demo) ---------- */
.club{position:relative;width:100%;height:100%;perspective:1500px;perspective-origin:50% 25%;overflow:hidden}
.club-floor{position:absolute;left:50%;top:50%;width:900px;height:600px;margin:-300px 0 0 -450px;transform-style:preserve-3d;transition:transform .9s cubic-bezier(.2,.8,.2,1);
  background:linear-gradient(rgba(138,92,255,.09) 1px,transparent 1px) 0 0/30px 30px,linear-gradient(90deg,rgba(138,92,255,.09) 1px,transparent 1px) 0 0/30px 30px,radial-gradient(circle at 50% 40%,#1A1430,#09070F 75%);
  border-radius:6px;box-shadow:0 0 0 1px rgba(226,182,92,.35),0 0 90px rgba(138,92,255,.28),inset 0 0 70px rgba(0,0,0,.75)}
.club-z{position:absolute;transform-style:preserve-3d;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--c))}
.club-z .cf{position:absolute;display:block;border:1px solid rgba(var(--c),.65);background:rgba(var(--c),.16);backface-visibility:visible}
.club-z .cf.top{inset:0;background:linear-gradient(135deg,rgba(var(--c),.34),rgba(var(--c),.1));box-shadow:0 0 22px rgba(var(--c),.35),inset 0 0 18px rgba(var(--c),.25)}
.club-z .cf.s{background:linear-gradient(180deg,rgba(var(--c),.42),rgba(var(--c),.08))}.club-z .cf.s2{background:linear-gradient(90deg,rgba(var(--c),.3),rgba(var(--c),.06))}
.club-z .zl{position:absolute;left:8px;top:6px;white-space:nowrap;text-shadow:0 0 8px rgba(0,0,0,.9);pointer-events:none}
.club-z.z-wall .cf{background:rgba(138,92,255,.07);border-color:rgba(138,92,255,.25)}.club-z.z-wall .cf.top{background:rgba(185,163,255,.35);box-shadow:0 0 14px rgba(138,92,255,.6)}
.club-z.z-dance{border:1px solid rgba(79,195,255,.5);border-radius:10px;background:radial-gradient(circle,rgba(79,195,255,.2),rgba(138,92,255,.12) 60%,transparent);overflow:hidden}
.club-z.z-dance::after{content:"";position:absolute;inset:-40%;background:conic-gradient(from 0deg,rgba(138,92,255,0),rgba(138,92,255,.45),rgba(79,195,255,0),rgba(226,182,92,.35),rgba(138,92,255,0));animation:spin 6s linear infinite;mix-blend-mode:screen;opacity:.7}
.club-z.z-vip{border:1px dashed rgba(226,182,92,.4);border-radius:10px;background:rgba(226,182,92,.04)}
.club-z.z-door{border-radius:8px}
@keyframes spin{to{transform:rotate(360deg)}}
.crowd{position:absolute;width:7px;height:7px;border-radius:50%;background:#F6D894;box-shadow:0 0 8px #F6D894,0 0 2px #fff;animation:bob 2.6s ease-in-out infinite;z-index:1}
.crowd:nth-child(3n){background:#B9A3FF;box-shadow:0 0 8px #8A5CFF}.crowd:nth-child(4n){background:#9BDCFF;box-shadow:0 0 8px #4FC3FF}
@keyframes bob{50%{transform:scale(1.7);opacity:.6}}
.beam{position:absolute;width:46px;height:300px;margin-left:-23px;transform-origin:50% 0;pointer-events:none;background:linear-gradient(180deg,rgba(185,163,255,.55),rgba(185,163,255,.12) 45%,transparent);clip-path:polygon(40% 0,60% 0,100% 100%,0 100%);mix-blend-mode:screen;animation:sweep 5s ease-in-out infinite}
.beam:nth-of-type(2n){background:linear-gradient(180deg,rgba(246,216,148,.5),rgba(246,216,148,.1) 45%,transparent)}
@keyframes sweep{0%,100%{transform:translateZ(36px) rotateZ(-38deg) rotateX(-58deg)}50%{transform:translateZ(36px) rotateZ(38deg) rotateX(-58deg)}}
.club-t{position:absolute;width:40px;height:40px;margin:-20px 0 0 -20px;padding:0;border:0;background:none;transform-style:preserve-3d;transition:transform .3s,opacity .3s;color:var(--mu);cursor:default}
button.club-t{cursor:pointer}
.club-t::before{content:"";position:absolute;inset:-6px;border-radius:50%;background:radial-gradient(circle,currentColor,transparent 70%);opacity:.35;filter:blur(4px)}
.club-t .tl{position:absolute;inset:4px;border-radius:50%;border:2px solid currentColor;background:rgba(0,0,0,.45)}
.club-t .l1{transform:translateZ(5px)}.club-t .l2{transform:translateZ(10px)}.club-t .l3{transform:translateZ(15px)}
.club-t .tt{position:absolute;inset:0;border-radius:50%;display:grid;place-items:center;transform:translateZ(20px);background:radial-gradient(circle at 40% 35%,rgba(255,255,255,.22),rgba(10,8,18,.92) 60%);border:2px solid currentColor;box-shadow:0 0 18px currentColor}
.club-t .tt b{color:#fff;font-size:12px;font-weight:700;pointer-events:none}
.club-t .btl{position:absolute;left:50%;top:50%;width:6px;height:16px;margin:-8px 0 0 -3px;border-radius:2px 2px 1px 1px;background:linear-gradient(#F6D894,#B88B3A);transform-origin:bottom;transform:translateZ(20px) rotateX(-90deg) translateY(-8px);opacity:0;box-shadow:0 0 10px #F6D894}
.club-t.st-order .btl,.club-t.st-occupied .btl{opacity:1}
.club-t:hover,.club-t[aria-pressed="true"]{transform:translateZ(14px) scale(1.18)}
.club-t[aria-pressed="true"] .tt{box-shadow:0 0 0 4px rgba(255,255,255,.35),0 0 34px currentColor}
.club-t.dim{opacity:.14}
.st-available{color:var(--ok)}.st-reserved{color:var(--pur2)}.st-occupied{color:var(--gold)}.st-service{color:#FF7A94}.st-order{color:var(--blue)}.st-cleaning{color:#9AA3B2}
.club-t.st-service .tt{animation:blink 1.1s infinite}
@keyframes blink{50%{box-shadow:0 0 2px currentColor}}
.club.drag{cursor:grabbing}
.legend{display:flex;flex-wrap:wrap;gap:10px 16px;font-size:12px;color:var(--mu)}
.legend span{display:inline-flex;align-items:center;gap:6px}
.legend i{width:10px;height:10px;border-radius:50%;border:2px solid currentColor;display:inline-block}

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

/* ---------- plano del local (SVG, vista desde arriba) ---------- */
.fpw{position:relative;overflow:hidden}
.fp-svg{display:block;width:100%;height:auto;transition:transform .5s cubic-bezier(.2,.8,.2,1);transform-origin:50% 50%;font-family:var(--f)}
.fp-svg .wall{fill:none;stroke:#3A3446;stroke-width:10;stroke-linecap:square}
.fp-svg .glass{fill:none;stroke:#4FC3FF;stroke-opacity:.45;stroke-width:6;stroke-dasharray:14 6}
.fp-svg .inner{fill:none;stroke:#332E3E;stroke-width:4}
.fp-svg .shelf{fill:#2A2219;stroke:#4A3B26}
.fp-svg .bar{fill:#3B2C18;stroke:#E2B65C;stroke-width:1.5}
.fp-svg .stool{fill:#26211D;stroke:#6B5A3E}
.fp-svg .dj{fill:#1B1530;stroke:#8A5CFF;stroke-width:1.5}.fp-svg .deck{fill:#0D0B14;stroke:#B9A3FF}
.fp-svg .zone{fill:rgba(226,182,92,.025);stroke:rgba(226,182,92,.28);stroke-dasharray:6 6}
.fp-svg .host{fill:#2A2219;stroke:#E2B65C}.fp-svg .post{fill:#E2B65C}.fp-svg .rope{stroke:#8A2035;stroke-width:3}
.fp-svg .secb{fill:rgba(255,92,122,.1);stroke:rgba(255,92,122,.5)}
.fp-svg .plant{fill:#1E3628}.fp-svg .plant2{fill:#2F5A3E}
.fp-svg .sofa{fill:#3A2840;stroke:#5C4566}.fp-svg .fp-tb{fill:#4A3820;stroke:#C9A05A}.fp-svg .chair{fill:#2C2832;stroke:#4A4552}
.fp-svg .fp-lbl{font-size:11px;font-weight:600;letter-spacing:2px;fill:#857F93;text-anchor:middle}
.fp-svg .ft{cursor:pointer;outline:none}
.fp-svg .ft .halo{fill:var(--sc);opacity:.1;transition:opacity .25s}
.fp-svg .ft .ring{fill:none;stroke:var(--sc);stroke-width:2.5;opacity:.9;transition:stroke-width .25s}
.fp-svg .ft .badge circle{fill:#0B0A10;stroke:var(--sc);stroke-width:2}.fp-svg .ft .badge text{fill:#fff;font-size:10px;font-weight:700;text-anchor:middle}
.fp-svg .ft:hover .halo,.fp-svg .ft:focus-visible .halo{opacity:.25}
.fp-svg .ft.sel .ring{stroke-width:4.5}.fp-svg .ft.sel .halo{opacity:.32}
.fp-svg .ft.dim{opacity:.18}
.fp-svg .ft.st-service .ring{animation:fpb 1.1s infinite}@keyframes fpb{50%{opacity:.3}}
.st-available{--sc:#3DDC97;color:#3DDC97}.st-reserved{--sc:#A98BFF;color:#A98BFF}.st-occupied{--sc:#E2B65C;color:#E2B65C}.st-service{--sc:#FF6B86;color:#FF6B86}.st-order{--sc:#4FC3FF;color:#4FC3FF}.st-cleaning{--sc:#9AA3B2;color:#9AA3B2}

/* ---------- Club Explorer (recorrido inmersivo fotorrealista) ---------- */
.cx{position:relative;font-family:var(--f);color:var(--tx)}
.cx-stage{position:relative;aspect-ratio:1280/530;border-radius:22px;overflow:hidden;background:#000;box-shadow:0 0 0 1px rgba(226,182,92,.35),0 40px 90px -30px rgba(0,0,0,.9),0 0 80px -30px rgba(226,182,92,.4);cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}
.cx-stage:active{cursor:grabbing}
.cx-cam{position:absolute;inset:0;transform-origin:50% 50%;transition:transform 1.1s cubic-bezier(.2,.8,.2,1);will-change:transform}
.cx-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:cxkb 18s ease-in-out infinite alternate;transition:opacity .5s,filter .5s,transform .5s;-webkit-user-drag:none}
@keyframes cxkb{from{transform:scale(1.02) translate(0,0)}to{transform:scale(1.08) translate(-1%,-.6%)}}
.cx-stage.out .cx-img{opacity:0;filter:blur(10px) brightness(1.4);transform:scale(1.18)}
.cx-vig{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 45%,transparent 55%,rgba(0,0,0,.55)),linear-gradient(180deg,rgba(0,0,0,.45),transparent 22%,transparent 70%,rgba(0,0,0,.6))}
/* luces y láser */
.cx-fx{position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen}
.cx-fx::before,.cx-fx::after{content:"";position:absolute;top:-10%;width:3px;height:120%;background:linear-gradient(180deg,rgba(255,220,140,0),rgba(255,220,140,.75),rgba(255,220,140,0));filter:blur(1px);transform-origin:50% 0;opacity:0}
.fx-dance::before{left:22%;opacity:.9;animation:cxl 3.2s ease-in-out infinite;background:linear-gradient(180deg,rgba(185,140,255,0),rgba(185,140,255,.9),rgba(185,140,255,0))}
.fx-dance::after{left:62%;opacity:.8;animation:cxl 4.1s ease-in-out infinite reverse}
@keyframes cxl{0%,100%{transform:rotate(-28deg)}50%{transform:rotate(26deg)}}
.fx-vip::before{left:30%;opacity:.35;animation:cxl 6s ease-in-out infinite;width:60px;filter:blur(18px)}
.fx-bar::before,.fx-manager::before,.fx-booth::before,.fx-entrance::before{left:60%;opacity:.25;width:80px;filter:blur(24px);animation:cxl 8s ease-in-out infinite}
/* puntos interactivos */
.cx-dot{position:absolute;transform:translate(-11px,-50%) scale(var(--iz,1));transform-origin:11px 50%;transition:transform 1.1s cubic-bezier(.2,.8,.2,1);display:flex;align-items:center;gap:8px;padding:0;border:0;background:none;color:#fff;cursor:pointer;--sc:#E2B65C}
.cx-dot i{position:relative;width:22px;height:22px;border-radius:50%;background:radial-gradient(circle,#fff 0 18%,var(--sc) 24% 45%,rgba(0,0,0,.35) 52%);box-shadow:0 0 0 2px var(--sc),0 0 22px var(--sc)}
.cx-dot i::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:2px solid var(--sc);animation:cxp 2s ease-out infinite}
@keyframes cxp{from{transform:scale(.6);opacity:1}to{transform:scale(1.8);opacity:0}}
.cx-dot span{padding:6px 11px;border-radius:999px;background:rgba(8,6,14,.72);border:1px solid rgba(226,182,92,.45);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font:600 12.5px var(--f);white-space:nowrap;opacity:.92;transition:opacity .25s,transform .25s}
.cx-dot:hover span,.cx-dot.sel span{opacity:1;transform:translateX(2px);border-color:var(--sc)}
.cx-dot.st-available{--sc:#3DDC97}.cx-dot.st-reserved{--sc:#A98BFF}.cx-dot.st-occupied{--sc:#E2B65C}
/* HUD */
.cx-hud{position:absolute;left:18px;top:16px;display:flex;align-items:center;gap:10px;pointer-events:none}
.cx-name{font-family:var(--fd);font-size:clamp(20px,2.4vw,30px);font-weight:600;text-shadow:0 2px 12px rgba(0,0,0,.8)}
.cx-live{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#8BF0C4}.cx-live::before{content:"";width:8px;height:8px;border-radius:50%;background:#3DDC97;animation:pulse 1.8s infinite}
.cx-demo{font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#FFCB7A;border:1px solid rgba(255,181,71,.5);border-radius:999px;padding:3px 9px;background:rgba(0,0,0,.4)}
.cx-kpi{position:absolute;left:18px;top:62px;display:flex;gap:8px;pointer-events:none}
.cx-kpi div{padding:8px 12px;border-radius:12px;background:rgba(8,6,14,.6);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.cx-kpi small{display:block;font-size:10px;color:#B9B5C6;letter-spacing:.06em}.cx-kpi b{font-size:15px;font-variant-numeric:tabular-nums}
.cx-map{position:absolute;right:16px;top:16px;width:190px;padding:6px;border-radius:14px;background:rgba(8,6,14,.7);border:1px solid rgba(226,182,92,.35);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.cx-mp{opacity:.8;border-radius:8px;overflow:hidden}.cx-mp .fp-lbl{display:none}
.cx-pin{position:absolute;width:14px;height:14px;margin:-7px;border-radius:50%;border:2px solid #E2B65C;background:rgba(0,0,0,.6);padding:0;transform:translate(6px,6px)}.cx-pin.on{background:#E2B65C;box-shadow:0 0 14px #E2B65C}
.cx-ai{position:absolute;left:18px;bottom:16px;max-width:min(560px,60%);display:flex;align-items:center;gap:10px;padding:9px 14px;border-radius:14px;background:rgba(18,10,40,.66);border:1px solid rgba(185,163,255,.4);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:13px;color:#E4DBFF;pointer-events:none}
.cx-ai i{flex:0 0 14px;height:14px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#B9A3FF 30%,#8A5CFF);box-shadow:0 0 12px #8A5CFF}.cx-ai span.in{animation:fin .6s}
.cx-ctl{position:absolute;right:16px;bottom:16px;display:flex;gap:6px}
.cx-ctl button{width:40px;height:40px;border-radius:12px;border:1px solid rgba(255,255,255,.2);background:rgba(8,6,14,.66);color:#fff;font:600 18px var(--f);backdrop-filter:blur(8px);cursor:pointer}.cx-ctl button:hover{border-color:#E2B65C}
.cx-hint{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);margin:0;font-size:12px;color:rgba(255,255,255,.7);pointer-events:none;white-space:nowrap}
/* panel holográfico */
.cx-holo{position:absolute;right:220px;top:16px;width:300px;padding:16px 16px 14px;border-radius:18px;background:linear-gradient(160deg,rgba(30,22,52,.82),rgba(8,6,14,.82));border:1px solid rgba(226,182,92,.55);box-shadow:0 0 40px -6px rgba(226,182,92,.45),inset 0 0 30px rgba(138,92,255,.15);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transform:perspective(900px) rotateY(-10deg) translateX(30px);opacity:0;transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .4s;overflow:hidden}
.cx-holo.left{right:auto;left:18px;top:110px;transform:perspective(900px) rotateY(10deg) translateX(-30px)}
.cx-holo.on{opacity:1;transform:perspective(900px) rotateY(-6deg)}.cx-holo.left.on{transform:perspective(900px) rotateY(6deg)}
.cx-holo::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(180deg,rgba(255,255,255,.03) 0 1px,transparent 1px 3px);pointer-events:none}
.cx-holo::after{content:"";position:absolute;left:0;right:0;top:-40%;height:40%;background:linear-gradient(180deg,transparent,rgba(226,182,92,.12),transparent);animation:scan 4s linear infinite;pointer-events:none}
@keyframes scan{to{top:120%}}
.cx-x{position:absolute;right:8px;top:6px;width:28px;height:28px;border:0;background:none;color:#fff;font-size:20px;cursor:pointer;z-index:2}
.cx-ht{display:flex;flex-direction:column;gap:6px;padding-right:24px}.cx-ht b{font-family:var(--fd);font-size:22px;font-weight:600;color:#FFF3DC;line-height:1.1}
.cx-st{align-self:flex-start;font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px;border:1px solid currentColor}
.cx-rows{display:grid;gap:7px;margin-top:12px}.cx-rows div{display:flex;justify-content:space-between;gap:12px;font-size:13px;border-bottom:1px dashed rgba(255,255,255,.1);padding-bottom:6px}.cx-rows span{color:#B9B5C6}.cx-rows b{text-align:right;font-weight:600}
.cx-meter{height:6px;border-radius:4px;background:rgba(255,255,255,.1);margin-top:12px;overflow:hidden}.cx-meter i{display:block;height:100%;background:linear-gradient(90deg,#3DDC97,#E2B65C,#FF6B86)}
.cx-hai{display:flex;gap:8px;margin:12px 0 0;font-size:12.5px;color:#D9CCFF}.cx-hai i{flex:0 0 12px;height:12px;margin-top:3px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#B9A3FF 30%,#8A5CFF)}
.cx-tag{display:inline-block;margin-top:12px;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#FFCB7A}
/* tira de escenas */
.cx-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:14px}
.cx-th{position:relative;aspect-ratio:16/8;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.12);padding:0;background:#000;cursor:pointer;transition:border-color .25s,transform .25s}
.cx-th img{width:100%;height:100%;object-fit:cover;opacity:.7;transition:opacity .25s}.cx-th span{position:absolute;left:10px;bottom:8px;font:600 12.5px var(--f);color:#fff;text-shadow:0 1px 6px #000}
.cx-th:hover{transform:translateY(-2px)}.cx-th:hover img,.cx-th.on img{opacity:1}.cx-th.on{border-color:#E2B65C;box-shadow:0 0 0 1px #E2B65C}
.cx-bar{display:flex;justify-content:flex-end;margin-top:12px}
.cx-tour{height:42px;padding:0 18px;border-radius:999px;border:1px solid rgba(185,163,255,.5);background:rgba(138,92,255,.14);color:#E4DBFF;font:600 14px var(--f);cursor:pointer}
@keyframes fin{from{opacity:0;transform:translateY(-6px)}}
@media (max-width:900px){.cx-map{display:none}.cx-holo{right:12px;left:auto;top:auto;bottom:62px;width:min(300px,80%)}.cx-holo.left{left:12px;top:auto}.cx-kpi{display:none}.cx-strip{grid-template-columns:repeat(3,1fr)}.cx-hint{display:none}.cx-dot span{display:none}.cx-dot.sel span{display:block}}
@media (max-width:600px){.cx-stage{border-radius:14px}.cx-ai,.cx-ctl{display:none}.cx-hud{left:10px;top:8px}.cx-name{font-size:17px}.cx-live{display:none}.cx-holo,.cx-holo.left{position:fixed;left:12px;right:12px;top:auto;bottom:12px;width:auto;z-index:200;transform:translateY(20px)}.cx-holo.on,.cx-holo.left.on{transform:none}.cx-dot i{width:18px;height:18px}.cx-strip{grid-template-columns:repeat(3,1fr);gap:6px}.cx-th span{font-size:10.5px;left:6px;bottom:4px}}
