/* Public drawer additions only; original site/content styles are not reset. */
.cym-public-nav, .cym-public-nav *, .cym-header-tools, .cym-header-tools * { box-sizing: border-box; }
.cym-public-nav { font-family: var(--font-body, var(--director-font, ui-rounded, system-ui, sans-serif)); }
.cym-public-nav .staggered-menu-panel {
  background: var(--color-bg, var(--unun-cream, #faf4ea));
  color: var(--color-text, var(--unun-ink, #09101a));
  overscroll-behavior: contain;
  scrollbar-width: thin;
  padding-top: max(96px, env(safe-area-inset-top));
  padding-bottom: max(28px, env(safe-area-inset-bottom));
}
.cym-public-nav .sm-panel-inner { min-height: min-content; }
.cym-public-nav .sm-panel-list { gap: 12px; }
.cym-public-nav .sm-panel-link {
  font-family: inherit;
  font-size: clamp(36px, 4.5vw, 48px);
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: -.045em;
  text-transform: none;
  color: var(--sm-item-color, var(--color-text, var(--unun-ink, #09101a)));
}
.cym-public-nav .sm-panel-itemWrap { line-height: 1.12; }
.cym-public-nav .sm-panel-itemLabel { font-family: inherit; }
.cym-public-nav .sm-panel-item:nth-child(4n + 1) { --sm-item-color: var(--unun-orange-action, #c21a13); }
.cym-public-nav .sm-panel-item:nth-child(4n + 2) { --sm-item-color: var(--unun-purple-deep, #7746e0); }
.cym-public-nav .sm-panel-item:nth-child(4n + 3) { --sm-item-color: var(--color-text, var(--unun-ink, #09101a)); }
.cym-public-nav .sm-panel-item:nth-child(4n) { --sm-item-color: #765f00; }
html[data-theme="dark"] .cym-public-nav .sm-panel-item:nth-child(4n + 1) { --sm-item-color: #ff7468; }
html[data-theme="dark"] .cym-public-nav .sm-panel-item:nth-child(4n + 2) { --sm-item-color: #ad91ff; }
html[data-theme="dark"] .cym-public-nav .sm-panel-item:nth-child(4n) { --sm-item-color: #f7ca00; }
.cym-public-nav .sm-panel-list[data-numbering] .sm-panel-item::after { color: var(--sm-item-color); font-family: inherit; font-weight: 850; }
.cym-public-nav .sm-panel-link:hover { color: var(--sm-item-color); filter: brightness(.85); }
html[data-theme="dark"] .cym-public-nav .sm-panel-link:hover { filter: brightness(1.15); }
.cym-public-nav .sm-panel-link:focus-visible { outline: 3px solid #926dff; outline-offset: 5px; border-radius: 4px; }
.cym-public-nav .sm-prelayer:first-child { background: #eee9ff !important; }
.cym-public-nav .sm-prelayer:last-child { background: #f4ead9 !important; }
html[data-theme="dark"] .cym-public-nav .sm-prelayer:first-child { background: #251e43 !important; }
html[data-theme="dark"] .cym-public-nav .sm-prelayer:last-child { background: #101927 !important; }
.cym-public-nav .sm-toggle { min-height: 44px; }

/* Music and Director opt in through an explicit slot; their headers stay in flow. */
.cym-header-tools {
  display: flex; align-items: center; gap: 10px; flex-shrink: 0;
  position: relative; z-index: 210;
  color: var(--color-text, var(--unun-ink, #09101a));
  font-family: var(--font-body, var(--director-font, ui-rounded, system-ui, sans-serif));
}
.cym-header-tools .sm-toggle { min-height: 44px; padding: 8px; color: inherit; background: transparent; font-family: inherit; }
.cym-header-tools .sm-toggle-text { font-size: 13px; font-weight: 800; letter-spacing: .02em; }
.cym-header-tools .auth-login {
  min-height: 40px; padding: 6px 12px; font-family: inherit; font-weight: 800;
  border-color: var(--color-border, var(--unun-line, #e0dad1)); color: inherit;
}
.cym-header-tools .auth-login:hover { background: var(--unun-orange-action, #c21a13); color: #fff; border-color: transparent; }
.cym-header-tools .auth-avatar-btn { min-width: 40px; min-height: 44px; }
.cym-header-tools .auth-menu { width: 230px; background: var(--color-bg, var(--unun-cream, #faf4ea)); border-color: var(--color-border, var(--unun-line, #e0dad1)); color: inherit; }
.cym-header-tools .auth-menu-name { display: block; padding: 14px 16px; color: inherit; font-weight: 800; }
.cym-header-tools .auth-menu-item { color: inherit; text-decoration: none; font: inherit; font-size: 13px; }
.cym-header-tools .auth-menu-item-danger { color: var(--unun-orange-action, #c21a13); }
.cym-header-tools button:focus-visible, .cym-header-tools a:focus-visible { outline: 3px solid #926dff; outline-offset: 3px; }
.site-header:has(> .cym-header-tools) { gap: 18px; }
.site-header > [data-cym-header-tools] { margin-left: auto; }
.director-header:has(> .cym-header-tools) { gap: 12px; }
.director-header:has(> [data-cym-header-tools]) > .theme-button { margin-left: auto; }

@media (max-width: 700px) {
  .site-header:has(> .cym-header-tools), .director-header:has(> .cym-header-tools) { gap: 6px; }
  .site-header:has(> .cym-header-tools) > .home-link, .director-header:has(> .cym-header-tools) > nav { display: none; }
  .site-header > .cym-header-tools { margin-left: auto; }
  .director-header:has(> .cym-header-tools) > .theme-button { margin-left: auto; }
  .cym-header-tools { gap: 4px; }
  .cym-header-tools .auth-login { min-width: 40px; padding: 8px; justify-content: center; }
  .cym-header-tools .auth-login span, .cym-header-tools .sm-toggle-text { display: none; }
  .cym-header-tools .sm-toggle { width: 40px; justify-content: center; }
  .cym-public-nav .staggered-menu-panel { padding-left: 28px; padding-right: 28px; }
  .cym-public-nav .sm-panel-link { font-size: 40px; }
}
@media (max-height: 620px) {
  .cym-public-nav .sm-panel-list { gap: 9px; }
  .cym-public-nav .sm-panel-link { font-size: 36px; }
}
@media (prefers-reduced-motion: reduce) {
  .cym-public-nav .sm-panel-link, .cym-header-tools .auth-login { transition: none; }
}
