/* Header styles are kept together so desktop and mobile rules cannot drift. */
.site-header{background:var(--panel);color:var(--text);border-top:2px solid #435d77;border-bottom:1px solid var(--line)}
.header-inner{position:relative;max-width:1420px;min-height:60px;margin:auto;padding:0 22px;display:flex;align-items:center;gap:22px}
.brand{display:flex;align-items:center;flex:0 0 auto;padding:0;margin:0;background:transparent}
.brand img{display:block;width:184px;height:auto}
.main-nav{position:static;display:flex;align-self:stretch;align-items:stretch;gap:2px;min-width:0;visibility:visible;opacity:1;transform:none;pointer-events:auto}
.main-nav>.nav-item{position:relative;display:flex;align-items:center;padding:0 12px;color:#697a8c;font-size: 16px;white-space:nowrap;text-decoration:none;border:0;border-radius:0;background:transparent;box-shadow:none;transition:background-color 100ms ease-out,color 100ms ease-out}
.main-nav>.nav-item:after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:2px;background:#476582;opacity:0;transition:opacity 120ms ease-out}
.main-nav>.nav-item:hover{background:var(--alt);color:var(--link);text-decoration:none}
.main-nav>.nav-item.active{color:var(--link);background:transparent}
.main-nav>.nav-item.active:after{opacity:1}
.account-nav{display:flex;align-items:center;gap:5px;margin-left:auto;flex:0 0 auto;white-space:nowrap}
.account-nav>:is(a,button){display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:30px;text-decoration:none;max-width:125px;overflow:hidden;text-overflow:ellipsis;padding:5px 9px;color:#617488;border:1px solid transparent;border-radius:2px;font-size: 14px;transition:background-color 100ms ease-out,color 100ms ease-out}
.account-nav>:is(a,button):hover{background:var(--alt);color:var(--link);text-decoration:none}
.account-nav>[data-action="register"]{background:#405d7a;border-color:#405d7a;color:#fff}
.account-nav>[data-action="register"]:hover{background:#334d68;color:#fff}
.account-nav>#header-search{margin-left:4px;padding-left:12px;border-left-color:var(--line);border-radius:0}
.header-inner>#mobile-menu{display:none}
.subnav{background:var(--alt);border-bottom:1px solid var(--soft-line)}
.subnav-inner{max-width:1420px;min-height:32px;margin:auto;padding:6px 22px;display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;font-size: 13px}
.subnav-inner>span{color:#8795a4}
.subnav-inner>a,.subnav-inner>button{color:var(--muted);font-size: 13px;white-space:nowrap}
.subnav-inner>#theme-toggle{margin-left:auto}
html[data-theme="dark"] .main-nav>.nav-item,html[data-theme="dark"] .account-nav>:is(a,button):not([data-action="register"]){color:#a6b6c8}
html[data-theme="dark"] .main-nav>.nav-item.active{color:#e0e8f0}
html[data-theme="dark"] .main-nav>.nav-item.active:after{background:#94afca}
@media(min-width:1600px){.header-inner,.subnav-inner{max-width:1540px}}
@media(max-width:1050px){.header-inner{gap:15px;padding:0 17px}.main-nav>.nav-item{padding:0 10px;font-size: 14px}.account-nav>:is(a,button){padding:5px 7px;font-size: 13px}.account-nav>#header-search>span{display:none}.subnav-inner{padding-left:17px;padding-right:17px}}
@media(max-width:1080px){
  .header-inner{min-height:56px;padding:0 12px;gap:10px}
  .brand{margin-right:auto}.brand img{width:clamp(118px,38vw,156px)}
  .header-inner>#mobile-menu{display:inline-flex;order:3;flex:0 0 32px;min-height:32px;margin:0;padding:5px;color:var(--link)}
  #mobile-menu .icon{width:21px;height:21px}
  .account-nav{margin-left:0;gap:2px}.account-nav>:is(a,button){max-width:120px;font-size: 13px;padding:5px 7px}
  .main-nav{position:absolute;top:100%;left:12px;right:12px;z-index:10;display:flex;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100dvh - 100px);overflow-y:auto;padding:6px;background:var(--panel);border:1px solid var(--line);box-shadow:0 5px 12px #18222c14;visibility:hidden;opacity:0;transform:translateY(-4px);pointer-events:none;transition:opacity 140ms cubic-bezier(.4,0,1,1),transform 140ms cubic-bezier(.4,0,1,1),visibility 0s linear 140ms}
  .main-nav.open{visibility:visible;opacity:1;transform:none;pointer-events:auto;transition:opacity 180ms cubic-bezier(.16,1,.3,1),transform 180ms cubic-bezier(.16,1,.3,1),visibility 0s}
  .main-nav>.nav-item{min-height:39px;padding:8px 12px;font-size: 16px}
  .main-nav>.nav-item:after{left:0;top:9px;bottom:9px;right:auto;width:2px;height:auto}
  .main-nav>.nav-item.active{background:var(--alt)}
  .subnav-inner{padding:7px 12px;gap:12px}.subnav-inner>span{display:none}
}
@media(max-width:480px){.account-nav>#header-search{display:none}.account-nav>:is(a,button):first-child{max-width:82px}.header-inner{gap:8px}}
@media(prefers-reduced-motion:reduce){.main-nav,.main-nav>.nav-item,.main-nav>.nav-item:after,.account-nav>:is(a,button){transition:none!important}}

/* Keep registration accessible in the small-screen menu. */
.main-nav>.mobile-account-link{display:none}
@media(max-width:480px){.account-nav>[data-action="register"]{display:none}.main-nav>.mobile-account-link{display:flex}}
