/* SQBubliks v31. Shared presentation layer over the live site's styles. */
:root {
  --bg:#0b0b14; --card:#14141f; --purple:#8b5cf6; --purple2:#b59aff;
  --muted:#a3a3b6; --border:#8b5cf630; --text:#f3f4f6; --radius:16px;
}
body {
  background-color:var(--bg);
  background-image:linear-gradient(#8b5cf611 1px,transparent 1px),linear-gradient(90deg,#8b5cf611 1px,transparent 1px) !important;
  background-size:48px 48px !important;
  color:var(--text);
}
body::before { content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; background:radial-gradient(ellipse 55% 38% at 50% 5%,#6d28d91d,transparent); }
button,input,textarea { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
a,button,input,textarea { outline-offset:5px; }
:focus-visible { outline:2px solid #b897ff; }
[hidden] { display:none !important; }
svg { flex-shrink:0; }
.wrap { width:min(1200px,calc(100% - 48px)); }
.header { background:#0b0b14ed; backdrop-filter:blur(18px); border-bottom:1px solid #ffffff0d; }
.header-inner { min-height:82px; gap:16px; padding-block:12px; }
.logo img { width:38px; height:38px; }
.logo-text { font-size:1.03rem; letter-spacing:-.03em; }
.nav { gap:0; }
.nav a { font-size:.78rem; padding:9px 11px; border-radius:8px; }
.nav a.active { background:#8b5cf615; color:#b99aff; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:44px; border-radius:10px; font-size:.88rem; font-weight:600; transition:transform .2s,box-shadow .2s,border-color .2s,background .2s; }
.btn svg { width:18px; height:18px; }
.btn-primary,.btn-blue { background:linear-gradient(110deg,#7c3aed,#6d28d9); border:1px solid #aa77ff; box-shadow:inset 0 1px #ffffff1f,0 5px 24px #7c3aed20; color:white; }
.btn-primary:hover,.btn-blue:hover { background:linear-gradient(110deg,#8b5cf6,#7c3aed); box-shadow:0 6px 30px #7c3aed44; }
.btn-ghost,.btn-outline { background:#15151f; border:1px solid #ffffff23; color:#dedee9; }
.btn:hover { transform:translateY(-2px); }
.btn[disabled] { transform:none; opacity:.5; }
.header-cta { font-size:.77rem; min-height:39px; padding:8px 14px; }
.eyebrow { display:block; color:#b69aff; font-size:.65rem; font-weight:700; letter-spacing:.14em; }
.hero { padding:10px 0 65px; text-align:center; position:relative; }
.hero .badge { font-size:.63rem; letter-spacing:.14em; background:#8b5cf611; border:1px solid #8b5cf635; padding:8px 14px; margin-bottom:23px; }
.hero h1 { font-size:clamp(2.6rem,5.4vw,4.6rem); line-height:1.07; letter-spacing:-.055em; color:white; background:none; -webkit-text-fill-color:initial; margin-bottom:22px; }
.hero h1 span { color:#a47aff; }
.hero p { max-width:630px; font-size:1rem; line-height:1.75; color:#a8a8bc; margin-bottom:27px; }
.hero-actions { gap:12px; }
.hero-actions .btn { min-height:49px; padding-inline:24px; }
.hero-actions .btn-primary::after { content:"↗"; font-size:1.25rem; }
.bublik-scene { width:min(430px,100%); height:265px; margin:0 auto 5px; position:relative; isolation:isolate; }
.bublik-interact { position:absolute; inset:8px 0 0; background:none; border:none; cursor:pointer; border-radius:45%; padding:0; width:100%; color:inherit; }
.bublik-canvas { width:100%; height:100%; display:block; opacity:0; position:absolute; inset:0; transition:opacity .4s; }
.bublik-scene.ready .bublik-canvas { opacity:1; }
.bublik-scene.ready .mascot-fallback { opacity:0; }
.mascot-fallback { transition:opacity .4s; height:95%; width:100%; filter:drop-shadow(0 10px 25px #7c3aed33); }
.mascot-halo { position:absolute; width:210px; height:50px; border:1px solid #8b5cf645; border-radius:50%; bottom:6px; left:calc(50% - 105px); background:radial-gradient(ellipse,#8b5cf62b,transparent 70%); box-shadow:0 0 50px #7c3aed16; z-index:-1; }
.bublik-speech { position:absolute; top:20px; left:68%; width:max-content; max-width:220px; background:#1d172d; border:1px solid #8b5cf660; color:#dfd3ff; font-size:.75rem; padding:11px 15px; border-radius:12px 12px 12px 0; text-align:left; pointer-events:none; box-shadow:0 8px 25px #0003; z-index:2; }
.section { padding:62px 0; }
.section-head { text-align:center; margin-bottom:30px; }
.section-head h2,.reviews-head h2 { font-size:clamp(1.7rem,3.5vw,2.55rem); letter-spacing:-.045em; margin-bottom:8px; }
.section-head p { font-size:.88rem; color:var(--muted); }
.card { background:linear-gradient(135deg,#1a1827,#12121d 75%); border:1px solid #8b5cf629; border-radius:15px; padding:28px; position:relative; transition:border-color .25s,transform .25s; }
.benefits .card:hover,.technology .card:hover { transform:translateY(-4px); border-color:#8b5cf67a; }
.card .icon { width:46px; height:46px; color:#ae86ff; border:1px solid #8b5cf650; background:linear-gradient(145deg,#7c3aed35,#7c3aed0c); border-radius:12px; display:grid; place-items:center; margin-bottom:24px; box-shadow:inset 0 1px #b299ff15; }
.icon svg { width:24px; height:24px; }
.card h3 { font-size:1.05rem; letter-spacing:-.02em; }
.card p { font-size:.88rem; line-height:1.75; color:#a5a3b8; }
.technology { background:linear-gradient(90deg,transparent,#7c3aed08,transparent); border-top:1px solid #8b5cf613; border-bottom:1px solid #8b5cf613; }
.technology .card { background:#10101bdb; }
.price-card { position:relative; background:#13131feb; border:1px solid #8b5cf631; padding:30px 22px 23px; border-radius:15px; }
.price-card.featured { background:linear-gradient(165deg,#251743,#141421 70%); border:1px solid #8b5cf6; box-shadow:0 0 45px #7c3aed14; }
.price-card .amount { font-size:2.35rem; letter-spacing:-.06em; }
.price-card .period { font-size:.85rem; }
.price-card .hint { color:#a8a3ba; font-size:.79rem; min-height:38px; }
.price-card ul { margin-top:15px; }
.price-card li { font-size:.79rem; color:#c6c2d1; line-height:1.5; }
.price-card h4 { font-size:.7rem; text-transform:uppercase; letter-spacing:.08em; }
.plan-label { position:absolute; top:-12px; left:22px; padding:4px 11px; border-radius:6px; color:#fff; background:#7c3aed; font-size:.64rem; font-weight:600; }
.reviews-section { padding:55px 0; }
.review-card { border-radius:14px; background:#14141fe8; border-color:#8b5cf630; }
.review-card .quote { color:#8b5cf6; }
.review-card .stars { color:#a47aff; font-size:.85rem; letter-spacing:3px; }
.faq-intro { border-radius:18px; background:linear-gradient(145deg,#21153b,#12121d); border-color:#8b5cf640; }
.faq-item { border-radius:12px; background:#13131feb; border-color:#8b5cf625; }
.faq-item.is-open { background:#191426; border-color:#8b5cf670; }
.faq-item .faq-q { font-size:.9rem; padding:21px; }
.faq-item .answer { font-size:.88rem; line-height:1.75; }
.footer { border-color:#8b5cf625; background:#0b0b14bf; }
.reveal { opacity:0; transform:translateY(18px); }
.reveal.visible { opacity:1; transform:none; transition:opacity .6s,transform .6s; }
.legal-shell { display:grid; grid-template-columns:255px minmax(0,1fr); gap:58px; max-width:1180px; margin:65px auto 90px; padding:0 24px; align-items:start; }
.legal-toc { position:sticky; top:110px; border-left:1px solid #8b5cf640; padding:6px 0 0 20px; }
.legal-toc nav { display:flex; flex-direction:column; gap:3px; margin-top:20px; }
.legal-toc nav a { color:#9593a8; font-size:.77rem; padding:6px 0; line-height:1.55; transition:color .2s; }
.legal-toc nav a:hover,.legal-toc nav a.active { color:#c4a7ff; }
.legal-help { display:flex; gap:9px; font-size:.8rem; margin-top:27px; padding-top:20px; border-top:1px solid #8b5cf624; }
.legal-help svg { width:19px; height:19px; }
.legal-shell .legal { width:100%; max-width:none; margin:0; padding:34px 42px; border-radius:18px; background:#11111bf0; border:1px solid #8b5cf631; }
.document-mark { display:grid; place-items:center; width:54px; height:54px; margin-bottom:24px; background:#7c3aed24; border:1px solid #8b5cf640; border-radius:14px; color:#ac81ff; }
.document-mark svg { width:28px; height:28px; }
.legal h1 { font-size:clamp(1.9rem,3.6vw,2.8rem); line-height:1.15; letter-spacing:-.045em; margin:14px 0; }
.legal .updated { font-size:.8rem; color:#908aa3; border-bottom:1px solid #8b5cf625; padding-bottom:26px; margin-bottom:34px; }
.legal h2 { font-size:1.08rem; margin-top:34px; margin-bottom:13px; scroll-margin-top:110px; color:#e9e3f8; letter-spacing:-.02em; }
.legal p,.legal li { color:#aea9be; font-size:.87rem; line-height:1.85; }
.legal li { padding-left:4px; margin-bottom:8px; }
.legal li::marker { color:#8b5cf6; }
.legal a { overflow-wrap:anywhere; }
.cab-heading { max-width:1280px; margin:38px auto 22px; padding:0 24px; display:flex; justify-content:space-between; align-items:center; gap:18px; }
.cab-heading h1 { font-size:2rem; letter-spacing:-.045em; margin:6px 0 0; }
.cab { margin-top:0; gap:24px; padding-inline:24px; align-items:start; }
.cab-side { position:sticky; top:105px; border-radius:15px; background:#11111cf5; padding:24px 14px; border-color:#8b5cf630; }
.cab-side { min-width:0; }
.profile-symbol { width:42px; height:42px; display:grid; place-items:center; background:#7c3aed26; color:#b68aff; border:1px solid #8b5cf64d; border-radius:12px; margin:0 10px 13px; }
.profile-symbol svg { width:23px; height:23px; }
.cab-user { margin:0 10px 17px; font-size:1.05rem; }
.balance-label { display:block; font-size:.68rem; color:#908caa; margin-left:10px; }
.cab-bal { color:#f4efff; font-size:1.8rem; letter-spacing:-.04em; margin:3px 10px 23px; }
.cab-nav button { display:flex; align-items:center; gap:10px; font-size:.78rem; border-radius:8px; padding:11px 10px; color:#aaa4ba; }
.cab-nav button svg { width:18px; height:18px; color:#8e7cae; }
.cab-nav button.active { background:linear-gradient(90deg,#7c3aed40,#7c3aed0d); color:#eee5ff; box-shadow:inset 2px 0 #8b5cf6; }
.cab-nav button.active svg { color:#b48cff; }
.cab-nav .sec { margin-top:23px; color:#80788e; font-size:.6rem; padding:0 10px 8px; letter-spacing:.12em; }
.cab-main { background:#0e0e18b8; border:1px solid #8b5cf626; border-radius:15px; padding:25px; min-width:0; min-height:620px; }
.cab .welcome { min-height:160px; display:flex; flex-direction:column; justify-content:center; padding:25px 160px 25px 26px; background:linear-gradient(110deg,#32175c,#181228 70%); border:1px solid #8b5cf64a; border-radius:13px; margin-bottom:30px; }
.welcome h3 { font-size:1.35rem; letter-spacing:-.03em; }
.welcome p { font-size:.82rem; line-height:1.65; }
.welcome-emblem { position:absolute; right:28px; top:calc(50% - 48px); width:96px; height:96px; display:grid; place-items:center; border-radius:50%; border:1px solid #9c6cff55; box-shadow:0 0 0 12px #8b5cf608,0 0 0 24px #8b5cf607; color:#a57bff; transform:rotate(-17deg); }
.welcome-emblem svg { width:65px; height:65px; }
.cab-section-title { display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
.cab-section-title h2 { margin:0; }
.cab-section-title .muted { font-size:.75rem; }
.panel h2 { font-size:1.2rem; letter-spacing:-.025em; }
.cab .card { background:#151520; padding:22px; border:1px solid #8b5cf629; border-radius:12px; margin-bottom:16px; }
.cab .price-card { background:linear-gradient(140deg,#21172f,#14141e); padding:25px; }
.cab .price-card strong { font-size:2rem; letter-spacing:-.05em; }
.cab .price-card .btn { width:100%; }
.cab .price-card .muted { margin:4px 0 20px; }
.cab input,.cab textarea,.cselect-btn { background:#0d0d17; border-color:#8b5cf635; border-radius:8px; font-size:.85rem; }
.cab input:focus,.cab textarea:focus { border-color:#a478ff; box-shadow:0 0 0 3px #8b5cf612; }
.cab .hint,.cab .muted { line-height:1.65; color:#a29bb4; }
.cab #homeSub { padding:26px; min-height:160px; border-left:3px solid #8b5cf6; }
.cab #homeSub>div>b { font-size:1.1rem; }
.cab #homeSub .muted { margin-top:8px; }
.cab #homeSub .btn { margin-top:12px; }
.tx-filters button,.reviews-nav button { border-radius:8px; }
.auth-card { background:#12121ff5; border-radius:17px; border-color:#8b5cf648; }
.preview-bar { position:fixed; z-index:9999; bottom:12px; left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:12px; background:#171322f5; border:1px solid #8b5cf65c; border-radius:12px; box-shadow:0 6px 24px #0008; padding:10px 15px; font-size:11px; width:max-content; max-width:calc(100% - 24px); backdrop-filter:blur(16px); }
.preview-bar span { color:#9d91b5; }
.preview-bar a { white-space:nowrap; }
@media(min-width:901px) { .cab-side { max-height:calc(100vh - 125px); overflow:auto; scrollbar-width:thin; scrollbar-color:#60418a transparent; } }
@media(max-width:1100px) { .header .nav a { padding-inline:7px; font-size:.72rem; } .wrap { width:calc(100% - 36px); } .legal-shell { gap:28px; grid-template-columns:220px minmax(0,1fr); } }
@media(max-width:980px) { .pricing { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; } .header .nav { display:none; } .header .menu-btn { display:block; } .header-inner { flex-wrap:nowrap; } .legal-shell { grid-template-columns:1fr; } .legal-toc { position:static; padding:20px; border:1px solid #8b5cf630; border-radius:12px; background:#11111bea; } .legal-toc nav { display:grid; grid-template-columns:1fr 1fr; gap:3px 22px; } }
@media(max-width:900px) { .cab { grid-template-columns:1fr; } .cab-side { position:static; } .cab-user { display:inline-block; margin:0 8px; } .profile-symbol { display:inline-grid; vertical-align:middle; margin-bottom:10px; } .balance-label { margin-top:10px; } .cab-nav { display:flex; gap:8px; flex-wrap:nowrap; overflow-x:auto; padding-bottom:7px; } .cab-nav .sec { display:none; } .cab-nav button { width:auto; flex-shrink:0; white-space:nowrap; background:#1b1726; } .cab-bal { margin-bottom:20px; } .cab-main { min-height:500px; } }
@media(max-width:600px) {
  .wrap { width:calc(100% - 32px); } .header-inner { min-height:68px; } .header-cta { display:none; }
  .hero { padding-top:0; padding-bottom:35px; } .hero h1 { font-size:2.65rem; } .hero p { font-size:.9rem; }
  .bublik-scene { height:240px; width:340px; max-width:100%; } .bublik-speech { top:14px; left:auto; right:0; font-size:.66rem; max-width:180px; } .hero .badge { font-size:.56rem; letter-spacing:.09em; }
  .hero-actions { flex-direction:row; } .hero-actions .btn { width:auto; flex:1; padding-inline:14px; font-size:.79rem; }
  .section { padding:38px 0; } .grid { gap:12px; } .card { padding:22px; } .pricing { gap:22px 12px; } .price-card { padding:27px 15px 18px; } .price-card .amount { font-size:1.9rem; } .price-card li { font-size:.72rem; }
  .legal-shell { padding:0 16px; margin-top:28px; gap:24px; } .legal-shell .legal { padding:25px 22px; } .legal-toc nav { grid-template-columns:1fr; } .legal-toc { max-height:210px; overflow:auto; }
  .cab-heading { margin-top:24px; padding:0 16px; } .cab-heading h1 { font-size:1.6rem; } .cab-heading .btn { font-size:.74rem; padding:8px 11px; }
  .cab { padding:0 16px; gap:16px; } .cab-main { padding:18px; } .cab .welcome { padding:24px; } .welcome-emblem { opacity:.16; right:10px; } .welcome h3,.welcome p { position:relative; z-index:1; } .cab .welcome h3 { font-size:1.2rem; }
  .preview-bar { gap:9px; padding:9px 12px; font-size:10px; } .preview-bar span { display:none; }
}
@media(max-width:375px) { .pricing { grid-template-columns:1fr; } .hero h1 { font-size:2.3rem; } }
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto !important; } *,*::before,*::after { transition:none !important; animation:none !important; }
  .reveal { opacity:1; transform:none; }
}
@media(max-width:980px) {
  .header .menu-btn { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; }
  .mobile-menu:not([hidden]) { display:flex; flex-direction:column; gap:4px; padding:8px 18px 18px; background:#0b0b14fa; border-bottom:1px solid #8b5cf630; }
  .mobile-menu a { padding:12px 14px; color:#d1d5db; border-radius:8px; font-size:.9rem; }
  .legal-toc { scrollbar-width:thin; scrollbar-color:#65448e #14121e; }
}
@media(max-width:900px) {
  .cab { grid-template-columns:minmax(0,1fr); }
  .cab-nav { max-width:100%; scrollbar-width:thin; scrollbar-color:#65448e transparent; }
}
@media(max-width:600px) { .hero h1 { font-size:2.3rem; } }

@media (prefers-reduced-motion: no-preference) {
  @view-transition { navigation: auto; }
  ::view-transition { pointer-events:none; }
  ::view-transition-group(root) { animation-duration: 240ms; }
}