
/* Layout: mobile-first — one 480px column, sticky top bar, sticky thumb-zone action bar or bottom tab bar; on desktop the column sits centered like a phone */
:root{
  --bg:#0B0A12; --outside:#06050B; --panel:#121120; --surface:#18172A; --surface-2:#211F38; --line:#2C2A45;
  --fg:#F5F4FA; --muted:#B3B1C6; --faint:#8D8AA3;
  --accent:#AB4BFF; --accent-ink:#FFFFFF; --violet:#C38AFF; --violet-deep:#8224E3; --violet-soft:#C4B8FF; --pink:#FF6FB5; --danger:#FF9B8A;
  --display:'Unbounded','Arial Black',sans-serif;
  --body:'DM Sans',system-ui,-apple-system,sans-serif;
  --col:480px;
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{height:100%}
body{background:var(--outside);color:var(--fg);font-family:var(--body);font-size:15px;line-height:1.5;-webkit-tap-highlight-color:transparent}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--bg)}
button{font-family:inherit;color:inherit}
h1,h2,h3{margin:0;font-family:var(--display);font-weight:700;letter-spacing:-.02em;text-wrap:balance}
p{margin:0}
.muted{color:var(--muted)} .faint{color:var(--faint);font-size:13px} .center{text-align:center}
:focus-visible{outline:3px solid var(--violet);outline-offset:2px}

/* ---------- Column ---------- */
.col{position:relative;max-width:var(--col);margin:0 auto;min-height:100%;background:var(--bg);display:flex;flex-direction:column}
@media (min-width:520px){.col{border-left:1px solid var(--line);border-right:1px solid var(--line);box-shadow:0 0 120px rgba(110,85,240,.18)}}
.gut{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;min-height:58px;display:flex;align-items:center;gap:10px;background:rgba(11,10,18,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.top .title{flex:1;min-width:0;font:700 16px var(--display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand{display:flex;align-items:center;gap:9px;font:700 17px var(--display);color:var(--fg);text-decoration:none;flex:1;min-width:0}
.logo{width:32px;height:32px;border-radius:10px;background:#000;display:grid;place-items:center;flex-shrink:0;overflow:hidden}
.icon-btn{width:44px;height:44px;border-radius:14px;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;cursor:pointer;flex-shrink:0}
.tok{height:36px;padding:0 12px;border-radius:999px;border:1px solid rgba(171,75,255,.45);background:var(--surface);color:var(--accent);font-size:13px;font-weight:700;display:inline-flex;align-items:center;gap:6px;cursor:pointer;white-space:nowrap}
.scr{flex:1;display:flex;flex-direction:column;gap:20px;padding-block:18px 28px}
.actionbar{position:sticky;bottom:0;z-index:30;display:flex;flex-direction:column;gap:8px;padding-top:14px;padding-bottom:calc(14px + env(safe-area-inset-bottom,0px));background:linear-gradient(180deg,rgba(11,10,18,0),var(--bg) 26%)}
.actionbar .row{display:flex;gap:10px}
.tabbar{position:sticky;bottom:0;z-index:30;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;background:rgba(14,13,24,.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px);
  padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}
.tab{height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:11px;font-weight:700;color:var(--faint);background:none;border:none;cursor:pointer;padding:0}
.tab[aria-current="page"]{color:var(--accent)}
.tab .fab{width:56px;height:56px;border-radius:18px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;margin-top:-26px;box-shadow:0 10px 28px rgba(171,75,255,.32),0 0 0 6px var(--bg)}
.tab.plus{color:var(--fg)}

/* ---------- Buttons & bits ---------- */
.btn{min-height:54px;padding:0 20px;border-radius:16px;border:none;background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:16px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;text-align:center}
.btn:disabled{background:#26243C;color:var(--faint);cursor:not-allowed}
.btn.soft{background:var(--surface-2);color:var(--fg);border:1px solid var(--line)}
.btn.sm{min-height:40px;width:auto;padding:0 14px;font-size:14px;border-radius:12px}
.ghost{background:none;border:none;color:var(--muted);text-decoration:underline;cursor:pointer;min-height:44px;font-size:15px;width:100%}
.link{background:none;border:none;color:var(--violet);font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:15px;padding:0}
.pill{display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.pill.ok{background:var(--accent);color:var(--accent-ink)}
.pill.soon{background:rgba(11,10,18,.82);color:var(--fg);border:1px solid var(--line)}
.pill.pro{background:var(--violet-deep);color:#fff}
.kicker{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--violet)}
.card{padding:16px;border-radius:18px;background:var(--surface);border:1px solid var(--line)}
.field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700;color:#D9D7E8}
.field input,.field textarea{width:100%;min-height:52px;padding:13px 16px;border-radius:14px;border:1px solid var(--line);background:var(--bg);color:var(--fg);font:16px var(--body);resize:none}
.err{color:var(--danger);font-size:13px;min-height:18px}
.check{display:flex;gap:12px;align-items:flex-start;font-size:13px;color:var(--muted);cursor:pointer}
.check input{width:22px;height:22px;margin:1px 0 0;accent-color:var(--accent);flex-shrink:0}
.hscroll{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-left:calc(-1 * max(16px,env(safe-area-inset-left,0px)));margin-right:calc(-1 * max(16px,env(safe-area-inset-right,0px)));
  padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));scroll-padding-left:max(16px,env(safe-area-inset-left,0px))}
.hscroll::-webkit-scrollbar{display:none}
@media (hover:hover) and (pointer:fine){.hscroll{cursor:grab}}
.hscroll>*{scroll-snap-align:start;flex-shrink:0}
.chip{min-height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap}
.sec-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.sec-head h2{font-size:18px}
.meter{height:8px;border-radius:4px;background:#2A2842;overflow:hidden}
.meter i{display:block;height:100%;background:var(--accent);border-radius:4px}
.proto{align-self:center;font-size:12px;color:var(--faint);padding:6px 12px;border:1px solid var(--line);border-radius:999px;text-align:center}

/* ---------- Login ---------- */
.swap{--cut:6%;position:relative;width:100%;aspect-ratio:4/5;max-height:62dvh;border-radius:26px;overflow:hidden;border:1px solid #3A3758;background:#14122A;touch-action:pan-y;cursor:ew-resize;user-select:none;-webkit-user-select:none}
.swap .layer{position:absolute;inset:0}
.swap video{width:100%;height:100%;object-fit:cover;display:block}
.swap .after{clip-path:inset(0 0 0 var(--cut))}
.cutline{position:absolute;top:0;bottom:0;left:var(--cut);width:2px;margin-left:-1px;background:var(--accent);box-shadow:0 0 16px var(--accent);pointer-events:none}
.handle{position:absolute;top:50%;left:var(--cut);width:50px;height:50px;margin:-25px 0 0 -25px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;pointer-events:none;box-shadow:0 8px 24px rgba(0,0,0,.5)}
.swap:not(.touched) .handle{animation:pulse 1.6s ease-out infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(171,75,255,.6),0 8px 24px rgba(0,0,0,.5)}100%{box-shadow:0 0 0 20px rgba(171,75,255,0),0 8px 24px rgba(0,0,0,.5)}}
.hint{position:absolute;left:0;right:0;top:20%;display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:none;transition:opacity .35s}
.hint .bubble{background:rgba(11,10,18,.88);border:1px solid var(--accent);border-radius:16px;padding:10px 16px;text-align:center;line-height:1.25;box-shadow:0 10px 30px rgba(0,0,0,.4)}
.hint .bubble b{display:block;font-size:16px} .hint .bubble span{font-size:12px;color:var(--accent);font-weight:700}
.hint .hand{width:46px;height:46px;animation:swipe 1.8s ease-in-out infinite}
@keyframes swipe{0%{transform:translateX(-32px);opacity:0}20%,75%{opacity:1}100%{transform:translateX(42px);opacity:0}}
.swap.touched .hint{opacity:0}
.swap .hud{position:absolute;top:12px;left:12px;right:12px;display:flex;justify-content:space-between;gap:8px;pointer-events:none;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.swap .hud span{background:rgba(11,10,18,.78);padding:6px 10px;border-radius:999px}
.rec{display:inline-flex;align-items:center;gap:7px}
.rec::before{content:"";width:8px;height:8px;border-radius:50%;background:#FF5A5A;animation:blink 1.2s steps(2) infinite}
@keyframes blink{50%{opacity:.2}}
.tc{color:var(--accent);font-variant-numeric:tabular-nums}
.swap .lbl{position:absolute;bottom:12px;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:6px 10px;border-radius:999px;background:rgba(11,10,18,.8);transition:opacity .25s;pointer-events:none}
.swap .lbl.l{left:12px;color:#D9D7E8}.swap .lbl.r{right:12px;color:var(--accent)}
.scrub{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)}
.scrub input{flex:1;accent-color:var(--accent);height:28px}
.avstack{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted)}
.avstack .faces{display:flex;flex-shrink:0}
.avstack img{width:34px;height:34px;border-radius:50%;object-fit:cover;border:2px solid var(--bg);margin-left:-10px;animation:hop 2.4s ease-in-out infinite}
.avstack img:first-child{margin-left:0}
.avstack img:nth-child(2){animation-delay:.2s}.avstack img:nth-child(3){animation-delay:.4s}.avstack img:nth-child(4){animation-delay:.6s}.avstack img:nth-child(5){animation-delay:.8s}
@keyframes hop{0%,60%,100%{transform:none}30%{transform:translateY(-6px)}}
.headline{font:700 clamp(30px,8.6vw,40px)/1.05 var(--display);letter-spacing:-.04em}
.headline em{font-style:normal;color:var(--accent)}
/* Popup de telas (planos, curso, pagamento aprovado) */
html.pop-open,html.pop-open body{overflow:hidden}
.pop-back{position:fixed;inset:0;z-index:100;display:flex;align-items:flex-end;justify-content:center;background:rgba(5,4,10,.62);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:fadeIn .2s ease;
  padding:calc(46px + env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px))}
.pop{width:100%;max-width:460px;max-height:100%;display:flex;flex-direction:column;border-radius:26px;border:1px solid #3A3758;background:var(--bg);box-shadow:0 24px 70px rgba(0,0,0,.65);overflow:hidden;animation:popUp .32s cubic-bezier(.2,.9,.3,1.05)}
@keyframes popUp{from{transform:translateY(48px);opacity:0}}
.pop-head{position:relative;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 10px 8px 20px;border-bottom:1px solid var(--line)}
.pop-grab{position:absolute;top:6px;left:50%;width:40px;height:4px;margin-left:-20px;border-radius:4px;background:#3A3758}
.pop-head strong{font:700 16px var(--display)}
.pop-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:18px 16px 24px}
.pop-body>*{flex-shrink:0}
.pop-foot{flex-shrink:0;display:flex;flex-direction:column;gap:8px;padding:12px 16px 14px;border-top:1px solid var(--line);background:var(--panel)}
@media (prefers-reduced-motion:reduce){.pop,.pop-back{animation:none}}
/* Celular: sem zoom automático do navegador */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{overflow-x:clip}
*{touch-action:manipulation}
input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select{font-size:16px!important}
.lp{gap:0}
.lp-hero{display:flex;flex-direction:column;gap:16px;padding-top:6px}
.lp-ctas{display:flex;flex-direction:column;gap:10px;margin-top:4px}
.lp-ctas .btn svg{width:18px;height:18px}
.lp-sec{display:flex;flex-direction:column;gap:16px;margin-top:44px;padding-top:36px;border-top:1px solid var(--line)}
.lp-hero + .lp-sec{border-top:none;padding-top:0;margin-top:36px}
.lp-head{display:flex;flex-direction:column;gap:6px}
.lp-head h2{font:700 clamp(22px,6vw,28px)/1.15 var(--display);letter-spacing:-.03em}
.lp-head h2 em{font-style:normal;color:var(--accent)}
.lp-head p{font-size:14px;line-height:1.5}
.lp-head .kicker{color:var(--accent)}
.lp-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.lp-steps li{display:flex;gap:14px;align-items:center;padding:14px 16px;border-radius:16px;border:1px solid var(--line);background:var(--surface)}
.lp-steps li>span{width:36px;height:36px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);font:800 16px var(--display)}
.lp-steps div{display:flex;flex-direction:column;gap:2px;min-width:0}
.lp-steps strong{font-size:15px}
.lp-steps small{font-size:13px;color:var(--muted);line-height:1.4}
.lp-form{display:flex;flex-direction:column;gap:14px;padding:22px 18px}
.lp-form h2{font:700 22px/1.2 var(--display);letter-spacing:-.02em;margin-bottom:4px}
.lp .proto{align-self:center}
.lp .scrub{margin-top:-4px}
.hero-h{font-size:clamp(28px,7.6vw,38px);line-height:1.08}
.hero-p{font-size:15px;line-height:1.5;margin-top:-4px}
.perks3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.perks3 span{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;border-radius:14px;border:1px solid var(--line);background:var(--surface);font-size:12px;font-weight:700;text-align:center;line-height:1.25}
.perks3 svg{width:20px;height:20px;color:var(--accent);flex-shrink:0}
.steps3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.steps3 div{padding:10px;border-radius:14px;border:1px solid var(--line);background:var(--surface);font-size:12px;font-weight:700;display:flex;flex-direction:column;gap:2px;line-height:1.3}
.steps3 span{font-size:11px;color:var(--accent);letter-spacing:.08em}
.tabs-auth{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:4px;border-radius:16px;background:var(--bg);border:1px solid var(--line)}
.tabs-auth button{min-height:44px;border-radius:12px;border:none;background:none;color:var(--muted);font-weight:700;font-size:15px;cursor:pointer}
.tabs-auth button[aria-selected="true"]{background:var(--surface-2);color:var(--fg);box-shadow:inset 0 0 0 1px var(--violet-deep)}
.prof-head{display:flex;align-items:center;gap:14px;min-width:0}
.story{position:relative;flex-shrink:0;width:76px;height:76px;border-radius:50%;padding:4px}
.story::before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(var(--accent),var(--violet),var(--pink),var(--accent));animation:spin 5s linear infinite}
.story img{position:relative;width:100%;height:100%;border-radius:50%;object-fit:cover;border:3px solid var(--bg);display:block}
@keyframes spin{to{transform:rotate(360deg)}}
.ai-badge{display:inline-flex;align-self:flex-start;align-items:center;height:24px;padding:0 10px;border-radius:999px;background:var(--surface-2);border:1px solid var(--violet-deep);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--violet-soft)}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.stat{padding:12px;border-radius:14px;background:var(--surface);border:1px solid var(--line);min-width:0}
.stat b{display:block;font:700 18px var(--display);color:var(--accent);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.stat span{font-size:11px;color:var(--muted)}
.reel{position:relative;width:58%;max-width:230px;aspect-ratio:9/16;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:var(--surface-2)}
.reel video{width:100%;height:100%;object-fit:cover;display:block}
.reel .cap{position:absolute;left:8px;right:8px;bottom:8px;font-size:12px;font-weight:700;background:rgba(11,10,18,.8);padding:6px 9px;border-radius:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.marquee{overflow:hidden;margin-left:calc(-1 * max(16px,env(safe-area-inset-left,0px)));margin-right:calc(-1 * max(16px,env(safe-area-inset-right,0px)))}
.marquee-track{display:flex;gap:12px;width:max-content;animation:marq 30s linear infinite;padding-block:4px}
.marquee:hover .marquee-track,.marquee:active .marquee-track{animation-play-state:paused}
@keyframes marq{to{transform:translateX(-50%)}}
.cast{width:132px;flex-shrink:0;padding:14px 10px;border-radius:18px;border:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}
.cast .story{width:84px;height:84px}
.cast strong{font-size:14px} .cast small{font-size:12px;color:var(--muted)}
.cf{position:relative;height:250px;touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:grab;overflow:hidden;
  margin-left:calc(-1 * max(16px,env(safe-area-inset-left,0px)));margin-right:calc(-1 * max(16px,env(safe-area-inset-right,0px)))}
.cf.drag{cursor:grabbing}
.cf-glow{position:absolute;left:50%;top:46%;width:260px;height:260px;margin:-130px 0 0 -130px;border-radius:50%;background:radial-gradient(circle,rgba(247,209,30,.35),rgba(247,209,30,0) 65%);pointer-events:none}
.cf-floor{position:absolute;left:50%;bottom:14px;width:150px;height:16px;margin-left:-75px;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.6),transparent);pointer-events:none}
.cf-item{position:absolute;left:50%;top:50%;width:168px;height:168px;margin:-96px 0 0 -84px;padding:0;border:none;border-radius:50%;background:#9A43EF;cursor:inherit;will-change:transform,opacity;-webkit-tap-highlight-color:transparent}
.cf-item img{position:relative;width:100%;height:100%;border-radius:50%;object-fit:cover;display:block;pointer-events:none;border:4px solid var(--bg);box-sizing:border-box;z-index:1}
.cf-ring{position:absolute;inset:-6px;border-radius:50%;background:conic-gradient(from 0deg,var(--accent),#9A43EF,var(--pink),var(--violet),var(--accent));animation:spin 4s linear infinite;opacity:var(--ring,0)}
.cf-item.pop img{animation:pop .45s cubic-bezier(.3,1.7,.5,1)}
@keyframes pop{40%{transform:scale(1.12) rotate(-4deg)}70%{transform:scale(.97) rotate(2deg)}}
.cf-dots{display:flex;justify-content:center;gap:2px;margin-top:-6px}
.cf-dots button{width:30px;height:30px;border:none;background:none;padding:0;display:grid;place-items:center;cursor:pointer}
.cf-dots span{width:8px;height:8px;border-radius:4px;background:#3A3758;transition:width .25s,background .25s}
.cf-dots button[aria-current="true"] span{width:22px;background:var(--accent)}
.cta-band{display:flex;flex-direction:column;gap:14px;padding:20px;border-radius:22px;background:var(--surface-2);border:1px solid var(--violet-deep)}
.divider{height:1px;background:var(--line);margin-left:calc(-1 * max(16px,env(safe-area-inset-left,0px)));margin-right:calc(-1 * max(16px,env(safe-area-inset-right,0px)))}

/* ---------- App screens ---------- */
.hello{display:flex;flex-direction:column;gap:8px}
.hello h1{font-size:clamp(30px,9vw,40px);line-height:1.05;letter-spacing:-.04em;overflow-wrap:anywhere}
.eyebrow{align-self:flex-start;height:26px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#D9D7E8;display:inline-flex;align-items:center}
.act-banner{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;border:1px solid #26233C;background:#15131F}
.act-banner>div{flex:1;display:flex;flex-direction:column;gap:2px}
.act-banner strong{font-size:13px;color:#B9B6CC}
.act-banner span{font-size:12px;color:#8A87A0;line-height:1.35}
.act-banner .btn{flex-shrink:0}
.plan-card{display:flex;flex-direction:column;gap:12px;background:linear-gradient(135deg,#231E4A,#18172A)}
.plan-card .row{display:flex;justify-content:space-between;align-items:center;gap:12px}
.plan-card .num{font:700 28px var(--display);font-variant-numeric:tabular-nums}
.tcard{width:72%;max-width:260px;border-radius:20px;border:1px solid var(--line);background:var(--surface);padding:10px;display:flex;flex-direction:column;gap:8px;text-align:left;cursor:pointer}
.art{position:relative;aspect-ratio:4/5;border-radius:14px;overflow:hidden;background:var(--surface-2);max-width:100%;width:100%}
.art svg,.art video,.art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.art .pill{position:absolute;top:8px;right:8px}
.tcard .art{aspect-ratio:2/3}
.tcard h3{font:700 15px var(--body);letter-spacing:0;padding-inline:4px}
.tcard p{font-size:13px;color:var(--muted);padding-inline:4px}
.banner{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:14px;border-radius:18px;border:1px solid var(--violet-deep);background:var(--surface-2);cursor:pointer}
.banner .ic{width:46px;height:46px;border-radius:14px;background:var(--violet-deep);display:grid;place-items:center;flex-shrink:0}
.banner div{flex:1;min-width:0}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.thumb{position:relative;aspect-ratio:9/14;border-radius:14px;overflow:hidden;background:var(--surface-2);max-width:100%}
.thumb video,.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.thumb .pill{position:absolute;top:8px;left:8px}
.empty{padding:24px 16px;border-radius:18px;border:1.5px dashed var(--line);text-align:center;display:flex;flex-direction:column;gap:12px;align-items:center}
.ups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.drop{position:relative;aspect-ratio:3/4;border-radius:20px;border:1.5px dashed #3B3858;background:var(--surface);overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:12px;cursor:pointer}
.drop.filled{border-style:solid;border-color:var(--accent)}
.drop input{position:absolute;inset:0;opacity:0;z-index:3;cursor:pointer}
.drop .num{position:absolute;top:10px;left:10px;width:28px;height:28px;border-radius:50%;background:var(--bg);border:1px solid var(--line);display:grid;place-items:center;font-size:12px;font-weight:700;z-index:2}
.drop .plus{position:absolute;inset:0;display:grid;place-items:center}
.drop .plus span{width:56px;height:56px;border-radius:50%;background:var(--violet-deep);color:#fff;display:grid;place-items:center;box-shadow:0 8px 26px rgba(110,85,240,.5)}
.drop video,.drop img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.drop .cap{position:relative;z-index:2;font-size:12px;line-height:1.3}
.drop .cap strong{display:block;font-size:14px}
.drop.filled .cap{background:rgba(11,10,18,.82);padding:8px 10px;border-radius:12px}
.ring{width:160px;height:160px;position:relative;margin:24px auto 0}
.ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.ring span{position:absolute;inset:0;display:grid;place-items:center;font:700 32px var(--display);color:var(--accent);font-variant-numeric:tabular-nums}
.steps{display:flex;flex-direction:column;gap:8px}
.step{display:flex;gap:12px;align-items:center;padding:14px 16px;border-radius:14px;background:var(--surface);color:var(--faint);font-size:15px}
.step.done{color:var(--fg)}
.player{position:relative;width:100%;aspect-ratio:9/14;max-height:60dvh;border-radius:22px;overflow:hidden;background:var(--surface-2)}
.player video{width:100%;height:100%;object-fit:cover;display:block}
.player.locked video{filter:blur(12px) brightness(.55)}
.player .lock{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:16px}
.player .char{width:76px;height:76px;border-radius:50%;object-fit:cover;border:3px solid var(--accent)}
.player .wm{position:absolute;bottom:12px;right:12px;font:700 12px var(--display);background:rgba(11,10,18,.75);padding:4px 10px;border-radius:999px}
.plans{display:flex;flex-direction:column;gap:10px}
.plan{text-align:left;padding:16px;border-radius:18px;border:2px solid var(--line);background:var(--surface);cursor:pointer;display:flex;flex-direction:column;gap:8px;width:100%}
.plan[aria-pressed="true"]{border-color:var(--accent);background:#1D1C2E}
.plan .top-row{display:flex;justify-content:space-between;align-items:center;gap:8px}
.plan .name{font:700 17px var(--display)}
.plan .price{font-size:20px;font-weight:700}
.plan ul{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px 14px;color:var(--muted);font-size:13px}
.plan li{display:flex;gap:6px;align-items:center}
.line{display:flex;justify-content:space-between;gap:12px;font-size:15px}
.line.total{font-weight:700;font-size:17px;border-top:1px solid var(--line);padding-top:10px}
.bump{display:flex;gap:12px;align-items:flex-start;padding:16px;border-radius:18px;border:2px dashed var(--violet);background:var(--surface-2);cursor:pointer}
.bump input{width:24px;height:24px;margin:0;accent-color:var(--accent);flex-shrink:0}
.seg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.seg button{min-height:54px;border-radius:14px;border:2px solid var(--line);background:var(--surface);font-weight:700;font-size:15px;cursor:pointer}
.seg button[aria-pressed="true"]{border-color:var(--accent)}
.okbar{display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:14px;background:var(--surface);border:1px solid var(--line);font-weight:700;font-size:14px}
.okbar svg{width:20px;height:20px;flex-shrink:0}
.okbar .ok-ic{display:grid;place-items:center;width:26px;height:26px;flex-shrink:0;border-radius:50%;background:color-mix(in srgb,var(--accent) 18%,transparent);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent)}
.okbar.ok-accent{border-color:color-mix(in srgb,var(--accent) 40%,transparent);background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 10%,var(--surface)),var(--surface) 70%)}
.warnbar{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:14px;background:color-mix(in srgb,#FFB020 8%,var(--surface));border:1px solid color-mix(in srgb,#FFB020 35%,transparent);font-size:13px;line-height:1.45;color:#E8E6F2}
.warnbar svg{width:18px;height:18px;flex-shrink:0;margin-top:1px}
.list{display:flex;flex-direction:column;border-radius:18px;border:1px solid var(--line);background:var(--surface);overflow:hidden}
.list button{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 16px;border:none;border-bottom:1px solid var(--line);background:none;text-align:left;font-size:15px;font-weight:500;cursor:pointer}
.list button:last-child{border-bottom:none}
.list button>span:not(.avatar):not(.pill){flex:1;min-width:0}
.guide{display:flex;flex-direction:column;gap:10px}
.guide details{border-radius:18px;border:1px solid var(--line);background:var(--surface);overflow:hidden}
.guide summary{list-style:none;display:flex;align-items:center;gap:12px;min-height:60px;padding:12px 16px;cursor:pointer;font-weight:700;font-size:16px}
.guide summary::-webkit-details-marker{display:none}
.guide summary .n{width:30px;height:30px;border-radius:50%;background:var(--violet-deep);color:#fff;display:grid;place-items:center;font-size:13px;flex-shrink:0}
.guide summary .t{flex:1;min-width:0}
.guide summary svg{transition:transform .2s;color:var(--faint);flex-shrink:0}
.guide details[open] summary svg{transform:rotate(90deg)}
.guide .body{padding:0 16px 16px;display:flex;flex-direction:column;gap:12px;color:#D9D7E8;font-size:15px}
.guide ol,.guide ul{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:10px}
.guide li::marker{color:var(--accent);font-weight:700}
.guide strong{color:var(--fg)}
.guide .tip{padding:12px 14px;border-radius:14px;background:var(--surface-2);border:1px solid var(--violet-deep);font-size:14px;color:var(--fg)}
.av-hero{display:flex;flex-direction:column;gap:6px}
.av-hero h1{font-size:clamp(26px,7vw,32px);line-height:1.1}
.av-card{border-radius:24px;border:1px solid var(--line);background:var(--panel);padding:16px 14px;display:flex;flex-direction:column;gap:16px}
.av-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.av-title{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14px;white-space:nowrap}
.av-title svg{color:var(--accent)}
.av-chip{height:26px;padding:0 10px;border-radius:999px;border:1px solid rgba(171,75,255,.5);background:rgba(171,75,255,.12);color:var(--accent);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;display:inline-flex;align-items:center;white-space:nowrap}
.av-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:4px;border-radius:16px;background:var(--bg);border:1px solid var(--line)}
.av-tabs button{min-height:44px;border-radius:12px;border:none;background:none;color:var(--muted);font-weight:700;font-size:12px;cursor:pointer;padding:0 2px;white-space:nowrap}
.av-tabs button[aria-selected="true"]{background:var(--accent);color:var(--accent-ink)}
.av-panel{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
.av-panel[hidden]{display:none}
.av-col{display:flex;flex-direction:column;gap:10px;min-width:0}
.av-panel h3{font:700 15px var(--body);letter-spacing:0;margin:0}
.av-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.av-tile{position:relative;padding:0;border:2px solid transparent;border-radius:16px;background:var(--surface);overflow:hidden;cursor:pointer;display:flex;flex-direction:column;transition:transform .15s,border-color .15s}
.av-tile:active{transform:scale(.96)}
.av-tile[aria-pressed="true"]{border-color:var(--accent)}
.av-tile[aria-pressed="true"] .av-lab{background:rgba(171,75,255,.14);color:var(--accent)}
.av-thumb{aspect-ratio:1/1;max-width:100%;background:#3A3A3F;overflow:hidden}
.av-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.av-lab{font-size:12px;font-weight:700;padding:8px 4px;text-align:center;line-height:1.2;min-height:44px;display:grid;place-items:center}
.av-check{position:absolute;top:6px;right:6px;width:24px;height:24px;border-radius:50%;background:var(--accent);display:none;place-items:center;box-shadow:0 0 0 2px var(--bg)}
.av-check svg{stroke:var(--accent-ink)}
.av-tile[aria-pressed="true"] .av-check{display:grid}
.av-panel.colors{grid-template-columns:minmax(0,1fr)}
.sw-group{display:flex;flex-direction:column;gap:12px;padding:14px;border-radius:18px;border:1px solid var(--line);background:var(--surface)}
.sw-group h3{margin:0}
.sw{display:flex;flex-wrap:wrap;gap:10px}
.sw button{width:40px;height:40px;border-radius:50%;border:2px solid rgba(255,255,255,.14);cursor:pointer;display:grid;place-items:center;padding:0}
.sw button svg{opacity:0;filter:drop-shadow(0 0 2px rgba(0,0,0,.8))}
.sw button[aria-pressed="true"]{box-shadow:0 0 0 3px var(--surface),0 0 0 5px var(--accent)}
.sw button[aria-pressed="true"] svg{opacity:1}
.av-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.av-actions .btn{font-size:14px;min-height:50px;padding:0 10px}
.av-actions .av-go{grid-column:1 / -1;font-size:16px;min-height:54px}
.btn.av-go{background:linear-gradient(90deg,var(--violet-deep),var(--pink));color:#fff}
@media (max-width:400px){.av-actions{grid-template-columns:minmax(0,1fr)}}
@media (min-width:720px){.av-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.av-panel.colors{grid-template-columns:repeat(2,minmax(0,1fr))}}
.course-offer{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:18px;border:1.5px dashed rgba(171,75,255,.55);background:linear-gradient(120deg,rgba(171,75,255,.08),rgba(110,85,240,.18))}
.course-offer strong{font-size:14px;line-height:1.3}
.course-offer>div{flex:1}
.course-buy{flex-shrink:0;min-width:96px}
.lessons{display:flex;flex-direction:column;gap:10px}
.lesson{border-radius:18px;border:1px solid var(--line);background:var(--surface);overflow:hidden}
.lesson.locked,.lesson summary{display:flex;align-items:center;gap:14px;padding:14px 16px}
.lesson summary{list-style:none;cursor:pointer;min-height:56px}
.lesson summary::-webkit-details-marker{display:none}
.lesson summary>svg{flex-shrink:0;color:var(--faint);transition:transform .2s}
.lesson[open] summary>svg{transform:rotate(90deg)}
.lesson .ln{width:36px;height:36px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;font-weight:700;font-size:14px;color:#fff;background:linear-gradient(135deg,var(--violet-deep),var(--pink))}
.lesson.locked .ln{background:var(--surface-2);color:var(--muted)}
.lesson .lt{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.lesson .lt strong{font-size:15px;line-height:1.3}
.lesson .lt span{font-size:13px;color:var(--muted);line-height:1.4}
.lesson.locked .lt strong{color:#D9D7E8}
.lesson-body{padding:0 16px 16px}
.lesson-video{aspect-ratio:16/9;max-width:100%;border-radius:14px;background:var(--bg);border:1px dashed var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--faint);font-size:13px}
/* ---------- Ferramentas em breve: thumbs animadas e demos ---------- */
.anim-swap,.anim-fade,.anim-gen{position:absolute;inset:0;overflow:hidden;background:#15131F}
.anim-swap img,.anim-fade img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.anim-swap .after{clip-path:inset(0 0 0 90%);animation:wipe 4.5s ease-in-out infinite}
.anim-swap .sweep{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;left:90%;background:var(--accent);box-shadow:0 0 14px var(--accent);animation:sweepL 4.5s ease-in-out infinite}
@keyframes wipe{0%,12%{clip-path:inset(0 0 0 90%)}50%,62%{clip-path:inset(0 0 0 10%)}100%{clip-path:inset(0 0 0 90%)}}
@keyframes sweepL{0%,12%{left:90%}50%,62%{left:10%}100%{left:90%}}
.anim-swap .tag-l,.anim-swap .tag-r{position:absolute;bottom:8px}
.anim-swap .tag-l{left:8px;right:auto;top:auto}.anim-swap .tag-r{right:8px;left:auto;top:auto}
.anim-fade img{opacity:0;animation:fade4 8s linear infinite}
@keyframes fade4{0%{opacity:0;transform:scale(1.04)}6%,25%{opacity:1;transform:scale(1)}31%,100%{opacity:0}}
.scan{position:absolute;left:0;right:0;height:30%;top:-30%;background:linear-gradient(180deg,transparent,rgba(171,75,255,.22) 80%,rgba(171,75,255,.5));border-bottom:2px solid var(--accent);animation:scanD 2s linear infinite;pointer-events:none}
@keyframes scanD{to{top:100%}}
.mini-chip{position:absolute;left:8px;bottom:8px;padding:5px 10px;border-radius:999px;background:rgba(11,10,18,.85);font-size:11px;font-weight:700;color:var(--accent)}
.anim-gen{display:flex;flex-direction:column;gap:8px;padding:10px;background:radial-gradient(80% 60% at 50% 0%,#2B2550,#14112A)}
.g-prompt{padding:8px 10px;border-radius:10px;background:rgba(11,10,18,.7);border:1px solid var(--line);font-size:11px;font-weight:700;color:var(--fg);white-space:nowrap;overflow:hidden}
.g-typed{display:inline-block;overflow:hidden;vertical-align:bottom;border-right:2px solid var(--accent);animation:typing 6s steps(20) infinite}
@keyframes typing{0%{width:0}25%,90%{width:20ch}100%{width:0}}
.g4{flex:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;min-height:0}
.g4 img{width:100%;height:100%;object-fit:cover;border-radius:8px;opacity:0;animation:popIn 6s ease infinite}
@keyframes popIn{0%,15%{opacity:0;transform:scale(.85)}22%,88%{opacity:1;transform:none}100%{opacity:0}}
.soon-head{display:flex;flex-direction:column;gap:8px}
.demo-swap{aspect-ratio:4/5;max-height:56dvh;--cut:50%}
.demo-swap img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.look-stage{position:relative;aspect-ratio:1/1;max-height:44dvh;max-width:420px;width:100%;align-self:center;border-radius:22px;overflow:hidden;border:1px solid var(--line);background:#3A3A3F}
.look-stage img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .28s,transform .28s}
.look-stage .scan{display:none}
.look-stage.swapping .scan{display:block;animation:scanD .56s linear 1}
.look-stage.swapping img{animation:lookSwap .56s ease}
@keyframes lookSwap{0%{opacity:1}45%{opacity:0;transform:scale(.97)}100%{opacity:1;transform:none}}
.look{width:96px;padding:4px;border-radius:14px;border:2px solid transparent;background:var(--surface);cursor:pointer;display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:700}
.look img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px;display:block;pointer-events:none}
.look[aria-pressed="true"]{border-color:var(--accent);color:var(--accent)}
.gen-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.gen-cell{aspect-ratio:3/4;border-radius:14px;overflow:hidden;background:var(--surface);animation:popIn2 .45s ease both}
.gen-cell img{width:100%;height:100%;object-fit:cover;display:block}
.gen-cell.loading{background:linear-gradient(100deg,var(--surface) 30%,#2A2842 50%,var(--surface) 70%);background-size:200% 100%;animation:shim 1s linear infinite}
@keyframes popIn2{from{opacity:0;transform:scale(.9)}}
@keyframes shim{from{background-position:100% 0}to{background-position:-100% 0}}
.banner-ic{width:44px;height:44px;border-radius:14px;background:var(--violet-deep);display:grid;place-items:center;flex-shrink:0}
.pcard{width:78%;max-width:300px;text-align:left;padding:14px;border-radius:18px;border:2px solid var(--line);background:var(--surface);cursor:pointer;display:flex;flex-direction:column;gap:8px}
.pcard.top{border-color:rgba(171,75,255,.45);background:linear-gradient(160deg,rgba(171,75,255,.08),var(--surface) 55%)}
.pcard[aria-pressed="true"]{border-color:var(--accent);box-shadow:0 0 0 3px rgba(171,75,255,.15)}
.ptop{display:flex;justify-content:space-between;align-items:center;gap:8px}
.pname{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:15px}
.pname svg{color:var(--accent)}
.ptext{font:13px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#CFCDE0;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:10px}
.ptext>span{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.puse{font-size:13px;font-weight:700;color:var(--violet)}
.pcard[aria-pressed="true"] .puse{color:var(--accent)}
.prompt-field .prow{display:flex;justify-content:space-between;align-items:center;gap:8px}
.prompt-field textarea{font:14px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;min-height:140px}
.prompt-field textarea.flash{animation:flash .7s ease}
@keyframes flash{0%{box-shadow:0 0 0 0 rgba(171,75,255,.6);border-color:var(--accent)}100%{box-shadow:0 0 0 10px rgba(171,75,255,0)}}
.plan-card2{position:relative;display:flex;flex-direction:column;gap:10px;padding:26px 18px 18px;margin-top:12px;border-radius:24px;border:1px solid var(--line);background:linear-gradient(180deg,#1C1938,var(--surface))}
.plan-card2.hot{border:2px solid var(--accent);background:linear-gradient(180deg,#232048,#18172A);box-shadow:0 0 40px rgba(171,75,255,.08)}
.plan-badge{position:absolute;top:-13px;left:18px;height:26px;padding:0 12px;border-radius:999px;background:var(--violet-deep);color:#fff;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;display:inline-flex;align-items:center}
.plan-card2.hot .plan-badge{background:var(--accent);color:var(--accent-ink)}
.plan-card2 h3{font:700 22px var(--display)}
.plan-price{font:700 40px/1 var(--display);letter-spacing:-.03em;margin-top:4px}
.offer-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:6px 0;padding:14px 16px;border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:18px;background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 10%,#15131F),#15131F 65%);color:var(--fg)}
.offer-banner>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.offer-banner strong{font-size:14px;font-weight:800;letter-spacing:.02em;color:var(--accent)}
.offer-banner strong::before{content:'🔥 '}
.offer-banner small{font-size:12px;font-weight:500;color:var(--muted)}
.offer-clock{flex-shrink:0;min-width:5ch;text-align:center;padding:8px 14px;border-radius:12px;background:#0C0A14;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);color:var(--accent);font:800 26px var(--display);font-variant-numeric:tabular-nums;letter-spacing:.02em;box-shadow:inset 0 0 18px -8px var(--accent)}
.offer-banner.expired{border-color:var(--line);background:#15131F;color:var(--muted)}
.offer-banner.expired strong{color:var(--muted)}
.offer-banner.expired strong::before{content:''}
.offer-banner.expired .offer-clock{background:#0C0A14;border-color:var(--line);color:var(--muted);box-shadow:none}
@media (prefers-reduced-motion:reduce){.offer-banner{animation:none}}
.offer-was{font-size:13px;color:var(--muted);font-weight:500;letter-spacing:0}
.offer-was s{text-decoration-thickness:1px}
.co-plan-top .offer-price{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}
.co-plan-top .offer-price .co-price{font:700 24px var(--display);color:var(--fg)}
.co-plan-top .offer-price .offer-was{font:500 12px var(--body)}
.plan-card2 ul{list-style:none;margin:8px 0 6px;padding:14px 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:12px}
.plan-card2 li{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.35}
.plan-card2 li svg{flex-shrink:0}
.plan-card2 li.no{color:var(--faint)}
.plan-card2 li.no s{text-decoration-color:#FF6F8A}
.tok-card{display:flex;flex-direction:column;gap:6px;background:linear-gradient(160deg,#211D44,var(--surface) 70%)}
.tok-card .faint{color:var(--violet-soft)}
.tok-big{font:700 32px/1.1 var(--display);letter-spacing:-.03em}
.tok-sub{font-size:13px;color:var(--violet-soft)}
.tok-card .meter{margin:6px 0 4px}
.tok-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:12px;margin-top:4px}
.tok-row .btn{border-color:var(--violet-deep)}
.profile-shot{width:74%;max-width:300px;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:#000;box-shadow:0 14px 34px rgba(0,0,0,.4)}
.profile-shot img{width:100%;height:auto;display:block;pointer-events:none}
.depos{columns:2;column-gap:10px}
.depo{margin:0 0 10px;break-inside:avoid;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#0E0D16}
.depo img{width:100%;height:auto;display:block}
@media (max-width:360px){.depos{columns:1}}
.scanner{position:relative;width:100%;aspect-ratio:9/14;max-height:54dvh;border-radius:24px;overflow:hidden;background:#07060C;border:1px solid #3A3758}
.scanner video{width:100%;height:100%;object-fit:cover;display:block;transition:filter .8s;filter:blur(16px);transform:scale(1.12)}
.scanner[data-stage="0"] video{filter:blur(16px) grayscale(.7) brightness(.75) contrast(1.1)}
.scanner[data-stage="1"] video,.scanner[data-stage="2"] video{filter:blur(16px) grayscale(.5) brightness(.6) contrast(1.15) hue-rotate(200deg)}
.scanner[data-stage="3"] video{filter:blur(16px) brightness(.8) saturate(1.2)}
.scanner[data-stage="4"] video{filter:blur(16px) brightness(1.05) saturate(1.25) contrast(1.05)}
.scanner[data-stage="5"] video,.scanner[data-stage="done"] video{filter:blur(16px)}
.sc-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(171,75,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(171,75,255,.12) 1px,transparent 1px);background-size:28px 28px;opacity:.9;transition:opacity .8s;mix-blend-mode:screen}
.scanner[data-stage="3"] .sc-grid,.scanner[data-stage="4"] .sc-grid,.scanner[data-stage="5"] .sc-grid,.scanner[data-stage="done"] .sc-grid{opacity:0}
.sc-line{position:absolute;left:0;right:0;height:26%;top:-26%;background:linear-gradient(180deg,transparent,rgba(171,75,255,.18) 70%,rgba(171,75,255,.55));border-bottom:2px solid var(--accent);box-shadow:0 6px 24px rgba(171,75,255,.5);animation:scanD 2.2s linear infinite}
.scanner[data-stage="3"] .sc-line{background:linear-gradient(180deg,transparent,rgba(255,111,181,.2) 70%,rgba(255,111,181,.6));border-color:var(--pink);box-shadow:0 6px 24px rgba(255,111,181,.6)}
.scanner[data-stage="5"] .sc-line{animation-duration:.9s}
.scanner[data-stage="done"] .sc-line{display:none}
.sc-pose{position:absolute;left:50%;top:50%;height:82%;transform:translate(-50%,-48%);opacity:0;transition:opacity .6s;overflow:visible;animation:sway 1.6s ease-in-out infinite}
.sc-pose line{stroke:var(--accent);stroke-width:1.2;stroke-linecap:round;opacity:.85}
.sc-pose circle{fill:#0B0A12;stroke:var(--accent);stroke-width:1.2;animation:blinkPt 1.2s ease-in-out infinite}
.scanner[data-stage="1"] .sc-pose,.scanner[data-stage="2"] .sc-pose{opacity:1}
.scanner[data-stage="2"] .sc-pose line{stroke:var(--violet);stroke-dasharray:3 2;animation:dash .6s linear infinite}
@keyframes sway{0%,100%{transform:translate(-50%,-48%) rotate(-2deg)}50%{transform:translate(-50%,-48%) rotate(2deg)}}
@keyframes blinkPt{50%{fill:var(--accent)}}
@keyframes dash{to{stroke-dashoffset:-10}}
.sc-box{position:absolute;left:22%;right:22%;top:8%;bottom:6%;border:1.5px dashed rgba(171,75,255,.8);border-radius:10px;opacity:0;transition:opacity .5s}
.scanner[data-stage="0"] .sc-box{opacity:1;animation:boxPulse 1.4s ease-in-out infinite}
@keyframes boxPulse{50%{transform:scale(1.03)}}
.sc-swap{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .6s}
.sc-swap img{position:absolute;right:12px;bottom:56px;width:30%;aspect-ratio:3/4;object-fit:cover;border-radius:12px;border:2px solid var(--pink);filter:blur(5px);box-shadow:0 0 0 4px rgba(255,111,181,.2),0 10px 30px rgba(0,0,0,.5);animation:swapPulse 1.2s ease-in-out infinite}
.scanner[data-stage="3"] .sc-swap{opacity:1}
@keyframes swapPulse{50%{transform:scale(1.06)}}
.sc-corner{position:absolute;width:26px;height:26px;border:3px solid var(--accent)}
.sc-corner.tl{top:10px;left:10px;border-right:0;border-bottom:0;border-radius:10px 0 0 0}
.sc-corner.tr{top:10px;right:10px;border-left:0;border-bottom:0;border-radius:0 10px 0 0}
.sc-corner.bl{bottom:10px;left:10px;border-right:0;border-top:0;border-radius:0 0 0 10px}
.sc-corner.br{bottom:10px;right:10px;border-left:0;border-top:0;border-radius:0 0 10px 0}
.sc-hud{position:absolute;top:14px;left:44px;right:44px;display:flex;justify-content:space-between;gap:6px;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.sc-hud span{background:rgba(11,10,18,.8);padding:5px 9px;border-radius:999px;white-space:nowrap}
.sc-foot{position:absolute;left:12px;right:12px;bottom:14px;display:flex;justify-content:center}
.sc-foot span{background:rgba(11,10,18,.85);border:1px solid rgba(171,75,255,.4);color:var(--accent);padding:7px 12px;border-radius:999px;font-size:12px;font-weight:700;text-align:center}
.sc-status{display:flex;flex-direction:column;gap:8px}
.sc-pct{display:flex;justify-content:space-between;align-items:baseline}
.sc-pct #pct{font:700 34px var(--display);color:var(--accent);font-variant-numeric:tabular-nums}
.sc-meter{height:10px}
.sc-meter i{background:linear-gradient(90deg,var(--violet),var(--accent));transition:width .2s linear}
.step.active{color:var(--fg);border:1px solid rgba(171,75,255,.45)}
.st-ic{width:18px;height:18px;display:grid;place-items:center;flex-shrink:0}
.spin{width:16px;height:16px;border-radius:50%;border:2.5px solid rgba(171,75,255,.25);border-top-color:var(--accent);animation:spin .8s linear infinite}
.gen-back{position:fixed;inset:0;z-index:110;background:rgba(5,4,10,.82);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;animation:fadeIn .25s ease;
  padding:calc(12px + env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px))}
.gen-modal{width:100%;max-width:440px;max-height:100%;overflow:auto;border-radius:26px;border:1px solid var(--line);background:linear-gradient(180deg,#1C1840,#120F2A);padding:12px;animation:popIn3 .3s cubic-bezier(.2,.9,.3,1.1)}
.gen-modal.ready{padding:22px 18px;display:flex;flex-direction:column;gap:14px}
@keyframes popIn3{from{transform:translateY(16px) scale(.97);opacity:0}}
.gen-scan{max-height:calc(100dvh - 120px);aspect-ratio:9/15}
.sc-top{position:absolute;top:12px;left:12px;right:12px;display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:none}
.sc-top .sc-hud{position:static;width:100%;padding:0 30px}
.sc-stage{display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:16px;background:rgba(11,10,18,.82);border:1px solid rgba(171,75,255,.45);box-shadow:0 10px 30px rgba(0,0,0,.4);max-width:100%}
.sc-stage strong{font:700 16px var(--display);letter-spacing:-.01em;text-align:center}
.scanner[data-stage="done"] .sc-stage .spin{border-color:var(--accent);animation:none}
.sc-note{font-size:12px;font-weight:700;color:var(--accent);background:rgba(11,10,18,.7);padding:5px 10px;border-radius:999px;text-align:center}
.sc-bottom{position:absolute;left:16px;right:16px;bottom:16px;display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-radius:16px;background:rgba(11,10,18,.8)}
.sc-bottom .sc-pct{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;color:var(--muted)}
.sc-bottom #pct{font:700 26px var(--display);color:var(--accent);font-variant-numeric:tabular-nums}
.ready-ic{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#2EC27E,#1E9E63);display:grid;place-items:center;align-self:center;box-shadow:0 0 0 8px rgba(46,194,126,.15),0 10px 30px rgba(46,194,126,.35);animation:popIn2 .5s cubic-bezier(.3,1.6,.5,1)}
.ready-row{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px;align-items:center}
.ready-thumb{position:relative;aspect-ratio:9/14;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#222}
.ready-thumb video{width:100%;height:100%;object-fit:cover;filter:blur(10px) brightness(.7);transform:scale(1.15)}
.ready-thumb span{position:absolute;inset:0;display:grid;place-items:center;text-align:center;font-weight:700;font-size:13px;line-height:1.25}
.ready-warn{display:flex;gap:10px;align-items:flex-start;padding:12px;border-radius:16px;border:1px solid rgba(242,193,46,.5);background:rgba(242,193,46,.08)}
.ready-warn div{display:flex;flex-direction:column;gap:4px;min-width:0}
.ready-warn strong{font-size:14px;line-height:1.3}
.ready-warn span{font-size:13px;color:#F2D58A;line-height:1.35}
.warn-ic{width:24px;height:24px;border-radius:50%;background:#F2C12E;color:#1A1404;font-weight:800;display:grid;place-items:center;flex-shrink:0}
.ready-perks{display:flex;flex-direction:column;gap:8px}
.ready-perk{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:rgba(24,23,42,.8)}
.ready-perk div{display:flex;flex-direction:column;gap:2px;min-width:0}
.ready-perk strong{font-size:15px}
.ready-perk span{font-size:12px;color:var(--muted)}
.ready-perk svg{flex-shrink:0}
.ready-video{position:relative;aspect-ratio:9/14;max-height:52dvh;border-radius:18px;overflow:hidden;align-self:center;width:100%}
.ready-video video{width:100%;height:100%;object-fit:cover;display:block}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.co-back{z-index:120}
.co-modal{padding:18px;display:flex;flex-direction:column;gap:14px}
.co-head{display:flex;justify-content:space-between;align-items:center}
.co-chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border-radius:999px;border:1px solid rgba(160,140,255,.5);background:rgba(110,85,240,.2);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--violet-soft)}
.co-chip svg{width:14px;height:14px}
.co-trust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.co-trust span{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;border-radius:12px;background:rgba(46,194,126,.08);border:1px solid rgba(46,194,126,.3);font-size:11px;font-weight:700;color:#BFF0D6;text-align:center}
.co-trust svg{color:#2EC27E}
.co-ready{display:flex;gap:12px;align-items:center;padding:12px;border-radius:16px;border:1px solid var(--line);background:rgba(24,23,42,.7)}
.co-ready>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.co-ready strong{font-size:15px}.co-ready>div>span{font-size:13px;color:var(--muted)}
.co-thumb{position:relative;width:56px;height:72px;border-radius:12px;overflow:hidden;flex-shrink:0;border:1px solid var(--line)}
.co-thumb video{width:100%;height:100%;object-fit:cover;filter:blur(6px) brightness(.6);transform:scale(1.2)}
.co-thumb span{position:absolute;inset:0;display:grid;place-items:center}
.co-plan{padding:14px 16px;border-radius:18px;border:1px solid var(--line);background:rgba(24,23,42,.8);display:flex;flex-direction:column;gap:10px}
.co-plan-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border-bottom:1px solid var(--line);padding-bottom:12px}
.co-plan-top div{display:flex;flex-direction:column;gap:2px}
.co-plan-top strong{font:700 18px var(--display)}.co-plan-top span{font-size:13px;color:var(--muted)}
.co-price{font:700 24px var(--display);white-space:nowrap}
.co-plan ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.co-plan li{display:flex;gap:8px;align-items:center;font-size:14px}
.co-plan li svg{width:18px;height:18px;flex-shrink:0}
.co-bumps{display:flex;flex-direction:column;gap:10px}
.co-bump{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:18px;border:1.5px solid var(--line);background:rgba(24,23,42,.7);cursor:pointer;transition:border-color .2s,background .2s,transform .15s}
.co-bump:active{transform:scale(.99)}
.co-bump.on{border-color:var(--accent);background:linear-gradient(160deg,rgba(171,75,255,.1),rgba(24,23,42,.8) 60%)}
.co-bump:focus-within{outline:3px solid var(--violet);outline-offset:2px}
.switch{position:relative;width:46px;height:28px;border-radius:999px;background:#3A3758;flex-shrink:0;transition:background .2s;margin-top:2px}
.switch i{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 2px 6px rgba(0,0,0,.4)}
.co-bump.on .switch{background:var(--accent)}
.co-bump.on .switch i{transform:translateX(18px);background:var(--accent-ink)}
.co-bump-body{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.co-bump-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.co-tag{height:20px;padding:0 8px;border-radius:999px;background:#F2C12E;color:#1A1404;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;display:inline-flex;align-items:center}
.co-add{font-weight:800;color:#5BE39A;white-space:nowrap;font-size:14px}
.co-bump strong{font-size:15px;line-height:1.3}
.co-bump-body>span:last-child{font-size:13px;color:var(--muted);line-height:1.4}
.co-total{display:flex;justify-content:space-between;align-items:center;padding:16px;border-radius:18px;border:1px solid rgba(160,140,255,.4);background:rgba(110,85,240,.14)}
.co-total div{display:flex;flex-direction:column}
.co-total strong{font-size:17px}
#co-sum{font:700 26px var(--display);font-variant-numeric:tabular-nums}
#co-sum.sum-pop{animation:sumBump .4s cubic-bezier(.3,1.6,.5,1)}
@keyframes sumBump{40%{transform:scale(1.12);color:var(--accent)}}
.co-cta{min-height:58px;font-size:17px}
.toast{position:fixed;left:50%;bottom:calc(92px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:130;max-width:calc(100% - 32px);padding:12px 16px;border-radius:14px;background:#1E9E63;color:#fff;font-weight:700;font-size:14px;box-shadow:0 12px 30px rgba(0,0,0,.45);animation:fadeIn .25s ease}
.tk-intro{font-size:14px;line-height:1.45;padding:10px 12px;border-radius:12px;background:rgba(110,85,240,.14);border:1px solid rgba(160,140,255,.35);color:#E4E0FF}
.tk-packs{display:flex;flex-direction:column;gap:12px}
.tk-pack{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;padding:16px;border-radius:16px;border:1.5px solid var(--line);background:rgba(24,23,42,.75);color:var(--fg);cursor:pointer;transition:border-color .2s,background .2s}
.tk-pack[aria-checked="true"]{border-color:#C9BEFF;background:linear-gradient(160deg,rgba(110,85,240,.28),rgba(24,23,42,.85) 70%)}
.tk-pack:focus-visible{outline:3px solid var(--violet);outline-offset:2px}
.tk-l{display:flex;flex-direction:column;gap:2px;min-width:0}
.tk-l strong{font-size:16px}.tk-l span{font-size:13px;color:#D9D7E8}
.tk-p{font:700 20px var(--display);white-space:nowrap}
.tk-badge{position:absolute;top:-10px;left:14px;height:20px;padding:0 8px;border-radius:999px;background:#F2C12E;color:#1A1404;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;display:inline-flex;align-items:center}
.co-cta .spin,#co-paid .spin{border-color:rgba(255,255,255,.3);border-top-color:#fff}
.co-merchant{display:flex;gap:10px;align-items:flex-start;padding:12px;border-radius:14px;background:rgba(11,10,18,.5);font-size:12px;color:var(--muted);line-height:1.5}
.co-merchant svg{flex-shrink:0;margin-top:2px}
.co-wait{display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:14px;background:rgba(242,193,46,.08);border:1px solid rgba(242,193,46,.4);font-size:14px}
.co-wait strong{font-variant-numeric:tabular-nums}
.co-qr{display:flex;flex-direction:column;align-items:center;gap:8px}
#co-qrbox{width:224px;height:224px;padding:12px;border-radius:18px;background:#fff;display:grid;place-items:center;text-align:center}
#co-qrbox img,#co-qrbox canvas{display:block;max-width:100%}
.co-qr-tag{font-size:11px;font-weight:700;color:#FFB4A8}
.co-steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:14px;color:#D9D7E8}
.co-copy{display:flex;gap:8px;align-items:center;padding:8px 8px 8px 12px;border-radius:14px;border:1px solid var(--line);background:var(--bg)}
.co-copy code{flex:1;min-width:0;font:12px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.co-copy .btn{flex-shrink:0}
.gen-scan.clean video{filter:blur(18px) brightness(.55) saturate(.9)!important;transform:scale(1.15)}
.gs-shade{position:absolute;inset:0;background:radial-gradient(80% 60% at 50% 45%,rgba(11,10,18,.15),rgba(11,10,18,.75))}
.gs-sweep{position:absolute;left:0;right:0;height:40%;top:-40%;background:linear-gradient(180deg,transparent,rgba(255,255,255,.06) 85%,rgba(255,255,255,.18));border-bottom:1px solid rgba(255,255,255,.35);animation:scanD 3.2s cubic-bezier(.45,0,.55,1) infinite}
.gen-scan.clean[data-stage="done"] .gs-sweep{display:none}
.gs-center{position:absolute;left:20px;right:20px;top:50%;transform:translateY(-60%);display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.gs-center strong{font:700 20px var(--display);letter-spacing:-.02em}
.gs-center #sc-note{font-size:13px;color:#D9D7E8}
.gs-ring{width:44px;height:44px;border-radius:50%;border:3px solid rgba(255,255,255,.15);border-top-color:var(--accent);animation:spin 1s linear infinite;margin-bottom:6px}
.gen-scan.clean[data-stage="done"] .gs-ring{animation:none;border-color:#2EC27E;background:#2EC27E url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/22px no-repeat}
.gs-bottom{position:absolute;left:16px;right:16px;bottom:16px;display:flex;flex-direction:column;gap:10px}
.gs-row{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;color:#D9D7E8}
.gs-row #pct{font:700 22px var(--display);color:#fff;font-variant-numeric:tabular-nums}
.gs-track{height:4px;border-radius:2px;background:rgba(255,255,255,.15);overflow:hidden}
.gs-track i{display:block;height:100%;background:var(--accent);transition:width .2s linear}
.gs-steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}
.gs-steps span{height:3px;border-radius:2px;background:rgba(255,255,255,.12)}
.gs-steps span.done{background:rgba(171,75,255,.6)}
.gs-steps span.on{background:#fff}
.ap-head{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding-top:8px}
.ap-head h1{font-size:clamp(26px,7vw,32px)}
.ap-card{display:flex;gap:14px;align-items:flex-start;padding:16px;border-radius:18px;border:1px solid var(--line);background:var(--surface)}
.ap-card>div{display:flex;flex-direction:column;gap:6px;min-width:0}
.ap-card strong{font:700 16px var(--display)}
.ap-card span,.ap-card li{font-size:14px;color:#D9D7E8;line-height:1.45}
.ap-card ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px}
.ap-n{width:36px;height:36px;border-radius:12px;background:linear-gradient(135deg,var(--violet-deep),#8E3A8A);display:grid;place-items:center;font-weight:700;flex-shrink:0;color:#fff!important}
.ap-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ap-steps div{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 6px;border-radius:16px;border:1px solid var(--line);background:var(--surface);text-align:center;font-size:12px;font-weight:700}
.ap-steps div.ok{border-color:rgba(46,194,126,.45)}
.ap-steps b{width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,var(--violet-deep),var(--pink));display:grid;place-items:center;font-size:12px}
.lib-item{padding:0;border:none;background:none;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:6px;color:inherit}
.lib-item .thumb{border:1px solid var(--line)}
.lib-item.locked .thumb video{filter:blur(14px) brightness(.55);transform:scale(1.15)}
.lib-lock{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;padding:8px}
.lib-lock b{font-size:14px}.lib-lock small{font-size:11px;color:#D9D7E8}
.lib-item.locked:hover .thumb,.lib-item.locked:focus-visible .thumb{border-color:var(--accent)}
.lib-name{font-weight:700;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lib-item.locked .lib-name{color:var(--faint)}
.plans2{display:flex;flex-direction:column;gap:18px;padding-top:16px}
.pc{position:relative;display:flex;flex-direction:column;gap:8px;padding:30px 22px 20px;border-radius:26px;border:1px solid var(--line);background:linear-gradient(180deg,#1C1938,var(--surface));min-width:0}
.pc.hot{border:2px solid var(--accent);background:linear-gradient(180deg,#26214E,#18172A);box-shadow:0 12px 44px -14px rgba(171,75,255,.35)}
.pc-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);height:24px;padding:0 14px;border-radius:999px;background:var(--violet-deep);color:#fff;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;display:inline-flex;align-items:center;white-space:nowrap}
.pc.hot .pc-badge{background:var(--accent);color:var(--accent-ink)}
.pc h3{font:800 20px var(--display);text-align:center;text-transform:capitalize;letter-spacing:-.01em}
.pc .offer-was{text-align:center}
.pc-price{font:800 clamp(34px,9vw,44px)/1 var(--display);letter-spacing:-.03em;text-align:center;white-space:nowrap}
.pc-period{font-size:12px;color:var(--muted);text-align:center;margin-top:-2px}
.pc-btn{min-height:50px;font-size:15px;font-weight:800;margin:8px 0 2px;border-radius:14px}
.pc ul{list-style:none;margin:8px 0 0;padding:14px 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.pc li{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;line-height:1.35}
.pc li svg{width:17px;height:17px;flex-shrink:0;margin-top:1px}
.pc li.no{color:var(--faint)}
.pc li.no s{text-decoration-color:#FF6F8A}
.tool-demo{aspect-ratio:4/5;max-height:46dvh;cursor:default;--cut:100%}
.tool-demo .cutline{width:3px;margin-left:-1.5px;opacity:0;transition:opacity .25s;box-shadow:0 0 18px var(--accent),0 0 40px rgba(171,75,255,.6)}
.tool-demo[data-mode="sweep"] .cutline{opacity:1}
.tool-demo[data-mode="sweep"] .layer.after{filter:brightness(1.15)}
.tr-badge{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);padding:7px 14px;border-radius:999px;background:rgba(11,10,18,.82);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;transition:color .2s,border-color .2s;border:1px solid var(--line)}
.tool-demo[data-mode="sweep"] .tr-badge{color:var(--accent);border-color:rgba(171,75,255,.6)}
.tool-demo[data-mode="edit"] .tr-badge{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.card-swap{position:absolute;inset:0;aspect-ratio:auto;max-height:none;border:none;border-radius:inherit;cursor:pointer;pointer-events:none}
.card-swap .tr-badge{bottom:10px;padding:5px 10px;font-size:10px}
.tool-demo video{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.reel.ig{width:66%;max-width:260px;cursor:pointer}
.reel.ig:focus-visible{outline:3px solid var(--violet);outline-offset:2px}
.reel .snd{position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(11,10,18,.6);color:#fff;z-index:4;pointer-events:none;transition:background .2s,color .2s}
.reel.sound .snd{background:var(--accent);color:var(--accent-ink)}
.viral-head{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.viral-head h2{font:700 clamp(22px,6vw,28px)/1.15 var(--display);letter-spacing:-.03em}
.viral-head h2 em{font-style:normal;color:var(--accent)}
.viral-head p{font-size:14px;line-height:1.5}
.rui{position:absolute;inset:0;pointer-events:none;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6);background:linear-gradient(180deg,rgba(0,0,0,.25),transparent 22%,transparent 60%,rgba(0,0,0,.65))}
.rui-views{position:absolute;top:10px;left:10px;display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;background:rgba(0,0,0,.45);backdrop-filter:blur(6px);font-size:11px;font-weight:700}
.rui-side{position:absolute;right:8px;bottom:64px;display:flex;flex-direction:column;align-items:center;gap:12px}
.rui-act{display:flex;flex-direction:column;align-items:center;gap:2px}
.rui-act b{font-size:10px;font-weight:700}
.rui-act.like svg{transition:transform .2s,color .2s}
.rui-act.like.on{color:#FF3B5C}
.rui-act.like.on svg{animation:likePop .45s cubic-bezier(.3,1.6,.5,1)}
@keyframes likePop{40%{transform:scale(1.35)}}
.rui-bottom{position:absolute;left:10px;right:52px;bottom:10px;display:flex;flex-direction:column;gap:5px}
.rui-user{display:flex;align-items:center;gap:6px;font-size:12px;min-width:0}
.rui-user img{width:24px;height:24px;border-radius:50%;object-fit:cover;border:1.5px solid #fff;flex-shrink:0}
.rui-user b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.rui-fol{font-size:10px;opacity:.85;flex-shrink:0}
.rui-follow{padding:2px 7px;border:1px solid rgba(255,255,255,.8);border-radius:6px;font-size:10px;font-weight:700;flex-shrink:0}
.rui-cap{margin:0;font-size:11px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rui-music{display:flex;align-items:center;gap:5px;font-size:10px;overflow:hidden}
.rui-music svg{flex-shrink:0}
.rui-marq{overflow:hidden;white-space:nowrap;flex:1;min-width:0}
.rui-marq span{display:inline-block;animation:marqText 7s linear infinite}
@keyframes marqText{to{transform:translateX(-50%)}}
.rui.hero{background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.6))}
.rui.hero .rui-side{bottom:70px;right:10px}
.rui.hero .rui-bottom{right:60px;bottom:14px}
.swap .lbl{bottom:auto;top:52px}
.heart-pop{position:absolute;width:80px;height:80px;margin:-40px 0 0 -40px;pointer-events:none;animation:heartPop .9s ease forwards;z-index:5}
@keyframes heartPop{0%{transform:scale(.2) rotate(-12deg);opacity:0}25%{transform:scale(1.15) rotate(6deg);opacity:1}55%{transform:scale(.95) rotate(0)}100%{transform:scale(1) translateY(-40px);opacity:0}}
.avatar{width:52px;height:52px;border-radius:50%;background:var(--violet-deep);display:grid;place-items:center;font:700 20px var(--display);flex-shrink:0}

/* ---------- Tour: bottom sheet ---------- */
.tour-back{position:fixed;inset:0;z-index:100;background:rgba(5,4,10,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .25s ease}
@keyframes fadeIn{from{opacity:0}}
.tour{width:100%;max-width:var(--col);max-height:calc(100% - env(safe-area-inset-top,0px) - 16px);overflow:auto;border-radius:28px 28px 0 0;border:1px solid var(--line);border-bottom:none;background:linear-gradient(180deg,#1A1740,#120F2A);display:flex;flex-direction:column;gap:14px;
  padding-top:10px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));animation:sheetUp .35s cubic-bezier(.2,.9,.3,1)}
@keyframes sheetUp{from{transform:translateY(60px);opacity:0}}
.grab{width:44px;height:5px;border-radius:3px;background:#4A4766;align-self:center;flex-shrink:0}
.tour-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.tour-head h2{font-size:24px}
.tour-head h2 em{font-style:normal;color:var(--violet)}
.tour-stage{position:relative;border-radius:22px;border:1px solid var(--line);background:radial-gradient(300px 260px at 50% 30%,rgba(110,85,240,.38),transparent 70%),#15123A;padding:14px 12px 12px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}
.tour-media{position:relative;width:min(190px,48vw);aspect-ratio:9/16;border-radius:16px;overflow:hidden;border:2px solid rgba(255,255,255,.7);background:#0B0A12;touch-action:pan-y;transition:border-color .3s,box-shadow .3s}
.tour-media.result{border-color:var(--accent);box-shadow:0 0 0 4px rgba(171,75,255,.18),0 0 40px rgba(171,75,255,.25)}
.tour-media video,.tour-media img{width:100%;height:100%;object-fit:cover;display:block}
.tour-media .tag{position:absolute;top:8px;left:8px}
.scanline{position:absolute;left:0;right:0;height:38%;top:-38%;background:linear-gradient(180deg,transparent,rgba(160,140,255,.35) 70%,rgba(255,111,181,.55));border-bottom:2px solid var(--pink);animation:scan 2.2s linear infinite;pointer-events:none}
@keyframes scan{to{top:100%}}
.tour-media .inset{position:absolute;right:8px;bottom:8px;width:38%;aspect-ratio:9/16;border-radius:8px;overflow:hidden;border:2px solid #fff}
.tour-text{display:flex;flex-direction:column;align-items:center;gap:6px;min-height:118px}
.tour-num{width:30px;height:30px;border-radius:50%;background:var(--violet-deep);color:#fff;font-weight:700;display:grid;place-items:center;font-size:14px}
.tour-text h3{font-size:19px;line-height:1.2}
.tour-text p{color:var(--muted);font-size:14px;max-width:32ch}
.tour-prog{width:180px;height:8px;border-radius:4px;background:#2A2842;overflow:hidden;margin-top:4px}
.tour-prog i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--violet),var(--pink))}
.nav-arrow{position:absolute;top:calc(14px + min(190px,48vw) * 16 / 18 - 22px);width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:rgba(11,10,18,.75);display:grid;place-items:center;cursor:pointer}
.nav-arrow.prev{left:8px}.nav-arrow.next{right:8px}
.tour-ctrl{width:100%;display:flex;align-items:center;gap:10px}
.pp{width:38px;height:38px;border-radius:50%;border:none;background:#fff;color:#0B0A12;display:grid;place-items:center;cursor:pointer;flex-shrink:0}
.segs{flex:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.segs button{height:24px;border:none;background:none;padding:0;cursor:pointer;display:flex;align-items:center}
.segs button span{display:block;width:100%;height:4px;border-radius:2px;background:rgba(255,255,255,.22);overflow:hidden}
.segs button span i{display:block;height:100%;width:0;background:#fff}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}.marquee{overflow-x:auto}}
