.site-header.vibe-header {
  --header-ink: #2d1b14;
  --header-muted: #806050;
  --header-rule: #f0e0d0;
  --header-soft: #f5ebe0;
  width: 100%;
  max-width: none;
  flex: 0 0 auto;
  min-height: 60px;
  margin: 0;
  padding: .75rem max(1.5rem, env(safe-area-inset-left));
  align-items: center;
  border-bottom: 1px solid var(--header-rule);
  background: #fff;
  color: var(--header-ink);
  font-family: "Avenir Next", "Neue Haas Grotesk Text", "Helvetica Neue", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  position: relative;
  z-index: 50;
}
.vibe-header .wordmark { font-family: inherit; font-size: 1.65rem; font-weight: 800; letter-spacing: -.045em; white-space: nowrap; }
.vibe-header .site-header__controls { min-width: 0; gap: 1rem; flex-wrap: nowrap; }
.vibe-header .new-chat-button { display: inline-flex; align-items: center; gap: .25rem; flex: 0 0 auto; min-height: 32px; border: 1px solid var(--header-rule); border-radius: 8px; background: #fff; padding: .35rem .7rem; color: var(--header-ink); font: inherit; font-size: .8rem; font-weight: 650; text-decoration: none; white-space: nowrap; cursor: pointer; }
.vibe-header .new-chat-button:disabled { opacity: .5; cursor: not-allowed; }
.vibe-header .new-chat-button:hover:not(:disabled) { background: var(--header-soft); }
.vibe-header .site-nav-link { min-height: 32px; border: 0; border-radius: 6px; background: transparent; padding: .35rem .5rem; color: var(--header-ink); font-size: .8rem; white-space: nowrap; }
.vibe-header .site-nav-link:hover, .vibe-header .site-nav-link.is-current { border: 0; background: transparent; color: #5c1a1b; }
.vibe-header .profile-menu { position: relative; flex: 0 0 auto; }
.vibe-header .profile-menu > summary { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border: 1px solid var(--header-rule); border-radius: 50%; background: #fff; color: var(--header-ink); cursor: pointer; list-style: none; }
.vibe-header .profile-menu > summary { overflow: hidden; }
.vibe-header .profile-menu > summary svg[hidden],
.vibe-header .profile-menu-avatar[hidden] { display: none; }
.vibe-header .profile-menu > summary.has-avatar svg { display: none; }
.vibe-header .profile-menu-avatar { display: block; width: 100%; height: 100%; border-radius: inherit; object-fit: cover; }
.vibe-header .profile-menu > summary::-webkit-details-marker, .vibe-header .profile-menu-help > summary::-webkit-details-marker { display: none; }
.vibe-header .profile-menu > summary:hover, .vibe-header .profile-menu[open] > summary, .vibe-header .profile-menu.is-current > summary { background: var(--header-soft); }
.vibe-header .profile-menu-panel { position: absolute; top: calc(100% + .65rem); right: 0; z-index: 30; display: flex; flex-direction: column; width: min(270px, calc(100vw - 1.5rem)); padding: .4rem; border: 1px solid var(--header-rule); border-radius: 12px; background: #fff; box-shadow: 0 8px 24px rgba(180,100,60,.12); font-size: .85rem; }
.vibe-header .profile-menu-panel > a, .vibe-header .profile-menu-help > summary, .vibe-header .profile-menu-help-links > a, .vibe-header .profile-menu-help-links > :is(a, button) { display: flex; align-items: center; min-height: 40px; width: 100%; padding: .55rem .7rem; border: 0; border-radius: 8px; background: transparent; color: var(--header-ink); font: inherit; text-align: left; text-decoration: none; cursor: pointer; }
.vibe-header .profile-menu-panel :is(a, summary, button):hover { background: var(--header-soft); }
.vibe-header .profile-menu-help { border-top: 1px solid var(--header-rule); margin-top: .25rem; padding-top: .25rem; }
.vibe-header .profile-menu-help > summary { list-style: none; justify-content: space-between; }
.vibe-header .profile-menu-help > summary::after { content: "⌄"; color: var(--header-muted); }
.vibe-header .profile-menu-help[open] > summary::after { transform: rotate(180deg); }
.vibe-header .profile-menu-help-links { padding: 0 0 .35rem .7rem; border-bottom: 1px solid var(--header-soft); }
.vibe-header .profile-menu-help-links > :is(a, button) { min-height: 36px; font-size: .78rem; }
.vibe-header :is(button, a, summary):focus-visible { outline: 2px solid #c6a15b; outline-offset: 2px; }
.vibe-chat .market-banner { flex: 0 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; min-width: 0; padding: .4rem max(1.5rem, env(safe-area-inset-left)); border-bottom: 1px solid #f0e0d0; background: #fff; color: #806050; font-size: .75rem; line-height: 1.5; }
.vibe-chat .market-banner__disclosure { flex: 1; min-width: 0; margin: 0; text-align: left; }
.vibe-chat .market-context { flex: 0 0 auto; margin: 0; text-align: right; white-space: nowrap; }
.vibe-chat .market-context[hidden] { display: none; }
@media (max-width: 720px) {
  .site-header.vibe-header { padding: .5rem .75rem; }
  .vibe-header .site-header__controls { gap: .25rem; }
  .vibe-header .new-chat-button { justify-content: center; width: 36px; min-height: 36px; padding: 0; font-size: 1.3rem; }
  .vibe-header .new-chat-label { display: none; }
  .vibe-header .site-nav-link { min-height: 44px; }
  .vibe-header .profile-menu > summary { width: 44px; height: 44px; }
  .vibe-chat .market-banner { flex-direction: column; align-items: stretch; gap: .2rem; padding: .5rem .75rem; }
}
@media (max-width: 400px) {
  .vibe-header .wordmark { font-size: 1.35rem; }
  .vibe-header .site-nav-link { padding: .25rem .3rem; font-size: .72rem; }
}
