/* ==========================================================================
   OMNIA RAID FOCUS — PATCH 83
   Readable combat, permanently visible actions, and lightweight raid popups.
   ========================================================================== */

:root {
  --r83-bg: #080415;
  --r83-panel: rgba(15, 9, 34, .97);
  --r83-line: rgba(151, 122, 214, .48);
  --r83-gold: #ffd05b;
  --r83-cyan: #8ee8ff;
  --r83-green: #9bffc0;
  --r83-pink: #ff79c8;
  --r83-red: #ff7898;
}

body.omnia83-raid-open {
  overflow: hidden !important;
}

/* Keep global utilities separated and away from the raid close button. */
#run-writer-open.run-writer-fab {
  right: 12px !important;
  bottom: 42px !important;
  z-index: 99993 !important;
}

.omnia-vfx-control {
  right: 66px !important;
  bottom: 42px !important;
}

body.omnia83-raid-open #run-writer-open.run-writer-fab {
  top: 12px !important;
  right: 152px !important;
  bottom: auto !important;
}

body.omnia83-raid-open .omnia-vfx-control {
  top: 12px !important;
  right: 98px !important;
  bottom: auto !important;
  width: 46px;
  min-width: 46px;
  height: 46px;
  min-height: 46px;
  padding: 7px;
  grid-template-columns: 1fr;
  overflow: hidden;
}

body.omnia83-raid-open .omnia-vfx-control > span {
  display: none !important;
}

/* Ambient effects are the expensive part. Ability feedback remains enabled. */
body.omnia83-raid-open #omnia-vfx-canvas,
body.omnia83-raid-open .omnia81-page-wipe,
body.omnia83-raid-open .wb-vfx {
  display: none !important;
}

body.omnia83-raid-open .wb74-bg {
  animation: none !important;
  transform: none !important;
}

.omnia83-toolbar {
  position: relative;
  z-index: 5;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  min-height: 48px;
}

.omnia83-tool,
.omnia83-writing-toggle,
.omnia83-modal-close,
.omnia83-modal-tab,
.omnia83-plan,
.omnia83-new-updates {
  border: 2px solid rgba(142,232,255,.42);
  background: linear-gradient(180deg, rgba(25,18,54,.98), rgba(10,6,25,.98));
  color: #f5f0ff;
  font-family: var(--pixel);
  font-size: 9px;
  line-height: 1.35;
  cursor: pointer;
}

.omnia83-tool {
  min-height: 46px;
  padding: 9px 10px;
}

.omnia83-tool:hover,
.omnia83-tool:focus-visible,
.omnia83-writing-toggle:hover,
.omnia83-writing-toggle:focus-visible,
.omnia83-modal-tab:hover,
.omnia83-modal-tab:focus-visible,
.omnia83-plan:hover,
.omnia83-plan:focus-visible {
  border-color: var(--r83-gold);
  color: #fff4ba;
  filter: brightness(1.12);
}

.omnia83-tool.primary {
  border-color: rgba(255,208,91,.72);
  background: linear-gradient(180deg, rgba(93,60,11,.92), rgba(42,27,8,.98));
  color: #fff0a0;
}

/* The old three-column information layout is now a focused single-column app. */
.wb74-campaign .wb80-intro-panel,
.wb74-campaign .wb-side-column {
  display: none !important;
}

.wb74-campaign .wb74-arena-grid {
  grid-template-columns: minmax(0, 1fr) !important;
}

.wb74-campaign .wb-main-column {
  min-width: 0;
}

/* Compact shared conditions without deleting useful status information. */
.wb74-campaign .p77-wb-statuses {
  display: flex;
  gap: 10px;
  align-items: center;
  width: 100%;
  margin: 7px 0 0;
  padding: 7px 9px;
}

.wb74-campaign .p77-wb-statuses > header {
  flex: 0 0 auto;
}

.wb74-campaign .p77-wb-statuses > header span {
  font-size: 8px;
}

.wb74-campaign .p77-wb-statuses > header small,
.wb74-campaign .p77-wb-statuses > p {
  display: none;
}

.wb74-campaign .p77-wb-statuses .p77-status-rack {
  display: flex;
  flex: 1 1 auto;
  gap: 6px;
  min-width: 0;
  overflow-x: auto;
}

/* Feed: readable prose and metrics, one scroll region only. */
.wb74-campaign .wb80-combat-panel {
  position: relative;
  min-height: 0;
  overflow: hidden;
}

.wb74-campaign #wb-log {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  scroll-behavior: auto;
}

.wb74-campaign #wb-log .wb74-entry {
  grid-template-columns: 66px minmax(0, 1fr);
  gap: 12px;
  padding: 12px 14px;
}

.wb74-campaign #wb-log .wb-entry-avatar {
  width: 62px;
  height: 82px;
}

.wb74-campaign #wb-log .wb-post-head {
  gap: 8px;
  margin-bottom: 6px;
}

.wb74-campaign #wb-log .wb-post-head strong {
  font-size: 11px;
}

.wb74-campaign #wb-log .wb-post-head > span {
  font-size: 17px;
}

.wb74-campaign #wb-log .wb-post-body,
.wb74-campaign #wb-log .wb80-action-writing {
  font-size: 18px;
  line-height: 1.35;
}

.wb74-campaign #wb-log .wb80-action-writing {
  display: -webkit-box;
  max-height: 76px;
  margin-top: 8px;
  padding: 9px 11px;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.wb74-campaign #wb-log .wb-pill-row {
  gap: 7px;
  margin-top: 9px;
}

.wb74-campaign #wb-log .wb-pill,
.wb74-campaign #wb-log .wb-pill.wb80-metric {
  min-width: 0;
  min-height: 31px;
  padding: 6px 9px;
  font-size: 8px;
}

.wb74-campaign #wb-log .wb80-metric i,
.wb74-campaign #wb-log .wb80-metric small,
.wb74-campaign #wb-log .wb80-charge i,
.wb74-campaign #wb-log .wb80-charge small {
  font-size: 7px;
}

.wb74-campaign #wb-log .wb80-metric b {
  font-size: 13px;
}

.wb74-campaign #wb-log .wb80-metric.healing {
  --class-color: #75d99f;
}

.wb74-campaign #wb-log .wb80-metric.shielding {
  --class-color: #79b8ff;
}

.wb74-campaign #wb-log .wb80-metric.support {
  --class-color: #ffe66d;
}

.wb74-campaign #wb-log .wb-system-line {
  padding: 9px 14px;
  font-size: 17px;
}

.omnia83-new-updates {
  display: none;
  position: absolute;
  z-index: 7;
  right: 18px;
  bottom: 14px;
  min-height: 38px;
  padding: 8px 11px;
  border-color: var(--r83-gold);
  background: #4b310b;
  color: #fff2ac;
  box-shadow: 0 0 20px rgba(255,208,91,.3);
}

.omnia83-new-updates.visible {
  display: block;
}

/* Action dock: permanently visible, with no nested scrolling. */
.wb74-campaign .wb-composer {
  position: relative;
  min-height: 0;
  padding: 10px 12px 12px;
  overflow: visible !important;
}

.wb74-campaign .wb-composer > header {
  min-height: 38px;
  margin: -10px -12px 9px;
}

.wb74-campaign .wb-composer > header h2 {
  font-size: 12px;
}

.wb74-campaign .wb74-avatar-tool,
.wb74-campaign .omnia82-avatar-toggle {
  display: none !important;
}

.omnia83-action-stage {
  display: grid;
  grid-template-columns: minmax(210px, .45fr) minmax(0, 1.55fr);
  grid-template-areas:
    "class actions"
    "status actions";
  gap: 7px 12px;
  align-items: stretch;
}

.omnia83-action-stage > .wb74-class-panel {
  grid-area: class;
}

.omnia83-action-stage > .wb74-my-status {
  grid-area: status;
}

.omnia83-action-stage > .wb74-action-grid {
  grid-area: actions;
}

.wb74-campaign .wb74-class-panel {
  grid-template-columns: 38px minmax(0, 1fr) auto;
  gap: 8px;
  min-height: 60px;
  margin: 0;
  padding: 8px;
}

.wb74-campaign .wb74-class-icon svg {
  width: 32px;
  height: 32px;
}

.wb74-campaign .wb74-class-panel > div > span,
.wb74-campaign .wb74-class-panel small,
.wb74-campaign .p77-wb-mastery-note {
  display: none !important;
}

.wb74-campaign .wb74-class-panel strong {
  margin: 0;
  font-size: 10px;
}

.wb74-campaign .wb74-class-panel > b {
  font-size: 11px;
}

.wb74-campaign .wb80-class-resource {
  margin-top: 5px;
  padding-top: 5px;
}

.wb74-campaign .wb74-my-status {
  display: grid;
  gap: 4px;
  margin: 0;
}

.wb74-campaign .wb74-my-status .wb-hp-meter {
  width: 100%;
}

.wb74-campaign .wb-status-note {
  font-size: 16px;
}

.wb84-loadout-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 7px 10px;
  align-items: center;
  margin-top: 7px;
  padding: 8px 10px;
  border: 1px solid rgba(142,232,255,.3);
  background: rgba(142,232,255,.055);
}

.wb84-loadout-summary > div:first-child span,
.wb84-loadout-summary > div:first-child strong {
  display: block;
}

.wb84-loadout-summary > div:first-child span {
  color: var(--r83-cyan);
  font-family: var(--pixel);
  font-size: 7px;
}

.wb84-loadout-summary > div:first-child strong {
  margin-top: 4px;
  color: #fff;
  font-size: 17px;
}

.wb84-loadout-button {
  min-height: 38px !important;
  padding: 7px 10px !important;
  font-size: 7px !important;
}

.wb84-passive-strip {
  grid-column: 1 / -1;
  display: flex;
  gap: 5px;
  overflow-x: auto;
}

.wb84-passive-strip span {
  flex: 0 0 auto;
  padding: 4px 6px;
  border: 1px solid rgba(255,208,91,.25);
  background: rgba(255,208,91,.06);
  color: #ded5e7;
  font-size: 14px;
}

.wb84-passive-strip b {
  margin-right: 5px;
  color: var(--r83-gold);
  font-family: var(--pixel);
  font-size: 6px;
}

.wb74-campaign .wb74-action-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.wb74-campaign .wb74-action-grid .pixel-btn {
  position: relative;
  min-height: 92px;
  padding: 12px 10px;
  border-width: 3px;
  font-size: 10px;
  line-height: 1.35;
}

.wb74-campaign .wb74-action-grid .pixel-btn strong {
  font-size: 10px;
  line-height: 1.4;
}

.wb74-campaign .wb74-action-grid .pixel-btn span {
  font-size: 17px;
  line-height: 1.1;
}

.wb74-campaign .wb74-action-grid .pixel-btn[disabled] {
  opacity: .62;
  filter: grayscale(.35);
  cursor: not-allowed;
}

.wb74-campaign .wb74-action-grid .pixel-btn[disabled]::after {
  content: attr(data-disabled-reason);
  display: block;
  margin-top: 5px;
  color: #ffd7df;
  font-family: var(--body);
  font-size: 14px;
  line-height: 1;
}

.omnia83-writing-toggle {
  width: 100%;
  min-height: 39px;
  margin-top: 9px;
  padding: 8px 10px;
  border-color: rgba(155,255,192,.46);
  color: #caffdc;
  text-align: left;
}

.wb74-campaign .wb80-writing-boost {
  display: none;
  margin: 8px 0 0;
  padding: 9px;
}

.wb74-campaign .wb-composer.omnia83-writing-open .wb80-writing-boost {
  display: block;
  position: fixed;
  z-index: 100045;
  left: 50%;
  top: 50%;
  width: min(900px, calc(100vw - 40px));
  max-height: calc(100dvh - 100px);
  margin: 0;
  padding: 16px;
  overflow-y: auto;
  border: 3px solid var(--r83-gold);
  background: linear-gradient(145deg, #0a061b, #171033);
  box-shadow: 0 0 0 100vmax rgba(3,2,11,.76), 0 22px 70px rgba(0,0,0,.72);
  transform: translate(-50%, -50%);
}

.omnia83-writing-close {
  position: absolute;
  top: 9px;
  right: 9px;
  width: 38px;
  height: 38px;
  border: 2px solid var(--r83-red);
  background: rgba(255,120,152,.12);
  color: #ffd2dc;
  font-family: var(--pixel);
  font-size: 9px;
  cursor: pointer;
}

.wb74-campaign .wb-composer.omnia83-writing-open .wb80-writing-boost > header {
  padding-right: 50px;
}

.wb74-campaign .wb80-writing-boost > header span {
  font-size: 8px;
}

.wb74-campaign .wb80-writing-boost > header strong {
  font-size: 18px;
}

.wb74-campaign .wb80-writing-boost > header > b {
  font-size: 8px;
}

.wb74-campaign .wb80-writing-boost textarea {
  min-height: 86px;
  max-height: 130px;
  font-size: 18px;
}

/* Initial entry form remains direct and legible. */
.wb74-campaign .wb74-entry-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 9px;
}

.wb74-campaign .wb74-entry-form .wb-post-input {
  min-height: 120px;
  max-height: 180px;
  font-size: 19px;
}

.wb74-campaign .wb74-entry-form .wb-composer-actions {
  display: grid;
  grid-template-columns: minmax(150px, .4fr) minmax(220px, .6fr) minmax(250px, 1fr);
  gap: 10px;
}

.wb74-campaign .wb74-entry-form .pixel-btn {
  min-height: 52px;
  font-size: 9px;
}

/* Focused popup shared by fighters, archive, intel, rankings, and rewards. */
.omnia83-modal {
  position: fixed;
  z-index: 100060;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(3,2,11,.88);
  backdrop-filter: blur(8px);
}

.omnia83-modal[hidden] {
  display: none !important;
}

.omnia83-modal-shell {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  width: min(1120px, 96vw);
  height: min(850px, calc(100dvh - 40px));
  min-height: 0;
  overflow: hidden;
  border: 3px solid var(--r83-gold);
  background:
    radial-gradient(circle at 90% 0, rgba(142,232,255,.14), transparent 30%),
    linear-gradient(145deg, #090518, #171033 55%, #080414);
  box-shadow: 0 24px 80px rgba(0,0,0,.72);
}

.omnia83-modal-head {
  display: flex;
  gap: 12px;
  align-items: center;
  min-height: 68px;
  padding: 13px 16px;
  border-bottom: 1px solid rgba(255,208,91,.36);
}

.omnia83-modal-head span {
  color: var(--r83-cyan);
  font-family: var(--pixel);
  font-size: 8px;
}

.omnia83-modal-head h2 {
  margin: 5px 0 0;
  color: #fff;
  font-family: var(--pixel);
  font-size: 17px;
  line-height: 1.4;
}

.omnia83-modal-close {
  width: 44px;
  height: 44px;
  margin-left: auto;
  border-color: var(--r83-red);
  color: #ffd1db;
  font-size: 11px;
}

.omnia83-modal-tabs {
  display: flex;
  gap: 8px;
  min-height: 48px;
  padding: 8px 16px;
  overflow-x: auto;
  border-bottom: 1px solid rgba(255,255,255,.1);
}

.omnia83-modal-tabs:empty {
  display: none;
}

.omnia83-modal-tab {
  flex: 0 0 auto;
  min-height: 34px;
  padding: 7px 11px;
}

.omnia83-modal-tab.active {
  border-color: var(--r83-gold);
  background: rgba(255,208,91,.12);
  color: #fff1a8;
}

.omnia83-modal-body {
  min-height: 0;
  overflow-y: auto;
  padding: 16px;
}

.omnia83-list {
  display: grid;
  gap: 12px;
  max-width: 930px;
  margin: 0 auto;
}

.omnia83-post {
  --class-color: var(--r83-cyan);
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  gap: 12px;
  padding: 13px;
  border: 1px solid color-mix(in srgb, var(--class-color) 45%, #312249);
  border-left: 5px solid var(--class-color);
  background: rgba(255,255,255,.04);
}

.omnia83-post img,
.omnia83-avatar {
  display: grid;
  place-items: center;
  width: 62px;
  height: 78px;
  object-fit: cover;
  border: 2px solid var(--class-color);
  background: #160c2e;
  color: #fff;
  font-family: var(--pixel);
  font-size: 10px;
}

.omnia83-post-head {
  display: flex;
  gap: 8px;
  align-items: baseline;
  flex-wrap: wrap;
}

.omnia83-post-head strong {
  color: #fff;
  font-family: var(--pixel);
  font-size: 10px;
}

.omnia83-post-head span {
  color: var(--class-color);
  font-size: 17px;
}

.omnia83-post-head time {
  margin-left: auto;
  color: #aaa0bb;
  font-size: 15px;
}

.omnia83-post-text {
  margin: 10px 0;
  color: #eee8f7;
  font-size: 20px;
  line-height: 1.42;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.omnia83-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.omnia83-metrics span {
  padding: 5px 7px;
  border: 1px solid rgba(255,255,255,.15);
  background: rgba(255,255,255,.055);
  color: #d8cedf;
  font-family: var(--pixel);
  font-size: 8px;
}

.omnia83-system {
  padding: 11px 13px;
  border-left: 4px solid #7bbcff;
  background: rgba(123,188,255,.08);
  color: #d8edff;
  font-size: 18px;
}

.omnia83-empty {
  padding: 32px;
  color: #aaa0bb;
  font-size: 19px;
  text-align: center;
}

.omnia83-intel-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  max-width: 930px;
  margin: 0 auto;
}

.omnia83-card {
  --accent: var(--r83-cyan);
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid color-mix(in srgb, var(--accent) 48%, transparent);
  border-left: 5px solid var(--accent);
  background: color-mix(in srgb, var(--accent) 8%, rgba(255,255,255,.025));
}

.omnia83-card.intent { --accent: var(--r83-red); }
.omnia83-card.objective { --accent: var(--r83-gold); }
.omnia83-card.plan { --accent: var(--r83-green); grid-column: 1 / -1; }

.omnia83-card > span {
  color: var(--accent);
  font-family: var(--pixel);
  font-size: 8px;
}

.omnia83-card strong {
  color: #fff;
  font-family: var(--pixel);
  font-size: 12px;
  line-height: 1.45;
}

.omnia83-card p {
  margin: 0;
  color: #cfc5dc;
  font-size: 18px;
  line-height: 1.3;
}

.omnia83-progress {
  height: 15px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.25);
  background: #090512;
}

.omnia83-progress span {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, var(--r83-cyan), var(--r83-gold));
}

.omnia83-plans {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
}

.omnia83-plan {
  display: grid;
  gap: 5px;
  min-height: 72px;
  padding: 10px;
  text-align: left;
}

.omnia83-plan b {
  color: var(--r83-gold);
  font-size: 9px;
}

.omnia83-plan small {
  color: #c8bed5;
  font-family: var(--body);
  font-size: 16px;
}

.omnia83-plan.active {
  border-color: var(--r83-green);
  background: rgba(155,255,192,.11);
  box-shadow: inset 4px 0 0 var(--r83-green);
}

.omnia83-rank-row {
  display: grid;
  grid-template-columns: 38px 52px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.035);
}

.omnia83-rank-row > b {
  color: var(--r83-gold);
  font-family: var(--pixel);
  font-size: 12px;
  text-align: center;
}

.omnia83-rank-row img,
.omnia83-rank-avatar {
  display: grid;
  place-items: center;
  width: 52px;
  height: 58px;
  object-fit: cover;
  border: 2px solid #735ca6;
  background: #160c2e;
  color: #fff;
  font-family: var(--pixel);
}

.omnia83-rank-row strong,
.omnia83-rank-row small {
  display: block;
}

.omnia83-rank-row strong {
  color: #fff;
  font-size: 20px;
}

.omnia83-rank-row small {
  color: #aaa0bb;
  font-size: 16px;
}

.omnia83-rank-score {
  color: var(--r83-green);
  font-family: var(--pixel);
  font-size: 11px;
  text-align: right;
}

.omnia83-rewards {
  display: grid;
  gap: 9px;
  max-width: 850px;
  margin: 0 auto;
}

.omnia83-rewards .wb-reward-row {
  padding: 14px;
  border: 1px solid rgba(255,208,91,.24);
  background: rgba(255,208,91,.045);
  font-size: 19px;
}

/* Mastery-backed raid loadout selector. */
.omnia84-loadout {
  display: grid;
  gap: 17px;
  max-width: 980px;
  margin: 0 auto;
}

.omnia84-loadout-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  padding: 13px;
  border: 1px solid rgba(142,232,255,.3);
  background: rgba(142,232,255,.055);
}

.omnia84-loadout-head span,
.omnia84-loadout-head strong {
  display: block;
}

.omnia84-loadout-head span {
  color: var(--r83-cyan);
  font-family: var(--pixel);
  font-size: 8px;
}

.omnia84-loadout-head strong {
  margin-top: 5px;
  color: #fff;
  font-family: var(--pixel);
  font-size: 14px;
}

.omnia84-loadout-head p {
  margin: 0;
  color: #cfc5dc;
  font-size: 18px;
  line-height: 1.3;
}

.omnia84-loadout h3 {
  margin: 0 0 9px;
  color: var(--r83-gold);
  font-family: var(--pixel);
  font-size: 10px;
}

.omnia84-fixed-grid,
.omnia84-technique-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.omnia84-ability-card {
  display: grid;
  gap: 7px;
  min-height: 132px;
  padding: 13px;
  border: 2px solid rgba(142,232,255,.28);
  background: rgba(255,255,255,.035);
}

.omnia84-ability-card.selected {
  border-color: var(--r83-green);
  background: rgba(155,255,192,.09);
  box-shadow: inset 5px 0 0 var(--r83-green);
}

.omnia84-ability-card.locked {
  opacity: .55;
}

.omnia84-ability-card > span,
.omnia84-passive-grid article > span {
  color: var(--r83-cyan);
  font-family: var(--pixel);
  font-size: 7px;
  text-transform: uppercase;
}

.omnia84-ability-card strong,
.omnia84-passive-grid article strong {
  color: #fff;
  font-family: var(--pixel);
  font-size: 10px;
  line-height: 1.4;
}

.omnia84-ability-card p,
.omnia84-passive-grid article p {
  margin: 0;
  color: #c9bfd6;
  font-size: 17px;
  line-height: 1.25;
}

.omnia84-select {
  align-self: end;
  min-height: 36px;
  border: 2px solid rgba(142,232,255,.5);
  background: rgba(142,232,255,.08);
  color: #e5faff;
  font-family: var(--pixel);
  font-size: 7px;
  cursor: pointer;
}

.omnia84-ability-card.selected .omnia84-select {
  border-color: var(--r83-green);
  color: var(--r83-green);
}

.omnia84-fixed {
  align-self: end;
  color: var(--r83-gold);
  font-family: var(--pixel);
  font-size: 7px;
}

.omnia84-specializations {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.omnia84-specialization {
  min-height: 48px;
  border: 2px solid rgba(255,208,91,.3);
  background: rgba(255,208,91,.055);
  color: #efe7f5;
  font-family: var(--pixel);
  font-size: 9px;
  cursor: pointer;
}

.omnia84-specialization.selected {
  border-color: var(--r83-gold);
  background: rgba(255,208,91,.15);
  color: #fff1a8;
}

.omnia84-passive-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.omnia84-passive-grid article {
  display: grid;
  gap: 5px;
  padding: 10px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.03);
}

.omnia84-loadout > footer {
  position: sticky;
  bottom: -16px;
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  padding: 12px;
  border-top: 1px solid rgba(255,208,91,.3);
  background: rgba(9,5,24,.98);
}

.omnia84-loadout > footer span {
  color: #d9cfe2;
  font-size: 18px;
}

@media (min-width: 1100px) and (min-height: 760px) {
  .wb-arena-overlay.wb74-campaign {
    overflow: hidden !important;
    padding: 10px !important;
  }

  .wb74-campaign .wb74-shell {
    display: grid;
    grid-template-rows: 126px auto 48px minmax(0, 1fr);
    gap: 9px;
    width: min(1760px, calc(100vw - 20px)) !important;
    height: calc(100dvh - 20px);
    min-height: 0;
    margin: 0 auto;
    padding: 0;
    overflow: hidden;
  }

  .wb74-campaign .wb74-hero {
    grid-template-columns: minmax(285px, 330px) minmax(0, 1fr);
    gap: 10px;
    width: 100%;
    height: 126px;
    min-height: 0 !important;
    margin: 0;
  }

  .wb74-campaign .wb-title-block {
    padding: 11px 14px;
  }

  .wb74-campaign .wb-title-block h1 {
    margin: 6px 0 3px;
    font-size: clamp(38px, 3.2vw, 58px);
    line-height: .92;
  }

  .wb74-campaign .wb-title-block p {
    margin: 6px 0 0;
    font-size: 18px;
  }

  .wb74-campaign .wb74-boss-banner {
    height: 126px !important;
  }

  .wb74-campaign .wb74-hp-panel {
    width: 100%;
    margin: 0;
    padding: 9px 11px;
  }

  .wb74-campaign .wb-phase-row {
    margin-bottom: 5px;
  }

  .wb74-campaign .wb-phase-row strong {
    font-size: 10px;
  }

  .wb74-campaign .wb-phase-row span {
    font-size: 16px;
  }

  .wb74-campaign .wb-boss-hp {
    height: 28px;
  }

  .wb74-campaign .wb74-raid-meta {
    gap: 7px;
    margin-top: 6px;
  }

  .wb74-campaign .wb74-raid-meta span {
    padding: 6px 8px;
    font-size: 8px;
  }

  .wb74-campaign .wb74-arena-grid {
    width: 100%;
    height: 100%;
    min-height: 0;
    margin: 0;
    overflow: hidden;
  }

  .wb74-campaign .wb-main-column {
    display: grid;
    grid-template-rows: minmax(240px, 1fr) auto;
    gap: 9px;
    height: 100%;
    overflow: hidden;
  }

  .wb74-campaign .wb80-combat-panel {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    height: 100%;
  }

  .wb74-campaign #wb-log {
    height: 100%;
    max-height: none;
  }

  .wb74-campaign .wb-composer {
    max-height: none;
  }
}

@media (min-width: 1100px) and (max-height: 900px) {
  .wb74-campaign .wb74-shell {
    grid-template-rows: 108px auto 46px minmax(0, 1fr);
  }

  .wb74-campaign .wb74-hero,
  .wb74-campaign .wb74-boss-banner {
    height: 108px !important;
  }

  .wb74-campaign .wb-title-block h1 {
    font-size: 42px;
  }

  .wb74-campaign .wb-title-block p {
    display: none;
  }

  .wb74-campaign .p77-wb-statuses {
    margin-top: 5px;
    padding: 5px 7px;
  }

  .wb74-campaign .wb74-action-grid .pixel-btn {
    min-height: 78px;
  }

  .wb74-campaign #wb-log .wb74-entry {
    padding-top: 9px;
    padding-bottom: 9px;
  }

  .wb84-passive-strip {
    display: none;
  }

  .wb84-loadout-summary {
    grid-template-columns: minmax(0, 1fr) auto;
    padding-top: 6px;
    padding-bottom: 6px;
  }
}

@media (max-width: 1099px), (max-height: 759px) {
  .wb74-campaign .omnia83-toolbar {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .wb74-campaign .wb74-arena-grid {
    overflow: visible;
  }

  .omnia83-action-stage {
    grid-template-columns: 1fr;
    grid-template-areas: "class" "status" "actions";
  }

  .wb74-campaign .wb74-action-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 650px) {
  body.omnia83-raid-open #run-writer-open.run-writer-fab {
    top: 8px !important;
    right: 108px !important;
  }

  body.omnia83-raid-open .omnia-vfx-control {
    top: 8px !important;
    right: 58px !important;
    width: 42px;
    min-width: 42px;
    height: 42px;
    min-height: 42px;
  }

  .omnia83-tool,
  .omnia83-writing-toggle {
    font-size: 7px;
  }

  .omnia83-modal {
    padding: 0;
  }

  .omnia83-modal-shell {
    width: 100%;
    height: 100dvh;
    border: 0;
  }

  .omnia83-intel-grid,
  .omnia83-plans {
    grid-template-columns: 1fr;
  }

  .omnia83-card.plan {
    grid-column: auto;
  }

  .omnia83-post {
    grid-template-columns: 46px minmax(0, 1fr);
    padding: 9px;
  }

  .omnia83-post img,
  .omnia83-avatar {
    width: 46px;
    height: 60px;
  }

  .omnia83-post-text {
    font-size: 18px;
  }

  .omnia83-post-head time {
    width: 100%;
    margin-left: 0;
  }

  .omnia83-rank-row {
    grid-template-columns: 30px 42px minmax(0, 1fr);
  }

  .omnia83-rank-score {
    grid-column: 2 / -1;
    text-align: left;
  }

  .omnia84-loadout-head,
  .omnia84-fixed-grid,
  .omnia84-technique-grid,
  .omnia84-specializations,
  .omnia84-passive-grid {
    grid-template-columns: 1fr;
  }
}

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

/* Patch 87: class-fitted staff grants and gear recommendations */
.staff-gear-builder {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 2px solid rgba(115, 215, 255, .45);
  background: linear-gradient(145deg, rgba(115, 215, 255, .09), rgba(182, 140, 255, .08));
}

.staff-gear-intro {
  display: grid;
  gap: 5px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255, 255, 255, .15);
}

.staff-gear-intro strong {
  color: #ffd05b;
  font-family: var(--pixel);
  font-size: 10px;
}

.staff-gear-intro span {
  color: #d6cde2;
  font-size: 17px;
}

.arsenal77-class-tag {
  grid-column: 1;
  justify-self: start;
  padding: 4px 6px;
  border: 1px solid rgba(182, 140, 255, .55);
  color: #cdb5ff;
  background: rgba(182, 140, 255, .1);
  font-family: var(--pixel);
  font-size: 7px;
  font-style: normal;
}

.arsenal77-class-tag.match {
  border-color: rgba(113, 238, 164, .7);
  color: #71eea4;
  background: rgba(113, 238, 164, .1);
}

.arsenal77-recommendation {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 4px 12px;
  padding: 10px 12px;
  border: 1px solid rgba(182, 140, 255, .45);
  background: rgba(182, 140, 255, .08);
}

.arsenal77-recommendation small,
.arsenal77-recommendation span {
  color: #bdb3cb;
}

.arsenal77-recommendation b {
  color: #d9c5ff;
  font-family: var(--pixel);
  font-size: 9px;
}

.arsenal77-recommendation span {
  grid-column: 1 / -1;
}

.arsenal77-recommendation.match {
  border-color: rgba(113, 238, 164, .65);
  background: rgba(113, 238, 164, .08);
}

.arsenal77-recommendation.match b {
  color: #71eea4;
}

/* Patch 88: raid submission feedback and Writer preference status */
.wb74-action-grid [data-wb-action-kind].is-submitting {
  position: relative;
  filter: brightness(.82) saturate(.75);
  cursor: wait;
}

.wb74-action-grid [data-wb-action-kind].is-submitting::after {
  content: "Submitting...";
  position: absolute;
  inset: auto 8px 6px;
  color: #231c45;
  font-family: var(--pixel);
  font-size: 6px;
  text-align: center;
}

.rw-theme-save-status {
  margin-left: auto;
  color: #53d889;
  font-family: var(--pixel);
  font-size: 7px;
  line-height: 1.4;
  text-align: right;
}
