/* Consistent punctuation: compact, on the baseline, in the preceding text's color. */
:is(h1,h2,h3,h4) .node-period{display:inline!important;font-family:inherit!important;font-size:.6em!important;font-weight:inherit!important;font-style:inherit!important;line-height:0!important;vertical-align:baseline!important;color:inherit!important;position:static!important;top:auto!important;margin:0!important;letter-spacing:0!important}
/* Constrain grid tracks to the actual mobile viewport instead of image intrinsic width. */
@media(max-width:980px){html body.page-players :is(.player-showcase-grid,.nn-guide-hero){grid-template-columns:minmax(0,1fr)!important}html body.page-players :is(.nn-guide-copy,.nn-guide-hero-art,.player-system-intro,.player-vault-visual){min-width:0;max-width:100%}}
/* Reuse the homepage's real contact destinations in all page headers. */
#contacts-dialog .contacts-links{display:grid;gap:12px;margin-top:24px}
#contacts-dialog .contact-link{display:flex;align-items:center;gap:8px;padding:12px 14px;border:1px solid #7790a530;border-radius:10px;background:#07121c7a;color:#b5c2cd;text-decoration:none;font-size:15px;line-height:1.4;white-space:normal;overflow-wrap:anywhere;transition:color .18s}
#contacts-dialog .contact-link:hover{color:#f4f5f6}
#contacts-dialog .contact-link:focus-visible{outline:1px solid #e8c180;outline-offset:3px}
#contacts-dialog .contact-brand-icon{display:block;flex:none;width:22px;height:22px;margin-right:4px}
@media(prefers-reduced-motion:reduce){#contacts-dialog .contact-link{transition:none}}

/* Shared footer: homepage attribution and Worlds navigation on all pages. */
html body footer.node-site-footer{box-sizing:border-box;position:relative;display:flex!important;align-items:flex-end!important;flex:0 0 45px!important;width:100%;max-width:none;height:45px!important;min-height:45px!important;margin:0!important;padding:0 0 8px!important;border-top:1px solid rgba(100,241,217,.13)!important;background:rgba(2,13,12,.64)!important}
html body footer.node-site-footer .node-footer-inner{box-sizing:border-box;display:block;width:100%;max-width:2400px;margin:0 auto;padding:0 clamp(18px,2.15311vw,51.675px)}
html body footer.node-site-footer .node-footer-credit{position:static!important;inset:auto!important;transform:none!important;display:block!important;flex:none!important;width:auto!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;font-family:Arial,"Helvetica Neue",sans-serif!important;font-size:clamp(12px,.87vw,21px)!important;font-weight:400!important;line-height:1.5!important;letter-spacing:normal!important;color:#bdc9d5!important;text-transform:none!important;white-space:nowrap!important}
html body footer.node-site-footer .node-footer-nav{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;justify-content:center;align-items:center;gap:18px;margin:0;padding:0}
html body footer.node-site-footer .node-footer-nav a{display:inline-block;padding:5px 4px;border-radius:5px;font-family:"Avenir Next","SF Pro Text",Inter,"Segoe UI",Arial,sans-serif!important;font-size:12px!important;font-weight:500!important;line-height:normal!important;letter-spacing:normal!important;color:#a9c0b8!important;text-transform:none;text-decoration:none;white-space:nowrap;transition:color .18s ease,background-color .18s ease}
html body footer.node-site-footer .node-footer-nav a:hover{color:#dcebe4!important;background:rgba(100,241,217,.04)}
html body footer.node-site-footer .node-footer-nav a[aria-current="page"]{color:#e8c180!important;font-weight:600!important}
html body footer.node-site-footer .node-footer-nav a:focus-visible{outline:1px solid #e8c180;outline-offset:2px}
@media(max-width:1000px){
 html body footer.node-site-footer{display:block!important;flex:none!important;height:auto!important;min-height:84px!important;padding:14px 0!important}
 html body footer.node-site-footer .node-footer-inner{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
 html body footer.node-site-footer .node-footer-nav{position:static;transform:none;order:1;align-self:center;flex-wrap:wrap;gap:18px}
 html body footer.node-site-footer .node-footer-credit{order:2;font-size:14px!important}
}
@media(prefers-reduced-motion:reduce){html body footer.node-site-footer .node-footer-nav a{transition:none}}

/* Moderate, uniform weight for the player ranking title. */
html body.page-rankings .rk-board-kicker{font-weight:600!important}

/* Keep compact ranking headings legible; active sorting is marked by color. */
html body.page-rankings .rk-table thead th{font-weight:600!important;text-shadow:none!important}
html body.page-rankings .rk-table th[data-sort="ge"] .rk-sort-label{letter-spacing:.5px}
html body.page-rankings .rk-table .rk-sort-indicator{display:inline-block;margin-left:6px;font-size:12px;font-weight:400;line-height:1;letter-spacing:0;opacity:.7;color:inherit;vertical-align:baseline}
html body.page-rankings .rk-table .rk-sort-indicator::before{content:"↕"}
html body.page-rankings .rk-table th[aria-sort="ascending"] .rk-sort-indicator::before{content:"↑"}
html body.page-rankings .rk-table th[aria-sort="descending"] .rk-sort-indicator::before{content:"↓"}

/* Shared contact dialog, including encapsulated page headers. */
#contacts-dialog{box-sizing:border-box!important;width:min(560px,calc(100% - 32px))!important;max-width:560px!important;max-height:85dvh!important;margin:auto!important;overflow:auto!important;padding:30px!important;border:1px solid #d8b97d60!important;border-radius:18px!important;background:linear-gradient(145deg,#14232c,#080f16)!important;color:#eff3f7!important;box-shadow:0 24px 120px #000b!important;font-family:Arial,"Helvetica Neue",sans-serif!important;font-size:16px!important;font-weight:400!important;line-height:normal!important;text-align:left!important;letter-spacing:normal!important}
#contacts-dialog::backdrop{background:#000b;backdrop-filter:blur(7px)}
#contacts-dialog form{margin:0;padding:0}
#contacts-dialog .dialog-kicker{color:#e8c180!important;font-size:11px!important;font-weight:400!important;letter-spacing:2px!important;line-height:normal!important}
#contacts-dialog h2{margin:8px 34px 16px 0!important;font-family:inherit!important;font-size:26px!important;font-weight:700!important;line-height:1.2!important;color:#eff3f7!important;letter-spacing:normal!important}
#contacts-dialog p{margin:16px 0!important;font-size:16px!important;font-weight:400!important;line-height:1.65!important;color:#bac6d0!important;letter-spacing:normal!important}
#contacts-dialog .contacts-links{display:grid!important;gap:12px!important;margin-top:24px!important}
#contacts-dialog .contact-link{box-sizing:border-box!important;display:flex!important;align-items:center!important;gap:8px!important;padding:12px 14px!important;border:1px solid #7790a530!important;border-radius:10px!important;background:#07121c7a!important;color:#b5c2cd!important;text-decoration:none!important;font-size:15px!important;font-weight:400!important;line-height:1.4!important;letter-spacing:normal!important;white-space:normal!important;overflow-wrap:anywhere}
#contacts-dialog .contact-link:hover{color:#f4f5f6!important}
#contacts-dialog .contact-brand-icon{display:block!important;flex:none!important;width:22px!important;height:22px!important;margin-right:4px!important}
#contacts-dialog .brand-discord{color:#5865f2!important}
#contacts-dialog .brand-x{color:#f4f5f6!important}
#contacts-dialog .brand-youtube{color:#ff0033!important}
#contacts-dialog .brand-mail{color:#e8c180!important}
#contacts-dialog .close-dialog{box-sizing:border-box!important;position:absolute!important;top:14px!important;right:14px!important;display:block!important;width:32px!important;height:32px!important;margin:0!important;padding:0!important;border:1px solid #8394a04d!important;border-radius:50%!important;background:#ffffff08!important;color:#fff!important;font:400 24px/1 Arial,sans-serif!important;letter-spacing:normal!important;cursor:pointer}
#contacts-dialog .close-dialog:hover{background:#ffffff18!important}
#contacts-dialog .close-dialog:focus-visible{outline:2px solid #ffe2a7;outline-offset:4px}
/* Restore the quiet contact row in place of the footer page links. */
html body footer.node-site-footer .node-footer-contacts{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;gap:clamp(18px,2vw,30px);margin:0;padding:0;font:400 13px/20px Arial,"Helvetica Neue",sans-serif}
html body footer.node-site-footer .node-footer-contacts .contact-link{display:inline-flex;align-items:center;gap:8px;margin:0;padding:4px 0;border:0;border-radius:0;background:none;color:#a3afb9;text-decoration:none;white-space:nowrap;font:inherit;letter-spacing:normal;transition:color .18s}
html body footer.node-site-footer .node-footer-contacts .contact-feedback{padding-left:24px;border-left:1px solid #7790a540}
html body footer.node-site-footer .node-footer-contacts .contact-brand-icon{display:block;flex:none;width:16px;height:16px;margin:0;color:inherit;transition:color .18s}
html body footer.node-site-footer .node-footer-contacts .brand-youtube path:last-child{fill:#020609;transition:fill .18s}
html body footer.node-site-footer .node-footer-contacts .contact-link:is(:hover,:focus-visible){color:#e4eaf1}
html body footer.node-site-footer .node-footer-contacts .contact-link:is(:hover,:focus-visible) .brand-discord{color:#5865f2}
html body footer.node-site-footer .node-footer-contacts .contact-link:is(:hover,:focus-visible) .brand-x{color:#f4f5f6}
html body footer.node-site-footer .node-footer-contacts .contact-link:is(:hover,:focus-visible) .brand-youtube{color:#ff0033}
html body footer.node-site-footer .node-footer-contacts .contact-link:is(:hover,:focus-visible) .brand-youtube path:last-child{fill:#fff}
html body footer.node-site-footer .node-footer-contacts .contact-link:is(:hover,:focus-visible) .brand-mail{color:#e8c180}
html body footer.node-site-footer .node-footer-contacts .contact-link:focus-visible{outline:1px solid #e8c180;outline-offset:4px;border-radius:3px}
@media(max-width:1000px){html body footer.node-site-footer .node-footer-contacts{position:static;transform:none;order:1;align-self:center;flex-wrap:wrap;gap:12px 22px}}
@media(max-width:480px){html body footer.node-site-footer .node-footer-contacts{display:grid;grid-template-columns:repeat(3,max-content);gap:12px 24px}html body footer.node-site-footer .node-footer-contacts .contact-feedback{grid-column:1/-1;justify-self:center;padding-left:0;border-left:0}}
@media(prefers-reduced-motion:reduce){html body footer.node-site-footer .node-footer-contacts :is(.contact-link,.contact-brand-icon,.brand-youtube path){transition:none}}
