/* Layout and accessibility additions to the retained Bootstrap template. */
body { min-height: 100vh; }
[hidden] { display: none !important; }
.skip-link { position: fixed; top: -100px; left: 16px; z-index: 2000; padding: 12px 18px; background: #fff; color: #0d6efd; }
.skip-link:focus { top: 12px; }
:focus-visible { outline: 3px solid #0d6efd; outline-offset: 3px; }
.navbar-toggler { filter: none; box-shadow: none !important; }
.menu-bars { display: block; font-size: 1.4rem; line-height: 1; }
.mobile-links .nav-link { font-size: .85rem; }
.project-heading { text-shadow: 0 2px 8px #000; }
.project-heading h1 { font-weight: 700; letter-spacing: .04em; }
.server-statistics { min-width: 170px; }
.server-statistics p { white-space: nowrap; }
.main-shell { color: #212529; }
.main-shell .form-label { color: #343a40; }
.main-shell p { line-height: 1.7; }
.page-panel { scroll-margin-top: 20px; }
.page-panel h2 { scroll-margin-top: 20px; }
.form-message:empty { display: none; }
.form-message { overflow-wrap: anywhere; }
.form-message.error { color: #b02a37; }
.form-message.success { color: #146c43; }
.form-message.pending { color: #495057; }
.ranking-table { font-size: .84rem; }
.ranking-table th, .ranking-table td { vertical-align: middle; }
.ranking-table td.name-cell { overflow-wrap: anywhere; }
.ranking-table .online-label { font-size: .72rem; }
.news-item summary { cursor: pointer; }
.news-item details p { line-height: 1.75; }
.news-item time { white-space: nowrap; }
#sidebar-rankings .ranking-table { font-size: .76rem; }
#sidebar-rankings .ranking-table th, #sidebar-rankings .ranking-table td { padding: .45rem .35rem; }
#sidebar-rankings .online-label { font-size: .67rem; }
#sidebar-rankings .nav-link { font-size: .78rem; }
.event-countdown { font-variant-numeric: tabular-nums; white-space: nowrap; }
.legal-page { max-width: 950px; }
.legal-page p, .legal-page li { color: #6c757d; line-height: 1.8; }
.legal-page h2 { font-size: 1.3rem; margin-top: 2rem; }
.legal-page .document-date { font-size: .8rem; }
@media (max-width: 991.98px) { .project-heading { padding-bottom: 5px; } .container.mt-5 { margin-top: 1.5rem !important; } }
@media (max-width: 575.98px) { .container { padding-right: 15px; padding-left: 15px; } .main-shell { padding: 14px !important; } .news-item { padding: 18px !important; } .news-item .badge { font-size: .6rem; padding: .5rem .65rem !important; } .news-item time { font-size: .7rem; } .project-heading h1 { font-size: 1.6rem; } .server-statistics { min-width: 160px; } .main-shell aside > div { padding: 20px !important; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; } }

@media (max-width: 575.98px) { .server-widget img { width: 80px; height: auto; } .server-widget .server-statistics { min-width: 0; margin-left: 8px !important; } .server-widget .server-statistics p { font-size: .75rem; } }
