/* Final shared refinement: quieter shell, clearer content, consistent controls. */

:root {
  --top: 68px !important;
  --side: 232px !important;
  --page-width: 1500px;
  --page-gutter: clamp(18px, 2vw, 28px);
  --focus-ring: 0 0 0 4px rgba(150, 132, 238, .12);
}

body,
body[data-layout="classic"] {
  color: #f3f3f7 !important;
  background-color: #07080d !important;
  background-image:
    linear-gradient(180deg, rgba(7, 8, 13, .91), rgba(7, 8, 13, .96)),
    url("./assets/ui/bradens-values-main-background.webp") !important;
  background-position: center top !important;
  background-size: cover !important;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body::before {
  opacity: .08 !important;
  background-size: 80px 80px !important;
}

body::after {
  opacity: .45;
  background:
    radial-gradient(650px 420px at 74% 0%, rgba(125, 102, 220, .07), transparent 75%),
    radial-gradient(520px 360px at 8% 78%, rgba(83, 167, 208, .035), transparent 78%) !important;
}

.topbar,
body[data-theme="light"] .topbar,
body[data-layout="classic"] .topbar {
  height: var(--top) !important;
  min-height: var(--top) !important;
  gap: 14px !important;
  padding: 0 18px !important;
  border-bottom: 1px solid rgba(225, 221, 255, .08) !important;
  background: rgba(7, 8, 13, .9) !important;
  -webkit-backdrop-filter: blur(22px) saturate(120%) !important;
  backdrop-filter: blur(22px) saturate(120%) !important;
  box-shadow: 0 12px 36px rgba(0, 0, 0, .22) !important;
}

.topbar::before { opacity: .18 !important; }

.topbar .brand {
  width: 198px !important;
  min-width: 198px !important;
  max-width: 198px !important;
}

.topbar-brand .brand-mark {
  width: 46px !important;
  height: 46px !important;
  flex-basis: 46px !important;
  padding: 3px !important;
  border-color: rgba(196, 184, 255, .16) !important;
  border-radius: 13px !important;
  background: #0d0e16 !important;
  box-shadow: 0 9px 25px rgba(0, 0, 0, .3) !important;
}

.topbar-brand .brand-copy strong {
  color: #f2f2f6 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

.topbar-brand .brand-copy span {
  color: #6f7280 !important;
  font-size: 10px !important;
  letter-spacing: .13em !important;
}

.global-search { max-width: 560px !important; }

.global-search input,
.top-online-pill,
.top-coin-button,
.top-square-button,
.top-profile-button {
  border-color: rgba(224, 219, 255, .085) !important;
  background: rgba(255, 255, 255, .025) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .018) !important;
}

.global-search input:hover {
  border-color: rgba(198, 188, 245, .15) !important;
  background: rgba(255, 255, 255, .04) !important;
}

.global-search input:focus {
  border-color: rgba(173, 157, 242, .4) !important;
  box-shadow: var(--focus-ring) !important;
}

.sidebar,
body[data-theme="light"] .sidebar,
body[data-layout="classic"] .sidebar {
  top: var(--top) !important;
  width: var(--side) !important;
  padding: 20px 13px 22px !important;
  border-right: 1px solid rgba(225, 221, 255, .07) !important;
  background: rgba(7, 8, 13, .93) !important;
  box-shadow: 12px 0 38px rgba(0, 0, 0, .12) !important;
}

.sidebar .nav-label {
  margin: 14px 10px 7px !important;
  color: #5e616e !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .13em !important;
}

.sidebar .nav-btn {
  position: relative;
  min-height: 43px !important;
  margin: 2px 0 !important;
  padding: 9px 11px !important;
  overflow: hidden;
  border: 1px solid transparent !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: #898b98 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.sidebar .nav-btn:hover {
  border-color: rgba(221, 215, 255, .07) !important;
  background: rgba(255, 255, 255, .026) !important;
  color: #d5d5de !important;
}

.sidebar .nav-btn.active {
  border-color: rgba(195, 183, 250, .12) !important;
  background: rgba(157, 140, 255, .085) !important;
  color: #f0eff7 !important;
  box-shadow: inset 2px 0 #9d8cff !important;
}

.sidebar .nav-btn::after { display: none !important; }

.sidebar .nav-symbol,
.sidebar .nav-btn > span:first-child {
  opacity: .72;
}

.sidebar .nav-btn.active .nav-symbol,
.sidebar .nav-btn.active > span:first-child { opacity: 1; }

.sidebar-support-card,
.sidebar .side-card {
  border-color: rgba(220, 215, 255, .07) !important;
  background: rgba(255, 255, 255, .018) !important;
  box-shadow: none !important;
}

.app {
  margin-left: var(--side) !important;
  padding: calc(var(--top) + 26px) var(--page-gutter) 110px !important;
}

.page { max-width: var(--page-width) !important; }

.card,
.tool-card,
.trade-main,
.trade-side,
.verdict-card,
.engine-panel,
.shop-card,
.goal-card,
.casino-game-card,
.casino-rules-card,
.casino-history-card {
  border-color: rgba(224, 220, 255, .085) !important;
  background: linear-gradient(180deg, rgba(15, 16, 25, .94), rgba(10, 11, 18, .94)) !important;
  box-shadow: 0 14px 42px rgba(0, 0, 0, .18), inset 0 1px rgba(255, 255, 255, .018) !important;
}

.btn,
.field,
.big-input,
select,
input[type="text"],
input[type="number"],
input[type="email"],
input[type="password"],
textarea {
  border-color: rgba(224, 220, 255, .09) !important;
  background: rgba(255, 255, 255, .03) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .018) !important;
}

.btn {
  font-weight: 670 !important;
  transition: transform 140ms ease, border-color 140ms ease, background 140ms ease !important;
}

.btn:hover {
  border-color: rgba(190, 178, 246, .2) !important;
  background: rgba(255, 255, 255, .055) !important;
  box-shadow: none !important;
  transform: translateY(-1px) !important;
}

.btn.primary {
  border-color: transparent !important;
  background: #9d8cff !important;
  color: #151221 !important;
  box-shadow: 0 10px 24px rgba(80, 58, 165, .18) !important;
}

.section-head::after,
.engine-page-head::after,
.page-titlebar::after,
.casino-page-head::after { display: none !important; }

.app > .page:not(#page-home) > :is(.section-head, .engine-page-head, .page-titlebar, .casino-page-head) {
  padding-bottom: 16px !important;
  border-bottom: 1px solid rgba(224, 220, 255, .065);
}

.slot.empty {
  border-color: rgba(220, 216, 255, .09) !important;
  background: rgba(255, 255, 255, .015) !important;
}

.slot.empty:hover {
  border-color: rgba(175, 159, 242, .24) !important;
  background: rgba(157, 140, 255, .045) !important;
}

.modal,
.account-overlay,
.settings-overlay {
  background: rgba(2, 3, 8, .8) !important;
  -webkit-backdrop-filter: blur(18px) !important;
  backdrop-filter: blur(18px) !important;
}

@media (max-width: 1180px) {
  :root { --side: 214px !important; }
  .topbar .brand {
    width: 180px !important;
    min-width: 180px !important;
    max-width: 180px !important;
  }
}

@media (max-width: 900px) {
  :root {
    --top: 64px !important;
    --side: 0px !important;
  }
  .sidebar { display: none !important; }
  .app {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    padding: calc(var(--top) + 18px) 14px 104px !important;
  }

  .mobile-nav {
    border-color: rgba(218, 212, 255, .11) !important;
    background: rgba(8, 9, 15, .92) !important;
    box-shadow: 0 18px 55px rgba(0, 0, 0, .42), inset 0 1px rgba(255, 255, 255, .025) !important;
  }

  .mobile-nav button.active {
    background: rgba(157, 140, 255, .1) !important;
    color: #d9d2ff !important;
  }
}

@media (max-width: 680px) {
  .topbar,
  body[data-theme="light"] .topbar,
  body[data-layout="classic"] .topbar {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    padding: 0 8px !important;
  }

  .topbar .brand,
  .topbar .topbar-brand {
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    display: flex !important;
    flex: 0 0 42px !important;
  }

  .topbar-brand .brand-mark {
    width: 42px !important;
    height: 42px !important;
    flex-basis: 42px !important;
    padding: 3px !important;
    border-radius: 11px !important;
  }

  .global-search {
    width: auto !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }

  .global-search input {
    height: 42px !important;
    padding-right: 9px !important;
    font-size: 11px !important;
  }

  .topbar-controls {
    display: flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    gap: 5px !important;
    margin: 0 !important;
  }

  .top-menu-wrap { flex: 0 0 auto; }

  .top-coin-button {
    width: auto !important;
    min-width: 48px !important;
    height: 40px !important;
    padding: 0 7px !important;
  }

  .top-coin-button .top-chevron { display: none !important; }
  .top-coin-button b { min-width: 12px; font-size: 11px !important; }
  .top-dinocoin-image { width: 17px !important; height: 17px !important; }

  .top-profile-button {
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    padding: 4px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior: auto !important; }
}
