  @font-face {
    font-family: 'Archivo';
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url(data:font/woff2;base64,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) format('woff2');
  }

  :root {
    --bg: #ffffff;
    --surface: #ffffff;
    --surface-2: #f3ebe4;
    --border: #e6dad0;
    --text: #251419;
    --text-dim: #7c6469;
    --accent: rgb(232,30,33);
    --accent-strong: #a1123a;
    --accent-text: #fff2f2;
    --accent-2: #e8622c;
    --accent-3: #6b2f6b;
    --accent-3-text: #f6ecf6;
    --danger: #8f2323;
    --danger-bg: #fbe7e2;
    --danger-border: #e3b7a8;
    --ok: #3f7a4f;
    --ok-bg: #e8f3e9;
    --ok-border: #b7d9bd;
    --shadow: 0 1px 2px rgba(37,20,25,.06), 0 8px 24px rgba(37,20,25,.08);
    color-scheme: light dark;
  }
  @media (prefers-color-scheme: dark) {
    :root {
      --bg: #180f14; --surface: #241720; --surface-2: #2c1c27; --border: #40293a;
      --text: #f7ece7; --text-dim: #b79aa0;
      --accent: #ff5c7c; --accent-strong: #ff8098; --accent-text: #2a0912;
      --accent-2: #ff8a4c; --accent-3: #c78ce0; --accent-3-text: #2a1730;
      --danger: #ff7a68; --danger-bg: #3a1f1c; --danger-border: #5c332c;
      --ok: #6fcf87; --ok-bg: #163a20; --ok-border: #2c5c39;
      --shadow: 0 1px 2px rgba(0,0,0,.4), 0 12px 30px rgba(0,0,0,.5);
    }
  }
  :root[data-theme="dark"] {
    --bg: #180f14; --surface: #241720; --surface-2: #2c1c27; --border: #40293a;
    --text: #f7ece7; --text-dim: #b79aa0;
    --accent: #ff5c7c; --accent-strong: #ff8098; --accent-text: #2a0912;
    --accent-2: #ff8a4c; --accent-3: #c78ce0; --accent-3-text: #2a1730;
    --danger: #ff7a68; --danger-bg: #3a1f1c; --danger-border: #5c332c;
    --ok: #6fcf87; --ok-bg: #163a20; --ok-border: #2c5c39;
    --shadow: 0 1px 2px rgba(0,0,0,.4), 0 12px 30px rgba(0,0,0,.5);
  }
  :root[data-theme="light"] {
    --bg: #ffffff; --surface: #ffffff; --surface-2: #f3ebe4; --border: #e6dad0;
    --text: #251419; --text-dim: #7c6469;
    --accent: #c81d4a; --accent-strong: #a1123a; --accent-text: #fff2f2;
    --accent-2: #e8622c; --accent-3: #6b2f6b; --accent-3-text: #f6ecf6;
    --danger: #8f2323; --danger-bg: #fbe7e2; --danger-border: #e3b7a8;
    --ok: #3f7a4f; --ok-bg: #e8f3e9; --ok-border: #b7d9bd;
    --shadow: 0 1px 2px rgba(37,20,25,.06), 0 8px 24px rgba(37,20,25,.08);
  }

  * { box-sizing: border-box; }
  html, body { margin: 0; background: var(--bg); color: var(--text); }
  body {
    font-family: -apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    min-height: 100vh;
  }
  a { color: inherit; text-decoration: none; }
  button { font-family: inherit; }
  ::selection { background: var(--accent); color: var(--accent-text); }

  @media (prefers-reduced-motion: no-preference) {
    .screen { transition: opacity .12s ease; }
    .card, .chip, .btn { transition: border-color .12s ease, background .12s ease, transform .08s ease; }
    .modal-panel { transition: transform .15s ease, opacity .15s ease; }
  }

  h1, h2, h3, .display {
    font-family: 'Archivo', system-ui, sans-serif;
    font-weight: 800;
    letter-spacing: -.01em;
    text-wrap: balance;
    margin: 0;
  }

  /* ---------- shared app chrome ---------- */
  .app-footer {
    text-align: center;
    padding: 24px 14px 32px;
    font-size: 12px;
    color: var(--text-dim);
  }
  .app-footer a { color: var(--text-dim); text-decoration: underline; }
  .app-footer a:hover { color: var(--text); }
  .login-card .app-footer { padding: 18px 0 0; font-size: 11.5px; }
  .app-header {
    position: sticky;
    top: 0;
    z-index: 10;
    background: var(--bg);
    border-bottom: 1px solid var(--border);
    padding: 14px clamp(14px, 3.5vw, 32px);
    display: flex;
    align-items: center;
    gap: 14px;
  }
  .wordmark {
    font-family: 'Archivo', system-ui, sans-serif;
    font-weight: 800;
    font-size: 19px;
    letter-spacing: -.01em;
    display: flex;
    align-items: center;
    gap: 8px;
  }
  .wordmark .dot { color: var(--accent); }
  .wordmark-logo { height: 30px; width: auto; display: block; animation: logo-shake .5s ease-in-out infinite; transform-origin: 50% 85%; }
  @keyframes logo-shake {
    0%, 100% { transform: rotate(0deg); }
    20% { transform: rotate(-9deg); }
    40% { transform: rotate(8deg); }
    60% { transform: rotate(-6deg); }
    80% { transform: rotate(5deg); }
  }
  @media (prefers-reduced-motion: reduce) {
    .wordmark-logo, .login-mark-logo { animation: none; }
  }
  .role-pill {
    font-size: 11.5px;
    background: var(--surface-2);
    border: 1px solid var(--border);
    color: var(--text-dim);
    border-radius: 999px;
    padding: 4px 10px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
  }
  .role-pill b { color: var(--text); font-weight: 700; }
  .role-pill.is-admin { background: #f3e5f7; border-color: #e0c2e8; color: #6b2f6b; }
  .role-pill.is-admin b { color: #6b2f6b; }
  @media (prefers-color-scheme: dark) {
    .role-pill.is-admin { background: #3a2140; border-color: #563061; color: #e6bdf0; }
    .role-pill.is-admin b { color: #e6bdf0; }
  }
  :root[data-theme="dark"] .role-pill.is-admin { background: #3a2140; border-color: #563061; color: #e6bdf0; }
  :root[data-theme="dark"] .role-pill.is-admin b { color: #e6bdf0; }
  .header-spacer { flex: 1; }
  .logout-link {
    font-size: 13px;
    color: var(--text-dim);
    text-decoration: none;
    border: 1px solid transparent;
  }
  .logout-link:hover { color: var(--text); }

  /* ---------- Responsive nav: inline on desktop, hamburger on mobile ---------- */
  .app-nav { display: flex; align-items: center; gap: 14px; }
  .nav-toggle {
    display: none; /* shown only on mobile */
    flex-direction: column; justify-content: center; gap: 4px;
    width: 40px; height: 34px; padding: 0 9px;
    background: var(--surface); border: 1px solid var(--border);
    border-radius: 8px; cursor: pointer;
  }
  .nav-toggle span { display: block; width: 100%; height: 2px; background: var(--text); border-radius: 2px; }
  @media (max-width: 640px) {
    .app-header { gap: 10px; }
    .role-pill { display: none; }        /* mobile: keep the bar to logo + Add + burger */
    .nav-add .add-word { display: none; } /* "+ Add recipe" -> "+ Add" */
    .nav-toggle { display: flex; }
    .app-nav {
      position: absolute; top: calc(100% + 6px); right: clamp(14px, 3.5vw, 32px);
      flex-direction: column; align-items: stretch; gap: 2px;
      min-width: 200px; padding: 8px;
      background: var(--surface); border: 1px solid var(--border);
      border-radius: 12px; box-shadow: var(--shadow);
      display: none; z-index: 20;
    }
    .app-header.nav-open .app-nav { display: flex; }
    .app-nav .logout-link { padding: 10px 12px; border-radius: 8px; font-size: 14.5px; }
    .app-nav .logout-link:hover { background: var(--surface-2); }
  }

  .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border-radius: 9px;
    padding: 11px 18px;
    font-size: 14px;
    font-weight: 600;
    border: 1px solid transparent;
    cursor: pointer;
  }
  .btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
  .btn-primary { background: var(--accent); color: var(--accent-text); }
  .btn-primary:hover { background: var(--accent-strong); }
  .btn-outline { background: var(--surface); color: var(--text); border-color: var(--border); }
  .btn-outline:hover { border-color: var(--text-dim); }
  .btn-ghost { background: transparent; color: var(--text-dim); border-color: transparent; }
  .btn-ghost:hover { color: var(--text); }
  .btn-danger { background: var(--danger); color: #fff5f2; }
  .btn-danger:hover { filter: brightness(1.08); }
  .btn-tertiary { background: var(--accent-3); color: var(--accent-3-text); }
  .btn-tertiary:hover { filter: brightness(1.08); }
  .btn-sm { padding: 7px 12px; font-size: 12.5px; border-radius: 7px; }
  .btn[disabled] { opacity: .5; cursor: not-allowed; }

  input[type="text"], input[type="password"], input[type="search"], textarea, select {
    background: var(--surface);
    border: 1px solid var(--border);
    color: var(--text);
    border-radius: 8px;
    padding: 10px 13px;
    font-size: 14.5px;
    font-family: inherit;
    width: 100%;
  }
  select { padding-right: 28px; }
  input:focus-visible, textarea:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
  label { font-size: 12.5px; color: var(--text-dim); display: block; margin: 0 0 5px; font-weight: 600; }

  .category-colors-Gin { --dot: #5f8f52; }
  .category-colors-Vodka { --dot: #6f8ea3; }
  .category-colors-Rum { --dot: #a8763e; }
  .category-colors-Tequila-Mezcal { --dot: #9c8a2e; }
  .category-colors-Whiskey { --dot: #b5701f; }
  .category-colors-Brandy-Cognac { --dot: #8a4a3a; }
  .category-colors-Wine-Sparkling { --dot: #8a3550; }
  .category-colors-Beer { --dot: #c99a2e; }
  .category-colors-Liqueur-Forward { --dot: #935a8f; }
  .category-colors-Non-Alcoholic { --dot: #3f8f82; }
  .category-colors-Syrup { --dot: #a68a5a; }
  .category-colors-Batch { --dot: #5a6e8f; }

  /* ---------- Screen: Login ---------- */
  .login-wrap {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px 16px;
  }
  .login-card {
    width: 100%;
    max-width: 340px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 16px;
    box-shadow: var(--shadow);
    padding: 32px 28px 28px;
    text-align: center;
  }
  .login-mark {
    font-family: 'Archivo', system-ui, sans-serif;
    font-weight: 800;
    font-size: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
  }
  .login-mark .dot { color: var(--accent); }
  .login-mark-logo { height: 46px; width: auto; display: block; margin: 0 auto; animation: logo-shake .5s ease-in-out infinite; transform-origin: 50% 85%; }
  .login-tag { color: var(--text-dim); font-size: 13.5px; margin: 6px 0 26px; }
  .login-card #pw {
    text-align: center;
    font-size: 20px;
    letter-spacing: .3em;
    padding: 13px 52px;
  }
  .password-field { position: relative; }
  .password-toggle {
    position: absolute; right: 5px; top: 50%; transform: translateY(-50%);
    background: none; border: none; color: var(--text-dim);
    font-size: 11.5px; font-weight: 700; letter-spacing: normal;
    text-transform: uppercase; cursor: pointer; padding: 7px 9px; border-radius: 6px;
  }
  .password-toggle:hover { color: var(--text); }
  .password-toggle:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
  .login-card .btn { width: 100%; margin-top: 14px; padding: 12px; }
  .login-error {
    margin-top: 14px;
    background: var(--danger-bg);
    border: 1px solid var(--danger-border);
    color: var(--danger);
    font-size: 12.5px;
    border-radius: 8px;
    padding: 9px 11px;
    line-height: 1.5;
    text-align: left;
  }

  /* ---------- Home / search ---------- */
  .home-hero {
    max-width: 640px;
    margin: 0 auto;
    padding: clamp(48px, 14vh, 120px) clamp(16px, 4vw, 32px) 60px;
    text-align: center;
  }
  .home-title {
    font-size: clamp(26px, 4vw, 34px);
    margin-bottom: 22px;
  }
  .home-search-row input {
    font-size: 16px;
    padding: 15px 18px;
    border-radius: 12px;
    box-shadow: var(--shadow);
    text-align: left;
  }
  #recent-block { margin-top: 30px; text-align: left; }
  .chip-label {
    font-size: 10.5px; text-transform: uppercase; letter-spacing: .08em;
    color: var(--text-dim); margin: 0 0 8px;
  }
  .recent-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
  .link-btn {
    background: none; border: none; padding: 0; cursor: pointer; font-family: inherit;
    font-size: 11.5px; color: var(--text-dim); text-decoration: underline;
  }
  .link-btn:hover { color: var(--accent); }
  .chips { display: flex; flex-wrap: wrap; gap: 7px; }
  .empty-hint { color: var(--text-dim); font-size: 13px; }
  #results-block { margin-top: 30px; text-align: left; }
  #matched-tags { margin-bottom: 12px; }
  .meta { font-size: 12.5px; color: var(--text-dim); margin: 0 0 12px; font-variant-numeric: tabular-nums; }
  .chip {
    display: inline-flex; align-items: center; gap: 6px;
    border: 1px solid var(--border); background: var(--surface);
    color: var(--text); border-radius: 999px; padding: 6px 12px 6px 9px;
    font-size: 12.5px; cursor: pointer;
  }
  .chip .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--dot, var(--text-dim)); }
  .chip.active { background: var(--accent); border-color: var(--accent); color: var(--accent-text); }
  .chip.warn { color: var(--danger); border-color: var(--danger-border); background: var(--danger-bg); font-weight: 700; }
  .chip.warn .dot { background: var(--danger); }
  .chip.strength-chip, .chip.taste-chip { padding-left: 12px; cursor: default; }
  .chip.strength-light { color: var(--ok); border-color: var(--ok-border); background: var(--ok-bg); }
  .chip.strength-medium { color: var(--accent-2); border-color: var(--accent-2); background: var(--surface-2); }
  .chip.strength-strong { color: var(--danger); border-color: var(--danger-border); background: var(--danger-bg); }
  .chip.taste-chip { color: var(--text-dim); }
  /* pinned recipes: quick-access chips under search + a marker on the detail page */
  #pinned-block { margin-top: 26px; text-align: left; }
  .chip.pin-chip { border-color: var(--accent); color: var(--accent); text-decoration: none; }
  .chip.pin-chip .dot { background: var(--accent); }
  .chip.pin-chip:hover { background: var(--surface-2); }

  .try-another-banner {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    background: var(--surface-2); border: 1px solid var(--border); border-radius: 10px;
    padding: 10px 14px; font-size: 13.5px; color: var(--text-dim);
    max-width: 680px; margin: 16px auto; box-sizing: border-box;
    width: calc(100% - 2 * clamp(14px, 3.5vw, 32px));
  }
  .try-another-banner a { color: var(--accent); font-weight: 700; white-space: nowrap; }
  .try-another-banner a:hover { color: var(--accent-strong); }

  .results-list { display: flex; flex-direction: column; }
  .results-row {
    display: flex; align-items: baseline; gap: 16px;
    padding: 13px 4px; border-bottom: 1px solid var(--border); cursor: pointer;
  }
  .results-row:first-child { border-top: 1px solid var(--border); }
  .results-row:hover { background: var(--surface-2); }
  .results-row-main { display: flex; align-items: baseline; gap: 9px; flex: 0 1 auto; min-width: 0; overflow: hidden; }
  .results-row-name {
    font-family: 'Archivo', system-ui, sans-serif; font-weight: 800; font-size: 15.5px;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0;
  }
  .results-row .ing-preview {
    flex: 0 1 auto; max-width: 40%;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  }
  .ing-preview { font-size: 12.5px; color: var(--text-dim); line-height: 1.5; margin: 0; }
  .version-flag {
    display: inline-flex; align-items: center; gap: 5px;
    font-size: 10.5px; font-weight: 700; letter-spacing: .02em;
    border-radius: 5px; padding: 2px 7px; flex: none;
  }
  .version-flag.outdated { background: var(--danger-bg); color: var(--danger); border: 1px solid var(--danger-border); }
  .version-flag.updated { background: var(--surface-2); color: var(--accent-strong); border: 1px solid var(--border); }

  @media (max-width: 520px) {
    .results-row { flex-direction: column; align-items: flex-start; gap: 4px; }
    .results-row .ing-preview { text-align: left; white-space: normal; }
  }

  /* ---------- Screen: Recipe detail ---------- */
  .detail-header {
    padding: 16px clamp(14px, 3.5vw, 32px) 0;
    max-width: 680px;
    margin: 0 auto;
  }
  .back-link {
    font-size: 13px; color: var(--text-dim); text-decoration: none;
    display: inline-flex; align-items: center; gap: 5px; margin-bottom: 14px;
  }
  .back-link:hover { color: var(--text); }
  .detail-title-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; }
  .detail-name { font-size: clamp(24px, 4vw, 32px); }
  .detail-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 12px 0 20px; }

  main.detail { padding: 0 clamp(14px, 3.5vw, 32px) 90px; max-width: 680px; margin: 0 auto; }
  .section-label { font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--text-dim); margin: 22px 0 10px; }
  ul.ing-list { list-style: none; margin: 0; padding: 0; background: var(--surface); border: 1px solid var(--border); border-radius: 10px; overflow: hidden; }
  ul.ing-list li { display: flex; justify-content: space-between; gap: 12px; padding: 10px 14px; font-size: 14.5px; border-bottom: 1px solid var(--border); }
  ul.ing-list li:last-child { border-bottom: none; }
  ul.ing-list .qty { color: var(--text-dim); font-variant-numeric: tabular-nums; font-family: ui-monospace, "SF Mono", Menlo, monospace; font-size: 13px; }
  .directions { font-size: 15px; line-height: 1.65; white-space: pre-wrap; margin-top: 0; }
  .remark-box { background: var(--danger-bg); border: 1px solid var(--danger-border); border-radius: 10px; padding: 12px 14px; font-size: 13px; line-height: 1.55; margin-top: 10px; display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
  .remark-box code { font-family: ui-monospace, monospace; font-size: 10.5px; color: var(--danger); background: var(--surface); border: 1px solid var(--danger-border); border-radius: 4px; padding: 1px 5px; display: inline-block; margin-bottom: 4px; }
  .remark-clear { flex: none; }
  .remark-clear-btn { color: var(--danger); white-space: nowrap; }
  .remark-clear-btn:hover { color: var(--danger); text-decoration: none; }
  .action-row { display: flex; gap: 10px; margin-top: 26px; flex-wrap: wrap; }

  /* ---------- Screen: Add/Edit ---------- */
  main.form-screen { padding: 20px clamp(14px, 3.5vw, 32px) 90px; max-width: 680px; margin: 0 auto; }
  .field { margin-bottom: 18px; }
  .ing-row { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; align-items: center; }
  .ing-row input[name="ing_name[]"] { flex: 1 1 160px; min-width: 120px; }
  .ing-row input[name="ing_amount[]"] { flex: 0 1 90px; min-width: 70px; }
  .ing-row select.ing-unit-select {
    flex: 0 1 110px; min-width: 90px;
    appearance: none; -webkit-appearance: none; -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%237c6469' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 10px 6px;
  }
  @media (prefers-color-scheme: dark) {
    .ing-row select.ing-unit-select {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23b79aa0' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    }
  }
  :root[data-theme="dark"] .ing-row select.ing-unit-select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23b79aa0' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  }
  :root[data-theme="light"] .ing-row select.ing-unit-select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%237c6469' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  }
  .ing-row input.ing-unit-other { flex: 0 1 100px; min-width: 80px; }
  .ing-row select, .ing-row input { width: auto; }
  .ing-row button {
    background: var(--surface-2); border: 1px solid var(--border); color: var(--text-dim);
    border-radius: 8px; width: 44px; height: 44px; font-size: 18px; cursor: pointer; flex: none;
  }
  .ing-row button:hover { color: var(--danger); border-color: var(--danger-border); background: var(--danger-bg); }
  .ing-row button:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
  .add-ing-btn { margin-top: 4px; }
  .cat-picker { display: flex; flex-wrap: wrap; gap: 7px; }
  .cat-toggle {
    display: inline-flex; align-items: center; gap: 6px;
    border: 1px solid var(--border); background: var(--surface);
    color: var(--text-dim); border-radius: 999px; padding: 6px 12px 6px 9px;
    font-size: 12.5px; cursor: pointer;
  }
  .cat-toggle .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--dot, var(--text-dim)); }
  .cat-toggle.on,
  .cat-toggle:has(input:checked) { background: var(--surface-2); color: var(--text); border-color: var(--text-dim); }
  .cat-toggle:focus-within { outline: 2px solid var(--accent); outline-offset: 1px; }
  .form-actions { display: flex; gap: 10px; margin-top: 26px; }
  textarea { min-height: 110px; resize: vertical; line-height: 1.55; }

  /* ---------- Screen: Version history ---------- */
  main.history { padding: 20px clamp(14px, 3.5vw, 32px) 90px; max-width: 680px; margin: 0 auto; }
  .version-item {
    background: var(--surface); border: 1px solid var(--border); border-radius: 12px;
    padding: 14px 16px; margin-bottom: 10px;
  }
  .version-item.current { border-color: var(--accent); }
  .version-top { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
  .version-badge {
    font-family: 'Archivo', system-ui, sans-serif; font-weight: 800; font-size: 11px;
    background: var(--surface-2); border: 1px solid var(--border); border-radius: 6px;
    padding: 3px 7px; color: var(--text-dim);
  }
  .version-item.current .version-badge { background: var(--accent); color: var(--accent-text); border-color: var(--accent); }
  .role-badge {
    font-size: 11px; padding: 2px 8px; border-radius: 999px; font-weight: 600;
  }
  .role-badge.hunterco { background: #e7eef7; color: #34506f; }
  .role-badge.admin { background: #f3e5f7; color: #6b2f6b; }
  .version-time { font-size: 12.5px; color: var(--text-dim); }
  .version-spacer { flex: 1; }
  .version-toggle { background: none; border: none; color: var(--accent); font-size: 12.5px; cursor: pointer; font-weight: 600; }
  .version-detail { margin-top: 12px; padding-top: 12px; border-top: 1px dashed var(--border); font-size: 13.5px; display: none; }
  .version-detail.open { display: block; }
  .version-detail .diff-line { padding: 2px 0; }
  .version-detail .diff-old { color: var(--danger); text-decoration: line-through; opacity: .8; }
  .version-detail .diff-new { color: #2c7a4b; }

  /* ---------- Modal (delete confirm) ---------- */
  .modal-backdrop {
    position: fixed; inset: 0; background: rgba(20,9,14,.55);
    display: none; align-items: center; justify-content: center; z-index: 40; padding: 20px;
  }
  .modal-backdrop.open { display: flex; }
  .modal-panel {
    background: var(--surface); border: 1px solid var(--danger-border); border-radius: 14px;
    max-width: 380px; width: 100%; padding: 22px 22px 20px; box-shadow: var(--shadow);
  }
  .modal-panel h3 { font-size: 19px; margin-bottom: 8px; }
  .modal-panel p { font-size: 13.5px; color: var(--text-dim); line-height: 1.55; margin: 0 0 18px; }
  .modal-panel .recipe-highlight { color: var(--text); font-weight: 700; }
  .modal-actions { display: flex; gap: 10px; justify-content: flex-end; }

  /* ---------- Toast ---------- */
  .toast {
    position: fixed; left: 50%; bottom: 26px; transform: translateX(-50%) translateY(12px);
    background: var(--text); color: var(--bg); font-size: 13.5px; font-weight: 600;
    padding: 11px 18px; border-radius: 999px; box-shadow: var(--shadow);
    opacity: 0; pointer-events: none; z-index: 60;
  }
  @media (prefers-reduced-motion: no-preference) {
    .toast { transition: opacity .18s ease, transform .18s ease; }
  }
  .toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }

  /* ---------- Admin page ---------- */
  .admin-page { padding: 20px clamp(14px, 3.5vw, 32px) 90px; max-width: 680px; margin: 0 auto; }
  .admin-section {
    background: var(--surface); border: 1px solid var(--border); border-radius: 12px;
    box-shadow: var(--shadow); padding: 18px 20px; margin-top: 20px;
  }
  .admin-list { list-style: none; margin: 0; padding: 0; }
  .admin-list li {
    display: flex; justify-content: space-between; align-items: baseline; gap: 12px;
    padding: 9px 0; border-bottom: 1px dashed var(--border); font-size: 14px;
  }
  .admin-list li:last-child { border-bottom: none; }
  .admin-list-meta { color: var(--text-dim); font-size: 12px; white-space: nowrap; font-variant-numeric: tabular-nums; }
  .admin-feed { list-style: none; margin: 0; padding: 0; }
  .admin-feed li {
    padding: 12px 0; border-bottom: 1px dashed var(--border);
    font-size: 14px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px;
  }
  .admin-feed li:last-child { border-bottom: none; }
  .admin-feed-summary { flex-basis: 100%; margin: 4px 0 0; font-size: 13px; color: var(--text-dim); }

  /* ---------- A–Z browse page ---------- */
  .az-jump {
    display: flex; flex-wrap: wrap; gap: 4px; position: sticky; top: 57px;
    background: var(--bg); padding: 10px 0; border-bottom: 1px solid var(--border); z-index: 5;
  }
  .az-jump a {
    display: inline-flex; align-items: center; justify-content: center;
    width: 26px; height: 26px; border-radius: 6px; font-size: 12px; color: var(--text-dim);
  }
  .az-jump a:hover { background: var(--surface-2); color: var(--text); }
  .az-letter-group { margin-top: 26px; }
  .az-letter-heading {
    font-family: 'Archivo', system-ui, sans-serif; font-weight: 800; font-size: 20px;
    color: var(--accent); margin: 0 0 8px;
  }
  .az-list { list-style: none; margin: 0; padding: 0; }
  .az-list li { border-bottom: 1px solid var(--border); }
  .az-list a { display: block; padding: 10px 4px; font-size: 14.5px; }
  .az-list a:hover { color: var(--accent); }
