/* ===== block_1 ===== */
/* ============================ THEME ============================ */
:root{
  --bg:#070608; --red:#FF0000; --red-neon:#FF2D55; --red-dark:#8B0000;
  --txt:#f4f4f6; --muted:#9a98a3; --muted-2:#6f6d78;
  --card:rgba(17,15,19,0.86); --card-brd:rgba(255,45,85,0.22);
  --glass-blur:18px; --glow:0 0 24px rgba(255,45,85,0.35); --glow-soft:0 0 60px rgba(255,0,0,0.18);
  --radius:18px; --maxw:1180px;
  --green:#36e07a; --blue:#3aa0ff; --amber:#ffb020;
  --neon-cyan:#36c2ff; --neon-blue:#3a7bff; --neon-pink:#ff5db1;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Onest',system-ui,sans-serif;background:var(--bg);color:var(--txt);line-height:1.55;overflow-x:hidden;min-height:100vh}
h1,h2,h3,h4{font-family:'Onest',system-ui,sans-serif;letter-spacing:-0.02em}
::selection{background:var(--red-neon);color:#fff}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:#0c0b0d}
::-webkit-scrollbar-thumb{background:linear-gradient(var(--red-dark),var(--red-neon));border-radius:20px}

/* BACKGROUND */
#matrix{position:fixed;inset:0;z-index:0;display:block;opacity:.55}
#bg-veil{position:fixed;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(1100px 640px at 50% 22%, rgba(7,6,8,0.82), rgba(7,6,8,0.5) 45%, transparent 72%),
  radial-gradient(1200px 700px at 50% -10%, rgba(255,0,0,0.10), transparent 60%),
  linear-gradient(180deg, rgba(7,6,8,0.62), rgba(7,6,8,0.78))}
.layer{position:relative;z-index:2}

/* LAYOUT */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}
.nav{position:sticky;top:0;z-index:30;backdrop-filter:blur(10px);background:linear-gradient(180deg,rgba(10,10,10,0.82),rgba(10,10,10,0.25));border-bottom:1px solid rgba(255,45,85,0.12)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;align-items:center;gap:11px;font-family:'Onest',system-ui,sans-serif;font-weight:800;font-size:19px;cursor:pointer}
.brand .dot{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,var(--red),var(--red-neon));display:grid;place-items:center;box-shadow:var(--glow);position:relative}
.brand .dot:after{content:"";width:0;height:0;border-left:9px solid #fff;border-top:6px solid transparent;border-bottom:6px solid transparent;margin-left:2px}
.brand{color:#ffffff}
.brand b{color:#ff5c7a;-webkit-text-fill-color:#ff5c7a;font-weight:800;text-shadow:0 0 18px rgba(255,45,85,0.55),0 0 2px rgba(0,0,0,0.5)}
.brand>span:last-child{text-shadow:0 1px 10px rgba(0,0,0,0.7)}
.nav-tag{font-size:12px;color:var(--muted);font-weight:500;letter-spacing:.04em}

/* HERO */
.hero{min-height:calc(100vh - 64px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 0 80px;position:relative}
.hero.tall{justify-content:flex-start;padding-top:34px}
.hero:before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(900px,96%);height:min(620px,90%);background:radial-gradient(ellipse at center, rgba(7,6,8,0.78), rgba(7,6,8,0.45) 55%, transparent 78%);filter:blur(8px);z-index:-1;pointer-events:none}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#ffb3c1;border:1px solid var(--card-brd);padding:7px 16px;border-radius:100px;background:rgba(255,45,85,0.06);margin-bottom:26px;animation:fadeUp .7s both}
.eyebrow .pulse{width:8px;height:8px;border-radius:50%;background:var(--red-neon);box-shadow:0 0 10px var(--red-neon);animation:blink 1.6s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
.hero h1{font-size:clamp(38px,7vw,76px);font-weight:800;line-height:1.02;max-width:14ch;margin-bottom:20px;animation:fadeUp .7s .05s both;text-shadow:0 2px 24px rgba(0,0,0,0.85),0 0 2px rgba(0,0,0,0.6)}
.hero h1 .hl{background:linear-gradient(90deg,var(--red),var(--red-neon));-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 40px rgba(255,45,85,0.45)}
.hero p.sub{font-size:clamp(16px,2vw,20px);color:#c9c7d0;max-width:60ch;margin-bottom:42px;animation:fadeUp .7s .12s both;text-shadow:0 1px 12px rgba(0,0,0,0.9)}
.hero p.sub b{color:#fff;font-weight:600}
.searchbox{width:min(720px,92vw);max-width:100%;margin-left:auto;margin-right:auto;animation:fadeUp .7s .2s both}
#auditPane,#ideaPane{align-self:stretch;text-align:center}
#auditPane h1,#ideaPane h1,#auditPane p.sub,#ideaPane p.sub{margin-left:auto;margin-right:auto}
.search-label{font-family:'Onest',system-ui,sans-serif;font-weight:600;font-size:15px;color:#fff;margin-bottom:14px;display:block}
.search-shell{display:flex;gap:10px;padding:9px;border-radius:20px;background:var(--card);backdrop-filter:blur(var(--glass-blur));border:1px solid var(--card-brd);box-shadow:var(--glow-soft);position:relative}
.search-shell input{flex:1;background:transparent;border:none;outline:none;color:#fff;font-size:16px;padding:14px 16px;font-family:'Onest';min-width:0}
.search-shell input::placeholder{color:var(--muted-2)}

.btn{position:relative;border:none;cursor:pointer;font-family:'Onest',system-ui,sans-serif;font-weight:700;font-size:15.5px;color:#fff;padding:14px 26px;border-radius:14px;letter-spacing:.02em;white-space:nowrap;overflow:hidden;background:linear-gradient(135deg,var(--red),var(--red-neon));box-shadow:0 0 0 1px rgba(255,255,255,0.06),0 8px 26px rgba(255,0,0,0.35),inset 0 1px 0 rgba(255,255,255,0.25);transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .25s,filter .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(255,255,255,0.12),0 14px 38px rgba(255,45,85,0.5),inset 0 1px 0 rgba(255,255,255,0.3);filter:brightness(1.06)}
.btn:active{transform:translateY(0) scale(.98)}
.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
.btn:before{content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,0.45),transparent);transform:skewX(-20deg);transition:left .6s}
.btn:hover:before{left:140%}
.btn.ghost{background:rgba(255,255,255,0.04);border:1px solid var(--card-brd);box-shadow:none;color:#fff}
.btn.ghost:hover{background:rgba(255,45,85,0.1);box-shadow:var(--glow)}
.btn.sm{padding:9px 16px;font-size:13.5px;border-radius:11px}
.hero .examples{margin-top:18px;font-size:13px;color:var(--muted-2)}
.hero .examples code{color:#ffb3c1;background:rgba(255,45,85,0.07);padding:2px 8px;border-radius:6px;font-family:'Onest',system-ui,sans-serif;cursor:pointer;margin:0 3px;display:inline-block}
.hero .examples code:hover{background:rgba(255,45,85,0.16)}
.hero-feats{display:flex;flex-wrap:wrap;gap:10px 22px;justify-content:center;margin-top:46px;animation:fadeUp .7s .3s both}
.hero-feats span{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:7px}
.hero-feats span:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--red-neon);box-shadow:0 0 8px var(--red-neon)}
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}

/* LOADING */
#loading{display:none;min-height:80vh;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:40px 0}
.loader-ring{width:80px;height:80px;border-radius:50%;position:relative;margin-bottom:34px}
.loader-ring:before,.loader-ring:after{content:"";position:absolute;inset:0;border-radius:50%;border:3px solid transparent}
.loader-ring:before{border-top-color:var(--red-neon);border-right-color:var(--red);animation:spin 1s linear infinite;box-shadow:0 0 24px rgba(255,45,85,0.5)}
.loader-ring:after{inset:12px;border-bottom-color:var(--red);animation:spin 1.4s linear reverse infinite}
@keyframes spin{to{transform:rotate(360deg)}}
#loading h2{font-size:26px;margin-bottom:10px}
.steps{margin-top:26px;display:flex;flex-direction:column;gap:12px;width:min(460px,90vw);text-align:left}
.step{display:flex;align-items:center;gap:13px;padding:13px 16px;border-radius:13px;border:1px solid rgba(255,255,255,0.06);background:rgba(255,255,255,0.02);color:var(--muted);font-size:14.5px;transition:.3s}
.step .ic{width:26px;height:26px;border-radius:50%;border:2px solid rgba(255,255,255,0.15);display:grid;place-items:center;flex-shrink:0;font-size:13px;transition:.3s}
.step.active{border-color:var(--card-brd);background:rgba(255,45,85,0.06);color:#fff}
.step.active .ic{border-color:var(--red-neon);box-shadow:0 0 14px rgba(255,45,85,0.5)}
.step.done{color:#cfcdd6}
.step.done .ic{background:linear-gradient(135deg,var(--red),var(--red-neon));border-color:transparent}
.step.done .ic:after{content:"✓";color:#fff;font-weight:700}
.step.active .ic .sp{width:11px;height:11px;border:2px solid var(--red-neon);border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}

/* DASHBOARD */
#dashboard{display:none;padding:26px 0 90px}
.section{margin-top:44px;animation:fadeUp .6s both}
.section-h{margin-bottom:20px}
.section-h h2{font-size:clamp(21px,3vw,29px);font-weight:700;display:flex;align-items:center;gap:11px}
.section-h .desc{font-size:13.5px;color:var(--muted);margin-top:6px;max-width:75ch}
.card{background:var(--card);backdrop-filter:blur(var(--glass-blur));border:1px solid var(--card-brd);border-radius:var(--radius);padding:22px;box-shadow:0 10px 40px rgba(0,0,0,0.3)}

/* channel header */
.ch-head{display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.ch-head img{width:84px;height:84px;border-radius:50%;border:2px solid var(--card-brd);box-shadow:var(--glow)}
.ch-meta{flex:1;min-width:200px}
.ch-meta h2{font-size:25px;font-weight:800}
.ch-meta .handle{color:var(--muted);font-size:14px}
.ch-stats{display:flex;flex-wrap:wrap;gap:26px;margin-top:6px}
.ch-stat .v{font-family:'Onest',system-ui,sans-serif;font-weight:700;font-size:21px;color:#fff}
.ch-stat .l{font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}

/* score ring */
.score-wrap{display:flex;align-items:center;gap:16px}
.score-ring{position:relative;width:96px;height:96px;flex-shrink:0}
.score-ring svg{transform:rotate(-90deg)}
.score-ring .num{position:absolute;inset:0;display:grid;place-items:center;font-family:'Onest',system-ui,sans-serif;font-weight:800;font-size:27px}
.score-ring .num small{font-size:12px;color:var(--muted);font-weight:500;display:block;margin-top:-3px}

/* verdict banner */
.verdict{background:linear-gradient(120deg,rgba(255,0,0,0.12),rgba(255,45,85,0.05));border:1px solid var(--card-brd);border-radius:var(--radius);padding:24px 26px;position:relative;overflow:hidden}
.verdict:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(var(--red),var(--red-neon))}
.verdict .lab{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#ffb3c1;margin-bottom:8px;display:flex;align-items:center;gap:8px}
.verdict h3{font-size:clamp(19px,2.6vw,26px);font-weight:700;line-height:1.25}
.verdict .leak-tag{display:inline-block;margin-top:12px;font-size:13px;padding:5px 13px;border-radius:100px;background:rgba(255,45,85,0.12);border:1px solid var(--card-brd);color:#fff}

/* toggle */
.toggle{display:inline-flex;background:rgba(255,255,255,0.04);border:1px solid var(--card-brd);border-radius:13px;padding:5px;gap:4px}
.toggle button{border:none;background:transparent;color:var(--muted);font-family:'Onest',system-ui,sans-serif;font-weight:600;font-size:14px;padding:9px 20px;border-radius:9px;cursor:pointer;transition:.25s;display:flex;align-items:center;gap:7px}
.toggle button.on{background:linear-gradient(135deg,var(--red),var(--red-neon));color:#fff;box-shadow:var(--glow)}
.toggle .cnt{font-size:11px;opacity:.7}

/* kpi grid */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-top:18px}
.kpi{background:rgba(255,255,255,0.025);border:1px solid rgba(255,255,255,0.06);border-radius:14px;padding:16px}
.kpi .v{font-family:'Onest',system-ui,sans-serif;font-weight:700;font-size:24px;color:#fff}
.kpi .l{font-size:12px;color:var(--muted);margin-top:3px;display:flex;align-items:center;gap:5px}

/* video cards */
.vid-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px;margin-top:18px}
.vid{background:var(--card);backdrop-filter:blur(var(--glass-blur));border:1px solid var(--card-brd);border-radius:16px;overflow:hidden;transition:transform .2s,box-shadow .25s;display:flex;flex-direction:column}
.vid:hover{transform:translateY(-4px);box-shadow:0 16px 44px rgba(255,0,0,0.18)}
.vid .thumb{position:relative;aspect-ratio:16/9;background:#111;overflow:hidden}
.vid .thumb img{width:100%;height:100%;object-fit:cover;transition:.3s}
.vid:hover .thumb img{transform:scale(1.05)}
.vid .badge{position:absolute;top:9px;left:9px;font-size:11px;font-weight:700;padding:4px 9px;border-radius:7px;backdrop-filter:blur(4px)}
.badge.hit{background:rgba(54,224,122,0.18);color:#9bf3bf;border:1px solid rgba(54,224,122,0.4)}
.badge.flop{background:rgba(58,160,255,0.16);color:#a9d4ff;border:1px solid rgba(58,160,255,0.4)}
.vid .dur{position:absolute;bottom:9px;right:9px;font-size:11px;font-weight:600;background:rgba(0,0,0,0.78);padding:2px 7px;border-radius:5px;font-family:'Onest',system-ui,sans-serif}
.vid .body{padding:14px 15px 16px;display:flex;flex-direction:column;flex:1}
.vid .vtitle{font-size:14px;font-weight:600;line-height:1.35;color:#fff;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:38px}
.vid .vmetrics{display:flex;flex-wrap:wrap;gap:9px 14px;margin-top:11px}
.vid .vm{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:4px}
.vid .vm b{color:#fff;font-family:'Onest',system-ui,sans-serif;font-weight:600}
.vid .reason{margin-top:13px;font-size:12.5px;line-height:1.5;color:#dcdae3;background:rgba(255,45,85,0.05);border-left:2px solid var(--red-neon);padding:9px 11px;border-radius:0 8px 8px 0}
.vid .reason .ai{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:#ffb3c1;font-weight:700;display:block;margin-bottom:3px}
.vid .gap{margin-top:11px;font-size:12px;color:var(--amber);display:flex;align-items:center;gap:6px;font-weight:600}
.rewrites{margin-top:11px;border-top:1px dashed rgba(255,255,255,0.1);padding-top:11px}
.rewrites .rw-h{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--green);font-weight:700;margin-bottom:7px}
.rewrites ul{list-style:none;display:flex;flex-direction:column;gap:6px}
.rewrites li{font-size:12.5px;color:#e7e5ee;padding-left:16px;position:relative;line-height:1.4}
.rewrites li:before{content:"↻";position:absolute;left:0;color:var(--green)}
.rewrites .thumbidea{font-size:12px;color:#ffd2c2;margin-top:8px;background:rgba(255,176,32,0.07);padding:8px 10px;border-radius:8px;line-height:1.45}

/* charts */
.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
.chart-box{background:var(--card);backdrop-filter:blur(var(--glass-blur));border:1px solid var(--card-brd);border-radius:16px;padding:20px}
.chart-box h4{font-size:15px;margin-bottom:4px}
.chart-box .ch-sub{font-size:12px;color:var(--muted);margin-bottom:14px}
.chart-box canvas{max-height:280px}

/* heatmap */
.heat-wrap{overflow-x:auto;margin-top:8px}
.heat{border-collapse:separate;border-spacing:4px;margin:0 auto}
.heat td,.heat th{text-align:center;font-size:11px}
.heat th{color:var(--muted);font-weight:600;font-family:'Onest',system-ui,sans-serif;padding:2px 4px}
.heat td.cell{width:34px;height:30px;border-radius:7px;color:#fff;font-weight:600;font-size:11px;font-family:'Onest',system-ui,sans-serif;position:relative;cursor:default;transition:transform .15s}
.heat td.cell:hover{transform:scale(1.12);outline:1px solid #fff}
.heat .rowlab{color:var(--muted);font-weight:600;padding-right:6px;text-align:right;font-family:'Onest',system-ui,sans-serif}
.heat-legend{display:flex;align-items:center;gap:9px;justify-content:center;margin-top:14px;font-size:12px;color:var(--muted)}
.heat-legend .grad{width:120px;height:10px;border-radius:6px;background:linear-gradient(90deg,#2a2530,#8B0000,#FF0000,#FF2D55)}

/* formula / patterns */
.formula{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.chip{font-size:13px;padding:9px 15px;border-radius:11px;background:rgba(54,224,122,0.08);border:1px solid rgba(54,224,122,0.3);color:#bdf5d4;display:flex;align-items:center;gap:8px;font-weight:500}
.chip.neg{background:rgba(58,160,255,0.07);border-color:rgba(58,160,255,0.28);color:#bcdcff}

/* topics */
.topics{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-top:8px}
.topic{background:rgba(255,255,255,0.025);border:1px solid rgba(255,255,255,0.07);border-radius:14px;padding:16px}
.topic .tt{font-weight:700;font-family:'Onest',system-ui,sans-serif;font-size:15px;display:flex;justify-content:space-between;align-items:center}
.topic .tt .tag{font-size:11px;padding:3px 9px;border-radius:100px}
.tag.up{background:rgba(54,224,122,0.15);color:#9bf3bf}
.tag.down{background:rgba(58,160,255,0.13);color:#a9d4ff}
.tag.mid{background:rgba(255,176,32,0.13);color:#ffd089}
.topic .bar{height:7px;border-radius:6px;background:rgba(255,255,255,0.07);margin:11px 0 8px;overflow:hidden}
.topic .bar span{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,var(--red),var(--red-neon))}
.topic .mu{font-size:12px;color:var(--muted)}

/* competitors */
.comp-add{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}
.comp-add input{flex:1;min-width:220px;background:rgba(255,255,255,0.03);border:1px solid var(--card-brd);border-radius:12px;padding:12px 15px;color:#fff;outline:none;font-size:14px}
.comp-add input::placeholder{color:var(--muted-2)}
.comp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.comp{background:var(--card);backdrop-filter:blur(var(--glass-blur));border:1px solid var(--card-brd);border-radius:16px;padding:18px}
.comp-top{display:flex;gap:13px;align-items:center}
.comp-top img{width:50px;height:50px;border-radius:50%;border:1px solid var(--card-brd)}
.comp-top .cn{font-weight:700;font-size:15px;font-family:'Onest',system-ui,sans-serif}
.comp-top .cs{font-size:12px;color:var(--muted)}
.comp .mini{display:flex;gap:16px;margin-top:13px}
.comp .mini div .v{font-family:'Onest',system-ui,sans-serif;font-weight:700;color:#fff;font-size:16px}
.comp .mini div .l{font-size:10.5px;color:var(--muted);text-transform:uppercase}
.versus{margin-top:14px;font-size:12.5px;color:#e7e5ee;background:rgba(255,45,85,0.05);border-radius:10px;padding:10px 12px;line-height:1.45}

/* takeaways / action plan */
.bullets{display:flex;flex-direction:column;gap:11px;margin-top:6px}
.bullets .b{display:flex;gap:12px;background:rgba(255,255,255,0.025);border:1px solid rgba(255,255,255,0.06);border-radius:13px;padding:14px 16px;font-size:14px;line-height:1.5}
.bullets .b .n{flex-shrink:0;width:24px;height:24px;border-radius:7px;background:rgba(255,45,85,0.12);border:1px solid var(--card-brd);display:grid;place-items:center;font-size:13px;color:#ffb3c1;font-weight:700;font-family:'Onest',system-ui,sans-serif}

.plan{display:flex;flex-direction:column;gap:12px;margin-top:6px}
.task{display:flex;gap:14px;align-items:flex-start;background:rgba(255,255,255,0.025);border:1px solid rgba(255,255,255,0.06);border-radius:14px;padding:15px 17px;transition:.2s;cursor:pointer}
.task:hover{border-color:var(--card-brd)}
.task.done2{opacity:.55}
.task.done2 .tx .ts{text-decoration:line-through}
.task .check{width:24px;height:24px;border-radius:7px;border:2px solid var(--card-brd);flex-shrink:0;margin-top:2px;display:grid;place-items:center;transition:.2s}
.task.done2 .check{background:linear-gradient(135deg,var(--red),var(--red-neon));border-color:transparent}
.task.done2 .check:after{content:"✓";color:#fff;font-weight:700;font-size:13px}
.task .tx{flex:1}
.task .ts{font-weight:600;font-size:14.5px;color:#fff;display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.task .why{font-size:13px;color:var(--muted);margin-top:5px;line-height:1.5}
.prio{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:3px 9px;border-radius:100px}
.prio.high{background:rgba(255,0,0,0.16);color:#ff8a9e;border:1px solid rgba(255,45,85,0.4)}
.prio.medium{background:rgba(255,176,32,0.13);color:#ffd089;border:1px solid rgba(255,176,32,0.35)}
.prio.low{background:rgba(58,160,255,0.12);color:#a9d4ff;border:1px solid rgba(58,160,255,0.3)}
.week-h{font-family:'Onest',system-ui,sans-serif;font-weight:700;font-size:14px;color:#ffb3c1;margin:18px 0 4px;letter-spacing:.04em;text-transform:uppercase}
.week-h:first-child{margin-top:6px}
.plan-progress{display:flex;align-items:center}

/* simulator */
.sim-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.sim-form{display:flex;flex-direction:column;gap:13px}
.sim-form label{font-size:12.5px;color:var(--muted);font-weight:600;margin-bottom:-7px}
.sim-form input,.sim-form select{background:rgba(255,255,255,0.03);border:1px solid var(--card-brd);border-radius:11px;padding:12px 14px;color:#fff;outline:none;font-size:14px;font-family:'Onest'}
.sim-form select{cursor:pointer}
.sim-result{border:1px dashed var(--card-brd);border-radius:14px;padding:20px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;min-height:200px}
.sim-verdict{font-family:'Onest',system-ui,sans-serif;font-weight:800;font-size:24px;margin:8px 0}
.sim-verdict.good{color:var(--green)}
.sim-verdict.risk{color:#ff8a9e}
.sim-verdict.mid{color:var(--amber)}
.sim-gauge{font-size:13px;color:var(--muted);margin-bottom:10px}
.sim-tips{font-size:13px;color:#e7e5ee;text-align:left;line-height:1.5;margin-top:6px}
.sim-tips li{margin-bottom:5px;list-style:none;padding-left:15px;position:relative}
.sim-tips li:before{content:"→";position:absolute;left:0;color:var(--red-neon)}

/* title patterns */
.patterns{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.pat{background:var(--card);backdrop-filter:blur(var(--glass-blur));border:1px solid var(--card-brd);border-radius:14px;padding:16px 18px;font-size:14px;line-height:1.5;color:#e7e5ee;position:relative;padding-left:46px}
.pat:before{content:"𝍌";position:absolute;left:16px;top:15px;color:var(--red-neon);font-size:18px}
.pat b{color:#fff}

/* next-video ideas */
.ideas{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.idea{background:var(--card);backdrop-filter:blur(var(--glass-blur));border:1px solid var(--card-brd);border-radius:16px;padding:18px;transition:.25s;position:relative;overflow:hidden}
.idea:hover{transform:translateY(-4px);border-color:rgba(255,45,85,0.5);box-shadow:var(--glow)}
.idea .fmt{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:100px;margin-bottom:10px}
.idea .fmt.short{background:rgba(255,176,32,0.14);color:var(--amber);border:1px solid rgba(255,176,32,0.3)}
.idea .fmt.long{background:rgba(255,45,85,0.12);color:#ff8a9e;border:1px solid var(--card-brd)}
.idea h4{font-size:16px;color:#fff;line-height:1.3;margin-bottom:8px}
.idea .iw{font-size:13px;color:var(--muted);line-height:1.5;margin-bottom:10px}
.idea .exp{font-size:12.5px;color:var(--green);font-weight:600;display:flex;align-items:center;gap:6px}
.idea .copy{position:absolute;top:14px;right:14px;cursor:pointer;font-size:12px;color:var(--muted-2);border:1px solid var(--card-brd);border-radius:8px;padding:3px 8px;background:rgba(0,0,0,.3);transition:.2s}
.idea .copy:hover{color:#fff;border-color:var(--red-neon)}

/* borrow-from-competitors cards */
.borrow-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:16px}
.borrow{background:linear-gradient(150deg,rgba(255,45,85,0.07),var(--card));backdrop-filter:blur(var(--glass-blur));border:1px solid var(--card-brd);border-radius:16px;padding:18px;position:relative;overflow:hidden;transition:.25s}
.borrow:hover{transform:translateY(-4px);border-color:rgba(255,45,85,0.5);box-shadow:var(--glow)}
.borrow .copy{position:absolute;top:14px;right:14px;cursor:pointer;font-size:12px;color:var(--muted-2);border:1px solid var(--card-brd);border-radius:8px;padding:3px 8px;background:rgba(0,0,0,.3);transition:.2s}
.borrow .copy:hover{color:#fff;border-color:var(--red-neon)}
.borrow .src{font-size:12px;color:#ff8a9e;margin-bottom:9px;display:flex;align-items:flex-start;gap:6px;line-height:1.4;padding-right:80px}
.borrow .src b{color:#fff;font-weight:600}
.borrow h4{font-size:16.5px;color:#fff;line-height:1.32;margin-bottom:9px}
.borrow .bw{font-size:13px;color:var(--muted);line-height:1.5;margin-bottom:10px}
.borrow .exp{font-size:12.5px;color:var(--green);font-weight:600;display:flex;align-items:center;gap:6px}
.borrow .fmt{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:100px;margin-bottom:10px}
.borrow .fmt.short{background:rgba(255,176,32,0.14);color:var(--amber);border:1px solid rgba(255,176,32,0.3)}
.borrow .fmt.long{background:rgba(255,45,85,0.12);color:#ff8a9e;border:1px solid var(--card-brd)}
.borrow .ang{font-size:12.5px;color:#bfe6cf;background:rgba(54,224,122,0.08);border:1px solid rgba(54,224,122,0.22);border-radius:9px;padding:8px 10px;line-height:1.45;margin-top:4px}

/* AI CHAT widget */
#chatFab{position:fixed;bottom:22px;right:22px;z-index:80;width:60px;height:60px;border-radius:50%;border:none;cursor:pointer;background:linear-gradient(135deg,var(--red),var(--red-neon));box-shadow:0 0 24px rgba(255,45,85,0.6),0 8px 24px rgba(0,0,0,0.5);display:grid;place-items:center;font-size:26px;transition:.25s;animation:pop .4s both}
#chatFab:hover{transform:scale(1.08) rotate(-6deg)}
#chatFab .ping{position:absolute;inset:0;border-radius:50%;border:2px solid var(--red-neon);animation:ping 2.2s infinite}
@keyframes ping{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.55);opacity:0}}
@keyframes pop{from{transform:scale(0)}to{transform:scale(1)}}
#chatPanel{position:fixed;bottom:94px;right:22px;z-index:81;width:min(400px,calc(100vw - 44px));height:min(560px,calc(100vh - 130px));background:rgba(16,14,18,0.92);backdrop-filter:blur(22px);border:1px solid var(--card-brd);border-radius:20px;box-shadow:0 0 40px rgba(255,0,0,0.2),0 20px 60px rgba(0,0,0,0.6);display:none;flex-direction:column;overflow:hidden;animation:fadeUp .3s both}
#chatPanel.open{display:flex}
.chat-head{padding:15px 18px;border-bottom:1px solid rgba(255,45,85,0.16);display:flex;align-items:center;gap:11px;background:linear-gradient(180deg,rgba(255,45,85,0.08),transparent)}
.chat-head .av{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--red),var(--red-neon));display:grid;place-items:center;font-size:17px;box-shadow:var(--glow)}
.chat-head .t{font-family:'Onest',system-ui,sans-serif;font-weight:700;font-size:15px}
.chat-head .s{font-size:11px;color:var(--green);display:flex;align-items:center;gap:5px}
.chat-head .s:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green)}
.chat-head .x{margin-left:auto;cursor:pointer;color:var(--muted);font-size:22px;line-height:1;background:none;border:none}
.chat-head .x:hover{color:#fff}
.chat-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}
.msg{max-width:85%;padding:10px 14px;border-radius:14px;font-size:13.5px;line-height:1.5;white-space:pre-wrap}
.msg.bot{align-self:flex-start;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);border-bottom-left-radius:4px}
.msg.user{align-self:flex-end;background:linear-gradient(135deg,rgba(255,0,0,0.85),rgba(255,45,85,0.85));color:#fff;border-bottom-right-radius:4px}
.msg.bot b{color:#ff8a9e}
.chat-typing{align-self:flex-start;display:flex;gap:4px;padding:12px 14px}
.chat-typing span{width:7px;height:7px;border-radius:50%;background:var(--red-neon);animation:bounce 1.2s infinite}
.chat-typing span:nth-child(2){animation-delay:.2s}.chat-typing span:nth-child(3){animation-delay:.4s}
@keyframes bounce{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}
.chat-sugg{display:flex;flex-wrap:wrap;gap:7px;padding:0 16px 10px}
.chat-sugg button{font-size:11.5px;color:#ffb3c1;background:rgba(255,45,85,0.08);border:1px solid var(--card-brd);border-radius:100px;padding:6px 11px;cursor:pointer;transition:.2s}
.chat-sugg button:hover{background:rgba(255,45,85,0.18);color:#fff}
.chat-input{display:flex;gap:8px;padding:12px 14px;border-top:1px solid rgba(255,45,85,0.16)}
.chat-input input{flex:1;background:rgba(0,0,0,0.4);border:1px solid var(--card-brd);border-radius:12px;padding:11px 14px;color:#fff;font-size:13.5px;font-family:inherit;outline:none}
.chat-input input:focus{border-color:var(--red-neon);box-shadow:0 0 0 3px rgba(255,45,85,0.12)}
.chat-input button{border:none;border-radius:12px;width:44px;cursor:pointer;background:linear-gradient(135deg,var(--red),var(--red-neon));color:#fff;font-size:17px;transition:.2s}
.chat-input button:hover{filter:brightness(1.15)}
.chat-input button:disabled{opacity:.5;cursor:default}

/* misc */
.empty{text-align:center;color:var(--muted);padding:40px 20px;font-size:14px}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:6px}
.tooltip{position:relative;cursor:help;border-bottom:1px dashed var(--muted-2)}
.tooltip .tip{visibility:hidden;opacity:0;position:absolute;bottom:135%;left:50%;transform:translateX(-50%);background:#161418;border:1px solid var(--card-brd);padding:9px 12px;border-radius:9px;width:220px;font-size:12px;color:#e7e5ee;line-height:1.4;z-index:50;transition:.2s;box-shadow:0 8px 24px rgba(0,0,0,.5);font-weight:400;text-transform:none;letter-spacing:0}
.tooltip:hover .tip{visibility:visible;opacity:1}
.err-box{background:rgba(255,0,0,0.08);border:1px solid rgba(255,45,85,0.4);border-radius:14px;padding:18px 20px;color:#ffc9d2;font-size:14.5px;line-height:1.6;display:flex;gap:13px;align-items:flex-start}
.err-box .x{font-size:22px;flex-shrink:0}
.fab-bar{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.muted{color:var(--muted)}
.center{text-align:center}
.note{font-size:12px;color:var(--muted-2);text-align:center;margin-top:8px}
/* mode switch */
.mode-switch{display:inline-flex;gap:5px;padding:5px;border-radius:14px;background:rgba(255,255,255,0.04);border:1px solid var(--card-brd);margin-bottom:30px;animation:fadeUp .6s both}
.mode-switch button{border:none;background:transparent;color:var(--muted);font-family:'Onest',system-ui,sans-serif;font-weight:600;font-size:14.5px;padding:10px 20px;border-radius:10px;cursor:pointer;transition:.25s}
.mode-switch button.on{background:linear-gradient(135deg,var(--red),var(--red-neon));color:#fff;box-shadow:var(--glow)}
.idea-filters{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;justify-content:center}
.idea-filters select{background:rgba(20,18,22,0.9);border:1px solid var(--card-brd);border-radius:11px;padding:10px 13px;color:#fff;font-size:13.5px;font-family:'Onest';outline:none;cursor:pointer}
.idea-filters select:focus{border-color:var(--red-neon)}

/* outlier result cards */
.out-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:14px;margin-bottom:6px}
.out-sort{display:inline-flex;gap:5px;padding:4px;border-radius:11px;background:rgba(255,255,255,0.04);border:1px solid var(--card-brd)}
.out-sort button{border:none;background:transparent;color:var(--muted);font-size:12.5px;font-weight:600;padding:7px 13px;border-radius:8px;cursor:pointer;font-family:'Onest',system-ui,sans-serif;transition:.2s}
.out-sort button.on{background:rgba(255,45,85,0.16);color:#fff}
.out-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;margin-top:18px}
.out{background:var(--card);backdrop-filter:blur(var(--glass-blur));border:1px solid var(--card-brd);border-radius:16px;overflow:hidden;transition:transform .2s,box-shadow .25s;display:flex;flex-direction:column;position:relative}
.out:hover{transform:translateY(-4px);box-shadow:0 16px 44px rgba(255,0,0,0.18)}
.out .thumb{position:relative;aspect-ratio:16/9;background:#111;overflow:hidden}
.out .thumb img{width:100%;height:100%;object-fit:cover;transition:.3s}
.out:hover .thumb img{transform:scale(1.05)}
.out .mult{position:absolute;top:9px;left:9px;font-family:'Onest',system-ui,sans-serif;font-weight:800;font-size:15px;padding:5px 11px;border-radius:9px;background:linear-gradient(135deg,#36e07a,#1fae5a);color:#04250f;box-shadow:0 4px 14px rgba(54,224,122,0.5)}
.out .mult.hot{background:linear-gradient(135deg,#ffb020,#ff7a00);color:#2a1400}
.out .mult.mega{background:linear-gradient(135deg,#ff2d55,#ff0000);color:#fff}
.out .dur{position:absolute;bottom:9px;right:9px;font-size:11px;font-weight:600;background:rgba(0,0,0,0.78);padding:2px 7px;border-radius:5px;font-family:'Onest',system-ui,sans-serif}
.out .typ{position:absolute;bottom:9px;left:9px;font-size:10.5px;font-weight:700;padding:3px 8px;border-radius:6px;backdrop-filter:blur(4px);text-transform:uppercase;letter-spacing:.05em}
.out .typ.short{background:rgba(255,176,32,0.25);color:#ffd089}
.out .typ.long{background:rgba(58,160,255,0.22);color:#a9d4ff}
.out .body{padding:13px 15px 15px;display:flex;flex-direction:column;flex:1}
.out .ot{font-size:14px;font-weight:600;line-height:1.34;color:#fff;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:38px}
.out .och{font-size:12px;color:var(--muted);margin-top:7px;display:flex;align-items:center;gap:6px}
.out .ostats{display:flex;flex-wrap:wrap;gap:7px 13px;margin-top:9px}
.out .om{font-size:11.5px;color:var(--muted);display:flex;align-items:center;gap:4px}
.out .om b{color:#fff;font-family:'Onest',system-ui,sans-serif;font-weight:600}
.out .obar{margin-top:11px;display:flex;gap:7px}
.out .obar button{flex:1;font-size:11.5px;font-weight:600;padding:7px;border-radius:9px;border:1px solid var(--card-brd);background:rgba(255,255,255,0.03);color:#ffb3c1;cursor:pointer;transition:.2s;font-family:'Onest',system-ui,sans-serif}
.out .obar button:hover{background:rgba(255,45,85,0.14);color:#fff}
.out .obar a{flex:1;text-align:center;font-size:11.5px;font-weight:600;padding:7px;border-radius:9px;border:1px solid rgba(255,255,255,0.08);background:rgba(255,255,255,0.02);color:var(--muted);cursor:pointer;transition:.2s;text-decoration:none;font-family:'Onest',system-ui,sans-serif}
.out .obar a:hover{color:#fff;border-color:var(--card-brd)}
.out-summary{background:linear-gradient(120deg,rgba(54,224,122,0.08),rgba(255,45,85,0.04));border:1px solid var(--card-brd);border-radius:var(--radius);padding:20px 22px;margin-top:18px;font-size:14px;line-height:1.6;color:#e7e5ee}
.out-summary b{color:#fff}
.out-summary .oh{font-family:'Onest',system-ui,sans-serif;font-weight:700;font-size:16px;color:#fff;margin-bottom:8px;display:flex;align-items:center;gap:8px}


/* momentum */
.mom-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:18px}
.mom-main{background:var(--card);backdrop-filter:blur(var(--glass-blur));border:1px solid var(--card-brd);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;gap:14px}
.mom-verdict{font-family:'Onest',system-ui,sans-serif;font-weight:800;font-size:clamp(22px,3vw,30px);line-height:1.15;display:flex;align-items:center;gap:12px}
.mom-verdict .ar{font-size:34px;line-height:1}
.mom-trend.up{color:var(--green)}.mom-trend.down{color:#ff8a9e}.mom-trend.flat{color:var(--amber)}
.mom-sub{font-size:14px;color:#d7d5de;line-height:1.55}
.mom-sub b{color:#fff}
.mom-cards{display:flex;flex-direction:column;gap:12px}
.mom-card{background:var(--card);backdrop-filter:blur(var(--glass-blur));border:1px solid var(--card-brd);border-radius:16px;padding:16px 18px}
.mom-card .l{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}
.mom-card .v{font-family:'Onest',system-ui,sans-serif;font-weight:700;font-size:22px;color:#fff}
.mom-card .d{font-size:12.5px;color:var(--muted);margin-top:3px;line-height:1.4}
.mom-spark{display:flex;align-items:flex-end;gap:3px;height:46px;margin-top:8px}
.mom-spark i{flex:1;border-radius:3px 3px 0 0;background:linear-gradient(180deg,var(--red-neon),var(--red-dark));min-height:3px;display:block}

/* title lab */
.lab-shell{background:var(--card);backdrop-filter:blur(var(--glass-blur));border:1px solid var(--card-brd);border-radius:var(--radius);padding:22px}
.lab-form{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.lab-form input{flex:1;min-width:220px;background:rgba(255,255,255,0.03);border:1px solid var(--card-brd);border-radius:12px;padding:13px 15px;color:#fff;outline:none;font-size:14.5px}
.lab-form input::placeholder{color:var(--muted-2)}
.lab-out{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;margin-top:18px}
.lab-item{background:rgba(255,255,255,0.025);border:1px solid rgba(255,255,255,0.07);border-radius:13px;padding:14px 16px;position:relative;transition:.2s;cursor:pointer}
.lab-item:hover{border-color:rgba(255,45,85,0.5);background:rgba(255,45,85,0.05)}
.lab-item .lt{font-size:14.5px;color:#fff;font-weight:600;line-height:1.4;padding-right:30px}
.lab-item .lc{position:absolute;top:12px;right:12px;font-size:13px;color:var(--muted-2)}
.lab-item:hover .lc{color:#ff8a9e}
.lab-item .why2{font-size:12px;color:var(--muted);margin-top:7px;line-height:1.4}

@media(max-width:780px){
  .chart-grid,.sim-grid{grid-template-columns:1fr}
  .search-shell{flex-direction:column}
  .search-shell .btn{width:100%}
  .ch-stats{gap:18px}
  .wrap{padding:0 16px}
  .nav-tag{display:none}
  .vid-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
  #chatPanel{right:12px;left:12px;width:auto;bottom:88px;height:min(560px,calc(100vh - 120px))}
  #chatFab{bottom:16px;right:16px}
}
@media(max-width:520px){
  .wrap{padding:0 13px}
  .hero{padding:38px 0 56px;min-height:auto}
  .hero h1{font-size:clamp(30px,9vw,42px);max-width:100%}
  .hero p.sub{font-size:15px;margin-bottom:30px}
  .hero-feats{gap:8px 14px;margin-top:30px}
  .hero-feats span{font-size:12px}
  .eyebrow{font-size:11px;padding:6px 13px;letter-spacing:.1em}
  .section{margin-top:30px}
  .section-h h2{font-size:20px}
  .card{padding:16px}
  .vid-grid,.comp-grid,.ideas,.borrow-grid,.patterns,.topics{grid-template-columns:1fr}
  .kpis{grid-template-columns:repeat(2,1fr)}
  .ch-head{gap:14px}
  .ch-head img{width:64px;height:64px}
  .ch-meta h2{font-size:20px}
  .ch-stats{gap:14px 20px}
  .score-wrap{width:100%;justify-content:center;margin-top:6px}
  .toggle{width:100%}
  .toggle button{flex:1;justify-content:center;padding:10px 8px}
  .fab-bar .btn,.fab-bar{width:100%}
  .fab-bar .btn{width:100%}
  .comp-add{flex-direction:column}
  .comp-add input,.comp-add .btn{width:100%}
  .heat td.cell{width:28px;height:26px;font-size:10px}
  .vid .vtitle{font-size:13.5px}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001s!important;animation-iteration-count:1!important}
}
/* ============ CUSTOM DROPDOWN ============ */
.dd{position:relative;font-family:'Onest';text-align:left}
.dd-btn{display:flex;align-items:center;gap:9px;width:100%;background:rgba(20,18,22,0.92);border:1px solid var(--card-brd);border-radius:12px;padding:11px 13px;color:#fff;font-size:13.5px;font-weight:500;cursor:pointer;outline:none;transition:.2s;font-family:'Onest';min-width:172px}
.dd-btn:hover{border-color:var(--red-neon);background:rgba(255,45,85,0.07)}
.dd.open .dd-btn{border-color:var(--red-neon);box-shadow:0 0 0 3px rgba(255,45,85,0.12)}
.dd-ic{font-size:15px;line-height:1}
.dd-val{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dd-arr{font-size:11px;color:var(--muted);transition:transform .22s}
.dd.open .dd-arr{transform:rotate(180deg);color:var(--red-neon)}
.dd-menu{position:absolute;top:calc(100% + 7px);left:0;right:0;min-width:100%;background:rgba(16,14,18,0.98);backdrop-filter:blur(16px);border:1px solid var(--card-brd);border-radius:13px;padding:6px;z-index:60;box-shadow:0 18px 50px rgba(0,0,0,0.6),var(--glow-soft);opacity:0;transform:translateY(-8px) scale(.98);pointer-events:none;transition:.18s cubic-bezier(.2,.8,.2,1);max-height:320px;overflow-y:auto}
.dd.open .dd-menu{opacity:1;transform:none;pointer-events:auto}
.dd-opt{padding:10px 12px;border-radius:9px;font-size:13.5px;color:#d8d6e0;cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:8px;transition:.13s}
.dd-opt:hover{background:rgba(255,45,85,0.12);color:#fff}
.dd-opt.sel{background:linear-gradient(135deg,rgba(255,45,85,0.22),rgba(255,0,0,0.1));color:#fff;font-weight:600}
.dd-opt.sel:after{content:'\2713';margin-left:auto;color:var(--red-neon);font-weight:800}
.idea-filters .dd{flex:0 1 auto}
/* style remaining native selects to match */
.sim-form select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239a98a3' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;padding-right:34px}
/* ============ DEEP-DIVE BUTTON ============ */
.deep-btn{margin-top:13px;width:100%;border:1px solid var(--card-brd);background:linear-gradient(135deg,rgba(255,45,85,0.12),rgba(255,255,255,0.02));color:#ffc2cf;font-family:'Onest',system-ui,sans-serif;font-weight:700;font-size:12.5px;padding:10px;border-radius:11px;cursor:pointer;transition:.2s;display:flex;align-items:center;justify-content:center;gap:7px}
.deep-btn:hover{background:linear-gradient(135deg,rgba(255,45,85,0.26),rgba(255,45,85,0.08));color:#fff;box-shadow:var(--glow);transform:translateY(-1px)}
/* ============ VIDEO DRAWER ============ */
#vdOverlay{position:fixed;inset:0;background:rgba(4,3,5,0.72);backdrop-filter:blur(3px);z-index:16000;opacity:0;pointer-events:none;transition:.28s}
#vdOverlay.open{opacity:1;pointer-events:auto}
#vdDrawer{position:fixed;top:0;right:0;height:100%;width:min(560px,100vw);background:linear-gradient(180deg,#0d0b0f,#0a090b);border-left:1px solid var(--card-brd);z-index:16010;transform:translateX(102%);transition:transform .34s cubic-bezier(.2,.8,.2,1);box-shadow:-30px 0 80px rgba(0,0,0,0.6);display:flex;flex-direction:column}
#vdDrawer.open{transform:none}
.vd-inner{overflow-y:auto;height:100%;padding:0 0 40px}
.vd-top{position:sticky;top:0;z-index:2;background:linear-gradient(180deg,rgba(13,11,15,0.98),rgba(13,11,15,0.86));backdrop-filter:blur(8px);padding:16px 20px;border-bottom:1px solid rgba(255,255,255,0.06);display:flex;align-items:center;gap:12px}
.vd-top .vd-x{margin-left:auto;width:34px;height:34px;border-radius:9px;border:1px solid var(--card-brd);background:rgba(255,255,255,0.03);color:#fff;font-size:18px;cursor:pointer;flex-shrink:0;transition:.2s}
.vd-top .vd-x:hover{background:rgba(255,45,85,0.15);border-color:var(--red-neon)}
.vd-top .lab{font-family:'Onest',system-ui,sans-serif;font-weight:700;font-size:15px;color:#fff}
.vd-hero{padding:20px}
.vd-hero .thumb{position:relative;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#111;margin-bottom:14px;display:block}
.vd-hero .thumb img{width:100%;height:100%;object-fit:cover}
.vd-hero .thumb .dur{position:absolute;bottom:9px;right:9px;font-size:11px;font-weight:600;background:rgba(0,0,0,0.8);padding:2px 7px;border-radius:5px;font-family:'Onest',system-ui,sans-serif}
.vd-hero .vt{font-family:'Onest',system-ui,sans-serif;font-weight:700;font-size:18px;line-height:1.3;color:#fff;margin-bottom:12px}
.vd-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}
.vd-chip{font-size:12px;color:var(--muted);background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.07);padding:6px 10px;border-radius:9px}
.vd-chip b{color:#fff;font-family:'Onest',system-ui,sans-serif}
.vd-chip.hot{background:rgba(54,224,122,0.12);border-color:rgba(54,224,122,0.3);color:#9bf3bf}
.vd-chip.cold{background:rgba(58,160,255,0.12);border-color:rgba(58,160,255,0.3);color:#a9d4ff}
.vd-sec{padding:0 20px;margin-top:22px}
.vd-sec h4{font-family:'Onest',system-ui,sans-serif;font-weight:700;font-size:14.5px;color:#fff;margin-bottom:9px;display:flex;align-items:center;gap:8px}
.vd-score-row{display:flex;gap:12px;margin-bottom:4px}
.vd-sb{flex:1;background:var(--card);border:1px solid var(--card-brd);border-radius:13px;padding:13px 14px}
.vd-sb .lbl{font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:7px}
.vd-sb .num{font-family:'Onest',system-ui,sans-serif;font-weight:800;font-size:26px;color:#fff;line-height:1}
.vd-meter{height:7px;border-radius:20px;background:rgba(255,255,255,0.08);margin-top:9px;overflow:hidden}
.vd-meter span{display:block;height:100%;border-radius:20px;background:linear-gradient(90deg,var(--red),var(--red-neon))}
.vd-card{background:var(--card);border:1px solid var(--card-brd);border-radius:13px;padding:14px 16px;font-size:13.5px;line-height:1.6;color:#dcdae3}
.vd-card+.vd-card{margin-top:10px}
.vd-card .h{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:#ffb3c1;font-weight:700;margin-bottom:6px;display:flex;align-items:center;gap:6px}
.vd-curve{background:var(--card);border:1px solid var(--card-brd);border-radius:13px;padding:14px 14px 10px}
.vd-curve svg{width:100%;height:120px;display:block}
.vd-curve .axis{display:flex;justify-content:space-between;font-size:10px;color:var(--muted-2);margin-top:4px}
.vd-curve .note{font-size:11px;color:var(--muted-2);margin-top:8px;font-style:italic}
.vd-list{list-style:none;display:flex;flex-direction:column;gap:8px}
.vd-list li{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.06);border-radius:10px;padding:10px 12px;font-size:13px;color:#e7e5ee;line-height:1.5;position:relative;padding-left:34px}
.vd-list li:before{content:'';position:absolute;left:13px;top:14px;width:7px;height:7px;border-radius:50%;background:var(--red-neon);box-shadow:0 0 8px var(--red-neon)}
.vd-rew{display:flex;flex-direction:column;gap:8px}
.vd-rew .rw{display:flex;gap:9px;align-items:flex-start;background:rgba(255,45,85,0.06);border-left:2px solid var(--red-neon);border-radius:0 9px 9px 0;padding:9px 11px;font-size:13px;color:#fff;cursor:pointer;transition:.15s}
.vd-rew .rw:hover{background:rgba(255,45,85,0.14)}
.vd-rew .rw .c{color:#ffb3c1;font-size:12px;flex-shrink:0}
.vd-verdict{margin:20px 20px 0;padding:14px 16px;border-radius:13px;background:linear-gradient(120deg,rgba(255,45,85,0.12),rgba(255,0,0,0.04));border:1px solid var(--card-brd);font-size:14px;color:#fff;font-weight:600;line-height:1.5}
.vd-loading{padding:30px 20px;text-align:center}
.center{text-align:center}
/* ============ BULK ANALYSIS ============ */
.bulk-cta{margin-top:22px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:space-between;background:linear-gradient(120deg,rgba(255,45,85,0.1),rgba(255,255,255,0.02));border:1px solid var(--card-brd);border-radius:var(--radius);padding:16px 20px}
.bulk-cta .bc-txt{display:flex;flex-direction:column;gap:3px}
.bulk-cta .bc-txt b{font-family:'Onest',system-ui,sans-serif;font-size:15.5px;color:#fff}
.bulk-cta .bc-txt span{font-size:13px;color:var(--muted)}
.bulk-summary{background:linear-gradient(120deg,rgba(54,224,122,0.08),rgba(255,45,85,0.05));border:1px solid var(--card-brd);border-radius:var(--radius);padding:20px 22px;margin-top:18px;font-size:14px;line-height:1.6;color:#e7e5ee}
.bulk-summary .oh{font-family:'Onest',system-ui,sans-serif;font-weight:700;font-size:16px;color:#fff;margin-bottom:10px;display:flex;gap:8px}
.bulk-summary b{color:#fff}
.bulk-summary ul{margin:8px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:5px}
.bulk-stats{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 4px}
.bulk-stat{flex:1;min-width:90px;text-align:center;background:rgba(255,255,255,0.03);border:1px solid var(--card-brd);border-radius:12px;padding:12px 8px}
.bulk-stat .v{font-family:'Onest',system-ui,sans-serif;font-weight:800;font-size:22px;color:#fff}
.bulk-stat .l{font-size:11.5px;color:var(--muted);margin-top:3px}
.bulk-table{margin-top:16px;display:flex;flex-direction:column;gap:8px}
.brow{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;background:var(--card);border:1px solid var(--card-brd);border-radius:12px;padding:11px 14px;cursor:pointer;transition:.18s}
.brow:hover{border-color:var(--red-neon);transform:translateX(2px);box-shadow:var(--glow)}
.brow .vp{width:62px;height:36px;border-radius:7px;object-fit:cover;background:#111;flex-shrink:0}
.brow .bmid .bt{font-size:13.5px;font-weight:600;color:#fff;line-height:1.3;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.brow .bmid .br{font-size:12px;color:var(--muted);margin-top:3px;line-height:1.4}
.brow .bmid .bf{font-size:12px;color:#ffb3c1;margin-top:2px}
.brow .bv{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:5px 9px;border-radius:8px;white-space:nowrap}
.bv.hit{background:rgba(54,224,122,0.18);color:#9bf3bf}
.bv.ok{background:rgba(255,176,32,0.16);color:#ffd089}
.bv.flop{background:rgba(58,160,255,0.16);color:#a9d4ff}
/* ============ SIDE-BY-SIDE COMPARE ============ */
.compare-wrap{margin-top:26px}
.cmp-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.cmp-title{font-family:'Onest',system-ui,sans-serif;font-weight:700;font-size:19px;color:#fff;display:flex;align-items:center;gap:8px}
.cmp-cols{display:flex;gap:12px;margin-bottom:14px}
.cmp-col{flex:1;display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--card-brd);border-radius:13px;padding:12px 14px}
.cmp-col.me{border-color:rgba(255,45,85,0.4)}
.cmp-col img{width:42px;height:42px;border-radius:50%;object-fit:cover;background:#111}
.cmp-col .nm{font-weight:700;font-size:14px;color:#fff;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cmp-col .tag{font-size:11px;color:var(--muted)}
.cmp-col .tag.you{color:#ffb3c1;font-weight:700}
.cmp-row{background:var(--card);border:1px solid var(--card-brd);border-radius:13px;padding:12px 16px;margin-bottom:9px}
.cmp-row .rl{font-size:12.5px;color:var(--muted);margin-bottom:9px;display:flex;justify-content:space-between}
.cmp-bars{display:flex;align-items:center;gap:10px}
.cmp-bars .side{flex:1;display:flex;flex-direction:column;gap:5px}
.cmp-bars .side.r{align-items:flex-end}
.cmp-bars .val{font-family:'Onest',system-ui,sans-serif;font-weight:700;font-size:14px;color:#fff}
.cmp-bars .track{width:100%;height:8px;border-radius:20px;background:rgba(255,255,255,0.07);overflow:hidden}
.cmp-bars .track i{display:block;height:100%;border-radius:20px}
.cmp-bars .side .track i{background:linear-gradient(90deg,#3a7bff,#36c2ff)}
.cmp-bars .side.r .track{transform:scaleX(-1)}
.cmp-bars .me .track i{background:linear-gradient(90deg,var(--red),var(--red-neon))}
.cmp-win{font-size:10px;font-weight:800;color:#04250f;background:#36e07a;padding:2px 7px;border-radius:6px;margin-left:6px}
.cmp-win.me{background:var(--red-neon);color:#fff}
@media(max-width:560px){#vdDrawer{width:100vw}.cmp-cols{flex-direction:column}}
/* quota pill */
.quota-pill{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);background:rgba(255,255,255,.04);border:1px solid var(--card-brd);padding:5px 10px;border-radius:999px;white-space:nowrap}
.quota-pill .qd{width:7px;height:7px;border-radius:50%;background:#36e07a;box-shadow:0 0 8px #36e07a;flex:none}
.quota-pill.low .qd{background:#ffb020;box-shadow:0 0 8px #ffb020}
.quota-pill b{color:var(--txt)}
.quota-pill .qbar{width:54px;height:5px;border-radius:3px;background:rgba(255,255,255,.1);overflow:hidden}
.quota-pill .qbar i{display:block;height:100%;background:linear-gradient(90deg,#36e07a,#36c2ff)}
.quota-pill.low .qbar i{background:linear-gradient(90deg,#ffb020,#FF2D55)}
@media(max-width:720px){.quota-pill .qbar{display:none}}
/* history dynamics */
.hist-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}
.hist-card{background:var(--card);border:1px solid var(--card-brd);border-radius:14px;padding:14px 16px}
.hist-card .l{font-size:12px;color:var(--muted);margin-bottom:5px}
.hist-card .v{font-family:'Onest',system-ui,sans-serif;font-size:21px;color:#fff;line-height:1}
.hist-card .dlt{font-size:12.5px;margin-top:6px;font-weight:600}
.hist-card .dlt.up{color:#36e07a}.hist-card .dlt.down{color:#ff5db1}.hist-card .dlt.flat{color:var(--muted)}
.hist-chart-wrap{background:var(--card);border:1px solid var(--card-brd);border-radius:14px;padding:16px;height:260px}
/* niche benchmark */
.niche-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.niche-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.niche-row:last-child{border-bottom:none}
.niche-row .nl{font-size:13.5px;color:var(--txt)}
.niche-row .nl small{display:block;color:var(--muted);font-size:11.5px;margin-top:2px}
.niche-vals{display:flex;align-items:center;gap:14px;text-align:right}
.niche-vals .me{font-family:'Onest',system-ui,sans-serif;font-size:16px;color:#fff}
.niche-vals .avg{font-size:12.5px;color:var(--muted)}
.niche-badge{font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px;white-space:nowrap}
.niche-badge.up{background:rgba(54,224,122,.14);color:#7ef0a8}
.niche-badge.down{background:rgba(255,93,177,.14);color:#ff9ccd}
.niche-badge.flat{background:rgba(255,255,255,.08);color:var(--muted)}
/* bulk progress */
.bulk-prog{padding:18px 20px}
.bulk-prog .bp-top{display:flex;justify-content:space-between;font-size:14px;color:var(--txt);margin-bottom:10px}
.bulk-prog .bp-top span:last-child{font-family:'Onest',system-ui,sans-serif;color:#FF2D55}
.bulk-prog .bp-bar{height:8px;border-radius:5px;background:rgba(255,255,255,.08);overflow:hidden}
.bulk-prog .bp-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#FF0000,#FF2D55);transition:width .4s ease}
/* ===== Message-6 upgrade styles ===== */
.why{margin:8px 0 4px;font-size:12.5px;line-height:1.5;color:var(--muted);background:rgba(255,255,255,.03);border:1px solid var(--card-brd);border-radius:10px;padding:8px 11px}
.why b{color:#fff;font-weight:700}
.topic-concl{background:linear-gradient(120deg,rgba(255,45,85,.12),rgba(120,80,255,.06));border:1px solid var(--card-brd);border-radius:14px;padding:15px 17px;font-size:14.5px;line-height:1.55;color:#fff;font-weight:600;margin-bottom:14px}
.topic-rows{display:flex;flex-direction:column;gap:11px}
.trow{background:var(--card);border:1px solid var(--card-brd);border-radius:14px;padding:13px 15px}
.trow.up{border-left:3px solid #2fd27a}.trow.down{border-left:3px solid #ff5470}.trow.mid{border-left:3px solid #ffb020}
.trow .th{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px}
.trow .tn{font-size:15px;font-weight:700;color:#fff}
.trow .tcnt{font-size:12px;color:var(--muted);font-weight:500;margin-left:4px}
.tverd{font-size:12px;font-weight:700;white-space:nowrap;padding:3px 9px;border-radius:20px}
.tverd.up{color:#2fd27a;background:rgba(47,210,122,.12)}.tverd.down{color:#ff5470;background:rgba(255,84,112,.12)}.tverd.mid{color:#ffb020;background:rgba(255,176,32,.12)}
.tbar{height:7px;border-radius:5px;background:rgba(255,255,255,.06);overflow:hidden;margin-bottom:9px}
.tbar i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,#ff2d55,#ff6b8a)}
.tstats{display:flex;flex-wrap:wrap;gap:14px;font-size:12.5px;color:var(--muted);margin-bottom:9px}
.tstats b{color:#fff}
.tbw{display:flex;flex-direction:column;gap:6px}
.tbw .tb{font-size:12.5px;color:var(--muted);text-decoration:none;display:block;line-height:1.4}
.tbw .tb:hover{color:#fff}
.tbw .tb .lab{font-weight:700;margin-right:5px}
.tbw .tb.up .lab{color:#2fd27a}.tbw .tb.down .lab{color:#ff5470}
.tnote{margin-top:10px;font-size:13px;line-height:1.5;color:#dfe3ea;background:rgba(120,80,255,.07);border-radius:9px;padding:8px 11px}
.rm-story{background:linear-gradient(120deg,rgba(120,80,255,.12),rgba(255,45,85,.05));border:1px solid var(--card-brd);border-radius:14px;padding:15px 17px;font-size:14px;line-height:1.55;color:#fff;font-weight:600;margin-bottom:16px}
.roadmap{position:relative;padding-left:8px}
.roadmap:before{content:'';position:absolute;left:19px;top:6px;bottom:6px;width:2px;background:linear-gradient(180deg,#ff2d55,rgba(255,45,85,.15))}
.rm-item{position:relative;display:flex;gap:15px;padding:0 0 18px}
.rm-dot{flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:var(--card);border:2px solid var(--card-brd);display:flex;align-items:center;justify-content:center;font-size:12px;z-index:1}
.rm-item.breakout .rm-dot,.rm-item.peak .rm-dot{border-color:#ff2d55;box-shadow:0 0 0 4px rgba(255,45,85,.12)}
.rm-body{flex:1;background:var(--card);border:1px solid var(--card-brd);border-radius:13px;padding:11px 14px}
.rm-date{font-size:11.5px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}
.rm-vid{display:flex;gap:9px;align-items:center;text-decoration:none;margin-bottom:7px}
.rm-vid img{width:70px;height:40px;object-fit:cover;border-radius:7px;flex:0 0 auto}
.rm-vid span{font-size:12.5px;color:#fff;font-weight:600;line-height:1.35}
.rm-note{font-size:13px;line-height:1.5;color:#dfe3ea}
.rm-mini{margin-top:7px;font-size:11.5px;color:var(--muted)}
.emo-sum{background:rgba(255,45,85,.08);border:1px solid var(--card-brd);border-radius:13px;padding:13px 15px;font-size:14px;line-height:1.55;color:#fff;font-weight:600;margin-bottom:14px}
.emo-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}
@media(max-width:640px){.emo-grid{grid-template-columns:1fr}}
.emo-card{background:var(--card);border:1px solid var(--card-brd);border-radius:13px;padding:13px 15px}
.emo-card.good{border-top:3px solid #2fd27a}.emo-card.bad{border-top:3px solid #ff5470}
.ec-h{font-size:13px;font-weight:700;color:#fff;margin-bottom:9px}
.ec-row{margin-bottom:8px;font-size:13px;line-height:1.45}
.ec-row b{color:#fff;display:block}
.ec-row span{color:var(--muted);font-size:12px}
.trig-h{font-size:14px;font-weight:700;color:#fff;margin:6px 0 11px}
.trig-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:11px}
.trig{background:var(--card);border:1px solid var(--card-brd);border-radius:12px;padding:12px 14px}
.tg-n{font-size:13.5px;font-weight:700;color:#fff;margin-bottom:6px}
.tg-ex{font-size:12px;color:var(--muted);line-height:1.4;margin-bottom:5px}
.tg-how{font-size:12.5px;color:#ffb6c4;line-height:1.45}
.concrete{display:flex;flex-direction:column;gap:10px}
.cc{background:var(--card);border:1px solid var(--card-brd);border-radius:13px;padding:15px 17px;border-left:3px solid #ffb020}
.cc.high{border-left-color:#ff2d55}.cc.low{border-left-color:#2fd27a}
.cc-top{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:11px}
.cc-pr{font-size:11.5px;font-weight:700}
.cc-tg{font-size:11.5px;color:var(--muted);background:rgba(255,255,255,.05);padding:2px 8px;border-radius:14px}
.cc-lbl{font-size:10px;letter-spacing:.6px;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:4px}
.cc-ch{font-size:14.5px;line-height:1.58;color:#fff;font-weight:600}
.cc-ef{margin-top:12px;padding-top:11px;border-top:1px dashed var(--card-brd);font-size:12.5px;line-height:1.5;color:#9fe6bf;display:flex;flex-direction:column;gap:3px}
.cc-ef-lbl{font-size:10px;letter-spacing:.6px;text-transform:uppercase;color:#6fd99a;font-weight:700;opacity:.9}
.cc-ef-tx{color:#cfeede}
.nt-block{margin-bottom:18px}
.nt-h{font-size:14.5px;font-weight:700;color:#fff;margin-bottom:9px}
.nt-h .muted{font-weight:500;font-size:12px}
.nt-row{display:flex;gap:11px;align-items:center;text-decoration:none;background:var(--card);border:1px solid var(--card-brd);border-radius:12px;padding:9px 11px;margin-bottom:8px;transition:border-color .15s}
.nt-row:hover{border-color:#ff2d55}
.nt-row img{width:88px;height:50px;object-fit:cover;border-radius:8px;flex:0 0 auto}
.nt-mid{flex:1;min-width:0}
.nt-t{font-size:13px;font-weight:600;color:#fff;line-height:1.35;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nt-m{font-size:11.5px;color:var(--muted)}
.nt-go{font-size:11.5px;font-weight:700;color:#ff6b8a;white-space:nowrap;flex:0 0 auto}
.vd-tags{display:flex;flex-wrap:wrap;gap:8px;margin:4px 20px 0}
.vd-tag{font-size:12px;line-height:1.4;padding:6px 11px;border-radius:10px;border:1px solid var(--card-brd)}
.vd-tag.tg{background:rgba(255,176,32,.08);color:#ffd591}
.vd-tag.em{background:rgba(255,45,85,.08);color:#ffb6c4}
.empty{color:var(--muted);font-size:13.5px;line-height:1.5;text-align:center;padding:8px 4px}
/* trigger lab */
#triggerSection .trg-concl{font-size:14px;line-height:1.55;background:rgba(255,45,85,.08);border:1px solid rgba(255,45,85,.25);border-radius:12px;padding:12px 14px;margin-bottom:14px}
.trg-rows{display:grid;gap:10px}
.trg{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-left:3px solid #8a8f98;border-radius:10px;padding:10px 12px}
.trg.up{border-left-color:#36e07a}
.trg.down{border-left-color:#5aa0ff}
.trg-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.trg-i{font-size:16px}
.trg-n{font-weight:600;font-size:13.5px}
.trg-c{color:#9aa0aa;font-size:12px;margin-left:auto}
.trg-v{font-weight:700;font-size:14px;min-width:54px;text-align:right}
.trg.up .trg-v{color:#36e07a}
.trg.down .trg-v{color:#5aa0ff}
.trg-bar{height:5px;background:rgba(255,255,255,.07);border-radius:4px;margin:8px 0 6px;overflow:hidden}
.trg-bar i{display:block;height:100%;background:linear-gradient(90deg,#FF2D55,#ff6b8b)}
.trg.up .trg-bar i{background:linear-gradient(90deg,#1f9d57,#36e07a)}
.trg.down .trg-bar i{background:linear-gradient(90deg,#3f7bd6,#5aa0ff)}
.trg-best{font-size:12px;color:#cfd3da;margin:2px 0}
.trg-tip{font-size:12px;color:#9aa0aa;line-height:1.45}
.trg-sub{font-weight:700;font-size:14px;margin:18px 0 10px}
.trg-combos{display:flex;flex-wrap:wrap;gap:8px}
.trg-combo{display:flex;align-items:center;gap:8px;background:rgba(54,224,122,.08);border:1px solid rgba(54,224,122,.25);border-radius:20px;padding:6px 12px;font-size:12.5px}
.trg-combo b{color:#36e07a}
.trg-combo i{color:#9aa0aa;font-style:normal}
.trg-gaps{display:grid;gap:8px}
.trg-gap-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:rgba(90,160,255,.06);border:1px solid rgba(90,160,255,.2);border-radius:10px;padding:8px 12px;font-size:12.5px}
.trg-gap-row .gi{font-size:15px}
.trg-gap-row .gp{color:#9aa0aa;margin-left:auto}
.trg-gap-row em{flex-basis:100%;color:#9aa0aa;font-style:normal;font-size:12px}
.trg-boost{display:grid;gap:12px}
.trg-bcard{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:10px 12px}
.trg-bwas{font-size:12.5px;color:#cfd3da;margin-bottom:8px}
.trg-bx{color:#ff8aa3;font-weight:600}
.trg-bnew{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:rgba(255,45,85,.06);border:1px solid rgba(255,45,85,.18);border-radius:8px;padding:7px 10px;margin-top:6px;cursor:pointer;transition:.15s}
.trg-bnew:hover{background:rgba(255,45,85,.12)}
.trg-bnew b{font-size:13px}
.trg-bi{font-size:15px}
.trg-bl{color:#9aa0aa;font-size:11.5px;margin-left:auto}


/* ===== PRODUCER HQ CSS ===== */
/* ===== ПРОДЮСЕРСКИЙ ШТАБ — стили ===== */
.center{text-align:center}
.prod-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:880px){.prod-grid{grid-template-columns:1fr}}
.prod-tool{background:var(--card);backdrop-filter:blur(var(--glass-blur));border:1px solid var(--card-brd);border-radius:var(--radius);padding:20px}
.prod-tool h3{font-size:17px;font-weight:700;display:flex;align-items:center;gap:9px;margin-bottom:5px}
.prod-tool .sub{font-size:13px;color:var(--muted);margin-bottom:14px}
.pin{width:100%;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.12);border-radius:11px;padding:11px 13px;color:var(--txt);font-size:14px;font-family:inherit;margin-bottom:9px;outline:none;transition:border .2s}
.pin:focus{border-color:var(--red-neon);box-shadow:0 0 0 3px rgba(255,45,85,0.12)}
textarea.pin{min-height:62px;resize:vertical}
select.pin{cursor:pointer}
.pin-row{display:flex;gap:9px}
.pin-row>*{flex:1}
.pbtn{background:linear-gradient(135deg,var(--red),var(--red-neon));color:#fff;border:none;border-radius:11px;padding:12px 20px;font-size:14px;font-weight:700;cursor:pointer;box-shadow:var(--glow);transition:transform .15s,box-shadow .2s;width:100%}
.pbtn:hover{transform:translateY(-1px);box-shadow:0 0 32px rgba(255,45,85,0.5)}
.pbtn:active{transform:translateY(0)}
/* ВИСП-метр */
.kb-block{margin-top:14px}
.kb-h{font-size:15px;font-weight:700;margin-bottom:10px}
.kb-meter{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.kb-meter-bar{flex:1;height:9px;border-radius:6px;background:rgba(255,255,255,0.08);overflow:hidden}
.kb-meter-bar i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,var(--amber),var(--green))}
.kb-meter-num{font-size:13px;font-weight:700;color:var(--txt);white-space:nowrap}
.kb-letters{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
@media(max-width:520px){.kb-letters{grid-template-columns:repeat(2,1fr)}}
.kb-letter{border-radius:12px;padding:10px 9px;text-align:center;border:1px solid rgba(255,255,255,0.1)}
.kb-letter.on{background:rgba(54,224,122,0.1);border-color:rgba(54,224,122,0.4)}
.kb-letter.off{background:rgba(255,45,85,0.06);border-color:rgba(255,45,85,0.25);opacity:.85}
.kl-k{font-size:22px;font-weight:800;line-height:1}
.kb-letter.on .kl-k{color:var(--green)}.kb-letter.off .kl-k{color:var(--red-neon)}
.kl-n{font-size:12.5px;font-weight:700;margin:3px 0}
.kl-s{font-size:11px;color:var(--muted);line-height:1.3}
.kb-sub{font-size:13px;font-weight:700;margin:13px 0 7px}
.kb-ul{margin:0;padding-left:18px;font-size:13px;color:#d8d6df;line-height:1.55}
.kb-ul li{margin-bottom:5px}
.kb-flags{margin-top:10px;display:flex;flex-direction:column;gap:6px}
.kb-flag{font-size:12.5px;color:#ffd089;background:rgba(255,176,32,0.08);border:1px solid rgba(255,176,32,0.28);border-radius:9px;padding:8px 11px;line-height:1.4}
.kb-callout{font-size:13px;color:#bfe0ff;background:rgba(58,160,255,0.08);border:1px solid rgba(58,160,255,0.3);border-radius:11px;padding:11px 13px;line-height:1.45}
.kb-note{font-size:12.5px;color:var(--muted);line-height:1.5;margin-top:8px}
.kb-colors{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}
@media(max-width:520px){.kb-colors{grid-template-columns:1fr}}
.kb-color{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.09);border-radius:10px;padding:8px 11px;font-size:12px}
.kb-color b{display:inline-block;margin-right:6px}
.kb-color span{color:var(--muted)}
.kb-color i{display:block;color:var(--muted-2);font-style:normal;margin-top:2px}
/* Сценарий */
.sc-hook,.sc-cta{background:rgba(255,45,85,0.07);border:1px solid rgba(255,45,85,0.25);border-radius:12px;padding:12px 14px;margin-bottom:11px;font-size:14px;line-height:1.5}
.sc-cta{background:rgba(54,224,122,0.07);border-color:rgba(54,224,122,0.3)}
.sc-tag{font-size:11px;font-weight:800;letter-spacing:.04em;color:var(--muted);margin-bottom:5px}
.sc-blocks{display:flex;flex-direction:column;gap:10px;margin-bottom:11px}
.sc-blk{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.09);border-radius:12px;padding:12px 14px}
.sc-bn{font-size:14px;font-weight:700;margin-bottom:6px}
.sc-blk ul{margin:0;padding-left:18px;font-size:13px;color:#d8d6df;line-height:1.55}
.sc-blk li{margin-bottom:4px}
.sc-cube{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.03em;padding:1px 8px;border-radius:20px;margin-right:7px;vertical-align:middle}
.sc-sub{font-size:13px;font-weight:700;margin:13px 0 8px}
.sc-check{margin-top:14px;display:flex;flex-direction:column;gap:7px}
.sc-ci{display:flex;gap:10px;align-items:flex-start;font-size:13px;padding:9px 11px;border-radius:10px;border:1px solid rgba(255,255,255,0.08)}
.sc-ci.ok{background:rgba(54,224,122,0.06)}
.sc-ci.no{background:rgba(255,45,85,0.06)}
.ci-m{font-weight:800;font-size:14px}
.sc-ci.ok .ci-m{color:var(--green)}.sc-ci.no .ci-m{color:var(--red-neon)}
.ci-why{font-size:12px;color:var(--muted);margin-top:3px;line-height:1.4}
/* Контент-план */
.cp-head{font-size:13.5px;color:#d8d6df;line-height:1.55;margin-bottom:14px}
.cp-row{display:flex;align-items:center;gap:13px;padding:11px 0;border-top:1px solid rgba(255,255,255,0.07)}
.cp-num{width:26px;height:26px;flex:none;border-radius:8px;background:rgba(255,45,85,0.14);color:var(--red-neon);font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center}
.cp-mid{flex:1;min-width:0}
.cp-title{font-size:14px;font-weight:600;cursor:pointer;line-height:1.4}
.cp-title:hover{color:var(--red-neon)}
.cp-meta{font-size:11.5px;color:var(--muted);margin-top:3px}
.cp-cat{font-weight:700}
.cp-visp{font-size:11.5px;font-weight:700;color:var(--green);white-space:nowrap}
.cp-foot{font-size:12.5px;color:var(--muted);line-height:1.5;margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,0.07)}
/* Качество */
.ql-head{font-size:13.5px;color:#d8d6df;line-height:1.55;margin-bottom:14px}
.ql-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid rgba(255,255,255,0.07);cursor:pointer}
.ql-row:hover{background:rgba(255,255,255,0.02)}
.ql-row .vp{width:88px;height:50px;flex:none;border-radius:8px;object-fit:cover}
.ql-mid{flex:1;min-width:0}
.ql-t{font-size:13.5px;font-weight:600;line-height:1.35;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}
.ql-fix{font-size:11.5px;color:var(--muted);margin-top:3px;line-height:1.4}
.ql-score{width:42px;height:42px;flex:none;border-radius:11px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px}
.ql-score.sg{background:rgba(54,224,122,0.14);color:var(--green)}
.ql-score.sm{background:rgba(255,176,32,0.14);color:var(--amber)}
.ql-score.sb{background:rgba(255,45,85,0.14);color:var(--red-neon)}
/* Заходы */
.hk-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px}
@media(max-width:640px){.hk-grid{grid-template-columns:1fr}}
.hk-card{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.09);border-radius:12px;padding:12px 14px}
.hk-n{font-size:13.5px;font-weight:700;color:var(--red-neon);margin-bottom:4px}
.hk-d{font-size:12.5px;color:#d8d6df;line-height:1.5}
/* Методика */
.m-card{margin-bottom:16px}
.m-h{font-size:16px;font-weight:700;margin-bottom:6px}
.m-sub{font-size:12.5px;color:var(--muted);margin-bottom:12px}
.m-step{display:flex;gap:11px;align-items:flex-start;padding:9px 0;border-top:1px solid rgba(255,255,255,0.06);font-size:13px;line-height:1.5}
.ms-n{width:24px;height:24px;flex:none;border-radius:7px;background:rgba(58,160,255,0.14);color:var(--blue);font-weight:800;font-size:12px;display:flex;align-items:center;justify-content:center}
.ms-c{font-size:11.5px;color:var(--muted);margin-top:3px}
.f-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:6px}
@media(max-width:760px){.f-grid{grid-template-columns:1fr}}
.f-cat{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.09);border-radius:12px;padding:12px;font-size:12px;color:#d8d6df;line-height:1.5}
.f-cat b{display:block;font-size:13.5px;margin-bottom:6px}
.f-cat div{margin-bottom:4px}
.f-hook{color:var(--green)!important}

/* ======================================================================
   VIORA REDESIGN v2 — premium pass (additive overrides only)
   Background (#matrix / #bg-veil) intentionally untouched.
   ====================================================================== */
:root{
  --red:#ff2233; --red-neon:#ff3b63; --red-2:#ff6f8b; --red-dark:#7a0016;
  --accent:linear-gradient(118deg,#ff2233 0%,#ff3b63 48%,#ff7088 100%);
  --txt:#f6f5f8; --muted:#a6a4af; --muted-2:#76747f;
  --surface-1:rgba(22,19,25,0.62); --surface-2:rgba(30,26,33,0.5);
  --card:rgba(22,19,25,0.62);
  --hair:rgba(255,255,255,0.085); --hair-2:rgba(255,255,255,0.14);
  --card-brd:rgba(255,255,255,0.1);
  --radius:20px;
  --ease:cubic-bezier(.2,.8,.2,1);
  --shadow-card:0 26px 60px -30px rgba(0,0,0,0.9);
  --glow:0 0 28px rgba(255,59,99,0.25);
  --glow-soft:0 0 90px rgba(255,40,60,0.12);
}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4{letter-spacing:-0.025em}

/* ---- signature cursor glow (desktop only) ---- */
#vCursor{position:fixed;top:0;left:0;width:30px;height:30px;border-radius:50%;pointer-events:none;z-index:9999;mix-blend-mode:screen;background:radial-gradient(circle,rgba(255,90,120,0.5),rgba(255,40,60,0) 68%);transform:translate(-50%,-50%);opacity:0;transition:width .22s var(--ease),height .22s var(--ease),opacity .35s}
#vCursor.on{opacity:1}
#vCursor.big{width:74px;height:74px;background:radial-gradient(circle,rgba(255,90,120,0.42),rgba(255,40,60,0) 70%)}
@media(hover:none),(max-width:780px){#vCursor{display:none!important}}

/* ---- NAV + logo ---- */
.nav{background:linear-gradient(180deg,rgba(9,8,11,0.72),rgba(9,8,11,0.18));border-bottom:1px solid var(--hair);backdrop-filter:blur(14px) saturate(1.2);transition:background .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease)}
.nav.scrolled{background:rgba(8,7,9,0.86);border-bottom-color:var(--hair-2);box-shadow:0 14px 44px -24px rgba(0,0,0,0.95)}
.nav-in{height:68px;transition:height .3s var(--ease)}
.nav.scrolled .nav-in{height:56px}
.brand{gap:12px;font-size:19px;letter-spacing:-0.02em}
.brand .dot{width:33px;height:33px;border-radius:10px;background:var(--accent);box-shadow:0 8px 22px -6px rgba(255,40,60,0.7),inset 0 1px 0 rgba(255,255,255,0.45);overflow:visible}
.brand .dot:before{content:"";position:absolute;inset:-3px;border-radius:13px;border:1px solid rgba(255,90,120,0.35);opacity:0;transition:.35s var(--ease)}
.brand:hover .dot:before{opacity:1;inset:-5px}
.brand .dot:after{border-left-width:10px;border-top-width:7px;border-bottom-width:7px;filter:drop-shadow(0 1px 1px rgba(0,0,0,.4))}
.brand b{background:var(--accent);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;text-shadow:none}
.nav-tag{color:var(--muted-2);font-weight:500}

/* ---- HERO ---- */
.hero h1{font-weight:800;letter-spacing:-0.035em;text-shadow:0 2px 30px rgba(0,0,0,0.9)}
.hero h1 .hl{background:var(--accent);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;text-shadow:none;animation:hueShift 6s ease-in-out infinite}
@keyframes hueShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.hero p.sub{color:#cdcbd4}
.eyebrow{background:rgba(255,255,255,0.035);border:1px solid var(--hair-2);color:#ffc2cf;backdrop-filter:blur(8px);box-shadow:0 8px 30px -16px rgba(255,40,60,0.5)}
.mode-switch{background:rgba(255,255,255,0.035);border:1px solid var(--hair);backdrop-filter:blur(10px);box-shadow:var(--shadow-card)}
.mode-switch button.on{background:var(--accent);box-shadow:0 10px 26px -10px rgba(255,40,60,0.7),inset 0 1px 0 rgba(255,255,255,0.3)}
.search-label{color:#e9e7ef;letter-spacing:-.01em}
.search-shell{background:var(--surface-1);border:1px solid var(--hair-2);box-shadow:var(--shadow-card),var(--glow-soft);transition:border-color .25s var(--ease),box-shadow .25s var(--ease)}
.search-shell:focus-within{border-color:rgba(255,90,120,0.55);box-shadow:0 0 0 4px rgba(255,59,99,0.1),var(--shadow-card)}
.hero-feats span{color:var(--muted)}
.hero-feats span:before{box-shadow:0 0 10px var(--red-neon)}

/* ---- BUTTONS ---- */
.btn{border-radius:14px;background:var(--accent);box-shadow:0 1px 0 rgba(255,255,255,0.08) inset,0 12px 30px -12px rgba(255,40,60,0.65);transition:transform .2s var(--ease),box-shadow .25s var(--ease),filter .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 1px 0 rgba(255,255,255,0.14) inset,0 18px 42px -14px rgba(255,59,99,0.8);filter:brightness(1.05)}
.btn.ghost{background:rgba(255,255,255,0.04);border:1px solid var(--hair-2);box-shadow:none}
.btn.ghost:hover{background:rgba(255,255,255,0.07);box-shadow:none}

/* ---- SURFACES / CARDS ---- */
.card,.chart-box,.mom-main,.mom-card,.lab-shell,.vid,.out,.idea,.borrow,.comp{
  background:var(--surface-1);border:1px solid var(--hair);
  box-shadow:var(--shadow-card);backdrop-filter:blur(16px) saturate(1.1)}
.card,.chart-box,.mom-main,.lab-shell{position:relative;overflow:hidden}
.card:before,.chart-box:before,.mom-main:before,.lab-shell:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.22),transparent);opacity:.8;pointer-events:none}
/* cursor spotlight on big surfaces */
.card:after,.chart-box:after,.mom-main:after,.lab-shell:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s var(--ease);background:radial-gradient(360px circle at var(--mx,50%) var(--my,0%),rgba(255,80,110,0.1),transparent 60%)}
.card:hover:after,.chart-box:hover:after,.mom-main:hover:after,.lab-shell:hover:after{opacity:1}

/* refined hover lifts with gradient ring */
.vid,.out,.idea,.borrow{position:relative;transition:transform .25s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease)}
.vid:hover,.out:hover,.idea:hover,.borrow:hover{transform:translateY(-6px);border-color:rgba(255,90,120,0.45);box-shadow:0 30px 60px -28px rgba(0,0,0,0.95),0 0 0 1px rgba(255,59,99,0.18),var(--glow)}

/* section header accent rule + index */
.section-h{position:relative;padding-left:18px}
.section-h:before{content:"";position:absolute;left:0;top:3px;bottom:7px;width:3px;border-radius:4px;background:var(--accent);box-shadow:0 0 16px rgba(255,59,99,0.5)}
.section-h h2{letter-spacing:-0.02em}

/* KPIs / chips / verdict refined */
.kpi{background:var(--surface-2);border:1px solid var(--hair);transition:transform .2s var(--ease),border-color .2s}
.kpi:hover{transform:translateY(-3px);border-color:var(--hair-2)}
.chip{background:rgba(255,255,255,0.04);border:1px solid var(--hair-2);color:#d7d5de}
.chip.neg{background:rgba(255,255,255,0.03);border-color:var(--hair)}
.verdict{background:linear-gradient(120deg,rgba(255,40,60,0.1),rgba(255,255,255,0.015));border:1px solid var(--hair-2);box-shadow:var(--shadow-card)}
.verdict .lab{color:#ffc2cf}

/* score ring glow */
.score-ring .num{text-shadow:0 0 22px rgba(255,59,99,0.35)}

/* toggle / sort pills */
.toggle,.out-sort,.mode-switch{box-shadow:var(--shadow-card)}
.toggle button.on,.out-sort button.on{background:var(--accent);box-shadow:0 8px 22px -10px rgba(255,40,60,0.7)}

/* drawer + chat refined */
#vdDrawer{border-left:1px solid var(--hair-2)}
#chatPanel{border:1px solid var(--hair-2);box-shadow:0 0 60px -10px rgba(255,40,60,0.22),0 30px 70px -20px rgba(0,0,0,0.8)}
#chatFab{box-shadow:0 0 30px -4px rgba(255,40,60,0.7),0 12px 30px -10px rgba(0,0,0,0.6)}

/* footer hairline */
footer{border-top:1px solid var(--hair)!important}

/* ---- SCROLL REVEAL (safe: visible by default, JS opts-in) ---- */
.section{animation:none}
.section.reveal{opacity:0;transform:translateY(26px) scale(.992)}
.section.reveal.in{opacity:1;transform:none;transition:opacity .7s var(--ease),transform .7s var(--ease)}

/* respect reduced motion */
@media (prefers-reduced-motion:reduce){
  .hero h1 .hl{animation:none}
  .section.reveal{opacity:1!important;transform:none!important}
  #vCursor{display:none!important}
}

/* ---- mobile polish (additive) ---- */
@media(max-width:780px){
  .nav-in{height:60px}
  .nav.scrolled .nav-in{height:52px}
  .card:after,.chart-box:after,.mom-main:after,.lab-shell:after{display:none}
}
@media(max-width:520px){
  .hero h1{letter-spacing:-0.03em}
  .section-h{padding-left:14px}
  .mode-switch{width:100%}
  .mode-switch button{flex:1;padding:10px 6px;font-size:13px}
  .brand{font-size:17px}
}
/* ======================================================================
   VIORA R3 — uiverse-style loader/steps + collapsible results + nav rail
   ====================================================================== */

/* ---- uiverse-style orbital loader ---- */
.loader-ring{width:98px;height:98px;border-radius:50%;position:relative;display:grid;place-items:center;background:radial-gradient(circle,rgba(255,59,99,0.18),transparent 62%)}
.loader-ring:before,.loader-ring:after{content:"";position:absolute;border-radius:50%;border:none}
.loader-ring:before{inset:0;background:conic-gradient(from 90deg,rgba(255,34,51,0) 0deg,rgba(255,34,51,0) 95deg,var(--red) 280deg,var(--red-neon) 360deg);-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 8px),#000 calc(100% - 7px));mask:radial-gradient(farthest-side,#0000 calc(100% - 8px),#000 calc(100% - 7px));animation:spin .95s linear infinite;box-shadow:0 0 42px rgba(255,59,99,.42)}
.loader-ring:after{inset:20px;background:conic-gradient(from 270deg,transparent 0deg,transparent 205deg,var(--red-2) 360deg);-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 5px),#000 calc(100% - 4px));mask:radial-gradient(farthest-side,#0000 calc(100% - 5px),#000 calc(100% - 4px));animation:spin 1.6s linear reverse infinite}

/* ---- uiverse-style step micro-interactions ---- */
.step{transition:transform .3s var(--ease),background .3s,border-color .3s,color .3s}
.step.active{transform:translateX(3px)}
.step.active .ic{box-shadow:0 0 14px rgba(255,45,85,.5),0 0 0 0 rgba(255,59,99,.5);animation:icPulse 1.5s ease-out infinite}
@keyframes icPulse{0%{box-shadow:0 0 14px rgba(255,45,85,.5),0 0 0 0 rgba(255,59,99,.45)}70%{box-shadow:0 0 14px rgba(255,45,85,.5),0 0 0 12px rgba(255,59,99,0)}100%{box-shadow:0 0 14px rgba(255,45,85,.5),0 0 0 0 rgba(255,59,99,0)}}
.step.done .ic{animation:icPop .45s var(--ease) both}
@keyframes icPop{0%{transform:scale(.3);opacity:.3}55%{transform:scale(1.18)}100%{transform:scale(1)}}
.step.done .ic:after{display:inline-block;animation:checkIn .42s .05s both}
@keyframes checkIn{from{transform:scale(0) rotate(-25deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}

/* ---- collapsible (accordion) sections ---- */
#dashboard .section.acc>.section-h,#ideas .section.acc>.section-h{cursor:pointer;display:flex;align-items:flex-start;gap:14px;border-radius:14px;padding:10px 12px;margin:-10px -12px 14px;transition:background .25s var(--ease)}
#dashboard .section.acc>.section-h:hover,#ideas .section.acc>.section-h:hover{background:rgba(255,255,255,0.04)}
.section.acc>.section-h>div:first-child{flex:1;min-width:0}
.acc-chev{flex:none;align-self:center;width:30px;height:30px;border-radius:9px;border:1px solid var(--hair-2);display:grid;place-items:center;color:#ffb3c1;font-size:12px;background:rgba(255,255,255,0.03);transition:transform .38s var(--ease),background .25s,border-color .25s}
.section.acc>.section-h:hover .acc-chev{border-color:rgba(255,90,120,.5);background:rgba(255,45,85,.1);color:#fff}
.section.collapsed>.section-h .acc-chev{transform:rotate(-90deg)}
.sec-body{overflow:hidden;transition:height .42s var(--ease),opacity .32s var(--ease)}
.section.collapsed>.sec-body{opacity:0}

/* expand/collapse-all bar */
.acc-bar{display:flex;justify-content:flex-end;gap:8px;margin:2px 0 -6px}
.acc-bar button{font-family:'Onest',system-ui,sans-serif;font-weight:600;font-size:12.5px;color:var(--muted);background:rgba(255,255,255,.04);border:1px solid var(--hair);border-radius:10px;padding:8px 14px;cursor:pointer;transition:.2s var(--ease)}
.acc-bar button:hover{color:#fff;border-color:var(--hair-2);background:rgba(255,255,255,.07)}

/* ---- floating section navigator rail ---- */
#secNav{position:fixed;top:50%;right:16px;transform:translateY(-50%);z-index:40;display:none;flex-direction:column;gap:5px;padding:10px 7px;border-radius:16px;background:rgba(16,14,18,.6);border:1px solid var(--hair);backdrop-filter:blur(14px);box-shadow:var(--shadow-card);max-height:82vh;overflow-y:auto;scrollbar-width:none}
#secNav::-webkit-scrollbar{display:none}
#secNav.show{display:flex}
#secNav .nav-dot{position:relative;display:flex;align-items:center;justify-content:flex-end;height:17px;cursor:pointer;background:none;border:none;padding:0 4px}
#secNav .nav-dot i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.22);transition:.25s var(--ease);display:block}
#secNav .nav-dot:hover i,#secNav .nav-dot.active i{background:var(--red-neon);box-shadow:0 0 10px var(--red-neon);transform:scale(1.3)}
#secNav .nav-dot.active i{width:10px;height:10px}
#secNav .nav-dot .lbl{position:absolute;right:24px;white-space:nowrap;font-size:12px;color:#fff;background:rgba(16,14,18,.96);border:1px solid var(--hair-2);padding:6px 11px;border-radius:9px;opacity:0;transform:translateX(8px);pointer-events:none;transition:.22s var(--ease);box-shadow:var(--shadow-card)}
#secNav .nav-dot:hover .lbl{opacity:1;transform:none}
@media(max-width:1100px){#secNav{display:none!important}}
@media (prefers-reduced-motion:reduce){.loader-ring:before,.loader-ring:after{animation-duration:1.4s}.sec-body{transition:none}}

/* ---- R4: slide-out side panel + edge tab ---- */
#sideOv{position:fixed;inset:0;background:rgba(4,3,5,.55);backdrop-filter:blur(7px);opacity:0;pointer-events:none;transition:opacity .42s var(--ease);z-index:90}
#sideOv.show{opacity:1;pointer-events:auto}
#sidePanel{position:fixed;top:0;left:0;height:100%;width:min(540px,94vw);background:linear-gradient(180deg,rgba(22,18,24,.985),rgba(11,9,13,.985));border-right:1px solid var(--hair-2);box-shadow:34px 0 90px rgba(0,0,0,.62);transform:translateX(-103%);transition:transform .5s var(--ease);z-index:91;display:flex;flex-direction:column;overflow:hidden}
#sidePanel.show{transform:none}
#sidePanel .sp-head{display:flex;align-items:center;gap:12px;padding:20px 22px 15px;border-bottom:1px solid var(--hair);background:linear-gradient(180deg,rgba(255,45,85,.07),transparent)}
#sidePanel .sp-head h3{font-family:'Onest',system-ui,sans-serif;font-size:18px;margin:0;flex:1;font-weight:700}
#sideClose{flex:none;width:36px;height:36px;border-radius:10px;border:1px solid var(--hair-2);background:rgba(255,255,255,.04);color:#fff;cursor:pointer;font-size:14px;transition:.2s var(--ease)}
#sideClose:hover{background:var(--red);border-color:var(--red);transform:rotate(90deg)}
#sideInner{padding:18px 22px 48px;overflow-y:auto;flex:1}
#sideInner .section{margin:0!important}
#journeyTab{position:fixed;top:50%;left:0;transform:translateY(-50%);z-index:45;display:none;align-items:center;gap:9px;writing-mode:vertical-rl;padding:17px 9px;border-radius:0 14px 14px 0;border:1px solid var(--hair-2);border-left:none;background:linear-gradient(180deg,rgba(255,45,85,.18),rgba(20,17,22,.85));backdrop-filter:blur(12px);color:#fff;font-family:'Onest',system-ui,sans-serif;font-weight:600;font-size:13px;letter-spacing:.4px;cursor:pointer;box-shadow:10px 0 28px rgba(0,0,0,.42);transition:.28s var(--ease)}
#journeyTab.show{display:flex}
#journeyTab.hidden{transform:translateY(-50%) translateX(-110%)}
#journeyTab:hover{padding-left:14px;background:linear-gradient(180deg,rgba(255,45,85,.32),rgba(20,17,22,.92));box-shadow:12px 0 32px rgba(255,45,85,.28)}
#journeyTab .pulse{writing-mode:horizontal-tb;width:8px;height:8px;border-radius:50%;background:var(--red-neon);box-shadow:0 0 10px var(--red-neon);animation:icPulse 1.7s infinite}
@media(max-width:600px){#journeyTab{font-size:12px;padding:14px 7px}}

/* >>> feat.css R5 inject >>> */

/* ============ VIORA R5: cache panel, bento, command palette, motion, themes, share ============ */

/* --- Recent / history panel on home --- */
#recentPanel{max-width:1000px;margin:48px auto 0;width:100%;animation:vFade .6s var(--ease) both}
#recentPanel .rp-head{display:flex;align-items:center;gap:14px;margin-bottom:16px;flex-wrap:wrap}
#recentPanel .rp-head h3{font-family:'Onest',system-ui,sans-serif;font-size:17px;font-weight:700;margin:0;letter-spacing:.2px}
#recentPanel .rp-sub{color:var(--muted);font-size:12.5px}
.rp-sw{margin-left:auto;display:flex;gap:8px;align-items:center}
.rp-swatch{width:18px;height:18px;border-radius:50%;cursor:pointer;border:2px solid rgba(255,255,255,.18);transition:.2s var(--ease)}
.rp-swatch:hover{transform:scale(1.18)}
.rp-swatch.on{border-color:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.16)}
.rp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(252px,1fr));gap:14px}
.rp-card{position:relative;text-align:left;background:linear-gradient(180deg,var(--surface-1),var(--surface-2));border:1px solid var(--card-brd);border-radius:16px;padding:15px 16px;cursor:pointer;overflow:hidden;transition:transform .28s var(--ease),border-color .28s var(--ease),box-shadow .28s var(--ease);min-height:108px}
.rp-card:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.22);box-shadow:var(--shadow-card)}
.rp-card:before{content:"";position:absolute;inset:0;background:radial-gradient(360px circle at var(--mx,50%) var(--my,0),rgba(255,45,85,.12),transparent 60%);opacity:0;transition:opacity .3s;pointer-events:none}
.rp-card:hover:before{opacity:1}
.rp-top{display:flex;align-items:flex-start;gap:11px;margin-bottom:12px;padding-right:46px}
.rp-av{position:relative;width:44px;height:44px;border-radius:12px;flex:none;background:#1a1620;display:grid;place-items:center;font-size:20px;overflow:hidden}
.rp-av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rp-tt{font-weight:700;font-size:14px;line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.rp-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--muted)}
.rp-tag{padding:2px 9px;border-radius:20px;background:rgba(255,255,255,.06);border:1px solid var(--hair);color:#dcd4e0}
.rp-ring{position:absolute;top:13px;right:13px}
.rp-actions{position:absolute;right:10px;bottom:10px;display:flex;gap:6px;opacity:0;transform:translateY(6px);transition:.24s var(--ease)}
.rp-card:hover .rp-actions{opacity:1;transform:none}
.rp-actions button{width:28px;height:28px;border-radius:8px;border:1px solid var(--hair-2);background:rgba(20,17,22,.82);color:#fff;cursor:pointer;font-size:12px;display:grid;place-items:center;transition:.18s}
.rp-actions button:hover{background:var(--red);border-color:var(--red)}
.rp-actions button.pin.on{background:var(--accent);border-color:transparent}
.rp-empty{grid-column:1/-1;text-align:center;color:var(--muted);padding:34px 20px;border:1px dashed var(--hair-2);border-radius:16px;font-size:13.5px;line-height:1.5}
@keyframes vFade{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* --- Bento grid (top of report) --- */
.v-bento{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin:8px 0 20px}
.v-tile{position:relative;border:1px solid var(--card-brd);border-radius:18px;padding:16px 17px;background:linear-gradient(180deg,var(--surface-1),var(--surface-2));overflow:hidden;min-height:108px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .3s var(--ease),border-color .3s var(--ease)}
.v-tile:hover{transform:translateY(-3px);border-color:rgba(255,255,255,.18)}
.v-tile .vt-k{font-size:12px;color:var(--muted);letter-spacing:.3px;display:flex;align-items:center;gap:6px}
.v-tile .vt-v{font-family:'Onest',system-ui,sans-serif;font-weight:800;font-size:clamp(22px,2.4vw,30px);line-height:1.05;margin-top:10px}
.v-tile .vt-sub{font-size:11.5px;color:var(--muted);margin-top:3px}
.v-tile.span2{grid-column:span 2}
.v-tile.accent{background:linear-gradient(135deg,rgba(255,45,85,.16),rgba(255,45,85,.03));border-color:rgba(255,45,85,.3)}
.v-tile.accent:after{content:"";position:absolute;width:170px;height:170px;right:-55px;top:-55px;border-radius:50%;background:radial-gradient(circle,rgba(255,45,85,.42),transparent 70%);filter:blur(6px);pointer-events:none}
.v-leak{font-size:14px;line-height:1.42;color:#fff;margin-top:8px;font-weight:600}
@media(max-width:900px){.v-bento{grid-template-columns:repeat(2,1fr)}.v-tile.span2{grid-column:span 2}}
@media(max-width:520px){.v-bento{grid-template-columns:1fr}.v-tile.span2{grid-column:auto}}

/* --- Insights sticky bar --- */
.v-insights{position:sticky;top:64px;z-index:30;display:flex;gap:9px;flex-wrap:wrap;align-items:center;padding:11px 14px;margin:0 0 18px;border-radius:14px;background:rgba(16,13,18,.84);backdrop-filter:blur(14px);border:1px solid var(--hair-2);box-shadow:var(--shadow-card)}
.v-insights .vi-lab{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);font-weight:700;margin-right:2px}
.v-chip{font-size:12.5px;padding:6px 12px;border-radius:30px;background:rgba(255,255,255,.05);border:1px solid var(--hair);color:#ece6f0;white-space:nowrap;max-width:360px;overflow:hidden;text-overflow:ellipsis;animation:vChip .5s var(--ease) both}
.v-chip.lead{background:linear-gradient(135deg,rgba(255,45,85,.2),rgba(255,45,85,.05));border-color:rgba(255,45,85,.34);color:#fff}
@keyframes vChip{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media(max-width:760px){.v-insights{top:56px}.v-chip{max-width:210px}}

/* --- Command palette --- */
#vCmdOv{position:fixed;inset:0;background:rgba(4,3,6,.6);backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:opacity .24s var(--ease);z-index:120;display:flex;align-items:flex-start;justify-content:center;padding-top:13vh}
#vCmdOv.show{opacity:1;pointer-events:auto}
#vCmd{width:min(620px,94vw);background:linear-gradient(180deg,rgba(26,21,28,.98),rgba(14,11,16,.98));border:1px solid var(--hair-2);border-radius:18px;box-shadow:0 40px 120px rgba(0,0,0,.6);overflow:hidden;transform:translateY(-12px) scale(.98);transition:transform .28s var(--ease)}
#vCmdOv.show #vCmd{transform:none}
#vCmd input{width:100%;border:none;background:transparent;color:#fff;font-size:16px;padding:18px 20px;outline:none;font-family:inherit;border-bottom:1px solid var(--hair);box-sizing:border-box}
#vCmdList{max-height:52vh;overflow-y:auto;padding:8px}
.vc-item{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:11px;cursor:pointer;font-size:14px;color:#e9e3ee}
.vc-item .vc-ic{width:24px;text-align:center;font-size:15px;flex:none}
.vc-item.sel,.vc-item:hover{background:rgba(255,255,255,.07)}
.vc-item.sel{box-shadow:inset 2px 0 0 var(--red)}
.vc-group{font-size:10.5px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);padding:10px 14px 4px;font-weight:700}
.vc-hint{display:flex;gap:14px;padding:9px 16px;border-top:1px solid var(--hair);font-size:11.5px;color:var(--muted);flex-wrap:wrap}
.vc-hint kbd{background:rgba(255,255,255,.08);border:1px solid var(--hair-2);border-radius:5px;padding:1px 6px;font-family:inherit}

/* --- Skeleton loading --- */
#vSkeleton{width:min(880px,92%);margin:30px auto 0;display:none;flex-direction:column;gap:14px}
#loading.v-has-skel #vSkeleton{display:flex}
.sk{border-radius:14px;border:1px solid var(--hair);background:linear-gradient(100deg,rgba(255,255,255,.04) 30%,rgba(255,255,255,.09) 50%,rgba(255,255,255,.04) 70%);background-size:200% 100%;animation:skSweep 1.4s linear infinite}
.sk.row{height:74px}
.sk.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;background:none;border:none;animation:none}
.sk.grid>span{height:96px;border-radius:14px;background:linear-gradient(100deg,rgba(255,255,255,.04) 30%,rgba(255,255,255,.09) 50%,rgba(255,255,255,.04) 70%);background-size:200% 100%;animation:skSweep 1.4s linear infinite}
@keyframes skSweep{to{background-position:-200% 0}}
@media(max-width:600px){.sk.grid{grid-template-columns:repeat(2,1fr)}}

/* --- Toast --- */
#vToastWrap{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:140;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}
.v-toast{background:rgba(22,18,24,.96);border:1px solid var(--hair-2);color:#fff;padding:11px 17px;border-radius:12px;font-size:13.5px;box-shadow:var(--shadow-card);animation:vToastIn .3s var(--ease) both;display:flex;align-items:center;gap:9px}
@keyframes vToastIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* --- Confetti + share card --- */
#vConfetti{position:fixed;inset:0;pointer-events:none;z-index:115}
#vShareCard{position:fixed;left:-9999px;top:0;width:1200px;height:630px;padding:60px;box-sizing:border-box;background:radial-gradient(900px circle at 82% -10%,rgba(255,45,85,.30),transparent 55%),linear-gradient(160deg,#0b0810,#05040a);color:#fff;font-family:'Onest',system-ui,sans-serif;display:flex;flex-direction:column;justify-content:space-between}

@media (prefers-reduced-motion:reduce){.sk,.sk.grid>span{animation-duration:3s}.rp-card,.v-tile,.v-chip,#recentPanel{animation:none;transition:none}}

/* <<< feat.css R5 inject <<< */
/* ============================ ENTRY GATE (platform chooser) ============================ */
#entryGate{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:48px 22px;overflow-y:auto;
  background:radial-gradient(1100px 720px at 50% 16%, rgba(7,6,8,0.66), rgba(7,6,8,0.86) 52%, rgba(7,6,8,0.96) 100%);
  backdrop-filter:blur(3px);animation:gateIn .5s ease both}
#entryGate.hide{opacity:0;visibility:hidden;transform:scale(1.03);transition:opacity .45s ease,transform .45s ease,visibility .45s}
@keyframes gateIn{from{opacity:0}to{opacity:1}}
.eg-inner{width:100%;max-width:940px;text-align:center;margin:auto}
.eg-head{margin-bottom:40px}
.eg-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#cdd6ff;border:1px solid rgba(255,255,255,0.12);padding:7px 16px;border-radius:100px;background:rgba(255,255,255,0.045);margin-bottom:24px;animation:fadeUp .7s both}
.eg-eyebrow .pulse{width:8px;height:8px;border-radius:50%;background:var(--neon-blue);box-shadow:0 0 10px var(--neon-blue);animation:blink 1.6s infinite}
.eg-title{font-size:clamp(34px,6vw,60px);font-weight:800;line-height:1.05;margin-bottom:16px;animation:fadeUp .7s .05s both;text-shadow:0 2px 26px rgba(0,0,0,0.85)}
.eg-title .hl{background:linear-gradient(90deg,var(--red-neon),var(--neon-blue));-webkit-background-clip:text;background-clip:text;color:transparent}
.eg-sub{font-size:clamp(15px,2vw,18px);color:#c9c7d0;max-width:56ch;margin:0 auto;animation:fadeUp .7s .12s both}
.eg-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;animation:fadeUp .7s .2s both}
@media(max-width:720px){.eg-cards{grid-template-columns:1fr;gap:18px}}
.eg-card{position:relative;border:none;cursor:pointer;text-align:left;padding:0;border-radius:24px;background:transparent;font-family:inherit;color:inherit;isolation:isolate;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.eg-card:before{content:"";position:absolute;inset:0;border-radius:24px;padding:1.6px;background:var(--cardEdge);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.55;transition:opacity .4s;z-index:1}
.eg-glass{position:relative;border-radius:24px;padding:30px 28px 28px;height:100%;background:linear-gradient(180deg,rgba(20,18,24,0.94),rgba(12,11,15,0.97));overflow:hidden;box-shadow:0 26px 60px -30px rgba(0,0,0,0.92)}
.eg-glass:after{content:"";position:absolute;top:-50%;left:-30%;width:55%;height:200%;background:linear-gradient(115deg,transparent,rgba(255,255,255,0.12),transparent);transform:translateX(-180%) skewX(-18deg);transition:transform .85s ease;pointer-events:none}
.eg-card:hover{transform:translateY(-10px)}
.eg-card:hover:before{opacity:1}
.eg-card:hover .eg-glass:after{transform:translateX(360%) skewX(-18deg)}
.eg-ic{width:62px;height:62px;border-radius:18px;display:grid;place-items:center;margin-bottom:20px;box-shadow:var(--icGlow)}
.eg-ic svg{width:34px;height:34px;display:block}
.eg-card h2{font-family:'Onest',system-ui,sans-serif;font-size:24px;font-weight:800;margin-bottom:9px}
.eg-cdesc{font-size:14px;color:#b7b5c0;line-height:1.55;margin-bottom:18px;min-height:62px}
.eg-feats{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}
.eg-feats span{font-size:13px;color:#d6d4de;display:flex;align-items:center;gap:10px}
.eg-feats span:before{content:"";width:15px;height:15px;border-radius:50%;flex:0 0 auto;background:var(--tickBg);box-shadow:0 0 0 3px var(--tickRing)}
.eg-cta{display:inline-flex;align-items:center;gap:9px;font-family:'Onest',system-ui,sans-serif;font-weight:700;font-size:14.5px;color:#fff;padding:12px 20px;border-radius:13px;background:var(--ctaBg);box-shadow:var(--icGlow);transition:gap .25s,filter .2s}
.eg-card:hover .eg-cta{gap:15px;filter:brightness(1.08)}
.eg-badge{position:absolute;top:20px;right:20px;font-size:11px;font-weight:600;letter-spacing:.04em;padding:5px 11px;border-radius:100px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);color:#cfcdd8}
.eg-card.yt{--cardEdge:linear-gradient(140deg,rgba(255,45,85,0.95),rgba(255,0,0,0.18) 60%,transparent);--icGlow:0 10px 30px -8px rgba(255,45,85,0.6);--ctaBg:linear-gradient(135deg,var(--red),var(--red-neon));--tickBg:radial-gradient(circle,#ff4d6d,#c30019);--tickRing:rgba(255,45,85,0.14)}
.eg-card.yt .eg-ic{background:linear-gradient(135deg,#ff1a1a,#ff2d55)}
.eg-card.tg{--cardEdge:linear-gradient(140deg,rgba(58,160,255,0.98),rgba(36,124,255,0.22) 60%,transparent);--icGlow:0 10px 30px -8px rgba(58,160,255,0.6);--ctaBg:linear-gradient(135deg,#2aabee,#229ed9);--tickBg:radial-gradient(circle,#4fb8f5,#1c93d4);--tickRing:rgba(58,160,255,0.16)}
.eg-card.tg .eg-ic{background:linear-gradient(135deg,#2aabee,#229ed9)}
.eg-foot{margin-top:30px;font-size:12.5px;color:var(--muted-2);animation:fadeUp .7s .3s both}

/* ===== VIORA TELEGRAM STUDIO (Gemini-style) ===== */
#tgScreen{position:fixed;inset:0;z-index:115;display:none;background:#0b0f13;color:#e8eaed;font-family:'Onest',sans-serif}
#tgScreen.show{display:flex}
#tgScreen *{box-sizing:border-box}
.stg-sidebar{width:280px;flex:0 0 auto;background:#15171a;border-right:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;transition:transform .28s ease;z-index:5}
.stg-brand{display:flex;align-items:center;gap:10px;padding:16px 16px 12px}
.stg-brand .lg{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,#2aabee,#229ed9);display:grid;place-items:center;flex:0 0 auto;box-shadow:0 4px 14px rgba(42,171,238,.4)}
.stg-brand .lg svg{width:18px;height:18px}
.stg-brand .tt{font-family:'Onest',system-ui,sans-serif;font-weight:700;font-size:15px}
.stg-brand .tt span{color:#5fb0e6}
.stg-newchat{margin:4px 12px 10px;display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);color:#e8eaed;font-family:'Onest',system-ui,sans-serif;font-weight:600;font-size:13.5px;cursor:pointer;transition:.2s}
.stg-newchat:hover{background:rgba(42,171,238,.16);border-color:rgba(42,171,238,.4)}
.stg-newchat svg{width:16px;height:16px}
.stg-search{margin:0 12px 10px;position:relative}
.stg-search input{width:100%;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:9px 12px 9px 34px;color:#e8eaed;font-size:13px;font-family:inherit;outline:none}
.stg-search input:focus{border-color:rgba(42,171,238,.5)}
.stg-search svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:14px;height:14px;opacity:.5}
.stg-listlabel{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#7a8089;padding:6px 18px 4px}
.stg-chatlist{flex:1;overflow-y:auto;padding:2px 8px 10px}
.stg-chat{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:9px;cursor:pointer;color:#c4c7cc;font-size:13px;transition:.15s}
.stg-chat:hover{background:rgba(255,255,255,.06)}
.stg-chat.active{background:rgba(42,171,238,.16);color:#fff}
.stg-chat .ti{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stg-chat .del{opacity:0;border:none;background:none;color:#9aa0a6;cursor:pointer;font-size:17px;line-height:1;padding:0 4px;flex:0 0 auto;transition:.15s}
.stg-chat:hover .del{opacity:1}
.stg-chat .del:hover{color:#ff6b6b}
.stg-empty{color:#6b7178;font-size:12.5px;padding:10px 18px;line-height:1.5}
.stg-side-foot{border-top:1px solid rgba(255,255,255,.06);padding:10px 12px;display:flex;flex-direction:column;gap:4px}
.stg-foot-btn{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;border:none;background:none;color:#c4c7cc;font-size:13px;font-family:inherit;cursor:pointer;text-align:left;transition:.15s}
.stg-foot-btn:hover{background:rgba(255,255,255,.06);color:#fff}
.stg-foot-btn svg{width:16px;height:16px;flex:0 0 auto}
.stg-foot-btn.yt:hover{background:rgba(255,45,85,.16);color:#ff8fa3}
.stg-main{flex:1;display:flex;flex-direction:column;min-width:0;position:relative;background:radial-gradient(1100px 700px at 50% -12%,rgba(42,120,238,.16),transparent 55%)}
.stg-topbar{display:flex;align-items:center;gap:12px;padding:14px 22px;border-bottom:1px solid rgba(255,255,255,.04)}
.stg-burger{display:none;background:none;border:none;color:#e8eaed;cursor:pointer;width:34px;height:34px;border-radius:8px}
.stg-burger:hover{background:rgba(255,255,255,.08)}
.stg-burger svg{width:20px;height:20px}
.stg-toptitle{font-family:'Onest',system-ui,sans-serif;font-weight:600;font-size:15px;line-height:1.2}
.stg-toptitle small{display:block;font-weight:400;font-size:11.5px;color:#7a8089;margin-top:2px}
.stg-modechip{margin-left:auto;display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:100px;padding:7px 13px;font-size:12.5px;color:#cdd2d8;cursor:pointer;position:relative;user-select:none}
.stg-modechip:hover{border-color:rgba(42,171,238,.4)}
.stg-modemenu{position:absolute;top:120%;right:0;background:#1c1f23;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:6px;min-width:210px;display:none;z-index:20;box-shadow:0 14px 40px rgba(0,0,0,.5)}
.stg-modemenu.open{display:block}
.stg-modemenu button{display:block;width:100%;text-align:left;background:none;border:none;color:#d4d7db;font-size:13px;font-family:inherit;padding:9px 11px;border-radius:8px;cursor:pointer}
.stg-modemenu button:hover{background:rgba(42,171,238,.16);color:#fff}
.stg-scroll{flex:1;overflow-y:auto;scroll-behavior:smooth}
.stg-scroll-in{max-width:820px;margin:0 auto;padding:26px 24px 40px;width:100%}
.stg-welcome{min-height:58vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;animation:fadeUp .5s both}
.stg-welcome h1{font-family:'Onest',system-ui,sans-serif;font-weight:700;font-size:clamp(28px,4vw,42px);color:#eaf1f8;margin:0 0 12px;letter-spacing:-.4px;text-shadow:0 2px 30px rgba(95,176,230,.28)}
.stg-welcome p.sub{color:#9aa0a6;font-size:14.5px;line-height:1.55;max-width:520px;margin:0 0 26px}
.stg-welcome p.sub b{color:#cdd2d8}
.stg-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;max-width:600px}
.stg-card{text-align:left;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:15px 16px;cursor:pointer;transition:.2s}
.stg-card:hover{background:rgba(42,171,238,.1);border-color:rgba(42,171,238,.4);transform:translateY(-2px)}
.stg-card .ic{font-size:19px;margin-bottom:7px}
.stg-card .h{font-family:'Onest',system-ui,sans-serif;font-weight:600;font-size:13.5px;color:#fff;margin-bottom:3px}
.stg-card .d{font-size:12px;color:#9aa0a6;line-height:1.45}
.stg-howto{margin:26px auto 0;max-width:600px;width:100%}
.stg-howto summary{cursor:pointer;color:#7fb6e6;font-size:13px;list-style:none;display:flex;align-items:center;gap:7px;justify-content:center}
.stg-howto summary::-webkit-details-marker{display:none}
.stg-howto .hbody{margin-top:14px;text-align:left;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:16px 18px;font-size:13px;color:#c4c7cc;line-height:1.6}
.stg-howto .hbody p{margin:0 0 9px}
.stg-howto .hbody b{color:#fff}
.stg-msg{margin:22px 0;animation:fadeUp .35s both}
.stg-msg.user{display:flex;justify-content:flex-end}
.stg-msg.user .bubble{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.06);padding:12px 16px;border-radius:18px 18px 4px 18px;max-width:80%;font-size:14.5px;line-height:1.55;white-space:pre-wrap;word-wrap:break-word}
.stg-msg.bot{display:flex;gap:14px}
.stg-msg.bot .ava{width:30px;height:30px;border-radius:8px;flex:0 0 auto;background:linear-gradient(135deg,#2aabee,#229ed9);display:grid;place-items:center;margin-top:2px}
.stg-msg.bot .ava svg{width:17px;height:17px}
.stg-msg.bot .body{font-size:14.7px;line-height:1.7;color:#e8eaed;word-wrap:break-word}
.stg-msg.bot .body p{margin:0 0 11px}
.stg-msg.bot .body b{color:#fff;font-weight:600}
.stg-msg.bot .body ul{margin:0 0 11px;padding-left:20px}
.stg-msg.bot .body li{margin:4px 0}
.stg-msg.bot .body h4{font-family:'Onest',system-ui,sans-serif;font-size:14px;color:#7fd0ff;margin:15px 0 7px}
.stg-actions{display:flex;gap:4px;margin-top:8px}
.stg-actions button{background:none;border:none;color:#7a8089;cursor:pointer;width:30px;height:30px;border-radius:8px;display:grid;place-items:center;transition:.15s}
.stg-actions button:hover{background:rgba(255,255,255,.08);color:#cdd2d8}
.stg-actions svg{width:15px;height:15px}
.stg-typing{display:flex;gap:5px;padding:8px 0}
.stg-typing span{width:8px;height:8px;border-radius:50%;background:#5fb0e6;animation:bounce 1.2s infinite}
.stg-typing span:nth-child(2){animation-delay:.2s}
.stg-typing span:nth-child(3){animation-delay:.4s}
.stg-an{margin:4px 0 6px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:18px}
.stg-an h4{font-family:'Onest',system-ui,sans-serif;font-size:13.5px;color:#fff;margin:0 0 16px;display:flex;align-items:center;gap:8px}
.stg-an .score{margin-left:auto;font-size:13px;color:#06121a;background:linear-gradient(135deg,#5fe0a0,#2aabee);padding:3px 12px;border-radius:100px;font-weight:700;font-family:'Onest',system-ui,sans-serif}
.stg-an-grid{display:grid;grid-template-columns:230px 1fr;gap:22px;align-items:center}
.stg-metrics{display:flex;flex-direction:column;gap:10px}
.stg-metric .lab{display:flex;justify-content:space-between;font-size:12.5px;color:#aeb3b9;margin-bottom:4px}
.stg-metric .lab b{color:#fff;font-weight:600}
.stg-bar{height:7px;border-radius:5px;background:rgba(255,255,255,.08);overflow:hidden}
.stg-bar i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,#2aabee,#5fe0a0);transition:width .6s ease}
.stg-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}
.stg-tag{font-size:11.5px;padding:4px 10px;border-radius:100px;background:rgba(255,255,255,.07);color:#c4c7cc;border:1px solid rgba(255,255,255,.1)}
.stg-tag.warn{background:rgba(255,176,32,.12);color:#ffcf7a;border-color:rgba(255,176,32,.3)}
.stg-tag.bad{background:rgba(255,90,90,.12);color:#ff9d9d;border-color:rgba(255,90,90,.3)}
.stg-tag.good{background:rgba(95,224,160,.12);color:#8ff0c0;border-color:rgba(95,224,160,.3)}
.stg-radar{width:100%;max-width:230px;display:block;margin:0 auto}
.stg-composer{padding:8px 24px 20px;position:relative}
.stg-composer-in{max-width:820px;margin:0 auto;display:flex;align-items:flex-end;gap:8px;background:#1b1e22;border:1px solid rgba(255,255,255,.1);border-radius:26px;padding:7px 8px;transition:.2s}
.stg-composer-in:focus-within{border-color:rgba(42,171,238,.55);box-shadow:0 0 0 3px rgba(42,171,238,.13)}
.stg-plus{width:40px;height:40px;flex:0 0 auto;border-radius:50%;border:none;background:rgba(255,255,255,.06);color:#cdd2d8;cursor:pointer;display:grid;place-items:center;transition:.2s}
.stg-plus:hover{background:rgba(42,171,238,.2);color:#fff}
.stg-plus svg{width:18px;height:18px}
.stg-composer textarea{flex:1;background:none;border:none;outline:none;color:#fff;font-size:15px;font-family:inherit;line-height:1.5;resize:none;max-height:180px;min-height:26px;padding:9px 4px}
.stg-composer textarea::placeholder{color:#7a8089}
.stg-send{width:40px;height:40px;flex:0 0 auto;border-radius:50%;border:none;background:linear-gradient(135deg,#2aabee,#229ed9);color:#fff;cursor:pointer;display:grid;place-items:center;transition:.2s}
.stg-send:hover{filter:brightness(1.1);transform:scale(1.05)}
.stg-send:disabled{opacity:.4;cursor:default;transform:none}
.stg-send svg{width:18px;height:18px}
.stg-hint{max-width:820px;margin:9px auto 0;text-align:center;font-size:11.5px;color:#6b7178}
.stg-pluswrap{position:relative;flex:0 0 auto;display:flex;align-items:flex-end}
.stg-plusmenu{position:absolute;bottom:calc(100% + 10px);left:0;background:#1c1f23;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:6px;display:none;z-index:20;box-shadow:0 14px 40px rgba(0,0,0,.5)}
.stg-plusmenu.open{display:block}
.stg-plusmenu button{display:flex;align-items:center;gap:9px;width:100%;text-align:left;background:none;border:none;color:#d4d7db;font-size:13px;font-family:inherit;padding:9px 12px;border-radius:8px;cursor:pointer;white-space:nowrap}
.stg-plusmenu button:hover{background:rgba(42,171,238,.16);color:#fff}
.stg-plusmenu svg{width:15px;height:15px;flex:0 0 auto}
.stg-overlay{display:none;position:absolute;inset:0;background:rgba(0,0,0,.5);z-index:4}
@media(max-width:860px){.stg-sidebar{position:absolute;top:0;bottom:0;left:0;transform:translateX(-105%)}.stg-sidebar.open{transform:none;box-shadow:0 0 50px rgba(0,0,0,.6)}.stg-overlay.show{display:block}.stg-burger{display:grid;place-items:center}.stg-an-grid{grid-template-columns:1fr}.stg-radar{max-width:210px}.stg-scroll-in{padding:20px 14px 34px}.stg-composer{padding:8px 12px 16px}.stg-topbar{padding:12px 14px}.stg-cards{grid-template-columns:1fr}}

/* ---- R6: full-screen TG chat, platform switch, YouTube<->TG synergy, title fix ---- */
.eg-title .hl{color:#ff3b5c;-webkit-text-fill-color:#ff3b5c;background:none;text-shadow:0 0 22px rgba(255,59,92,0.5),0 2px 18px rgba(0,0,0,0.65)}
#toTgBtn{position:fixed;right:22px;bottom:22px;z-index:60;display:none;align-items:center;gap:9px;background:linear-gradient(135deg,#2aabee,#229ed9);color:#fff;font-family:'Onest',system-ui,sans-serif;font-weight:700;font-size:13.5px;padding:12px 18px;border-radius:100px;border:none;cursor:pointer;box-shadow:0 12px 30px -8px rgba(42,171,238,0.75),inset 0 0 0 1px rgba(255,255,255,0.1);transition:.25s;animation:fadeUp .4s both}
#toTgBtn.show{display:inline-flex}
#toTgBtn:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 18px 40px -8px rgba(42,171,238,0.9)}
#toTgBtn svg{width:18px;height:18px}
@media(min-width:561px){#chatFab{left:22px;right:auto}#chatPanel{left:22px;right:auto}}
@media(max-width:560px){#toTgBtn{left:14px;right:auto;bottom:14px;font-size:12.5px;padding:10px 14px}}
.yt-tg-cta{margin:36px auto 0;max-width:700px;display:flex;align-items:center;gap:16px;text-align:left;padding:16px 20px;border-radius:18px;background:linear-gradient(135deg,rgba(42,171,238,0.12),rgba(34,158,217,0.04));border:1px solid rgba(58,160,255,0.3);animation:fadeUp .7s .42s both}
.yt-tg-cta .ic{width:46px;height:46px;flex:0 0 auto;border-radius:13px;background:linear-gradient(135deg,#2aabee,#229ed9);display:grid;place-items:center;box-shadow:0 8px 22px -6px rgba(42,171,238,0.7)}
.yt-tg-cta .ic svg{width:24px;height:24px}
.yt-tg-cta .tx{flex:1;font-size:13.5px;color:#cdd3da;line-height:1.5}
.yt-tg-cta .tx b{color:#fff;font-weight:600}
.yt-tg-cta button{flex:0 0 auto;background:linear-gradient(135deg,#2aabee,#229ed9);border:none;color:#fff;font-family:'Onest',system-ui,sans-serif;font-weight:700;font-size:13px;padding:11px 16px;border-radius:12px;cursor:pointer;transition:.2s;white-space:nowrap}
.yt-tg-cta button:hover{filter:brightness(1.1);transform:translateY(-2px)}
@media(max-width:600px){.yt-tg-cta{flex-direction:column;text-align:center}}
/* ===== P4 posts + Pack2 planner + Pack3 A/B ===== */
.stg-tabs{display:flex;gap:4px;margin:4px 12px 8px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:4px}
.stg-tab{flex:1;border:none;background:none;color:#9aa0a6;font-family:'Onest',system-ui,sans-serif;font-weight:600;font-size:12px;padding:8px 4px;border-radius:9px;cursor:pointer;transition:.18s;white-space:nowrap}
.stg-tab:hover{color:#cdd2d8}
.stg-tab.active{background:linear-gradient(135deg,#2aabee,#229ed9);color:#fff;box-shadow:0 4px 12px rgba(42,171,238,.35)}
.stg-pane{flex:1;display:flex;flex-direction:column;min-height:0}
.stg-postitem{padding:11px 12px;margin:3px 0;border-radius:11px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);cursor:pointer;transition:.15s;position:relative}
.stg-postitem:hover{background:rgba(42,171,238,.1);border-color:rgba(42,171,238,.3)}
.stg-postitem .pt{font-size:12.5px;color:#dfe3e7;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:6px}
.stg-postitem .pm{display:flex;align-items:center;gap:8px;font-size:11px;color:#7a8089}
.stg-postitem .sc{margin-left:auto;font-weight:700;font-family:'Onest',system-ui,sans-serif;padding:2px 8px;border-radius:20px;font-size:11px}
.stg-postitem .del{position:absolute;top:8px;right:8px;width:20px;height:20px;border:none;background:rgba(255,255,255,.06);color:#9aa0a6;border-radius:6px;cursor:pointer;opacity:0;transition:.15s;line-height:1;font-size:14px}
.stg-postitem:hover .del{opacity:1}
.sc.g{background:rgba(63,200,120,.18);color:#7ee0a2}.sc.m{background:rgba(255,207,122,.18);color:#ffcf7a}.sc.b{background:rgba(255,90,110,.18);color:#ff8fa3}
.v-modal{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;background:rgba(5,8,11,.72);backdrop-filter:blur(6px);padding:20px}
.v-modal.show{display:flex;animation:fadeUp .25s both}
.v-card{background:#16191d;border:1px solid rgba(255,255,255,.1);border-radius:18px;width:100%;max-width:560px;max-height:88vh;overflow-y:auto;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.v-card.wide{max-width:920px}
.v-head{display:flex;align-items:center;gap:10px;padding:17px 22px;border-bottom:1px solid rgba(255,255,255,.06);position:sticky;top:0;background:#16191d;z-index:2}
.v-head h3{font-family:'Onest',system-ui,sans-serif;font-weight:700;font-size:16px;margin:0}
.v-head .x{margin-left:auto;width:30px;height:30px;border:none;background:rgba(255,255,255,.06);color:#cdd2d8;border-radius:9px;cursor:pointer;font-size:17px}
.v-head .x:hover{background:rgba(255,90,110,.2);color:#fff}
.v-body{padding:20px 22px}
.v-ta{width:100%;min-height:170px;background:#0f1316;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:#e8eaed;font-family:inherit;font-size:14px;line-height:1.5;padding:13px 15px;resize:vertical;box-sizing:border-box}
.v-ta:focus{outline:none;border-color:#2aabee}
.v-btn{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#2aabee,#229ed9);color:#fff;border:none;font-family:'Onest',system-ui,sans-serif;font-weight:700;font-size:13.5px;padding:11px 20px;border-radius:11px;cursor:pointer;transition:.18s}
.v-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}
.v-btn.ghost{background:rgba(255,255,255,.06);color:#cdd2d8}
.v-btn:disabled{opacity:.5;cursor:default;transform:none}
.v-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.v-note{font-size:12px;color:#7a8089;line-height:1.5}
.stg-planner{position:absolute;inset:0;background:#0b0f13;display:none;flex-direction:column;z-index:8}
.stg-planner.show{display:flex;animation:fadeUp .25s both}
.pl-head{display:flex;align-items:center;gap:12px;padding:15px 22px;border-bottom:1px solid rgba(255,255,255,.06);flex-wrap:wrap}
.pl-head h2{font-family:'Onest',system-ui,sans-serif;font-size:17px;margin:0;font-weight:700;flex:1;min-width:120px}
.pl-grid{flex:1;overflow-y:auto;padding:18px 22px;display:grid;grid-template-columns:repeat(auto-fill,minmax(225px,1fr));gap:12px;align-content:start}
.pl-day{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:13px 14px;display:flex;flex-direction:column;gap:8px;min-height:130px}
.pl-day .dh{display:flex;align-items:center;gap:8px;font-family:'Onest',system-ui,sans-serif;font-weight:700;font-size:12.5px;color:#5fb0e6}
.pl-day .dh .fmt{margin-left:auto;font-size:10.5px;font-weight:600;color:#9aa0a6;background:rgba(255,255,255,.06);padding:2px 8px;border-radius:20px}
.pl-day textarea{width:100%;background:#0f1316;border:1px solid rgba(255,255,255,.08);border-radius:9px;color:#e8eaed;font-family:inherit;font-size:12.5px;padding:8px;resize:vertical;min-height:48px;box-sizing:border-box}
.pl-day textarea:focus{outline:none;border-color:#2aabee}
.pl-day .pa{display:flex;gap:6px;margin-top:auto;flex-wrap:wrap}
.pl-mini{padding:9px 11px;margin:3px 0;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);font-size:12px;color:#cdd2d8;display:flex;gap:8px;align-items:center}
.pl-mini b{color:#5fb0e6;font-family:'Onest',system-ui,sans-serif;font-size:11px;flex:0 0 auto}
.ab-var{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:10px 12px;margin-bottom:10px}
.ab-var textarea{width:100%;background:#0f1316;border:1px solid rgba(255,255,255,.1);border-radius:9px;color:#e8eaed;font-family:inherit;font-size:13.5px;padding:9px 11px;resize:vertical;min-height:42px;box-sizing:border-box}
.ab-var textarea:focus{outline:none;border-color:#2aabee}
.ab-res{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.ab-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:13px;padding:13px 15px}
.ab-card.win{border-color:rgba(63,200,120,.5);background:rgba(63,200,120,.07)}
.ab-card .top{display:flex;align-items:center;gap:10px;margin-bottom:5px}
.ab-card .ttl{font-weight:600;font-size:13.5px;color:#e8eaed;flex:1;line-height:1.4}
.ab-card .big{font-family:'Onest',system-ui,sans-serif;font-weight:800;font-size:21px}
.ab-bar{height:7px;border-radius:6px;background:rgba(255,255,255,.08);overflow:hidden;margin:4px 0 8px}
.ab-bar i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,#2aabee,#5fb0e6)}
#vAbHeroBtn{display:block}
@media(max-width:860px){.v-card.wide{max-width:100%}.pl-grid{grid-template-columns:1fr}}

/* ======================================================================
   VIORA R7 — "ATELIER" studio redesign (final, de-AI pass)
   Living aurora background · editorial Cyrillic type · tactile buttons
   ====================================================================== */

/* ---- palette: warm, tinted, cinematic (Impeccable: never pure black) ---- */
:root{
  --bg:#0b0710;
  --txt:#f5efea; --muted:#b4a8ae; --muted-2:#827581;
  --red:#ff2e4d; --red-neon:#ff5a78; --red-2:#ff9a5a; --red-dark:#7a0a1f;
  --accent:linear-gradient(120deg,#ff2e4d 0%,#ff5a78 46%,#ff9a5a 100%);
  --surface-1:rgba(30,21,29,0.55); --surface-2:rgba(38,27,35,0.46);
  --card:rgba(30,21,29,0.55);
  --hair:rgba(255,236,228,0.10); --hair-2:rgba(255,236,228,0.18);
  --card-brd:rgba(255,236,228,0.12);
  --radius:20px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --shadow-card:0 30px 72px -34px rgba(0,0,0,0.92);
  --glow:0 0 34px rgba(255,90,120,0.30);
  --glow-soft:0 0 90px -30px rgba(255,46,77,0.5);
}

/* ---- editorial Cyrillic-ready type ---- */
html,body{background-color:var(--bg)}
body{font-family:'Onest',system-ui,sans-serif;background-color:var(--bg);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.35'/%3E%3C/svg%3E");
  background-repeat:repeat}
h1,h2,h3,h4{font-family:'Onest',sans-serif;letter-spacing:-0.022em;font-weight:700}
.hero h1,.brand,.brand b,.eg-title,.stg-welcome h1,.mom-verdict,.sim-verdict{font-family:'Onest',sans-serif;letter-spacing:-0.02em}
input,textarea,select,button,.dd,.dd-btn,.dd-val,.dd-opt,.btn,.pbtn,.v-btn,.mode-switch button,.toggle button,.out-sort button,.deep-btn,.acc-bar button,.week-h,.search-label,.eyebrow,.eg-cta{font-family:'Onest',sans-serif}
::selection{background:var(--red);color:#fff}
::-webkit-scrollbar-thumb{background:linear-gradient(var(--red-dark),var(--red-neon))}

/* ---- LIVING AURORA BACKGROUND (replaces matrix rain) ---- */
#matrix{display:none!important}
body::before{content:"";position:fixed;inset:-25%;z-index:0;pointer-events:none;
  background:
    radial-gradient(38% 46% at 16% 20%, rgba(255,46,77,0.42), transparent 60%),
    radial-gradient(34% 42% at 84% 14%, rgba(255,138,90,0.26), transparent 62%),
    radial-gradient(44% 52% at 78% 84%, rgba(150,46,150,0.30), transparent 60%),
    radial-gradient(40% 48% at 22% 88%, rgba(40,70,180,0.24), transparent 62%);
  filter:blur(48px) saturate(1.2);will-change:transform;
  animation:vAurora 26s var(--ease) infinite alternate}
@keyframes vAurora{
  0%{transform:translate3d(-3%,-2%,0) scale(1.06) rotate(0deg)}
  50%{transform:translate3d(3%,2%,0) scale(1.14) rotate(7deg)}
  100%{transform:translate3d(-2%,3%,0) scale(1.08) rotate(-5deg)}}
#bg-veil{z-index:1;background:
  radial-gradient(1150px 700px at 50% 14%, rgba(11,7,16,0.52), rgba(11,7,16,0.28) 46%, transparent 74%),
  linear-gradient(180deg, rgba(11,7,16,0.28), rgba(11,7,16,0.68))}
.layer{z-index:2}
@media (prefers-reduced-motion:reduce){body::before{animation:none}}

/* ---- NAV ---- */
.nav{background:linear-gradient(180deg,rgba(12,8,14,0.66),rgba(12,8,14,0.10));border-bottom:1px solid var(--hair);backdrop-filter:blur(16px) saturate(1.2)}
.nav.scrolled{background:rgba(11,8,14,0.86);box-shadow:0 16px 46px -26px rgba(0,0,0,0.95)}
.brand b{background:var(--accent);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;text-shadow:none}

/* ---- HERO type + marker highlight (kills the gradient-text AI tell) ---- */
.hero h1{font-weight:600;font-size:clamp(38px,7.2vw,80px);line-height:1.0;letter-spacing:-0.035em;text-shadow:0 4px 42px rgba(0,0,0,0.55)}
.hero h1 .hl,.eg-title .hl{-webkit-text-fill-color:#fff;color:#fff;text-shadow:none;animation:none;
  background:linear-gradient(180deg,transparent 58%,rgba(255,46,77,0.42) 58%,rgba(255,46,77,0.42) 92%,transparent 92%);
  -webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 .08em;border-radius:3px}
.hero p.sub{color:#d9d1d6}
.eyebrow{background:rgba(255,236,228,0.045);border:1px solid var(--hair-2);color:#ffc7c0;letter-spacing:.16em;backdrop-filter:blur(8px)}
.eyebrow .pulse,.hero-feats span:before{background:var(--red-neon);box-shadow:0 0 10px var(--red-neon)}

/* ---- BUTTONS: tactile, animated gradient, glow lift (uiverse-style) ---- */
.btn{font-weight:600;letter-spacing:.01em;border-radius:14px;
  background:var(--accent);background-size:185% 185%;background-position:0% 50%;
  box-shadow:0 1px 0 rgba(255,255,255,0.22) inset,0 14px 32px -12px rgba(255,46,77,0.72),0 2px 8px rgba(0,0,0,0.28);
  transition:transform .28s var(--ease),box-shadow .32s var(--ease),background-position .65s var(--ease),filter .25s}
.btn:hover{transform:translateY(-3px);background-position:100% 50%;filter:saturate(1.08) brightness(1.04);
  box-shadow:0 1px 0 rgba(255,255,255,0.3) inset,0 24px 50px -14px rgba(255,90,120,0.88),0 4px 12px rgba(0,0,0,0.3)}
.btn:active{transform:translateY(-1px) scale(.985)}
.btn.ghost{background:rgba(255,236,228,0.05);border:1px solid var(--hair-2);box-shadow:none}
.btn.ghost:hover{background:rgba(255,236,228,0.09);box-shadow:var(--glow);transform:translateY(-2px)}
.pbtn,.v-btn{transition:transform .25s var(--ease),box-shadow .3s var(--ease),filter .25s}
.pbtn:hover,.v-btn:hover{transform:translateY(-2px);filter:brightness(1.06)}
.mode-switch button.on,.toggle button.on,.out-sort button.on{background:var(--accent);box-shadow:0 10px 26px -12px rgba(255,46,77,0.75)}

/* ---- search shell ---- */
.search-shell{background:var(--surface-1);border:1px solid var(--hair-2);box-shadow:var(--shadow-card),var(--glow-soft)}
.search-shell:focus-within{border-color:rgba(255,90,120,0.6);box-shadow:0 0 0 4px rgba(255,46,77,0.12),var(--shadow-card)}

/* ---- surfaces: refined, less uniform glass, light top edge ---- */
.card,.chart-box,.mom-main,.mom-card,.lab-shell,.vid,.out,.idea,.borrow,.comp{
  background:var(--surface-1);border:1px solid var(--hair);box-shadow:var(--shadow-card);
  backdrop-filter:blur(18px) saturate(1.15)}
.section-h:before{background:var(--accent)}
.kpi{background:var(--surface-2);border:1px solid var(--hair)}
.verdict{background:linear-gradient(120deg,rgba(255,46,77,0.12),rgba(255,236,228,0.02));border:1px solid var(--hair-2)}
.vid:hover,.out:hover,.idea:hover,.borrow:hover{transform:translateY(-6px);border-color:rgba(255,90,120,0.45);
  box-shadow:0 34px 64px -30px rgba(0,0,0,0.95),0 0 0 1px rgba(255,46,77,0.18),var(--glow)}

/* ---- mobile polish ---- */
@media(max-width:520px){
  .hero h1{font-size:clamp(31px,9.4vw,46px);letter-spacing:-0.03em}
  body::before{filter:blur(40px) saturate(1.15)}
}

/* ====================================================================
   VIORA R8 — fixes & wow polish
   even highlight · hero entrance · stronger living bg · TG studio retheme
   ==================================================================== */

/* 1) clean EVEN marker underline (replaces the uneven red band) */
.hero h1 .hl,#auditPane h1 .hl,#ideaPane h1 .hl,.eg-title .hl{
  -webkit-text-fill-color:#fff;color:#fff;text-shadow:none;animation:none;background:none;
  background-image:linear-gradient(90deg,var(--red),var(--red-2));
  background-repeat:no-repeat;background-size:100% .13em;background-position:0 90%;
  -webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 .02em .06em;border-radius:0}
.hero h1,#auditPane h1,#ideaPane h1{line-height:1.08}

/* 2) HERO entrance — premium staggered rise */
@keyframes vRise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.hero>*{animation:vRise .66s var(--ease) both}
.hero>*:nth-child(2){animation-delay:.07s}
.hero>*:nth-child(3){animation-delay:.14s}
.hero>*:nth-child(4){animation-delay:.14s}
.hero>*:nth-child(5){animation-delay:.22s}
.hero>*:nth-child(6){animation-delay:.30s}

/* 3) stronger LIVING background + slow conic sheen + softer veil */
body::before{filter:blur(50px) saturate(1.35);
  background:
    radial-gradient(40% 48% at 15% 18%, rgba(255,46,77,0.55), transparent 60%),
    radial-gradient(36% 44% at 86% 12%, rgba(255,150,80,0.34), transparent 62%),
    radial-gradient(46% 54% at 80% 86%, rgba(168,52,168,0.40), transparent 60%),
    radial-gradient(42% 50% at 20% 90%, rgba(48,86,210,0.30), transparent 62%)}
body::after{content:"";position:fixed;inset:-30%;z-index:0;pointer-events:none;opacity:.6;
  background:conic-gradient(from 0deg at 50% 50%, rgba(255,46,77,0.10), transparent 25%, rgba(120,60,220,0.12) 55%, transparent 80%, rgba(255,46,77,0.10));
  filter:blur(70px);animation:vSpin 44s linear infinite;will-change:transform}
@keyframes vSpin{to{transform:rotate(1turn)}}
#bg-veil{z-index:1;background:
  radial-gradient(1200px 760px at 50% 12%, rgba(11,7,16,0.32), rgba(11,7,16,0.14) 48%, transparent 80%),
  linear-gradient(180deg, rgba(11,7,16,0.16), rgba(11,7,16,0.56))}
@media (prefers-reduced-motion:reduce){.hero>*{animation:none}body::after{animation:none}}

/* 4) TELEGRAM STUDIO — warm premium retheme (chat now matches the site) */
#tgScreen{background:var(--bg);color:#f1ece9;font-family:'Onest',sans-serif;transition:opacity .55s var(--ease)}
.stg-sidebar{background:rgba(18,12,18,0.74);border-right:1px solid var(--hair);backdrop-filter:blur(22px) saturate(1.2)}
.stg-main{background:
  radial-gradient(1100px 720px at 50% -14%, rgba(58,140,238,0.16), transparent 56%),
  linear-gradient(180deg, rgba(22,15,24,0.35), rgba(11,7,16,0.55))}
.stg-topbar{border-bottom:1px solid var(--hair)}
.stg-welcome h1{color:#fff;text-shadow:0 6px 44px rgba(0,0,0,0.5)}
.stg-welcome p.sub{color:#cfc6cb}.stg-welcome p.sub b{color:#fff}
.stg-tabs{background:rgba(255,236,228,0.04);border:1px solid var(--hair)}
.stg-tab{font-family:'Onest',sans-serif;color:#b4a8ae;transition:.2s var(--ease)}
.stg-tab:hover{color:#fff}
.stg-tab.active{background:linear-gradient(135deg,#3aa0ff,#2f7fe6);color:#fff;box-shadow:0 6px 16px -6px rgba(58,140,238,0.6)}
.stg-card{background:var(--surface-1);border:1px solid var(--hair);border-radius:16px;transition:transform .25s var(--ease),border-color .25s,background .25s,box-shadow .25s}
.stg-card:hover{transform:translateY(-3px);background:rgba(58,140,238,0.12);border-color:rgba(96,176,255,0.45);box-shadow:0 20px 44px -24px rgba(0,0,0,0.9),0 0 0 1px rgba(96,176,255,0.18)}
.stg-card .h{font-family:'Onest',sans-serif;color:#fff}.stg-card .d{color:#b4a8ae}
.stg-composer-in{background:var(--surface-1);border:1px solid var(--hair-2);border-radius:26px;transition:.22s var(--ease)}
.stg-composer-in:focus-within{border-color:rgba(96,176,255,0.6);box-shadow:0 0 0 3px rgba(58,140,238,0.16)}
.stg-newchat{transition:transform .2s var(--ease),filter .2s}
.stg-newchat:hover{transform:translateY(-1px);filter:brightness(1.08)}
.stg-chat:hover{background:rgba(255,236,228,0.06)}
.stg-chat.active{background:rgba(58,140,238,0.16)}

/* 5) smooth platform crossfade */
#hero{transition:opacity .55s var(--ease)}
#entryGate.hide{transition:opacity .5s var(--ease),transform .5s var(--ease),visibility .5s}

/* ===== Viora toasts (глобальные уведомления об ошибках/событиях) ===== */
#vToasts{position:fixed;right:18px;bottom:18px;z-index:100000;display:flex;flex-direction:column;gap:10px;max-width:min(380px,calc(100vw - 36px));pointer-events:none}
.vtoast{pointer-events:auto;display:flex;gap:10px;align-items:flex-start;background:#17151c;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:12px 14px;font:13.5px/1.45 Onest,sans-serif;color:#e9e7ee;box-shadow:0 18px 44px -14px rgba(0,0,0,.75);animation:vtIn .28s ease both}
.vtoast.err{border-color:rgba(255,90,95,.45)}
.vtoast.warn{border-color:rgba(255,216,77,.4)}
.vtoast.ok{border-color:rgba(54,224,122,.4)}
.vtoast .ic{flex:0 0 auto;font-size:16px;line-height:1.3}
.vtoast .x{flex:0 0 auto;margin-left:auto;background:none;border:none;color:#8b8794;cursor:pointer;font-size:15px;padding:0 2px;line-height:1.3}
@keyframes vtIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ===== «Сними следующее видео» — план от продюсера ===== */
.ns-cta{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.ns-note{font-size:12.5px;color:var(--muted)}
.ns-load{display:flex;align-items:center;gap:12px;padding:18px 4px;color:var(--muted);font-size:14px}
.ns-load .sp{width:18px;height:18px;border:2.5px solid rgba(255,45,85,.25);border-top-color:#FF2D55;border-radius:50%;animation:nsSpin .8s linear infinite;flex:0 0 auto}
@keyframes nsSpin{to{transform:rotate(360deg)}}
.ns-out{margin-top:16px;display:grid;gap:14px}
.ns-block{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:14px 16px}
.ns-block h4{margin:0 0 8px;font-size:14.5px;display:flex;align-items:center;gap:8px}
.ns-block .why{font-size:12.5px;color:var(--muted);margin-top:8px}
.ns-title-row{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:11px 13px;border:1px solid rgba(255,255,255,.09);border-radius:12px;margin-top:8px;cursor:pointer;transition:border-color .2s,background .2s}
.ns-title-row:hover{background:rgba(255,45,85,.04)}
.ns-title-row:hover{border-color:rgba(255,45,85,.5)}
.ns-title-row .tt{font-weight:600;font-size:14px;line-height:1.5;min-width:0;max-width:100%;overflow-wrap:anywhere}
.ns-title-row .chip{flex:0 1 auto;max-width:100%;white-space:normal;line-height:1.55;font-size:11px;font-weight:600;color:#ffd84d;background:rgba(255,216,77,.08);border:1px solid rgba(255,216,77,.25);padding:4px 10px;border-radius:10px;overflow-wrap:anywhere}
.ns-hook{white-space:pre-wrap;background:rgba(255,45,85,.06);border:1px dashed rgba(255,45,85,.35);border-radius:10px;padding:12px 14px;font-size:14px;line-height:1.55}
.ns-steps{display:grid;gap:8px;margin:0;padding:0;list-style:none;counter-reset:nss}
.ns-steps li{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.5}
.ns-steps li::before{counter-increment:nss;content:counter(nss);flex:0 0 22px;height:22px;border-radius:50%;background:rgba(255,45,85,.15);color:#ff8da1;font-size:11.5px;font-weight:800;display:flex;align-items:center;justify-content:center;margin-top:1px}
.ns-steps li .sec{color:var(--muted);font-size:12px;white-space:nowrap;margin-left:auto;padding-left:10px}
.ns-check{display:grid;gap:6px}
.ns-check label{display:flex;gap:9px;align-items:flex-start;font-size:13.5px;line-height:1.45;cursor:pointer}
.ns-check input{margin-top:3px;accent-color:#FF2D55}
.ns-check label.don{opacity:.55;text-decoration:line-through}
.ns-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.ns-meta .m{font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
.ns-pit{display:grid;gap:8px}
.ns-pit .p{font-size:13px;line-height:1.5;padding-left:2px}

/* ===== «Фокус недели» — 3 шага ===== */
.wkf{display:grid;gap:10px}
.wkf .wkf-i{display:flex;gap:12px;align-items:flex-start;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);border-radius:13px;padding:12px 14px}
.wkf .n{flex:0 0 26px;height:26px;border-radius:50%;background:linear-gradient(135deg,#FF0000,#FF2D55);color:#fff;font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center;margin-top:1px}
.wkf b{display:block;font-size:14px;margin-bottom:3px}
.wkf .w{font-size:12.5px;color:var(--muted);line-height:1.45}

/* кнопки внутри ns-cta не должны растягиваться (у .pbtn width:100%) */
.ns-cta .pbtn{width:auto}
.pbtn.ghost{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.15);box-shadow:none}

/* подсказки «как считается» */
.howcalc{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:var(--muted);border-bottom:1px dotted rgba(255,255,255,.3);cursor:help;margin-left:6px;white-space:nowrap}

/* ===== Мобильная адаптация: защита от переполнения (добавлено) ===== */
html,body{max-width:100%;overflow-x:hidden;}
*{ -webkit-tap-highlight-color:transparent; }
img,video,canvas,svg,table{max-width:100%;}
@media (max-width:768px){
  .v5p-row{display:flex;flex-wrap:wrap;gap:8px;}
  .v5p-act{flex:1 1 calc(50% - 8px);min-width:0;white-space:normal;text-align:center;}
}
@media (max-width:480px){
  .v5p-act{flex:1 1 100%;}
  body{ -webkit-text-size-adjust:100%; }
}

/* ===== v2css ===== */
/* ===== v2: мои съёмки ===== */
#shootsArea{margin-top:16px}
.sh-h{font-size:13px;font-weight:700;color:var(--muted);margin:4px 0 9px;letter-spacing:.4px}
.sh-row{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid rgba(255,255,255,.08);border-radius:12px;margin-bottom:8px;background:rgba(255,255,255,.02);flex-wrap:wrap}
.sh-row.cur{border-color:rgba(255,45,85,.5)}
.sh-open{background:none;border:0;color:#fff;font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;text-align:left;flex:1;min-width:150px;padding:0}
.sh-open:hover{color:#ff5470}
.sh-meta{font-size:11.5px;color:var(--muted);white-space:nowrap}
.sh-st{background:#141318;color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:9px;font:inherit;font-size:12px;padding:5px 8px;cursor:pointer}
.sh-del{background:none;border:0;color:var(--muted);cursor:pointer;font-size:13px;padding:4px}
.sh-del:hover{color:#ff5470}
/* ===== v2: онбординг-тур ===== */
.vtour-hint{position:absolute;left:0;top:calc(100% + 10px);background:#1b1320;border:1px solid rgba(255,45,85,.45);color:#fff;padding:10px 14px;border-radius:12px;font-size:13px;z-index:50;box-shadow:0 14px 40px rgba(0,0,0,.5);animation:vh-in .5s;max-width:min(420px,90vw)}
@keyframes vh-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1}}
#vTourHl{position:fixed;z-index:9991;pointer-events:none;border-radius:18px;transition:all .35s ease}
#vTourTip{position:fixed;left:50%;transform:translateX(-50%);bottom:24px;z-index:9992;width:min(440px,calc(100vw - 28px));background:#17151c;border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:16px 18px;box-shadow:0 24px 70px rgba(0,0,0,.65)}
#vTourTip .tt{font-weight:800;font-size:15px;margin-bottom:6px}
#vTourTip .td{font-size:13.5px;line-height:1.55;color:#cfccd6}
#vTourTip .tb{display:flex;align-items:center;gap:12px;margin-top:12px}
#vTourTip .cnt{font-size:12px;color:var(--muted);margin-left:auto}
#vTourTip button{font:inherit;cursor:pointer;border-radius:10px;padding:8px 14px}
#vTourTip .skip{background:none;border:0;color:var(--muted);padding-left:0}
#vTourTip .next{background:#FF2D55;border:0;color:#fff;font-weight:700}
/* ===== v2: мой канал (реальные метрики) ===== */
.mys-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:14px}
.mys-tile{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:14px}
.mys-tile .v{font-size:22px;font-weight:800}
.mys-tile .l{font-size:11.5px;color:var(--muted);margin-top:3px}
.mys-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:13px}
.mys-row .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mys-bar{width:120px;height:8px;border-radius:6px;background:rgba(255,255,255,.08);overflow:hidden;flex:none}
.mys-bar i{display:block;height:100%;border-radius:6px}
.mys-row .pc{width:46px;text-align:right;font-weight:700;flex:none}
/* ===== v2: модалка ===== */
.v2ov{position:fixed;inset:0;z-index:9980;background:rgba(5,4,8,.8);display:grid;place-items:center;padding:18px}
.v2modal{width:min(560px,100%);max-height:86vh;overflow:auto;background:#141218;border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:24px}
.v2modal h3{margin:0 0 10px;font-size:18px}
.v2modal p,.v2modal li{font-size:13.5px;line-height:1.6;color:#d6d3dd}
.v2modal code{background:rgba(255,255,255,.08);padding:2px 6px;border-radius:6px;font-size:12.5px;word-break:break-all}
.v2modal .x{float:right;background:none;border:0;color:var(--muted);font-size:18px;cursor:pointer}
/* ===== v2: мобильные доводки ===== */
@media(max-width:560px){
  #dashboard .section.acc>.section-h,#ideas .section.acc>.section-h{margin-left:0;margin-right:0}
  .ns-title-row{flex-direction:column;align-items:flex-start;gap:6px}
  .ns-cta{flex-wrap:wrap}
  .ns-cta .pbtn{width:100%!important}
  .ns-note{width:100%}
  .wkf .wkf-i{padding:11px 12px}
  .fab-bar{flex-wrap:wrap}
  .fab-bar .btn{width:100%}
  .mys-bar{width:70px}
}

/* ===== viora-r9 ===== */
/* ===== VIORA R9.2 — fixes: search field, black editor, link popover, chat assistant ===== */
/* (1) URL search field — equal heights, perfectly aligned */
.search-shell{display:flex!important;align-items:center!important;gap:6px!important;padding:6px!important;border-radius:16px!important;overflow:hidden}
.search-shell input{flex:1!important;min-width:0!important;height:48px!important;line-height:48px!important;padding:0 16px!important;border:none!important;outline:none!important;background:transparent!important;box-shadow:none!important;font-size:15.5px!important;border-radius:11px}
.search-shell .btn{flex:none!important;height:48px!important;padding:0 22px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:11px!important;font-size:15px!important}
.search-shell:focus-within{border-color:rgba(255,90,120,.5)!important;box-shadow:0 0 0 3px rgba(255,59,99,.14),var(--shadow-card,0 20px 50px rgba(0,0,0,.5))!important}
.search-label{text-align:left}
@media(max-width:520px){.search-shell{flex-direction:column!important;align-items:stretch!important;padding:8px!important}.search-shell input{width:100%!important}.search-shell .btn{width:100%!important}}
/* (4) smooth entry-gate transition */
#entryGate{will-change:opacity,transform}
#entryGate.hide{opacity:0!important;transform:scale(.965)!important;visibility:hidden!important;pointer-events:none!important;transition:opacity .5s var(--ease,ease),transform .5s var(--ease,ease),visibility .5s!important}
#tgScreen,#hero{will-change:opacity}
#hero,#auditPane,#ideaPane,.hero h1,.hero p.sub,.searchbox{transform:none}
.hero h1,.hero p.sub,.search-label,.hero .examples{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
@keyframes vEnterScale{from{transform:scale(1.014)}to{transform:none}}
.v-enter{animation:vEnterScale .55s var(--ease,cubic-bezier(.22,.61,.36,1)) both}
/* bigger posts drawer */
.vp-panel{width:560px!important;background:linear-gradient(180deg,#1b1b1f,#121214)!important;border-left:1px solid rgba(255,255,255,.08)!important;box-shadow:-30px 0 90px rgba(0,0,0,.6)!important}
.vp-bulk{background:rgba(255,255,255,.04)!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:18px!important;padding:18px!important}
.vp-ta{min-height:240px!important;background:rgba(0,0,0,.3)!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:14px!important;font-family:'Onest',sans-serif!important;font-size:14.5px!important}
.vp-ta:focus{border-color:rgba(255,90,120,.55)!important;box-shadow:0 0 0 3px rgba(255,59,99,.14)!important}
/* (4) write-post button = same size as «Вставить готовые» (uses .stg-newchat sizing) */
.ve-writebtn{background:linear-gradient(135deg,#ff2e4d,#ff7a4d)!important;border:1px solid transparent!important;color:#fff!important;font-weight:700!important}
.ve-writebtn:hover{background:linear-gradient(135deg,#ff3e5d,#ff8a5d)!important;border-color:transparent!important;transform:translateY(-1px)}
.ve-writebtn svg{width:16px;height:16px}
/* (2)(3) BLACK minimalist editor */
#vEditor,#vPub{position:fixed;inset:0;z-index:14000;display:none;overflow-y:auto;background:#0a0a0c}
#vEditor.open,#vPub.open{display:block}
.ve-top{position:sticky;top:0;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 18px;background:rgba(10,10,12,.85);backdrop-filter:blur(18px) saturate(1.1);border-bottom:1px solid rgba(255,255,255,.06)}
.ve-top .l,.ve-top .r{display:flex;align-items:center;gap:9px;min-width:0}
.ve-brand{display:flex;align-items:center;gap:9px;font-family:'Onest',sans-serif;font-weight:700;color:#f3f1f4;font-size:14.5px;white-space:nowrap}
.ve-brand svg{width:19px;height:19px}
.ve-ico{width:36px;height:36px;flex:none;border-radius:10px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);color:#cfcdd4;cursor:pointer;font-size:15px;transition:.16s var(--ease,ease)}
.ve-ico:hover{background:rgba(255,255,255,.09);color:#fff}
.ve-fmt{display:flex;align-items:center;gap:2px;padding:4px;border-radius:11px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07)}
.ve-fmt button{min-width:32px;height:30px;padding:0 8px;border:none;background:transparent;color:#a8a6ae;border-radius:8px;cursor:pointer;font-family:Georgia,serif;font-size:14px;transition:.14s}
.ve-fmt button:hover{background:rgba(255,255,255,.1);color:#fff}
.ve-fmt .sep{width:1px;height:18px;background:rgba(255,255,255,.1);margin:0 2px}
.ve-cta{border:none;cursor:pointer;font-family:'Onest',sans-serif;font-weight:600;font-size:13px;color:#e8e6ea;padding:9px 15px;border-radius:11px;white-space:nowrap;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);transition:.16s var(--ease,ease)}
.ve-cta:hover{background:rgba(255,255,255,.1);color:#fff}
.ve-cta.primary{background:linear-gradient(135deg,#ff3b63,#ff7a4d);border-color:transparent;color:#fff;font-weight:700}
.ve-cta.primary:hover{filter:brightness(1.07)}
.ve-paper{max-width:720px;margin:38px auto 130px;background:transparent;padding:0 clamp(20px,5vw,44px);min-height:60vh;animation:vEnterScale .45s var(--ease,cubic-bezier(.22,.61,.36,1)) both}
.ve-title{font-family:Georgia,'Times New Roman',serif;font-size:clamp(29px,4.6vw,44px);font-weight:700;color:#f4f2f6;line-height:1.14;outline:none}
.ve-author{font-family:Georgia,serif;font-size:16.5px;color:#7c7a83;margin-top:14px;outline:none}
.ve-title:empty:before,.ve-author:empty:before,.ve-body:empty:before{content:attr(data-ph);color:#56545c;pointer-events:none}
.ve-rule{height:1px;background:rgba(255,255,255,.08);margin:22px 0}
.ve-body{font-family:Georgia,serif;font-size:clamp(17.5px,2.1vw,19.5px);line-height:1.8;color:#d7d5dc;outline:none;min-height:280px}
.ve-body h2{font-family:Georgia,serif;font-size:25px;font-weight:700;color:#f4f2f6;margin:26px 0 8px}
.ve-body blockquote{border-left:3px solid rgba(255,255,255,.18);margin:16px 0;padding:3px 0 3px 18px;color:#a6a4ac;font-style:italic}
.ve-body a{color:#7fb2ff;text-decoration:underline}
.ve-body ul,.ve-body ol{padding-left:24px;margin:10px 0}
.ve-body li{margin:4px 0}
.ve-body p{margin:0 0 12px}

/* ===== viora-r9b ===== */
/* (4) Viora assistant — black minimalist CHAT with input */
.ve-aifab{position:fixed;top:74px;right:22px;z-index:14010;display:flex;align-items:center;gap:8px;padding:9px 14px 9px 11px;border-radius:100px;border:1px solid rgba(255,255,255,.1);background:#141416;color:#fff;cursor:pointer;font-family:'Onest',sans-serif;font-weight:600;font-size:13px;box-shadow:0 16px 40px -16px rgba(0,0,0,.8);transition:.2s var(--ease,ease)}
.ve-aifab:hover{transform:translateY(-1px);border-color:rgba(255,90,120,.4)}
.ve-aifab .av{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;background:linear-gradient(135deg,#ff3b63,#ff7a4d);font-size:12px}
.ve-ai{position:fixed;top:74px;right:22px;width:344px;max-width:calc(100vw - 32px);max-height:78vh;display:flex;flex-direction:column;background:#121214;border:1px solid rgba(255,255,255,.08);border-radius:18px;box-shadow:0 44px 100px -34px rgba(0,0,0,.92);z-index:14020;opacity:0;transform:translateY(10px) scale(.98);pointer-events:none;transition:.34s var(--ease,cubic-bezier(.22,.61,.36,1))}
.ve-ai.show{opacity:1;transform:none;pointer-events:auto}
.ve-ai-h{display:flex;align-items:center;gap:11px;padding:13px 14px;border-bottom:1px solid rgba(255,255,255,.06)}
.ve-ai-av{width:30px;height:30px;flex:none;border-radius:9px;display:grid;place-items:center;background:linear-gradient(135deg,#ff3b63,#ff7a4d);color:#fff;font-size:13px}
.ve-ai-meta{min-width:0}
.ve-ai-meta .t{font-family:'Onest',sans-serif;font-weight:700;color:#fff;font-size:14px;line-height:1.1}
.ve-ai-meta .s{font-size:11.5px;color:#34d27b;display:flex;align-items:center;gap:5px;margin-top:2px}
.ve-ai-meta .s:before{content:'';width:6px;height:6px;border-radius:50%;background:#34d27b}
.ve-ai-x{margin-left:auto;width:30px;height:30px;border:none;background:transparent;color:#9a9aa3;border-radius:8px;cursor:pointer;font-size:19px;line-height:1}
.ve-ai-x:hover{background:rgba(255,255,255,.08);color:#fff}
.ve-ai-msgs{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px}
.ve-msg{max-width:88%;padding:10px 13px;border-radius:14px;font-size:13.5px;line-height:1.5;font-family:'Onest',sans-serif;white-space:pre-wrap;word-wrap:break-word}
.ve-msg.bot{align-self:flex-start;background:rgba(255,255,255,.05);color:#e6e4ea;border:1px solid rgba(255,255,255,.06);border-bottom-left-radius:5px}
.ve-msg.me{align-self:flex-end;background:linear-gradient(135deg,#ff3b63,#ff6a86);color:#fff;border-bottom-right-radius:5px}
.ve-msg .ve-chip{display:block;margin:7px 0 0;padding:9px 11px;border-radius:10px;border:1px solid rgba(127,178,255,.32);background:rgba(127,178,255,.09);color:#cfe2ff;cursor:pointer;font-size:13px;line-height:1.4;transition:.15s}
.ve-msg .ve-chip:hover{background:rgba(127,178,255,.18)}
.ve-msg .ve-issue{display:flex;gap:7px;margin-top:6px;font-size:12.8px;color:#ffd7b0}
.ve-msg .ve-issue.ok{color:#9bf3bf}
.ve-ai-quick{display:flex;gap:6px;padding:0 14px 10px;flex-wrap:wrap}
.ve-q{padding:6px 12px;border-radius:100px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:#cbcbd3;font-size:12px;cursor:pointer;font-family:'Onest',sans-serif;transition:.15s}
.ve-q:hover{background:rgba(255,255,255,.09);color:#fff}
.ve-ai-input{display:flex;gap:8px;align-items:flex-end;padding:10px 12px;border-top:1px solid rgba(255,255,255,.06)}
.ve-ai-input textarea{flex:1;resize:none;max-height:104px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:12px;padding:10px 12px;color:#fff;font-size:13.5px;font-family:'Onest',sans-serif;outline:none;line-height:1.4}
.ve-ai-input textarea::placeholder{color:#6c6a73}
.ve-ai-input textarea:focus{border-color:rgba(255,90,120,.5)}
.ve-send{flex:none;width:38px;height:38px;border-radius:11px;border:none;background:linear-gradient(135deg,#ff3b63,#ff7a4d);color:#fff;cursor:pointer;font-size:14px;display:grid;place-items:center;transition:.16s}
.ve-send:hover{filter:brightness(1.08)}
.ve-send:disabled{opacity:.5;cursor:default}
.ve-spin{width:15px;height:15px;border:2px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;display:inline-block;animation:vSpinR9 .7s linear infinite;vertical-align:-2px}
@keyframes vSpinR9{to{transform:rotate(360deg)}}
.ve-muted{color:#8a8891;font-size:12.5px}
/* (3) custom link popover */
.ve-linkpop{position:fixed;display:none;z-index:14030;align-items:center;gap:6px;padding:7px;background:#1a1a1d;border:1px solid rgba(255,255,255,.12);border-radius:12px;box-shadow:0 24px 60px -18px rgba(0,0,0,.8)}
.ve-linkpop.show{display:flex}
.ve-linkpop input{width:236px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:9px 11px;color:#fff;font-size:13px;outline:none;font-family:'Onest',sans-serif}
.ve-linkpop input::placeholder{color:#6c6a73}
.ve-linkpop input:focus{border-color:rgba(255,90,120,.5)}
.ve-linkpop .go{border:none;background:linear-gradient(135deg,#ff3b63,#ff7a4d);color:#fff;border-radius:8px;padding:9px 13px;cursor:pointer;font-size:13px;font-family:'Onest',sans-serif;font-weight:600}
.ve-linkpop .x{border:none;background:transparent;color:#9a9aa3;cursor:pointer;font-size:17px;padding:6px 8px;line-height:1}
.ve-linkpop .x:hover{color:#fff}
.vpub-foot{max-width:720px;margin:30px auto;padding:0 clamp(20px,5vw,44px);display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:760px){.ve-ai,.ve-aifab{top:auto;bottom:0;right:0;left:0;width:100%;max-width:100%;border-radius:18px 18px 0 0}.ve-ai{max-height:66vh;transform:translateY(40px)}.ve-ai.show{transform:none}.ve-aifab{left:auto;right:16px;bottom:16px;width:auto;border-radius:100px}.ve-fmt{display:none}}

/* ===== wizCss ===== */
.wiz{display:flex;flex-direction:column;gap:14px}
.wiz-mem{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid var(--card-brd);border-radius:14px;background:rgba(255,255,255,.02)}
.wiz-mem .wm-ic{font-size:20px}
.wiz-mem .wm-tx{flex:1;font-size:13.5px;line-height:1.5}
.wiz-mem .wm-act{display:flex;gap:6px;flex-wrap:wrap}
.wiz-steps{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:2px 0 4px}
.wz-st{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:#8a8a92;opacity:.7}
.wz-st .wz-num{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.06);font-size:12px;font-weight:800}
.wz-st.active{opacity:1;color:#fff}
.wz-st.active .wz-num{background:var(--red-neon,#FF2D55);color:#fff}
.wz-st.done{opacity:1;color:var(--red-neon,#FF2D55)}
.wz-st.done .wz-num{background:rgba(255,45,85,.18);color:var(--red-neon,#FF2D55)}
.wz-line{flex:1;min-width:14px;height:1px;background:rgba(255,255,255,.08)}
.wiz-q{font-family:'Onest',system-ui,sans-serif;font-size:18px;font-weight:700;margin:2px 0 10px}
.wiz-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.wiz-f{display:flex;flex-direction:column;gap:5px;font-size:12.5px;color:#9a9aa2}
.wiz-f span{font-weight:600;letter-spacing:.01em}
.wiz-f input{padding:11px 13px;border-radius:11px;border:1px solid var(--card-brd);background:rgba(255,255,255,.03);color:#fff;font-size:14px;font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s}
.wiz-f input:focus{border-color:var(--red-neon,#FF2D55);box-shadow:0 0 0 3px rgba(255,45,85,.12)}
.wiz-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px;flex-wrap:wrap}
.wiz-out{min-height:40px}
.pbtn.ghost{background:transparent;border:1px solid var(--card-brd);color:#fff}
.pbtn.ghost:hover{border-color:var(--red-neon,#FF2D55)}
.pbtn.sm{padding:6px 11px;font-size:12.5px}
.wz-title{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;border-radius:11px;border:1px solid var(--card-brd);background:rgba(255,255,255,.02);cursor:pointer;margin-bottom:8px;transition:border-color .15s,background .15s}
.wz-title:hover{border-color:rgba(255,45,85,.5)}
.wz-title.selected{border-color:var(--red-neon,#FF2D55);background:rgba(255,45,85,.08)}
.wz-title .lc{font-size:14px;font-weight:600}
.wz-plan-head{font-size:15px;margin-bottom:10px}
.wz-toast{position:fixed;left:50%;bottom:34px;transform:translateX(-50%) translateY(12px);background:#16151a;border:1px solid var(--red-neon,#FF2D55);color:#fff;padding:11px 18px;border-radius:12px;font-size:13.5px;font-weight:600;opacity:0;transition:opacity .25s,transform .25s;z-index:9999;box-shadow:0 10px 30px rgba(0,0,0,.5)}
.wz-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
@media(max-width:680px){.wiz-grid{grid-template-columns:1fr}}

/* ===== fnlCss ===== */
#fnlCard,#wkCard{display:flex;flex-direction:column;gap:16px}
.fnl-map{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap}
.fnl-stage{flex:1;min-width:120px;background:rgba(255,255,255,.03);border:1px solid var(--card-brd,rgba(255,45,85,.18));border-radius:14px;padding:14px 12px;text-align:center}
.fnl-stage .fs-ic{font-size:24px}
.fnl-stage .fs-t{font-weight:700;margin-top:6px;font-size:14px}
.fnl-stage .fs-d{font-size:11.5px;color:var(--muted,#9aa3b2);margin-top:3px;line-height:1.35}
.fnl-stage.s3{border-color:rgba(64,160,255,.42)}
.fnl-stage.s4{border-color:rgba(54,224,122,.42)}
.fnl-arr{align-self:center;color:var(--muted,#9aa3b2);font-size:18px;font-weight:700}
.fnl-cta,.wk-cta{display:flex;gap:10px;flex-wrap:wrap}
.fnl-idea,.wk-verdict{background:rgba(255,45,85,.07);border-left:3px solid var(--red-neon,#ff2d55);border-radius:10px;padding:12px 14px;font-size:14px;line-height:1.5}
.fnl-block{margin-top:4px}
.fb-h{font-weight:700;font-size:13.5px;margin-bottom:8px;opacity:.92}
.fnl-vids{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.fnl-vid{background:rgba(255,255,255,.03);border:1px solid var(--card-brd,rgba(255,45,85,.18));border-radius:12px;padding:11px 12px}
.fv-tag{display:inline-block;font-size:10.5px;text-transform:uppercase;letter-spacing:.4px;background:rgba(255,45,85,.16);color:#ff8fa6;padding:2px 8px;border-radius:20px;font-weight:700}
.fv-t{font-weight:600;font-size:13.5px;margin-top:7px;line-height:1.35}
.fv-w{font-size:12px;color:var(--muted,#9aa3b2);margin-top:5px;line-height:1.4}
.fnl-lm b{font-size:14px}
.fnl-lm>div{font-size:13px;margin-top:4px;line-height:1.45}
.fnl-copy{margin-top:10px}
.fc-lab{font-size:12px;font-weight:700;opacity:.85;margin-bottom:5px}
.fc-row{display:flex;gap:8px;align-items:flex-start;background:rgba(255,255,255,.03);border:1px solid var(--card-brd,rgba(255,45,85,.18));border-radius:10px;padding:10px 12px}
.fc-tx{flex:1;font-size:13px;line-height:1.5;white-space:pre-wrap}
.fnl-steps{margin:0;padding-left:20px;font-size:13px;line-height:1.65}
.pbtn.sm{padding:5px 12px;font-size:12px;white-space:nowrap;align-self:flex-start}
.pbtn.ghost{background:transparent}
.x5-load{display:flex;align-items:center;gap:10px;color:var(--muted,#9aa3b2);font-size:13.5px;padding:10px 0}
.wk-first{color:var(--muted,#9aa3b2);font-size:13.5px;line-height:1.5}
.wk-period{font-size:12px;color:var(--muted,#9aa3b2);margin-bottom:10px}
.wk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}
.wk-metric{background:rgba(255,255,255,.03);border:1px solid var(--card-brd,rgba(255,45,85,.18));border-radius:12px;padding:12px}
.wm-k{font-size:11.5px;color:var(--muted,#9aa3b2)}
.wm-v{font-size:22px;font-weight:800;margin-top:4px;font-family:'Onest',system-ui,sans-serif}
.wm-d{font-size:12px;font-weight:700;margin-top:2px}
.wk-good .wm-d{color:#36e07a}
.wk-bad .wm-d{color:#ff5470}
.wk-flat .wm-d{color:var(--muted,#9aa3b2)}
.wk-focus{display:flex;flex-direction:column;gap:10px;margin-top:4px}
.wk-fcard{display:flex;gap:12px;background:rgba(255,255,255,.03);border:1px solid var(--card-brd,rgba(255,45,85,.18));border-radius:12px;padding:12px 14px}
.wf-n{flex:none;width:26px;height:26px;border-radius:50%;background:var(--red-neon,#ff2d55);color:#fff;display:grid;place-items:center;font-weight:800;font-size:13px}
.wf-t{font-weight:700;font-size:14px}
.wf-y{font-size:12.5px;color:var(--muted,#9aa3b2);margin-top:4px;line-height:1.45}
.wf-h{font-size:13px;margin-top:6px;line-height:1.45}
.wk-checks{display:flex;flex-direction:column;gap:7px}
.wk-chk{display:flex;gap:9px;align-items:flex-start;font-size:13px;line-height:1.4;cursor:pointer}
.wk-chk input{margin-top:3px;accent-color:var(--red-neon,#ff2d55)}
@media(max-width:680px){.fnl-arr{display:none}.fnl-stage{min-width:calc(50% - 8px)}}

/* ===== viora-r10 ===== */
/* ===================== VIORA R10 — redesign overrides ===================== */
/* Scope: chat widget, posts UI, editor rail, dashboard cards. Background untouched. */
:root{--vr-red:#ff2d55;--vr-red2:#ff5a3c;--vr-tg:#2aabee;--vr-tg2:#229ed9;--vr-ease:cubic-bezier(.22,.61,.36,1)}

/* ---------- (2) VIORA AI CHAT — full redesign, larger window ---------- */
#chatFab{width:62px!important;height:62px!important;border-radius:20px!important;background:linear-gradient(140deg,#ff3b63,#ff7a4d)!important;box-shadow:0 18px 44px -14px rgba(255,45,85,.6),inset 0 1px 0 rgba(255,255,255,.25)!important;border:none!important;transition:transform .25s var(--vr-ease),box-shadow .25s var(--vr-ease)!important}
#chatFab:hover{transform:translateY(-3px) scale(1.04)!important;box-shadow:0 26px 60px -16px rgba(255,45,85,.72)!important}
#chatFab svg,#chatFab img{filter:drop-shadow(0 2px 4px rgba(0,0,0,.25))}

#chatPanel{width:min(468px,calc(100vw-26px))!important;height:min(716px,calc(100vh-104px))!important;border-radius:24px!important;background:linear-gradient(180deg,rgba(24,19,26,.975),rgba(13,11,15,.985))!important;border:1px solid rgba(255,255,255,.07)!important;box-shadow:0 50px 130px -34px rgba(0,0,0,.88),0 0 0 1px rgba(255,45,85,.05)!important;overflow:hidden!important;-webkit-backdrop-filter:blur(28px) saturate(1.25)!important;backdrop-filter:blur(28px) saturate(1.25)!important;padding:0!important}
#chatPanel.open{animation:vrChatIn .42s var(--vr-ease) both}
@keyframes vrChatIn{from{opacity:0;transform:translateY(22px) scale(.97)}to{opacity:1;transform:none}}

.chat-head{position:relative!important;display:flex!important;align-items:center!important;gap:13px!important;padding:17px 18px 16px!important;background:linear-gradient(120deg,rgba(255,45,85,.14),rgba(255,122,77,.06) 60%,transparent)!important;border-bottom:1px solid rgba(255,255,255,.06)!important}
.chat-head:after{content:'';position:absolute;left:18px;right:18px;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,90,120,.5),transparent)}
.chat-head .av{width:44px!important;height:44px!important;flex:none!important;border-radius:14px!important;display:grid!important;place-items:center!important;background:linear-gradient(140deg,#ff3b63,#ff7a4d)!important;color:#fff!important;font-size:0!important;box-shadow:0 8px 22px -8px rgba(255,45,85,.7),inset 0 1px 0 rgba(255,255,255,.3)!important;overflow:hidden}
.chat-head .av svg{width:23px;height:23px}
.chat-head .t{font-family:'Onest',sans-serif!important;font-weight:700!important;font-size:16px!important;color:#fff!important;letter-spacing:.1px!important}
.chat-head .s{font-size:11.5px!important;color:#9bf3bf!important;display:flex!important;align-items:center!important;gap:6px!important;margin-top:2px!important}
.chat-head .s:before{content:'';width:7px;height:7px;border-radius:50%;background:#34d27b;box-shadow:0 0 0 0 rgba(52,210,123,.55);animation:vrPulse 2.2s infinite}
@keyframes vrPulse{0%{box-shadow:0 0 0 0 rgba(52,210,123,.5)}70%{box-shadow:0 0 0 7px rgba(52,210,123,0)}100%{box-shadow:0 0 0 0 rgba(52,210,123,0)}}
.chat-head .x,.chat-head button{color:#b9b6c0!important}

.chat-body{flex:1!important;padding:20px 18px 14px!important;display:flex!important;flex-direction:column!important;gap:13px!important;overflow-y:auto!important;scrollbar-width:thin}
.chat-body::-webkit-scrollbar{width:7px}.chat-body::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:8px}

.msg{max-width:84%!important;padding:12px 15px!important;font-size:14.5px!important;line-height:1.58!important;font-family:'Onest',sans-serif!important;word-wrap:break-word!important;position:relative!important;animation:vrMsgIn .32s var(--vr-ease) both!important}
@keyframes vrMsgIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.msg.bot{align-self:flex-start!important;background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.035))!important;color:#ece9f1!important;border:1px solid rgba(255,255,255,.07)!important;border-radius:18px 18px 18px 6px!important;box-shadow:0 10px 26px -18px rgba(0,0,0,.7)!important}
.msg.user{align-self:flex-end!important;background:linear-gradient(140deg,#ff3b63,#ff6a4d)!important;color:#fff!important;border:none!important;border-radius:18px 18px 6px 18px!important;box-shadow:0 12px 28px -14px rgba(255,45,85,.6)!important}
.msg.bot b,.msg.bot strong{color:#ff9bae!important;font-weight:700!important}
.msg.user b,.msg.user strong{color:#fff!important}
.msg a{color:#9cc2ff;text-decoration:underline}
.msg.user a{color:#fff}

.chat-typing{align-self:flex-start!important;display:flex!important;gap:5px!important;padding:14px 16px!important;background:rgba(255,255,255,.05)!important;border:1px solid rgba(255,255,255,.07)!important;border-radius:18px 18px 18px 6px!important}
.chat-typing span{width:8px!important;height:8px!important;border-radius:50%!important;background:#ff7a90!important;opacity:.55;animation:vrType 1.25s infinite ease-in-out}
.chat-typing span:nth-child(2){animation-delay:.16s}.chat-typing span:nth-child(3){animation-delay:.32s}
@keyframes vrType{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-5px);opacity:1}}

.chat-sugg{display:flex!important;flex-wrap:wrap!important;gap:8px!important;padding:4px 18px 12px!important}
.chat-sugg button,.chat-sugg .chat-sugg-btn{padding:9px 14px!important;border-radius:100px!important;border:1px solid rgba(255,90,120,.28)!important;background:rgba(255,90,120,.08)!important;color:#ffc2cd!important;font-size:12.8px!important;font-family:'Onest',sans-serif!important;cursor:pointer!important;transition:.18s var(--vr-ease)!important}
.chat-sugg button:hover,.chat-sugg .chat-sugg-btn:hover{background:rgba(255,90,120,.18)!important;color:#fff!important;transform:translateY(-1px)!important}

.chat-input{padding:13px 16px 16px!important;border-top:1px solid rgba(255,255,255,.06)!important;background:rgba(0,0,0,.18)!important;gap:10px!important;align-items:flex-end!important}
.chat-input input,.chat-input textarea{background:rgba(255,255,255,.055)!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:14px!important;color:#fff!important;font-size:14.5px!important;font-family:'Onest',sans-serif!important;padding:13px 15px!important;transition:border-color .18s!important}
.chat-input input:focus,.chat-input textarea:focus{border-color:rgba(255,90,120,.55)!important;outline:none!important}
.chat-input input::placeholder,.chat-input textarea::placeholder{color:#7c7984!important}
.chat-input button{background:linear-gradient(140deg,#ff3b63,#ff7a4d)!important;border:none!important;border-radius:13px!important;width:46px!important;height:46px!important;color:#fff!important;cursor:pointer!important;display:grid!important;place-items:center!important;box-shadow:0 10px 24px -10px rgba(255,45,85,.6)!important;transition:.18s var(--vr-ease)!important}
.chat-input button:hover{filter:brightness(1.08)!important;transform:translateY(-1px)!important}
@media(max-width:520px){#chatPanel{width:calc(100vw-18px)!important;height:calc(100vh-92px)!important}}

/* ---------- (5) MY POSTS — refined list & cards ---------- */
#stgPostList{display:flex!important;flex-direction:column!important;gap:11px!important;padding:4px 2px 10px!important}
.vp-item{position:relative!important;display:flex!important;align-items:center!important;gap:14px!important;padding:15px 16px!important;border-radius:18px!important;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.02))!important;border:1px solid rgba(255,255,255,.07)!important;cursor:pointer!important;transition:transform .2s var(--vr-ease),border-color .2s,background .2s,box-shadow .2s!important;overflow:hidden}
.vp-item:before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--vr-tg),var(--vr-tg2));opacity:0;transition:opacity .2s}
.vp-item:hover{transform:translateY(-2px)!important;border-color:rgba(42,171,238,.4)!important;background:linear-gradient(180deg,rgba(42,171,238,.08),rgba(255,255,255,.02))!important;box-shadow:0 18px 40px -22px rgba(0,0,0,.8)!important}
.vp-item:hover:before{opacity:1}
.vp-ring{width:46px!important;height:46px!important;flex:none!important;border-radius:50%!important;display:grid!important;place-items:center!important;font-weight:800!important;font-size:14px!important;font-family:'Onest',system-ui,sans-serif!important;color:#fff!important;position:relative!important}
.vp-ring:after{content:'';position:absolute;inset:4px;border-radius:50%;background:#15171c}
.vp-ring span,.vp-ring b{position:relative;z-index:1}
.vp-item-main{flex:1!important;min-width:0!important}
.vp-item-txt{font-family:'Onest',sans-serif!important;font-size:14px!important;line-height:1.5!important;color:#e9ebf0!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
.vp-item-meta{margin-top:6px!important;font-size:11.5px!important;color:#7a828c!important;display:flex!important;align-items:center!important;gap:8px!important}
.vp-item-acts{display:flex!important;gap:6px!important;flex:none!important}
.vp-item-acts button{width:34px!important;height:34px!important;border-radius:10px!important;border:1px solid rgba(255,255,255,.08)!important;background:rgba(255,255,255,.04)!important;color:#c4c8cf!important;cursor:pointer!important;font-size:14px!important;display:grid!important;place-items:center!important;transition:.16s!important}
.vp-item-acts button:hover{background:rgba(42,171,238,.18)!important;color:#fff!important}

/* posts drawer / modal polish */
.vp-panel{border-radius:22px 0 0 22px!important;background:linear-gradient(180deg,rgba(20,22,28,.99),rgba(13,14,18,.99))!important;border-left:1px solid rgba(255,255,255,.07)!important}
.vp-add,.vp-bulk-go{background:linear-gradient(135deg,var(--vr-tg),var(--vr-tg2))!important;border:none!important;color:#fff!important;font-weight:700!important;border-radius:13px!important;transition:.18s var(--vr-ease)!important}
.vp-add:hover,.vp-bulk-go:hover{filter:brightness(1.08)!important;transform:translateY(-1px)!important}
.vp-card{border-radius:20px!important;border:1px solid rgba(255,255,255,.08)!important;background:linear-gradient(180deg,rgba(26,28,34,.98),rgba(16,17,21,.99))!important}

/* ---------- (6) EDITOR — left posts rail (like chats) ---------- */
#vEditor.has-rail{padding-left:288px}
.ve-rail{position:fixed;left:0;top:0;bottom:0;width:288px;z-index:14005;display:flex;flex-direction:column;background:linear-gradient(180deg,rgba(17,18,22,.99),rgba(11,11,14,.99));border-right:1px solid rgba(255,255,255,.07)}
.ve-rail-h{display:flex;align-items:center;gap:9px;padding:18px 18px 12px;font-family:'Onest',sans-serif;font-weight:700;font-size:14.5px;color:#f2f0f5}
.ve-rail-h .dot{width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#ff3b63,#ff7a4d)}
.ve-newpost{margin:2px 14px 12px;display:flex;align-items:center;justify-content:center;gap:9px;padding:12px 14px;border-radius:13px;background:linear-gradient(135deg,#ff3b63,#ff7a4d);border:none;color:#fff;font-family:'Onest',sans-serif;font-weight:700;font-size:13.5px;cursor:pointer;box-shadow:0 12px 28px -14px rgba(255,45,85,.6);transition:.18s var(--vr-ease)}
.ve-newpost:hover{filter:brightness(1.07);transform:translateY(-1px)}
.ve-rail-list{flex:1;overflow-y:auto;padding:2px 10px 14px;display:flex;flex-direction:column;gap:7px;scrollbar-width:thin}
.ve-rail-list::-webkit-scrollbar{width:7px}.ve-rail-list::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:8px}
.ve-rail-item{position:relative;text-align:left;padding:12px 13px;border-radius:13px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06);color:#dcdae2;cursor:pointer;transition:.16s var(--vr-ease);font-family:'Onest',sans-serif}
.ve-rail-item:hover{background:rgba(255,255,255,.07);border-color:rgba(255,90,120,.3)}
.ve-rail-item.active{background:linear-gradient(180deg,rgba(255,90,120,.16),rgba(255,90,120,.05));border-color:rgba(255,90,120,.45)}
.ve-rail-item .rt{font-weight:700;font-size:13.5px;color:#f2f0f5;line-height:1.35;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.ve-rail-item .rs{margin-top:4px;font-size:12px;color:#9a98a3;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ve-rail-item .rd{margin-top:7px;font-size:10.8px;color:#6c7178;display:flex;align-items:center;gap:7px}
.ve-rail-item .rdel{position:absolute;top:9px;right:9px;width:24px;height:24px;border:none;background:rgba(0,0,0,.25);color:#9a98a3;border-radius:7px;cursor:pointer;font-size:13px;line-height:1;opacity:0;transition:.15s;display:grid;place-items:center}
.ve-rail-item:hover .rdel{opacity:1}
.ve-rail-item .rdel:hover{background:rgba(255,60,90,.25);color:#fff}
.ve-rail-empty{color:#6b7178;font-size:12.5px;padding:16px 14px;line-height:1.6;text-align:center}
.ve-rail-toggle{display:none}
@media(max-width:900px){#vEditor.has-rail{padding-left:0}.ve-rail{transform:translateX(-100%);transition:transform .28s var(--vr-ease);box-shadow:0 0 60px rgba(0,0,0,.6)}.ve-rail.show{transform:none}.ve-rail-toggle{display:grid;place-items:center}}

/* ---------- (1) DASHBOARD — card grid + drill-down pages ---------- */
.vr-cards{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(248px,1fr))!important;gap:16px!important;margin:8px 0 30px!important}
.vr-card{position:relative;text-align:left;display:flex;flex-direction:column;gap:10px;padding:20px 19px;min-height:158px;border-radius:20px;cursor:pointer;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(28,24,32,.92),rgba(17,15,20,.95));overflow:hidden;font-family:'Onest',sans-serif;transition:transform .26s var(--vr-ease),border-color .26s,box-shadow .26s}
.vr-card:before{content:'';position:absolute;inset:0;background:radial-gradient(120% 80% at 0% 0%,rgba(255,45,85,.16),transparent 55%);opacity:0;transition:opacity .26s}
.vr-card:after{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#ff3b63,#ff7a4d);opacity:0;transition:opacity .26s}
.vr-card:hover{transform:translateY(-4px);border-color:rgba(255,90,120,.4);box-shadow:0 28px 64px -28px rgba(0,0,0,.85)}
.vr-card:hover:before,.vr-card:hover:after{opacity:1}
.vr-card .ic{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;font-size:24px;background:linear-gradient(140deg,rgba(255,45,85,.16),rgba(255,122,77,.1));border:1px solid rgba(255,90,120,.18)}
.vr-card .ct{font-weight:700;font-size:16.5px;color:#f4f2f6;line-height:1.25}
.vr-card .cd{font-size:12.8px;color:#9a98a3;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex:1}
.vr-card .cgo{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:#ff8a9e;margin-top:auto}
.vr-card .cgo svg{width:15px;height:15px;transition:transform .2s}
.vr-card:hover .cgo svg{transform:translateX(3px)}

.vr-ov{position:fixed;inset:0;z-index:15000;display:none;overflow-y:auto;background:linear-gradient(180deg,rgba(10,9,12,.6),rgba(10,9,12,.75));-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
.vr-ov.open{display:block;animation:vrOvIn .34s var(--vr-ease) both}
@keyframes vrOvIn{from{opacity:0}to{opacity:1}}
.vr-ov-top{position:sticky;top:0;z-index:3;display:flex;align-items:center;gap:14px;padding:15px clamp(16px,4vw,40px);background:rgba(13,11,16,.82);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.07)}
.vr-ov-back{display:flex;align-items:center;gap:8px;padding:9px 15px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);color:#e8e6ea;font-family:'Onest',sans-serif;font-weight:600;font-size:13px;cursor:pointer;transition:.16s}
.vr-ov-back:hover{background:rgba(255,255,255,.1);color:#fff}
.vr-ov-back svg{width:16px;height:16px}
.vr-ov-title{font-family:'Onest',sans-serif;font-weight:700;font-size:17px;color:#f4f2f6}
.vr-ov-body{max-width:1080px;margin:0 auto;padding:26px clamp(16px,4vw,40px) 90px;animation:vrOvBody .42s var(--vr-ease) both}
@keyframes vrOvBody{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.vr-ov-body .section{margin:0 0 22px!important}

/* roadmap new milestone types (kept in original style, just more entries) */
.rm-item.flop .rm-dot{background:rgba(120,130,145,.16);color:#aeb6c2;border-color:rgba(150,160,175,.3)}
.rm-item.rise .rm-dot{background:rgba(52,210,123,.16);color:#7ee0a2;border-color:rgba(52,210,123,.35)}
.rm-item.recovery .rm-dot{background:rgba(255,196,84,.16);color:#ffd089;border-color:rgba(255,196,84,.32)}

/* ===== vpr-css ===== */
#vprOv{position:fixed;inset:0;z-index:155;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(8,7,10,.74);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
#vprOv.open{display:flex}
.vpr-card{max-width:640px;width:100%;max-height:92vh;display:flex;flex-direction:column;background:linear-gradient(180deg,#141118,#0e0c11);border:1px solid rgba(255,255,255,.1);border-radius:20px;box-shadow:0 30px 80px rgba(0,0,0,.6);font-family:'Onest',system-ui,sans-serif;overflow:hidden}
.vpr-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid rgba(255,255,255,.07)}
.vpr-head h3{margin:0;font-size:18px;color:#fff;font-weight:700}
.vpr-x{background:none;border:none;color:#9aa0a6;font-size:26px;line-height:1;cursor:pointer}
.vpr-tabs{display:flex;gap:6px;padding:14px 22px 0}
.vpr-tab{flex:1;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);color:#cdd2d8;border-radius:11px;padding:10px 8px;cursor:pointer;font-size:12.5px;font-weight:700;font-family:inherit;transition:.15s}
.vpr-tab.on{background:rgba(255,45,85,.13);border-color:rgba(255,45,85,.4);color:#fff}
.vpr-body{padding:18px 22px 22px;overflow-y:auto}
.vpr-lbl{font-weight:700;font-size:13px;color:#cdd2d8;margin:4px 0 9px}
.vpr-grid{display:grid;gap:8px;margin-bottom:16px}
.vpr-opt{display:flex;gap:11px;align-items:flex-start;text-align:left;width:100%;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03);color:#eaf1f8;border-radius:13px;padding:13px 15px;cursor:pointer;font-family:inherit;transition:.15s}
.vpr-opt.on{border-color:#ff2d55;background:rgba(255,45,85,.12)}
.vpr-opt .em{font-size:20px;line-height:1}
.vpr-opt b{display:block;font-size:14px}
.vpr-opt i{display:block;font-style:normal;font-size:12px;color:#9aa0a6;margin-top:2px}
.vpr-input,.vpr-select{width:100%;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);color:#eaf1f8;border-radius:11px;padding:11px 13px;font-size:14px;font-family:inherit;outline:none}
.vpr-input:focus,.vpr-select:focus{border-color:rgba(255,45,85,.5)}
textarea.vpr-input{resize:vertical;min-height:48px}
.vpr-actions{display:flex;justify-content:flex-end;margin-top:14px}
.vpr-btn{background:linear-gradient(135deg,#ff2d55,#ff5b7f);border:none;color:#fff;font-weight:700;border-radius:11px;padding:11px 20px;cursor:pointer;font-family:inherit;font-size:13.5px}
.vpr-btn.ai{background:rgba(255,255,255,.06);border:1px solid rgba(255,45,85,.4);color:#ff8aa0}
.vpr-btn:disabled{opacity:.6;cursor:default}
.vpr-ch{display:flex;align-items:center;gap:11px;padding:11px 13px;border:1px solid rgba(255,255,255,.08);border-radius:12px;margin-bottom:8px;background:rgba(255,255,255,.02)}
.vpr-ch-ic{font-size:18px}
.vpr-ch-m{flex:1;min-width:0}
.vpr-ch-m b{display:block;font-size:14px;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vpr-ch-m i{display:block;font-style:normal;font-size:12px;color:#9aa0a6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vpr-mini{background:rgba(95,176,230,.14);border:1px solid rgba(95,176,230,.3);color:#bfe0f7;border-radius:9px;padding:7px 11px;cursor:pointer;font-size:12px;font-family:inherit;white-space:nowrap}
.vpr-ch-x{background:none;border:none;color:#8a8f96;cursor:pointer;font-size:15px}
.vpr-addrow{display:flex;gap:8px;margin-top:8px}
.vpr-addbox{margin-top:18px;border-top:1px solid rgba(255,255,255,.07);padding-top:16px}
.vpr-empty{color:#9aa0a6;font-size:13px;line-height:1.5;padding:14px;border:1px dashed rgba(255,255,255,.12);border-radius:12px;margin-bottom:12px}
.vpr-plan-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.vpr-filters{display:flex;gap:6px}
.vpr-fchip{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);color:#cdd2d8;border-radius:999px;padding:6px 12px;cursor:pointer;font-size:12.5px;font-family:inherit}
.vpr-fchip.on{background:rgba(255,45,85,.13);border-color:rgba(255,45,85,.4);color:#fff}
.vpr-prog{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-size:12px;color:#9aa0a6}
.vpr-prog-bar{flex:1;height:7px;background:rgba(255,255,255,.07);border-radius:999px;overflow:hidden}
.vpr-prog-bar i{display:block;height:100%;background:linear-gradient(90deg,#ff2d55,#ff5b7f)}
.vpr-task{display:flex;align-items:flex-start;gap:11px;padding:11px 12px;border:1px solid rgba(255,255,255,.08);border-radius:12px;margin-bottom:8px;background:rgba(255,255,255,.02)}
.vpr-task.done{opacity:.55}
.vpr-task.done .vpr-task-t{text-decoration:line-through}
.vpr-ck{flex:none;width:22px;height:22px;border-radius:7px;border:1.5px solid rgba(255,255,255,.25);background:transparent;color:#0b0f13;cursor:pointer;font-size:13px;line-height:1;display:grid;place-items:center}
.vpr-task.done .vpr-ck{background:#36e07a;border-color:#36e07a}
.vpr-task-m{flex:1;min-width:0}
.vpr-task-t{font-size:13.5px;color:#eaf1f8;line-height:1.45}
.vpr-task-meta{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}
.vpr-tag{font-size:11px;color:#bfe0f7;background:rgba(95,176,230,.12);border-radius:6px;padding:2px 7px}
.vpr-tag.soft{color:#9aa0a6;background:rgba(255,255,255,.05)}
.vpr-navbtn{margin-left:auto;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);color:#fff;border-radius:999px;padding:7px 14px;cursor:pointer;font-size:13px;font-family:'Onest',system-ui,sans-serif;display:inline-flex;align-items:center;gap:6px}
.vpr-navbtn:hover{background:rgba(255,45,85,.16);border-color:rgba(255,45,85,.4)}
@media(max-width:520px){.vpr-addrow{flex-direction:column}.vpr-select{max-width:none!important}}

/* ===== v3css ===== */
/* ===== V3 PACK styles ===== */
/* bubble toolbar */
#v3Bubble{position:fixed;z-index:14060;display:flex;align-items:center;gap:2px;background:#232225;border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:4px 6px;box-shadow:0 14px 40px -10px rgba(0,0,0,.7);opacity:0;pointer-events:none;transform:translateY(6px);transition:opacity .14s,transform .14s}
#v3Bubble.show{opacity:1;pointer-events:auto;transform:translateY(0)}
#v3Bubble button{background:none;border:none;color:#e8e6ea;font-family:'Onest',system-ui,sans-serif;font-size:13px;font-weight:700;min-width:30px;height:30px;padding:0 7px;border-radius:8px;cursor:pointer;transition:.12s}
#v3Bubble button:hover{background:rgba(255,255,255,.12)}
#v3Bubble .v3sep{width:1px;height:18px;background:rgba(255,255,255,.14);margin:0 3px}
/* char counter */
#v3Count{position:fixed;left:20px;bottom:18px;z-index:14055;font-family:'Onest',system-ui,sans-serif;font-size:12px;font-weight:700;color:#9aa0a6;background:rgba(20,19,22,.9);border:1px solid rgba(255,255,255,.12);border-radius:100px;padding:7px 13px;cursor:help;backdrop-filter:blur(6px)}
#v3Count.warn{color:#ffcf7a;border-color:rgba(255,207,122,.35)}
#v3Count.over{color:#ff8fa3;border-color:rgba(255,143,163,.45)}
#vEditor .ve-body h3{font-size:1.15em;font-weight:800;margin:.7em 0 .3em}
#vEditor .ve-body code{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.1);border-radius:5px;padding:1px 5px;font-family:ui-monospace,Menlo,monospace;font-size:.92em}
/* posts: import + preview + bar */
#v3TgImport{margin-top:10px}
.v3-imp{background:rgba(42,171,238,.12);border:1px dashed rgba(42,171,238,.45);color:#7cc6ef;font-family:'Onest',system-ui,sans-serif;font-size:12.5px;font-weight:700;padding:9px 14px;border-radius:10px;cursor:pointer;width:100%;transition:.15s}
.v3-imp:hover{background:rgba(42,171,238,.2)}
.v3-imp-hint{font-size:11px;color:#8e939a;margin-top:6px;line-height:1.5}
.v3-drag{outline:2px dashed #2aabee;outline-offset:4px;border-radius:12px}
#v3Prev{margin:12px 0;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:12px}
.v3pv-h{font-size:12.5px;color:#c9ccd2;line-height:1.5;margin-bottom:10px}
.v3pv-list{display:flex;flex-direction:column;gap:7px;max-height:280px;overflow:auto}
.v3pv-item{display:flex;align-items:center;gap:9px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:8px 10px}
.v3pv-n{font-family:'Onest',system-ui,sans-serif;font-weight:800;font-size:12px;color:#8e939a;min-width:18px}
.v3pv-t{flex:1;font-size:12px;color:#d5d8dd;line-height:1.45;overflow:hidden}
.v3pv-sc{font-family:'Onest',system-ui,sans-serif;font-weight:800;font-size:13px}
.v3pv-acts{display:flex;gap:4px}
.v3pv-acts button{background:rgba(255,255,255,.07);border:none;color:#aab0b8;width:26px;height:26px;border-radius:7px;cursor:pointer;font-size:13px}
.v3pv-acts button:hover{background:rgba(255,255,255,.16);color:#fff}
.v3pv-foot{display:flex;gap:8px;margin-top:11px}
.v3pv-add{flex:1;background:linear-gradient(135deg,#2aabee,#229ed9);border:none;color:#fff;font-family:'Onest',system-ui,sans-serif;font-weight:800;font-size:13px;padding:10px;border-radius:10px;cursor:pointer}
.v3pv-cancel{background:rgba(255,255,255,.07);border:none;color:#aab0b8;font-family:'Onest',system-ui,sans-serif;font-weight:700;font-size:12.5px;padding:10px 14px;border-radius:10px;cursor:pointer}
#v3PostBar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:4px 0 10px}
#v3PostBar input{flex:1;min-width:140px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:9px;color:#fff;font-family:'Onest',system-ui,sans-serif;font-size:12.5px;padding:8px 11px;outline:none}
#v3PostBar select{background:#232225;border:1px solid rgba(255,255,255,.12);border-radius:9px;color:#d5d8dd;font-family:'Onest',system-ui,sans-serif;font-size:12px;padding:8px 9px;outline:none;cursor:pointer}
#v3PostSum{width:100%;font-size:12px;color:#9aa0a6;line-height:1.5}
.vp-empty{font-size:12.5px;color:#8e939a;padding:14px 4px;line-height:1.6}
/* chat */
#chatPanel{width:min(430px,calc(100vw - 24px))!important;height:min(74vh,640px)!important}
#chatPanel .msg{max-width:88%}
#v3ChatNew{background:rgba(255,255,255,.08);border:none;color:#c9ccd2;width:28px;height:28px;border-radius:8px;cursor:pointer;font-size:15px;margin-right:6px}
#v3ChatNew:hover{background:rgba(255,255,255,.18)}
.v3-mdc .v3h{font-weight:800;font-size:1.04em;margin:.55em 0 .25em}
.v3-mdc .v3ul{margin:.3em 0;padding-left:18px;display:flex;flex-direction:column;gap:4px}
.v3-mdc .v3gap{height:7px}
.v3-mdc code{background:rgba(255,255,255,.1);border-radius:4px;padding:0 4px;font-family:ui-monospace,Menlo,monospace;font-size:.9em}
.v3dots{display:inline-flex;gap:4px;padding:4px 2px}
.v3dots span{width:6px;height:6px;border-radius:50%;background:#9aa0a6;animation:v3blink 1.1s infinite}
.v3dots span:nth-child(2){animation-delay:.18s}.v3dots span:nth-child(3){animation-delay:.36s}
@keyframes v3blink{0%,80%,100%{opacity:.25}40%{opacity:1}}
.v3-acts{display:flex;gap:5px;margin-top:8px}
.v3-acts button{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.09);color:#c9ccd2;font-size:12.5px;height:26px;min-width:30px;padding:0 7px;border-radius:8px;cursor:pointer;transition:.12s}
.v3-acts button:hover{background:rgba(255,255,255,.16)}
/* wizard */
.v3w{width:min(520px,100%);background:#1b1a1e;border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:22px;font-family:'Onest',system-ui,sans-serif;box-shadow:0 30px 80px -20px rgba(0,0,0,.8);animation:fadeUp .25s both}
.v3w-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.v3w-title{font-family:'Onest',system-ui,sans-serif;font-weight:800;font-size:17px;color:#fff}
.v3w-dots{display:flex;gap:5px}
.v3w-dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.15)}
.v3w-dot.on{background:#2aabee;transform:scale(1.25)}
.v3w-dot.done{background:rgba(42,171,238,.5)}
.v3w-q{font-size:13px;color:#9aa0a6;font-weight:600;margin-bottom:12px}
.v3w-body{display:flex;flex-direction:column;gap:8px}
.v3w-opt{display:flex;align-items:center;gap:12px;text-align:left;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);border-radius:13px;padding:11px 13px;cursor:pointer;transition:.13s;font-family:'Onest',system-ui,sans-serif}
.v3w-opt:hover{background:rgba(255,255,255,.09)}
.v3w-opt.on{border-color:#2aabee;background:rgba(42,171,238,.12)}
.v3w-opt .ic{font-size:21px}
.v3w-opt .tx{display:flex;flex-direction:column;gap:2px}
.v3w-opt .tx b{color:#fff;font-size:13.5px}
.v3w-opt .tx small{color:#8e939a;font-size:11.5px;line-height:1.4}
.v3w-f{display:flex;flex-direction:column;gap:5px;margin-bottom:4px}
.v3w-f span{font-size:12px;color:#9aa0a6;font-weight:600}
.v3w-f input{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:10px;color:#fff;font-family:'Onest',system-ui,sans-serif;font-size:13px;padding:10px 12px;outline:none}
.v3w-f input:focus{border-color:#2aabee}
.v3w-priv{font-size:11.5px;color:#8e939a;line-height:1.55;background:rgba(126,224,162,.06);border:1px solid rgba(126,224,162,.15);border-radius:10px;padding:9px 11px}
.v3w-priv b{color:#a9e8c0}
.v3w-nav{display:flex;align-items:center;justify-content:space-between;margin-top:16px;gap:8px}
.v3w-navr{display:flex;gap:8px}
.v3w-skip{background:none;border:none;color:#7d828a;font-family:'Onest',system-ui,sans-serif;font-size:12px;cursor:pointer;padding:8px}
.v3w-skip:hover{color:#c9ccd2}
.v3w-back{background:rgba(255,255,255,.07);border:none;color:#c9ccd2;font-family:'Onest',system-ui,sans-serif;font-weight:700;font-size:13px;padding:10px 14px;border-radius:10px;cursor:pointer}
.v3w-next{background:linear-gradient(135deg,#ff2d55,#ff5470);border:none;color:#fff;font-family:'Onest',system-ui,sans-serif;font-weight:800;font-size:13px;padding:10px 18px;border-radius:10px;cursor:pointer}
/* profile chip + modal */
#v3ProfBtn{position:fixed;top:64px;right:16px;z-index:55;display:flex;align-items:center;gap:6px;background:rgba(24,23,27,.88);border:1px solid rgba(255,255,255,.13);color:#e8e6ea;font-family:'Onest',system-ui,sans-serif;font-weight:700;font-size:12.5px;padding:8px 13px;border-radius:100px;cursor:pointer;backdrop-filter:blur(8px);transition:.15s;box-shadow:0 8px 24px -8px rgba(0,0,0,.5)}
#v3ProfBtn:hover{border-color:rgba(255,255,255,.3);transform:translateY(-1px)}
@media(max-width:560px){#v3ProfBtn{top:auto;bottom:74px;right:14px}#v3ProfBtn span{display:none}}
#v3Prof,#v3FavModal{position:fixed;inset:0;z-index:14000;display:none}
#v3Prof.open,#v3FavModal.open{display:block}
.v3p-scrim{position:absolute;inset:0;background:rgba(8,7,10,.7);backdrop-filter:blur(6px)}
.v3p-panel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(560px,calc(100vw - 24px));max-height:86vh;display:flex;flex-direction:column;background:#1b1a1e;border:1px solid rgba(255,255,255,.12);border-radius:20px;box-shadow:0 30px 80px -20px rgba(0,0,0,.8);font-family:'Onest',system-ui,sans-serif;animation:fadeUp .22s both}
.v3p-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.08)}
.v3p-title{font-family:'Onest',system-ui,sans-serif;font-weight:800;font-size:17px;color:#fff}
.v3p-x{background:rgba(255,255,255,.07);border:none;color:#c9ccd2;width:30px;height:30px;border-radius:9px;font-size:18px;cursor:pointer}
.v3p-body{padding:16px 20px 20px;overflow:auto}
.v3p-empty{font-size:13.5px;color:#c9ccd2;line-height:1.65;text-align:center;padding:14px 6px}
.v3p-cta{background:linear-gradient(135deg,#ff2d55,#ff5470);border:none;color:#fff;font-family:'Onest',system-ui,sans-serif;font-weight:800;font-size:13.5px;padding:11px 20px;border-radius:11px;cursor:pointer}
.v3p-pills{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:6px}
.v3p-pills span{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:100px;padding:6px 12px;font-size:12px;color:#d5d8dd;font-weight:600}
.v3p-sec{font-size:12px;font-weight:800;color:#9aa0a6;text-transform:uppercase;letter-spacing:.06em;margin:16px 0 8px;display:flex;align-items:center;gap:8px}
.v3p-mini{background:rgba(255,255,255,.07);border:none;color:#c9ccd2;width:24px;height:24px;border-radius:7px;cursor:pointer;font-size:12px}
.v3p-ch{display:flex;align-items:center;justify-content:space-between;gap:10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:11px;padding:10px 12px;font-size:12.5px;color:#d5d8dd;margin-bottom:7px}
.v3p-ch b{color:#fff}
.v3p-ch-a{display:flex;gap:6px;align-items:center}
.v3p-ch-a a{color:#7cc6ef;font-size:12px;text-decoration:none}
.v3p-ch-a button{background:rgba(42,171,238,.13);border:none;color:#7cc6ef;font-family:'Onest',system-ui,sans-serif;font-size:11.5px;font-weight:700;padding:6px 10px;border-radius:8px;cursor:pointer}
.v3p-prog{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.v3p-prog-bar{flex:1;height:8px;background:rgba(255,255,255,.07);border-radius:100px;overflow:hidden}
.v3p-prog-bar i{display:block;height:100%;background:linear-gradient(90deg,#2aabee,#7ee0a2);border-radius:100px;transition:width .3s}
.v3p-prog span{font-size:11.5px;color:#9aa0a6;font-weight:700;white-space:nowrap}
.v3p-week{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);border-radius:12px;margin-bottom:7px;overflow:hidden}
.v3p-week summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;padding:11px 13px;font-size:13px;font-weight:700;color:#e8e6ea}
.v3p-week summary::-webkit-details-marker{display:none}
.v3p-week summary em{font-style:normal;font-size:11.5px;color:#8e939a;font-weight:700}
.v3p-task{display:flex;align-items:flex-start;gap:9px;padding:8px 13px;font-size:12.5px;color:#c9ccd2;line-height:1.5;cursor:pointer;border-top:1px solid rgba(255,255,255,.05)}
.v3p-task input{margin-top:2px;accent-color:#2aabee;cursor:pointer}
.v3p-task.done span{color:#7d828a;text-decoration:line-through}
.v3p-row{display:flex;flex-wrap:wrap;gap:7px}
.v3p-row button{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#d5d8dd;font-family:'Onest',system-ui,sans-serif;font-size:12.5px;font-weight:700;padding:9px 13px;border-radius:10px;cursor:pointer;transition:.13s}
.v3p-row button:hover{background:rgba(255,255,255,.12)}
/* search additions */
.v3why{font-size:11.5px;color:#9aa0a6;line-height:1.5;margin:2px 0}
.v3why b{color:#9bf3bf;font-weight:700}
.v3om b{color:#9bf3bf}
.v3junk-tag{position:absolute;left:8px;bottom:8px;background:rgba(20,19,22,.85);color:#ffcf7a;font-size:10.5px;font-weight:700;padding:3px 8px;border-radius:100px}
.out.v3junk .thumb img{filter:saturate(.6)}
.v3-fav{min-width:34px;font-size:15px!important}
.v3-fav.on{color:#ffd166!important}
#v3JunkBtn.on{background:rgba(126,224,162,.16);color:#9bf3bf}
.v3f-item{display:flex;gap:11px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:13px;padding:10px;margin-bottom:9px}
.v3f-th{position:relative;width:116px;min-width:116px;height:65px;border-radius:9px;overflow:hidden;background:#111}
.v3f-th img{width:100%;height:100%;object-fit:cover}
.v3f-th span{position:absolute;left:5px;top:5px;background:rgba(20,19,22,.85);color:#9bf3bf;font-size:10.5px;font-weight:800;padding:2px 7px;border-radius:100px;font-family:'Onest',system-ui,sans-serif}
.v3f-b{flex:1;min-width:0}
.v3f-t{font-size:12.5px;font-weight:700;color:#e8e6ea;line-height:1.4;margin-bottom:4px}
.v3f-m{font-size:11px;color:#8e939a;margin-bottom:7px}
.v3f-acts{display:flex;gap:6px;flex-wrap:wrap}
.v3f-acts a,.v3f-acts button{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);color:#c9ccd2;font-family:'Onest',system-ui,sans-serif;font-size:11.5px;font-weight:700;padding:5px 10px;border-radius:8px;cursor:pointer;text-decoration:none}
.v3f-acts .del{color:#ff8fa3}
.v3f-empty{font-size:13px;color:#9aa0a6;line-height:1.65;text-align:center;padding:18px 8px}
/* verdict feedback */
#v3FbRow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0 4px;font-family:'Onest',system-ui,sans-serif;font-size:12.5px;color:#9aa0a6}
#v3FbRow button{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#e8e6ea;font-size:14px;padding:6px 12px;border-radius:9px;cursor:pointer;transition:.13s}
#v3FbRow button:hover{background:rgba(255,255,255,.14)}
#v3FbRow input{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:9px;color:#fff;font-family:'Onest',system-ui,sans-serif;font-size:12px;padding:7px 11px;outline:none;flex:1;min-width:160px}

/* ===== v4css ===== */
/* ============================================================ */
/* V4 PACK — styles: tools hub, preview lab, arena, x-ray,      */
/* radar, progress, scriptwriter, editor-AI, polish             */
/* ============================================================ */
/* ---------- tool dock ---------- */
#v4Dock{position:fixed;left:22px;bottom:96px;z-index:11900;display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-family:Onest,sans-serif}
#v4DockBtn{display:flex;align-items:center;gap:9px;padding:12px 18px;border-radius:16px;border:1px solid rgba(255,45,85,.35);background:linear-gradient(135deg,rgba(26,12,16,.92),rgba(34,14,20,.92));color:#fff;font-weight:700;font-size:14px;cursor:pointer;box-shadow:0 12px 40px rgba(0,0,0,.5),0 0 24px rgba(255,45,85,.18);backdrop-filter:blur(14px);transition:transform .18s,box-shadow .18s;font-family:inherit}
@media(max-width:560px){#v4Dock{left:14px;bottom:80px}}
#v4DockBtn:hover{transform:translateY(-2px);box-shadow:0 16px 48px rgba(0,0,0,.55),0 0 34px rgba(255,45,85,.3)}
#v4DockBtn .ic{font-size:17px}
#v4DockMenu{display:none;flex-direction:column;gap:4px;padding:10px;border-radius:18px;border:1px solid rgba(255,255,255,.1);background:rgba(15,12,16,.97);backdrop-filter:blur(20px);box-shadow:0 24px 70px rgba(0,0,0,.65);min-width:265px;animation:v4up .22s ease}
#v4DockMenu.show{display:flex}
#v4DockMenu .ttl{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);padding:4px 10px 6px}
.v4-dock-it{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:12px;border:none;background:transparent;color:#ecebef;cursor:pointer;text-align:left;font-family:inherit;font-size:13.5px;transition:background .15s}
.v4-dock-it:hover{background:rgba(255,45,85,.12)}
.v4-dock-it .ic{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;background:rgba(255,255,255,.06);flex:0 0 34px}
.v4-dock-it b{display:block;font-size:13.5px}
.v4-dock-it small{display:block;color:var(--muted);font-size:11.5px;margin-top:1px}
.v4-dock-it .new{margin-left:auto;font-size:9.5px;font-weight:800;letter-spacing:.08em;color:#0b0b0d;background:linear-gradient(135deg,#ff2d55,#ff7a4d);border-radius:6px;padding:2px 6px}
@keyframes v4up{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
/* hero tools strip */
#v4HeroTools{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px;align-items:center}
#v4HeroTools .lbl{font-size:12px;color:var(--muted-2);letter-spacing:.1em;text-transform:uppercase;margin-right:2px}
.v4-chip{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.04);color:#e9e8ec;font-size:13px;cursor:pointer;font-family:Onest,sans-serif;transition:border-color .16s,background .16s,transform .16s}
.v4-chip:hover{border-color:rgba(255,45,85,.5);background:rgba(255,45,85,.1);transform:translateY(-1px)}
/* ---------- overlay shell ---------- */
.v4-ov{position:fixed;inset:0;z-index:13400;background:#0a090c;display:none;flex-direction:column;font-family:Onest,sans-serif}
.v4-ov.open{display:flex;animation:v4fade .25s ease}
@keyframes v4fade{from{opacity:0}to{opacity:1}}
.v4-top{display:flex;align-items:center;gap:12px;padding:13px 20px;border-bottom:1px solid rgba(255,255,255,.07);background:rgba(14,12,15,.9);backdrop-filter:blur(14px);flex:0 0 auto}
.v4-back{width:36px;height:36px;border-radius:11px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}
.v4-back:hover{background:rgba(255,45,85,.16)}
.v4-ttl{font-family:'Onest',Onest,sans-serif;font-weight:700;font-size:15.5px;display:flex;align-items:center;gap:9px}
.v4-ttl small{display:block;font-family:Onest,sans-serif;font-weight:500;color:var(--muted);font-size:11.5px;margin-top:2px}
.v4-top .sp{margin-left:auto;display:flex;gap:8px;align-items:center}
.v4-body{flex:1;overflow-y:auto;padding:22px;scrollbar-width:thin}
.v4-wrap{max-width:1180px;margin:0 auto}
.v4-cols{display:grid;grid-template-columns:330px 1fr;gap:18px;align-items:start}
@media(max-width:880px){.v4-cols{grid-template-columns:1fr}}
.v4-panel{background:var(--card);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:16px}
.v4-panel h3{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 12px;font-weight:700}
.v4-lab{font-size:12px;color:var(--muted);margin:12px 0 6px;font-weight:600}
.v4-in{width:100%;box-sizing:border-box;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:11px;color:#fff;padding:11px 13px;font-size:13.5px;font-family:inherit;outline:none;transition:border-color .15s}
.v4-in:focus{border-color:rgba(255,45,85,.55)}
textarea.v4-in{resize:vertical;min-height:64px}
.v4-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;border-radius:12px;border:none;background:linear-gradient(135deg,#ff2d55,#ff5470);color:#fff;font-weight:700;font-size:13.5px;cursor:pointer;font-family:inherit;transition:transform .15s,box-shadow .15s;box-shadow:0 8px 26px rgba(255,45,85,.25)}
.v4-btn:hover{transform:translateY(-1px);box-shadow:0 12px 34px rgba(255,45,85,.36)}
.v4-btn:disabled{opacity:.55;cursor:default;transform:none}
.v4-btn.ghost{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.13);box-shadow:none;font-weight:600}
.v4-btn.ghost:hover{background:rgba(255,255,255,.1)}
.v4-btn.sm{padding:8px 12px;font-size:12.5px;border-radius:10px}
.v4-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.v4-seg{display:inline-flex;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:11px;padding:3px;gap:2px}
.v4-seg button{border:none;background:transparent;color:var(--muted);padding:7px 13px;border-radius:9px;font-size:12.5px;cursor:pointer;font-family:inherit;font-weight:600;transition:all .15s}
.v4-seg button.on{background:rgba(255,45,85,.2);color:#fff}
.v4-note{font-size:12px;color:var(--muted);line-height:1.55;margin-top:10px}
.v4-err{font-size:13px;color:#ff8da1;background:rgba(255,45,85,.08);border:1px solid rgba(255,45,85,.25);border-radius:11px;padding:10px 13px;margin-top:10px}
.v4-empty{padding:34px 16px;text-align:center;color:var(--muted);font-size:13.5px;line-height:1.6}
.v4-empty .big{font-size:34px;display:block;margin-bottom:10px}
/* skeleton */
.v4-skel{display:flex;flex-direction:column;gap:10px;padding:6px 0}
.v4-skel i{display:block;border-radius:10px;background:linear-gradient(100deg,rgba(255,255,255,.05) 40%,rgba(255,255,255,.11) 50%,rgba(255,255,255,.05) 60%);background-size:200% 100%;animation:v4sh 1.2s infinite linear;height:16px}
.v4-skel i.h60{height:60px}.v4-skel i.h120{height:120px}.v4-skel i.w50{width:50%}
@keyframes v4sh{to{background-position:-200% 0}}
.v4-spin{display:inline-block;width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.25);border-top-color:#ff5470;animation:v4rot .7s linear infinite;vertical-align:-2px}
@keyframes v4rot{to{transform:rotate(360deg)}}
/* score ring */
.v4-ring{width:84px;height:84px;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;flex:0 0 84px}
.v4-ring::after{content:'';position:absolute;inset:7px;border-radius:50%;background:#141117}
.v4-ring b{position:relative;z-index:1;font-family:'Onest',sans-serif;font-size:21px}
.v4-ring small{position:absolute;z-index:1;bottom:16px;font-size:8.5px;color:var(--muted);letter-spacing:.06em}
/* ---------- preview lab ---------- */
.v4-drop{border:2px dashed rgba(255,255,255,.16);border-radius:14px;padding:18px 12px;text-align:center;color:var(--muted);font-size:12.5px;cursor:pointer;transition:border-color .15s,background .15s;position:relative;overflow:hidden}
.v4-drop:hover,.v4-drop.over{border-color:rgba(255,45,85,.6);background:rgba(255,45,85,.06)}
.v4-drop img{width:100%;border-radius:9px;display:block}
.v4-drop .rm{position:absolute;top:7px;right:7px;width:26px;height:26px;border-radius:8px;border:none;background:rgba(0,0,0,.65);color:#fff;cursor:pointer;font-size:13px}
.v4lab-stage{background:#0f0f0f;border:1px solid rgba(255,255,255,.07);border-radius:16px;padding:18px;min-height:420px}
.v4lab-stage.desktop .v4yt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px 14px}
.v4lab-stage.phone{display:flex;justify-content:center}
.v4lab-stage.phone .v4yt-grid{width:374px;max-width:100%;display:flex;flex-direction:column;gap:16px;background:#0f0f0f;border:6px solid #1d1b20;border-radius:28px;padding:14px 10px;box-shadow:0 24px 70px rgba(0,0,0,.5)}
.v4yt-card{cursor:default;animation:v4up .3s ease both}
.v4yt-thumb{position:relative;aspect-ratio:16/9;border-radius:11px;overflow:hidden;background:#1b191e}
.v4yt-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.v4yt-thumb .dur{position:absolute;right:6px;bottom:6px;background:rgba(0,0,0,.8);color:#fff;font-size:11px;font-weight:600;border-radius:5px;padding:1.5px 5px}
.v4yt-meta{display:flex;gap:10px;margin-top:9px}
.v4yt-av{width:32px;height:32px;border-radius:50%;background:#2a2730;flex:0 0 32px;overflow:hidden}
.v4yt-av img{width:100%;height:100%;object-fit:cover}
.v4yt-t{font-size:13.5px;font-weight:600;line-height:1.35;color:#f1f1f3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.v4yt-s{font-size:12px;color:#9b99a3;margin-top:3px;line-height:1.4}
.v4yt-card.mine .v4yt-thumb{outline:2px solid transparent;transition:outline-color .3s}
.v4yt-card.mine.hl .v4yt-thumb{outline-color:#ff2d55;box-shadow:0 0 22px rgba(255,45,85,.45)}
.v4yt-card.mine .v4yt-t::after{content:' · ТВОЁ';color:#ff5470;font-size:10px;letter-spacing:.08em}
.v4lab-stage.blurred .v4yt-thumb img{filter:blur(5px)}
.v4lab-stage.tiny .v4yt-grid{transform:scale(.52);transform-origin:top left;width:192%}
.v4lab-tests{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.v4ab-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.v4ab-grid .tag{font-size:11px;font-weight:800;letter-spacing:.1em;color:var(--muted);margin-bottom:6px}
.v4-aiout{margin-top:14px}
.v4-aicard{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:15px;margin-top:10px;animation:v4up .3s ease}
.v4-aicard h4{margin:0 0 9px;font-size:13.5px;display:flex;align-items:center;gap:7px}
.v4-aicard ul{margin:6px 0;padding-left:18px;font-size:13px;line-height:1.65;color:#dcdbe1}
.v4-aicard .vrd{font-size:13.5px;line-height:1.6;color:#efeef2}
.v4-winner{display:inline-flex;align-items:center;gap:7px;background:linear-gradient(135deg,rgba(126,224,162,.16),rgba(54,224,122,.08));border:1px solid rgba(126,224,162,.35);color:#9ef0bb;border-radius:10px;padding:6px 12px;font-weight:700;font-size:13px}
/* ---------- arena ---------- */
.v4ar-row{display:flex;gap:8px;align-items:center;margin-bottom:8px}
.v4ar-row .idx{width:26px;height:26px;border-radius:8px;background:rgba(255,255,255,.07);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--muted);flex:0 0 26px}
.v4ar-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:14px;margin-bottom:10px;animation:v4up .3s ease both}
.v4ar-card.win{border-color:rgba(126,224,162,.45);background:linear-gradient(135deg,rgba(126,224,162,.07),rgba(255,255,255,.02))}
.v4ar-head{display:flex;align-items:center;gap:10px}
.v4ar-head .t{font-weight:700;font-size:14px;line-height:1.4;flex:1}
.v4ar-score{font-family:'Onest',sans-serif;font-size:19px;font-weight:700}
.v4ar-bar{height:7px;border-radius:5px;background:rgba(255,255,255,.07);margin:9px 0 7px;overflow:hidden}
.v4ar-bar i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,#ff2d55,#ff7a4d);width:0;transition:width .8s cubic-bezier(.2,.8,.2,1)}
.v4ar-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}
.v4ar-chips span{font-size:11px;border-radius:7px;padding:3px 8px;background:rgba(255,255,255,.06);color:#cfced6;border:1px solid rgba(255,255,255,.08)}
.v4ar-chips span.on{background:rgba(126,224,162,.12);color:#9ef0bb;border-color:rgba(126,224,162,.3)}
.v4ar-chips span.off{opacity:.55}
.v4-pct{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,rgba(255,45,85,.12),rgba(255,122,77,.06));border:1px solid rgba(255,45,85,.3);border-radius:14px;padding:14px 16px;margin:12px 0}
.v4-pct b{font-family:'Onest',sans-serif;font-size:26px}
.v4-pct .tx{font-size:13px;line-height:1.55;color:#e7e6ea}
.v4-imp{display:flex;flex-direction:column;gap:7px;margin-top:9px}
.v4-imp .it{display:flex;gap:9px;align-items:flex-start;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:11px;padding:10px 12px;font-size:13.5px;line-height:1.45;cursor:pointer;transition:border-color .15s}
.v4-imp .it:hover{border-color:rgba(255,45,85,.45)}
.v4-imp .it .cp{margin-left:auto;color:var(--muted);font-size:12px;flex:0 0 auto}
/* ---------- x-ray ---------- */
.v4x-hero{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}
.v4x-hero .th{width:300px;max-width:100%;border-radius:13px;overflow:hidden;position:relative;flex:0 0 300px}
.v4x-hero .th img{width:100%;display:block}
.v4x-hero .mult{position:absolute;left:9px;top:9px;background:rgba(8,8,10,.85);border:1px solid rgba(255,45,85,.4);border-radius:9px;padding:4px 9px;font-weight:800;font-size:13px;color:#ff8da1}
.v4x-hero .mult.hot{color:#9ef0bb;border-color:rgba(126,224,162,.45)}
.v4x-stats{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.v4x-stat{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:11px;padding:8px 12px;font-size:12px;color:var(--muted)}
.v4x-stat b{display:block;color:#fff;font-size:14.5px;font-family:'Onest',system-ui,sans-serif}
.v4x-reason{display:flex;gap:11px;align-items:flex-start;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:13px;padding:12px 14px;margin-bottom:8px;font-size:13.5px;line-height:1.55;animation:v4up .3s ease both}
.v4x-reason .n{width:26px;height:26px;border-radius:9px;background:linear-gradient(135deg,#ff2d55,#ff7a4d);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;flex:0 0 26px}
/* ---------- radar ---------- */
.v4r-rival{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.09);border-radius:12px;padding:9px 11px;margin-bottom:7px}
.v4r-rival img{width:34px;height:34px;border-radius:50%;object-fit:cover}
.v4r-rival .nm{font-size:13px;font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4r-rival small{display:block;color:var(--muted);font-weight:500;font-size:11px}
.v4r-rival .rm{border:none;background:transparent;color:var(--muted);cursor:pointer;font-size:14px;padding:4px}
.v4r-rival .rm:hover{color:#ff5470}
.v4r-chart{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:14px;height:380px;position:relative}
.v4r-hit{display:flex;gap:11px;align-items:center;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:9px 11px;margin-bottom:8px;text-decoration:none;color:inherit;transition:border-color .15s;animation:v4up .3s ease both}
.v4r-hit:hover{border-color:rgba(255,45,85,.4)}
.v4r-hit img{width:104px;border-radius:8px;aspect-ratio:16/9;object-fit:cover;flex:0 0 104px}
.v4r-hit .t{font-size:13px;font-weight:600;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.v4r-hit .m{font-size:11.5px;color:var(--muted);margin-top:3px}
.v4r-hit .x{margin-left:auto;font-weight:800;font-size:13px;color:#9ef0bb;flex:0 0 auto}
.v4-gap{display:flex;gap:7px;flex-wrap:wrap}
.v4-gap span{font-size:12px;border-radius:9px;padding:5px 11px;background:rgba(255,176,32,.1);border:1px solid rgba(255,176,32,.3);color:#ffd089}
/* ---------- progress ---------- */
.v4p-hero{display:flex;gap:20px;align-items:center;flex-wrap:wrap;background:linear-gradient(135deg,rgba(255,45,85,.1),rgba(139,92,246,.06));border:1px solid rgba(255,45,85,.25);border-radius:18px;padding:20px}
.v4p-ring{width:130px;height:130px;border-radius:50%;position:relative;display:flex;align-items:center;justify-content:center;flex:0 0 130px}
.v4p-ring::after{content:'';position:absolute;inset:10px;border-radius:50%;background:#141117}
.v4p-ring b{position:relative;z-index:1;font-family:'Onest',sans-serif;font-size:36px}
.v4p-ring small{position:absolute;z-index:1;bottom:26px;font-size:9px;color:var(--muted);letter-spacing:.08em}
.v4p-parts{flex:1;min-width:240px;display:flex;flex-direction:column;gap:8px}
.v4p-part .l{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-bottom:4px}
.v4p-part .l b{color:#eceaef}
.v4p-bar{height:7px;border-radius:5px;background:rgba(255,255,255,.07);overflow:hidden}
.v4p-bar i{display:block;height:100%;border-radius:5px;width:0;transition:width .9s cubic-bezier(.2,.8,.2,1)}
.v4p-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:14px}
.v4p-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:13px;padding:13px}
.v4p-card .l{font-size:11px;color:var(--muted);letter-spacing:.05em;text-transform:uppercase}
.v4p-card .v{font-family:'Onest',system-ui,sans-serif;font-size:21px;font-weight:700;margin-top:4px}
.v4p-card .d{font-size:12px;margin-top:3px;font-weight:600}
.v4p-card .d.up{color:#7ee0a2}.v4p-card .d.down{color:#ff8da1}.v4p-card .d.flat{color:var(--muted)}
.v4p-chart{height:260px;position:relative;margin-top:14px}
.v4-ach-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.v4-ach{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:13px;padding:13px;text-align:center;transition:transform .18s}
.v4-ach .ic{font-size:25px;display:block;margin-bottom:7px}
.v4-ach b{font-size:12.5px;display:block;line-height:1.35}
.v4-ach small{display:block;color:var(--muted);font-size:11px;margin-top:4px;line-height:1.4}
.v4-ach.lock{opacity:.42;filter:grayscale(.7)}
.v4-ach.unlocked{border-color:rgba(255,176,32,.4);background:linear-gradient(135deg,rgba(255,176,32,.09),rgba(255,255,255,.02))}
.v4-ach.unlocked:hover{transform:translateY(-2px)}
.v4-streak{display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:14px 16px;margin-top:12px}
.v4-streak .fl{font-size:30px}
.v4-streak b{font-family:'Onest',sans-serif;font-size:21px}
.v4-streak .tx{font-size:12.5px;color:var(--muted);line-height:1.5}
.v4-weekdots{display:flex;gap:5px;margin-top:6px}
.v4-weekdots i{width:13px;height:13px;border-radius:4px;background:rgba(255,255,255,.08)}
.v4-weekdots i.on{background:linear-gradient(135deg,#ff2d55,#ff7a4d);box-shadow:0 0 8px rgba(255,45,85,.5)}
/* ---------- scriptwriter ---------- */
.v4s-curve{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:14px;margin-bottom:14px}
.v4s-block{display:flex;gap:12px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:13px;padding:13px 14px;margin-bottom:9px;animation:v4up .3s ease both}
.v4s-block .tc{font-family:'Onest',monospace;font-size:12px;font-weight:700;color:#ff8da1;background:rgba(255,45,85,.1);border:1px solid rgba(255,45,85,.25);border-radius:8px;padding:4px 8px;height:fit-content;white-space:nowrap;flex:0 0 auto}
.v4s-block .bd{flex:1;min-width:0}
.v4s-block .bn{font-weight:700;font-size:13.5px}
.v4s-block .say{font-size:13px;line-height:1.6;color:#dddce2;margin-top:5px}
.v4s-block .vis{font-size:12px;color:var(--muted);margin-top:5px}
.v4s-block .vis b{color:#ffd089;font-weight:600}
.v4s-block .ret{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:#9ef0bb;background:rgba(126,224,162,.09);border-radius:7px;padding:3px 8px;margin-top:7px}
.v4s-hook{background:linear-gradient(135deg,rgba(255,45,85,.12),rgba(255,122,77,.06));border:1px solid rgba(255,45,85,.3);border-radius:14px;padding:15px;font-size:14.5px;line-height:1.65;font-weight:500;margin-bottom:12px}
.v4s-hook .lb{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#ff8da1;font-weight:800;margin-bottom:7px}
.v4-short{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:15px;animation:v4up .3s ease both}
.v4-short .num{font-size:11px;font-weight:800;letter-spacing:.1em;color:#ff8da1;margin-bottom:7px}
.v4-short h4{margin:0 0 8px;font-size:14.5px;line-height:1.4}
.v4-short .hk{font-size:13px;background:rgba(255,45,85,.08);border-left:3px solid #ff2d55;border-radius:0 9px 9px 0;padding:8px 11px;margin:8px 0;line-height:1.55}
.v4-short ul{margin:7px 0;padding-left:17px;font-size:12.5px;line-height:1.6;color:#d8d7dd}
.v4-shorts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:11px}
/* ---------- editor AI ---------- */
.v4e-act{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:13px;padding:11px;margin-top:8px}
.v4e-act .lb{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:800;margin-bottom:7px}
.v4e-act .tx{font-size:13px;line-height:1.6;color:#e7e6ea;max-height:190px;overflow-y:auto;white-space:pre-wrap;scrollbar-width:thin}
.v4e-act .bt{display:flex;gap:7px;margin-top:10px}
.v4e-act .bt button{flex:1;border-radius:9px;padding:8px 10px;font-size:12.5px;font-weight:700;cursor:pointer;font-family:inherit;border:none}
.v4e-act .bt .ok{background:linear-gradient(135deg,#ff2d55,#ff5470);color:#fff}
.v4e-act .bt .no{background:rgba(255,255,255,.07);color:#cfced6;border:1px solid rgba(255,255,255,.1)}
.v4e-undo{display:inline-flex;align-items:center;gap:6px;margin-top:8px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:#dcdbe1;border-radius:9px;padding:6px 11px;font-size:12px;cursor:pointer;font-family:inherit}
.v4e-undo:hover{background:rgba(255,255,255,.1)}
/* responsive for new overlays */
@media(max-width:640px){
  .v4-body{padding:14px}
  .v4lab-stage.desktop .v4yt-grid{grid-template-columns:1fr 1fr;gap:12px 10px}
  .v4ab-grid{grid-template-columns:1fr}
  .v4x-hero .th{width:100%;flex-basis:100%}
  #v4Dock{left:12px;bottom:12px}
  #v4DockBtn{padding:11px 14px;font-size:13px}
  .v4p-hero{padding:15px}
  .v4r-chart{height:300px}
}

/* ===== v5css ===== */
/* ============ V5 · DESIGN PASS ============ */
/* ---- 0. kill duplicate profile entries ---- */
#v3ProfBtn{display:none!important}
/* ---- 1. tools overlays polish ---- */
.v4-ov .v4-sheet{background:
  radial-gradient(1100px 500px at 85% -10%,rgba(255,45,85,.07),transparent 60%),
  radial-gradient(800px 420px at -10% 110%,rgba(124,77,255,.05),transparent 55%),
  linear-gradient(180deg,#0e0d11,#0a090c)}
.v4-head{position:sticky;top:0;z-index:5;backdrop-filter:blur(18px);background:rgba(13,12,16,.82);border-bottom:1px solid rgba(255,255,255,.07);padding:16px 26px}
.v4-head h2{font-family:'Onest',sans-serif;font-size:19px;letter-spacing:.01em}
.v4-head .sub{margin-top:3px}
.v4-panel{border:1px solid rgba(255,255,255,.085);border-radius:20px;background:linear-gradient(165deg,rgba(255,255,255,.045),rgba(255,255,255,.015) 55%,rgba(255,45,85,.03));box-shadow:0 18px 50px -28px rgba(0,0,0,.8);transition:border-color .25s}
.v4-panel:hover{border-color:rgba(255,255,255,.13)}
.v4-panel h3{font-family:'Onest',system-ui,sans-serif;font-size:15px;letter-spacing:.02em;display:flex;align-items:center;gap:8px}
.v4-panel h3:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.12),transparent)}
.v4-lab{font-size:10.5px;letter-spacing:.16em;color:#8d8b96;margin:16px 0 7px}
.v4-in{border-radius:13px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.045);padding:12px 14px;transition:border-color .2s,box-shadow .2s,background .2s}
.v4-in:focus{border-color:rgba(255,45,85,.55);box-shadow:0 0 0 3px rgba(255,45,85,.13);background:rgba(255,255,255,.06)}
.v4-btn{position:relative;overflow:hidden;border-radius:13px;font-weight:700;letter-spacing:.01em;box-shadow:0 10px 28px -12px rgba(255,45,85,.55);transition:transform .16s,box-shadow .16s,filter .16s}
.v4-btn:not(.ghost):not(.sm):before{content:"";position:absolute;top:0;left:-80%;width:55%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.28),transparent);transform:skewX(-20deg);transition:left .45s ease}
.v4-btn:not(.ghost):hover:before{left:130%}
.v4-btn:hover{transform:translateY(-1px);box-shadow:0 14px 34px -12px rgba(255,45,85,.7)}
.v4-btn:active{transform:translateY(0) scale(.98)}
.v4-btn.ghost{box-shadow:none;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04)}
.v4-btn.ghost:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22)}
.v4-seg{border-radius:13px;padding:4px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08)}
.v4-seg button{border-radius:10px;transition:all .2s}
.v4-seg button.on{background:linear-gradient(135deg,#ff2d55,#ff5a3c);box-shadow:0 6px 18px -6px rgba(255,45,85,.6)}
.v4-note{display:flex;gap:10px;align-items:flex-start;border:1px solid rgba(255,200,80,.16);border-left:3px solid rgba(255,200,80,.55);background:linear-gradient(135deg,rgba(255,200,80,.06),rgba(255,200,80,.015));border-radius:12px;padding:11px 13px;color:#cdc8bd;font-size:12.5px;line-height:1.6}
.v4-note:before{content:"💡";font-size:14px;line-height:1.4}
.v4-aicard{border-radius:16px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(160deg,rgba(255,255,255,.04),rgba(255,255,255,.012))}
.v4-empty{border:1px dashed rgba(255,255,255,.14);border-radius:18px;background:radial-gradient(400px 200px at 50% 0%,rgba(255,45,85,.05),transparent);animation:v5fade .5s ease both}
.v4-ov ::-webkit-scrollbar{width:9px;height:9px}
.v4-ov ::-webkit-scrollbar-thumb{background:rgba(255,255,255,.13);border-radius:8px;border:2px solid transparent;background-clip:content-box}
.v4-ov ::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.25);background-clip:content-box}
.v4-ov ::-webkit-scrollbar-track{background:transparent}
@keyframes v5fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
/* ---- 2. custom dropdown (replaces native selects in tools/profile) ---- */
.v5dd{position:relative;width:100%;font-family:Onest,sans-serif}
.v5dd-btn{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:12px 14px;border-radius:13px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.045);color:#f2f1f5;font-size:13.5px;cursor:pointer;font-family:inherit;transition:border-color .2s,box-shadow .2s;text-align:left}
.v5dd.open .v5dd-btn,.v5dd-btn:hover{border-color:rgba(255,45,85,.5);box-shadow:0 0 0 3px rgba(255,45,85,.1)}
.v5dd-btn .car{font-size:10px;color:#8d8b96;transition:transform .22s}
.v5dd.open .v5dd-btn .car{transform:rotate(180deg)}
.v5dd-menu{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:60;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(19,17,22,.98);backdrop-filter:blur(20px);box-shadow:0 22px 60px rgba(0,0,0,.6);padding:6px;opacity:0;transform:translateY(-6px) scale(.98);pointer-events:none;transition:opacity .18s,transform .18s;max-height:240px;overflow:auto}
.v5dd.open .v5dd-menu{opacity:1;transform:none;pointer-events:auto}
.v5dd-it{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;border:none;border-radius:10px;background:transparent;color:#e6e4ea;font-size:13.5px;cursor:pointer;text-align:left;font-family:inherit;transition:background .14s}
.v5dd-it:hover{background:rgba(255,255,255,.07)}
.v5dd-it.on{background:linear-gradient(135deg,rgba(255,45,85,.18),rgba(255,90,60,.1));color:#fff}
.v5dd-it.on:after{content:"✓";margin-left:auto;color:#ff5a78;font-weight:800}
/* ---- 3. editor AI panel redesign ---- */
.ve-ai{width:min(400px,calc(100vw - 24px));border-radius:22px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(175deg,rgba(26,22,30,.97),rgba(15,13,18,.98));box-shadow:0 30px 90px -20px rgba(0,0,0,.85),0 0 0 1px rgba(255,45,85,.06),0 0 50px -20px rgba(255,45,85,.25);overflow:hidden}
.ve-ai-h{padding:14px 16px;background:linear-gradient(135deg,rgba(255,45,85,.14),rgba(124,77,255,.07));border-bottom:1px solid rgba(255,255,255,.08)}
.ve-ai-av{width:34px;height:34px;border-radius:12px;background:linear-gradient(135deg,#ff3b63,#ff7a4d);box-shadow:0 0 18px rgba(255,59,99,.5);font-size:15px}
.ve-ai-meta .t{font-family:'Onest',system-ui,sans-serif;font-size:14.5px;letter-spacing:.02em}
.ve-ai-meta .s{color:#9ef0bb}
.ve-ai-meta .s:before{content:"●";font-size:8px;margin-right:5px;color:#36e07a;animation:v5pulse 2s infinite}
@keyframes v5pulse{0%,100%{opacity:1}50%{opacity:.35}}
.ve-ai-msgs{padding:16px 14px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}
.ve-m{max-width:88%;padding:11px 14px;border-radius:16px;font-size:13.5px;line-height:1.62;animation:v5fade .3s ease both}
.ve-m.me{align-self:flex-end;background:linear-gradient(135deg,#ff2d55,#ff5a3c);border-bottom-right-radius:5px;box-shadow:0 8px 22px -10px rgba(255,45,85,.6)}
.ve-m.bot{align-self:flex-start;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.07);border-bottom-left-radius:5px}
.ve-ai-quick{padding:8px 12px;gap:6px;border-top:1px solid rgba(255,255,255,.06)}
.ve-q,#v5eChips button{border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.05);color:#e8e6ec;border-radius:100px;padding:7px 12px;font-size:11.5px;font-weight:600;cursor:pointer;font-family:Onest,sans-serif;transition:all .18s}
.ve-q:hover,#v5eChips button:hover{background:rgba(255,45,85,.14);border-color:rgba(255,45,85,.4);transform:translateY(-1px)}
#v5eChips{display:flex;gap:6px;flex-wrap:wrap;padding:4px 12px 8px}
.ve-ai-input{padding:10px 12px 12px;border-top:1px solid rgba(255,255,255,.06)}
#veAiInput{border-radius:14px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);transition:border-color .2s,box-shadow .2s}
#veAiInput:focus{border-color:rgba(255,45,85,.55);box-shadow:0 0 0 3px rgba(255,45,85,.12)}
.ve-send{border-radius:12px;background:linear-gradient(135deg,#ff2d55,#ff5a3c);box-shadow:0 8px 20px -8px rgba(255,45,85,.7);transition:transform .15s,box-shadow .15s}
.ve-send:hover{transform:translateY(-1px) scale(1.04)}
/* v5 editor action card */
.v5e-act{border:1px solid rgba(255,45,85,.22);border-radius:16px;overflow:hidden;background:linear-gradient(165deg,rgba(255,45,85,.07),rgba(255,255,255,.02));animation:v5fade .3s ease both}
.v5e-act .hd{display:flex;align-items:center;gap:8px;padding:9px 13px;font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#ff8aa0;background:rgba(255,45,85,.08);border-bottom:1px solid rgba(255,45,85,.14)}
.v5e-act .df{padding:11px 13px;font-size:13px;line-height:1.65;max-height:240px;overflow:auto;color:#e9e7ee}
.v5e-act .df a{color:#7cc7ff}
.v5e-act .nt{padding:0 13px 10px;margin:0;font-size:11.5px;color:#9b99a3;line-height:1.55;padding-left:28px}
.v5e-act .bt{display:flex;gap:8px;padding:10px 13px;border-top:1px solid rgba(255,255,255,.06)}
.v5e-act .bt button{flex:1;border:none;border-radius:11px;padding:10px;font-weight:700;font-size:12.5px;cursor:pointer;font-family:inherit;transition:transform .14s,filter .14s}
.v5e-act .bt .ok{background:linear-gradient(135deg,#1fb155,#36e07a);color:#06130a;box-shadow:0 8px 20px -8px rgba(54,224,122,.5)}
.v5e-act .bt .no{background:rgba(255,255,255,.07);color:#cfcdd6;border:1px solid rgba(255,255,255,.1)!important}
.v5e-act .bt button:hover{transform:translateY(-1px);filter:brightness(1.08)}
.v5e-undo{display:inline-flex;align-items:center;gap:6px;margin-top:8px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05);color:#dcdbe1;border-radius:100px;padding:7px 13px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .16s}
.v5e-undo:hover{background:rgba(255,255,255,.1)}
/* ---- 4. unified profile center ---- */
#v5Prof{position:fixed;inset:0;z-index:14150;display:none;align-items:center;justify-content:center;padding:20px}
#v5Prof.open{display:flex}
#v5Prof .scrim{position:absolute;inset:0;background:rgba(6,5,9,.78);backdrop-filter:blur(10px);animation:v5fade .25s both}
.v5p-card{position:relative;width:min(680px,100%);max-height:88vh;display:flex;flex-direction:column;border-radius:24px;border:1px solid rgba(255,255,255,.11);background:
  radial-gradient(700px 300px at 90% -10%,rgba(255,45,85,.12),transparent 60%),
  linear-gradient(175deg,#141217,#0c0b0e);box-shadow:0 40px 120px rgba(0,0,0,.8);overflow:hidden;animation:v5pop .32s cubic-bezier(.2,.9,.3,1.2) both;font-family:Onest,sans-serif}
@keyframes v5pop{from{opacity:0;transform:translateY(22px) scale(.96)}to{opacity:1;transform:none}}
.v5p-hero{padding:22px 24px 0;display:flex;gap:14px;align-items:center}
.v5p-ava{width:54px;height:54px;border-radius:18px;background:linear-gradient(135deg,#ff2d55,#7c4dff);display:grid;place-items:center;font-size:24px;box-shadow:0 12px 30px -10px rgba(255,45,85,.6);flex:none}
.v5p-hero h3{margin:0;font-family:'Onest',sans-serif;font-size:17px;color:#fff}
.v5p-hero .sub{font-size:12.5px;color:#9b99a3;margin-top:3px}
.v5p-x{position:absolute;top:16px;right:16px;width:34px;height:34px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:#fff;font-size:16px;cursor:pointer;transition:all .16s}
.v5p-x:hover{background:rgba(255,45,85,.18);border-color:rgba(255,45,85,.4)}
.v5p-stats{display:flex;gap:10px;padding:16px 24px 0;flex-wrap:wrap}
.v5p-stat{flex:1;min-width:120px;border:1px solid rgba(255,255,255,.08);border-radius:15px;background:rgba(255,255,255,.035);padding:12px 14px}
.v5p-stat .v{font-family:'Onest',system-ui,sans-serif;font-size:21px;font-weight:700;color:#fff}
.v5p-stat .l{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#8d8b96;margin-top:2px}
.v5p-tabs{display:flex;gap:4px;padding:16px 24px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.v5p-tab{border:none;background:transparent;color:#9b99a3;font-family:inherit;font-size:13px;font-weight:700;padding:10px 14px;cursor:pointer;border-radius:12px 12px 0 0;position:relative;transition:color .18s}
.v5p-tab:hover{color:#e8e6ec}
.v5p-tab.on{color:#fff}
.v5p-tab.on:after{content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:2.5px;border-radius:3px;background:linear-gradient(90deg,#ff2d55,#ff7a4d);box-shadow:0 0 12px rgba(255,45,85,.6)}
.v5p-body{padding:20px 24px 24px;overflow-y:auto;flex:1}
.v5p-sec{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:#8d8b96;margin:18px 0 9px;display:flex;align-items:center;gap:8px}
.v5p-sec:first-child{margin-top:0}
.v5p-sec:after{content:"";flex:1;height:1px;background:rgba(255,255,255,.07)}
.v5p-row{display:flex;gap:8px;flex-wrap:wrap}
.v5p-act{display:flex;align-items:center;gap:9px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.04);color:#ecebef;border-radius:13px;padding:11px 15px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .17s}
.v5p-act:hover{background:rgba(255,255,255,.08);transform:translateY(-1px);border-color:rgba(255,255,255,.2)}
.v5p-act.hot{background:linear-gradient(135deg,#ff2d55,#ff5a3c);border:none;box-shadow:0 10px 26px -10px rgba(255,45,85,.6)}
.v5p-act.hot:hover{filter:brightness(1.07)}
.v5p-ch{display:flex;align-items:center;gap:12px;border:1px solid rgba(255,255,255,.08);border-radius:15px;background:rgba(255,255,255,.035);padding:12px 14px;margin-bottom:8px;transition:border-color .2s}
.v5p-ch:hover{border-color:rgba(255,255,255,.16)}
.v5p-ch .ic{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-size:17px;background:rgba(255,45,85,.1);flex:none}
.v5p-ch .m{flex:1;min-width:0}
.v5p-ch .m b{display:block;font-size:13.5px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v5p-ch .m i{display:block;font-style:normal;font-size:11.5px;color:#8d8b96;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v5p-mini{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:#ecebef;border-radius:10px;padding:7px 12px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s;white-space:nowrap}
.v5p-mini:hover{background:rgba(255,45,85,.15);border-color:rgba(255,45,85,.4)}
.v5p-del{border:none;background:transparent;color:#6d6b76;font-size:14px;cursor:pointer;padding:6px;border-radius:8px;transition:all .15s}
.v5p-del:hover{color:#ff5a78;background:rgba(255,45,85,.1)}
.v5p-opt{display:flex;gap:10px;align-items:center;border:1px solid rgba(255,255,255,.1);border-radius:13px;background:rgba(255,255,255,.035);padding:11px 13px;cursor:pointer;font-family:inherit;color:#e8e6ec;font-size:13px;text-align:left;transition:all .16s;flex:1;min-width:150px}
.v5p-opt small{display:block;color:#8d8b96;font-size:11px;margin-top:2px}
.v5p-opt:hover{border-color:rgba(255,255,255,.2)}
.v5p-opt.on{border-color:rgba(255,45,85,.55);background:linear-gradient(135deg,rgba(255,45,85,.13),rgba(255,90,60,.06));box-shadow:0 0 0 3px rgba(255,45,85,.1)}
.v5p-in{width:100%;box-sizing:border-box;border:1px solid rgba(255,255,255,.1);border-radius:13px;background:rgba(255,255,255,.045);color:#f2f1f5;font-family:inherit;font-size:13.5px;padding:12px 14px;outline:none;transition:border-color .2s,box-shadow .2s}
.v5p-in:focus{border-color:rgba(255,45,85,.55);box-shadow:0 0 0 3px rgba(255,45,85,.12)}
.v5p-task{display:flex;gap:11px;align-items:flex-start;border:1px solid rgba(255,255,255,.07);border-radius:13px;background:rgba(255,255,255,.03);padding:11px 13px;margin-bottom:7px;transition:opacity .2s}
.v5p-task.done{opacity:.5}
.v5p-task.done .tx{text-decoration:line-through}
.v5p-ck{width:22px;height:22px;border-radius:8px;border:1.5px solid rgba(255,255,255,.25);background:transparent;color:#06130a;font-size:13px;font-weight:900;cursor:pointer;flex:none;display:grid;place-items:center;transition:all .18s;line-height:1}
.v5p-task.done .v5p-ck{background:linear-gradient(135deg,#1fb155,#36e07a);border-color:transparent}
.v5p-task .tx{font-size:13px;line-height:1.55;color:#e8e6ec}
.v5p-week{border:1px solid rgba(255,255,255,.08);border-radius:15px;background:rgba(255,255,255,.03);margin-bottom:9px;overflow:hidden}
.v5p-week summary{display:flex;align-items:center;gap:10px;padding:13px 15px;cursor:pointer;font-size:13.5px;font-weight:700;color:#fff;list-style:none;user-select:none}
.v5p-week summary::-webkit-details-marker{display:none}
.v5p-week summary em{font-style:normal;margin-left:auto;font-size:11.5px;color:#8d8b96;font-weight:600}
.v5p-week summary:before{content:"▸";color:#ff5a78;transition:transform .2s}
.v5p-week[open] summary:before{transform:rotate(90deg)}
.v5p-week .wk-b{padding:2px 13px 12px}
.v5p-prog{display:flex;align-items:center;gap:11px;margin:4px 0 14px}
.v5p-prog .bar{flex:1;height:8px;border-radius:6px;background:rgba(255,255,255,.07);overflow:hidden}
.v5p-prog .bar i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,#ff2d55,#ff7a4d);box-shadow:0 0 14px rgba(255,45,85,.5);transition:width .5s cubic-bezier(.2,.8,.2,1)}
.v5p-prog span{font-size:11.5px;color:#9b99a3;font-weight:700;white-space:nowrap}
.v5p-empty{border:1px dashed rgba(255,255,255,.14);border-radius:15px;padding:22px;text-align:center;color:#9b99a3;font-size:13px;line-height:1.65}
.v5p-priv{margin-top:16px;font-size:11px;color:#6d6b76;text-align:center}
.v5p-navbtn{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:#fff;border-radius:100px;padding:8px 15px;font-size:13px;font-weight:700;cursor:pointer;font-family:Onest,sans-serif;transition:all .18s}
.v5p-navbtn:hover{border-color:rgba(255,45,85,.5);background:rgba(255,45,85,.1);transform:translateY(-1px)}
/* ---- 5. daily card ---- */
#v5Daily{position:fixed;right:22px;bottom:22px;z-index:13950;width:min(340px,calc(100vw - 32px));border-radius:20px;border:1px solid rgba(255,255,255,.12);background:
  radial-gradient(420px 200px at 100% 0%,rgba(255,45,85,.14),transparent 60%),
  linear-gradient(175deg,#16131a,#0d0b10);box-shadow:0 28px 80px rgba(0,0,0,.75),0 0 40px -16px rgba(255,45,85,.3);padding:18px;font-family:Onest,sans-serif;transform:translateY(20px);opacity:0;pointer-events:none;transition:all .4s cubic-bezier(.2,.9,.3,1.15)}
#v5Daily.show{transform:none;opacity:1;pointer-events:auto}
#v5Daily .hd{display:flex;align-items:center;gap:9px;margin-bottom:11px}
#v5Daily .hd .ic{width:32px;height:32px;border-radius:11px;background:linear-gradient(135deg,#ff2d55,#ff7a4d);display:grid;place-items:center;font-size:15px;flex:none}
#v5Daily .hd b{font-size:14px;color:#fff;font-family:'Onest',system-ui,sans-serif}
#v5Daily .hd small{display:block;font-size:11px;color:#8d8b96}
#v5Daily .x{margin-left:auto;border:none;background:transparent;color:#8d8b96;font-size:16px;cursor:pointer;padding:4px;border-radius:8px}
#v5Daily .x:hover{color:#fff;background:rgba(255,255,255,.08)}
.v5d-it{display:flex;gap:9px;align-items:flex-start;font-size:12.5px;line-height:1.55;color:#dcdbe1;padding:7px 0;border-top:1px solid rgba(255,255,255,.05)}
.v5d-it .e{flex:none;font-size:14px}
.v5d-it b{color:#fff}
#v5Daily .ft{display:flex;gap:8px;margin-top:12px}
#v5Daily .ft button{flex:1;border-radius:11px;padding:9px;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.05);color:#ecebef;transition:all .16s}
#v5Daily .ft button.hot{background:linear-gradient(135deg,#ff2d55,#ff5a3c);border:none}
#v5Daily .ft button:hover{filter:brightness(1.1);transform:translateY(-1px)}
/* ---- 6. sound design + concepts ---- */
.v5-music{border:1px solid rgba(124,77,255,.22);border-radius:16px;background:linear-gradient(160deg,rgba(124,77,255,.08),rgba(124,77,255,.02));padding:15px;margin-top:12px}
.v5-music h4{margin:0 0 10px;font-size:13px;color:#c9b8ff;display:flex;align-items:center;gap:7px}
.v5m-row{display:flex;gap:10px;align-items:center;padding:8px 0;border-top:1px solid rgba(255,255,255,.05);font-size:12.5px}
.v5m-row .seg{flex:none;font-size:10.5px;font-weight:800;letter-spacing:.08em;color:#a78bfa;text-transform:uppercase;min-width:72px}
.v5m-row .ds{flex:1;color:#dcdbe1;line-height:1.5}
.v5m-q{border:1px solid rgba(124,77,255,.3);background:rgba(124,77,255,.1);color:#d6c9ff;border-radius:9px;padding:5px 10px;font-size:11px;cursor:pointer;font-family:inherit;white-space:nowrap;transition:all .15s}
.v5m-q:hover{background:rgba(124,77,255,.2)}
.v5c-card{border:1px solid rgba(255,255,255,.09);border-radius:17px;background:linear-gradient(165deg,rgba(255,255,255,.045),rgba(255,255,255,.015));padding:16px;animation:v5fade .35s ease both}
.v5c-card .nm{font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#ff8aa0;margin-bottom:7px}
.v5c-card h4{margin:0 0 9px;font-size:14.5px;color:#fff;line-height:1.4}
.v5c-kv{display:flex;gap:8px;font-size:12.5px;line-height:1.55;color:#cfcdd6;padding:5px 0;border-top:1px solid rgba(255,255,255,.05)}
.v5c-kv .k{flex:none;color:#8d8b96;min-width:86px}
.v5-tagrow{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.v5-tag{border:1px solid rgba(54,194,255,.25);background:rgba(54,194,255,.08);color:#9adcff;border-radius:100px;padding:5px 11px;font-size:11.5px;cursor:pointer;transition:all .15s;font-family:inherit}
.v5-tag:hover{background:rgba(54,194,255,.18)}
/* ---- 7. mobile pass ---- */
@media(max-width:760px){
  .v4-ov .v4-sheet{border-radius:0;width:100vw;height:100dvh;max-height:100dvh}
  .v4-head{padding:13px 16px}
  .v4-head h2{font-size:16px}
  .v4-body{padding:14px 14px 90px}
  .v4-cols{grid-template-columns:1fr!important;gap:14px}
  .v4-panel{padding:15px;border-radius:17px}
  .v4-btn{width:100%;justify-content:center;padding:13px}
  .v4-row{flex-direction:column}
  .v4-row .v4-btn{width:100%}
  .v4-seg button{padding:11px 8px;font-size:12.5px}
  .v4-in,.v5dd-btn,.v5p-in{font-size:16px;padding:13px 14px}
  .v4-shorts-grid,.v4p-cards,.v4-ach-grid{grid-template-columns:1fr 1fr!important}
  .v4p-parts{grid-template-columns:1fr!important}
  .v4s-block{flex-direction:column;gap:6px}
  .v4s-block .tc{min-width:0}
  #v4HeroTools{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px;mask-image:linear-gradient(90deg,#000 92%,transparent)}
  #v4HeroTools::-webkit-scrollbar{display:none}
  .v4-chip{flex:none;padding:9px 13px}
  .v5p-card{width:100vw;height:100dvh;max-height:100dvh;border-radius:0}
  #v5Prof{padding:0}
  .v5p-tabs{overflow-x:auto;scrollbar-width:none;padding:14px 14px 0}
  .v5p-tabs::-webkit-scrollbar{display:none}
  .v5p-tab{white-space:nowrap;padding:10px 11px}
  .v5p-hero{padding:18px 16px 0}
  .v5p-stats{padding:12px 16px 0}
  .v5p-body{padding:16px 16px 28px}
  .v5p-stat{min-width:calc(50% - 5px)}
  #v5Daily{right:16px;left:16px;width:auto;bottom:90px}
  .ve-ai{max-height:72vh}
  .v4lab-stage .v4yt-grid{grid-template-columns:1fr 1fr!important}
}
@media(max-width:430px){.v4lab-stage .v4yt-grid{grid-template-columns:1fr!important}.v4-shorts-grid,.v4-ach-grid{grid-template-columns:1fr!important}}

/* ===== v6css ===== */
/* ===== v6: nav tools button + menu ===== */
#v6NavTools{display:none;align-items:center;gap:7px;padding:9px 16px;border-radius:13px;border:1px solid rgba(255,45,85,.4);background:linear-gradient(135deg,rgba(255,45,85,.16),rgba(255,45,85,.05));color:#fff;font-weight:700;font-size:13px;cursor:pointer;font-family:inherit;transition:transform .16s,box-shadow .16s,background .16s;position:relative}
#v6NavTools:hover{transform:translateY(-1px);box-shadow:0 8px 26px rgba(255,45,85,.25);background:linear-gradient(135deg,rgba(255,45,85,.26),rgba(255,45,85,.1))}
#v6NavTools.on{display:inline-flex}
#v6NavMenu{position:fixed;z-index:11950;display:none;flex-direction:column;gap:3px;padding:10px;border-radius:18px;border:1px solid rgba(255,255,255,.1);background:rgba(15,12,16,.97);backdrop-filter:blur(22px);box-shadow:0 26px 80px rgba(0,0,0,.7);width:300px;max-height:min(72vh,640px);overflow:auto;animation:v4up .2s ease}
#v6NavMenu.show{display:flex}
#v6NavMenu .ttl{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);padding:6px 10px 4px}
.v6-mi{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:12px;border:none;background:transparent;color:#fff;cursor:pointer;text-align:left;font-family:inherit;transition:background .14s}
.v6-mi:hover{background:rgba(255,45,85,.12)}
.v6-mi .ic{font-size:18px;width:24px;text-align:center;flex:none}
.v6-mi b{display:block;font-size:13px;font-weight:700}
.v6-mi small{display:block;font-size:11px;color:var(--muted);margin-top:1px;line-height:1.35}
.v6-mi .new{margin-left:auto;flex:none;font-size:9px;font-weight:800;letter-spacing:.06em;padding:3px 7px;border-radius:7px;background:rgba(255,45,85,.18);color:#ff5d7f}
#v4Dock{display:none!important}
/* ===== generic v6 bits ===== */
.v6-grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.v6-copy{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:#fff;border-radius:10px;padding:7px 12px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .15s}
.v6-copy:hover{background:rgba(255,255,255,.12)}
.v6-tag{display:inline-flex;align-items:center;padding:6px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);font-size:12px;color:#e8e6ee;margin:0 6px 6px 0}
.v6-seg{display:inline-flex;gap:4px;padding:4px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04)}
.v6-seg button{border:none;background:transparent;color:var(--muted);padding:7px 14px;border-radius:9px;font-size:12.5px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s}
.v6-seg button.on{background:rgba(255,45,85,.2);color:#fff}
/* ===== comment miner ===== */
.v6cm-card{border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:15px 16px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015));margin-bottom:10px;animation:v4up .3s ease both}
.v6cm-card h4{margin:0 0 9px;font-size:14px}
.v6cm-it{display:flex;gap:9px;align-items:flex-start;padding:7px 0;border-top:1px dashed rgba(255,255,255,.07);font-size:13px;line-height:1.5}
.v6cm-it:first-of-type{border-top:none}
.v6cm-it .e{flex:none}
.v6cm-it .act{margin-left:auto;flex:none}
.v6cm-q{display:inline-block;font-size:12px;color:#cfcdd6;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:6px 10px;margin:0 6px 6px 0;line-height:1.4}
.v6cm-top{display:flex;gap:10px;padding:9px 11px;border-radius:12px;background:rgba(255,255,255,.04);margin-bottom:7px;font-size:12.5px;line-height:1.5}
.v6cm-top .lk{flex:none;color:#ff5d7f;font-weight:700;font-size:11.5px}
/* ===== duel ===== */
.v6d-head{display:grid;grid-template-columns:1fr 56px 1fr;gap:10px;align-items:center;margin-bottom:14px}
.v6d-ch{display:flex;gap:11px;align-items:center;padding:13px;border-radius:16px;border:1px solid rgba(255,255,255,.09);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02))}
.v6d-ch img{width:46px;height:46px;border-radius:50%;flex:none}
.v6d-ch b{font-size:14px;display:block}
.v6d-ch small{color:var(--muted);font-size:11.5px}
.v6d-vs{text-align:center;font-weight:900;font-size:19px;color:#ff5d7f}
.v6d-row{display:grid;grid-template-columns:1fr 150px 1fr;gap:10px;align-items:center;padding:9px 4px;border-top:1px dashed rgba(255,255,255,.07)}
.v6d-row .m{text-align:center;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-2)}
.v6d-cell{display:flex;flex-direction:column;gap:5px}
.v6d-cell .val{font-weight:800;font-size:15px}
.v6d-cell.r{align-items:flex-end}
.v6d-cell.win .val{color:#2bd97e}
.v6d-bar{height:5px;border-radius:99px;background:rgba(255,255,255,.07);width:100%;overflow:hidden;position:relative}
.v6d-bar i{position:absolute;top:0;height:100%;border-radius:99px;background:linear-gradient(90deg,#ff2d55,#ff7a45)}
.v6d-cell.win .v6d-bar i{background:linear-gradient(90deg,#1faf63,#2bd97e)}
.v6d-bar.l i{right:0}.v6d-bar.r i{left:0}
/* ===== viral scanner ===== */
.v6v-card{display:flex;gap:13px;padding:12px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015));margin-bottom:10px;animation:v4up .3s ease both}
.v6v-card img{width:148px;height:83px;object-fit:cover;border-radius:11px;flex:none}
.v6v-t{font-weight:700;font-size:13.5px;line-height:1.4;margin-bottom:5px}
.v6v-m{font-size:11.5px;color:var(--muted);line-height:1.6}
.v6v-x{display:inline-flex;align-items:center;padding:3px 9px;border-radius:8px;background:rgba(255,45,85,.16);color:#ff5d7f;font-weight:800;font-size:11.5px;margin-right:7px}
.v6v-act{display:flex;flex-direction:column;gap:7px;margin-left:auto;flex:none;justify-content:center}
/* ===== timing heatmap ===== */
.v6t-wrap{overflow-x:auto;padding-bottom:6px}
.v6t-grid{display:grid;grid-template-columns:44px repeat(24,minmax(17px,1fr));gap:3px;min-width:620px}
.v6t-cell{aspect-ratio:1;border-radius:4px;background:rgba(255,255,255,.05);position:relative}
.v6t-cell[data-l]:hover::after{content:attr(data-l);position:absolute;bottom:120%;left:50%;transform:translateX(-50%);background:#1c1820;border:1px solid rgba(255,255,255,.14);padding:5px 9px;border-radius:8px;font-size:11px;white-space:nowrap;z-index:5;box-shadow:0 8px 24px rgba(0,0,0,.5)}
.v6t-lab{font-size:10.5px;color:var(--muted-2);display:flex;align-items:center}
.v6t-h{font-size:9px;color:var(--muted-2);text-align:center;align-self:end}
.v6t-best{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.v6t-slot{padding:10px 14px;border-radius:13px;border:1px solid rgba(43,217,126,.3);background:rgba(43,217,126,.08);font-size:13px}
.v6t-slot b{color:#2bd97e}
/* ===== teleprompter ===== */
#v6Pro{position:fixed;inset:0;z-index:13000;background:#000;display:none;flex-direction:column}
#v6Pro.open{display:flex}
#v6ProText{flex:1;overflow:hidden;position:relative}
#v6ProScroll{padding:38vh 7vw;font-size:42px;line-height:1.65;font-weight:600;color:#fff;white-space:pre-wrap;will-change:transform}
#v6Pro.mirror #v6ProScroll{transform-origin:center;}
#v6ProMid{position:absolute;left:0;right:0;top:38vh;height:2px;background:rgba(255,45,85,.5);pointer-events:none}
#v6ProBar{position:absolute;top:0;left:0;height:3px;background:#ff2d55;width:0}
#v6ProCtl{flex:none;display:flex;gap:13px;align-items:center;padding:13px 18px;background:rgba(18,15,20,.97);border-top:1px solid rgba(255,255,255,.08);flex-wrap:wrap}
#v6ProCtl .grp{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}
#v6ProCtl input[type=range]{width:110px;accent-color:#ff2d55}
.v6p-btn{border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);color:#fff;border-radius:11px;padding:9px 16px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit}
.v6p-btn.hot{background:linear-gradient(135deg,#ff2d55,#ff5577);border-color:transparent}
#v6ProTime{font-variant-numeric:tabular-nums;font-weight:700;color:#fff;font-size:14px}
#v6ProSetup textarea{width:100%;min-height:200px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:14px;color:#fff;padding:13px;font-size:14px;line-height:1.6;font-family:inherit;resize:vertical}
/* ===== hook doctor ===== */
.v6h-crit{margin-bottom:9px}
.v6h-crit .t{display:flex;justify-content:space-between;font-size:12.5px;margin-bottom:4px}
.v6h-crit .t b{color:#fff}
.v6h-crit .t span{color:var(--muted)}
.v6h-bar{height:7px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden}
.v6h-bar i{display:block;height:100%;border-radius:99px;transition:width .7s cubic-bezier(.2,.8,.2,1)}
.v6h-re{border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:12px 13px;background:rgba(255,255,255,.03);margin-bottom:8px;font-size:13.5px;line-height:1.55;display:flex;gap:10px;align-items:flex-start}
.v6h-re .n{flex:none;width:24px;height:24px;border-radius:8px;background:rgba(255,45,85,.16);color:#ff5d7f;font-weight:800;font-size:12px;display:flex;align-items:center;justify-content:center}
.v6h-re .act{margin-left:auto;flex:none}
/* ===== calendar ===== */
.v6c-top{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.v6c-top h3{margin:0;font-size:16px;min-width:170px}
.v6c-nav{display:flex;gap:5px}
.v6c-nav button{width:34px;height:34px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:#fff;cursor:pointer;font-size:15px}
.v6c-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.v6c-dow{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2);text-align:center;padding:4px 0}
.v6c-day{min-height:74px;border-radius:11px;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.025);padding:6px;cursor:pointer;transition:border-color .15s,background .15s;position:relative}
.v6c-day:hover{border-color:rgba(255,45,85,.35)}
.v6c-day.out{opacity:.32}
.v6c-day.today{border-color:rgba(255,45,85,.55);background:rgba(255,45,85,.06)}
.v6c-day.sel{border-color:#ff2d55;background:rgba(255,45,85,.1)}
.v6c-day .d{font-size:11px;color:var(--muted);font-weight:700}
.v6c-ev{font-size:9.5px;line-height:1.3;background:rgba(255,45,85,.16);color:#ffb3c2;border-radius:5px;padding:2px 5px;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v6c-ev.shoot{background:rgba(64,156,255,.16);color:#9ecbff}
.v6c-side{margin-top:13px;border:1px solid rgba(255,255,255,.08);border-radius:15px;padding:13px;background:rgba(255,255,255,.025)}
.v6c-side h4{margin:0 0 9px;font-size:13.5px}
.v6c-li{display:flex;align-items:center;gap:9px;padding:7px 0;border-top:1px dashed rgba(255,255,255,.07);font-size:13px}
.v6c-li button{margin-left:auto;border:none;background:transparent;color:var(--muted);cursor:pointer;font-size:13px}
.v6c-li button:hover{color:#ff5d7f}
.v6c-add{display:flex;gap:7px;margin-top:9px}
.v6c-add input{flex:1;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:11px;color:#fff;padding:9px 12px;font-size:13px;font-family:inherit}
/* ===== pipeline ===== */
.v6pp-steps{display:flex;flex-direction:column;gap:7px;margin:14px 0}
.v6pp-st{display:flex;align-items:center;gap:11px;padding:10px 13px;border-radius:13px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.025);font-size:13px;transition:all .25s}
.v6pp-st .ic{width:26px;height:26px;border-radius:9px;background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;flex:none;font-size:13px}
.v6pp-st.run{border-color:rgba(255,45,85,.4);background:rgba(255,45,85,.06)}
.v6pp-st.done .ic{background:rgba(43,217,126,.15)}
.v6pp-st small{color:var(--muted);margin-left:auto;flex:none}
.v6pp-sec{border:1px solid rgba(255,255,255,.09);border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015));margin-bottom:10px;overflow:hidden;animation:v4up .3s ease both}
.v6pp-sec .hd{display:flex;align-items:center;gap:10px;padding:13px 15px;cursor:pointer;font-weight:700;font-size:14px}
.v6pp-sec .hd .ar{margin-left:auto;transition:transform .2s;color:var(--muted)}
.v6pp-sec.open .hd .ar{transform:rotate(180deg)}
.v6pp-sec .bd{display:none;padding:0 15px 15px;font-size:13.5px;line-height:1.6}
.v6pp-sec.open .bd{display:block}
/* ===== mobile ===== */
@media(max-width:760px){
  #v6NavTools span.lb{display:none}
  #v6NavTools{padding:9px 11px}
  #v6NavMenu{width:min(92vw,330px)}
  .v6-grid2{grid-template-columns:1fr}
  .v6d-head{grid-template-columns:1fr;gap:8px}
  .v6d-vs{padding:2px 0}
  .v6d-row{grid-template-columns:1fr;gap:6px}
  .v6d-row .m{text-align:left;order:-1}
  .v6d-cell.r{align-items:flex-start}
  .v6v-card{flex-direction:column}
  .v6v-card img{width:100%;height:auto}
  .v6v-act{flex-direction:row;margin-left:0}
  #v6ProScroll{font-size:30px;padding:34vh 6vw}
  .v6c-day{min-height:54px;padding:4px}
  .v6c-ev{display:none}
  .v6c-day.has::after{content:'';position:absolute;right:5px;top:5px;width:6px;height:6px;border-radius:50%;background:#ff5d7f}
}

/* ===== v7css ===== */
/* ============ v7: РОВНЫЙ ИНТЕРФЕЙС ============ */
/* fix: .v4-note был flex — инлайновые <b>/<button> разбивали текст на колонки */
.v4-note{display:block!important}
.v4-note b{color:#efe9da;font-weight:700}
.v4-note button,.v4-note .v4-btn{margin-top:8px}
.v4-err{display:block!important}

/* подсказка-онбординг: не наезжает на буллеты */
.vtour-hint{left:50%!important;top:calc(100% + 14px)!important;transform:translateX(-50%);background:#231019!important;border-color:rgba(255,45,85,.55)!important;white-space:nowrap;max-width:none!important;font-weight:600}
.vtour-hint::before{content:'';position:absolute;left:50%;top:-5px;width:9px;height:9px;background:#231019;border-left:1px solid rgba(255,45,85,.55);border-top:1px solid rgba(255,45,85,.55);transform:translateX(-50%) rotate(45deg)}
@media(max-width:760px){.vtour-hint{white-space:normal;max-width:88vw!important}}

/* hero: ровная центрированная полоса инструментов */
#v4HeroTools{max-width:1020px;margin:30px auto 0;justify-content:center;row-gap:10px;column-gap:9px;padding:0 14px}
#v4HeroTools .lbl{flex-basis:100%;text-align:center;margin:0 0 4px;letter-spacing:.16em}
#v4HeroTools .v4-chip{height:38px;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;box-sizing:border-box}

/* бенто-плитки дашборда: контент сверху, без «провисшего» значения */
.v-tile{justify-content:flex-start!important;gap:7px}
.v-tile .vt-v{margin-top:0!important;line-height:1.15}
.v-tile .vt-k{line-height:1.3}

/* ровные секции дашборда */
#dashboard .section-h h2{line-height:1.25}
#dashboard .section-h .desc{line-height:1.6;max-width:880px}

/* ============ v7: новые секции анализа ============ */
.v7-sec{margin-top:8px}
.v7-money{display:flex;flex-direction:column;gap:10px}
.v7-lev{display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:center;border:1px solid var(--card-brd);border-radius:16px;padding:15px 17px;background:linear-gradient(180deg,var(--surface-1),var(--surface-2));animation:v4up .45s var(--ease,ease) both}
.v7-lev .ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:21px;background:rgba(255,45,85,.09);border:1px solid rgba(255,45,85,.18)}
.v7-lev .tt{font-weight:700;font-size:14.5px;line-height:1.35}
.v7-lev .why{font-size:12.5px;color:var(--muted);line-height:1.55;margin-top:4px}
.v7-lev .est{text-align:right;white-space:nowrap}
.v7-lev .est b{font-family:'Onest',system-ui,sans-serif;font-size:19px;color:#9bf3bf;display:block}
.v7-lev .est small{font-size:10.5px;color:var(--muted-2);letter-spacing:.06em;text-transform:uppercase}
.v7-lev .bar{grid-column:2/4;height:5px;border-radius:99px;background:rgba(255,255,255,.06);overflow:hidden}
.v7-lev .bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#FF2D55,#ff7a59);transition:width 1s var(--ease,ease)}
.v7-lev .act{grid-column:2/4}
.v7-lev .act button{font-size:12px;padding:7px 12px}
.v7-sum{border:1px dashed rgba(155,243,191,.35);background:rgba(155,243,191,.05);border-radius:14px;padding:13px 16px;font-size:13.5px;line-height:1.6;color:#cfeedd}
.v7-sum b{color:#9bf3bf;font-family:'Onest',system-ui,sans-serif}

/* формула канала */
.v7-fm{border:1px solid var(--card-brd);border-radius:18px;overflow:hidden;background:linear-gradient(180deg,var(--surface-1),var(--surface-2))}
.v7-fm-row{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:0;border-top:1px solid rgba(255,255,255,.05);font-size:13px}
.v7-fm-row:first-child{border-top:0;background:rgba(255,255,255,.025);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2)}
.v7-fm-row>div{padding:11px 15px;display:flex;align-items:center;gap:7px;min-width:0}
.v7-fm-row .hit{color:#9bf3bf;font-weight:600}
.v7-fm-row .flop{color:#ff8aa3}
.v7-check{margin-top:14px;display:flex;flex-direction:column;gap:8px}
.v7-check .it{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--card-brd);border-radius:13px;padding:11px 14px;font-size:13.5px;line-height:1.5;background:var(--surface-1)}
.v7-check .it .em{flex:none}

/* карта рубрик */
.v7-top{display:flex;flex-direction:column;gap:9px}
.v7-tp{border:1px solid var(--card-brd);border-radius:15px;padding:13px 16px;background:linear-gradient(180deg,var(--surface-1),var(--surface-2))}
.v7-tp .hd{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.v7-tp .nm{font-weight:700;font-size:14px}
.v7-tp .ct{font-size:11.5px;color:var(--muted-2)}
.v7-tp .vd{margin-left:auto;font-size:11px;font-weight:700;letter-spacing:.05em;padding:4px 10px;border-radius:99px}
.v7-tp .vd.up{background:rgba(155,243,191,.12);color:#9bf3bf}
.v7-tp .vd.mid{background:rgba(255,200,80,.12);color:#ffd479}
.v7-tp .vd.down{background:rgba(255,90,120,.12);color:#ff8aa3}
.v7-tp .bar{height:7px;border-radius:99px;background:rgba(255,255,255,.06);margin-top:9px;overflow:hidden}
.v7-tp .bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#FF2D55,#ff7a59)}
.v7-tp .st{font-size:12px;color:var(--muted);margin-top:7px;line-height:1.5}

/* оптимальная длина */
.v7-len{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.v7-len-card{border:1px solid var(--card-brd);border-radius:18px;padding:17px;background:linear-gradient(180deg,var(--surface-1),var(--surface-2))}
.v7-len-card h4{margin:0 0 12px;font-size:13.5px}
.v7-bars{display:flex;align-items:flex-end;gap:8px;height:120px}
.v7-bcol{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;height:100%}
.v7-bcol .b{width:100%;border-radius:8px 8px 3px 3px;background:rgba(255,255,255,.1);min-height:4px;position:relative;transition:height .8s var(--ease,ease)}
.v7-bcol.best .b{background:linear-gradient(180deg,#9bf3bf,#3ecf78)}
.v7-bcol .v{font-size:10px;color:var(--muted-2);white-space:nowrap}
.v7-bcol .l{font-size:10.5px;color:var(--muted);white-space:nowrap}
.v7-bcol.best .l{color:#9bf3bf;font-weight:700}
.v7-len-rec{margin-top:12px;font-size:12.5px;line-height:1.55;color:var(--muted)}
.v7-len-rec b{color:#9bf3bf}

/* дельта-чип в шапке аудита */
.v7-delta{display:inline-flex;gap:12px;flex-wrap:wrap;margin-top:10px}
.v7-delta span{font-size:12px;border:1px solid var(--card-brd);border-radius:99px;padding:5px 12px;background:rgba(255,255,255,.03);color:var(--muted)}
.v7-delta b.up{color:#9bf3bf}.v7-delta b.down{color:#ff8aa3}

/* «почему так?» кнопка в карточке видео */
.v7-why-btn{display:block;width:100%;margin-top:9px;border:1px dashed rgba(255,255,255,.18);background:rgba(255,255,255,.03);color:var(--muted);border-radius:11px;padding:9px 12px;font-size:12.5px;cursor:pointer;font-family:inherit;transition:all .25s}
.v7-why-btn:hover{border-color:rgba(255,45,85,.5);color:#fff}
.v7-why-out{margin-top:9px;border:1px solid rgba(127,208,255,.2);background:rgba(127,208,255,.05);border-radius:11px;padding:11px 13px;font-size:12.5px;line-height:1.6;color:#cfe6f5}
.v7-why-out .h{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#7fd0ff;margin-bottom:5px;font-weight:700}

/* ============ v7: TELEGRAM-СТУДИЯ ============ */
#tgScreen{background:radial-gradient(1100px 500px at 80% -10%,rgba(42,171,238,.08),transparent 60%),radial-gradient(900px 500px at 0% 110%,rgba(255,45,85,.05),transparent 55%),#0a0a0c}
.stg-sidebar{background:rgba(13,14,18,.92)!important;border-right:1px solid rgba(255,255,255,.06)!important;backdrop-filter:blur(14px)}
.stg-brand .tt{font-family:'Onest',system-ui,sans-serif;letter-spacing:-.01em}
.stg-tabs{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);border-radius:13px;padding:4px;gap:4px}
.stg-tab{border-radius:9px!important;transition:all .25s}
.stg-tab.active{background:linear-gradient(135deg,#2aabee,#1d8fd1)!important;color:#fff!important;box-shadow:0 4px 14px rgba(42,171,238,.3)}
.stg-newchat{border-radius:13px!important;border:1px solid rgba(42,171,238,.3)!important;background:rgba(42,171,238,.08)!important;transition:all .25s;font-weight:600}
.stg-newchat:hover{background:rgba(42,171,238,.16)!important;transform:translateY(-1px)}
.stg-newchat.v7pz{border-color:rgba(255,45,85,.35)!important;background:rgba(255,45,85,.08)!important;margin-top:8px}
.stg-newchat.v7pz:hover{background:rgba(255,45,85,.15)!important}
.stg-search{border-radius:12px!important;border:1px solid rgba(255,255,255,.07)!important}
.stg-topbar{backdrop-filter:blur(16px);background:rgba(10,10,12,.75)!important;border-bottom:1px solid rgba(255,255,255,.06)!important}
.stg-toptitle{font-family:'Onest',system-ui,sans-serif}
.stg-msg.bot .body{background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.015));border:1px solid rgba(255,255,255,.07);border-radius:5px 18px 18px 18px;padding:15px 18px;max-width:780px}
.stg-msg.user .bubble{background:linear-gradient(135deg,rgba(42,171,238,.18),rgba(42,171,238,.1))!important;border:1px solid rgba(42,171,238,.25)!important}
.stg-msg.bot .ava{box-shadow:0 6px 18px rgba(42,171,238,.35)}
.stg-welcome h1{font-family:'Onest',system-ui,sans-serif;letter-spacing:-.02em}
.stg-card{border-radius:16px!important;border:1px solid rgba(255,255,255,.08)!important;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012))!important;transition:all .3s var(--ease,ease)}
.stg-card:hover{transform:translateY(-3px);border-color:rgba(42,171,238,.4)!important;box-shadow:0 14px 34px rgba(0,0,0,.4)}
.stg-card .ic{font-size:22px}
.stg-chatitem,.stg-chatlist>div{border-radius:11px}

/* пост-завод */
.v7pz-out{display:flex;flex-direction:column;gap:12px;margin-top:14px}
.v7pz-card{border:1px solid rgba(255,255,255,.08);border-radius:16px;background:linear-gradient(180deg,var(--surface-1),var(--surface-2));overflow:hidden}
.v7pz-card .hd{display:flex;align-items:center;gap:9px;padding:11px 15px;background:rgba(255,255,255,.03);border-bottom:1px solid rgba(255,255,255,.05);font-weight:700;font-size:13px}
.v7pz-card .hd .sp{flex:1}
.v7pz-card .bd{padding:14px 16px;font-size:13.5px;line-height:1.65;white-space:pre-wrap;color:#d8d6df}
.v7pz-poll{display:flex;flex-direction:column;gap:7px;padding:0 16px 14px}
.v7pz-poll .opt{border:1px solid rgba(42,171,238,.25);background:rgba(42,171,238,.06);border-radius:10px;padding:9px 13px;font-size:13px}

@media(max-width:760px){
  #v4HeroTools{justify-content:flex-start}
  .v7-len{grid-template-columns:1fr}
  .v7-lev{grid-template-columns:38px 1fr;}
  .v7-lev .est{grid-column:1/3;text-align:left;display:flex;align-items:baseline;gap:8px}
  .v7-lev .bar,.v7-lev .act{grid-column:1/3}
  .v7-fm-row{grid-template-columns:1fr;border-top:1px solid rgba(255,255,255,.08)}
  .v7-fm-row:first-child{display:none}
  .v7-fm-row>div{padding:8px 14px}
  .v7-fm-row>div:first-child{padding-top:12px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2)}
  .v7-fm-row>div:last-child{padding-bottom:12px}
  .stg-msg.bot .body{max-width:100%}
}

/* ===== v8css ===== */
/* ===== V8: сравнение замеров ===== */
#v8diff{margin-top:14px;background:var(--card,rgba(255,255,255,.03));border:1px solid var(--card-brd,rgba(255,255,255,.08));border-radius:16px;padding:16px 18px}
.v8d-head{font-weight:800;font-size:14.5px;margin-bottom:10px}
.v8d-chips{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:13px}
.v8d-chip{border:1px solid var(--card-brd,rgba(255,255,255,.1));background:rgba(255,255,255,.04);color:var(--text,#eaf1f8);border-radius:999px;padding:6px 13px;font-size:12.5px;cursor:pointer;font-family:inherit;transition:.15s}
.v8d-chip:hover{border-color:rgba(255,45,85,.5)}
.v8d-chip.a{background:rgba(58,160,255,.16);border-color:rgba(58,160,255,.55);color:#9fd2ff;font-weight:700}
.v8d-chip.b{background:rgba(255,45,85,.14);border-color:rgba(255,45,85,.55);color:#ff9eb1;font-weight:700}
.v8d-table{display:flex;flex-direction:column;gap:2px}
.v8d-row{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:10px;padding:8px 10px;border-radius:9px;font-size:13px;align-items:center}
.v8d-row:nth-child(even){background:rgba(255,255,255,.025)}
.v8d-row .l{color:var(--muted,#9a98a3)}
.v8d-row.hd{font-size:11.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted,#9a98a3);font-weight:700;background:none}
.v8d-row .d{font-weight:700}
.v8d-row .d.up{color:#36e07a}
.v8d-row .d.down{color:#ff5d7a}
.v8d-row .d.flat{color:var(--muted,#9a98a3)}
@media(max-width:760px){.v8d-row{grid-template-columns:1.2fr .9fr .9fr 1fr;font-size:12px;gap:6px;padding:7px 6px}}
/* ===== V8: умные слоты ===== */
#v8slots{margin:12px 0;background:rgba(255,255,255,.03);border:1px solid var(--card-brd,rgba(255,255,255,.09));border-radius:14px;padding:14px 16px}
.v8s-h{font-weight:800;font-size:14px;margin-bottom:10px;display:flex;gap:8px;flex-wrap:wrap;align-items:baseline}
.v8s-list{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.v8s-it{display:flex;gap:9px;align-items:center;font-size:13px;cursor:pointer;padding:7px 10px;border-radius:9px;background:rgba(255,255,255,.03);border:1px solid transparent}
.v8s-it:hover{border-color:rgba(255,45,85,.35)}
.v8s-it input{accent-color:#ff2d55;width:15px;height:15px}
.v8s-foot{display:flex;gap:9px;flex-wrap:wrap}
/* ===== V8: неделя в календарь ===== */
.v8wk{margin-left:10px;border:1px solid var(--card-brd,rgba(255,255,255,.12));background:rgba(255,255,255,.04);color:var(--muted,#bdb9c6);border-radius:999px;padding:3px 11px;font-size:11.5px;cursor:pointer;font-family:inherit;font-weight:600;transition:.15s;vertical-align:middle}
.v8wk:hover{border-color:rgba(255,45,85,.55);color:#ff9eb1}

/* ===== v9css ===== */
/* =====================================================================
   VIORA v9 — дизайн-пак: TG-студия, дропдауны, генератор, мобильный лоск
   ===================================================================== */

/* ---------- 0. Общие анимации ---------- */
@keyframes v9pop{from{opacity:0;transform:translateY(7px) scale(.97)}to{opacity:1;transform:none}}
@keyframes v9sheet{from{transform:translateY(46px);opacity:0}to{transform:none;opacity:1}}
@keyframes v9pulse{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes v9shine{0%{left:-70%}55%{left:130%}100%{left:130%}}

/* ---------- 1. Кастомные дропдауны (теперь по всему сайту) ---------- */
.v5dd.up .v5dd-menu{top:auto;bottom:calc(100% + 6px)}
#v3PostBar .v5dd{flex:0 0 auto;width:auto;min-width:182px}
.sh-row .v5dd{flex:0 0 auto;width:182px}
.vsc-field .v5dd-btn{padding:11px 13px;border-radius:13px}
/* синий акцент внутри TG-студии */
#tgScreen .v5dd-btn{border-radius:11px;background:rgba(255,255,255,.05);font-size:13px;padding:9px 12px}
#tgScreen .v5dd.open .v5dd-btn,#tgScreen .v5dd-btn:hover{border-color:rgba(42,171,238,.55);box-shadow:0 0 0 3px rgba(42,171,238,.12)}
#tgScreen .v5dd-it.on{background:linear-gradient(135deg,rgba(42,171,238,.22),rgba(34,158,217,.1));color:#fff}
#tgScreen .v5dd-it.on:after{color:#6cc6ff}

/* ---------- 2. TG-СТУДИЯ — премиальный ретейм ---------- */
#tgScreen .stg-main{background:radial-gradient(1000px 520px at 76% -12%,rgba(42,171,238,.15),transparent 60%),radial-gradient(760px 480px at 8% 114%,rgba(96,84,236,.1),transparent 62%),#0a0d11}
#tgScreen .stg-main::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.5;mix-blend-mode:overlay;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.06'/></svg>")}
#tgScreen .stg-sidebar{background:rgba(10,12,16,.94)!important;border-right:1px solid rgba(255,255,255,.05)!important;backdrop-filter:blur(20px)}
#tgScreen .stg-brand .lg{box-shadow:0 0 0 1px rgba(255,255,255,.1),0 10px 26px -8px rgba(42,171,238,.7)}
#tgScreen .stg-tabs{background:rgba(255,255,255,.035);border-radius:13px}
#tgScreen .stg-tab{letter-spacing:.01em}
#tgScreen .stg-tab.active{background:linear-gradient(135deg,#2aabee,#1d8fd1)!important;box-shadow:0 6px 18px -6px rgba(42,171,238,.6)}
#tgScreen .stg-newchat{border-radius:13px!important;background:linear-gradient(135deg,rgba(42,171,238,.14),rgba(42,171,238,.05))!important;border:1px solid rgba(42,171,238,.3)!important}
#tgScreen .stg-newchat:hover{background:linear-gradient(135deg,rgba(42,171,238,.24),rgba(42,171,238,.1))!important;transform:translateY(-1px);box-shadow:0 10px 24px -10px rgba(42,171,238,.5)}
#tgScreen .stg-search input{border-radius:11px;background:rgba(255,255,255,.04)}
#tgScreen .stg-search input:focus{box-shadow:0 0 0 3px rgba(42,171,238,.1)}
#tgScreen .stg-chat{position:relative;margin:2px 2px;border:1px solid transparent;border-radius:10px;transition:.18s}
#tgScreen .stg-chat:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.05)}
#tgScreen .stg-chat.active{background:linear-gradient(90deg,rgba(42,171,238,.17),rgba(42,171,238,.04));border-color:rgba(42,171,238,.22)}
#tgScreen .stg-chat.active::before{content:'';position:absolute;left:-1px;top:22%;bottom:22%;width:3px;border-radius:3px;background:linear-gradient(180deg,#4cc2ff,#1d8fd1);box-shadow:0 0 10px rgba(42,171,238,.7)}
#tgScreen .stg-topbar{backdrop-filter:blur(18px);background:rgba(9,11,14,.72)!important;border-bottom:1px solid rgba(255,255,255,.05)!important}
#tgScreen .stg-toptitle small::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:#37e0a0;margin-right:6px;vertical-align:1px;box-shadow:0 0 8px rgba(55,224,160,.85);animation:v9pulse 2.6s infinite}
#tgScreen .stg-modechip{background:rgba(255,255,255,.05);transition:.2s}
#tgScreen .stg-modechip:hover{background:rgba(42,171,238,.1);box-shadow:0 0 0 3px rgba(42,171,238,.08)}
#tgScreen .stg-modemenu,#tgScreen .stg-plusmenu{background:rgba(18,22,28,.94);backdrop-filter:blur(22px);border:1px solid rgba(255,255,255,.09);border-radius:14px;box-shadow:0 24px 60px -12px rgba(0,0,0,.7)}
#tgScreen .stg-modemenu.open,#tgScreen .stg-plusmenu.open{animation:v9pop .2s cubic-bezier(.22,1,.36,1) both}
#tgScreen .stg-modemenu button,#tgScreen .stg-plusmenu button{border-radius:9px;transition:.15s}
#tgScreen .stg-modemenu button:hover,#tgScreen .stg-plusmenu button:hover{background:rgba(42,171,238,.15);transform:translateX(2px)}
/* приветствие */
#tgScreen .stg-welcome h1{background:linear-gradient(135deg,#fff 35%,#8fd4ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:none}
#tgScreen .stg-card{position:relative;overflow:hidden;padding:16px 17px;border-radius:16px!important;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.012))!important;border:1px solid rgba(255,255,255,.08)!important;transition:all .28s cubic-bezier(.22,1,.36,1)}
#tgScreen .stg-card .ic{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,rgba(42,171,238,.18),rgba(42,171,238,.05));border:1px solid rgba(42,171,238,.25);display:grid;place-items:center;font-size:18px;margin-bottom:10px}
#tgScreen .stg-card::after{content:'→';position:absolute;right:14px;top:13px;color:#6cc6ff;font-weight:700;opacity:0;transform:translateX(-6px);transition:.25s}
#tgScreen .stg-card:hover{transform:translateY(-3px);background:linear-gradient(180deg,rgba(42,171,238,.12),rgba(42,171,238,.03))!important;border-color:rgba(42,171,238,.42)!important;box-shadow:0 18px 44px -18px rgba(42,171,238,.4)}
#tgScreen .stg-card:hover::after{opacity:1;transform:none}
#tgScreen .stg-howto summary{transition:.2s}
#tgScreen .stg-howto summary:hover{color:#aedbff}
/* сообщения */
#tgScreen .stg-msg.bot .ava{width:32px;height:32px;border-radius:10px;box-shadow:0 0 0 1px rgba(42,171,238,.35),0 10px 24px -8px rgba(42,171,238,.6)}
#tgScreen .stg-msg.bot .body{background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015));border:1px solid rgba(255,255,255,.09);border-radius:4px 18px 18px 18px;padding:16px 19px;box-shadow:0 14px 38px -22px rgba(0,0,0,.75)}
#tgScreen .stg-msg.user .bubble{background:linear-gradient(135deg,rgba(42,171,238,.26),rgba(29,120,196,.13))!important;border:1px solid rgba(42,171,238,.34)!important;box-shadow:0 12px 30px -18px rgba(42,171,238,.55);border-radius:18px 18px 5px 18px}
#tgScreen .stg-actions{opacity:0;transition:opacity .22s}
#tgScreen .stg-msg:hover .stg-actions{opacity:1}
#tgScreen .stg-actions button{border-radius:9px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06)}
#tgScreen .stg-actions button:hover{background:rgba(42,171,238,.14);border-color:rgba(42,171,238,.3);color:#cfeaff}
#tgScreen .stg-typing span{width:7px;height:7px;background:linear-gradient(135deg,#4cc2ff,#229ed9)}
/* композер */
#tgScreen .stg-composer{padding:10px 24px calc(18px + env(safe-area-inset-bottom,0px))}
#tgScreen .stg-composer-in{background:rgba(16,19,24,.88);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);box-shadow:0 24px 60px -26px rgba(0,0,0,.85)}
#tgScreen .stg-composer-in:focus-within{border-color:rgba(42,171,238,.6);box-shadow:0 0 0 3px rgba(42,171,238,.13),0 24px 60px -22px rgba(42,171,238,.3)}
#tgScreen .stg-plus{transition:.25s}
#tgScreen .stg-plus:hover{transform:rotate(90deg)}
#tgScreen .stg-send{box-shadow:0 12px 28px -10px rgba(42,171,238,.75)}
#tgScreen .stg-send:hover{transform:scale(1.08)}
#tgScreen .stg-hint{font-size:11px}
/* скроллбары */
#tgScreen ::-webkit-scrollbar{width:9px;height:9px}
#tgScreen ::-webkit-scrollbar-track{background:transparent}
#tgScreen ::-webkit-scrollbar-thumb{background:rgba(255,255,255,.13);border-radius:8px;border:2.5px solid transparent;background-clip:content-box}
#tgScreen ::-webkit-scrollbar-thumb:hover{background:rgba(42,171,238,.45);background-clip:content-box;border:2.5px solid transparent}

/* ---------- 3. ГЕНЕРАТОР СЦЕНАРИЕВ — редизайн ---------- */
#vScript .vov-card{width:660px;background:linear-gradient(180deg,#16121a,#0d0b11);border:1px solid rgba(255,255,255,.09);border-radius:24px;box-shadow:0 50px 130px -30px rgba(0,0,0,.85),0 0 80px -40px rgba(255,45,85,.35)}
#vScript .vov-card>header{background:rgba(18,14,21,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.06);font-size:17px;padding:18px 22px}
#vScript .vsc-form{gap:15px;padding:20px 22px 10px}
#vScript .vsc-field label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#a59fb0;font-weight:700}
#vScript .vsc-field input,#vScript .vsc-field textarea{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:13px;padding:12px 14px;transition:border-color .2s,box-shadow .2s,background .2s}
#vScript .vsc-field input:focus,#vScript .vsc-field textarea:focus{outline:none;border-color:rgba(255,45,85,.55);box-shadow:0 0 0 3px rgba(255,45,85,.12);background:rgba(255,255,255,.055)}
#vScript .vsc-field textarea{min-height:84px}
#vScript .vsc-run{position:relative;overflow:hidden;background:linear-gradient(135deg,#ff2d55,#ff5a3c);border-radius:14px;padding:14px;font-family:'Onest',system-ui,sans-serif;font-weight:700;font-size:14.5px;letter-spacing:.01em;box-shadow:0 16px 38px -14px rgba(255,45,85,.65);transition:transform .2s,box-shadow .2s,filter .2s}
#vScript .vsc-run::after{content:'';position:absolute;top:0;left:-70%;width:42%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.32),transparent);transform:skewX(-20deg);animation:v9shine 3.4s 1.2s infinite}
#vScript .vsc-run:hover{transform:translateY(-2px);box-shadow:0 20px 46px -12px rgba(255,45,85,.8);filter:brightness(1.05)}
#vScript .vsc-run:disabled{transform:none;box-shadow:none}
#vScript .vsc-out{padding:8px 22px 24px}
#vScript .vsc-hint{background:rgba(255,45,85,.05);border:1px solid rgba(255,45,85,.16);border-radius:16px;color:#a79fae}
#vScript .vsc-load{color:#ff9db0}
#vScript .vsc-spin{border-color:rgba(255,45,85,.2);border-top-color:#ff2d55}
#vScript .vsc-block{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:16px}
#vScript .vsc-block h4{color:#ff8fa3}
#vScript .vsc-pill{background:rgba(255,45,85,.1);border-color:rgba(255,45,85,.25);color:#ffc6d0;border-radius:10px}
#vScript .vsc-beat .tm{color:#ff7d96}
#vScript .vsc-cta{background:linear-gradient(135deg,rgba(255,45,85,.12),rgba(255,90,60,.04));border-color:rgba(255,45,85,.3)}

/* ---------- 4. Виджет-чат Viora AI (YouTube-сторона) ---------- */
#chatPanel{border-radius:22px}
#chatPanel .chat-head .av{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,rgba(255,45,85,.28),rgba(255,90,60,.12));display:grid;place-items:center;box-shadow:0 0 0 1px rgba(255,45,85,.3),0 8px 20px -8px rgba(255,45,85,.5)}
#chatPanel .chat-head .s::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:#37e0a0;margin-right:5px;vertical-align:1px;box-shadow:0 0 8px rgba(55,224,160,.9);animation:v9pulse 2.6s infinite}

/* ---------- 5. Мобильная плавность ---------- */
#tgScreen *,#vScript *{-webkit-tap-highlight-color:transparent}
#tgScreen .stg-scroll,#tgScreen .stg-chatlist,#vScript .vov-card{-webkit-overflow-scrolling:touch}
@media(max-width:860px){
  #tgScreen .stg-scroll-in{padding:18px 13px 30px}
  #tgScreen .stg-welcome{min-height:44vh}
  #tgScreen .stg-welcome h1{font-size:clamp(24px,7.5vw,32px)}
  #tgScreen .stg-msg.user .bubble{max-width:92%}
  #tgScreen .stg-composer{padding:8px 10px calc(14px + env(safe-area-inset-bottom,0px))}
  #tgScreen .stg-actions{opacity:.75}
  #tgScreen textarea,#tgScreen input,#tgScreen .v5dd-btn{font-size:16px!important}
  #tgScreen .stg-sidebar{width:min(300px,86vw)}
  #tgScreen .stg-overlay{backdrop-filter:blur(3px)}
  .v5dd-menu{max-height:44vh}
}
@media(max-width:640px){
  #vScript{padding:0;align-items:flex-end}
  #vScript .vov-card{width:100%;max-width:100%;max-height:93vh;border-radius:22px 22px 0 0;animation:v9sheet .32s cubic-bezier(.22,1,.36,1) both}
  #vScript .vsc-form{grid-template-columns:1fr;padding:16px 16px 8px}
  #vScript .vsc-out{padding:6px 16px 22px}
  #vScript input,#vScript textarea,#vScript .v5dd-btn{font-size:16px!important}
}
@media(prefers-reduced-motion:reduce){
  #vScript .vsc-run::after,#tgScreen .stg-toptitle small::before,#chatPanel .chat-head .s::before{animation:none}
  #tgScreen .stg-card,#tgScreen .stg-chat,#tgScreen .stg-send,#tgScreen .stg-plus{transition:none}
}

/* ===== v10css ===== */
/* ============================================================
   VIORA V10 PACK — CSS
   mobile polish · vs top-3 · niche profiles · before/after ·
   retention audit · agency PDF · TG import / week grid / A/B ·
   how-it-works onboarding
   ============================================================ */

/* ---------- generic v10 atoms ---------- */
.v10-card{background:var(--card,rgba(255,255,255,.04));border:1px solid var(--card-brd,rgba(255,255,255,.09));border-radius:18px;padding:18px}
.v10-note{font-size:12.5px;color:var(--muted,#9a98a3);line-height:1.55}
.v10-btn{font:inherit;cursor:pointer;border-radius:12px;padding:10px 16px;background:linear-gradient(118deg,#ff2233,#ff3b63);border:0;color:#fff;font-weight:700;font-size:13.5px;transition:transform .15s ease,box-shadow .15s ease}
.v10-btn:hover{transform:translateY(-1px);box-shadow:0 8px 26px rgba(255,45,85,.35)}
.v10-btn:disabled{opacity:.55;cursor:default;transform:none;box-shadow:none}
.v10-btn.ghost{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);font-weight:600}
.v10-btn.sm{padding:7px 12px;font-size:12.5px;border-radius:10px}
.v10-chip{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:100px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);color:#e7e5ee;font-size:13px;cursor:pointer;font-weight:600;transition:all .18s ease}
.v10-chip:hover{border-color:rgba(255,45,85,.5)}
.v10-chip.on{background:rgba(255,45,85,.16);border-color:rgba(255,45,85,.65);color:#fff;box-shadow:0 0 18px rgba(255,45,85,.18)}
.v10-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.v10-load{display:flex;align-items:center;gap:10px;color:var(--muted,#9a98a3);font-size:13.5px;padding:14px 4px}
.v10-spin{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.18);border-top-color:#ff2d55;animation:spin 1s linear infinite;flex:0 0 auto}
.v10-err{background:rgba(255,60,80,.1);border:1px solid rgba(255,60,80,.3);border-radius:12px;padding:12px 14px;font-size:13px;color:#ffd7dd}
.v10-in{width:100%;font:inherit;font-size:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.13);border-radius:12px;padding:11px 13px;color:#fff;outline:none}
.v10-in:focus{border-color:rgba(255,45,85,.55)}
textarea.v10-in{min-height:120px;resize:vertical;line-height:1.55}
.v10-lab{font-size:12px;color:var(--muted,#9a98a3);margin:12px 0 6px;font-weight:600;letter-spacing:.3px}
.v10-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.v10-tag{display:inline-block;font-size:11px;padding:3px 9px;border-radius:100px;background:rgba(255,255,255,.07);color:#cfccd8;margin:2px 3px 2px 0}
.v10-h4{font-size:15px;font-weight:800;margin:0 0 10px;display:flex;align-items:center;gap:8px}
.v10-new{font-size:9.5px;background:rgba(255,45,85,.28);border-radius:6px;padding:2px 6px;letter-spacing:.5px;font-weight:800}

/* ---------- VS TOP-3 (#v10vs) ---------- */
#v10vs .vs-table{width:100%;border-collapse:collapse;font-size:13px;min-width:560px}
#v10vs .vs-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:14px}
#v10vs .vs-table th{font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted,#9a98a3);text-align:left;padding:9px 10px;border-bottom:1px solid rgba(255,255,255,.09);white-space:nowrap}
#v10vs .vs-table td{padding:10px;border-bottom:1px solid rgba(255,255,255,.05);white-space:nowrap}
#v10vs .vs-table tr.me td{background:rgba(255,45,85,.08);font-weight:700}
#v10vs .vs-ch{display:flex;align-items:center;gap:9px;min-width:150px;white-space:normal}
#v10vs .vs-ch img{width:30px;height:30px;border-radius:50%;flex:0 0 auto;object-fit:cover}
#v10vs .vs-win{color:#5fe0a0;font-weight:700}
#v10vs .vs-lose{color:#ff8a9e}
#v10vs .vs-verdicts{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin-top:14px}
#v10vs .vs-v{border-radius:13px;padding:11px 13px;font-size:12.8px;line-height:1.5;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03)}
#v10vs .vs-v b{display:block;margin-bottom:3px}
#v10vs .vs-v.good{border-color:rgba(95,224,160,.3)}
#v10vs .vs-v.bad{border-color:rgba(255,90,110,.35)}
#v10vs .vs-gap{margin-top:14px}
#v10vs .vs-gap .g-row{display:flex;align-items:center;gap:10px;margin:7px 0;font-size:12.5px}
#v10vs .vs-gap .g-lab{flex:0 0 150px;color:var(--muted,#9a98a3)}
#v10vs .vs-gap .g-bar{flex:1;height:8px;border-radius:5px;background:rgba(255,255,255,.07);overflow:hidden}
#v10vs .vs-gap .g-bar i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,#ff2d55,#ff7a4d)}
#v10vs .vs-gap .g-val{flex:0 0 auto;font-weight:700;font-size:12px}

/* ---------- NICHE PROFILE (#v10niche) ---------- */
#v10niche .np-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
#v10niche .np-norm{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
#v10niche .np-n{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);border-radius:13px;padding:12px 13px}
#v10niche .np-n .k{font-size:11px;color:var(--muted,#9a98a3);text-transform:uppercase;letter-spacing:.6px}
#v10niche .np-n .v{font-size:17px;font-weight:800;margin-top:4px}
#v10niche .np-n .n{font-size:11.5px;color:var(--muted,#9a98a3);margin-top:3px}
#v10niche .np-n.good{border-color:rgba(95,224,160,.35)}
#v10niche .np-n.bad{border-color:rgba(255,90,110,.4)}
#v10niche .np-w{margin-top:14px}
#v10niche .np-w .w-row{display:flex;align-items:center;gap:10px;margin:6px 0;font-size:12.5px}
#v10niche .np-w .w-lab{flex:0 0 175px;color:#d8d6df}
#v10niche .np-w .w-bar{flex:1;height:7px;border-radius:5px;background:rgba(255,255,255,.07)}
#v10niche .np-w .w-bar i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,#2aabee,#5fe0a0)}
#v10niche .np-adv{margin-top:14px}
#v10niche .np-a{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:13px;line-height:1.55}
#v10niche .np-a:last-child{border-bottom:0}
#v10niche .np-a .dot{color:#ff2d55;font-weight:800;flex:0 0 auto}
#v10niche .np-a .add{margin-left:auto;flex:0 0 auto;font-size:11.5px;color:#9a98a3;cursor:pointer;border:1px solid rgba(255,255,255,.14);border-radius:8px;padding:4px 9px;white-space:nowrap;background:none}
#v10niche .np-a .add:hover{color:#fff;border-color:rgba(255,45,85,.5)}
#v10niche .np-a .add.ok{color:#5fe0a0;pointer-events:none}

/* ---------- BEFORE/AFTER + auto-snapshot (#v10ba) ---------- */
#v10ba{margin-top:12px}
#v10ba .ba-cfg{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12.5px;color:var(--muted,#9a98a3)}
#v10ba .ba-cfg button{font:inherit;font-size:12px;padding:5px 11px;border-radius:100px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);color:#cfccd8;cursor:pointer}
#v10ba .ba-cfg button.on{background:rgba(255,45,85,.16);border-color:rgba(255,45,85,.6);color:#fff}
#v10ba .ba-imp{margin-top:12px}
#v10ba .ba-it{display:flex;gap:12px;align-items:center;padding:10px 12px;border:1px solid rgba(255,255,255,.08);border-radius:13px;margin-top:8px;background:rgba(255,255,255,.03);font-size:12.8px;flex-wrap:wrap}
#v10ba .ba-it .st{flex:1 1 240px;line-height:1.45}
#v10ba .ba-it .st small{display:block;color:var(--muted,#9a98a3);margin-top:2px}
#v10ba .ba-it .dl{flex:0 0 auto;font-weight:800;font-size:13px;padding:5px 11px;border-radius:9px}
#v10ba .ba-it .dl.up{background:rgba(95,224,160,.13);color:#5fe0a0}
#v10ba .ba-it .dl.down{background:rgba(255,90,110,.13);color:#ff8a9e}
#v10ba .ba-it .dl.flat{background:rgba(255,255,255,.07);color:#9a98a3}
#v10remind{max-width:720px;margin:14px auto 0;display:flex;align-items:center;gap:12px;background:rgba(255,45,85,.1);border:1px solid rgba(255,45,85,.35);border-radius:16px;padding:12px 16px;font-size:13.5px;animation:fadeUp .5s both;flex-wrap:wrap}
#v10remind b{color:#fff}
#v10remind button{margin-left:auto}

/* ---------- RETENTION AUDIT (#v4ov_v10ret) ---------- */
.v10rt-bar{position:relative;height:34px;border-radius:10px;background:rgba(255,255,255,.06);overflow:hidden;margin:12px 0 4px}
.v10rt-bar .seg{position:absolute;top:0;bottom:0;border-right:1px solid rgba(0,0,0,.35)}
.v10rt-bar .seg.high{background:rgba(255,70,95,.55)}
.v10rt-bar .seg.mid{background:rgba(255,170,70,.45)}
.v10rt-bar .seg.low{background:rgba(95,224,160,.35)}
.v10rt-scale{display:flex;justify-content:space-between;font-size:10.5px;color:var(--muted,#9a98a3);margin-bottom:10px}
.v10rt-leg{display:flex;gap:14px;font-size:11.5px;color:var(--muted,#9a98a3);margin:4px 0 12px}
.v10rt-leg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.v10rt-it{border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:13px 15px;margin-top:10px;background:rgba(255,255,255,.03)}
.v10rt-it .tc{font-weight:800;font-size:13px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.v10rt-it .tc .risk{font-size:10.5px;padding:2px 8px;border-radius:100px;letter-spacing:.4px;font-weight:700}
.v10rt-it .tc .risk.high{background:rgba(255,70,95,.18);color:#ff8a9e}
.v10rt-it .tc .risk.mid{background:rgba(255,170,70,.16);color:#ffc98a}
.v10rt-it .tc .risk.low{background:rgba(95,224,160,.14);color:#5fe0a0}
.v10rt-it .hy{font-size:13px;line-height:1.55;margin-top:7px;color:#e3e1ea}
.v10rt-it .fx{font-size:12.7px;line-height:1.5;margin-top:7px;color:#cfd6cf;background:rgba(95,224,160,.07);border-left:3px solid rgba(95,224,160,.5);border-radius:0 9px 9px 0;padding:8px 11px}

/* ---------- AGENCY / BRAND modal (#v10brand) ---------- */
#v10brand{position:fixed;inset:0;z-index:15040;display:none;align-items:center;justify-content:center;background:rgba(7,6,9,.78);backdrop-filter:blur(6px);padding:18px}
#v10brand.open{display:flex}
#v10brand .bx{width:min(520px,100%);max-height:92vh;overflow:auto;background:#141118;border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:24px}
#v10brand .bx h3{margin:0 0 4px;font-size:19px}
#v10brand .logo-drop{margin-top:6px;border:1.5px dashed rgba(255,255,255,.2);border-radius:14px;padding:16px;text-align:center;font-size:12.5px;color:var(--muted,#9a98a3);cursor:pointer}
#v10brand .logo-drop img{max-height:54px;max-width:200px;display:block;margin:0 auto 8px;border-radius:8px}
#v10brand .sw{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:13.5px;cursor:pointer}
#v10brand input[type=color]{width:46px;height:34px;border:0;background:none;padding:0;cursor:pointer}

/* ---------- TG TOOLS (import / week / ab) ---------- */
.v10tg-btn{margin:6px 10px 0}
.v10drop{border:1.5px dashed rgba(42,171,238,.45);border-radius:16px;padding:30px 18px;text-align:center;cursor:pointer;transition:all .2s ease;font-size:13.5px;color:#cfccd8}
.v10drop.over{background:rgba(42,171,238,.08);border-color:#2aabee}
.v10drop .big{font-size:30px;display:block;margin-bottom:8px}
.v10imp-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:14px}
.v10imp-stat{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:13px;padding:12px}
.v10imp-stat .k{font-size:10.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted,#9a98a3)}
.v10imp-stat .v{font-size:18px;font-weight:800;margin-top:4px}
.v10imp-stat .n{font-size:11px;color:var(--muted,#9a98a3);margin-top:2px}
.v10heat{display:grid;grid-template-columns:repeat(24,1fr);gap:3px;margin-top:8px}
.v10heat span{height:18px;border-radius:4px;background:rgba(255,255,255,.05);position:relative}
.v10heat span[data-l]:hover::after{content:attr(data-l);position:absolute;bottom:120%;left:50%;transform:translateX(-50%);background:#241d2c;border:1px solid rgba(255,255,255,.15);padding:4px 8px;border-radius:7px;font-size:10.5px;white-space:nowrap;z-index:5}
.v10heat-lab{display:flex;justify-content:space-between;font-size:10px;color:var(--muted,#9a98a3);margin-top:3px}
.v10wd{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:8px}
.v10wd .d{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:8px 4px;text-align:center}
.v10wd .d .n{font-size:10.5px;color:var(--muted,#9a98a3)}
.v10wd .d .c{font-size:14px;font-weight:800;margin-top:3px}
.v10wd .d.top{border-color:rgba(95,224,160,.45);background:rgba(95,224,160,.07)}
.v10wk-card{border:1px solid rgba(255,255,255,.09);border-radius:15px;background:rgba(255,255,255,.03);padding:14px 16px;margin-top:10px}
.v10wk-card .hd{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:800;flex-wrap:wrap}
.v10wk-card .hd .day{background:rgba(42,171,238,.16);color:#7ec9f2;border-radius:8px;padding:3px 9px;font-size:11.5px}
.v10wk-card .hd .typ{background:rgba(255,255,255,.07);border-radius:8px;padding:3px 9px;font-size:11px;color:#cfccd8;font-weight:600}
.v10wk-card .hd .sp{flex:1}
.v10wk-card .bd{font-size:13px;line-height:1.6;margin-top:9px;white-space:pre-wrap;color:#e3e1ea}
.v10ab-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.v10ab-res{border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:13px;background:rgba(255,255,255,.03)}
.v10ab-res.win{border-color:rgba(95,224,160,.5);box-shadow:0 0 22px rgba(95,224,160,.08)}
.v10ab-res h5{margin:0 0 8px;font-size:13.5px;display:flex;align-items:center;gap:8px}
.v10ab-res h5 .sc{margin-left:auto;font-size:15px;font-weight:800}
.v10ab-win-tag{font-size:10px;background:rgba(95,224,160,.16);color:#5fe0a0;padding:2px 8px;border-radius:100px;font-weight:800;letter-spacing:.5px}

/* ---------- HOW IT WORKS (#v10how) ---------- */
#v10how{position:fixed;inset:0;z-index:15030;display:none;background:rgba(8,7,10,.92);backdrop-filter:blur(10px);overflow:auto;padding:0 0 50px}
#v10how.open{display:block}
#v10how .hw-in{max-width:880px;margin:0 auto;padding:26px 20px}
#v10how .hw-top{display:flex;align-items:center;gap:12px;margin-bottom:22px}
#v10how .hw-top h2{margin:0;font-size:clamp(22px,4.5vw,32px)}
#v10how .hw-x{margin-left:auto;font:inherit;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);color:#fff;border-radius:11px;padding:9px 15px;cursor:pointer}
#v10how .hw-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
#v10how .hw-st{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:18px}
#v10how .hw-st .n{width:30px;height:30px;border-radius:10px;background:linear-gradient(118deg,#ff2233,#ff3b63);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;margin-bottom:10px}
#v10how .hw-st b{display:block;font-size:14.5px;margin-bottom:5px}
#v10how .hw-st p{margin:0;font-size:12.8px;line-height:1.55;color:#cfccd8}
#v10how .hw-feat{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:9px;margin-top:12px}
#v10how .hw-f{display:flex;gap:9px;align-items:flex-start;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:11px 12px;font-size:12.6px;line-height:1.45}
#v10how .hw-f span:first-child{font-size:16px}
#v10how h3{font-size:16px;margin:28px 0 10px}
#v10how .hw-faq{border:1px solid rgba(255,255,255,.09);border-radius:13px;background:rgba(255,255,255,.03);padding:3px 16px;margin-top:8px}
#v10how .hw-faq details{border-bottom:1px solid rgba(255,255,255,.06);padding:11px 0}
#v10how .hw-faq details:last-child{border-bottom:0}
#v10how .hw-faq summary{cursor:pointer;font-size:13.5px;font-weight:700;list-style:none}
#v10how .hw-faq summary::-webkit-details-marker{display:none}
#v10how .hw-faq p{font-size:13px;line-height:1.6;color:#cfccd8;margin:8px 0 0}
#v10how .hw-cta{display:flex;gap:10px;margin-top:26px;flex-wrap:wrap}
#v10howBtn{font:inherit;cursor:pointer;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);color:#e7e5ee;border-radius:100px;padding:8px 14px;font-size:12.5px;white-space:nowrap}
#v10howBtn:hover{border-color:rgba(255,45,85,.5);color:#fff}
.v10-eg-how{display:block;margin:22px auto 0;font:inherit;background:none;border:0;color:#9fb6c8;font-size:13.5px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.v10-eg-how:hover{color:#fff}

/* ============================================================
   MOBILE POLISH — additive, careful overrides
   ============================================================ */
@media (max-width:760px){
  html,body{overflow-x:hidden}
  body::before{animation:none;filter:blur(34px) saturate(1.15)}   /* aurora: статична на мобиле = плавный скролл */
  .section{margin-top:30px}
  .wrap{padding-left:14px;padding-right:14px}
  /* поля ввода: 16px = iOS не зумит страницу */
  input,select,textarea{font-size:16px!important}
  .btn,.pbtn,.v4-btn,.v10-btn{min-height:44px}
  .section-h h2{font-size:19px}
  .ch-head img{width:56px;height:56px}
  .ch-stats{gap:10px 16px}
  .score-wrap{width:100%;justify-content:flex-start}
  .chart-grid,.prod-grid,.comp-grid{grid-template-columns:1fr}
  .wiz-grid{grid-template-columns:1fr}
  .heat-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .toggle{flex-wrap:wrap}
  .fab-bar{flex-direction:column;align-items:stretch}
  .fab-bar .btn{width:100%}
  .bulk-cta{flex-direction:column;align-items:stretch;gap:10px}
  .sim-grid{grid-template-columns:1fr}
  .lab-form{flex-direction:column}
  .lab-form .btn{width:100%}
  .comp-add{flex-direction:column}
  .comp-add .btn{width:100%}
  .v4-ov .v4-wrap{padding:14px 12px}
  .v4-top{padding:10px 12px}
  .hist-cards{grid-template-columns:1fr 1fr}
  .fnl-map{flex-direction:column}
  .fnl-arr{transform:rotate(90deg)}
  #vTourTip{bottom:max(14px,env(safe-area-inset-bottom))}
  .v10-grid2,.v10ab-grid{grid-template-columns:1fr}
  #v10vs .vs-gap .g-lab{flex-basis:110px}
  #v10niche .np-w .w-lab{flex-basis:130px}
  .v10heat span{height:14px}
  #v10remind{margin-left:14px;margin-right:14px}
  #v10remind button{margin-left:0;width:100%}
  .wk-grid{grid-template-columns:1fr 1fr}
  .stg-an-grid{grid-template-columns:1fr}
}
@media (max-width:430px){
  .hero h1{font-size:clamp(24px,7.4vw,30px)}
  .hero p.sub{font-size:14px}
  .mode-switch{width:100%;display:flex}
  .mode-switch button{flex:1;font-size:12.5px;padding:9px 6px}
  .ch-stat .v{font-size:15px}
  .hist-cards{grid-template-columns:1fr}
  .eg-cards{grid-template-columns:1fr}
  .hero-feats span{font-size:11px}
  .v10wd{grid-template-columns:repeat(7,1fr);gap:3px}
  .v10wd .d{padding:6px 2px}
  .nav-tag{display:none}
}
/* плавный нативный скролл оверлеев на тач-устройствах */
.v4-ov .v4-body{-webkit-overflow-scrolling:touch}
@media (hover:none){
  .v10-btn:hover{transform:none;box-shadow:none}
}

/* ===== block_17 ===== */
/* ============ VIORA V11 — премиум-скин ============ */

/* — никаких NEW — */
.new,.v10-new{display:none!important}

/* ---------- страницы инструментов (.v4-ov) ---------- */
.v4-ov{background:#08070b}
.v4-ov::before{content:'';position:absolute;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(900px 480px at 12% -8%,rgba(255,45,85,.10),transparent 60%),
    radial-gradient(820px 460px at 95% 4%,rgba(102,80,255,.09),transparent 62%),
    radial-gradient(700px 700px at 50% 118%,rgba(42,171,238,.06),transparent 60%)}
.v4-ov::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:0;opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .03 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}
.v4-ov>*{position:relative;z-index:1}
.v4-top{backdrop-filter:blur(20px);background:rgba(10,9,13,.72);border-bottom:1px solid rgba(255,255,255,.06);padding:13px 22px}
.v4-back{border-radius:12px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);transition:all .2s cubic-bezier(.2,.7,.3,1)}
.v4-back:hover{background:rgba(255,255,255,.1);transform:translateX(-2px)}
.v4-wrap{max-width:1020px;animation:v11up .45s cubic-bezier(.2,.7,.25,1) both}
@keyframes v11up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* hero-шапка инструмента */
.v11-hero{display:flex;align-items:center;gap:18px;margin:10px 0 26px;padding:24px 26px;border-radius:24px;position:relative;overflow:hidden;
  background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.018));
  border:1px solid rgba(255,255,255,.09);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 24px 60px -30px rgba(0,0,0,.8)}
.v11-hero::after{content:'';position:absolute;inset:-40% -20%;background:conic-gradient(from 200deg at 80% 20%,transparent 70%,rgba(255,45,85,.12) 84%,transparent 96%);pointer-events:none}
.v11-hero-ic{width:62px;height:62px;flex:0 0 auto;display:grid;place-items:center;font-size:29px;border-radius:18px;
  background:linear-gradient(150deg,rgba(255,45,85,.22),rgba(110,70,255,.16));
  border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 14px 34px -14px rgba(255,45,85,.55)}
.v11-hero-t{font-family:'Onest',system-ui,sans-serif;font-size:21px;font-weight:800;letter-spacing:-.01em;color:#fff}
.v11-hero-s{font-size:13.5px;color:var(--muted,#9b93a8);margin-top:4px;line-height:1.5;max-width:640px}

/* карточки и формы — общий премиум */
.v4-ov .v10-card,.v11-card{background:linear-gradient(170deg,rgba(255,255,255,.05),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.085);border-radius:20px;padding:22px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 18px 48px -26px rgba(0,0,0,.85);
  transition:border-color .25s,transform .25s}
.v4-ov .v10-card:hover,.v11-card:hover{border-color:rgba(255,255,255,.16)}
.v11-kicker{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#ff5e7e;margin-bottom:6px}
.v4-ov .v10-h4{font-family:'Onest',system-ui,sans-serif;font-size:16.5px;letter-spacing:-.01em}
.v4-ov .v10-in,.v11-in{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.11);border-radius:14px;
  transition:border-color .2s,box-shadow .2s,background .2s}
.v4-ov .v10-in:focus,.v11-in:focus{border-color:rgba(255,45,85,.6);box-shadow:0 0 0 3px rgba(255,45,85,.14);background:rgba(255,255,255,.06)}
.v4-ov .v10-btn,.v11-btn{position:relative;overflow:hidden;border-radius:14px;padding:12px 20px;font-weight:800;letter-spacing:.01em;
  background:linear-gradient(120deg,#ff2d55,#ff5470 60%,#ff7a4d);
  box-shadow:0 14px 34px -14px rgba(255,45,85,.65),inset 0 1px 0 rgba(255,255,255,.25);
  transition:transform .18s cubic-bezier(.2,.7,.3,1),box-shadow .18s;border:0;color:#fff;cursor:pointer;font-family:inherit;font-size:13.5px}
.v4-ov .v10-btn::after,.v11-btn::after{content:'';position:absolute;top:0;left:-80%;width:55%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);transition:left .55s ease}
.v4-ov .v10-btn:hover::after,.v11-btn:hover::after{left:130%}
.v4-ov .v10-btn:hover,.v11-btn:hover{transform:translateY(-1px);box-shadow:0 18px 40px -14px rgba(255,45,85,.8)}
.v11-btn.ghost,.v4-ov .v10-btn.ghost{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.13);box-shadow:none;color:#eee}
.v11-btn.ghost:hover{background:rgba(255,255,255,.1)}
.v11-btn.tg{background:linear-gradient(120deg,#2aabee,#1d8fd1);box-shadow:0 14px 34px -14px rgba(42,171,238,.6),inset 0 1px 0 rgba(255,255,255,.25)}

/* выбор-чипы */
.v11-pills{display:flex;flex-wrap:wrap;gap:8px}
.v11-pill{font:inherit;font-size:12.5px;font-weight:700;color:#cfd3da;background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.11);border-radius:999px;padding:8px 15px;cursor:pointer;transition:all .18s}
.v11-pill:hover{border-color:rgba(255,255,255,.25)}
.v11-pill.on{color:#fff;background:linear-gradient(120deg,rgba(255,45,85,.25),rgba(255,122,77,.18));border-color:rgba(255,45,85,.55);box-shadow:0 0 0 3px rgba(255,45,85,.1)}

/* результаты */
.v11-res{display:flex;flex-direction:column;gap:14px;margin-top:18px}
.v11-res-card{position:relative;background:linear-gradient(170deg,rgba(255,255,255,.05),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.09);border-radius:18px;padding:18px 20px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);animation:v11up .4s both}
.v11-res-card b.t{display:block;font-size:14.5px;color:#fff;margin-bottom:6px}
.v11-res-card p{margin:0 0 8px;font-size:13.5px;line-height:1.65;color:#d7d2df}
.v11-res-card small{color:var(--muted,#9b93a8)}
.v11-cp{font:inherit;font-size:11.5px;font-weight:700;color:#dfe3ea;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);
  border-radius:9px;padding:5px 11px;cursor:pointer;transition:all .15s}
.v11-cp:hover{background:rgba(255,255,255,.13)}
.v11-tag{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border-radius:8px;padding:3px 9px;margin-right:6px;
  background:rgba(42,171,238,.14);border:1px solid rgba(42,171,238,.3);color:#7fd0ff}
.v11-tag.hot{background:rgba(255,45,85,.14);border-color:rgba(255,45,85,.35);color:#ff8aa0}
.v11-tag.gold{background:rgba(232,198,107,.13);border-color:rgba(232,198,107,.35);color:#ecd28b}
.v11-stat{flex:1 1 140px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:14px 16px}
.v11-stat .k{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted,#9b93a8)}
.v11-stat .v{font-family:'Onest',sans-serif;font-size:21px;font-weight:800;color:#fff;margin-top:4px}
.v11-stat .n{font-size:11.5px;color:var(--muted,#9b93a8);margin-top:2px}
.v11-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.v11-grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.v11-bar{height:7px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden}
.v11-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#ff2d55,#ff7a4d);transition:width .8s cubic-bezier(.2,.7,.2,1)}

/* ---------- продюсер-центр на дашборде ---------- */
.v11-hub{margin:26px 0;padding:26px;border-radius:26px;position:relative;overflow:hidden;
  background:linear-gradient(160deg,rgba(255,255,255,.045),rgba(255,255,255,.015));
  border:1px solid rgba(255,255,255,.09);box-shadow:inset 0 1px 0 rgba(255,255,255,.07)}
.v11-hub::before{content:'';position:absolute;inset:-30% -10%;pointer-events:none;
  background:radial-gradient(600px 260px at 90% 0%,rgba(110,70,255,.12),transparent 65%)}
.v11-hub-head h3{font-family:'Onest',sans-serif;font-size:19px;font-weight:800;margin:0 0 16px;color:#fff;letter-spacing:-.01em}
.v11-hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:12px;position:relative}
.v11-hub-card{font:inherit;text-align:left;display:flex;flex-direction:column;gap:5px;padding:17px 17px 14px;border-radius:18px;cursor:pointer;
  background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.09);color:#e9e4f0;
  transition:transform .2s cubic-bezier(.2,.7,.3,1),border-color .2s,background .2s;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.v11-hub-card:hover{transform:translateY(-3px);border-color:rgba(255,45,85,.4);background:rgba(255,255,255,.06)}
.v11-hub-card .ic{font-size:23px}
.v11-hub-card b{font-size:13.5px;color:#fff}
.v11-hub-card small{font-size:11.5px;line-height:1.45;color:var(--muted,#9b93a8)}
.v11-hub-card .go{font-size:11px;font-weight:800;color:#ff5e7e;margin-top:4px;opacity:0;transform:translateX(-4px);transition:all .2s}
.v11-hub-card:hover .go{opacity:1;transform:none}
.v11-scr{font:inherit;font-size:11.5px;font-weight:700;margin-top:9px;color:#fff;cursor:pointer;border:1px solid rgba(255,45,85,.4);
  background:rgba(255,45,85,.12);border-radius:10px;padding:6px 12px;transition:all .18s}
.v11-scr:hover{background:rgba(255,45,85,.25)}

/* ---------- TELEGRAM-СТУДИЯ — премиум ---------- */
.stg-sidebar{width:292px;background:linear-gradient(185deg,#121419 0%,#0e1013 100%);border-right:1px solid rgba(255,255,255,.05)}
.stg-tabs{display:flex;gap:4px;margin:4px 10px 10px;padding:4px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.06);border-radius:13px}
.stg-tab{flex:1;border:0;border-radius:10px;padding:8px 4px;font-size:12.5px;font-weight:700;color:#9aa3ad;background:transparent;cursor:pointer;transition:all .2s}
.stg-tab.active{color:#fff;background:linear-gradient(135deg,rgba(42,171,238,.35),rgba(29,143,209,.25));box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 6px 16px -8px rgba(42,171,238,.6)}
.stg-newchat{border-radius:14px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.04);transition:all .2s;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.stg-newchat:hover{border-color:rgba(42,171,238,.45);background:rgba(42,171,238,.1)}
.v11-tile{display:flex!important;align-items:center;gap:11px;padding:11px 12px!important}
.v11-tile .v11-tile-ic{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;font-size:16px;border-radius:10px;
  background:linear-gradient(150deg,rgba(42,171,238,.3),rgba(110,70,255,.18));border:1px solid rgba(255,255,255,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}
.v11-tile .v11-tile-tx{flex:1;text-align:left;font-weight:700;font-size:13px;color:#e8ecf1}
.v11-tile .v11-tile-ar{color:#5b6470;font-size:17px;font-weight:700;transition:transform .2s,color .2s}
.v11-tile:hover .v11-tile-ar{transform:translateX(3px);color:#7fd0ff}
.stg-chat{border-radius:12px;border:1px solid transparent}
.stg-chat.active{background:rgba(42,171,238,.12);border-color:rgba(42,171,238,.28);color:#fff;box-shadow:inset 2px 0 0 #2aabee}
.stg-search{border-radius:12px}
.stg-listlabel{font-size:10px;letter-spacing:.16em}

/* чат */
.stg-thread{position:relative}
.stg-main{background:
  radial-gradient(900px 400px at 70% -10%,rgba(42,171,238,.07),transparent 60%),
  radial-gradient(700px 500px at 0% 110%,rgba(110,70,255,.05),transparent 60%),#0c0e11}
.stg-msg.user .bubble{background:linear-gradient(135deg,#2496d6,#1d7fc0);border:0;color:#fff;border-radius:20px 20px 6px 20px;
  box-shadow:0 12px 30px -14px rgba(42,171,238,.55),inset 0 1px 0 rgba(255,255,255,.22);font-size:14.5px}
.stg-msg.bot .ava{width:34px;height:34px;border-radius:11px;box-shadow:0 0 0 1px rgba(255,255,255,.14),0 8px 22px -8px rgba(42,171,238,.7)}
.stg-msg.bot .body{background:linear-gradient(170deg,rgba(255,255,255,.045),rgba(255,255,255,.015));
  border:1px solid rgba(255,255,255,.08);border-radius:6px 20px 20px 20px;padding:16px 20px;max-width:760px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 16px 44px -26px rgba(0,0,0,.8)}
.stg-msg.bot .body h4{color:#7fd0ff;font-size:13px;letter-spacing:.04em;text-transform:uppercase;font-weight:800}
.stg-msg.bot .body b{color:#fff}
.stg-msg.bot .body hr{border:0;border-top:1px solid rgba(255,255,255,.08);margin:13px 0}
.stg-msg.bot .body li{margin:5px 0}
.stg-msg.bot .body li::marker{color:#2aabee}
.stg-composer-in{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.1);border-radius:22px;padding:9px 10px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 18px 50px -20px rgba(0,0,0,.7);backdrop-filter:blur(12px)}
.stg-composer-in:focus-within{border-color:rgba(42,171,238,.6);box-shadow:0 0 0 4px rgba(42,171,238,.13),inset 0 1px 0 rgba(255,255,255,.07)}

/* ---------- мобильная адаптация ---------- */
@media (max-width:760px){
  .v11-hero{flex-direction:row;gap:13px;padding:16px;margin-bottom:16px;border-radius:18px}
  .v11-hero-ic{width:46px;height:46px;font-size:22px;border-radius:14px}
  .v11-hero-t{font-size:16.5px}
  .v11-hero-s{font-size:12px}
  .v11-grid2{grid-template-columns:1fr}
  .v11-hub{padding:16px;border-radius:20px;margin:16px 0}
  .v11-hub-grid{grid-template-columns:1fr 1fr;gap:9px}
  .v11-hub-card{padding:13px 12px 11px}
  .v11-hub-card small{display:none}
  .v11-btn,.v11-cp{min-height:42px}
  .v11-res-card{padding:14px}
  .v11-stat{flex-basis:45%}
  .stg-msg.bot .body{padding:13px 14px}
}
@media (max-width:430px){
  .v11-hub-grid{grid-template-columns:1fr}
  .v11-row .v11-btn{width:100%;justify-content:center}
}

/* ===== block_18 ===== */
/* ============ VIORA V12: agent / twin / thumb / conveyor ============ */

/* ---- AI agent chat ---- */
.v12-chat{display:flex;flex-direction:column;height:calc(100vh - 220px);min-height:420px;border:1px solid rgba(255,255,255,.09);border-radius:22px;background:rgba(255,255,255,.025);overflow:hidden}
.v12-feed{flex:1;overflow-y:auto;padding:22px 22px 10px;display:flex;flex-direction:column;gap:14px;scroll-behavior:smooth}
.v12-msg{display:flex;gap:10px;max-width:86%;animation:v12in .3s ease}
@keyframes v12in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.v12-msg.user{align-self:flex-end;flex-direction:row-reverse}
.v12-msg .ava{flex:0 0 34px;width:34px;height:34px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:17px;background:linear-gradient(135deg,#ff2d55,#ff7a4d);box-shadow:0 6px 18px rgba(255,45,85,.35)}
.v12-msg.user .ava{background:rgba(255,255,255,.1);box-shadow:none}
.v12-msg .bub{padding:12px 16px;border-radius:16px;font-size:14px;line-height:1.55;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}
.v12-msg.user .bub{background:linear-gradient(135deg,rgba(255,45,85,.22),rgba(255,122,77,.18));border-color:rgba(255,45,85,.3)}
.v12-msg .bub b{color:#fff}
.v12-card{margin-top:10px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(10,7,14,.55);padding:14px 16px}
.v12-card h5{margin:0 0 6px;font-size:13.5px;color:#fff;display:flex;align-items:center;gap:7px}
.v12-card .kv{font-size:13px;color:#cfc8da;margin:4px 0}
.v12-card .kv b{color:#fff}
.v12-steps{display:flex;flex-direction:column;gap:7px;margin:4px 0}
.v12-step{display:flex;align-items:center;gap:9px;font-size:13px;color:#b8aec6}
.v12-step .dot{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;background:rgba(255,255,255,.07);flex:0 0 18px}
.v12-step.run .dot{background:rgba(255,45,85,.25);animation:v12pulse 1s infinite}
.v12-step.ok .dot{background:rgba(60,200,120,.22);color:#7be3a8}
.v12-step.ok{color:#e7e1f0}
@keyframes v12pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.25)}}
.v12-chips{display:flex;flex-wrap:wrap;gap:8px;padding:10px 22px}
.v12-chip{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:#e7e1f0;border-radius:999px;padding:8px 14px;font-size:13px;cursor:pointer;transition:.18s}
.v12-chip:hover{border-color:rgba(255,45,85,.5);background:rgba(255,45,85,.1);transform:translateY(-1px)}
.v12-cmp{display:flex;gap:10px;padding:14px 22px 18px;border-top:1px solid rgba(255,255,255,.07);background:rgba(0,0,0,.25)}
.v12-cmp input{flex:1;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:12px 16px;color:#fff;font-size:14px;font-family:inherit;outline:none;transition:.18s}
.v12-cmp input:focus{border-color:rgba(255,45,85,.55);box-shadow:0 0 0 3px rgba(255,45,85,.12)}
.v12-send{width:46px;height:46px;border-radius:14px;border:none;cursor:pointer;font-size:17px;color:#fff;background:linear-gradient(135deg,#ff2d55,#ff7a4d);box-shadow:0 8px 22px rgba(255,45,85,.35);transition:.18s}
.v12-send:hover{transform:translateY(-2px)}
.v12-send:disabled{opacity:.5;cursor:default;transform:none}
.v12-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}

/* nav pill for agent */
.v12-navagent{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(255,45,85,.45);background:linear-gradient(135deg,rgba(255,45,85,.16),rgba(255,122,77,.1));color:#fff;border-radius:999px;padding:8px 14px;font-size:13.5px;font-weight:700;cursor:pointer;transition:.18s}
.v12-navagent:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(255,45,85,.3)}

/* ---- digital twin ---- */
.v12-twin{display:grid;grid-template-columns:330px 1fr;gap:18px;align-items:start}
.v12-panel{border:1px solid rgba(255,255,255,.09);border-radius:20px;background:rgba(255,255,255,.03);padding:18px}
.v12-sl{margin:0 0 16px}
.v12-sl .lab{display:flex;justify-content:space-between;font-size:13px;color:#cfc8da;margin-bottom:7px}
.v12-sl .lab b{color:#fff;font-variant-numeric:tabular-nums}
.v12-sl input[type=range]{width:100%;appearance:none;-webkit-appearance:none;height:6px;border-radius:4px;background:rgba(255,255,255,.1);outline:none}
.v12-sl input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,#ff2d55,#ff7a4d);box-shadow:0 4px 14px rgba(255,45,85,.5);cursor:pointer;border:2.5px solid #140d1c}
.v12-presets{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px}
.v12-preset{border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.04);color:#e7e1f0;border-radius:999px;padding:6px 12px;font-size:12.5px;cursor:pointer;transition:.16s}
.v12-preset.on,.v12-preset:hover{border-color:rgba(255,45,85,.55);background:rgba(255,45,85,.13);color:#fff}
.v12-twin svg{width:100%;height:auto;display:block}
.v12-tstats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.v12-tstat{border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:12px 14px;background:rgba(0,0,0,.25);text-align:center}
.v12-tstat .v{font-size:19px;font-weight:800;color:#fff;font-variant-numeric:tabular-nums}
.v12-tstat .v.up{color:#7be3a8}.v12-tstat .v.down{color:#ff8e8e}
.v12-tstat .k{font-size:11px;color:#9b93a8;margin-top:3px;letter-spacing:.4px}
.v12-legend{display:flex;gap:16px;font-size:12px;color:#b8aec6;margin:8px 2px 0}
.v12-legend i{display:inline-block;width:18px;height:3px;border-radius:2px;margin-right:6px;vertical-align:middle}

/* ---- thumbnail studio ---- */
.v12-thumb{display:grid;grid-template-columns:1fr 320px;gap:18px;align-items:start}
.v12-stage{position:relative;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.12);background:#000;box-shadow:0 24px 70px rgba(0,0,0,.5)}
.v12-stage canvas{width:100%;display:block;cursor:grab}
.v12-stage canvas:active{cursor:grabbing}
.v12-tools .grp{margin-bottom:16px}
.v12-tools .grp>.t{font-size:11.5px;letter-spacing:1.2px;text-transform:uppercase;color:#9b93a8;margin-bottom:8px}
.v12-bgs{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.v12-bg{aspect-ratio:16/9;border-radius:9px;border:2px solid transparent;cursor:pointer;background-size:cover;background-position:center;transition:.15s}
.v12-bg.on,.v12-bg:hover{border-color:#ff2d55;transform:scale(1.04)}
.v12-tpls{display:flex;flex-wrap:wrap;gap:7px}
.v12-in12{width:100%;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:10px 13px;color:#fff;font-size:13.5px;font-family:inherit;outline:none;margin-bottom:8px}
.v12-in12:focus{border-color:rgba(255,45,85,.5)}
.v12-row12{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.v12-mini{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:#e7e1f0;border-radius:10px;padding:7px 11px;font-size:12.5px;cursor:pointer;transition:.15s}
.v12-mini:hover{border-color:rgba(255,45,85,.5);color:#fff}
.v12-mini.on{border-color:#ff2d55;background:rgba(255,45,85,.15);color:#fff}
.v12-swatches{display:flex;gap:7px;flex-wrap:wrap}
.v12-sw{width:26px;height:26px;border-radius:8px;cursor:pointer;border:2px solid transparent;transition:.15s}
.v12-sw.on,.v12-sw:hover{border-color:#fff;transform:scale(1.1)}

/* ---- conveyor ---- */
.v12-pipe{display:flex;flex-direction:column;gap:0;margin:18px 0;position:relative}
.v12-pst{display:flex;gap:14px;align-items:flex-start;padding:0 0 22px;position:relative}
.v12-pst:before{content:'';position:absolute;left:17px;top:38px;bottom:0;width:2px;background:rgba(255,255,255,.08)}
.v12-pst:last-child:before{display:none}
.v12-pst .ic{flex:0 0 36px;width:36px;height:36px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);z-index:1;transition:.25s}
.v12-pst.run .ic{background:rgba(255,45,85,.2);border-color:rgba(255,45,85,.5);animation:v12pulse 1.1s infinite}
.v12-pst.ok .ic{background:rgba(60,200,120,.16);border-color:rgba(60,200,120,.4)}
.v12-pst .tx b{display:block;font-size:14px;color:#fff}
.v12-pst .tx span{font-size:12.5px;color:#9b93a8}
.v12-doc section{border:1px solid rgba(255,255,255,.09);border-radius:18px;background:rgba(255,255,255,.03);padding:18px 20px;margin-bottom:14px}
.v12-doc section h4{margin:0 0 10px;font-size:15px;color:#fff;display:flex;align-items:center;gap:8px}
.v12-doc .scr{white-space:pre-wrap;font-size:13.5px;line-height:1.65;color:#dcd5e6}
.v12-ttl-opt{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid rgba(255,255,255,.08);border-radius:12px;margin-bottom:7px;background:rgba(0,0,0,.22)}
.v12-ttl-opt .n{font-size:13.5px;color:#fff;flex:1}

/* ---- mobile ---- */
@media(max-width:900px){
  .v12-twin,.v12-thumb{grid-template-columns:1fr}
  .v12-thumb .v12-tools{order:2}
}
@media(max-width:760px){
  .v12-chat{height:calc(100vh - 170px);border-radius:16px}
  .v12-feed{padding:14px 12px 8px}
  .v12-msg{max-width:94%}
  .v12-chips{padding:8px 12px}
  .v12-cmp{padding:10px 12px 14px}
  .v12-tstats{grid-template-columns:repeat(3,1fr);gap:7px}
  .v12-tstat .v{font-size:15px}
  .v12-navagent{padding:7px 11px;font-size:12.5px}
}

/* ===== block_19 ===== */
/* ============ VIORA V13: разведка — hunt / autopsy / mine / map ============ */

/* ---- общие ---- */
.v13-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.v13-qrow{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.v13-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}
.v13-chip{border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.04);color:#cfc8da;border-radius:999px;padding:6px 12px;font-size:12.5px;cursor:pointer;transition:.18s;font-family:inherit}
.v13-chip:hover{border-color:rgba(255,45,85,.5);color:#fff;background:rgba(255,45,85,.1)}
.v13-pills{display:flex;flex-wrap:wrap;gap:8px}
.v13-pill{border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.04);color:#cfc8da;border-radius:12px;padding:8px 14px;font-size:13px;cursor:pointer;transition:.18s;font-family:inherit}
.v13-pill.on{border-color:rgba(255,45,85,.55);background:rgba(255,45,85,.13);color:#fff}
.v13-panel{border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(255,255,255,.03);padding:18px 20px}
.v13-panel.sm{padding:14px 16px;margin-top:10px}
.v13-panel .kv{font-size:13.2px;color:#cfc8da;margin:5px 0;line-height:1.55}
.v13-panel .kv b{color:#fff}
.v13-mini{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:#e7e1f0;border-radius:10px;padding:6px 11px;font-size:12.3px;cursor:pointer;transition:.18s;font-family:inherit}
.v13-mini:hover{border-color:rgba(255,45,85,.5);background:rgba(255,45,85,.1)}
.v13-idea{border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(10,7,14,.45);padding:12px 14px;margin:9px 0}
.v13-idea b{color:#fff;font-size:13.6px}
.v13-quote{border-left:3px solid rgba(255,45,85,.55);background:rgba(255,255,255,.035);border-radius:0 10px 10px 0;padding:8px 12px;margin:7px 0;font-size:12.8px;color:#d8d2e3;font-style:italic;line-height:1.5}
.v13-quote span{color:#ff8aa0;font-style:normal;font-size:11.5px;margin-left:6px}
.v13-heat{font-size:11.5px;font-weight:700;margin-left:8px;white-space:nowrap}

/* ---- карточка видео (hunt / autopsy) ---- */
.v13-vid{display:flex;gap:14px;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:rgba(255,255,255,.03);padding:12px;margin:10px 0;transition:.18s}
.v13-vid:hover{border-color:rgba(255,255,255,.18)}
.v13-th{position:relative;flex:0 0 168px;width:168px;height:94px;border-radius:11px;overflow:hidden;display:block;background:#14101c}
.v13-th img{width:100%;height:100%;object-fit:cover;display:block}
.v13-rank{position:absolute;top:6px;left:6px;background:rgba(0,0,0,.72);color:#fff;font-size:11px;font-weight:800;border-radius:7px;padding:2px 7px}
.v13-sh{position:absolute;bottom:6px;right:6px;background:rgba(255,45,85,.85);color:#fff;font-size:10px;font-weight:800;border-radius:6px;padding:2px 6px}
.v13-vi{flex:1;min-width:0}
.v13-vi .t{display:block;color:#fff;font-weight:700;font-size:13.8px;line-height:1.4;text-decoration:none;margin-bottom:3px}
.v13-vi .t:hover{color:#ff8aa0}
.v13-vi .m{font-size:12.3px;color:#9aa3b2;margin-bottom:6px}
.v13-vi .s{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin-bottom:8px}
.v13-stat{font-size:12px;color:#cfc8da;background:rgba(255,255,255,.05);border-radius:8px;padding:3px 8px;white-space:nowrap}
.v13-x{font-size:11.6px;font-weight:800;border-radius:8px;padding:3px 9px;white-space:nowrap}
.v13-x.hot{background:rgba(255,45,85,.18);color:#ff8aa0;border:1px solid rgba(255,45,85,.4)}
.v13-x.warm{background:rgba(255,177,77,.14);color:#ffd166;border:1px solid rgba(255,177,77,.35)}
.v13-x.cold{background:rgba(255,255,255,.06);color:#9aa3b2;border:1px solid rgba(255,255,255,.1)}
.v13-rep{margin-top:4px}

/* ---- метрики (autopsy) ---- */
.v13-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:10px}
.v13-stat-c{border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.03);padding:12px 10px;text-align:center}
.v13-stat-c .v{font-family:Onest,sans-serif;font-weight:800;font-size:19px;color:#fff}
.v13-stat-c .l{font-size:11.3px;color:#9aa3b2;margin-top:3px;line-height:1.3}
.v13-score{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:8px}
.v13-score .n{font-family:Onest,sans-serif;font-weight:800;font-size:46px;line-height:1}
.v13-score .l{font-size:11.5px;color:#9aa3b2;line-height:1.35}
.v13-score .v{flex:1;min-width:200px;font-size:13.4px;color:#e7e1f0;line-height:1.55}

/* ---- колонки досье (mine) ---- */
.v13-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:12px}
.v13-col{border:1px solid rgba(255,255,255,.08);border-radius:13px;background:rgba(10,7,14,.4);padding:11px 13px}
.v13-col .h{font-size:12.6px;font-weight:800;color:#fff;margin-bottom:6px}

/* ---- карта ниши ---- */
.v13-mapwrap{width:100%;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(10,7,14,.5);margin-top:8px}
.v13-map{width:100%;height:auto;display:block}
.v13-bub{cursor:pointer;transition:.15s}
.v13-bub:hover{fill-opacity:.85}
.v13-leg{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px;font-size:11.8px;color:#9aa3b2}
.v13-leg i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:-1px}
.v13-tbl{display:flex;flex-direction:column;gap:9px;margin-top:4px}
.v13-tr{display:grid;grid-template-columns:1.2fr 1fr 1fr .9fr 1.6fr;gap:10px;align-items:center;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:rgba(10,7,14,.4);padding:10px 13px}
.v13-tr .n{font-size:13px;font-weight:700;color:#fff}
.v13-tr .vd{font-size:11.8px;font-weight:800;white-space:nowrap}
.v13-tr .nt{font-size:12px;color:#9aa3b2;line-height:1.4}
.v13-tr .bw{font-size:10.6px;color:#8b93a5}
.v13-tr .bw .b{height:6px;border-radius:4px;background:rgba(255,255,255,.07);margin-top:3px;overflow:hidden}
.v13-tr .bw .b i{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,#ff2d55,#ff7a4d)}

/* ============ мобильная адаптация ============ */
@media (max-width:680px){
  .v13-tr{grid-template-columns:1fr 1fr;row-gap:7px}
  .v13-tr .n{grid-column:1/-1}
  .v13-tr .nt{grid-column:1/-1}
  .v13-score .n{font-size:38px}
}
@media (max-width:560px){
  .v13-vid{flex-direction:column;gap:10px}
  .v13-th{flex:none;width:100%;height:auto;aspect-ratio:16/9}
  .v13-qrow .v11-btn,.v13-qrow .v10-in{width:100%;flex:none}
  .v13-row .v11-btn{width:100%}
  .v13-panel{padding:14px 14px}
  .v13-grid{grid-template-columns:repeat(2,1fr)}
  .v13-cols{grid-template-columns:1fr}
  .v13-leg{gap:8px;font-size:11px}
  .v13-pill{flex:1;text-align:center}
}

/* ===== block_20 ===== */
/* ============ VIORA V14 «Шоу» ============ */

/* ---- галактика ---- */
.v14-gal-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.v14-leg{display:flex;align-items:center;gap:8px;font-size:12.5px;color:rgba(230,236,248,.72);flex-wrap:wrap}
.v14-leg.dim{color:rgba(230,236,248,.45)}
.v14-leg i{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:-2px}
.v14-gal-wrap{position:relative;height:62vh;min-height:340px;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:radial-gradient(120% 120% at 30% 20%,#11131f 0%,#07080f 70%)}
.v14-gal-wrap canvas{width:100%;height:100%;display:block;cursor:grab}
.v14-gal-hint{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);font-size:12px;color:rgba(230,236,248,.55);background:rgba(10,12,20,.7);padding:5px 12px;border-radius:99px;pointer-events:none}
.v14-star-card{display:flex;gap:14px;margin-top:14px;align-items:flex-start}
.v14-star-card .m{flex:1;min-width:0}
.v14-star-card .t{font-weight:700;margin-bottom:8px}

/* ---- битва ---- */
.v14-arena{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.v14-f{flex:1;min-width:0}
.v14-f .nm{font-weight:800;font-size:15px;margin-bottom:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v14-f.op .nm{text-align:right}
.v14-hp{height:10px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}
.v14-hp i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#39d98a,#a6e22e);transition:width .7s cubic-bezier(.2,.8,.3,1)}
.v14-f.op .v14-hp i{background:linear-gradient(90deg,#ff5e7a,#ffb340);margin-left:auto}
.v14-vs{font-weight:900;font-size:22px;font-family:Onest,sans-serif;color:#ff2d55;text-shadow:0 0 18px rgba(255,45,85,.55);flex:0 0 auto;animation:v14pulse 1.6s ease-in-out infinite}
@keyframes v14pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
.v14-round{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07);border-radius:16px;padding:14px 16px;margin-bottom:10px;animation:v14in .4s ease}
@keyframes v14in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.v14-round .hd{display:flex;align-items:center;gap:9px;margin-bottom:10px;flex-wrap:wrap}
.v14-round .ic{font-size:17px}
.v14-rw{margin-left:auto;font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:99px}
.v14-rw.me{background:rgba(57,217,138,.15);color:#39d98a}
.v14-rw.op{background:rgba(255,94,122,.15);color:#ff5e7a}
.v14-duel{display:flex;align-items:center;gap:12px}
.v14-duel .lbl{font-size:12px;color:rgba(230,236,248,.7);flex:0 0 auto;max-width:32%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v14-duel .lbl.r{text-align:right}
.v14-bars{flex:1;display:flex;height:14px;border-radius:99px;overflow:hidden;background:rgba(255,255,255,.06);min-width:80px}
.v14-bars i{display:block;height:100%;transition:width .8s cubic-bezier(.2,.8,.3,1)}
.v14-bars .me{background:linear-gradient(90deg,#2aabee,#39d98a)}
.v14-bars .op{background:linear-gradient(90deg,#ff5e7a,#ffb340);margin-left:auto}
.v14-comm{margin-top:10px;font-size:13px;color:rgba(230,236,248,.85);background:rgba(255,45,85,.07);border-left:3px solid #ff2d55;padding:8px 12px;border-radius:0 10px 10px 0}
.v14-ko{text-align:center;padding:26px 18px;border-radius:20px;margin-top:14px;border:1px solid rgba(255,255,255,.1);animation:v14in .5s ease}
.v14-ko.win{background:radial-gradient(80% 120% at 50% 0%,rgba(57,217,138,.16),rgba(0,0,0,0))}
.v14-ko.lose{background:radial-gradient(80% 120% at 50% 0%,rgba(255,94,122,.16),rgba(0,0,0,0))}
.v14-ko .big{font-family:Onest,sans-serif;font-weight:900;font-size:30px;letter-spacing:.04em}
.v14-ko.win .big{color:#39d98a;text-shadow:0 0 26px rgba(57,217,138,.5)}
.v14-ko.lose .big{color:#ff5e7a;text-shadow:0 0 26px rgba(255,94,122,.5)}
.v14-ko .sc{font-size:21px;font-weight:800;margin:8px 0 14px;color:rgba(230,236,248,.9)}
.v14-ko .v13-idea,.v14-ko .v10-h4{text-align:left}
.v14-comm.big-c{text-align:left;margin-bottom:12px}

/* ---- свайп ---- */
.v14-sw-stage{margin-top:18px}
.v14-sw-deck{position:relative;height:340px;max-width:430px;margin:0 auto}
.v14-card{position:absolute;inset:0;border-radius:22px;padding:22px;background:linear-gradient(160deg,#1a1d2c,#10121d);border:1px solid rgba(255,255,255,.1);box-shadow:0 18px 50px rgba(0,0,0,.45);display:flex;flex-direction:column;gap:12px;user-select:none;overflow:hidden}
.v14-card.top{cursor:grab}
.v14-card.top:active{cursor:grabbing}
.v14-card-fmt{align-self:flex-start;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#2aabee;background:rgba(42,171,238,.12);padding:4px 10px;border-radius:99px}
.v14-card-t{font-family:Onest,sans-serif;font-weight:800;font-size:19px;line-height:1.25}
.v14-card-h{font-size:13.5px;color:rgba(230,236,248,.8)}
.v14-card-w{font-size:12.5px;color:rgba(230,236,248,.55);margin-top:auto}
.v14-stamp{position:absolute;top:18px;font-family:Onest,sans-serif;font-weight:900;font-size:20px;padding:5px 14px;border-radius:10px;border:3px solid;opacity:0;transform:rotate(-12deg);transition:opacity .15s;pointer-events:none}
.v14-stamp.yes{left:14px;color:#39d98a;border-color:#39d98a}
.v14-stamp.no{right:14px;color:#ff5e7a;border-color:#ff5e7a;transform:rotate(12deg)}
.v14-card.lean-yes .v14-stamp.yes{opacity:1}
.v14-card.lean-no .v14-stamp.no{opacity:1}
.v14-sw-ctl{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:18px}
.v14-sw-no,.v14-sw-yes{width:58px;height:58px;border-radius:50%;border:none;font-size:23px;cursor:pointer;transition:transform .15s}
.v14-sw-no{background:rgba(255,94,122,.14);color:#ff5e7a;border:1px solid rgba(255,94,122,.35)}
.v14-sw-yes{background:rgba(57,217,138,.14);color:#39d98a;border:1px solid rgba(57,217,138,.35)}
.v14-sw-no:hover,.v14-sw-yes:hover{transform:scale(1.12)}
.v14-sw-cnt{font-size:12.5px;color:rgba(230,236,248,.55);min-width:130px;text-align:center}
.v14-sw-done{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-size:17px;color:rgba(230,236,248,.85);border:1px dashed rgba(255,255,255,.15);border-radius:22px}
.v14-sw-done b{font-size:30px;color:#39d98a}
.v14-fmt-tag{font-size:10.5px;color:#2aabee;background:rgba(42,171,238,.1);padding:2px 8px;border-radius:99px;margin-left:8px}

/* ---- симулятор ---- */
.v14-sl{margin-top:12px}
.v14-sl label{display:block;font-size:13px;color:rgba(230,236,248,.8);margin-bottom:6px}
.v14-sl b{color:#ff2d55}
.v14-sl input[type=range]{width:100%;accent-color:#ff2d55;height:26px;cursor:pointer}
.v14-sim-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}
.v14-sim-wrap{height:300px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025);overflow:hidden}
.v14-sim-wrap canvas{width:100%;height:100%;display:block}
.v13-idea.warn{border-left:3px solid #ffb340}

/* ---- мобильная адаптация ---- */
@media (max-width:680px){
  .v14-gal-wrap{height:52vh;min-height:300px}
  .v14-gal-bar{flex-direction:column;align-items:flex-start;gap:6px}
  .v14-star-card{flex-direction:column}
  .v14-star-card .v13-th{width:100%}
  .v14-arena{gap:10px}
  .v14-f .nm{font-size:13px}
  .v14-vs{font-size:17px}
  .v14-duel{flex-wrap:wrap}
  .v14-duel .lbl{max-width:46%;font-size:11px}
  .v14-duel .v14-bars{order:3;flex-basis:100%;margin-top:6px}
  .v14-ko .big{font-size:24px}
  .v14-sw-deck{height:320px;max-width:100%}
  .v14-card-t{font-size:17px}
  .v14-sim-stats{grid-template-columns:1fr 1fr}
  .v14-sim-wrap{height:240px}
}
@media (max-width:560px){
  .v14-round{padding:12px}
  .v14-rw{margin-left:0}
  .v14-sw-no,.v14-sw-yes{width:52px;height:52px}
  .v14-sim-stats{grid-template-columns:1fr 1fr}
}

/* мета-строка карточки звезды */
.v14-star-card .v13-meta{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:6px 0 10px;font-size:13px;color:rgba(230,236,248,.75)}
.v14-sim-stats .v13-stat-c{display:flex;flex-direction:column;gap:4px;align-items:center;text-align:center;padding:14px 10px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07);border-radius:14px}
.v14-sim-stats .v13-stat-c b{font-size:20px;font-family:Onest,sans-serif}
.v14-sim-stats .v13-stat-c span{font-size:11.5px;color:rgba(230,236,248,.55)}

/* ===== block_21 ===== */
/* ============ VIORA V15 «Радар» ============ */

/* колокольчик */
#v15bell{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);cursor:pointer;margin-right:8px;transition:all .2s ease;vertical-align:middle}
#v15bell:hover{background:rgba(255,255,255,.09);transform:translateY(-1px)}
#v15bell .v15-bell-ic{font-size:17px;line-height:1}
#v15bell.hot .v15-bell-ic{animation:v15ring 2.2s ease infinite}
@keyframes v15ring{0%,100%{transform:rotate(0)}5%{transform:rotate(14deg)}10%{transform:rotate(-12deg)}15%{transform:rotate(8deg)}20%{transform:rotate(0)}}
.v15-bell-n{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:linear-gradient(135deg,#ff2d55,#ff5e3a);color:#fff;font-size:10.5px;font-weight:700;display:grid;place-items:center;box-shadow:0 4px 12px rgba(255,45,85,.45)}

/* панель уведомлений */
#v15panel{position:fixed;z-index:11960;display:none;flex-direction:column;width:min(94vw,400px);max-height:min(74vh,620px);border-radius:18px;border:1px solid rgba(255,255,255,.1);background:rgba(15,12,16,.97);backdrop-filter:blur(22px);box-shadow:0 26px 80px rgba(0,0,0,.7);animation:v4up .2s ease;overflow:hidden}
#v15panel.show{display:flex}
.v15p-head{display:flex;align-items:center;gap:8px;padding:13px 14px;border-bottom:1px solid rgba(255,255,255,.07);font-size:14px}
.v15p-head .sp{flex:1}
.v15p-act{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);border-radius:9px;width:30px;height:30px;cursor:pointer;font-size:13px;color:#e6ecf8}
.v15p-act:hover{background:rgba(255,255,255,.1)}
.v15p-body{overflow:auto;padding:8px}
.v15p-empty{padding:26px 18px;font-size:13px;color:rgba(230,236,248,.6);line-height:1.55;text-align:center}
.v15n{display:flex;gap:10px;padding:11px;border-radius:14px;margin-bottom:6px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.05)}
.v15n.un{background:rgba(255,45,85,.06);border-color:rgba(255,45,85,.16)}
.v15n-img{width:92px;height:52px;object-fit:cover;border-radius:9px;flex:none}
.v15n-tx{min-width:0;flex:1}
.v15n-t{font-size:12.8px;font-weight:600;line-height:1.35;color:#e6ecf8}
.v15n-tag{display:inline-block;font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border-radius:7px;background:rgba(127,180,255,.14);color:#7fb4ff;margin-right:4px;vertical-align:1px}
.v15n-tag.own{background:rgba(61,220,151,.14);color:#3ddc97}
.v15n-b{font-size:11.8px;color:rgba(230,236,248,.65);margin-top:3px}
.v15n-why{font-size:11.8px;color:#ffd28a;margin-top:4px;line-height:1.4}
.v15n-meta{font-size:10.5px;color:rgba(230,236,248,.4);margin-top:4px}
.v15n-row{display:flex;gap:6px;margin-top:7px;flex-wrap:wrap}
.v15n-btn{border:none;border-radius:9px;padding:6px 10px;font-size:11.3px;font-weight:600;cursor:pointer;background:linear-gradient(135deg,#ff2d55,#ff5e3a);color:#fff;text-decoration:none;display:inline-flex;align-items:center}
.v15n-btn.ghost{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#e6ecf8}
.v15p-foot{padding:10px 14px;border-top:1px solid rgba(255,255,255,.07)}
.v15p-link{border:none;background:none;color:#7fb4ff;font-size:12.5px;cursor:pointer;padding:0}

/* поисковый радар */
.v15rd-svgwrap{margin-top:12px;border-radius:16px;background:radial-gradient(120% 140% at 20% 0%,rgba(255,45,85,.05),transparent 60%),rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);overflow:hidden}
.v15rd-svg{display:block;width:100%;height:auto}
.v15rd-dot:hover circle{fill-opacity:1}
.v15rd-det{margin-top:14px;padding:14px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07)}
.v15rd-det-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:14.5px}
.v15rd-z{font-size:11px;font-weight:700;padding:4px 10px;border-radius:9px;white-space:nowrap}
.v15rd-stats{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;font-size:12px;color:rgba(230,236,248,.7)}
.v15rd-top{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;margin-top:12px}
.v15rd-tv{display:flex;gap:8px;align-items:center;padding:7px;border-radius:11px;background:rgba(255,255,255,.03);text-decoration:none;color:#e6ecf8;border:1px solid rgba(255,255,255,.05)}
.v15rd-tv:hover{background:rgba(255,255,255,.07)}
.v15rd-tv img{width:74px;height:42px;object-fit:cover;border-radius:8px;flex:none}
.v15rd-tv span{font-size:11.5px;line-height:1.35;display:flex;flex-direction:column;gap:2px;min-width:0}
.v15rd-tv small{color:rgba(230,236,248,.45);font-size:10.5px}
.v15rd-pick{display:flex;gap:12px;align-items:flex-start;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.05)}
.v15rd-pick:last-child{border-bottom:none}
.v15rd-pick .n{flex:none;width:26px;height:26px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(135deg,#ff2d55,#ff5e3a);color:#fff;font-size:13px;font-weight:700}
.v15rd-pick b{font-size:13.5px;line-height:1.4;display:block}
.v15rd-pick small{display:block;font-size:11.8px;color:rgba(230,236,248,.55);margin-top:3px;line-height:1.45}

@media(max-width:640px){
  #v15panel{right:8px!important;left:8px;width:auto}
  .v15n-img{width:76px;height:44px}
  .v15rd-top{grid-template-columns:1fr}
}

/* ===== v16css ===== */
/* ============ VIORA V16 «Штаб» ============ */
/* ---------- 1. Ровная шапка ---------- */
.nav-in{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:14px;flex-wrap:nowrap !important}
.nav-in .brand{flex:none}
#v16navRight{display:flex !important;align-items:center !important;justify-content:flex-end !important;gap:9px !important;flex:1 1 auto !important;min-width:0 !important;flex-wrap:nowrap !important}
#v16navRight>*{flex:none}
#v16navRight .nav-tag{order:1;flex:0 1 auto !important;min-width:0 !important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#v16hqBtn{order:2}
#v10howBtn{order:3}
#v6NavTools{order:4}
#v15bell{order:5}
#v12navAgent{order:6}
#v16navRight .quota-pill{order:7}
#vprNavBtn{order:8}
#v16hqBtn{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(255,200,80,.45);background:linear-gradient(135deg,rgba(255,176,32,.18),rgba(255,45,85,.08));color:#fff;border-radius:999px;padding:8px 14px;font-size:13.5px;font-weight:700;cursor:pointer;font-family:inherit;transition:transform .16s,box-shadow .16s;white-space:nowrap}
#v16hqBtn:hover{transform:translateY(-1px);box-shadow:0 10px 26px -12px rgba(255,176,32,.55)}
@media(max-width:1420px){#v16navRight .nav-tag{display:none}}
@media(max-width:760px){
  #v16navRight{gap:6px !important}
  #v16hqBtn,#v10howBtn,#v12navAgent{padding:7px 10px;font-size:12.5px}
  #v6NavTools .lb{display:none}
}
@media(max-width:430px){#v16navRight .quota-pill{display:none}}

/* ---------- 2. Оверлей Штаба ---------- */
#v16hq{position:fixed;inset:0;z-index:13970;background:radial-gradient(1100px 500px at 75% -10%,rgba(255,45,85,.10),transparent 60%),radial-gradient(800px 500px at 0% 110%,rgba(255,176,32,.06),transparent 60%),#0b0a0d;display:none;flex-direction:column;overflow:hidden}
#v16hq.open{display:flex}
.v16-top{display:flex;align-items:center;gap:14px;padding:14px 22px;border-bottom:1px solid rgba(255,255,255,.07);background:rgba(11,10,13,.9);backdrop-filter:blur(10px);flex:none}
.v16-back{width:38px;height:38px;border-radius:11px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.05);color:#fff;font-size:17px;cursor:pointer;flex:none;transition:.16s}
.v16-back:hover{border-color:rgba(255,45,85,.5)}
.v16-ttl{font-family:'Onest',system-ui,sans-serif;font-weight:800;font-size:17px;display:flex;align-items:center;gap:9px;min-width:0}
.v16-ttl small{display:block;font-weight:500;font-size:11.5px;color:var(--muted,#9aa3b2);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v16-streak{margin-left:auto;display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(255,176,32,.35);background:rgba(255,176,32,.1);color:#ffd27a;border-radius:999px;padding:6px 13px;font-size:12.5px;font-weight:700;white-space:nowrap}
.v16-tabs{display:flex;gap:8px;padding:12px 22px 0;flex:none;overflow-x:auto;scrollbar-width:none}
.v16-tabs::-webkit-scrollbar{display:none}
.v16-tab{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:#cfd5e2;border-radius:13px 13px 0 0;padding:11px 18px;font-size:13.5px;font-weight:700;cursor:pointer;font-family:inherit;white-space:nowrap;transition:.16s;border-bottom:none}
.v16-tab.on{background:linear-gradient(180deg,rgba(255,45,85,.16),rgba(255,45,85,.04));color:#fff;border-color:rgba(255,45,85,.4)}
.v16-body{flex:1;overflow-y:auto;padding:20px 22px 80px;-webkit-overflow-scrolling:touch}
.v16-wrap{max-width:1060px;margin:0 auto}
.v16-card{background:linear-gradient(170deg,rgba(255,255,255,.045),rgba(255,255,255,.015));border:1px solid rgba(255,255,255,.09);border-radius:18px;padding:18px 20px;margin-bottom:14px}
.v16-h4{font-family:'Onest',system-ui,sans-serif;font-weight:700;font-size:15px;margin:0 0 10px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.v16-note{font-size:12.5px;color:var(--muted,#9aa3b2);line-height:1.55}
.v16-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.v16-btn{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(255,45,85,.45);background:linear-gradient(135deg,rgba(255,45,85,.18),rgba(255,45,85,.06));color:#fff;border-radius:12px;padding:10px 16px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;transition:.16s;min-height:40px}
.v16-btn:hover{transform:translateY(-1px);box-shadow:0 10px 26px -12px rgba(255,45,85,.5)}
.v16-btn.ghost{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.05)}
.v16-btn.gold{border-color:rgba(255,176,32,.5);background:linear-gradient(135deg,rgba(255,176,32,.2),rgba(255,176,32,.06))}
.v16-btn:disabled{opacity:.5;cursor:default;transform:none}
.v16-in{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.13);border-radius:12px;color:#fff;padding:11px 14px;font-size:14px;font-family:inherit;outline:none;transition:border .16s;min-height:40px}
.v16-in:focus{border-color:rgba(255,45,85,.55)}
textarea.v16-in{resize:vertical;min-height:74px;line-height:1.5}
.v16-load{display:flex;align-items:center;gap:11px;color:var(--muted,#9aa3b2);font-size:13.5px;padding:16px 4px}
.v16-spin{width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.15);border-top-color:#FF2D55;animation:v16spin .8s linear infinite;flex:none}
@keyframes v16spin{to{transform:rotate(360deg)}}
.v16-err{border:1px solid rgba(255,94,122,.4);background:rgba(255,94,122,.08);color:#ffb3c2;border-radius:12px;padding:12px 14px;font-size:13px;line-height:1.5}
.v16-empty{border:1px dashed rgba(255,255,255,.16);border-radius:14px;padding:22px;text-align:center;color:var(--muted,#9aa3b2);font-size:13.5px;line-height:1.6}

/* ---------- 3. Календарь ---------- */
.v16-cal-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.v16-cal-prog{flex:1;min-width:160px}
.v16-cal-prog .bar{height:7px;border-radius:4px;background:rgba(255,255,255,.08);overflow:hidden}
.v16-cal-prog .bar i{display:block;height:100%;background:linear-gradient(90deg,#FF2D55,#ffb020);border-radius:4px;transition:width .5s}
.v16-cal-prog small{font-size:11.5px;color:var(--muted,#9aa3b2)}
.v16-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}
.v16-cal-dow{text-align:center;font-size:11px;color:var(--muted,#9aa3b2);font-weight:700;letter-spacing:.06em;padding:4px 0}
.v16-day{position:relative;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025);border-radius:13px;min-height:86px;padding:8px 9px;cursor:pointer;transition:.16s;display:flex;flex-direction:column;gap:4px;overflow:hidden;text-align:left;font-family:inherit;color:inherit}
.v16-day:hover{border-color:rgba(255,45,85,.45);transform:translateY(-2px)}
.v16-day.off{opacity:.42;cursor:default}
.v16-day.off:hover{transform:none;border-color:rgba(255,255,255,.08)}
.v16-day.today{border-color:rgba(255,176,32,.65);box-shadow:0 0 0 1px rgba(255,176,32,.35),0 8px 22px -12px rgba(255,176,32,.4)}
.v16-day.sel{border-color:rgba(255,45,85,.7);box-shadow:0 0 0 1px rgba(255,45,85,.4)}
.v16-day .dn{font-size:11px;color:var(--muted,#9aa3b2);font-weight:700;display:flex;align-items:center;gap:5px;justify-content:space-between}
.v16-day .tp{font-size:11.5px;line-height:1.32;font-weight:600;color:#e8ecf1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.v16-day .fmt{font-size:10px;font-weight:800;letter-spacing:.04em;border-radius:6px;padding:2px 6px;align-self:flex-start}
.v16-day .fmt.shorts{background:rgba(54,194,255,.14);color:#7fd0ff}
.v16-day .fmt.long{background:rgba(255,45,85,.14);color:#ff8aa0}
.v16-day .st{position:absolute;top:6px;right:7px;font-size:12px}
.v16-day.done{border-color:rgba(61,220,151,.4);background:rgba(61,220,151,.05)}
.v16-day.shot{border-color:rgba(54,194,255,.35)}
.v16-dsel{border:1px solid rgba(255,45,85,.35);background:linear-gradient(170deg,rgba(255,45,85,.08),rgba(255,255,255,.02));border-radius:16px;padding:16px 18px;margin-top:13px}
.v16-dsel .why{font-size:12.5px;color:var(--muted,#9aa3b2);margin:7px 0 11px;line-height:1.55}
.v16-dsel .hk{font-size:13px;color:#ffd27a;margin:5px 0 0;line-height:1.5}
@media(max-width:760px){
  .v16-cal-grid{gap:4px}
  .v16-day{min-height:64px;padding:6px;border-radius:10px}
  .v16-day .tp{font-size:10px;-webkit-line-clamp:2}
  .v16-day .fmt{display:none}
  .v16-body{padding:14px 12px 80px}
  .v16-top{padding:12px 14px}
  .v16-tabs{padding:10px 12px 0}
  .v16-tab{padding:9px 13px;font-size:12.5px}
  .v16-streak{font-size:11px;padding:5px 10px}
}

/* ---------- 4. Утро продюсера ---------- */
.v16-morn-hero{display:flex;align-items:center;gap:14px;border:1px solid rgba(255,176,32,.3);background:linear-gradient(135deg,rgba(255,176,32,.12),rgba(255,45,85,.05));border-radius:18px;padding:18px 20px;margin-bottom:14px;flex-wrap:wrap}
.v16-morn-hero .ic{font-size:30px}
.v16-morn-hero b{font-family:'Onest',system-ui,sans-serif;font-size:17px}
.v16-morn-hero small{display:block;color:var(--muted,#9aa3b2);font-size:12.5px;margin-top:2px}
.v16-grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:860px){.v16-grid2{grid-template-columns:1fr}}
.v16-riser{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.v16-riser:last-child{border-bottom:none}
.v16-riser .t{font-size:13px;font-weight:600;line-height:1.4}
.v16-riser .m{font-size:11.5px;color:var(--muted,#9aa3b2);margin-top:2px;line-height:1.45}
.v16-riser .why{font-size:11.5px;color:#ffd27a;margin-top:2px}
.v16-hotq{font-family:'Onest',system-ui,sans-serif;font-size:19px;font-weight:800;margin:6px 0 10px;line-height:1.35}
.v16-action{border-left:3px solid #FF2D55;padding:4px 0 4px 13px;font-size:14px;line-height:1.6}

/* ---------- 5. Турнир заголовков ---------- */
.v16-bracket{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin-top:14px}
@media(max-width:860px){.v16-bracket{grid-template-columns:1fr}}
.v16-round-h{font-size:11px;font-weight:800;letter-spacing:.1em;color:var(--muted,#9aa3b2);text-transform:uppercase;margin-bottom:9px;text-align:center}
.v16-match{border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.03);border-radius:14px;padding:10px;margin-bottom:11px;opacity:0;transform:translateY(8px);transition:opacity .45s,transform .45s}
.v16-match.show{opacity:1;transform:none}
.v16-fighter{display:flex;align-items:flex-start;gap:8px;padding:8px 9px;border-radius:10px;font-size:12.5px;line-height:1.4;border:1px solid transparent;transition:.3s}
.v16-fighter+.v16-fighter{margin-top:6px}
.v16-fighter .vs{font-size:10px;font-weight:800;color:var(--muted,#9aa3b2);flex:none;margin-top:2px}
.v16-fighter.win{border-color:rgba(61,220,151,.45);background:rgba(61,220,151,.08);font-weight:700}
.v16-fighter.lose{opacity:.45;text-decoration:line-through}
.v16-match .why{font-size:11px;color:#ffd27a;margin-top:7px;padding-top:7px;border-top:1px dashed rgba(255,255,255,.1);line-height:1.45}
.v16-champ{border:1px solid rgba(255,176,32,.5);background:linear-gradient(170deg,rgba(255,176,32,.13),rgba(255,45,85,.05));border-radius:18px;padding:20px;text-align:center;opacity:0;transform:scale(.95);transition:opacity .5s,transform .5s}
.v16-champ.show{opacity:1;transform:none}
.v16-champ .cup{font-size:34px}
.v16-champ .ct{font-family:'Onest',system-ui,sans-serif;font-size:18px;font-weight:800;margin:9px 0;line-height:1.4}
.v16-champ .ctr{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(61,220,151,.4);background:rgba(61,220,151,.1);color:#7be8b6;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:700;margin:4px 0 10px}
.v16-champ .why{font-size:12.5px;color:var(--muted,#cfd5e2);line-height:1.55;margin-bottom:13px}

/* ---------- 6. Чек-ап ---------- */
.v16-chk-grid{display:grid;grid-template-columns:280px 1fr;gap:16px}
@media(max-width:860px){.v16-chk-grid{grid-template-columns:1fr}}
.v16-drop{border:2px dashed rgba(255,255,255,.18);border-radius:16px;min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;color:var(--muted,#9aa3b2);font-size:12.5px;text-align:center;padding:14px;transition:.16s;position:relative;overflow:hidden}
.v16-drop:hover{border-color:rgba(255,45,85,.5);color:#fff}
.v16-drop img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:14px}
.v16-drop .lbl{position:relative;z-index:2;background:rgba(8,7,10,.72);border-radius:10px;padding:7px 12px;backdrop-filter:blur(4px)}
.v16-score-wrap{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.v16-score{position:relative;width:120px;height:120px;flex:none}
.v16-score svg{transform:rotate(-90deg)}
.v16-score .n{position:absolute;inset:0;display:grid;place-items:center;font-family:'Onest',system-ui,sans-serif;font-size:30px;font-weight:800}
.v16-score small{position:absolute;bottom:18px;left:0;right:0;text-align:center;font-size:10px;color:var(--muted,#9aa3b2)}
.v16-subs{flex:1;min-width:220px;display:flex;flex-direction:column;gap:9px}
.v16-sub .sl{display:flex;justify-content:space-between;font-size:12px;margin-bottom:4px}
.v16-sub .sb{height:6px;border-radius:3px;background:rgba(255,255,255,.08);overflow:hidden}
.v16-sub .sb i{display:block;height:100%;border-radius:3px;transition:width .6s}
.v16-fix{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:13px;line-height:1.5}
.v16-fix:last-child{border-bottom:none}
.v16-fix .p{flex:none;font-size:10px;font-weight:800;border-radius:6px;padding:3px 7px;margin-top:1px;letter-spacing:.04em}
.v16-fix .p.high{background:rgba(255,94,122,.16);color:#ff8aa0}
.v16-fix .p.med{background:rgba(255,176,32,.14);color:#ffd27a}
.v16-fix .p.low{background:rgba(54,194,255,.13);color:#7fd0ff}
.v16-seo-item{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025);border-radius:13px;padding:13px 14px;margin-bottom:10px}
.v16-seo-item .sh{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px;font-weight:700;font-size:13px}
.v16-seo-item .sv{font-size:12.5px;color:#cfd5e2;line-height:1.6;white-space:pre-wrap;word-break:break-word}
.v16-copy{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:#fff;border-radius:9px;padding:5px 11px;font-size:11.5px;cursor:pointer;font-family:inherit;flex:none}
.v16-copy:hover{border-color:rgba(255,45,85,.5)}

/* ---------- 7. Онбординг ---------- */
#v16onb{position:fixed;inset:0;z-index:14200;background:rgba(8,7,10,.82);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:18px;overflow-y:auto}
.v16-onb{width:min(640px,100%);background:linear-gradient(170deg,#16131a,#0e0c11);border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:26px 26px 22px;box-shadow:0 40px 120px -30px rgba(0,0,0,.9);max-height:92vh;overflow-y:auto}
.v16-onb-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
.v16-onb-head b{font-family:'Onest',system-ui,sans-serif;font-size:18px}
.v16-dots{display:flex;gap:5px}
.v16-dots span{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.15);transition:.25s}
.v16-dots span.on{background:#FF2D55;box-shadow:0 0 8px rgba(255,45,85,.7)}
.v16-dots span.done{background:rgba(255,45,85,.45)}
.v16-onb-q{font-size:13px;color:var(--muted,#9aa3b2);margin:4px 0 16px}
.v16-onb-q b{color:#fff;font-size:16px;display:block;margin-top:3px;font-family:'Onest',system-ui,sans-serif}
.v16-opt{display:flex;align-items:center;gap:13px;width:100%;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03);border-radius:15px;padding:13px 15px;margin-bottom:9px;cursor:pointer;color:#fff;font-family:inherit;text-align:left;transition:.15s;font-size:14px}
.v16-opt:hover{border-color:rgba(255,45,85,.45);transform:translateY(-1px)}
.v16-opt.on{border-color:rgba(255,45,85,.7);background:rgba(255,45,85,.1);box-shadow:0 0 0 1px rgba(255,45,85,.4)}
.v16-opt .ic{font-size:21px;flex:none}
.v16-opt b{display:block;font-size:14px}
.v16-opt small{display:block;color:var(--muted,#9aa3b2);font-size:12px;margin-top:2px;line-height:1.4}
.v16-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.v16-chip{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#e8ecf1;border-radius:999px;padding:9px 15px;font-size:13px;cursor:pointer;font-family:inherit;transition:.15s}
.v16-chip:hover{border-color:rgba(255,45,85,.45)}
.v16-chip.on{border-color:rgba(255,45,85,.7);background:rgba(255,45,85,.13);color:#fff;font-weight:700}
.v16-onb-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:18px}
.v16-skip{background:none;border:none;color:var(--muted,#9aa3b2);font-size:12.5px;cursor:pointer;font-family:inherit;padding:8px}
.v16-skip:hover{color:#fff}
.v16-onb .v16-priv{font-size:11.5px;color:var(--muted,#9aa3b2);margin-top:13px;line-height:1.5;border-top:1px solid rgba(255,255,255,.07);padding-top:11px}
@media(max-width:560px){.v16-onb{padding:19px 16px 16px;border-radius:19px}}

/* ---------- 8. Стартовый план ---------- */
#v16plan{position:fixed;inset:0;z-index:13975;background:#0b0a0d;display:none;overflow-y:auto}
#v16plan.open{display:block}
.v16-plan-wrap{max-width:860px;margin:0 auto;padding:26px 20px 90px}
.v16-plan-hero{display:flex;align-items:center;gap:16px;border:1px solid rgba(255,176,32,.35);background:linear-gradient(135deg,rgba(255,176,32,.13),rgba(255,45,85,.06));border-radius:20px;padding:22px;margin-bottom:18px;flex-wrap:wrap}
.v16-plan-hero .ic{font-size:36px}
.v16-plan-hero h2{margin:0;font-size:21px;font-family:'Onest',system-ui,sans-serif}
.v16-plan-hero p{margin:4px 0 0;color:var(--muted,#9aa3b2);font-size:13px;line-height:1.5}
.v16-fv{border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.03);border-radius:15px;padding:14px 16px;margin-bottom:10px}
.v16-fv .n{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:8px;background:rgba(255,45,85,.16);color:#ff8aa0;font-weight:800;font-size:12px;margin-right:9px}
.v16-fv b{font-size:14.5px;line-height:1.45}
.v16-fv .meta{font-size:12px;color:var(--muted,#9aa3b2);margin:7px 0 9px;line-height:1.55}
.v16-fv .hk{font-size:12.5px;color:#ffd27a;line-height:1.5;margin-bottom:10px}
.v16-wk li{margin:7px 0;line-height:1.55;font-size:13.5px}
.v16-wk li::marker{color:#FF2D55}
body.v16-ov-open #v5Daily{display:none!important}

/* ===== block_23 ===== */
/* ============ VIORA V17 · стили ============ */
/* страховка: тег-подпись в шапке убрана навсегда */
.nav-tag{display:none!important}

/* — плашки «Суть»: раскрываются по клику — */
.v-chip{cursor:pointer;transition:max-width .25s var(--ease),background .2s}
.v-chip:hover{background:rgba(255,255,255,.09)}
.v-chip .vc-t{overflow:hidden;text-overflow:ellipsis}
.v-chip.open{white-space:normal;max-width:100%;flex:1 1 100%;line-height:1.5;text-overflow:clip}
.v-chip.open .vc-t{overflow:visible}
.v-chip::after{content:'⤢';margin-left:7px;opacity:.45;font-size:11px}
.v-chip.open::after{content:'⤡'}
@media(max-width:760px){.v-chip.open{max-width:100%}}

/* — точки-навигация: не болтаются над пустотой и поверх оверлеев — */
#secNav.v17hide{display:none!important}
body.v16-ov-open #secNav{display:none!important}

/* — скелетоны загрузки — */
.v16-load-top{display:flex;align-items:center;gap:10px}
.v16-skel{display:flex;flex-direction:column;gap:9px;margin-top:14px;width:100%;max-width:520px}
.v16-skel i{display:block;height:13px;border-radius:7px;background:linear-gradient(90deg,rgba(255,255,255,.05) 25%,rgba(255,255,255,.13) 50%,rgba(255,255,255,.05) 75%);background-size:200% 100%;animation:v17shimmer 1.3s linear infinite}
@keyframes v17shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* — Штаб V17: герой-полоса — */
#v16hq .v16-top{flex-wrap:wrap}
.v17-hero{display:flex;align-items:center;gap:14px;padding:14px 22px;background:linear-gradient(120deg,rgba(255,45,85,.14),rgba(255,176,32,.06) 55%,transparent);border-bottom:1px solid rgba(255,255,255,.06);flex:none;flex-wrap:wrap}
.v17-hero .av{width:46px;height:46px;border-radius:14px;object-fit:cover;border:1px solid rgba(255,255,255,.18);flex:none}
.v17-hero .av.ph{display:grid;place-items:center;font-size:22px;background:rgba(255,255,255,.06)}
.v17-hero .who{min-width:0}
.v17-hero .who b{display:block;font-size:15.5px;font-family:'Onest',system-ui,sans-serif;letter-spacing:.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}
.v17-hero .who small{font-size:11.5px;color:var(--muted,#9aa3b2)}
.v17-stat{display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 14px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);min-width:74px}
.v17-stat b{font-size:16px;font-family:'Onest',Onest,sans-serif}
.v17-stat small{font-size:10px;letter-spacing:.6px;text-transform:uppercase;color:var(--muted,#9aa3b2)}
.v17-hero .sp{flex:1}
.v17-today{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:12px;background:rgba(255,176,32,.1);border:1px solid rgba(255,176,32,.3);font-size:12.5px;max-width:340px;cursor:pointer;transition:.16s}
.v17-today:hover{background:rgba(255,176,32,.18)}
.v17-today .tt{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v17-qa{display:flex;gap:8px;flex-wrap:wrap}
.v17-qa button{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#dfe3ec;border-radius:999px;padding:7px 13px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:.16s;white-space:nowrap}
.v17-qa button:hover{background:rgba(255,45,85,.14);border-color:rgba(255,45,85,.4);transform:translateY(-1px)}
@media(max-width:760px){.v17-hero{padding:11px 14px;gap:10px}.v17-hero .who b{max-width:170px}.v17-stat{min-width:62px;padding:6px 10px}.v17-today{max-width:100%}}

/* — вкладки Штаба: подсветка поживее — */
#v16hq .v16-tab{position:relative}
#v16hq .v16-tab.on{box-shadow:0 -6px 22px -8px rgba(255,45,85,.55)}

/* — бейдж «сегодня по плану» на кнопке Штаба — */
#v16hqBtn{position:relative}
#v16hqBtn.v17dot::after{content:'';position:absolute;top:-2px;right:-2px;width:11px;height:11px;border-radius:50%;background:var(--red-neon,#FF2D55);border:2px solid #0b0a0d;box-shadow:0 0 8px rgba(255,45,85,.8);animation:v17pulse 1.6s ease infinite}
@keyframes v17pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.25)}}

/* — история чемпионов турнира — */
.v17-hist-row{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:11px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);margin-bottom:7px;font-size:13px}
.v17-hist-row:hover{background:rgba(255,255,255,.06)}
.v17-hist-d{font-size:11px;color:var(--muted,#9aa3b2);flex:none;min-width:38px}
.v17-hist-t{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}
.v17-hist-ctr{font-size:11.5px;color:#ffb020;flex:none;font-weight:700}
.v17-hist-row .v16-copy{padding:5px 9px;flex:none}

/* — вкладка «Неделя» — */
.v17-week-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:11px;margin:4px 0 14px}
.v17-kpi{padding:14px 16px;border-radius:15px;background:linear-gradient(165deg,rgba(255,255,255,.05),rgba(255,255,255,.015));border:1px solid rgba(255,255,255,.09)}
.v17-kpi b{display:block;font-size:23px;font-family:'Onest',Onest,sans-serif;line-height:1.1}
.v17-kpi small{font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:var(--muted,#9aa3b2)}
.v17-kpi .sub{font-size:11.5px;color:var(--muted,#9aa3b2);margin-top:4px}
.v17-wdays{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:6px}
.v17-wday{flex:1;min-width:72px;text-align:center;padding:10px 6px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);font-size:12px}
.v17-wday.done{border-color:rgba(61,220,151,.4);background:rgba(61,220,151,.08)}
.v17-wday.plan{border-color:rgba(255,176,32,.3)}
.v17-wday .ic{font-size:17px;display:block;margin-bottom:3px}
.v17-wday small{color:var(--muted,#9aa3b2);font-size:10.5px;display:block}

/* — демо-пилюля — */
#v17demoPill{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:16050;display:flex;align-items:center;gap:11px;padding:12px 20px;border-radius:999px;background:linear-gradient(135deg,rgba(20,16,22,.96),rgba(30,18,26,.96));border:1px solid rgba(255,45,85,.5);box-shadow:0 16px 46px rgba(0,0,0,.6),0 0 24px rgba(255,45,85,.25);color:#fff;font-size:13.5px;font-weight:700;font-family:'Onest',system-ui,sans-serif;cursor:pointer;animation:fadeUp .35s both}
#v17demoPill .dot{width:9px;height:9px;border-radius:50%;background:#ff2d55;animation:v17pulse 1.1s infinite}
#v17demoPill small{font-weight:500;font-size:11.5px;opacity:.65}

/* ===== block_24 ===== */
/* ============ VIORA V18 · стили: Рост на реальных данных ============ */

/* — каркас вкладки «Рост» — */
.v18-wrap{display:flex;flex-direction:column;gap:18px}
.v18-subnav{display:flex;gap:8px;flex-wrap:wrap;position:sticky;top:-18px;z-index:5;padding:10px 0;background:linear-gradient(180deg,#101014 70%,transparent)}
.v18-subnav button{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:#e8eaf0;font-size:12px;padding:7px 13px;border-radius:999px;cursor:pointer;transition:.15s;font-family:inherit}
.v18-subnav button:hover{background:rgba(255,45,85,.16);border-color:rgba(255,45,85,.4)}
.v18-sec{scroll-margin-top:64px}
.v18-h{display:flex;align-items:baseline;gap:10px;margin:4px 0 12px}
.v18-h b{font-size:16.5px;font-family:'Onest',system-ui,sans-serif;letter-spacing:.2px}
.v18-h small{font-size:11.5px;color:var(--muted,#9aa3b2)}
.v18-src{display:block;margin-top:9px;font-size:10.5px;color:rgba(255,255,255,.34);letter-spacing:.2px}
.v18-card{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:16px 18px}

/* — спидометры «ты vs рынок» — */
.v18-bench{display:grid;grid-template-columns:repeat(auto-fit,minmax(252px,1fr));gap:12px}
.v18-g .top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.v18-g .top b{font-size:13px}
.v18-g .val{font-size:22px;font-family:'Onest',Onest,sans-serif;margin:6px 0 2px}
.v18-g .val small{font-size:12px;color:var(--muted,#9aa3b2);font-family:'Onest',Onest,sans-serif}
.v18-band{position:relative;height:10px;border-radius:6px;margin:10px 0 4px;background:linear-gradient(90deg,#ff5e7a 0 25%,#ffb020 25% 50%,#8bd450 50% 75%,#3ddc97 75% 100%);opacity:.9}
.v18-band i{position:absolute;top:-5px;width:4px;height:20px;border-radius:2px;background:#fff;box-shadow:0 0 0 2px rgba(0,0,0,.55);transform:translateX(-2px);transition:left .8s cubic-bezier(.2,.8,.2,1)}
.v18-band-lab{display:flex;justify-content:space-between;font-size:9.5px;color:rgba(255,255,255,.35);letter-spacing:.4px;text-transform:uppercase}
.v18-verdict{font-size:12.5px;line-height:1.5;margin-top:9px}
.v18-verdict .tag{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.4px;padding:2px 9px;border-radius:999px;margin-right:7px;vertical-align:1px}
.v18-verdict .tag.lo{background:rgba(255,94,122,.16);color:#ff8aa0}
.v18-verdict .tag.mid{background:rgba(255,176,32,.16);color:#ffc555}
.v18-verdict .tag.hi{background:rgba(61,220,151,.16);color:#5fe8b0}
.v18-act{margin-top:8px;font-size:12px;color:#ffd9a0;background:rgba(255,176,32,.07);border:1px dashed rgba(255,176,32,.3);border-radius:10px;padding:8px 11px;line-height:1.45}
.v18-studio{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:10px}
.v18-studio .cell{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:11px 13px;font-size:12px;line-height:1.5}
.v18-studio .cell b{display:block;font-size:12.5px;margin-bottom:4px}
.v18-studio .cell .rng{color:#5fe8b0;font-family:'Onest',Onest,sans-serif}

/* — тепловая карта времени — */
.v18-heat{display:grid;grid-template-columns:46px repeat(7,1fr);gap:5px;margin-top:6px}
.v18-heat .hl{font-size:10px;color:rgba(255,255,255,.4);display:flex;align-items:center;justify-content:center;text-transform:uppercase;letter-spacing:.4px}
.v18-heat .hc{position:relative;height:38px;border-radius:9px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.05);display:flex;align-items:center;justify-content:center;font-size:10.5px;color:rgba(255,255,255,.55);cursor:default;transition:.15s}
.v18-heat .hc.l1{background:rgba(61,220,151,.13);border-color:rgba(61,220,151,.2)}
.v18-heat .hc.l2{background:rgba(61,220,151,.3);border-color:rgba(61,220,151,.4);color:#dffbee}
.v18-heat .hc.l3{background:rgba(61,220,151,.55);border-color:rgba(61,220,151,.75);color:#08130d;font-weight:700}
.v18-heat .hc.rec{box-shadow:inset 0 0 0 2px rgba(255,176,32,.65)}
.v18-heat .hc .n{position:absolute;top:2px;right:5px;font-size:8.5px;opacity:.6}
.v18-timechips{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.v18-timechips .tc{font-size:11.5px;padding:7px 12px;border-radius:999px;background:rgba(255,176,32,.09);border:1px solid rgba(255,176,32,.3);color:#ffd9a0}

/* — путь к монетизации — */
.v18-road{display:flex;flex-direction:column;gap:12px}
.v18-mile{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.v18-mile .ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-size:19px;background:rgba(255,255,255,.06);flex:none}
.v18-mile.done .ic{background:rgba(61,220,151,.18)}
.v18-mile .mi{flex:1;min-width:200px}
.v18-mile .mi b{font-size:13.5px;display:block}
.v18-mile .mi small{font-size:11.5px;color:var(--muted,#9aa3b2);line-height:1.45;display:block;margin-top:2px}
.v18-bar{position:relative;height:9px;border-radius:6px;background:rgba(255,255,255,.07);overflow:hidden;margin-top:7px}
.v18-bar i{position:absolute;inset:0 auto 0 0;border-radius:6px;background:linear-gradient(90deg,#ff2d55,#ffb020);transition:width 1s cubic-bezier(.2,.8,.2,1)}
.v18-mile.done .v18-bar i{background:#3ddc97}
.v18-mile .pct{font-size:14px;font-family:'Onest',Onest,sans-serif;min-width:64px;text-align:right}
.v18-honest{font-size:12px;line-height:1.55;color:#cdd3de;background:rgba(124,92,255,.08);border:1px solid rgba(124,92,255,.25);border-radius:12px;padding:11px 14px;margin-top:4px}

/* — симулятор роста — */
.v18-sim .row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:10px 0}
.v18-sim label{font-size:12.5px;min-width:170px}
.v18-sim input[type=range]{flex:1;min-width:160px;accent-color:#ff2d55}
.v18-sim .rv{font-size:13.5px;font-family:'Onest',Onest,sans-serif;min-width:96px;text-align:right}
.v18-simout{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-top:12px}
.v18-simout .so{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);border-radius:13px;padding:13px 15px;text-align:center}
.v18-simout .so b{display:block;font-size:21px;font-family:'Onest',Onest,sans-serif;color:#3ddc97}
.v18-simout .so small{font-size:10.5px;letter-spacing:.5px;text-transform:uppercase;color:var(--muted,#9aa3b2)}
.v18-simnote{margin-top:10px;font-size:12px;line-height:1.5;color:#ffd9a0}

/* — хук-лаборатория — */
.v18-hookstats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-bottom:14px}
.v18-hookstats .hs{background:rgba(255,45,85,.07);border:1px solid rgba(255,45,85,.22);border-radius:13px;padding:12px 14px;font-size:12px;line-height:1.5}
.v18-hookstats .hs b{display:block;font-size:19px;font-family:'Onest',Onest,sans-serif;color:#ff8aa0;margin-bottom:3px}
.v18-formulas{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
.v18-f{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:13px;padding:12px 14px}
.v18-f b{font-size:12.5px;display:block}
.v18-f .ex{font-size:12px;color:#cdd3de;font-style:italic;margin:6px 0;line-height:1.45}
.v18-f small{font-size:10.5px;color:rgba(255,255,255,.4);line-height:1.4;display:block}
.v18-hookgen{margin-top:16px}
.v18-hookgen .in{display:flex;gap:9px;flex-wrap:wrap;margin-top:8px}
.v18-hookgen input[type=text]{flex:1;min-width:200px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.13);border-radius:11px;color:#fff;padding:10px 13px;font-size:13px;font-family:inherit}
.v18-hookgen select{background:#1b1b22;border:1px solid rgba(255,255,255,.13);border-radius:11px;color:#fff;padding:10px 12px;font-size:12.5px;font-family:inherit}
.v18-hres{display:flex;flex-direction:column;gap:9px;margin-top:13px}
.v18-hres .hr{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);border-radius:13px;padding:12px 14px;display:flex;gap:11px;align-items:flex-start}
.v18-hres .hr .bd{flex:1;min-width:0}
.v18-hres .hr .ph{font-size:13.5px;line-height:1.45}
.v18-hres .hr .meta{font-size:11px;color:var(--muted,#9aa3b2);margin-top:5px;line-height:1.5}
.v18-hres .hr .meta b{color:#ffd9a0;font-weight:600}
.v18-hres .hr button{flex:none}
.v18-chk{display:flex;flex-direction:column;gap:7px;margin-top:10px}
.v18-chk label{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;line-height:1.5;cursor:pointer;padding:8px 11px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);transition:.15s}
.v18-chk label:hover{background:rgba(255,255,255,.06)}
.v18-chk input{accent-color:#3ddc97;margin-top:2px;flex:none}
.v18-chk label.on{opacity:.55;text-decoration:line-through}
.v18-chkbar{margin-top:10px;font-size:12px;color:#5fe8b0}

/* — факт дня в «Утре продюсера» — */
.v18-fact{display:flex;gap:12px;align-items:flex-start;background:linear-gradient(120deg,rgba(124,92,255,.13),rgba(255,45,85,.06));border:1px solid rgba(124,92,255,.3);border-radius:14px;padding:13px 16px;margin-bottom:14px}
.v18-fact .fi{font-size:20px;flex:none}
.v18-fact .fb{font-size:12.5px;line-height:1.55}
.v18-fact .fb b{display:block;margin-bottom:3px;font-size:13px}
.v18-fact .fb .do{color:#ffd9a0;display:block;margin-top:5px}
.v18-fact .fb small{display:block;margin-top:5px;font-size:10.5px;color:rgba(255,255,255,.35)}

@media(max-width:760px){
  .v18-heat{grid-template-columns:38px repeat(7,1fr);gap:3px}
  .v18-heat .hc{height:32px;font-size:9px}
  .v18-mile .pct{min-width:48px}
}

/* ===== block_25 ===== */
/* ============ VIORA V19 CSS: кабинет · студия · разведка · отчёт ============ */
/* --- кабинет: каналы --- */
.v19-chans{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.v19-chan{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:14px 16px;display:flex;gap:12px;align-items:center;transition:.15s}
.v19-chan.cur{border-color:rgba(255,45,85,.5);background:linear-gradient(135deg,rgba(255,45,85,.12),rgba(255,255,255,.03))}
.v19-chan img{width:42px;height:42px;border-radius:50%;object-fit:cover;background:rgba(255,255,255,.08);flex:none}
.v19-chan .av{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.08);display:grid;place-items:center;font-size:19px;flex:none}
.v19-chan .ci{flex:1;min-width:0}
.v19-chan .ci b{font-size:13.5px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v19-chan .ci small{font-size:11.5px;color:#9aa0ae;display:block;margin-top:2px}
.v19-chan .sc{font-size:17px;font-weight:800;color:#3ddc97;flex:none}
.v19-chan .sc.mid{color:#ffd166}.v19-chan .sc.low{color:#ff5d73}
/* --- динамика --- */
.v19-dyn-pick{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.v19-dyn-pick button{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:#e8eaf0;font-size:12px;padding:6px 12px;border-radius:999px;cursor:pointer;font-family:inherit}
.v19-dyn-pick button.on{background:rgba(255,45,85,.18);border-color:rgba(255,45,85,.5)}
.v19-chart{width:100%;height:190px;display:block}
.v19-chart .ln{fill:none;stroke:#ff2d55;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.v19-chart .ar{fill:url(#v19grad);opacity:.5}
.v19-chart .dot{fill:#fff;stroke:#ff2d55;stroke-width:2}
.v19-chart text{fill:#9aa0ae;font-size:10px;font-family:inherit}
.v19-delta{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.v19-delta .d{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:9px 13px;font-size:12px}
.v19-delta .d b{display:block;font-size:15px;margin-bottom:2px}
.v19-delta .up b{color:#3ddc97}.v19-delta .dn b{color:#ff5d73}
/* --- ачивки --- */
.v19-lvl{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.v19-lvl .big{font-size:34px}
.v19-lvl .bar{flex:1;min-width:160px;height:8px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}
.v19-lvl .bar i{display:block;height:100%;background:linear-gradient(90deg,#ff2d55,#ff7a45);border-radius:99px}
.v19-achs{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.v19-ach{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:13px;padding:11px 13px;display:flex;gap:10px;align-items:flex-start;opacity:.45}
.v19-ach.got{opacity:1;border-color:rgba(61,220,151,.35);background:linear-gradient(135deg,rgba(61,220,151,.08),rgba(255,255,255,.02))}
.v19-ach .ic{font-size:21px;flex:none}
.v19-ach b{font-size:12.5px;display:block}
.v19-ach small{font-size:11px;color:#9aa0ae;line-height:1.45;display:block;margin-top:2px}
/* --- студия: сценарий --- */
.v19-scr{position:relative;margin-top:12px}
.v19-scr .row{display:flex;gap:12px;padding:11px 0;border-bottom:1px dashed rgba(255,255,255,.08)}
.v19-scr .tm{flex:none;width:64px;font-size:11px;color:#ff7a45;font-weight:700;padding-top:2px}
.v19-scr .bd{flex:1;font-size:13px;line-height:1.5}
.v19-scr .bd b{display:block;font-size:13px}
.v19-scr .bd .tr{display:inline-block;margin-top:5px;font-size:11px;color:#ffd166;background:rgba(255,209,102,.09);border:1px solid rgba(255,209,102,.25);border-radius:8px;padding:3px 9px}
/* --- студия: превью --- */
.v19-thumb-score{display:flex;align-items:center;gap:14px;margin:12px 0;flex-wrap:wrap}
.v19-thumb-score .n{font-size:38px;font-weight:800;color:#ff2d55}
.v19-thumb-score .n.hi{color:#3ddc97}.v19-thumb-score .n.md{color:#ffd166}
.v19-tvars{display:grid;gap:8px;margin-top:10px}
.v19-tvar{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:11px;padding:9px 12px}
.v19-tvar b{flex:1;font-size:14px;letter-spacing:.3px}
/* --- студия: SEO --- */
.v19-seo .fld{margin-top:12px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);border-radius:13px;padding:12px 14px}
.v19-seo .fld .hd{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#9aa0ae;text-transform:uppercase;letter-spacing:.6px;margin-bottom:7px}
.v19-seo .fld .tx{font-size:13px;line-height:1.55;white-space:pre-wrap;word-break:break-word}
.v19-tags{display:flex;gap:6px;flex-wrap:wrap}
.v19-tags span{font-size:11.5px;background:rgba(255,45,85,.1);border:1px solid rgba(255,45,85,.3);border-radius:999px;padding:3px 10px}
/* --- студия: банк идей --- */
.v19-idea{display:flex;gap:10px;align-items:flex-start;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);border-radius:13px;padding:11px 13px;margin-top:8px}
.v19-idea .bd{flex:1;min-width:0}
.v19-idea .bd b{font-size:13px;line-height:1.4;display:block}
.v19-idea .bd small{font-size:11px;color:#9aa0ae;display:block;margin-top:3px}
.v19-idea .acts{display:flex;gap:6px;flex:none}
.v19-idea .acts button{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:#e8eaf0;border-radius:9px;padding:6px 9px;font-size:12px;cursor:pointer;font-family:inherit}
.v19-daypick{margin-top:8px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
/* --- разведка: турнир→факт --- */
.v19-fact-row{display:flex;gap:12px;align-items:flex-start;padding:11px 0;border-bottom:1px dashed rgba(255,255,255,.08);flex-wrap:wrap}
.v19-fact-row .ti{flex:1;min-width:200px;font-size:13px}
.v19-fact-row .ti small{display:block;color:#9aa0ae;font-size:11px;margin-top:3px}
.v19-verd{flex:none;font-size:11.5px;font-weight:700;border-radius:999px;padding:4px 11px}
.v19-verd.hit{background:rgba(61,220,151,.14);color:#3ddc97;border:1px solid rgba(61,220,151,.35)}
.v19-verd.miss{background:rgba(255,93,115,.12);color:#ff5d73;border:1px solid rgba(255,93,115,.35)}
.v19-verd.wait{background:rgba(255,255,255,.06);color:#9aa0ae;border:1px solid rgba(255,255,255,.14)}
/* --- разведка: комментарии / ниши --- */
.v19-pain{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);border-left:3px solid #ff2d55;border-radius:11px;padding:10px 13px;margin-top:8px;font-size:13px;line-height:1.5}
.v19-pain.q{border-left-color:#ffd166}
.v19-pain.idea{border-left-color:#3ddc97}
.v19-pain small{display:block;color:#9aa0ae;font-size:11px;margin-top:4px}
/* --- доход --- */
.v19-money{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:10px}
.v19-money .sum{font-size:26px;font-weight:800;color:#3ddc97}
.v19-money .sum small{font-size:12px;color:#9aa0ae;font-weight:400;display:block}
/* --- отчёт (экран) --- */
#v19ov{position:fixed;inset:0;z-index:99996;background:#0b0b0f;overflow:auto;display:none;-webkit-overflow-scrolling:touch}
#v19ov.open{display:block}
#v19ov .close{position:fixed;top:14px;right:16px;z-index:5;border:1px solid rgba(255,255,255,.2);background:rgba(20,20,26,.9);color:#fff;border-radius:12px;padding:9px 16px;font-size:13px;cursor:pointer;font-family:inherit}
.v19-rep{max-width:860px;margin:0 auto;padding:34px 26px 60px;color:#e8eaf0;font-size:13.5px;line-height:1.55}
.v19-rep .rhead{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;border-bottom:2px solid #ff2d55;padding-bottom:16px;margin-bottom:22px}
.v19-rep .brand{font-size:20px;font-weight:800;letter-spacing:.4px}
.v19-rep .brand i{color:#ff2d55;font-style:normal}
.v19-rep .brand small{display:block;font-size:11px;color:#9aa0ae;font-weight:400;letter-spacing:1.2px;text-transform:uppercase;margin-top:3px}
.v19-rep .chh{display:flex;align-items:center;gap:12px}
.v19-rep .chh img{width:48px;height:48px;border-radius:50%}
.v19-rep h2{font-size:16px;margin:26px 0 10px;color:#fff}
.v19-rep .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}
.v19-rep .kpi{border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:12px 14px}
.v19-rep .kpi b{font-size:21px;display:block}
.v19-rep .kpi small{font-size:11px;color:#9aa0ae}
.v19-rep table{width:100%;border-collapse:collapse;font-size:12.5px}
.v19-rep td,.v19-rep th{border:1px solid rgba(255,255,255,.12);padding:8px 10px;text-align:left;vertical-align:top}
.v19-rep th{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#9aa0ae}
.v19-rep .ok{color:#3ddc97;font-weight:700}.v19-rep .warn{color:#ffd166;font-weight:700}.v19-rep .bad{color:#ff5d73;font-weight:700}
.v19-rep ol,.v19-rep ul{padding-left:20px;margin:8px 0}
.v19-rep li{margin:6px 0}
.v19-rep .foot{margin-top:34px;border-top:1px solid rgba(255,255,255,.14);padding-top:12px;font-size:11px;color:#9aa0ae;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
/* --- печать --- */
@media print{
  body.v19print *{visibility:hidden!important}
  body.v19print #v19ov{position:static!important;display:block!important;overflow:visible!important;background:#fff!important}
  body.v19print #v19ov .close{display:none!important}
  body.v19print #v19ov,body.v19print #v19ov *{visibility:visible!important}
  body.v19print .v19-rep{color:#16181d!important;max-width:100%;padding:0}
  body.v19print .v19-rep h2{color:#111!important}
  body.v19print .v19-rep .kpi,body.v19print .v19-rep td,body.v19print .v19-rep th{border-color:#cfd3da!important}
  body.v19print .v19-rep .kpi small,body.v19print .v19-rep th,body.v19print .v19-rep .brand small,body.v19print .v19-rep .foot{color:#5b6270!important}
  body.v19print .v19-rep .ok{color:#118a5e!important}body.v19print .v19-rep .warn{color:#9a7a00!important}body.v19print .v19-rep .bad{color:#c2273f!important}
}
/* --- мобильная адаптация --- */
@media (max-width:560px){
  .v19-chans{grid-template-columns:1fr}
  .v19-achs{grid-template-columns:1fr 1fr}
  .v19-scr .row{flex-direction:column;gap:4px}
  .v19-scr .tm{width:auto}
  .v19-fact-row .ti{min-width:140px}
  .v19-rep{padding:24px 14px 50px}
  .v19-rep .rhead{flex-direction:column;align-items:flex-start}
  .v19-idea{flex-wrap:wrap}
  .v19-idea .acts{width:100%;justify-content:flex-end}
  .v19-chart{height:150px}
}

/* ===== v20b1css ===== */
/* ================= VIORA V20 · БЛОК 1 — Фундамент (мобилка, скорость, баги) ================= */

/* ---- 1.3 ЛАЙТ-РЕЖИМ: убираем blur / тяжёлые тени / фоновые анимации на слабых устройствах ---- */
html.v20-lite *,
html.v20-lite *::before,
html.v20-lite *::after{
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
  animation-duration:.001s !important;
  animation-delay:0s !important;
  animation-iteration-count:1 !important;
  transition-duration:.12s !important;
}
html.v20-lite #bg-veil{display:none !important}
html.v20-lite #matrix{display:none !important}
html.v20-lite body::before,
html.v20-lite body::after{display:none !important;animation:none !important;background:none !important}
html.v20-lite .card,
html.v20-lite .section,
html.v20-lite .v7-sec,
html.v20-lite .vid,
html.v20-lite .idea,
html.v20-lite .out{box-shadow:0 2px 10px rgba(0,0,0,.35) !important}
html.v20-lite #chatFab,
html.v20-lite #v4DockBtn{box-shadow:0 6px 18px rgba(0,0,0,.45) !important}
/* статичный фон вместо анимированной авроры */
html.v20-lite body{background:#08070c !important}

/* ---- 1.3 content-visibility: секции вне экрана не рендерятся (ставится из JS, без canvas внутри) ---- */
.v20cv{content-visibility:auto;contain-intrinsic-size:auto 540px}

/* кнопка-переключатель Лайт */
#v20liteBtn{font:inherit;cursor:pointer;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);
  color:#e7e5ee;border-radius:100px;padding:8px 13px;font-size:12.5px;white-space:nowrap;transition:.15s}
#v20liteBtn:hover{border-color:rgba(255,45,85,.5);color:#fff}
#v20liteBtn.on{background:rgba(255,176,32,.16);border-color:rgba(255,176,32,.5);color:#ffd98a}

/* ---- 1.4 ПАНЕЛЬ «С ЧЕГО НАЧАТЬ» (вместо прыгающего тура) ---- */
#v20start{margin:0 0 18px;border:1px solid rgba(255,45,85,.32);border-radius:18px;overflow:hidden;
  background:linear-gradient(135deg,rgba(34,14,22,.92),rgba(20,14,24,.92));box-shadow:0 14px 40px -18px rgba(255,45,85,.4)}
html.v20-lite #v20start{background:#181019;box-shadow:none}
#v20start .v20s-head{display:flex;align-items:center;gap:10px;padding:14px 18px;cursor:pointer}
#v20start .v20s-head .ic{font-size:18px}
#v20start .v20s-head b{font-family:'Onest',system-ui,sans-serif;font-size:15.5px;letter-spacing:.2px}
#v20start .v20s-head small{color:#bdb6c6;font-size:12px;margin-left:2px}
#v20start .v20s-toggle{margin-left:auto;background:none;border:0;color:#cfc9d6;font-size:18px;cursor:pointer;line-height:1;padding:4px 6px;border-radius:8px}
#v20start .v20s-toggle:hover{background:rgba(255,255,255,.08);color:#fff}
#v20start .v20s-body{padding:0 16px 16px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
#v20start.collapsed .v20s-body{display:none}
#v20start .v20s-step{display:flex;flex-direction:column;gap:6px;text-align:left;align-items:flex-start;
  background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:14px;cursor:pointer;
  color:#f0eef4;font:inherit;transition:.16s;min-height:104px}
#v20start .v20s-step:hover{border-color:rgba(255,45,85,.5);background:rgba(255,45,85,.08);transform:translateY(-2px)}
#v20start .v20s-step .n{width:26px;height:26px;border-radius:9px;display:grid;place-items:center;font-weight:800;font-size:13px;
  background:linear-gradient(118deg,#ff2233,#ff6a4d);color:#fff}
#v20start .v20s-step .t{font-weight:700;font-size:13.5px;line-height:1.3}
#v20start .v20s-step .d{font-size:11.8px;line-height:1.45;color:#c8c2d2}
#v20start .v20s-foot{padding:0 18px 14px;font-size:11.5px}
#v20start .v20s-foot a{color:#9b93a8;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
#v20start .v20s-foot a:hover{color:#ff8da1}
@media(max-width:620px){#v20start .v20s-body{grid-template-columns:1fr}}
/* подсветка целевой секции при клике по шагу */
.v20-flash{box-shadow:0 0 0 2px var(--red-neon,#FF2D55),0 0 30px rgba(255,45,85,.4) !important;transition:box-shadow .4s ease}

/* ---- 1.2 МОБИЛЬНАЯ ШАПКА: компактный логотип + нижний док ---- */
#v20dock{position:fixed;left:0;right:0;bottom:0;z-index:14060;display:none;align-items:stretch;gap:4px;
  padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));
  background:rgba(13,11,16,.97);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
  border-top:1px solid rgba(255,255,255,.09);box-shadow:0 -10px 30px rgba(0,0,0,.45);overflow-x:auto;scrollbar-width:none}
#v20dock::-webkit-scrollbar{display:none}
html.v20-lite #v20dock{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0d0b10}
#v20dock .v20-dkitem{flex:1 1 0;min-width:0;max-width:none;min-height:56px;
  display:flex !important;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  padding:7px 6px !important;margin:0 !important;border-radius:14px !important;
  background:rgba(255,255,255,.05) !important;border:1px solid rgba(255,255,255,.08) !important;
  color:#e9e6ef !important;font-size:10.5px !important;font-weight:600 !important;line-height:1.15;
  white-space:normal !important;text-align:center;word-break:break-word;
  box-shadow:none !important;transform:none !important;font-family:inherit}
#v20dock .v20-dkitem:active{background:rgba(255,45,85,.16) !important;border-color:rgba(255,45,85,.4) !important}
#v20dock .v20-dkitem>*{pointer-events:none}
#v20dock .v20-dkitem .lb{display:inline !important;font-size:10.5px;color:inherit}
/* первая «иконка» элемента (эмодзи) крупнее */
#v20dock .v20-dkitem .v15-bell-ic{font-size:18px}

/* ---- убираем переключатель акцентных цветов (смена цветов) ---- */
.rp-sw,.rp-swatch{display:none !important}

@media(max-width:520px){
  .brand>span:last-child{display:none}          /* только иконка логотипа */
  .brand{gap:0}
  .nav-in{gap:8px}
  /* верхняя панель: компактные кнопки Лайт · Штаб · колокольчик */
  .nav .nav-in>div:nth-child(2){gap:7px !important;flex-wrap:nowrap !important;justify-content:flex-end}
  .v20-topitem{padding:7px 11px !important;min-height:38px !important;font-size:12px !important;border-radius:11px !important;white-space:nowrap}
  #v15bell.v20-topitem{width:38px !important;height:38px !important;padding:0 !important;margin-right:0 !important}
  #quotaPill{font-size:10px !important;padding:4px 8px !important}
  #v20dock{display:flex}
  body{padding-bottom:calc(66px + env(safe-area-inset-bottom,0px))}
  /* плавающие кнопки поднимаем над доком, чтобы не перекрывались */
  #chatFab{bottom:calc(80px + env(safe-area-inset-bottom,0px)) !important}
  #toTgBtn{bottom:calc(80px + env(safe-area-inset-bottom,0px)) !important}
  #v5Daily{bottom:calc(80px + env(safe-area-inset-bottom,0px)) !important}
  #v4Dock{bottom:calc(150px + env(safe-area-inset-bottom,0px)) !important}
  #v17demoPill{bottom:calc(80px + env(safe-area-inset-bottom,0px)) !important}
  #vTourTip{bottom:calc(80px + env(safe-area-inset-bottom,0px)) !important}
  #v3Count{bottom:calc(80px + env(safe-area-inset-bottom,0px)) !important}
}
@media(min-width:521px){#v20dock{display:none !important}}

/* ===== v20b2css ===== */
/* ============================================================
   VIORA V20 — BLOCK 2 «Продюсерский мозг»
   Scoped under #v20b2 / .v20b2-* — не трогает остальной сайт.
   ============================================================ */
#v20b2{margin-top:24px}
#v20b2 .b2-card{background:linear-gradient(180deg,rgba(255,45,85,0.06),rgba(255,255,255,0.018));border:1px solid rgba(255,45,85,0.22);border-radius:20px;padding:20px 20px 22px;position:relative;overflow:hidden}
#v20b2 .b2-card:before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,#FF0000,#FF2D55,transparent)}
.v20b2-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.v20b2-title{font-family:'Onest',system-ui,sans-serif;font-weight:800;font-size:22px;line-height:1.15;display:flex;align-items:center;gap:10px}
.v20b2-title .sub{display:block;font-size:12.5px;font-weight:500;color:var(--muted);margin-top:4px;font-family:Onest,sans-serif}
/* mode + segment controls */
.v20b2-ctrls{display:flex;flex-direction:column;gap:9px;align-items:flex-end}
.v20b2-seg,.v20b2-mode{display:inline-flex;background:rgba(0,0,0,0.28);border:1px solid rgba(255,255,255,0.08);border-radius:12px;padding:3px;gap:2px}
.v20b2-seg button,.v20b2-mode button{appearance:none;border:0;background:transparent;color:var(--muted);font-weight:700;font-size:13px;padding:7px 13px;border-radius:9px;cursor:pointer;transition:.18s;white-space:nowrap;font-family:inherit;min-height:34px}
.v20b2-seg button.on{background:linear-gradient(135deg,#FF0000,#FF2D55);color:#fff;box-shadow:0 4px 14px rgba(255,45,85,0.35)}
.v20b2-mode button.on{background:rgba(255,255,255,0.1);color:#fff}
.v20b2-seg button:not(.on):hover,.v20b2-mode button:not(.on):hover{color:#fff}
.v20b2-winnote{font-size:11.5px;color:#b9b3c0;margin:-4px 2px 12px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.v20b2-winnote .arch{background:rgba(255,176,32,0.13);color:#ffcf85;border-radius:6px;padding:1px 7px;font-weight:700}
/* ---- generic blocks ---- */
.v20b2-block{margin-top:18px}
.v20b2-bh{font-family:'Onest',sans-serif;font-weight:800;font-size:16.5px;display:flex;align-items:center;gap:8px;margin:0 0 4px}
.v20b2-bd{font-size:12.5px;color:var(--muted);line-height:1.5;margin:0 0 12px}
/* ---- simple mode ---- */
.v20b2-diag{background:rgba(255,45,85,0.08);border:1px solid rgba(255,45,85,0.2);border-radius:15px;padding:16px 18px;font-size:16px;line-height:1.45;font-weight:600}
.v20b2-diag .lab{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:#ffb3c1;font-weight:800;margin-bottom:6px}
.v20b2-acts{display:grid;gap:10px;margin-top:14px}
.v20b2-act{display:flex;gap:12px;align-items:flex-start;background:rgba(255,255,255,0.025);border:1px solid rgba(255,255,255,0.07);border-radius:13px;padding:13px 15px}
.v20b2-act .n{flex:0 0 auto;width:26px;height:26px;border-radius:9px;background:linear-gradient(135deg,#FF0000,#FF2D55);color:#fff;display:grid;place-items:center;font-weight:800;font-size:13px}
.v20b2-act .t{font-weight:650;font-size:14.5px;line-height:1.4}
.v20b2-act .w{font-size:12.5px;color:var(--muted);margin-top:4px;line-height:1.45}
.v20b2-expandcta{margin-top:16px;display:flex;justify-content:center}
.v20b2-expandcta button{appearance:none;border:1px solid rgba(255,255,255,0.14);background:rgba(255,255,255,0.04);color:#fff;font-weight:700;font-size:13.5px;padding:11px 20px;border-radius:12px;cursor:pointer;transition:.2s;font-family:inherit;min-height:44px}
.v20b2-expandcta button:hover{border-color:var(--red-neon);background:rgba(255,45,85,0.08)}
/* ---- facts table ---- */
.v20b2-facts{width:100%;border-collapse:collapse;font-size:13.5px}
.v20b2-facts td{padding:9px 10px;border-bottom:1px solid rgba(255,255,255,0.06);vertical-align:top}
.v20b2-facts tr:last-child td{border-bottom:0}
.v20b2-facts td.k{color:var(--muted);width:46%}
.v20b2-facts td.v{font-weight:700;text-align:right}
.v20b2-facts td.v .hint{display:block;font-weight:500;font-size:11px;color:#8d8794;text-align:right}
.v20b2-facts .good{color:#5fe39a}.v20b2-facts .bad{color:#ff7a93}.v20b2-facts .mid{color:#ffce6a}
.v20b2-tablewrap{overflow-x:auto;border:1px solid rgba(255,255,255,0.06);border-radius:14px;background:rgba(255,255,255,0.015)}
/* ---- diagnosis cards (ranked) ---- */
.v20b2-diags{display:grid;gap:11px}
.v20b2-dg{border:1px solid rgba(255,255,255,0.07);border-radius:13px;padding:13px 15px;background:rgba(255,255,255,0.02);border-left-width:3px}
.v20b2-dg.p1{border-left-color:#ff3b63}.v20b2-dg.p2{border-left-color:#ffab32}.v20b2-dg.p3{border-left-color:#5b8def}
.v20b2-dg .dh{display:flex;align-items:center;gap:9px;font-weight:750;font-size:14.5px}
.v20b2-dg .prob{margin-left:auto;font-size:11px;font-weight:700;color:#b9b3c0;background:rgba(255,255,255,0.05);padding:2px 8px;border-radius:7px}
.v20b2-dg .mech{font-size:12.8px;color:var(--muted);margin-top:6px;line-height:1.5}
/* ---- clickbait balance ---- */
.v20b2-ckb{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.v20b2-ckcell{border:1px solid rgba(255,255,255,0.07);border-radius:13px;padding:13px 14px;background:rgba(255,255,255,0.02)}
.v20b2-ckcell .h{font-size:12px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.v20b2-ckcell .big{font-size:24px;font-weight:800;font-family:'Onest',sans-serif;margin-top:4px}
.v20b2-ckverdict{margin-top:11px;font-size:13px;line-height:1.5;border-radius:11px;padding:11px 13px}
.v20b2-ckverdict.ok{background:rgba(95,227,154,0.08);border:1px solid rgba(95,227,154,0.22)}
.v20b2-ckverdict.warn{background:rgba(255,122,147,0.08);border:1px solid rgba(255,122,147,0.22)}
/* ---- what to film ---- */
.v20b2-shoots{display:grid;gap:11px}
.v20b2-shoot{border:1px solid rgba(255,255,255,0.08);border-radius:14px;padding:14px 15px;background:rgba(255,255,255,0.022);transition:.18s}
.v20b2-shoot:hover{border-color:rgba(255,45,85,0.3)}
.v20b2-shoot .st{font-weight:700;font-size:14.8px;line-height:1.35;display:flex;gap:9px;align-items:flex-start}
.v20b2-shoot .st .rk{flex:0 0 auto;width:24px;height:24px;border-radius:8px;background:rgba(255,45,85,0.14);color:#ffb3c1;display:grid;place-items:center;font-weight:800;font-size:12px}
.v20b2-shoot .tags{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0 0 33px}
.v20b2-shoot .tags span{font-size:11px;font-weight:600;border-radius:7px;padding:3px 8px;background:rgba(255,255,255,0.05);color:#cfc9d6}
.v20b2-shoot .tags .demand{background:rgba(95,227,154,0.12);color:#8ef0b8}
.v20b2-shoot .tags .free{background:rgba(91,141,239,0.14);color:#9db8f5}
.v20b2-shoot .tags .season{background:rgba(255,176,32,0.13);color:#ffcf85}
.v20b2-shoot .why{margin:9px 0 0 33px;font-size:12.6px;color:var(--muted);line-height:1.5;background:rgba(255,255,255,0.02);border:0;padding:0}
.v20b2-shoot .acts{display:flex;gap:8px;margin:11px 0 0 33px;flex-wrap:wrap}
.v20b2-shoot .acts button{appearance:none;border:1px solid rgba(255,255,255,0.13);background:rgba(255,255,255,0.04);color:#fff;font-weight:650;font-size:12.5px;padding:8px 12px;border-radius:9px;cursor:pointer;transition:.18s;font-family:inherit;min-height:38px}
.v20b2-shoot .acts button:hover{border-color:var(--red-neon)}
/* ---- 30-day experiment ---- */
.v20b2-exp{border:1px dashed rgba(255,255,255,0.16);border-radius:14px;padding:15px 16px;background:rgba(255,255,255,0.015)}
.v20b2-exp .step{display:flex;gap:11px;align-items:flex-start;padding:8px 0;border:0;background:none;border-bottom:1px solid rgba(255,255,255,0.05);color:#dcdae3;font-size:13.5px}
.v20b2-exp .step:last-child{border-bottom:0}
.v20b2-exp .step .wk{flex:0 0 auto;font-weight:800;color:#ffb3c1;font-size:12px;width:64px}
.v20b2-exp .kpi{margin-top:12px;font-size:12.5px;color:var(--muted);line-height:1.5;background:rgba(95,227,154,0.06);border:1px solid rgba(95,227,154,0.18);border-radius:11px;padding:11px 13px}
/* ---- topics trend + seasonality ---- */
.v20b2-trow{border:1px solid rgba(255,255,255,0.07);border-radius:13px;padding:12px 14px;background:rgba(255,255,255,0.02);margin-bottom:10px}
.v20b2-trow .th{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.v20b2-trow .tn{font-weight:750;font-size:14.5px}
.v20b2-trow .meta{font-size:11.5px;color:var(--muted);font-weight:600}
.v20b2-trow .badge{margin-left:auto;font-size:11.5px;font-weight:700;border-radius:8px;padding:3px 9px}
.v20b2-trow .badge.up{background:rgba(95,227,154,0.13);color:#8ef0b8}
.v20b2-trow .badge.down{background:rgba(255,122,147,0.13);color:#ff9fb1}
.v20b2-trow .badge.dead{background:rgba(160,160,170,0.15);color:#c9c5cf}
.v20b2-trow .badge.flat{background:rgba(255,255,255,0.06);color:#cfc9d6}
.v20b2-spark{display:flex;align-items:flex-end;gap:3px;height:34px;margin:10px 0 6px}
.v20b2-spark i{flex:1;min-width:4px;background:linear-gradient(180deg,#FF2D55,#FF0000);border-radius:3px 3px 0 0;opacity:.85}
.v20b2-spark i.dim{background:rgba(255,255,255,0.13)}
.v20b2-season{font-size:12px;color:#cfc9d6;margin-top:4px}
.v20b2-season b{color:#ffcf85}
/* ---- competitors recon ---- */
.v20b2-comp{border:1px solid rgba(255,255,255,0.07);border-radius:13px;padding:13px 14px;background:rgba(255,255,255,0.02);margin-bottom:10px}
.v20b2-comp .ch{display:flex;align-items:center;gap:11px}
.v20b2-comp .ch img{width:40px;height:40px;border-radius:50%;object-fit:cover;flex:0 0 auto;background:#222}
.v20b2-comp .ch .nm{font-weight:750;font-size:14.5px}
.v20b2-comp .ch .ms{font-size:11.5px;color:var(--muted)}
.v20b2-comp .ch .status{margin-left:auto;font-size:11px;font-weight:700;border-radius:7px;padding:2px 8px}
.v20b2-comp .status.live{background:rgba(95,227,154,0.12);color:#8ef0b8}
.v20b2-comp .status.idle{background:rgba(160,160,170,0.15);color:#c9c5cf}
.v20b2-comp .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:11px}
.v20b2-comp .cell{background:rgba(255,255,255,0.03);border-radius:10px;padding:8px 9px;text-align:center}
.v20b2-comp .cell .v{font-weight:800;font-size:15px;font-family:'Onest',sans-serif}
.v20b2-comp .cell .l{font-size:10.5px;color:var(--muted);margin-top:2px}
.v20b2-comp .excl{margin-top:10px;font-size:12.3px;line-height:1.5;background:rgba(91,141,239,0.07);border:1px solid rgba(91,141,239,0.18);border-radius:10px;padding:9px 11px}
.v20b2-comp .excl b{color:#9db8f5}
.v20b2-patterns{display:grid;gap:9px;margin-top:6px}
.v20b2-pat{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.5;background:rgba(255,255,255,0.025);border:1px solid rgba(255,255,255,0.06);border-radius:11px;padding:11px 13px}
.v20b2-pat .ic{flex:0 0 auto}
/* ---- outliers ---- */
.v20b2-out{border:1px solid rgba(255,176,32,0.22);border-radius:13px;padding:12px 14px;background:rgba(255,176,32,0.05);margin-bottom:9px}
.v20b2-out .ot{font-weight:700;font-size:13.8px;line-height:1.35}
.v20b2-out .ox{font-size:11.5px;color:#ffcf85;font-weight:700;margin-left:6px}
.v20b2-out .orx{font-size:12.3px;color:var(--muted);margin-top:6px;line-height:1.5}
.v20b2-empty{font-size:13px;color:var(--muted);background:rgba(255,255,255,0.02);border:1px dashed rgba(255,255,255,0.1);border-radius:12px;padding:14px 15px;line-height:1.5}
/* ---- mobile ---- */
@media(max-width:560px){
  #v20b2 .b2-card{padding:16px 14px 18px;border-radius:16px}
  .v20b2-head{flex-direction:column}
  .v20b2-ctrls{align-items:stretch;width:100%}
  .v20b2-seg,.v20b2-mode{width:100%}
  .v20b2-seg button,.v20b2-mode button{flex:1;text-align:center;padding:9px 6px}
  .v20b2-title{font-size:19px}
  .v20b2-ckb{grid-template-columns:1fr}
  .v20b2-comp .grid{grid-template-columns:repeat(2,1fr)}
  .v20b2-shoot .tags,.v20b2-shoot .why,.v20b2-shoot .acts{margin-left:0}
  .v20b2-facts td.k{width:55%}
}
/* lite-mode: убираем тяжёлые тени/градиенты под слабые телефоны (совместимо с B1) */
html.v20-lite #v20b2 .b2-card{background:rgba(255,255,255,0.02)}
html.v20-lite #v20b2 .b2-card:before{display:none}
html.v20-lite .v20b2-seg button.on{box-shadow:none}

/* ===== v21css ===== */
/* ===================== VIORA v21 — Студия роста ===================== */
.v21-ov{position:fixed;inset:0;z-index:14200;background:rgba(8,8,11,.62);backdrop-filter:blur(6px);display:none;overflow-y:auto;-webkit-overflow-scrolling:touch}
.v21-ov.open{display:block}
.v21-top{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:12px;padding:16px 20px;background:linear-gradient(180deg,rgba(18,18,22,.96),rgba(18,18,22,.86));border-bottom:1px solid rgba(255,255,255,.07);backdrop-filter:blur(10px)}
.v21-back{width:40px;height:40px;flex:0 0 auto;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#fff;font-size:18px;cursor:pointer;font-family:inherit;transition:.16s}
.v21-back:hover{background:rgba(255,255,255,.09);transform:translateX(-2px)}
.v21-ttl{font-weight:800;font-size:17px;color:#fff;line-height:1.25;font-family:Onest,sans-serif}
.v21-ttl small{display:block;font-weight:500;font-size:12.5px;color:#9aa0ac;margin-top:2px}
.v21-body{max-width:760px;margin:0 auto;padding:22px 20px 80px}
.v21-wrap{display:block}
.v21-note{background:rgba(255,45,85,.07);border:1px solid rgba(255,45,85,.18);border-radius:14px;padding:13px 15px;font-size:13.5px;color:#cfd3da;line-height:1.5}
.v21-note b{color:#fff}
.v21-lab{font-size:12.5px;font-weight:700;color:#aeb4bf;margin:16px 0 7px;letter-spacing:.2px}
.v21-in,.v21-ta,.v21-sel{width:100%;box-sizing:border-box;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);border-radius:12px;color:#fff;font-family:inherit;font-size:14px;padding:11px 13px;transition:.16s}
.v21-ta{min-height:78px;resize:vertical;line-height:1.5}
.v21-in:focus,.v21-ta:focus,.v21-sel:focus{outline:none;border-color:rgba(255,45,85,.5);background:rgba(255,45,85,.05)}
.v21-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.v21-row>*{min-width:0}
.v21-col{flex:1 1 160px}
.v21-seg{display:inline-flex;gap:4px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:4px}
.v21-seg button{border:none;background:transparent;color:#aeb4bf;font-family:inherit;font-size:13px;font-weight:600;padding:7px 13px;border-radius:9px;cursor:pointer;transition:.14s}
.v21-seg button.on{background:linear-gradient(135deg,#ff2e4d,#ff5d3b);color:#fff;box-shadow:0 6px 18px -6px rgba(255,45,85,.6)}
.v21-btn{appearance:none;border:none;cursor:pointer;font-family:inherit;font-weight:700;font-size:14px;color:#fff;padding:12px 20px;border-radius:12px;background:linear-gradient(135deg,#ff2e4d,#ff5d3b);box-shadow:0 10px 26px -10px rgba(255,45,85,.7);transition:.16s}
.v21-btn:hover{transform:translateY(-1px);box-shadow:0 14px 32px -10px rgba(255,45,85,.8)}
.v21-btn:disabled{opacity:.55;cursor:default;transform:none}
.v21-btn.ghost{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);box-shadow:none;font-weight:600}
.v21-out{margin-top:18px}
.v21-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:16px 17px;margin-top:13px}
.v21-card h4{margin:0 0 9px;font-size:14.5px;font-weight:800;color:#fff;font-family:Onest,sans-serif}
.v21-card p{margin:0 0 8px;font-size:13.5px;line-height:1.55;color:#cfd3da}
.v21-card ul{margin:6px 0 0;padding-left:18px}
.v21-card li{font-size:13.5px;line-height:1.55;color:#cfd3da;margin-bottom:5px}
.v21-err{background:rgba(255,80,80,.09);border:1px solid rgba(255,80,80,.3);border-radius:12px;padding:12px 14px;color:#ffb3b3;font-size:13.5px}
.v21-spin{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.25);border-top-color:#ff5d3b;border-radius:50%;animation:v21sp .7s linear infinite;vertical-align:-3px}
@keyframes v21sp{to{transform:rotate(360deg)}}
.v21-skel{height:14px;border-radius:7px;background:linear-gradient(90deg,rgba(255,255,255,.04),rgba(255,255,255,.1),rgba(255,255,255,.04));background-size:200% 100%;animation:v21sk 1.2s ease infinite;margin:9px 0}
@keyframes v21sk{to{background-position:-200% 0}}
/* score meter */
.v21-score{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.v21-ring{--p:0;width:96px;height:96px;flex:0 0 auto;border-radius:50%;background:conic-gradient(#ff2e4d calc(var(--p)*1%),rgba(255,255,255,.08) 0);display:flex;align-items:center;justify-content:center}
.v21-ring i{width:74px;height:74px;border-radius:50%;background:#141417;display:flex;flex-direction:column;align-items:center;justify-content:center;font-style:normal}
.v21-ring i b{font-size:24px;font-weight:800;color:#fff;font-family:Onest,sans-serif;line-height:1}
.v21-ring i small{font-size:10px;color:#9aa0ac;margin-top:2px}
.v21-bars{flex:1 1 200px;display:flex;flex-direction:column;gap:9px}
.v21-bar{display:flex;align-items:center;gap:10px;font-size:12.5px;color:#cfd3da}
.v21-bar .nm{flex:0 0 130px}
.v21-bar .tr{flex:1;height:8px;border-radius:5px;background:rgba(255,255,255,.07);overflow:hidden}
.v21-bar .fl{height:100%;border-radius:5px;background:linear-gradient(90deg,#ff2e4d,#ff5d3b)}
.v21-bar .vv{flex:0 0 auto;font-weight:700;color:#fff}
.v21-tag{display:inline-block;font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:8px;margin:2px 5px 2px 0}
.v21-tag.good{background:rgba(48,209,88,.14);color:#5fe08a}
.v21-tag.mid{background:rgba(255,179,64,.14);color:#ffc46b}
.v21-tag.bad{background:rgba(255,80,80,.14);color:#ff9b9b}
.v21-big{font-size:30px;font-weight:800;color:#fff;font-family:Onest,sans-serif}
.v21-big.green{color:#5fe08a}
.v21-money{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}
.v21-money .mc{flex:1 1 120px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:13px 15px}
.v21-money .mc .l{font-size:11.5px;color:#9aa0ac;margin-bottom:4px}
.v21-money .mc .v{font-size:20px;font-weight:800;color:#fff;font-family:Onest,sans-serif}
.v21-money .mc.hi .v{color:#5fe08a}
.v21-mi.v6-mi .new{background:linear-gradient(135deg,#ff2e4d,#ff5d3b)}
.v21-serie{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.09);border-radius:13px;padding:13px 15px;margin-top:10px;position:relative}
.v21-serie .n{position:absolute;top:-9px;left:13px;background:linear-gradient(135deg,#ff2e4d,#ff5d3b);color:#fff;font-size:11px;font-weight:800;width:24px;height:24px;border-radius:8px;display:flex;align-items:center;justify-content:center}
.v21-serie h5{margin:4px 0 6px;font-size:14px;font-weight:800;color:#fff;font-family:Onest,sans-serif}
.v21-serie .meta{font-size:12.5px;color:#cfd3da;line-height:1.5}
.v21-serie .add{margin-top:9px}
@media(max-width:560px){
  .v21-body{padding:16px 13px 72px}
  .v21-ttl{font-size:15.5px}
  .v21-top{padding:12px 13px}
  .v21-bar .nm{flex-basis:96px}
  .v21-ring{width:84px;height:84px}
  .v21-ring i{width:64px;height:64px}
}

/* ===== v22css ===== */
#v22Hub{max-width:1040px;margin:46px auto 0;width:100%;text-align:left;animation:v22Fade .6s cubic-bezier(.2,.8,.2,1) both}
@keyframes v22Fade{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.v22-head{display:flex;align-items:center;gap:13px;margin-bottom:16px;flex-wrap:wrap}
.v22-head .v22-ic{width:40px;height:40px;flex:none;border-radius:12px;display:grid;place-items:center;font-size:20px;background:linear-gradient(135deg,var(--red,#ff2e4d),var(--red-neon,#ff5a78));box-shadow:0 8px 22px -8px rgba(255,46,77,.6)}
.v22-head h3{font-family:'Onest',sans-serif;font-size:clamp(18px,2.4vw,22px);font-weight:700;margin:0;line-height:1.15}
.v22-head .v22-sub{font-size:12.5px;color:var(--muted,#a6a4af);margin-top:2px}
.v22-tabs{display:inline-flex;gap:5px;padding:5px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid var(--hair-2,rgba(255,255,255,.14));margin-left:auto;flex-wrap:wrap}
.v22-tabs button{border:none;background:transparent;color:var(--muted,#a6a4af);font-family:'Onest',sans-serif;font-weight:600;font-size:13.5px;padding:9px 16px;border-radius:10px;cursor:pointer;transition:.22s;white-space:nowrap}
.v22-tabs button.on{background:linear-gradient(135deg,var(--red,#ff2e4d),var(--red-neon,#ff5a78));color:#fff;box-shadow:0 8px 20px -10px rgba(255,46,77,.7)}
.v22-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.v22-card{background:var(--surface-1,rgba(30,21,29,.55));border:1px solid var(--hair,rgba(255,255,255,.09));border-radius:18px;padding:18px 19px;box-shadow:var(--shadow-card,0 26px 60px -34px rgba(0,0,0,.9));backdrop-filter:blur(16px) saturate(1.1);min-width:0}
.v22-card.wide{grid-column:1 / -1}
.v22-ct{font-family:'Onest',sans-serif;font-weight:700;font-size:16px;display:flex;align-items:center;gap:9px;margin-bottom:4px}
.v22-cd{font-size:12.8px;color:var(--muted,#a6a4af);line-height:1.5;margin-bottom:14px}
.v22-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;cursor:pointer;font-family:'Onest',sans-serif;font-weight:700;font-size:14px;color:#fff;padding:12px 18px;border-radius:12px;background:linear-gradient(135deg,var(--red,#ff2e4d),var(--red-neon,#ff5a78));box-shadow:0 10px 26px -12px rgba(255,46,77,.7);transition:transform .2s,filter .2s;line-height:1.2}
.v22-btn:hover{transform:translateY(-2px);filter:brightness(1.06)}
.v22-btn:active{transform:translateY(0)}
.v22-btn:disabled{opacity:.5;cursor:default;transform:none}
.v22-btn.ghost{background:rgba(255,255,255,.05);border:1px solid var(--hair-2,rgba(255,255,255,.14));box-shadow:none;color:#fff;font-weight:600}
.v22-btn.ghost:hover{background:rgba(255,255,255,.09)}
.v22-btn.sm{padding:8px 13px;font-size:12.5px;border-radius:10px}
.v22-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.v22-input,.v22-sel{background:rgba(255,255,255,.04);border:1px solid var(--hair-2,rgba(255,255,255,.14));border-radius:11px;padding:11px 13px;color:#fff;outline:none;font-size:14px;font-family:'Onest',sans-serif;width:100%;min-width:0}
.v22-input:focus,.v22-sel:focus{border-color:var(--red-neon,#ff5a78)}
.v22-sel{cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23a6a4af' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;padding-right:34px}
/* A1 hero CTA */
.v22-a1{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.v22-a1 .v22-a1-tx{flex:1;min-width:200px}
.v22-a1 .v22-time{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;color:#ffd089;background:rgba(255,176,32,.12);border:1px solid rgba(255,176,32,.3);padding:4px 10px;border-radius:100px;margin-bottom:9px}
/* A2 challenge */
.v22-ch-prog{display:flex;align-items:center;gap:11px;margin-bottom:14px}
.v22-bar{flex:1;height:9px;border-radius:6px;background:rgba(255,255,255,.08);overflow:hidden;min-width:60px}
.v22-bar i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,var(--red,#ff2e4d),var(--red-neon,#ff5a78));transition:width .5s ease}
.v22-bar.grn i{background:linear-gradient(90deg,#1f9d57,#36e07a)}
.v22-ch-num{font-family:'Onest',sans-serif;font-weight:700;font-size:13px;color:#fff;white-space:nowrap}
.v22-day{display:flex;gap:12px;align-items:flex-start;padding:11px 0;border-top:1px solid rgba(255,255,255,.06);cursor:pointer;transition:.15s}
.v22-day:first-child{border-top:none}
.v22-day:hover{background:rgba(255,255,255,.02)}
.v22-day .v22-dn{width:28px;height:28px;flex:none;border-radius:9px;background:rgba(255,45,85,.13);color:#ff8da1;font-weight:800;font-size:12px;display:grid;place-items:center;margin-top:1px;transition:.2s}
.v22-day.today .v22-dn{box-shadow:0 0 0 3px rgba(255,45,85,.18)}
.v22-day.done .v22-dn{background:linear-gradient(135deg,var(--red,#ff2e4d),var(--red-neon,#ff5a78));color:#fff}
.v22-day.done .v22-dn:after{content:'✓'}
.v22-day.done .v22-dt{text-decoration:line-through;opacity:.6}
.v22-dmid{flex:1;min-width:0}
.v22-dt{font-size:14px;font-weight:600;color:#fff;line-height:1.35}
.v22-dw{font-size:12px;color:var(--muted,#a6a4af);margin-top:3px;line-height:1.45}
.v22-today-tag{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#ffd089;margin-left:7px}
/* B1 streak */
.v22-streak-top{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.v22-flame{font-size:38px;line-height:1}
.v22-streak-n{font-family:'Onest',sans-serif;font-size:30px;font-weight:700;line-height:1}
.v22-streak-l{font-size:12.5px;color:var(--muted,#a6a4af);line-height:1.4}
.v22-weekgoal{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:6px 0 14px}
.v22-weekgoal label{font-size:12.5px;color:var(--muted,#a6a4af)}
.v22-dots{display:flex;gap:6px;margin-top:9px;flex-wrap:wrap}
.v22-dots i{width:13px;height:13px;border-radius:50%;background:rgba(255,255,255,.12);transition:.2s}
.v22-dots i.on{background:linear-gradient(135deg,var(--red,#ff2e4d),var(--red-neon,#ff5a78));box-shadow:0 0 8px rgba(255,46,77,.6)}
.v22-nudge{font-size:12.5px;color:#ffd089;background:rgba(255,176,32,.08);border:1px solid rgba(255,176,32,.28);border-radius:11px;padding:10px 12px;line-height:1.45;margin-top:6px}
/* B2 growth */
.v22-g-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
.v22-g-tile{background:rgba(255,255,255,.03);border:1px solid var(--hair,rgba(255,255,255,.09));border-radius:13px;padding:12px 13px;min-width:0}
.v22-g-tile .v{font-family:'Onest',sans-serif;font-weight:700;font-size:19px;color:#fff;line-height:1;overflow:hidden;text-overflow:ellipsis}
.v22-g-tile .l{font-size:11px;color:var(--muted,#a6a4af);margin-top:5px}
.v22-g-tile .d{font-size:12px;font-weight:700;margin-top:5px}
.v22-g-tile .d.up{color:#36e07a}.v22-g-tile .d.down{color:#ff5db1}.v22-g-tile .d.flat{color:var(--muted,#a6a4af)}
.v22-chart-wrap{position:relative;height:200px;margin:4px 0 8px}
.v22-concl{font-size:13px;line-height:1.5;color:#fff;background:linear-gradient(120deg,rgba(54,224,122,.08),rgba(255,45,85,.04));border:1px solid var(--hair,rgba(255,255,255,.09));border-radius:11px;padding:11px 13px;margin-top:4px}
.v22-concl b{color:#fff}
/* B3 kanban */
.v22-kb-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}
.v22-kb-col{background:rgba(255,255,255,.025);border:1px solid var(--hair,rgba(255,255,255,.09));border-radius:14px;padding:11px 10px;min-width:0;display:flex;flex-direction:column}
.v22-kb-h{font-size:11.5px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:#cdc6d0;display:flex;align-items:center;gap:6px;margin-bottom:10px;padding:0 3px}
.v22-kb-h .cnt{margin-left:auto;font-size:11px;color:var(--muted,#a6a4af);background:rgba(255,255,255,.06);border-radius:100px;padding:1px 8px;font-weight:700}
.v22-kb-list{display:flex;flex-direction:column;gap:8px;min-height:24px}
.v22-kb-card{background:var(--card,rgba(30,21,29,.55));border:1px solid var(--hair-2,rgba(255,255,255,.14));border-radius:11px;padding:10px 11px;font-size:12.8px;line-height:1.4;color:#fff;position:relative}
.v22-kb-card .txt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}
.v22-kb-meta{font-size:10.5px;color:var(--muted,#a6a4af);margin-top:6px}
.v22-kb-mv{display:flex;gap:6px;margin-top:9px;align-items:center}
.v22-kb-mv button{flex:none;width:28px;height:26px;border-radius:8px;border:1px solid var(--hair-2,rgba(255,255,255,.14));background:rgba(255,255,255,.04);color:#ffb3c1;cursor:pointer;font-size:13px;line-height:1;transition:.15s;display:grid;place-items:center}
.v22-kb-mv button:hover:not(:disabled){background:rgba(255,45,85,.16);color:#fff}
.v22-kb-mv button:disabled{opacity:.3;cursor:default}
.v22-kb-mv .del{margin-left:auto;color:var(--muted-2,#827581)}
.v22-kb-mv .del:hover{color:#ff5db1;background:rgba(255,93,177,.12)}
.v22-kb-empty{font-size:11.5px;color:var(--muted-2,#827581);text-align:center;padding:14px 4px;line-height:1.4}
.v22-kb-add{display:flex;gap:9px;margin-top:13px;flex-wrap:wrap}
.v22-kb-add .v22-input{flex:1}
/* B4 achievements */
.v22-lvl{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.v22-lvl-badge{width:54px;height:54px;flex:none;border-radius:16px;display:grid;place-items:center;font-size:26px;background:linear-gradient(135deg,rgba(255,45,85,.2),rgba(255,176,32,.12));border:1px solid var(--hair-2,rgba(255,255,255,.14))}
.v22-lvl-tx b{font-family:'Onest',sans-serif;font-size:17px;color:#fff;display:block}
.v22-lvl-tx small{font-size:12px;color:var(--muted,#a6a4af)}
.v22-xp{margin-top:8px}
.v22-ach-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.v22-ach{background:rgba(255,255,255,.03);border:1px solid var(--hair,rgba(255,255,255,.09));border-radius:13px;padding:13px 12px;text-align:center;transition:.2s}
.v22-ach.on{border-color:rgba(255,45,85,.4);background:rgba(255,45,85,.06)}
.v22-ach.lock{opacity:.5}
.v22-ach .ic{font-size:25px;filter:grayscale(1)}
.v22-ach.on .ic{filter:none}
.v22-ach b{display:block;font-size:12.5px;color:#fff;margin:6px 0 3px;font-family:'Onest',sans-serif}
.v22-ach small{font-size:10.5px;color:var(--muted,#a6a4af);line-height:1.35;display:block}
/* A1 flow modal */
#v22FlowOv{position:fixed;inset:0;z-index:16050;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(4,3,6,.74);backdrop-filter:blur(6px);overflow-y:auto}
#v22FlowOv.show{display:flex}
#v22Flow{width:min(640px,100%);max-height:92vh;display:flex;flex-direction:column;background:linear-gradient(180deg,rgba(28,21,28,.99),rgba(14,11,16,.99));border:1px solid var(--hair-2,rgba(255,255,255,.14));border-radius:20px;box-shadow:0 40px 110px -30px rgba(0,0,0,.85);overflow:hidden;animation:v22Fade .3s both}
.v22-fl-top{display:flex;align-items:center;gap:11px;padding:16px 19px;border-bottom:1px solid var(--hair,rgba(255,255,255,.09))}
.v22-fl-top .t{font-family:'Onest',sans-serif;font-weight:700;font-size:15px;flex:1;min-width:0}
.v22-fl-x{flex:none;width:34px;height:34px;border-radius:10px;border:1px solid var(--hair-2,rgba(255,255,255,.14));background:rgba(255,255,255,.04);color:#fff;font-size:17px;cursor:pointer;transition:.2s}
.v22-fl-x:hover{background:rgba(255,45,85,.16)}
.v22-steps{display:flex;gap:5px;padding:13px 19px 0}
.v22-steps i{flex:1;height:4px;border-radius:3px;background:rgba(255,255,255,.1);transition:.3s}
.v22-steps i.on{background:linear-gradient(90deg,var(--red,#ff2e4d),var(--red-neon,#ff5a78))}
.v22-fl-body{padding:16px 19px;overflow-y:auto;flex:1}
.v22-fl-h{font-family:'Onest',sans-serif;font-weight:700;font-size:17px;margin-bottom:5px}
.v22-fl-sub{font-size:13px;color:var(--muted,#a6a4af);line-height:1.5;margin-bottom:14px}
.v22-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.v22-chip{font-size:12.5px;padding:7px 13px;border-radius:100px;background:rgba(255,45,85,.07);border:1px solid var(--hair-2,rgba(255,255,255,.14));color:#ffc2cf;cursor:pointer;transition:.15s}
.v22-chip:hover{background:rgba(255,45,85,.16);color:#fff}
.v22-pick{background:rgba(255,255,255,.03);border:1px solid var(--hair-2,rgba(255,255,255,.14));border-radius:13px;padding:13px 14px;margin-bottom:10px;cursor:pointer;transition:.18s}
.v22-pick:hover{border-color:rgba(255,45,85,.5);background:rgba(255,45,85,.05)}
.v22-pick.sel{border-color:var(--red-neon,#ff5a78);background:rgba(255,45,85,.09)}
.v22-pick .pt{font-size:14.5px;font-weight:700;color:#fff;line-height:1.35}
.v22-pick .pm{font-size:12px;color:var(--muted,#a6a4af);margin-top:5px;line-height:1.45}
.v22-pick .pf{display:inline-block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:3px 9px;border-radius:100px;margin-top:8px;background:rgba(255,176,32,.13);color:#ffd089}
.v22-block{background:rgba(255,255,255,.03);border:1px solid var(--hair,rgba(255,255,255,.09));border-radius:13px;padding:13px 15px;margin-bottom:11px}
.v22-block h5{font-family:'Onest',sans-serif;font-size:13px;color:#ff9bae;margin:0 0 8px;text-transform:uppercase;letter-spacing:.04em}
.v22-block .bd{font-size:13.5px;line-height:1.6;color:#e7e5ee;white-space:pre-wrap;word-break:break-word}
.v22-block ul{margin:0;padding-left:18px;font-size:13.5px;line-height:1.6;color:#e7e5ee}
.v22-block li{margin-bottom:5px}
.v22-checklist{display:flex;flex-direction:column;gap:7px}
.v22-checklist label{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.45;cursor:pointer;color:#e7e5ee}
.v22-checklist input{margin-top:3px;accent-color:var(--red-neon,#ff5a78);flex:none}
.v22-fl-foot{display:flex;gap:10px;align-items:center;padding:14px 19px;border-top:1px solid var(--hair,rgba(255,255,255,.09));flex-wrap:wrap}
.v22-fl-foot .sp{flex:1}
.v22-load{display:flex;align-items:center;gap:12px;padding:22px 4px;color:var(--muted,#a6a4af);font-size:14px}
.v22-spin{width:20px;height:20px;border:2.5px solid rgba(255,45,85,.25);border-top-color:var(--red-neon,#ff5a78);border-radius:50%;animation:v22sp .8s linear infinite;flex:none}
@keyframes v22sp{to{transform:rotate(360deg)}}
/* responsive */
@media(max-width:880px){
  .v22-grid{grid-template-columns:1fr}
  .v22-kb-cols{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  #v22Hub{margin-top:34px}
  .v22-head{gap:10px}
  .v22-head h3{font-size:18px}
  .v22-tabs{margin-left:0;width:100%}
  .v22-tabs button{flex:1;padding:9px 8px;font-size:13px}
  .v22-card{padding:15px 14px;border-radius:16px}
  .v22-g-tiles{grid-template-columns:1fr}
  .v22-kb-cols{grid-template-columns:1fr}
  .v22-a1 .v22-btn{width:100%}
  .v22-kb-add{flex-direction:column}
  .v22-kb-add .v22-btn{width:100%}
  .v22-ach-grid{grid-template-columns:1fr 1fr}
  #v22Flow{max-height:96vh}
  .v22-fl-foot .v22-btn{flex:1}
}
@media(max-width:380px){
  .v22-ach-grid{grid-template-columns:1fr}
  .v22-streak-n{font-size:26px}
}
@media (prefers-reduced-motion:reduce){#v22Hub,#v22Flow{animation:none}.v22-bar i,.v22-day .v22-dn{transition:none}}

/* ===== v22mobilefix ===== */
@media(max-width:560px){
  /* тосты/уведомления больше не перекрывают плавающую кнопку чата и кнопку Telegram */
  #vToasts{bottom:88px!important;right:12px!important;left:12px!important;max-width:none!important}
  #vToastWrap{bottom:96px!important}
  /* запас снизу, чтобы плавающие кнопки не накрывали футер и последние карточки */
  footer.wrap{padding-bottom:104px!important}
  /* длинные ссылки/слова переносятся, а не вылезают за край */
  footer a,.borrow .src,.idea h4,.out .ot,.vid .vtitle{overflow-wrap:anywhere;word-break:break-word}
  /* 5 фильтров идей: каждый занимает свою строку и не вылезает за экран */
  .idea-filters{width:100%}
  .idea-filters .dd{flex:1 1 100%}
  .dd-btn{min-width:0!important}
  .comp-add input,.lab-form input{min-width:0!important}
  /* hero-подсказки с примерами не упираются в края */
  .hero .examples code{margin-bottom:4px}
}
@media(max-width:380px){
  #chatFab{width:54px!important;height:54px!important;bottom:14px!important}
  #vToasts{bottom:80px!important}
}

/* ===== v23css ===== */
/* --- ФИКС 1: навбар не наезжает на логотип --- */
.nav .nav-in{gap:10px}
.nav .nav-in>.brand{flex:0 0 auto;position:relative;z-index:6;max-width:62%}
.nav .nav-in>div:nth-child(2){min-width:0}
@media(max-width:820px){
  /* правый кластер не залезает на лого: при нехватке места — горизонтальный скролл, а не наложение */
  .nav .nav-in>div:nth-child(2){overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:2px}
  .nav .nav-in>div:nth-child(2)::-webkit-scrollbar{display:none}
}
@media(max-width:560px){
  .nav .nav-in>.brand{max-width:46%}
  .nav .nav-in>.brand>span:last-child{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}
/* --- ФИКС 2: «Карточка дня» — кнопки не налезают друг на друга/на текст --- */
#v5Daily{max-width:min(360px,calc(100vw - 28px))}
#v5Daily .ft{display:flex!important;flex-wrap:wrap;gap:8px;align-items:stretch}
#v5Daily .ft button{flex:1 1 auto;min-width:132px;white-space:nowrap;justify-content:center}
@media(max-width:430px){
  #v5Daily{left:12px!important;right:12px!important;max-width:none!important}
  #v5Daily .ft button{flex:1 1 100%}
}
/* --- ФИКС 3: «Продюсерский разбор» свёрнут по умолчанию, разворот по клику --- */
.b2-card .v20b2-title{cursor:pointer;position:relative;padding-right:30px}
.v23-b2chev{position:absolute;right:0;top:2px;width:24px;height:24px;border-radius:8px;border:1px solid var(--hair-2,rgba(255,255,255,.14));background:rgba(255,255,255,.04);color:#ffb3c1;display:grid;place-items:center;font-size:11px;transition:transform .3s,background .2s;flex:none}
.b2-card.v23-collapsed .v23-b2chev{transform:rotate(-90deg)}
.b2-card.v23-collapsed > *:not(.v20b2-head){display:none!important}
.b2-card.v23-collapsed .v20b2-head{margin-bottom:0}
.v23-b2hint{font-size:12px;color:var(--muted,#a6a4af);margin-top:8px;font-weight:400}
.b2-card:not(.v23-collapsed) .v23-b2hint{display:none}
/* --- v23 опрос-онбординг --- */
.v22-srv-q{margin-top:13px}
.v22-srv-lbl{font-size:13px;font-weight:600;color:#fff;margin-bottom:8px}
.v22-chip.sel{background:linear-gradient(135deg,#ff2e4d,#ff8a5a)!important;border-color:transparent!important;color:#fff!important;font-weight:700;box-shadow:0 6px 18px -8px rgba(255,46,77,.8)}
/* --- v23 карточка «Сегодня» --- */
.v22-today{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:linear-gradient(135deg,rgba(255,46,77,.16),rgba(255,138,90,.06));border:1px solid rgba(255,90,120,.35);border-radius:18px;padding:18px 20px;margin-bottom:16px;box-shadow:0 18px 50px -30px rgba(255,46,77,.6)}
.v22-today-l{flex:1;min-width:200px}
.v22-today-k{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#ffc2cf;margin-bottom:6px}
.v22-today-h{font-family:'Onest',sans-serif;font-weight:700;font-size:clamp(17px,2.2vw,20px);color:#fff;line-height:1.2}
.v22-today-s{font-size:13px;color:#d9d1d6;margin-top:6px;line-height:1.5}
.v22-today-glance{font-size:12px;color:var(--muted,#a6a4af);margin-top:9px}
.v22-today-btn{flex:none}
@media(max-width:560px){.v22-today{padding:15px 15px}.v22-today-btn{width:100%}}
/* --- v23 расхламление главной: дубли-кнопки живут в меню «Продюсер-центр» --- */
#vHeroBtns{display:none!important}

/* ===== v23m2css ===== */
/* ============ VIORA v23m2 · «Путь роста» — лестница прогресса новичка ============ */
.v23m-wrap{margin:16px 0;background:linear-gradient(135deg,rgba(124,92,255,.13),rgba(255,46,77,.06));border:1px solid rgba(140,120,255,.3);border-radius:18px;padding:18px 20px;box-shadow:0 18px 50px -34px rgba(124,92,255,.7)}
.v23m-top{display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.v23m-k{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#c9b8ff}
.v23m-h{font-family:'Onest',sans-serif;font-weight:700;font-size:clamp(16px,2vw,19px);color:#fff;line-height:1.22;margin-top:4px}
.v23m-prog{margin-left:auto;text-align:right;min-width:96px}
.v23m-pct{font-family:'Onest',sans-serif;font-weight:800;font-size:21px;color:#fff}
.v23m-bar{height:7px;border-radius:100px;background:rgba(255,255,255,.1);overflow:hidden;margin-top:6px}
.v23m-bar>i{display:block;height:100%;border-radius:100px;background:linear-gradient(90deg,#7c5cff,#ff2e4d);transition:width .55s ease}
.v23m-steps{display:flex;flex-direction:column;gap:9px}
.v23m-step{display:flex;align-items:center;gap:13px;padding:12px 14px;border-radius:13px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);transition:.2s}
.v23m-step.done{background:rgba(54,224,122,.08);border-color:rgba(54,224,122,.3)}
.v23m-step.cur{background:linear-gradient(135deg,rgba(124,92,255,.18),rgba(255,46,77,.1));border-color:rgba(160,130,255,.55);box-shadow:0 0 0 1px rgba(160,130,255,.25),0 14px 36px -22px rgba(124,92,255,.9)}
.v23m-step.lock{opacity:.5}
.v23m-node{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14)}
.v23m-step.done .v23m-node{background:rgba(54,224,122,.18);border-color:rgba(54,224,122,.5);color:#36e07a}
.v23m-step.cur .v23m-node{background:rgba(160,130,255,.22);border-color:rgba(160,130,255,.6)}
.v23m-txt{flex:1;min-width:0}
.v23m-st{font-weight:700;font-size:14px;color:#fff}
.v23m-sd{font-size:12px;color:#b9b3c8;margin-top:2px;line-height:1.45}
.v23m-step.done .v23m-st{color:#bff2d2}
.v23m-cta{flex:none;background:linear-gradient(135deg,#7c5cff,#ff2e4d);border:none;color:#fff;font-weight:700;font-size:13px;padding:9px 15px;border-radius:11px;cursor:pointer;white-space:nowrap;font-family:inherit}
.v23m-cta:hover{filter:brightness(1.08)}
.v23m-badge{flex:none;font-size:12px;font-weight:700;color:#36e07a}
.v23m-banner{display:flex;align-items:center;gap:13px;background:linear-gradient(135deg,rgba(54,224,122,.16),rgba(124,92,255,.1));border:1px solid rgba(54,224,122,.4);border-radius:14px;padding:14px 16px}
.v23m-banner .e{font-size:27px;flex:none}
.v23m-banner .t{font-family:'Onest',sans-serif;font-weight:700;font-size:15px;color:#fff}
.v23m-banner .s{font-size:12.5px;color:#cfe9d8;margin-top:3px;line-height:1.45}
@media(max-width:560px){.v23m-step{flex-wrap:wrap}.v23m-cta{width:100%;margin-top:4px}.v23m-prog{margin-left:0;text-align:left;min-width:0}}

/* ===== v24css ===== */
/* ============ VIORA v24 · «Виора-Мозг»: AI-продюсер с памятью ============ */
.v24-brain{position:relative;margin:16px 0;background:linear-gradient(135deg,rgba(34,211,238,.10),rgba(168,85,247,.10) 55%,rgba(255,46,77,.07));border:1px solid rgba(120,180,255,.28);border-radius:20px;padding:20px;overflow:hidden;box-shadow:0 22px 60px -38px rgba(80,140,255,.85)}
.v24-glow{position:absolute;inset:-40%;background:radial-gradient(circle at 28% 30%,rgba(34,211,238,.16),transparent 42%),radial-gradient(circle at 76% 64%,rgba(168,85,247,.15),transparent 46%);pointer-events:none;filter:blur(10px);opacity:.85;animation:v24drift 14s ease-in-out infinite alternate}
@keyframes v24drift{from{transform:translate(0,0)}to{transform:translate(2%,-2%)}}
.v24-in{position:relative;z-index:1}
.v24-welcome{display:flex;gap:12px;align-items:flex-start;background:rgba(34,211,238,.08);border:1px solid rgba(34,211,238,.3);border-radius:13px;padding:12px 14px;margin-bottom:14px}
.v24-welcome .e{font-size:22px;flex:none;line-height:1.2}
.v24-welcome .t{font-weight:700;font-size:13.5px;color:#fff}
.v24-welcome .s{font-size:12.5px;color:#cbe8f2;margin-top:3px;line-height:1.45}
.v24-top{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.v24-ic{font-size:24px;flex:none}
.v24-ttl{font-family:'Onest',sans-serif;font-weight:800;font-size:clamp(17px,2.2vw,20px);color:#fff;line-height:1.1}
.v24-sub{font-size:12px;color:#bcd6ef;margin-top:3px}
.v24-think{color:#7fe3ff}
.v24-core{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.v24-gauge{position:relative;width:148px;height:148px;flex:none}
.v24-canvas{position:absolute;inset:0;width:100%;height:100%}
.v24-ring{position:absolute;inset:0;border-radius:50%;display:grid;place-items:center;pointer-events:none}
.v24-ring .pct{font-family:'Onest',sans-serif;font-weight:800;font-size:34px;color:#fff;line-height:1;text-shadow:0 2px 16px rgba(34,211,238,.5)}
.v24-ring .lbl{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#a9c7e6;margin-top:4px}
.v24-coreR{flex:1;min-width:230px}
.v24-portrait{font-size:13.5px;color:#e8f1fb;line-height:1.5;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:11px 13px}
.v24-portrait b{color:#7fe3ff}
.v24-know{margin-top:10px}
.v24-knowbar{height:8px;border-radius:100px;background:rgba(255,255,255,.1);overflow:hidden}
.v24-knowbar>i{display:block;height:100%;width:0;border-radius:100px;background:linear-gradient(90deg,#22d3ee,#a855f7,#ff2e4d);transition:width .9s cubic-bezier(.2,.8,.2,1)}
.v24-knowlbl{font-size:11.5px;color:#a9c7e6;margin-top:6px}
.v24-knowlbl b{color:#fff}
.v24-sec{margin-top:16px}
.v24-sec-h{font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#9fc1e3;margin-bottom:9px}
.v24-ins{display:flex;flex-direction:column;gap:8px}
.v24-insi{display:flex;gap:11px;align-items:flex-start;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:11px 13px;animation:v24fade .4s ease both}
@keyframes v24fade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.v24-insi .d{font-size:17px;flex:none;line-height:1.3}
.v24-insi .t{font-size:13px;color:#e3edf7;line-height:1.5}
.v24-break{display:flex;gap:13px;align-items:center;background:linear-gradient(135deg,rgba(255,46,77,.14),rgba(168,85,247,.12));border:1px solid rgba(255,90,140,.34);border-radius:14px;padding:14px 16px}
.v24-break .e{font-size:25px;flex:none}
.v24-break .t{font-family:'Onest',sans-serif;font-weight:700;font-size:14.5px;color:#fff}
.v24-break .s{font-size:12.5px;color:#f0d9e4;margin-top:3px;line-height:1.45}
@media(max-width:560px){.v24-core{justify-content:center}.v24-coreR{min-width:0}.v24-gauge{width:130px;height:130px}.v24-brain{padding:16px}}

/* ===== v25css ===== */
/* ============ VIORA v25 · «Лёгкий старт»: студия первого ролика для новичка ============ */
#v25easy{position:fixed;inset:0;z-index:200;display:none;background:radial-gradient(circle at 50% -10%,#15233a,#0a0d13 60%);overflow-y:auto;-webkit-overflow-scrolling:touch}
#v25easy.on{display:block;animation:v25in .35s ease both}
@keyframes v25in{from{opacity:0}to{opacity:1}}
.v25-wrap{max-width:680px;margin:0 auto;padding:26px 20px 60px;font-family:'Onest',-apple-system,Segoe UI,Roboto,sans-serif}
.v25-bar{display:flex;align-items:center;gap:12px;margin-bottom:22px}
.v25-x{margin-left:auto;width:44px;height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05);color:#fff;font-size:20px;cursor:pointer;flex:none}
.v25-dots{display:flex;gap:7px}
.v25-dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.18);transition:.3s}
.v25-dot.on{background:linear-gradient(90deg,#22d3ee,#a855f7);width:26px;border-radius:6px}
.v25-logo{font-weight:800;font-size:15px;color:#fff}
.v25-logo b{color:#ff3b5c}
.v25-h1{font-family:'Onest',sans-serif;font-weight:800;font-size:clamp(24px,5vw,32px);color:#fff;line-height:1.18;margin:0 0 10px}
.v25-lead{font-size:17px;color:#c7d6e8;line-height:1.55;margin:0 0 22px}
.v25-label{font-size:15px;font-weight:700;color:#fff;margin:0 0 10px}
.v25-input{width:100%;box-sizing:border-box;font-size:18px;padding:16px 16px;border-radius:14px;border:1.5px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#fff;font-family:inherit;outline:none}
.v25-input:focus{border-color:#22d3ee}
.v25-chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}
.v25-chip{font-size:14px;padding:10px 15px;border-radius:100px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);color:#cfe0f0;cursor:pointer;transition:.15s}
.v25-chip:hover{background:rgba(34,211,238,.18);color:#fff;border-color:transparent}
.v25-btn{display:block;width:100%;box-sizing:border-box;min-height:56px;font-size:18px;font-weight:800;font-family:inherit;border:none;border-radius:16px;cursor:pointer;color:#fff;background:linear-gradient(135deg,#22d3ee,#a855f7 60%,#ff2e4d);box-shadow:0 16px 40px -18px rgba(120,90,255,.9);transition:.15s;margin-top:24px}
.v25-btn:hover{filter:brightness(1.07)}
.v25-btn.ghost{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);box-shadow:none;font-weight:700}
.v25-btn.sm{min-height:48px;font-size:16px;margin-top:12px}
.v25-back{background:none;border:none;color:#9fc1e3;font-size:15px;cursor:pointer;padding:8px 0;margin-bottom:6px;font-family:inherit}
.v25-topic{width:100%;text-align:left;box-sizing:border-box;background:rgba(255,255,255,.04);border:1.5px solid rgba(255,255,255,.1);border-radius:16px;padding:18px;cursor:pointer;transition:.18s;margin-bottom:13px;color:#fff;font-family:inherit;display:block}
.v25-topic:hover{border-color:#22d3ee;background:rgba(34,211,238,.08);transform:translateY(-1px)}
.v25-topic .tt{font-size:18px;font-weight:800;line-height:1.3;margin-bottom:7px}
.v25-topic .tw{font-size:15px;color:#c2d3e6;line-height:1.5}
.v25-topic .tf{display:inline-block;margin-top:11px;font-size:12px;font-weight:700;padding:5px 11px;border-radius:100px;background:rgba(168,85,247,.2);color:#d9bfff}
.v25-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:17px 18px;margin-bottom:13px}
.v25-card .ch{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:#7fe3ff;margin-bottom:10px}
.v25-card .ch .cp{margin-left:auto;font-size:12px;font-weight:700;color:#9fc1e3;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:8px;padding:5px 10px;cursor:pointer;text-transform:none;letter-spacing:0}
.v25-card .cp:hover{color:#fff}
.v25-bigtitle{font-family:'Onest',sans-serif;font-weight:800;font-size:clamp(19px,3.5vw,24px);color:#fff;line-height:1.25}
.v25-txt{font-size:16px;color:#e6eef8;line-height:1.6}
.v25-hook{font-size:17px;color:#fff;line-height:1.55;font-style:italic;border-left:3px solid #22d3ee;padding-left:13px}
.v25-ol{margin:0;padding-left:22px;color:#e6eef8;font-size:16px;line-height:1.7}
.v25-ol li{margin-bottom:7px}
.v25-ul{list-style:none;margin:0;padding:0}
.v25-ul li{font-size:16px;color:#e6eef8;line-height:1.55;padding:7px 0 7px 26px;position:relative}
.v25-ul li:before{content:'🎬';position:absolute;left:0;top:6px;font-size:14px}
.v25-tags{display:flex;flex-wrap:wrap;gap:8px}
.v25-tag{font-size:13px;padding:6px 12px;border-radius:8px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:#cfe0f0}
.v25-load{text-align:center;padding:48px 0;color:#c7d6e8}
.v25-spin{width:46px;height:46px;border-radius:50%;border:4px solid rgba(255,255,255,.12);border-top-color:#22d3ee;margin:0 auto 18px;animation:v25spin 1s linear infinite}
@keyframes v25spin{to{transform:rotate(360deg)}}
.v25-load .lt{font-size:18px;font-weight:700;color:#fff;margin-bottom:6px}
.v25-load .ls{font-size:14px;color:#9fc1e3}
.v25-err{background:rgba(255,46,77,.1);border:1px solid rgba(255,46,77,.34);border-radius:14px;padding:16px;color:#ffd0d8;font-size:15px;line-height:1.5}
.v25-steps-guide{counter-reset:v25s;list-style:none;margin:0;padding:0}
.v25-steps-guide li{position:relative;padding:0 0 18px 52px;color:#e6eef8;font-size:16px;line-height:1.55}
.v25-steps-guide li:before{counter-increment:v25s;content:counter(v25s);position:absolute;left:0;top:-2px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:16px;color:#fff;background:linear-gradient(135deg,#22d3ee,#a855f7)}
.v25-steps-guide li b{color:#fff}
.v25-light{display:flex;align-items:center;gap:13px;border-radius:14px;padding:14px 16px;margin-top:12px}
.v25-light.green{background:rgba(54,224,122,.12);border:1px solid rgba(54,224,122,.4)}
.v25-light.yellow{background:rgba(255,196,0,.12);border:1px solid rgba(255,196,0,.4)}
.v25-light.red{background:rgba(255,59,92,.12);border:1px solid rgba(255,59,92,.4)}
.v25-light .lc{font-size:26px;flex:none}
.v25-light .lv{font-size:15px;color:#fff;font-weight:700;line-height:1.4}
.v25-fixes{margin:10px 0 0;padding-left:20px;color:#e6eef8;font-size:15px;line-height:1.6}
.v25-gatebtn{display:block;width:100%;box-sizing:border-box;margin:18px auto 0;max-width:430px;min-height:54px;font-size:16px;font-weight:800;font-family:inherit;border:none;border-radius:15px;cursor:pointer;color:#fff;background:linear-gradient(135deg,#22d3ee,#a855f7 60%,#ff2e4d);box-shadow:0 14px 36px -18px rgba(120,90,255,.9)}
.v25-gatebtn:hover{filter:brightness(1.08)}
.v25-gatebtn small{display:block;font-weight:600;font-size:12.5px;opacity:.92;margin-top:2px}
@media(max-width:560px){.v25-wrap{padding:20px 15px 50px}}

/* ===== v26css ===== */
/* ======================================================================
   VIORA v26 — «Виора-Продюсер»
   Живые подсказки · этапная загрузка · переобученный мозг · продюсер-хаб
   Изолированный модуль: namespace viora_v26_*, префикс .v26, API-ключи не трогаются.
   ====================================================================== */
:root{--v26-c1:#22d3ee;--v26-c2:#a855f7;--v26-c3:#ff2e4d;--v26-ease:cubic-bezier(.22,.61,.36,1)}

/* ---------- 1. AUTOCOMPLETE ---------- */
.v26-ac{position:fixed;z-index:99998;background:linear-gradient(180deg,rgba(22,18,26,.99),rgba(13,11,16,.99));border:1px solid rgba(255,255,255,.12);border-radius:15px;box-shadow:0 30px 80px -20px rgba(0,0,0,.8),0 0 0 1px rgba(168,85,247,.12);overflow:hidden;opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .16s,transform .16s;max-height:340px;overflow-y:auto;scrollbar-width:thin}
.v26-ac.on{opacity:1;transform:none;pointer-events:auto}
.v26-ac::-webkit-scrollbar{width:8px}.v26-ac::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:8px}
.v26-ac-it{display:flex;align-items:center;gap:11px;padding:11px 14px;cursor:pointer;transition:background .12s;border-bottom:1px solid rgba(255,255,255,.04)}
.v26-ac-it:last-child{border-bottom:none}
.v26-ac-it.sel,.v26-ac-it:hover{background:rgba(34,211,238,.12)}
.v26-ac-av{width:34px;height:34px;border-radius:10px;flex:none;object-fit:cover;background:#1b1620;display:grid;place-items:center;font-size:16px;overflow:hidden}
.v26-ac-av img{width:100%;height:100%;object-fit:cover}
.v26-ac-m{flex:1;min-width:0}
.v26-ac-t{font-size:14px;font-weight:600;color:#f1eef6;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v26-ac-t b{color:#7fe3ff;font-weight:700}
.v26-ac-s{font-size:11.5px;color:#9b95a6;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v26-ac-head{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:#8a8496;padding:9px 14px 5px;font-weight:700;display:flex;align-items:center;gap:7px}
.v26-ac-load{padding:13px 14px;font-size:12.5px;color:#9b95a6;display:flex;align-items:center;gap:9px}
.v26-ac-sp{width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.18);border-top-color:var(--v26-c1);animation:v26spin .7s linear infinite;flex:none}
.v26-ac-tag{margin-left:auto;font-size:10px;font-weight:700;color:#0b0b0d;background:linear-gradient(135deg,var(--v26-c1),var(--v26-c2));border-radius:6px;padding:2px 6px;text-transform:none;letter-spacing:0}
@keyframes v26spin{to{transform:rotate(360deg)}}

/* ---------- 2. STEPPED LOADER ---------- */
.v26-steps{display:flex;flex-direction:column;gap:9px;width:min(440px,90vw);margin:26px auto 0;text-align:left}
.v26-step{display:flex;align-items:center;gap:12px;padding:11px 15px;border-radius:13px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.025);color:#9b95a6;font-size:14px;transition:.35s var(--v26-ease)}
.v26-step .v26-sdot{width:24px;height:24px;border-radius:50%;flex:none;display:grid;place-items:center;font-size:12px;font-weight:800;border:2px solid rgba(255,255,255,.16);transition:.3s}
.v26-step.cur{border-color:rgba(168,85,247,.45);background:rgba(168,85,247,.08);color:#fff;transform:translateX(3px)}
.v26-step.cur .v26-sdot{border-color:transparent;background:linear-gradient(135deg,var(--v26-c1),var(--v26-c2));box-shadow:0 0 0 0 rgba(168,85,247,.5);animation:v26pulse 1.5s ease-out infinite}
.v26-step.cur .v26-sdot:after{content:'';width:9px;height:9px;border:2px solid #fff;border-top-color:transparent;border-radius:50%;animation:v26spin .8s linear infinite}
.v26-step.done{color:#cfc8d6}
.v26-step.done .v26-sdot{background:linear-gradient(135deg,#36e07a,#1fae5a);border-color:transparent;color:#04250f}
@keyframes v26pulse{0%{box-shadow:0 0 0 0 rgba(168,85,247,.5)}70%{box-shadow:0 0 0 10px rgba(168,85,247,0)}100%{box-shadow:0 0 0 0 rgba(168,85,247,0)}}
/* premium upgrade for existing small spinners */
.v25-spin,.v4-spin,.ns-load .sp,.vsc-spin{background:conic-gradient(from 0deg,transparent 0deg,var(--v26-c1) 200deg,var(--v26-c2) 320deg,var(--v26-c3) 360deg)!important;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 4px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,#0000 calc(100% - 4px),#000 calc(100% - 3px));border:none!important}
@media(prefers-reduced-motion:reduce){.v26-step.cur .v26-sdot{animation:none}.v26-step.cur .v26-sdot:after{animation:none}}

/* ---------- 4. PRODUCER HUB ---------- */
.v26-navbtn{display:inline-flex;align-items:center;gap:7px;background:linear-gradient(135deg,var(--v26-c1),var(--v26-c2) 60%,var(--v26-c3));border:none;color:#fff;font-family:'Onest',Onest,sans-serif;font-weight:700;font-size:13.5px;padding:9px 16px;border-radius:12px;cursor:pointer;box-shadow:0 10px 26px -12px rgba(168,85,247,.8);transition:transform .18s,filter .18s}
.v26-navbtn:hover{transform:translateY(-2px);filter:brightness(1.08)}
#v26hub{position:fixed;inset:0;z-index:16100;display:none;background:rgba(8,7,11,.72);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:18px;align-items:flex-start;justify-content:center;overflow-y:auto}
#v26hub.on{display:flex;animation:v26fade .3s ease both}
@keyframes v26fade{from{opacity:0}to{opacity:1}}
.v26-card{width:min(880px,100%);margin:auto;background:linear-gradient(180deg,#16121c,#0e0c12);border:1px solid rgba(255,255,255,.1);border-radius:20px;box-shadow:0 40px 110px -30px rgba(0,0,0,.85);overflow:hidden}
.v26-h{display:flex;align-items:center;gap:12px;padding:18px 22px;border-bottom:1px solid rgba(255,255,255,.07)}
.v26-h .ic{width:40px;height:40px;border-radius:12px;flex:none;display:grid;place-items:center;font-size:20px;background:linear-gradient(135deg,rgba(34,211,238,.2),rgba(168,85,247,.14));border:1px solid rgba(168,85,247,.25)}
.v26-h .tt{font-family:'Onest',sans-serif;font-weight:800;font-size:18px;color:#fff}
.v26-h .tt small{display:block;font-weight:500;font-size:12px;color:#9b95a6;margin-top:2px}
.v26-h .x{margin-left:auto;width:36px;height:36px;border-radius:11px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:#fff;font-size:18px;cursor:pointer}
.v26-h .x:hover{background:rgba(255,46,77,.2)}
.v26-tabs{display:flex;gap:5px;padding:12px 22px 0;flex-wrap:wrap}
.v26-tab{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:#cbc6d4;font-family:inherit;font-size:13px;font-weight:600;padding:9px 15px;border-radius:11px;cursor:pointer;transition:.15s}
.v26-tab.on{background:linear-gradient(135deg,var(--v26-c1),var(--v26-c2));color:#fff;border-color:transparent}
.v26-body{padding:20px 22px 26px;max-height:70vh;overflow-y:auto}
.v26-lab{font-size:12.5px;color:#9b95a6;font-weight:600;margin:0 0 7px}
.v26-in{width:100%;box-sizing:border-box;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:12px;color:#fff;padding:12px 14px;font-size:14px;font-family:inherit;outline:none;transition:border-color .15s}
.v26-in:focus{border-color:var(--v26-c1)}
textarea.v26-in{resize:vertical;min-height:60px}
.v26-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,var(--v26-c1),var(--v26-c2) 60%,var(--v26-c3));border:none;color:#fff;font-family:inherit;font-weight:700;font-size:14px;padding:12px 18px;border-radius:13px;cursor:pointer;transition:transform .15s,filter .15s;box-shadow:0 10px 28px -14px rgba(168,85,247,.8)}
.v26-btn:hover{transform:translateY(-1px);filter:brightness(1.07)}
.v26-btn:disabled{opacity:.55;cursor:default;transform:none}
.v26-btn.ghost{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);box-shadow:none;font-weight:600}
.v26-btn.sm{padding:8px 13px;font-size:12.5px;border-radius:10px}
.v26-row{display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.v26-note{font-size:12.5px;color:#9b95a6;line-height:1.55;margin-top:10px}
.v26-err{background:rgba(255,46,77,.1);border:1px solid rgba(255,46,77,.32);border-radius:12px;padding:12px 14px;color:#ffd0d8;font-size:13.5px;line-height:1.5;margin-top:10px}
.v26-mc{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:14px 16px;margin-top:11px}
.v26-mc h4{margin:0 0 9px;font-size:13.5px;color:#fff;display:flex;align-items:center;gap:8px}
.v26-mc .kv{font-size:13.5px;line-height:1.6;color:#dcd8e3;margin:0 0 6px}
.v26-mc .kv b{color:#fff}
.v26-cal{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}
.v26-week{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:12px;min-height:120px}
.v26-week .wh{font-family:'Onest',sans-serif;font-weight:700;font-size:12.5px;color:#7fe3ff;margin-bottom:9px}
.v26-cal-it{background:rgba(168,85,247,.08);border:1px solid rgba(168,85,247,.22);border-radius:10px;padding:9px 10px;margin-bottom:8px;position:relative}
.v26-cal-it .d{font-size:10.5px;font-weight:700;color:#c9a9ff;margin-bottom:3px}
.v26-cal-it .t{font-size:12.5px;color:#eee;line-height:1.35}
.v26-cal-it .f{font-size:10px;color:#9b95a6;margin-top:4px}
.v26-cal-it .acts{display:flex;gap:5px;margin-top:7px}
.v26-cal-it .acts button{font-size:10.5px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:#cbc6d4;border-radius:7px;padding:3px 7px;cursor:pointer}
.v26-cal-it .acts button:hover{background:rgba(34,211,238,.18);color:#fff}
.v26-ol{margin:0;padding-left:20px;color:#dcd8e3;font-size:14px;line-height:1.7}
.v26-ol li{margin-bottom:6px}
.v26-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:4px}
.v26-tag{font-size:12px;padding:5px 11px;border-radius:8px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:#cfe0f0}
.v26-fcard{display:flex;gap:12px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:13px;padding:13px 15px;margin-top:9px}
.v26-fcard .n{flex:none;width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,var(--v26-c1),var(--v26-c2));color:#fff;display:grid;place-items:center;font-weight:800;font-size:13px}
.v26-fcard .ft{font-weight:700;font-size:14px;color:#fff}
.v26-fcard .fw{font-size:12.5px;color:#9b95a6;margin-top:3px;line-height:1.45}
.v26-fcard .fh{font-size:13px;color:#dcd8e3;margin-top:5px;line-height:1.5}
.v26-cp{margin-left:auto;font-size:11.5px;color:#9b95a6;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:4px 9px;cursor:pointer;flex:none}
.v26-cp:hover{color:#fff}
@media(max-width:680px){.v26-cal{grid-template-columns:1fr 1fr}.v26-navbtn span{display:none}.v26-navbtn{padding:9px 12px}}
@media(max-width:480px){.v26-cal{grid-template-columns:1fr}.v26-body{padding:16px 14px 22px}.v26-h{padding:15px 16px}}

/* ===== v26m2css ===== */
/* ======================================================================
   VIORA v26.m2 — ЕДИНЫЙ ПРЕМИАЛЬНЫЙ ЗАГРУЗЧИК
   Перехватывает ЛЮБОЙ спиннер на странице (главный экран, v25, next-shoot,
   чат-студия) и заменяет на орбитальную анимацию + живые статусы. Адаптивно.
   ====================================================================== */
.v26orb{position:relative;display:inline-grid;place-items:center;flex:none;--g:9px;--bw:3px;width:60px;height:60px;vertical-align:middle}
.v26orb span{position:absolute;border-radius:50%;border:var(--bw) solid transparent;will-change:transform}
.v26orb span:nth-child(1){inset:0;border-top-color:#22d3ee;border-right-color:#22d3ee;animation:v26orbSpin 1.1s linear infinite;filter:drop-shadow(0 0 6px rgba(34,211,238,.5))}
.v26orb span:nth-child(2){inset:var(--g);border-bottom-color:#a855f7;border-left-color:#a855f7;animation:v26orbSpin 1.6s linear reverse infinite}
.v26orb span:nth-child(3){inset:calc(var(--g)*2);border-top-color:#ff2e4d;border-right-color:#ff5a78;animation:v26orbSpin .85s linear infinite}
.v26orb b{width:26%;height:26%;border-radius:50%;background:radial-gradient(circle,#fff 0%,#a855f7 70%);box-shadow:0 0 14px rgba(168,85,247,.9),0 0 28px rgba(34,211,238,.55);animation:v26orbCore 1.5s ease-in-out infinite}
@keyframes v26orbSpin{to{transform:rotate(360deg)}}
@keyframes v26orbCore{0%,100%{transform:scale(.65);opacity:.65}50%{transform:scale(1.1);opacity:1}}
/* центровка и отступы в основных загрузочных экранах */
#loading .v26orb{margin:0 auto 24px}
.v25-load .v26orb{display:block;margin:0 auto 16px}
.vd-loading .v26orb,.v4-aicard .v26orb{margin:0 auto 10px}
/* живые статус-строки + индикатор прогресса */
.v26-rot{font-size:13.5px;color:#9fc1e3;margin-top:11px;min-height:19px;text-align:center;transition:opacity .3s var(--v26-ease,cubic-bezier(.22,.61,.36,1))}
.v26-rot.fade{opacity:0}
.v26-prog{position:relative;height:5px;border-radius:6px;background:rgba(255,255,255,.08);overflow:hidden;width:min(280px,72vw);margin:15px auto 0}
.v26-prog i{position:absolute;top:0;left:-42%;width:42%;height:100%;border-radius:6px;background:linear-gradient(90deg,#22d3ee,#a855f7,#ff2e4d);animation:v26progSlide 1.25s var(--v26-ease,cubic-bezier(.4,0,.2,1)) infinite}
@keyframes v26progSlide{0%{left:-42%}100%{left:100%}}
@media(max-width:520px){.v26orb{transform:scale(.9)}.v26-rot{font-size:12.5px}}
@media(prefers-reduced-motion:reduce){.v26orb span{animation-duration:2.6s!important}.v26orb b{animation:none}.v26-prog i{animation-duration:3s}}

/* ===== v26m3css ===== */
/* VIORA v26.m3 — единый Штаб, аккордеоны, честный режим, мобильные наложения */
.v26m3-dup-hidden{display:none !important;}
#v26m3launch{display:flex;flex-wrap:wrap;gap:8px;padding:12px 22px 4px;align-items:stretch}
#v26m3launch .v26m3-lh{flex-basis:100%;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#9b95a6;margin:0 0 2px}
.v26m3-lbtn{display:flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:#e9e6f0;font-family:inherit;font-size:13px;font-weight:600;padding:10px 14px;border-radius:12px;cursor:pointer;transition:.15s;line-height:1.25}
.v26m3-lbtn:hover{background:rgba(255,46,77,.16);border-color:rgba(255,46,77,.4)}
.v26m3-lbtn .ic{font-size:16px;flex:none}
.v26m3-acc-head{display:flex;align-items:center;gap:10px;width:100%;box-sizing:border-box;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:#f2eff7;font-family:inherit;font-weight:700;font-size:15px;padding:13px 16px;border-radius:14px;cursor:pointer;margin:10px 0 0;transition:.15s}
.v26m3-acc-head:hover{background:rgba(255,255,255,.07)}
.v26m3-acc-head .sub{font-weight:500;font-size:12px;color:#9b95a6}
.v26m3-acc-head .chev{margin-left:auto;transition:transform .2s;font-size:12px;opacity:.7}
.v26m3-acc-head.open .chev{transform:rotate(180deg)}
.v26m3-collapsed{display:none !important}
.v26m3-banner{border:1px solid rgba(255,176,32,.35);background:rgba(255,176,32,.08);border-radius:14px;padding:14px 16px;margin:10px 0 0;color:#ffe0a8;font-size:13.5px;line-height:1.5}
.v26m3-banner b{color:#fff}
.v26m3-banner .cta{display:inline-block;margin-top:10px;background:linear-gradient(135deg,#ff2e4d,#ff7a3d);color:#fff;border:none;font-family:inherit;font-weight:700;font-size:13px;padding:9px 16px;border-radius:11px;cursor:pointer}
@media(max-width:430px){
  #v26m3launch{padding:10px 12px 2px;gap:6px}
  .v26m3-lbtn{font-size:12.5px;padding:9px 11px;flex:1 1 calc(50% - 6px);min-width:0;justify-content:center;text-align:center}
  .v26m3-lbtn .ic{font-size:15px}
  .v26m3-acc-head{font-size:14px;padding:11px 13px;flex-wrap:wrap}
  .v26m3-acc-head .sub{flex-basis:100%;margin:2px 0 0}
  .v26m3-acc-head .chev{margin-left:auto}
  .v26m3-banner{font-size:13px;padding:12px 13px}
  .v26-mc,.v24-brain,#v24Brain,#v23mPath,.v16-body,.v26m3-banner,.v26-note{overflow-wrap:anywhere;word-break:break-word}
  .v26-cal{grid-template-columns:1fr !important}
  .v26-row{flex-wrap:wrap}
  .v26-card{max-width:100% !important}
  .v26-h .tt{min-width:0;overflow-wrap:anywhere}
  .v26-tab,.v16-tab{white-space:normal}
}

/* ===== v27css ===== */
/* VIORA v27 — экономия Mistral + модель пользователя */
#v4ov_v12agent{z-index:16200 !important;}

/* ===== v28css ===== */
/* VIORA v28 — мозг: доказательная база + контроль качества (без UI) */

/* ===== v28m2css ===== */
/* VIORA v28.m2 — глубже анализ + живой нишевой радар (без UI) */

/* ===== v28m3css ===== */
/* VIORA v28.m3 — контент-ДНК: суть роликов + голос аудитории (без UI) */

/* ===== v28m4css ===== */
/* VIORA v28.m4 — петля обучения + анти-галлюцинация + предиктор (без UI) */

/* ===== v28m5css ===== */
/* VIORA v28.m5 — анти-галлюцинация 2.0 + бюджет контекста + gap-анализ (без UI) */

/* ===== v29m6css ===== */
/* VIORA v29.m6 — мышление + подсказки + углублённый серч + анти-галлюцинация 3.0 (без UI) */

/* ===== v28m7css ===== */
/* ====== VIORA v28.m7 — Виора-Аналитик (UI) ====== */
.v29lab-btn{display:flex;align-items:center;gap:8px;border:1px solid rgba(120,90,255,.4);background:linear-gradient(135deg,rgba(120,90,255,.18),rgba(255,46,77,.12));color:#efeaff;font-family:inherit;font-size:13px;font-weight:700;padding:10px 14px;border-radius:12px;cursor:pointer;transition:.15s}
.v29lab-btn:hover{background:linear-gradient(135deg,rgba(120,90,255,.3),rgba(255,46,77,.2));border-color:rgba(120,90,255,.7)}
.v29lab-btn .ic{font-size:16px;flex:none}
#v29lab{position:fixed;inset:0;z-index:16300;display:none;background:rgba(8,7,11,.82);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:24px;overflow-y:auto;align-items:flex-start;justify-content:center}
#v29lab.on{display:flex;animation:v29fade .25s ease both}
@keyframes v29fade{from{opacity:0}to{opacity:1}}
.v29-card{width:100%;max-width:760px;background:#14121a;border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:0;overflow:hidden;box-shadow:0 30px 80px -30px rgba(0,0,0,.7);margin:auto}
.v29-h{display:flex;align-items:center;gap:12px;padding:18px 22px;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(135deg,rgba(120,90,255,.14),transparent)}
.v29-h .ic{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;background:linear-gradient(135deg,#785aff,#ff2e4d)}
.v29-h .tt{font-weight:800;font-size:17px;color:#fff;line-height:1.2}
.v29-h .tt small{display:block;font-weight:500;font-size:12px;color:#9b95a6;margin-top:2px}
.v29-h .x{margin-left:auto;width:36px;height:36px;border-radius:11px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:#fff;font-size:18px;cursor:pointer}
.v29-h .x:hover{background:rgba(255,46,77,.2)}
.v29-body{padding:20px 22px 26px}
.v29-ask{display:flex;gap:10px;flex-wrap:wrap}
.v29-ask input{flex:1;min-width:0;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:12px;color:#fff;font-family:inherit;font-size:14px;padding:12px 14px}
.v29-ask input:focus{outline:none;border-color:rgba(120,90,255,.6)}
.v29-go{background:linear-gradient(135deg,#785aff,#ff2e4d);border:none;color:#fff;font-family:inherit;font-weight:700;font-size:14px;padding:12px 18px;border-radius:12px;cursor:pointer;white-space:nowrap}
.v29-go:disabled{opacity:.5;cursor:default}
.v29-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}
.v29-chip{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#cbc6d4;font-family:inherit;font-size:12px;padding:7px 11px;border-radius:999px;cursor:pointer}
.v29-chip:hover{background:rgba(120,90,255,.2);color:#fff}
.v29-out{margin-top:18px}
.v29-stage{display:flex;align-items:center;gap:9px;font-size:13px;color:#cbc6d4;padding:7px 0}
.v29-stage .dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.2);flex:none}
.v29-stage.done .dot{background:#43d17a}
.v29-stage.cur .dot{background:#785aff;animation:v29pulse 1s infinite}
@keyframes v29pulse{0%,100%{opacity:1}50%{opacity:.4}}
.v29-block{border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.03);border-radius:14px;padding:14px 16px;margin-top:12px}
.v29-block h4{margin:0 0 8px;font-size:13px;font-weight:700;color:#efeaff;letter-spacing:.02em}
.v29-answer{font-size:15px;line-height:1.55;color:#f2eff7}
.v29-act{display:flex;gap:10px;padding:10px 0;border-top:1px solid rgba(255,255,255,.06)}
.v29-act:first-of-type{border-top:none}
.v29-act .n{width:22px;height:22px;border-radius:7px;background:rgba(120,90,255,.25);color:#cdbcff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex:none}
.v29-act .txt{font-size:13.5px;line-height:1.45;color:#e9e6f0}
.v29-act .txt .why{display:block;font-size:12px;color:#9b95a6;margin-top:3px}
.v29-conf{display:inline-block;font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;margin-left:8px}
.v29-conf.h{background:rgba(67,209,122,.18);color:#7be0a0}
.v29-conf.m{background:rgba(255,176,32,.18);color:#ffce7a}
.v29-conf.l{background:rgba(255,90,90,.18);color:#ff9d9d}
.v29-trace{margin-top:12px}
.v29-trace summary{cursor:pointer;font-size:12.5px;color:#9b95a6;padding:6px 0}
.v29-trace .tw{font-size:12.5px;color:#b8b2c4;line-height:1.5;white-space:pre-wrap}
.v29-err{color:#ff9d9d;font-size:13.5px;padding:10px 0}
.v29-spin{width:16px;height:16px;border:2px solid rgba(255,255,255,.2);border-top-color:#785aff;border-radius:50%;display:inline-block;animation:v29sp .7s linear infinite;vertical-align:-3px;margin-right:7px}
@keyframes v29sp{to{transform:rotate(360deg)}}
@media(max-width:560px){
  #v29lab{padding:0}
  .v29-card{max-width:100%;min-height:100%;border-radius:0;border:none}
  .v29-h{padding:14px 16px;position:sticky;top:0;z-index:2;background:#16131f}
  .v29-h .tt{font-size:15px}
  .v29-body{padding:16px 14px 40px}
  .v29-ask{gap:8px}
  .v29-ask input{font-size:16px;padding:12px}
  .v29-go{width:100%;padding:13px}
  .v29-answer{font-size:14.5px}
  .v29-block{padding:13px 13px}
  .v29-act .txt{font-size:13px}
}

/* ===== v28m8css ===== */
/* ====== VIORA v28.m8 — Студия роста (UI) ====== */
#v29studio{position:fixed;inset:0;z-index:16320;display:none;background:rgba(8,7,11,.82);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:24px;overflow-y:auto;align-items:flex-start;justify-content:center}
#v29studio.on{display:flex;animation:v29fade .25s ease both}
.v29s-card{width:100%;max-width:780px;background:#14121a;border:1px solid rgba(255,255,255,.1);border-radius:20px;overflow:hidden;box-shadow:0 30px 80px -30px rgba(0,0,0,.7);margin:auto}
.v29s-tabs{display:flex;gap:6px;padding:12px 18px 0;flex-wrap:wrap;border-bottom:1px solid rgba(255,255,255,.06)}
.v29s-tab{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:#cbc6d4;font-family:inherit;font-size:13px;font-weight:600;padding:9px 14px;border-radius:11px 11px 0 0;cursor:pointer;transition:.15s}
.v29s-tab.on{background:linear-gradient(135deg,rgba(120,90,255,.3),rgba(255,46,77,.18));color:#fff;border-color:transparent}
@media(max-width:560px){
  #v29studio{padding:0}
  .v29s-card{max-width:100%;min-height:100%;border-radius:0;border:none}
  .v29s-tabs{position:sticky;top:64px;background:#16131f;z-index:2;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
  .v29s-tabs::-webkit-scrollbar{display:none}
  .v29s-tab{white-space:nowrap;font-size:12.5px;padding:9px 11px}
}

/* ===== vDZcss ===== */
/* ============================================================
   VIORA — DESIGN LAYER «КИНОПРОДАКШН» (vDZ)
   Премиальный редизайн всех панелей: матовое золото вместо
   неоновой радуги, сегмент-табы, тёплый графит, hairline-рамки.
   Изолированный слой поверх всего. Логику не трогает.
   ============================================================ */

/* ── палитра + перекрас встроенных переменных хаба ── */
.v26-card, .v29-card, .v29s-card{
  --dz-gold:#E0A24A; --dz-gold-soft:#C88A38; --dz-gold-deep:#9A6520;
  --dz-text:#F1EADD; --dz-mut:#A89B85;
  --dz-line:rgba(255,255,255,.075);
  --dz-line-gold:rgba(224,162,74,.38);
  --v26-c1:#E0A24A; --v26-c2:#C88A38; --v26-c3:#9A6520;
}

/* ── поверхность панелей: тёплый графит, тонкий верхний отблеск ── */
.v26-card, .v29-card, .v29s-card{
  background:
    radial-gradient(130% 90% at 50% -12%, rgba(224,162,74,.07), transparent 55%),
    linear-gradient(180deg,#15140F 0%,#100F0C 100%) !important;
  border:1px solid rgba(255,255,255,.085) !important;
  border-radius:18px !important;
  box-shadow:0 1px 0 rgba(255,255,255,.05) inset,
             0 50px 120px -42px rgba(0,0,0,.92) !important;
}

/* ── шапки ── */
.v26-h, .v29-h, .v29s-h{
  background:linear-gradient(180deg, rgba(224,162,74,.045), transparent) !important;
  border-bottom:1px solid var(--dz-line) !important;
}
.v26-h .ic, .v29-h .ic, .v29s-h .ic{
  background:linear-gradient(180deg,#221E15,#16130E) !important;
  border:1px solid var(--dz-line-gold) !important;
  color:#E8B86C !important;
  box-shadow:0 1px 0 rgba(255,255,255,.06) inset !important;
}
.v26-h .tt, .v29-h .tt, .v29s-h .tt{ letter-spacing:.005em !important; }
.v26-h .x:hover, .v29-h .x:hover, .v29s-h .x:hover{
  background:rgba(224,162,74,.16) !important; border-color:var(--dz-line-gold) !important;
}

/* ── табы → сегмент-контрол (без радужных пилюль) ── */
.v26-tab, .v29s-tab{
  background:transparent !important;
  border:1px solid transparent !important;
  color:var(--dz-mut) !important;
  border-radius:10px !important;
  letter-spacing:.004em !important;
  transition:background .15s, color .15s, border-color .15s !important;
}
.v26-tab:hover, .v29s-tab:hover{
  color:var(--dz-text) !important; background:rgba(255,255,255,.045) !important;
}
.v26-tab.on, .v29s-tab.on{
  background:rgba(224,162,74,.13) !important;
  border-color:rgba(224,162,74,.42) !important;
  color:#F3D69E !important;
  box-shadow:0 1px 0 rgba(255,255,255,.05) inset !important;
}

/* ── основные кнопки → матовое золото ── */
.v26-btn, .v29lab-btn, .v11-btn, .v25-btn, .v25-gatebtn{
  background:linear-gradient(180deg,#E8AE59,#D1902E) !important;
  color:#1B1407 !important;
  border:1px solid rgba(255,255,255,.16) !important;
  border-radius:12px !important;
  font-weight:700 !important;
  letter-spacing:.004em !important;
  text-shadow:none !important;
  box-shadow:0 1px 0 rgba(255,255,255,.30) inset,
             0 10px 24px -15px rgba(0,0,0,.85) !important;
  transition:transform .15s, filter .15s, box-shadow .15s !important;
}
.v26-btn:hover, .v29lab-btn:hover, .v11-btn:hover, .v25-btn:hover, .v25-gatebtn:hover{
  filter:brightness(1.05) !important;
  transform:translateY(-1px) !important;
  box-shadow:0 1px 0 rgba(255,255,255,.34) inset,
             0 16px 32px -15px rgba(0,0,0,.9) !important;
}
.v26-btn:disabled{ opacity:.5 !important; transform:none !important; filter:none !important; }
/* убрать «шиммерный» блик — главный признак ИИ-слопа */
.v11-btn::after{ display:none !important; }

/* ── вторичные / ghost ── */
.v26-btn.ghost{
  background:rgba(255,255,255,.045) !important;
  color:var(--dz-text) !important;
  border:1px solid var(--dz-line) !important;
  box-shadow:none !important;
}
.v26-btn.ghost:hover{
  background:rgba(255,255,255,.075) !important;
  border-color:var(--dz-line-gold) !important;
  transform:none !important;
}

/* ── карточки недель ── */
.v26-week{
  background:rgba(255,255,255,.022) !important;
  border:1px solid var(--dz-line) !important;
  border-radius:12px !important;
}
.v26-week .wh{
  color:#E8B86C !important;
  letter-spacing:.03em !important;
  text-transform:uppercase !important;
  font-size:11.5px !important;
}

/* ── поля ввода ── */
.v26-in, .v10-in, .v11-in,
.v26-card select, .v29-card select, .v29s-card select{
  background:rgba(255,255,255,.04) !important;
  border:1px solid var(--dz-line) !important;
  border-radius:11px !important;
  color:var(--dz-text) !important;
}
.v26-in:focus, .v10-in:focus, .v11-in:focus,
.v26-card select:focus, .v29-card select:focus, .v29s-card select:focus{
  border-color:var(--dz-line-gold) !important;
  box-shadow:0 0 0 3px rgba(224,162,74,.14) !important;
  background:rgba(255,255,255,.055) !important;
}

/* ── лаунчер-бар инструментов ── */
#v26m3launch .v26m3-lbtn{
  background:rgba(255,255,255,.04) !important;
  border:1px solid var(--dz-line) !important;
  color:var(--dz-text) !important;
  border-radius:10px !important;
  letter-spacing:.004em !important;
  transition:background .15s, border-color .15s !important;
}
#v26m3launch .v26m3-lbtn:hover{
  background:rgba(224,162,74,.1) !important;
  border-color:var(--dz-line-gold) !important;
}
#v26m3launch .v26m3-lh{ color:var(--dz-mut) !important; letter-spacing:.05em !important; }

/* ── подсказки ── */
.v26-note, .v29-note{ color:var(--dz-mut) !important; }

/* ── скроллбары внутри панелей ── */
.v26-body::-webkit-scrollbar, .v29-card *::-webkit-scrollbar, .v29s-card *::-webkit-scrollbar{ width:9px; height:9px; }
.v26-body::-webkit-scrollbar-thumb, .v29-card *::-webkit-scrollbar-thumb, .v29s-card *::-webkit-scrollbar-thumb{
  background:rgba(224,162,74,.26) !important; border-radius:8px;
}
.v26-body::-webkit-scrollbar-thumb:hover, .v29-card *::-webkit-scrollbar-thumb:hover, .v29s-card *::-webkit-scrollbar-thumb:hover{
  background:rgba(224,162,74,.42) !important;
}
.v26-body::-webkit-scrollbar-track{ background:transparent !important; }

/* ===== vph2-css ===== */
/* A) Контейнер-стек для всех всплывающих карточек в правом нижнем углу */
#vph2-stack{position:fixed;right:14px;bottom:14px;z-index:99990;display:flex;flex-direction:column;gap:10px;align-items:flex-end;pointer-events:none;max-width:min(380px,calc(100vw - 28px))}
#vph2-stack > *{position:static!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;margin:0!important;pointer-events:auto}
@media (max-width:600px){#vph2-stack{left:12px;right:12px;bottom:12px;max-width:none;align-items:stretch}#vph2-stack > *{width:100%!important;max-width:none!important}}

/* C) UX-полировка */
@media (pointer:coarse){ button,.v5p-act,[role="button"],a.btn,.btn{ min-height:44px; } }
:focus-visible{ outline:2px solid var(--accent,#FF2D55); outline-offset:2px; border-radius:6px; }
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion:reduce){ *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important;} }
/* страховка от горизонтального переполнения */
html,body{overflow-x:hidden;max-width:100%;}

/* ================= v31: БОЛЬШОЙ ПАК УЛУЧШЕНИЙ ================= */

/* --- Панель «Динамика канала» (66_history_delta) --- */
#vDeltaPanel{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:18px 20px;margin:14px 0}
#vDeltaPanel .vd-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:14px}
#vDeltaPanel .vd-head h3{margin:0;font-size:16px;font-weight:800;font-family:'Onest',sans-serif}
#vDeltaPanel .vd-sub{font-size:12px;color:var(--muted-2,rgba(255,255,255,.45))}
#vDeltaPanel .vd-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
#vDeltaPanel .vd-cell{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:6px}
#vDeltaPanel .vd-lab{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-2,rgba(255,255,255,.45))}
#vDeltaPanel .vd-val{font-size:20px;font-weight:800;font-family:'Onest',sans-serif;line-height:1.2}
#vDeltaPanel .vd-diff{font-size:12.5px;font-weight:700;vertical-align:2px;margin-left:2px}
#vDeltaPanel .vd-diff.up{color:#4ade80}
#vDeltaPanel .vd-diff.down{color:#ff5470}
#vDeltaPanel .vd-diff.flat{color:var(--muted-2,rgba(255,255,255,.45))}
#vDeltaPanel .vd-spark{display:block;margin-top:2px}
#vDeltaPanel .vd-first{margin-top:12px;font-size:12.5px;color:var(--muted,rgba(255,255,255,.65))}
#vDeltaPanel .vd-first b{color:#fff}

/* --- Кнопка «наверх» с прогрессом (67_uipolish) --- */
#vTopBtn{position:fixed;right:18px;bottom:18px;width:44px;height:44px;border-radius:50%;border:0;padding:0;background:rgba(16,16,20,.85);backdrop-filter:blur(8px);cursor:pointer;z-index:900;display:grid;place-items:center;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .25s,transform .25s;box-shadow:0 4px 18px rgba(0,0,0,.4)}
#vTopBtn.show{opacity:1;transform:none;pointer-events:auto}
#vTopBtn svg{position:absolute;inset:4px}
#vTopBtn .vt-arr{position:relative;font-size:16px;font-weight:800;color:#fff;line-height:1}
#vTopBtn:hover{transform:translateY(-2px)}
#vTopBtn #vTopProg{transition:stroke-dashoffset .1s linear}

/* --- Быстрая навигация по отчёту (67_uipolish) --- */
#vQuickNav{position:fixed;left:50%;top:70px;transform:translate(-50%,-90px);z-index:890;display:flex;gap:4px;padding:5px;border-radius:999px;background:linear-gradient(180deg,rgba(28,21,32,.72),rgba(15,12,19,.66));border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(18px) saturate(1.6);-webkit-backdrop-filter:blur(18px) saturate(1.6);box-shadow:0 14px 40px -12px rgba(0,0,0,.65),0 0 0 1px rgba(255,45,85,.07),inset 0 1px 0 rgba(255,255,255,.09);max-width:calc(100vw - 90px);overflow-x:auto;scrollbar-width:none;transition:transform .35s cubic-bezier(.22,1,.36,1),opacity .35s cubic-bezier(.22,1,.36,1);opacity:0}
#vQuickNav::-webkit-scrollbar{display:none}
#vQuickNav.show{transform:translate(-50%,0);opacity:1}
#vQuickNav button{border:0;background:transparent;color:var(--muted,rgba(255,255,255,.65));font-size:12px;font-weight:600;font-family:'Onest',sans-serif;padding:7px 12px;border-radius:999px;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}
#vQuickNav button:hover{background:rgba(255,255,255,.08);color:#fff}
@media (max-width:640px){#vQuickNav{display:none}}

/* --- Reveal-анимация карточек (67_uipolish) --- */
.v-rv{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}
.v-rv.v-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.v-rv{opacity:1!important;transform:none!important}}

/* --- Пауза фоновых анимаций в скрытой вкладке (65_perf) --- */
.v-hidden-tab *{animation-play-state:paused!important}

/* --- Мобильная полировка (v31) --- */
@media (max-width:640px){
  #vDeltaPanel{padding:14px}
  #vDeltaPanel .vd-grid{grid-template-columns:repeat(2,1fr);gap:8px}
  #vDeltaPanel .vd-val{font-size:17px}
  #vTopBtn{right:12px;bottom:12px}
}


/* ==== V32 QUALITY PASS: аудит по форматам + «Подключить канал» ==== */
:root{--ease-out:cubic-bezier(.22,1,.36,1)}
.fmt-audit{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;margin:14px 0 18px}
.fa-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:16px 18px;transition:border-color .25s var(--ease-out)}
.fa-card:hover{border-color:rgba(255,255,255,.18)}
.fa-h{font-weight:700;font-size:15px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.fa-meta{font-size:12px;color:var(--muted,#9a9aa2);font-weight:500;margin-left:auto}
.fa-txt{margin-top:9px;font-size:13.5px;line-height:1.55;color:rgba(235,235,240,.88)}
.connect-row{display:flex;align-items:center;gap:12px;margin-top:16px;flex-wrap:wrap;justify-content:center}
.connect-note{font-size:12px;color:var(--muted,#9a9aa2);max-width:470px;text-align:left;line-height:1.45}


/* ===== V32: факт vs прогноз, A/B-память, шаринг, Analytics по форматам ===== */
.fx-legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:9px;font-size:12px;color:var(--muted)}
.fx-legend .lg.real{color:#36e0a0}
.fx-legend .lg.fc{color:rgba(255,255,255,.55)}
.rw-ab{margin-left:auto;flex:0 0 auto;background:rgba(54,224,160,.1);border:1px solid rgba(54,224,160,.35);color:#36e0a0;border-radius:8px;padding:3px 10px;font-size:11.5px;font-family:inherit;cursor:pointer;transition:background .18s cubic-bezier(.22,1,.36,1),transform .18s cubic-bezier(.22,1,.36,1)}
.rw-ab:hover{background:rgba(54,224,160,.22)}
.rw-ab:active{transform:scale(.96)}
.rw-ab:disabled{opacity:.75;cursor:default;transform:none}
.fa-real{margin-top:9px;font-size:12.5px;line-height:1.55;color:var(--muted);border-top:1px dashed rgba(255,255,255,.12);padding-top:8px}
.fa-real b{color:#fff}
.fa-vs{grid-column:1/-1;background:rgba(54,224,160,.07);border:1px solid rgba(54,224,160,.22);border-radius:14px;padding:12px 16px;font-size:13.5px;line-height:1.6}
.aud-hist{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:14px 18px;margin:14px 0}
.ah-score{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:14.5px}
.ah-score b{font-size:18px}
.ah-leak{font-size:12.5px;color:var(--muted)}
.ah-plan{margin-top:8px;font-size:13px;color:#36e0a0}
.ah-log{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.ah-chip{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:999px;padding:3px 11px;font-size:12px;color:var(--muted)}
.ab-list{padding:4px 18px}
.ab-row{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.ab-row:last-child{border-bottom:none}
.ab-t{display:flex;flex-wrap:wrap;gap:8px;font-size:14px;line-height:1.5}
.ab-t .old{color:var(--muted);text-decoration:line-through;text-decoration-color:rgba(255,84,112,.6)}
.ab-t .arr{color:var(--muted)}
.ab-t .new{font-weight:600}
.ab-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:6px;font-size:12.5px;color:var(--muted)}
.ab-st.up{color:#36e0a0}.ab-st.down{color:#ff5470}.ab-st.wait{color:#ffb020}
.ab-x{margin-left:auto;background:none;border:none;color:var(--muted);cursor:pointer;font-size:13px;padding:4px 6px;border-radius:8px;transition:color .18s cubic-bezier(.22,1,.36,1)}
.ab-x:hover{color:#ff5470}
.vshare-ov{position:fixed;inset:0;z-index:99990;background:rgba(5,4,8,.93);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);overflow-y:auto;padding:36px 16px 60px;display:flex;justify-content:center;align-items:flex-start;animation:vshIn .3s cubic-bezier(.22,1,.36,1)}
@keyframes vshIn{from{opacity:0}to{opacity:1}}
.vsh-card{width:min(680px,100%);background:#121016;border:1px solid rgba(255,255,255,.09);border-radius:22px;padding:24px 26px 28px;font-family:Onest,sans-serif;animation:vshUp .45s cubic-bezier(.22,1,.36,1)}
@keyframes vshUp{from{transform:translateY(16px);opacity:0}to{transform:none;opacity:1}}
.vsh-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.vsh-brand{font-weight:800;font-size:17px;letter-spacing:-.02em}
.vsh-brand span{color:#FF2D55}
.vsh-x{background:none;border:none;color:var(--muted);font-size:16px;cursor:pointer;padding:6px 8px;border-radius:10px}
.vsh-x:hover{color:#fff;background:rgba(255,255,255,.06)}
.vsh-head{display:flex;gap:18px;align-items:center;margin-bottom:16px}
.vsh-score{flex:0 0 auto;width:86px;height:86px;border:2.5px solid;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:800}
.vsh-score span{font-size:12px;font-weight:500;opacity:.7;margin-left:2px}
.vsh-cht{font-size:20px;font-weight:700;letter-spacing:-.01em}
.vsh-chm{font-size:13px;color:var(--muted);margin-top:4px}
.vsh-leak{background:rgba(255,45,85,.08);border:1px solid rgba(255,45,85,.25);border-radius:14px;padding:13px 16px;font-size:14px;line-height:1.6;margin-bottom:14px}
.vsh-fmt{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-bottom:14px}
.vsh-fc{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:13px 15px;font-size:13.5px;line-height:1.6;color:var(--text,#eee)}
.vsh-fc .h{font-weight:700;font-size:13px;margin-bottom:7px}
.vsh-sec{margin-bottom:14px}
.vsh-sec .h{font-weight:700;font-size:14.5px;margin-bottom:8px}
.vsh-sec ul,.vsh-sec ol{margin:0;padding-left:20px;font-size:13.5px;line-height:1.75;color:var(--text,#ddd)}
.vsh-note{font-size:12px;color:var(--muted);margin:16px 0 14px}
.vsh-cta{width:100%;background:linear-gradient(135deg,#FF2D55,#ff5470);border:none;color:#fff;font-family:inherit;font-weight:700;font-size:15px;padding:14px;border-radius:14px;cursor:pointer;transition:transform .18s cubic-bezier(.22,1,.36,1),box-shadow .18s cubic-bezier(.22,1,.36,1)}
.vsh-cta:hover{transform:translateY(-1px);box-shadow:0 10px 30px rgba(255,45,85,.35)}
.vsh-cta:active{transform:none}
@media (prefers-reduced-motion:reduce){.vshare-ov,.vsh-card{animation:none}.vsh-cta,.rw-ab{transition:none}}
@media (max-width:560px){.vsh-head{flex-direction:column;align-items:flex-start}.vsh-card{padding:20px 16px 24px}}


/* ===== V33: фирменная типографика: Unbounded (дисплейный, с кириллицей) + Onest (текст) ===== */
h1,h2,.brand,.score-ring .num,.kpi .v,.ch-stat .v,.vsh-brand,.vsh-score{font-family:'Unbounded','Onest',system-ui,sans-serif;letter-spacing:0}
h1{letter-spacing:-.015em}
.brand{font-weight:700;font-size:18px}
.section-h h2{font-weight:600}
/* кнопка подключённого канала */
#connectChannelBtn.connected{border-color:rgba(54,224,160,.45)!important;color:#36e0a0!important;background:rgba(54,224,160,.07)!important}
