/* Canonical public-entry navigation. Keep public page headers in one place. */
body.user-entry-page [data-public-entry-top-nav] { position:sticky !important; top:0 !important; z-index:240 !important; width:100vw !important; max-width:none !important; min-width:0 !important; margin:0 0 20px calc(50% - 50vw) !important; color:#f8f3e8 !important; font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",system-ui,sans-serif !important; }
/* Old page CSS uses important rules on the former mount. Keep its scope from leaking into this component. */
body.user-entry-page #pageShell #userEntryTopNavMount[data-public-entry-top-nav] { width:100vw !important; max-width:none !important; margin:0 0 20px calc(50% - 50vw) !important; }
body.user-entry-page #pageShell #userEntryTopNavMount[data-public-entry-top-nav] .public-entry-top-nav__brand { color:#fbf7ef !important; }
body.user-entry-page #pageShell #userEntryTopNavMount[data-public-entry-top-nav] .public-entry-top-nav__brand-copy strong { color:#fff8e8 !important; -webkit-text-fill-color:#fff8e8 !important; }
body.user-entry-page #pageShell #userEntryTopNavMount[data-public-entry-top-nav] .public-entry-top-nav__brand-copy small { color:rgba(248,243,232,.72) !important; }
body.user-entry-page #pageShell #userEntryTopNavMount[data-public-entry-top-nav] .public-entry-top-nav__brand-copy small { -webkit-text-fill-color:#e8dfc9 !important; }
body.user-entry-page #pageShell #userEntryTopNavMount[data-public-entry-top-nav] .public-entry-top-nav__links,
body.user-entry-page #pageShell #userEntryTopNavMount[data-public-entry-top-nav] .public-entry-top-nav__link,
body.user-entry-page #pageShell #userEntryTopNavMount[data-public-entry-top-nav] .public-entry-top-nav__action,
body.user-entry-page #pageShell #userEntryTopNavMount[data-public-entry-top-nav] .public-entry-top-nav__toggle { opacity:1 !important; }
body.user-entry-page #pageShell #userEntryTopNavMount[data-public-entry-top-nav] .public-entry-top-nav__link { color:#fff8e8 !important; border-color:#f5c85b !important; background:#342b18 !important; text-shadow:0 1px 0 rgba(0,0,0,.72); }
body.user-entry-page #pageShell #userEntryTopNavMount[data-public-entry-top-nav] .public-entry-top-nav__link > span { color:#fff8e8 !important; -webkit-text-fill-color:#fff8e8 !important; opacity:1 !important; }
body.user-entry-page #pageShell #userEntryTopNavMount[data-public-entry-top-nav] .public-entry-top-nav__link-badge { color:#ffd66f !important; -webkit-text-fill-color:#ffd66f !important; }
body.user-entry-page #pageShell #userEntryTopNavMount[data-public-entry-top-nav] .public-entry-top-nav__link.is-active { color:#fff6d5 !important; border-color:#ffea9e !important; background:#9d6816 !important; box-shadow:inset 0 0 0 1px rgba(255,235,171,.32),0 0 16px rgba(230,166,43,.28) !important; }
body.user-entry-page #pageShell #userEntryTopNavMount[data-public-entry-top-nav] .public-entry-top-nav__link.is-active > span { color:#fffbed !important; -webkit-text-fill-color:#fffbed !important; }
body.user-entry-page #pageShell #userEntryTopNavMount[data-public-entry-top-nav] .public-entry-top-nav__action,
body.user-entry-page #pageShell #userEntryTopNavMount[data-public-entry-top-nav] .public-entry-top-nav__toggle { color:#fff8e8 !important; border-color:#f5c85b !important; background:#342b18 !important; }
body.user-entry-page #pageShell #userEntryTopNavMount[data-public-entry-top-nav] .public-entry-top-nav__action { -webkit-text-fill-color:#fff8e8 !important; }
body.user-entry-page #pageShell #userEntryTopNavMount[data-public-entry-top-nav] .public-entry-top-nav__action--shop { color:#211603 !important; -webkit-text-fill-color:#211603 !important; border-color:#ffe19a !important; background:linear-gradient(145deg,#ffe39a,#df9c2b) !important; text-shadow:none; }
body.user-entry-page [data-public-entry-top-nav] * { box-sizing:border-box; }
.public-entry-top-nav { display:grid; grid-template-columns:minmax(176px,220px) minmax(0,1fr) auto; align-items:center; gap:clamp(12px,2vw,32px); min-height:clamp(74px,5.55vw,114px); padding:14px clamp(20px,2.25vw,46px); border-bottom:1px solid rgba(200,153,58,.22); background:#11120f; box-shadow:0 14px 34px rgba(0,0,0,.26); }
.public-entry-top-nav__brand { display:inline-flex; align-items:center; min-width:0; min-height:44px; gap:12px; color:#fbf7ef; text-decoration:none; }
.public-entry-top-nav__mark { display:grid; place-items:center; flex:0 0 auto; width:56px; height:56px; border-radius:16px; color:#181207; background:linear-gradient(145deg,#f5c553,#bd8123); box-shadow:inset 0 1px 0 rgba(255,255,255,.42),0 10px 22px rgba(204,148,42,.2); font-size:17px; font-weight:950; letter-spacing:-.04em; }
.public-entry-top-nav__brand-copy { display:grid; gap:2px; min-width:0; }
.public-entry-top-nav__brand-copy strong { color:inherit; font-size:18px; font-weight:900; line-height:1.08; white-space:nowrap; }
.public-entry-top-nav__brand-copy small { color:rgba(248,243,232,.72); font-size:14px; font-weight:650; line-height:1.1; white-space:nowrap; }
.public-entry-top-nav__links { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); align-items:center; gap:clamp(4px,.65vw,12px); min-width:0; }
.public-entry-top-nav__link,.public-entry-top-nav__action,.public-entry-top-nav__toggle { display:inline-flex; align-items:center; justify-content:center; min-width:0; min-height:48px; border:1px solid transparent; border-radius:999px; color:rgba(248,243,232,.74); background:transparent; font:inherit; font-size:14px; font-weight:800; line-height:1.1; text-decoration:none; white-space:nowrap; cursor:pointer; transition:color 180ms ease,border-color 180ms ease,background-color 180ms ease,box-shadow 180ms ease,transform 180ms ease; }
.public-entry-top-nav__link { gap:7px; padding:0 10px; }
.public-entry-top-nav__link-badge { flex:0 0 auto; color:#d3d0c8; font-size:12px; font-weight:900; }
.public-entry-top-nav__link.is-active,.public-entry-top-nav__action--shop { border-color:rgba(225,171,65,.33); color:#f7cc68; background:rgba(217,160,52,.12); box-shadow:inset 0 1px 0 rgba(255,255,255,.04); }
.public-entry-top-nav__actions { display:inline-flex; align-items:center; justify-content:flex-end; gap:10px; }
.public-entry-top-nav__action,.public-entry-top-nav__toggle { padding:0 17px; border-color:rgba(225,202,144,.22); color:#fbf7ef; background:rgba(255,255,255,.02); }
.public-entry-top-nav__action--shop { color:#1d1508; background:linear-gradient(145deg,#f9d16e,#d59127); box-shadow:0 8px 20px rgba(197,133,28,.2); }
.public-entry-top-nav__toggle[aria-expanded="true"] { border-color:rgba(239,198,103,.6); color:#f8d477; }
@media (hover:hover) and (pointer:fine) { .public-entry-top-nav__link:hover,.public-entry-top-nav__action:hover,.public-entry-top-nav__toggle:hover { color:#fff8e8; border-color:rgba(240,198,104,.48); background:rgba(230,181,72,.12); transform:translateY(-1px); } .public-entry-top-nav__action--shop:hover { color:#161006; background:linear-gradient(145deg,#ffe092,#dda03d); } }
.public-entry-top-nav :is(a,button):focus-visible { outline:3px solid #f2c35b; outline-offset:3px; }
@media (max-width:1180px) { .public-entry-top-nav { grid-template-columns:minmax(148px,190px) minmax(0,1fr) auto; gap:12px; padding-inline:20px; } .public-entry-top-nav__link { gap:5px; padding-inline:7px; font-size:12px; } .public-entry-top-nav__link-badge { font-size:10px; } .public-entry-top-nav__action,.public-entry-top-nav__toggle { min-height:44px; padding-inline:12px; font-size:12px; } }
@media (max-width:900px) { body.user-entry-page [data-public-entry-top-nav] { margin-bottom:12px !important; } .public-entry-top-nav { grid-template-columns:minmax(0,1fr) auto; gap:8px; min-height:68px; padding:10px 14px; } .public-entry-top-nav__mark { width:44px; height:44px; border-radius:13px; font-size:13px; } .public-entry-top-nav__brand-copy strong { font-size:15px; } .public-entry-top-nav__brand-copy small { font-size:12px; } .public-entry-top-nav__links { display:none; grid-column:1/-1; grid-template-columns:repeat(2,minmax(0,1fr)); padding-top:4px; } .public-entry-top-nav.is-open .public-entry-top-nav__links { display:grid; } .public-entry-top-nav__link { min-height:44px; padding-inline:8px; border-color:rgba(225,202,144,.16); background:rgba(255,255,255,.03); font-size:13px; } .public-entry-top-nav__link:last-child { grid-column:1 / -1; } .public-entry-top-nav__actions { gap:6px; } .public-entry-top-nav__action { display:none; } .public-entry-top-nav__action--shop { display:inline-flex; } .public-entry-top-nav__toggle { min-width:44px; padding-inline:12px; font-size:12px; } }
@media (min-width:901px) { body.user-entry-page #pageShell #userEntryTopNavMount[data-public-entry-top-nav] .public-entry-top-nav__toggle { display:none !important; } .public-entry-top-nav__actions { align-items:center; gap:12px; } .public-entry-top-nav__action { min-width:132px; } }
@media (max-width:440px) { .public-entry-top-nav__brand-copy small,.public-entry-top-nav__actions .public-entry-top-nav__action--shop { display:none; } }
@media (prefers-reduced-motion:reduce) { .public-entry-top-nav :is(a,button) { transition:none; } }

/* The shared mount lives inside page shells that historically added their own
 * safe-area padding. Keep the component at the viewport edge and absorb the
 * safe area inside the bar itself. */
html:has(body.user-entry-page) { scroll-padding-top: 0; }
html:has(body.user-entry-page),
body.user-entry-page {
  overflow-x: clip !important;
  overflow-y: visible !important;
}
body.user-entry-page { padding-top: 0 !important; }
body.user-entry-page #pageShell.page-shell { padding-top: 0 !important; }
body.user-entry-page #pageShell #userEntryTopNavMount[data-public-entry-top-nav] {
  position: sticky !important;
  top: 0 !important;
  z-index: 240 !important;
  margin: 0 0 20px calc(50% - 50vw) !important;
}
body.user-entry-page #userEntryTopNavMount[data-public-entry-top-nav] .public-entry-top-nav {
  padding-top: max(14px, env(safe-area-inset-top, 0px));
}
