/* AiBoss UI Stabilizer v2.9.3 — CSS only; intentionally no JavaScript. */
html, body { max-width:100%; }
body.aixdv290-community-page,
body.page-id-696,
body.page-template-community-hub,
body.aixdv-app.aixdv290-community-page {
  background:#030817 !important;
  color:#eef7ff !important;
  overflow-x:clip !important;
  color-scheme:dark;
}
body.aixdv290-community-page #page,
body.aixdv290-community-page #et-main-area,
body.aixdv290-community-page #main-content,
body.aixdv290-community-page .aixdv-shell,
body.aixdv290-community-page .aixdv-main,
body.aixdv290-community-page .aixdv-content,
body.page-id-696 .aixdv-shell,
body.page-id-696 .aixdv-main,
body.page-id-696 .aixdv-content {
  background:transparent !important;
  color:#eef7ff !important;
  min-width:0 !important;
}
body.aixdv290-community-page .aixdv-content,
body.page-id-696 .aixdv-content {
  width:min(1240px,calc(100% - 20px)) !important;
  max-width:1240px !important;
  margin-inline:auto !important;
  padding:12px 0 112px !important;
}
.aixdv290-hub { color:#eef7ff !important; min-width:0 !important; }
.aixdv290-hub h1,.aixdv290-hub h2,.aixdv290-hub h3,.aixdv290-hub h4,
.aixdv290-hub strong,.aixdv290-hub b { color:#f5f8ff; }
.aixdv290-hub p { color:#a9bad7; }
.aixdv290-tabs { background:rgba(5,14,37,.94) !important; border-color:rgba(83,208,255,.16) !important; max-width:100% !important; }
.aixdv290-tabs a { color:#9eb2d5 !important; white-space:nowrap !important; }
.aixdv290-hero,.aixdv290-kpis>div,.aixdv290-home-grid>a,.aixdv290-card,
.aixdv290-topic,.aixdv290-kb-card,.aixdv290-event-card,.aixdv290-form,
.aixdv290-reputation-hero,.aixdv290-leaderboard {
  background:linear-gradient(145deg,rgba(10,27,64,.96),rgba(10,9,38,.96)) !important;
  border-color:rgba(86,207,255,.16) !important;
  color:#eef7ff !important;
}
.aixdv290-hero h1,.aixdv290-topic h3,.aixdv290-kb-card h3,.aixdv290-event-card h3 { color:#fff !important; }
.aixdv290-hero p,.aixdv290-topic p,.aixdv290-kb-card p,.aixdv290-event-card p { color:#a0b1cf !important; }

/* Modals: viewport-safe and above the app navigation. */
.aixdv-info-overlay,.aixdv-lang-overlay,.aixdv270-modal-backdrop {
  position:fixed !important; inset:0 !important; width:100vw !important;
  height:100vh !important; height:100dvh !important; z-index:999980 !important;
  background:rgba(1,5,17,.78) !important; backdrop-filter:blur(9px) !important;
}
.aixdv-info-modal,.aixdv-language-sheet,.aixdv270-modal-card {
  position:fixed !important; left:50% !important; top:50% !important;
  right:auto !important; bottom:auto !important;
  transform:translate(-50%,-50%) !important;
  width:min(560px,calc(100vw - 24px)) !important;
  max-width:calc(100vw - 24px) !important;
  max-height:calc(100vh - 28px) !important;
  max-height:calc(100dvh - 28px) !important;
  margin:0 !important; overflow:auto !important; overscroll-behavior:contain !important;
  box-sizing:border-box !important; overflow-wrap:anywhere !important;
  border:1px solid rgba(91,219,255,.22) !important; border-radius:20px !important;
  background:linear-gradient(145deg,#081b42,#0d1739 62%,#15113d) !important;
  color:#eef8ff !important; box-shadow:0 30px 90px rgba(0,0,0,.58) !important;
}
.aixdv-info-modal *, .aixdv-language-sheet *, .aixdv270-modal-card * { box-sizing:border-box !important; max-width:100%; }
.aixdv-info-modal img,.aixdv-language-sheet img,.aixdv270-modal-card img { height:auto !important; object-fit:contain !important; }
.aixdv-info-close,.aixdv-language-close,.aixdv270-modal-close {
  position:sticky !important; top:0 !important; float:right !important; z-index:1000001 !important;
  display:grid !important; place-items:center !important; width:38px !important; height:38px !important;
  min-width:38px !important; padding:0 !important; border-radius:12px !important;
  border:1px solid rgba(111,223,255,.24) !important;
  background:linear-gradient(145deg,#153b84,#54248c) !important;
  color:#fff !important; font-size:22px !important; line-height:1 !important; cursor:pointer !important;
}
.aixdv-community-bottom-nav { z-index:500 !important; }
/* If the announcement is open, hide the language sheet so two dialogs cannot visually stack. */
body:has(.aixdv-info-modal:not([inert]):not([aria-hidden="true"])) .aixdv-language-sheet { display:none !important; }
body:has(.aixdv-language-sheet:not([inert]):not([aria-hidden="true"])) .aixdv-info-modal { display:none !important; }
@media (max-width:700px) {
  body.aixdv290-community-page .aixdv-content,body.page-id-696 .aixdv-content { width:calc(100% - 12px) !important; padding:7px 0 105px !important; }
  .aixdv290-tabs { top:62px !important; gap:5px !important; padding:6px !important; border-radius:13px !important; }
  .aixdv290-tabs a { min-height:30px !important; padding:0 8px !important; font-size:8px !important; }
  .aixdv290-hero { grid-template-columns:minmax(0,1fr) !important; padding:17px 14px !important; border-radius:20px !important; }
  .aixdv290-hero h1 { font-size:clamp(28px,8.6vw,38px) !important; }
  .aixdv290-hero-score { min-height:92px !important; }
  .aixdv290-kpis { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .aixdv290-home-grid { grid-template-columns:minmax(0,1fr) !important; }
  .aixdv-info-modal,.aixdv-language-sheet,.aixdv270-modal-card {
    width:calc(100vw - 14px) !important; max-width:calc(100vw - 14px) !important;
    max-height:calc(100vh - 16px) !important; max-height:calc(100dvh - 16px) !important;
    border-radius:17px !important;
  }
}
