/* 2.7.20 public-site quality-of-life patch. Intentionally scoped away from the private reader. */

/*
 * Header geometry: fix the parent row instead of stacking button-height hacks.
 * The brand, center navigation and CTA pair each own a real grid column.
 */
.site-header {
  align-items: center !important;
}
.site-header .main-nav {
  align-items: center !important;
}
.header-actions {
  align-items: center !important;
  justify-content: end !important;
}
.header-actions > .nav-feedback,
.header-actions > .nav-cta,
.nav-feedback,
.nav-cta {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  vertical-align: middle !important;
  margin: 0 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}
.header-actions > .nav-cta > span,
.nav-cta > span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  margin-left: 5px !important;
}

/* Minecraft server information block inserted by public-qol.js. */
.server-quickbar-title.mari-qol-server-meta {
  min-width: 0;
}
.mari-qol-server-copy {
  min-width: 0;
}
.mari-qol-server-name,
.mari-qol-server-address {
  display: block;
}
.mari-qol-server-name {
  color: #d9cdeb;
  font-weight: 800 !important;
  letter-spacing: .055em;
  line-height: 1.2;
}
.mari-qol-server-version {
  color: #00ffff;
  font-weight: 800 !important;
  letter-spacing: .025em;
}
.mari-qol-server-address {
  color: #b9add3;
  line-height: 1.35;
  letter-spacing: .01em;
}
.mari-qol-server-address b {
  color: #00ffff;
  font-weight: 800 !important;
  letter-spacing: .055em;
}

@media (min-width: 1181px) {
  .site-header {
    display: grid !important;
    grid-template-columns: max-content minmax(0, 1fr) max-content !important;
    column-gap: 24px !important;
  }

  .site-header .brand {
    justify-self: start !important;
  }

  .site-header .main-nav {
    justify-self: center !important;
    gap: clamp(24px, 2.35vw, 38px) !important;
    min-width: 0 !important;
  }

  /* Two genuinely equal CTA columns. Text length no longer changes button width. */
  .header-actions {
    display: grid !important;
    grid-template-columns: repeat(2, 142px) !important;
    gap: 10px !important;
    justify-self: end !important;
  }

  .header-actions > .nav-feedback,
  .header-actions > .nav-cta,
  .nav-feedback,
  .nav-cta {
    width: 142px !important;
    min-width: 142px !important;
    height: 52px !important;
    min-height: 52px !important;
    padding: 0 12px !important;
  }

  /*
   * Server strip: a proper two-column row. The information block is left,
   * the four equal controls are right, both vertically centred.
   */
  .server-quickbar {
    min-height: 108px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(440px, 500px) !important;
    align-items: center !important;
    column-gap: 28px !important;
  }

  .server-quickbar-title.mari-qol-server-meta {
    display: grid !important;
    grid-template-columns: minmax(0, max-content) max-content !important;
    align-items: center !important;
    column-gap: 18px !important;
  }

  .mari-qol-server-copy {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 4px !important;
  }

  .mari-qol-server-name {
    font-size: 17px !important;
    white-space: nowrap;
  }
  .mari-qol-server-address {
    font-size: 14px !important;
    white-space: nowrap;
  }
  .mari-qol-server-address b {
    font-size: 13px !important;
  }

  .server-quickbar-title .server-player-count {
    align-self: start !important;
    margin-top: 0 !important;
    font-size: 13.5px !important;
  }

  .server-quickbar nav {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    align-self: center !important;
    gap: 8px !important;
  }

  .server-quickbar nav > a,
  .server-quickbar nav > button {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 46px !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  /* Match the compact server-status page top spacing on News. */
  .news-archive {
    padding-top: 22px !important;
  }
  .news-archive > .back-link {
    margin-bottom: 14px !important;
  }
}

/* Keep the desktop/tablet transition tidy instead of forcing oversized rows. */
/* Compact desktop/tablet geometry is defined once in the 901–1180px block below. */


@media (max-width: 900px) {
  .news-archive {
    padding-top: 38px !important;
  }
  .news-archive > .back-link {
    margin-bottom: 22px !important;
  }

  .server-quickbar-title.mari-qol-server-meta {
    width: 100%;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) max-content !important;
    align-items: center !important;
    gap: 10px 12px !important;
  }
  .mari-qol-server-copy {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
  }
}

/* Live Minecraft status is a real bordered badge, not floating text. */
.server-quickbar-title .server-player-count.mari-qol-status-badge,
.craft-side-count .server-player-count.mari-qol-status-badge {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: max-content !important;
  min-height: 34px !important;
  padding: 7px 11px !important;
  border: 1px solid rgba(91, 255, 173, .78) !important;
  border-radius: 999px !important;
  background: rgba(38, 167, 105, .13) !important;
  color: #7effb8 !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  box-shadow: inset 0 0 0 1px rgba(126, 255, 184, .05), 0 0 16px rgba(38, 210, 120, .06) !important;
}
.server-quickbar-title .server-player-count.mari-qol-status-badge i,
.craft-side-count .server-player-count.mari-qol-status-badge i {
  flex: 0 0 auto !important;
}
.server-quickbar-title .server-player-count.mari-qol-status-offline,
.craft-side-count .server-player-count.mari-qol-status-offline {
  border-color: rgba(255, 100, 124, .88) !important;
  background: rgba(194, 38, 70, .16) !important;
  color: #ff8295 !important;
  box-shadow: inset 0 0 0 1px rgba(255, 130, 149, .05), 0 0 16px rgba(255, 73, 104, .06) !important;
}


/* Server Status page state label gets the same unmistakable bordered treatment. */
[data-server-state].mari-qol-online,
[data-server-state].mari-qol-offline {
  display: inline-flex !important;
  align-items: center !important;
  width: max-content !important;
  min-height: 34px !important;
  padding: 7px 12px !important;
  border: 1px solid rgba(91, 255, 173, .78) !important;
  border-radius: 999px !important;
  background: rgba(38, 167, 105, .13) !important;
  color: #7effb8 !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}
[data-server-state].mari-qol-offline {
  border-color: rgba(255, 100, 124, .88) !important;
  background: rgba(194, 38, 70, .16) !important;
  color: #ff8295 !important;
}

/* Offline/down should be clearly red, never the old muted grey. */
.server-player-count.offline {
  color: #ff647c !important;
}
.server-player-count.offline i {
  background: #ff4968 !important;
  box-shadow: 0 0 0 4px rgba(255, 73, 104, .14) !important;
}
.craft-side-count .server-player-count.offline {
  border-color: #ff647c !important;
  color: #fff !important;
  background: #a91f3a !important;
}
.craft-side-count .server-player-count.offline i {
  background: #fff !important;
  box-shadow: none !important;
}
[data-server-state].mari-qol-offline,
.mari-qol-server-offline [data-server-state] {
  color: #ff647c !important;
}
[data-server-state].mari-qol-offline i,
.mari-qol-server-offline [data-server-state] i {
  background: #ff4968 !important;
  box-shadow: 0 0 0 4px rgba(255, 73, 104, .14) !important;
}
.mari-qol-server-offline [data-server-hero-title] {
  color: #ff7187 !important;
}

/* Keep the CTA pair equal on tablet/mobile as well. */
@media (max-width: 900px) {
  .header-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: min(294px, 100%) !important;
    gap: 8px !important;
  }
  .header-actions > .nav-feedback,
  .header-actions > .nav-cta,
  .nav-feedback,
  .nav-cta {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 620px) {
  .header-actions {
    width: 100% !important;
  }
}


/* 2.7.20: the WHOLE Minecraft status surfaces carry the live state border. */
.server-quickbar,
.combined-status-card {
  box-sizing: border-box !important;
  transition: background-color .18s ease, box-shadow .18s ease !important;
}

.server-quickbar.mari-qol-server-online {
  border: 2px solid rgba(120, 255, 0, .92) !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, rgba(120, 255, 0, .026), rgba(120, 255, 0, .008)) !important;
  box-shadow: inset 0 0 0 1px rgba(120, 255, 0, .045), 0 0 20px rgba(120, 255, 0, .055) !important;
}
.server-quickbar.mari-qol-server-offline {
  border: 2px solid rgba(255, 78, 105, .84) !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, rgba(255, 70, 98, .04), rgba(255, 70, 98, .012)) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 113, 133, .035), 0 0 22px rgba(255, 57, 91, .05) !important;
}

.combined-status-card.mari-qol-server-online {
  border: 2px solid rgba(120, 255, 0, .92) !important;
  box-shadow: inset 0 0 0 1px rgba(120, 255, 0, .04), 0 0 24px rgba(120, 255, 0, .055) !important;
}
.combined-status-card.mari-qol-server-offline {
  border: 2px solid rgba(255, 78, 105, .88) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 113, 133, .04), 0 0 26px rgba(255, 57, 91, .055) !important;
}

/* Online is lime green; offline/down is unmistakably red. */
.server-quickbar.mari-qol-server-online .server-player-count,
.combined-status-card.mari-qol-server-online [data-server-state] {
  color: #78ff00 !important;
}
.server-quickbar.mari-qol-server-offline .server-player-count,
.combined-status-card.mari-qol-server-offline [data-server-state] {
  color: #ff657e !important;
}

@media (min-width: 901px) {
  .server-quickbar.mari-qol-server-online,
  .server-quickbar.mari-qol-server-offline {
    padding-inline: 18px !important;
  }
}

@media (max-width: 900px) {
  .server-quickbar.mari-qol-server-online,
  .server-quickbar.mari-qol-server-offline {
    border-radius: 15px !important;
    padding: 13px 12px !important;
    gap: 12px !important;
  }
  .combined-status-card.mari-qol-server-online,
  .combined-status-card.mari-qol-server-offline {
    border-radius: 17px !important;
  }
  .mari-qol-server-name {
    font-size: 15.5px !important;
    line-height: 1.25 !important;
  }
  .mari-qol-server-address {
    font-size: 13.5px !important;
    line-height: 1.4 !important;
    overflow-wrap: anywhere;
  }
  .mari-qol-server-address b {
    font-size: 12.5px !important;
  }
}

@media (max-width: 620px) {
  .server-quickbar.mari-qol-server-online,
  .server-quickbar.mari-qol-server-offline {
    border-radius: 14px !important;
    padding: 12px 10px !important;
  }
  .mari-qol-server-copy {
    gap: 4px !important;
  }
  .mari-qol-server-name {
    white-space: normal !important;
    font-size: 15px !important;
  }
  .mari-qol-server-address {
    font-size: 13px !important;
  }
}


/* 2.7.21: mobile Minecraft server cover with persistent open/close state. */
.mari-qol-mobile-server-toggle {
  display: none !important;
}

@media (max-width: 620px) {
  .server-quickbar {
    align-items: stretch !important;
  }

  .server-quickbar-title.mari-qol-server-meta {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: start !important;
  }

  .server-quickbar-title.mari-qol-server-meta .server-player-count {
    justify-self: start !important;
    margin-top: 2px !important;
  }

  .mari-qol-mobile-server-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: max-content !important;
    min-height: 34px !important;
    padding: 7px 12px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(0, 255, 255, .46) !important;
    background: rgba(0, 255, 255, .08) !important;
    color: #dbf9ff !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    box-shadow: none !important;
  }

  .mari-qol-mobile-server-toggle-chevron {
    display: inline-block !important;
    font-size: 13px !important;
    transition: transform .18s ease !important;
  }

  .server-quickbar.mari-qol-mobile-expanded .mari-qol-mobile-server-toggle-chevron {
    transform: rotate(180deg) !important;
  }

  .server-quickbar.mari-qol-mobile-collapse-ready {
    grid-template-columns: 1fr !important;
    row-gap: 12px !important;
  }

  .server-quickbar.mari-qol-mobile-collapse-ready .server-quickbar-title {
    order: 1 !important;
  }

  .server-quickbar.mari-qol-mobile-collapse-ready nav {
    order: 2 !important;
    overflow: hidden !important;
  }

  .server-quickbar.mari-qol-mobile-collapsed nav {
    display: none !important;
  }

  .server-quickbar.mari-qol-mobile-collapsed .mari-qol-server-address {
    display: none !important;
  }

  .server-quickbar.mari-qol-mobile-expanded .mari-qol-server-address {
    display: block !important;
  }

  .server-quickbar.mari-qol-mobile-collapsed {
    padding-top: 14px !important;
    padding-bottom: 14px !important;
    row-gap: 0 !important;
  }

  .server-quickbar.mari-qol-mobile-expanded {
    padding-top: 14px !important;
    padding-bottom: 14px !important;
  }

  .server-quickbar.mari-qol-mobile-collapse-ready nav > a,
  .server-quickbar.mari-qol-mobile-collapse-ready nav > button {
    min-height: 44px !important;
    height: 44px !important;
    font-size: 14px !important;
  }

  .server-quickbar.mari-qol-mobile-collapse-ready .mari-qol-server-copy {
    gap: 5px !important;
  }

  .server-quickbar.mari-qol-mobile-collapse-ready .mari-qol-server-name {
    font-size: 15px !important;
    line-height: 1.25 !important;
  }

  .server-quickbar.mari-qol-mobile-collapse-ready .mari-qol-server-address {
    font-size: 13px !important;
    line-height: 1.38 !important;
  }

  .server-quickbar.mari-qol-mobile-collapse-ready .mari-qol-server-address b {
    font-size: 12.5px !important;
  }
}

/* 2.7.58 — one real Minecraft activity chart + hover/tap highlight. */
.mari-mc-legacy-hidden{display:none!important}
.mari-mc-activity-v2758{
  margin-top:16px;
  border:1px solid rgba(102,67,151,.92);
  border-radius:22px;
  background:linear-gradient(180deg,rgba(34,17,62,.96),rgba(27,13,50,.96));
  padding:20px 22px 18px;
  color:#f8f4ff;
  box-shadow:0 8px 0 rgba(0,0,0,.15);
  overflow:hidden;
}
.mari-mc-activity-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:14px}
.mari-mc-answer-block{display:flex;flex-direction:column;gap:4px;min-width:0}
.mari-mc-kicker{font-size:11.5px;font-weight:950;letter-spacing:.085em;color:#18e6ef;line-height:1.2}
.mari-mc-answer{font-size:clamp(22px,2.4vw,32px);font-weight:950;line-height:1.08;color:#fff;letter-spacing:-.025em}
.mari-mc-answer-sub{font-size:13.5px;font-weight:760;line-height:1.45;color:#c8bbd9}
.mari-mc-state{display:inline-flex;align-items:center;gap:7px;justify-content:center;min-height:34px;padding:7px 11px;border-radius:999px;background:rgba(18,223,232,.14);border:1px solid rgba(18,223,232,.42);color:#72f8ff;font-size:12px;font-weight:950;letter-spacing:.055em;white-space:nowrap}
.mari-mc-state i{width:8px;height:8px;border-radius:999px;background:#18e6ef;box-shadow:0 0 0 4px rgba(24,230,239,.11)}
.mari-mc-state.is-offline{background:rgba(241,107,193,.11);border-color:rgba(241,107,193,.4);color:#ff9cd9}
.mari-mc-state.is-offline i{background:#f16bc1;box-shadow:0 0 0 4px rgba(241,107,193,.11)}
.mari-mc-chart-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 5px}
.mari-mc-activity-legend{display:flex;align-items:center;gap:15px;flex-wrap:wrap;font-size:12.5px;font-weight:850;color:#d8cde8;line-height:1.3}
.mari-mc-activity-legend>span{display:inline-flex;align-items:center;gap:7px}
.mari-mc-dot{width:9px;height:9px;border-radius:999px;display:inline-block;flex:0 0 9px}
.mari-mc-dot-online{background:#15e4ee;box-shadow:0 0 0 2px rgba(21,228,238,.12)}
.mari-mc-dot-offline{background:#f16bc1}
.mari-mc-dot-unknown{background:#ffbf63}
.mari-mc-interaction-hint{font-size:11.5px;font-weight:760;color:#9f91b4;white-space:nowrap}
.mari-mc-chart-wrap{position:relative;width:100%;border-radius:15px;background:rgba(24,10,47,.44);outline:none;touch-action:pan-y;overflow:hidden}
.mari-mc-chart-wrap:focus-visible{box-shadow:inset 0 0 0 2px rgba(21,228,238,.6)}
.mari-mc-chart{display:block;width:100%;height:auto;min-height:235px;max-height:330px;overflow:visible;cursor:crosshair}
.mari-mc-gridline{stroke:rgba(171,146,206,.18);stroke-width:1}
.mari-mc-vgrid{stroke:rgba(171,146,206,.08);stroke-width:1}
.mari-mc-ylabel,.mari-mc-xlabel{fill:#aa9abb;font-size:13px;font-weight:850}
.mari-mc-player-line{fill:none;stroke:#15e4ee;stroke-width:4.2;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 5px rgba(21,228,238,.15))}
.mari-mc-line-single{fill:#15e4ee;stroke:#082235;stroke-width:1.5}
.mari-mc-outage-band{fill:rgba(241,107,193,.78);stroke:rgba(255,174,224,.72);stroke-width:1.2;filter:drop-shadow(0 0 5px rgba(241,107,193,.22))}
.mari-mc-outage-start{fill:#f16bc1;stroke:#3a1737;stroke-width:2.2}
.mari-mc-unknown-group{fill:#ffbf63;stroke:#342514;stroke-width:1.8}
.mari-mc-point-online{fill:#15e4ee;stroke:#082235;stroke-width:2}
.mari-mc-point-offline{fill:#f16bc1;stroke:#3a1737;stroke-width:2.4}
.mari-mc-point-unknown{fill:#ffbf63;stroke:#342514;stroke-width:2.4}
.mari-mc-crosshair{stroke:rgba(238,230,255,.48);stroke-width:1.3;stroke-dasharray:5 5;pointer-events:none}
.mari-mc-focus{fill:#15e4ee;stroke:#f8ffff;stroke-width:4;filter:drop-shadow(0 0 8px rgba(21,228,238,.62));pointer-events:none}
.mari-mc-focus.is-offline{fill:#f16bc1;filter:drop-shadow(0 0 8px rgba(241,107,193,.55))}
.mari-mc-focus.is-unknown{fill:#ffbf63;filter:drop-shadow(0 0 8px rgba(255,191,99,.5))}
.mari-mc-chart-tooltip{position:absolute;z-index:4;transform:translate(-50%,calc(-100% - 13px));width:min(280px,calc(100% - 24px));padding:10px 12px;border-radius:12px;background:rgba(9,5,20,.96);border:1px solid rgba(134,96,188,.9);box-shadow:0 10px 26px rgba(0,0,0,.34);pointer-events:none}
.mari-mc-chart-tooltip.mari-mc-tooltip-flip{transform:translate(-50%,13px)}
.mari-mc-chart-tooltip[hidden]{display:none!important}
.mari-mc-tooltip-time{font-size:11px;font-weight:900;letter-spacing:.05em;color:#b5a7c7;text-transform:uppercase}
.mari-mc-tooltip-value{font-size:18px;font-weight:950;line-height:1.2;color:#fff;margin-top:2px}
.mari-mc-tooltip-detail{font-size:11.5px;font-weight:720;line-height:1.42;color:#cbbfda;margin-top:4px}
.mari-mc-empty{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:28px;font-size:14px;font-weight:820;line-height:1.5;color:#cbbddd;background:linear-gradient(180deg,rgba(31,15,58,.2),rgba(31,15,58,.76));pointer-events:none}
.mari-mc-activity-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:10px;border:1px solid rgba(102,70,148,.72);border-radius:14px;overflow:hidden;background:rgba(43,22,74,.78)}
.mari-mc-activity-stats>div{padding:11px 13px;min-width:0;border-right:1px solid rgba(116,84,162,.48)}
.mari-mc-activity-stats>div:last-child{border-right:0}
.mari-mc-activity-stats span{display:block;color:#19dfe9;font-size:10.5px;font-weight:950;letter-spacing:.045em;line-height:1.2;margin-bottom:5px}
.mari-mc-activity-stats strong{display:block;font-size:15.5px;font-weight:900;line-height:1.2;color:#fff;overflow-wrap:anywhere}
.mari-mc-activity-detail{margin-top:9px;color:#ad9fbe;font-size:11.5px;font-weight:720;line-height:1.45}

@media(max-width:900px){
  .mari-mc-activity-v2758{padding:17px 15px 15px;border-radius:19px}
  .mari-mc-answer{font-size:clamp(21px,5vw,28px)}
  .mari-mc-chart-toolbar{align-items:flex-start;flex-direction:column;gap:5px}
  .mari-mc-interaction-hint{white-space:normal}
  .mari-mc-chart{min-height:220px}
  .mari-mc-activity-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mari-mc-activity-stats>div{border-bottom:1px solid rgba(116,84,162,.48)}
  .mari-mc-activity-stats>div:nth-child(2n){border-right:0}
  .mari-mc-activity-stats>div:nth-last-child(-n+2){border-bottom:0}
}

@media(max-width:560px){
  .mari-mc-activity-v2758{margin-top:12px;padding:14px 11px 12px;border-radius:17px}
  .mari-mc-activity-head{gap:10px;margin-bottom:11px}
  .mari-mc-kicker{font-size:10.5px}
  .mari-mc-answer{font-size:21px}
  .mari-mc-answer-sub{font-size:12px;line-height:1.4}
  .mari-mc-state{min-height:30px;padding:6px 8px;font-size:10.5px}
  .mari-mc-state i{width:7px;height:7px}
  .mari-mc-activity-legend{gap:8px 11px;font-size:11.5px}
  .mari-mc-interaction-hint{font-size:10.75px}
  .mari-mc-chart{min-height:205px;max-height:255px}
  .mari-mc-ylabel,.mari-mc-xlabel{font-size:12px}
  .mari-mc-player-line{stroke-width:5.5}
  .mari-mc-chart-tooltip{width:min(250px,calc(100% - 16px));padding:9px 10px}
  .mari-mc-tooltip-value{font-size:16px}
  .mari-mc-tooltip-detail{font-size:10.75px}
  .mari-mc-activity-stats{margin-top:8px}
  .mari-mc-activity-stats>div{padding:10px}
  .mari-mc-activity-stats span{font-size:9.75px}
  .mari-mc-activity-stats strong{font-size:14px}
  .mari-mc-activity-detail{font-size:10.75px}
}

/* 2.8.2 audited public geometry.
 * Only plugin-managed/long-form surfaces are touched here. The previous broad
 * `main p/li/h*` rules leaked typography into unrelated theme heroes, cards and
 * navigation and were removed.
 */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
:root{--mari-page-gutter:clamp(14px,3.2vw,32px);--mari-reading-max:1180px}

:where(.legal-section,.news-article-copy,.mari-news-community-comments){box-sizing:border-box;text-align:start;min-width:0}
:where(.legal-section,.news-article-copy) :where(h1,h2,h3,h4,p,li,dd,figcaption){overflow-wrap:break-word}
:where(.legal-section,.news-article-copy) :where(p,ul,ol,blockquote,figure){margin-inline-start:0}
:where(.legal-section,.news-article-copy) :where(ul,ol){box-sizing:border-box;padding-inline-start:1.35em}
:where(.legal-section,.news-article-copy) :where(img,video,iframe){max-width:100%;height:auto}

/* Legal pages use the same responsive outer gutter without changing the theme's
 * decorative header/navigation alignment. */
.legal-page .legal-hero,.legal-page .legal-layout{box-sizing:border-box;width:min(1180px,calc(100% - 64px));max-width:1180px;margin-inline:auto}
.legal-page .legal-section :where(h2,h3,h4,p,ul,ol,blockquote){margin-inline-right:auto}

/* Runtime-managed cards: prevent overflow and keep information text aligned. */
:where(.news-article,.news-archive,.legal-page .legal-hero,.legal-page .legal-layout,.server-quickbar,.combined-status-card,.mari-fundraiser-banner,.mari-mc-activity-v2758){box-sizing:border-box;min-width:0}
:where(.server-quickbar,.combined-status-card,.mari-fundraiser-banner,.mari-mc-activity-v2758)>*{min-width:0}
.combined-status-card :where(h1,h2,h3,p),.server-quickbar :where(.mari-qol-server-copy,.mari-qol-server-name,.mari-qol-server-address),.mari-mc-activity-v2758 :where(.mari-mc-answer-block,.mari-mc-activity-detail),:where(.mari-fundraiser-copy,.mari-fundraiser-progress,.mari-fundraiser-actions,.mari-mc-answer-block){text-align:start}
:where(.mari-fundraiser-copy p,.mari-mc-answer-sub,.mari-mc-activity-detail){max-width:72ch}

@media(max-width:900px){.legal-page .legal-hero,.legal-page .legal-layout{width:min(100% - 40px,1180px)}}
@media(max-width:700px){
  :where(.server-quickbar,.combined-status-card,.mari-fundraiser-banner,.mari-mc-activity-v2758){max-width:100%;overflow:hidden}
  :where(.server-quickbar nav,.header-actions,.mari-fundraiser-actions){min-width:0}
  :where(.server-quickbar nav>a,.server-quickbar nav>button,.header-actions>a,.header-actions>button,.mari-fundraiser-actions>a){min-width:0;max-width:100%}
}
@media(max-width:620px){.legal-page .legal-hero,.legal-page .legal-layout{width:calc(100% - 28px)}:where(.legal-section,.news-article-copy) :where(ul,ol){padding-inline-start:1.2em}}


/* 2.8.2 final audited responsive shell.
 * At compact-desktop/tablet widths the previous three-column header squeezed
 * brand + six nav links + two CTA buttons into one row. Give navigation its own
 * row before the mobile theme takes over.
 */
@media (min-width:901px) and (max-width:1180px){
  .site-header{
    grid-template-columns:minmax(0,1fr) max-content!important;
    grid-template-areas:"brand actions" "nav nav"!important;
    row-gap:12px!important;
    column-gap:18px!important;
    align-items:center!important;
  }
  .site-header .brand{grid-area:brand!important;justify-self:start!important;min-width:0!important}
  .site-header .main-nav{grid-area:nav!important;justify-self:stretch!important;display:flex!important;justify-content:center!important;gap:clamp(16px,2.2vw,28px)!important;min-width:0!important;font-size:14px!important}
  .header-actions{grid-area:actions!important;grid-template-columns:repeat(2,minmax(118px,132px))!important;justify-self:end!important}
  .header-actions>.nav-feedback,.header-actions>.nav-cta,.nav-feedback,.nav-cta{width:100%!important;min-width:0!important;height:48px!important;min-height:48px!important}
  .server-quickbar{grid-template-columns:1fr!important;row-gap:13px!important;min-height:0!important;padding-block:16px!important}
  .server-quickbar-title.mari-qol-server-meta{grid-template-columns:minmax(0,1fr) max-content!important;row-gap:6px!important}
  .mari-qol-server-name{font-size:15px!important}
  .mari-qol-server-address{font-size:12.5px!important}
  .server-quickbar-title .server-player-count{justify-self:start!important}
  .server-quickbar nav{max-width:none!important;grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .news-archive{padding-top:22px!important}
  .news-archive>.back-link{margin-bottom:14px!important}
}

/* Forms are supplied by the active theme; only impose safe geometry so long
 * labels, uploads and controls cannot overflow a phone/tablet modal. */
form[data-private-inbox-form]{box-sizing:border-box;min-width:0;max-width:100%;text-align:start}
form[data-private-inbox-form] :where(label,fieldset,div,p){min-width:0;max-width:100%}
form[data-private-inbox-form] :where(input,select,textarea,button){box-sizing:border-box;max-width:100%}
form[data-private-inbox-form] :where(input:not([type=checkbox]):not([type=radio]),select,textarea){width:100%}
form[data-private-inbox-form] textarea{min-height:120px;resize:vertical}
form[data-private-inbox-form] :where(label,p,small){overflow-wrap:break-word;text-align:start}

@media(max-width:900px){
  :where(.news-archive,.news-article,.legal-page .legal-hero,.legal-page .legal-layout){min-width:0}
  .server-quickbar nav{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .server-quickbar nav>a,.server-quickbar nav>button{min-height:44px!important;height:auto!important;padding:9px 10px!important;white-space:normal!important;text-align:center!important}
}
@media(max-width:620px){
  form[data-private-inbox-form] :where(button,[type=submit]){min-height:44px}
  .mari-mc-activity-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}
  .mari-mc-state{justify-self:end}
}
@media(max-width:420px){
  .server-quickbar nav{grid-template-columns:1fr 1fr!important}
  .mari-mc-activity-head{grid-template-columns:1fr}
  .mari-mc-state{justify-self:start}
}

/* Long-form legal pages: one readable left edge and line length at every size. */
.legal-page .legal-hero{text-align:start!important}
.legal-page .legal-hero>:where(p,h1,span,nav){max-width:980px;margin-inline-start:0;margin-inline-end:auto}
.legal-page .legal-hero nav{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:16px}
.legal-page .legal-hero nav>a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:7px 11px;box-sizing:border-box;white-space:nowrap}
.legal-page .legal-layout{display:grid;gap:26px}
.legal-page .legal-section{box-sizing:border-box;width:min(100%,900px);max-width:900px;margin-inline:0 auto;font-size:18px;line-height:1.7}
.legal-page .legal-section>h2{font-size:clamp(30px,3vw,38px);line-height:1.18;margin-top:0}
.legal-page .legal-section>h3{font-size:clamp(21px,2vw,25px);line-height:1.28;margin-top:1.45em;margin-bottom:.5em}
.legal-page .legal-section>p,.legal-page .legal-section>ul,.legal-page .legal-section>ol{max-width:78ch}
.legal-page .legal-section a{overflow-wrap:anywhere}
@media(max-width:900px){
  .legal-page .legal-section{font-size:17.5px;line-height:1.68}
  .legal-page .legal-hero nav{gap:7px}
}
@media(max-width:620px){
  .legal-page .legal-layout{gap:20px}
  .legal-page .legal-section{font-size:16.75px;line-height:1.66}
  .legal-page .legal-hero nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .legal-page .legal-hero nav>a{width:100%;min-width:0;white-space:normal;text-align:center}
  .legal-page .legal-section>h2{font-size:29px}
  .legal-page .legal-section>h3{font-size:21px}
}

/* 2.8.4: defer paint/layout work for heavy sections until they approach view. */
@supports (content-visibility:auto){
  .mari-mc-activity-v2758{content-visibility:auto;contain-intrinsic-size:auto 620px}
}


/* 2.8.19 universal public back-control + header brand alignment.
 * This is intentionally lightweight: no animation loop and no layout observer. */
.site-header .brand{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  line-height:1!important;
}
.site-header .brand>span:last-child:not(.mari-debug-brand-label),
.site-header .brand>b:last-child:not(.mari-debug-brand-label),
.site-header .brand>i:last-child:not(.mari-debug-brand-label){
  align-self:center!important;
  vertical-align:middle!important;
  margin-block:0!important;
  transform:none!important;
  line-height:1!important;
}
.site-header .brand.mari-brand-aligned{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  line-height:1!important;
}
.site-header .brand.mari-brand-aligned .mari-brand-bang{
  box-sizing:border-box!important;
  display:inline-grid!important;
  place-items:center!important;
  align-self:center!important;
  vertical-align:middle!important;
  position:static!important;
  inset:auto!important;
  margin:0!important;
  transform:none!important;
  line-height:1!important;
}
.site-header .brand.mari-brand-aligned::after{
  align-self:center!important;
  vertical-align:middle!important;
  margin-block:0!important;
  transform:none!important;
}

:where(
  .mari-back-control,
  .news-article>a:first-child,
  .mari-news-back,
  .news-archive>.back-link,
  .legal-page .back-link,
  [data-mari-back]
){
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:9px!important;
  width:fit-content!important;
  max-width:100%!important;
  min-height:42px!important;
  margin:0!important;
  padding:7px 15px 7px 12px!important;
  border:1px solid rgba(139,96,199,.68)!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,rgba(42,25,70,.94),rgba(25,15,44,.96))!important;
  box-shadow:0 5px 16px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.035)!important;
  color:#eee8f8!important;
  font-family:'Fredoka',ui-rounded,system-ui,sans-serif!important;
  font-size:15.5px!important;
  font-weight:650!important;
  line-height:1.18!important;
  letter-spacing:.012em!important;
  word-spacing:.025em!important;
  text-align:start!important;
  text-decoration:none!important;
  cursor:pointer!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
:where(
  .mari-back-control,
  .news-article>a:first-child,
  .mari-news-back,
  .news-archive>.back-link,
  .legal-page .back-link,
  [data-mari-back]
)::before{
  content:""!important;
  display:block!important;
  flex:0 0 18px!important;
  width:18px!important;
  height:18px!important;
  margin:0!important;
  background:#7df9ff!important;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M8.2 4.4 2.6 10l5.6 5.6M3.1 10h14.3' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px 18px no-repeat!important;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M8.2 4.4 2.6 10l5.6 5.6M3.1 10h14.3' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px 18px no-repeat!important;
}
:where(
  .mari-back-control,
  .news-article>a:first-child,
  .mari-news-back,
  .news-archive>.back-link,
  .legal-page .back-link,
  [data-mari-back]
):hover{
  border-color:rgba(106,233,244,.72)!important;
  background:linear-gradient(180deg,rgba(38,38,67,.96),rgba(23,22,48,.98))!important;
  color:#fff!important;
}
:where(
  .mari-back-control,
  .news-article>a:first-child,
  .mari-news-back,
  .news-archive>.back-link,
  .legal-page .back-link,
  [data-mari-back]
):focus-visible{
  outline:3px solid rgba(65,239,245,.58)!important;
  outline-offset:2px!important;
}

.mari-back-top-control::before{
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4.4 8.2 10 2.6l5.6 5.6M10 3.1v14.3' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px 18px no-repeat!important;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4.4 8.2 10 2.6l5.6 5.6M10 3.1v14.3' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px 18px no-repeat!important;
}

@media(max-width:620px){
  :where(.mari-back-control,.news-article>a:first-child,.mari-news-back,.news-archive>.back-link,.legal-page .back-link,[data-mari-back]){
    min-height:40px!important;padding:7px 13px 7px 11px!important;gap:8px!important;font-size:14.5px!important
  }
  :where(.mari-back-control,.news-article>a:first-child,.mari-news-back,.news-archive>.back-link,.legal-page .back-link,[data-mari-back])::before{
    flex-basis:17px!important;width:17px!important;height:17px!important;-webkit-mask-size:17px 17px!important;mask-size:17px 17px!important
  }
}


/* 2.8.24 homepage social cards: render the whole card set immediately.
 * Classes are added only to known social-link groups by public-qol.js. */
.mari-eager-social-group,.mari-eager-social-ancestor{content-visibility:visible!important}
.mari-eager-social-card,.mari-eager-social-link{content-visibility:visible!important;visibility:visible!important;opacity:1!important}


/* 2.8.26: homepage social cards are visible immediately; no scroll-trigger delay. */
.mari-eager-social-card,.mari-eager-social-link{transition-delay:0s!important}

.mari-eager-home-content{content-visibility:visible!important;visibility:visible!important;opacity:1!important;transition-delay:0s!important}
