
:root {
  --bg: #0b0e04;
  --panel: rgba(18, 24, 8, .95);
  --panel-soft: rgba(28, 38, 14, .92);
  --border: rgba(92, 112, 34, .26);
  --text: #eef7d7;
  --text-strong: #effadb;
  --muted: #e4efcb;
  --accent: #7b8d37;
  --accent-2: #4d5e1c;
  --danger: #ff9ab0;
  --success: #9edc72;
  --warn: #e7d27a;
  --radius: 24px;
  --shadow: 0 26px 70px rgba(0,0,0,.34);
}
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: radial-gradient(circle at top, #272b00 0%, #121706 38%), #0b0e04; color: var(--text); font-family: 'Inter', sans-serif; }
body, button, input, textarea, select { text-transform: uppercase; }
body { letter-spacing: .01em; line-height: 1.45; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; border: 0; }
img { display: block; }
input::placeholder, textarea::placeholder { color: #aab88a; opacity: 1; }
select option { background: #121706; color: #eef7d7; }
a, strong, b, h1, h2, h3, h4, h5, h6 { color: var(--text-strong); }
p { color: var(--muted); }
.top-hover-zone { position: fixed; inset: 0 0 auto 0; height: 22px; z-index: 99; }
.app-header {
  position: sticky; top: 0; z-index: 100; backdrop-filter: blur(18px);
  background: linear-gradient(180deg, rgba(11,14,4,.96), rgba(18,23,6,.86));
  border-bottom: 1px solid rgba(123,141,55,.18); transition: transform .26s ease, background .26s ease;
}
.app-header.compact { transform: translateY(calc(-100% + 86px)); }
.app-header.compact.open { transform: translateY(0); }
.header-shell, .page-shell { width: min(1500px, calc(100vw - 32px)); margin: 0 auto; }
.header-shell { padding: 18px 0 16px; display: grid; gap: 16px; }
.brand-block { display: grid; gap: 10px; }
.brand-block > .eyebrow:first-child {
  position: relative;
  color: transparent;
  min-width: 250px;
  min-height: 58px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.brand-block > .eyebrow:first-child::before {
  content: '';
  display: block;
  width: min(100%, 250px);
  height: 58px;
  background: url('./login-logo.png') left center / contain no-repeat;
}
.brand-row { display: flex; justify-content: space-between; gap: 18px; align-items: flex-start; }
.eyebrow { display: inline-flex; align-items: center; width: fit-content; gap: 8px; padding: 8px 12px; border-radius: 999px; font-size: .76rem; letter-spacing: .18em; font-weight: 800; background: rgba(123,141,55,.16); color: #eef7d7; border: 1px solid rgba(123,141,55,.26); }
.eyebrow.faint { background: rgba(77,94,28,.24); color: #edf6d4; border-color: rgba(123,141,55,.2); }
.brand-row h1, .panel-head h2, .picker-head h2 { margin: 0; font-size: clamp(1.55rem, 3vw, 2.65rem); line-height: 1.08; }
.brand-row p, .panel-head p, .support-text, .dashboard-item p, .empty-state, .help-text { margin: 0; color: var(--muted); line-height: 1.62; }
.main-nav { display: flex; flex-wrap: wrap; gap: 10px; }
.nav-btn, .primary-btn, .secondary-btn, .ghost-btn, .picker-close {
  border-radius: 16px; padding: 13px 18px; font-weight: 800; letter-spacing: .04em;
  background: rgba(255,255,255,.04); color: var(--text-strong); border: 1px solid rgba(255,255,255,.08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}
.nav-btn.active, .primary-btn {
  background: linear-gradient(135deg, rgba(123,141,55,.98), rgba(77,94,28,.94)); color: #f7faef; border-color: transparent; font-weight: 900;
}
.secondary-btn { background: linear-gradient(180deg, rgba(46,56,16,.95), rgba(28,34,10,.95)); }
.ghost-btn { background: rgba(255,255,255,.03); }
.ghost-btn.danger { color: #ffc3d1; border-color: rgba(255,127,156,.22); }
.file-btn { position: relative; overflow: hidden; }
.file-btn input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.brand-side { display: grid; gap: 10px; justify-items: end; }
.session-badge,
.save-badge {
  align-self: flex-start; padding: 10px 14px; border-radius: 999px; font-size: .82rem; font-weight: 800;
}
.session-badge {
  background: rgba(123,141,55,.14); color: #effadb; border: 1px solid rgba(123,141,55,.24);
}
.save-badge {
  background: rgba(158,220,114,.14); color: #effadb; border: 1px solid rgba(158,220,114,.24);
}
.header-mini-grid, .hero-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; }
.mini-card, .stat-card, .dashboard-item, .summary-block, .feature-item, .detail-box, .editor-section, .editor-banner, .builder-row, .list-row {
  border-radius: 20px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.06); box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}
.mini-card, .stat-card { padding: 16px; }
.mini-card strong, .stat-card strong { display: block; font-size: 1.5rem; margin-bottom: 4px; }
.mini-card span, .stat-card span { color: var(--muted); }
.page-shell { padding: 26px 0 78px; }
.tab-section { display: none; }
.tab-section.active { display: block; }
.dashboard-grid, .section-grid { display: grid; gap: 22px; }
.dashboard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dashboard-wide { grid-column: 1 / -1; }
.section-grid.two-col { grid-template-columns: minmax(0, 1.45fr) minmax(340px, .8fr); }
.section-grid.clan-layout { grid-template-columns: minmax(310px, .72fr) minmax(0, 1.45fr); align-items: start; }
.panel {
  border-radius: var(--radius); padding: 24px; background: linear-gradient(180deg, rgba(20,27,9,.96), rgba(12,16,6,.94)); border: 1px solid var(--border); box-shadow: var(--shadow);
}
.panel.sticky-panel { position: sticky; top: 98px; align-self: start; }
.raid-planner-panel { margin-bottom: 18px; }
.matchup-panel { width: 100%; }
.panel-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; margin-bottom: 22px; padding-bottom: 14px; border-bottom: 1px solid rgba(123,141,55,.14); }
.panel-head.compact-gap { margin-bottom: 18px; }
.panel-head > div { min-width: 0; }
.panel-head h2 + p { margin-top: 8px; }
.hero-actions, .ranking-actions, .dex-status-line, .raid-toolbar, .sidebar-actions { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.sidebar-toolbar { display: grid; gap: 12px; margin-bottom: 16px; }
.sidebar-toolbar input, .sidebar-toolbar select { width: 100%; }
.sidebar-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sidebar-quick-actions { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.dex-status-line { justify-content: flex-end; }
.dex-status { color: #edf6d4; font-weight: 700; }
.field-grid { display: grid; gap: 14px; }
.field-grid.two-col { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.field-grid .full { grid-column: 1 / -1; }
.field { display: grid; gap: 8px; }
.field span, .label-mini { font-size: .82rem; color: #edf6d4; font-weight: 800; letter-spacing: .1em; }
.field input, .field textarea, .field select,
.sidebar-toolbar input, .sidebar-toolbar select, .ranking-toolbar input, .ranking-toolbar select,
.editor-grid input, .editor-grid textarea, .editor-grid select,
.builder-row input, .builder-row textarea, .builder-row select,
.picker-search-field input {
  width: 100%; border-radius: 16px; border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.05); color: var(--text-strong); padding: 13px 14px; outline: none;
}
.field textarea, .editor-grid textarea, .builder-row textarea { resize: vertical; min-height: 108px; }
.field input:focus, .field textarea:focus, .field select:focus,
.sidebar-toolbar input:focus, .sidebar-toolbar select:focus, .ranking-toolbar input:focus, .ranking-toolbar select:focus,
.editor-grid input:focus, .editor-grid textarea:focus, .editor-grid select:focus,
.builder-row input:focus, .builder-row textarea:focus, .builder-row select:focus,
.picker-search-field input:focus {
  border-color: rgba(123,141,55,.45); box-shadow: 0 0 0 3px rgba(123,141,55,.14);
}
.dashboard-list, .raid-summary, .feature-list, .matchup-list, .gym-team-list, .clan-list, .picker-results, .ranking-grid { display: grid; gap: 14px; }
.snapshot-history-list { display: grid; gap: 14px; margin-top: 16px; }
.dashboard-item, .summary-block, .feature-item, .editor-section { padding: 16px; }
.dashboard-link-item {
  width: 100%;
  text-align: left;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.dashboard-link-item strong,
.dashboard-link-item p {
  color: #f7faef;
  font-weight: 800;
}
.dashboard-link-item:hover {
  transform: translateY(-1px);
  border-color: rgba(123,141,55,.34);
  background: rgba(123,141,55,.08);
}
.dashboard-link-item:focus-visible {
  outline: 2px solid rgba(158,220,114,.5);
  outline-offset: 2px;
}
.dashboard-strategy-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  align-items: start;
}
.dashboard-refresh-actions {
  justify-content: flex-end;
  align-self: center;
}
.dashboard-refresh-actions .secondary-btn[disabled] {
  opacity: .72;
  cursor: wait;
}
.dashboard-strategy-column {
  display: grid;
  gap: 14px;
}
.dashboard-strategy-head {
  display: grid;
  gap: 6px;
}
.dashboard-strategy-head strong {
  display: block;
  margin: 0;
  color: var(--text-strong);
  font-size: 1rem;
  letter-spacing: .04em;
}
.dashboard-strategy-head p {
  margin: 0;
  color: var(--muted);
}
.dashboard-spotlight-card {
  min-height: 100%;
  background:
    linear-gradient(180deg, rgba(123,141,55,.14), rgba(123,141,55,.06)),
    radial-gradient(circle at top right, rgba(158,220,114,.14), transparent 42%);
  border-color: rgba(123,141,55,.26);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03), 0 16px 34px rgba(0,0,0,.22);
}
.dashboard-spotlight-card p:last-child {
  margin-bottom: 0;
}
.dashboard-watch-card {
  position: relative;
  overflow: hidden;
  padding-left: 18px;
}
.dashboard-watch-card::before {
  content: '';
  position: absolute;
  inset: 12px auto 12px 0;
  width: 4px;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(169,205,90,.92), rgba(123,141,55,.36));
}
.dashboard-watch-card strong,
.dashboard-watch-card p {
  position: relative;
}
.dashboard-watch-cta {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  padding: 8px 12px;
  border-radius: 999px;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .04em;
  color: #f7faef;
  background: rgba(123,141,55,.12);
  border: 1px solid rgba(123,141,55,.26);
}
.dashboard-item strong, .summary-block strong, .feature-item strong, .detail-box strong { display: block; margin-bottom: 8px; color: var(--text-strong); }
.meta-chip-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; }
.type-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 10px;
  border-radius: 999px;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .04em;
  color: #fff;
  background: var(--type-color, #7b8d37);
}
.info-link-pill {
  text-decoration: none;
  transition: filter .18s ease, transform .18s ease;
}
.info-link-pill:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
}
.type-matchup-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 10px; }
.detail-box.compact { padding: 10px 12px; }
.detail-box.compact span { white-space: normal; font-size: .86rem; line-height: 1.35; }
.competitive-state-box {
  display: grid;
  gap: 6px;
}
.dashboard-batch-card {
  cursor: default;
}
.dashboard-batch-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 4px;
}
.dashboard-batch-actions .secondary-btn {
  flex: 1 1 200px;
}
.dashboard-batch-preview {
  margin-top: 8px;
}
.canonical-assist-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 6px;
}
.canonical-assist-actions .secondary-btn {
  flex: 1 1 220px;
}
.competitive-state-box strong + span {
  color: var(--text-strong);
  font-weight: 800;
  letter-spacing: .04em;
}
.competitive-ready {
  border-color: rgba(120,235,170,.24);
  box-shadow: inset 0 0 0 1px rgba(120,235,170,.08);
}
.competitive-adjust-light {
  border-color: rgba(110,188,255,.24);
  box-shadow: inset 0 0 0 1px rgba(110,188,255,.08);
}
.competitive-adjust-strong {
  border-color: rgba(255,138,92,.28);
  box-shadow: inset 0 0 0 1px rgba(255,138,92,.1);
}
.competitive-adjust-heavy {
  border-color: rgba(255,195,87,.24);
  box-shadow: inset 0 0 0 1px rgba(255,195,87,.08);
}
.competitive-theory {
  border-color: rgba(255,120,120,.24);
  box-shadow: inset 0 0 0 1px rgba(255,120,120,.08);
}
.hero-stats { margin-top: 4px; }
.matchup-row, .gym-slot-row, .editor-grid.two-col {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px;
}
.builder-row { padding: 16px; display: grid; gap: 14px; }
.builder-top { display: flex; gap: 12px; align-items: center; justify-content: space-between; margin-bottom: 2px; }
.selector-btn {
  display: flex; align-items: center; gap: 12px; width: 100%; min-height: 84px; padding: 14px; border-radius: 18px; border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.04); color: var(--text-strong); text-align: left;
  min-width: 0;
}
.selector-btn .sprite-shell, .clan-item .sprite-shell, .rank-figure, .picker-item-figure, .editor-figure {
  width: 62px; height: 62px; border-radius: 16px; display: grid; place-items: center; background: radial-gradient(circle at top, rgba(123,141,55,.2), rgba(39,43,0,.14)); overflow: hidden; border: 1px solid rgba(255,255,255,.06);
}
.move-selector-icon, .move-picker-figure {
  width: 62px; height: 62px; border-radius: 16px; display: grid; place-items: center; background: radial-gradient(circle at top, rgba(123,141,55,.2), rgba(39,43,0,.14)); overflow: hidden; border: 1px solid rgba(255,255,255,.06); color: var(--text);
}
.move-selector-btn { min-height: 92px; }
.selector-move-meta { color: var(--muted); display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.move-type-pill { font-size: .68rem; padding: 5px 8px; }
.move-category-badge {
  width: 28px; height: 28px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center;
  font-size: .95rem; font-weight: 900; color: #fff; flex: 0 0 auto;
}
.move-category-badge.physical { background: linear-gradient(180deg, #d97b54, #b85d3d); }
.move-category-badge.special { background: linear-gradient(180deg, #6f86d6, #4f66b8); }
.move-category-badge.status { background: linear-gradient(180deg, #9a9487, #7b756a); }
.move-stack-line { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; white-space: normal; overflow: visible; text-overflow: clip; }
.move-cat-label { font-size: .72rem; letter-spacing: .06em; color: var(--muted); }
.selector-copy, .picker-copy, .list-copy, .clan-item-copy { display: grid; gap: 6px; min-width: 0; }
.selector-copy strong, .picker-copy strong, .list-copy strong, .clan-item-copy strong {
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.3;
}
.selector-copy span, .picker-copy span, .list-copy span, .clan-item-copy span { color: var(--muted); }
.selector-btn img, .clan-item img, .rank-figure img, .picker-item img, .editor-figure img { width: 100%; height: 100%; object-fit: contain; }
.clan-sidebar-panel { position: sticky; top: 98px; align-self: start; }
.clan-list { max-height: calc(100vh - 220px); min-height: 320px; overflow: auto; padding-right: 4px; }
.clan-item {
  display: grid; grid-template-columns: 68px 1fr auto; gap: 12px; align-items: center; padding: 12px; border-radius: 20px; border: 1px solid rgba(255,255,255,.06); background: rgba(255,255,255,.03);
}
.clan-item.active { border-color: rgba(123,141,55,.42); box-shadow: inset 0 0 0 1px rgba(123,141,55,.18); background: rgba(123,141,55,.08); }
.clan-item-meta { display: flex; flex-wrap: wrap; gap: 8px; }
.pill { display: inline-flex; align-items: center; justify-content: center; padding: 7px 10px; border-radius: 999px; font-size: .76rem; letter-spacing: .1em; font-weight: 800; }
.pill.rank { background: rgba(255,255,255,.06); color: #dce7ff; }
.pill.top { background: rgba(255,209,125,.14); color: #ffe8a8; }
.pill.f6 { background: rgba(123,141,55,.16); color: #eef7d7; }
.pill.pending { background: rgba(255,127,156,.13); color: #ffc0d0; }
.pill.done { background: rgba(109,227,170,.13); color: #ccffe6; }
.pill.urgent { background: rgba(255,127,156,.13); color: #ffc0d0; }
.pill.normal { background: rgba(255,209,125,.13); color: #ffe6ab; }
.pill.low { background: rgba(92,112,34,.15); color: #e4efcb; }
.pill.ready { background: rgba(120,235,170,.13); color: #d8ffe9; }
.pill.adjust-light { background: rgba(110,188,255,.13); color: #dcedff; }
.pill.adjust-heavy { background: rgba(255,195,87,.14); color: #ffe7ba; }
.pill.theory { background: rgba(255,120,120,.14); color: #ffd7d7; }
.editor-shell { display: grid; gap: 16px; }
.editor-banner {
  padding: 16px; display: grid; grid-template-columns: 110px 1fr; gap: 16px; align-items: center;
  background: radial-gradient(circle at top left, rgba(123,141,55,.14), transparent 34%), radial-gradient(circle at top right, rgba(77,94,28,.16), transparent 32%), rgba(255,255,255,.03);
}
.editor-figure { width: 110px; height: 110px; border-radius: 24px; }
.editor-meta { display: grid; gap: 8px; }
.editor-title-row,
.rank-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.editor-grid { display: grid; gap: 14px; }
.stat-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.stat-cell { display: grid; gap: 6px; }
.stat-label-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
}
.stat-label-row small {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(123,141,55,.18);
  border: 1px solid rgba(123,141,55,.28);
  color: #eef7d7;
  font-size: .66rem;
  font-weight: 900;
  letter-spacing: .08em;
}
.key-stat-cell {
  padding: 10px;
  border-radius: 18px;
  border: 1px solid rgba(123,141,55,.22);
  background: linear-gradient(180deg, rgba(123,141,55,.08), rgba(255,255,255,.02));
}
.key-stat-cell input {
  border-color: rgba(123,141,55,.26);
  background: rgba(255,255,255,.07);
}
.help-text strong { color: var(--text); }
.build-explainer { display: grid; gap: 14px; }
.build-checklist { display: grid; gap: 10px; }
.build-check-item {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.06);
  background: rgba(255,255,255,.025);
}
.build-check-item span:last-child { color: var(--text-strong); line-height: 1.45; }
.build-check-item.done {
  border-color: rgba(158,220,114,.24);
  background: rgba(158,220,114,.08);
}
.build-check-item.pending {
  border-color: rgba(255,255,255,.06);
  background: rgba(255,255,255,.025);
}
.build-check-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  background: rgba(255,255,255,.06);
  color: var(--text);
}
.build-check-item.done .build-check-icon {
  background: rgba(158,220,114,.18);
  color: #effadb;
}
.auction-evaluator { display: grid; gap: 18px; }
.auction-compare-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.auction-slot {
  padding: 16px;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,.06);
  background: rgba(255,255,255,.03);
  display: grid;
  gap: 14px;
}
.auction-slot.best-investment {
  border-color: rgba(158,220,114,.34);
  box-shadow: inset 0 0 0 1px rgba(158,220,114,.14);
  background: radial-gradient(circle at top, rgba(158,220,114,.1), rgba(255,255,255,.03));
}
.auction-compare-summary {
  padding: 16px 18px;
  border-radius: 20px;
  border: 1px solid rgba(123,141,55,.18);
  background: rgba(255,255,255,.025);
  display: grid;
  gap: 8px;
}
.auction-compare-summary p { margin: 0; color: var(--text-strong); line-height: 1.55; }
.auction-slot-actions {
  display: flex;
  justify-content: flex-end;
}
.auction-iv-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.auction-iv-field input { text-align: center; font-weight: 800; }
.auction-checklist {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.auction-check {
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.06);
  background: rgba(255,255,255,.03);
  display: grid;
  gap: 4px;
}
.auction-check strong { font-size: .86rem; }
.auction-check span { color: var(--muted); font-size: .84rem; }
.auction-check.great {
  border-color: rgba(158,220,114,.26);
  background: rgba(158,220,114,.1);
}
.auction-check.good {
  border-color: rgba(123,141,55,.28);
  background: rgba(123,141,55,.12);
}
.auction-check.ok {
  border-color: rgba(231,210,122,.2);
  background: rgba(231,210,122,.08);
}
.auction-check.bad {
  border-color: rgba(255,127,156,.18);
  background: rgba(255,127,156,.08);
}
.auction-summary {
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid rgba(123,141,55,.18);
  background: rgba(255,255,255,.025);
}
.auction-summary p { margin: 6px 0 0; color: var(--text-strong); line-height: 1.5; }
.checkbox-row { display: flex; flex-wrap: wrap; gap: 14px; }
.checkbox-card {
  display: inline-flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 16px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.06);
}
.checkbox-card input { width: 18px; height: 18px; }
.ranking-toolbar { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 18px; }
.ranking-toolbar input { flex: 1; min-width: 240px; }
.ranking-toolbar select { width: 230px; }
.ranking-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.ranking-ai-bar { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; justify-content: space-between; margin-bottom: 18px; padding: 14px 16px; border-radius: 18px; background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.06); }
.ranking-ai-copy { display: grid; gap: 6px; }
.ranking-ai-copy strong { font-size: .96rem; letter-spacing: .05em; }
.ranking-ai-copy span { color: var(--muted); line-height: 1.45; text-transform: none; }
.ranking-ai-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.pill.ai { background: rgba(123,141,55,.16); color: #eef7d7; }
.pill.source { background: rgba(77,94,28,.22); color: #eef7d7; }
.pill.warn-soft { background: rgba(231,210,122,.15); color: #ffe5a0; }
.breakdown-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.breakdown-grid .detail-box strong small { display: block; margin-top: 4px; color: var(--muted); font-size: .75rem; letter-spacing: .06em; }
.analysis-box { margin-top: 14px; }
.analysis-list { display: grid; gap: 8px; margin: 0; padding-left: 18px; color: var(--muted); }
.analysis-list li { line-height: 1.45; text-transform: none; }
.recommendation-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.recommendation-grid .detail-box { min-height: 100%; }
.rank-score { font-size: 1.5rem; font-weight: 800; letter-spacing: .04em; }
.rank-meta-line { color: var(--muted); font-size: .92rem; line-height: 1.45; margin-top: 8px; text-transform: none; }
.ranking-mode-bar { display: grid; gap: 14px; margin-bottom: 18px; }
.mode-chip-row { display: flex; flex-wrap: wrap; gap: 10px; }
.mode-chip {
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  color: var(--text);
  border-radius: 999px;
  padding: 10px 14px;
  font-weight: 700;
  letter-spacing: .06em;
}
.mode-chip.active {
  background: linear-gradient(135deg, rgba(123,141,55,.22), rgba(77,94,28,.18));
  border-color: rgba(123,141,55,.45);
  box-shadow: 0 0 0 1px rgba(123,141,55,.12) inset;
}
.mode-chip small { display: block; color: var(--muted); font-size: .72rem; margin-top: 2px; letter-spacing: .04em; text-transform: none; }
.ranking-highlights { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.highlight-card { padding: 16px; border-radius: 18px; border: 1px solid rgba(255,255,255,.06); background: rgba(255,255,255,.03); }
.highlight-card strong { display: block; margin-bottom: 8px; }
.highlight-card b { display: block; font-size: 1.05rem; margin-bottom: 4px; }
.highlight-card span { display: block; color: var(--muted); line-height: 1.45; text-transform: none; }
.mode-score-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.mode-score-grid .detail-box { min-height: 100%; }
.inline-note { color: var(--muted); font-size: .88rem; line-height: 1.45; text-transform: none; }
.cap-coach-line { display: block; margin-top: 8px; color: var(--text); text-transform: none; }
.pill.focus { background: rgba(123,141,55,.16); color: #eef7d7; }
.pill.invest { background: rgba(231,210,122,.16); color: #ffe0ad; }
.pill.special-flag { background: rgba(111,134,214,.18); color: #e6edff; }
.link-btn {
  display:inline-flex; align-items:center; justify-content:center; padding:8px 12px; border-radius:999px;
  border:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.04); color:var(--text); font-weight:700; text-decoration:none;
}
.ranking-card {
  display: grid; gap: 14px; padding: 18px; border-radius: 22px; border: 1px solid rgba(255,255,255,.07);
  background: radial-gradient(circle at top left, rgba(123,141,55,.16), transparent 34%), radial-gradient(circle at top right, rgba(77,94,28,.16), transparent 30%), linear-gradient(180deg, rgba(24,31,10,.95), rgba(13,18,6,.98));
}
.ranking-card-button {
  width: 100%;
  text-align: left;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.ranking-card-button:hover {
  transform: translateY(-1px);
  border-color: rgba(123,141,55,.34);
  box-shadow: 0 12px 28px rgba(0,0,0,.18);
}
.ranking-card-button:focus-visible {
  outline: 2px solid rgba(158,220,114,.5);
  outline-offset: 2px;
}
.rank-top { display: grid; grid-template-columns: 94px 1fr; gap: 16px; align-items: center; }
.rank-figure { width: 94px; height: 94px; border-radius: 22px; }
.rank-meta { display: grid; gap: 10px; min-width: 0; }
.rank-meta h3 { margin: 0; font-size: 1.26rem; }
.rank-line, .status-line { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-start; }
.build-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 14px;
  border-radius: 14px;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .08em;
  border: 1px solid rgba(255,255,255,.08);
  white-space: nowrap;
  flex: 0 0 auto;
}
.build-perfect {
  background: rgba(158,220,114,.2);
  color: #effadb;
  border-color: rgba(158,220,114,.36);
}
.build-great {
  background: rgba(123,141,55,.22);
  color: #effadb;
  border-color: rgba(123,141,55,.38);
}
.build-good {
  background: rgba(231,210,122,.16);
  color: #fff0bf;
  border-color: rgba(231,210,122,.28);
}
.build-regular {
  background: rgba(255,166,94,.14);
  color: #ffd8a6;
  border-color: rgba(255,166,94,.28);
}
.build-bad {
  background: rgba(255,127,156,.14);
  color: #ffd0dc;
  border-color: rgba(255,127,156,.28);
}
.details-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.detail-box { padding: 14px; min-width: 0; overflow: hidden; }
.detail-box span { color: var(--muted); line-height: 1.45; white-space: pre-line; }
.detail-box-stack { display: grid; gap: 7px; }
.detail-box-stack .stack-line {
  display: block;
  white-space: normal;
  overflow-wrap: anywhere;
  font-size: .92rem;
  line-height: 1.42;
}
.detail-box-stack .notes-line {
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}
.pair-grid { display: grid; grid-template-columns: 1fr; gap: 8px; min-width: 0; }
.pair-grid span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--muted);
  min-width: 0;
  padding: 8px 10px;
  border-radius: 12px;
  background: rgba(255,255,255,.03);
}
.pair-grid span > :first-child,
.pair-grid span > strong,
.pair-grid span > em,
.pair-grid span > small {
  min-width: 0;
  overflow-wrap: normal;
  white-space: nowrap;
  font-size: .82rem;
  line-height: 1.1;
}
.pair-grid b {
  color: var(--text);
  text-align: right;
  white-space: nowrap;
  font-size: .9rem;
  flex: 0 0 auto;
}
.summary-line { color: var(--muted); line-height: 1.52; }
.empty-state {
  padding: 22px; border-radius: 18px; text-align: center; border: 1px dashed rgba(255,255,255,.1); color: var(--muted);
}
.picker-overlay {
  position: fixed; inset: 0; z-index: 150; background: rgba(3, 6, 11, .76); backdrop-filter: blur(14px); display: grid; place-items: center; padding: 18px;
}
.picker-overlay.hidden { display: none; }
.auth-overlay {
  position: fixed; inset: 0; z-index: 250; background: rgba(5, 8, 2, .82); backdrop-filter: blur(12px); display: grid; place-items: start center; padding: 18px; overflow-y: auto; pointer-events: none;
}
.auth-overlay.hidden { display: none; }
.auth-card {
  width: min(760px, 100%); display: grid; gap: 18px; padding: 24px; border-radius: 28px; margin: 18px 0;
  background: linear-gradient(180deg, rgba(20,27,9,.98), rgba(12,16,6,.98)); border: 1px solid rgba(123,141,55,.24); box-shadow: var(--shadow); pointer-events: auto;
}
.auth-card > .field-grid::before {
  content: '';
  display: block;
  justify-self: center;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 22px;
  border: 1px solid rgba(123,141,55,.18);
  background: url('./login-hero.jpg') center / contain no-repeat;
  box-shadow: 0 18px 40px rgba(0,0,0,.28);
  margin-bottom: 4px;
}
.auth-card .admin-panel {
  border-radius: 22px;
  border: 1px solid rgba(123,141,55,.16);
  background: rgba(255,255,255,.025);
  padding: 18px;
}
.auth-card > div:first-child {
  display: none;
}
.auth-toggle-row {
  display: flex;
  justify-content: flex-start;
}
.auth-toggle-row .secondary-btn {
  min-width: 220px;
}
.auth-card .hero-actions {
  justify-content: flex-start;
}
.auth-card #registerBtn {
  width: 100%;
  justify-content: center;
  position: sticky;
  bottom: 0;
}
.auth-feedback { margin: 0; min-height: 20px; color: #ffd7df; }
.account-drawer-overlay {
  position: fixed; inset: 0; z-index: 240; background: rgba(5, 8, 2, .58); backdrop-filter: blur(10px); display: flex; justify-content: flex-end; padding-left: 24px;
}
.account-drawer-overlay.hidden { display: none; }
.account-drawer {
  width: min(720px, 100%); height: 100%; overflow-y: auto; padding: 24px; background: linear-gradient(180deg, rgba(20,27,9,.99), rgba(12,16,6,.98)); border-left: 1px solid rgba(123,141,55,.24); box-shadow: -24px 0 60px rgba(0,0,0,.34); display: grid; gap: 18px;
}
.account-drawer-head {
  display: flex; justify-content: space-between; gap: 16px; align-items: flex-start;
}
.account-identity-box { margin-bottom: 12px; }
.user-admin-card { display: grid; gap: 12px; }
.user-admin-top { display: flex; gap: 12px; justify-content: space-between; align-items: flex-start; }
.user-admin-meta { color: var(--muted); line-height: 1.45; }
.user-admin-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.user-admin-inline { display: grid; gap: 10px; grid-template-columns: minmax(0, 1.1fr) minmax(220px, .9fr); }
.user-admin-feedback { min-height: 18px; color: #ffd7df; margin: 0; }
.raid-boss-list, .raid-advice-list { display: grid; gap: 12px; }
.raid-advice-list { margin-top: 16px; }
.raid-boss-row {
  display: grid; gap: 14px; padding: 16px; border-radius: 20px;
  background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.06);
}
.raid-boss-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 14px; }
.raid-advice-card {
  display: grid; gap: 14px; padding: 16px; border-radius: 22px; border: 1px solid rgba(255,255,255,.07);
  background: radial-gradient(circle at top left, rgba(123,141,55,.18), transparent 34%), radial-gradient(circle at top right, rgba(77,94,28,.18), transparent 30%), linear-gradient(180deg, rgba(24,31,10,.96), rgba(12,16,6,.98));
}
.raid-advice-head { display: grid; grid-template-columns: 78px 1fr; gap: 14px; align-items: center; }
.raid-advice-head .rank-figure { width: 78px; height: 78px; border-radius: 18px; }
.raid-type-row, .raid-pill-row, .raid-move-list, .raid-advice-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.raid-type-pill, .raid-move-chip {
  display: inline-flex; align-items: center; justify-content: center; padding: 8px 10px; border-radius: 999px;
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.08); color: var(--text-strong); font-size: .76rem; font-weight: 800; letter-spacing: .08em;
}
.raid-rec-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.raid-rec-card {
  display: grid; gap: 12px; padding: 14px; border-radius: 18px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.06);
  min-width: 0;
}
.raid-rec-card-ready { border-color: rgba(120,235,170,.32); box-shadow: inset 0 0 0 1px rgba(120,235,170,.08); }
.raid-rec-card-adjust-light { border-color: rgba(110,188,255,.28); box-shadow: inset 0 0 0 1px rgba(110,188,255,.08); }
.raid-rec-card-adjust-heavy { border-color: rgba(255,195,87,.28); box-shadow: inset 0 0 0 1px rgba(255,195,87,.08); }
.raid-rec-card-theory { border-color: rgba(255,120,120,.28); box-shadow: inset 0 0 0 1px rgba(255,120,120,.08); }
.raid-rec-top { display: grid; grid-template-columns: 62px 1fr; gap: 12px; align-items: center; }
.raid-rec-top .rank-figure { width: 62px; height: 62px; border-radius: 16px; }
.raid-rec-title { display: grid; gap: 6px; min-width: 0; }
.raid-rec-title strong { font-size: 1rem; line-height: 1.28; white-space: normal; overflow-wrap: anywhere; }
.raid-rec-copy { color: var(--muted); line-height: 1.56; white-space: normal; overflow-wrap: anywhere; }
.raid-moveset-banner {
  display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 10px 12px;
  border-radius: 14px; border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.04); color: var(--text-strong);
  font-size: .82rem; font-weight: 800; letter-spacing: .04em;
}
.raid-moveset-banner strong { font-size: .72rem; letter-spacing: .12em; opacity: .84; }
.raid-moveset-banner.ready { background: rgba(120,235,170,.14); border-color: rgba(120,235,170,.32); }
.raid-moveset-banner.adjust-light { background: rgba(110,188,255,.14); border-color: rgba(110,188,255,.32); }
.raid-moveset-banner.adjust-heavy { background: rgba(255,195,87,.14); border-color: rgba(255,195,87,.32); }
.raid-moveset-banner.theory { background: rgba(255,120,120,.14); border-color: rgba(255,120,120,.32); }
.raid-advisor-status {
  padding: 18px; border-radius: 18px; text-align: center; border: 1px dashed rgba(255,255,255,.1); color: var(--muted);
}
.wrap-toolbar { flex-wrap: wrap; }
.section-gap-top { margin-top: 24px; }
.advisor-stack { display: grid; gap: 16px; }
.advisor-card { padding: 18px; border-radius: 22px; border: 1px solid rgba(255,255,255,.08); background: linear-gradient(180deg, rgba(24,31,10,.96), rgba(12,16,6,.96)); box-shadow: 0 18px 40px rgba(0,0,0,.24); }
.advisor-card h3 { margin: 0 0 8px; font-size: 1.05rem; }
.advisor-card p { margin: 0; color: var(--muted); line-height: 1.6; }
.advisor-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.advisor-line { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.metric-chip { display:inline-flex; align-items:center; gap:6px; padding:8px 11px; border-radius:999px; background: rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.08); font-size:.8rem; font-weight:700; }
.metric-chip.burst { background: rgba(255, 120, 120, .14); border-color: rgba(255,120,120,.28); }
.metric-chip.speed { background: rgba(110, 188, 255, .14); border-color: rgba(110,188,255,.28); }
.metric-chip.safe { background: rgba(120, 235, 170, .14); border-color: rgba(120,235,170,.28); }
.metric-chip.risky { background: rgba(255, 195, 87, .14); border-color: rgba(255,195,87,.28); }
.advisor-empty { padding: 18px; border-radius: 18px; border:1px dashed rgba(255,255,255,.12); color: rgba(230,236,255,.68); }
.split-note { margin-top: 10px; color: var(--muted); line-height: 1.52; }
.audit-ok { border-color: rgba(120,235,170,.18); }
.audit-warn { border-color: rgba(255,195,87,.22); }
.audit-neutral { border-color: rgba(110,188,255,.18); }
.picker-modal {
  width: min(920px, 100%); max-height: min(88vh, 920px); overflow: hidden; border-radius: 28px; border: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, rgba(13,20,36,.98), rgba(6,10,18,.98)); box-shadow: 0 30px 80px rgba(0,0,0,.4); display: grid; grid-template-rows: auto auto minmax(0, 1fr); gap: 14px; padding: 22px;
}
.picker-head { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; }
.picker-results { overflow: auto; padding-right: 6px; }
.picker-item {
  display: grid; grid-template-columns: 64px 1fr auto; gap: 14px; align-items: center; padding: 12px 14px; border-radius: 18px; background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.05);
}
.picker-item-figure { width: 64px; height: 64px; }
.picker-tag { padding: 8px 10px; border-radius: 999px; background: rgba(123,141,55,.12); border: 1px solid rgba(123,141,55,.2); color: #eef7d7; font-size: .8rem; }
.hidden { display: none !important; }

/* Remove os blocos de resumo das abas estratégicas e devolve a largura ao conteúdo principal. */
#tab-raid > .section-grid.two-col,
#tab-gym > .section-grid.two-col,
#tab-gym > .section-grid.two-col.section-gap-top,
#tab-tournament > .section-grid.two-col {
  grid-template-columns: 1fr;
}

#tab-raid > .section-grid.two-col > .sticky-panel {
  display: none;
}

@media (max-width: 1280px) {
  .dashboard-grid { grid-template-columns: 1fr; }
  .section-grid.two-col, .section-grid.clan-layout { grid-template-columns: 1fr; }
  .panel.sticky-panel { position: static; }
}
@media (max-width: 900px) {
  .app-header { position: static; }
  .app-header.compact,
  .app-header.compact.open { transform: none; }
  .top-hover-zone { display: none; }
  .header-shell, .page-shell { width: min(100vw - 18px, 100%); }
  .panel { padding: 18px; border-radius: 20px; }
  .brand-row, .panel-head, .builder-top, .account-drawer-head, .user-admin-top { flex-direction: column; align-items: stretch; }
  .brand-side { justify-items: start; }
  .raid-boss-grid, .raid-rec-grid, .raid-advice-head, .raid-rec-top, .advisor-grid { grid-template-columns: 1fr; }
  .main-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .main-nav .nav-btn { width: 100%; }
  .dashboard-refresh-actions { justify-content: flex-start; }
  .field-grid.two-col, .matchup-row, .gym-slot-row, .stat-grid, .details-grid, .rank-top, .editor-banner, .type-matchup-grid, .user-admin-inline, .auction-iv-grid, .auction-checklist, .auction-compare-grid, .dashboard-strategy-grid, .sidebar-quick-actions { grid-template-columns: 1fr; }
  .account-drawer-overlay { padding-left: 0; }
  .account-drawer { width: 100%; }
  .advisor-grid { grid-template-columns: 1fr; }
  .header-mini-grid, .hero-stats, .ranking-grid { grid-template-columns: 1fr; }
  .auth-toggle-row .secondary-btn { width: 100%; }
  .auth-card > .field-grid::before { width: min(100%, 280px); }
  .brand-block > .eyebrow:first-child::before { width: min(100%, 210px); }
}
