/* Ash & Blood v5.58 cross-site visual/accessibility consistency layer. */
:root{
  --ab-readable:clamp(1rem,.96rem + .12vw,1.075rem);
  --ab-leading:1.68;
  --ab-touch:44px;
  --ab-card-radius:18px;
}
html{scroll-padding-top:84px}
body{font-size:var(--ab-readable);line-height:var(--ab-leading);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
main p,main li,main dd,.ab-card p,.ab-lede{line-height:var(--ab-leading)}
.ab-muted,small,.ab-field-foot{line-height:1.5}
.ab-card,.ab-panel,.sg-panel{border-radius:var(--ab-card-radius)}
.ab-btn,button,input[type="button"],input[type="submit"],select{min-height:40px}
.ab-btn:not(.ab-btn-sm){min-height:var(--ab-touch)}
input,textarea,select,button{font:inherit}
input,textarea,select{font-size:max(16px,1em)}
img,video,canvas,svg{max-width:100%}
main{min-width:0}
.ab-wrap,.ab-shell,.ab-grid,.ab-card{min-width:0}
:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible{outline:3px solid rgba(224,185,115,.85);outline-offset:3px;box-shadow:0 0 0 2px rgba(8,10,12,.9)}
[hidden]{display:none!important}
.ab-loading{min-height:72px;display:grid;place-items:center;text-align:center}
.ab-error{overflow-wrap:anywhere}
/* Consistent metadata chips and subdued secondary labels. */
.ab-chip{line-height:1.25}
.ab-eyebrow,.ab-kicker{letter-spacing:.12em}
/* Keep legacy pages from shrinking ordinary reading copy below a usable baseline. */
.page-content p,.content-section p,.wiki-article-content,.event-desc,.character-description{font-size:max(.98rem,1em)}
/* Compact account/status/navigation additions. */
.ab-nav-dropdown .ab-nav-section-label{padding:.45rem .8rem .25rem;color:#b59a71;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;pointer-events:none}
.ab-nav-dropdown .ab-nav-divider{height:1px;margin:.35rem .7rem;background:rgba(255,255,255,.07)}
.ab-footer-v13__micro-links a{min-height:34px;display:inline-flex;align-items:center}
/* Public status */
.ab-status-page .ab-page-hero{align-items:center}
.ab-status-grid-public{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0}
.ab-status-card{position:relative;padding:1.25rem;border:1px solid rgba(255,255,255,.09);background:rgba(13,17,20,.82);border-radius:18px;overflow:hidden}
.ab-status-card::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:#9a814f}
.ab-status-card.is-good::before{background:#67b979}.ab-status-card.is-bad::before{background:#bc5960}.ab-status-card.is-warn::before{background:#d3a85c}
.ab-status-card span{display:flex;align-items:center;gap:.5rem;color:#aab0b5;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}
.ab-status-card strong{display:block;margin:.55rem 0 .25rem;font-family:Cinzel,serif;font-size:1.35rem;color:#f0ede6}
.ab-status-card p{margin:0;color:#969da4;font-size:.93rem}
.ab-status-dot-live{width:.55rem;height:.55rem;border-radius:50%;background:#777;box-shadow:0 0 0 4px rgba(255,255,255,.04)}
.is-good .ab-status-dot-live{background:#67b979}.is-bad .ab-status-dot-live{background:#bc5960}.is-warn .ab-status-dot-live{background:#d3a85c}
.ab-status-detail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:1rem}
.ab-status-detail div{padding:.85rem 1rem;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:rgba(255,255,255,.025)}
.ab-status-detail small{display:block;color:#8e969c}.ab-status-detail b{display:block;margin-top:.15rem;color:#e8e5df}
@media(max-width:900px){
  body{font-size:1rem}.ab-status-grid-public,.ab-status-detail{grid-template-columns:1fr}
  .ab-btn,button,[role="button"]{min-height:44px}
  .ab-page-hero{gap:1rem}
  .ab-card{padding:clamp(.9rem,4vw,1.2rem)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}
.ab-status-more{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin:.7rem -.15rem -.15rem;padding:.65rem .7rem;border-top:1px solid rgba(255,255,255,.07);color:#d6c6aa;text-decoration:none;font-size:.8rem}
.ab-status-more:hover{color:#fff;background:rgba(255,255,255,.035)}
@media(max-width:760px){.ab-footer-v13__directory{gap:1rem}.ab-footer-v13__col a{min-height:44px}.ab-nav-mobile-actions a,.ab-nav-mobile-actions button{font-size:1rem}}
