/* =====================================================================
   BloomEclipse RP — FINAL VISUAL SKIN v7
   One clean final layer loaded last. Keeps layout, replaces only colors,
   shapes, states and old overlay effects with Bloom neon sakura styling.
   ===================================================================== */
:root {
  --bloom-bg: #050615;
  --bloom-bg-2: #080a21;
  --bloom-bg-3: #101334;
  --bloom-card: rgba(7, 10, 31, .90);
  --bloom-card-2: rgba(10, 14, 40, .94);
  --bloom-card-3: rgba(4, 6, 20, .98);
  --bloom-text: #fff7ff;
  --bloom-muted: #d0c9df;
  --bloom-muted-2: #9daaca;
  --bloom-primary: #ff4fd8;
  --bloom-primary-2: #ff7be4;
  --bloom-soft: #5de9ff;
  --bloom-soft-2: #9df6ff;
  --bloom-violet: #9a7bff;
  --bloom-line: rgba(255,79,216,.22);
  --bloom-line-soft: rgba(93,233,255,.16);
  --bloom-line-strong: rgba(93,233,255,.50);
  --bloom-panel-bg: linear-gradient(180deg, rgba(8, 11, 31, .90), rgba(4, 6, 20, .98));
  --bloom-card-bg: radial-gradient(circle at 100% 0%, rgba(93,233,255,.08), transparent 32%), linear-gradient(180deg, rgba(10, 14, 40, .88), rgba(4, 6, 20, .97));
  --bloom-card-bg-hover: radial-gradient(circle at 100% 0%, rgba(93,233,255,.12), transparent 34%), linear-gradient(180deg, rgba(15, 18, 50, .94), rgba(5, 8, 25, .98));
  --bloom-control-bg: linear-gradient(180deg, rgba(12, 16, 43, .84), rgba(5, 7, 22, .98));
  --bloom-gradient: linear-gradient(135deg, var(--bloom-primary) 0%, var(--bloom-violet) 48%, var(--bloom-soft) 100%);
  --bloom-gradient-soft: linear-gradient(135deg, rgba(255,79,216,.22), rgba(154,123,255,.14) 48%, rgba(93,233,255,.20));
  --bloom-shadow: 0 20px 58px rgba(0,0,0,.46), 0 0 32px rgba(255,79,216,.10);
  --bloom-shadow-hover: 0 24px 70px rgba(0,0,0,.52), 0 0 34px rgba(255,79,216,.16), 0 0 26px rgba(93,233,255,.10);
  --radius-xs: 10px;
  --radius-sm: 16px;
  --radius-md: 22px;
  --radius-lg: 30px;
  --radius-xl: 38px;
  --radius-pill: 999px;
  --shell: min(100% - 48px, 1360px);
  --header-h: 78px;
  --nav-header-h: 78px;
  --nav-brand-logo: 50px;
  --nav-auth-w: 170px;
  --nav-link-h: 42px;
  --nav-link-fs: 16px;
  --nav-link-px: 16px;
  --nav-link-gap: 8px;

  --bg: var(--bloom-bg);
  --bg-2: var(--bloom-bg-2);
  --bg-3: var(--bloom-bg-3);
  --panel: var(--bloom-card);
  --panel-2: var(--bloom-card-2);
  --panel-3: var(--bloom-card-3);
  --text: var(--bloom-text);
  --muted: var(--bloom-muted);
  --muted-2: var(--bloom-muted-2);
  --accent: var(--bloom-primary);
  --accent-2: var(--bloom-soft);
  --accent-3: var(--bloom-violet);
  --line: var(--bloom-line);
  --line-soft: var(--bloom-line-soft);
  --line-strong: var(--bloom-line-strong);
  --admin-bloom: var(--bloom-primary);
  --admin-bloom-soft: var(--bloom-soft);
  --wiki-bloom: var(--bloom-primary);
  --wiki-bloom-soft: var(--bloom-soft);
}

* { scrollbar-color: var(--bloom-primary) #060819; }
::-webkit-scrollbar { width: 12px; height: 12px; }
::-webkit-scrollbar-track { background: #060819; }
::-webkit-scrollbar-thumb { border: 3px solid #060819; border-radius: 999px; background: linear-gradient(180deg, var(--bloom-primary), var(--bloom-soft)); }

html, body { min-height: 100%; color: var(--bloom-text) !important; background-color: var(--bloom-bg) !important; }
body,
body.index-fixed-bg,
body.news-page,
body.rules-page-body,
body.wiki-page,
body.team-page,
body.search-page,
body.legal-page,
body.admin-page {
  background:
    linear-gradient(90deg, rgba(5,6,21,.97) 0%, rgba(6,7,22,.70) 36%, rgba(5,7,20,.88) 100%),
    radial-gradient(circle at 18% 12%, rgba(255,79,216,.22), transparent 36%),
    radial-gradient(circle at 82% 22%, rgba(93,233,255,.16), transparent 38%),
    url('../img/back.png') center top / cover no-repeat fixed,
    var(--bloom-bg) !important;
  overflow-x: hidden !important;
}
body::before { opacity: .20 !important; background-image: linear-gradient(90deg, rgba(93,233,255,.040) 1px, transparent 1px), linear-gradient(180deg, rgba(255,79,216,.032) 1px, transparent 1px) !important; background-size: 120px 120px !important; }
body::after { content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(180deg, rgba(3,5,17,.08), rgba(3,5,17,.52) 82%, rgba(3,5,17,.72)), radial-gradient(circle at 50% -10%, rgba(255,255,255,.07), transparent 32%); }
.shell { width: var(--shell) !important; max-width: var(--shell) !important; margin-left: auto !important; margin-right: auto !important; }
img { max-width: 100%; height: auto; }
::selection { color: #05101b; background: var(--bloom-soft); }

/* Header / navigation */
.site-header { position: sticky !important; top: 0 !important; z-index: 1000 !important; width: 100% !important; min-height: var(--header-h) !important; background: linear-gradient(180deg, rgba(5,7,24,.97), rgba(5,7,24,.86)) !important; border-bottom: 1px solid rgba(255,79,216,.18) !important; box-shadow: 0 16px 46px rgba(0,0,0,.36), 0 0 28px rgba(255,79,216,.08) !important; backdrop-filter: blur(18px) saturate(1.15) !important; }
.site-header .shell.nav-wrap,
.nav-wrap { height: var(--header-h) !important; min-height: var(--header-h) !important; display: grid !important; grid-template-columns: minmax(240px, auto) minmax(0, 1fr) !important; align-items: center !important; gap: 18px !important; }
.site-header .brand,
.brand { display: flex !important; align-items: center !important; gap: 12px !important; min-width: 0 !important; width: auto !important; max-width: 330px !important; text-decoration: none !important; }
.site-header .brand img,
.site-header #brandLogo,
#brandLogo { display: block !important; width: var(--nav-brand-logo) !important; height: var(--nav-brand-logo) !important; min-width: var(--nav-brand-logo) !important; min-height: var(--nav-brand-logo) !important; max-width: var(--nav-brand-logo) !important; max-height: var(--nav-brand-logo) !important; object-fit: contain !important; flex: 0 0 var(--nav-brand-logo) !important; filter: drop-shadow(0 0 14px rgba(93,233,255,.34)) drop-shadow(0 0 16px rgba(255,79,216,.18)) !important; }
.site-header .brand strong,
.brand strong { display: block !important; color: var(--bloom-soft-2) !important; font-family: Teko, Inter, sans-serif !important; font-size: clamp(22px,1.6vw,28px) !important; font-weight: 700 !important; line-height: .85 !important; letter-spacing: .04em !important; text-transform: uppercase !important; text-shadow: 0 0 14px rgba(93,233,255,.35), 0 0 18px rgba(255,79,216,.12) !important; white-space: nowrap !important; }
.site-header .brand span,
.brand span { display: block !important; margin-top: 3px !important; color: rgba(255,247,255,.74) !important; font-size: 10px !important; font-weight: 800 !important; line-height: 1.2 !important; letter-spacing: .20em !important; text-transform: uppercase !important; white-space: nowrap !important; }
.site-header .desktop-nav,
.desktop-nav { display: flex !important; align-items: center !important; justify-content: flex-end !important; gap: 12px !important; min-width: 0 !important; }
.site-header .desktop-nav .nav-links,
.site-header .nav-links,
.nav-links { display: flex !important; align-items: center !important; justify-content: flex-end !important; gap: var(--nav-link-gap) !important; margin-left: auto !important; flex-wrap: nowrap !important; }
.site-header .nav-auth { display: flex !important; align-items: center !important; justify-content: flex-end !important; min-width: var(--nav-auth-w) !important; width: var(--nav-auth-w) !important; max-width: var(--nav-auth-w) !important; flex: 0 0 var(--nav-auth-w) !important; }
.site-header .nav-links a,
.site-header .nav-auth__button,
.site-header .nav-user-badge--button,
.site-header .nav-user-menu__link,
.nav-utility__button,
.nav-lang-switch__button { clip-path: none !important; border-radius: var(--radius-pill) !important; border: 1px solid rgba(255,79,216,.16) !important; color: rgba(255,247,255,.94) !important; background: var(--bloom-control-bg) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.055) !important; transition: transform .16s ease, color .16s ease, background .16s ease, border-color .16s ease, box-shadow .16s ease !important; }
.site-header .nav-links a,
.site-header .nav-auth__button,
.site-header .nav-user-badge--button { display: inline-flex !important; align-items: center !important; justify-content: center !important; min-height: var(--nav-link-h) !important; height: var(--nav-link-h) !important; padding: 0 var(--nav-link-px) !important; white-space: nowrap !important; text-decoration: none !important; }
.site-header .nav-links a { font-family: Teko, Inter, sans-serif !important; font-size: var(--nav-link-fs) !important; font-weight: 700 !important; line-height: 1 !important; letter-spacing: .04em !important; text-transform: uppercase !important; }
.site-header .nav-auth__button,
.site-header .nav-user-badge--button,
.site-header .nav-user-menu__link { font-family: Inter, system-ui, sans-serif !important; font-size: 13px !important; font-weight: 900 !important; letter-spacing: 0 !important; text-transform: none !important; }
.site-header .nav-links a:hover,
.site-header .nav-links a:focus-visible,
.site-header .nav-links a.is-active,
.site-header .mobile-nav .nav-links a:hover,
.site-header .mobile-nav .nav-links a:focus-visible,
.site-header .mobile-nav .nav-links a.is-active,
.site-header .nav-user-badge--button:hover,
.nav-utility__button:hover,
.nav-utility__button.is-active,
.nav-lang-switch__button:hover,
.nav-lang-switch__button.is-active { color: #ffffff !important; border-color: rgba(93,233,255,.52) !important; background: var(--bloom-gradient-soft) !important; box-shadow: 0 0 22px rgba(255,79,216,.14), 0 0 18px rgba(93,233,255,.10), inset 0 1px 0 rgba(255,255,255,.11) !important; transform: translateY(-1px) !important; }
.site-header .nav-links a.is-active,
.site-header .mobile-nav .nav-links a.is-active,
.nav-utility__button.is-active,
.nav-lang-switch__button.is-active { color: var(--bloom-soft-2) !important; border-color: rgba(93,233,255,.62) !important; }
.site-header .nav-auth__button,
.hero-button--primary,
.admin-btn--primary,
.admin-button--primary,
.button-primary,
.btn-primary,
button[type='submit'] { color: #04101b !important; font-weight: 900 !important; background: var(--bloom-gradient) !important; border-color: rgba(255,255,255,.24) !important; box-shadow: 0 12px 34px rgba(255,79,216,.20), 0 0 24px rgba(93,233,255,.14), inset 0 1px 0 rgba(255,255,255,.36) !important; }
.site-header .nav-auth__button:hover,
.hero-button--primary:hover,
.admin-btn--primary:hover,
.admin-button--primary:hover,
.button-primary:hover,
.btn-primary:hover,
button[type='submit']:hover { background: linear-gradient(135deg, var(--bloom-primary-2), #ad8bff 48%, var(--bloom-soft-2)) !important; border-color: rgba(157,246,255,.66) !important; transform: translateY(-1px) !important; }
.site-header .nav-toggle { display: none !important; margin-left: auto !important; border: 1px solid rgba(255,79,216,.18) !important; border-radius: 16px !important; width: 44px !important; height: 44px !important; place-items: center !important; background: rgba(7,10,29,.78) !important; }
.site-header .nav-toggle span { background: var(--bloom-soft-2) !important; }
.site-header .mobile-nav { display: none !important; }
.site-header .mobile-nav.open { display: block !important; }
.site-header .mobile-nav__inner,
.site-header .nav-user-menu { clip-path: none !important; border-radius: 24px !important; border: 1px solid rgba(255,79,216,.20) !important; background: linear-gradient(180deg, rgba(12,16,42,.98), rgba(5,7,22,.99)) !important; box-shadow: 0 18px 48px rgba(0,0,0,.44), 0 0 26px rgba(255,79,216,.10) !important; }

/* Home hero logo / text */
.hero { position: relative !important; overflow: hidden !important; min-height: calc(100vh - var(--header-h)) !important; padding: 42px 0 26px !important; }
.hero-bg { background: linear-gradient(90deg, rgba(5,6,21,.92) 0%, rgba(6,7,22,.50) 36%, rgba(5,7,20,.82) 100%), radial-gradient(circle at 22% 32%, rgba(255,79,216,.20), transparent 34%), radial-gradient(circle at 78% 32%, rgba(93,233,255,.15), transparent 38%), url('../img/back.png') center center / cover no-repeat !important; transform: scale(1.015) !important; }
.hero-fade { background: linear-gradient(180deg, rgba(5,6,21,.20), rgba(5,6,21,.10) 52%, var(--bloom-bg) 100%) !important; }
.hero-inner { position: relative !important; z-index: 1 !important; min-height: min(760px, calc(100vh - var(--header-h) - 70px)) !important; display: grid !important; grid-template-columns: minmax(320px, 520px) minmax(0, 1fr) !important; align-items: center !important; gap: clamp(30px, 4vw, 76px) !important; padding: 18px 0 12px !important; }
.hero-brand-panel { position: relative !important; display: flex !important; align-items: center !important; justify-content: center !important; min-height: 460px !important; padding: 0 !important; overflow: visible !important; background: transparent !important; border: none !important; box-shadow: none !important; clip-path: none !important; border-radius: 0 !important; }
.hero-brand-panel::before,
.hero-brand-panel__frame { display: none !important; }
.hero-brand-panel img,
#heroVisualLogo { display: block !important; width: clamp(340px, 31vw, 540px) !important; min-width: 0 !important; max-width: 100% !important; height: auto !important; object-fit: contain !important; filter: drop-shadow(0 0 22px rgba(93,233,255,.32)) drop-shadow(0 0 28px rgba(255,79,216,.20)) !important; }
.hero-copy-wrap { position: relative !important; max-width: 780px !important; min-width: 0 !important; }
.hero-kicker-static,
.section-eyebrow,
.page-hero__eyebrow,
.news-detail__eyebrow,
.admin-kicker,
.status-label,
.about-project-side__label,
.wiki-side__title,
.wiki-toc__label,
.rules-hero__eyebrow { color: var(--bloom-soft-2) !important; text-shadow: 0 0 14px rgba(93,233,255,.22) !important; }
.text-slide h1,
.text-slide h2,
.section-title,
.page-hero__title,
.rules-hero h1,
.wiki-hero h1,
.news-feature-copy h1,
.admin-title { color: #fffaff !important; text-shadow: 0 0 24px rgba(255,79,216,.14), 0 0 22px rgba(93,233,255,.10) !important; }
.text-slide h1 .accent,
.text-slide h2 .accent,
.text-slide h1 b,
.text-slide h2 b,
.text-slide p b,
.about-project-copy b,
.panel-link,
.news-item__date,
.status-info-badge__value,
.feature-chip__icon svg { color: var(--bloom-soft-2) !important; stroke: var(--bloom-soft) !important; }
.slider-top-indicator span.active,
.page-loader__bar span,
.progress span,
.progress-bar span { background: var(--bloom-gradient) !important; box-shadow: 0 0 22px rgba(93,233,255,.25) !important; }
.hero-button--ghost { color: rgba(255,247,255,.94) !important; border: 1px solid rgba(93,233,255,.24) !important; background: var(--bloom-control-bg) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.055) !important; }
.hero-button--ghost:hover { border-color: rgba(93,233,255,.54) !important; background: var(--bloom-gradient-soft) !important; transform: translateY(-1px) !important; }

/* Universal Bloom surfaces */
.angular-panel,
.status-strip,
.status-card,
.feature-chip,
.feature-card,
.about-project-card,
.news-card,
.news-empty,
.news-detail,
.news-block,
.announcement-detail,
.announcement-panel,
.announcement-block,
.announcement-card,
.announce-feature,
.announce-latest,
.rules-hero__inner,
.rules-sidebar__card,
.rules-search-fixed,
.rules-group,
.rule-item,
.rule-example,
.wiki-shell,
.wiki-side,
.wiki-main-card,
.wiki-toc,
.wiki-block,
.wiki-empty,
.wiki-pager__item,
.team-card,
.team-section-card,
.team-member-card,
.member-card,
.resource-card,
.search-card,
.legal-card,
.page-card,
.admin-card,
.admin-shell,
.admin-panel,
.admin-module-card,
.admin-form-card,
.admin-list-card,
.admin-table-card,
.admin-preview-card,
.admin-topbar,
.admin-sidebar,
.admin-main,
.admin-box,
.admin-section,
.admin-widget,
.modal,
.modal-panel,
.modal-content,
.dialog,
.page-loader__box,
.toast,
.dropdown-menu,
.nav-panel,
.webx-panel,
.webx-card,
.webx-module,
.wiki-editor,
.wiki-tree,
.wiki-preview,
.faq-item,
.legal-layout article,
.permission-card { clip-path: none !important; border-radius: var(--radius-lg) !important; border: 1px solid var(--bloom-line) !important; background: var(--bloom-card-bg) !important; box-shadow: var(--bloom-shadow) !important; }
.news-card:hover,
.rule-item:hover,
.wiki-block:hover,
.wiki-pager__item:hover,
.related-link:hover,
.panel-link:hover,
.team-card:hover,
.team-section-card:hover,
.team-member-card:hover,
.member-card:hover,
.resource-card:hover,
.admin-module-card:hover,
.feature-chip:hover,
.feature-card:hover,
.about-project-card:hover,
.announcement-card:hover,
.announce-feature:hover,
.announce-latest:hover { border-color: var(--bloom-line-strong) !important; background: var(--bloom-card-bg-hover) !important; box-shadow: var(--bloom-shadow-hover) !important; }

/* Kill old full-card overlay pseudo elements; keep only thin Bloom edge lights. */
.angular-panel::before,
.news-card::before,
.news-feature-copy::before,
.news-hero__box::before,
.news-detail::before,
.announcement-detail::before,
.announcement-panel::before,
.announcement-block::before,
.announce-feature::before,
.announce-latest::before,
.rules-group::before,
.rule-item::before,
.wiki-main-card::before,
.wiki-side::before,
.wiki-toc::before,
.wiki-block::before,
.admin-card::before,
.webx-panel::before,
.team-section-card::after,
.team-member-card::before { content: "" !important; position: absolute !important; inset: 0 auto auto 0 !important; width: 100% !important; height: 2px !important; border: 0 !important; border-radius: inherit !important; background: linear-gradient(90deg, rgba(255,79,216,.92), rgba(154,123,255,.45), rgba(93,233,255,.78), transparent 86%) !important; opacity: .82 !important; pointer-events: none !important; z-index: 0 !important; }
.announce-feature::after,
.announce-latest::after,
.news-card::after,
.news-feature-copy::after,
.news-detail::after,
.announcement-detail::after,
.wiki-block::after,
.rules-group::after,
.team-section-card::before { content: "" !important; position: absolute !important; inset: 0 !important; border-radius: inherit !important; background: radial-gradient(circle at 100% 0%, rgba(93,233,255,.10), transparent 38%), radial-gradient(circle at 0% 0%, rgba(255,79,216,.08), transparent 42%) !important; opacity: .58 !important; pointer-events: none !important; z-index: 0 !important; }
.announce-feature > *,
.announce-latest > *,
.news-card > *,
.news-feature-copy > *,
.news-detail > *,
.announcement-detail > *,
.announcement-panel > *,
.announcement-block > *,
.rules-group > *,
.rule-item > *,
.wiki-main-card > *,
.wiki-side > *,
.wiki-toc > *,
.wiki-block > *,
.team-section-card > *,
.team-member-card > *,
.admin-card > * { position: relative !important; z-index: 1 !important; }
p,
.section-copy,
.page-hero__lead,
.announce-feature__excerpt,
.rule-item__body,
.wiki-markdown,
.wiki-block p,
.news-card p,
.announcement-body p { color: rgba(255,247,255,.80) !important; }
hr,
.separator,
.section-line { border-color: rgba(255,79,216,.20) !important; }

/* Inputs / controls */
input,
select,
textarea,
.form-control,
.search-input,
.rules-search,
.wiki-search { clip-path: none !important; border-radius: var(--radius-pill) !important; color: var(--bloom-text) !important; background: rgba(6,9,27,.78) !important; border: 1px solid rgba(255,79,216,.20) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important; }
input:focus,
select:focus,
textarea:focus,
.form-control:focus,
.search-input:focus,
.rules-search:focus-within,
.wiki-search:focus-within { border-color: rgba(93,233,255,.58) !important; box-shadow: 0 0 0 3px rgba(93,233,255,.10), 0 0 24px rgba(255,79,216,.10), inset 0 1px 0 rgba(255,255,255,.08) !important; }
input::placeholder,
textarea::placeholder { color: rgba(207,199,223,.58) !important; }
.hero-button,
.button,
.btn,
.admin-btn,
.admin-button,
.panel-link,
.announce-all-link,
.announce-readmore,
.announce-filter,
.news-filter,
.status-pill,
.badge,
.tag,
.wiki-tag,
.announce-type,
.announce-date,
.feature-tagline__label,
.rule-item__number,
.rules-sidebar__icon,
.copy-button,
.team-refresh-btn { clip-path: none !important; border-radius: var(--radius-pill) !important; }
.announce-filter,
.news-filter,
.rules-toc a,
.wiki-link,
.wiki-toc__link,
.related-link,
.copy-button,
.team-refresh-btn { color: rgba(255,247,255,.92) !important; border: 1px solid rgba(255,79,216,.18) !important; background: rgba(7,10,29,.76) !important; transition: transform .16s ease, border-color .16s ease, background .16s ease, color .16s ease, box-shadow .16s ease !important; }
.announce-filter:hover,
.news-filter:hover,
.rules-toc a:hover,
.wiki-link:hover,
.wiki-toc__link:hover,
.related-link:hover,
.copy-button:hover,
.team-refresh-btn:hover { color: #fff !important; border-color: rgba(93,233,255,.46) !important; background: var(--bloom-gradient-soft) !important; box-shadow: 0 0 22px rgba(255,79,216,.12) !important; transform: translateY(-1px) !important; }
.announce-filter.is-active,
.news-filter.is-active,
.rules-toc a.is-active,
.wiki-link.is-active,
.wiki-toc__link.is-active { color: #04101b !important; border-color: rgba(255,255,255,.24) !important; background: var(--bloom-gradient) !important; text-shadow: none !important; }
.announce-readmore,
.announce-all-link,
.news-card a.announce-readmore,
.news-detail a.announce-readmore,
.announcement-detail a.announce-readmore { color: #04101b !important; border: 1px solid rgba(255,255,255,.18) !important; background: var(--bloom-gradient) !important; box-shadow: 0 10px 26px rgba(255,79,216,.18), 0 0 20px rgba(93,233,255,.12) !important; }
.announce-readmore:hover,
.announce-all-link:hover { background: linear-gradient(135deg, var(--bloom-primary-2), #ad8bff 48%, var(--bloom-soft-2)) !important; }

/* Home announcements: no bright full-card gradient overlays. */
.announcements-section { position: relative !important; }
.announcements-noodle { align-items: stretch !important; }
.announce-feature,
.announce-latest { position: relative !important; overflow: hidden !important; border-color: rgba(255,79,216,.24) !important; background: radial-gradient(circle at 88% 8%, rgba(93,233,255,.10), transparent 34%), radial-gradient(circle at 0% 0%, rgba(255,79,216,.12), transparent 42%), linear-gradient(180deg, rgba(7,10,31,.90), rgba(4,6,20,.98)) !important; }
.announce-feature { min-height: 258px !important; }
.announce-feature h3,
.announce-latest strong,
.news-card h2,
.news-card h3,
.news-card__title,
.news-card .announce-card__title { color: #fffaff !important; text-shadow: 0 0 18px rgba(255,79,216,.10) !important; }
.announce-latest__item { clip-path: none !important; border-radius: 18px !important; border: 1px solid rgba(255,79,216,.13) !important; background: linear-gradient(180deg, rgba(8,11,31,.74), rgba(4,6,20,.88)) !important; }
.announce-latest__item:hover { border-color: rgba(93,233,255,.35) !important; background: linear-gradient(180deg, rgba(12,16,43,.86), rgba(5,7,22,.96)) !important; }
.announce-latest__index { color: var(--bloom-primary-2) !important; border-color: rgba(255,79,216,.22) !important; background: rgba(255,79,216,.08) !important; }
.announce-type,
.announce-date,
.wiki-tag,
.news-feature-stats span,
.news-card__tag,
.news-card__date,
.announce-card__type,
.announce-card__date,
.feature-tagline__label { color: var(--bloom-soft-2) !important; border: 1px solid rgba(93,233,255,.26) !important; background: rgba(7,12,31,.72) !important; }
.feature-tagline__label { color: #04101b !important; border-color: rgba(255,255,255,.22) !important; background: var(--bloom-gradient) !important; }

/* News pages / detail */
.news-hero { padding-top: 18px !important; }
.news-feature-copy,
.news-hero__box,
.page-hero__inner { position: relative !important; overflow: hidden !important; border-radius: var(--radius-xl) !important; border-color: rgba(255,79,216,.24) !important; background: radial-gradient(circle at 50% -18%, rgba(255,79,216,.18), transparent 42%), radial-gradient(circle at 88% 12%, rgba(93,233,255,.12), transparent 34%), linear-gradient(180deg, rgba(8,11,31,.90), rgba(4,6,20,.98)) !important; }
.news-card { position: relative !important; border-radius: 28px !important; overflow: hidden !important; background: var(--bloom-card-bg) !important; }
.news-card__content { background: transparent !important; }
.news-card__bottom,
.announce-card__top,
.announce-feature__meta,
.announce-latest__head { border-color: rgba(93,233,255,.13) !important; }
.news-detail,
.announcement-detail { position: relative !important; overflow: hidden !important; background: var(--bloom-panel-bg) !important; }
.news-block,
.announcement-block,
.news-detail__content > *,
.announcement-body > * { border-color: rgba(255,79,216,.18) !important; background: linear-gradient(180deg, rgba(10,14,40,.72), rgba(4,6,20,.94)) !important; }
.news-block--info,
.announcement-block--info,
.news-block--note,
.announcement-block--note { border-left-color: var(--bloom-primary) !important; background: linear-gradient(90deg, rgba(255,79,216,.12), rgba(93,233,255,.05), rgba(4,6,20,.94)) !important; }
.news-block--quote,
.announcement-block--quote { border-left-color: var(--bloom-soft) !important; }
.news-block--spoiler summary,
.announcement-block--spoiler summary { color: var(--bloom-soft-2) !important; }

/* Rules */
.rules-hero__inner { position: relative !important; border-radius: var(--radius-xl) !important; background: radial-gradient(circle at 50% -22%, rgba(255,79,216,.17), transparent 40%), linear-gradient(180deg, rgba(8,11,31,.90), rgba(4,6,20,.98)) !important; }
.rules-sidebar__head,
.rules-group__head { border-color: rgba(93,233,255,.12) !important; }
.rules-sidebar__icon,
.rules-group__icon,
.rules-search__icon { color: var(--bloom-soft) !important; border-color: rgba(93,233,255,.24) !important; background: rgba(93,233,255,.08) !important; }
.rules-sidebar__icon svg,
.rules-group__icon svg,
.rules-search__icon svg,
.rule-item__chevron,
svg.icon { stroke: var(--bloom-soft) !important; }
.rules-toc a,
.wiki-link,
.wiki-toc__link,
.related-link { clip-path: none !important; border-radius: var(--radius-pill) !important; text-decoration: none !important; }
.rules-group h2,
.rules-group__title,
.rules-group__head h2 { color: var(--bloom-primary-2) !important; text-shadow: 0 0 18px rgba(255,79,216,.18) !important; }
.rule-item { position: relative !important; border-radius: 24px !important; background: linear-gradient(180deg, rgba(10,14,40,.86), rgba(5,7,23,.96)) !important; border-color: rgba(255,79,216,.18) !important; overflow: hidden !important; }
.rule-item__trigger { color: var(--bloom-text) !important; }
.rule-item__title-wrap strong { color: #fffaff !important; }
.rule-item__number { color: var(--bloom-soft-2) !important; border: 1px solid rgba(93,233,255,.24) !important; background: linear-gradient(135deg, rgba(255,79,216,.18), rgba(93,233,255,.11)) !important; }
.rule-item.is-open,
.rule-item[open],
.rule-item:focus-within { border-color: rgba(93,233,255,.54) !important; box-shadow: var(--bloom-shadow-hover) !important; }
.rule-example--good { border-color: rgba(98,247,189,.32) !important; background: rgba(98,247,189,.07) !important; }
.rule-example--bad { border-color: rgba(255,111,174,.32) !important; background: rgba(255,111,174,.07) !important; }

/* Wiki */
.wiki-shell { background: transparent !important; box-shadow: none !important; border-color: transparent !important; }
.wiki-side,
.wiki-main-card,
.wiki-toc { position: relative !important; border-color: rgba(255,79,216,.22) !important; background: var(--bloom-panel-bg) !important; overflow: hidden !important; }
.wiki-side__title,
.wiki-toc__label,
.wiki-breadcrumbs strong,
.wiki-block h2,
.wiki-block h3,
.wiki-article__head h1,
.wiki-markdown h1,
.wiki-markdown h2,
.wiki-markdown h3 { color: var(--bloom-soft-2) !important; text-shadow: 0 0 14px rgba(93,233,255,.16) !important; }
.wiki-side__section-head { clip-path: none !important; border-radius: var(--radius-pill) !important; color: #fffaff !important; border: 1px solid rgba(255,79,216,.16) !important; background: rgba(7,10,29,.60) !important; }
.wiki-side__section-head:hover,
.wiki-side__section.is-open .wiki-side__section-head { border-color: rgba(93,233,255,.40) !important; background: var(--bloom-gradient-soft) !important; }
.wiki-link__content,
.wiki-link__title { color: inherit !important; }
.wiki-article__cover { border-radius: 24px !important; overflow: hidden !important; border: 1px solid rgba(93,233,255,.15) !important; }
.wiki-block { position: relative !important; border-radius: 24px !important; border-color: rgba(255,79,216,.18) !important; background: radial-gradient(circle at top left, rgba(255,79,216,.10), transparent 38%), linear-gradient(180deg, rgba(10,13,35,.82), rgba(5,7,23,.94)) !important; overflow: hidden !important; }
.wiki-block--note,
.wiki-block--info { border-left: 4px solid var(--bloom-soft) !important; }
.wiki-block--warning { border-left: 4px solid var(--bloom-primary) !important; }
.wiki-block--quote blockquote { color: rgba(255,247,255,.82) !important; border-left-color: var(--bloom-primary) !important; }
.wiki-checklist li,
.wiki-steps li,
.wiki-data-table th,
.wiki-data-table td { border-color: rgba(93,233,255,.12) !important; }
.wiki-checklist li span,
.wiki-steps li span { color: var(--bloom-soft-2) !important; background: rgba(93,233,255,.10) !important; border-color: rgba(93,233,255,.24) !important; }
.wiki-data-table th { color: var(--bloom-soft-2) !important; background: rgba(93,233,255,.08) !important; }
.wiki-code-block,
.wiki-block--code pre { border: 1px solid rgba(93,233,255,.14) !important; background: rgba(3,6,18,.88) !important; }

/* Team — ignore raw Discord role colors visually */
.team-section-card { position: relative !important; clip-path: none !important; border-radius: 30px !important; background: radial-gradient(circle at 50% -18%, rgba(255,79,216,.14), transparent 42%), linear-gradient(180deg, rgba(9,12,33,.90), rgba(4,6,20,.98)) !important; overflow: hidden !important; }
.team-section-label,
.team-member-username,
.team-section-copy,
.team-member-meta { color: var(--bloom-soft-2) !important; }
.team-section-title,
.team-member-name { color: #fffaff !important; }
.team-member-card { position: relative !important; border-radius: 22px !important; border-color: rgba(255,79,216,.18) !important; background: linear-gradient(180deg, rgba(11,14,38,.92), rgba(5,7,23,.98)) !important; overflow: hidden !important; }
.team-member-card::before { width: 3px !important; height: 100% !important; inset: 0 auto 0 0 !important; background: linear-gradient(180deg, var(--bloom-primary), var(--bloom-soft)) !important; opacity: .9 !important; }
.team-member-avatar { border-color: rgba(93,233,255,.28) !important; box-shadow: 0 0 18px rgba(93,233,255,.14), 0 0 16px rgba(255,79,216,.10) !important; }
.team-member-role { color: #04101b !important; background: var(--bloom-gradient) !important; border: 1px solid rgba(157,246,255,.42) !important; text-shadow: none !important; box-shadow: 0 8px 18px rgba(255,79,216,.16), 0 0 18px rgba(93,233,255,.10) !important; }

/* Status/footer/loader/admin */
.status-strip { padding: 1px !important; background: linear-gradient(90deg, rgba(255,79,216,.38), rgba(93,233,255,.32)) !important; }
.status-strip__item,
.status-info-badge { background: rgba(6,9,27,.88) !important; border-color: rgba(93,233,255,.16) !important; }
.status-big.status-offline { color: #ff8ebd !important; }
.status-big.status-online { color: var(--bloom-soft-2) !important; }
.site-action-strip { border-color: rgba(255,79,216,.18) !important; background: linear-gradient(180deg, rgba(7,10,29,.98), rgba(10,12,32,.94)), var(--bloom-gradient-soft) !important; }
.site-bottom-bar { border-top: 1px solid rgba(255,79,216,.18) !important; background: linear-gradient(180deg, rgba(5,7,24,.62), rgba(5,7,24,.96)) !important; }
.site-bottom-bar__brand img,
#footerLogo { width: 46px !important; height: 46px !important; object-fit: contain !important; filter: drop-shadow(0 0 12px rgba(93,233,255,.24)) !important; }
.page-loader__backdrop { background: rgba(3,5,17,.86) !important; backdrop-filter: blur(18px) !important; }
.page-loader__box { border-color: rgba(255,79,216,.24) !important; border-radius: 30px !important; }
.page-loader__logo { width: clamp(92px, 12vw, 126px) !important; height: auto !important; max-width: 126px !important; margin-inline: auto !important; filter: drop-shadow(0 0 18px rgba(93,233,255,.24)) drop-shadow(0 0 16px rgba(255,79,216,.16)) !important; }
.admin-page .admin-nav a,
.admin-page .admin-tabs button,
.admin-page .admin-sidebar a,
.admin-page .admin-btn,
.admin-page .admin-button { border-radius: var(--radius-pill) !important; }
.admin-page .admin-nav a:hover,
.admin-page .admin-tabs button:hover,
.admin-page .admin-sidebar a:hover,
.admin-page .admin-tabs button.is-active,
.admin-page .admin-nav a.is-active { color: #fff !important; border-color: rgba(93,233,255,.44) !important; background: var(--bloom-gradient-soft) !important; }
.action-strip__tone--bloom { color: var(--bloom-primary-2) !important; text-shadow: 0 0 14px rgba(255,79,216,.26) !important; }
.action-strip__tone--accent { color: var(--bloom-soft-2) !important; text-shadow: 0 0 14px rgba(93,233,255,.24) !important; }
.action-strip--text-shimmer .action-strip__text-static { background: linear-gradient(90deg, var(--bloom-primary), var(--bloom-soft-2) 42%, var(--bloom-primary-2) 70%, var(--bloom-soft)) !important; -webkit-background-clip: text !important; background-clip: text !important; }

/* Generated inline legacy tones are bent back into Bloom. */
[style*="255, 209"],
[style*="245, 200"],
[style*="246, 214"],
[style*="255, 223"],
[style*="255, 154"],
[style*="255, 97"],
[style*="231, 76"] { color: var(--bloom-soft-2) !important; border-color: rgba(93,233,255,.42) !important; }

@media (max-width: 1180px) {
  :root { --shell: min(100% - 36px, 1120px); --nav-link-px: 12px; --nav-link-fs: 14px; --nav-auth-w: 158px; --nav-brand-logo: 46px; }
  .site-header .brand { max-width: 290px !important; }
  .hero-inner { grid-template-columns: minmax(260px, 420px) minmax(0, 1fr) !important; gap: 34px !important; }
  .hero-brand-panel img,
  #heroVisualLogo { width: clamp(300px, 34vw, 440px) !important; }
}
@media (max-width: 920px) {
  :root { --shell: min(100% - 28px, 100%); --header-h: 76px; --nav-header-h: 76px; --nav-brand-logo: 44px; --nav-auth-w: auto; }
  .site-header .shell.nav-wrap,
  .nav-wrap { grid-template-columns: minmax(0, 1fr) auto !important; }
  .site-header .desktop-nav { display: none !important; }
  .site-header .nav-toggle { display: grid !important; }
  .site-header .brand { max-width: calc(100vw - 110px) !important; }
  .site-header .brand strong { font-size: 24px !important; }
  .site-header .brand span { font-size: 9px !important; letter-spacing: .16em !important; }
  .site-header .mobile-nav { padding-bottom: 14px !important; }
  .site-header .mobile-nav__inner { display: grid !important; gap: 12px !important; padding: 14px !important; }
  .site-header .mobile-nav .nav-links { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 10px !important; margin: 0 !important; }
  .site-header .mobile-nav .nav-auth { display: grid !important; width: 100% !important; max-width: none !important; min-width: 0 !important; }
  .site-header .mobile-nav .nav-auth__button { width: 100% !important; }
  .hero { min-height: auto !important; padding: 28px 0 18px !important; }
  .hero-inner { grid-template-columns: 1fr !important; min-height: auto !important; gap: 18px !important; text-align: center !important; }
  .hero-brand-panel { min-height: auto !important; }
  .hero-brand-panel img,
  #heroVisualLogo { width: min(86vw, 390px) !important; margin-inline: auto !important; }
  .hero-copy-wrap { max-width: 100% !important; }
  .hero-actions { justify-content: center !important; }
  .hero-mini-stats { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 640px) {
  :root { --shell: min(100% - 22px, 100%); --header-h: 72px; --nav-header-h: 72px; --nav-brand-logo: 40px; --nav-link-h: 40px; --nav-link-fs: 14px; --nav-link-px: 12px; --radius-lg: 22px; --radius-xl: 26px; }
  body,
  body.index-fixed-bg,
  body.news-page,
  body.rules-page-body,
  body.wiki-page { background-attachment: scroll !important; }
  .site-header .brand strong { font-size: 21px !important; }
  .site-header .brand span { display: none !important; }
  .site-header .mobile-nav .nav-links { grid-template-columns: 1fr !important; }
  .hero-brand-panel img,
  #heroVisualLogo { width: min(86vw, 320px) !important; }
  .text-slide h1,
  .text-slide h2 { font-size: clamp(42px, 14vw, 62px) !important; }
  .hero-actions { display: grid !important; grid-template-columns: 1fr !important; }
  .hero-button { width: 100% !important; }
  .hero-mini-stats { grid-template-columns: 1fr !important; }
  .news-filters { justify-content: flex-start !important; }
}
