body{font-family:Georgia,"Times New Roman",serif}
.character-shell{max-width:1360px;margin:auto;padding:28px}
.character-art-slot,.character-identity,.wiki-section,.character-infobox,.character-links{background:var(--cream);color:var(--ink);border:1px solid rgba(183,190,197,.9);border-radius:22px;box-shadow:0 16px 42px var(--green-shadow)}
.character-art-slot{min-height:210px;margin-bottom:16px;padding:28px;display:grid;place-items:center;text-align:center;border-style:dashed;border-width:2px;border-color:var(--old-gold);background:linear-gradient(135deg,rgba(197,162,74,.11),transparent 45%),var(--cream)}
.character-art-slot span,.logo-slot span{display:block;font-family:Arial,Helvetica,sans-serif;font-size:10px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--bark);margin-bottom:8px}
.character-art-slot strong{font-family:Arial,Helvetica,sans-serif;font-size:clamp(22px,4vw,44px);letter-spacing:.04em;color:var(--deep-root)}
.character-identity{padding:26px 28px;margin-bottom:16px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:center}
.character-kicker{font-family:Arial,Helvetica,sans-serif;font-size:11px;font-weight:900;letter-spacing:.15em;text-transform:uppercase;color:var(--root-green)}
.character-identity h1{margin:7px 0 4px;font-size:clamp(48px,7vw,88px);line-height:.88;letter-spacing:-.06em;color:var(--deep-root)}
.character-subtitle{font-size:20px;margin:0;color:#4d5049}
.character-thesis{margin:18px 0 0;font-size:17px;line-height:1.5;font-style:italic;color:#3d413b}
.logo-slot{min-height:120px;border:1px dashed var(--cafe);border-radius:16px;background:var(--parchment);display:grid;place-items:center;text-align:center;padding:18px}
.logo-slot strong{font-family:Arial,Helvetica,sans-serif;font-size:16px;letter-spacing:.06em}
.dossier-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,.78fr);gap:16px;align-items:start}
.lore-column{display:grid;gap:16px}
.wiki-section{padding:26px 28px}
.wiki-section h2{font-size:30px;letter-spacing:-.03em;color:var(--deep-root);margin:0 0 15px;padding-bottom:10px;border-bottom:3px solid var(--old-gold)}
.wiki-section h3{font-size:20px;color:var(--root-green);margin:22px 0 8px}
.wiki-section p,.wiki-section li{font-size:16px;line-height:1.62}
.wiki-section p:first-of-type{margin-top:0}.wiki-section ul{padding-left:20px}
.character-infobox{padding:16px;position:sticky;top:94px}
.character-portrait{margin:0 0 16px}.character-portrait img{display:block;width:100%;height:auto;border-radius:15px;border:1px solid var(--slate-silver);background:var(--parchment)}
.character-portrait figcaption{font-family:Arial,Helvetica,sans-serif;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#64665f;margin-top:8px}
.infobox-title{font-family:Arial,Helvetica,sans-serif;font-size:26px;font-weight:950;letter-spacing:-.04em;color:var(--deep-root);margin:4px 0 12px}
.info-list{margin:0}.info-row{display:grid;grid-template-columns:105px minmax(0,1fr);gap:10px;padding:9px 0;border-top:1px solid #d5cab9}
.info-row dt{font-family:Arial,Helvetica,sans-serif;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--bark)}
.info-row dd{margin:0;font-size:13px;line-height:1.35;font-weight:700}
.quick-link{display:block;margin-top:14px;padding:10px 12px;text-align:center;background:var(--parchment);border:1px solid var(--old-gold);border-radius:999px;font-family:Arial,Helvetica,sans-serif;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;text-decoration:none}
.quick-link:hover{background:#fff8ed}
.quote-box{background:var(--parchment);border-left:5px solid var(--old-gold);border-radius:12px;padding:15px 17px;margin:16px 0;font-size:18px;font-weight:700}
.dpi-note{font-size:12px!important;color:#575a53}
.dpi-grid{display:grid;gap:8px;margin-top:16px}.dpi-row{display:grid;grid-template-columns:115px 1fr 44px;gap:10px;align-items:center}
.dpi-name{font-family:Arial,Helvetica,sans-serif;font-size:11px;font-weight:800}.dpi-track{height:9px;background:#d6ccbe;border-radius:999px;overflow:hidden}
.dpi-fill{height:100%;width:var(--score);background:linear-gradient(90deg,var(--root-green),var(--old-gold));border-radius:999px}.dpi-value{font-family:Arial,Helvetica,sans-serif;font-size:11px;font-weight:900;text-align:right}
.dpi-summary{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.dpi-pill{background:var(--parchment);border:1px solid var(--cafe);border-radius:999px;padding:8px 10px;font-family:Arial,Helvetica,sans-serif;font-size:10px;font-weight:900}
.conditional-box{margin-top:16px;padding:15px;background:var(--parchment);border:1px solid #d1c3ae;border-radius:14px}.conditional-box strong{color:var(--deep-root)}
.character-links{margin-top:16px;padding:16px 20px;display:flex;gap:10px;flex-wrap:wrap}
.character-links a{background:var(--parchment);border:1px solid var(--old-gold);border-radius:999px;padding:9px 12px;font-family:Arial,Helvetica,sans-serif;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;text-decoration:none}
@media(max-width:900px){.character-identity{grid-template-columns:1fr}.logo-slot{min-height:90px}.dossier-grid{grid-template-columns:1fr}.character-infobox{position:static}}
@media(max-width:620px){.character-shell{padding:16px}.character-art-slot{min-height:145px;padding:20px}.character-identity,.wiki-section{padding:21px}.dpi-row{grid-template-columns:92px 1fr 38px}.info-row{grid-template-columns:92px 1fr}}

/* Full-image lightbox */
.portrait-lightbox-trigger{
  position:relative;display:block;width:100%;padding:0;border:0;background:transparent;
  cursor:zoom-in;border-radius:15px;overflow:hidden;text-align:inherit;
}
.portrait-lightbox-trigger img{
  display:block;width:100%;height:auto;image-rendering:auto;
  transition:transform .18s ease,filter .18s ease;
}
.portrait-lightbox-trigger:hover img,.portrait-lightbox-trigger:focus-visible img{transform:scale(1.012);filter:brightness(.94)}
.portrait-lightbox-trigger:focus-visible{outline:3px solid var(--old-gold);outline-offset:3px}
.portrait-zoom-hint{
  position:absolute;right:10px;bottom:10px;background:rgba(23,52,40,.92);color:var(--cream);
  border:1px solid rgba(197,162,74,.85);border-radius:999px;padding:7px 9px;
  font-family:Arial,Helvetica,sans-serif;font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;
  box-shadow:0 6px 18px rgba(0,0,0,.22);
}
.image-lightbox{
  position:fixed;inset:0;z-index:1000;display:none;place-items:center;padding:24px;
  background:rgba(7,20,14,.94);backdrop-filter:blur(10px);
}
.image-lightbox.open{display:grid}
.image-lightbox-stage{
  position:relative;display:grid;place-items:center;max-width:96vw;max-height:94vh;
}
.image-lightbox img{
  display:block;width:auto;height:auto;max-width:94vw;max-height:88vh;object-fit:contain;
  border-radius:14px;border:1px solid rgba(183,190,197,.6);background:#111;
  box-shadow:0 30px 90px rgba(0,0,0,.55);
}
.image-lightbox-close{
  position:absolute;top:-14px;right:-14px;width:42px;height:42px;border-radius:999px;
  border:1px solid var(--old-gold);background:var(--cream);color:var(--ink);
  font:900 22px/1 Arial,Helvetica,sans-serif;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.35);
}
.image-lightbox-caption{
  margin-top:10px;color:var(--cream);font-family:Arial,Helvetica,sans-serif;
  font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;text-align:center;
}
body.lightbox-open{overflow:hidden}
@media(max-width:620px){
  .image-lightbox{padding:12px}.image-lightbox img{max-width:96vw;max-height:84vh}
  .image-lightbox-close{top:6px;right:6px}
}

.character-image-placeholder{
  min-height:300px;display:grid;place-items:center;text-align:center;
  border:1px dashed var(--old-gold);border-radius:15px;
  background:linear-gradient(135deg,rgba(197,162,74,.10),transparent 52%),var(--parchment);
  color:var(--bark);font-family:Arial,Helvetica,sans-serif;font-size:11px;font-weight:900;
  letter-spacing:.10em;text-transform:uppercase;padding:24px;
}


/* OldRoot dossier branding */
.character-identity,.wiki-section,.character-infobox{position:relative;overflow:hidden}
.character-identity::after,.wiki-section::after,.character-infobox::after{
  content:"";position:absolute;right:13px;bottom:11px;width:38px;height:38px;
  background:url("assets/branding/oldroot-monogram.png") center/contain no-repeat;
  opacity:.095;pointer-events:none;
}
.character-identity>*,.wiki-section>*,.character-infobox>*{position:relative;z-index:1}
.character-footer{
  max-width:1360px;margin:0 auto 28px;padding:15px 20px;
  background:var(--cream);color:var(--ink);
  border:1px solid rgba(183,190,197,.9);border-radius:18px;
  box-shadow:0 12px 30px var(--green-shadow);
  font-family:Arial,Helvetica,sans-serif;font-size:10px;font-weight:900;
  letter-spacing:.10em;text-transform:uppercase;
}
@media(max-width:620px){
  .character-footer{margin:0 16px 18px}
  .character-identity::after,.wiki-section::after,.character-infobox::after{width:32px;height:32px;right:10px;bottom:9px}
}


/* OldRoot dossier modernization */
body{font-family:var(--font-sans)}
.character-shell{max-width:1400px;padding:34px 28px 46px}
.character-art-slot,.character-identity,.wiki-section,.character-infobox,.character-links{
  border-color:var(--line);box-shadow:var(--surface-shadow)
}
.character-art-slot{
  position:relative;overflow:hidden;min-height:250px;border-style:solid;border-width:1px;border-radius:18px;
  background:
    radial-gradient(circle at 76% 28%,rgba(197,162,74,.20),transparent 22rem),
    repeating-linear-gradient(90deg,transparent 0 79px,rgba(243,235,221,.06) 79px 80px),
    repeating-linear-gradient(0deg,transparent 0 79px,rgba(243,235,221,.05) 79px 80px),
    linear-gradient(145deg,#102f23,#29543f);
  color:var(--cream)
}
.character-art-slot span{color:var(--old-gold);font-family:var(--font-sans)}
.character-art-slot strong{color:var(--cream);font-family:var(--font-display);font-weight:900;letter-spacing:-.03em}
.character-identity{border-radius:18px;padding:32px 34px;background:linear-gradient(180deg,var(--paper-bright),var(--cream))}
.character-kicker,.character-art-slot span,.logo-slot span,.infobox-title,.info-row dt,.quick-link,.dpi-name,.dpi-value,.dpi-pill,
.character-portrait figcaption,.portrait-zoom-hint,.image-lightbox-caption{font-family:var(--font-sans)}
.character-identity h1{font-family:var(--font-display);font-weight:920;font-size:clamp(58px,8vw,108px);letter-spacing:-.075em}
.character-subtitle{font-family:var(--font-sans);font-size:18px}
.character-thesis{font-family:var(--font-sans);font-style:normal;font-size:16px;line-height:1.62;max-width:760px;color:#505650}
.logo-slot{border-color:var(--line-strong);border-radius:13px;background:rgba(231,220,203,.55)}
.logo-slot strong{font-family:var(--font-display)}
.wiki-section,.character-infobox{border-radius:15px;background:var(--paper-bright)}
.wiki-section{padding:30px 32px}
.wiki-section h2{font-family:var(--font-display);font-size:34px;font-weight:880;letter-spacing:-.045em;border-bottom:1px solid var(--line);padding-bottom:13px}
.wiki-section h2::after{content:"";display:block;width:42px;height:3px;background:var(--old-gold);border-radius:999px;margin-top:12px}
.wiki-section h3{font-family:var(--font-display);font-weight:820;letter-spacing:-.02em}
.wiki-section p,.wiki-section li{font-family:var(--font-sans);font-size:14px;line-height:1.72;color:#454b46}
.character-infobox{padding:14px;top:88px}
.character-portrait img{border-color:var(--line);border-radius:11px}
.infobox-title{font-size:24px;font-weight:880}
.info-row{border-top-color:var(--line)}
.info-row dd{font-family:var(--font-sans);font-size:12px;line-height:1.45}
.quick-link,.character-links a{border-radius:9px;background:rgba(231,220,203,.55);border-color:var(--line-strong)}
.quote-box{font-family:var(--font-display);font-size:17px;font-weight:760;border-radius:10px;background:rgba(231,220,203,.55)}
.dpi-track{height:8px;background:#ded4c6}.dpi-fill{background:linear-gradient(90deg,var(--root-green),var(--old-gold))}
.character-links{border-radius:14px;padding:14px;background:rgba(247,240,229,.96)}
@media(max-width:620px){
  .character-shell{padding:20px 14px 34px}
  .character-art-slot{min-height:180px}
  .character-identity,.wiki-section{padding:23px 20px}
  .character-identity h1{font-size:56px}
}


/* Character editorial artwork */
.character-feature-art{
  position:relative;margin:0 0 16px;overflow:hidden;border:1px solid var(--line);
  border-radius:18px;background:var(--deep-root);box-shadow:var(--surface-shadow)
}
.character-feature-art-trigger{
  position:relative;display:block;width:100%;height:min(68vw,690px);min-height:360px;
  padding:0;border:0;background:var(--deep-root);cursor:zoom-in;overflow:hidden
}
.character-feature-art-trigger img{
  display:block;width:100%;height:100%;object-fit:cover;object-position:center 34%;
  transition:transform .22s ease,filter .22s ease
}
.commotion-feature-cover .character-feature-art-trigger img,.anchorage-feature-cover .character-feature-art-trigger img,.gila-feature-cover .character-feature-art-trigger img,.kincast-feature-cover .character-feature-art-trigger img,.agent-emerald-feature-cover .character-feature-art-trigger img{object-position:center top}
.aftermark-feature-cover .character-feature-art-trigger img{object-position:center center}
.character-feature-art-trigger:hover img,.character-feature-art-trigger:focus-visible img{transform:scale(1.008);filter:brightness(.96)}
.character-feature-art-trigger:focus-visible,.dossier-illustration button:focus-visible{outline:3px solid var(--old-gold);outline-offset:-5px}
.character-feature-art::after{
  content:"";position:absolute;inset:auto 0 0;height:30%;
  background:linear-gradient(transparent,rgba(7,20,15,.58));pointer-events:none
}
.character-feature-art-badge{
  position:absolute;z-index:2;left:18px;bottom:18px;padding:8px 10px;
  border:1px solid rgba(197,162,74,.82);border-radius:999px;background:rgba(7,20,15,.88);
  color:var(--cream);font:900 9px/1 var(--font-sans);letter-spacing:.09em;text-transform:uppercase
}
.character-feature-art figcaption{
  position:absolute;z-index:2;right:18px;bottom:20px;color:rgba(243,235,221,.78);
  font:800 9px/1.2 var(--font-sans);letter-spacing:.07em;text-transform:uppercase
}
.dossier-illustration{
  margin:22px 0 18px;border:1px solid var(--line);border-radius:13px;overflow:hidden;
  background:var(--parchment)
}
.dossier-illustration button{
  position:relative;display:block;width:100%;padding:0;border:0;background:var(--deep-root);
  cursor:zoom-in;overflow:hidden
}
.dossier-illustration img{
  display:block;width:100%;max-height:620px;object-fit:cover;object-position:center 35%;
  transition:transform .18s ease,filter .18s ease
}
.dossier-illustration button:hover img{transform:scale(1.008);filter:brightness(.96)}
.dossier-illustration button>span{
  position:absolute;right:10px;bottom:10px;padding:7px 9px;border:1px solid rgba(197,162,74,.82);
  border-radius:999px;background:rgba(7,20,15,.88);color:var(--cream);
  font:900 8px/1 var(--font-sans);letter-spacing:.06em;text-transform:uppercase
}
.dossier-illustration figcaption{
  padding:10px 12px;color:#62665f;font:800 9px/1.35 var(--font-sans);
  letter-spacing:.06em;text-transform:uppercase
}
.dossier-illustration-wide img{object-position:center 27%}
.dossier-illustration-portrait button{background:var(--deep-root)}
.dossier-illustration-portrait img{height:auto;max-height:720px;object-fit:contain;object-position:center top;background:var(--deep-root)}
@media(max-width:620px){
  .character-feature-art-trigger{height:500px;min-height:0}
  .character-feature-art-trigger img{object-position:center 30%}
  .character-feature-art figcaption{display:none}
  .character-feature-art-badge{left:12px;bottom:12px}
  .dossier-illustration img{max-height:520px}
}
@media(prefers-reduced-motion:reduce){
  .character-feature-art-trigger img,.dossier-illustration img{transition:none}
}


/* OR-WEB-0007 — mobile dossier consistency */
@media(max-width:680px){
  .character-shell{padding:14px}
  .character-feature-art-trigger{height:auto;min-height:0;aspect-ratio:4/5}
  .character-feature-art-trigger img{object-position:center top}
  .character-identity{padding:22px 18px}
  .character-identity h1{font-size:clamp(42px,14vw,60px);line-height:.9;overflow-wrap:anywhere}
  .character-subtitle{font-size:15px;line-height:1.45}
  .character-thesis{font-size:14px}
  .wiki-section{padding:22px 18px}
  .wiki-section h2{font-size:29px}
  .character-infobox{width:100%;padding:12px}
  .dossier-illustration img{max-height:none;height:auto;object-fit:contain;object-position:center top}
  .character-links{padding:12px}
}
@media(max-width:430px){
  .character-shell{padding:12px}
  .character-identity,.wiki-section{padding:19px 16px}
  .info-row{grid-template-columns:1fr;gap:4px}
  .dpi-row{grid-template-columns:78px minmax(0,1fr) 34px;gap:7px}
  .character-links a{width:100%;text-align:center}
}


/* OR-WEB-0012 — Anchorage dossier image centering */
.anchorage-infobox-art{
  display:block;
  width:100%;
  height:auto;
  margin:0 auto 14px;
  object-fit:contain;
  object-position:center center;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--parchment)
}
.anchorage-abduction-art img{
  display:block;
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  object-position:center center;
  background:var(--deep-root)
}
@media(max-width:680px){
  .anchorage-infobox-art,
  .anchorage-abduction-art img{object-position:center center}
}


/* =========================================================
   OR-WEB-0016 · AFTER DARK · CHARACTER DOSSIERS
   ========================================================= */
body.oldroot-after-dark .character-shell{max-width:1450px}
body.oldroot-after-dark .character-identity,
body.oldroot-after-dark .wiki-section,
body.oldroot-after-dark .character-infobox,
body.oldroot-after-dark .character-links{
  color:var(--after-text);
  border-color:var(--after-line);
  background:
    radial-gradient(circle at 100% 0%,rgba(52,126,88,.09),transparent 18rem),
    rgba(6,22,15,.80);
  box-shadow:0 24px 68px rgba(0,0,0,.22);
}
body.oldroot-after-dark .character-identity{
  background:
    radial-gradient(circle at 88% 0%,rgba(197,162,74,.08),transparent 18rem),
    linear-gradient(145deg,rgba(9,30,21,.92),rgba(4,17,12,.82));
}
body.oldroot-after-dark .character-kicker,
body.oldroot-after-dark .character-art-slot span,
body.oldroot-after-dark .logo-slot span,
body.oldroot-after-dark .info-row dt,
body.oldroot-after-dark .character-portrait figcaption{
  color:var(--old-gold);
}
body.oldroot-after-dark .character-identity h1,
body.oldroot-after-dark .wiki-section h2,
body.oldroot-after-dark .wiki-section h3,
body.oldroot-after-dark .infobox-title,
body.oldroot-after-dark .conditional-box strong{
  color:var(--after-text);
}
body.oldroot-after-dark .character-subtitle,
body.oldroot-after-dark .character-thesis,
body.oldroot-after-dark .wiki-section p,
body.oldroot-after-dark .wiki-section li,
body.oldroot-after-dark .info-row dd,
body.oldroot-after-dark .dpi-note{
  color:var(--after-muted);
}
body.oldroot-after-dark .character-thesis{font-style:normal}
body.oldroot-after-dark .wiki-section h2{
  border-bottom-color:rgba(243,235,221,.09);
}
body.oldroot-after-dark .wiki-section h2::after{
  background:linear-gradient(90deg,var(--old-gold),transparent);
  box-shadow:0 0 16px rgba(197,162,74,.15);
}
body.oldroot-after-dark .character-identity::after,
body.oldroot-after-dark .wiki-section::after,
body.oldroot-after-dark .character-infobox::after{
  opacity:.055;
  filter:grayscale(1) brightness(2.1);
}
body.oldroot-after-dark .logo-slot,
body.oldroot-after-dark .quote-box,
body.oldroot-after-dark .dpi-pill,
body.oldroot-after-dark .conditional-box,
body.oldroot-after-dark .quick-link,
body.oldroot-after-dark .character-links a{
  color:var(--after-text);
  border-color:rgba(243,235,221,.11);
  background:rgba(12,38,26,.62);
}
body.oldroot-after-dark .quick-link,
body.oldroot-after-dark .character-links a{
  color:var(--old-gold);
  border-color:rgba(197,162,74,.26);
}
body.oldroot-after-dark .quick-link:hover,
body.oldroot-after-dark .character-links a:hover{
  color:var(--cream);
  background:rgba(197,162,74,.14);
}
body.oldroot-after-dark .quote-box{
  color:var(--after-text);
  border-left-color:var(--old-gold);
}
body.oldroot-after-dark .info-row{
  border-top-color:rgba(243,235,221,.085);
}
body.oldroot-after-dark .character-portrait img,
body.oldroot-after-dark .anchorage-infobox-art{
  border-color:rgba(243,235,221,.12);
  background:#071b12;
}
body.oldroot-after-dark .dpi-name,
body.oldroot-after-dark .dpi-value{color:var(--after-muted)}
body.oldroot-after-dark .dpi-track{background:#173629}
body.oldroot-after-dark .dpi-fill{background:linear-gradient(90deg,#5d8e72,var(--old-gold))}
body.oldroot-after-dark .conditional-box{color:var(--after-muted)}
body.oldroot-after-dark .character-footer{
  color:var(--after-faint);
  border-color:var(--after-line);
  background:rgba(5,19,13,.78);
  box-shadow:0 18px 48px rgba(0,0,0,.18);
}
body.oldroot-after-dark .character-feature-art,
body.oldroot-after-dark .dossier-illustration{
  border-color:rgba(197,162,74,.20);
  background:#071b12;
  box-shadow:0 26px 70px rgba(0,0,0,.25);
}
body.oldroot-after-dark .dossier-illustration figcaption{
  color:var(--after-faint);
  background:rgba(4,17,12,.92);
  border-top:1px solid rgba(243,235,221,.07);
}
body.oldroot-after-dark .character-image-placeholder{
  color:var(--after-faint);
  border-color:rgba(197,162,74,.26);
  background:
    linear-gradient(135deg,rgba(197,162,74,.07),transparent 52%),
    rgba(7,24,16,.62);
}
body.oldroot-after-dark .image-lightbox-close{
  color:#06110d;
  background:var(--old-gold);
  border-color:var(--old-gold);
}
@media(max-width:680px){
  body.oldroot-after-dark .character-shell{padding:14px}
  body.oldroot-after-dark .character-identity,
  body.oldroot-after-dark .wiki-section{border-radius:18px}
}


/* OR-WEB-0017 — Gila Monster / Kincast final art */
.gila-biography-art img,.gila-combat-art img,.kincast-dynamic-art img,.kincast-combat-art img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;object-position:center center;background:var(--deep-root)}
@media(max-width:680px){.gila-biography-art img,.gila-combat-art img,.kincast-dynamic-art img,.kincast-combat-art img{object-position:center center}}



/* OR-WEB-0026 — Sitewide dossier intro and cover scale */
.character-feature-art{
  max-width:980px;
  margin:0 auto 16px;
}
.character-feature-art .character-feature-art-trigger{
  height:clamp(300px,32vw,430px);
  min-height:0;
  aspect-ratio:auto;
  background:
    radial-gradient(circle at 50% 18%,rgba(45,111,76,.18),transparent 22rem),
    #071b12;
}
.character-feature-art .character-feature-art-trigger img{
  object-fit:contain;
  object-position:center center;
}
.commotion-feature-cover .character-feature-art-trigger img,
.anchorage-feature-cover .character-feature-art-trigger img,
.gila-feature-cover .character-feature-art-trigger img,
.kincast-feature-cover .character-feature-art-trigger img,
.agent-emerald-feature-cover .character-feature-art-trigger img{
  object-position:center top;
}
.aftermark-feature-cover .character-feature-art-trigger img{object-position:center center}
@media(max-width:680px){
  .character-feature-art{max-width:none}
  .character-feature-art .character-feature-art-trigger{
    height:clamp(240px,72vw,330px);
    min-height:0;
    aspect-ratio:auto;
  }
}


/* OR-WEB-0027 — Framed inline dossier artwork */
.dossier-illustration{
  width:min(100%,760px);
  margin:28px auto 24px;
  padding:8px;
  position:relative;
  border:1px solid rgba(197,162,74,.62);
  border-radius:18px;
  background:
    linear-gradient(135deg,rgba(197,162,74,.12),transparent 26%),
    linear-gradient(315deg,rgba(197,162,74,.08),transparent 30%),
    rgba(4,18,12,.96);
  box-shadow:
    0 22px 54px rgba(0,0,0,.30),
    0 0 0 1px rgba(243,235,221,.045) inset,
    0 0 28px rgba(197,162,74,.07);
}
.dossier-illustration::before,
.dossier-illustration::after{
  content:"";
  position:absolute;
  z-index:2;
  width:24px;
  height:24px;
  pointer-events:none;
}
.dossier-illustration::before{
  left:-1px;
  top:-1px;
  border-left:3px solid var(--old-gold);
  border-top:3px solid var(--old-gold);
  border-radius:17px 0 0 0;
}
.dossier-illustration::after{
  right:-1px;
  bottom:-1px;
  border-right:3px solid var(--old-gold);
  border-bottom:3px solid var(--old-gold);
  border-radius:0 0 17px 0;
}
.dossier-illustration button{
  border:1px solid rgba(243,235,221,.10);
  border-radius:11px;
}
.dossier-illustration img{
  border-radius:10px;
  max-height:540px;
}
.dossier-illustration figcaption{
  margin:8px 2px 0;
  padding:10px 12px 4px;
  border-top:1px solid rgba(197,162,74,.30);
  background:transparent;
  color:rgba(243,235,221,.72);
  letter-spacing:.09em;
}
.dossier-illustration button>span{
  right:12px;
  bottom:12px;
  box-shadow:0 7px 20px rgba(0,0,0,.28);
}
body.oldroot-after-dark .dossier-illustration{
  border-color:rgba(197,162,74,.56);
  background:
    linear-gradient(135deg,rgba(197,162,74,.10),transparent 27%),
    linear-gradient(315deg,rgba(49,113,79,.09),transparent 32%),
    rgba(4,18,12,.96);
  box-shadow:
    0 24px 60px rgba(0,0,0,.34),
    0 0 0 1px rgba(243,235,221,.04) inset,
    0 0 30px rgba(197,162,74,.06);
}
body.oldroot-after-dark .dossier-illustration figcaption{
  color:var(--after-faint);
  background:transparent;
  border-top-color:rgba(197,162,74,.24);
}
@media(max-width:680px){
  .dossier-illustration{
    width:100%;
    margin:22px auto 18px;
    padding:6px;
    border-radius:15px;
  }
  .dossier-illustration::before,
  .dossier-illustration::after{
    width:18px;
    height:18px;
  }
  .dossier-illustration img{
    max-height:none;
  }
}

/* =========================================================
   OR-WEB-0025 · CHARACTER DOSSIER LIVING ROOT FIELD
   ========================================================= */
body.oldroot-after-dark{
  position:relative;
  isolation:isolate;
  overflow-x:clip;
  background:
    radial-gradient(circle at 14% 5%,rgba(49,124,84,.15),transparent 32rem),
    radial-gradient(circle at 90% 12%,rgba(197,162,74,.04),transparent 28rem),
    radial-gradient(circle at 50% 68%,rgba(27,88,59,.10),transparent 48rem),
    linear-gradient(180deg,#04100b 0%,#020a07 48%,#010604 100%) fixed;
}
body.oldroot-after-dark > main,
body.oldroot-after-dark > footer{
  position:relative;
  z-index:1;
}
body.oldroot-after-dark > .masthead{
  z-index:30;
}
body.oldroot-after-dark::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.40;
  background-image:
    url("assets/branding/oldroot-root-field.svg"),
    url("assets/branding/oldroot-root-field.svg");
  background-repeat:repeat-y,repeat-y;
  background-size:min(1840px,145vw) 2760px,min(2320px,178vw) 3480px;
  background-position:50% 0,68% 1260px;
  filter:saturate(.76) contrast(1.03);
}
body.oldroot-after-dark::after{
  content:"";
  position:fixed;
  inset:-4%;
  z-index:0;
  pointer-events:none;
  opacity:.34;
  background:
    radial-gradient(circle at 16% 22%,rgba(197,162,74,.38) 0 1px,transparent 1.5px),
    radial-gradient(circle at 76% 18%,rgba(94,174,130,.30) 0 1px,transparent 1.5px),
    radial-gradient(circle at 88% 67%,rgba(94,174,130,.22) 0 1px,transparent 1.5px),
    radial-gradient(circle at 31% 79%,rgba(197,162,74,.18) 0 1px,transparent 1.5px),
    repeating-linear-gradient(116deg,transparent 0 132px,rgba(104,161,131,.018) 132px 133px),
    radial-gradient(ellipse at 48% 45%,transparent 38%,rgba(0,0,0,.34) 100%);
  background-size:520px 520px,680px 680px,760px 760px,620px 620px,auto,auto;
  mix-blend-mode:screen;
  animation:characterRootAmbientDrift 40s ease-in-out infinite alternate;
}
body.oldroot-after-dark .character-identity,
body.oldroot-after-dark .wiki-section,
body.oldroot-after-dark .character-infobox,
body.oldroot-after-dark .character-links{
  background:
    radial-gradient(circle at 100% 0%,rgba(52,126,88,.08),transparent 18rem),
    rgba(5,20,14,.74);
}
body.oldroot-after-dark .character-identity{
  background:
    radial-gradient(circle at 88% 0%,rgba(197,162,74,.065),transparent 18rem),
    linear-gradient(145deg,rgba(8,28,19,.87),rgba(3,15,10,.76));
}
@keyframes characterRootAmbientDrift{
  0%{transform:translate3d(-.25%,-.15%,0) scale(1.004)}
  100%{transform:translate3d(.35%,.24%,0) scale(1.009)}
}
@media(max-width:680px){
  body.oldroot-after-dark::before{
    opacity:.28;
    background-image:url("assets/branding/oldroot-root-field.svg");
    background-size:1120px 1680px;
    background-position:52% 0;
  }
  body.oldroot-after-dark::after{opacity:.22}
}
@media(prefers-reduced-motion:reduce){
  body.oldroot-after-dark::after{animation:none!important}
}

/* =========================================================
   OR-WEB-0028 · CONNECTED RECORDS · CHARACTER DOSSIERS
   ========================================================= */
.character-network{
  margin:18px 0 0;
  padding:22px;
  border:1px solid rgba(243,235,221,.09);
  border-radius:20px;
  color:var(--after-text);
  background:
    radial-gradient(circle at 88% 10%,rgba(52,126,88,.10),transparent 18rem),
    rgba(5,20,14,.72);
  box-shadow:0 22px 58px rgba(0,0,0,.20);
}
.character-network-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:14px;
}
.character-network-head span{
  display:block;
  margin-bottom:6px;
  color:var(--old-gold);
  font:900 8px/1 var(--font-sans);
  letter-spacing:.16em;
  text-transform:uppercase;
}
.character-network-head h2{
  margin:0;
  color:var(--after-text);
  font:880 clamp(25px,3vw,36px)/.95 var(--font-display);
  letter-spacing:-.045em;
}
.character-network-head p{
  max-width:520px;
  margin:0;
  color:var(--after-faint);
  font:600 11px/1.45 var(--font-sans);
}
.character-network-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.character-network-grid a{
  min-height:108px;
  padding:14px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:18px;
  border:1px solid rgba(243,235,221,.09);
  border-radius:13px;
  color:var(--after-text);
  background:rgba(10,34,23,.58);
  text-decoration:none;
  transition:transform .16s ease,border-color .16s ease,background .16s ease;
}
.character-network-grid a:hover,
.character-network-grid a:focus-visible{
  transform:translateY(-3px);
  border-color:rgba(197,162,74,.34);
  background:rgba(13,41,28,.76);
}
.character-network-grid small{
  color:var(--old-gold);
  font:900 8px/1 var(--font-sans);
  letter-spacing:.13em;
  text-transform:uppercase;
}
.character-network-grid b{
  color:var(--after-text);
  font:850 15px/1.15 var(--font-sans);
}
.character-network-grid i{
  color:var(--after-faint);
  font:700 9px/1 var(--font-sans);
  font-style:normal;
  letter-spacing:.04em;
}
@media(max-width:900px){
  .character-network-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .character-network{padding:17px}
  .character-network-head{align-items:flex-start;flex-direction:column}
  .character-network-grid{grid-template-columns:1fr}
  .character-network-grid a{min-height:92px}
}
@media(prefers-reduced-motion:reduce){
  .character-network-grid a{transition:none}
}

/* =========================================================
   OR-WEB-0029 · CHARACTER DOSSIER MOBILE / PERFORMANCE PASS
   ========================================================= */
.character-shell{
  overflow-wrap:anywhere;
}
.wiki-section{
  content-visibility:auto;
  contain-intrinsic-size:1px 520px;
}
.logo-slot{
  position:relative;
  overflow:hidden;
  border-style:solid!important;
}
.quick-link,
.character-links a,
.character-network-grid a{
  min-height:44px;
}
.character-feature-art-trigger,
.dossier-illustration button{
  touch-action:manipulation;
}
@media(max-width:760px){
  .character-shell{padding-inline:12px}
  .character-identity{
    gap:16px;
    padding:22px 18px;
  }
  .character-identity h1{
    font-size:clamp(44px,15vw,72px);
    line-height:.86;
  }
  .character-subtitle{font-size:15px}
  .character-thesis{font-size:13px;line-height:1.55}
  .dossier-grid{grid-template-columns:1fr}
  .character-infobox{
    position:static;
    order:-1;
  }
  .wiki-section{padding:20px 18px}
  .wiki-section h2{font-size:30px}
  .wiki-section h3{font-size:21px}
  .wiki-section p,
  .wiki-section li{font-size:14px;line-height:1.62}
  .character-links{
    display:grid;
    grid-template-columns:1fr;
  }
  .character-links a{
    width:100%;
    justify-content:center;
  }
  .quick-link{
    display:flex;
    align-items:center;
  }
}
@media(max-width:520px){
  .character-identity{grid-template-columns:1fr}
  .logo-slot{min-height:96px}
  .character-network-grid{grid-template-columns:1fr}
  .dpi-row{
    grid-template-columns:minmax(86px,.9fr) minmax(0,1.4fr) 34px;
    gap:7px;
  }
}
@media(prefers-reduced-motion:reduce){
  .wiki-section{content-visibility:visible}
}



/* OR-WEB-0050 · established character marks */
.logo-slot.has-logo{
  min-height:170px;
  padding:12px;
  border-style:solid;
  border-color:rgba(197,162,74,.62);
  background:
    radial-gradient(circle at 50% 45%,rgba(226,92,31,.10),transparent 58%),
    var(--parchment);
}
.logo-slot.has-logo>div{display:grid;justify-items:center;gap:7px;width:100%}
.logo-slot.has-logo span{margin:0}
.character-logo{
  display:block;
  width:min(100%,210px);
  height:auto;
  aspect-ratio:1;
  object-fit:contain;
  filter:drop-shadow(0 9px 18px rgba(0,0,0,.18));
}
@media(max-width:760px){
  .logo-slot.has-logo{min-height:145px}
  .character-logo{width:min(46vw,180px)}
}
