/* Shared top nav (owner 10/21): identical on every page, matching the home page. Grey links; Forum in the site green. */
html body:not(#zz):not(#zy) header nav.snav{display:flex!important;align-items:center!important;column-gap:20px!important;row-gap:0!important;flex-wrap:nowrap;margin:0;padding:0;font-family:Inter,system-ui,sans-serif!important}
html body:not(#zz):not(#zy) header nav.snav>a{display:inline-flex!important;align-items:center!important;height:auto!important;line-height:1.6!important;padding:0!important;margin:0!important;font-size:11.5px!important;font-weight:400!important;letter-spacing:.14em!important;text-transform:uppercase!important;text-decoration:none!important;color:#9aa3ad!important;-webkit-text-fill-color:#9aa3ad!important;background:none!important;border:0!important;box-shadow:none!important;white-space:nowrap;vertical-align:middle}
html body:not(#zz):not(#zy) header nav.snav>a:hover,html body:not(#zz):not(#zy) header nav.snav>a:focus-visible{color:#eef1ec!important;-webkit-text-fill-color:#eef1ec!important}
html body:not(#zz):not(#zy) header nav.snav>a.nav-forum{color:#b8d42e!important;-webkit-text-fill-color:#b8d42e!important}
html body:not(#zz):not(#zy) header nav.snav>a[aria-current="page"]{text-decoration:none!important}
html[data-theme=light] body:not(#zz):not(#zy) header nav.snav>a{color:#5d625a!important;-webkit-text-fill-color:#5d625a!important}
html[data-theme=light] body:not(#zz):not(#zy) header nav.snav>a:hover,html[data-theme=light] body:not(#zz):not(#zy) header nav.snav>a:focus-visible{color:#14160f!important;-webkit-text-fill-color:#14160f!important}
html[data-theme=light] body:not(#zz):not(#zy) header nav.snav>a.nav-forum{color:#3f5800!important;-webkit-text-fill-color:#3f5800!important}
html body:not(#zz):not(#zy) header nav.snav>a::before,html body:not(#zz):not(#zy) header nav.snav>a::after{content:none!important}
@media (max-width:900px){html body:not(#zz):not(#zy) header nav.snav{display:none!important}}
/* Shared top strip + logo (owner 10/21): identical to home on every page. */
html body:not(#zz):not(#zy) div.bar.apbar{display:flex!important;align-items:center!important;gap:6px!important;margin:0!important;padding:12px 40px!important;width:auto!important;max-width:none!important;background:transparent!important;border:0!important;font:400 11.5px/1.55 Inter,system-ui,sans-serif!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:#9aa3ad!important;box-sizing:border-box}
html body:not(#zz):not(#zy) div.bar.apbar>.dot{display:block!important;width:7px!important;height:7px!important;border-radius:50%!important;background:#b8d42e!important;flex:none}
html body:not(#zz):not(#zy) div.bar.apbar>b{display:block!important;font-weight:700!important;color:#eef1ec!important}
html body:not(#zz):not(#zy) div.bar.apbar>.sp{flex:1 1 auto!important;display:block!important}
html body:not(#zz):not(#zy) div.bar.apbar>.mono{display:block!important;font:inherit!important;letter-spacing:inherit!important;color:inherit!important}
html[data-theme=light] body:not(#zz):not(#zy) div.bar.apbar{color:#5d625a!important}
html[data-theme=light] body:not(#zz):not(#zy) div.bar.apbar>.dot{background:#3f5800!important}
html[data-theme=light] body:not(#zz):not(#zy) div.bar.apbar>b{color:#14160f!important}
html body:not(#zz):not(#zy) header .brand>span{color:#eceee8!important;-webkit-text-fill-color:#eceee8!important;background:none!important;font-size:17px!important;font-weight:600!important;letter-spacing:.18em!important;text-transform:uppercase!important}
html body:not(#zz):not(#zy) header .brand>span>b{color:#b8d42e!important;-webkit-text-fill-color:#b8d42e!important;font-weight:700!important}
html[data-theme=light] body:not(#zz):not(#zy) header .brand>span{color:#14160f!important;-webkit-text-fill-color:#14160f!important}
html[data-theme=light] body:not(#zz):not(#zy) header .brand>span>b{color:#3f5800!important;-webkit-text-fill-color:#3f5800!important}
html body:not(#zz):not(#zy) header nav.snav>a[aria-current="page"]{text-decoration:none!important;color:#b8d42e!important;-webkit-text-fill-color:#b8d42e!important}
html[data-theme=light] body:not(#zz):not(#zy) header nav.snav>a[aria-current="page"]{color:#3f5800!important;-webkit-text-fill-color:#3f5800!important}
@media (max-width:900px){html body:not(#zz):not(#zy) div.bar.apbar{padding:10px 20px!important}}
/* Mobile menu (<=900px): real button + same 7 links, home look. */
html body:not(#zz):not(#zy) header .mnav-btn{display:none}
html body:not(#zz):not(#zy) header nav.mnav[hidden]{display:none!important}
@media (max-width:900px){
html body:not(#zz):not(#zy) header .mnav-btn{display:inline-flex!important;align-items:center;gap:8px;height:34px;padding:0 12px;margin:0;border:1px solid rgba(154,163,173,.35);border-radius:999px;background:transparent;color:#eceee8;font:600 11.5px/1 Inter,system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;order:5}
html body:not(#zz):not(#zy) header .mnav-ic,html body:not(#zz):not(#zy) header .mnav-ic::before,html body:not(#zz):not(#zy) header .mnav-ic::after{display:block;width:14px;height:1.5px;background:currentColor;border-radius:2px;position:relative;content:""}
html body:not(#zz):not(#zy) header .mnav-ic::before{position:absolute;top:-5px}
html body:not(#zz):not(#zy) header .mnav-ic::after{position:absolute;top:5px}
html body:not(#zz):not(#zy) header .mnav-btn[aria-expanded="true"] .mnav-ic{background:transparent}
html body:not(#zz):not(#zy) header .mnav-btn[aria-expanded="true"] .mnav-ic::before{top:0;transform:rotate(45deg)}
html body:not(#zz):not(#zy) header .mnav-btn[aria-expanded="true"] .mnav-ic::after{top:0;transform:rotate(-45deg)}
html body:not(#zz):not(#zy) header nav.mnav{position:absolute;left:12px;right:12px;top:100%;z-index:200;display:flex!important;flex-direction:column;padding:6px;margin:6px 0 0;background:#0e1116;border:1px solid rgba(154,163,173,.22);border-radius:14px;box-shadow:0 12px 32px rgba(0,0,0,.45)}
html body:not(#zz):not(#zy) header nav.mnav>a{display:block!important;padding:13px 14px!important;font:400 13px/1.2 Inter,system-ui,sans-serif!important;letter-spacing:.14em!important;text-transform:uppercase!important;text-decoration:none!important;color:#9aa3ad!important;-webkit-text-fill-color:#9aa3ad!important;border-radius:10px}
html body:not(#zz):not(#zy) header nav.mnav>a+a{border-top:1px solid rgba(184,212,46,.10)}
html body:not(#zz):not(#zy) header nav.mnav>a:hover{background:rgba(184,212,46,.06)}
html body:not(#zz):not(#zy) header nav.mnav>a.nav-forum,html body:not(#zz):not(#zy) header nav.mnav>a[aria-current="page"]{color:#b8d42e!important;-webkit-text-fill-color:#b8d42e!important}
html[data-theme=light] body:not(#zz):not(#zy) header .mnav-btn{color:#14160f;border-color:rgba(93,98,90,.35)}
html[data-theme=light] body:not(#zz):not(#zy) header nav.mnav{background:#f8f8f3;border-color:rgba(93,98,90,.25);box-shadow:0 12px 32px rgba(0,0,0,.12)}
html[data-theme=light] body:not(#zz):not(#zy) header nav.mnav>a{color:#5d625a!important;-webkit-text-fill-color:#5d625a!important}
html[data-theme=light] body:not(#zz):not(#zy) header nav.mnav>a+a{border-top-color:rgba(63,88,0,.16)}
html[data-theme=light] body:not(#zz):not(#zy) header nav.mnav>a.nav-forum,html[data-theme=light] body:not(#zz):not(#zy) header nav.mnav>a[aria-current="page"]{color:#3f5800!important;-webkit-text-fill-color:#3f5800!important}
}
/* Pages whose header sits in normal flow: same 34px top as home's overlay header, and a positioned box for the menu panel. */
html body:not(#zz):not(#zy):not(.v-d) div.apbar,html body.v-g:not(#zz):not(#zy) div.apbar{position:relative;z-index:3}
html body:not(#zz):not(#zy):not(.v-d) div.apbar+header.nav,html body.v-g:not(#zz):not(#zy) div.apbar+header.nav{margin-top:-8px!important}
html body:not(#zz):not(#zy) header.nav{position:relative}
html body.v-d:not(.v-g):not(#zz):not(#zy) header.nav{position:absolute}
/* Legacy-layout pages (search, mod, modlog): reset their old header box to home's. */
html body:not(.v-d):not(#zz):not(#zy) header.nav.wrap{display:flex!important;align-items:center!important;gap:20px!important;height:64px!important;min-height:0!important;padding:0 40px!important;margin-left:0!important;margin-right:0!important;margin-bottom:0!important;width:auto!important;max-width:none!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;flex-wrap:nowrap!important;grid-template-columns:none!important}
html body:not(.v-d):not(#zz):not(#zy) header.nav.wrap>.sp{flex:1 1 auto!important;display:block!important}
html body:not(.v-d):not(#zz):not(#zy) header.nav.wrap .brand{display:inline-flex!important;align-items:center!important;gap:10px!important;text-decoration:none!important}
html body:not(.v-d):not(#zz):not(#zy) header.nav.wrap .brand .bmark{width:26px!important;height:26px!important}
html body.v-g:not(#zz):not(#zy) header.nav,html body:not(.v-d):not(#zz):not(#zy) header.nav{top:0!important}
html body:not(#zz):not(#zy) header .brand .bmark.bl{display:none!important}
html[data-theme=light] body:not(#zz):not(#zy) header .brand .bmark:not(.bl){display:none!important}
html[data-theme=light] body:not(#zz):not(#zy) header .brand .bmark.bl{display:block!important}
@media (max-width:900px){
html body:not(#zz):not(#zy) header nav.mnav{background:#0e1116!important;opacity:1!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;gap:0!important}
html[data-theme=light] body:not(#zz):not(#zy) header nav.mnav{background:#f8f8f3!important}
html body:not(#zz):not(#zy) header nav.mnav>a{background:transparent!important;border:0!important;border-radius:10px!important;box-shadow:none!important;margin:0!important;height:auto!important;min-height:0!important;line-height:1.2!important}
html body:not(#zz):not(#zy) header nav.mnav>a+a{border-top:1px solid rgba(184,212,46,.10)!important;border-radius:0!important}
html[data-theme=light] body:not(#zz):not(#zy) header nav.mnav>a+a{border-top-color:rgba(63,88,0,.16)!important}
html body:not(#zz):not(#zy) header.nav>a.btn.ghost{display:none!important}
html body:not(#zz):not(#zy) header.nav>a.btn,html body:not(#zz):not(#zy) header.nav>.mnav-btn,html body:not(#zz):not(#zy) header.nav>.tt{flex:none!important;white-space:nowrap!important}
html body:not(#zz):not(#zy) header.nav{gap:10px!important;padding-left:16px!important;padding-right:16px!important}
}
@media (max-width:420px){html body:not(#zz):not(#zy) header .mnav-tx{display:none}html body:not(#zz):not(#zy) header .mnav-btn{padding:0 10px!important}html body:not(#zz):not(#zy) header .brand>span{font-size:15px!important;letter-spacing:.14em!important}}
/* QC 10/21: 44x44 minimum tap target for the menu button. */
@media (max-width:900px){html body:not(#zz):not(#zy) header .mnav-btn{min-width:44px!important;min-height:44px!important;height:44px!important;justify-content:center!important;box-sizing:border-box!important}}
html body:not(#zz):not(#zy) div.bar.apbar:not(.ap-on){display:none!important}
/* polish2-1027: 44px header/footer tap targets without changing the row (QC audit 10/27 item 3) */
html body:not(#zz):not(#zy) header .brand{display:inline-flex!important;align-items:center!important;min-height:44px!important}
html body:not(#zz):not(#zy) header .tt,html body:not(#zz):not(#zy) header #tt{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:44px!important;min-height:44px!important;box-sizing:border-box!important}
html body:not(#zz):not(#zy) header nav.snav>a{min-height:44px!important}
html body:not(#zz):not(#zy) header.nav>a.btn{display:inline-flex!important;align-items:center!important;min-height:44px!important;box-sizing:border-box!important}
html body:not(#zz):not(#zy) footer a{display:inline-flex!important;align-items:center!important;min-height:44px!important;margin-top:0!important;margin-bottom:0!important;vertical-align:middle}
/* combo-1027: footer rows sit 44px apart so tap boxes never overlap */
html body:not(#zz):not(#zy) footer.foot{row-gap:0!important;align-items:center}
/* polish2-1027: fit the header at 901-1100px (no sideways scroll), keeping 44px targets */
@media (min-width:901px) and (max-width:1100px){html body:not(#zz):not(#zy) header.nav{gap:12px!important;padding-left:24px!important;padding-right:24px!important}html body:not(#zz):not(#zy) header nav.snav{column-gap:12px!important}html body:not(#zz):not(#zy) header nav.snav>a{letter-spacing:.1em!important}html body:not(#zz):not(#zy) header.nav>a.btn{padding-left:12px!important;padding-right:12px!important;letter-spacing:.1em!important}}
@media (min-width:901px) and (max-width:1000px){html body:not(#zz):not(#zy) header.nav{gap:8px!important;padding-left:16px!important;padding-right:16px!important}html body:not(#zz):not(#zy) header nav.snav{column-gap:8px!important}html body:not(#zz):not(#zy) header nav.snav>a{letter-spacing:.06em!important}html body:not(#zz):not(#zy) header.nav>a.btn{padding-left:10px!important;padding-right:10px!important;letter-spacing:.06em!important}}
/* combo-1027c: header fits the viewport at 360-420px (spacing only) */
@media (max-width:900px){html body:not(.v-d):not(#zz):not(#zy) header.nav.wrap{gap:10px!important;padding-left:16px!important;padding-right:16px!important}}
@media (max-width:420px){html body:not(#zz):not(#zy) header.nav,html body:not(.v-d):not(#zz):not(#zy) header.nav.wrap{gap:8px!important}html body:not(.v-d):not(#zz):not(#zy) header.nav.wrap>.brand{flex:none!important;margin-right:auto!important}html body:not(.v-d):not(#zz):not(#zy) header.nav.wrap>.sp{display:none!important}}
@media (max-width:380px){html body:not(.v-d):not(#zz):not(#zy) header.nav.wrap{gap:4px!important;padding-left:8px!important;padding-right:8px!important}}
/* the ornate button frame lives in @layer ornate, so its override must sit in the same layer */
@media (max-width:420px){@layer ornate{html body:not(.v-d):not(#zz):not(#zy) header.nav.wrap>a.btn{padding-left:0!important;padding-right:0!important;border-left-width:8px!important;border-right-width:8px!important;border-image-width:8px!important}}}
@media (max-width:380px){@layer ornate{html body:not(.v-d):not(#zz):not(#zy) header.nav.wrap>a.btn{margin-right:0!important}}}
/* combo-1027d: same <=380px header fit for v-d pages (spacing only) */
@media (max-width:380px){html body.v-d:not(#zz):not(#zy) header.nav{gap:4px!important;padding-left:8px!important;padding-right:8px!important}html body.v-d:not(#zz):not(#zy) header.nav>a.btn,html body.v-d:not(#zz):not(#zy) header.nav>.mnav-btn{margin-right:0!important}}
@media (max-width:380px){@layer ornate{html body.v-d:not(#zz):not(#zy) header.nav>a.btn{margin-right:0!important}}}
