.wb-search-shell {
      position: fixed;
      right: clamp(16px, 3vw, 32px);
      bottom: clamp(16px, 3vw, 32px);
      z-index: 40;
    }

    .wb-search-launch {
      display: inline-flex;
      align-items: center;
      gap: var(--wb-s4);
      min-height: 3.5rem;
      padding: 0 var(--wb-s4);
      border: 1px solid color-mix(in srgb, var(--wb-accent) 25%, var(--wb-border));
      background: color-mix(in srgb, var(--wb-surface) 92%, white);
      color: var(--wb-text);
      box-shadow: 0 14px 40px rgba(24, 33, 24, 0.14);
      backdrop-filter: blur(10px);
      cursor: pointer;
    }

    .wb-search-launch-copy {
      display: grid;
      gap: 2px;
      text-align: left;
    }

    .wb-search-launch-label {
      font-weight: 600;
      letter-spacing: -0.02em;
    }

    .wb-search-launch-note,
    .wb-search-shortcuts,
    .wb-search-result-path,
    .wb-search-empty p,
    .wb-search-meta {
      color: var(--wb-muted);
      font-size: 0.9rem;
    }

    .wb-search-launch-keys {
      display: inline-flex;
      align-items: center;
      gap: var(--wb-s2);
      font-family: var(--wb-font-mono);
      font-size: 0.8rem;
      color: var(--wb-accent-text);
    }

    .wb-search-launch-keys span {
      display: inline-flex;
      align-items: center;
      min-height: 1.8rem;
      padding: 0 var(--wb-s2);
      border: 1px solid var(--wb-border);
      background: var(--wb-surface-2);
    }

    .wb-search-dialog[hidden] {
      display: none;
    }

    .wb-search-dialog {
      position: fixed;
      inset: 0;
      z-index: 80;
    }

    .wb-search-backdrop {
      position: absolute;
      inset: 0;
      background: rgba(12, 16, 12, 0.52);
      backdrop-filter: blur(4px);
    }

    .wb-search-panel {
      position: relative;
      width: min(880px, calc(100vw - 32px));
      max-height: min(78vh, 780px);
      margin: clamp(24px, 6vh, 72px) auto;
      overflow: hidden;
      border: 1px solid color-mix(in srgb, var(--wb-accent) 18%, var(--wb-border));
      background: color-mix(in srgb, var(--wb-surface) 96%, white);
      box-shadow: 0 36px 90px rgba(10, 15, 10, 0.22);
    }

    .wb-search-panel-head,
    .wb-search-meta,
    .wb-search-empty,
    .wb-search-results {
      padding-left: clamp(18px, 4vw, 28px);
      padding-right: clamp(18px, 4vw, 28px);
    }

    .wb-search-panel-head {
      display: flex;
      align-items: start;
      justify-content: space-between;
      gap: var(--wb-s4);
      padding-top: clamp(18px, 4vw, 28px);
      padding-bottom: var(--wb-s4);
      border-bottom: 1px solid var(--wb-border);
    }

    .wb-search-panel-kicker {
      color: var(--wb-accent-text);
      font-family: var(--wb-font-mono);
      font-size: 0.82rem;
      text-transform: uppercase;
    }

    .wb-search-panel-title {
      margin: var(--wb-s2) 0 0;
      font-size: clamp(1.35rem, 2vw, 1.9rem);
      letter-spacing: -0.03em;
    }

    .wb-search-close {
      border: 1px solid var(--wb-border);
      background: var(--wb-surface-2);
      color: var(--wb-text);
      min-height: 2.25rem;
      padding: 0 var(--wb-s3);
      cursor: pointer;
    }

    .wb-search-input-wrap {
      display: grid;
      gap: var(--wb-s2);
      padding: var(--wb-s4) clamp(18px, 4vw, 28px) 0;
    }

    .wb-search-input-icon {
      color: var(--wb-muted);
      font-size: 0.82rem;
      text-transform: uppercase;
      letter-spacing: 0.08em;
    }

    .wb-search-input {
      width: 100%;
      min-height: 3.5rem;
      border: 1px solid var(--wb-border);
      background: white;
      color: var(--wb-text);
      padding: 0 var(--wb-s4);
      font-size: 1rem;
    }

    .wb-search-input:focus {
      outline: 2px solid color-mix(in srgb, var(--wb-accent) 26%, transparent);
      outline-offset: 2px;
      border-color: var(--wb-accent-border);
    }

    .wb-search-meta {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      gap: var(--wb-s3);
      padding-top: var(--wb-s3);
      padding-bottom: var(--wb-s3);
      border-bottom: 1px solid var(--wb-border);
    }

    .wb-search-empty {
      padding-top: var(--wb-s5);
      padding-bottom: var(--wb-s5);
    }

    .wb-search-empty strong {
      display: block;
      margin-bottom: var(--wb-s2);
      letter-spacing: -0.02em;
    }

    .wb-search-results {
      list-style: none;
      margin: 0;
      padding-top: 0;
      padding-bottom: clamp(18px, 4vw, 28px);
      overflow: auto;
      max-height: 52vh;
    }

    .wb-search-results[hidden],
    .wb-search-empty[hidden] {
      display: none;
    }

    .wb-search-result + .wb-search-result {
      border-top: 1px solid var(--wb-border);
    }

    .wb-search-result-link {
      display: block;
      padding: var(--wb-s4) 0;
      color: inherit;
      text-decoration: none;
    }

    .wb-search-result-link:hover,
    .wb-search-result-link.is-active {
      background: color-mix(in srgb, var(--wb-accent-softer) 38%, transparent);
    }

    .wb-search-result-top {
      display: flex;
      flex-wrap: wrap;
      gap: var(--wb-s2) var(--wb-s3);
      align-items: baseline;
      margin-bottom: 6px;
    }

    .wb-search-result-title {
      font-weight: 600;
      letter-spacing: -0.02em;
    }

    .wb-search-result-section {
      font-family: var(--wb-font-mono);
      font-size: 0.78rem;
      color: var(--wb-accent-text);
      text-transform: uppercase;
    }

    .wb-search-result-meta {
      display: flex;
      flex-wrap: wrap;
      gap: var(--wb-s2);
      align-items: center;
      margin-top: var(--wb-s3);
      font-size: 0.82rem;
      color: var(--wb-muted);
    }

    .wb-search-result-crumbs {
      display: inline-flex;
      flex-wrap: wrap;
      gap: 6px;
      align-items: center;
      min-width: 0;
    }

    .wb-search-result-crumb {
      display: inline-flex;
      align-items: center;
      gap: 6px;
    }

    .wb-search-result-crumb + .wb-search-result-crumb::before {
      content: '/';
      color: color-mix(in srgb, var(--wb-text) 28%, transparent);
    }

    .wb-search-result-path {
      font-family: var(--wb-font-mono);
      font-size: 0.78rem;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    .wb-search-result-text {
      margin: 0;
      color: var(--wb-muted);
      line-height: 1.65;
    }

    .wb-search-result mark {
      background: color-mix(in srgb, var(--wb-accent) 18%, transparent);
      color: inherit;
      padding: 0 2px;
    }

    body.wb-search-open {
      overflow: hidden;
    }

    @media (max-width: 720px) {
      .wb-search-shell {
        right: 12px;
        left: 12px;
        bottom: 12px;
      }

      .wb-search-launch {
        width: 100%;
        justify-content: space-between;
      }

      .wb-search-shortcuts {
        display: none;
      }

      .wb-search-panel {
        width: calc(100vw - 16px);
        margin: 8px auto;
        max-height: calc(100vh - 16px);
      }
    }
