/* Interior pages share the home identity; functional components retain their layout. */
html.site-interior { font-size:var(--site-ui-size); }
body:not(.page-home) {
  --bg:#080f17;
  --panel:#101c29;
  --raised:#152335;
  --text:#f1ecdf;
  --muted:#b1bfd0;
  --ink-soft:#c1cddd;
  --gold:#edca7d;
  --line:#bca47530;
  --surface-line:#bca47530;
  --outland-accent:#edca7d;
  --outland-rgb:237,202,125;
  --outland-line:rgba(var(--outland-rgb),.26);
  --outland-panel:linear-gradient(120deg,#132231,#0c1723);
  color:var(--text);
  background:var(--bg);
  font-size:1rem;
}
body.page-armory { --outland-accent:#bad7a4; --outland-rgb:186,215,164; }
body.page-characters { --outland-accent:#9ed8de; --outland-rgb:158,216,222; }
body.page-compare { --outland-accent:#a7cbed; --outland-rgb:167,203,237; }
body.page-planner { --outland-accent:#e8be85; --outland-rgb:232,190,133; }
body.page-guild,body.page-guilds { --outland-accent:#c7b5ed; --outland-rgb:199,181,237; }
body.page-pvp_leaderboard { --outland-accent:#e9a698; --outland-rgb:233,166,152; }
body:not(.page-home)::before {
  position:absolute;
  inset:0 0 auto;
  height:clamp(515px,38vw,680px);
  display:block;
  background:linear-gradient(0deg,#080f17 0%,#080f17a6 30%,#080f174d 100%),linear-gradient(90deg,#080f1780,transparent 70%),url("art/outland-hero.webp") center 38% / cover no-repeat;
}
body:not(.page-home) .wrap { width:var(--site-frame-width); max-width:var(--site-frame-max); }
body:not(.page-home) main.wrap { max-width:var(--site-frame-max); padding-block-end:36px; }

/* Header stays above all page surfaces, including the language chooser. */
body:not(.page-home)>.topbar { z-index:50; background:linear-gradient(90deg,#07101bf2,#07101bd9 60%,#07101b88); border-block-end:1px solid #d9b36726; }
body:not(.page-home) .navigation { min-height:76px; gap:32px; }
body:not(.page-home) .brand { font:700 1.55rem/1.1 Georgia,"Times New Roman",serif; letter-spacing:.01em; gap:13px; }
body:not(.page-home) .brand-mark { width:48px; height:48px; box-shadow:0 0 24px #b0882822; }
body:not(.page-home) .brand small { color:#dcbf7d; font:500 .68rem/1.4 system-ui,sans-serif; text-transform:uppercase; letter-spacing:.2em; margin-block-start:6px; }
body:not(.page-home) .nav-links { margin-inline-start:8px; gap:10px; }
body:not(.page-home) .nav-links>a { border:0; border-radius:0; padding:16px 18px; font:500 .96rem/1.35 Georgia,serif; background:transparent; color:#d5dce7; }
body:not(.page-home) .nav-links>a>.ui-icon { display:none; }
body:not(.page-home) .nav-links>a:is(:hover,:focus-visible),
body:not(.page-home) .nav-links>a[aria-current] { color:var(--gold); box-shadow:inset 0 -2px var(--gold); background:linear-gradient(0deg,#e6bf6f0d,transparent); text-decoration:none; }
body:not(.page-home) .language-picker { margin-inline-start:auto; font-size:.85rem; }
body:not(.page-home) .language-picker>summary { border-color:#879eb340; background:#0c1725; }
body:not(.page-home) .language-panel { background:#111e2e; border-color:#776446; box-shadow:0 18px 55px #0009; }
body:not(.page-home) .language-options a:hover,
body:not(.page-home) .language-options a[aria-current] { background:#293645; color:#f2d599; }
body:not(.page-home) .breadcrumbs { padding-block:24px 6px; gap:10px; color:#9dacbf; font-size:.8125rem; }
body:not(.page-home) .breadcrumbs a { display:inline-flex; align-items:center; min-height:32px; color:#bfd1df; }
body:not(.page-home) .breadcrumbs>span { align-self:center; }
body:not(.page-home) .breadcrumbs a:hover { color:var(--gold); }

body:not(.page-home) :is(.intro h1,.prose h1,.error-page h1) { font:700 clamp(2.4rem,4.1vw,4.6rem)/1.05 Georgia,"Times New Roman",serif; letter-spacing:-.035em; color:#f7f0df; text-wrap:balance; }
body:not(.page-home) :is(.reading-panel h2,.questions h2,.realm-group h2) { font:600 clamp(1.3rem,1.8vw,1.65rem)/1.3 Georgia,"Times New Roman",serif; color:#f1e7d4; }
body:not(.page-home) .eyebrow { color:var(--outland-accent); letter-spacing:.13em; font-size:.73rem; }
body:not(.page-home) :where(.reading-panel,.directory-empty) { border:1px solid var(--outland-line); border-radius:8px; background:var(--outland-panel); }
body:not(.page-home) :where(.related-links) a { color:#c2d8e6; text-underline-offset:4px; }
body:not(.page-home) :where(.related-links) a:hover { color:var(--gold); }

/* Native inputs and actions, without overriding item buttons or rarity colours. */
body:not(.page-home) :where(.entry-surface,.directory-filters,.gs-leaderboard-filters,.guild-search,.guild-filters,.language-panel) :is(input,select) {
  min-height:48px;
  border:1px solid #66788c8c;
  border-radius:5px;
  background:#101d2b;
  color:#f1ecdf;
  box-shadow:inset 0 1px 3px #0003;
  font-size:1rem;
}
body:not(.page-home) :where(.entry-surface,.directory-filters,.gs-leaderboard-filters,.guild-search,.guild-filters,.language-panel) input::placeholder { color:#a8b6c8; }
body:not(.page-home) :where(.entry-surface,.directory-filters,.gs-leaderboard-filters,.guild-search,.guild-filters,.language-panel) :is(input,select):focus-visible { outline:2px solid var(--outland-accent); outline-offset:3px; border-color:var(--outland-accent); }
body:not(.page-home) .primary { min-height:48px; padding:11px 22px; border:1px solid #e6c78b; border-radius:5px; background:linear-gradient(#f4d790,#dbb45f 48%,#b38a3a); color:#17140c; font-weight:700; box-shadow:inset 0 1px #fff6,0 4px 18px #caaa5914; }
body:not(.page-home) .primary:hover:not(:disabled) { background:linear-gradient(#ffe9b4,#d3a756); border-color:#ffe6ae; color:#17140c; }
body:not(.page-home) .primary:disabled { opacity:.65; cursor:wait; }
body:not(.page-home) .primary:active:not(:disabled) { box-shadow:inset 0 2px 5px #73511840; }
body:not(.page-home) .primary:focus-visible { outline:2px solid #f8dfaa; outline-offset:4px; }
body:not(.page-home) .dropdown { background:#142335; border-color:#677489; box-shadow:0 16px 30px #0008; }
body:not(.page-home) .pagination a { background:#101d2b; border-color:var(--outland-line); border-radius:5px; }
body:not(.page-home) .pagination a:hover { border-color:var(--outland-accent); }
body:not(.page-home) .pagination a[aria-current] { background:var(--gold); color:#17140c; border-color:var(--gold); }
body:not(.page-home) .pagination a { font-variant-numeric:tabular-nums; }
body:not(.page-home) .footer { margin-block-start:20px; border-color:#d4b57d30; background:#070e16; padding-block:36px; }
body:not(.page-home) .footer-brand { color:#f0e3c7; font:600 1.4rem/1.3 Georgia,serif; }
body:not(.page-home) .footer-links a { min-height:40px; display:inline-flex; align-items:center; color:#b8c9dc; }
body:not(.page-home) .footer-links a:hover { color:var(--gold); }

/* Armory: the portal frames the search; the form stays opaque and readable. */
.page-armory .entry-surface.armory-entry {
  margin-block:20px 28px;
  padding:clamp(24px,3.2vw,48px);
  border:1px solid #acb97857;
  border-radius:8px;
  background:linear-gradient(90deg,#081320f5 2%,#0a1824e8 42%,#0b17266b 100%),url("art/outland-hero.webp") 75% 45% / cover no-repeat;
  box-shadow:0 18px 50px #0004,inset 0 0 0 4px #c5b47c08;
}
.page-armory .entry-surface.armory-entry::before { inset:7px; border-color:#d9c88d1a; border-radius:3px; }
.page-armory .armory-entry .entry-hero { min-height:240px; padding-block-end:32px; }
.page-armory .armory-entry .intro { max-width:740px; }
.page-armory .armory-entry h1 { max-width:20ch; text-shadow:0 3px 20px #0008; }
.page-armory .entry-hero .intro>p:not(.eyebrow) { max-width:59ch; color:#d2dce6; font-size:1.05rem; }
.page-armory .entry-features { gap:10px 12px; margin-block-start:22px; }
.page-armory .entry-features li { padding:7px 12px; border:1px solid #c6c99436; border-radius:4px; background:#0b1927e8; color:#d7ddcb; }
.page-armory .entry-surface.armory-entry .search-panel { padding:24px; border:1px solid #c1b67f6b; border-radius:6px; background:#0c1926; box-shadow:0 12px 35px #0005; }
.page-armory .armory-support { gap:24px; margin-block:28px; }
.page-armory .armory-support .reading-panel { padding:30px; border-radius:8px; border-color:var(--outland-line); background:var(--outland-panel); }
.page-armory .armory-support .questions { padding:26px 30px; border:1px solid #a4bbc32c; border-radius:8px; background:#0b1723; }
.page-armory .questions summary { min-height:54px; color:#dbe5ed; }
.page-armory .questions details[open] summary { color:var(--outland-accent); }
.page-armory .questions summary:focus-visible { outline:2px solid var(--outland-accent); outline-offset:5px; border-radius:2px; }
.page-armory .questions details[open]>p { padding-inline-start:14px; border-inline-start:2px solid #bad7a449; }
.page-armory .armory-rankings { display:flex; flex-wrap:wrap; gap:12px; }
.page-armory .armory-rankings>a { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:56px; padding:14px 20px; border:1px solid #c7b07845; border-radius:5px; background:#101d2b; }
.page-armory .armory-rankings>a:is(:hover,:focus-visible) { border-color:#d3bc80; background:#182b38; }

/* Directory: substantial portraits and a single frame for profile, guild and score. */
.page-characters .directory-intro {
  margin-block:20px 24px;
  padding:clamp(26px,3.5vw,48px);
  border-color:var(--outland-line);
  border-radius:8px;
  background:linear-gradient(90deg,#0b1926f7 10%,#102a35e8 62%,#1025369e),url("armory-citadel.webp") right 45% / cover no-repeat;
}
.page-characters .directory-intro::after { display:none; }
.page-characters .directory-intro h1 { max-width:24ch; }
.page-characters .directory-intro>p:last-child { color:#c2d5de; max-width:65ch; font-size:1.03rem; }
.page-characters .directory-heading { padding:14px 22px; margin-block-end:16px; border-color:var(--outland-line); border-radius:6px; background:#10212d; box-shadow:inset 3px 0 var(--outland-accent); }
.page-characters .directory-heading p { color:#c3d3df; }
.page-characters .directory-filters { grid-template-columns:repeat(4,minmax(0,1fr)) auto auto; gap:14px; margin:0 0 30px; padding:22px; border:1px solid #a3bec03b; border-radius:7px; background:#0f1b28; }
.page-characters .directory-filters label { color:#c1d0df; font-size:.8125rem; font-weight:500; }
.page-characters .directory-filters select { min-height:48px; border-radius:5px; }
.page-characters .directory-filters .form-status { grid-column:1/-1; margin:0; }
.page-characters .directory-filters .form-status:empty { display:none; }
.page-characters .realm-group { margin-block-end:32px; }
.page-characters .realm-group h2 { margin-block-end:18px; gap:14px; }
.page-characters .region-tag { padding:5px 9px; border:1px solid #8bb6bc4d; border-radius:3px; color:#b9d7dd; background:#122530; font:600 .6875rem/1.3 system-ui,sans-serif; letter-spacing:.08em; }
.page-characters .directory-profile-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.page-characters .directory-profile-entry { border:1px solid #849dae40; border-radius:7px; background:#0e1b28; box-shadow:0 7px 20px #0002; }
.page-characters .directory-profile-entry:is(:hover,:focus-within) { border-color:#c5bb858c; }
.page-characters .directory-profile-entry .recent-profile-card {
  grid-template-columns:80px minmax(0,1fr) 16px;
  gap:14px 16px;
  padding:22px;
  border:0;
  border-radius:6px 6px 0 0;
  background:linear-gradient(115deg,rgba(var(--class-rgb),.07),transparent 80%),#0e1b28;
  box-shadow:inset 0 2px rgba(var(--class-rgb),.4);
  transform:none;
}
.page-characters .directory-profile-entry .recent-profile-card:is(:hover,:focus-visible) { background-color:#152634; }
.page-characters .directory-profile-entry .recent-profile-card:focus-visible { outline:2px solid rgb(var(--class-rgb)); outline-offset:-3px; }
.page-characters .recent-portrait { width:80px; height:80px; border-radius:4px; border-color:rgba(var(--class-rgb),.65); box-shadow:0 0 0 3px #020910,0 0 0 4px rgba(var(--class-rgb),.18); }
.page-characters .recent-profile-heading>strong { font:600 1.3rem/1.25 Georgia,serif; }
.page-characters .recent-profile-realm { color:#b4c5d6; font-size:.8125rem; }
.page-characters .recent-profile-meta { padding-block-start:12px; color:#c6d0df; }
.page-characters .recent-profile-spec { border-radius:3px; }
.page-characters .directory-profile-entry .recent-profile-guild { padding:4px 20px; border:0; border-block-start:1px solid #ffffff0d; background:#0c1926; }
.page-characters .directory-profile-entry .guild-link { min-height:40px; }
.page-characters .directory-card-gs { padding:12px 20px; border:0; border-block-start:1px solid #d7bb7b25; border-radius:0 0 6px 6px; background:linear-gradient(90deg,#b2914310,transparent),#0b1722; }
.page-characters .directory-card-gs strong { font-size:1.25rem; color:#edca7d; }
.page-characters .directory-card-gs>span { min-width:0; }
.page-characters .directory-card-gs strong { flex:none; }
.page-characters .directory-clear:is(:hover,:focus-visible) { color:var(--gold); text-decoration:underline; text-underline-offset:4px; }
.page-characters .directory-empty { border-style:solid; background:var(--outland-panel); }

.page-translations .prose,.page-error .error-page { margin-block:24px 36px; padding:clamp(24px,4vw,56px); border:1px solid var(--outland-line); border-radius:8px; background:var(--outland-panel); }
.page-translations .prose { max-width:1000px; }
.page-translations .all-languages a { border-radius:5px; background:#0b1825; border-color:#70829859; }
.page-error .error-page { text-align:center; }
body:not(.page-home) :is(.intro h1,.prose h1,.error-page h1) { overflow-wrap:anywhere; }

@media(min-width:1700px) {
  .page-characters .directory-profile-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media(max-width:1200px) {
  .page-characters .directory-profile-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .page-characters .directory-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:1100px) {
  body:not(.page-home) .navigation { gap:12px; padding-block:14px 0; }
  body:not(.page-home) .nav-links { margin:0; gap:4px; padding-block:8px 0; border-color:#c7ac7530; }
  body:not(.page-home) .nav-links>a { justify-content:center; padding:14px 8px; font-size:.95rem; }
  .page-armory .armory-entry .entry-hero { min-height:210px; }
}
@media(max-width:780px) {
  body:not(.page-home)::before { background-image:linear-gradient(0deg,#080f17 0%,#080f17a6 30%,#080f174d 100%),linear-gradient(90deg,#080f1780,transparent 70%),url("art/outland-hero-mobile.webp"); }
  body:not(.page-home) .wrap { width:calc(100% - 36px); }
  body:not(.page-home) main.wrap { padding-block-end:24px; }
  body:not(.page-home) .breadcrumbs { padding-block:16px 4px; font-size:.75rem; }
  body:not(.page-home) :is(.intro h1,.prose h1,.error-page h1) { font-size:clamp(2rem,6vw,2.8rem); }
  .page-armory .entry-surface.armory-entry { padding:24px; background-image:linear-gradient(90deg,#081320f5,#0b1726c9),url("art/outland-hero-mobile.webp"); }
  .page-armory .armory-entry .entry-hero { min-height:0; padding-block-end:24px; }
  .page-armory .entry-surface.armory-entry .search-panel { padding:20px; }
  .page-armory .armory-support { grid-template-columns:1fr; gap:18px; }
  .page-armory .armory-support :is(.reading-panel,.questions) { padding:24px; }
  .page-characters .directory-profile-entry .recent-profile-card { grid-template-columns:64px minmax(0,1fr) 14px; padding:18px; gap:14px 12px; }
  .page-characters .recent-portrait { width:64px; height:64px; }
  .page-characters .recent-profile-heading>strong { font-size:1.18rem; }
}
@media(max-width:600px) {
  body:not(.page-home) .brand { font-size:1.38rem; gap:9px; }
  body:not(.page-home) .brand-mark { width:40px; height:40px; }
  body:not(.page-home) .brand small { font-size:.58rem; }
  body:not(.page-home) .language-picker { font-size:.75rem; }
  body:not(.page-home) .language-picker>summary { gap:5px; padding-inline:8px; max-width:130px; }
  body:not(.page-home) .nav-links>a { flex-direction:column; min-height:62px; gap:5px; padding:7px 2px; font:500 .76rem/1.25 system-ui,sans-serif; }
  body:not(.page-home) .nav-links>a>span { white-space:normal; overflow-wrap:anywhere; }
  body:not(.page-home) .nav-links>a>.ui-icon { display:block; width:18px; height:18px; }
  .page-characters .directory-intro { padding:26px 22px; }
  .page-characters .directory-profile-grid { grid-template-columns:1fr; gap:14px; }
  .page-characters .directory-filters { padding:18px; gap:16px; }
  .page-characters .directory-profile-entry .recent-profile-card { grid-template-columns:76px minmax(0,1fr) 16px; padding:20px; }
  .page-characters .recent-portrait { width:76px; height:76px; }
  .page-armory .entry-surface.armory-entry { padding:20px 18px; }
  .page-armory .entry-surface.armory-entry .search-panel { padding:18px; }
  .page-armory .entry-features { gap:7px; }
  .page-armory .entry-features li { font-size:.75rem; padding:6px 8px; }
  .page-armory .armory-support :is(.reading-panel,.questions) { padding:22px; }
  .page-armory .armory-rankings>a { width:100%; }
}
@media(max-width:440px) {
  body:not(.page-home) .navigation { gap:8px; }
  body:not(.page-home) .brand { font-size:1.15rem; }
  body:not(.page-home) .language-code { display:none; }
  .page-characters .directory-filters { grid-template-columns:1fr; }
  .page-armory .entry-surface.armory-entry .search-panel { padding:16px 12px; }
  .page-characters .directory-profile-entry .recent-profile-card { grid-template-columns:64px minmax(0,1fr) 14px; padding:18px 16px; }
  .page-characters .recent-portrait { width:64px; height:64px; }
}
@media(prefers-reduced-motion:reduce) {
  body:not(.page-home) :is(.nav-links>a,.primary,.recent-profile-card) { transition:none; }
}
@media(forced-colors:active) {
  body:not(.page-home)::before,.page-armory .entry-surface.armory-entry::before { display:none; }
  body:not(.page-home) :is(.topbar,.footer,.entry-surface,.directory-intro,.directory-heading,.directory-filters,.reading-panel,.questions,.directory-empty,.prose,.error-page,.recent-profile-card,.directory-card-gs,.recent-profile-guild,.pagination a,.language-panel) { background:Canvas; color:CanvasText; border-color:CanvasText; box-shadow:none; }
  body:not(.page-home) :is(.primary,.nav-links>a[aria-current],.pagination a[aria-current]) { background:Highlight; color:HighlightText; border-color:Highlight; box-shadow:none; }
  body:not(.page-home) :is(.intro h1,.prose h1,.error-page h1,.reading-panel h2,.questions h2,.realm-group h2) { color:CanvasText; text-shadow:none; }
  body:not(.page-home) :is(.directory-profile-entry,.recent-portrait) { border-color:CanvasText; box-shadow:none; }
  body:not(.page-home) :is(.recent-profile-heading>strong,.related-links a,.footer-links a,.breadcrumbs a) { color:LinkText; }
}
