/* Shared finishing layer: illuminated borders, patinated gold and ink-blue
   surfaces. Keep component geometry, class/item colours and the 90% frame. */
body {
  --art-gold:#d8b778;
  --art-highlight:#f8e9c5;
  --art-line:#c9aa6b36;
  --art-surface:linear-gradient(135deg,#182732,#0c1923 78%);
  --art-shadow:0 18px 45px #02070b45,inset 0 1px #f4dfaa0b;
  --art-accent:var(--outland-accent,#d8b778);
}
body.page-home,body:not(.page-home) {
  background:radial-gradient(ellipse 70% 750px at 12% 0,#16434730,transparent 78%),
    radial-gradient(ellipse 55% 700px at 100% 480px,#6b49301c,transparent 85%),#080f17;
}
/* Let the illustration live in its frame, with quiet colour around it. */
body:not(.page-home)::before {
  height:700px;
  background:radial-gradient(ellipse at 85% 10%,rgba(var(--outland-rgb),.065),transparent 68%),
    linear-gradient(180deg,#0c182155,transparent);
}
body.page-forever::before {
  background:radial-gradient(ellipse at 88% 12%,#b7884220,transparent 65%),
    radial-gradient(ellipse at 20% 0,#28615c26,transparent 70%);
}
::selection { background:#d7ba7e; color:#111b20; }

/* A quiet masthead; the language panel keeps its existing stacking context. */
body>.topbar {
  background:linear-gradient(100deg,#0c1720f7,#081119fa 65%,#131b21f5);
  border-block-end-color:#bfa0712b;
  box-shadow:0 6px 28px #0003;
}
.topbar::after {
  content:""; position:absolute; inset:auto 12% -1px; height:1px;
  background:linear-gradient(90deg,transparent,#e8c47d70,transparent);
  pointer-events:none;
}
body .brand-mark {
  border:1px solid #c9aa6b47; border-radius:9px;
  background:radial-gradient(ellipse at 50% 20%,#a07b3226,transparent 75%),#0c151d;
  box-shadow:inset 0 0 0 3px #0a141c,0 0 28px #cc9a3020;
}
body .brand { color:#f4e8cf; text-shadow:0 2px 14px #0006; }
body .brand small { color:#c6aa76; }
body .nav-links>a { transition:color .18s,background-color .18s; }
body .nav-links>a[aria-current] { text-decoration:none; }
body .nav-links>a.nav-forever { color:#e6d2a9; }
body .language-picker>summary {
  border-color:#a9997736; background:#111e27;
  box-shadow:inset 0 1px #ffffff05;
}
body .language-panel { border-color:#a88c58; box-shadow:0 22px 60px #000b,inset 0 1px #f0d69b19; }
body .language-hint { background:#112029; border-color:#c6a76e24; border-radius:5px; color:#bac7cb; }
body .breadcrumbs { color:#90a5b1; }
body .breadcrumbs>span[aria-current] { color:#d0c6b4; }

/* Eight fine strokes form the same engraved corners on every main scene.
   They never catch clicks or clip search suggestions and focus outlines. */
body :is(.forever-home-spotlight,.forever-news-hero,.entry-surface,.guild-hero,.planner-hero,.directory-intro,.gs-leaderboard-intro) {
  position:relative; border-color:#c6a56755; border-radius:7px;
  box-shadow:0 22px 55px #02070d50,inset 0 0 0 1px #f4d8a407;
}
body :is(.forever-home-spotlight,.forever-news-hero,.entry-surface.armory-entry,.entry-surface.guild-entry,.entry-surface.compare-entry,.guild-hero,.planner-hero,.directory-intro,.gs-leaderboard-intro)::before {
  content:""; position:absolute; inset:9px; z-index:2; pointer-events:none;
  border:0; border-radius:0; opacity:.8; transform:none;
  background:
    linear-gradient(90deg,#e4c48b,transparent) left top/62px 1px,
    linear-gradient(180deg,#e4c48b,transparent) left top/1px 62px,
    linear-gradient(270deg,#e4c48b,transparent) right top/62px 1px,
    linear-gradient(180deg,#e4c48b,transparent) right top/1px 62px,
    linear-gradient(90deg,#e4c48b,transparent) left bottom/62px 1px,
    linear-gradient(0deg,#e4c48b,transparent) left bottom/1px 62px,
    linear-gradient(270deg,#e4c48b,transparent) right bottom/62px 1px,
    linear-gradient(0deg,#e4c48b,transparent) right bottom/1px 62px;
  background-repeat:no-repeat;
}
body[class] :is(.intro h1,.planner-hero h1,.guild-hero h1,.forever-news-hero h1) {
  color:#f5ebd8; font-weight:500; letter-spacing:-.035em;
  text-shadow:0 3px 25px #0006; text-wrap:balance;
}
body :is(.entry-surface,.guild-hero,.planner-hero,.directory-intro,.gs-leaderboard-intro) :is(.eyebrow,.planner-eyebrow) {
  font-size:.7rem; letter-spacing:.16em; color:var(--art-accent);
}
body :is(.entry-features li,.region-tag) {
  border-color:#c5ad7440; box-shadow:inset 0 1px #f7e7bf08; background:#0e1b25d9;
}

/* Gold actions and recessed fields feel like part of the same material. */
body[class] .primary,.forever-button {
  border-color:#e2c389; border-radius:4px;
  background:linear-gradient(110deg,#e9d19a,#c5a063);
  color:#1c201e; box-shadow:inset 0 1px #fff1cc9c,0 4px 18px #b78b3226;
  text-shadow:0 1px #ffe7b947;
  transition:border-color .18s,box-shadow .18s,background-color .18s;
}
body[class] .primary:hover:not(:disabled),.forever-button:hover {
  background:linear-gradient(110deg,#f8e3b1,#d8b374); color:#111815;
  box-shadow:inset 0 1px #fff5d7,0 5px 24px #c3943933; text-decoration:none;
}
body .primary:active:not(:disabled),.forever-button:active { box-shadow:inset 0 2px 5px #65442140; }
body .primary:focus-visible,.forever-button:focus-visible { outline:2px solid #fae4b2; outline-offset:4px; }
body :where(.home-search,.entry-surface,.directory-filters,.gs-leaderboard-filters,.guild-filters,.planner-settings,.planner-import-form) :is(input,select) {
  background:linear-gradient(135deg,#0b1720,#14232d);
  border-color:#82979e55; box-shadow:inset 0 2px 5px #0003,0 1px #fff5da05;
}
body :where(.home-search,.entry-surface,.directory-filters,.gs-leaderboard-filters,.guild-filters,.planner-settings,.planner-import-form) :is(input,select):focus-visible {
  border-color:#dfc28c; outline:2px solid #dfc28c; outline-offset:3px;
}

/* Azeroth is the luminous focal point. No particles, parallax or extra image. */
.forever-home-spotlight { margin-block:26px 0; }
.forever-art img { object-position:72% center; }
.forever-home-spotlight .forever-art::after {
  background:linear-gradient(90deg,#08171df2 0%,#09191fe6 23%,#09191f75 48%,#09191f08 78%),
    linear-gradient(0deg,#0a1821f2,transparent 42%);
}
.forever-spotlight-content { padding:clamp(32px,3.8vw,66px); max-width:810px; }
.forever-kicker { letter-spacing:.19em; color:#e6c591; }
.forever-kicker>span { color:#e6c591; text-shadow:0 0 15px #e8b64e90; }
.forever-home-spotlight .forever-wordmark {
  font-size:clamp(4.7rem,7.7vw,8.8rem); line-height:1.05;
  font-weight:400; letter-spacing:-.045em; color:#f5e7cb;
}
.forever-wordmark>span { font-size:clamp(.8rem,1.1vw,1.2rem); letter-spacing:.26em; margin-bottom:4px; }
.forever-lead { margin-top:17px; font-size:clamp(1.3rem,2vw,1.9rem); color:#f6e9d0; }
.forever-spotlight-content .forever-intro { max-width:45ch; color:#c3d0d0; font-size:.95rem; }
.forever-clock { gap:12px; }
.forever-clock>div {
  min-width:86px; border-color:#c6a96a50; border-radius:3px;
  background:linear-gradient(135deg,#284044bd,#0b1b24eb);
  box-shadow:inset 0 1px #f9e0aa24,inset 0 -2px #071118,0 6px 20px #0003;
}
.forever-clock>div::after {
  content:""; position:absolute; width:4px; height:4px; bottom:-3px; left:calc(50% - 2px);
  background:#b89e65; transform:rotate(45deg); box-shadow:0 0 7px #d8b86e42;
}
.forever-clock dd { font-size:2.5rem; color:#f1d6a0; text-shadow:0 2px 12px #cc9b2821; }
.forever-clock dt { color:#c5d1d0; font-size:.6rem; letter-spacing:.12em; }
.forever-home-headlines { background:#101d25f5; backdrop-filter:none; border-color:#d4ba7c45; }
.forever-headlines-label { padding-inline:clamp(24px,3vw,50px); color:#e4cc9b; }
.forever-home-headlines>a { padding-block:22px; border-color:#c7aa6c29; }
.forever-home-headlines>a>span { text-wrap:pretty; }
.forever-home-headlines>a:hover { background:linear-gradient(100deg,#b98d2f12,transparent); }

/* The TBC search forms a distinct second chapter beneath the launch scene. */
body.page-home .outland-entry { margin-top:38px; padding:28px 0 12px; border-top:1px solid var(--art-line); }
body.page-home .outland-intro { column-gap:54px; padding-block-end:18px; }
body.page-home .outland-intro .eyebrow { color:#bdb58c; letter-spacing:.13em; }
body.page-home .outland-intro h1 { color:#ede3cc; font-weight:500; font-size:clamp(1.8rem,2.65vw,3rem); }
body.page-home .outland-intro>p:last-child { color:#b7c8cf; font-family:inherit; line-height:1.8; }
body.page-home .home-search { border-color:#b69a5d80; box-shadow:var(--art-shadow); }
body.page-home .home-search-tabs::before { border-color:#b69a5d80; background:linear-gradient(110deg,#1d3039,#101e27); }
body.page-home .home-search .primary { background:linear-gradient(110deg,#e9d19a,#c5a063); }
.home-recent { margin-block:13px 30px; }
.home-section-heading { margin-block-end:16px; }
.home-section-heading h2 { display:flex; align-items:center; gap:13px; font-weight:500; }
.home-section-heading h2::before {
  content:""; flex:none; width:7px; height:7px; border:1px solid #d0b078;
  transform:rotate(45deg); box-shadow:0 0 0 3px #c5a7660b;
}
.home-profile { border-color:rgba(var(--class-rgb),.42); background:linear-gradient(115deg,rgba(var(--class-rgb),.09),transparent 75%),#101d27; }
.home-profile-score strong { color:#eed7a4; }
.home-rankings { gap:24px; margin-block:0 26px; }
.home-ranking { border-color:#b8a06c65; border-radius:6px; box-shadow:var(--art-shadow); background:var(--art-surface); }
.home-ranking-pvp { border-color:#b398895c; }
.home-ranking-heading { min-height:94px; padding:19px 24px; background:linear-gradient(110deg,#b7914c12,transparent 80%); border-color:#bba06b30; }
.home-ranking-pvp .home-ranking-heading { background:linear-gradient(110deg,#a8656616,transparent 80%); }
.home-ranking-heading h2 { font-weight:500; color:#eee3cb; }
.home-ranking-row { border-color:#9fafb320; }
.home-ranking-row.home-ranking-first { background:linear-gradient(90deg,#d2ab4b13,transparent); }
.home-ranking-list { padding-inline:18px; }
.home-ranking-profile { padding-inline:5px; min-height:80px; }
.home-ranking-profile .home-portrait { box-shadow:0 0 0 3px #060d1490,0 0 0 4px rgba(var(--class-rgb),.12); }
.home-ranking-score strong { color:#edd3a0; }
.home-ranking-footer { padding-block:12px; background:#08131b30; }
.home-destinations { gap:24px; margin-block-end:40px; }
.home-destination { min-height:180px; padding:28px; border-color:#c0a36766; border-radius:6px; box-shadow:var(--art-shadow); }
.home-destination-guild { border-color:#ae9abc65; }
.home-destination h3 { font-weight:500; font-size:1.75em; }
.home-destination p { margin-bottom:14px; font-size:.84em; line-height:1.6; }
.home-destination-copy>span { color:#e8ca91; }

/* Guilds, rankings and character sheets share the same framed surfaces. */
body :is(.reading-panel,.guild-card,.guild-insight,.directory-profile-entry,.planner-panel) {
  box-shadow:var(--art-shadow); border-color:#b7a37e3d;
}
body .guild-card { background:linear-gradient(125deg,#45354c25,transparent 80%),#111e28; }
body :is(.directory-filters,.guild-member-filters,.gs-leaderboard-filters,.planner-settings) { background:var(--art-surface); border-color:#b7a37e3d; }
body .character>.profile-section { box-shadow:var(--art-shadow); }
body .character .profile-section-heading { background:linear-gradient(115deg,#23323b,#131f2a); }
body .gs-leaderboard-list>li>a { box-shadow:inset 0 1px #f8e4ba0a,0 5px 15px #0002; }
body .gs-leaderboard-intro::after { opacity:.5; }
body :is(.reading-panel,.guild-explain-grid) h2 { color:#e9dbc0; }

/* The news page reads like a journal: hierarchy, generous rhythm, fine rules. */
.forever-news-hero { min-height:420px; }
.forever-news-hero .forever-art::after { background:linear-gradient(90deg,#0a1b23f2,#0a1b2390 52%,#0a1b2340),linear-gradient(0deg,#0a1923a3,transparent 65%); }
.forever-news-hero h1 { font-size:clamp(3rem,4.5vw,5.2rem); font-weight:400; margin-bottom:26px; }
.forever-launch-panel { background:linear-gradient(135deg,#203339e8,#0a1923f5); border-color:#ccad6f6b; box-shadow:0 14px 30px #0005,inset 0 1px #f2d39314; }
.forever-page-nav { gap:8px 32px; border-color:#c2a56e4f; padding-block:15px; }
.forever-page-nav a { color:#d2c4aa; }
.forever-release,.forever-questions,.forever-news-section { padding-top:48px; }
.forever-section-heading { padding-bottom:19px; border-bottom:1px solid #bea26826; }
.forever-section-heading h2 { color:#f0e3cb; font-weight:400; }
.forever-timezones>div { background:linear-gradient(130deg,#1b3037,#10202a); border-color:#bfa57540; border-top:2px solid #bca06b8f; box-shadow:0 7px 22px #0002; }
.forever-timezones>div:first-child { background:linear-gradient(130deg,#33372c,#13252c); border-color:#d2b87c77; }
.forever-timezones strong { color:#f0d9a9; }
.forever-news-grid { gap:20px; }
.forever-news-card { padding:30px; border-color:#b7aa862f; background:linear-gradient(135deg,#192a33,#101e28); box-shadow:0 7px 20px #0002; }
.forever-news-meta { padding-bottom:17px; border-bottom:1px solid #c7aa7024; margin-bottom:20px; }
.forever-news-meta>span { font-size:.66rem; letter-spacing:.14em; color:#dcc48f; }
.forever-news-card h3 { font-weight:400; color:#f0e3ca; line-height:1.35; }
.forever-news-card-copy>p { color:#becbcf; }
.forever-news-card>.forever-text-link { color:#dec38c; }
.forever-news-featured { padding:36px; background:radial-gradient(ellipse at 0% 0%,#80723c25,transparent 60%),linear-gradient(130deg,#233b3e,#13242e); border-color:#d0b47a60; }
.forever-news-featured .forever-news-meta { border-bottom:0; border-inline-end:1px solid #c7aa7033; padding-inline-end:20px; margin:0; }
.forever-faq-list { background:linear-gradient(115deg,#172832,#0f1e28); border-color:#c0a46e42; }
.forever-faq-list summary { font-weight:500; }
.forever-faq-list details[open] { background:#c6a46c05; }
.forever-faq-list details[open] summary { color:#ecd4a5; }

body .footer {
  position:relative; padding-block:42px; border-color:#c2a4692b;
  background:radial-gradient(ellipse at 15% 0%,#1c39432b,transparent 65%),#070e15;
}
.footer::before { content:""; position:absolute; top:-1px; inset-inline:18%; height:1px; background:linear-gradient(90deg,transparent,#d6b47885,transparent); }
body .footer-brand { color:#e9d8b5; font-weight:500; }
body .footer-links a { color:#adbec8; }
body .footer-links a:hover { color:#eed6a5; }
body .pagination a[aria-current] { color:#111b20; background:#debf86; }

@supports(background-clip:text) {
  .forever-home-spotlight .forever-wordmark {
    background:linear-gradient(170deg,#fff6e4 20%,#e6cfa1 68%,#bd9458);
    background-clip:text; color:transparent; text-shadow:none;
  }
}
@media(min-width:1101px) {
  .forever-home-spotlight .forever-spotlight-content { padding-bottom:35px; }
  body .navigation .nav-links>a { padding-inline:15px; }
}
@media(max-width:1100px) {
  .forever-news-hero { min-height:0; }
  .home-destination { min-height:160px; padding:23px; }
  .home-ranking-profile { padding-inline:0; }
}
@media(max-width:780px) {
  .home-rankings,.home-destinations { gap:18px; }
  body.page-home .outland-entry { margin-top:26px; padding-top:25px; }
  .forever-section-heading { padding-bottom:16px; }
  .forever-release,.forever-questions,.forever-news-section { padding-top:34px; }
}
@media(max-width:680px) {
  .forever-home-spotlight { margin-top:16px; }
  .forever-spotlight-content { padding:33px 24px 26px; }
  .forever-home-spotlight .forever-wordmark { font-size:clamp(3.8rem,17vw,5.6rem); }
  .forever-wordmark>span { font-size:.72rem; letter-spacing:.18em; margin-bottom:7px; }
  .forever-spotlight-content .forever-intro { font-size:.85rem; max-width:36ch; }
  .forever-home-spotlight .forever-art::after { background:linear-gradient(90deg,#091b23eb,#091b2380),linear-gradient(0deg,#0b1922fa,transparent 90%); }
  .forever-kicker { font-size:.6rem; letter-spacing:.12em; }
  .forever-lead { font-size:1.25rem; }
  .forever-clock { gap:8px; }
  .forever-clock>div { min-width:0; }
  .forever-clock dd { font-size:2rem; }
  .forever-clock dt { font-size:.53rem; letter-spacing:.07em; }
  .forever-actions { margin-top:25px; }
  .forever-home-headlines>a { padding:17px 24px; }
  .home-ranking-heading { padding:18px; }
  .home-ranking-list { padding-inline:14px; }
  .home-ranking-profile { min-height:78px; }
  .home-destination { min-height:155px; padding:24px; }
  .home-destination h3 { font-size:1.5em; }
  .home-destination-copy { max-width:90%; }
  .forever-news-hero h1 { font-size:2.8rem; }
  .forever-news-card { padding:24px; }
  .forever-news-featured .forever-news-meta { border:0; padding:0; margin-bottom:20px; }
  .forever-page-nav { gap:0 20px; }
  body .footer { padding-block:30px; }
}
@media(max-width:380px) {
  .forever-launch-panel { padding:14px; }
  .forever-launch-panel .forever-clock>div { padding:10px 3px; }
  .forever-launch-panel .forever-clock dd { font-size:1.5rem; }
  .forever-launch-panel .forever-clock dt { font-size:.5rem; letter-spacing:0; }
}
@media(prefers-reduced-motion:reduce) {
  body .nav-links>a,body .primary,.forever-button { transition:none; }
}
@media(forced-colors:active) {
  body.page-home,body:not(.page-home),body>.topbar,body .footer { background:Canvas; }
  body::before,.topbar::after,.footer::before,.forever-art,.forever-clock>div::after,
  body :is(.forever-home-spotlight,.forever-news-hero,.entry-surface.armory-entry,.entry-surface.guild-entry,.entry-surface.compare-entry,.guild-hero,.planner-hero,.directory-intro,.gs-leaderboard-intro)::before { display:none; }
  .forever-home-spotlight .forever-wordmark { background:none; color:CanvasText; }
  body .primary,.forever-button { background:ButtonFace; color:ButtonText; border-color:ButtonText; text-shadow:none; box-shadow:none; }
  body .primary:focus-visible,.forever-button:focus-visible { outline-color:Highlight; }
}
/* Historical data is useful, but must never look like a fresh observation. */
.character-recovery { border-inline-start: 3px solid #d9b56c; background: #211e18; color: #e6d6b6; margin-block-end: 1.25rem; padding: 1rem 1.25rem; }
.character-recovery strong { display: block; color: #f4d79c; font-size: 1.1rem; }
.character-recovery p { margin: .45rem 0 0; max-width: 85ch; }
.character-recovery time { font-variant-numeric: tabular-nums; }
