/* ZeroCore Network v5.17 — shared visual system.
   UI-only additions. The existing API, permissions and account logic are untouched. */
:root {
  --zc-canvas:#080e16;
  --zc-panel:#101c28;
  --zc-panel-raised:#152333;
  --zc-border:rgba(147,174,194,.26);
  --zc-muted:#b6c5d0;
  --zc-focus:#87d6e8;
  --zc-radius:9px;
  --zc-shadow:0 14px 38px rgba(0,0,0,.2);
}
html {scroll-padding-top:88px}
body {background:var(--zc-canvas);text-rendering:optimizeLegibility}
a,button,summary {touch-action:manipulation}
:where(a,button,input,select,textarea,summary):focus-visible {
  outline:2px solid var(--zc-focus)!important;
  outline-offset:3px;
}
:where(p,li) {overflow-wrap:break-word}
:where(h1,h2,h3) {font-kerning:normal;overflow-wrap:break-word}
:where(input,textarea,select) {max-width:100%}
/* A consistent desktop header, without the symbol logo. */
.site-header {background:rgba(7,13,20,.94);border-bottom:1px solid rgba(171,192,208,.20);box-shadow:0 12px 28px rgba(0,0,0,.13)}
.header-inner {gap:18px;min-width:0}
.brand {min-width:185px}
.brand__name {letter-spacing:.14em;font-weight:900}
.brand__tagline {letter-spacing:.23em;color:#a2b5c3}
.main-nav {gap:clamp(13px,1.32vw,24px);margin-inline:auto;min-width:0}
.main-nav > a {font-size:11px;letter-spacing:.01em}
.main-nav > a:hover {color:#fff}
.main-nav > a.is-active:after {width:20px;background:#ee6470}
.header-connect {border-radius:6px;gap:11px;padding-inline:14px;min-height:42px}
.account-entry,.zc-notification-bell {border-radius:6px;min-height:40px}
.nav-community {position:relative;flex:0 0 auto;color:#c0c8d0}
.nav-community__trigger {display:flex;align-items:center;gap:8px;list-style:none;height:75px;cursor:pointer;font:800 11px var(--body);letter-spacing:.01em;white-space:nowrap}
.nav-community__trigger::-webkit-details-marker {display:none}
.nav-community__trigger svg {width:13px;height:13px;transition:transform .2s;color:#adbecb}
.nav-community[open] .nav-community__trigger {color:#fff}
.nav-community[open] .nav-community__trigger svg {transform:rotate(180deg)}
.nav-community__panel {position:absolute;z-index:130;top:calc(100% - 2px);right:-22px;min-width:224px;padding:8px;background:#101d29;border:1px solid rgba(150,182,201,.40);border-radius:9px;box-shadow:0 18px 45px rgba(0,0,0,.58)}
.main-nav .nav-community__panel a {display:flex;align-items:center;height:auto;min-height:42px;padding:10px 13px;color:#bacbd7;border-radius:5px;font:700 12px/1.35 var(--body);white-space:nowrap}
.main-nav .nav-community__panel a::after {display:none}
.main-nav .nav-community__panel a:hover,.main-nav .nav-community__panel a.is-active {color:white;background:rgba(76,116,140,.23)}
.main-nav .nav-community__panel a.is-active {box-shadow:inset 2px 0 #e66c7c}
.main-nav .nav-community__panel a:focus-visible {outline-offset:-3px}
.mobile-play-link {display:none!important}
/* First-screen typographic/visual rhythm. */
.hero__layout {gap:clamp(28px,3.5vw,58px);padding-top:clamp(54px,5vw,79px);padding-bottom:clamp(56px,5vw,78px)}
.hero__title {letter-spacing:.001em;line-height:1.10;font-weight:900;max-width:12ch}
.hero__description {color:#c0ccd6;line-height:1.9}
.hero__description strong {color:#fff}
.eyebrow {letter-spacing:.19em}
.hero-world {border-radius:9px;box-shadow:0 16px 35px rgba(0,0,0,.33);transition:transform .28s,border-color .28s,box-shadow .28s}
.hero-world:hover {transform:translateY(-5px);box-shadow:0 23px 45px rgba(0,0,0,.46),0 0 22px color-mix(in srgb,var(--accent) 15%,transparent)}
.hero-world h2 {letter-spacing:.02em;line-height:1.12}
.hero-world__bottom p {line-height:1.65}
.button {border-radius:6px}
.server-strip__note {color:#9cacb9;font-size:10px}
/* Useful direct links, with no invented visitor statistics. */
.zc-hub {position:relative;isolation:isolate;background:linear-gradient(110deg,#101a25,#0d1620 60%,#111b26);border-top:1px solid rgba(156,181,201,.15);border-bottom:1px solid var(--zc-border)}
.zc-hub__inner {display:grid;grid-template-columns:minmax(185px,.65fr) minmax(0,2.35fr);gap:30px;align-items:center;padding-top:19px;padding-bottom:19px}
.zc-hub__label {color:#d8e3eb;font:800 10px/1.6 var(--mono);letter-spacing:.11em}
.zc-hub__label>span {display:block;color:#ef7b86;letter-spacing:.23em;font-size:10px}
.zc-hub__label small {display:block;margin-top:4px;color:#8fa1b0;font:500 11px/1.4 var(--body);letter-spacing:normal}
.zc-hub__links {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.zc-hub__link {display:flex;align-items:center;gap:12px;min-width:0;padding:13px 14px;border:1px solid rgba(149,181,199,.24);background:rgba(8,14,23,.56);border-radius:7px;transition:transform .2s,background .2s,border-color .2s}
.zc-hub__link:hover {transform:translateY(-2px);border-color:rgba(142,196,217,.58);background:#1b2b39}
.zc-hub__icon {display:grid;place-items:center;width:31px;height:34px;border:1px solid rgba(211,106,121,.35);border-radius:5px;background:rgba(122,38,54,.14);color:#ee8291;font:800 10px var(--mono);flex:0 0 31px}
.zc-hub__copy {display:flex;flex-direction:column;gap:3px;min-width:0}
.zc-hub__copy strong {font:800 13px/1.25 var(--body);color:#edf4f7}
.zc-hub__copy small {font:500 10px/1.4 var(--body);color:#9eb1bf}
.zc-hub__arrow {font-size:17px;color:#e38592;margin-left:auto;align-self:center}
/* Section and card hierarchy across the site. */
.start-section__intro h2,.section-heading h2,.forum-masthead h1,.auth-pitch h1,.account-hero__title h1,.admin-head h1,
.zc-news-hero h1,.tickets-hero h1 {letter-spacing:.005em;line-height:1.13}
.start-section__intro p,.step p,.feature p,.about-section__text p {color:#adbfcc}
.step h3 {white-space:normal}
.step p {font-size:11px}
.connect-card__body,.connect-card__top {background:#111d29}
.connect-card__body {border-radius:0 0 8px 8px}
.connect-card__top {border-radius:8px 8px 0 0}
.features-grid {gap:12px;border:0}
.feature,.feature+.feature {border:1px solid var(--zc-border);border-radius:9px;box-shadow:var(--zc-shadow)}
.feature {min-height:246px;padding:28px}
.feature:hover {border-color:rgba(137,190,210,.45)}
.universe-heading h2 {letter-spacing:.002em}
.project-card {border-radius:12px}
.project-card h3 {letter-spacing:.015em;line-height:1.13}
.project-card p {color:#bac9d3}
/* Form, support, community and administration panels retain their behavior. */
.auth-panel,.account-card,.profile-summary,.forum-side-card,.forum-list,.forum-dialog,
.admin-app,.admin-panel,.admin-record,.admin-metric,.admin-action-card,.admin-news-media,
.zc-news-card,.zc-news-feature,.tickets-card,.ticket-card,.zc-notification-card {
  border-radius:var(--zc-radius);
}
.auth-pitch > p,.auth-panel__header p,.account-card__heading p,.forum-masthead p,.forum-category p,
.forum-side-card p {color:var(--zc-muted)}
.auth-panel {box-shadow:0 28px 70px rgba(0,0,0,.35),0 0 62px rgba(171,53,79,.06)}
.auth-form label {color:#c5d5e2}
.auth-form input,.auth-form textarea,.auth-form select {border-radius:6px}
.auth-form input:focus,.auth-form textarea:focus,.auth-form select:focus {box-shadow:0 0 0 3px rgba(105,187,211,.16)}
.account-card,.admin-panel,.forum-side-card {box-shadow:var(--zc-shadow)}
.forum-category,.forum-topic-row,.admin-record {transition:background .18s,border-color .18s}
.forum-category:hover,.forum-topic-row:hover {background:rgba(77,116,139,.13)}
.forum-category h3,.forum-topic-row__name h3 {line-height:1.45}
.forum-category__meta {white-space:nowrap}
.account-discord {border-radius:7px}
/* Universal focus/empty-state readability; no changes to generated content or APIs. */
:where(.forum-stage,.zc-news-main,.tickets-stage,.zc-notifications,.account-stage,.admin-main) :where(a,button) {text-underline-offset:3px}
:where(.forum-stage,.zc-news-main,.tickets-stage,.zc-notifications,.account-stage,.admin-main) :where(input,select,textarea):focus-visible {border-color:#8ac8dd}
:where(.forum-stage,.zc-news-main,.tickets-stage,.zc-notifications,.account-stage,.admin-main) :where(p,small) {line-height:1.65}
.footer__nav a {transition:color .2s}
/* Keep the authenticated navigation usable on laptops and narrow windows. */
@media (max-width:1350px) {
  .header-inner {gap:13px}
  .brand {min-width:173px}
  .main-nav {gap:13px}
  .main-nav>a,.nav-community__trigger {font-size:10px}
  .header-connect {padding-inline:12px}
}
@media (max-width:1250px) {
  .site-header .header-inner {height:68px}
  .main-nav {display:none;position:absolute;top:68px;left:0;right:0;min-width:0;margin:0;padding:13px max(22px,calc((100vw - 1140px)/2)) 22px;background:rgba(8,15,24,.99);border-bottom:1px solid var(--zc-border);box-shadow:0 20px 40px rgba(0,0,0,.44);flex-direction:column;gap:0;max-height:calc(100dvh - 68px);overflow-y:auto}
  .main-nav.is-open {display:flex}
  .main-nav>a {height:auto;min-height:47px;font-size:13px;border-bottom:1px solid rgba(155,177,197,.16)}
  .main-nav>a::after {display:none}
  .menu-toggle {display:flex;flex:0 0 auto}
  .nav-community {width:100%;border-bottom:1px solid rgba(155,177,197,.16)}
  .nav-community__trigger {height:48px;font-size:13px;justify-content:space-between}
  .nav-community__panel {position:static;right:auto;min-width:0;width:100%;padding:5px 0 9px 13px;margin-bottom:8px;box-shadow:none;border:0;border-left:2px solid rgba(153,185,206,.23);border-radius:0;background:transparent}
  .main-nav .nav-community__panel a {min-height:43px;font-size:13px}
  .mobile-play-link {display:flex!important;align-items:center;justify-content:space-between;color:#f2b5bc!important}
  .brand {min-width:0;margin-right:auto}
  .header-connect__full {display:none}
  .header-connect__short {display:inline}
  .account-entry[data-authenticated=true] {color:#d7f6f6}
}
@media(max-width:900px) {
  .zc-hub__inner {grid-template-columns:1fr;gap:13px}
  .zc-hub__label {display:flex;gap:9px;align-items:center;flex-wrap:wrap}
  .zc-hub__label small {margin:0 0 0 auto}
  .hero-world {min-height:360px}
}
@media(max-width:790px) {
  .main-nav {top:67px;max-height:calc(100dvh - 67px);padding:14px 22px 20px}
  .site-header .header-inner {height:67px}
  .brand__name {font-size:20px}
  .zc-hub__links {gap:7px}
  .zc-hub__link {padding:12px 10px;gap:8px}
  .zc-hub__copy small {display:none}
  .zc-hub__icon {width:25px;flex-basis:25px;height:28px;font-size:9px}
  .hero-world:hover,.project-card:hover {transform:none}
  .features-grid {gap:10px}
  .feature {min-height:180px}
}
@media(max-width:560px) {
  .hero__title {font-size:clamp(37px,9.4vw,54px);line-height:1.12}
  .hero__description {font-size:13px;line-height:1.8}
  .hero__buttons .button {min-height:45px}
  .hero-worlds {margin-right:-17px}
  .zc-hub__inner {padding-block:17px;gap:12px}
  .zc-hub__label small {width:100%;margin:0}
  .zc-hub__links {grid-template-columns:1fr 1fr 1fr}
  .zc-hub__link {justify-content:center;flex-direction:column;min-height:79px;text-align:center}
  .zc-hub__arrow {display:none}
  .zc-hub__copy strong {font-size:11px}
  .feature {padding:22px}
  .hero-world h2 {letter-spacing:.025em}
  .nav-community__trigger {font-size:13px}
}
@media(max-width:520px) {
  .site-header .header-connect {display:none}
  .site-header .header-inner {gap:9px}
  .site-header .menu-toggle {width:41px;height:41px}
  .account-entry {min-width:39px}
}
@media(max-width:355px) {
  .site-header .brand__name {font-size:17px}
  .site-header .brand__tagline {letter-spacing:.15em}
  .zc-hub__copy strong {font-size:10px}
}
@media(prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto}
  .hero-world,.zc-hub__link,.nav-community__trigger svg,.feature {transition:none!important}
}
/* v5.17 QA: never let the title punctuation become an orphan on mobile. */
.hero__title {max-width:none}
/* Content remains readable even when visibility observers are delayed. */
.js .reveal {opacity:1;transform:translateY(6px)}
.js .reveal.is-visible {opacity:1;transform:none}
.nav-community:has(a[aria-current="page"]) .nav-community__trigger {color:#f1f6f8}
@media(max-width:380px) {
  /* Reserve room for IP and copy action instead of leaving a detached icon row. */
  .server-strip__label {display:none}
  .server-strip {gap:8px}
}
