/* === DESIGN TOKENS === */
    article .pz-tool, .pz-tool {
      --pz-p: #1a73e8;
      --pz-p-d: #1557b5;
      --pz-p-l: #e8f0fe;
      --pz-acc: #ff6b6b;
      --pz-success: #10b981;
      --pz-text: #0f172a;
      --pz-text-m: #64748b;
      --pz-border: #e2e8f0;
      --pz-border-f: #cbd5e1;
      --pz-bg: #ffffff;
      --pz-bg-soft: #f8fafc;
      --pz-r: 14px;
      --pz-r-sm: 10px;
      --pz-shadow: 0 1px 3px rgba(15,23,42,.05);
      --pz-shadow-h: 0 8px 24px rgba(15,23,42,.1);
      --pz-shadow-f: 0 0 0 4px rgba(26,115,232,.12);
      --pz-ease: cubic-bezier(0.16, 1, 0.3, 1);
    }

    /* === WIDGET CONTAINER === */
    article .pz-tool, body .pz-tool {
      max-width: 820px !important;
      margin: 24px auto !important;
      background: var(--pz-bg) !important;
      border: 1px solid var(--pz-border) !important;
      border-radius: var(--pz-r) !important;
      padding: 28px 26px !important;
      box-shadow: var(--pz-shadow) !important;
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, system-ui, sans-serif !important;
      transition: box-shadow .25s var(--pz-ease) !important;
      contain: layout style;
    }
    article .pz-tool:hover, body .pz-tool:hover { box-shadow: var(--pz-shadow-h) !important; }

    /* === HEADINGS INSIDE WIDGET === */
    article .pz-tool h2, body .pz-tool h2 {
      font-size: 1.35em !important;
      font-weight: 700 !important;
      color: var(--pz-text) !important;
      margin: 0 0 22px !important;
      letter-spacing: -0.01em !important;
      background: none !important;
      -webkit-text-fill-color: var(--pz-text) !important;
      -webkit-background-clip: initial !important;
    }
    article .pz-tool h2::before, body .pz-tool h2::before {
      content: '';
      display: inline-block;
      width: 4px;
      height: 1em;
      background: linear-gradient(180deg, var(--pz-p), var(--pz-acc));
      margin-right: 10px;
      border-radius: 4px;
      vertical-align: middle;
      transform: translateY(-1px);
    }

    /* === LABELS === */
    article .pz-tool label, body .pz-tool label {
      display: block !important;
      font-size: 0.78em !important;
      font-weight: 600 !important;
      color: var(--pz-text-m) !important;
      margin: 16px 0 6px !important;
      text-transform: uppercase !important;
      letter-spacing: 0.06em !important;
    }

    /* === INPUTS & SELECTS === */
    article .pz-tool input, article .pz-tool select,
    body .pz-tool input, body .pz-tool select {
      width: 100% !important;
      padding: 12px 14px !important;
      border: 1.5px solid var(--pz-border) !important;
      border-radius: var(--pz-r-sm) !important;
      font-size: 16px !important;
      background: #fff !important;
      color: var(--pz-text) !important;
      font-family: inherit !important;
      box-sizing: border-box !important;
      transition: border-color .15s, box-shadow .15s, transform .15s var(--pz-ease) !important;
      font-weight: 500 !important;
    }
    article .pz-tool input:hover, article .pz-tool select:hover,
    body .pz-tool input:hover, body .pz-tool select:hover {
      border-color: var(--pz-border-f) !important;
    }
    article .pz-tool input:focus, article .pz-tool select:focus,
    body .pz-tool input:focus, body .pz-tool select:focus {
      outline: none !important;
      border-color: var(--pz-p) !important;
      box-shadow: var(--pz-shadow-f) !important;
    }

    /* === SELECT DROPDOWN ARROW (custom) === */
    article .pz-tool select, body .pz-tool select {
      appearance: none !important;
      -webkit-appearance: none !important;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2364748b' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E") !important;
      background-repeat: no-repeat !important;
      background-position: right 14px center !important;
      background-size: 18px !important;
      padding-right: 42px !important;
    }

    /* === CHECKBOXES === */
    article .pz-tool input[type="checkbox"], body .pz-tool input[type="checkbox"] {
      width: 20px !important;
      height: 20px !important;
      padding: 0 !important;
      cursor: pointer !important;
      accent-color: var(--pz-p) !important;
    }

    /* === BUTTONS === */
    article .pz-tool button, article .pz-tool .pz-btn,
    body .pz-tool button, body .pz-tool .pz-btn {
      width: 100% !important;
      padding: 14px 28px !important;
      background: linear-gradient(135deg, var(--pz-p), #4285f4) !important;
      color: #fff !important;
      border: 0 !important;
      border-radius: var(--pz-r-sm) !important;
      font-size: 1em !important;
      font-weight: 600 !important;
      cursor: pointer !important;
      margin-top: 20px !important;
      font-family: inherit !important;
      letter-spacing: 0.02em !important;
      box-shadow: 0 4px 14px rgba(26,115,232,.25) !important;
      transition: transform .15s var(--pz-ease), box-shadow .2s !important;
      position: relative !important;
      overflow: hidden !important;
    }
    article .pz-tool button:hover, body .pz-tool button:hover {
      transform: translateY(-2px) !important;
      box-shadow: 0 8px 22px rgba(26,115,232,.35) !important;
    }
    article .pz-tool button:active, body .pz-tool button:active {
      transform: translateY(0) !important;
    }
    /* Button shimmer */
    article .pz-tool button::before, body .pz-tool button::before {
      content: '';
      position: absolute;
      top: 0; left: -100%;
      width: 100%; height: 100%;
      background: linear-gradient(90deg, transparent, rgba(255,255,255,.15), transparent);
      transition: left .5s var(--pz-ease);
    }
    article .pz-tool button:hover::before, body .pz-tool button:hover::before { left: 100%; }

    /* === SECONDARY BUTTONS === */
    article .pz-tool button.secondary, body .pz-tool button.secondary {
      background: #fff !important;
      color: var(--pz-p) !important;
      border: 1.5px solid var(--pz-p) !important;
      box-shadow: none !important;
    }
    article .pz-tool button.secondary:hover, body .pz-tool button.secondary:hover {
      background: var(--pz-p-l) !important;
      transform: translateY(-1px) !important;
    }

    /* === GRID LAYOUT === */
    article .pz-tool .pz-grid-2, body .pz-tool .pz-grid-2 {
      display: grid !important;
      grid-template-columns: 1fr 1fr !important;
      gap: 16px !important;
    }
    @media (max-width: 640px) {
      article .pz-tool .pz-grid-2, body .pz-tool .pz-grid-2 {
        grid-template-columns: 1fr !important;
      }
    }

    /* === RESULT CARDS === */
    article .pz-tool .pz-result, body .pz-tool .pz-result {
      margin-top: 24px !important;
      padding: 24px !important;
      background: linear-gradient(135deg, #f0fdf4, #ecfdf5) !important;
      border: 1.5px solid #a7f3d0 !important;
      border-left: 4px solid var(--pz-success) !important;
      border-radius: var(--pz-r) !important;
      display: none !important;
      animation: pzResultReveal .4s var(--pz-ease) !important;
    }
    article .pz-tool .pz-result.active, article .pz-tool .pz-result.show,
    body .pz-tool .pz-result.active, body .pz-tool .pz-result.show {
      display: block !important;
    }
    @keyframes pzResultReveal {
      from { opacity: 0; transform: translateY(8px); }
      to { opacity: 1; transform: translateY(0); }
    }
    article .pz-tool .pz-result h3, body .pz-tool .pz-result h3 {
      margin: 0 0 12px !important;
      color: #047857 !important;
      font-size: 1.15em !important;
      font-weight: 700 !important;
      letter-spacing: -0.01em !important;
    }
    article .pz-tool .pz-result .big, body .pz-tool .pz-result .big {
      font-size: 2.2em !important;
      font-weight: 800 !important;
      color: #047857 !important;
      margin: 8px 0 !important;
      line-height: 1.05 !important;
      letter-spacing: -0.02em !important;
    }
    article .pz-tool .pz-result ul, body .pz-tool .pz-result ul {
      margin: 12px 0 !important;
      padding-left: 22px !important;
    }
    article .pz-tool .pz-result li, body .pz-tool .pz-result li {
      margin: 6px 0 !important;
      line-height: 1.55 !important;
      color: #134e4a !important;
    }
    article .pz-tool .pz-result strong, body .pz-tool .pz-result strong {
      color: #064e3b !important;
    }

    /* === SHARE BAR REFINED === */
    .pz-tool-share {
      background: var(--pz-bg-soft) !important;
      border-color: var(--pz-border) !important;
    }
    .pz-tool-share button {
      transition: all .15s var(--pz-ease) !important;
    }
    .pz-tool-share button:hover {
      transform: translateY(-1px) !important;
    }

    /* === PRINT SAFE === */
    @media print {
      .pz-tool-share, .pz-trust-row, .pz-more-tools, .pz-nl-box, .pz-related-content { display: none !important; }
      article .pz-tool { box-shadow: none !important; border: 1px solid #999 !important; }
      article .pz-tool button { display: none !important; }
    }

    /* === MOBILE === */
    @media (max-width: 600px) {
      article .pz-tool, body .pz-tool {
        margin: 16px 12px !important;
        padding: 22px 18px !important;
      }
      article .pz-tool h2, body .pz-tool h2 { font-size: 1.2em !important; }
      article .pz-tool input, article .pz-tool select,
      body .pz-tool input, body .pz-tool select {
        padding: 13px 14px !important; /* slightly bigger touch */
        font-size: 16px !important; /* prevents iOS zoom */
      }
      article .pz-tool button, body .pz-tool button {
        padding: 15px 24px !important;
        min-height: 48px !important;
      }
      article .pz-tool .pz-result .big, body .pz-tool .pz-result .big {
        font-size: 1.7em !important;
      }
    }

    /* === PERFORMANCE: CSS containment === */
    article .pz-tool { contain: layout style; }
    .pz-more-tools, .pz-th-grid, .pz-tool-share { contain: layout style; }

    /* === REDUCED MOTION === */
    @media (prefers-reduced-motion: reduce) {
      article .pz-tool, article .pz-tool *, body .pz-tool, body .pz-tool * {
        animation: none !important;
        transition-duration: 0.01ms !important;
      }
    }

    /* === DARK MODE SUPPORT (optional) === */
    @media (prefers-color-scheme: dark) {
      /* Keep light for now — full dark mode would need redesign */
    }

    /* === ACCESSIBILITY: visible focus === */
    article .pz-tool *:focus-visible, body .pz-tool *:focus-visible {
      outline: 3px solid var(--pz-p);
      outline-offset: 2px;
    }