/* Separate Forever presentation, with a temporary cached TBC character adapter. */
.forever-nav { display: none; }
.wow-version-switcher button[data-wow-theme="forever"] {
  grid-column: auto;
}
.wow-version-switcher button[data-wow-theme="forever"][aria-pressed="true"] {
  border-color: #57baa0;
  background: #142e32;
  box-shadow: 0 0 16px #46b89320;
}
html[data-wow-theme="forever"] {
  --bg: #0c1820;
  --panel: #12272d;
  --line: #33504f;
  --text: #edf1e8;
  --muted: #a8c2c3;
  --accent: #54bda1;
  color-scheme: dark;
}
html[data-wow-theme="forever"] body { background: #0b181e; color: #edf1e8; }
html[data-wow-theme="forever"] .app-sidebar {
  background: linear-gradient(180deg, #061a20 0%, #061a20 35%, #061a20c9 53%, #061a2010 82%), url('/assets/wallpapers/forever-sidebar.png') center bottom / 100% auto no-repeat, #061a20;
  border-color: #274346;
  align-content: start;
  gap: 12px;
}
html[data-wow-theme="forever"] .app-sidebar__brand { padding: 16px 18px 8px; gap: 3px; }
html[data-wow-theme="forever"] .app-sidebar__brand p:not(.eyebrow) { display: none; }
html[data-wow-theme="forever"] .app-sidebar__logo { font: 700 2.4rem/1.15 Georgia, serif; color: #e4cf9f; }
html[data-wow-theme="forever"] .wow-version-switcher { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; padding: 0 10px; }
html[data-wow-theme="forever"] .wow-version-switcher button { flex-direction: column; min-height: 90px; padding: 18px 3px 7px; gap: 4px; background: #071a20; border: 1px solid #33504f; font-size: .65rem; }
html[data-wow-theme="forever"] .wow-version-switcher__new { top: 3px; right: 3px; padding: 1px 3px; font-size: .48rem; line-height: 1.2; }
html[data-wow-theme="forever"] .wow-version-switcher button[data-wow-theme="forever"] { grid-column: auto; }
html[data-wow-theme="forever"] .wow-version-switcher img { width: 65px; max-width: 100%; height: 48px; object-fit: contain; }
html[data-wow-theme="forever"] .language-switcher { margin: 0 10px; width: calc(100% - 20px); min-width: 0; box-sizing: border-box; }
html[data-wow-theme="forever"] .donate-btn { order: 6; align-self: start; margin: 10px; }
html[data-wow-theme="forever"] .donate-btn__link { min-height: 48px; padding: 8px; }
html[data-wow-theme="forever"] .app-main { background: #0b181e; }
html[data-wow-theme="forever"] .app-sidebar__logo span { color: #54bda1; }
html[data-wow-theme="forever"] .app-sidebar .eyebrow { color: #c9ad77; }
html[data-wow-theme="forever"] .app-sidebar__brand p { color: #afc5c6; }
html[data-wow-theme="forever"] .language-switcher { border-color: #33504f; background: #10272b; }
html[data-wow-theme="forever"] .donate-btn { padding: 0; background: transparent; border: 0; box-shadow: none; }
html[data-wow-theme="forever"] .donate-btn__link { background: #10272b; border-color: #33504f; }
html[data-wow-theme="forever"] .language-switcher__button.is-active { background: #1a3d3a; border-color: #54bda1; color: #f1eee2; }
html[data-wow-theme="forever"] .side-nav,
html[data-wow-theme="forever"] .armory-topbar,
html[data-wow-theme="forever"] .site-footer,
html[data-wow-theme="forever"] #addonAnnouncement { display: none !important; }
html[data-wow-theme="forever"] .forever-nav { display: grid; grid-auto-rows: min-content; align-content: start; align-self: start; gap: 3px; margin-top: 18px; background: #061a20; }
.forever-nav a, .forever-nav button { position: relative; display: flex; align-items: center; gap: 14px; width: 100%; min-height: 36px; padding: 8px 12px; border: 0; color: #b6c5ce; background: transparent; border-radius: 0 5px 5px 0; text-decoration: none; font: 400 .82rem/1.4 "Nunito", sans-serif; text-align: left; }
.forever-nav a[aria-current="page"], .forever-nav a:hover { color: #f0eee4; background: linear-gradient(90deg, #174f48b3, #15383799); }
.forever-nav a[aria-current="page"]::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: #59e4bb; box-shadow: 0 0 10px #59e4bb44; }
.forever-nav svg { width: 16px; height: 16px; flex: 0 0 16px; fill: currentColor; color: #9fb4c3; }
.forever-nav a[aria-current="page"] svg { color: #f2f8f5; }
.forever-nav button:disabled { opacity: 1; cursor: not-allowed; }
.forever-home { padding: 22px; max-width: 1600px; margin: 0 auto; }
.forever-home[hidden] { display: none; }
.forever-launch { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; width: calc(100% - 48px); max-width: 980px; box-sizing: border-box; padding: 16px 20px; margin: 0 auto 16px; border: 1px solid #42655e; border-radius: 7px; background: linear-gradient(110deg,#144d45,#082a31); }
.forever-launch-heading { display: flex; align-items: center; gap: 12px; }
.forever-launch-heading > img { flex: 0 0 90px; width: 90px; height: 76px; object-fit: contain; }
.forever-launch-heading h2 { margin: 0 0 4px; color: #f3d494; font: 700 1.15rem/1.3 Georgia,serif; }
.forever-launch-heading time { display: block; font-size: .85rem; color: #e3eae5; }
.forever-launch-heading a { display: inline-block; margin-top: 4px; color: #aaccc7; font-size: .75rem; }
.forever-launch-clock { display: flex; gap: 18px; text-align: center; }
.forever-launch-clock strong { display: block; font: 400 clamp(1.8rem,3vw,2.8rem)/1.1 Georgia,serif; font-variant-numeric: tabular-nums; color: #f3d494; min-width: 2ch; }
.forever-launch-clock span { display: block; margin-top: 5px; font-size: .75rem; color: #e3eae5; }
.forever-launch-clock[hidden], .forever-launch-live[hidden], .is-profile > .forever-launch { display: none; }
.forever-launch-live { color: #f3d494; }
@media(max-width:640px) { .forever-launch { width: 100%; padding: 14px; gap: 14px; }.forever-launch-clock { width: 100%; justify-content: space-around; gap: 8px; }.forever-launch-heading h2 { font-size: 1rem; } }
.forever-home h1, .forever-home h2 { color: #f1eadb; }
.forever-home h1 { font: 700 clamp(2rem, 3.5vw, 3.7rem)/1.15 Georgia, serif; text-transform: none; letter-spacing: -.025em; margin: 15px 0; max-width: 780px; }
.forever-home h2 { font: 700 1.2rem/1.35 Georgia, serif; margin: 0 0 8px; }
.forever-home p { color: #b9cecf; line-height: 1.65; }
.forever-kicker { color: #ccb585; font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.forever-hero {
  position: relative;
  min-height: 0;
  padding: 18px 24px;
  border: 1px solid #345353;
  border-radius: 8px;
  background: linear-gradient(90deg, #081a21ed 0%, #0c242eaa 48%, #0c242e18 78%), url('/assets/wallpapers/WoW_Forever_Cinematic_Still_1.jpeg') center 68% / cover;
}
.forever-data-badge { position: relative; display: block; width: fit-content; max-width: 100%; box-sizing: border-box; margin: -6px -8px 10px auto; padding: 5px 9px; border: 1px solid #c9ad7766; border-radius: 5px; background: #061b20e8; color: #e7d4aa; font: 500 12px/1.4 "Nunito", sans-serif; text-align: right; white-space: nowrap; cursor: pointer; animation: forever-badge-shimmer 3s ease-in-out infinite; }
.forever-data-badge:focus-visible { outline: 2px solid #efcd86; outline-offset: 3px; }
.forever-data-explanation { display: block; width: fit-content; max-width: 100%; box-sizing: border-box; margin: 0 0 10px auto; padding: 8px 10px; border: 1px solid #42655e; border-radius: 5px; background: #061b20f5; color: #e7d4aa; font-size: 14px; line-height: 1.45; }
.forever-data-explanation[hidden] { display: none; }
@keyframes forever-badge-shimmer { 0%, 100% { border-color: #c9ad7766; box-shadow: 0 0 3px #e7d4aa15; } 50% { border-color: #f6dfa4; box-shadow: 0 0 9px #e7d4aa55, inset 0 0 4px #e7d4aa20; } }
@media (prefers-reduced-motion: reduce) { .forever-data-badge { animation: none; } }
@media (max-width: 700px) { .forever-data-badge { margin: 0 0 10px auto; } }
.forever-hero p { max-width: 720px; margin: 0 0 12px; font-size: .9rem; line-height: 1.45; }
.forever-button { display: inline-flex; align-items: center; justify-content: center; padding: 12px 20px; color: #fff !important; background: #237c69; border: 1px solid #66b89c; border-radius: 5px; font-weight: 700; text-decoration: none; font-size: .86rem; }
.forever-button:hover { background: #2f957d; }
.forever-preview { display: inline-block; color: #d7c196; font-size: .72rem; padding: 5px 8px; border: 1px solid #b99b574d; border-radius: 4px; background: #101e2199; }
.forever-hero .forever-preview { margin: 5px 0 0; padding: 3px 7px; font-size: .65rem; }
.forever-search { display: grid; grid-template-columns: 75px minmax(120px, 1fr) minmax(150px, 1.2fr) auto; gap: 12px; align-items: end; max-width: 820px; padding: 15px; border: 1px solid #33504f; border-radius: 6px; background: #061a20db; }
.forever-search label { display: grid; gap: 7px; min-width: 0; color: #c8d7d4; font-size: .8rem; }
.forever-search input, .forever-search select { width: 100%; min-width: 0; height: 42px; box-sizing: border-box; padding: 9px 10px; border: 1px solid #41615e; border-radius: 4px; background: #091f27; color: #f1eadb; font: inherit; }
.forever-search input:focus-visible, .forever-search select:focus-visible { outline: 2px solid #54bda1; outline-offset: 2px; }
.forever-search .forever-button { min-height: 42px; cursor: pointer; }
#foreverSearchNotice { margin: 10px 0 0; color: #d7c196; font-size: .85rem; }
@media (max-width: 1100px) { .forever-search { grid-template-columns: 75px minmax(0, 1fr); } }
.forever-shortcuts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 18px 0; }
.forever-card { border: 1px solid #2c484d; background: #0c2329; border-radius: 7px; overflow: hidden; }
.forever-shortcut { display: flex; flex-direction: column; text-decoration: none; transition: border-color .18s; }
a.forever-shortcut:hover { border-color: #65b69e; }
.forever-shortcut__image { height: 105px; background-size: cover; background-position: center; mask-image: linear-gradient(#000 55%, transparent); }
.forever-shortcut--character .forever-shortcut__image { background-image: url('/assets/characters/paladin.JPG'); background-position: 45% center; }
.forever-shortcut--gear .forever-shortcut__image { background-image: url('/assets/characters/war.jpg'); }
.forever-shortcut--explore .forever-shortcut__image { background-image: url('/assets/wallpapers/forever-glade.png'); }
.forever-shortcut--classes .forever-shortcut__image { background-image: url('/assets/characters/armory_bg_class_druid.jpg'); }
.forever-shortcut > div:last-child { position: relative; padding: 0 14px 14px; margin-top: -25px; }
.forever-shortcut p { margin: 0; padding-right: 26px; font-size: .83rem; }
.forever-shortcut > div > span:last-child { color: #d7c196; }
.forever-shortcut > div > span[aria-hidden] { position: absolute; right: 14px; bottom: 18px; display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid #bca477; border-radius: 50%; }
.forever-shortcut .forever-preview { margin-top: 8px; }
.forever-home-features { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.forever-home-feature { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid #33504f; border-radius: 8px; background: #08242a; }
.forever-home-feature > img { display: block; width: 100%; height: 140px; object-fit: cover; }
.forever-home-feature > div { display: flex; flex-direction: column; flex: 1; padding: 14px; }
.forever-home .forever-home-feature h2 { color: #ffd166; font: 700 1.12rem/1.3 Georgia, serif; }
.forever-home-feature p { margin: 0 0 12px; font-size: 14px; line-height: 1.55; }
.forever-home-feature .forever-button { align-self: flex-start; margin-top: auto; min-height: 0; padding: 0; border: 0; background: transparent; box-shadow: none; color: #8ce5cc; font-size: 14px; text-decoration: none; }
.forever-home-feature .forever-button:hover { background: transparent; text-decoration: underline; }
@media (max-width: 1200px) { .forever-home-features { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .forever-home-features { grid-template-columns: 1fr; }.forever-home-feature > img { height: 150px; } }
.forever-dashboard { display: grid; grid-template-columns: 1.3fr 1fr; gap: 14px; }
.forever-objective, .forever-resources { padding: 16px; }
.forever-objective { background: linear-gradient(110deg, #132b31f5, #132b31bf), url('/assets/wallpapers/forever-glade.png') center / cover; }
.forever-objective h2 { margin-top: 14px; font-size: 1.5rem; }
.forever-objective p { max-width: 600px; font-size: .9rem; margin-bottom: 22px; }
.forever-resources > a { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; padding: 10px 0; border-top: 1px solid #33504f; text-decoration: none; color: #f0eee4; font-size: .87rem; }
.forever-resources > .forever-kicker { display: block; margin-bottom: 18px; }
.forever-resources > a > span:last-child { color: #bfa97d; font-size: .75rem; }
.forever-resources > a:hover { color: #65d3af; }
.forever-notice { padding: 8px 0; font-size: .76rem; }
.forever-footer { display: flex; flex-wrap: wrap; gap: 18px; padding: 15px 0; border-top: 1px solid #33504f; }
.forever-footer a { color: #abc6c3; font-size: .76rem; text-decoration: none; }
.forever-home a:focus-visible, .forever-nav a:focus-visible { outline: 2px solid #e2c899; outline-offset: 4px; }
@media (max-width: 1100px) { .forever-shortcuts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px) {
  html[data-wow-theme="forever"] .app-sidebar { grid-template-columns: 1fr !important; gap: 10px; }
  html[data-wow-theme="forever"] .app-sidebar__brand p:not(.eyebrow),
  html[data-wow-theme="forever"] .donate-btn { display: none; }
  html[data-wow-theme="forever"] .wow-version-switcher { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html[data-wow-theme="forever"] .wow-version-switcher button[data-wow-theme="forever"] { grid-column: auto; }
  html[data-wow-theme="forever"] .wow-version-switcher button { min-height: 84px; flex-direction: column; padding: 18px 6px 6px; gap: 4px; font-size: .62rem; }
  html[data-wow-theme="forever"] .wow-version-switcher img { width: 60px; max-width: 100%; height: 38px; }
  html[data-wow-theme="forever"] .forever-nav { display: flex; flex-wrap: wrap; gap: 4px; margin: 0; }
  .forever-nav a, .forever-nav button { padding: 8px; font-size: .75rem; width: auto; }
  .forever-home { padding: 12px; }
  .forever-search { padding: 12px; gap: 10px; }
  .forever-search label:nth-child(3), .forever-search .forever-button { grid-column: 1 / -1; }
  .forever-hero { min-height: 0; padding: 16px; }
  .forever-hero .forever-preview { margin-left: 0; }
  .forever-dashboard { grid-template-columns: 1fr; }
  .forever-shortcuts { gap: 10px; }
  .forever-shortcut__image { height: 85px; }
  .forever-shortcut > div:last-child { padding: 0 12px 12px; margin-top: -25px; }
  .forever-home h2 { font-size: 1rem; }
  .forever-objective, .forever-resources { padding: 18px; }
}
@media (prefers-reduced-motion: reduce) { .forever-shortcut { transition: none; } }

/* Immersive profile: preserve the mockup proportions and compact rows. */
.forever-home.is-profile { padding: 14px 18px; }
.is-profile > .forever-shortcuts, .is-profile > .forever-home-features, .is-profile > .forever-dashboard, .is-profile > .forever-recent { display: none; }
.forever-recent { margin: 16px 0; }
.is-profile > .forever-news { display: none; }
.forever-news { margin: 12px 0; font-size: 14px; }
.forever-news > header { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; }
.forever-news h2, .forever-news h3, .forever-patch-note h4 { color: #f5ce78; font-family: Georgia,serif; margin: 0 0 6px; }
.forever-news h2 { font-size: 18px; }
.forever-news h3, .forever-patch-note h4 { font-size: 15px; }
.forever-news-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,220px),1fr)); gap: 16px; margin: 10px 0; }
.forever-news p, .forever-patch-note p { color: #c4d8d5; margin: 4px 0 8px; line-height: 1.5; }
.forever-news time, .forever-news > a, .forever-patch-note a { color: #a9ceca; font-size: 12px; }
.forever-news summary { cursor: pointer; color: #f5ce78; padding: 4px 0; }
.forever-patch-note { padding: 12px; margin: 12px 0; border-left: 3px solid #c6a24c; background: #0b292d; border-radius: 4px; font-size: 14px; }
.forever-recent h2 { margin: 0 0 12px; color: #f5ce78; font: 700 1.15rem/1.4 Georgia,serif; }
.forever-recent .empty-chips { display: grid; grid-template-columns: repeat(auto-fill,min(100%,314px)); gap: 8px; }
.forever-recent .empty-chip { min-width: 0; background: #061b20; border-color: #315455; border-radius: 4px; padding: 10px; font-size: 14px; flex-wrap: wrap; }
.forever-recent .empty-chip img { width: 36px; height: 36px; border-radius: 4px; }
.forever-recent .empty-chip__realm { overflow-wrap: anywhere; }
.forever-recent-character { position: relative; display: flex; gap: 8px; align-items: center; box-sizing: border-box; min-height: 66px; padding: 8px 10px; border: 1px solid color-mix(in srgb,var(--recent-class-color) 45%,#315455); border-radius: 8px; background: linear-gradient(110deg,color-mix(in srgb,var(--recent-class-color) 8%,#061b20),#061b20 70%); text-decoration: none; min-width: 0; }
.forever-recent-character:hover { border-color: var(--recent-class-color); background: #0b2b2d; transform: none; }
.forever-recent-character .recent-avatar { flex-shrink: 0; }
.forever-recent-character .recent-avatar img { border-color: color-mix(in srgb,var(--recent-class-color) 65%,#315455); }
.forever-recent-character .recent-info { gap: 1px; line-height: 1.35; }
.forever-recent-character .recent-name { padding-right: 22px; font-size: 14px; }
.forever-recent-character .recent-details { padding-right: 22px; color: #b8cecc; font-size: 12px; text-transform: none; }
.forever-recent-character .recent-card__metrics { display: flex; flex-wrap: nowrap; gap: 4px; white-space: nowrap; overflow: hidden; }
.forever-recent-metrics > span { padding: 0; border: 0; color: #f5ce78; font-size: 12px; font-weight: 600; }
.forever-recent-character .recent-ilvl { color: #cf9aff; }
.forever-recent-character .recent-region { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); color: #b8cecc; font-size: 10px; padding: 0; border: 0; }
.forever-recent-character .recent-seen { color: #a6bbb9; font-size: 11px; font-weight: 400; overflow: hidden; text-overflow: ellipsis; }
.forever-recent-character:focus-visible { outline: 2px solid #f5ce78; outline-offset: 3px; }
.is-profile > .forever-notice { display: none; }
.is-profile .forever-hero { min-height: 0; padding: 16px 20px; margin-bottom: 12px; }
html[data-wow-theme="forever"] #accountWowPage > .forever-hero { margin-bottom: 16px; }
.forever-hero > h1 { font: 700 clamp(1.65rem, 2.4vw, 2.6rem)/1.15 Georgia,serif; color: #f1eadb; letter-spacing: -.025em; margin: 7px 0 9px; }
.is-profile .forever-search { max-width: 900px; padding: 9px 12px; gap: 10px; }
.is-profile .forever-search label { gap: 3px; font-size: .72rem; }
.is-profile .forever-search input, .is-profile .forever-search select { height: 35px; }
.is-profile .forever-search .forever-button { min-height: 35px; padding: 7px 18px; }
.is-profile #foreverSearchNotice { margin: 5px 0 0; font-size: .7rem; }
.forever-identity { border: 1px solid #756544; border-radius: 4px; background: linear-gradient(90deg,#061b21fa,#08212bc2,#08212b60), url('/assets/wallpapers/forever-glade.png') center 52%/cover; margin-bottom: 10px; }
.forever-identity h1 { font: 700 1.75rem/1.2 Georgia,serif; color: #e6ce93; margin: 0; padding: 8px 14px; border-bottom: 1px solid #41605a66; }
.forever-identity > div { display: flex; gap: 18px; align-items: center; padding: 10px 14px; }
.forever-portrait { width: 74px; height: 74px; border: 1px solid #c2a466; object-fit: cover; border-radius: 3px; }
.forever-identity h2 { color: #ecd397; font-size: 2rem; margin: 0 0 4px; }
.forever-identity p { margin: 0; font-size: .85rem; }
.forever-armory-grid { display: grid; grid-template-columns: minmax(290px,.44fr) minmax(0,1fr); gap: 14px; align-items: start; }
.forever-armory-left, .forever-armory-right { display: grid; gap: 8px; min-width: 0; }
.forever-activities { display: grid; gap: 12px; color: #d1dfda; }
.forever-dungeon-path { padding: 16px; border: 1px solid #42655e; border-radius: 6px; background: #061b20; }
.forever-race-choices { display: grid; grid-template-columns: repeat(auto-fit,minmax(110px,1fr)); gap: 8px; margin: 14px 0; }
.forever-race-choice { min-height: 58px; padding: 10px; border: 1px solid #42655e; border-radius: 6px; background: linear-gradient(#061b2070,#061b20e8),var(--race-bg) center/cover; color: #d1dfda; cursor: pointer; font: inherit; font-size: .78rem; }
.forever-race-choice[aria-pressed="true"] { border-color: #f5ce78; color: #f5ce78; box-shadow: inset 0 0 0 1px #a78343; }
.forever-level-choice { display: flex; gap: 10px; align-items: center; font-size: .85rem; }
.forever-level-choice input { width: 70px; padding: 6px 8px; border: 1px solid #42655e; border-radius: 4px; background: #08242a; color: #eeeae0; }
.forever-zone-path li { grid-template-columns: 52px minmax(0,1fr); gap: 12px; padding-bottom: 10px; }
.forever-zone-path li::before { left: 25px !important; }
.forever-zone-path .forever-path-step { width: 52px; border-radius: 5px; font-size: .72rem; }
.forever-zone-path .forever-path-node { grid-template-columns: 1fr auto; padding: 9px 12px; }
.forever-zone-path .forever-path-node small { display: block; margin-top: 4px; font-size: .65rem; color: #a5bcb3; }
.forever-zone-path .is-current .forever-path-node { border-color: #f5ce78; }
.forever-zone-path .is-current .forever-path-step { background: #144d45; border-color: #f5ce78; }
.forever-zone-path .is-past { opacity: .65; }
.forever-zone-path .forever-path-branches { grid-template-columns: repeat(var(--path-columns),minmax(0,1fr)); }
.forever-zone-path .forever-path-node { grid-template-columns: 1fr; gap: 6px; min-width: 0; }
.forever-zone-path .forever-path-check { grid-column: 1; }
.forever-zone-path .forever-zone-dungeon { flex-direction: column; align-items: flex-start; gap: 6px; min-width: 0; }
@media(max-width:760px) { .forever-zone-path .forever-path-branches { grid-template-columns: 1fr; } }
.forever-zone-dungeon { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid #a7834366; border-radius: 6px; background: linear-gradient(90deg,#061b20e8,#061b20b8),url('/assets/dungeons/classic.webp') center/cover; }
.forever-zone-dungeon strong { display: block; color: #eeeae0; font: 600 .9rem/1.4 Georgia,serif; }
.forever-zone-dungeon small { display: block; color: #a5bcb3; font-size: .7rem; }
.forever-zone-dungeon.is-available { border-color: #f5ce78; }
.forever-zone-dungeon.is-available small:last-child { color: #f5ce78; }
.forever-race-choice:focus-visible { outline: 2px solid #9cd9c3; outline-offset: 2px; }
.forever-dungeon-path ol { margin: 18px 0; padding: 0; list-style: none; }
.forever-dungeon-path li { position: relative; display: grid; grid-template-columns: 32px minmax(0,1fr); gap: 14px; padding-bottom: 20px; }
.forever-dungeon-path li:not(:last-child)::before { content: ""; position: absolute; left: 15px; top: 30px; bottom: 0; width: 2px; background: #50b48766; }
.forever-path-step { display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid #50b487; border-radius: 50%; background: #10332e; color: #eeeae0; font-size: .8rem; }
.forever-path-branches { display: grid; grid-template-columns: repeat(auto-fit,minmax(240px,1fr)); gap: 10px; }
.forever-path-node { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; padding: 12px; border: 1px solid #42655e; border-radius: 6px; background: linear-gradient(90deg,#10332e,#08242a); cursor: pointer; }
.forever-path-node strong { color: #eeeae0; font: 600 .9rem/1.4 Georgia,serif; }
.forever-path-level { padding: 4px 6px; border: 1px solid #a7834366; border-radius: 4px; color: #f5ce78; font-size: .75rem; white-space: nowrap; }
.forever-path-check { display: flex; align-items: center; gap: 6px; font-size: .72rem; color: #9cd9c3; }
.forever-path-check input { accent-color: #50b487; width: 17px; height: 17px; }
.forever-path-node:has(input:checked) { border-color: #50b487; background: #144d4566; }
.forever-path-node:focus-within { outline: 2px solid #9cd9c3; outline-offset: 2px; }
.forever-path-sources { display: flex; flex-wrap: wrap; gap: 12px; font-size: .75rem; }
.forever-path-sources a { color: #9cd9c3; }
.forever-activities .forever-dungeon-path { padding: 10px; }
.forever-activities .forever-dungeon-path ol { margin: 10px 0; }
.forever-activities .forever-dungeon-path li { padding-bottom: 7px; gap: 8px; }
.forever-activities .forever-zone-path li { grid-template-columns: 52px minmax(0,1fr); }
.forever-activities .forever-path-node { padding: 7px 9px; gap: 8px; }
.forever-activities .forever-path-node strong { font-size: .8rem; line-height: 1.25; }
.forever-zone-note { color: #a5bcb3; font-size: .72rem; }
.forever-zone-note summary { cursor: pointer; }
.forever-zone-note p { padding-top: 6px; }
.forever-race-choices { gap: 5px; margin: 9px 0; grid-template-columns: repeat(auto-fit,minmax(90px,1fr)); }
.forever-race-choice { min-height: 34px; padding: 5px 7px; font-size: .72rem; }
.forever-level-choice { font-size: .75rem; }
.forever-level-choice input { padding: 3px 6px; width: 58px; }
.forever-zone-path .forever-path-branches { gap: 6px; }
.forever-zone-path .forever-path-node { grid-template-columns: minmax(0,1fr) auto; min-height: 40px; }
.forever-zone-path .forever-path-node small { display: none; }
.forever-zone-path .forever-path-check { grid-column: 2; font-size: 0; gap: 0; }
.forever-zone-path .forever-path-check input { margin: 0; width: 15px; height: 15px; }
.forever-zone-path .forever-zone-dungeon { flex-direction: row; align-items: center; gap: 7px; padding: 7px 9px; }
.forever-zone-path .forever-zone-dungeon strong { font-size: .8rem; line-height: 1.25; }
.forever-zone-path .forever-zone-dungeon small { display: none; }
.forever-zone-path .forever-path-level { padding: 3px 4px; font-size: .65rem; }
.forever-zone-path .forever-zone-card { border-left: 3px solid #62c7af; background: linear-gradient(90deg,#082d2bdb,#082d2b85),url('/assets/wallpapers/azeroth-exploration-map.png') center 60%/cover; }
.forever-zone-path .forever-zone-card:has(input:checked) { background: linear-gradient(90deg,#144d45e0,#144d4599),url('/assets/wallpapers/azeroth-exploration-map.png') center 60%/cover; }
.forever-path-kind { display: block; margin-bottom: 2px; color: #a5e4d2; font: 600 .6rem/1.2 system-ui,sans-serif; }
.forever-zone-path .forever-zone-dungeon { border-left: 3px solid #cba263; }
.forever-zone-dungeon .forever-path-kind { color: #f5ce78; }
.forever-activities .forever-zone-dungeon[data-forever-dungeon="thanes"],
.forever-activities .forever-path-node[data-forever-dungeon="thanes"] { background: linear-gradient(90deg,#20180ddd,#20180d70),url('/assets/dungeons/forever-hall-of-thanes.png') center 55%/cover; }
.forever-activities .forever-zone-dungeon[data-forever-dungeon="lordaeron"],
.forever-activities .forever-path-node[data-forever-dungeon="lordaeron"] { background: linear-gradient(90deg,#061b20d9,#061b2070),url('/assets/dungeons/forever-ruins-of-lordaeron.png') center/cover; }
.forever-activities .forever-zone-dungeon[data-forever-dungeon="dalaran"],
.forever-activities .forever-path-node[data-forever-dungeon="dalaran"] { background: linear-gradient(90deg,#061b20d9,#061b2070),url('/assets/dungeons/forever-city-of-dalaran.png') center/cover; }
.forever-activities .forever-zone-dungeon[data-forever-dungeon="excavation"],
.forever-activities .forever-path-node[data-forever-dungeon="excavation"] { background: linear-gradient(90deg,#061b20d9,#061b2070),url('/assets/dungeons/forever-excavation-wetlands.png') center/cover; }
.forever-activities .forever-zone-dungeon[data-forever-dungeon="drowned"],
.forever-activities .forever-path-node[data-forever-dungeon="drowned"] { background: linear-gradient(90deg,#061b20d9,#061b2070),url('/assets/dungeons/forever-drowned-city.png') center/cover; }
.forever-activities .forever-zone-dungeon[data-forever-dungeon="kroldok"],
.forever-activities .forever-path-node[data-forever-dungeon="kroldok"] { background: linear-gradient(90deg,#061b20d9,#061b2070),url('/assets/dungeons/forever-kroldok-stronghold.png') center/cover; }
.forever-activities .forever-zone-dungeon[data-forever-dungeon="alcaz"],
.forever-activities .forever-path-node[data-forever-dungeon="alcaz"] { background: linear-gradient(90deg,#061b20d9,#061b2070),url('/assets/dungeons/forever-alcaz-prison.png') center 35%/cover; }
.forever-activities .forever-zone-dungeon[data-forever-dungeon="blackmaw"],
.forever-activities .forever-path-node[data-forever-dungeon="blackmaw"] { background: linear-gradient(90deg,#061b20d9,#061b2070),url('/assets/dungeons/forever-blackmaw-hold.png') center/cover; }
.forever-activities .forever-zone-dungeon[data-forever-dungeon="shapers"],
.forever-activities .forever-path-node[data-forever-dungeon="shapers"] { background: linear-gradient(90deg,#061b20d9,#061b2070),url('/assets/dungeons/forever-shapers-terrace.png') center/cover; }
@media(max-width:760px) { .forever-path-branches { grid-template-columns: 1fr; }.forever-path-node { grid-template-columns: auto 1fr; }.forever-path-check { grid-column: 2; } }
.forever-activities h2 { margin: 0 0 8px; color: #eeeae0; }
.forever-activities p { margin: 0; font-size: .85rem; line-height: 1.5; }
.forever-activities > header { padding: 16px; }
.forever-activity-progress { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 12px; font-size: .8rem; }
.forever-activity-progress progress { width: min(240px,100%); accent-color: #50b487; }
.forever-activity-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; align-items: start; }
.forever-activities .forever-activity-card { padding: 16px; border-radius: 6px; overflow: hidden; background: linear-gradient(90deg,#061b20f5,#061b2088),var(--activity-bg) center/cover,#08242a; }
.forever-home .forever-activities .forever-activity-card h3 { color: #eeeae0; background: #08242acc; margin: -16px -16px 9px; padding: 9px 16px; border-bottom-color: #42655e; }
.forever-activity-status { display: inline-block; margin: 8px 0 12px; padding: 3px 7px; border: 1px solid #42655e; border-radius: 4px; color: #9cd9c3; font-size: .65rem; }
.forever-activity-card label { display: flex; align-items: flex-start; gap: 10px; font-size: .85rem; line-height: 1.5; cursor: pointer; }
.forever-activity-card input { flex: 0 0 auto; width: 17px; height: 17px; margin-top: 2px; accent-color: #50b487; }
.forever-activity-card input:checked + span { color: #99b6aa; text-decoration: line-through; }
.forever-activities > a { color: #9cd9c3; font-size: .8rem; }
.forever-activity-main { display: grid; grid-template-columns: minmax(0,3fr) minmax(230px,1fr); gap: 12px; align-items: start; }
.forever-activity-main > * { min-width: 0; }
.forever-activity-news > summary { cursor: pointer; color: #f5ce78; font: 600 .95rem/1.4 Georgia,serif; }
.forever-personal-goals > h2 { font: 600 1rem/1.3 Georgia,serif; }
.forever-personal-goals .forever-activity-grid { grid-template-columns: 1fr; gap: 8px; }
.forever-personal-goals .forever-activity-card { padding: 10px; }
.forever-home .forever-personal-goals .forever-activity-card h3 { margin: -10px -10px 6px; padding: 7px 10px; font-size: .85rem; }
.forever-personal-goals .forever-activity-status { margin: 2px 0 6px; }
.forever-personal-goals .forever-activity-card label { font-size: .78rem; line-height: 1.4; }
.forever-dungeon-checklist > summary { cursor: pointer; color: #eeeae0; font: 600 .95rem/1.4 Georgia,serif; }
.forever-dungeon-checklist[open] > summary { margin-bottom: 10px; }
.forever-activity-help { font-size: .75rem; color: #a5bcb3; }
.forever-activity-help summary { cursor: pointer; }
.forever-activity-help p { margin-top: 8px; }
@media(max-width:1250px) { .forever-activity-main { grid-template-columns: 1fr; }.forever-personal-goals .forever-activity-grid { grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); } }
.forever-activity-notice { padding: 10px 12px; border-left: 2px solid #a78343; background: #061b20; color: #b8cbc5; }
@media(max-width:760px) { .forever-activity-grid { grid-template-columns: 1fr; } }
.forever-character-panel { min-width: 0; overflow: hidden; border: 1px solid #315455; border-radius: 6px; background: #061b20; }
.forever-armory-grid .forever-character-panel > .forever-model { border: 0; border-radius: 0; }
.forever-armory-grid .forever-character-panel > .forever-stats,
.forever-armory-grid .forever-character-panel > #foreverRaidProgress { margin: 10px; border: 1px solid #315455; border-radius: 6px; overflow: hidden; }
.forever-surface { border: 1px solid #315455; border-radius: 4px; background: #051d24; padding: 10px; min-width: 0; }
.forever-surface h3, .forever-surface > summary, .forever-objective-strip h3 { font: 700 .95rem/1.4 Georgia,serif; color: #e5d29f; margin: 0; }
.forever-surface > summary { cursor: pointer; padding: 0 0 7px; }
.forever-surface:not([open]) > summary { padding-bottom: 0; }
.forever-surface > summary small { float: right; color: #a8c2c3; }
.forever-model { height: 470px; border: 1px solid #4a635b; border-radius: 4px; overflow: hidden; position: relative; background: linear-gradient(#061b2020,#061b2055),var(--forever-model-bg) center/cover; }
.forever-model > img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; }
.forever-model > div { position: absolute; bottom: 10px; left: 10px; right: auto; display: inline-flex; gap: 14px; align-items: center; padding: 7px 10px; border: 1px solid #ad976a88; background: #061b21db; color: #ffd166; }
.forever-model strong { font: 700 1.15rem Georgia,serif; }.forever-model span { font-size: .76rem; }
.forever-stats > div, .forever-stats details > div { display: flex; justify-content: space-between; border-top: 1px solid #33504f66; padding: 6px 2px; font-size: .8rem; }
.forever-stats h3 { margin-bottom: 7px; }.forever-stats summary { cursor: pointer; font-size: .75rem; padding-top: 7px; }
.forever-objective-strip { padding: 8px 12px; border: 1px solid #a58a53; border-radius: 4px; background: linear-gradient(90deg,#061b21f5,#061b21c9),var(--forever-source-bg,url('/assets/wallpapers/forever-glade.png')) center/cover; }
.forever-objective-strip > div { display: flex; gap: 10px; align-items: center; margin-top: 5px; }
.forever-objective-strip > div > div { flex: 1; }.forever-objective-strip p { margin: 3px 0 0; font-size: .75rem; line-height: 1.4; }
.forever-objective-strip .forever-item { max-width: 52px; }.forever-objective-strip .forever-item strong { display: none; }.forever-objective-strip .forever-item img { width: 45px; height: 45px; }
.forever-objective-strip .forever-button { font-size: .7rem; padding: 8px 12px; white-space: nowrap; }
.forever-equipment { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px 12px; }
.forever-equipment-row { min-width: 0; display: flex; align-items: center; gap: 7px; border: 1px solid #274448; border-radius: 3px; padding: 3px 6px; background: #05191f; }
.forever-equipment-slot { width: 50px; flex-shrink: 0; font-size: .63rem; color: #aec2c4; }
.forever-equipment-row > span:last-child { margin-left: auto; font-size: .7rem; }.forever-equipment-row .forever-item { flex: 1; }
.forever-item { display: flex; gap: 9px; align-items: center; min-width: 0; text-decoration: none; color: #b8cecc; }
.forever-equipped-item { min-width: 0; flex: 1; }
.forever-item-copy { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; min-width: 0; }
.forever-equipment-warnings { display: inline-flex; flex-wrap: wrap; gap: 4px 8px; }
.forever-equipment-warnings .eq-warning { display: inline-flex; align-items: baseline; gap: 5px; color: #ff7777; background: transparent; border: 0; padding: 0; font: 500 .75rem/1.4 "Nunito", sans-serif; }
.forever-equipped-item:focus-visible { outline: 2px solid #ffd166; outline-offset: 3px; border-radius: 3px; }
.forever-equipped-item > .equipment-tooltip { position: fixed; right: auto; bottom: auto; width: min(360px, calc(100vw - 16px)); transform: none; max-height: calc(100vh - 16px); overflow-y: auto; visibility: hidden; }
.forever-equipped-item:hover > .equipment-tooltip,
.forever-equipped-item:focus > .equipment-tooltip { opacity: 1; visibility: visible; }
.forever-tooltip-enhancements { display: grid; gap: 5px; margin-top: 7px; padding: 7px 0 0 9px; border-top: 1px solid #ffffff1f; border-left: 2px solid currentColor; }
.forever-tooltip-enhancements h4 { margin: 0; font: 700 .8rem/1.4 "Nunito", sans-serif; color: inherit; }
.forever-tooltip-enhancements--enchant { color: #dbadff; }
.forever-tooltip-enhancements--gems { color: #76dded; }
.forever-tooltip-enhancements .equipment-tooltip__line--enchant { color: inherit !important; }
.forever-tooltip-enhancements .equipment-tooltip__line--socket,
.forever-tooltip-enhancements .equipment-tooltip__gem-stat,
.forever-tooltip-enhancements .equipment-tooltip__value { color: inherit; }
.forever-tooltip-enhancements .equipment-tooltip__gem-header { flex-wrap: wrap; }
.forever-tooltip-enhancements .equipment-tooltip__line--empty-socket { color: #ff7777; }
.forever-item img, .forever-item-placeholder { width: 28px; height: 28px; object-fit: cover; flex: 0 0 auto; border: 1px solid currentColor; border-radius: 3px; }
.forever-item strong { font-size: 14px; font-weight: 600; line-height: 1.35; }.forever-item:hover strong { text-decoration: underline; }
.forever-item.quality-epic { color: #d28aff; }.forever-item.quality-rare { color: #69baff; }.forever-item.quality-uncommon { color: #6be497; }.forever-item.quality-legendary { color: #ffb369; }
.forever-upgrade-list { max-height: 170px; overflow: auto; scrollbar-width: thin; scrollbar-color: #42655e #051d24; scroll-snap-type: y proximity; }
.forever-upgrade { min-height: 85px; box-sizing: border-box; scroll-snap-align: start; }
.forever-upgrade { display: grid; grid-template-columns: 1fr 24px 1fr .8fr; align-items: center; gap: 8px; border-top: 1px solid #315455; padding: 9px 4px; }.forever-upgrade > div { min-width: 0; }.forever-upgrade small { display: block; font-size: .65rem; color: #d4c18f; margin-bottom: 4px; }.forever-upgrade p { margin: 0; font-size: .7rem; line-height: 1.4; }.forever-upgrade img { width: 35px; height: 35px; }
.forever-talents .talent-card { border: 0; padding: 0; background: transparent; box-shadow: none; }
.forever-talents .talent-card__title { display: none; }.forever-talents .talent-tabs { background: linear-gradient(#071d24aa,#071d24dd),var(--talent-tabs-bg) center/cover; }
.forever-talents .talent-tabs { display: none; }
.forever-talents .talent-content { display: grid; gap: 8px; padding: 0; }
.forever-talents [data-tbc-tree-content] { display: flex; align-items: center; gap: 10px; }
.forever-talents h4 { flex: 0 0 115px; font-size: .72rem; margin: 0; font-weight: 400; }
.forever-talents .talent-tooltip { z-index: 20; }
.forever-talents .talent-grid { overflow: visible; }
.forever-identity h1 { font-size: 1.55rem; padding: 6px 14px; }
.forever-identity > div { padding: 8px 14px; }
.forever-portrait { width: 64px; height: 64px; }
.forever-model > img { transform: scale(1.12); transform-origin: center 60%; }
@media (max-width: 1100px) { .forever-search label:nth-child(3), .forever-search .forever-button { grid-column: auto; } }
@media (max-width: 680px) { .forever-search label:nth-child(3), .forever-search .forever-button { grid-column: 1/-1; }.forever-talents [data-tbc-tree-content] { flex-wrap: wrap; } }
.forever-talents .talent-tab { background: #0d2a2f; border-color: #365452; color: #aec5c5; }.forever-talents .talent-tab.active { background: #185348; color: #ecddac; }
.forever-talents .talent-grid { display: flex; flex-wrap: wrap; gap: 8px; }.forever-talents .talent-icon-wrap { width: 34px; height: 34px; }.forever-talents .talent-icon-wrap img { width: 100%; height: 100%; }
#foreverRaidProgress .section-heading h2 { font: 700 .9rem Georgia,serif; color: #e5d29f; }
#foreverRaidProgress .raid-progress-card { background-color: #072128; border-color: #315455; box-shadow: none; }
#foreverRaidProgress progress { accent-color: #50b487; width: 100%; }
#foreverCharacterPreview .character-renown { margin: 0; } #foreverCharacterPreview .character-renown-card { background-color: #0a252b; border-color: #315455; }
@media (max-width: 1100px) { .forever-armory-grid { grid-template-columns: 260px minmax(0,1fr); }.forever-equipment { grid-template-columns: 1fr; }.forever-upgrade { grid-template-columns: 1fr 20px 1fr; }.forever-upgrade > div:last-child { grid-column: 1/-1; }.forever-upgrade-list { max-height: 150px; } }
@media (max-width: 760px) { .forever-armory-grid { grid-template-columns: 1fr; }.forever-model { height: 420px; }.forever-objective-strip > div { flex-wrap: wrap; }.forever-identity h2 { font-size: 1.5rem; }.forever-identity p { font-size: .75rem; } }

.is-profile { --forever-gold: #ffd166; }
.is-profile .forever-surface > summary, .is-profile .forever-surface > h3,
.is-profile .forever-objective-strip > h3 { background: #144d45; color: var(--forever-gold); border-bottom: 1px solid #315455; margin: -10px -10px 9px; padding: 7px 10px; }
.is-profile .forever-surface:not([open]) > summary { margin-bottom: -10px; padding-bottom: 7px; border-bottom: 0; }
.is-profile .forever-objective-strip > h3 { margin: -8px -12px 7px; padding: 6px 12px; }
.is-profile #foreverRaidProgress > .section-heading { background: #144d45; margin: -10px -10px 9px; padding: 7px 10px; border-bottom: 1px solid #315455; }
.is-profile #foreverRaidProgress .section-heading h2 { color: var(--forever-gold); }
.forever-identity .forever-character-name { color: var(--forever-gold); font: 700 2rem/1.2 Georgia,serif; padding: 0; margin: 0 0 7px; border: 0; }
.forever-identity-meta { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; font-size: .85rem; }
.forever-faction, .forever-guild { display: inline-flex; gap: 7px; align-items: center; }
.forever-faction img { width: 24px; height: 28px; object-fit: contain; }
.forever-faction--horde { color: #ff606c; }.forever-faction--alliance { color: #71b6ff; }
.forever-guild { color: #77b8e8; padding-left: 12px; border-left: 1px solid #a5894580; }
.forever-guild:hover { color: #8ce5cc; text-decoration: underline; }
.forever-guild .guild-link__crest { width: 25px; height: 30px; }
.forever-equipment-ilvl { color: #edf1e8; font-variant-numeric: tabular-nums; min-width: 22px; text-align: right; }
.forever-tree-icon { width: 25px; height: 25px; border: 1px solid #d9a637; border-radius: 3px; object-fit: cover; }
.forever-talents h4 { display: flex; align-items: center; gap: 7px; flex-basis: 145px; }
.forever-source-badge { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 5px 8px; border: 1px solid #8b733f; border-radius: 4px; background: linear-gradient(90deg,#0213189c,#02131888),var(--source-bg) center/cover,#09252c; color: #ffd166; text-shadow: 0 1px 3px #000; font-size: .72rem; font-weight: 700; text-align: center; }
.forever-identity, .forever-armory-grid { --forever-gold: #f5ce78; --forever-gold-border: #a78343; }
.forever-identity { position: relative; border-color: #315455; min-height: 110px; margin-bottom: 14px; background: linear-gradient(90deg,#061b20f5,#061b20d9 45%,#061b2055),var(--forever-identity-bg,url('/assets/wallpapers/forever-glade.png')) center 48%/cover; }
.forever-identity > div { min-height: 110px; box-sizing: border-box; padding: 16px 90px 16px 18px; gap: 18px; }
.forever-identity .forever-portrait { width: 80px; height: 80px; flex-shrink: 0; border: 1px solid #a7834380; border-radius: 4px; }
.forever-identity .forever-character-name { font-size: 2.5rem; }
.forever-identity-meta { font-size: 14px; gap: 8px 12px; }
.forever-identity-crest { position: absolute; right: 20px; top: 12px; width: 62px; height: 88px; object-fit: contain; filter: drop-shadow(0 2px 6px #000); }
.forever-armory-grid .forever-surface, .forever-armory-grid .forever-model,
.forever-armory-grid .forever-objective-strip { border-color: #315455; }
.forever-armory-grid .forever-surface > summary, .forever-armory-grid .forever-surface > h3,
.forever-armory-grid .forever-objective-strip > h3,
.forever-armory-grid #foreverRaidProgress > .section-heading { border-bottom-color: #315455; }
.forever-armory-grid .forever-stats strong, .forever-armory-grid .forever-stats summary,
.forever-armory-grid .forever-equipment-slot, .forever-armory-grid .forever-equipment-ilvl,
.forever-armory-grid .forever-talents h4, .forever-armory-grid .forever-upgrade small,
.forever-armory-grid .forever-upgrade-toggle,
.forever-armory-grid .forever-objective-strip > div > div > strong { color: var(--forever-gold); }
.forever-armory-grid .forever-upgrade { border-top-color: #315455; }
.forever-armory-grid #foreverRaidProgress .raid-progress-card { border-color: #315455; }
.forever-armory-grid .forever-source-badge, .forever-armory-grid .forever-model > div { border-color: #315455; }
.forever-armory-grid .forever-surface { background: linear-gradient(135deg,#08252bd9,#03171ef5); }
.forever-armory-grid .forever-surface > summary, .forever-armory-grid .forever-surface > h3,
.forever-armory-grid .forever-objective-strip > h3,
.forever-armory-grid #foreverRaidProgress > .section-heading { background: linear-gradient(90deg,#10332e,#061b20); font: 700 1rem/1.4 Georgia, "Times New Roman", serif; letter-spacing: .015em; text-transform: none; text-shadow: 0 1px 2px #000; border-bottom-color: #315455; }
.forever-armory-grid .forever-surface > summary, .forever-armory-grid .forever-surface > h3,
.forever-armory-grid #foreverRaidProgress .section-heading h2 { color: var(--forever-gold); font: 600 1rem/1.4 Georgia, "Times New Roman", serif; letter-spacing: 0; text-transform: none; }
.forever-armory-grid .forever-talents h4 { color: #cbd8d5; }
.forever-armory-grid .forever-model { isolation: isolate; height: 510px; background-position: center bottom; box-shadow: inset 0 0 60px #02101680; }
.forever-armory-grid .forever-model::before { content: ""; position: absolute; z-index: 0; left: 50%; bottom: 42px; width: 62%; height: 28px; transform: translateX(-50%); background: radial-gradient(ellipse,#020b0dd9 0%,#020b0d75 35%,transparent 70%); filter: blur(3px); pointer-events: none; }
.forever-armory-grid .forever-model::after { content: ""; position: absolute; z-index: 2; inset: 0; background: linear-gradient(0deg,#061b20 0%,#061b20cc 5%,#061b204d 12%,transparent 24%); pointer-events: none; }
.forever-armory-grid .forever-model > img { position: relative; z-index: 1; object-fit: cover; object-position: center 20%; transform: translateY(14px) scale(1.2); transform-origin: center 60%; }
.forever-armory-grid .forever-model > div { z-index: 3; left: 10px; right: 10px; bottom: 8px; justify-content: space-between; padding: 10px 14px; border-radius: 5px; background: #04171ddd; }
.forever-armory-grid .forever-model > div span { font-size: 14px; color: #c3d4d2; }
.forever-armory-grid .forever-equipment { gap: 6px 10px; }
.forever-armory-grid .forever-equipment-row { min-height: 46px; padding: 5px 7px; border: 1px solid #28474c; border-radius: 4px; background: #04191fd9; }
.forever-armory-grid .forever-equipment-row:hover { background: #144d453d; }
.forever-armory-grid .forever-equipment-slot { width: 56px; font-size: 14px; color: #b8cecc; overflow-wrap: anywhere; }
.forever-armory-grid .forever-equipment-row .forever-item img { width: 34px; height: 34px; }
.forever-armory-grid .forever-item strong { font-size: 14px; }
.forever-armory-grid .forever-equipment-ilvl { font-size: 14px; color: #dbe9e5; }
.forever-armory-grid .forever-upgrade { min-height: 140px; gap: 14px; padding: 14px 4px; align-items: start; grid-template-columns: minmax(0,1fr) 24px minmax(0,1fr) minmax(120px,.8fr); }
.forever-armory-grid .forever-upgrade img { width: 48px; height: 48px; }
.forever-armory-grid .forever-upgrade > span { font-size: 26px; color: #a9c8c4; margin-top: 32px; }
.forever-armory-grid .forever-upgrade-list { max-height: none; overflow: visible; }
.forever-upgrade-list:not(.is-expanded) > .forever-upgrade:not(:first-child) { display: none; }
.forever-armory-grid .forever-upgrade-list.is-expanded { max-height: none; }
.forever-armory-grid .forever-upgrade small { font-size: 14px; }
.forever-armory-grid .forever-source-badge { font-size: 14px; min-height: 84px; flex-direction: column; gap: 10px; text-decoration: none; }
.forever-source-badge span:last-child { font-size: 13px; color: #d9eee7; }
.forever-item-details { display: grid; gap: 3px; margin: 8px 0 0 57px; font-size: 14px; color: #b8cecc; }
.forever-item-details-level { color: #ffd166; }
@media(max-width: 1100px) { .forever-item-details { margin-left: 0; } }
.forever-upgrade-list.is-expanded { max-height: none; overflow: visible; }
.forever-upgrade-actions { float: right; display: inline-flex; align-items: center; gap: 12px; }
.forever-upgrade-toggle { padding: 1px 0; border: 0; background: transparent; color: #c7e9df; font: 600 .72rem/1.4 sans-serif; cursor: pointer; }
.forever-upgrade-toggle:hover { color: #fff; text-decoration: underline; }
.forever-upgrade-toggle:focus-visible { outline: 2px solid #ffd166; outline-offset: 3px; }
.forever-loot-toolbar { display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 12px; }
.forever-class-guide { padding: 0; margin: 0 0 14px; border-radius: 8px; overflow: hidden; }
.forever-class-banner { display: flex; align-items: center; gap: 16px; min-height: 145px; padding: 24px; border-bottom: 1px solid #a7834380; background: linear-gradient(90deg,#061b20 10%,#061b20cf 48%,#061b2020),var(--guide-art) right 32%/cover; }
.forever-class-banner > img { width: 58px; height: 58px; border: 1px solid #a78343; border-radius: 8px; box-shadow: 0 4px 18px #0008; }
.forever-class-banner small { color: #efcd86; font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; }
.forever-class-banner h1 { margin: 5px 0; color: var(--guide-class-color); font: 600 2rem/1.1 Georgia,serif; }
.forever-class-banner p { color: #d4e3db; }
.forever-class-body { padding: 14px 18px; }
.forever-class-beta { display: inline-block; padding: 4px 9px; margin-top: 4px; border: 1px solid #a7834380; border-radius: 4px; background: #061b20c9; color: #efcd86; font-size: .7rem; }
.forever-class-picker { padding: 8px; border-color: #a7834360; }
#foreverPage:has(.forever-class-guide) .forever-hero { padding: 10px 16px; }
#foreverPage:has(.forever-class-guide) .forever-hero > h1,
#foreverPage:has(.forever-class-guide) .forever-hero > p:not(.forever-preview):not(#foreverSearchNotice) { display: none; }
.forever-class-guide h2, .forever-class-loot-heading h2 { margin: 0 0 10px; color: #eeeae0; font: 600 1.2rem/1.3 Georgia,serif; }
.forever-class-guide-links { display: flex; flex-wrap: wrap; gap: 0; margin-top: 12px; border: 1px solid #42655e80; border-radius: 5px; background: #061b2080; overflow: hidden; }
.forever-class-guide-links button { flex: 1; padding: 9px 16px; border: 0; border-right: 1px solid #42655e60; background: transparent; color: #b8cecc; font: 400 .95rem Georgia,serif; cursor: pointer; }
.forever-class-guide-links button:last-child { border-right: 0; }
.forever-class-guide-links button[aria-pressed="true"] { background: #144d4580; color: #ffd166; box-shadow: inset 0 -2px #a78343; }
.forever-class-guide-links button:hover { background: #144d4550; color: #efcd86; }
.forever-class-guide-links button:focus-visible { outline: 2px solid #ffd166; outline-offset: -3px; }
.forever-class-guide-links a:hover { border-color: #f5ce78; }
.forever-class-guide-links a:focus-visible { outline: 2px solid #f5ce78; outline-offset: 2px; }
.forever-class-guide-links small { grid-column: 2; color: #9cd9c3; font-size: .7rem; }
.forever-class-races { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 10px 0; }
.forever-class-races article { min-width: 0; border: 1px solid #42655e60; border-top: 2px solid #5b9fcd; border-radius: 6px; padding: 10px 12px; background: linear-gradient(135deg,#173f5030,transparent); }
.forever-class-races .is-horde { border-top-color: #b64e54; }
.forever-class-races h4 { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; }
.forever-class-races img { width: 20px; height: 24px; object-fit: contain; }
.forever-class-races article > span { display: inline-block; margin-right: 8px; padding: 5px 9px; background: #08242a; border: 1px solid #42655e; border-radius: 4px; }
.forever-class-body > section { margin-top: 14px; scroll-margin-top: 20px; }
.forever-class-guide h3 { margin: 0 0 6px; color: #ffd166; font: 600 1rem/1.3 Georgia,serif; }
.forever-class-guide p, .forever-class-guide li { font-size: .8rem; line-height: 1.55; }
.forever-class-guide p { margin: 6px 0; }
.forever-class-guide .forever-class-note { color: #a5bcb3; font-size: .74rem; }
.forever-class-styles { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-top: 10px; }
.forever-class-styles button { display: grid; grid-template-columns: 44px minmax(0,1fr); gap: 8px 12px; min-width: 0; padding: 14px; background: linear-gradient(90deg,#061b20f5,#061b20d9 55%,#061b2080),var(--guide-art) center 35%/cover; border: 1px solid #42655e; border-radius: 6px; text-align: left; cursor: pointer; color: #d4e3db; }
.forever-class-styles button[aria-pressed="true"] { border-color: #ffd166; box-shadow: inset 0 0 0 1px #a78343,0 0 12px #a7834320; }
.forever-class-styles button:hover { border-color: #efcd86; }
.forever-class-styles button:focus-visible { outline: 2px solid #ffd166; outline-offset: 3px; }
.forever-class-styles button > img { width: 44px; height: 44px; border: 1px solid #a78343; border-radius: 5px; }
.forever-class-styles strong { display: block; margin-bottom: 5px; font: 600 1.15rem Georgia,serif; color: #efcd86; }
.forever-class-styles small { display: block; color: #9cd9c3; font-size: .75rem; }
.forever-class-style-description { grid-column: 1 / -1; font-size: .75rem; line-height: 1.4; }
.forever-class-body > #foreverClassStyles { margin-top: 0; }
.forever-class-styles { margin-top: 0; }
.forever-class-guide[data-topic="talents"] .forever-class-advice-grid { grid-template-columns: 1fr; }
.forever-class-guide[data-topic="talents"] .forever-class-advice-grid article:not(.forever-guide-talents) { display: none; }
.forever-class-guide[data-topic="talents"] .forever-class-advice-grid .forever-guide-reminders:has(.forever-guide-warning) { display: block; }
.forever-class-guide[data-topic="talents"] .forever-guide-reminders > p { display: none; }
.forever-class-guide [hidden], #foreverClassLootPanel[hidden] { display: none !important; }
.forever-class-practical { padding: 12px; border: 1px solid #a7834370; border-radius: 6px; background: #10332e45; }
.forever-class-practical > header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 10px; }
.forever-class-practical > header h3 { margin: 0; }
.forever-class-practical > header span { padding: 3px 7px; border: 1px solid #42655e; border-radius: 4px; color: #b4d2c4; font-size: .68rem; }
.forever-class-advice-grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: 10px; }
.forever-class-advice-grid article { padding: 12px; border: 1px solid #42655e60; border-radius: 6px; background: #061b2080; }
.forever-class-advice-grid article:first-child { grid-row: span 2; }
.forever-class-advice-grid h4 { margin: 0 0 8px; color: #efcd86; font-size: .8rem; }
.forever-class-advice-grid ol { margin: 0; padding: 0; list-style: none; counter-reset: combat-step; }
.forever-class-advice-grid li { display: flex; align-items: start; gap: 10px; padding: 8px 0; counter-increment: combat-step; }
.forever-class-advice-grid li::before { content: counter(combat-step); flex: 0 0 25px; height: 25px; display: grid; place-items: center; border: 1px solid #a78343; border-radius: 50%; color: #efcd86; }
.forever-class-advice-grid li + li { border-top: 1px solid #42655e40; }
.forever-guide-step { min-width: 0; }
.forever-guide-spells { display: flex; flex-wrap: wrap; gap: 5px; margin: 0 0 7px; }
.forever-guide-spells img { flex: 0 0 30px; width: 30px; height: 30px; object-fit: cover; border: 1px solid #42655e; border-radius: 4px; }
.forever-guide-spell { display: inline-flex; align-items: center; gap: 6px; font: 600 14px/1.35 sans-serif; color: #e2eee8; }
.forever-class-advice-grid .forever-guide-talents { border-left: 3px solid #bc98e8; }
.forever-class-advice-grid .forever-guide-talents h4 { color: #d9b9ff; }
.forever-guide-spells { gap: 8px 14px; }
.forever-class-guide p, .forever-class-guide li, .forever-class-style-description { font-size: 14px; line-height: 1.55; }
.forever-class-guide h3 { font-size: 18px; color: #efcd86; }
.forever-class-advice-grid h4 { font: 600 16px/1.3 Georgia,serif; }
.forever-class-practical { padding: 0; border: 0; background: transparent; }
.forever-class-advice-grid { grid-template-columns: minmax(0,1.7fr) minmax(0,1fr); }
.forever-class-advice-grid article { background: #082329; border-color: #42655e70; }
.forever-guide-warning { border-left: 3px solid #ba9653; padding: 8px 10px; margin-top: 10px; background: #ba965312; color: #e8d6ad; font-size: 14px; }
.forever-guide-warning p { margin-bottom: 0; }
.forever-class-styles button:nth-child(1) { background-position: center,35% 30%; }
.forever-class-styles button:nth-child(2) { background-position: center,65% 45%; }
.forever-class-styles button:nth-child(3) { background-position: center,80% 65%; }
.forever-class-styles button:not([aria-pressed="true"]) { border-color: #42655e; }
.forever-menu-toggle, .forever-search-toggle { display: none; }
#foreverPage:has(.forever-class-guide) .forever-search-toggle { display: inline-flex; padding: 8px 12px; background: #10332e; color: #e2eee8; border: 1px solid #42655e; border-radius: 5px; font-size: 14px; cursor: pointer; }
#foreverPage:has(.forever-class-guide) .forever-hero { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; background-position: center 58%; }
#foreverPage:has(.forever-class-guide) .forever-data-badge { position: static; margin: 0 0 0 auto; max-width: 100%; }
#foreverPage:has(.forever-class-guide) .forever-hero[data-search-open="false"] .forever-search,
#foreverPage:has(.forever-class-guide) .forever-hero[data-search-open="false"] #foreverSearchNotice { display: none; }
#foreverPage:has(.forever-class-guide) .forever-hero .forever-search { width: 100%; flex-basis: 100%; box-sizing: border-box; }
.forever-menu-toggle:focus-visible, .forever-search-toggle:focus-visible { outline: 2px solid #efcd86; outline-offset: 3px; }
@media(max-width:960px) {
  html[data-wow-theme="forever"] .app-sidebar { display: flex !important; flex-wrap: wrap; align-items: center; gap: 6px; padding: 8px 12px; }
  html[data-wow-theme="forever"] .app-sidebar__brand { padding: 0; margin-right: auto; flex: 1 1 auto; width: auto; }
  html[data-wow-theme="forever"] .app-sidebar__logo { font-size: 24px; margin: 0; }
  html[data-wow-theme="forever"] .forever-menu-toggle { display: block; width: auto; flex: 0 0 auto; padding: 9px 14px; color: #e2eee8; border: 1px solid #42655e; border-radius: 5px; background: #144d45; cursor: pointer; font-size: 14px; }
  html[data-wow-theme="forever"] .app-sidebar:not(.is-forever-menu-open) > :not(.app-sidebar__brand):not(.forever-menu-toggle) { display: none !important; }
  html[data-wow-theme="forever"] .app-sidebar.is-forever-menu-open > :not(.app-sidebar__brand):not(.forever-menu-toggle) { flex-basis: 100%; }
  #foreverPage:has(.forever-class-guide) .forever-loot-classes { grid-template-columns: repeat(9,minmax(64px,1fr)); overflow-x: auto; padding-bottom: 5px; }
  #foreverPage:has(.forever-class-guide) .forever-loot-class { height: 64px; }
}
@media(max-width:760px) {
  .forever-class-advice-grid { grid-template-columns: 1fr; }
  .forever-class-body .forever-class-styles { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; }
  .forever-class-styles button { display: flex; flex-direction: column; align-items: center; padding: 10px 4px; text-align: center; }
  .forever-class-styles strong { font-size: 14px; overflow-wrap: anywhere; }
  .forever-class-style-description { display: none; }
  .forever-class-guide-links button { padding: 10px 6px; font-size: 14px; }
  .forever-class-banner { min-height: 110px; padding: 14px; }
}
@media(max-width:760px) { .forever-class-advice-grid { grid-template-columns: 1fr; } .forever-class-advice-grid article:first-child { grid-row: auto; } }
.forever-class-races ul { list-style: none; margin: 0; padding: 0; }
.forever-class-races ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px 14px; }
.forever-class-races li { display: flex; align-items: center; min-width: 0; gap: 10px; padding: 8px 0; border-bottom: 1px solid #42655e40; }
.forever-class-races li > div { min-width: 0; overflow-wrap: anywhere; }
@media(max-width:600px) { .forever-class-races ul { grid-template-columns: 1fr; } }
.forever-class-races img.forever-race-portrait { flex: 0 0 38px; width: 38px; height: 38px; border-radius: 5px; border: 1px solid #5b9fcd; object-fit: cover; }
.forever-class-races .is-horde img.forever-race-portrait { border-color: #b64e54; }
.forever-class-races li > div > div { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.forever-class-races small { color: #a5bcb3; }
.forever-class-new { padding: 1px 6px; color: #8ce5cc; background: #144d45; border-radius: 4px; font-size: .65rem; }
.forever-class-bottom { display: grid; grid-template-columns: 1.4fr 1fr; gap: 12px; margin-top: 14px; align-items: start; }
.forever-class-changes { padding: 12px; border: 1px solid #42655e; border-radius: 6px; background: #10332e60; scroll-margin-top: 20px; }
.forever-class-changes summary { cursor: pointer; color: #ffd166; font: 600 .9rem Georgia,serif; }
.forever-class-changes ul { padding-left: 18px; }
.forever-class-leveling { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px; border: 1px solid #a7834370; border-radius: 6px; color: #ffd166; text-decoration: none; background: linear-gradient(90deg,#061b20ee,#061b2070),url('/assets/wallpapers/azeroth-exploration-map.png') center/cover; }
.forever-class-leveling strong { font: 600 .9rem Georgia,serif; }
.forever-class-leveling small { display: block; margin-top: 5px; font-size: .7rem; color: #c7d8ce; }
.forever-class-sources a { color: #9cd9c3; }
.forever-class-sources { margin-top: 14px; color: #a5bcb3; font-size: .72rem; }
.forever-class-sources summary { cursor: pointer; }
.forever-class-leveling:focus-visible, .forever-class-changes summary:focus-visible, .forever-class-sources a:focus-visible, .forever-class-sources summary:focus-visible { outline: 2px solid #f5ce78; outline-offset: 2px; }
.forever-class-loot-heading { margin-bottom: 12px; }
.forever-class-loot-heading p { font-size: .8rem; color: #a5bcb3; }
@media(max-width:760px) { .forever-class-races, .forever-class-styles, .forever-class-bottom { grid-template-columns: 1fr; } .forever-class-banner { min-height: 120px; padding: 18px; } .forever-class-body { padding: 12px; } }
.forever-loot-toolbar label { display: grid; gap: 6px; min-width: 180px; color: #c7e9df; font-size: .75rem; }
.forever-loot-toolbar select { padding: 8px 10px; border: 1px solid #42655e; border-radius: 4px; background: #08242a; color: #e0efeb; }
.forever-loot-classes { width: 100%; display: grid; grid-template-columns: repeat(9,minmax(0,1fr)); gap: 8px; }
.forever-loot-class { min-width: 0; height: 78px; display: flex; align-items: flex-end; justify-content: center; padding: 8px 4px; border: 1px solid #42655e; border-radius: 5px; background: linear-gradient(0deg,#021318f5, #02131815),var(--class-bg) center 25%/cover; color: #e0efeb; cursor: pointer; transition: border-color .15s, box-shadow .15s; }
.forever-loot-class span { font-size: .72rem; font-weight: 700; text-shadow: 0 1px 4px #000; }
.forever-loot-class:hover, .forever-loot-class[aria-pressed="true"] { border-color: var(--class-color); color: var(--class-color); box-shadow: inset 0 0 0 1px var(--class-color); }
.forever-loot-class:focus-visible { outline: 2px solid #ffd166; outline-offset: 2px; }
.forever-loot-choices { width: 100%; display: grid; gap: 7px; }
.forever-loot-choices > span { color: #c7e9df; font-size: .75rem; }
.forever-loot-choices > div { display: flex; flex-wrap: wrap; gap: 8px; }
.forever-loot-choice { --choice-color: #7ed8bf; min-height: 54px; max-width: 220px; padding: 8px 14px; border: 1px solid #42655e; border-radius: 5px; background: linear-gradient(0deg,#021318e8,#02131888),var(--choice-bg) center/cover,#08242a; color: #e0efeb; font: 600 .75rem/1.3 sans-serif; cursor: pointer; text-shadow: 0 1px 3px #000; }
.forever-loot-choice:hover, .forever-loot-choice[aria-pressed="true"] { border-color: var(--choice-color); color: var(--choice-color); box-shadow: inset 0 0 0 1px var(--choice-color); }
.forever-loot-choice:focus-visible { outline: 2px solid #ffd166; outline-offset: 2px; }
html[data-wow-theme="forever"] #accountWowPage { padding: 20px; }
html[data-wow-theme="forever"] #accountWowPage .account-wow-heading,
html[data-wow-theme="forever"] #accountWowPage .account-wow-helper,
html[data-wow-theme="forever"] #accountWowPage .account-wow-table { background: #08242a; border-color: #33504f; }
html[data-wow-theme="forever"] #accountWowPage h1,
html[data-wow-theme="forever"] #accountWowPage h2 { color: #ffd166; font-family: Georgia,serif; }
html[data-wow-theme="forever"] #accountWowPage .guild-roster-header { background: #144d45; }
html[data-wow-theme="forever"] #accountWowPage button { border-color: #42655e; }
html[data-wow-theme="forever"] #accountWowPage button.is-active,
html[data-wow-theme="forever"] #accountWowPage .battlenet-login-button { background: #144d45; border-color: #54bda1; color: #e0efeb; }
html[data-wow-theme="forever"] #accountWowPage .empty-feature-card { background: #102b30; border-color: #33504f; }
html[data-wow-theme="forever"] #accountWowPage .empty-badge { background: #144d45; color: #8ce5cc; }
html[data-wow-theme="forever"] .tbc-raid-progress progress { accent-color: #54bda1; }
html[data-wow-theme="forever"] .tbc-raid-progress progress::-webkit-progress-bar { background: #061a20; }
html[data-wow-theme="forever"] .tbc-raid-progress progress::-webkit-progress-value { background: linear-gradient(90deg,#237c69,#54bda1); }
html[data-wow-theme="forever"] .tbc-raid-progress progress::-moz-progress-bar { background: linear-gradient(90deg,#237c69,#54bda1); }
html[data-wow-theme="forever"] #accountWowPage .account-wow-roster { background: transparent; border-color: #33504f; box-shadow: none; }
.forever-camp-layout { background: #0b181e; }
.forever-camp-login { min-height: 220px; box-sizing: border-box; display: flex; align-items: center; padding: 24px; border: 1px solid #33504f; border-radius: 8px; background: linear-gradient(90deg,#041a20f5 0%,#041a20b0 48%,#041a2030),url('/assets/wallpapers/forever-glade.png') center/cover; }
.forever-camp-login > div { max-width: 520px; }
.forever-camp-login h1 { margin: 8px 0; font-size: 1.8rem; }
.forever-camp-login p { color: #c0d5d2; line-height: 1.6; }
.forever-camp-login .forever-camp-notice { font-size: .75rem; margin-bottom: 24px; }
.forever-camp-login button img { width: 24px; height: 24px; margin-right: 8px; }
.forever-camp-layout { display: grid; grid-template-columns: 300px minmax(0,1fr); gap: 14px; align-items: start; }
.forever-camp-preview { position: sticky; top: 15px; overflow: hidden; background: #08242a; border: 1px solid #42655e; border-radius: 6px; }
.forever-camp-stage { height: 360px; overflow: hidden; background: linear-gradient(#041a2050,#041a20b0),url('/assets/wallpapers/forever-glade.png') center/cover; }
.forever-camp-stage img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.35); transform-origin: center 75%; }
.forever-camp-stage img.is-art { transform: none; }
.forever-camp-identity { padding: 14px; }
.forever-camp-identity h2 { margin: 0; font-size: 1.5rem; }
.forever-camp-identity p { color: #a8c2c3; font-size: .75rem; }
.forever-camp-identity .forever-button { margin-top: 14px; width: 100%; padding: 8px; font-size: .8rem; }
.forever-camp-badges { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.forever-camp-badges > span { padding: 3px 6px; border: 1px solid #42655e; border-radius: 4px; color: #e4d298; font-size: .7rem; background: #061a20b0; }
.forever-camp-badges > img { width: 22px; height: 25px; object-fit: contain; }
.forever-camp-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.forever-camp-card { --camp-class-color:#8ce5cc; display: flex; align-items: flex-start; gap: 10px; text-align: left; padding: 14px; border: 1px solid #33504f; border-radius: 6px; color: #d5e5e1; background: linear-gradient(90deg,#041a20ed,#041a20ce),var(--camp-class-bg) center/cover,#08242a; cursor: pointer; }
.forever-camp-card[aria-pressed="true"], .forever-camp-card:hover { border-color: var(--camp-class-color) !important; box-shadow: inset 0 0 0 1px var(--camp-class-color); }
.forever-camp-card:focus-visible { outline: 2px solid #ffd166; outline-offset: 2px; }
.forever-camp-card-copy { min-width: 0; display: grid; gap: 6px; }
.forever-camp-card-copy > strong { color: var(--camp-class-color); overflow-wrap: anywhere; }
.forever-camp-card-copy > span, .forever-camp-card-copy > small { font-size: .72rem; }
.forever-camp-card-copy > small { color: #a8c2c3; }
.forever-camp-card { display: grid; grid-template-columns: minmax(0,1fr) 115px; gap: 8px; }
.forever-camp-card > .guild-roster-avatar { grid-column: 1; grid-row: 1; }
.forever-camp-card-copy { grid-column: 1; grid-row: 2; }
.forever-camp-card-model { grid-column: 2; grid-row: 1 / span 2; align-self: stretch; min-height: 210px; overflow: hidden; background: transparent; }
.forever-camp-card-model img { width: 100%; height: 100%; max-height: 300px; object-fit: cover; object-position: center; transform: scale(1.6); }
.forever-camp-details { display: grid; gap: 5px; margin-top: 7px; color: #a8c2c3; font-size: .7rem; }
.forever-camp-details > span { display: flex; gap: 5px; align-items: center; overflow-wrap: anywhere; }
.forever-camp-details img { width: 17px; height: 17px; object-fit: contain; border-radius: 2px; }
.forever-camp-details img.forever-camp-faction { height: 20px; }
.forever-camp-details .forever-camp-guild { color: #80cdb9; }
.forever-guild-search { margin-bottom: 14px; }
.forever-guild-layout { display: grid; grid-template-columns: 340px minmax(0,1fr); gap: 14px; align-items: start; }
.forever-guild-dashboard .guild-raid-list--tbc { display: grid; grid-template-columns: 1fr; gap: 10px; }
.forever-guild-dashboard { min-width: 0; }
.forever-guild-dashboard .tbc-guild-overview { grid-template-columns: minmax(0,1fr); background: #08242a; border-color: #33504f; }
.forever-guild-dashboard .tbc-guild-overview__stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
.forever-guild-dashboard .tbc-guild-overview__stats article { background: #102b30; border-color: #33504f; }
.forever-guild-dashboard .guild-mythic-identity { flex-wrap: wrap; }
.forever-guild-dashboard .guild-mythic-identity__copy h2 { color: #ffd166; }
.forever-guild-dashboard .tbc-guild-raid { background: linear-gradient(#041a2090,#041a20e0),var(--guild-raid-bg) center/cover; border-color: #33504f; }
.forever-guild-dashboard .raid-bar-fill { background: linear-gradient(90deg,#237c69,#54bda1); }
.forever-guild-dashboard .guild-raid-label { color: #8ce5cc; }
.forever-guild-filter { display: grid; gap: 6px; font-size: .75rem; color: #a8c2c3; margin-bottom: 12px; }
.forever-guild-filter input { width: 100%; padding: 9px 12px; color: #e0efeb; background: #08242a; border: 1px solid #42655e; border-radius: 4px; }
.forever-guild-roster { min-width: 0; }
.forever-guild-members { overflow-x: auto; }
.forever-guild-table { width: 100%; min-width: 760px; border-collapse: collapse; font-size: .75rem; }
.forever-guild-table th { background: #144d45; color: #e0efeb; text-align: left; font-size: .7rem; }
.forever-guild-sort { display: flex; align-items: center; gap: 6px; padding: 0; border: 0; background: none; color: inherit; font: inherit; cursor: pointer; white-space: nowrap; }
.forever-guild-sort:hover, .forever-guild-table th[aria-sort="ascending"], .forever-guild-table th[aria-sort="descending"] { color: #ffd166; }
.forever-guild-sort:focus-visible { outline: 2px solid #8ce5cc; outline-offset: 4px; }
.forever-guild-table th, .forever-guild-table td { padding: 9px 10px; border-bottom: 1px solid #33504f; vertical-align: middle; }
.forever-guild-member { background: #08242a; }
.forever-guild-member:nth-child(even) { background: #0b292e; }
.forever-guild-member:hover { background: #10332f; }
.forever-guild-player { display: flex; align-items: center; gap: 9px; text-decoration: none; min-width: 160px; }
.forever-guild-player > span:not(.guild-roster-avatar) { display: grid; gap: 3px; }
.forever-guild-player:hover strong { text-decoration: underline; }
.forever-guild-player small { font-size: .68rem; color: #a8c2c3; }
.forever-guild-ilvl { color: #ffd166; white-space: nowrap; }
.forever-guild-professions { display: grid; gap: 4px; }
.forever-guild-professions > span { display: flex; align-items: center; gap: 6px; }
.forever-guild-professions img { width: 20px; height: 20px; object-fit: cover; border: 1px solid #42655e; border-radius: 3px; }
.forever-guild-role { display: inline-flex; align-items: center; gap: 4px; color: #8ce5cc; }
.forever-guild-role svg { width: 14px; height: 14px; fill: currentColor; }
.forever-guild-pagination { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 14px; font-size: .75rem; }
.forever-guild-pagination[hidden] { display: none; }
.forever-guild-pagination button { padding: 6px 10px; font-size: .75rem; }
@media(max-width: 1150px) { .forever-guild-layout { grid-template-columns: 290px minmax(0,1fr); } }
@media(max-width: 760px) { .forever-guild-layout { grid-template-columns: 1fr; } }
@media(max-width: 1250px) { .forever-camp-cards { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width: 800px) { .forever-camp-layout { grid-template-columns: 1fr; }.forever-camp-preview { position: static; }.forever-camp-stage { height: 280px; }.forever-camp-login { padding: 18px; min-height: 200px; } }
@media(max-width: 500px) { .forever-camp-cards { grid-template-columns: 1fr; } }
@media(max-width: 1100px) { .forever-loot-classes { grid-template-columns: repeat(5,minmax(0,1fr)); } }
@media(max-width: 600px) { .forever-loot-classes { grid-template-columns: repeat(3,minmax(0,1fr)); } }
.forever-loot-layout { display: grid; grid-template-columns: 320px minmax(0,1fr); gap: 12px; align-items: start; }
.forever-loot-layout > .forever-model { position: sticky; top: 12px; }
.forever-loot-layout .forever-loot-model-render { transform: scale(1.4); transform-origin: center 76%; }
.forever-loot-sources { columns: 2; column-gap: 12px; }
.forever-loot-source { break-inside: avoid; margin-bottom: 12px; background: linear-gradient(#041a20b0,#041a20eb),var(--source-bg) center/cover; }
.forever-loot-source[hidden] { display: none; }
.forever-loot-source h3 small { float: right; color: #b0ceca; font: 600 .75rem sans-serif; }
.forever-loot-source .forever-equipment-row { margin: 5px 0; }
@media(max-width: 1100px) { .forever-loot-layout { grid-template-columns: 250px minmax(0,1fr); }.forever-loot-sources { columns: 1; } }
@media(max-width: 760px) { .forever-loot-layout { grid-template-columns: 1fr; }.forever-loot-layout > .forever-model { position: static; height: 360px; }.forever-loot-toolbar label { flex: 1; min-width: 140px; } }
@media (max-width: 1100px) { .forever-upgrade-list { max-height: 300px; }.forever-upgrade-list.is-expanded { max-height: none; } }
.forever-reputations { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.forever-reputation { display: flex; gap: 9px; align-items: center; padding: 9px; border: 1px solid #29464a; border-radius: 4px; background: #081e25; }
.forever-reputation > div { flex: 1; min-width: 0; }
.forever-reputation-icon { color: var(--rep-color); font-size: 1.4rem; }.forever-reputation-icon img { width: 30px; height: 30px; }
.forever-reputation-heading { display: flex; gap: 6px; justify-content: space-between; align-items: start; font-size: .73rem; }
.forever-reputation-heading span { color: var(--rep-color); white-space: nowrap; font-size: .68rem; }
.forever-reputation progress { width: 100%; height: 5px; display: block; margin: 7px 0 4px; accent-color: var(--rep-color); }
.forever-reputation small { display: block; text-align: right; color: #aec2c4; font-size: .63rem; }
@media(max-width: 1100px) { .forever-reputations { grid-template-columns: 1fr; } }

/* Character armory: panel hierarchy and compact, data-driven talent branches. */
.forever-armory-right { gap: 14px; }
.forever-armory-grid .forever-surface > summary { list-style: none; position: relative; padding-right: 28px; }
.forever-armory-grid .forever-surface > summary::-webkit-details-marker { display: none; }
.forever-armory-grid .forever-surface > summary::after { content: "⌄"; position: absolute; right: 10px; top: 7px; color: #a8c8c2; }
.forever-armory-grid .forever-surface:not([open]) > summary::after { content: "›"; }
.forever-armory-grid .forever-equipment-panel > summary::after { content: none; }
.forever-armory-grid .forever-stats > div, .forever-armory-grid .forever-stats details > div { font-size: 14px; padding: 9px 2px; }
.forever-armory-grid .forever-stats summary { font-size: 14px; }
.forever-armory-grid .forever-objective-strip { padding: 12px 14px; background: linear-gradient(90deg,#061b20f5,#061b20bb 60%,#061b2066),var(--forever-source-bg,url('/assets/wallpapers/forever-glade.png')) center/cover; }
.forever-armory-grid .forever-objective-strip > h3 { margin: -12px -14px 10px; padding: 7px 14px; }
.forever-armory-grid .forever-objective-strip .forever-item img { width: 52px; height: 52px; }
.forever-armory-grid .forever-objective-strip strong { font: 700 18px/1.35 Georgia,serif; }
.forever-armory-grid .forever-objective-strip p { font-size: 14px; color: #c7d9d6; }
.forever-armory-grid .forever-objective-strip .forever-button { font-size: 14px; }
.forever-talents-caption { display: block; font: 400 14px/1.4 "Nunito",sans-serif; color: #b8cecc; margin-top: 3px; }
.forever-armory-grid .forever-talents [data-tbc-tree-content] { display: grid; grid-template-columns: 160px minmax(0,1fr); padding: 10px 0; border-bottom: 1px solid #28474c; }
.forever-armory-grid .forever-talents [data-tbc-tree-content]:last-child { border-bottom: 0; }
.forever-armory-grid .forever-talents h4 { font-size: 14px; line-height: 1.4; }
.forever-armory-grid .forever-talents .talent-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.forever-armory-grid .forever-talents .talent-icon-wrap { display: flex; align-items: center; gap: 8px; width: auto; height: auto; min-height: 46px; border: 0; background: transparent; text-decoration: none; }
.forever-armory-grid .forever-talents .talent-icon-wrap > img, .forever-armory-grid .forever-talents .talent-icon-wrap > span[aria-hidden] { width: 40px; height: 40px; flex-shrink: 0; border: 1px solid #54776b; border-radius: 3px; }
.forever-armory-grid .forever-talents .talent-icon-wrap.active img { border-color: #b59b60; box-shadow: 0 0 5px #b59b6020; }
.forever-talent-name { font-size: 14px; line-height: 1.3; color: #cbd8d5; overflow-wrap: anywhere; }
.forever-armory-grid .forever-talents .talent-rank { left: 23px; right: auto; bottom: 0; }
.forever-armory-grid .forever-talents .talent-rank { font-size: 13px; background: #03171eee; border-radius: 3px; }
.forever-armory-grid .forever-talents .talent-icon-wrap:not(.active) { filter: grayscale(1); opacity: .35; }
.forever-armory-grid #foreverRaidProgress .raid-progress-card { padding: 0; background: #061b20; }
.forever-armory-grid #foreverRaidProgress .raid-progress-card--with-background { background: linear-gradient(90deg,#061b20b3,#061b20e6),var(--tbc-raid-bg) center/cover; }
.forever-armory-grid #foreverRaidProgress .raid-progress-card > summary { display: grid; grid-template-columns: minmax(0,1fr) auto; grid-template-rows: auto auto; gap: 6px 9px; min-height: 44px; padding: 8px; font-size: 14px; }
.forever-armory-grid #foreverRaidProgress .raid-progress-card > summary::before { content: none; }
.forever-armory-grid #foreverRaidProgress .raid-progress-card progress { grid-column: 1/3; height: 5px; margin: 0; }
.forever-armory-grid #foreverRaidProgress .raid-progress-card::before { content: none; }
.forever-armory-grid summary:focus-visible, .forever-source-badge:focus-visible { outline: 2px solid #f5ce78; outline-offset: 3px; }
@media(max-width: 1100px) {
  .forever-armory-grid { grid-template-columns: 290px minmax(0,1fr); }
  .forever-armory-grid .forever-upgrade { grid-template-columns: minmax(0,1fr) 20px minmax(0,1fr); }
  .forever-armory-grid .forever-upgrade > div:last-child { grid-column: 1/-1; }
  .forever-armory-grid .forever-source-badge { min-height: 60px; }
  .forever-armory-grid .forever-talents [data-tbc-tree-content] { grid-template-columns: 1fr; }
}
@media(max-width: 760px) {
  .forever-armory-grid { display: flex; flex-direction: column; gap: 12px; }
  .forever-armory-left, .forever-armory-right, .forever-character-panel { display: contents; }
  .forever-armory-grid > *, .forever-armory-grid section, .forever-armory-grid .forever-surface { box-sizing: border-box; min-width: 0; }
  .forever-armory-grid .forever-model { order: 1; width: 100%; height: 460px; border: 1px solid #315455; border-radius: 6px; }
  .forever-objective-strip { order: 2; width: 100%; }
  .forever-armory-grid .forever-character-panel > .forever-stats { order: 3; width: 100%; margin: 0; }
  .forever-equipment-panel { order: 4; width: 100%; }
  #foreverUpgrades { order: 5; width: 100%; }
  .forever-talents { order: 6; width: 100%; }
  .forever-armory-grid .forever-character-panel > #foreverRaidProgress { order: 7; width: 100%; margin: 0; }
  .forever-reputation-panel { order: 8; width: 100%; }
  #foreverTimeline { order: 9; width: 100%; }
  .forever-identity > div { padding: 14px; gap: 12px; }
  .forever-identity .forever-portrait { width: 64px; height: 64px; }
  .forever-identity .forever-character-name { font-size: 2rem; overflow-wrap: anywhere; }
  .forever-identity-crest { display: none; }
  .forever-armory-grid .forever-item-details { margin-left: 0; }
  .forever-armory-grid .forever-upgrade { gap: 8px; }
  .forever-armory-grid .forever-talents .talent-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .forever-armory-grid .forever-upgrade .forever-item { align-items: flex-start; flex-direction: column; }
  .forever-armory-grid .forever-objective-strip .forever-button { margin-left: auto; }
}
