
    .jpzz *{box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0)}
    .jpzz{--line:#E5E7EB;--muted:#6B7280;--ink:#111827;--ink2:#0B1220;--bg:#fff;--shadow:0 1px 2px rgba(0,0,0,.06);--pill:#111827;--pillText:#fff;--switch:#111827;overflow-x:hidden}
    .jpzz h4.jpzz-h{font-weight:900;margin:18px 0 10px 4px;font-size:22px;line-height:1.25;letter-spacing:.2px;color:var(--ink2);text-align:center}

    /* Rows & pills (global) */
    .jpzz-row{display:flex;gap:10px;align-items:center;flex-wrap:nowrap;margin:6px 0 14px}
    /* Force consistent text color (some themes/iOS paint buttons blue) */
    .jpzz button, .jpzz .jpzz-pill, .jpzz .jpzz-btn, .jpzz .jpzz-mic{color:var(--ink);-webkit-text-fill-color:currentColor}

    .jpzz-pill{position:relative;display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;border:1px solid var(--line);background:var(--bg);cursor:pointer;user-select:none;white-space:nowrap;box-shadow:var(--shadow);font-weight:800;color:var(--ink)}
    .jpzz-pill .lbl{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

    .jpzz-pill.is-active{background:#111827;color:#fff;border-color:#111827}
    .jpzz-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:22px;padding:0 8px;border-radius:999px;background:var(--pill);color:var(--pillText);font-size:12px;font-weight:900}
    .jpzz-pill.is-active .jpzz-badge{background:#fff;color:#111827}
    /* Dropdown menu (inline). Portal approach was fragile in some themes/sidebars. */
    .jpzz-menu{position:absolute;display:none;top:calc(100% + 10px);left:0;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 50px rgba(10,16,28,.12);padding:8px;z-index:9999;min-width:260px;max-width:min(360px, 92vw)}
    .jpzz-pill.jpzz-hasmenu{position:relative;overflow:visible}
    /* Menus can live inside a pill (legacy) or as sibling within .jpzz-presetwrap (new, more reliable) */
    .jpzz-pill.is-open>.jpzz-menu{display:block}
    .jpzz-presetwrap.is-open>.jpzz-menu{display:block}
    .jpzz-pillwrap.is-open>.jpzz-menu{display:block}
    .jpzz-menu button{display:block;width:100%;text-align:left;padding:10px;border:0;background:#fff;cursor:pointer;border-radius:8px;color:var(--ink);-webkit-text-fill-color:currentColor}
    .jpzz-menu button:hover{background:#F3F4F6}
    /* legacy portal (kept for backward compatibility, but disabled) */
    .jpzz-portal-layer{display:none}
    .jpzz-portal-layer.jpzz-portal-active{display:none}
    .jpzz-portal-menu{display:none}

    /* --- Top layout (Desktop split cards) --- */
    /* NOTE: No vertical divider (avoid overflow into sidebar layouts). */
    .jpzz-topwrap{display:grid;grid-template-columns:1fr;gap:16px;align-items:start;margin:14px 0 6px;max-width:100%}
    /* IMPORTANT: allow dropdowns (preset menus / language menu) to render outside the card */
    .jpzz-topcard{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:18px 18px 16px;width:100%;overflow:visible}
    .jpzz-topttl{font-weight:900;margin:4px 0 14px;font-size:22px;line-height:1.25;letter-spacing:.2px;color:var(--ink2);text-align:center}
    .jpzz-topcontent{display:block;width:100%}

    /* Presets inside card (2×2 equal pills) */
    .jpzz-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;align-items:start;width:100%;max-width:760px}
    .jpzz-presets .jpzz-pill{width:100%;justify-content:center}
    .jpzz-presets .jpzz-pill .jpzz-badge{margin-left:6px}
    .jpzz-presets-subpanel{grid-column:1/-1;display:none;padding:16px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(180deg,#fff 0%,#FAFBFC 100%);box-shadow:var(--shadow)}
    .jpzz-presets-subpanel.is-visible{display:block}
    .jpzz-presets-subhead{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
    .jpzz-presets-subttl{font-weight:900;color:var(--ink2);font-size:15px;line-height:1.2}
    .jpzz-presets-submeta{font-weight:800;color:var(--muted);font-size:13px;line-height:1.2}
    .jpzz-presets-subgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
    .jpzz-subpill{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:50px;padding:12px 14px;border-radius:18px;border:1px solid var(--line);background:#fff;color:var(--ink);font-weight:800;box-shadow:var(--shadow);cursor:pointer;text-align:left;width:100%}
    .jpzz-subpill-label{display:block;min-width:0;line-height:1.15;overflow:hidden;text-overflow:ellipsis}
    .jpzz-subpill-limit{display:inline-flex;align-items:center;justify-content:center;min-width:48px;height:28px;padding:0 10px;border-radius:999px;background:#F3F4F6;color:var(--ink2);font-size:12px;font-weight:900;flex:0 0 auto}
    .jpzz-subpill.is-active{background:#111827;border-color:#111827;color:#fff}
    .jpzz-subpill.is-active .jpzz-subpill-limit{background:#fff;color:#111827}

    /* Language row inside card */
    .jpzz-langrow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;align-items:center;width:100%;max-width:760px}
    .jpzz-langrow .jpzz-pill, .jpzz-langrow .jpzz-mic{width:100%;justify-content:center}
    .jpzz-ddwrap{position:relative}
    .jpzz-dd{position:absolute;top:calc(100% + 6px);left:0;display:none;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:6px;z-index:50;min-width:220px}
    .jpzz-dd button{display:block;width:100%;text-align:left;padding:10px;border:0;background:#fff;cursor:pointer;border-radius:10px}
    .jpzz-dd button:hover{background:#F3F4F6}
    /* mic button = same visual language as pills */
    .jpzz-mic{display:flex;align-items:center;gap:10px;justify-content:center;height:64px;padding:0 22px;border-radius:999px;border:1px solid var(--line);background:#fff;cursor:pointer;box-shadow:0 10px 30px rgba(10,16,28,.06);font-weight:900;color:var(--ink);-webkit-text-fill-color:currentColor}

    /* Editor */
    .jpzz-editor{margin:10px 0}
    .jpzz-ta{width:100%;min-height:260px;padding:16px;border-radius:18px;background:#fff;color:var(--ink);border:2px solid transparent;resize:vertical;line-height:1.5;outline:0;box-shadow:var(--shadow)}
    .jpzz-ta:focus{border-color:transparent}
    .jpzz-ta{--c1:#ff0080;--c2:#ff8c00;--c3:#ffd400;--c4:#00c853;--c5:#00bcd4;--c6:#3f51b5;--c7:#7c4dff;background-image:linear-gradient(#fff,#fff),conic-gradient(from 180deg at 50% 50%,var(--c1),var(--c2),var(--c3),var(--c4),var(--c5),var(--c6),var(--c7),var(--c1));background-origin:border-box;background-clip:padding-box,border-box;border:2px solid transparent}

    /* Limit bar + status */
    .jpzz-limitwrap{display:flex;flex-direction:column;align-items:center;gap:8px;margin:10px 0 12px}
    .jpzz-status{display:none;align-items:center;gap:8px;font-weight:800;font-size:13px;text-align:center}
    .jpzz-status.ok{color:#10B981}.jpzz-status.warn{color:#F59E0B}.jpzz-status.over{color:#EF4444}
    .jpzz-bar{display:none;width:100%;height:10px;border-radius:999px;background:#E5E7EB;overflow:hidden;max-width:900px;width:90%;margin:0 auto}
    .jpzz-bar>div{height:100%;width:0%;background:linear-gradient(90deg,#22C55E,#F59E0B,#EF4444);transition:width .2s}
    .jpzz-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px;box-shadow:var(--shadow)}
    .jpzz-card .h{color:#374151;font-size:13px;margin-bottom:6px;font-weight:600}
    .jpzz-card .v{font-size:26px;font-weight:900;color:var(--ink)}
    .jpzz-card.ring-red{box-shadow:0 0 0 2px #ef4444 inset}
    .jpzz-leds{display:flex;gap:6px;margin-top:6px}.jpzz-led{width:14px;height:14px;border-radius:999px;background:#E5E7EB}
    .jpzz-led.on:nth-child(1){background:#EF4444}.jpzz-led.on:nth-child(2){background:#F59E0B}.jpzz-led.on:nth-child(3){background:#10B981}
    .jpzz-info{margin-left:8px;cursor:help;opacity:.7;font-weight:900}
    .jpzz-info:hover{opacity:1}

    /* Stats grid */
    .jpzz-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin:12px 0}

    /* Collapsibles */
    .jpzz-coll{border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow);margin:12px 0}
    .jpzz-coll>button{width:100%;text-align:left;padding:14px 16px;border:0;background:transparent;display:flex;justify-content:space-between;align-items:center;font-weight:900;cursor:pointer;color:var(--ink)}
    .jpzz-coll .inner{display:none;padding:12px 16px 16px}.jpzz-coll.open .inner{display:block}

    /* --- Advanced analysis (top row) --- */
    .jpzz-advtop{display:grid;grid-template-columns:1fr 2fr;gap:14px;margin-bottom:10px}
    .jpzz-pillbox{border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow);padding:18px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}

    /* Toggle base (used in Find + elsewhere) */
    .jpzz-toggle{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-weight:800;user-select:none}
    .jpzz-switch{width:46px;height:26px;border-radius:999px;background:#D1D5DB;position:relative;transition:background .15s}
    .jpzz-switch::after{content:'';position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:999px;background:#fff;box-shadow:var(--shadow);transition:left .15s}
    .jpzz-toggle.on .jpzz-switch{background:var(--switch)}
    .jpzz-toggle.on .jpzz-switch::after{left:23px}

    /* Avg word length pill */
    .jpzz-avgpill{justify-content:center;text-align:center;flex-direction:column;gap:14px;align-items:center}
    .jpzz-avgpill .k{font-weight:900;color:var(--ink2);font-size:26px;letter-spacing:.2px}
    .jpzz-avgpill .avg-badge{display:inline-flex;align-items:center;justify-content:center;height:64px;min-width:150px;padding:0 24px;border-radius:999px;background:var(--pill);color:var(--pillText);font-size:34px;font-weight:900;line-height:1;box-shadow:0 10px 20px rgba(0,0,0,.10),var(--shadow)}
    @media(max-width:640px){.jpzz-avgpill .avg-badge{height:58px;min-width:130px;font-size:32px;padding:0 20px}}

    /* Find (substring) pill */
    .jpzz-findpill{padding:18px 20px}
    .jpzz-findgrid{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:14px 16px;align-items:center;width:100%}
    .jpzz-input.jpzz-input-pill{height:56px;border-radius:999px;border:1px solid var(--line);padding:0 18px;outline:0;box-shadow:var(--shadow);font-weight:900;color:var(--ink2);background:#fff;min-width:220px}
    .jpzz-findbadge{height:56px;border-radius:999px;background:#111827;color:#fff;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;font-weight:900;white-space:nowrap;box-shadow:var(--shadow)}
    .jpzz-findtoggle{grid-column:1 / -1;display:flex;align-items:center;gap:12px;flex-wrap:nowrap;justify-self:start;font-weight:900;color:var(--ink2)}
    .jpzz-findtoggle .jpzz-switch{flex:0 0 auto;min-width:46px}


    /* Counters list (light pills) */
    .jpzz-pillgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
    .jpzz-mini{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff;color:var(--ink);min-width:0;gap:10px}
    .jpzz-mini .k{min-width:0;overflow-wrap:anywhere;hyphens:auto}
    .jpzz-mini .k{font-weight:700;opacity:.9}.jpzz-mini .n{font-weight:900}

    /* Tools grid (2×3) */
    .jpzz-toolgrid2{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
    .jpzz-toolrow{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:#fff}
    .jpzz-toolrow .lbl{font-weight:800;color:var(--muted)}
    .jpzz-radio .jpzz-switch{width:54px}

    /* WPM slider (modern) */
    .jpzz-wpmwrap{border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow);padding:16px}
    .jpzz-wpmlbl{font-weight:900;color:var(--ink2);margin-bottom:10px}
    .jpzz-wpm{position:relative;height:10px;border-radius:999px;background:#E5E7EB;width:100%}
    .jpzz-wpm::before{content:'';position:absolute;left:0;top:0;height:100%;width:var(--prog,0%);background:#0B1220;border-radius:999px;transition:width .15s}
    .jpzz-thumb{position:absolute;top:50%;transform:translate(-50%,-50%);width:24px;height:24px;border-radius:999px;background:#fff;border:2px solid #E5E7EB;box-shadow:0 2px 6px rgba(0,0,0,.12);cursor:pointer}
    .jpzz-wpmbadge{margin-top:10px;text-align:center;font-weight:900;color:#6B7280}

    /* Actions */
    .jpzz-actions{
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:16px;
      width:100%;
      margin:12px 0 0
    }
    .jpzz-btn{
      position:relative;
      display:inline-flex;
      gap:10px;
      align-items:center;
      justify-content:center;
      width:100%;
      min-height:56px;
      padding:11px 12px;
      border-radius:14px;
      border:1px solid var(--line);
      background:#fff;
      cursor:pointer;
      box-shadow:var(--shadow);
      font-weight:800;
      font-size:15px;
      line-height:1.15;
      white-space:nowrap;
      color:var(--ink)
    }
    .jpzz-btn.ok{background:#10B981;color:#fff;border-color:#10B981}
    .jpzz-btn.ok{-webkit-text-fill-color:#fff}
    .jpzz-actions #jpzz-magic{justify-content:center}
    .jpzz-actions #jpzz-export{justify-content:center}
    .jpzz-actions #jpzz-magic .jpzz-menu{
      left:50%;
      right:auto;
      transform:translateX(-50%);
      top:calc(100% + 8px)
    }
    .jpzz-actions #jpzz-export .jpzz-menu{
      left:auto;
      right:0;
      transform:none;
      top:calc(100% + 8px)
    }

    /* --- Top layout cards (desktop) --- */
    .jpzz-topcard{min-width:0}
    .jpzz-topcard .jpzz-presets{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px;row-gap:14px}
    .jpzz-topcard .jpzz-presets .jpzz-pill{width:100%;justify-content:center}
    .jpzz-topcard .jpzz-langrow{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px}

    /* Top pills: robust flex layout + 2-line labels */
    .jpzz-topcard .jpzz-pill{width:100%;justify-content:flex-start;gap:10px;white-space:normal;min-height:64px;padding:16px 18px;border-radius:999px}
    .jpzz-topcard .jpzz-pill .ico{flex:0 0 auto}
    .jpzz-topcard .jpzz-pill .jpzz-pill-label{flex:1 1 auto;min-width:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;line-height:1.15}
    .jpzz-topcard .jpzz-pill .jpzz-badge{flex:0 0 auto;margin-left:auto}
    .jpzz-topcard .jpzz-pill .jpzz-caret{flex:0 0 auto;margin-left:10px;opacity:.85}
    @media (max-width:700px){.jpzz-topcard .jpzz-pill{min-height:58px;padding:14px 16px}}
    @media (max-width:520px){.jpzz-topcard .jpzz-presets{grid-template-columns:1fr;} .jpzz-topcard .jpzz-langrow{grid-template-columns:1fr;} .jpzz-presets-subgrid{grid-template-columns:1fr;}}
    /* Apple-ish micro animation */
    .jpzz-bump{animation:jpzzBump .24s ease-out}
    @keyframes jpzzBump{0%{transform:scale(1)}50%{transform:scale(1.03)}100%{transform:scale(1)}}
    .jpzz-topcard .jpzz-langrow > *{min-width:0}
    .jpzz-topcard .jpzz-langrow #jpzz-langbtn,
    .jpzz-topcard .jpzz-langrow #jpzz-mic{width:100%;justify-content:center}
@media (max-width:1099px){ .jpzz-topwrap{grid-template-columns:1fr;gap:14px} }
    @media (max-width:920px){ .jpzz-stats{grid-template-columns:repeat(3,1fr)} .jpzz-advtop{grid-template-columns:1fr} }
    @media (max-width:640px){
      .jpzz-stats{grid-template-columns:repeat(2,1fr)}
      .jpzz-row{gap:8px}
      .jpzz-pill{padding:10px 12px}
      .jpzz-presets,.jpzz-langrow{grid-template-columns:1fr}
      .jpzz-presets-subgrid{grid-template-columns:1fr}
    }

    /* Phone polish */
    @media (max-width:520px){
      .jpzz h4.jpzz-h{font-size:20px}
      .jpzz-pill{font-size:15px;padding:10px 12px}
      .jpzz-badge{min-width:26px;height:20px;font-size:11px}
      .jpzz-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
      .jpzz-btn{justify-content:center;padding:10px 10px;font-size:14px}
      #jpzz-magic,#jpzz-export{grid-column:span 2;justify-content:center}
      .jpzz-card{padding:12px 12px}
      .jpzz-card .v{font-size:22px}
      .jpzz-card .h{font-size:12px}
      .jpzz-advtop{gap:12px}
      .jpzz-pillbox{padding:14px}
      .jpzz-input{min-width:0;width:100%}
      .jpzz-pillgrid{grid-template-columns:1fr}
      .jpzz-mini{padding:10px 12px}
      .jpzz-mini .k{font-size:13px}

      /* Mobile: allow tool labels to wrap up to 2 lines (no awkward hyphen splits) */
      .jpzz #coll-tools .jpzz-toolrow .lbl{
        hyphens:none;
        word-break:normal;
        overflow-wrap:anywhere;
        display:-webkit-box;
        -webkit-box-orient:vertical;
        -webkit-line-clamp:3;
        overflow:hidden;
      }


    }
  
/* ---- Fine-tune toolrow layout (scoped) ---------------------------------- */
.jpzz #coll-tools .jpzz-toolrow{display:grid;grid-template-columns:1fr 70px;column-gap:16px;align-items:center;min-height:76px;padding:12px 16px}
@media (max-width: 900px){
  .jpzz #coll-tools .jpzz-toolrow{padding:10px 12px}
}
.jpzz #coll-tools .jpzz-toolrow .lbl{line-height:1.25;hyphens:auto;color:#111827;font-weight:700}
/* Hover/Focus (A11y, subtle) */
.jpzz #coll-tools .jpzz-toolrow{transition:box-shadow .15s ease, border-color .15s ease}
.jpzz #coll-tools .jpzz-toolrow:hover{box-shadow:0 2px 10px rgba(0,0,0,.05)}
.jpzz #coll-tools .jpzz-toolrow:focus-within{outline:2px solid rgba(17,24,39,.2);outline-offset:2px}

/* Solution 1: Perfect symmetric layout */
.jpzz #coll-tools .jpzz-toolgrid2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px 20px;
  width:100%;
}
@media(max-width:900px){
  .jpzz #coll-tools .jpzz-toolgrid2{
    grid-template-columns:1fr;
  }
}
.jpzz #coll-tools .jpzz-toolrow{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  padding:14px 18px;
  min-height:88px;
  column-gap:20px;
}

/* Fix: unified switch size + visible ON state (scoped) */
.jpzz #coll-tools .jpzz-toolrow .jpzz-switch{width:58px;height:34px;justify-self:end}
.jpzz #coll-tools .jpzz-toolrow .jpzz-switch{position:relative;border-radius:999px;background:rgba(17,24,39,.2);transition:all .18s ease-in-out;display:inline-block}
.jpzz #coll-tools .jpzz-toolrow .jpzz-switch::after{content:"";position:absolute;top:4px;left:4px;width:26px;height:26px;border-radius:999px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.15);transition:all .18s ease-in-out}
.jpzz #coll-tools .jpzz-toolrow.on .jpzz-switch{background:#111827}
.jpzz #coll-tools .jpzz-toolrow.on .jpzz-switch::after{transform:translateX(24px)}

/* --- Top cards: tighter on phones --- */
@media (max-width:600px){
  .jpzz-topcard{padding:14px 14px 12px;border-radius:18px}
  .jpzz-topcard .jpzz-top-title{font-size:20px;margin-bottom:10px}
  .jpzz-top-presets-grid,.jpzz-top-lang-grid{gap:10px 10px}
  .jpzz-topcard .jpzz-pill{padding:10px 12px;border-radius:999px;font-size:15px}
  .jpzz-topcard .jpzz-badge{min-width:26px;height:20px;font-size:11px}
}


/* ===== v2.0.2 preset navigator ===== */
.jpzz-presetnav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 12px}
.jpzz-navbtn{position:relative;display:flex;align-items:center;gap:12px;min-height:78px;width:100%;padding:14px 16px;border-radius:20px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow);cursor:pointer;text-align:left;color:var(--ink);transition:border-color .15s ease, box-shadow .15s ease}
.jpzz-navbtn:hover{box-shadow:0 8px 24px rgba(10,16,28,.08)}
.jpzz-navbtn.is-active{border-color:#111827;box-shadow:0 0 0 2px rgba(17,24,39,.08) inset,0 12px 26px rgba(10,16,28,.08);background:linear-gradient(180deg,#fff 0%,#F8FAFC 100%)}
.jpzz-navbtn-ico{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;background:#F3F4F6;font-size:20px}
.jpzz-navbtn-copy{display:flex;flex-direction:column;justify-content:center;gap:3px;min-width:0;flex:1 1 auto}
.jpzz-navbtn-title{font-size:15px;font-weight:900;line-height:1.2;color:var(--ink2)}
.jpzz-navbtn-sub{font-size:12px;line-height:1.3;color:var(--muted);font-weight:800;overflow-wrap:anywhere}
.jpzz-navbtn-count{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 10px;border-radius:999px;background:#F3F4F6;color:var(--ink2);font-size:12px;font-weight:900}
.jpzz-navbtn.is-active .jpzz-navbtn-count{background:#111827;color:#fff}
.jpzz-contextbox{border:1px solid var(--line);border-radius:22px;background:linear-gradient(180deg,#fff 0%,#FAFBFC 100%);box-shadow:var(--shadow);padding:16px}
.jpzz-contextbox.is-compact{padding-bottom:14px}
.jpzz-contexthead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.jpzz-contexteyebrow{font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.jpzz-contexttitle{font-size:19px;font-weight:900;line-height:1.2;color:var(--ink2)}
.jpzz-contextstatus{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:999px;background:#F3F4F6;color:var(--ink2);font-size:12px;font-weight:900;min-height:40px;max-width:100%;text-align:center}
.jpzz-contexthint{display:none;margin:8px 0 0;color:var(--muted);font-size:13px;font-weight:700;line-height:1.35}
.jpzz-contexthint.is-visible{display:block}
.jpzz-contextgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.jpzz-contextgrid.is-hidden{display:none}
.jpzz-contextitem{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px;width:100%;padding:13px 14px;border-radius:16px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow);cursor:pointer;text-align:left;color:var(--ink)}
.jpzz-contextitem-copy{display:flex;flex-direction:column;justify-content:center;min-width:0;flex:1 1 auto}
.jpzz-contextitem-title{font-size:14px;font-weight:900;line-height:1.2;color:var(--ink2);overflow-wrap:anywhere}
.jpzz-contextitem-limit{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:54px;height:30px;padding:0 10px;border-radius:999px;background:#F3F4F6;color:var(--ink2);font-size:12px;font-weight:900}
.jpzz-contextitem.is-active{background:#111827;border-color:#111827;color:#fff}
.jpzz-contextitem.is-active .jpzz-contextitem-title{color:#fff}
.jpzz-contextitem.is-active .jpzz-contextitem-limit{background:#fff;color:#111827}
.jpzz-quickrow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.jpzz-quickbtn{display:flex;align-items:center;gap:12px;width:100%;min-height:64px;padding:12px 16px;border-radius:18px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow);cursor:pointer;color:var(--ink);text-align:left;font-weight:900}
.jpzz-quickbtn-ico{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;background:#F3F4F6;font-size:18px}
.jpzz-quickbtn-copy{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;flex:1 1 auto}
.jpzz-quickbtn-label{min-width:0;font-size:15px;line-height:1.2;color:var(--ink2);overflow-wrap:anywhere}
.jpzz-quickbtn-meta{flex:0 0 auto;color:var(--muted);font-size:12px;font-weight:900}
.jpzz-quickbtn:hover{box-shadow:0 8px 24px rgba(10,16,28,.08)}
@media (max-width:700px){
  .jpzz-presetnav,.jpzz-contextgrid,.jpzz-quickrow{grid-template-columns:1fr}
  .jpzz-navbtn{min-height:72px;padding:13px 14px;border-radius:18px}
  .jpzz-navbtn-ico,.jpzz-quickbtn-ico{width:36px;height:36px;border-radius:11px}
  .jpzz-contextbox{padding:14px;border-radius:18px}
  .jpzz-contexttitle{font-size:18px}
  .jpzz-contextstatus{width:100%}
  .jpzz-contextitem{min-height:58px;padding:12px 13px}
  .jpzz-quickbtn{min-height:60px;padding:11px 14px;border-radius:16px}
}


/* 2.2.8 top cards: left aligned + collapsible like analysis pills */
.jpzz-topttl{margin:0 !important;text-align:left !important;}
.jpzz-setuphead-main{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}
.jpzz-setupsummary{text-align:left}
.jpzz-setuphead{padding:18px 22px !important}
.jpzz-setupbody{display:none !important}
.jpzz-setupcard.open .jpzz-setupbody{display:block !important}


/* 2.2.11 language card only */
.jpzz-langcard{padding:0 !important;overflow:hidden}
.jpzz-langtoggle{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:18px 18px 14px;border:0;background:transparent;cursor:pointer;text-align:left;color:var(--ink2)
}
.jpzz-langtoggle-main{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0}
.jpzz-langcard .jpzz-topttl{margin:0 !important;text-align:left !important}
.jpzz-langsummary{font-size:15px;line-height:1.2;font-weight:800;color:var(--muted)}
.jpzz-langchev{font-size:20px;line-height:1;font-weight:900;color:var(--ink2)}
.jpzz-langcard .jpzz-topcontent{display:none;padding:0 18px 18px}
.jpzz-langcard.is-open .jpzz-topcontent{display:block}
.jpzz-langpills2{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:14px}
.jpzz-langpill{
  display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:58px;
  padding:12px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow);
  font-weight:900;color:var(--ink2);cursor:pointer
}
.jpzz-langpill.is-active{background:#111827;color:#fff;border-color:#111827}
.jpzz-langpill-flag{font-size:16px;line-height:1}
.jpzz-micpanel{border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow);padding:16px}
.jpzz-micpanel-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.jpzz-micpanel-title{font-weight:900;color:var(--ink2);font-size:18px}
.jpzz-micpanel-state{
  display:inline-flex;align-items:center;justify-content:center;min-width:84px;height:32px;padding:0 14px;
  border-radius:999px;background:#F3F4F6;color:var(--ink2);font-size:13px;font-weight:900
}
.jpzz-micpanel-state.is-active{background:#111827;color:#fff}
.jpzz-micpanel-btn{
  display:inline-flex;align-items:center;gap:10px;min-height:54px;padding:0 18px;border-radius:999px;
  border:1px solid var(--line);background:#fff;box-shadow:var(--shadow);cursor:pointer;font-weight:900;color:var(--ink2)
}
.jpzz-micpanel-btn .ico{font-size:18px;line-height:1}
@media (max-width:900px){.jpzz-langpills2{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){
  .jpzz-langtoggle{padding:16px 16px 12px}
  .jpzz-langcard .jpzz-topcontent{padding:0 16px 16px}
  .jpzz-langpills2{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .jpzz-micpanel{padding:14px}
}


/* 2.2.13: presets card collapsible, built on 2.2.11 */
.jpzz-precard{padding:0 !important;overflow:hidden}
.jpzz-pretoggle{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 18px 14px;
  border:0;
  background:transparent;
  cursor:pointer;
  text-align:left;
  color:var(--ink2);
}
.jpzz-pretoggle-main{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0}
.jpzz-precard .jpzz-topttl{margin:0 !important;text-align:left !important}
.jpzz-presummary{font-size:15px;line-height:1.2;font-weight:800;color:var(--muted)}
.jpzz-prechev{font-size:20px;line-height:1;font-weight:900;color:var(--ink2)}
.jpzz-precard .jpzz-topcontent{display:none;padding:0 18px 18px}
.jpzz-precard.is-open .jpzz-topcontent{display:block}
@media (max-width:640px){
  .jpzz-pretoggle{padding:16px 16px 12px}
  .jpzz-precard .jpzz-topcontent{padding:0 16px 16px}
}


@media (max-width: 900px){
  .jpzz-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* 2.2.28 typography & color polish only */
.jpzz{--ink2:#111827}
.jpzz-topttl,
.jpzz-navbtn-title,
.jpzz-contexttitle,
.jpzz-micpanel-title{
  color:var(--ink);
}
.jpzz-presummary,
.jpzz-langsummary,
.jpzz-btn{
  font-size:15px;
  font-weight:800;
}
.jpzz-contexteyebrow,
.jpzz-contexthint,
.jpzz-contextstatus,
.jpzz-navbtn-sub,
.jpzz-micpanel-state{
  color:var(--muted);
  font-weight:700;
}
.jpzz-contexteyebrow,
.jpzz-contextstatus,
.jpzz-navbtn-sub{
  font-size:12px;
}
.jpzz-contexthint,
.jpzz-micpanel-state{
  font-size:13px;
}


/* 2.2.30 mobile responsive polish only */
@media (max-width: 640px){
  .jpzz-actions{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .jpzz-btn{
    min-height:52px;
    padding:10px 10px;
    font-size:14px;
  }

  .jpzz-advtop{
    grid-template-columns:1fr;
    gap:12px;
  }
  .jpzz-pillbox{
    width:100%;
    min-width:0;
    padding:14px;
  }
  .jpzz-avgpill{
    gap:10px;
  }
  .jpzz-avgpill .k{
    font-size:18px;
    line-height:1.2;
    text-align:center;
  }
  .jpzz-avgpill .avg-badge{
    width:100%;
    min-width:0;
    max-width:240px;
    margin:0 auto;
    height:56px;
    font-size:30px;
    padding:0 18px;
  }

  .jpzz-findpill{
    padding:14px;
  }
  .jpzz-findgrid{
    grid-template-columns:1fr;
    grid-template-rows:auto;
    gap:12px;
    align-items:stretch;
  }
  .jpzz-input.jpzz-input-pill{
    width:100%;
    min-width:0;
    height:52px;
    padding:0 16px;
    font-size:15px;
  }
  .jpzz-findbadge{
    width:100%;
    min-width:0;
    height:52px;
    justify-content:center;
    text-align:center;
    font-size:15px;
  }
  .jpzz-findtoggle{
    width:100%;
    justify-content:space-between;
    gap:12px;
    flex-wrap:nowrap;
  }

  .jpzz-pillgrid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .jpzz-mini{
    min-width:0;
    padding:10px 12px;
    gap:8px;
  }
  .jpzz-mini .k{
    font-size:13px;
    line-height:1.2;
    overflow-wrap:anywhere;
    hyphens:auto;
  }
  .jpzz-mini .n{
    font-size:16px;
    line-height:1;
    flex:0 0 auto;
  }

  .jpzz-presummary,
  .jpzz-langsummary{
    font-size:14px;
    line-height:1.25;
    overflow-wrap:anywhere;
  }
  .jpzz-contextstatus{
    max-width:100%;
    white-space:normal;
    text-wrap:balance;
  }
}

@media (max-width: 420px){
  .jpzz-pillgrid{
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .jpzz-mini{
    padding:9px 10px;
  }
  .jpzz-mini .k{
    font-size:12px;
  }
  .jpzz-mini .n{
    font-size:15px;
  }
  .jpzz-findbadge{
    font-size:14px;
  }
}


/* 2.2.36 mobile tools layout only */
@media (max-width: 640px){
  #coll-tools .jpzz-toolgrid2{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
  }
  #coll-tools .jpzz-toolrow{
    grid-template-columns:1fr !important;
    align-items:start !important;
    min-height:96px !important;
    padding:12px 12px !important;
    row-gap:10px !important;
    column-gap:0 !important;
  }
  #coll-tools .jpzz-toolrow .lbl{
    font-size:13px !important;
    line-height:1.2 !important;
    hyphens:none !important;
    overflow-wrap:break-word !important;
    grid-column:1 / -1 !important;
  }
  #coll-tools .jpzz-toolrow .jpzz-switch{
    justify-self:start !important;
    width:54px !important;
    height:32px !important;
  }
  #coll-tools .jpzz-toolrow .jpzz-switch::after{
    width:24px !important;
    height:24px !important;
    top:4px !important;
    left:4px !important;
  }
  #coll-tools .jpzz-toolrow.on .jpzz-switch::after{
    transform:translateX(22px) !important;
  }
}

@media (max-width: 420px){
  #coll-tools .jpzz-toolrow{
    min-height:90px !important;
    padding:10px 10px !important;
    row-gap:8px !important;
  }
  #coll-tools .jpzz-toolrow .lbl{
    font-size:12px !important;
    hyphens:none !important;
    overflow-wrap:break-word !important;
  }
}


/* 2.2.37 Mobile Card Centering */
@media (max-width:640px){
  #coll-tools .jpzz-toolrow .lbl{
    text-align:center !important;
  }
  #coll-tools .jpzz-toolrow .jpzz-switch{
    margin:0 auto !important;
    display:block !important;
  }
}


/* 2.2.38 Mobile Label Clamp */
@media (max-width:640px){
  #coll-tools .jpzz-toolrow .lbl{
    white-space:normal !important;
    text-overflow:unset !important;
    overflow:hidden !important;
    display:-webkit-box !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:3 !important;
    line-height:1.25 !important;
  }
}


/* 2.2.40 Mobile Toggle Alignment */
@media (max-width:640px){
  #coll-tools .jpzz-toolrow{
    display:flex !important;
    flex-direction:column !important;
    justify-content:space-between !important;
    align-items:center !important;
    min-height:110px !important;
  }
  #coll-tools .jpzz-toolrow .lbl{
    min-height:42px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
  }
  #coll-tools .jpzz-toolrow .jpzz-switch{
    margin-top:6px !important;
  }
}



/* 2.5.0 advanced analysis metric cards */
.jpzz-advmetrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:12px}
.jpzz-findpill{margin-bottom:10px}
@media (max-width:640px){
  .jpzz-advmetrics{grid-template-columns:1fr}
  .jpzz-findpill{margin-top:0}
}


/* 2.6.0 Compact Analysis UI */
.jpzz-advmetrics .jpzz-pillbox{
  padding:14px;
  gap:10px;
}
.jpzz-advmetrics .k{
  font-size:17px;
  line-height:1.15;
}
.jpzz-advmetrics .avg-badge{
  height:50px;
  min-width:118px;
  padding:0 18px;
  font-size:26px;
}

@media (max-width: 920px){
  .jpzz-advmetrics{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
  }
  .jpzz-advmetrics .jpzz-pillbox{
    padding:12px;
  }
  .jpzz-advmetrics .k{
    font-size:15px;
  }
  .jpzz-advmetrics .avg-badge{
    height:44px;
    min-width:0;
    width:100%;
    max-width:140px;
    font-size:22px;
    padding:0 14px;
  }
}

@media (max-width: 640px){
  .jpzz-advmetrics{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
  }
  .jpzz-advmetrics .jpzz-pillbox{
    padding:10px 8px;
    border-radius:18px;
    gap:8px;
  }
  .jpzz-advmetrics .k{
    font-size:13px;
    line-height:1.15;
    letter-spacing:-0.01em;
  }
  .jpzz-advmetrics .avg-badge{
    height:40px;
    min-width:0;
    width:100%;
    max-width:120px;
    font-size:20px;
    padding:0 12px;
    border-radius:999px;
  }
}

@media (max-width: 420px){
  .jpzz-advmetrics .k{
    font-size:12px;
  }
  .jpzz-advmetrics .avg-badge{
    height:38px;
    font-size:18px;
    padding:0 10px;
  }
}


/* 2.6.1 Analysis Polish */
@media (max-width: 640px){
  .jpzz-advmetrics .jpzz-pillbox{
    padding:8px 8px;
    gap:6px;
    border-radius:16px;
  }
  .jpzz-advmetrics .k{
    font-size:12px;
    line-height:1.1;
    letter-spacing:-0.01em;
  }
  .jpzz-advmetrics .avg-badge{
    height:34px;
    max-width:96px;
    min-width:0;
    width:100%;
    font-size:18px;
    padding:0 8px;
  }
}

@media (max-width: 420px){
  .jpzz-advmetrics .jpzz-pillbox{
    padding:8px 6px;
    gap:5px;
  }
  .jpzz-advmetrics .k{
    font-size:11px;
  }
  .jpzz-advmetrics .avg-badge{
    height:32px;
    max-width:88px;
    font-size:17px;
    padding:0 6px;
  }
}


/* 2.6.2 analysis title alignment only */
@media (max-width: 640px){
  .jpzz-advmetrics .jpzz-pillbox{
    align-items:center;
    justify-content:flex-start;
  }
  .jpzz-advmetrics .k{
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    width:100%;
  }
  .jpzz-advmetrics .avg-badge{
    margin-top:0;
  }
}

@media (max-width: 420px){
  .jpzz-advmetrics .k{
    min-height:44px;
  }
}


/* 2.6.3 Tablet Grid Fix */
@media (max-width: 1024px) and (min-width: 641px){
  .jpzz-stats-grid{
    grid-template-columns: repeat(3,1fr);
  }
}


/* 2.6.4 Tablet Grid Fix corrected */
@media (max-width: 1024px) and (min-width: 641px){
  .jpzz-stats{
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  }
}


/* 2.6.5 iPad actions grid fix */
@media (max-width: 1024px) and (min-width: 641px){
  .jpzz-actions{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
  .jpzz-btn{
    justify-content: center;
  }
}
