/* Public navigation. Scoped to avoid changing the administration header. */
.ascense-promo {
  position: relative; isolation: isolate; width: 100%; min-height: 38px;
  margin: 0 0 10px; background: #f6ad24; color: #211408;
  clip-path: polygon(8px 0,calc(100% - 8px) 0,calc(100% - 8px) 4px,100% 4px,100% calc(100% - 8px),calc(100% - 16px) calc(100% - 8px),calc(100% - 16px) calc(100% - 4px),calc(100% - 32px) calc(100% - 4px),calc(100% - 32px) 100%,32px 100%,32px calc(100% - 4px),16px calc(100% - 4px),16px calc(100% - 8px),0 calc(100% - 8px),0 4px,8px 4px);
}
.ascense-promo::before {
  content: ""; position: absolute; inset: 0; z-index: -1; opacity: .45; pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='32' shape-rendering='crispEdges'%3E%3Cpath fill='%23ffd369' d='M0 0h16v8H0zM32 8h8v8h-8zM56 0h24v8H56zM72 16h16v8H72zM16 24h16v8H16z'/%3E%3Cpath fill='%23c17b10' d='M16 8h8v8h-8zM40 24h16v8H40zM88 0h8v16h-8zM0 16h8v8H0z'/%3E%3C/svg%3E") repeat;
  image-rendering: pixelated;
}
.ascense-promo a { min-height: 38px; display: flex; justify-content: center; align-items: center; gap: 10px; padding: 5px 24px 9px; box-sizing: border-box; color: #211408; font-size: 12px; line-height: 1.4; text-decoration: none; }
.ascense-promo strong { font-weight: 800; }
.ascense-promo span { padding: 3px 8px; background: #fff5dd; color: #352008; font-size: 11px; font-weight: 800; box-shadow: 3px 0 #a36b16,-3px 0 #a36b16,0 3px #a36b16,0 -3px #a36b16; }
header.header.compact-header.ascense-compact {
  position: relative; z-index: 60; box-sizing: border-box; width: min(1000px,calc(100% - 48px)); max-width: 1000px;
  min-height: 50px; height: 50px; margin: 10px auto 0; padding: 2px 12px; display: flex;
  flex-wrap: nowrap; align-items: center; justify-content: space-between; gap: 12px;
  background: #17130ff5; border: 1px solid #4a3b29; border-radius: 32px; box-shadow: none; backdrop-filter: none; overflow: visible;
}
header.header.compact-header.ascense-compact .brand { margin: 0; padding: 0; flex: 0 0 auto; min-height: 44px; display: flex; align-items: center; }
header.header.compact-header.ascense-compact .logo-crop { position: relative; display: block; width: 102px; height: 44px; overflow: hidden; }
/* Center the visible artwork within the PNG's transparent margins. */
header.header.compact-header.ascense-compact .logo-crop img { position: absolute; display: block; width: 118.093%; height: auto; max-width: none; left: -9.743%; top: 50%; object-fit: contain; transform: translateY(-53.56%); }
.ascense-header-actions { display: flex; align-items: center; gap: 8px; margin-left: auto; }
header.header.compact-header.ascense-compact .ascense-server-cta { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 34px; padding: 0 11px; border: 0; border-radius: 24px; background: #ffb72e; color: #211408; font-size: 11px; font-weight: 800; text-decoration: none; white-space: nowrap; transition: background .18s; }
header.header.compact-header.ascense-compact .ascense-server-cta:hover { background: #ffcb64; }
.ascense-server-cta svg { width: 17px; height: 17px; padding: 3px; box-sizing: border-box; background: #33230f; color: #ffcb64; border-radius: 50%; fill: none; stroke: currentColor; stroke-width: 2; }
.ascense-navigation { position: static; }
header.header.compact-header.ascense-compact .ascense-navigation > summary { display: grid; place-items: center; width: 44px; min-height: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; list-style: none; cursor: pointer; color: #f5eee2; background: transparent; }
.ascense-navigation > summary::-webkit-details-marker { display: none; }
.ascense-navigation > summary::marker { content: ""; }
.ascense-navigation > summary svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: square; }
header.header.compact-header.ascense-compact .ascense-navigation[open] > summary,
header.header.compact-header.ascense-compact .ascense-navigation > summary:hover { background: #3b3021; color: #ffbe48; }
.ascense-navigation-panel { position: absolute; top: calc(100% + 10px); right: 0; width: min(480px,calc(100vw - 40px)); padding: 20px; box-sizing: border-box; max-height: calc(100dvh - 140px); overflow-y: auto; overscroll-behavior: contain; background: #211b15; border: 1px solid #5c4830; border-radius: 14px; box-shadow: 0 20px 40px #0008; color: #f9f1e5; }
.ascense-menu-label { display: block; margin: 0 10px 12px; color: #cbb28d; font-size: 10px; font-weight: 700; letter-spacing: .14em; }
header.header.compact-header.ascense-compact nav.ascense-menu-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2px 8px; width: 100%; margin: 0; padding: 0; border: 0; }
header.header.compact-header.ascense-compact .ascense-menu-links a,
header.header.compact-header.ascense-compact .ascense-menu-account > a { display: flex; align-items: center; min-height: 44px; box-sizing: border-box; padding: 10px; border-radius: 6px; color: #ece0d0; font-size: 13px; line-height: 1.4; white-space: normal; text-decoration: none; }
header.header.compact-header.ascense-compact .ascense-menu-links a:hover,
header.header.compact-header.ascense-compact .ascense-menu-links a[aria-current="page"] { background: #352a1e; color: #ffbe48; }
.ascense-menu-account { display: flex; flex-wrap: wrap; align-items: start; gap: 8px; padding-top: 14px; margin-top: 14px; border-top: 1px solid #4a3b29; }
header.header.compact-header.ascense-compact .ascense-menu-account .profile-dropdown { position: static; min-width: 0; width: 100%; max-width: 100%; max-height: none; margin-top: 8px; overflow: visible; box-shadow: none; }
.ascense-menu-account .account-menu { flex: 1 1 100%; }
header.header.compact-header.ascense-compact .ascense-menu-account .panel-link { background: #3b2e1e; border-color: #6d5331; color: #ffce79; font-size: 13px; }
.ascense-compact :where(a,summary,button):focus-visible,.ascense-promo a:focus-visible { outline: 2px solid #ffce79; outline-offset: 3px; }
@media(max-width:600px) {
  header.header.compact-header.ascense-compact { width: calc(100% - 24px); height: 50px; min-height: 50px; padding: 2px 8px; gap: 8px; margin-top: 10px; }
  header.header.compact-header.ascense-compact .logo-crop { width: 86px; }
  header.header.compact-header.ascense-compact .ascense-server-cta { font-size: 11px; gap: 6px; padding-inline: 11px; }
  .ascense-header-actions { gap: 4px; }
  .ascense-navigation-panel { width: min(480px,calc(100vw - 24px)); padding: 14px; }
  .ascense-promo a { font-size: 11px; gap: 8px; padding-inline: 12px; }
  .ascense-promo span { font-size: 10px; white-space: nowrap; }
}
@media(max-width:360px) {
  header.header.compact-header.ascense-compact .logo-crop { width: 76px; }
  header.header.compact-header.ascense-compact .ascense-server-cta { padding-inline: 8px; gap: 4px; }
  .ascense-promo a { font-size: 10px; gap: 7px; }
  header.header.compact-header.ascense-compact nav.ascense-menu-links { grid-template-columns: 1fr; }
}
