  :root{
    --bg:#0B0908;
    --surface:#161210;
    --surface-2:#1E1815;
    --border:rgba(255,255,255,.09);
    --text-1:#F5EFE8;
    --text-2:#A79B8F;
    --text-3:#6E6357;
    --accent:#FF8A3D;
    --accent-2:#FF4D6D;
    --grad:linear-gradient(135deg,#FFB454,#FF7A3D);
    --grad-vivid:linear-gradient(135deg,#FFB454 0%,#FF7A3D 45%,#FF4D6D 100%);
    --grad-text:linear-gradient(180deg,#F5EFE8 0%,#C9BCAD 100%);
    --glow:rgba(255,138,61,.15);
    --glow-2:rgba(255,77,109,.09);
    --m1:rgba(109,91,208,.18);
    --m2:rgba(120,110,245,.11);
    --m3:rgba(255,138,61,.13);
    --font-logo:'Archivo',system-ui,sans-serif;
    --font-body:'Inter',system-ui,sans-serif;
    --font-mono:'JetBrains Mono',ui-monospace,monospace;
  }
  html[data-theme="light"]{
    --bg:#FAF7F2;
    --surface:#FFFFFF;
    --surface-2:#F3EEE6;
    --border:rgba(26,21,18,.10);
    --text-1:#1A1512;
    --text-2:#5A5048;
    --text-3:#93877C;
    --accent:#E06A1F;
    --accent-2:#D93A57;
    --grad:linear-gradient(135deg,#F59A2F,#E0691F);
    --grad-vivid:linear-gradient(135deg,#F59A2F 0%,#E0691F 45%,#D93A57 100%);
    --grad-text:linear-gradient(180deg,#1A1512 0%,#6B5C4E 100%);
    --glow:rgba(224,106,31,.13);
    --glow-2:rgba(217,58,87,.07);
    --m1:rgba(109,91,208,.12);
    --m2:rgba(120,110,245,.08);
    --m3:rgba(224,106,31,.09);
  }
  *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
  html,body{height:100%}
  body{
    font-family:var(--font-body);background:var(--bg);color:var(--text-1);
    -webkit-font-smoothing:antialiased;overflow-x:hidden;cursor:none;
    transition:background .35s ease,color .35s ease;
  }
  a,button{cursor:none}

  /* ---- mesh gradient (soft pre-blurred radials → no blur filter, GPU-cheap) ---- */
  #mesh{
    position:fixed;inset:0;z-index:0;pointer-events:none;
    background:
      radial-gradient(46% 44% at 12% 14%, var(--m1) 0%, transparent 72%),
      radial-gradient(30% 34% at 86% 56%, var(--m2) 0%, transparent 70%),
      radial-gradient(40% 36% at 46% 90%, var(--m3) 0%, transparent 72%);
  }
  #gridcv{
    position:fixed;inset:0;z-index:0;pointer-events:none;
    -webkit-mask-image:radial-gradient(ellipse 62% 48% at 50% 46%, #000 0%, transparent 76%);
            mask-image:radial-gradient(ellipse 62% 48% at 50% 46%, #000 0%, transparent 76%);
  }
  #particles{position:fixed;inset:0;z-index:0;pointer-events:none}

  /* ---- cursor (hollow circle) ---- */
  #cursor{position:fixed;top:0;left:0;z-index:9999;pointer-events:none;width:0;height:0;will-change:transform}
  .cur-ring{position:absolute;width:18px;height:18px;border-radius:50%;border:1.5px solid rgba(255,138,61,.45);transform:translate(-50%,-50%);transition:transform .15s ease,border-color .15s ease}
  #cursor.hover .cur-ring{transform:translate(-50%,-50%) scale(1.45);border-color:var(--accent)}

  /* ---- score + floating +1 ---- */
  #score{
    position:fixed;bottom:22px;left:24px;z-index:60;font-family:var(--font-mono);
    font-size:13px;letter-spacing:.06em;color:var(--text-3);display:flex;align-items:center;gap:7px;
  }
  #score b{color:var(--accent);font-weight:500}
  .plus{
    position:fixed;z-index:9999;pointer-events:none;font-family:var(--font-mono);
    font-size:13px;color:var(--accent);transform:translate(-50%,-50%);animation:floatup .7s ease-out forwards;
  }
  @keyframes floatup{to{transform:translate(-50%,-130%);opacity:0}}

  /* ---- nav ---- */
  nav{
    position:fixed;top:18px;left:50%;transform:translateX(-50%);z-index:50;
    width:min(780px,calc(100% - 32px));
    display:flex;align-items:center;justify-content:space-between;gap:16px;
    padding:9px 12px 9px 18px;
    background:color-mix(in srgb, var(--surface) 88%, transparent);
    border:1px solid var(--border);border-radius:999px;
    box-shadow:0 8px 32px rgba(0,0,0,.28);
    transition:background .35s ease,border-color .35s ease;
  }
  .brand{display:flex;align-items:center;gap:11px;white-space:nowrap;text-decoration:none;color:inherit}
  .pm{width:20px;height:20px;flex:0 0 auto;filter:drop-shadow(0 0 6px rgba(255,138,61,.3))}
  .pm .cell{fill:var(--accent);fill-opacity:.16}
  .pm .mover{animation:shuffle 4.4s ease-in-out infinite;filter:drop-shadow(0 0 3px rgba(255,138,61,.55))}
  @keyframes shuffle{
    0%,22%{transform:translate(0,0)}
    27%,47%{transform:translate(9.4px,0)}
    52%,72%{transform:translate(9.4px,9.4px)}
    77%,97%{transform:translate(0,9.4px)}
    100%{transform:translate(0,0)}
  }
  .logo-text{font-family:var(--font-logo);font-weight:800;font-size:15px;letter-spacing:-.02em;display:flex;align-items:baseline}
  .logo-text .lw2{background:var(--grad-vivid);-webkit-background-clip:text;background-clip:text;color:transparent}
  .links{display:flex;gap:22px}
  .links a{color:var(--text-2);font-size:13.5px;font-weight:500;text-decoration:none;transition:color .2s}
  .links a:hover{color:var(--text-1)}
  .nav-right{display:flex;align-items:center;gap:8px}
  .user-menu{position:relative}
  .user-menu-trigger{display:inline-flex;align-items:center;gap:8px;padding:3px 10px 3px 4px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--text-1);font-size:13px;font-weight:600;transition:border-color .2s,background .2s}
  .user-menu-trigger:hover,.user-menu.open .user-menu-trigger{border-color:var(--accent);background:var(--surface-2)}
  .user-menu-avatar{width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:14px;line-height:1;background:var(--surface-2);flex:0 0 auto;overflow:hidden}
  .user-menu-avatar.avatar-preset{background:transparent}
  img.user-menu-avatar{object-fit:cover}
  .user-menu-name{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .user-menu-chevron{color:var(--text-2);transition:transform .18s ease;flex:0 0 auto}
  .user-menu.open .user-menu-chevron{transform:rotate(180deg)}
  .user-menu-dropdown{position:absolute;top:calc(100% + 10px);inset-inline-end:0;min-width:210px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:6px;box-shadow:0 16px 40px rgba(0,0,0,.4);opacity:0;visibility:hidden;transform:translateY(-6px) scale(.98);transform-origin:top;transition:opacity .16s ease,transform .16s ease,visibility .16s;z-index:60}
  .user-menu.open .user-menu-dropdown{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
  .user-menu-header{padding:10px 12px;border-bottom:1px solid var(--border);margin-bottom:6px}
  .user-menu-fullname{display:block;font-size:13.5px;font-weight:600;color:var(--text-1)}
  .user-menu-email{display:block;font-size:12px;color:var(--text-3);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .user-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border:none;background:transparent;border-radius:9px;color:var(--text-1);font-size:13.5px;font-weight:500;text-align:start;transition:background .15s;text-decoration:none}
  .user-menu-item:hover{background:var(--surface-2)}
  .user-menu-item svg{color:var(--text-2);flex:0 0 auto}
  .user-menu-item--logout{color:var(--accent-2)}
  .user-menu-item--logout:hover{background:rgba(255,77,109,.12)}
  .user-menu-item--logout svg{color:var(--accent-2)}
  .user-menu-dropdown form{margin:0}
  .ghost{color:var(--text-1);font-size:13px;font-weight:500;text-decoration:none;padding:7px 13px;border-radius:999px;transition:background .2s}
  .ghost:hover{background:var(--border)}
  .btn{
    font-family:var(--font-body);font-size:13px;font-weight:600;cursor:none;border:none;
    color:#1A0D02;background:var(--grad);padding:8px 16px;border-radius:999px;white-space:nowrap;
    box-shadow:0 4px 16px rgba(255,138,61,.35);
    transition:transform .15s ease,filter .15s ease;
  }
  .btn:hover{transform:translateY(-1px);filter:brightness(1.07)}
  .theme-toggle{
    width:32px;height:32px;border-radius:50%;cursor:none;flex:0 0 auto;
    background:var(--surface-2);border:1px solid var(--border);color:var(--text-1);
    display:flex;align-items:center;justify-content:center;font-size:15px;
    transition:transform .15s,border-color .2s;
  }
  .theme-toggle:hover{border-color:var(--accent);transform:scale(1.06)}

  /* ---- hero ---- */
  main{
    position:relative;z-index:1;min-height:100vh;
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    text-align:center;padding:150px 24px 80px;
  }
  .eyebrow{
    font-family:var(--font-mono);font-size:11px;letter-spacing:.26em;text-transform:uppercase;
    color:var(--accent);display:flex;align-items:center;gap:12px;margin-bottom:28px;
  }
  .eyebrow::before,.eyebrow::after{content:"";width:32px;height:1px;background:linear-gradient(90deg,transparent,var(--accent));opacity:.55}
  .eyebrow::after{background:linear-gradient(90deg,var(--accent),transparent)}
  h1{
    font-family:var(--font-body);font-weight:600;
    font-size:clamp(32px,5.4vw,64px);line-height:1.14;letter-spacing:-.03em;
    background:var(--grad-text);
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }
  h1 .line{display:block}
  .keyword{
    display:inline-block;font-family:var(--font-body);font-weight:700;
    font-size:1.02em;line-height:1.2;letter-spacing:-.02em;
    background:var(--grad-vivid);
    -webkit-background-clip:text;background-clip:text;color:transparent;
    padding:0 .03em .04em;margin:0 .02em;white-space:nowrap;
  }
  .emblem{display:inline-block;width:.8em;height:.8em;margin:0 .08em;vertical-align:-.06em;animation:sparkle 5s ease-in-out infinite}
  .emblem svg{width:100%;height:100%;filter:drop-shadow(0 0 12px rgba(255,138,61,.6))}
  @keyframes sparkle{0%,100%{opacity:.75;transform:scale(.94) rotate(0deg)}50%{opacity:1;transform:scale(1.06) rotate(15deg)}}
  .sub{margin-top:26px;max-width:540px;color:var(--text-2);font-size:16.5px;line-height:1.6;font-weight:400}
  .cta-row{display:flex;gap:12px;margin-top:36px;flex-wrap:wrap;justify-content:center}
  .btn-lg{font-size:14.5px;padding:13px 26px}
  .btn-sec{
    background:var(--surface);color:var(--text-1);border:1px solid var(--border);
    font-size:14.5px;padding:13px 26px;border-radius:999px;font-weight:600;cursor:none;
    transition:border-color .2s,background .2s;
  }
  .btn-sec:hover{border-color:var(--accent)}
  .tool-strip{margin-top:54px;display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
  .chip{
    font-family:var(--font-mono);font-size:11.5px;letter-spacing:.04em;color:var(--text-2);
    background:color-mix(in srgb, var(--surface) 88%, transparent);
    border:1px solid var(--border);border-radius:999px;padding:8px 15px;
    display:flex;align-items:center;gap:8px;
    transition:border-color .25s,color .25s,transform .25s;
  }
  .chip:hover{border-color:var(--accent);color:var(--text-1);transform:translateY(-2px)}
  .chip .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent)}
  a.btn,a.btn-sec,a.chip{text-decoration:none}

  @media (max-width:640px){.links{display:none}nav{width:calc(100% - 24px)}h1{font-size:clamp(27px,8.5vw,38px)}}
  @media (min-width:900px){
    :root{
      --m1:rgba(109,91,208,.11);
      --m2:rgba(120,110,245,.07);
      --m3:rgba(255,138,61,.08);
    }
    html[data-theme="light"]{
      --m1:rgba(109,91,208,.07);
      --m2:rgba(120,110,245,.05);
      --m3:rgba(224,106,31,.06);
    }
    #mesh{
      background:
        radial-gradient(42% 40% at 10% 10%, var(--m1) 0%, transparent 78%),
        radial-gradient(26% 30% at 88% 58%, var(--m2) 0%, transparent 76%),
        radial-gradient(34% 30% at 46% 94%, var(--m3) 0%, transparent 78%);
    }
  }
  /* ---- landing sections (below hero) ---- */
  .showcase,.cta-band,.site-footer{position:relative;z-index:1}
  .showcase{max-width:1040px;margin:0 auto;padding:40px 24px 90px}
  .showcase-head{text-align:center;margin-bottom:48px}
  .showcase-head .eyebrow{justify-content:center;margin-bottom:22px}
  .showcase-head h2{
    font-size:clamp(24px,3.4vw,38px);font-weight:700;letter-spacing:-.03em;line-height:1.2;
    background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;
  }
  .showcase-sub{margin-top:14px;color:var(--text-2);font-size:15px}
  .tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
  .tool-card{
    display:block;background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:30px;
    color:var(--text-1);text-decoration:none;transition:border-color .25s,transform .25s;
  }
  .tool-card:hover{border-color:var(--accent);transform:translateY(-4px)}
  .tc-icon{font-size:30px;line-height:1;margin-bottom:18px}
  .tool-card h3{font-size:17px;font-weight:600;margin-bottom:10px}
  .tool-card p{font-size:14px;color:var(--text-2);line-height:1.6}
  .cta-band{max-width:1040px;margin:0 auto;padding:30px 24px 90px;text-align:center}
  .cta-band h2{
    font-size:clamp(24px,3.2vw,34px);font-weight:700;letter-spacing:-.03em;margin-bottom:26px;
    background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;
  }
  .site-footer{
    border-top:1px solid var(--border);padding:40px 24px 60px;text-align:center;
    color:var(--text-3);font-size:13px;font-family:var(--font-body);
  }
  .site-footer .flinks{display:flex;gap:22px;justify-content:center;margin-bottom:16px;flex-wrap:wrap}
  .site-footer .flinks a{color:var(--text-2);text-decoration:none;transition:color .2s}
  .site-footer .flinks a:hover{color:var(--text-1)}

  /* ---- language toggle ---- */
  .lang-toggle{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:999px;border:1px solid var(--border);color:var(--text-2);text-decoration:none;font-size:12px;font-weight:700;letter-spacing:.04em;line-height:1;white-space:nowrap;transition:color .2s,border-color .2s,background .2s}
  .lang-toggle:hover{color:var(--text-1);border-color:var(--accent);background:rgba(255,255,255,.03)}
  .lang-flag{font-size:15px;line-height:1}
  .lang-code{line-height:1}

  /* ---- RTL (Persian) ---- */
  html[lang="fa"]{--font-body:'iranyekan','Inter',system-ui,sans-serif}
  html[lang="fa"] h1,html[lang="fa"] h2,html[lang="fa"] h3{letter-spacing:0}

  @media (prefers-reduced-motion: reduce){*{animation:none !important;transition:none !important}}

  /* ---- tools explorer ---- */
  .tools-explorer{scroll-margin-top:90px}
  .explorer{display:grid;grid-template-columns:340px 1fr;gap:22px;align-items:start;margin-top:8px}
  .explorer-list{display:flex;flex-direction:column;gap:10px}
  .tool-row{
    display:flex;align-items:center;gap:14px;width:100%;text-align:left;
    padding:15px 16px;border-radius:14px;border:1px solid var(--border);
    background:color-mix(in srgb, var(--surface) 82%, transparent);
    color:var(--text-1);cursor:none;font-family:inherit;
    transition:border-color .2s,background .2s,transform .2s;
  }
  .tool-row:hover{border-color:var(--accent);transform:translateX(2px)}
  .tool-row.active{border-color:var(--accent);background:rgba(255,138,61,.09);box-shadow:0 0 0 1px var(--accent) inset}
  .tr-icon{font-size:22px;line-height:1;flex:0 0 auto}
  .tr-body{display:flex;flex-direction:column;gap:3px;min-width:0}
  .tr-name{font-weight:600;font-size:14.5px}
  .tr-desc{font-size:12px;color:var(--text-2);line-height:1.4}
  .tr-arrow{margin-left:auto;flex:0 0 auto;color:var(--text-3);transition:transform .2s,color .2s;display:flex}
  .tool-row.active .tr-arrow{color:var(--accent);transform:translateX(2px)}
  html[lang="fa"] .tr-arrow svg{transform:scaleX(-1)}

  .explorer-preview{position:relative;min-height:400px}
  .preview-pane{display:none}
  .preview-pane.active{display:flex;flex-direction:column;gap:22px;animation:paneIn .35s ease}
  @keyframes paneIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
  .preview-info h3{font-size:22px;font-weight:700;margin-bottom:8px}
  .preview-desc{color:var(--text-2);font-size:14.5px;line-height:1.65;max-width:540px}
  .preview-how{margin-top:14px}
  .ph-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);margin-bottom:11px}
  .preview-how ol{list-style:none;display:flex;flex-direction:column;gap:9px}
  .preview-how li{display:flex;align-items:center;gap:11px;font-size:14px;color:var(--text-2)}
  .preview-how li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);flex:0 0 auto;box-shadow:0 0 8px var(--accent)}
  .preview-info .btn{display:inline-flex;margin-top:24px;font-size:14px;padding:11px 22px}

  /* ---- preview glass visuals ---- */
  .preview-visual{
    position:relative;border-radius:18px;overflow:hidden;min-height:300px;
    display:flex;align-items:center;justify-content:center;padding:30px;
    background:
      radial-gradient(80% 70% at 20% 15%, var(--m1) 0%, transparent 70%),
      radial-gradient(70% 60% at 85% 85%, var(--m3) 0%, transparent 70%),
      color-mix(in srgb, var(--surface) 82%, transparent);
    border:1px solid var(--border);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 24px 60px rgba(0,0,0,.35);
  }
  .preview-visual::before{
    content:"";position:absolute;inset:0;
    background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);
    background-size:36px 36px;opacity:.35;
    -webkit-mask-image:radial-gradient(ellipse 90% 85% at 50% 50%,#000 0%,transparent 85%);
            mask-image:radial-gradient(ellipse 90% 85% at 50% 50%,#000 0%,transparent 85%);
  }
  .preview-visual > *{position:relative;z-index:1;width:100%;max-width:420px}

  .pv-contrast{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .pv-swatch{min-height:130px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:var(--sw);display:flex;flex-direction:column;justify-content:space-between;padding:20px;box-shadow:0 16px 40px rgba(0,0,0,.32)}
  .pv-sample{font-size:36px;font-weight:700;line-height:1;letter-spacing:-.02em}
  .pv-hex{font-family:var(--font-mono);font-size:11px;opacity:.72;align-self:flex-end}
  .pv-ratio{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding:13px 18px;border-radius:12px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 70%,transparent)}
  .pv-ratio b{font-family:var(--font-mono);font-size:18px;font-weight:500}
  .pv-badge.pass{font-family:var(--font-mono);font-size:11px;color:#3ECF8E;border:1px solid rgba(62,207,142,.4);padding:4px 11px;border-radius:999px;background:rgba(62,207,142,.1)}

  .pv-compress{display:flex;flex-direction:column;gap:18px}
  .pv-file{display:flex;align-items:center;gap:14px;padding:18px;border-radius:14px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 70%,transparent)}
  .pv-fico{font-size:26px;line-height:1}
  .pv-fmeta{display:flex;flex-direction:column;gap:3px;min-width:0}
  .pv-fmeta b{font-size:14px;font-weight:600}
  .pv-fmeta span{font-size:12px;color:var(--text-2);font-family:var(--font-mono)}
  .pv-pct{margin-left:auto;font-family:var(--font-mono);font-size:15px;color:var(--accent);font-weight:600}
  .pv-bar{height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden;border:1px solid var(--border)}
  .pv-bar span{display:block;height:100%;background:var(--grad-vivid);border-radius:999px;box-shadow:0 0 12px rgba(255,138,61,.5)}
  .pv-done{display:flex;justify-content:flex-end}

  .pv-palette{display:flex;gap:8px}
  .pv-swatchbox{flex:1;aspect-ratio:1;border-radius:12px;background:var(--c);display:flex;align-items:flex-end;justify-content:center;padding:10px;box-shadow:0 14px 34px rgba(0,0,0,.32);border:1px solid rgba(255,255,255,.12)}
  .pv-swatchbox i{font-style:normal;font-family:var(--font-mono);font-size:9.5px;color:rgba(0,0,0,.62);background:rgba(255,255,255,.55);padding:2px 5px;border-radius:5px;white-space:nowrap}

  .pv-token{display:flex;flex-direction:column;align-items:stretch;gap:12px}
  .pv-code{font-family:var(--font-mono);font-size:13px;padding:16px 18px;border-radius:12px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 70%,transparent);color:var(--text-2)}
  .pv-arrow{align-self:center;color:var(--accent);font-size:20px;animation:tokArrow 2s ease-in-out infinite}
  @keyframes tokArrow{0%,100%{transform:translateY(-3px);opacity:.5}50%{transform:translateY(3px);opacity:1}}

  .pv-lorem{display:flex;flex-direction:column;gap:14px;align-items:stretch}
  .pv-lorem-box{display:flex;flex-direction:column;gap:8px;padding:20px;border-radius:14px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 70%,transparent)}
  .pv-lorem-line{height:8px;border-radius:999px;background:color-mix(in srgb,var(--text-3) 45%,transparent);display:block}

  .pv-typing{display:flex;flex-direction:column;gap:16px;align-items:stretch}
  .pv-typing-text{font-family:var(--font-mono);font-size:20px;letter-spacing:.06em;display:flex;gap:3px;flex-wrap:wrap}
  .pv-typing-text .pv-ch{padding:2px 2px;border-radius:4px}
  .pv-typing-text .pv-ch.done{color:var(--text-1)}
  .pv-typing-text .pv-ch.wrong{color:var(--fail);text-decoration:underline;text-underline-offset:4px}
  .pv-typing-text .pv-ch.cur{background:rgba(255,138,61,.18);box-shadow:inset 0 -2px 0 var(--accent);color:var(--text-1)}
  .pv-typing-stats{display:flex;gap:8px}

  /* ---- features ---- */
  .features{max-width:1040px;margin:0 auto;padding:40px 24px 90px}
  .feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px}
  .feature-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:28px;transition:border-color .25s,transform .25s}
  .feature-card:hover{border-color:var(--accent);transform:translateY(-4px)}
  .fc-icon{font-size:26px;line-height:1;margin-bottom:16px}
  .feature-card h3{font-size:17px;font-weight:600;margin-bottom:10px}
  .feature-card p{font-size:14px;color:var(--text-2);line-height:1.6}

  /* ---- how it works ---- */
  .how{max-width:1040px;margin:0 auto;padding:40px 24px 90px}
  .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px}
  .step{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:28px;position:relative;overflow:hidden}
  .step-num{font-family:var(--font-mono);font-size:13px;color:var(--accent);border:1px solid rgba(255,138,61,.4);border-radius:999px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}
  .step h3{font-size:17px;font-weight:600;margin-bottom:10px}
  .step p{font-size:14px;color:var(--text-2);line-height:1.6}

  /* ---- stats ---- */
  .stats{max-width:1040px;margin:0 auto;padding:0 24px 90px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
  .stat{text-align:center;padding:26px;border:1px solid var(--border);border-radius:18px;background:color-mix(in srgb,var(--surface) 70%,transparent)}
  .stat-num{font-size:34px;font-weight:700;background:var(--grad-vivid);-webkit-background-clip:text;background-clip:text;color:transparent}
  .stat-label{font-size:13px;color:var(--text-2);margin-top:6px}

  /* ---- responsive ---- */
  @media (max-width:860px){
    .explorer{grid-template-columns:1fr}
    .feature-grid,.steps,.stats{grid-template-columns:1fr}
  }

  /* ---- landing blog section ---- */
  .landing-blog{max-width:1040px;margin:0 auto;padding:40px 24px 90px}
  .landing-blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}
  .landing-post-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;color:var(--text-1);text-decoration:none;transition:border-color .25s,transform .25s}
  .landing-post-card:hover{border-color:var(--accent);transform:translateY(-4px)}
  .lpc-cover{aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;background:radial-gradient(120% 120% at 18% 0%, rgba(255,138,61,.16), transparent 55%), radial-gradient(110% 110% at 100% 100%, rgba(255,77,109,.12), transparent 55%), var(--surface-2)}
  .landing-post-card:nth-child(2) .lpc-cover{background:radial-gradient(120% 120% at 18% 0%, rgba(138,92,245,.16), transparent 55%), radial-gradient(110% 110% at 100% 100%, rgba(120,160,255,.12), transparent 55%), var(--surface-2)}
  .landing-post-card:nth-child(3) .lpc-cover{background:radial-gradient(120% 120% at 18% 0%, rgba(255,77,109,.16), transparent 55%), radial-gradient(110% 110% at 100% 100%, rgba(255,138,61,.12), transparent 55%), var(--surface-2)}
  .lpc-emoji{font-size:54px;line-height:1;filter:drop-shadow(0 10px 26px rgba(0,0,0,.45))}
  .lpc-cover img{width:100%;height:100%;object-fit:cover;display:block}
  .lpc-body{display:flex;flex-direction:column;gap:10px;padding:22px;flex:1}
  .lpc-meta{font-family:var(--font-mono);font-size:12px;color:var(--text-3)}
  .landing-post-card h3{font-size:18px;font-weight:600;line-height:1.3}
  .landing-post-card p{font-size:13.5px;color:var(--text-2);line-height:1.55;flex:1}
  .lpc-read{color:var(--accent);font-weight:600;font-size:13.5px}
  .landing-blog-all{text-align:center;margin-top:32px}
  @media (max-width:900px){
    .landing-blog-grid{grid-template-columns:1fr}
  }

  /* ---- landing contact section ---- */
  .landing-contact{max-width:760px;margin:0 auto;padding:40px 24px 90px}
  .landing-contact .showcase-head{margin-bottom:36px}
  .landing-contact-form{display:flex;flex-direction:column;gap:18px}
  .lcf-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .landing-contact-form .field{display:flex;flex-direction:column;gap:8px}
  .landing-contact-form label{font-size:13px;font-weight:500;color:var(--text-2)}
  .landing-contact-form input,.landing-contact-form textarea{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:11px;padding:12px 14px;color:var(--text-1);font-family:inherit;font-size:14px;transition:border-color .2s;cursor:text}
  .landing-contact-form input:focus,.landing-contact-form textarea:focus{outline:none;border-color:rgba(255,138,61,.55)}
  .landing-contact-form textarea{resize:vertical;min-height:140px}
  .landing-contact-form .err{color:#FF4D6D;font-size:12.5px}
  .landing-contact-form .btn{cursor:pointer;align-self:flex-start}
  .landing-status{background:rgba(62,207,142,.1);border:1px solid rgba(62,207,142,.35);color:#3ECF8E;padding:12px 16px;border-radius:12px;font-size:14px;margin-bottom:20px;text-align:center}

  @media (max-width:640px){.lcf-row{grid-template-columns:1fr}}

  /* ============================================================
     Mobile navigation (burger + full-screen drawer)
     ============================================================ */
  .nav-burger{display:none;width:44px;height:44px;flex:0 0 auto;align-items:center;justify-content:center;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;color:var(--text-1);cursor:pointer;transition:border-color .2s}
  .nav-burger svg{width:20px;height:20px}
  .nav-burger:active{border-color:var(--accent)}

  .mobile-menu{position:fixed;inset:0;z-index:200;background:var(--bg);display:flex;flex-direction:column;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility .22s ease}
  .mobile-menu.open{opacity:1;visibility:visible;pointer-events:auto}
  .mm-head{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--border);min-height:64px}
  .mm-brand{font-family:var(--font-logo);font-weight:800;font-size:16px;letter-spacing:-.02em}
  .mm-brand .lw2{background:var(--grad-vivid);-webkit-background-clip:text;background-clip:text;color:transparent}
  .mm-close{width:44px;height:44px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-1);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}
  .mm-links{display:flex;flex-direction:column;gap:4px;padding:16px;overflow-y:auto;flex:1}
  .mm-links a{display:flex;align-items:center;padding:16px 14px;border-radius:14px;color:var(--text-1);font-size:18px;font-weight:600;text-decoration:none;transition:background .15s}
  .mm-links a:active,.mm-links a:hover{background:var(--surface-2)}
  .mm-links a.active{color:var(--accent)}
  .mm-foot{padding:16px 20px calc(20px + env(safe-area-inset-bottom));border-top:1px solid var(--border);display:flex;flex-direction:column;gap:14px}
  .mm-foot .lang-toggle{justify-content:center;padding:14px 16px;font-size:13px}
  .mm-auth{display:flex;gap:10px}
  .mm-auth a,.mm-auth .mm-logout{flex:1}
  .mm-auth .mm-primary,.mm-auth .mm-secondary,.mm-logout button{width:100%;min-height:48px;display:flex;align-items:center;justify-content:center;border-radius:999px;font-size:14px;font-weight:600;text-decoration:none}
  .mm-auth .mm-primary{background:var(--grad);color:#1A0D02;border:none;font-family:inherit;cursor:pointer}
  .mm-auth .mm-secondary{background:var(--surface);color:var(--text-1);border:1px solid var(--border)}
  .mm-logout{margin:0;display:flex}
  .mm-logout button{background:var(--grad);color:#1A0D02;border:none;font-family:inherit;cursor:pointer}

  /* ---- mobile: nav collapse (keep theme toggle visible) ---- */
  @media (max-width:640px){
    .links{display:none}
    .nav-right .lang-toggle{display:none}
    .nav-right .user-menu,.nav-right .ghost,.nav-right .btn{display:none}
    .nav-burger{display:flex}
    .theme-toggle{width:44px;height:44px;font-size:18px}
    nav .nav-right{margin-inline-start:auto}
    nav{width:calc(100% - 24px);padding:6px 8px 6px 14px;min-height:56px}
    nav .brand{min-height:44px}

    main{padding:116px 20px 64px}
    .sub{font-size:15.5px}
    .cta-row{margin-top:30px;gap:10px}
    .tool-strip{margin-top:40px}
    .chip{padding:11px 16px;font-size:12px}
    .showcase,.features,.how,.landing-blog,.landing-contact{padding:40px 20px 64px}
    .stats{padding:0 20px 64px}
    .cta-band{padding:28px 20px 64px}
    .showcase-head{margin-bottom:32px}
    .btn-lg,.btn-sec,.preview-info .btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
    .chip{min-height:44px}
    .site-footer .flinks{gap:8px}
    .site-footer .flinks a{display:inline-flex;align-items:center;justify-content:center;padding:13px 16px;border-radius:999px;border:1px solid var(--border)}
    .site-footer .flinks a:active{color:var(--text-1);border-color:var(--accent)}
  }

  /* ---- tools explorer → horizontal pill list on mobile ---- */
  @media (max-width:860px){
    .explorer-list{flex-direction:row;overflow-x:auto;gap:8px;margin:0 -20px;padding:2px 20px 8px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
    .explorer-list::-webkit-scrollbar{display:none}
    .tool-row{flex:0 0 auto;width:auto;padding:11px 16px;border-radius:999px;gap:9px}
    .tool-row:hover{transform:none}
    .tool-row .tr-desc{display:none}
    .tool-row .tr-arrow{display:none}
    .explorer-preview{min-height:0}
  }

  /* ---- touch devices: restore native cursor, hide desktop-only easter eggs ---- */
  @media (hover:none) and (pointer:coarse){
    body,a,button{cursor:auto}
    #cursor,#score{display:none}
  }