/* ONIZA — Polish V2
   Final visual refinement layer. Kept isolated to preserve the functional core. */
:root{
  --v2-purple:#a44cff;
  --v2-purple-2:#7b2cff;
  --v2-lilac:#ddb9ff;
  --v2-ink:#050307;
  --v2-ease:cubic-bezier(.2,.8,.2,1);
  --v2-mx:64%;
  --v2-my:22%;
}
html{background:var(--v2-ink)}
body{--v2-card-x:50%;--v2-card-y:50%}

/* ---------- universal refinement ---------- */
.v2-ambient{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;opacity:.85}
.v2-ambient::before,.v2-ambient::after{content:"";position:absolute;border-radius:50%;filter:blur(70px);will-change:transform}
.v2-ambient::before{width:42vw;height:42vw;min-width:420px;min-height:420px;right:-14vw;top:-18vw;background:radial-gradient(circle,rgba(154,65,255,.13),rgba(154,65,255,0) 70%);transform:translate3d(var(--v2-ax,0),var(--v2-ay,0),0)}
.v2-ambient::after{width:36vw;height:36vw;min-width:360px;min-height:360px;left:-16vw;bottom:-18vw;background:radial-gradient(circle,rgba(102,39,255,.09),rgba(102,39,255,0) 72%);transform:translate3d(calc(var(--v2-ax,0)*-.45),calc(var(--v2-ay,0)*-.45),0)}

.btn{position:relative;isolation:isolate;overflow:hidden}
.btn::after{content:"";position:absolute;z-index:-1;top:-180%;left:-45%;width:36%;height:460%;transform:rotate(22deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);transition:left .7s var(--v2-ease);pointer-events:none}
.btn:hover::after{left:120%}
.v2-ripple{position:absolute;border-radius:999px;pointer-events:none;transform:translate(-50%,-50%) scale(0);background:rgba(255,255,255,.22);animation:v2Ripple .56s ease-out forwards;z-index:4}
@keyframes v2Ripple{to{transform:translate(-50%,-50%) scale(1);opacity:0}}

/* ---------- landing: cinematic but controlled ---------- */
.showcase-landing .showcase-nav{transition:height .35s var(--v2-ease),background .35s,border-color .35s,box-shadow .35s,backdrop-filter .35s}
.showcase-landing .showcase-nav.v2-scrolled{background:rgba(5,3,8,.76)!important;border-bottom-color:rgba(195,125,255,.12)!important;box-shadow:0 14px 50px rgba(0,0,0,.22);backdrop-filter:blur(22px) saturate(135%)}
.showcase-landing .showcase-nav.v2-scrolled .navrow{height:64px!important}
.showcase-landing .navlinks a{position:relative}
.showcase-landing .navlinks a::after{content:"";position:absolute;left:50%;right:50%;bottom:-10px;height:1px;background:linear-gradient(90deg,#8f36ff,#d797ff);box-shadow:0 0 12px rgba(181,79,255,.75);transition:left .3s,right .3s,opacity .3s;opacity:0}
.showcase-landing .navlinks a.v2-active::after,.showcase-landing .navlinks a:hover::after{left:8%;right:8%;opacity:1}

.showcase-landing .hero-showcase{isolation:isolate}
.showcase-landing .hero-showcase::before{content:"";position:absolute;inset:-8% -5% 0;z-index:-1;pointer-events:none;background:radial-gradient(760px circle at var(--hero-x,var(--v2-mx)) var(--hero-y,var(--v2-my)),rgba(151,53,255,.15),transparent 61%),linear-gradient(180deg,rgba(83,26,126,.035),transparent 38%);opacity:.95}
.showcase-landing .hero-showcase::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(115deg,transparent 0 42%,rgba(197,129,255,.025) 45%,transparent 48% 100%);background-size:230% 100%;animation:v2HeroSweep 13s linear infinite}
@keyframes v2HeroSweep{to{background-position:-230% 0}}

.showcase-landing .hero-copy h1{filter:drop-shadow(0 18px 42px rgba(0,0,0,.28))}
.showcase-landing .gradient-word{background-size:220% 100%!important;animation:v2GradientFlow 7s ease-in-out infinite!important}
@keyframes v2GradientFlow{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
.showcase-landing .availability-pill{box-shadow:0 0 0 1px rgba(191,123,255,.04),0 12px 36px rgba(0,0,0,.18),inset 0 1px rgba(255,255,255,.035)}
.showcase-landing .availability-dot{box-shadow:0 0 0 0 rgba(181,76,255,.5);animation:v2PulseDot 2.4s ease-out infinite}
@keyframes v2PulseDot{60%{box-shadow:0 0 0 7px rgba(181,76,255,0)}}

.showcase-landing .hero-stage-wrap{perspective:1500px}
.showcase-landing .hero-stage{box-shadow:0 50px 130px rgba(0,0,0,.52),0 0 0 1px rgba(198,133,255,.035),0 0 92px rgba(131,45,235,.085)!important;transform-style:preserve-3d}
.showcase-landing .hero-stage::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(115deg,transparent 20%,rgba(255,255,255,.055) 35%,transparent 47%);background-size:250% 100%;animation:v2GlassScan 8.5s ease-in-out infinite;mix-blend-mode:screen;opacity:.55}
@keyframes v2GlassScan{0%,18%{background-position:170% 0}65%,100%{background-position:-80% 0}}
.v2-stage-aura{position:absolute;inset:7% 4% -10%;border-radius:45%;pointer-events:none;z-index:-2;background:radial-gradient(ellipse at 52% 45%,rgba(171,73,255,.19),rgba(111,36,209,.045) 42%,transparent 68%);filter:blur(34px);animation:v2AuraBreath 6s ease-in-out infinite}
@keyframes v2AuraBreath{50%{opacity:.68;transform:scale(1.025)}}

.v2-signal-rail{position:absolute;left:-42px;top:20%;bottom:20%;width:24px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;z-index:4;pointer-events:none}
.v2-signal-rail::before{content:"";position:absolute;top:9px;bottom:9px;left:50%;width:1px;background:linear-gradient(transparent,rgba(184,97,255,.55),rgba(184,97,255,.08),transparent)}
.v2-signal-rail span{position:relative;width:7px;height:7px;border-radius:50%;background:#18101f;border:1px solid rgba(210,163,255,.4);box-shadow:0 0 0 5px rgba(151,59,255,.035)}
.v2-signal-rail span:nth-child(2){background:#b961ff;box-shadow:0 0 18px rgba(185,97,255,.72),0 0 0 5px rgba(151,59,255,.06)}

.showcase-landing .stage-float{backdrop-filter:blur(16px) saturate(125%);box-shadow:0 22px 55px rgba(0,0,0,.32),inset 0 1px rgba(255,255,255,.04)!important}
.showcase-landing .stage-float::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:1px;background:linear-gradient(transparent,rgba(195,117,255,.72),transparent)}
.showcase-landing .hero-marquee-wrap{position:relative}
.showcase-landing .hero-marquee-wrap::before{content:"";position:absolute;left:50%;top:-22px;width:min(720px,74vw);height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(198,126,255,.18),transparent);box-shadow:0 0 28px rgba(160,70,255,.12)}

.showcase-landing .bento,.showcase-landing .price,.showcase-landing .theater-shell{position:relative;isolation:isolate}
.showcase-landing .bento::after,.showcase-landing .price::after,.showcase-landing .theater-shell::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;background:radial-gradient(420px circle at var(--v2-card-x,50%) var(--v2-card-y,50%),rgba(178,79,255,.09),transparent 60%);opacity:0;transition:opacity .3s}
.showcase-landing .bento:hover::after,.showcase-landing .price:hover::after,.showcase-landing .theater-shell:hover::after{opacity:1}
.showcase-landing .bento,.showcase-landing .price{box-shadow:0 24px 70px rgba(0,0,0,.16)}
.showcase-landing .price.reco{box-shadow:0 36px 100px rgba(0,0,0,.28),0 0 80px rgba(149,48,255,.07)!important}
.showcase-landing .final-cta{box-shadow:0 50px 150px rgba(0,0,0,.38),0 0 120px rgba(126,40,226,.07),inset 0 1px rgba(255,255,255,.035)!important}

/* ---------- app shell ---------- */
body.experience-ui .topbar{background:rgba(7,4,10,.72)!important;backdrop-filter:blur(20px) saturate(130%);border-bottom:1px solid rgba(192,118,255,.075)!important;box-shadow:0 12px 38px rgba(0,0,0,.12)}
body.experience-ui .sidebar{background:linear-gradient(180deg,rgba(8,5,11,.98),rgba(5,3,8,.985))!important;border-right:1px solid rgba(193,119,255,.08)!important;box-shadow:14px 0 55px rgba(0,0,0,.12)}
body.experience-ui .sidebar::after{content:"";position:absolute;right:-1px;top:9%;height:30%;width:1px;background:linear-gradient(transparent,rgba(172,73,255,.32),transparent);pointer-events:none}
body.experience-ui .nav a{position:relative;overflow:hidden}
body.experience-ui .nav a::before{content:"";position:absolute;left:0;top:50%;width:2px;height:0;border-radius:4px;background:#ba66ff;box-shadow:0 0 18px rgba(186,102,255,.7);transform:translateY(-50%);transition:height .25s var(--v2-ease)}
body.experience-ui .nav a.active::before{height:48%}
body.experience-ui .nav a.active{background:linear-gradient(90deg,rgba(151,57,255,.115),rgba(151,57,255,.025),transparent)!important}
body.experience-ui .content{position:relative}
body.experience-ui .content::before{content:"";position:absolute;top:-120px;right:-90px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(141,49,242,.055),transparent 67%);pointer-events:none}
body.experience-ui .page-head{position:relative}
body.experience-ui .page-head::after{content:"";position:absolute;left:0;bottom:-13px;width:44px;height:1px;background:linear-gradient(90deg,#a84fff,transparent);box-shadow:0 0 12px rgba(168,79,255,.55)}
body.experience-ui .page-head h1{letter-spacing:-.045em}

body.experience-ui .card,body.experience-ui .panel,body.experience-ui .stat,body.experience-ui .shortcut{position:relative;isolation:isolate;overflow:hidden}
body.experience-ui .card::after,body.experience-ui .panel::after,body.experience-ui .stat::after,body.experience-ui .shortcut::after{content:"";position:absolute;inset:0;border-radius:inherit;z-index:-1;pointer-events:none;background:radial-gradient(300px circle at var(--v2-card-x,50%) var(--v2-card-y,50%),rgba(181,84,255,.075),transparent 62%);opacity:0;transition:opacity .24s}
body.experience-ui .card:hover::after,body.experience-ui .panel:hover::after,body.experience-ui .stat:hover::after,body.experience-ui .shortcut:hover::after{opacity:1}
body.experience-ui .stat{background:linear-gradient(145deg,rgba(17,10,23,.88),rgba(9,6,12,.96))!important}
body.experience-ui .stat .num{letter-spacing:-.04em;text-shadow:0 9px 30px rgba(0,0,0,.22)}
body.experience-ui .panel{background:linear-gradient(145deg,rgba(15,9,20,.86),rgba(8,5,11,.95))!important}
body.experience-ui .shortcut:hover{border-color:rgba(190,112,255,.24)!important;box-shadow:0 15px 36px rgba(0,0,0,.15),0 0 30px rgba(149,53,247,.035)}

.v2-route-chip{display:flex;align-items:center;gap:7px;height:30px;padding:0 10px;border-radius:999px;border:1px solid rgba(190,116,255,.11);background:rgba(151,62,225,.04);font-size:.59rem;font-weight:800;letter-spacing:.06em;color:#9c8aa7;text-transform:uppercase;white-space:nowrap}
.v2-route-chip i{width:5px;height:5px;border-radius:50%;background:#b45fff;box-shadow:0 0 10px rgba(180,95,255,.8)}
.v2-clock{font-variant-numeric:tabular-nums;color:#716578;font-size:.61rem;font-weight:700;letter-spacing:.04em;white-space:nowrap}

.v2-quick-dock{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:90;display:flex;gap:4px;padding:6px;border:1px solid rgba(193,120,255,.105);border-radius:18px;background:rgba(8,5,11,.78);backdrop-filter:blur(22px) saturate(135%);box-shadow:0 20px 60px rgba(0,0,0,.32),inset 0 1px rgba(255,255,255,.035);transition:opacity .25s,transform .25s}
.v2-quick-dock a{min-width:68px;height:42px;padding:0 10px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#776a7e;font-size:.62rem;font-weight:760;text-decoration:none;transition:.23s}
.v2-quick-dock a:hover,.v2-quick-dock a.active{color:#e0c8ef;background:linear-gradient(180deg,rgba(168,72,255,.13),rgba(168,72,255,.045));box-shadow:inset 0 0 0 1px rgba(190,116,255,.08)}
.v2-quick-dock a.active{color:#dcb7ff}

body.experience-ui #view.v2-page-in{animation:v2PageIn .42s var(--v2-ease) both}
@keyframes v2PageIn{from{opacity:.55;transform:translateY(5px);filter:blur(1px)}to{opacity:1;transform:none;filter:none}}

/* ---------- editor ---------- */
body.experience-ui .editor-top{background:rgba(7,4,10,.82)!important;backdrop-filter:blur(20px) saturate(130%);border-bottom-color:rgba(192,118,255,.085)!important}
body.experience-ui .editor-left,body.experience-ui .editor-right{background:linear-gradient(180deg,rgba(9,5,12,.98),rgba(6,4,8,.99))!important;border-color:rgba(192,118,255,.075)!important}
body.experience-ui .editor-stage{background:radial-gradient(720px circle at 50% 15%,rgba(142,53,236,.075),transparent 56%),#050307!important}
body.experience-ui .editor-stage::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(189,121,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(189,121,255,.025) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.6),transparent 88%)}
body.experience-ui .canvas-wrap{position:relative;box-shadow:0 34px 100px rgba(0,0,0,.42),0 0 0 1px rgba(196,128,255,.09),0 0 60px rgba(136,42,238,.055)!important;transition:width .42s var(--v2-ease),box-shadow .3s!important}
body.experience-ui .canvas-wrap::after{content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;background:linear-gradient(115deg,rgba(222,186,255,.1),transparent 14% 84%,rgba(170,74,255,.08));mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;padding:1px}

/* ---------- auth / onboarding / legal ---------- */
body.experience-ui .authside{position:relative;overflow:hidden;background:radial-gradient(620px circle at 20% 20%,rgba(141,48,238,.12),transparent 56%),linear-gradient(160deg,#09050d,#050307)!important}
body.experience-ui .authside::after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-210px;bottom:-180px;border:1px solid rgba(187,104,255,.09);box-shadow:0 0 0 70px rgba(166,76,255,.018),0 0 0 140px rgba(166,76,255,.012);pointer-events:none}
body.experience-ui .authbox{position:relative}
body.experience-ui .authbox::before{content:"";position:absolute;left:-24px;top:10px;width:1px;height:74px;background:linear-gradient(transparent,#9e42f9,transparent);opacity:.45}
body.experience-ui .legal-block,body.experience-ui .contact-shell{box-shadow:0 24px 70px rgba(0,0,0,.16)}

/* ---------- responsive ---------- */
@media(max-width:1180px){.v2-signal-rail{display:none}.v2-quick-dock{bottom:14px}}
@media(max-width:900px){
  .v2-route-chip,.v2-clock{display:none}
  .v2-quick-dock{display:none}
  .showcase-landing .hero-showcase::after{opacity:.55}
}
@media(max-width:720px){
  .showcase-landing .showcase-nav.v2-scrolled .navrow{height:60px!important}
  .showcase-landing .hero-stage::after{opacity:.3}
  .showcase-landing .hero-copy h1{text-shadow:none}
  body.experience-ui .page-head::after{bottom:-8px}
  body.experience-ui .content::before{width:260px;height:260px;right:-110px;top:-70px}
}
@media(max-width:390px){
  .showcase-landing .availability-pill{max-width:100%;font-size:.58rem}
  body.experience-ui .stat{border-radius:14px!important}
}

@media(prefers-reduced-motion:reduce){
  .showcase-landing .hero-showcase::after,.showcase-landing .hero-stage::after,.showcase-landing .gradient-word,.showcase-landing .availability-dot,.v2-stage-aura{animation:none!important}
  body.experience-ui #view.v2-page-in{animation:none!important}
  .btn::after{display:none!important}
}
