/* Shared public chrome, responsive layout and theme-driven surfaces. */
:root{--ssc-shell-bg:var(--ssc-header-bg,#160c27);--ssc-shell-text:var(--ssc-header-text,#f7f1ff);--ssc-shell-primary:var(--ssc-primary,#b87bea);--ssc-shell-stroke:var(--ssc-divider,#62437c)}
body .ssc-site-header{display:grid;grid-template-columns:minmax(150px,1fr) max-content minmax(95px,1fr);align-items:center;column-gap:clamp(20px,2.4vw,40px);width:100%;min-height:84px;height:auto;padding:12px clamp(20px,3vw,56px);color:var(--ssc-shell-text);border-bottom:1px solid var(--ssc-shell-stroke);background:linear-gradient(115deg,color-mix(in srgb,var(--ssc-shell-bg) 94%,transparent),color-mix(in srgb,var(--ssc-shell-bg) 82%,transparent));z-index:30}
body:not(.home-page) .ssc-site-header{position:relative;top:auto;left:auto}
body .ssc-site-header .home-brand{display:flex;gap:10px;align-items:center;min-width:0;margin:0;text-decoration:none;color:var(--ssc-shell-text)}
body .ssc-site-header .home-brand img{width:41px;height:41px;object-fit:cover;border-radius:11px}
body .ssc-site-header .home-brand span{display:flex;flex-direction:column;line-height:1.1}
body .ssc-site-header .home-brand strong{font-weight:800}
body .ssc-site-header .home-brand small{font-size:10px;letter-spacing:.2em}
body .ssc-site-header .home-nav{display:flex;grid-column:2;align-items:center;gap:clamp(13px,1.25vw,24px);width:max-content;min-width:0;margin:0}
body .ssc-site-header .home-nav-link{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap;font-size:12px;color:var(--ssc-shell-text);text-decoration:none}
body .ssc-site-header .home-nav-join{white-space:nowrap;display:inline-flex;align-items:center;gap:8px;padding:11px 14px;color:var(--ssc-shell-text);text-decoration:none;border:1px solid var(--ssc-shell-stroke);border-radius:11px;background:color-mix(in srgb,var(--ssc-shell-bg) 80%,var(--ssc-shell-primary))}
body .ssc-site-header .home-nav :is(.home-nav-link,.home-nav-join).ssc-nav-active{color:var(--ssc-shell-primary);border-bottom:2px solid var(--ssc-shell-primary);text-shadow:0 0 10px color-mix(in srgb,var(--ssc-shell-primary) 40%,transparent)}
body .ssc-site-header .ssc-header-actions{display:flex;grid-column:3;align-items:center;justify-self:end;gap:clamp(10px,1vw,18px);margin:0}
body .ssc-site-header :is(.ssc-header-profile,.ssc-header-mailbox,.home-menu-button){display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;flex-shrink:0;border:1px solid color-mix(in srgb,var(--ssc-shell-primary) 42%,var(--ssc-shell-stroke));border-radius:11px;background:color-mix(in srgb,var(--ssc-shell-bg) 85%,var(--ssc-shell-primary));color:var(--ssc-shell-text);text-decoration:none;cursor:pointer;position:relative}
body .ssc-site-header .ssc-header-profile img{height:34px;width:34px;border-radius:8px;object-fit:cover;image-rendering:pixelated}
body .ssc-site-header .home-menu-button{display:none}
body .ssc-site-header [data-mailbox-count]{position:absolute;top:-6px;right:-5px;padding:2px 5px;border-radius:99px;background:var(--ssc-shell-primary);color:var(--ssc-shell-bg);font-size:10px}
body .ssc-site-header [data-mailbox-count][hidden]{display:none}
body .ssc-unified-footer{display:block;position:relative;width:100%;border-top:1px solid var(--ssc-shell-stroke);background:var(--ssc-footer-bg,var(--ssc-shell-bg));color:var(--ssc-footer-text,var(--ssc-shell-text));padding:35px 0}
body .ssc-unified-footer .ssc-footer-content{display:flex;align-items:center;gap:20px;justify-content:space-between;flex-wrap:wrap;max-width:1240px;margin:0 auto;padding:0 24px}
body .ssc-unified-footer .home-footer-mark{display:flex;align-items:center;gap:9px;font-weight:750}
body .ssc-unified-footer .home-footer-mark img{width:27px;height:27px;object-fit:cover;border-radius:7px}
body .ssc-unified-footer .home-footer-links{display:flex;flex-wrap:wrap;gap:clamp(9px,1.6vw,21px)}
body .ssc-unified-footer .home-footer-links a{color:inherit;opacity:.85;text-decoration:none;font-size:12px}
body .ssc-unified-footer .home-footer-links a:hover{opacity:1;color:var(--ssc-shell-primary)}
body .ssc-site-header :is(a,button):focus-visible{outline:2px solid var(--ssc-shell-primary);outline-offset:3px}
@media(max-width:1480px){body .ssc-site-header{display:flex;justify-content:space-between;gap:15px;position:relative}body .ssc-site-header .home-nav{display:none;position:absolute;left:14px;right:14px;top:100%;width:auto;max-width:none;align-items:stretch;flex-direction:column;gap:4px;padding:12px;border:1px solid var(--ssc-shell-stroke);border-radius:12px;background:var(--ssc-shell-bg);box-shadow:0 18px 35px #0008;z-index:90}body.home-menu-open .ssc-site-header .home-nav{display:flex}body .ssc-site-header .home-nav a{display:flex;width:100%;padding:10px 13px}body .ssc-site-header .ssc-header-actions{margin-left:auto}body .ssc-site-header .home-menu-button{display:inline-flex}}
@media(max-width:480px){body .ssc-site-header{min-height:70px;padding:11px 13px}body .ssc-site-header .ssc-header-actions{gap:8px}body .ssc-unified-footer .ssc-footer-content{justify-content:center;text-align:center}body .ssc-unified-footer .home-footer-links{justify-content:center}}

/* Header controls: predictable spacing, theme tokens and keyboard states. */
body .ssc-site-header .home-nav{column-gap:clamp(16px,1.45vw,27px)}
body .ssc-site-header .home-nav .home-nav-link{padding-inline:3px;transition:color .18s ease}
body .ssc-site-header .home-nav .home-nav-link:hover,body .ssc-site-header .home-nav .home-nav-link:focus-visible{color:var(--ssc-link-hover,var(--ssc-shell-primary))}
body .ssc-site-header .ssc-header-actions{gap:clamp(12px,1.1vw,20px)}
body .ssc-site-header .home-nav :is(.home-nav-link,.home-nav-join).ssc-nav-active{color:var(--ssc-selected-text,var(--ssc-shell-primary));border-bottom-color:var(--ssc-primary,var(--ssc-shell-primary));background:color-mix(in srgb,var(--ssc-selected-bg,var(--ssc-shell-primary)) 17%,transparent);border-radius:7px}
body .ssc-site-header .ssc-header-profile:hover,body .ssc-site-header .ssc-header-mailbox:hover{border-color:var(--ssc-input-focus,var(--ssc-shell-primary))}
body .ssc-unified-footer{background:var(--ssc-footer-bg,var(--ssc-bg,var(--ssc-shell-bg)))}
body .ssc-site-header .home-nav-join{background:var(--ssc-button-secondary,color-mix(in srgb,var(--ssc-shell-bg) 85%,var(--ssc-shell-primary)));color:var(--ssc-button-secondary-text,var(--ssc-shell-text))}
@media(max-width:1480px){body .ssc-site-header .home-nav{gap:6px}body .ssc-site-header .home-nav .home-nav-link{padding:11px 14px}body .ssc-site-header .ssc-header-actions{gap:12px}}
@media(max-width:480px){body .ssc-site-header .ssc-header-actions{gap:10px}}

/* Minecraft face in the shared header; the fallback logo uses the same frame. */
body .ssc-site-header .ssc-header-profile{overflow:hidden}
body .ssc-site-header .ssc-header-avatar-canvas{display:block;width:34px;height:34px;border-radius:8px;object-fit:cover;image-rendering:pixelated}
body .ssc-site-header .ssc-header-avatar-canvas[hidden],body .ssc-site-header .ssc-header-profile img[hidden]{display:none}

/* A single header/footer frame on all public routes, including status and registration. */
body .ssc-site-header{
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:clamp(12px,2vw,28px);
  min-height:96px;
  padding:12px clamp(24px,5.5vw,88px);
  width:100%;
  max-width:none;
  margin:0;
  isolation:isolate;
  color:var(--ssc-header-text,var(--ssc-text,#fff));
  background:var(--ssc-header-bg,var(--ssc-bg,#160c27));
}
body .ssc-site-header .home-brand{flex:0 0 auto;gap:12px}
body .ssc-site-header .home-brand img{width:43px;height:43px}
body .ssc-site-header .home-nav{display:flex;flex:0 1 auto;align-items:center;gap:clamp(12px,1.4vw,26px);width:auto;min-width:0;margin-left:auto}
body .ssc-site-header .home-nav a[hidden]{display:none!important}
body .ssc-site-header .ssc-header-actions{flex:0 0 auto;margin:0;justify-self:auto}
body .ssc-unified-footer .ssc-footer-content{
  width:min(1240px,calc(100% - 80px));
  max-width:1240px;
  box-sizing:border-box;
  margin:0 auto;
  padding:0;
}
body .ssc-site-header .home-nav .ssc-nav-active{
  color:var(--ssc-selected-text,var(--ssc-primary,#b87bea));
  border-bottom:2px solid var(--ssc-primary,#b87bea);
}
body .ssc-site-header .home-nav .home-nav-join{flex-shrink:0}
body .ssc-site-header .home-menu-button{touch-action:manipulation}
@media(max-width:1480px){
  body .ssc-site-header{position:relative;min-height:80px;flex-wrap:nowrap}
  body .ssc-site-header .home-nav{display:none!important;position:absolute;top:100%;left:14px;right:14px;width:auto;max-width:none;margin:0;flex-direction:column;align-items:stretch;gap:5px;max-height:min(70vh,600px);overflow:auto;background:var(--ssc-header-bg,var(--ssc-bg,#160c27));border:1px solid var(--ssc-border,#62437c);z-index:1000}
  body.home-menu-open .ssc-site-header .home-nav,
  body .ssc-site-header.ssc-menu-open .home-nav,
  body .ssc-site-header .home-nav.ssc-menu-visible{display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
  body .ssc-site-header .home-menu-button{display:inline-flex!important;position:relative;z-index:1001}
  body .ssc-site-header .home-nav .home-nav-link{width:100%;box-sizing:border-box;min-height:42px}
}
@media(max-width:600px){
  body .ssc-site-header{padding:10px 16px;min-height:72px}
  body .ssc-site-header .ssc-header-actions{gap:8px}
  body .ssc-unified-footer .ssc-footer-content{width:calc(100% - 32px);justify-content:center;text-align:center}
}

/* Gallery CTA inherits the same configurable primary/secondary palette. */
.home-page .ssc-gallery-all-button{
  display:flex;
  width:max-content;
  max-width:calc(100% - 32px);
  align-items:center;
  justify-content:center;
  gap:10px;
  margin:26px auto 0;
  padding:12px 21px;
  text-decoration:none;
  background:var(--ssc-button-secondary,var(--ssc-panel,#241831));
  border:1px solid var(--ssc-border,#62437c);
  color:var(--ssc-button-secondary-text,var(--ssc-text,#fff));
}
.home-page .ssc-gallery-all-button:hover{
  border-color:var(--ssc-input-focus,var(--ssc-primary,#b87bea));
  color:var(--ssc-link-hover,var(--ssc-text,#fff));
  background:color-mix(in srgb,var(--ssc-button-secondary,var(--ssc-panel,#241831)) 85%,var(--ssc-primary,#b87bea));
}
/* Retain homepage hero overlay without using a different header layout. */
body:not(.ssc-public-inner) .ssc-site-header{position:absolute;top:0;left:0}
body.ssc-public-inner .ssc-site-header{position:relative;top:auto;left:auto}

/* Custom envelope brand mark; count badge keeps its existing accessible semantics. */
body .ssc-site-header .ssc-header-mailbox .ssc-mailbox-icon{width:27px;height:27px;max-width:100%;object-fit:contain;display:block;filter:none}
body .ssc-site-header .ssc-header-mailbox:hover{border-color:var(--ssc-shell-primary)}


/* New published announcements / events: desktop nav and folded mobile hamburger. */
body .ssc-site-header .home-nav a.home-nav-link{gap:7px}
body .ssc-site-header .ssc-nav-notice,
body .ssc-site-header .ssc-hamburger-notice{
  display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
  min-width:19px;height:19px;padding:0 5px;border-radius:999px;
  background:var(--ssc-danger,#fa5277);color:#fff;font-size:10px;font-weight:800;
  line-height:1;letter-spacing:0;box-shadow:0 0 0 2px var(--ssc-header-bg,#160c27);
}
body .ssc-site-header .ssc-nav-notice[hidden],
body .ssc-site-header .ssc-hamburger-notice[hidden]{display:none!important}
body .ssc-site-header .home-menu-button{overflow:visible}
body .ssc-site-header .ssc-hamburger-notice{position:absolute;right:-7px;top:-8px;pointer-events:none;z-index:2}
@media(min-width:1481px){body .ssc-site-header .ssc-hamburger-notice{display:none!important}}
@media(max-width:1480px){body .ssc-site-header .home-nav .ssc-nav-notice{margin-left:auto}body .ssc-site-header .ssc-hamburger-notice:not([hidden]){display:inline-flex!important}}
