/* POPPINS-FONTS:START — self-hosted latin woff2, generated by tools/build-fonts.mjs; do not hand-edit */
@font-face{font-family:'Poppins';font-style:normal;font-weight:300;font-display:swap;src:url(data:font/woff2;base64,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) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url(data:font/woff2;base64,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) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url(data:font/woff2;base64,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) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url(data:font/woff2;base64,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) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url(data:font/woff2;base64,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) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
/* POPPINS-FONTS:END */
:root {
    --bg: #fafaf7;
    --panel: #ffffff;
    --ink: #0a0a0a;
    --ink-soft: #555;
    --ink-faded: #999;
    --border: #e5e3dd;
    --border-strong: #c8c5be;
    --accent: #c8102e;
    --accent-dark: #8b0a1f;
    --accent-pale: #fdecef;
    --shadow: 0 1px 2px rgba(0,0,0,0.04), 0 4px 12px rgba(0,0,0,0.04);
    --shadow-lg: 0 10px 40px rgba(0,0,0,0.12), 0 2px 6px rgba(0,0,0,0.06);
  }

  /* Group colors (shared across tools that visualise groups) */
  .g-0 { --gc: #c8102e; --gcp: #fdecef; }
  .g-1 { --gc: #1e6091; --gcp: #e6f0f7; }
  .g-2 { --gc: #2e7d32; --gcp: #e8f3e9; }
  .g-3 { --gc: #b8923a; --gcp: #f7f0dc; }
  .g-4 { --gc: #6a1b9a; --gcp: #f1e6f7; }
  .g-5 { --gc: #d84315; --gcp: #fbe9e1; }
  .g-6 { --gc: #00838f; --gcp: #e0f2f3; }
  .g-7 { --gc: #455a64; --gcp: #eceff1; }

  /* Category accent colors (mega menu) */
  .cat-organize  { --cat: #c8102e; }
  .cat-optimize  { --cat: #1e6091; }
  .cat-to-pdf    { --cat: #2e7d32; }
  .cat-from-pdf  { --cat: #b8923a; }
  .cat-edit      { --cat: #6a1b9a; }
  .cat-security  { --cat: #455a64; }
  .cat-images    { --cat: #d84315; }
  .cat-generators{ --cat: #5e35b1; }
  .cat-ai        { --cat: #00838f; }
  .cat-text      { --cat: #0277bd; }
  .cat-design    { --cat: #ad1457; }
  .cat-business  { --cat: #ef6c00; }
  .cat-media     { --cat: #00897b; }
  .cat-video     { --cat: #00897b; }
  .cat-diagrams  { --cat: #3949ab; }
  .cat-simulators { --cat: #00acc1; }
  .cat-productivity { --cat: #558b2f; }
  .cat-education { --cat: #00796b; }
  .cat-health    { --cat: #2e7d32; }
  .cat-hse-safety { --cat: #e65100; }
  .cat-hse-health { --cat: #00695c; }

  /* About → Roadmap list */
  .about-roadmap { list-style: none; padding: 0; margin: 10px 0 0; display: flex; flex-direction: column; gap: 10px; }
  .about-roadmap li { display: flex; gap: 10px; align-items: flex-start; padding: 11px 13px; background: var(--bg); border: 1px solid var(--border); border-radius: 9px; font-size: 13.5px; color: var(--ink); }
  .about-roadmap-icon { color: var(--accent); flex: none; display: flex; }

  * { box-sizing: border-box; margin: 0; padding: 0; }

  /* The `hidden` attribute must always win. Several tool modals set [hidden]
   * but also carry a class with `display:flex/grid`, which (author origin)
   * overrides the UA `[hidden]{display:none}` — leaving an invisible
   * full-screen overlay that silently eats clicks. This guarantees correctness. */
  [hidden] { display: none !important; }

  body {
    font-family: 'Poppins', -apple-system, sans-serif;
    background: var(--bg);
    color: var(--ink);
    min-height: 100vh;
    font-size: 14px;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
  }

  /* ============== HEADER ============== */
  header {
    border-bottom: 1px solid var(--border);
    background: var(--panel);
    padding: 14px 28px;
    display: flex;
    align-items: center;
    gap: 24px;
    position: sticky;
    top: 0;
    z-index: 100;
  }
  .brand {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    user-select: none;
  }
  .brand-icon {
    width: 32px; height: 32px;
    background: var(--accent);
    border-radius: 7px;
    display: grid;
    place-items: center;
    color: white;
    box-shadow: 0 2px 5px rgba(200,16,46,0.25);
  }
  .brand-text {
    font-weight: 600;
    font-size: 16px;
    letter-spacing: -0.01em;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 8px;
    row-gap: 0;
    line-height: 1.1;
  }
  .brand-name { color: var(--ink); }
  .brand-name b {
    font-weight: 700;
    color: var(--accent);
  }
  .brand-version {
    font-family: 'Poppins', sans-serif;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.05em;
    color: var(--accent);
    background: var(--accent-pale);
    border: 1px solid rgba(200,16,46,0.25);
    padding: 2px 6px;
    border-radius: 100px;
    text-transform: uppercase;
  }
  .brand-text small {
    width: 100%;
    display: block;
    font-weight: 400;
    color: var(--ink-faded);
    font-size: 11px;
    font-family: 'Poppins', sans-serif;
    margin-top: 2px;
  }

  /* Tools trigger button */
  .tools-trigger {
    background: var(--bg);
    border: 1px solid var(--border-strong);
    color: var(--ink);
    padding: 8px 14px;
    font-family: inherit;
    font-size: 13px;
    font-weight: 500;
    border-radius: 5px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.15s;
  }
  .tools-trigger:hover { border-color: var(--ink-soft); background: white; }
  .tools-trigger[aria-expanded="true"] {
    background: var(--ink);
    color: white;
    border-color: var(--ink);
  }
  .tools-trigger svg { transition: transform 0.2s; }
  .tools-trigger[aria-expanded="true"] svg { transform: rotate(180deg); }

  .header-link {
    color: var(--ink-soft);
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
    padding: 6px 10px;
    border-radius: 4px;
    transition: all 0.15s;
  }
  .header-link:hover { background: var(--bg); color: var(--ink); }

  .header-download {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: var(--accent);
    color: #fff;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    padding: 8px 14px;
    border-radius: 6px;
    transition: all 0.15s;
    box-shadow: 0 2px 5px rgba(200,16,46,0.2);
    white-space: nowrap;
  }
  .header-download:hover { background: #ab0c24; box-shadow: 0 3px 8px rgba(200,16,46,0.32); }

  /* ============== INSTALL (PWA) ============== */
  /* Instructions sheet — iOS "Add to Home Screen" / generic browser-menu fallback. */
  .install-modal {
    position: fixed;
    inset: 0;
    background: rgba(10,10,14,0.4);
    backdrop-filter: blur(2px);
    z-index: 260;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
  }
  .install-modal.open { display: flex; }
  .install-modal-box {
    background: var(--panel);
    border-radius: 12px;
    padding: 22px;
    width: 100%;
    max-width: 420px;
    box-shadow: var(--shadow-lg);
  }
  .install-modal-head { display: flex; align-items: flex-start; gap: 13px; margin-bottom: 16px; }
  .install-modal-icon {
    flex: none;
    width: 42px; height: 42px;
    border-radius: 10px;
    background: var(--accent);
    color: #fff;
    display: flex; align-items: center; justify-content: center;
  }
  .install-modal-box h3 { font-size: 17px; font-weight: 600; margin: 0 0 3px; }
  .install-modal-sub { font-size: 13px; color: var(--ink-soft); margin: 0; line-height: 1.45; }
  .install-steps { display: flex; flex-direction: column; gap: 13px; margin: 2px 0; }
  .install-step { display: flex; align-items: center; gap: 11px; font-size: 14px; color: var(--ink); line-height: 1.4; }
  .install-step b { font-weight: 600; }
  .install-share-glyph { vertical-align: middle; color: var(--accent); }
  .install-step-num {
    flex: none;
    width: 24px; height: 24px;
    border-radius: 50%;
    background: var(--bg);
    border: 1px solid var(--border);
    color: var(--ink-soft);
    font-size: 12px; font-weight: 600;
    display: flex; align-items: center; justify-content: center;
  }
  .install-modal-actions { display: flex; justify-content: flex-end; margin-top: 18px; }

  /* First-visit bottom banner (mobile). Fixed, so toggling .show never reflows the page. */
  .install-banner {
    position: fixed;
    left: 12px; right: 12px;
    bottom: calc(12px + env(safe-area-inset-bottom, 0px));
    z-index: 240;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 14px;
    box-shadow: var(--shadow-lg);
    transform: translateY(calc(100% + 28px));
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: transform 0.34s cubic-bezier(0.32, 0.72, 0, 1), opacity 0.22s, visibility 0.34s;
  }
  .install-banner.show { transform: translateY(0); opacity: 1; visibility: visible; pointer-events: auto; }
  .install-banner-icon {
    flex: none;
    width: 38px; height: 38px;
    border-radius: 9px;
    background: var(--accent);
    color: #fff;
    display: flex; align-items: center; justify-content: center;
  }
  .install-banner-text { flex: 1; display: flex; flex-direction: column; gap: 1px; min-width: 0; }
  .install-banner-text b { font-size: 14px; font-weight: 600; color: var(--ink); }
  .install-banner-text span { font-size: 12px; color: var(--ink-soft); line-height: 1.35; }
  .install-banner-btn {
    flex: none;
    background: var(--accent);
    color: #fff;
    border: none;
    font-family: inherit;
    font-size: 13px; font-weight: 600;
    padding: 9px 16px;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.15s;
  }
  .install-banner-btn:hover { background: var(--accent-dark); }
  .install-banner-close {
    flex: none;
    background: none; border: none;
    color: var(--ink-faded);
    cursor: pointer;
    padding: 4px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 6px;
  }
  .install-banner-close:hover { background: var(--bg); color: var(--ink); }

  /* "Install on your device" card on the About page. */
  .about-install {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 22px 0 4px;
    padding: 18px 20px;
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 14px;
  }
  .about-install-icon {
    flex: none;
    width: 46px; height: 46px;
    border-radius: 11px;
    background: var(--accent);
    color: #fff;
    display: flex; align-items: center; justify-content: center;
  }
  .about-install-text { flex: 1; min-width: 0; }
  .about-install-text h3 { font-size: 16px; font-weight: 600; margin: 0 0 3px; }
  .about-install-text p { font-size: 13.5px; color: var(--ink-soft); margin: 0; line-height: 1.45; }
  .about-install-btn {
    flex: none;
    background: var(--accent); color: #fff; border: none;
    font-family: inherit; font-size: 14px; font-weight: 600;
    padding: 10px 18px; border-radius: 8px; cursor: pointer;
    transition: background 0.15s;
  }
  .about-install-btn:hover { background: var(--accent-dark); }
  @media (max-width: 560px) {
    .about-install { flex-wrap: wrap; gap: 13px; }
    .about-install-text { flex-basis: 100%; }
    .about-install-icon { width: 40px; height: 40px; }
    .about-install-btn { width: 100%; }
  }

  /* ============== SITE FOOTER ============== */
  .site-footer {
    border-top: 1px solid var(--border);
    background: var(--panel);
    margin-top: 48px;
    padding: 22px 28px;
  }
  .footer-inner {
    max-width: 1500px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 14px;
  }
  .footer-brand { display: flex; flex-direction: column; gap: 2px; }
  .footer-name { font-weight: 600; font-size: 14px; color: var(--ink); }
  .footer-name b { color: var(--accent); font-weight: 700; }
  .footer-tag { font-size: 11px; color: var(--ink-faded); font-family: 'Poppins', sans-serif; }
  .footer-links { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
  .footer-links a {
    color: var(--ink-soft);
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
    padding: 6px 10px;
    border-radius: 4px;
    transition: all 0.15s;
  }
  .footer-links a:hover { background: var(--bg); color: var(--ink); }

  /* ============== COOKIE CONSENT ============== */
  /* Injected by the (hosted-only) consent-gated GA block in index.html; absent from the
     offline build, which ships no analytics. */
  .cookie-consent {
    position: fixed;
    left: 16px;
    right: 16px;
    bottom: 16px;
    z-index: 1200;
    max-width: 760px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 14px;
    padding: 14px 18px;
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 12px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.16);
  }
  .cookie-consent .cc-text {
    flex: 1 1 320px;
    font-size: 13px;
    line-height: 1.55;
    color: var(--ink-soft);
  }
  .cookie-consent .cc-text a { color: var(--accent); font-weight: 600; }
  .cookie-consent .cc-actions { display: flex; gap: 8px; flex-shrink: 0; }
  .cookie-consent .cc-btn {
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    padding: 9px 18px;
    border-radius: 8px;
    border: 1px solid var(--border-strong, var(--border));
    cursor: pointer;
    transition: all 0.15s;
  }
  .cookie-consent .cc-decline { background: transparent; color: var(--ink-soft); }
  .cookie-consent .cc-decline:hover { background: var(--bg); color: var(--ink); }
  .cookie-consent .cc-accept { background: var(--accent); color: #fff; border-color: var(--accent); }
  .cookie-consent .cc-accept:hover { background: #ab0c24; border-color: #ab0c24; }
  @media (max-width: 520px) {
    .cookie-consent { flex-direction: column; align-items: stretch; }
    .cookie-consent .cc-actions { justify-content: flex-end; }
  }
  /* Cookie controls on the Privacy page (reuse the .cc-btn look outside the banner). */
  .privacy-cookie-manager {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 16px;
    padding: 14px 16px;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: 10px;
  }
  .privacy-cookie-status { font-size: 13px; color: var(--ink-soft); }
  .privacy-cookie-actions { display: flex; gap: 8px; }
  .privacy-cookie-manager .cc-btn {
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    padding: 9px 16px;
    border-radius: 8px;
    border: 1px solid var(--border-strong, var(--border));
    cursor: pointer;
    transition: all 0.15s;
  }
  .privacy-cookie-manager .cc-decline { background: transparent; color: var(--ink-soft); }
  .privacy-cookie-manager .cc-decline:hover { background: var(--panel); color: var(--ink); }
  .privacy-cookie-manager .cc-accept { background: var(--accent); color: #fff; border-color: var(--accent); }
  .privacy-cookie-manager .cc-accept:hover { background: #ab0c24; border-color: #ab0c24; }

  /* ============== MEGA MENU ============== */
  .megamenu-overlay {
    position: fixed;
    inset: 0;
    background: rgba(10, 10, 14, 0.25);
    backdrop-filter: blur(2px);
    z-index: 90;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s;
  }
  .megamenu-overlay.open {
    opacity: 1;
    pointer-events: auto;
  }

  .megamenu {
    position: fixed;
    top: 60px;
    left: 50%;
    transform: translateX(-50%) translateY(-8px);
    width: min(1180px, calc(100vw - 32px));
    background: white;
    border: 1px solid var(--border);
    border-radius: 10px;
    box-shadow: var(--shadow-lg);
    z-index: 95;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s, transform 0.2s;
    max-height: calc(100vh - 80px);
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }
  .megamenu.open {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
    pointer-events: auto;
  }

  /* The popup body: a narrow category sidebar (.mm-tabs) beside the scrollable
     tools pane (.mm-grid). This is the layout that lets the menu scale to many
     tools — the sidebar grows vertically and the pane scrolls on its own. */
  .mm-body {
    display: flex;
    flex: 1;
    min-height: 0;
  }

  .mm-tabs {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 12px 8px;
    width: 232px;
    flex: none;
    border-right: 1px solid var(--border);
    background: var(--bg);
    border-radius: 10px 0 0 0;
    overflow-y: auto;
  }
  .mm-tab {
    background: transparent;
    border: none;
    padding: 9px 12px;
    cursor: pointer;
    font-family: inherit;
    font-size: 13px;
    font-weight: 500;
    color: var(--ink-soft);
    border-radius: 7px;
    transition: all 0.15s;
    display: flex;
    align-items: center;
    gap: 9px;
    width: 100%;
    text-align: left;
  }
  .mm-tab svg { flex: none; }
  .mm-tab-label { flex: 1; min-width: 0; }
  .mm-tab:hover { color: var(--ink); background: rgba(10,10,14,0.04); }
  .mm-tab.active {
    color: var(--accent);
    background: var(--accent-pale);
    font-weight: 600;
  }
  .mm-tab-count {
    font-family: 'Poppins', sans-serif;
    font-size: 10px;
    font-weight: 600;
    color: var(--ink-faded);
    background: var(--panel);
    border: 1px solid var(--border);
    padding: 1px 6px;
    border-radius: 100px;
    line-height: 1.4;
  }
  .mm-tab.active .mm-tab-count {
    background: var(--accent-pale);
    color: var(--accent);
    border-color: rgba(200,16,46,0.25);
  }

  /* ============== HEADER SEARCH ============== */
  .header-search-wrap {
    position: relative;
    margin: 0 12px;
    flex: 1;
  }
  .header-search-input-wrap {
    position: relative;
    display: flex;
    align-items: center;
  }
  .header-search-icon {
    position: absolute;
    left: 11px;
    color: var(--ink-faded);
    pointer-events: none;
  }
  .header-search-input {
    width: 100%;
    background: var(--bg);
    border: 1px solid var(--border);
    color: var(--ink);
    font-family: inherit;
    font-size: 13.5px;
    padding: 8px 36px 8px 34px;
    border-radius: 6px;
    transition: all 0.15s;
  }
  .header-search-input::placeholder { color: var(--ink-faded); }
  .header-search-input:focus {
    outline: none;
    border-color: var(--accent);
    background: white;
    box-shadow: 0 0 0 3px rgba(200,16,46,0.1);
  }
  .header-search-input:focus ~ .header-search-kbd { opacity: 0; }
  .header-search-kbd {
    position: absolute;
    right: 10px;
    background: white;
    border: 1px solid var(--border-strong);
    color: var(--ink-faded);
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    padding: 1px 6px;
    border-radius: 3px;
    pointer-events: none;
    transition: opacity 0.15s;
  }

  .header-search-dropdown {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    background: white;
    border: 1px solid var(--border);
    border-radius: 8px;
    box-shadow: var(--shadow-lg);
    max-height: 460px;
    overflow-y: auto;
    z-index: 110;
    display: none;
  }
  .header-search-dropdown.visible { display: block; }
  .header-search-result {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 10px 14px;
    cursor: pointer;
    color: var(--ink);
    border-bottom: 1px solid var(--border);
    transition: background 0.1s;
  }
  .header-search-result:last-child { border-bottom: none; }
  .header-search-result:hover,
  .header-search-result.kb-active {
    background: var(--bg);
  }
  .header-search-result-icon {
    width: 28px; height: 28px;
    background: var(--accent-pale);
    color: var(--accent);
    border-radius: 5px;
    display: grid;
    place-items: center;
    flex-shrink: 0;
  }
  .header-search-result-text {
    flex: 1;
    min-width: 0;
  }
  .header-search-result-name {
    font-size: 13.5px;
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .header-search-result-name mark {
    background: rgba(200,16,46,0.18);
    color: var(--accent);
    padding: 0;
    font-weight: 700;
    border-radius: 2px;
  }
  .header-search-result-cat {
    font-family: 'Poppins', sans-serif;
    font-size: 10.5px;
    color: var(--ink-faded);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-top: 2px;
  }
  .header-search-result-cat b { color: var(--ink-soft); font-weight: 600; }
  .header-search-result-coming {
    font-family: 'Poppins', sans-serif;
    font-size: 10px;
    color: var(--ink-faded);
    background: var(--bg);
    padding: 2px 7px;
    border-radius: 100px;
    border: 1px solid var(--border);
    flex-shrink: 0;
  }
  /* "New" pill on recently-added tools (matches the changelog green .new badge).
     Rendered next to a tool name in the menu, search, header and breadcrumb;
     shown for NEW_BADGE_DAYS days after the tool's `added` date (see app.js). */
  .tool-new-pill {
    font-family: 'Poppins', sans-serif;
    font-size: 9.5px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #2e7d32;
    background: #e8f5e9;
    border: 1px solid #a5d6a7;
    padding: 2px 6px;
    border-radius: 100px;
    flex-shrink: 0;
    vertical-align: middle;
  }
  .mm-item .tool-new-pill { margin-left: -4px; }   /* cancel the parent's 10px flex gap */
  #toolTitle .tool-new-pill { margin-left: 8px; font-size: 11px; transform: translateY(-3px); }
  #bcTool .tool-new-pill,
  .header-search-result-name .tool-new-pill { margin-left: 6px; }
  .header-search-empty {
    padding: 24px 14px;
    text-align: center;
    color: var(--ink-faded);
    font-size: 13px;
  }
  .header-search-empty b { color: var(--ink-soft); font-weight: 600; }

  @media (max-width: 760px) {
    .header-search-wrap { display: none; }
  }

  .mm-grid {
    flex: 1;
    min-width: 0;
    overflow-y: auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 8px 12px;
    padding: 20px 24px;
    align-content: start;
  }

  /* A single-category tab (no column heading) spreads its tools across the full
     width instead of stacking them in one tall column. */
  .mm-col-solo {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 2px 4px;
    align-content: start;
  }

  .mm-col h4 {
    font-family: 'Poppins', sans-serif;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--cat, var(--ink-soft));
    margin-bottom: 10px;
    padding: 0 8px;
    display: flex;
    align-items: center;
    gap: 8px;
  }
  .mm-col h4::before {
    content: '';
    width: 8px;
    height: 8px;
    background: var(--cat);
    border-radius: 2px;
    flex-shrink: 0;
  }

  .mm-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px;
    border-radius: 5px;
    cursor: pointer;
    color: var(--ink);
    text-decoration: none;
    transition: background 0.12s;
    font-size: 13px;
    position: relative;
    border: 0;
    background: transparent;
    width: 100%;
    text-align: left;
    font-family: inherit;
  }
  .mm-item:hover {
    background: var(--bg);
  }
  .mm-item .mm-icon {
    width: 28px; height: 28px;
    border-radius: 5px;
    background: var(--bg);
    display: grid;
    place-items: center;
    color: var(--ink-soft);
    flex-shrink: 0;
    transition: all 0.12s;
  }
  .mm-item:hover .mm-icon {
    background: white;
    color: var(--cat, var(--ink));
    box-shadow: 0 0 0 1px var(--border);
  }
  .mm-item .mm-name {
    font-weight: 500;
    color: var(--ink);
  }
  .mm-item.active {
    background: var(--accent-pale);
  }
  .mm-item.active .mm-icon {
    background: var(--accent);
    color: white;
    box-shadow: none;
  }
  .mm-item.active .mm-name { color: var(--accent); font-weight: 600; }

  .mm-item.coming .mm-name {
    color: var(--ink-soft);
  }
  .mm-item.coming::after {
    content: '';
    position: absolute;
    top: 10px;
    right: 10px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--ink-faded);
    opacity: 0.5;
  }

  .mm-footer {
    border-top: 1px solid var(--border);
    padding: 12px 24px;
    background: var(--bg);
    font-size: 12px;
    color: var(--ink-soft);
    border-radius: 0 0 10px 10px;
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
  }
  .mm-footer .legend {
    display: inline-flex;
    align-items: center;
    gap: 6px;
  }
  .mm-footer .legend-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
  }
  .mm-footer .legend-dot.ready  { background: #2e7d32; }
  .mm-footer .legend-dot.coming { background: var(--ink-faded); opacity: 0.5; }

  /* Drawer search — only shown when the mega menu becomes a bottom drawer on mobile */
  .mm-search { display: none; }

  /* ============== MAIN ============== */
  main {
    padding: 28px;
    max-width: 1500px;
    margin: 0 auto;
  }

  /* ===== Tool header (breadcrumb + title) ===== */
  .tool-header {
    margin-bottom: 22px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
  }
  .tool-header-main { min-width: 0; }

  /* Right-hand header cluster: Undo/Redo history + tool actions, kept together. */
  .tool-header-right {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    flex-shrink: 0;
  }
  .tool-header-history {
    display: flex;
    align-items: center;
    gap: 6px;
    padding-top: 4px;
  }
  .tool-header-history:empty { display: none; }
  /* Undo/Redo reuse the .tha-btn icon-button styling defined below. */
  .tool-header-history .tha-btn:disabled {
    opacity: 0.38;
    cursor: not-allowed;
    border-color: var(--border);
    color: var(--ink-soft);
    background: var(--panel);
    transform: none;
  }
  .tool-header-history .tha-btn:disabled:hover {
    border-color: var(--border);
    color: var(--ink-soft);
    background: var(--panel);
  }

  /* ===== Tool header actions (icon buttons + merged Download dropdown) ===== */
  .tool-header-actions {
    display: flex;
    align-items: center;
    gap: 6px;
    flex: none;
    padding-top: 4px;
    flex-wrap: wrap;
    justify-content: flex-end;
  }
  .tool-header-actions:empty { display: none; }
  .tha-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    padding: 0;
    border: 1px solid var(--border);
    background: var(--panel);
    color: var(--ink-soft);
    border-radius: 9px;
    cursor: pointer;
    transition: border-color .12s, color .12s, background .12s;
  }
  .tha-btn:hover { border-color: var(--accent); color: var(--accent); background: var(--accent-pale); }
  .tha-btn:active { transform: translateY(1px); }
  .tha-btn svg { width: 18px; height: 18px; }
  .tha-btn.primary { background: var(--accent); border-color: var(--accent); color: #fff; }
  .tha-btn.primary:hover { filter: brightness(0.96); background: var(--accent); color: #fff; }

  .tha-dl { position: relative; }
  .tha-dl-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    height: 38px;
    padding: 0 14px;
    border: 1px solid var(--accent);
    background: var(--accent);
    color: #fff;
    border-radius: 9px;
    font: inherit;
    font-size: 13.5px;
    font-weight: 600;
    cursor: pointer;
  }
  .tha-dl-btn:hover { filter: brightness(0.96); }
  .tha-dl-btn svg { width: 17px; height: 17px; }
  .tha-dl-btn .tha-caret { width: 13px; height: 13px; opacity: 0.9; margin-left: -2px; transition: transform .15s; }
  .tha-dl.open .tha-dl-btn .tha-caret { transform: rotate(180deg); }
  .tha-menu {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    min-width: 184px;
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 11px;
    box-shadow: 0 12px 32px rgba(0,0,0,0.16);
    padding: 6px;
    z-index: 60;
    display: none;
  }
  .tha-dl.open .tha-menu { display: block; }
  .tha-menu-head {
    font-family: 'Poppins', sans-serif;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--ink-faded);
    padding: 5px 9px 6px;
  }
  .tha-menu-item {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 9px 9px;
    border: none;
    background: transparent;
    color: var(--ink);
    border-radius: 7px;
    font: inherit;
    font-size: 13.5px;
    text-align: left;
    cursor: pointer;
  }
  .tha-menu-item:hover { background: var(--accent-pale); color: var(--accent); }
  .tha-menu-item svg { width: 17px; height: 17px; flex: none; color: var(--ink-faded); }
  .tha-menu-item:hover svg { color: var(--accent); }
  .tha-menu-item .tha-mi-sub { margin-left: auto; font-size: 11px; color: var(--ink-faded); }

  .tool-breadcrumb {
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--ink-faded);
    margin-bottom: 6px;
  }
  .tool-breadcrumb b { color: var(--ink-soft); font-weight: 500; }
  .tool-title {
    font-size: 28px;
    font-weight: 600;
    letter-spacing: -0.02em;
    margin-bottom: 4px;
  }
  .tool-subtitle {
    color: var(--ink-soft);
    font-size: 15px;
  }

  /* ===== Tool view container ===== */
  .tool-view { display: none; }
  .tool-view.active { display: block; }

  /* ============== PLACEHOLDER VIEW ============== */
  .placeholder {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 60px 40px;
    text-align: center;
    box-shadow: var(--shadow);
  }
  .placeholder-icon {
    width: 64px; height: 64px;
    margin: 0 auto 18px;
    border-radius: 12px;
    background: var(--accent-pale);
    color: var(--accent);
    display: grid;
    place-items: center;
  }
  .placeholder-title { font-size: 20px; font-weight: 600; margin-bottom: 8px; }
  .placeholder-sub { color: var(--ink-soft); max-width: 480px; margin: 0 auto 22px; }
  .placeholder-prompt {
    display: inline-block;
    background: var(--ink);
    color: white;
    padding: 14px 22px;
    border-radius: 6px;
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    user-select: all;
    cursor: text;
  }
  .placeholder-prompt::before {
    content: '$ ';
    color: var(--ink-faded);
  }

  /* ============== SHARED COMPONENTS ============== */

  /* Drop zone */
  .dropzone {
    border: 2px dashed var(--border-strong);
    border-radius: 8px;
    padding: 80px 40px;
    text-align: center;
    background: var(--panel);
    cursor: pointer;
    transition: all 0.2s;
  }
  .dropzone:hover, .dropzone.drag {
    border-color: var(--accent);
    background: var(--accent-pale);
  }
  .dz-icon {
    width: 56px; height: 56px;
    margin: 0 auto 16px;
    border-radius: 8px;
    background: var(--accent-pale);
    color: var(--accent);
    display: grid;
    place-items: center;
  }
  .dropzone.drag .dz-icon { background: var(--accent); color: white; }
  .dz-title { font-size: 17px; font-weight: 600; margin-bottom: 4px; }
  .dz-sub { color: var(--ink-soft); font-size: 13px; }
  .dz-sub b { color: var(--accent); font-weight: 500; cursor: pointer; }
  .file-input { display: none; }

  /* Toolbar */
  .toolbar {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    padding: 14px 18px;
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 8px;
    margin-bottom: 18px;
    box-shadow: var(--shadow);
  }
  .tb-info {
    margin-right: auto;
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    color: var(--ink-soft);
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
  }
  .tb-info b { color: var(--ink); font-weight: 600; }
  .tb-stat {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: 4px;
  }
  .tb-stat-dot {
    width: 6px; height: 6px;
    background: var(--accent);
    border-radius: 50%;
  }

  .btn {
    border: 1px solid var(--border-strong);
    background: white;
    color: var(--ink);
    padding: 8px 14px;
    font-family: inherit;
    font-size: 13px;
    font-weight: 500;
    border-radius: 5px;
    cursor: pointer;
    transition: all 0.15s;
    display: inline-flex;
    align-items: center;
    gap: 6px;
  }
  .btn:hover { background: var(--bg); border-color: var(--ink-soft); }
  .btn:disabled { opacity: 0.4; cursor: not-allowed; }
  .btn.primary {
    background: var(--accent);
    border-color: var(--accent);
    color: white;
  }
  .btn.primary:hover:not(:disabled) {
    background: var(--accent-dark);
    border-color: var(--accent-dark);
  }
  .btn.ghost { background: transparent; border-color: transparent; }
  .btn.ghost:hover { background: var(--bg); }

  /* Instructions banner */
  .instructions {
    background: linear-gradient(180deg, #fffef9, #fdfaf2);
    border: 1px solid var(--border);
    border-left: 3px solid var(--accent);
    border-radius: 6px;
    padding: 12px 16px;
    margin-bottom: 18px;
    font-size: 13px;
    color: var(--ink-soft);
    display: flex;
    align-items: center;
    gap: 10px;
  }
  .instructions b { color: var(--ink); font-weight: 600; }
  .instructions kbd {
    font-family: 'Poppins', sans-serif;
    background: white;
    border: 1px solid var(--border-strong);
    padding: 1px 6px;
    border-radius: 3px;
    font-size: 11px;
    color: var(--ink);
  }

  /* ============== SPLIT TOOL ============== */
  .pages-wrap {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 24px;
    box-shadow: var(--shadow);
    overflow-x: auto;
  }
  .pages {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    row-gap: 28px;
  }
  .page {
    width: 130px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
  }
  .page-thumb {
    width: 130px;
    height: 170px;
    background: white;
    border: 2px solid var(--gc, var(--border));
    border-radius: 4px;
    overflow: hidden;
    display: grid;
    place-items: center;
    box-shadow: 0 2px 6px rgba(0,0,0,0.06);
    position: relative;
    transition: transform 0.15s, box-shadow 0.15s;
  }
  .page-thumb:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0,0,0,0.1);
  }
  .page-thumb canvas { max-width: 100%; max-height: 100%; display: block; }
  .page-thumb.loading {
    background: linear-gradient(90deg, #f0eee8 25%, #faf8f3 50%, #f0eee8 75%);
    background-size: 200% 100%;
    animation: shimmer 1.4s infinite;
  }
  @keyframes shimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
  }
  .page-label {
    margin-top: 8px;
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    color: var(--ink-soft);
    display: flex;
    align-items: center;
    gap: 6px;
  }
  .page-group-tag {
    display: inline-block;
    width: 8px; height: 8px;
    background: var(--gc);
    border-radius: 50%;
  }
  .split {
    width: 36px;
    flex-shrink: 0;
    align-self: stretch;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    position: relative;
    padding-bottom: 26px;
  }
  .split-line {
    position: absolute;
    top: 0; bottom: 26px;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    border-left: 1px dashed var(--border-strong);
    transition: all 0.15s;
  }
  .split-icon {
    width: 28px; height: 28px;
    border-radius: 50%;
    background: white;
    border: 1px solid var(--border-strong);
    display: grid;
    place-items: center;
    color: var(--ink-faded);
    z-index: 1;
    transition: all 0.15s;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
  }
  .split:hover .split-line { border-left-color: var(--accent); border-left-style: solid; }
  .split:hover .split-icon { border-color: var(--accent); color: var(--accent); transform: scale(1.1); }
  .split.active .split-line { border-left: 2px solid var(--accent); }
  .split.active .split-icon { background: var(--accent); border-color: var(--accent); color: white; }
  .split.active:hover .split-icon { background: var(--accent-dark); }

  .groups-panel {
    margin-top: 20px;
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 16px 18px;
    box-shadow: var(--shadow);
  }
  .groups-title {
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--ink-faded);
    margin-bottom: 12px;
  }
  .groups-list { display: flex; flex-wrap: wrap; gap: 8px; }
  .group-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    background: var(--gcp);
    border: 1px solid var(--gc);
    border-radius: 4px;
    font-size: 13px;
    color: var(--gc);
    font-weight: 500;
  }
  .group-chip .gc-dot { width: 8px; height: 8px; background: var(--gc); border-radius: 50%; }
  .group-chip code {
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    background: rgba(0,0,0,0.04);
    padding: 1px 6px;
    border-radius: 3px;
    color: var(--ink-soft);
  }

  /* ============== SHARED: SELECTABLE PAGES GRID ============== */
  .pages-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 16px;
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 18px;
    box-shadow: var(--shadow);
  }
  .pcell {
    position: relative;
    cursor: pointer;
    border-radius: 6px;
    padding: 8px;
    border: 2px solid var(--border);
    background: white;
    transition: all 0.15s;
    user-select: none;
  }
  .pcell:hover { border-color: var(--ink-soft); transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0,0,0,0.08); }
  .pcell.selected {
    border-color: var(--accent);
    background: var(--accent-pale);
  }
  .pcell-thumb {
    width: 100%;
    height: 160px;
    display: grid;
    place-items: center;
    background: var(--bg);
    margin-bottom: 8px;
    overflow: hidden;
    border-radius: 3px;
    transition: transform 0.25s;
  }
  .pcell-thumb canvas { max-width: 100%; max-height: 100%; display: block; }
  .pcell-thumb.loading {
    background: linear-gradient(90deg, #f0eee8 25%, #faf8f3 50%, #f0eee8 75%);
    background-size: 200% 100%;
    animation: shimmer 1.4s infinite;
  }
  .pcell-num {
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    color: var(--ink-soft);
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
  }
  .pcell.selected .pcell-num { color: var(--accent); font-weight: 600; }
  .pcell-badge {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 22px;
    height: 22px;
    background: white;
    border: 2px solid var(--border);
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: transparent;
    transition: all 0.15s;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08);
  }
  .pcell.selected .pcell-badge {
    background: var(--accent);
    border-color: var(--accent);
    color: white;
  }
  .pcell-rotate {
    position: absolute;
    top: 14px;
    left: 14px;
    background: rgba(0,0,0,0.7);
    color: white;
    border-radius: 3px;
    padding: 2px 6px;
    font-size: 10px;
    font-family: 'Poppins', sans-serif;
    letter-spacing: 0.05em;
  }

  /* ============== SHARED: OPTIONS PANEL ============== */
  .options-panel {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 18px 20px;
    box-shadow: var(--shadow);
    margin-bottom: 18px;
  }
  .options-row {
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
    align-items: flex-end;
  }
  .field { display: flex; flex-direction: column; gap: 6px; min-width: 140px; }
  .field label {
    font-family: 'Poppins', sans-serif;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--ink-faded);
    font-weight: 500;
  }
  .field input[type="text"],
  .field input[type="number"],
  .field input[type="password"],
  .field select,
  .field textarea {
    border: 1px solid var(--border-strong);
    background: white;
    color: var(--ink);
    padding: 8px 12px;
    font-family: inherit;
    font-size: 13px;
    border-radius: 5px;
    outline: none;
    transition: border-color 0.15s;
    width: 100%;
  }
  .field input:focus,
  .field select:focus,
  .field textarea:focus { border-color: var(--accent); }
  .field textarea { resize: vertical; min-height: 60px; }
  .field .hint {
    font-size: 11px;
    color: var(--ink-faded);
    font-family: 'Poppins', sans-serif;
  }

  .seg {
    display: inline-flex;
    border: 1px solid var(--border-strong);
    border-radius: 5px;
    overflow: hidden;
    background: white;
  }
  .seg button {
    border: 0;
    background: transparent;
    padding: 7px 12px;
    font-family: inherit;
    font-size: 12px;
    cursor: pointer;
    color: var(--ink-soft);
    transition: all 0.12s;
  }
  .seg button + button { border-left: 1px solid var(--border); }
  .seg button:hover { background: var(--bg); color: var(--ink); }
  .seg button.on { background: var(--accent); color: white; }

  /* ============== MERGE TOOL ============== */
  .merge-list {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 8px;
    box-shadow: var(--shadow);
  }
  .merge-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 6px;
    background: white;
    border: 1px solid var(--border);
    margin-bottom: 6px;
    transition: border-color 0.12s, opacity 0.12s, transform 0.12s;
    cursor: default;
  }
  .merge-row:last-child { margin-bottom: 0; }
  .merge-row:hover { border-color: var(--border-strong); }
  .merge-row.dragging { opacity: 0.4; transform: scale(0.99); }
  .merge-row.drag-over {
    border-color: var(--accent);
    border-top-width: 3px;
    margin-top: -2px;
  }
  .merge-handle {
    color: var(--ink-faded);
    cursor: grab;
    user-select: none;
    font-size: 16px;
    line-height: 1;
    padding: 4px 2px;
    letter-spacing: -2px;
  }
  .merge-handle:active { cursor: grabbing; }
  .merge-index {
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    color: var(--ink-soft);
    background: var(--bg);
    border-radius: 3px;
    padding: 3px 7px;
    min-width: 30px;
    text-align: center;
    font-weight: 500;
  }
  .merge-thumb {
    width: 44px;
    height: 56px;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: 3px;
    overflow: hidden;
    display: grid;
    place-items: center;
    flex-shrink: 0;
  }
  .merge-thumb img { max-width: 100%; max-height: 100%; display: block; }
  .merge-info { flex: 1; min-width: 0; }
  .merge-name {
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 14px;
  }
  .merge-meta {
    color: var(--ink-soft);
    font-size: 12px;
    font-family: 'Poppins', sans-serif;
    margin-top: 2px;
  }
  .merge-actions { display: flex; gap: 2px; }
  .btn-icon {
    width: 30px;
    height: 30px;
    border: 1px solid transparent;
    background: transparent;
    border-radius: 4px;
    cursor: pointer;
    color: var(--ink-soft);
    display: grid;
    place-items: center;
    transition: all 0.12s;
    font-size: 15px;
    line-height: 1;
    font-family: inherit;
  }
  .btn-icon:hover:not(:disabled) {
    background: var(--bg);
    color: var(--ink);
    border-color: var(--border);
  }
  .btn-icon:disabled { opacity: 0.25; cursor: not-allowed; }
  .btn-icon.danger:hover { color: var(--accent); border-color: var(--accent); }

  /* ============== SIGNATURE PAD ============== */
  .sig-pad-wrap {
    background: white;
    border: 2px dashed var(--border-strong);
    border-radius: 6px;
    height: 200px;
    position: relative;
    overflow: hidden;
  }
  .sig-pad-wrap canvas { width: 100%; height: 100%; cursor: crosshair; touch-action: none; display: block; }
  .sig-pad-wrap.empty::before {
    content: 'Draw your signature here';
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    color: var(--ink-faded);
    font-style: italic;
    pointer-events: none;
  }
  .sig-preview {
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: 6px;
    padding: 14px;
    height: 200px;
    display: grid;
    place-items: center;
  }
  .sig-preview img { max-width: 100%; max-height: 100%; }
  .sig-preview.empty {
    color: var(--ink-faded);
    font-style: italic;
  }

  /* ============== CROP SELECTOR ============== */
  .crop-stage {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 24px;
    box-shadow: var(--shadow);
    display: grid;
    place-items: center;
  }
  .crop-canvas-wrap {
    position: relative;
    display: inline-block;
    box-shadow: 0 4px 20px rgba(0,0,0,0.12);
    user-select: none;
  }
  .crop-canvas-wrap canvas { display: block; }
  .crop-mask {
    position: absolute;
    inset: 0;
    pointer-events: auto;
    cursor: crosshair;
  }
  .crop-rect {
    position: absolute;
    border: 2px solid var(--accent);
    background: rgba(200,16,46,0.08);
    box-shadow: 0 0 0 9999px rgba(10,10,14,0.35);
    pointer-events: none;
  }
  .crop-dims {
    position: absolute;
    bottom: -28px;
    left: 0;
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    color: var(--ink-soft);
    white-space: nowrap;
  }

  /* ============== FORMS TOOL ============== */
  .forms-layout {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 18px;
    align-items: start;
  }
  @media (max-width: 980px) {
    .forms-layout { grid-template-columns: 1fr; }
  }
  .forms-preview {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 16px;
    box-shadow: var(--shadow);
    overflow-y: auto;
    max-height: 78vh;
  }
  .forms-preview-page {
    margin: 0 auto 14px;
    background: white;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    border-radius: 3px;
    overflow: hidden;
    display: block;
    max-width: 100%;
  }
  .forms-preview-page canvas { display: block; max-width: 100%; height: auto; }

  .forms-panel {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 8px;
    box-shadow: var(--shadow);
    position: sticky;
    top: 92px;
    max-height: 78vh;
    display: flex;
    flex-direction: column;
  }
  .forms-panel-header {
    padding: 14px 16px;
    border-bottom: 1px solid var(--border);
    display: flex;
    align-items: center;
    gap: 10px;
  }
  .forms-panel-title {
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--ink-faded);
  }
  .forms-panel-count {
    margin-left: auto;
    font-size: 12px;
    font-family: 'Poppins', sans-serif;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: 3px;
    padding: 2px 8px;
    color: var(--ink-soft);
  }
  .forms-panel-count b { color: var(--accent); font-weight: 600; }

  .forms-fields {
    padding: 14px 16px;
    overflow-y: auto;
    flex: 1;
  }
  .forms-field {
    margin-bottom: 14px;
  }
  .forms-field:last-child { margin-bottom: 4px; }
  .forms-field-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 500;
    color: var(--ink-soft);
    margin-bottom: 5px;
  }
  .forms-field-name {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .forms-field-type {
    font-family: 'Poppins', sans-serif;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--ink-faded);
    background: var(--bg);
    padding: 2px 6px;
    border-radius: 3px;
    border: 1px solid var(--border);
    flex-shrink: 0;
  }
  .forms-input {
    width: 100%;
    border: 1px solid var(--border-strong);
    background: white;
    padding: 8px 10px;
    border-radius: 5px;
    font-family: inherit;
    font-size: 13.5px;
    color: var(--ink);
    transition: border-color 0.15s, box-shadow 0.15s;
  }
  .forms-input:focus {
    outline: none;
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(200,16,46,0.12);
  }
  textarea.forms-input { resize: vertical; min-height: 60px; font-family: inherit; }

  /* Global iOS-style toggle for every checkbox (opt out with .as-checkbox).
     Geometry mirrors .updates-toggle exactly so the whole app is uniform.
     We keep the real <input type="checkbox"> in the DOM, so all .checked
     reads and change listeners keep working — this is a pure visual restyle. */
  input[type="checkbox"]:not(.as-checkbox) {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: relative;
    flex-shrink: 0;
    width: 38px;
    height: 22px;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 100px;
    background: var(--border-strong);
    cursor: pointer;
    vertical-align: middle;
    transition: background 0.2s;
  }
  input[type="checkbox"]:not(.as-checkbox)::before {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    transition: transform 0.2s;
  }
  input[type="checkbox"]:not(.as-checkbox):checked { background: var(--accent); }
  input[type="checkbox"]:not(.as-checkbox):checked::before { transform: translateX(16px); }
  input[type="checkbox"]:not(.as-checkbox):focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
  }
  input[type="checkbox"]:not(.as-checkbox):disabled { opacity: 0.5; cursor: not-allowed; }

  @media (prefers-reduced-motion: reduce) {
    input[type="checkbox"]:not(.as-checkbox),
    input[type="checkbox"]:not(.as-checkbox)::before { transition: none; }
  }

  .forms-checkbox-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 8px;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: 5px;
    cursor: pointer;
    user-select: none;
    transition: all 0.12s;
  }
  .forms-checkbox-row:hover { border-color: var(--accent); }
  .forms-checkbox-row input[type=checkbox] {
    accent-color: var(--accent);
    cursor: pointer;
  }
  .forms-radio-group {
    display: flex;
    flex-direction: column;
    gap: 4px;
  }
  .forms-radio-row {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 8px;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: 5px;
    cursor: pointer;
    font-size: 13px;
    transition: all 0.12s;
  }
  .forms-radio-row:hover { border-color: var(--accent); }
  .forms-radio-row input[type=radio] {
    accent-color: var(--accent);
    cursor: pointer;
  }

  .forms-empty {
    text-align: center;
    padding: 40px 18px;
    color: var(--ink-soft);
  }
  .forms-empty-icon {
    margin: 0 auto 12px;
    color: var(--ink-faded);
  }
  .forms-empty b { color: var(--ink); font-weight: 600; }

  .forms-panel-actions {
    padding: 12px 16px;
    border-top: 1px solid var(--border);
    background: var(--bg);
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  .forms-panel-actions .btn { justify-content: center; }
  .forms-flatten-hint {
    font-size: 11.5px;
    color: var(--ink-faded);
    text-align: center;
    font-family: 'Poppins', sans-serif;
    line-height: 1.4;
  }

  /* ============== REDACT TOOL ============== */
  .redact-warning {
    background: #fff8e1;
    border: 1px solid #f0d68a;
    border-left: 3px solid #b8923a;
    border-radius: 6px;
    padding: 11px 14px;
    margin-bottom: 18px;
    font-size: 12.5px;
    color: #6a5419;
    display: flex;
    gap: 10px;
    align-items: flex-start;
  }
  .redact-warning b { color: #4d3d10; }
  .redact-warning-icon { flex-shrink: 0; margin-top: 1px; }

  .redact-pages-wrap {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 24px;
    box-shadow: var(--shadow);
    max-height: 80vh;
    overflow-y: auto;
  }
  .redact-page-wrap {
    margin: 0 auto 18px;
    background: white;
    box-shadow: 0 2px 10px rgba(0,0,0,0.08);
    border-radius: 3px;
    overflow: hidden;
    position: relative;
    display: block;
  }
  .redact-page-wrap:last-child { margin-bottom: 0; }
  .redact-page-wrap canvas {
    display: block;
    cursor: crosshair;
    width: 100%;
    height: auto;
    user-select: none;
    -webkit-user-select: none;
    touch-action: none;
  }
  .redact-page-num {
    position: absolute;
    top: 8px;
    left: 8px;
    background: rgba(10, 10, 14, 0.78);
    color: white;
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    padding: 3px 8px;
    border-radius: 3px;
    pointer-events: none;
    letter-spacing: 0.05em;
  }
  .redact-page-redactions {
    position: absolute;
    top: 8px;
    right: 8px;
    background: rgba(200, 16, 46, 0.92);
    color: white;
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    padding: 3px 8px;
    border-radius: 3px;
    pointer-events: none;
    letter-spacing: 0.05em;
    opacity: 0;
    transition: opacity 0.2s;
  }
  .redact-page-redactions.visible { opacity: 1; }

  .redact-hint {
    text-align: center;
    color: var(--ink-faded);
    font-family: 'Poppins', sans-serif;
    font-size: 11.5px;
    padding: 20px 12px;
    background: var(--bg);
    border-radius: 6px;
    border: 1px dashed var(--border);
    margin-top: 18px;
  }
  .redact-hint kbd {
    font-family: 'Poppins', sans-serif;
    background: white;
    border: 1px solid var(--border-strong);
    padding: 1px 6px;
    border-radius: 3px;
    font-size: 10.5px;
    color: var(--ink);
  }

  /* ============== COMPARE TOOL ============== */
  .compare-dropzones {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }
  @media (max-width: 720px) {
    .compare-dropzones { grid-template-columns: 1fr; }
  }
  .compare-slot {
    background: var(--panel);
    border: 2px dashed var(--border-strong);
    border-radius: 8px;
    padding: 32px 20px;
    text-align: center;
    cursor: pointer;
    transition: all 0.15s;
    position: relative;
  }
  .compare-slot:hover, .compare-slot.drag {
    border-color: var(--accent);
    background: var(--accent-pale);
  }
  .compare-slot.loaded {
    border-style: solid;
    border-color: var(--border);
    cursor: default;
  }
  .compare-slot-letter {
    display: inline-block;
    width: 32px; height: 32px;
    background: var(--accent);
    color: white;
    border-radius: 50%;
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 15px;
    line-height: 32px;
    margin-bottom: 12px;
  }
  .compare-slot.b .compare-slot-letter { background: #1e6091; }
  .compare-slot.loaded .compare-slot-letter { background: #2e7d32; }
  .compare-slot-name {
    font-weight: 500;
    margin-bottom: 4px;
    word-break: break-all;
    font-size: 14px;
  }
  .compare-slot-meta {
    color: var(--ink-soft);
    font-size: 12px;
    font-family: 'Poppins', sans-serif;
  }
  .compare-slot-clear {
    position: absolute;
    top: 8px; right: 8px;
    background: transparent;
    border: 1px solid var(--border);
    width: 24px; height: 24px;
    border-radius: 50%;
    cursor: pointer;
    color: var(--ink-soft);
    display: grid;
    place-items: center;
    font-size: 14px;
    line-height: 1;
    transition: all 0.12s;
  }
  .compare-slot-clear:hover {
    background: var(--accent);
    color: white;
    border-color: var(--accent);
  }
  .compare-slot-hint { font-size: 13px; color: var(--ink-soft); }
  .compare-slot-hint b { color: var(--accent); }

  .compare-results {
    margin-top: 22px;
  }
  .compare-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 12px;
    margin-bottom: 18px;
  }
  .compare-stat {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 14px 16px;
    box-shadow: var(--shadow);
  }
  .compare-stat-label {
    font-family: 'Poppins', sans-serif;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--ink-faded);
    margin-bottom: 6px;
  }
  .compare-stat-value {
    font-size: 24px;
    font-weight: 600;
    letter-spacing: -0.02em;
  }
  .compare-stat-value.added   { color: #2e7d32; }
  .compare-stat-value.removed { color: var(--accent); }
  .compare-stat-value.changed { color: #b8923a; }

  .compare-view-wrap {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 8px;
    box-shadow: var(--shadow);
    overflow: hidden;
  }
  .compare-view-tabs {
    display: flex;
    background: var(--bg);
    border-bottom: 1px solid var(--border);
  }
  .compare-tab {
    background: transparent;
    border: none;
    padding: 12px 18px;
    cursor: pointer;
    font-family: inherit;
    font-size: 13px;
    font-weight: 500;
    color: var(--ink-soft);
    border-bottom: 2px solid transparent;
    transition: all 0.15s;
  }
  .compare-tab:hover { color: var(--ink); }
  .compare-tab.active {
    color: var(--accent);
    border-bottom-color: var(--accent);
    background: var(--panel);
  }
  .compare-tab-panel {
    display: none;
    max-height: 70vh;
    overflow-y: auto;
  }
  .compare-tab-panel.active { display: block; }

  .compare-sidebyside {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1px;
    background: var(--border);
  }
  .compare-col {
    background: var(--panel);
    padding: 18px;
  }
  .compare-col-header {
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--ink-faded);
    margin-bottom: 10px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--border);
    display: flex;
    align-items: center;
    gap: 8px;
  }
  .compare-col-header .badge {
    display: inline-block;
    width: 22px; height: 22px;
    border-radius: 50%;
    background: var(--accent);
    color: white;
    text-align: center;
    line-height: 22px;
    font-weight: 700;
    letter-spacing: 0;
  }
  .compare-col.b .compare-col-header .badge { background: #1e6091; }

  .compare-line {
    padding: 2px 8px;
    font-family: 'Poppins', sans-serif;
    font-size: 12.5px;
    line-height: 1.6;
    white-space: pre-wrap;
    word-break: break-word;
    border-left: 3px solid transparent;
  }
  .compare-line.equal {
    color: var(--ink-soft);
    border-left-color: transparent;
  }
  .compare-line.added {
    background: rgba(46,125,50,0.08);
    border-left-color: #2e7d32;
    color: #1b5e20;
  }
  .compare-line.removed {
    background: rgba(200,16,46,0.07);
    border-left-color: var(--accent);
    color: #8b0a1f;
  }
  .compare-line.placeholder {
    background: repeating-linear-gradient(45deg, #fafaf7, #fafaf7 6px, #f0eee8 6px, #f0eee8 12px);
    color: transparent;
    min-height: 1.6em;
  }
  .compare-linenum {
    color: var(--ink-faded);
    font-size: 11px;
    margin-right: 10px;
    display: inline-block;
    min-width: 30px;
    text-align: right;
    user-select: none;
  }

  .compare-empty {
    text-align: center;
    padding: 60px 20px;
    color: var(--ink-soft);
  }
  .compare-empty b { color: var(--ink); }

  .compare-page-pair {
    border-bottom: 1px solid var(--border);
  }
  .compare-page-pair:last-child { border-bottom: none; }
  .compare-page-pair-header {
    background: var(--bg);
    padding: 8px 18px;
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--ink-soft);
    border-bottom: 1px solid var(--border);
  }

  /* ============== HTML TO PDF TOOL ============== */
  .htp-layout {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 16px;
  }
  @media (max-width: 1024px) {
    .htp-layout { grid-template-columns: 1fr; }
  }

  .htp-main {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 8px;
    box-shadow: var(--shadow);
    overflow: hidden;
  }
  .htp-tabs {
    display: flex;
    background: var(--bg);
    border-bottom: 1px solid var(--border);
  }
  .htp-tab {
    background: transparent;
    border: none;
    padding: 12px 18px;
    cursor: pointer;
    font-family: inherit;
    font-size: 13px;
    font-weight: 500;
    color: var(--ink-soft);
    border-bottom: 2px solid transparent;
    transition: all 0.15s;
    display: inline-flex;
    align-items: center;
    gap: 8px;
  }
  .htp-tab:hover { color: var(--ink); }
  .htp-tab.active {
    color: var(--accent);
    border-bottom-color: var(--accent);
    background: var(--panel);
  }
  .htp-tab-panel { display: none; padding: 18px; }
  .htp-tab-panel.active { display: block; }

  .htp-editor {
    width: 100%;
    min-height: 320px;
    max-height: 60vh;
    border: 1px solid var(--border-strong);
    border-radius: 6px;
    padding: 14px;
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    color: var(--ink);
    background: var(--bg);
    resize: vertical;
    line-height: 1.55;
    tab-size: 2;
  }
  .htp-editor:focus {
    outline: none;
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(200,16,46,0.12);
    background: white;
  }

  .htp-file-drop {
    border: 2px dashed var(--border-strong);
    border-radius: 8px;
    padding: 56px 24px;
    text-align: center;
    cursor: pointer;
    transition: all 0.15s;
  }
  .htp-file-drop:hover, .htp-file-drop.drag {
    border-color: var(--accent);
    background: var(--accent-pale);
  }
  .htp-file-drop.loaded {
    border-style: solid;
    border-color: var(--border);
  }
  .htp-file-loaded {
    text-align: left;
    display: flex;
    align-items: center;
    gap: 12px;
  }
  .htp-file-loaded svg {
    width: 36px; height: 36px;
    color: #2e7d32;
    flex-shrink: 0;
  }
  .htp-file-loaded-meta { font-family: 'Poppins', sans-serif; font-size: 12px; color: var(--ink-soft); }

  .htp-preview-section {
    margin-top: 18px;
    border-top: 1px solid var(--border);
    padding-top: 16px;
  }
  .htp-preview-label {
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--ink-faded);
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .htp-preview-iframe {
    width: 100%;
    height: 400px;
    border: 1px solid var(--border-strong);
    border-radius: 6px;
    background: white;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
  }

  /* Sidebar */
  .htp-sidebar {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 8px;
    box-shadow: var(--shadow);
    padding: 18px;
    height: fit-content;
    position: sticky;
    top: 92px;
  }
  .htp-section-title {
    font-family: 'Poppins', sans-serif;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--ink-faded);
    margin-bottom: 10px;
    margin-top: 18px;
  }
  .htp-section-title:first-child { margin-top: 0; }

  .htp-options {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 6px;
  }
  .htp-options.three { grid-template-columns: repeat(3, 1fr); }
  .htp-option {
    padding: 9px 8px;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: 5px;
    cursor: pointer;
    font-size: 12.5px;
    font-weight: 500;
    text-align: center;
    transition: all 0.12s;
    font-family: inherit;
    color: var(--ink-soft);
  }
  .htp-option:hover { border-color: var(--border-strong); color: var(--ink); }
  .htp-option.active {
    background: var(--accent-pale);
    border-color: var(--accent);
    color: var(--accent);
    font-weight: 600;
  }

  .htp-filename-input {
    width: 100%;
    border: 1px solid var(--border-strong);
    background: white;
    padding: 8px 10px;
    border-radius: 5px;
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
  }
  .htp-filename-input:focus {
    outline: none;
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(200,16,46,0.12);
  }

  .htp-convert-btn {
    width: 100%;
    margin-top: 22px;
    justify-content: center;
    padding: 12px;
    font-size: 14px;
  }

  .htp-samples {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 10px;
  }
  .htp-sample-btn {
    background: var(--bg);
    border: 1px solid var(--border);
    color: var(--ink-soft);
    padding: 4px 10px;
    border-radius: 100px;
    font-size: 11.5px;
    cursor: pointer;
    transition: all 0.12s;
    font-family: inherit;
  }
  .htp-sample-btn:hover {
    background: var(--accent-pale);
    color: var(--accent);
    border-color: var(--accent);
  }

  /* ============== SCAN TO PDF TOOL ============== */
  .scan-layout {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 16px;
  }
  @media (max-width: 1024px) {
    .scan-layout { grid-template-columns: 1fr; }
  }
  .scan-camera-wrap {
    background: #0a0a0e;
    border: 1px solid var(--border);
    border-radius: 8px;
    overflow: hidden;
    position: relative;
    box-shadow: var(--shadow);
    aspect-ratio: 4/3;
    display: grid;
    place-items: center;
  }
  .scan-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .scan-flash {
    position: absolute;
    inset: 0;
    background: white;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.05s;
  }
  .scan-flash.flash { opacity: 1; transition: opacity 0.5s; }
  .scan-no-camera {
    color: white;
    text-align: center;
    padding: 40px 24px;
    max-width: 380px;
  }
  .scan-no-camera-icon {
    margin: 0 auto 16px;
    color: rgba(255,255,255,0.4);
  }
  .scan-no-camera h3 { font-size: 17px; margin-bottom: 8px; font-weight: 600; }
  .scan-no-camera p { color: rgba(255,255,255,0.6); font-size: 13.5px; line-height: 1.55; }
  .scan-no-camera .btn { margin-top: 16px; background: rgba(255,255,255,0.08); color: white; border-color: rgba(255,255,255,0.2); }
  .scan-no-camera .btn:hover { background: rgba(255,255,255,0.16); }

  .scan-controls {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 16px;
    margin-top: 14px;
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
    box-shadow: var(--shadow);
  }
  .scan-capture-btn {
    background: var(--accent);
    border: 4px solid white;
    box-shadow: 0 0 0 2px var(--accent), 0 4px 14px rgba(200,16,46,0.35);
    color: white;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    cursor: pointer;
    display: grid;
    place-items: center;
    transition: all 0.12s;
    flex-shrink: 0;
    margin: 0 auto;
  }
  .scan-capture-btn:hover:not(:disabled) {
    transform: scale(1.04);
    box-shadow: 0 0 0 2px var(--accent-dark), 0 8px 22px rgba(200,16,46,0.45);
  }
  .scan-capture-btn:active:not(:disabled) { transform: scale(0.96); }
  .scan-capture-btn:disabled { opacity: 0.4; cursor: not-allowed; }
  .scan-capture-btn .dot {
    width: 18px; height: 18px;
    background: white;
    border-radius: 50%;
  }

  .scan-sidebar {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 8px;
    box-shadow: var(--shadow);
    padding: 16px;
    display: flex;
    flex-direction: column;
    max-height: 78vh;
  }
  .scan-sidebar-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--border);
  }
  .scan-sidebar-title {
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--ink-faded);
  }
  .scan-pages {
    flex: 1;
    overflow-y: auto;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
    gap: 10px;
    min-height: 200px;
  }
  .scan-page {
    aspect-ratio: 3/4;
    border-radius: 5px;
    overflow: hidden;
    background: var(--bg);
    border: 2px solid var(--border);
    position: relative;
    cursor: grab;
    transition: transform 0.12s, border-color 0.12s;
  }
  .scan-page:hover { border-color: var(--accent); }
  .scan-page.dragging { opacity: 0.4; }
  .scan-page.drag-over { border-color: var(--accent); border-width: 3px; }
  .scan-page img {
    width: 100%; height: 100%; object-fit: cover;
    display: block;
    pointer-events: none;
  }
  .scan-page-num {
    position: absolute;
    top: 4px;
    left: 4px;
    background: rgba(10,10,14,0.85);
    color: white;
    font-family: 'Poppins', sans-serif;
    font-size: 10px;
    padding: 2px 6px;
    border-radius: 3px;
    pointer-events: none;
  }
  .scan-page-del {
    position: absolute;
    top: 4px;
    right: 4px;
    width: 22px; height: 22px;
    background: rgba(200,16,46,0.92);
    color: white;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    font-size: 14px;
    line-height: 1;
    display: grid;
    place-items: center;
    opacity: 0;
    transition: opacity 0.12s;
  }
  .scan-page:hover .scan-page-del { opacity: 1; }
  .scan-page-del:hover { background: var(--accent); }

  .scan-empty {
    grid-column: 1 / -1;
    text-align: center;
    color: var(--ink-faded);
    padding: 32px 12px;
    font-size: 13px;
  }
  .scan-empty-icon {
    font-size: 32px;
    margin-bottom: 8px;
    opacity: 0.5;
  }

  .scan-sidebar-footer {
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid var(--border);
    display: grid;
    gap: 8px;
  }
  .scan-filter-row {
    display: flex;
    gap: 6px;
    margin-bottom: 4px;
  }
  .scan-filter-btn {
    flex: 1;
    padding: 7px 4px;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: 5px;
    cursor: pointer;
    font-size: 11.5px;
    font-weight: 500;
    color: var(--ink-soft);
    transition: all 0.12s;
    font-family: inherit;
  }
  .scan-filter-btn:hover { border-color: var(--border-strong); color: var(--ink); }
  .scan-filter-btn.active {
    background: var(--accent-pale);
    border-color: var(--accent);
    color: var(--accent);
    font-weight: 600;
  }

  /* ============== EDIT PDF TOOL ============== */
  .edit-tools {
    display: flex;
    gap: 4px;
    padding: 6px;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: 8px;
    margin-bottom: 14px;
    flex-wrap: wrap;
    align-items: center;
    box-shadow: var(--shadow);
  }
  .edit-tool {
    background: transparent;
    border: 1px solid transparent;
    color: var(--ink-soft);
    padding: 8px 12px;
    border-radius: 5px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 500;
    font-family: inherit;
    transition: all 0.12s;
  }
  .edit-tool:hover { background: white; color: var(--ink); border-color: var(--border); }
  .edit-tool.active {
    background: var(--accent);
    color: white;
    border-color: var(--accent);
  }
  .edit-tool-sep {
    width: 1px;
    align-self: stretch;
    background: var(--border);
    margin: 0 4px;
  }

  .edit-control {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12.5px;
    color: var(--ink-soft);
    padding: 0 6px;
  }
  .edit-control label {
    font-family: 'Poppins', sans-serif;
    font-size: 10.5px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--ink-faded);
  }
  .edit-color-swatch {
    width: 22px; height: 22px;
    border: 2px solid white;
    box-shadow: 0 0 0 1px var(--border-strong);
    border-radius: 50%;
    cursor: pointer;
    transition: transform 0.12s;
  }
  .edit-color-swatch.active {
    transform: scale(1.15);
    box-shadow: 0 0 0 2px var(--ink);
  }
  .edit-size-select {
    background: white;
    border: 1px solid var(--border-strong);
    border-radius: 4px;
    padding: 4px 8px;
    font-size: 12px;
    font-family: inherit;
    color: var(--ink);
  }
  .edit-size-select:focus { outline: none; border-color: var(--accent); }

  .edit-pages-wrap {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 24px;
    box-shadow: var(--shadow);
    max-height: 78vh;
    overflow-y: auto;
  }
  .edit-page-wrap {
    margin: 0 auto 18px;
    background: white;
    box-shadow: 0 2px 10px rgba(0,0,0,0.08);
    border-radius: 3px;
    overflow: hidden;
    position: relative;
  }
  .edit-page-wrap:last-child { margin-bottom: 0; }
  .edit-page-wrap canvas {
    display: block;
    width: 100%;
    height: auto;
    user-select: none;
    touch-action: none;
  }
  .edit-page-wrap.tool-text canvas { cursor: text; }
  .edit-page-wrap.tool-rect canvas, .edit-page-wrap.tool-highlight canvas { cursor: crosshair; }
  .edit-page-wrap.tool-select canvas { cursor: default; }
  .edit-page-num {
    position: absolute;
    top: 8px;
    left: 8px;
    background: rgba(10,10,14,0.78);
    color: white;
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    padding: 3px 8px;
    border-radius: 3px;
    pointer-events: none;
  }
  /* Modal for entering text */
  .edit-text-modal {
    position: fixed;
    inset: 0;
    background: rgba(10,10,14,0.4);
    backdrop-filter: blur(2px);
    z-index: 250;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
  }
  .edit-text-modal.open { display: flex; }
  .edit-text-modal-box {
    background: white;
    border-radius: 10px;
    padding: 22px;
    width: 100%;
    max-width: 480px;
    box-shadow: var(--shadow-lg);
  }
  .edit-text-modal-box h3 {
    font-size: 17px;
    margin-bottom: 12px;
    font-weight: 600;
  }
  .edit-text-input {
    width: 100%;
    border: 1px solid var(--border-strong);
    padding: 10px 12px;
    border-radius: 6px;
    font-family: inherit;
    font-size: 14px;
    resize: vertical;
    min-height: 60px;
  }
  .edit-text-input:focus {
    outline: none;
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(200,16,46,0.12);
  }
  .edit-text-modal-actions {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    margin-top: 14px;
  }

  /* ============== QR CODE GENERATOR ============== */
  .qr-layout {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 16px;
    align-items: start;
  }
  @media (max-width: 980px) {
    .qr-layout { grid-template-columns: 1fr; }
  }

  .qr-input-panel {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 8px;
    box-shadow: var(--shadow);
    overflow: hidden;
  }
  .qr-type-tabs {
    display: flex;
    flex-wrap: wrap;
    background: var(--bg);
    border-bottom: 1px solid var(--border);
    padding: 0 4px;
    gap: 1px;
  }
  .qr-type-tab {
    background: transparent;
    border: none;
    padding: 11px 14px;
    cursor: pointer;
    font-family: inherit;
    font-size: 12.5px;
    font-weight: 500;
    color: var(--ink-soft);
    border-bottom: 2px solid transparent;
    transition: all 0.15s;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: -1px;
  }
  .qr-type-tab:hover { color: var(--ink); }
  .qr-type-tab.active {
    color: #5e35b1;
    border-bottom-color: #5e35b1;
    background: var(--panel);
    font-weight: 600;
  }
  .qr-form { padding: 20px; }
  .qr-form-row {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 14px;
  }
  .qr-form-row:last-child { margin-bottom: 0; }
  .qr-form-row label {
    font-family: 'Poppins', sans-serif;
    font-size: 10.5px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--ink-faded);
    font-weight: 500;
  }
  .qr-input,
  .qr-textarea,
  .qr-select {
    width: 100%;
    border: 1px solid var(--border-strong);
    background: white;
    padding: 10px 12px;
    border-radius: 6px;
    font-family: inherit;
    font-size: 13.5px;
    color: var(--ink);
    transition: all 0.15s;
  }
  .qr-input:focus,
  .qr-textarea:focus,
  .qr-select:focus {
    outline: none;
    border-color: #5e35b1;
    box-shadow: 0 0 0 3px rgba(94,53,177,0.12);
  }
  .qr-textarea { resize: vertical; min-height: 100px; font-family: inherit; line-height: 1.5; }
  .qr-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  .qr-form-grid .qr-form-row { margin-bottom: 0; }

  .qr-check-row {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--ink-soft);
    cursor: pointer;
    padding: 6px 0;
  }
  .qr-check-row input { accent-color: #5e35b1; cursor: pointer; }

  .qr-preview-panel {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 8px;
    box-shadow: var(--shadow);
    overflow: hidden;
    margin-top: 14px;
  }
  .qr-preview-header {
    padding: 12px 18px;
    border-bottom: 1px solid var(--border);
    background: var(--bg);
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--ink-faded);
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .qr-preview-stage {
    padding: 30px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    background:
      linear-gradient(45deg, #f5f5f5 25%, transparent 25%) 0 0,
      linear-gradient(-45deg, #f5f5f5 25%, transparent 25%) 0 8px,
      linear-gradient(45deg, transparent 75%, #f5f5f5 75%) 8px -8px,
      linear-gradient(-45deg, transparent 75%, #f5f5f5 75%) -8px 0;
    background-color: #fafaf7;
    background-size: 16px 16px;
    min-height: 280px;
  }
  .qr-preview-stage canvas {
    background: white;
    padding: 4px;
    box-shadow: 0 6px 24px rgba(94,53,177,0.15);
    border-radius: 6px;
    max-width: 100%;
    height: auto;
  }
  .qr-preview-empty {
    text-align: center;
    color: var(--ink-faded);
  }
  .qr-preview-empty-icon {
    margin: 0 auto 10px;
    opacity: 0.5;
  }
  .qr-preview-empty b { color: var(--ink-soft); }

  .qr-preview-actions {
    padding: 14px 18px;
    border-top: 1px solid var(--border);
    background: var(--bg);
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
  }
  .qr-preview-actions .btn { flex: 1; min-width: 110px; justify-content: center; }

  .qr-sidebar {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 8px;
    box-shadow: var(--shadow);
    padding: 18px;
    height: fit-content;
    position: sticky;
    top: 92px;
  }
  .qr-section-title {
    font-family: 'Poppins', sans-serif;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--ink-faded);
    margin-bottom: 10px;
    margin-top: 18px;
  }
  .qr-section-title:first-child { margin-top: 0; }

  .qr-options {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 6px;
  }
  .qr-option {
    padding: 9px 4px;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: 5px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 500;
    text-align: center;
    transition: all 0.12s;
    font-family: inherit;
    color: var(--ink-soft);
  }
  .qr-option:hover { border-color: var(--border-strong); color: var(--ink); }
  .qr-option.active {
    background: rgba(94,53,177,0.08);
    border-color: #5e35b1;
    color: #5e35b1;
    font-weight: 600;
  }

  .qr-color-row {
    display: flex;
    gap: 10px;
    align-items: center;
  }
  .qr-color-row + .qr-color-row { margin-top: 8px; }
  .qr-color-row label {
    flex: 1;
    font-size: 12.5px;
    color: var(--ink-soft);
  }
  .qr-color-swatches {
    display: flex;
    gap: 4px;
  }
  .qr-color-swatch {
    width: 22px; height: 22px;
    border-radius: 50%;
    cursor: pointer;
    border: 2px solid white;
    box-shadow: 0 0 0 1px var(--border-strong);
    transition: transform 0.12s;
  }
  .qr-color-swatch:hover { transform: scale(1.08); }
  .qr-color-swatch.active {
    transform: scale(1.15);
    box-shadow: 0 0 0 2px var(--ink);
  }
  .qr-color-picker {
    width: 28px; height: 28px;
    border: 1px solid var(--border-strong);
    border-radius: 5px;
    padding: 0;
    cursor: pointer;
    background: transparent;
  }

  .qr-pct-row {
    display: flex;
    gap: 12px;
    align-items: center;
  }
  .qr-pct-row input[type=range] {
    flex: 1;
    accent-color: #5e35b1;
  }
  .qr-pct-value {
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: #5e35b1;
    min-width: 36px;
    text-align: right;
  }

  /* Loading + error states inside the preview stage */
  .qr-loading-spinner {
    width: 38px;
    height: 38px;
    border: 3px solid rgba(94,53,177,0.15);
    border-top-color: #5e35b1;
    border-radius: 50%;
    margin: 0 auto 14px;
    animation: qr-spin 0.7s linear infinite;
  }
  @keyframes qr-spin {
    to { transform: rotate(360deg); }
  }
  .qr-loading-progress {
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    color: var(--ink-faded);
    margin-top: 10px;
    letter-spacing: 0.05em;
  }
  .qr-loading-progress b { color: #5e35b1; font-weight: 600; }
  .qr-error-icon {
    color: var(--accent);
    margin: 0 auto 12px;
  }
  .qr-retry-btn {
    margin-top: 12px;
    background: var(--accent-pale);
    color: var(--accent);
    border: 1px solid rgba(200,16,46,0.25);
    padding: 6px 14px;
    border-radius: 5px;
    cursor: pointer;
    font-family: inherit;
    font-size: 12.5px;
    font-weight: 500;
    transition: all 0.15s;
  }
  .qr-retry-btn:hover {
    background: var(--accent);
    color: white;
    border-color: var(--accent);
  }

  /* ============== IMAGE CROP TOOL ============== */
  .imgcrop-layout {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 16px;
    align-items: start;
  }
  @media (max-width: 980px) {
    .imgcrop-layout { grid-template-columns: 1fr; }
  }
  .imgcrop-stage {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 18px;
    box-shadow: var(--shadow);
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 320px;
    overflow: auto;
  }
  .imgcrop-wrap {
    position: relative;
    display: inline-block;
    max-width: 100%;
    background:
      linear-gradient(45deg, #e8e7e0 25%, transparent 25%) 0 0,
      linear-gradient(-45deg, #e8e7e0 25%, transparent 25%) 0 8px,
      linear-gradient(45deg, transparent 75%, #e8e7e0 75%) 8px -8px,
      linear-gradient(-45deg, transparent 75%, #e8e7e0 75%) -8px 0;
    background-color: #f4f3ee;
    background-size: 16px 16px;
    box-shadow: 0 4px 18px rgba(0,0,0,0.1);
    border-radius: 3px;
  }
  .imgcrop-wrap canvas {
    display: block;
    user-select: none;
    -webkit-user-select: none;
    touch-action: none;
    max-width: 100%;
    height: auto;
  }
  .imgcrop-overlay {
    position: absolute;
    inset: 0;
    pointer-events: none;
  }
  .imgcrop-mask {
    position: absolute;
    background: rgba(10, 10, 14, 0.55);
    pointer-events: auto;
  }
  .imgcrop-box {
    position: absolute;
    border: 2px solid white;
    box-shadow: 0 0 0 1px rgba(0,0,0,0.35), 0 4px 14px rgba(0,0,0,0.2);
    background: transparent;
    cursor: move;
    pointer-events: auto;
    box-sizing: border-box;
    /* Subtle rule-of-thirds grid */
    background-image:
      linear-gradient(to right, rgba(255,255,255,0.25) 0, rgba(255,255,255,0.25) 1px, transparent 1px),
      linear-gradient(to bottom, rgba(255,255,255,0.25) 0, rgba(255,255,255,0.25) 1px, transparent 1px);
    background-size: 33.333% 100%, 100% 33.333%;
    background-position: 33.333% 0, 0 33.333%;
    background-repeat: no-repeat, no-repeat;
  }
  .imgcrop-box::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
      linear-gradient(to right, rgba(255,255,255,0.25) 0, rgba(255,255,255,0.25) 1px, transparent 1px),
      linear-gradient(to bottom, rgba(255,255,255,0.25) 0, rgba(255,255,255,0.25) 1px, transparent 1px);
    background-size: 33.333% 100%, 100% 33.333%;
    background-position: 66.666% 0, 0 66.666%;
    background-repeat: no-repeat, no-repeat;
    pointer-events: none;
  }
  .imgcrop-handle {
    position: absolute;
    width: 14px; height: 14px;
    background: white;
    border: 2px solid var(--accent);
    border-radius: 50%;
    box-shadow: 0 1px 4px rgba(0,0,0,0.25);
    pointer-events: auto;
    z-index: 2;
  }
  .imgcrop-handle.nw { top: -8px; left: -8px;     cursor: nwse-resize; }
  .imgcrop-handle.ne { top: -8px; right: -8px;    cursor: nesw-resize; }
  .imgcrop-handle.sw { bottom: -8px; left: -8px;  cursor: nesw-resize; }
  .imgcrop-handle.se { bottom: -8px; right: -8px; cursor: nwse-resize; }
  .imgcrop-handle.n  { top: -8px; left: 50%; transform: translateX(-50%); cursor: ns-resize; }
  .imgcrop-handle.s  { bottom: -8px; left: 50%; transform: translateX(-50%); cursor: ns-resize; }
  .imgcrop-handle.w  { left: -8px; top: 50%; transform: translateY(-50%); cursor: ew-resize; }
  .imgcrop-handle.e  { right: -8px; top: 50%; transform: translateY(-50%); cursor: ew-resize; }

  .imgcrop-dims-tag {
    position: absolute;
    bottom: -28px;
    left: 0;
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    color: white;
    background: rgba(10, 10, 14, 0.85);
    padding: 3px 8px;
    border-radius: 3px;
    pointer-events: none;
    white-space: nowrap;
  }

  .imgcrop-sidebar {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 8px;
    box-shadow: var(--shadow);
    padding: 18px;
    height: fit-content;
    position: sticky;
    top: 92px;
  }
  .imgcrop-section-title {
    font-family: 'Poppins', sans-serif;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--ink-faded);
    margin-bottom: 10px;
    margin-top: 18px;
  }
  .imgcrop-section-title:first-child { margin-top: 0; }

  .imgcrop-ratios {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
  }
  .imgcrop-ratio {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 10px 6px;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: 5px;
    cursor: pointer;
    transition: all 0.12s;
    font-family: inherit;
  }
  .imgcrop-ratio:hover { border-color: var(--border-strong); }
  .imgcrop-ratio.active {
    background: var(--accent-pale);
    border-color: var(--accent);
    color: var(--accent);
  }
  .imgcrop-ratio-icon {
    background: var(--ink-faded);
    margin-bottom: 5px;
    border-radius: 1px;
    flex-shrink: 0;
  }
  .imgcrop-ratio.active .imgcrop-ratio-icon { background: var(--accent); }
  .imgcrop-ratio-name { font-size: 12px; font-weight: 500; }
  .imgcrop-ratio-val {
    font-family: 'Poppins', sans-serif;
    font-size: 10px;
    color: var(--ink-faded);
    margin-top: 2px;
  }
  .imgcrop-ratio.active .imgcrop-ratio-val { color: var(--accent); }

  .imgcrop-dim-display {
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: 6px;
    padding: 10px 12px;
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    color: var(--ink-soft);
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .imgcrop-dim-display b { color: var(--ink); font-weight: 600; }

  .imgcrop-format-options {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 6px;
  }
  .imgcrop-format-option {
    padding: 9px 8px;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: 5px;
    cursor: pointer;
    font-size: 12.5px;
    font-weight: 500;
    text-align: center;
    transition: all 0.12s;
    font-family: inherit;
    color: var(--ink-soft);
  }
  .imgcrop-format-option:hover { border-color: var(--border-strong); color: var(--ink); }
  .imgcrop-format-option.active {
    background: var(--accent-pale);
    border-color: var(--accent);
    color: var(--accent);
    font-weight: 600;
  }

  .imgcrop-reset-btn {
    width: 100%;
    justify-content: center;
    margin-top: 8px;
  }
  .imgcrop-download-btn {
    width: 100%;
    margin-top: 22px;
    justify-content: center;
    padding: 12px;
    font-size: 14px;
  }

  /* ============== IMAGE RESIZE TOOL ============== */
  .imgr-layout {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 16px;
    align-items: start;
  }
  @media (max-width: 980px) {
    .imgr-layout { grid-template-columns: 1fr; }
  }
  .imgr-preview {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 18px;
    box-shadow: var(--shadow);
  }
  .imgr-view {
    background: #f4f3ee;
    background-image:
      linear-gradient(45deg, #e8e7e0 25%, transparent 25%),
      linear-gradient(-45deg, #e8e7e0 25%, transparent 25%),
      linear-gradient(45deg, transparent 75%, #e8e7e0 75%),
      linear-gradient(-45deg, transparent 75%, #e8e7e0 75%);
    background-size: 16px 16px;
    background-position: 0 0, 0 8px, 8px -8px, -8px 0;
    border: 1px solid var(--border);
    border-radius: 6px;
    min-height: 320px;
    max-height: 60vh;
    overflow: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
  }
  .imgr-view img {
    max-width: 100%;
    max-height: 55vh;
    display: block;
    box-shadow: 0 4px 16px rgba(0,0,0,0.12);
    border-radius: 3px;
  }
  .imgr-meta {
    margin-top: 14px;
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    font-family: 'Poppins', sans-serif;
    font-size: 12.5px;
    color: var(--ink-soft);
  }
  .imgr-meta-row { display: flex; align-items: center; gap: 8px; }
  .imgr-meta b { color: var(--ink); font-weight: 600; }
  .imgr-arrow {
    color: var(--accent);
    font-weight: 700;
  }
  .imgr-meta-tag {
    background: var(--accent-pale);
    color: var(--accent);
    border: 1px solid rgba(200,16,46,0.25);
    padding: 2px 8px;
    border-radius: 100px;
    font-weight: 600;
    font-size: 11px;
    letter-spacing: 0.05em;
  }

  .imgr-sidebar {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 8px;
    box-shadow: var(--shadow);
    padding: 18px;
    height: fit-content;
    position: sticky;
    top: 92px;
  }
  .imgr-section-title {
    font-family: 'Poppins', sans-serif;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--ink-faded);
    margin-bottom: 10px;
    margin-top: 18px;
  }
  .imgr-section-title:first-child { margin-top: 0; }

  .imgr-presets {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4px;
  }
  .imgr-preset {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 9px 12px;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: 5px;
    cursor: pointer;
    font-family: inherit;
    text-align: left;
    transition: all 0.12s;
    font-size: 13px;
  }
  .imgr-preset:hover { border-color: var(--border-strong); }
  .imgr-preset.active {
    background: var(--accent-pale);
    border-color: var(--accent);
    color: var(--accent);
  }
  .imgr-preset-name { font-weight: 500; }
  .imgr-preset-dims {
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    color: var(--ink-faded);
  }
  .imgr-preset.active .imgr-preset-dims { color: var(--accent); }

  .imgr-mode-tabs {
    display: flex;
    gap: 4px;
    padding: 3px;
    background: var(--bg);
    border-radius: 6px;
    margin-bottom: 10px;
  }
  .imgr-mode-tab {
    flex: 1;
    background: transparent;
    border: none;
    padding: 7px 10px;
    cursor: pointer;
    font-family: inherit;
    font-size: 12px;
    font-weight: 500;
    color: var(--ink-soft);
    border-radius: 4px;
    transition: all 0.12s;
  }
  .imgr-mode-tab:hover { color: var(--ink); }
  .imgr-mode-tab.active {
    background: white;
    color: var(--accent);
    box-shadow: 0 1px 3px rgba(0,0,0,0.08);
  }

  .imgr-dim-row {
    display: flex;
    gap: 8px;
    align-items: center;
  }
  .imgr-dim-row input[type=number] {
    flex: 1;
    width: 100%;
    border: 1px solid var(--border-strong);
    background: white;
    padding: 8px 10px;
    border-radius: 5px;
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
  }
  .imgr-dim-row input:focus { outline: none; border-color: var(--accent); }
  .imgr-dim-x { color: var(--ink-faded); font-family: 'Poppins', sans-serif; }

  .imgr-pct-row {
    display: flex;
    gap: 12px;
    align-items: center;
  }
  .imgr-pct-row input[type=range] {
    flex: 1;
    accent-color: var(--accent);
  }
  .imgr-pct-value {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    color: var(--accent);
    min-width: 50px;
    text-align: right;
  }

  .imgr-lock-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
    font-size: 12px;
    color: var(--ink-soft);
    cursor: pointer;
    user-select: none;
  }
  .imgr-lock-row input { accent-color: var(--accent); cursor: pointer; }

  .imgr-format-options {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 6px;
  }
  .imgr-format-option {
    padding: 9px 8px;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: 5px;
    cursor: pointer;
    font-size: 12.5px;
    font-weight: 500;
    text-align: center;
    transition: all 0.12s;
    font-family: inherit;
    color: var(--ink-soft);
  }
  .imgr-format-option:hover { border-color: var(--border-strong); color: var(--ink); }
  .imgr-format-option.active {
    background: var(--accent-pale);
    border-color: var(--accent);
    color: var(--accent);
    font-weight: 600;
  }

  .imgr-download-btn {
    width: 100%;
    margin-top: 22px;
    justify-content: center;
    padding: 12px;
    font-size: 14px;
  }

  /* ============== IMAGE COMPRESS TOOL ============== */
  .imgc-layout {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 16px;
    align-items: start;
  }
  @media (max-width: 980px) {
    .imgc-layout { grid-template-columns: 1fr; }
  }
  .imgc-compare {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 18px;
    box-shadow: var(--shadow);
  }
  .imgc-compare-tabs {
    display: flex;
    gap: 4px;
    margin-bottom: 14px;
    padding: 4px;
    background: var(--bg);
    border-radius: 6px;
    width: fit-content;
  }
  .imgc-tab {
    background: transparent;
    border: none;
    padding: 7px 14px;
    cursor: pointer;
    font-family: inherit;
    font-size: 12.5px;
    font-weight: 500;
    color: var(--ink-soft);
    border-radius: 4px;
    transition: all 0.12s;
  }
  .imgc-tab:hover { color: var(--ink); }
  .imgc-tab.active {
    background: white;
    color: var(--accent);
    box-shadow: 0 1px 3px rgba(0,0,0,0.08);
  }

  .imgc-view {
    background: #f4f3ee;
    background-image:
      linear-gradient(45deg, #e8e7e0 25%, transparent 25%),
      linear-gradient(-45deg, #e8e7e0 25%, transparent 25%),
      linear-gradient(45deg, transparent 75%, #e8e7e0 75%),
      linear-gradient(-45deg, transparent 75%, #e8e7e0 75%);
    background-size: 16px 16px;
    background-position: 0 0, 0 8px, 8px -8px, -8px 0;
    border: 1px solid var(--border);
    border-radius: 6px;
    min-height: 320px;
    max-height: 60vh;
    overflow: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
  }
  .imgc-view img {
    max-width: 100%;
    max-height: 55vh;
    display: block;
    box-shadow: 0 4px 16px rgba(0,0,0,0.12);
    border-radius: 3px;
  }
  .imgc-view-empty {
    color: var(--ink-faded);
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    text-align: center;
  }

  .imgc-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-top: 14px;
  }
  .imgc-stat {
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: 7px;
    padding: 12px 14px;
    text-align: center;
  }
  .imgc-stat-label {
    font-family: 'Poppins', sans-serif;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--ink-faded);
    margin-bottom: 4px;
  }
  .imgc-stat-value {
    font-size: 17px;
    font-weight: 600;
    letter-spacing: -0.01em;
  }
  .imgc-stat-value.saved { color: #2e7d32; }
  .imgc-stat-value.saved.bad { color: var(--accent); }

  .imgc-sidebar {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 8px;
    box-shadow: var(--shadow);
    padding: 18px;
    height: fit-content;
    position: sticky;
    top: 92px;
  }
  .imgc-section-title {
    font-family: 'Poppins', sans-serif;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--ink-faded);
    margin-bottom: 10px;
    margin-top: 18px;
  }
  .imgc-section-title:first-child { margin-top: 0; }

  .imgc-quality-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 6px;
  }
  .imgc-quality-row input[type=range] {
    flex: 1;
    accent-color: var(--accent);
  }
  .imgc-quality-value {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: var(--accent);
    min-width: 38px;
    text-align: right;
  }
  .imgc-quality-hint {
    font-size: 11px;
    color: var(--ink-faded);
    margin-bottom: 4px;
  }

  .imgc-options {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 6px;
  }
  .imgc-option {
    padding: 9px 8px;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: 5px;
    cursor: pointer;
    font-size: 12.5px;
    font-weight: 500;
    text-align: center;
    transition: all 0.12s;
    font-family: inherit;
    color: var(--ink-soft);
  }
  .imgc-option:hover { border-color: var(--border-strong); color: var(--ink); }
  .imgc-option.active {
    background: var(--accent-pale);
    border-color: var(--accent);
    color: var(--accent);
    font-weight: 600;
  }

  .imgc-resize-row {
    display: flex;
    gap: 8px;
    align-items: center;
  }
  .imgc-resize-row input[type=number] {
    flex: 1;
    width: 100%;
    border: 1px solid var(--border-strong);
    background: white;
    padding: 7px 9px;
    border-radius: 5px;
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
  }
  .imgc-resize-row input:focus { outline: none; border-color: var(--accent); }
  .imgc-resize-x {
    color: var(--ink-faded);
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
  }

  .imgc-lock-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 6px;
    font-size: 12px;
    color: var(--ink-soft);
    cursor: pointer;
    user-select: none;
  }
  .imgc-lock-row input { accent-color: var(--accent); cursor: pointer; }

  .imgc-download-btn {
    width: 100%;
    margin-top: 22px;
    justify-content: center;
    padding: 12px;
    font-size: 14px;
  }

  /* ============== UPDATES PAGE ============== */
  .header-update-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--accent);
    margin-right: 6px;
    vertical-align: 1px;
    box-shadow: 0 0 0 0 rgba(200, 16, 46, 0.55);
    animation: update-pulse 2.2s ease-out infinite;
  }
  @keyframes update-pulse {
    0%   { box-shadow: 0 0 0 0 rgba(200,16,46,0.55); }
    70%  { box-shadow: 0 0 0 8px rgba(200,16,46,0); }
    100% { box-shadow: 0 0 0 0 rgba(200,16,46,0); }
  }
  #header-updates-link.has-update {
    color: var(--accent);
    font-weight: 600;
  }

  /* Header notification bell — opens the Updates page; badge pulses when an update is available. */
  .header-bell { position: relative; flex: 0 0 auto; }
  .header-bell-badge {
    position: absolute;
    top: 3px;
    right: 3px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--accent);
    box-shadow: 0 0 0 0 rgba(200,16,46,0.55);
    animation: update-pulse 2.2s ease-out infinite;
    pointer-events: none;
  }

  .updates-wrap {
    max-width: 780px;
    margin: 0 auto;
  }
  .updates-status-card {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 30px;
    box-shadow: var(--shadow);
    margin-bottom: 26px;
    position: relative;
    overflow: hidden;
  }
  .updates-status-card.uptodate {
    background: linear-gradient(135deg, #e8f5e9 0%, #f1f8e9 100%);
    border-color: #a5d6a7;
  }
  .updates-status-card.has-update {
    background: linear-gradient(135deg, var(--accent-pale) 0%, #fff5e6 100%);
    border-color: rgba(200,16,46,0.3);
  }
  .updates-status-card.checking {
    background: var(--bg);
  }
  .updates-status-card.failed {
    background: #fff8e1;
    border-color: #f0d68a;
  }

  .updates-status-icon {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    margin-bottom: 16px;
    flex-shrink: 0;
  }
  .uptodate .updates-status-icon { background: #2e7d32; color: white; }
  .has-update .updates-status-icon { background: var(--accent); color: white; }
  .checking .updates-status-icon { background: var(--accent-pale); color: var(--accent); }
  .failed .updates-status-icon { background: #fff3e0; color: #b8923a; }

  .updates-status-title {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.02em;
    margin-bottom: 6px;
  }
  .uptodate .updates-status-title { color: #1b5e20; }
  .has-update .updates-status-title { color: var(--accent); }
  .updates-status-message {
    font-size: 15px;
    color: var(--ink-soft);
    line-height: 1.6;
    margin-bottom: 22px;
  }
  .updates-status-message b { color: var(--ink); }

  .updates-version-pair {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: white;
    border: 1px solid var(--border);
    padding: 8px 18px;
    border-radius: 100px;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    margin-bottom: 22px;
  }
  .updates-version-pair .from { color: var(--ink-soft); }
  .updates-version-pair .arrow { color: var(--accent); font-weight: 700; }
  .updates-version-pair .to { color: var(--accent); font-weight: 700; }

  .updates-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--ink);
    color: white;
    padding: 13px 24px;
    border-radius: 7px;
    font-weight: 500;
    text-decoration: none;
    font-size: 14px;
    font-family: inherit;
    cursor: pointer;
    transition: all 0.18s;
    border: 1px solid var(--ink);
  }
  .has-update .updates-cta {
    background: var(--accent);
    border-color: var(--accent);
    box-shadow: 0 4px 14px rgba(200,16,46,0.25);
  }
  .updates-cta:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 22px rgba(200,16,46,0.35);
    background: var(--accent);
    border-color: var(--accent);
  }
  .updates-cta-arrow { transition: transform 0.18s; }
  .updates-cta:hover .updates-cta-arrow { transform: translateX(3px); }

  .updates-card {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 10px;
    box-shadow: var(--shadow);
    overflow: hidden;
    margin-bottom: 20px;
  }
  .updates-card-header {
    padding: 16px 22px;
    border-bottom: 1px solid var(--border);
    background: var(--bg);
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .updates-card-title {
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--ink-faded);
  }
  .updates-card-body { padding: 4px 22px; }

  .updates-lib-row {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 80px;
    align-items: center;
    padding: 14px 0;
    border-bottom: 1px solid var(--border);
    font-size: 14px;
    gap: 12px;
  }
  .updates-lib-row:last-child { border-bottom: none; }
  .updates-lib-name {
    font-weight: 500;
    color: var(--ink);
    display: flex;
    align-items: center;
    gap: 8px;
  }
  .updates-lib-name code,
  .updates-lib-src {
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    color: var(--ink-faded);
    background: var(--bg);
    padding: 1px 6px;
    border-radius: 3px;
  }
  .updates-lib-src {
    text-decoration: none;
    transition: color .15s ease;
  }
  .updates-lib-src:hover { color: var(--accent); }
  .updates-lib-version {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    color: var(--ink-soft);
  }
  .updates-lib-version.latest { color: var(--accent); font-weight: 600; }
  .updates-lib-status {
    text-align: right;
    font-family: 'Poppins', sans-serif;
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 3px 9px;
    border-radius: 100px;
    justify-self: end;
  }
  .updates-lib-status.current  { background: #e8f5e9; color: #2e7d32; border: 1px solid #a5d6a7; }
  .updates-lib-status.outdated { background: var(--accent-pale); color: var(--accent); border: 1px solid rgba(200,16,46,0.3); }
  .updates-lib-status.unknown  { background: var(--bg); color: var(--ink-faded); border: 1px solid var(--border); }
  @media (max-width: 640px) {
    .updates-lib-row {
      grid-template-columns: 1fr;
      gap: 4px;
    }
    .updates-lib-status { justify-self: start; }
  }

  .updates-setting-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 0;
    border-bottom: 1px solid var(--border);
  }
  .updates-setting-row:last-child { border-bottom: none; }
  .updates-setting-label { flex: 1; }
  .updates-setting-name {
    font-weight: 500;
    color: var(--ink);
    font-size: 14px;
    margin-bottom: 2px;
  }
  .updates-setting-desc {
    font-size: 12.5px;
    color: var(--ink-soft);
  }
  .updates-toggle {
    position: relative;
    width: 38px; height: 22px;
    background: var(--border-strong);
    border-radius: 100px;
    cursor: pointer;
    transition: background 0.2s;
    flex-shrink: 0;
  }
  .updates-toggle.on { background: var(--accent); }
  .updates-toggle::after {
    content: '';
    position: absolute;
    width: 16px; height: 16px;
    top: 3px; left: 3px;
    background: white;
    border-radius: 50%;
    transition: transform 0.2s;
    box-shadow: 0 1px 3px rgba(0,0,0,0.2);
  }
  .updates-toggle.on::after { transform: translateX(16px); }

  .updates-meta {
    font-family: 'Poppins', sans-serif;
    font-size: 11.5px;
    color: var(--ink-faded);
    letter-spacing: 0.05em;
  }
  .updates-meta b { color: var(--ink-soft); font-weight: 600; }

  .updates-spinner {
    width: 28px; height: 28px;
    border: 3px solid var(--accent-pale);
    border-top-color: var(--accent);
    border-radius: 50%;
    margin: 0 auto;
    animation: qr-spin 0.7s linear infinite;
  }

  /* ============== CHANGELOG PAGE ============== */
  .changelog-wrap {
    max-width: 780px;
    margin: 0 auto;
  }
  .changelog-hero {
    text-align: center;
    padding: 44px 24px 36px;
    background: linear-gradient(180deg, var(--accent-pale) 0%, transparent 80%);
    border-radius: 14px;
    margin-bottom: 36px;
    border: 1px solid rgba(200,16,46,0.08);
  }
  .changelog-hero h2 {
    font-size: 38px;
    font-weight: 700;
    letter-spacing: -0.03em;
    margin-bottom: 10px;
    line-height: 1.05;
  }
  .changelog-hero p {
    font-size: 15.5px;
    color: var(--ink-soft);
    max-width: 520px;
    margin: 0 auto;
    line-height: 1.55;
  }
  .changelog-version-line {
    margin-top: 18px;
    font-family: 'Poppins', sans-serif;
    color: var(--ink-faded);
    font-size: 12px;
    letter-spacing: 0.08em;
  }
  .changelog-version-line b {
    color: var(--accent);
    font-weight: 600;
  }

  .changelog-timeline {
    position: relative;
    padding-left: 26px;
  }
  .changelog-timeline::before {
    content: '';
    position: absolute;
    left: 7px; top: 8px; bottom: 8px;
    width: 2px;
    background: linear-gradient(180deg, var(--accent) 0%, var(--border-strong) 100%);
    border-radius: 1px;
  }
  .changelog-entry {
    position: relative;
    margin-bottom: 32px;
  }
  .changelog-entry:last-child { margin-bottom: 0; }
  .changelog-entry::before {
    content: '';
    position: absolute;
    left: -26px;
    top: 6px;
    width: 16px; height: 16px;
    border-radius: 50%;
    background: white;
    border: 3px solid var(--border-strong);
  }
  .changelog-entry.current::before {
    border-color: var(--accent);
    background: var(--accent);
    box-shadow: 0 0 0 4px var(--accent-pale);
  }
  .changelog-entry-header {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin-bottom: 10px;
    flex-wrap: wrap;
  }
  /* Collapsible entries (only once JS has enhanced the timeline) */
  .changelog-timeline.is-collapsible .changelog-entry-header {
    cursor: pointer;
    user-select: none;
    padding-right: 4px;
  }
  .changelog-timeline.is-collapsible .changelog-entry-header::after {
    content: '\25B8';            /* ▸ — same chevron glyph as resume.js .cv-acc */
    margin-left: auto;           /* push to far right of the header row */
    align-self: center;          /* override header's align-items:baseline so the rotated glyph holds steady */
    color: var(--ink-faded);
    font-size: 13px;
    transition: transform .15s ease;
    transform: rotate(0deg);
  }
  .changelog-timeline.is-collapsible .changelog-entry:not(.collapsed) .changelog-entry-header::after {
    transform: rotate(90deg);    /* expanded → points down */
  }
  .changelog-timeline.is-collapsible .changelog-entry-header:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 3px;
    border-radius: 6px;
  }
  /* Collapsed: keep header + headline, hide only the detail list */
  .changelog-timeline.is-collapsible .changelog-entry.collapsed .changelog-list {
    display: none;
  }
  .changelog-timeline.is-collapsible .changelog-entry.collapsed .changelog-headline {
    margin-bottom: 0;            /* trim trailing gap when no list follows */
  }
  @media print {
    .changelog-timeline.is-collapsible .changelog-entry .changelog-list { display: block !important; }
    .changelog-timeline.is-collapsible .changelog-entry-header::after { display: none; }
  }
  .changelog-version {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--ink);
    font-family: 'Poppins', sans-serif;
  }
  .changelog-entry.current .changelog-version { color: var(--accent); }
  .changelog-date {
    font-family: 'Poppins', sans-serif;
    font-size: 11.5px;
    color: var(--ink-faded);
    letter-spacing: 0.05em;
  }
  .changelog-tag {
    background: var(--accent);
    color: white;
    font-family: 'Poppins', sans-serif;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.1em;
    padding: 3px 9px;
    border-radius: 100px;
    text-transform: uppercase;
  }
  .changelog-headline {
    font-size: 15px;
    font-weight: 600;
    color: var(--ink);
    margin-bottom: 10px;
    letter-spacing: -0.005em;
  }
  .changelog-list {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 9px;
    padding: 4px 18px;
    box-shadow: var(--shadow);
  }
  .changelog-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 11px 0;
    border-bottom: 1px solid var(--border);
    font-size: 14px;
    color: var(--ink-soft);
    line-height: 1.55;
  }
  .changelog-item:last-child { border-bottom: none; }
  .changelog-item b { color: var(--ink); font-weight: 600; }
  .changelog-badge {
    flex-shrink: 0;
    font-family: 'Poppins', sans-serif;
    font-size: 9.5px;
    font-weight: 600;
    letter-spacing: 0.1em;
    padding: 2px 7px;
    border-radius: 3px;
    text-transform: uppercase;
    line-height: 1.5;
    margin-top: 1px;
    min-width: 56px;
    text-align: center;
  }
  .changelog-badge.new { background: #e8f5e9; color: #2e7d32; border: 1px solid #a5d6a7; }
  .changelog-badge.fix { background: #fff3e0; color: #b8923a; border: 1px solid #ffcc80; }
  .changelog-badge.imp { background: #e3f2fd; color: #1565c0; border: 1px solid #90caf9; }
  .changelog-badge.brk { background: var(--accent-pale); color: var(--accent); border: 1px solid rgba(200,16,46,0.3); }

  .changelog-footer {
    text-align: center;
    margin-top: 40px;
    padding: 28px 20px;
    color: var(--ink-faded);
    font-size: 13px;
  }
  .changelog-footer b { color: var(--ink); }
  .changelog-footer a {
    color: var(--accent);
    text-decoration: none;
    border-bottom: 1px solid rgba(200,16,46,0.3);
  }
  .changelog-footer a:hover { border-bottom-color: var(--accent); }

  @media (max-width: 640px) {
    .changelog-hero { padding: 32px 18px 28px; }
    .changelog-hero h2 { font-size: 28px; }
    .changelog-version { font-size: 18px; }
  }

  /* ============== ABOUT PAGE ============== */
  .about-wrap {
    max-width: 780px;
    margin: 0 auto;
  }
  .about-hero {
    text-align: center;
    padding: 56px 24px 56px;
    background: linear-gradient(180deg, var(--accent-pale) 0%, transparent 80%);
    border-radius: 14px;
    margin-bottom: 48px;
    border: 1px solid rgba(200,16,46,0.08);
  }
  .about-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.22em;
    color: var(--accent);
    background: white;
    border: 1px solid rgba(200,16,46,0.25);
    padding: 6px 14px;
    border-radius: 100px;
    margin-bottom: 20px;
    text-transform: uppercase;
  }
  .about-badge-dot {
    width: 6px; height: 6px;
    background: var(--accent);
    border-radius: 50%;
    box-shadow: 0 0 0 3px rgba(200,16,46,0.15);
  }
  .about-hero h2 {
    font-size: 44px;
    font-weight: 700;
    letter-spacing: -0.03em;
    margin-bottom: 14px;
    line-height: 1.05;
  }
  .about-hero h2 .accent { color: var(--accent); }
  .about-lead {
    font-size: 18px;
    color: var(--ink-soft);
    max-width: 520px;
    margin: 0 auto 28px;
    line-height: 1.55;
  }
  .about-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--ink);
    color: white;
    padding: 13px 26px;
    border-radius: 7px;
    font-weight: 500;
    text-decoration: none;
    font-size: 14px;
    transition: all 0.18s;
    border: 1px solid var(--ink);
  }
  .about-cta:hover {
    background: var(--accent);
    border-color: var(--accent);
    transform: translateY(-1px);
    box-shadow: 0 8px 22px rgba(200,16,46,0.28);
  }
  .about-cta-arrow {
    display: inline-block;
    transition: transform 0.18s;
  }
  .about-cta:hover .about-cta-arrow { transform: translateX(3px); }

  .about-section { margin-bottom: 44px; }
  .about-section h2 {
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 14px;
    letter-spacing: -0.015em;
    display: flex;
    align-items: center;
    gap: 12px;
  }
  .about-section h2::before {
    content: '';
    width: 4px;
    height: 22px;
    background: var(--accent);
    border-radius: 2px;
  }
  .about-section p {
    color: var(--ink-soft);
    font-size: 15.5px;
    line-height: 1.75;
    margin-bottom: 14px;
  }
  .about-section p b { color: var(--ink); font-weight: 600; }
  .about-section a {
    color: var(--accent);
    text-decoration: none;
    border-bottom: 1px solid rgba(200,16,46,0.3);
    transition: border-color 0.15s;
  }
  .about-section a:hover { border-bottom-color: var(--accent); }

  .about-pillars {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 14px;
    margin: 22px 0 8px;
  }
  .about-pillar {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 22px;
    transition: border-color 0.15s, transform 0.15s;
  }
  .about-pillar:hover { border-color: var(--accent); transform: translateY(-2px); }
  .about-pillar-icon {
    width: 40px; height: 40px;
    background: var(--accent-pale);
    color: var(--accent);
    border-radius: 9px;
    display: grid;
    place-items: center;
    margin-bottom: 14px;
  }
  .about-pillar h3 {
    font-size: 15px;
    font-weight: 600;
    margin-bottom: 6px;
    letter-spacing: -0.01em;
  }
  .about-pillar p {
    font-size: 13.5px;
    color: var(--ink-soft);
    line-height: 1.55;
    margin: 0;
  }

  .about-libs {
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 8px 22px;
    margin: 18px 0;
  }
  .about-lib {
    display: flex;
    align-items: baseline;
    gap: 16px;
    padding: 12px 0;
    font-size: 14.5px;
    color: var(--ink-soft);
    border-bottom: 1px solid var(--border);
  }
  .about-lib:last-child { border-bottom: none; }
  .about-lib code {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    color: var(--accent);
    flex-shrink: 0;
    min-width: 90px;
    font-size: 13px;
  }

  .about-checklist { list-style: none; padding: 0; margin: 16px 0; }
  .about-checklist li {
    padding: 10px 0 10px 32px;
    position: relative;
    color: var(--ink-soft);
    font-size: 15px;
    line-height: 1.55;
  }
  .about-checklist li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 13px;
    width: 18px;
    height: 18px;
    background: var(--accent-pale);
    border: 1px solid var(--accent);
    border-radius: 50%;
  }
  .about-checklist li::after {
    content: '✓';
    position: absolute;
    left: 4px;
    top: 9px;
    color: var(--accent);
    font-weight: 700;
    font-size: 13px;
  }
  .about-checklist li b { color: var(--ink); font-weight: 600; }

  .about-footer {
    text-align: center;
    padding: 48px 24px;
    background: var(--ink);
    color: white;
    border-radius: 14px;
    margin-top: 52px;
    background-image:
      radial-gradient(ellipse at top, rgba(200,16,46,0.25), transparent 60%);
  }
  .about-footer h3 {
    font-size: 26px;
    font-weight: 600;
    margin-bottom: 10px;
    letter-spacing: -0.02em;
  }
  .about-footer p {
    color: rgba(255,255,255,0.65);
    font-size: 15px;
    margin-bottom: 24px;
    max-width: 440px;
    margin-left: auto;
    margin-right: auto;
  }
  .about-footer-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: white;
    color: var(--ink);
    padding: 13px 26px;
    border-radius: 7px;
    font-weight: 600;
    text-decoration: none;
    font-size: 14px;
    transition: all 0.18s;
  }
  .about-footer-cta:hover {
    background: var(--accent);
    color: white;
    transform: translateY(-1px);
    box-shadow: 0 8px 22px rgba(200,16,46,0.4);
  }
  .about-footer-cta:hover .about-cta-arrow { transform: translateX(3px); }

  .about-meta {
    text-align: center;
    margin-top: 32px;
    color: var(--ink-faded);
    font-size: 13px;
    font-family: 'Poppins', sans-serif;
  }
  .about-meta a {
    color: var(--ink-soft);
    text-decoration: none;
    border-bottom: 1px dotted var(--border-strong);
  }
  .about-meta a:hover { color: var(--accent); border-bottom-color: var(--accent); }

  @media (max-width: 640px) {
    .about-hero { padding: 40px 18px; }
    .about-hero h2 { font-size: 32px; }
    .about-lead { font-size: 16px; }
    .about-footer { padding: 36px 18px; }
    .about-footer h3 { font-size: 22px; }
  }

  /* ============== STATUS TOAST ============== */
  .status {
    position: fixed;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%) translateY(20px);
    background: var(--ink);
    color: white;
    padding: 10px 18px;
    border-radius: 6px;
    font-size: 13px;
    font-family: 'Poppins', sans-serif;
    opacity: 0;
    pointer-events: none;
    transition: all 0.25s;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
    z-index: 200;
  }
  .status.show { opacity: 1; transform: translateX(-50%) translateY(0); }
  .status.error { background: var(--accent); }
  .status.success { background: #2e7d32; }
  .status svg { flex: none; }

  /* Inline SVG icon placeholders (data-icon) that replaced the former emoji/glyphs */
  .ic { display: inline-flex; align-items: center; vertical-align: -0.15em; }
  .ic svg { display: block; }
  .instructions .ic { color: var(--accent); flex: none; }

  /* ============== BACK-TO-TOP BUTTON ============== */
  .back-to-top {
    position: fixed;
    right: 24px;
    bottom: 24px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--accent);
    color: #fff;
    border: none;
    cursor: pointer;
    box-shadow: var(--shadow-lg);
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity 0.25s, transform 0.25s, visibility 0.25s, background 0.15s;
    z-index: 80;
  }
  .back-to-top.show { opacity: 1; visibility: visible; transform: translateY(0); }
  .back-to-top:hover { background: var(--accent-dark); }
  @media (max-width: 760px) {
    .back-to-top { right: 16px; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); width: 42px; height: 42px; }
  }

  .hidden { display: none !important; }

  /* ============== RESPONSIVE / MOBILE ============== */
  @media (max-width: 760px) {
    /* --- Compact header --- */
    header { padding: 10px 14px; gap: 10px; }
    .brand-icon { width: 30px; height: 30px; }
    .brand-text { font-size: 15px; }
    .brand-text small { display: none; }
    .tools-trigger { margin-left: auto; padding: 8px 12px; }
    .header-link { display: none !important; }
    .header-download { padding: 9px; gap: 0; }
    .header-download .hd-label { display: none; }
    main { padding: 18px 16px; }
    .tool-title { font-size: 22px; }
    .tool-subtitle { font-size: 14px; }
    .tool-header { flex-wrap: wrap; }
    .tool-header-right { width: 100%; flex-wrap: wrap; }
    .tool-header-actions { width: auto; justify-content: flex-start; padding-top: 2px; }

    /* --- Mega menu → bottom drawer --- */
    body.menu-open { overflow: hidden; }
    .megamenu {
      top: auto;
      bottom: 0;
      left: 0;
      right: 0;
      width: 100%;
      max-width: 100%;
      max-height: 86vh;
      transform: translateX(0) translateY(100%);
      border-radius: 18px 18px 0 0;
      border-bottom: none;
      overflow: hidden;
      display: flex;
      flex-direction: column;
      transition: transform 0.3s cubic-bezier(0.32, 0.72, 0, 1), opacity 0.2s;
      padding-bottom: env(safe-area-inset-bottom, 0px);
    }
    .megamenu.open { transform: translateX(0) translateY(0); }
    /* grab handle */
    .megamenu::before {
      content: '';
      flex: none;
      width: 38px;
      height: 4px;
      margin: 10px auto 2px;
      background: var(--border-strong);
      border-radius: 100px;
    }

    .mm-search {
      display: flex;
      align-items: center;
      gap: 9px;
      flex: none;
      margin: 8px 14px 6px;
      padding: 10px 12px;
      background: var(--bg);
      border: 1px solid var(--border);
      border-radius: 9px;
    }
    .mm-search svg { color: var(--ink-faded); flex: none; }
    .mm-search input {
      border: 0;
      background: transparent;
      outline: none;
      width: 100%;
      font-family: inherit;
      font-size: 16px; /* >=16px avoids iOS focus-zoom */
      color: var(--ink);
    }

    /* Mobile drawer: the desktop sidebar/right-pane split collapses back to a
       single flat A→Z list. display:contents removes the .mm-body wrapper from
       layout so the (hidden) tabs, the grid and the search/footer flow as direct
       children of the bottom-drawer flex column, exactly as before. */
    .mm-body { display: contents; }
    .mm-tabs { display: none; }

    .mm-grid {
      flex: 1;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      grid-template-columns: 1fr;
      gap: 2px;
      padding: 6px 12px calc(28px + env(safe-area-inset-bottom, 0px));
    }
    .mm-item { padding: 11px 10px; }
    .mm-footer { display: none; }

    /* --- Footer --- */
    .site-footer { padding: 20px 16px; }
    .footer-inner { flex-direction: column; align-items: flex-start; gap: 12px; }
  }

  @media (max-width: 420px) {
    .mm-grid { grid-template-columns: 1fr; }
    .brand-version { display: none; }
  }

/* ============================================================
   HOME — the tool-index landing page at /
   ============================================================ */
body.home-active .tool-header { display: none; }

.home-hero { text-align: center; padding: 16px 0 24px; }
.home-hero-eyebrow {
  font-family: 'Poppins', sans-serif;
  font-size: 11px; font-weight: 600; text-transform: uppercase;
  letter-spacing: 0.18em; color: var(--accent); margin-bottom: 12px;
}
.home-hero-title { font-size: 40px; font-weight: 700; letter-spacing: -0.03em; line-height: 1.05; margin: 0 0 12px; }
.home-hero-title span { color: var(--accent); }
.home-hero-sub { font-size: 16px; color: var(--ink-soft); max-width: 640px; margin: 0 auto 18px; line-height: 1.55; }
.home-hero-sub b { color: var(--ink); font-weight: 600; }
.home-hero-chips { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.home-prop {
  display: inline-flex; align-items: center; gap: 7px;
  font-size: 12.5px; font-weight: 500; color: var(--ink-soft);
  background: var(--panel); border: 1px solid var(--border); border-radius: 100px; padding: 7px 13px;
}
.home-prop svg { width: 14px; height: 14px; color: var(--accent); flex: none; }

.home-controls {
  position: sticky; top: 60px; z-index: 40;
  background: var(--bg); padding: 14px 0 12px; margin-bottom: 6px; border-bottom: 1px solid var(--border);
}
.home-search-wrap { position: relative; max-width: 640px; margin: 0 auto; }
.home-search-icon { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); width: 18px; height: 18px; color: var(--ink-faded); pointer-events: none; }
.home-search-input {
  width: 100%; box-sizing: border-box; padding: 13px 16px 13px 44px;
  font-family: inherit; font-size: 15px; color: var(--ink);
  background: var(--panel); border: 1px solid var(--border-strong); border-radius: 10px;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.home-search-input::placeholder { color: var(--ink-faded); }
.home-search-input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-pale); }
.home-chips { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; margin-top: 12px; }
.home-chip {
  display: inline-flex; align-items: center; gap: 7px; padding: 7px 13px; border-radius: 100px;
  border: 1px solid var(--border); background: var(--panel); font-family: inherit;
  font-size: 12.5px; font-weight: 500; color: var(--ink-soft); cursor: pointer; transition: all 0.15s;
}
.home-chip:hover { border-color: var(--ink-soft); color: var(--ink); }
.home-chip.active { background: var(--accent-pale); color: var(--accent); border-color: rgba(200,16,46,0.25); font-weight: 600; }
.home-chip svg { width: 13px; height: 13px; flex: none; }
.home-chip-count { font-size: 11px; font-weight: 600; color: var(--ink-faded); }
.home-chip.active .home-chip-count { color: var(--accent); }

.home-section { margin-top: 38px; scroll-margin-top: 150px; }
.home-section:first-child { margin-top: 26px; }
.home-section-head { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.home-section-icon { width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; background: var(--accent-pale); color: var(--accent); flex: none; }
.home-section-title { font-size: 19px; font-weight: 600; letter-spacing: -0.015em; margin: 0; }
.home-section-count { font-size: 12px; font-weight: 600; color: var(--ink-faded); background: var(--bg); border: 1px solid var(--border); border-radius: 100px; padding: 2px 9px; }

.home-cat-label {
  font-family: 'Poppins', sans-serif;
  font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.15em;
  color: var(--cat, var(--ink-soft)); margin: 18px 0 10px; display: flex; align-items: center; gap: 8px;
}
.home-cat-label::before { content: ''; width: 8px; height: 8px; border-radius: 2px; background: var(--cat, var(--ink-faded)); flex: none; }
.home-section-head + .home-cat-label { margin-top: 0; }

.home-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }

.home-card {
  display: flex; gap: 13px; align-items: flex-start; text-align: left; width: 100%; font-family: inherit;
  background: var(--panel); border: 1px solid var(--border); border-radius: 12px; padding: 15px;
  cursor: pointer; box-shadow: var(--shadow);
  transition: border-color 0.15s, transform 0.15s, box-shadow 0.15s;
}
.home-card:hover { border-color: var(--cat, var(--accent)); transform: translateY(-3px); box-shadow: var(--shadow-lg); }
.home-card:focus-visible { outline: 2px solid var(--cat, var(--accent)); outline-offset: 2px; }
.home-card-icon {
  width: 40px; height: 40px; border-radius: 10px; display: grid; place-items: center; flex: none;
  background: color-mix(in srgb, var(--cat, var(--accent)) 12%, transparent); color: var(--cat, var(--accent));
  transition: transform 0.15s;
}
.home-card:hover .home-card-icon { transform: scale(1.06); }
.home-card-body { min-width: 0; flex: 1; }
.home-card-name { font-size: 14.5px; font-weight: 600; letter-spacing: -0.01em; color: var(--ink); display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.home-card-name mark { background: color-mix(in srgb, var(--accent) 18%, transparent); color: inherit; border-radius: 3px; padding: 0 1px; }
.home-card-sub {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  margin-top: 3px; font-size: 12.5px; line-height: 1.5; color: var(--ink-soft);
}
.home-card-arrow { align-self: center; margin-left: auto; color: var(--ink-faded); opacity: 0.45; flex: none; transition: transform 0.15s, opacity 0.15s, color 0.15s; }
.home-card:hover .home-card-arrow { transform: translateX(3px); opacity: 1; color: var(--cat, var(--accent)); }

.home-results-head { font-size: 13px; color: var(--ink-faded); margin: 4px 0 16px; }
.home-empty { text-align: center; padding: 48px 20px; color: var(--ink-soft); }
.home-empty b { display: block; font-size: 16px; color: var(--ink); margin-bottom: 6px; }
.home-empty .btn { margin-top: 16px; }

@media (max-width: 760px) {
  .home-hero { padding: 6px 0 14px; }
  .home-hero-title { font-size: 26px; }
  .home-hero-sub { font-size: 13.5px; margin-bottom: 0; }
  .home-hero-chips { display: none; }
  .home-controls { top: 0; padding: 10px 0; }
  .home-search-input { font-size: 16px; padding: 12px 14px 12px 42px; }
  .home-chips { display: none; }
  .home-section { margin-top: 22px; scroll-margin-top: 110px; }
  .home-grid { grid-template-columns: 1fr; gap: 0; }
  .home-card { border: 0; border-bottom: 1px solid var(--border); border-radius: 0; box-shadow: none; padding: 12px 4px; min-height: 56px; align-items: center; }
  .home-card:hover { transform: none; box-shadow: none; border-color: transparent; border-bottom-color: var(--border); }
  .home-card-icon { width: 32px; height: 32px; border-radius: 8px; }
  .home-card:hover .home-card-icon { transform: none; }
  .home-card-sub { -webkit-line-clamp: 1; }
  .home-card-arrow { display: none; }
  #view-home { padding-bottom: calc(28px + env(safe-area-inset-bottom, 0px)); }
}

@media (prefers-reduced-motion: reduce) {
  .home-card, .home-card-icon, .home-card-arrow { transition: none; }
  .home-card:hover { transform: none; }
  .home-card:hover .home-card-icon { transform: none; }
}

/* ============== COLLECTIONS ============== */
/* Header nav link */
.header-link { display: inline-flex; align-items: center; padding: 7px 11px; border-radius: 8px; font-size: 13.5px; font-weight: 600; color: var(--ink-soft); text-decoration: none; white-space: nowrap; }
.header-link:hover { background: var(--bg); color: var(--ink); }
@media (max-width: 860px) { .header-collections-link { display: none; } }

/* Collections page (index + per-collection) */
.collections-wrap { max-width: 1100px; margin: 0 auto; padding: 4px 0 40px; }
.collections-intro { margin: 0 0 18px; color: var(--ink-soft); font-size: 14px; }
.collections-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 14px; }
.collection-card { display: flex; gap: 13px; align-items: flex-start; text-align: left; padding: 16px; background: var(--panel); border: 1px solid var(--border); border-radius: 12px; cursor: pointer; transition: border-color .15s, box-shadow .15s, transform .15s; }
.collection-card:hover { border-color: var(--accent); box-shadow: 0 4px 16px rgba(0,0,0,.06); transform: translateY(-1px); }
.collection-card-icon { flex: none; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border-radius: 10px; background: var(--accent-pale); color: var(--accent); }
.collection-card-body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.collection-card-name { font-weight: 700; font-size: 15px; color: var(--ink); }
.collection-card-sub { font-size: 12.5px; line-height: 1.45; color: var(--ink-soft); }
.collection-card-count { margin-top: 4px; font-size: 11.5px; font-weight: 600; color: var(--ink-faded); }
.collection-back { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 16px; padding: 7px 12px; background: var(--bg); border: 1px solid var(--border); border-radius: 8px; font-size: 13px; font-weight: 600; color: var(--ink-soft); cursor: pointer; }
.collection-back:hover { border-color: var(--accent); color: var(--ink); }

/* Home featured collections strip */
.home-collections { margin: 0 0 26px; }
.home-collections .home-section-head { display: flex; align-items: center; gap: 9px; margin-bottom: 12px; }
.home-collections-all { margin-left: auto; background: none; border: none; padding: 4px 6px; font-size: 13px; font-weight: 600; color: var(--accent); cursor: pointer; }
.home-collections-all:hover { text-decoration: underline; }
.home-collections-row { display: flex; gap: 10px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; }
.home-collection-chip { flex: 0 0 auto; display: flex; gap: 10px; align-items: center; padding: 11px 14px; background: var(--panel); border: 1px solid var(--border); border-radius: 11px; cursor: pointer; transition: border-color .15s, transform .15s; }
.home-collection-chip:hover { border-color: var(--accent); transform: translateY(-1px); }
.home-collection-chip .hcc-icon { flex: none; width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; border-radius: 9px; background: var(--accent-pale); color: var(--accent); }
.home-collection-chip .hcc-text { display: flex; flex-direction: column; text-align: left; }
.home-collection-chip .hcc-name { font-weight: 700; font-size: 13.5px; color: var(--ink); white-space: nowrap; }
.home-collection-chip .hcc-count { font-size: 11.5px; color: var(--ink-faded); }
