:root{
    --brand:#6C4AF0; --brand-600:#5A38D9; --brand-700:#4A2CC4;
    --brand-300:#A99BFF; --brand-050:#EFEBFF;
    --ink:#1E1A3C; --ink-soft:#403A63; --muted:#6E698A;
    --bg:#ffffff; --bg-soft:#F6F5FF; --lav:#EDEEFF; --line:#E7E5F5;
    --grad:linear-gradient(135deg,#7C5CFF 0%,#5A34E0 100%);
    --shadow-sm:0 2px 10px rgba(60,40,150,.06);
    --shadow-md:0 12px 40px rgba(70,45,160,.12);
    --shadow-lg:0 30px 80px rgba(70,45,160,.18);
    --r:18px; --maxw:1180px;
    --font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Hiragino Sans','Microsoft YaHei','Noto Sans',sans-serif;
    --display:'Plus Jakarta Sans','Inter',-apple-system,'PingFang SC','Hiragino Sans','Microsoft YaHei',sans-serif;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
  body{font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.6;font-size:16px;overflow-x:hidden}
  a{color:inherit;text-decoration:none}
  img{max-width:100%;height:auto;display:block}
  h1,h2,h3{font-family:var(--display);color:var(--ink);line-height:1.15;letter-spacing:-.02em}
  section{position:relative}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
  .eyebrow{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--brand-600)}
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:600;font-size:15px;border-radius:999px;padding:14px 26px;cursor:pointer;border:0;transition:.2s transform,.2s box-shadow,.2s background;white-space:nowrap}
  .btn-primary{background:var(--grad);color:#fff;box-shadow:0 10px 26px rgba(96,60,230,.35)}
  .btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(96,60,230,.45)}
  .btn-ghost{background:#fff;color:var(--brand-700);border:1.5px solid var(--line);box-shadow:var(--shadow-sm)}
  .btn-ghost:hover{border-color:var(--brand-300);transform:translateY(-2px)}

  /* Google Play badge */
  .gp{display:inline-flex;align-items:center;gap:12px;background:#111129;color:#fff;border-radius:14px;padding:11px 22px 11px 18px;transition:.2s transform,.2s box-shadow;box-shadow:0 12px 30px rgba(17,17,41,.28)}
  .gp:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(17,17,41,.38)}
  .gp svg{width:26px;height:29px;flex:none}
  .gp .gp-t{display:flex;flex-direction:column;line-height:1.1}
  .gp .gp-s{font-size:11px;letter-spacing:.06em;text-transform:uppercase;opacity:.85}
  .gp .gp-b{font-family:var(--display);font-size:19px;font-weight:700}

  /* ===== HEADER ===== */
  header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.82);backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--line)}
  .nav{position:relative;display:flex;align-items:center;gap:24px;height:68px}
  .logo{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:800;font-size:21px;color:var(--ink)}
  .logo .mark{width:34px;height:34px;border-radius:10px;overflow:hidden;background:#8B7CFF;display:block;flex:none;box-shadow:0 6px 16px rgba(96,60,230,.4)}
  .logo .mark img{width:100%;height:100%;object-fit:cover;display:block}
  .nav-links{display:flex;gap:26px;margin-left:14px}
  .nav-links a{font-size:15px;font-weight:500;color:var(--ink-soft);transition:.15s color}
  .nav-links a:hover{color:var(--brand)}
  .nav-right{margin-left:auto;display:flex;align-items:center;gap:14px}
  .lang{position:relative;display:flex;align-items:center}
  .lang svg{position:absolute;left:11px;width:16px;height:16px;color:var(--muted);pointer-events:none}
  .lang select{appearance:none;-webkit-appearance:none;font-family:var(--font);font-size:14px;font-weight:500;color:var(--ink-soft);background:#fff;border:1.5px solid var(--line);border-radius:10px;padding:9px 30px 9px 34px;cursor:pointer;transition:.15s border}
  .lang select:hover{border-color:var(--brand-300)}
  .lang .chev{left:auto;right:10px}
  .menu-btn{display:none;background:none;border:0;cursor:pointer;padding:6px}
  .menu-btn svg{width:26px;height:26px;color:var(--ink)}

  /* ===== HERO ===== */
  .hero{background:
      radial-gradient(1100px 500px at 80% -10%,rgba(124,92,255,.18),transparent 60%),
      radial-gradient(900px 500px at 0% 10%,rgba(90,52,224,.12),transparent 55%),
      linear-gradient(180deg,var(--lav),#fff 78%);
      padding:64px 0 40px;overflow:visible}
  .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:start}
  .hero h1{font-size:clamp(34px,5vw,54px);font-weight:800;margin:18px 0 18px}
  .hero h1 .hl{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
  .hero p.sub{font-size:clamp(16px,1.6vw,19px);color:var(--ink-soft);max-width:560px}
  .chips{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}
  .chip{display:inline-flex;align-items:center;gap:6px;background:var(--brand-050);border:0;border-radius:999px;padding:5px 12px;font-size:12.5px;font-weight:600;color:var(--brand-700)}
  .chip svg{width:13px;height:13px;color:var(--brand)}
  .hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:6px}
  .hero-note{margin-top:20px;font-size:13.5px;color:var(--muted);display:flex;align-items:center;gap:8px}
  .hero-note svg{width:16px;height:16px;color:#22b07d;flex:none}
  /* compact store + demo link row inside hero copy */
  .hero-sub{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:24px}
  .badges{display:inline-flex;gap:10px;flex-wrap:wrap}
  .gp-mini{padding:8px 15px 8px 13px;border-radius:12px}
  .gp-mini svg{width:20px;height:22px}
  .gp-mini .gp-b{font-size:15px}
  .gp-mini .gp-s{font-size:9px}
  .gp .apple{width:20px;height:23px}
  .see{font-weight:600;font-size:14px;color:var(--brand-700)}
  .see:hover{color:var(--brand)}
  .mobile-upload{display:none}
  /* download badges under the hero image */
  .hero-store{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:22px}
  .hero-store .also{font-size:13px;color:var(--muted);font-weight:500}
  .hero-store .badges{justify-content:center}
  /* full-width upload bar (large) */
  .upload-bar{margin-top:48px;overflow:visible;position:relative}
  .page-wait{position:fixed;inset:0;z-index:400;display:flex;align-items:center;justify-content:center;padding:24px}
  .page-wait[hidden],.page-wait.hidden{display:none!important}
  @media print{.page-wait{display:none!important}}
  .page-wait-mask{position:absolute;inset:0;background:rgba(18,12,40,.48);backdrop-filter:blur(3px)}
  .page-wait-card{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-width:min(92vw,320px);padding:28px 32px;border-radius:20px;background:#fff;box-shadow:var(--shadow-lg);color:var(--ink-soft);font-weight:600;font-size:15px;text-align:center}
  .page-wait-card .upload-spinner{width:32px;height:32px}
  .btn.is-waiting{pointer-events:none;opacity:.78}
  .btn.is-waiting .upload-spinner{width:16px;height:16px;border-width:2px}
  .btn-primary.is-waiting .upload-spinner{border-color:rgba(255,255,255,.35);border-top-color:#fff}
  .upload-frame{position:relative;overflow:visible}
  .upload-free-preview{position:absolute;top:-8px;left:-6px;inset-inline-start:-6px;z-index:4;display:inline-flex;align-items:center;max-width:min(72%,280px);padding:5px 11px;border-radius:999px;background:linear-gradient(135deg,#7c3aed,#2563eb);color:#fff;font-size:12px;font-weight:700;letter-spacing:.01em;line-height:1.3;box-shadow:0 6px 14px rgba(37,99,235,.28);pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .upload-free-preview[hidden]{display:none!important}
  .nav-member{display:inline-flex;align-items:center;gap:6px;flex:none;padding:8px 12px;border:0;border-radius:999px;background:linear-gradient(135deg,#F6C453,#E09A1A);color:#3b2500;font-family:var(--font);font-size:13px;font-weight:800;letter-spacing:.02em;cursor:pointer;text-decoration:none;box-shadow:0 6px 14px rgba(224,154,26,.28);transition:.15s transform,.15s box-shadow}
  .nav-member:hover,.nav-member:focus-visible{transform:translateY(-1px);box-shadow:0 10px 18px rgba(224,154,26,.38);outline:none}
  .nav-member svg{width:15px;height:15px;flex:none}
  .upload{width:100%;display:flex;flex-direction:row;align-items:center;text-align:left;gap:30px;background:linear-gradient(180deg,#ffffff,#f4f2ff);border:2px dashed var(--brand-300);border-radius:26px;padding:44px 52px;cursor:pointer;transition:.2s border-color,.2s box-shadow,.2s transform,.2s background;box-shadow:var(--shadow-md);font-family:var(--font);appearance:none;-webkit-appearance:none;color:inherit}
  .upload:hover,.upload:focus-visible{border-color:var(--brand);box-shadow:var(--shadow-lg);transform:translateY(-2px);outline:none}
  .upload.drag{border-color:var(--brand);background:var(--brand-050)}
  .upload-ico{width:84px;height:84px;flex:none;border-radius:22px;background:var(--brand-050);display:grid;place-items:center}
  .upload-ico svg{width:40px;height:40px;color:var(--brand)}
  .upload-txt{display:flex;flex-direction:column;align-items:flex-start;flex:1;min-width:0}
  .upload-t{font-family:var(--display);font-weight:800;font-size:28px;color:var(--ink);letter-spacing:-.01em}
  .upload-s{font-size:16px;color:var(--muted);margin-top:5px}
  .upload-cta{flex:none;background:var(--grad);color:#fff;font-weight:700;font-size:17px;border-radius:999px;padding:20px 58px;box-shadow:0 16px 34px rgba(96,60,230,.42)}
  .upload-bar .hero-note{justify-content:center;margin-top:20px}
  .cta-actions{position:relative;display:inline-flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:center}
  .cta-upload{background:#fff;color:var(--brand-700);font-weight:700;padding:15px 34px;box-shadow:0 12px 30px rgba(17,17,41,.2);font-family:var(--font)}
  .cta-upload:hover{transform:translateY(-2px)}
  @media(max-width:640px){
    .hero{padding:26px 0 6px}
    .eyebrow{font-size:11.5px}
    .hero h1{font-size:26px;line-height:1.22;margin:12px 0 12px}
    .hero p.sub{font-size:14.5px;line-height:1.55}
    /* three features as one compact dotted line */
    .chips{gap:0;margin:16px 0;row-gap:6px}
    .chip{background:none;border:0;padding:0;font-size:12.5px;color:var(--ink-soft);font-weight:600}
    .chip svg{display:none}
    .chip:not(:last-child)::after{content:"·";margin:0 8px;color:var(--brand-300);font-weight:800}
    /* first-screen upload CTA (scrolls to the upload area) */
    .mobile-upload{display:inline-flex;width:100%;margin-top:18px;padding:15px 24px;font-size:16px}
    /* enlarged upload bar stacks */
    .upload-free-preview{top:-6px;left:-4px;inset-inline-start:-4px;font-size:11px;padding:4px 9px;max-width:min(78%,220px)}
    .upload{flex-direction:column;text-align:center;gap:16px;padding:30px 22px;border-radius:22px}
    .upload-txt{align-items:center}
    .upload-t{font-size:21px}
    .upload-s{font-size:14px}
    .upload-cta{width:100%;padding:16px 32px}
    .upload-ico{width:64px;height:64px}
    .upload-ico svg{width:32px;height:32px}
    .hero-store{margin-top:16px}
    /* keep App Store + Google Play on ONE row on mobile */
    .hero-store .badges{flex-wrap:nowrap;gap:8px;justify-content:center;width:100%}
    .hero-store .gp-mini{padding:7px 11px 7px 9px;border-radius:11px;white-space:nowrap}
    .hero-store .gp-mini .gp-b{font-size:13px}
    .hero-store .gp-mini .gp-s{font-size:8.5px}
    .hero-store .gp-mini svg{width:18px;height:20px}
    .hero-store .gp-mini .apple{width:16px;height:19px}
  }
  .hero-visual{position:relative}
  .hero-visual .frame{border-radius:22px;overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid rgba(255,255,255,.7);transform:rotate(.5deg)}
  .hero-visual .glow{position:absolute;inset:-30px;background:radial-gradient(circle at 60% 40%,rgba(124,92,255,.35),transparent 60%);filter:blur(30px);z-index:-1}

  /* ===== LOGOS / TRUST ===== */
  .trust{padding:34px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}
  .trust .wrap{display:flex;align-items:center;justify-content:center;gap:14px 40px;flex-wrap:wrap}
  .trust .lbl{font-size:14px;font-weight:600;color:var(--muted)}
  .trust .plat{display:flex;gap:30px;flex-wrap:wrap;align-items:center;font-family:var(--display);font-weight:700;font-size:18px;color:#9a96b5}
  .trust .plat span{display:inline-flex;align-items:center;gap:8px}
  .trust .plat svg{width:20px;height:20px}

  /* ===== SECTION HEAD ===== */
  .shead{text-align:center;max-width:640px;margin:0 auto 52px}
  .shead h2{font-size:clamp(27px,3.4vw,40px);font-weight:800;margin:14px 0 12px}
  .shead p{color:var(--muted);font-size:17px}
  .pad{padding:88px 0}
  .bg-soft{background:var(--bg-soft)}

  /* ===== FEATURES ===== */
  .fgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .fcard{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:30px 26px;box-shadow:var(--shadow-sm);transition:.2s transform,.2s box-shadow}
  .fcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
  .fico{width:52px;height:52px;border-radius:14px;background:var(--brand-050);display:grid;place-items:center;margin-bottom:18px}
  .fico svg{width:26px;height:26px;color:var(--brand)}
  .fcard h3{font-size:19px;font-weight:700;margin-bottom:9px}
  .fcard p{color:var(--muted);font-size:15px}

  /* ===== HOW ===== */
  .how-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
  .steps{display:flex;flex-direction:column;gap:14px}
  .step{display:flex;gap:18px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px 24px;box-shadow:var(--shadow-sm)}
  .step .num{width:40px;height:40px;flex:none;border-radius:11px;background:var(--grad);color:#fff;font-family:var(--display);font-weight:800;font-size:18px;display:grid;place-items:center}
  .step h3{font-size:18px;margin-bottom:4px}
  .step p{color:var(--muted);font-size:15px}
  .how-visual{border-radius:22px;overflow:hidden;box-shadow:var(--shadow-lg);border:8px solid #fff;background:#eef0ff;position:relative}
  .how-visual img,.how-visual video{width:100%;height:auto;display:block;aspect-ratio:654 / 368;object-fit:cover}

  /* ===== USE CASES ===== */
  .ugrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .ucard{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px 26px;box-shadow:var(--shadow-sm);transition:.2s transform,.2s box-shadow;position:relative;overflow:hidden}
  .ucard:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
  .ucard .uico{font-size:26px;margin-bottom:14px}
  .ucard h3{font-size:18px;font-weight:700;margin-bottom:8px}
  .ucard p{color:var(--muted);font-size:15px}

  /* ===== LANGUAGES ===== */
  .langs-wrap{max-width:860px;margin:0 auto;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
  .lang-pill{display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:11px 20px;font-size:15px;font-weight:500;color:var(--ink-soft);box-shadow:var(--shadow-sm)}
  .lang-pill .fl{font-size:19px}

  /* ===== CTA BAND ===== */
  .cta{background:var(--grad);border-radius:28px;padding:64px 40px;text-align:center;color:#fff;position:relative;overflow:hidden;box-shadow:var(--shadow-lg)}
  .cta::before{content:"";position:absolute;inset:0;background:radial-gradient(600px 300px at 20% 0%,rgba(255,255,255,.22),transparent 60%)}
  .cta h2{color:#fff;font-size:clamp(26px,3.4vw,38px);font-weight:800;position:relative;margin-bottom:12px}
  .cta p{position:relative;font-size:18px;opacity:.92;margin-bottom:28px}
  .cta .gp{position:relative;background:#fff;color:#12102b}
  .cta .gp .gp-s{opacity:.7}

  /* ===== FAQ ===== */
  .faq-wrap{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
  details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:4px 22px;box-shadow:var(--shadow-sm)}
  details[open]{border-color:var(--brand-300)}
  summary{list-style:none;cursor:pointer;font-family:var(--display);font-weight:700;font-size:17px;color:var(--ink);padding:18px 0;display:flex;justify-content:space-between;align-items:center;gap:16px}
  summary::-webkit-details-marker{display:none}
  summary .pl{width:22px;height:22px;flex:none;position:relative;transition:.2s transform}
  summary .pl::before,summary .pl::after{content:"";position:absolute;background:var(--brand);border-radius:2px}
  summary .pl::before{top:10px;left:2px;right:2px;height:2px}
  summary .pl::after{left:10px;top:2px;bottom:2px;width:2px;transition:.2s opacity}
  details[open] summary .pl::after{opacity:0}
  details p{color:var(--muted);font-size:15.5px;padding:0 0 20px}

  /* ===== FOOTER ===== */
  footer{background:#141230;color:#c9c5e6;padding:64px 0 30px}
  .fcols{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;margin-bottom:44px}
  footer .logo{color:#fff;margin-bottom:16px}
  footer .ftag{font-size:15px;color:#9a95c4;max-width:300px}
  footer .fcol h4{font-family:var(--display);font-size:14px;letter-spacing:.05em;text-transform:uppercase;color:#8b86b8;margin-bottom:16px}
  footer .fcol a{display:block;font-size:15px;color:#c9c5e6;padding:6px 0;transition:.15s color}
  footer .fcol a:hover{color:#fff}
  .fbot{border-top:1px solid rgba(255,255,255,.1);padding-top:24px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13.5px;color:#8b86b8}

  /* ===== RESPONSIVE ===== */
  @media(max-width:960px){
    .hero-grid{grid-template-columns:1fr;gap:30px}
    .hero-visual{order:-1}
    .how-grid{grid-template-columns:1fr;gap:34px}
    .fgrid,.ugrid{grid-template-columns:1fr 1fr}
    .fcols{grid-template-columns:1fr 1fr;gap:32px}
  }
  @media(max-width:720px){
    .nav-links{display:none}
    .nav-links.open{display:flex;position:absolute;top:68px;left:0;right:0;flex-direction:column;background:#fff;border-bottom:1px solid var(--line);padding:14px 24px;gap:6px;box-shadow:var(--shadow-md)}
    .nav-links.open a{padding:12px 0;border-bottom:1px solid var(--line)}
    .menu-btn{display:block}
    .nav-right{gap:8px}
    .nav-member{padding:7px 10px;font-size:12px}
    .btn-nav-login,.account-chip{padding:8px 10px;font-size:13px}
    .lang select{max-width:120px;padding:8px 26px 8px 30px}
    .pad{padding:60px 0}
    .fgrid,.ugrid,.fcols{grid-template-columns:1fr}
    .cta{padding:48px 24px}
    .hero{padding:40px 0 20px}
  }

  /* ------------
     International site extras (path i18n, crawlable language links)
     ------------ */
  .skip{position:absolute;left:-999px;top:8px;background:#fff;padding:8px 12px;border-radius:8px;z-index:80}
  .skip:focus{left:16px}
  .lang-switch{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
  .lang-switch a{font-size:13px;font-weight:600;color:var(--ink-soft);border:1.5px solid var(--line);border-radius:999px;padding:7px 12px;background:#fff}
  .lang-switch a:hover,.lang-switch a[aria-current="page"]{border-color:var(--brand-300);color:var(--brand-700)}
  .hero-visual img{width:100%;height:auto;display:block}
  footer .lang-switch a{background:transparent;color:#c9c5e6;border-color:rgba(255,255,255,.16)}
  footer .lang-switch a[aria-current="page"]{color:#fff;border-color:rgba(255,255,255,.5)}
  .logo img{width:34px;height:34px;display:block;object-fit:cover}

  /* ------------
     Homepage H5-parity extras (modals, link import) — original layout unchanged
     ------------ */
  .link-import-row{margin-top:14px;text-align:center}
  .link-import-text-link{font-size:14px;font-weight:600;color:var(--brand-700)}
  .link-import-text-link:hover{color:var(--brand)}
  .link-import-text-link.is-disabled{opacity:.45;pointer-events:none}
  .upload-progress{margin-top:16px;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-sm)}
  .upload-progress.hidden,.vd-modal.hidden,.vd-toast.hidden{display:none}
  .upload-progress-top{display:flex;align-items:flex-start;gap:12px;margin-bottom:10px}
  .upload-progress-pct{margin:10px 0 0;font-size:13px;font-weight:600;color:var(--brand-700)}
  .upload-progress-keep{margin:12px 0 0;font-size:13px;color:var(--muted)}
  body.upload-modal-open{overflow:hidden}
  .upload-spinner{width:20px;height:20px;border:3px solid var(--line);border-top-color:var(--brand);border-radius:50%;animation:vdspin 1s linear infinite;flex:none}
  @keyframes vdspin{to{transform:rotate(360deg)}}
  .upload-progress-fill{height:8px;background:var(--grad);border-radius:4px;width:0;transition:width .3s ease}
  .upload-progress-track{height:8px;background:var(--brand-050);border-radius:4px;overflow:hidden}
  .vd-modal{position:fixed;inset:0;background:rgba(20,18,48,.45);z-index:120;display:flex;align-items:center;justify-content:center;padding:20px}
  #upload-progress-modal{z-index:130}
  .vd-modal-card{background:#fff;border-radius:18px;padding:28px 24px;max-width:480px;width:100%;box-shadow:var(--shadow-lg)}
  .vd-modal-card h3{font-size:22px;margin-bottom:8px}
  .vd-modal-card p{color:var(--muted);font-size:15px;margin-bottom:16px}
  .upload-progress-card{max-width:520px}
  .upload-progress-card h3{font-size:20px;margin:0 0 6px;line-height:1.25}
  .upload-progress-card p{margin-bottom:0}
  .upload-progress-card #uploadProgressLine{margin:0;color:var(--ink-soft);font-size:14px;word-break:break-all}
  .upload-progress-track[hidden],.upload-progress-pct[hidden]{display:none}
  .vd-label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}
  .vd-modal-card textarea{width:100%;border:1.5px solid var(--line);border-radius:12px;padding:12px;font-family:var(--font);font-size:15px;resize:vertical;min-height:84px}
  .vd-rights{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--ink-soft);margin:14px 0}
  .vd-rights input{margin-top:3px;flex:none}
  .vd-hint{min-height:1.2em;font-size:13px;color:var(--muted);margin:0 0 12px}
  .vd-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
  .google-btn-slot{display:flex;justify-content:center;margin:0;min-height:0}
  .google-btn-slot iframe{margin:0 auto}
  .login-providers{display:flex;flex-direction:column;align-items:center;gap:10px;margin:4px 0 12px}
  .login-card{position:relative;text-align:center}
  .login-card #login-title,.login-card #login-sub{text-align:center}
  .login-card #loginClose{display:flex;margin:8px auto 0}
  .login-busy{position:absolute;inset:0;background:rgba(255,255,255,.9);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border-radius:18px;z-index:3}
  .login-busy p{margin:0;color:var(--muted);font-size:14px;font-weight:600}
  .auth-page-busy{position:fixed;inset:0;background:rgba(20,18,48,.45);z-index:140;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}
  .auth-page-busy p{margin:0;color:#fff;font-size:15px;font-weight:600}
  .login-busy.hidden,.auth-page-busy.hidden{display:none}
  .btn-sso{display:flex;align-items:center;justify-content:center;gap:10px;width:min(320px,100%);height:44px;border-radius:6px;font-weight:600;font-size:16px;cursor:pointer;border:1px solid transparent;font-family:var(--font)}
  .btn-sso svg{width:18px;height:18px;flex:none}
  .btn-sso-google{background:#fff;color:#1f1f1f;border-color:#dadce0}
  .btn-sso-google:hover{background:#f7f8f8}
  .btn-sso-apple{background:#000;color:#fff}
  .btn-sso-apple:hover{background:#1a1a1a}
  .btn-sso:disabled{opacity:.55;cursor:not-allowed}
  .vd-modal.is-busy .login-providers{pointer-events:none;opacity:.7}
  .auth-callback-body{min-height:100vh;background:linear-gradient(180deg,var(--lav),#fff 70%)}
  .auth-callback-card{max-width:480px;padding:72px 0;text-align:center}
  .auth-callback-card .logo{justify-content:center;margin-bottom:24px}
  .auth-callback-card h1{margin-bottom:12px}
  .auth-callback-card p{color:var(--muted);margin-bottom:24px}
  .vd-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:#141230;color:#fff;padding:12px 18px;border-radius:12px;z-index:500;max-width:min(520px,92vw);font-size:14px;box-shadow:var(--shadow-md)}
  .gp-pending{opacity:.88}
  .store-qr-card{text-align:center;max-width:360px}
  .store-qr-card p{margin-bottom:8px}
  .store-qr-box{display:flex;justify-content:center;margin:8px auto 16px;min-height:220px;align-items:center}
  .store-qr-box svg,.store-qr-box img{width:220px;height:220px;display:block}
  .store-qr-open{display:inline-block;font-weight:700;color:var(--brand-700);margin:0 0 16px;font-size:15px}
  .store-qr-open:hover{color:var(--brand)}
  .store-qr-card .btn{width:100%;justify-content:center}

  /* ------------
     Studio (same tokens as homepage; PC + mobile)
     ------------ */
  .studio-body{background:
      radial-gradient(1100px 500px at 80% -10%,rgba(124,92,255,.12),transparent 60%),
      linear-gradient(180deg,var(--lav),#fff 42%)}
  .studio-main{padding:40px 0 72px;min-height:70vh}
  .studio-shell{max-width:920px}
  .studio-head{margin-bottom:28px}
  .studio-head h1{font-size:clamp(28px,3.4vw,40px);margin:12px 0 10px}
  .studio-progress{list-style:none;display:flex;align-items:flex-start;justify-content:space-between;gap:0;margin:0 0 28px;padding:18px 12px 8px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm);overflow-x:auto;-webkit-overflow-scrolling:touch}
  .studio-progress li{flex:1;min-width:64px;display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;font-size:12px;font-weight:600;color:var(--muted);text-align:center;padding:0 6px}
  .studio-progress li:not(:last-child)::after{content:"";position:absolute;top:15px;left:calc(50% + 18px);right:calc(-50% + 18px);height:2px;background:var(--line);z-index:0}
  .studio-progress li.is-done:not(:last-child)::after,.studio-progress li.is-active:not(:last-child)::after{background:var(--brand-300)}
  .studio-progress .num{width:30px;height:30px;border-radius:50%;background:#fff;border:2px solid var(--line);color:var(--ink-soft);display:grid;place-items:center;font-family:var(--display);font-size:13px;position:relative;z-index:1}
  .studio-progress li.is-active{color:var(--brand-700)}
  .studio-progress li.is-active .num,.studio-progress li.is-done .num{background:var(--grad);border-color:transparent;color:#fff}
  .studio-progress li.is-done{color:var(--ink-soft)}
  .studio-progress .step-name{line-height:1.2;max-width:7.5em}
  .studio-card{padding:28px 26px}
  .studio-boot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:420px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm);color:var(--ink-soft);font-weight:600;font-size:15px;text-align:center;padding:36px 20px}
  .studio-boot .upload-spinner{width:32px;height:32px}
  .studio-step-fill{position:relative}
  .studio-step-fill.is-loading{min-height:280px}
  .studio-step-loading{position:absolute;inset:0;z-index:3;display:none;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:rgba(255,255,255,.96);border-radius:16px;color:var(--ink-soft);font-weight:600;font-size:14.5px;text-align:center;padding:20px}
  .studio-step-fill.is-loading .studio-step-loading{display:flex}
  .studio-step-fill.is-loading .lang-pick,.studio-step-fill.is-loading .studio-actions,.studio-step-fill.is-loading .subtitle-controls,.studio-step-fill.is-loading .studio-summary,.studio-step-fill.is-loading .subtitle-preview-heading,.studio-step-fill.is-loading .subtitle-preview-wrap,.studio-step-fill.is-loading .studio-checking,.studio-step-fill.is-loading .studio-note{visibility:hidden}
  .studio-card h2{font-size:22px;margin-bottom:8px}
  .studio-card > p,.studio-card-top p{color:var(--muted);font-size:15px;margin-bottom:16px}
  .studio-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:8px}
  .studio-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;margin-top:22px}
  .studio-actions .btn[aria-busy="true"]{opacity:.65}
  .studio-actions-inline{justify-content:flex-start;margin:12px 0}
  .studio-actions-wrap{justify-content:flex-start}
  .lang-pick{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:22px;min-height:132px}
  .language-label{font-size:13px;font-weight:700;letter-spacing:.02em;color:var(--brand-700);margin-bottom:10px}
  .studio-select-field{min-width:0}
  .studio-select{position:relative}
  .studio-select::after{content:"";position:absolute;right:14px;top:50%;width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:translateY(-70%) rotate(45deg);pointer-events:none}
  .studio-select select{appearance:none;-webkit-appearance:none;width:100%;min-height:48px;font-family:var(--font);font-size:16px;font-weight:500;color:var(--ink-soft);background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:12px 40px 12px 16px;cursor:pointer;box-shadow:var(--shadow-sm)}
  .studio-select select:hover,.studio-select select:focus{border-color:var(--brand-300);outline:none}
  .chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:0}
  .chip-btn{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:10px 16px;min-height:44px;font-weight:600;font-size:14px;cursor:pointer;font-family:var(--font);color:var(--ink-soft)}
  .chip-btn.is-selected{border-color:var(--brand);background:var(--brand-050);color:var(--brand-700)}
  .subtitle-block{margin:0 0 18px}
  .subtitle-preview-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}
  .subtitle-preview-heading .language-label{margin-bottom:0}
  .subtitle-preview-wrap{position:relative;width:100%;max-height:320px;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#12102b;margin:0;box-shadow:var(--shadow-md)}
  .subtitle-preview-wrap.is-portrait{width:min(100%,calc(280px * var(--cover-w,9) / var(--cover-h,16)));margin-inline:auto}
  .subtitle-preview-wrap img{width:100%;height:100%;object-fit:contain;display:block}
  .subtitle-cover-shell{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;pointer-events:none}
  .subtitle-overlay{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end;box-sizing:border-box;pointer-events:none;background:transparent;padding:0;text-shadow:none;font-weight:500}
  .subtitle-overlay-inner{align-self:center;width:100%;max-width:100%;box-sizing:border-box}
  .subtitle-line-stack{display:flex;flex-direction:column;gap:0;align-items:center;text-align:center;width:100%}
  .subtitle-line-sample{display:none;max-width:100%;box-sizing:border-box;font-weight:500;line-height:1.2;white-space:nowrap;overflow:hidden}
  .subtitle-cover-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:rgba(18,16,43,.62);color:#fff;font-size:14px;font-weight:600;z-index:2}
  .subtitle-cover-loading .upload-spinner{border-color:rgba(255,255,255,.28);border-top-color:#fff;width:28px;height:28px}
  .subtitle-controls input[type=range]{width:100%;margin:0;accent-color:var(--brand);min-height:28px;touch-action:pan-y}
  .chip-btn,.voice-btn,.studio-select select,.studio-reupload,.studio-actions .btn{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
  .subtitle-controls input[type=color]{width:48px;height:44px;border:0;background:none;padding:0}
  body.studio-modal-open{overflow:hidden}
  .studio-progress{scrollbar-width:none}
  .studio-progress::-webkit-scrollbar{display:none}
  .studio-range-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
  .studio-range-row .vd-label{margin-bottom:0}
  .studio-range-row span{font-size:13px;font-weight:700;color:var(--brand-700)}
  .subtitle-color-row{display:flex;align-items:center;gap:12px}
  .subtitle-color-row .vd-label{margin-bottom:0}
  .studio-summary{list-style:none;margin:8px 0 18px;padding:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}
  .studio-summary li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line);font-size:15px}
  .studio-summary li:last-child{border-bottom:0}
  .studio-summary span{color:var(--muted);font-weight:600;flex:none}
  .studio-summary strong{font-weight:700;text-align:right;word-break:break-word}
  .studio-checking{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:14px;font-weight:600;margin:8px 0}
  #step-confirm{position:relative;min-height:240px}
  #step-confirm.is-checking #confirmChecking{position:absolute;inset:88px 26px 26px;display:flex;align-items:center;justify-content:center;z-index:2;margin:0;background:rgba(255,255,255,.96);border-radius:16px}
  #step-confirm.is-checking .studio-summary,#step-confirm.is-checking #confirmFooter{visibility:hidden}
  .studio-note{border-radius:14px;padding:14px 16px;margin:8px 0 4px;font-size:14.5px}
  .studio-note-ok{background:#eefbf4;color:#157a4b}
  .studio-note-err{background:#fff1f1;color:#b42318}
  .studio-proc{text-align:center;padding:12px 4px 4px}
  .studio-proc-spin{display:flex;justify-content:center;margin-bottom:14px}
  .studio-proc-spin .upload-spinner{width:32px;height:32px;border-width:3px}
  .studio-proc h2{margin-bottom:8px}
  .studio-proc-hint{color:#b45309;font-size:14px;font-weight:600;margin:4px 0 18px}
  .studio-proc-bar-row{display:flex;justify-content:space-between;font-size:13px;font-weight:600;color:var(--muted);margin-bottom:8px}
  .studio-proc-track{height:10px;border-radius:999px}
  .studio-proc-fill{height:100%;border-radius:999px;animation:studioPulse 2s ease-in-out infinite}
  @keyframes studioPulse{0%,100%{opacity:1}50%{opacity:.72}}
  .studio-proc-line,.studio-proc-status{margin-top:10px;font-size:15px;font-weight:800;color:#d97706;letter-spacing:.01em}
  .studio-proc-line{margin-top:0}
  .studio-keep-banner{display:flex;flex-direction:column;gap:4px;background:var(--brand-050);border:1px solid var(--brand-300);border-radius:14px;padding:12px 14px;margin:8px 0 12px;color:var(--brand-700);font-size:14px}
  .studio-keep-banner strong{font-size:15px}
  .studio-trial-banner{margin:0 0 12px;padding:12px 14px;background:linear-gradient(180deg,#fffbeb,#fef3c7);border:1.5px solid #f59e0b;border-radius:14px;color:#b45309;font-size:14.5px;font-weight:700;text-align:center;line-height:1.45}
  .studio-player{position:relative;border-radius:16px;overflow:hidden;background:#12102b;margin:8px 0 4px}
  .studio-result-video{width:100%;display:block;background:#12102b;max-height:420px;margin:0}
  .studio-video-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:rgba(18,16,43,.72);color:#fff;font-size:14px;font-weight:600;z-index:2}
  .studio-video-loading .upload-spinner{border-color:rgba(255,255,255,.28);border-top-color:#fff;width:28px;height:28px}
  .dub-entry{margin-top:18px;padding:18px 16px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow-sm)}
  .dub-entry h3,.dub-done h3{font-size:18px;margin-bottom:6px}
  .dub-entry p{color:var(--muted);font-size:14.5px}
  .dub-modal-card{max-width:560px;max-height:min(88vh,720px);overflow:auto}
  .keep-notice-card .btn,.trial-notice-card .btn{width:100%;justify-content:center}
  .trial-notice-card{border:2px solid #f59e0b}
  .trial-notice-card h3{color:#b45309}
  .voice-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:12px 0;max-height:min(46vh,360px);overflow:auto;-webkit-overflow-scrolling:touch}
  .voice-btn{text-align:left;border:1.5px solid var(--line);background:#fff;border-radius:14px;padding:12px 14px;min-height:56px;cursor:pointer;font-family:var(--font)}
  .voice-btn.is-selected{border-color:var(--brand);background:var(--brand-050)}
  .voice-btn strong{display:block;font-size:14px}
  .voice-btn span{font-size:12px;color:var(--muted)}
  .btn:disabled{opacity:.45;pointer-events:none;transform:none}
  .studio-fab-wrap{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:55;pointer-events:none}
  .studio-fab{pointer-events:auto;min-width:132px;box-shadow:0 14px 32px rgba(96,60,230,.42)}
  .pricing-hero{padding-top:48px;padding-bottom:12px}
  .pricing-note{max-width:720px;margin:0 auto 8px;color:var(--muted);font-size:15px;text-align:center}
  .pricing-tabs{display:flex;gap:6px;margin:0 auto 28px;padding:6px;max-width:520px;background:#fff;border:1.5px solid var(--line);border-radius:16px;box-shadow:var(--shadow-sm);overflow:visible}
  .pricing-tab{flex:1;position:relative;min-height:48px;border:0;background:transparent;border-radius:12px;font-family:var(--font);font-size:15px;font-weight:700;color:var(--muted);cursor:pointer;padding:10px 12px 8px}
  .pricing-tab[aria-selected="true"]{background:var(--brand-050);color:var(--brand-700)}
  .pricing-tab-badge{position:absolute;top:-10px;right:8px;background:var(--grad);color:#fff;font-size:11px;font-weight:800;line-height:1;padding:4px 8px;border-radius:999px;box-shadow:0 4px 10px rgba(96,60,230,.28)}
  .pricing-panel[hidden]{display:none}
  .pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:8px}
  .pricing-card{display:flex;flex-direction:column;gap:8px;padding:22px 20px}
  .pricing-card h3{font-size:20px;margin:0}
  .pricing-price{font-family:var(--display);font-size:28px;font-weight:800;color:var(--brand-700);letter-spacing:-.03em}
  .pricing-keep,.pricing-tier-meta{color:var(--muted);font-size:14px;margin:0}
  .pricing-card .btn{width:100%;margin-top:auto}
  .pricing-card.is-sub .pricing-price{font-size:18px;line-height:1.45}
  @media(max-width:960px){
    .pricing-grid{grid-template-columns:1fr 1fr}
  }
  @media(max-width:720px){
    .pricing-grid{grid-template-columns:1fr}
    .pricing-tabs{max-width:none}
    .studio-fab-wrap{left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right))}
    .studio-fab{width:100%}
  }
  .hidden{display:none !important}

  /* ------------
     Account menu + activity list
     ------------ */
  .account-slot{position:relative;display:flex;align-items:center}
  .btn-nav-login,.account-chip{padding:9px 16px;font-size:14px}
  .account-drop{position:absolute;right:0;top:calc(100% + 8px);min-width:188px;background:#fff;border:1.5px solid var(--line);border-radius:14px;box-shadow:var(--shadow-md);padding:8px;z-index:70}
  .account-drop a,.account-drop button{display:block;width:100%;text-align:left;background:none;border:0;border-radius:10px;padding:10px 12px;font-family:var(--font);font-size:14px;font-weight:600;color:var(--ink-soft);cursor:pointer}
  .account-drop a:hover,.account-drop button:hover{background:var(--brand-050);color:var(--brand-700)}
  .activity-head-actions{margin:16px 0 0;justify-content:flex-start}
  .activity-balance{display:inline-flex;align-items:center;gap:8px;background:var(--brand-050);border-radius:999px;padding:8px 14px;font-size:13.5px;font-weight:600;color:var(--brand-700);margin-bottom:18px}
  .activity-loading{display:flex;align-items:center;gap:12px;color:var(--muted);font-weight:600;margin:8px 0 16px}
  .activity-empty p{color:var(--muted);margin-bottom:4px}
  .activity-list{list-style:none;display:flex;flex-direction:column;gap:10px;margin:0;padding:0}
  .activity-row{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;box-shadow:var(--shadow-sm)}
  .activity-row strong{display:block;font-size:15px;font-weight:700;color:var(--ink);margin-bottom:4px}
  .activity-meta{display:block;font-size:13px;color:var(--muted);line-height:1.45}
  @media(max-width:720px){
    .studio-main{padding:22px 0 48px}
    .lang-pick,.voice-list{grid-template-columns:1fr}
    .studio-card{padding:22px 18px}
    .studio-progress{padding:14px 6px 6px}
    .studio-progress .step-name{display:none}
    .studio-progress li.is-active .step-name{display:block}
    .studio-actions{justify-content:stretch}
    .studio-actions .btn{flex:1;min-width:0}
    .studio-reupload{width:100%;justify-content:center}
    .subtitle-preview-heading .btn{flex:none}
  }
  @media (prefers-reduced-motion: reduce){
    .studio-proc-fill,.upload-spinner{animation:none}
  }
  .legal-main{padding:48px 0 80px}
  .legal-wrap{max-width:760px}
  .legal-wrap h1{font-size:clamp(28px,4vw,40px);margin:10px 0 12px}
  .legal-updated{color:var(--muted);font-size:14px;margin-bottom:18px}
  .legal-lead{font-size:17px;color:var(--ink-soft);margin-bottom:22px}
  .legal-wrap h2{font-size:20px;margin:28px 0 10px;padding-bottom:8px;border-bottom:2px solid var(--brand-050)}
  .legal-wrap p,.legal-wrap li{color:var(--ink-soft);margin-bottom:10px}
  .legal-wrap ul{padding-left:22px;margin-bottom:16px}
  .legal-note{background:var(--brand-050);border-left:4px solid var(--brand);border-radius:12px;padding:14px 18px;margin:16px 0}
  .legal-note p{margin:0;color:var(--ink)}
  .legal-table{width:100%;border-collapse:collapse;margin:12px 0 18px;font-size:14.5px}
  .legal-table th,.legal-table td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
  .legal-table th{background:var(--bg-soft);color:var(--ink);font-weight:700}
  .legal-contact{background:var(--bg-soft);border-radius:14px;padding:20px;margin-top:28px}
  .legal-related{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
  .legal-related a{color:var(--brand-700);font-weight:600}
  .legal-related a[aria-current="page"]{text-decoration:underline;color:var(--ink)}
