@font-face {
    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url('../fonts/dm-sans-latin-ext-v17.woff2?v=17') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url('../fonts/dm-sans-latin-v17.woff2?v=17') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: 'Outfit';
    font-style: normal;
    font-weight: 400 800;
    font-display: swap;
    src: url('../fonts/outfit-latin-ext-v15.woff2?v=15') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: 'Outfit';
    font-style: normal;
    font-weight: 400 800;
    font-display: swap;
    src: url('../fonts/outfit-latin-v15.woff2?v=15') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
    --az-scroll-track: #0b192d;
    --az-scroll-thumb: #3278bd;
    --az-scroll-thumb-hover: #64b7ff;
    --az-bg: #080f20;
    --az-surface: #0e1a30;
    --az-surface-raised: #14233c;
    --az-border: rgba(153, 192, 243, .14);
    --az-text: #ecf4ff;
    --az-muted: #9cafc9;
    --az-accent: #64b7ff;
    --az-accent-strong: #287ce9;
    --az-gold: #edb65f;
    --az-header-bg: #081224;
    --az-header-border: rgba(153, 192, 243, .12);
    --az-brand-text: #fff;
    --az-brand-highlight: #7fc2ff;
    --az-nav-text: #b8c9e0;
    --az-nav-hover: #fff;
    --az-dropdown-bg: #13243c;
    --az-dropdown-text: #c9d9ed;
    --az-dropdown-hover-bg: #20436d;
    --az-dropdown-hover-text: #fff;
    --az-menu-border: rgba(153, 192, 243, .13);
    --az-hero-overlay: linear-gradient(90deg, rgba(5, 13, 29, .96) 0%, rgba(7, 18, 38, .89) 39%, rgba(7, 18, 38, .57) 100%);
    --az-hero-glow: rgba(38, 135, 255, .2);
    --az-hero-text: #fff;
    --az-hero-muted: #c1d0e1;
    --az-hero-subtle: #a7bed9;
    --az-hero-panel-bg: rgba(10, 24, 48, .78);
    --az-hero-panel-border: rgba(174, 215, 255, .26);
    --az-hero-panel-muted: #bacce1;
    --az-page-overlay: linear-gradient(90deg, rgba(7, 19, 40, .95), rgba(8, 26, 56, .8));
    --az-page-title: #fff;
    --az-page-subtitle: #bccbde;
    --az-footer-bg: #071021;
    --az-footer-text: #9cb0cb;
    --az-footer-link: #afc2dc;
    --az-footer-border: rgba(153, 192, 243, .13);
    --az-footer-heading: #fff;
    --az-form-bg: #14233c;
    --az-card-shadow: rgba(0, 0, 0, .06);
    --az-table-head: #172b46;
    --az-table-head-text: #e9f3ff;
    --az-badge-bg: #274267;
    --az-badge-text: #fff;
    --az-online-text: #74d5ab;
    --az-online-dot: #55d896;
    --az-offline-text: #ff858e;
    --az-offline-dot: #ef5b68;
}

html[data-bs-theme="light"] {
    --az-scroll-track: #e5eef9;
    --az-scroll-thumb: #6297ca;
    --az-scroll-thumb-hover: #2474be;
}
html { scroll-behavior: smooth; scrollbar-width: thin; scrollbar-color: var(--az-scroll-thumb) var(--az-scroll-track); }
html::-webkit-scrollbar, .account-notifications-list::-webkit-scrollbar { width: 10px; height: 10px; }
html::-webkit-scrollbar-track, .account-notifications-list::-webkit-scrollbar-track { background: var(--az-scroll-track); }
html::-webkit-scrollbar-thumb, .account-notifications-list::-webkit-scrollbar-thumb { border: 2px solid var(--az-scroll-track); border-radius: 999px; background: var(--az-scroll-thumb); }
html::-webkit-scrollbar-thumb:hover, .account-notifications-list::-webkit-scrollbar-thumb:hover { background: var(--az-scroll-thumb-hover); }
.account-notifications-list { scrollbar-width: thin; scrollbar-color: var(--az-scroll-thumb) var(--az-scroll-track); }
body.azuria-site {
    min-height: 100vh;
    background: var(--az-bg);
    color: var(--az-text);
    font-family: 'DM Sans', sans-serif;
    line-height: 1.65;
    --bs-body-bg: var(--az-bg);
    --bs-body-color: var(--az-text);
    --bs-border-color: var(--az-border);
    --bs-primary: var(--az-accent-strong);
    --bs-link-color: var(--az-accent);
    --bs-link-hover-color: #a9d7ff;
}
body.azuria-site[data-bs-theme="light"] {
    --az-bg: #f4f8fe;
    --az-surface: #fff;
    --az-surface-raised: #eaf2fc;
    --az-border: #d7e3f1;
    --az-text: #172d49;
    --az-muted: #536b86;
    --az-accent: #155fae;
    --az-accent-strong: #277bea;
    --az-header-bg: #fff;
    --az-header-border: #dce7f3;
    --az-brand-text: #173252;
    --az-brand-highlight: #276bbc;
    --az-nav-text: #3d5675;
    --az-nav-hover: #173252;
    --az-dropdown-bg: #fff;
    --az-dropdown-text: #29435f;
    --az-dropdown-hover-bg: #eaf2fc;
    --az-dropdown-hover-text: #133e70;
    --az-menu-border: #e2eaf4;
    --az-hero-overlay: linear-gradient(90deg, rgba(247, 251, 255, .98) 0%, rgba(246, 250, 255, .92) 42%, rgba(230, 242, 255, .62) 100%);
    --az-hero-glow: rgba(101, 170, 246, .15);
    --az-hero-text: #16304f;
    --az-hero-muted: #3c5878;
    --az-hero-subtle: #526f90;
    --az-hero-panel-bg: rgba(255, 255, 255, .91);
    --az-hero-panel-border: rgba(94, 143, 196, .34);
    --az-hero-panel-muted: #526d8a;
    --az-page-overlay: linear-gradient(90deg, rgba(245, 250, 255, .97), rgba(231, 242, 255, .8));
    --az-page-title: #173252;
    --az-page-subtitle: #536d89;
    --az-footer-bg: #e9f1fb;
    --az-footer-text: #5a718d;
    --az-footer-link: #395c80;
    --az-footer-border: #d4e2f0;
    --az-footer-heading: #173252;
    --az-form-bg: #f8fbff;
    --az-card-shadow: rgba(30, 72, 116, .08);
    --az-table-head: #e5effa;
    --az-table-head-text: #254565;
    --az-badge-bg: #dceaf9;
    --az-badge-text: #234c78;
    --az-online-text: #137955;
    --az-online-dot: #159b6b;
    --az-offline-text: #b42335;
    --az-offline-dot: #d13447;
    --bs-link-hover-color: #0c4d96;
}
body.azuria-site a { text-decoration: none; }
body.azuria-site img { max-width: 100%; height: auto; }
body.azuria-site h1,
body.azuria-site h2,
body.azuria-site h3,
body.azuria-site h4,
body.azuria-site h5 { font-family: 'Outfit', sans-serif; letter-spacing: -.025em; }
body.azuria-site :focus-visible { outline: 2px solid var(--az-accent); outline-offset: 3px; }

.server-status-banner { color: var(--az-text); background: var(--az-surface-raised); border-bottom: 1px solid var(--az-header-border); }
.server-status-inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) minmax(0, 1fr); align-items: center; gap: 1rem; min-height: 44px; padding: .4rem clamp(16px, 2.5vw, 48px); }
.server-status-meta { grid-column: 1; display: inline-flex; align-items: center; flex-wrap: wrap; gap: .55rem; min-width: 0; font-size: .79rem; }
.server-status-meta strong { color: var(--az-text); font-weight: 700; }
.server-status-dot { flex: none; width: 7px; height: 7px; border-radius: 50%; background: var(--az-offline-dot); box-shadow: 0 0 0 3px rgba(239, 91, 104, .13); }
.server-status-dot.is-online { background: var(--az-online-dot); box-shadow: 0 0 0 3px rgba(81, 216, 150, .13); }
.server-status-state { color: var(--az-offline-text); font-weight: 700; }
.server-status-state.is-online { color: var(--az-online-text); }
.server-status-players { color: var(--az-online-text); }
.server-status-announcements { grid-column: 2; display: flex; align-items: center; justify-content: center; min-width: 0; overflow: hidden; color: var(--az-text); font-size: .79rem; font-weight: 600; text-align: center; white-space: nowrap; }
.server-status-announcement { overflow: hidden; color: var(--az-text); text-overflow: ellipsis; white-space: nowrap; }
.server-status-announcement[href] { color: var(--az-accent); }
.server-status-announcement[href]:hover { color: var(--bs-link-hover-color); text-decoration: underline; }
.server-status-caret { flex: none; width: 2px; height: 1em; margin-left: 3px; background: var(--az-accent); animation: server-status-caret-blink 1s steps(1) infinite; }
@keyframes server-status-caret-blink { 50% { opacity: 0; } }
.server-status-address { grid-column: 3; display: inline-flex; align-items: center; justify-content: flex-end; gap: .5rem; max-width: 100%; margin-left: auto; padding: 0; border: 0; background: transparent; color: var(--az-accent); font: inherit; font-size: .79rem; font-weight: 700; text-align: right; cursor: pointer; }
.server-status-address span { overflow-wrap: anywhere; }
.server-status-address:hover { color: var(--bs-link-hover-color); }
.site-header { position: relative; z-index: 50; background: var(--az-header-bg); border-bottom: 1px solid var(--az-header-border); }
.azuria-navbar { min-height: 98px; padding: .55rem 0; }
.azuria-nav-shell { padding-inline: clamp(16px, 2.5vw, 48px); }
.azuria-brand { display: inline-flex; align-items: center; gap: .75rem; margin-right: 0; font-family: 'Outfit', sans-serif; font-size: 1.4rem; font-weight: 800; letter-spacing: .045em; color: var(--az-brand-text); }
.azuria-brand:hover, .azuria-brand:focus { color: var(--az-brand-text); }
.azuria-brand img { width: 68px; height: 68px; object-fit: contain; }
.azuria-brand span span { color: var(--az-brand-highlight); }
.azuria-navbar .nav-link { color: var(--az-nav-text); font-weight: 600; font-size: 1.04rem; padding: .8rem 1rem !important; transition: color .2s ease; }
.azuria-navbar .nav-main-links .nav-link > .bi:first-child { margin-right: .3rem; }
.azuria-navbar .nav-link:hover, .azuria-navbar .nav-link.active, .azuria-navbar .nav-link:focus { color: var(--az-nav-hover); }
.azuria-navbar .nav-link.active { position: relative; }
.azuria-navbar .nav-link.active::after { content: ''; position: absolute; bottom: .24rem; left: 1rem; right: 1rem; height: 2px; background: var(--az-accent); border-radius: 4px; }
.nav-account { gap: .25rem; }
.nav-account .nav-link { font-size: .95rem; }
.nav-register { white-space: nowrap; font-size: .86rem; padding: .58rem .85rem; }
.azuria-navbar .nav-account .account-link, .theme-switch-button { box-sizing: border-box; height: 44px; border: 1px solid var(--az-border); border-radius: .7rem; background: linear-gradient(135deg, var(--az-surface-raised), var(--az-header-bg)); box-shadow: 0 4px 14px var(--az-card-shadow), inset 0 1px rgba(255, 255, 255, .08); transition: background .2s, border-color .2s, box-shadow .2s; }
.azuria-navbar .nav-account .account-link { display: inline-flex; align-items: center; gap: .5rem; padding: 4px .75rem 4px 4px !important; color: var(--az-text); white-space: nowrap; }
.azuria-navbar .nav-account .account-link:hover, .azuria-navbar .nav-account .account-link:focus, .azuria-navbar .nav-account .account-link[aria-expanded="true"], .theme-switch-button:hover { border-color: var(--az-accent); background: var(--az-dropdown-hover-bg); color: var(--az-dropdown-hover-text); box-shadow: 0 5px 16px var(--az-card-shadow); }
.account-link .account-avatar { display: block; flex: 0 0 32px; width: 32px; height: 32px; object-fit: cover; border: 1px solid var(--az-border); border-radius: .45rem; background: #1b3557; }
.theme-switch-form { margin: 0; }
.theme-switch-button { display: grid; place-items: center; width: 44px; height: 44px; padding: 4px; color: var(--az-accent); font-size: 1.05rem; }
.theme-switch-button:focus-visible { outline: 2px solid var(--az-accent); outline-offset: 2px; }
@media (min-width: 992px) {
    .azuria-nav-shell { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; }
    .azuria-brand { grid-column: 1; justify-self: start; }
    .azuria-navbar .navbar-collapse { display: contents !important; }
    .azuria-navbar .navbar-collapse > .navbar-nav:first-child { grid-column: 2; justify-self: center; margin: 0 !important; }
    .azuria-navbar .nav-account { grid-column: 3; justify-self: end; margin: 0; }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
    .azuria-navbar .nav-link { font-size: .98rem; padding-inline: .7rem !important; }
    .azuria-brand { font-size: 1.24rem; }
    .azuria-brand img { width: 60px; height: 60px; }
}
.dropdown-menu { background: var(--az-dropdown-bg); border: 1px solid var(--az-menu-border); box-shadow: 0 20px 50px var(--az-card-shadow); padding: .45rem; border-radius: .7rem; }
.dropdown-item { color: var(--az-dropdown-text); border-radius: .4rem; padding: .55rem .7rem; }
.dropdown-item:hover, .dropdown-item:focus, .dropdown-item.active { color: var(--az-dropdown-hover-text); background: var(--az-dropdown-hover-bg); }
.dropdown-item .bi { margin-right: .35rem; }
.account-menu { width: min(300px, calc(100vw - 32px)); }
.account-menu > .dropdown-item { padding: .45rem .65rem; }
.account-menu > .dropdown-item:not(:first-child) { margin-top: .2rem; }
.azuria-navbar .account-menu .dropdown-item.account-logout-link, .azuria-navbar .account-menu .dropdown-item.account-logout-link .bi { color: var(--az-offline-text); }
.azuria-navbar .account-menu .dropdown-item.account-logout-link:hover, .azuria-navbar .account-menu .dropdown-item.account-logout-link:focus { color: var(--az-offline-text); background: color-mix(in srgb, var(--az-offline-text) 14%, transparent); }
.account-menu .account-notifications-link { display: flex; align-items: center; gap: .35rem; color: #fff; background: #193859; }
.account-menu .account-notifications-link:hover, .account-menu .account-notifications-link:focus { color: #fff; background: #24517d; }
.account-menu .account-notifications-link.has-unread .account-notifications-label { color: #ffb454; }
.account-notifications-count { min-width: 1.55rem; padding: .3rem .45rem; color: #fff; background: #d62e48; font-size: .72rem; font-weight: 800; text-align: center; }
.account-notifications-list { max-height: 280px; overflow-y: auto; border-top: 1px solid var(--az-menu-border); border-bottom: 1px solid var(--az-menu-border); margin: .4rem 0; padding: .4rem 0; }
.account-notification-item { display: flex; flex-direction: column; white-space: normal; line-height: 1.45; }
.account-notification-item + .account-notification-item { border-top: 1px solid var(--az-menu-border); }
.account-notifications-read { color: var(--az-accent); font-size: .83rem; font-weight: 700; text-align: center; }

.section-eyebrow { display: inline-flex; align-items: center; gap: .7rem; color: var(--az-accent); font-size: .72rem; font-weight: 800; letter-spacing: .2em; }
.eyebrow-line { display: inline-block; width: 24px; height: 1px; background: currentColor; }
.home-hero { position: relative; overflow: hidden; background: var(--az-hero-overlay), url('../images/hero-bg-1440.webp') center 46% / cover no-repeat; }
.home-hero::before { content: ''; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(ellipse at 76% 60%, var(--az-hero-glow), transparent 38%); }
.hero-inner { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 315px; align-items: center; gap: 5rem; min-height: 635px; padding-top: 5.2rem; padding-bottom: 5.5rem; }
.hero-copy { max-width: 660px; }
.hero-copy h1 { max-width: 680px; margin: 1.35rem 0 1.35rem; color: var(--az-hero-text); font-size: clamp(3rem, 5.8vw, 5.4rem); line-height: 1.04; font-weight: 700; }
.hero-description { max-width: 575px; color: var(--az-hero-muted); font-size: 1.1rem; line-height: 1.8; margin-bottom: 2rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; }
.hero-actions .btn { padding: .8rem 1.25rem; font-size: .94rem; }
.hero-panel { justify-self: end; width: 100%; padding: 1.4rem; text-align: center; color: var(--az-hero-text); background: var(--az-hero-panel-bg); border: 1px solid var(--az-hero-panel-border); border-radius: 1.2rem; box-shadow: 0 25px 80px var(--az-card-shadow); backdrop-filter: blur(16px); }
.hero-panel-top { display: flex; align-items: center; justify-content: center; gap: .55rem; font-size: .81rem; color: var(--az-hero-panel-muted); }
.hero-panel-top .bi { color: var(--az-accent); }
.hero-panel img { display: block; width: 215px; height: 215px; object-fit: contain; margin: 1rem auto; filter: drop-shadow(0 20px 22px rgba(0, 0, 0, .27)); }
.hero-panel-bottom { display: flex; flex-direction: column; border-top: 1px solid var(--az-hero-panel-border); padding-top: 1rem; }
.hero-panel-bottom span { color: var(--az-hero-panel-muted); font-size: .66rem; font-weight: 800; letter-spacing: .14em; }
.hero-panel-bottom strong { font-family: 'Outfit', sans-serif; font-size: 1.8rem; }
.hero-panel-bottom small { color: var(--az-hero-panel-muted); }
.hero-bottom-line { position: absolute; bottom: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, #1669cd, #69bdff 50%, transparent); }

.home-content { padding-top: 4rem; padding-bottom: 5rem; }
.home-message { display: flex; align-items: flex-start; gap: 1.2rem; padding: 1.35rem 1.5rem; margin-bottom: 4rem; border: 1px solid var(--az-border); border-left: 3px solid var(--az-accent); border-radius: .8rem; background: var(--az-surface); }
.home-message-icon { display: grid; place-items: center; flex: 0 0 42px; height: 42px; color: var(--az-accent); background: rgba(75, 160, 252, .12); border-radius: .6rem; font-size: 1.1rem; }
.home-message-content > :last-child { margin-bottom: 0; }
.home-section { margin-top: 6rem; }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-bottom: 1.8rem; }
.section-heading h2 { margin: .9rem 0 0; font-size: clamp(2.1rem, 3.8vw, 3.5rem); font-weight: 700; line-height: 1.12; }
.section-heading p { color: var(--az-muted); margin-bottom: .25rem; }
.section-more { color: var(--az-accent); font-weight: 700; white-space: nowrap; }
.section-more .bi { margin-left: .35rem; }
.news-card { background: var(--az-surface); border: 1px solid var(--az-border); border-radius: .9rem; overflow: hidden; }
.news-card { display: flex; flex-direction: column; }
.news-image { display: block; aspect-ratio: 16 / 9; overflow: hidden; }
.news-image img { width: 100%; height: 100% !important; object-fit: cover; transition: transform .35s ease; }
.news-card:hover .news-image img { transform: scale(1.04); }
.news-body { display: flex; flex-direction: column; flex: 1; padding: 1.5rem; }
.news-date { color: var(--az-accent); font-size: .77rem; font-weight: 700; }
.news-body h3 { margin: .5rem 0 .65rem; font-size: 1.4rem; }
.news-body h3 a { color: var(--az-text); }
.news-body p { color: var(--az-muted); font-size: .91rem; }
.news-link { margin-top: auto; color: var(--az-accent); font-size: .86rem; font-weight: 700; }
.news-link .bi { margin-left: .25rem; }

.page-banner { position: relative; overflow: hidden; background: url('../images/hero-bg-1440.webp') center center / cover no-repeat; }
@media (max-width: 767.98px) {
    .home-hero { background-image: var(--az-hero-overlay), url('../images/hero-bg-720.webp'); }
    .page-banner { background-image: url('../images/hero-bg-720.webp'); }
}
.page-banner-has-image { background-image: none; }
.page-banner-featured { --az-page-overlay: linear-gradient(90deg, rgba(3, 6, 12, .78) 0%, rgba(4, 8, 16, .6) 48%, rgba(4, 9, 18, .42) 100%); display: flex; align-items: center; min-height: clamp(310px, 25vw, 375px); }
body.azuria-site[data-bs-theme="light"] .page-banner-featured { --az-page-overlay: linear-gradient(90deg, rgba(224, 238, 255, .88) 0%, rgba(216, 234, 255, .72) 48%, rgba(217, 235, 255, .5) 100%); }
.page-banner-featured > .container { width: 100%; }
.page-banner-featured-layout { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); align-items: center; gap: clamp(2rem, 5vw, 5rem); }
.page-banner-featured-layout-text-only { grid-template-columns: minmax(0, 1fr); }
.page-banner-featured-copy { position: relative; min-width: 0; }
.page-banner-featured-copy .page-banner-title { color: #fff; font-weight: 800; text-shadow: 0 2px 8px rgba(0, 0, 0, .42); }
.page-banner-featured-copy .page-banner-subtitle { color: #f1f6ff; font-size: clamp(1rem, 1.5vw, 1.12rem); font-weight: 600; line-height: 1.7; text-shadow: 0 1px 6px rgba(0, 0, 0, .55); }
body.azuria-site[data-bs-theme="light"] .page-banner-featured-copy .page-banner-title { color: #102d4d; text-shadow: 0 1px 5px rgba(255, 255, 255, .48); }
body.azuria-site[data-bs-theme="light"] .page-banner-featured-copy .page-banner-subtitle { color: #1a395b; text-shadow: 0 1px 5px rgba(255, 255, 255, .55); }
.page-banner-featured-visual { display: flex; align-items: center; justify-content: center; min-width: 0; height: clamp(200px, 18vw, 275px); }
.azuria-site .page-banner-featured-visual img { display: block; width: auto; height: 100%; max-width: 100%; object-fit: contain; filter: drop-shadow(0 20px 32px rgba(3, 10, 29, .25)); }
.page-banner::before { position: absolute; z-index: 1; inset: 0; background: var(--az-page-overlay); content: ''; pointer-events: none; }
.page-banner::after { position: absolute; z-index: 3; right: 0; bottom: 0; left: 0; height: 1px; background: color-mix(in srgb, var(--az-accent) 45%, var(--az-border)); content: ''; pointer-events: none; }
.azuria-site .page-banner-image { position: absolute; inset: 0; display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center center; }
.page-banner .container { position: relative; z-index: 2; padding-top: 3rem; padding-bottom: 3rem; }
.page-banner-title { color: var(--az-page-title); margin: .55rem 0 0; font-family: 'Outfit', sans-serif; font-size: clamp(2.2rem, 4vw, 3.7rem); font-weight: 700; line-height: 1.15; }
.page-banner-subtitle { max-width: 720px; margin: .8rem 0 0; color: var(--az-page-subtitle); font-size: clamp(.92rem, 1.4vw, 1.05rem); line-height: 1.6; }
.page-content { padding-top: 3rem; padding-bottom: 5rem; }
body.azuria-site #status-message {
    position: fixed;
    right: max(1rem, env(safe-area-inset-right));
    bottom: max(1rem, env(safe-area-inset-bottom));
    z-index: 1090;
    display: flex;
    flex-direction: column-reverse;
    gap: .6rem;
    width: min(620px, calc(100vw - 2rem));
    pointer-events: none;
}
body.azuria-site #status-message .alert {
    margin: 0;
    padding: .9rem 1rem;
    border: 1px solid var(--az-border);
    border-left: 4px solid var(--az-accent);
    border-radius: .75rem;
    background: var(--az-surface-raised);
    color: var(--az-text);
    box-shadow: 0 12px 32px var(--az-card-shadow);
    pointer-events: auto;
}
body.azuria-site #status-message .alert-success { border-left-color: #42c991; }
body.azuria-site #status-message .alert-danger { border-left-color: #ff7184; }
body.azuria-site #status-message .alert-warning { border-left-color: #edb65f; }
body.azuria-site #status-message .vote-notice.alert-success { --vote-notice-bg: #238447; --vote-notice-icon-bg: #1a6535; }
body.azuria-site #status-message .vote-notice.alert-danger { --vote-notice-bg: #cf3038; --vote-notice-icon-bg: #a4222a; }
body.azuria-site #status-message .vote-notice.alert-warning { --vote-notice-bg: #a86800; --vote-notice-icon-bg: #7c4c00; }
body.azuria-site #status-message .vote-notice.alert-info { --vote-notice-bg: #2d4b5b; --vote-notice-icon-bg: #203745; }
body.azuria-site #status-message .vote-notice {
    position: relative;
    display: grid;
    grid-template-columns: 3rem minmax(0, 1fr) 1.75rem;
    align-items: stretch;
    gap: 0;
    min-height: 58px;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .16);
    border-left: 0;
    border-radius: .55rem;
    background: var(--vote-notice-bg);
    color: #fff;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .24);
    animation: az-vote-notice-enter .25s ease-out both;
}
body.azuria-site #status-message .vote-notice-icon {
    display: grid;
    place-items: center;
    align-self: stretch;
    background: var(--vote-notice-icon-bg);
    color: #fff;
    font-size: 1.15rem;
}
body.azuria-site #status-message .vote-notice-content { display: flex; flex-direction: column; justify-content: center; gap: .05rem; min-width: 0; padding: .5rem .4rem .65rem .8rem; }
body.azuria-site #status-message .vote-notice-title { color: #fff; font-size: .86rem; font-weight: 700; line-height: 1.25; }
body.azuria-site #status-message .vote-notice-description { color: rgba(255, 255, 255, .92); font-size: .8rem; line-height: 1.3; overflow-wrap: anywhere; }
body.azuria-site #status-message .vote-notice-close {
    display: grid;
    place-items: center;
    align-self: center;
    justify-self: center;
    width: 1.25rem;
    height: 1.25rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: rgba(255, 255, 255, .8);
    cursor: pointer;
    font-size: .8rem;
}
body.azuria-site #status-message .vote-notice-close:hover,
body.azuria-site #status-message .vote-notice-close:focus-visible { color: #fff; }
body.azuria-site #status-message .vote-notice-progress {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 3rem;
    height: 3px;
    background: rgba(255, 255, 255, .9);
    transform-origin: left;
    animation: az-vote-notice-progress 7s linear forwards;
}
@keyframes az-vote-notice-enter {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}
@keyframes az-vote-notice-progress {
    to { transform: scaleX(0); }
}
@media (prefers-reduced-motion: reduce) {
    body.azuria-site #status-message .vote-notice { animation: none; }
}
.page-content > h1, .page-content > .row > div > h1 { font-size: 1.7rem; margin-bottom: 1.4rem; }
.page-content > h1:first-child { display: none; }
.page-content-featured > .row > div > h1:first-child { display: none; }
.page-content .card { background: var(--az-surface); border: 1px solid var(--az-border); border-radius: .85rem; box-shadow: 0 12px 35px var(--az-card-shadow); }
.page-content .card-header, .page-content .card-footer { background: var(--az-surface-raised); border-color: var(--az-border); }
.page-content .card-body { padding: 1.5rem; }
.page-content .card-title { color: var(--az-text); }
.page-content .card-title a { color: inherit; }
.page-content .card-title a:hover { color: var(--az-accent); }
.page-content .card-img-top { border-radius: .85rem .85rem 0 0; max-height: 290px; object-fit: cover; }
.page-content .text-body-secondary, .page-content .form-text { color: var(--az-muted) !important; }
.page-content .table { --bs-table-bg: transparent; --bs-table-color: var(--az-text); --bs-table-border-color: var(--az-border); }
.page-content .table-dark { --bs-table-bg: var(--az-table-head); --bs-table-color: var(--az-table-head-text); }
.page-content .list-group-item { background: var(--az-surface); color: var(--az-text); border-color: var(--az-border); }
.page-content .list-group-item.active { background: var(--az-accent-strong); color: #fff; }
.page-content .form-control, .page-content .form-select, .page-content .input-group-text { background: var(--az-form-bg); border-color: var(--az-border); color: var(--az-text); }
.page-content .form-control::placeholder { color: var(--az-muted); }
.page-content .form-control:focus, .page-content .form-select:focus { border-color: var(--az-accent); box-shadow: 0 0 0 .2rem rgba(91, 170, 255, .14); }
.azuria-site .modal-content { background: var(--az-surface); color: var(--az-text); border: 1px solid var(--az-border); }
.page-content .modal-header, .page-content .modal-footer { border-color: var(--az-border); }
.page-content .badge.bg-secondary { background: var(--az-badge-bg) !important; color: var(--az-badge-text) !important; }
#vote-card [data-vote-step="2"] { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; }
#vote-card [data-vote-step="2"].d-none { display: none !important; }
#vote-card [data-vote-step="2"] .btn { margin: 0 !important; }
#vote-card .vote-site-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    min-height: 52px;
    padding: .7rem 1.1rem;
    border-radius: .75rem;
    box-shadow: 0 6px 20px rgba(39, 123, 234, .18);
    transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}
#vote-card .vote-site-button:hover, #vote-card .vote-site-button:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 9px 24px rgba(39, 123, 234, .28);
}
#vote-card .vote-site-button.disabled { transform: none; box-shadow: none; }
#vote-card .vote-site-button .vote-timer:empty { display: none; }
#vote-card .vote-site-button .bi-arrow-up-right { font-size: .8rem; opacity: .8; }
#shop .card.h-100 { transition: transform .2s ease, border-color .2s ease; }
#shop .card.h-100:hover { transform: translateY(-3px); border-color: rgba(99, 178, 255, .35); }

.btn-primary { --bs-btn-color: #fff; --bs-btn-bg: #277bea; --bs-btn-border-color: #277bea; --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #196bd5; --bs-btn-hover-border-color: #196bd5; --bs-btn-active-color: #fff; --bs-btn-active-bg: #1761c2; --bs-btn-active-border-color: #1761c2; font-weight: 700; }
.btn-outline-light { --bs-btn-color: #fff; --bs-btn-border-color: rgba(230, 242, 255, .55); --bs-btn-hover-color: #0b1d38; --bs-btn-hover-bg: #fff; --bs-btn-hover-border-color: #fff; font-weight: 700; }
body.azuria-site[data-bs-theme="light"] .home-hero .btn-outline-light { --bs-btn-color: #17436f; --bs-btn-border-color: #92aecb; --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #1d6dcc; --bs-btn-hover-border-color: #1d6dcc; }
.btn { border-radius: .5rem; }

.site-footer { background: var(--az-footer-bg); border-top: 1px solid var(--az-footer-border); color: var(--az-footer-text); }
.footer-main { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); align-items: start; gap: 3rem; padding: 3rem 0 1.5rem; text-align: left; }
.footer-brand { display: flex; align-items: flex-start; gap: 1rem; min-width: 0; }
.footer-brand img { flex: none; width: 68px; height: 68px; object-fit: contain; }
.footer-brand div { display: flex; flex-direction: column; align-items: flex-start; }
.footer-brand strong { color: var(--az-footer-heading); font-family: 'Outfit', sans-serif; font-size: 1.15rem; line-height: 1.2; }
.footer-brand span { margin-top: .35rem; font-size: .84rem; line-height: 1.6; }
.footer-navigation { display: flex; flex-direction: column; align-items: stretch; gap: 1.2rem; min-width: 0; }
.footer-links { display: grid; grid-auto-flow: column; grid-template-rows: repeat(3, auto); grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem 1.5rem; }
.footer-links a { color: var(--az-footer-link); font-size: .85rem; font-weight: 600; }
.footer-links a:hover { color: var(--az-footer-heading); }
.footer-social { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: .5rem; padding-bottom: 1.2rem; }
.footer-social a { display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; border-radius: 50%; color: var(--az-footer-link); font-size: 1.35rem; text-decoration: none; transition: color .2s ease, background-color .2s ease; }
.footer-social a:hover, .footer-social a:focus-visible { color: var(--az-footer-heading); background: var(--az-footer-border); }
.footer-social a:focus-visible { outline: 2px solid var(--az-footer-heading); outline-offset: 2px; }
.footer-partner { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; gap: clamp(1.5rem, 4vw, 3rem); padding: 2.5rem 0; border-bottom: 1px solid var(--az-footer-border); }
.footer-partner-logo { display: flex; align-items: center; justify-content: center; min-width: 0; background: transparent; }
.footer-partner-logo img { display: block; width: min(100%, 300px); max-height: 110px; height: auto; object-fit: contain; }
.footer-partner-copy { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .45rem; min-width: 0; color: var(--az-footer-text); text-align: center; text-decoration: none; }
.footer-partner-copy strong { color: var(--az-footer-heading); font-family: 'Outfit', sans-serif; font-size: 1.05rem; }
.footer-partner-copy > span:not(.footer-partner-visit) { max-width: 520px; font-size: .86rem; line-height: 1.65; overflow-wrap: anywhere; }
.footer-partner-visit { display: inline-flex; align-items: center; gap: .4rem; margin-top: .2rem; color: var(--az-footer-link); font-size: .82rem; font-weight: 700; }
.footer-partner-logo:hover img { opacity: .88; }
.footer-partner-copy:hover .footer-partner-visit { color: var(--az-footer-heading); }
.footer-partner-logo:focus-visible, .footer-partner-copy:focus-visible { outline: 2px solid #009b72; outline-offset: 4px; }
.footer-bottom { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 0 1.3rem; border-top: 1px solid var(--az-footer-border); font-size: .73rem; }

@media (max-width: 991.98px) {
    .server-status-inner { grid-template-columns: minmax(0, 1fr) auto; row-gap: .15rem; }
    .server-status-meta { grid-column: 1; grid-row: 1; }
    .server-status-address { grid-column: 2; grid-row: 1; }
    .server-status-announcements { grid-column: 1 / -1; grid-row: 2; height: 3.2em; line-height: 1.6; overflow: visible; white-space: normal; }
    .server-status-announcement { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; width: 100%; max-height: 3.2em; overflow-wrap: anywhere; white-space: normal; text-overflow: clip; }
    .server-status-caret { display: none; animation: none; }
    .hero-inner { grid-template-columns: 1fr 255px; gap: 2rem; min-height: 550px; }
    .hero-panel img { width: 160px; height: 160px; }
    .azuria-navbar { min-height: 78px; }
    .azuria-brand img { width: 56px; height: 56px; }
    .azuria-nav-shell { flex-wrap: wrap; }
    .azuria-navbar .navbar-toggler { display: grid; place-items: center; width: 46px; height: 44px; margin-left: auto; padding: 0; border: 1px solid var(--az-border); border-radius: .75rem; background: var(--az-surface-raised); box-shadow: 0 4px 14px var(--az-card-shadow); }
    .azuria-navbar .navbar-toggler:focus { box-shadow: 0 0 0 .2rem rgba(91, 170, 255, .22); }
    .azuria-navbar .navbar-collapse { flex-basis: 100%; margin-top: .75rem; padding: 1rem; border: 1px solid var(--az-menu-border); border-radius: 1.1rem; background: var(--az-dropdown-bg); box-shadow: 0 18px 44px var(--az-card-shadow); }
    .azuria-navbar .nav-main-links { gap: .2rem; margin: 0 !important; }
    .azuria-navbar .nav-main-links .nav-item { width: 100%; }
    .azuria-navbar .nav-main-links .nav-link { display: flex; align-items: center; justify-content: center; min-height: 46px; padding: .65rem 1rem !important; border-radius: .65rem; text-align: center; }
    .azuria-navbar .nav-main-links .nav-link:hover, .azuria-navbar .nav-main-links .nav-link.active { background: var(--az-dropdown-hover-bg); }
    .azuria-navbar .nav-link.active::after { display: none; }
    .nav-menu-caption, .nav-account-caption { grid-column: 1 / -1; margin: 0 0 .35rem; color: var(--az-muted); font-size: .69rem; font-weight: 800; letter-spacing: .15em; text-align: center; text-transform: uppercase; }
    .azuria-navbar .nav-main-links .dropdown-menu { position: static !important; width: 100%; margin: .2rem 0 .5rem; padding: .35rem; box-shadow: none; text-align: center; transform: none !important; }
    .azuria-navbar .nav-main-links .dropdown-item { padding: .65rem; white-space: normal; }
    .azuria-navbar .nav-account { display: grid; grid-template-columns: 44px minmax(0, 1fr); align-items: center; gap: .65rem; margin: .85rem 0 0; padding-top: .95rem; border-top: 1px solid var(--az-menu-border); }
    .azuria-navbar .nav-account > .nav-item { min-width: 0; }
    .azuria-navbar .nav-account-caption { margin-bottom: .1rem; }
    .azuria-navbar .theme-switch-item { align-self: start; }
    .azuria-navbar .theme-switch-button { width: 44px; height: 44px; }
    .azuria-navbar .nav-profile-item, .azuria-navbar .nav-login-item { grid-column: 2; }
    .azuria-navbar .nav-account .account-link { justify-content: center; width: 100%; height: 44px; min-width: 0; }
    .azuria-navbar .nav-account .account-link:focus, .azuria-navbar .nav-account .account-link[aria-expanded="true"] { border-color: var(--az-accent); background: var(--az-surface-raised); box-shadow: none; }
    .azuria-navbar .account-link > span { overflow: hidden; text-overflow: ellipsis; }
    .azuria-navbar .nav-login-item .nav-link { display: flex; align-items: center; justify-content: center; height: 44px; padding: .5rem !important; border: 1px solid var(--az-border); border-radius: .7rem; background: var(--az-surface-raised); }
    .azuria-navbar .nav-register-item { grid-column: 1 / -1; }
    .azuria-navbar .nav-register { display: flex; align-items: center; justify-content: center; gap: .35rem; width: 100%; min-height: 42px; margin: 0; }
    .azuria-navbar .account-menu { position: static !important; width: calc(100% + 44px + .65rem); max-width: none; margin: .8rem 0 0 calc(-44px - .65rem); padding: .5rem 0 0; border: 0; border-top: 1px solid var(--az-menu-border); border-radius: 0; background: transparent; box-shadow: none; transform: none !important; }
    .azuria-navbar .account-menu .dropdown-item { display: flex; align-items: center; gap: .45rem; min-height: 42px; padding: .5rem .7rem; border-radius: .55rem; color: var(--az-dropdown-text); white-space: normal; }
    .azuria-navbar .account-menu .dropdown-item:hover, .azuria-navbar .account-menu .dropdown-item:focus { color: var(--az-dropdown-hover-text); background: var(--az-dropdown-hover-bg); }
    .azuria-navbar .account-menu .dropdown-item .bi { flex: none; margin-right: 0; color: var(--az-accent); }
    .azuria-navbar .account-menu .account-notifications-link { color: var(--az-dropdown-text); background: transparent; }
    .azuria-navbar .account-menu .account-notifications-link:hover, .azuria-navbar .account-menu .account-notifications-link:focus { color: var(--az-dropdown-hover-text); background: var(--az-dropdown-hover-bg); }
    .azuria-navbar .account-notifications-list { max-height: none; overflow: visible; }
}
@media (max-width: 767.98px) {
    .page-banner-featured { min-height: 0; }
    .page-banner-featured-layout { grid-template-columns: 1fr; gap: .75rem; }
    .page-banner-featured-visual { height: min(36vw, 205px); }
    /* Mobile WebKit can paint black tiles for filtered transparent artwork. */
    .azuria-site .page-banner-featured-visual img { filter: none; }
    .footer-main { display: flex; flex-direction: column; align-items: center; gap: 1.8rem; text-align: center; }
    .footer-brand { flex-direction: column; align-items: center; width: 100%; max-width: 680px; gap: .85rem; }
    .footer-brand img { width: clamp(145px, 31vw, 170px); height: clamp(145px, 31vw, 170px); }
    .footer-brand div { align-items: center; }
    .footer-navigation { align-items: center; width: 100%; }
    .footer-links { display: flex; flex-direction: column; align-items: center; gap: .8rem; width: 100%; }
    .footer-shop-link { display: none; }
    .footer-partner { grid-template-columns: 1fr; gap: 1.15rem; }
    .hero-inner { grid-template-columns: 1fr; padding-top: 4rem; padding-bottom: 4.5rem; }
    .hero-panel { display: none; }
    .hero-copy h1 { font-size: clamp(2.6rem, 9vw, 4.3rem); }
    .section-heading { align-items: center; flex-direction: column; text-align: center; }
    .section-more { align-self: center; }
    .home-section { margin-top: 4.5rem; }
    .page-banner .container { padding-top: 2.35rem; padding-bottom: 2.35rem; }
    .page-content { padding-top: 2rem; }
    .page-banner .container { text-align: center; }
    .page-banner-subtitle { margin-inline: auto; }
    .page-content .card-body { padding: 1.15rem; }
    #shop .card.h-100 { text-align: center; }
    #shop .card.h-100 .card-img-top { max-height: 220px; padding: 1rem; object-fit: contain; }
    #shop .card.h-100 .card-body { display: flex; flex-direction: column; align-items: center; }
    #shop .card.h-100 .btn { width: min(100%, 240px); margin-top: auto; }
}
@media (max-width: 480px) {
    .page-banner-featured-visual { height: min(42vw, 170px); }
    .server-status-meta { gap: .4rem; font-size: .75rem; }
    .server-status-address, .server-status-announcements { font-size: .74rem; }
    .server-status-announcements { white-space: normal; }
    .server-status-announcement { white-space: normal; }
    .hero-actions { flex-direction: column; align-items: stretch; }
    .footer-bottom { flex-direction: column; gap: .3rem; }
    .azuria-brand { gap: .45rem; font-size: 1.08rem; }
    .azuria-brand img { width: 48px; height: 48px; }
    .azuria-navbar { min-height: 68px; }
    .azuria-nav-shell { padding-inline: 14px; }
    .azuria-navbar .navbar-collapse { padding: .8rem; }
    .page-banner .container { padding-top: 1.8rem; padding-bottom: 1.8rem; }
    .page-banner-title { font-size: clamp(2rem, 9vw, 2.75rem); }
    .footer-main { padding-block: 2.5rem 1.5rem; }
    .footer-brand span { padding-inline: .25rem; }
    .footer-links { gap: .75rem; }
    .footer-bottom { align-items: center; text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .server-status-caret { animation: none; }
    *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
