/* Avalis visual correction layer — intentionally loaded last. */

/* One consistent, compact control language. */
.world-bar { min-height: 26px; border-bottom: 1px solid rgba(109, 177, 222, .14); background: #050b14; }
.world-bar > div { width: min(1280px, calc(100% - 48px)); min-height: 26px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; color: #8296ad; font: 500 9px var(--ui); }
.world-bar span { display: flex; align-items: center; gap: 7px; }
.world-bar i { width: 6px; height: 6px; border-radius: 50%; background: #6ee7a5; box-shadow: 0 0 10px rgba(110,231,165,.6); }
.world-bar a { color: #a8d9f4; text-decoration: none; }

/* Header controls are structural, so they stay outside the content-button system. */
.public-page .site-header .nav-toggle {
  width: 42px !important;
  height: 42px !important;
  min-height: 0 !important;
  padding: 0 !important;
  display: none !important;
  border: 1px solid #344c6d !important;
  border-radius: 4px !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}
.public-page .site-header .logout-form button {
  width: auto !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  display: inline !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #7f8da1 !important;
  box-shadow: none !important;
  font: 500 11px var(--ui) !important;
  transform: none !important;
}
.public-page .site-header .logout-form button:hover {
  background: transparent !important;
  color: #fff !important;
  transform: none !important;
}

.public-page .button,
.public-page button:not(.editor-tool),
.public-page input[type="submit"] {
  min-height: 40px !important;
  padding: 0 17px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  border: 1px solid rgba(126, 184, 226, .32) !important;
  border-radius: 7px !important;
  clip-path: none !important;
  background: rgba(12, 29, 51, .8) !important;
  color: #ddecf8 !important;
  box-shadow: none !important;
  font: 800 11px var(--ui) !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap;
}
.public-page .button.primary,
.public-page button.primary,
.public-page .forum-search button,
.public-page .search button {
  border-color: #8bd9ff !important;
  background: linear-gradient(180deg, #88d9ff, #4aaee0) !important;
  color: #06101d !important;
}
.public-page .button:hover,
.public-page button:not(.editor-tool):hover {
  border-color: rgba(152, 213, 249, .7) !important;
  background: rgba(25, 58, 91, .94) !important;
  color: #fff !important;
  transform: translateY(-1px);
}
.public-page .button.primary:hover,
.public-page button.primary:hover,
.public-page .forum-search button:hover,
.public-page .search button:hover {
  background: linear-gradient(180deg, #a6e5ff, #62bce7) !important;
  color: #06101d !important;
}

/* Topic controls: every action is the same height, shape and type treatment. */
.forum-page .topic-heading .topic-tools {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
}
.forum-page .topic-heading .topic-tools > form,
.forum-page .topic-heading .topic-tools .moderator-actions,
.forum-page .topic-heading .topic-tools .moderator-actions form {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  margin: 0 !important;
}
.forum-page .topic-heading .topic-tools > .button,
.forum-page .topic-heading .topic-tools > button,
.forum-page .topic-heading .topic-tools > form > button,
.forum-page .topic-heading .topic-tools .moderator-actions button {
  min-width: 0 !important;
  min-height: 40px !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  border: 1px solid rgba(126, 184, 226, .32) !important;
  border-radius: 7px !important;
  background: rgba(12, 29, 51, .8) !important;
  color: #ddecf8 !important;
  font: 800 10px var(--ui) !important;
}
.forum-page .topic-heading .topic-tools > .button.primary {
  border-color: #8bd9ff !important;
  background: linear-gradient(180deg, #88d9ff, #4aaee0) !important;
  color: #06101d !important;
}
.forum-page .topic-heading .topic-tools .moderator-actions button.danger {
  border-color: rgba(234, 103, 99, .5) !important;
  background: rgba(91, 24, 26, .22) !important;
  color: #ffaaa7 !important;
}

/* Forum account card links must never run together. */
.forum-page .forum-account-links {
  margin-top: 9px !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}
.forum-page .forum-account-links a {
  width: auto !important;
  display: inline-flex !important;
  color: #85d8ff !important;
  font-size: 10px !important;
  font-weight: 750 !important;
}
.forum-page .forum-account-links i {
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #4c718f;
}

/* Post endings: signature centred at the foot, then useful forum controls. */
.forum-page .forum-post .post-content {
  min-width: 0 !important;
  min-height: 270px !important;
  display: flex !important;
  flex-direction: column !important;
}
.forum-page .forum-post .post-body {
  flex: 1 1 auto !important;
}
.forum-page .forum-post .forum-signature {
  width: min(100%, 680px) !important;
  margin: auto auto 0 !important;
  padding: 22px 20px 15px !important;
  color: #8095aa !important;
  background-image: linear-gradient(90deg, transparent, rgba(111, 181, 226, .2), transparent) !important;
  background-position: top !important;
  background-size: 100% 1px !important;
  background-repeat: no-repeat !important;
  font-size: 11px !important;
  line-height: 1.6 !important;
  text-align: center !important;
}
.forum-page .forum-post .forum-signature p { margin: 0 auto !important; }
.forum-page .post-extras {
  min-height: 48px;
  margin-top: 10px;
  padding-top: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  background-image: linear-gradient(90deg, rgba(105, 174, 220, .13), transparent);
  background-position: top;
  background-size: 100% 1px;
  background-repeat: no-repeat;
}
.forum-page .post-reactions,
.forum-page .post-utility {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
}
.forum-page .post-reactions form { margin: 0; }
.forum-page .post-reactions .reaction-button,
.forum-page .post-reactions .reaction-readonly {
  width: auto !important;
  min-height: 29px !important;
  height: 29px !important;
  padding: 0 9px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  border: 0 !important;
  border-radius: 5px !important;
  background: rgba(16, 38, 64, .64) !important;
  color: #8fa7bc !important;
  font: 700 9px var(--ui) !important;
  transform: none !important;
}
.forum-page .post-reactions .reaction-button:hover,
.forum-page .post-reactions .reaction-button.active {
  background: rgba(38, 91, 132, .55) !important;
  color: #dff4ff !important;
}
.forum-page .post-reactions .reaction-button > span,
.forum-page .post-reactions .reaction-readonly > span { color: #71cff8; font-size: 12px; }
.forum-page .post-reactions b { color: #fff; font-size: 9px; }
.forum-page .post-utility > a,
.forum-page .report-menu > summary {
  padding: 5px 4px;
  color: #7890a7;
  font: 700 9px var(--ui);
  cursor: pointer;
  list-style: none;
  text-decoration: none;
}
.forum-page .post-utility > a:hover,
.forum-page .report-menu > summary:hover { color: #bfe8ff; }
.forum-page .report-menu { position: relative; }
.forum-page .report-menu > summary::-webkit-details-marker { display: none; }
.forum-page .report-menu > form {
  position: absolute;
  right: 0;
  bottom: calc(100% + 8px);
  z-index: 15;
  width: 230px;
  padding: 12px;
  display: grid;
  gap: 8px;
  background: #0b1728;
  border: 1px solid rgba(126, 184, 226, .26);
  box-shadow: 0 15px 35px rgba(0, 0, 0, .35);
}
.forum-page .report-menu select { width: 100%; min-width: 0; height: 38px; font-size: 10px; }
.forum-page .report-menu button { min-height: 34px !important; height: 34px !important; padding: 0 11px !important; }

/* Moderation queue is a readable stream, not another grid of cards. */
.moderation-heading {
  min-height: 190px;
  padding: 32px 0;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
  border-bottom: 1px solid rgba(117, 184, 228, .2);
}
.moderation-heading h1 { margin: 2px 0 7px; font-size: clamp(42px, 6vw, 68px); }
.moderation-heading p:last-child { color: #8fa3b8; }
.moderation-heading nav { display: flex; gap: 18px; }
.moderation-heading nav a { padding-bottom: 6px; color: #71879d; font-size: 10px; font-weight: 800; }
.moderation-heading nav a.active { color: #dff5ff; box-shadow: inset 0 -2px #62c7f3; }
.report-queue > article {
  padding: 28px 0;
  background-image: linear-gradient(90deg, rgba(105, 174, 220, .16), transparent 88%);
  background-position: bottom;
  background-size: 100% 1px;
  background-repeat: no-repeat;
}
.report-queue article > header,
.report-queue article > footer,
.report-queue article footer > div { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.report-queue article header span { color: #ffae9f; font-size: 9px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.report-queue article h2 { margin: 5px 0 0; font-size: 24px; }
.report-queue article > p { max-width: 900px; color: #a6b7c7; line-height: 1.7; }
.report-queue article footer small { color: #70869a; }
.report-queue article footer form { margin: 0; }

/* Profile editor: repair invalid width and restore a deliberate two-column form. */
.profile-edit-page .profile-editor-shell {
  width: calc(100% - 48px) !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding: 34px 0 100px !important;
  display: block !important;
}
.profile-edit-page .profile-editor-heading {
  min-height: 230px !important;
  padding: 38px 18px !important;
  display: flex !important;
  align-items: center !important;
  gap: 28px !important;
  background: radial-gradient(ellipse at 12% 52%, rgba(42, 111, 164, .2), transparent 48%) !important;
}
.profile-edit-page .profile-editor-heading > div:first-child { flex: 0 0 auto; }
.profile-edit-page .profile-editor-heading .avatar {
  width: 84px !important;
  height: 84px !important;
  max-width: 84px !important;
  max-height: 84px !important;
}
.profile-edit-page .profile-editor-heading h1 {
  margin: 4px 0 9px !important;
  font-size: clamp(43px, 6vw, 70px) !important;
}
.profile-edit-page form.profile-editor {
  width: 100% !important;
  margin: 0 !important;
  padding: 28px 18px 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 48px 70px !important;
}
.profile-edit-page form.profile-editor > section {
  min-width: 0 !important;
  padding-top: 24px !important;
  border-top: 1px solid rgba(117, 184, 228, .18) !important;
  background: transparent !important;
}
.profile-edit-page form.profile-editor label {
  width: 100% !important;
  margin: 0 0 19px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
  color: #d9e5ef !important;
  font: 750 11px var(--ui) !important;
}
.profile-edit-page form.profile-editor label small {
  display: block !important;
  color: #7d91a6 !important;
  font: 500 9px var(--ui) !important;
}
.profile-edit-page form.profile-editor input,
.profile-edit-page form.profile-editor textarea {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 13px 14px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(117, 184, 228, .28) !important;
  border-radius: 0 !important;
  background: rgba(5, 14, 28, .62) !important;
  color: #eef6ff !important;
  box-shadow: none !important;
  font: 500 13px var(--ui) !important;
}
.profile-edit-page form.profile-editor input { height: 48px !important; }
.profile-edit-page form.profile-editor textarea { min-height: 92px !important; resize: vertical; }
.profile-edit-page form.profile-editor textarea[name="about"] { min-height: 178px !important; }
.profile-edit-page .profile-field-pair {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 15px !important;
}
.profile-edit-page form.profile-editor > footer {
  grid-column: 1 / -1 !important;
  padding-top: 24px !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 18px !important;
  border-top: 1px solid rgba(117, 184, 228, .18) !important;
  background: transparent !important;
}

/* Home: keep information in the scene instead of inside UI rectangles. */
.home-page .home-hero-v2 aside.hero-live {
  width: min(370px, 100%) !important;
  margin: 92px 0 76px auto !important;
  padding: 10px 0 !important;
  display: grid !important;
  grid-template-columns: 58px 1fr !important;
  align-items: center !important;
  gap: 15px !important;
  border: 0 !important;
  background: radial-gradient(ellipse at 48% 50%, rgba(18, 47, 82, .44), transparent 72%) !important;
  box-shadow: none !important;
}
.home-page .home-hero-v2 aside.hero-live > img {
  width: 54px !important;
  height: 54px !important;
  min-width: 0 !important;
  max-width: 54px !important;
  min-height: 0 !important;
  max-height: 54px !important;
  object-fit: contain !important;
}
.home-page .world-strip.world-strip-v2 {
  margin-top: -26px !important;
  border: 0 !important;
  background: linear-gradient(90deg, transparent, rgba(6, 17, 32, .8) 14%, rgba(6, 17, 32, .8) 86%, transparent) !important;
  box-shadow: none !important;
}
.home-page .world-strip.world-strip-v2 > div,
.home-page .world-strip.world-strip-v2 > a {
  border: 0 !important;
  background: transparent !important;
}
.home-page .world-strip.world-strip-v2 > div::before { display: none !important; }
.home-page .home-hero-v2 .scroll-cue {
  bottom: 118px !important;
  z-index: 8 !important;
}
.home-page .ranking-ribbon,
.home-page .discussion-ribbon {
  padding-top: 14px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: linear-gradient(180deg, rgba(3, 8, 18, .62), rgba(3, 8, 18, .08)) !important;
  box-shadow: none !important;
  backdrop-filter: blur(7px);
}
.home-page .ranking-ribbon > header,
.home-page .ranking-ribbon > a,
.home-page .discussion-ribbon > small,
.home-page .discussion-ribbon > a {
  border: 0 !important;
  background: transparent !important;
}
.home-page .ranking-ribbon > a + a,
.home-page .discussion-ribbon > a + a {
  background-image: linear-gradient(90deg, transparent, rgba(130, 191, 231, .15), transparent) !important;
  background-position: top !important;
  background-repeat: no-repeat !important;
  background-size: 100% 1px !important;
}

/* Events: understated feed columns, small emblems, no giant empty-state art. */
.events-page .events-columns {
  gap: clamp(44px, 7vw, 90px) !important;
  background: transparent !important;
}
.events-page .event-board {
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.events-page .event-board::before { inset: -24px -20px !important; }
.events-page .event-board > header {
  min-height: 118px !important;
  padding: 4px 0 22px !important;
  display: grid !important;
  grid-template-columns: 62px 1fr !important;
  gap: 18px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(115, 180, 223, .18) !important;
  background: transparent !important;
}
.events-page .feed-emblem {
  width: 58px !important;
  height: 58px !important;
  min-width: 58px !important;
  flex: 0 0 58px !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.events-page .feed-emblem img {
  width: 54px !important;
  height: 54px !important;
  max-width: 54px !important;
  max-height: 54px !important;
  object-fit: contain !important;
}
.events-page .event-rows,
.events-page .event-rows > article,
.events-page .event-empty {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.events-page .event-rows > article {
  padding: 22px 0 !important;
  border-bottom: 1px solid rgba(115, 180, 223, .15) !important;
}
.events-page .event-empty {
  min-height: 130px !important;
  padding: 36px 0 !important;
  display: block !important;
  text-align: left !important;
}
.events-page .event-empty .empty-rune { display: none !important; }

/* Rules read like editorial sections, not a dashboard grid. */
.rules-page .info-grid {
  margin-top: 42px !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 46px 76px !important;
  border: 0 !important;
  background: transparent !important;
}
.rules-page .info-card,
.rules-page .info-card.full {
  min-height: 0 !important;
  padding: 25px 0 8px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.rules-page .info-card::before {
  content: "";
  width: 54px;
  height: 2px;
  margin-bottom: 21px;
  display: block;
  background: linear-gradient(90deg, #69c7f4, transparent);
}
.rules-page .info-card.full { grid-column: 1 / -1 !important; max-width: 920px; }

/* Other editorial pages follow the same open-page treatment. */
.public-page:not(.rules-page) .info-grid {
  border: 0 !important;
  background: transparent !important;
}
.public-page:not(.rules-page) .info-grid > .info-card {
  border: 0 !important;
  border-radius: 0 !important;
  background: linear-gradient(90deg, rgba(15, 37, 63, .4), transparent 82%) !important;
  box-shadow: none !important;
}

/* Store: products and controls sit in the page rather than nested panels. */
.store-page .store-filters {
  margin: 20px 0 32px !important;
  padding: 18px 0 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.store-page .store-filters input,
.store-page .store-filters select {
  border: 0 !important;
  border-bottom: 1px solid rgba(126, 184, 226, .3) !important;
  border-radius: 0 !important;
  background: rgba(6, 16, 31, .68) !important;
}
.store-page .store-grid {
  gap: 28px !important;
  background: transparent !important;
}
.store-page .product-card {
  min-height: 280px !important;
  padding: 24px !important;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: none !important;
  background: radial-gradient(ellipse at 50% 18%, rgba(42, 98, 149, .24), rgba(7, 17, 32, .45) 52%, transparent 86%) !important;
  box-shadow: none !important;
}
.store-page .product-card:hover {
  background: radial-gradient(ellipse at 50% 18%, rgba(57, 132, 190, .32), rgba(7, 17, 32, .5) 54%, transparent 88%) !important;
}
.store-page .product-icon {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.store-page .product-footer {
  border-top-color: rgba(126, 184, 226, .16) !important;
}
.store-page .store-note {
  margin-top: 52px !important;
  padding: 34px 30px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: linear-gradient(90deg, rgba(21, 49, 82, .54), rgba(6, 15, 28, .08) 78%, transparent) !important;
  box-shadow: none !important;
}
.store-page .credit-package-grid { gap: 30px !important; }
.store-page .credit-package {
  border: 0 !important;
  border-radius: 0 !important;
  background: radial-gradient(ellipse at 50% 24%, rgba(48, 112, 167, .22), transparent 64%) !important;
  box-shadow: none !important;
}
.store-page .credit-package.featured {
  background: radial-gradient(ellipse at 50% 22%, rgba(75, 151, 207, .3), transparent 66%) !important;
}

@media (max-width: 850px) {
  .profile-edit-page form.profile-editor { grid-template-columns: 1fr !important; gap: 30px !important; }
  .profile-edit-page form.profile-editor > footer { grid-column: 1 !important; }
  .rules-page .info-grid { grid-template-columns: 1fr !important; gap: 24px !important; }
  .rules-page .info-card.full { grid-column: 1 !important; }
  .events-page .events-columns { gap: 50px !important; }
}
@media (max-width: 820px) {
  .public-page .site-header .nav-toggle {
    display: grid !important;
    place-content: center !important;
    gap: 4px !important;
  }
  .world-bar > div { width: min(100% - 30px, 1280px); }
  .world-bar a { display: none; }
}
@media (max-width: 560px) {
  .profile-edit-page .profile-editor-shell { width: calc(100% - 24px) !important; }
  .profile-edit-page .profile-editor-heading { align-items: flex-start !important; flex-direction: column !important; }
  .profile-edit-page .profile-field-pair { grid-template-columns: 1fr !important; }
  .forum-page .topic-heading .topic-tools { justify-content: flex-start !important; }
  .events-page .event-board > header { grid-template-columns: 46px 1fr !important; }
  .events-page .feed-emblem { width: 44px !important; height: 44px !important; min-width: 44px !important; }
  .events-page .feed-emblem img { width: 42px !important; height: 42px !important; }
}
