/* Shared header only. Existing page content and footer styles stay unchanged. */
.site-header .account-pending{display:none;align-items:center;justify-content:center;flex:none;width:44px;height:44px;min-height:44px;padding:2px;border:0;border-radius:50%;background:transparent;color:var(--text)}
.site-header .account-pending svg{display:block;width:32px;height:32px}
html:is([data-header-auth="member"],[data-header-auth="pending"]) .header-account>.account-login,
html:is([data-header-auth="member"],[data-header-auth="pending"]) .header-account>.account-register{display:none}
html:is([data-header-auth="member"],[data-header-auth="pending"]) .site-header .account-pending{display:inline-flex}
html:is([data-header-auth="member"],[data-header-auth="pending"]) .site-header .header-account{width:44px;min-width:44px}
.site-header .site-nav>a,.site-header .nav-group>summary{min-height:44px;display:flex;align-items:center}
.site-header .site-nav>a.is-current,.site-header .nav-group.is-current>summary{color:var(--purple-light)}
.site-header .site-nav>a.is-current::after{transform:scaleX(1)}
.site-header .nav-submenu{width:310px;max-width:calc(100vw - 32px);padding:10px;background:var(--surface);top:100%;margin-top:8px}
.site-header .nav-submenu::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.site-header .nav-submenu-group{display:grid;gap:2px}
.site-header .nav-submenu-group+.nav-submenu-group{border-top:1px solid var(--line);margin-top:8px;padding-top:8px}
.site-header .nav-group-label{margin:4px 10px;color:var(--muted);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;font-weight:700}
.site-header .nav-submenu a{display:block;line-height:1.4;min-height:40px;padding:10px;font-size:.85rem}
.site-header summary:focus-visible,.site-header button:focus-visible{outline:3px solid var(--purple-light);outline-offset:4px}
.site-header .account-login{border-color:transparent;color:var(--muted)}
.site-header .account-login:hover{background:var(--purple-soft);color:var(--text)}
.site-header .account-menu>summary{border:0;background:transparent;padding:2px;min-height:44px;width:44px;border-radius:50%;justify-content:center}
.profile-avatar{display:inline-flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;width:40px;height:40px;border-radius:50%;border:1px solid var(--purple-line);background:var(--purple-soft);color:var(--text);font-weight:750;font-size:.8rem}
.profile-avatar img{display:block;width:100%;height:100%;object-fit:cover}
.profile-avatar svg{width:22px;height:22px}
.avatar-fallback{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.profile-avatar .avatar-fallback svg{width:32px;height:32px}
.profile-avatar:has(.avatar-fallback:not([hidden])){background:transparent;border-color:transparent}
.site-header .account-menu>summary::marker{content:""}
.site-header .account-menu>summary::before,.site-header .account-menu>summary::after{content:none}
.profile-avatar [hidden]{display:none!important}
.site-header .account-menu>summary>.profile-avatar{max-width:none;transform:none}
.site-header .account-dropdown{top:calc(100% + 10px);width:240px}
.site-header .account-dropdown a,.site-header .account-dropdown button{font-family:inherit;line-height:1.4}
.site-header .account-dropdown hr{border:0;border-top:1px solid var(--line);margin:6px}
.site-header .account-dropdown a:hover{background:var(--purple-soft)}
@media(max-width:1240px){.site-header .nav-submenu{width:auto;max-width:none;margin-top:3px}.site-header .nav-submenu::before{display:none}.nav-ready .site-header .site-nav{max-height:calc(100dvh - 140px)}}
@media(max-width:1240px){html[data-header-auth]:not(.nav-ready) .site-header .site-nav{display:none}html[data-header-auth]:not(.nav-ready) .site-header .nav-menu-toggle[hidden]{display:inline-flex!important}}
@media(max-width:560px){
 html:is([data-header-auth="member"],[data-header-auth="pending"]) .site-header .header-inner{grid-template-columns:1fr auto auto}
 html:is([data-header-auth="member"],[data-header-auth="pending"]) .site-header .header-account{grid-column:3;grid-row:1}
 html:is([data-header-auth="member"],[data-header-auth="pending"]) .site-header .nav-menu-toggle{grid-column:2;grid-row:1}
 .site-header .header-inner:has(.account-menu){grid-template-columns:1fr auto auto}
 .site-header .header-inner:has(.account-menu) .header-account{grid-column:3;grid-row:1}
 .site-header .header-inner:has(.account-menu) .nav-menu-toggle{grid-column:2;grid-row:1}
 .site-header .nav-menu-toggle{min-height:44px;min-width:44px}
 .site-header .nav-menu-label{display:none}
 .site-header .header-account a{min-height:44px}
 .site-header .brand{font-size:1.1rem}
 .nav-ready .site-header .site-nav{max-height:calc(100dvh - 140px)}
}
