/* Age of Ash, material-led treatment. The paint, imagery and typography are
   retained. Printed rules are intentionally left clean and ink-friendly. */
@media screen {
  :root {
    --ash-parchment: url("assets/ash-parchment.webp");
    --ash-texture-shade: linear-gradient(125deg,rgba(19,14,18,.18),rgba(65,34,25,.05) 53%,rgba(11,9,13,.24));
    --ash-frame-ember: url("assets/ash-frame-ember.webp");
    --ash-frame-cinder: url("assets/ash-frame-cinder.webp");
    --ash-frame-oxblood: url("assets/ash-frame-oxblood.webp");
    --ash-title-ruins: url("assets/ash-title-ruins.webp");
  }

  /* Low cathedral ruins and the last coals of a ruined battlefield sit
     beneath page titles. The original dark plum remains the dominant hue. */
  :is(.page-banner,.ux-static-hero,.lore-hero,.beast-hero,.crib-hero,.br2-hub-hero,.lead) {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border-bottom: 0 !important;
  }
  :is(.page-banner,.ux-static-hero,.lore-hero,.beast-hero,.crib-hero,.br2-hub-hero,.lead)::before {
    content: "";
    position: absolute;
    z-index: -1;
    pointer-events: none;
    inset: 0;
    background-image: linear-gradient(90deg,rgba(27,18,24,.42) 0%,rgba(27,18,24,.14) 64%,rgba(27,18,24,.08) 100%),var(--ash-title-ruins);
    background-size: cover;
    background-position: center bottom;
    background-repeat: no-repeat;
    opacity: .82;
  }
  :is(.page-banner,.ux-static-hero,.lore-hero,.beast-hero,.crib-hero,.br2-hub-hero,.lead)::after {
    content: "";
    position: absolute;
    z-index: -1;
    pointer-events: none;
    inset: auto 0 0;
    height: 70px;
    background: radial-gradient(ellipse 53% 32% at 52% 100%,rgba(176,63,23,.18),transparent 100%);
  }

  /* Read like one continuous chronicle, not a row of bordered panels. */
  .site-footer,
  .footer-collaboration,
  .ia-six-banner,
  .ia-home-bottom,
  .ia-quick-links,
  .ia-rule-gateway,
  .ux-static-hero,
  .ux-guide-section,
  .crib-page .crib-section,
  .bestiary-page .beast-section,
  .lore-section,
  .br-home-promo,
  .br-round-navigation {
    border-top: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
  }

  .site-footer {
    background: linear-gradient(180deg,#21181d 0%,#1a1318 30%,#100d11 100%) !important;
    padding-top: 24px;
  }
  .site-footer .footer-inner { padding-top: 40px; padding-bottom: 32px; }
  .footer-collaboration { padding-top: 13px; }

  .ia-six-banner,
  .ia-home-bottom,
  .ia-quick-links {
    background: transparent !important;
  }
  .ia-six-banner { padding-top: clamp(55px,7vw,100px); padding-bottom: clamp(45px,6vw,85px); }
  .ia-quick-links { padding: 29px 0 !important; }
  .ia-home-bottom { padding-top: 55px; padding-bottom: 50px; }

  /* The six banners are an illustration, not a button in a rectangle. */
  .ia-flag-link,
  .atlas-teaser,
  .world-illustration,
  .ia-rule-gateway,
  .ia-game-intro {
    border: 0 !important;
    box-shadow: none !important;
  }
  .ia-flag-link {
    background: transparent !important;
    padding: 0 !important;
    overflow: visible !important;
  }
  .ia-flag-link img {
    filter: drop-shadow(0 9px 16px rgba(0,0,0,.4));
  }
  .ia-flag-link:hover img { filter: drop-shadow(0 10px 22px rgba(204,148,80,.18)); }
  .ia-rule-gateway { background: transparent !important; padding-left: 0; padding-right: 0; }

  /* Warm, aged-paper patches without enclosing rules or rectangular rims. */
  .feature,
  .faction-card,
  .ia-faction-gateway,
  .ia-portrait-choice,
  .ia-equipment-explainer > div,
  .ia-gear-card,
  .ux-guide-cards article,
  .ux-portal-card,
  .ux-camp-fighter,
  .ux-camp-mission,
  .ux-campaign-control,
  .ux-changelog article,
  .ux-compare,
  .lore-eras article,
  .doctrine-panel,
  .origin-city,
  .br-event,
  .br-rolls {
    position: relative;
    isolation: isolate;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    --ash-frame-image: var(--ash-frame-cinder);
    --ash-frame-opacity: .9;
  }
  .feature::before,
  .faction-card::before,
  .ia-faction-gateway::before,
  .ia-portrait-choice::before,
  .ia-equipment-explainer > div::before,
  .ia-gear-card::before,
  .ux-guide-cards article::before,
  .ux-portal-card::before,
  .ux-camp-fighter::before,
  .ux-camp-mission::before,
  .ux-campaign-control::before,
  .ux-changelog article::before,
  .ux-compare::before,
  .lore-eras article::before,
  .doctrine-panel::before,
  .origin-city::before,
  .br-event::before,
  .br-rolls::before {
    content: "";
    pointer-events: none;
    position: absolute;
    z-index: -1;
    inset: 0;
    background-image: var(--ash-frame-image);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    opacity: var(--ash-frame-opacity);
  }

  /* Each page carries several physical leaves. The empty alpha around the
     jagged edge lets the unframed page remain visible at every side. */
  .feature:nth-child(3n + 1),
  .faction-card:nth-child(3n + 1),
  .ux-guide-cards article:nth-child(3n + 1),
  .ia-gear-card:nth-child(3n + 1),
  .lore-eras article:nth-child(3n + 1),
  .ia-faction-gateway,
  .ux-camp-mission,
  .origin-city {
    --ash-frame-image: var(--ash-frame-ember);
    --ash-frame-opacity: .66;
  }
  .feature:nth-child(3n + 2),
  .faction-card:nth-child(3n + 2),
  .ux-guide-cards article:nth-child(3n + 2),
  .ia-gear-card:nth-child(3n + 2),
  .lore-eras article:nth-child(3n + 2),
  .ia-portrait-choice,
  .ux-portal-card,
  .br-rolls,
  .ux-campaign-control {
    --ash-frame-image: var(--ash-frame-cinder);
    --ash-frame-opacity: .91;
  }
  .feature:nth-child(3n),
  .faction-card:nth-child(3n),
  .ux-guide-cards article:nth-child(3n),
  .ia-gear-card:nth-child(3n),
  .lore-eras article:nth-child(3n),
  .ia-equipment-explainer > div,
  .doctrine-panel,
  .ux-camp-fighter,
  .br-event,
  .ux-changelog article {
    --ash-frame-image: var(--ash-frame-oxblood);
    --ash-frame-opacity: .9;
  }
  .faction-card img,
  .ia-portrait-choice img {
    border: 0 !important;
    box-shadow: none !important;
  }
  /* The faction timelines used charcoal ink on light cards. The scorched
     folios require ivory ink instead, including their headings and labels. */
  .lore-eras article,
  .lore-eras article :is(h2,h3,h4,p,span,small,em,strong) {
    color: #ebdccc !important;
  }
  .lore-eras article :is(.eyebrow,a) { color: #deb27c !important; }
  .faction-card:hover,
  .ia-portrait-choice:hover,
  .ia-faction-gateway:hover { transform: translateY(-2px); }

  /* The six provinces: charred fragments of an illustrated world atlas.
     Each leaf illustrates its own landscape, with ink left clear in the
     middle and generous breathing room beyond the physically burnt edge. */
  #app .col-grid {
    gap: clamp(16px, 2.7vw, 29px);
    align-items: stretch;
  }
  #app .col-grid > .callout {
    position: relative;
    isolation: isolate;
    min-height: 295px;
    padding: 53px 40px 46px !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible;
    --province-art: url("assets/province-heartlands.webp");
  }
  #app .col-grid > .callout::before,
  #app .col-grid > .callout::after {
    content: "";
    pointer-events: none;
    position: absolute;
    inset: 0;
    z-index: -1;
  }
  #app .col-grid > .callout::before {
    background: var(--province-art) center / 100% 100% no-repeat;
    opacity: .94;
  }
  #app .col-grid > .callout::after {
    background: radial-gradient(ellipse 64% 73% at 50% 49%, rgba(17,12,14,.37) 0%, rgba(17,12,14,.20) 70%, transparent 100%);
  }
  #app .col-grid > .callout:nth-child(1) { --province-art: url("assets/province-heartlands.webp"); }
  #app .col-grid > .callout:nth-child(2) { --province-art: url("assets/province-blackwood.webp"); }
  #app .col-grid > .callout:nth-child(3) { --province-art: url("assets/province-coasts.webp"); }
  #app .col-grid > .callout:nth-child(4) { --province-art: url("assets/province-alpine.webp"); }
  #app .col-grid > .callout:nth-child(5) { --province-art: url("assets/province-flooded.webp"); }
  #app .col-grid > .callout:nth-child(6) { --province-art: url("assets/province-free.webp"); }
  #app .col-grid > .callout :is(.eyebrow,h3,p,.small,.muted) {
    color: #f0e4d1 !important;
    text-shadow: 0 2px 6px rgba(10,7,8,.5);
  }
  #app .col-grid > .callout .eyebrow {
    color: #d9b58c !important;
    letter-spacing: .14em;
  }
  #app .col-grid > .callout h3 { font-size: clamp(25px, 2vw, 30px); line-height: 1.13; margin: 12px 0 13px; }
  #app .col-grid > .callout p { font-size: clamp(15px, 1.17vw, 17px); line-height: 1.48; }
  #app .col-grid > .callout .small { color: #ddc6a7 !important; font-size: 13px; line-height: 1.43; display: block; }
  #app .col-grid > .callout .rule { display: none !important; }

  /* Learning pages: make the steps feel like scattered manuscript leaves. */
  .ux-page main {
    background: radial-gradient(ellipse at 15% 18%,#302028 0,transparent 33%),
                radial-gradient(ellipse at 86% 66%,#271b20 0,transparent 34%),
                #181317;
  }
  .ux-page main > .section,
  .ux-page main > .section.section-dark,
  .ux-page main > .ux-static-hero { background: transparent !important; }
  .ux-page main > section {
    border: 0 !important;
    box-shadow: none !important;
  }
  .ux-page .ux-guide-cards { gap: 16px 25px; }
  .ux-guide-cards article {
    padding: 43px 39px 41px !important;
    min-height: 0 !important;
  }
  .ux-guide-cards article > span {
    color: #b99a70;
    opacity: .8;
    font-variant-numeric: oldstyle-nums;
  }
  .ux-guide-cards article h3 { margin: 6px 0 12px; }
  .ux-guide-cards article p { line-height: 1.5; }
  .ux-checklist label {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 12px 6px !important;
  }
  .ux-checklist input { accent-color: #bc985b; }
  .ux-small-stamp { border: 0 !important; background: transparent !important; }

  /* Invitations should look like engraved links, not a stack of boxes. */
  body:not(.battle-report-page):not(.crib-page):not(.bestiary-page) main a.btn,
  body:not(.battle-report-page):not(.crib-page):not(.bestiary-page) main .btn {
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(214,175,122,.6) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #ebcc9e !important;
    padding: 11px 3px 8px !important;
    min-height: 0;
  }
  body:not(.battle-report-page):not(.crib-page):not(.bestiary-page) main .btn:hover,
  body:not(.battle-report-page):not(.crib-page):not(.bestiary-page) main .btn:focus-visible { border-bottom-color:#f3dbb6 !important;color:#fff0d5 !important; }

  /* Printed references are pale parchment: leave their ink dark and readable. */
  .reference-steps > li,
  .crib-page .crib-entry,
  .bestiary-page .beast-card,
  .bestiary-page .beast-step,
  .bestiary-page .beast-province,
  .public-doc .manual-steps li,
  .br2-report-tile {
    background-image: linear-gradient(110deg,rgba(248,236,211,.85),rgba(232,213,177,.9)),var(--ash-parchment) !important;
    background-size: cover !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
  .crib-page .crib-section,
  .bestiary-page .beast-section { border: 0 !important; }
  .crib-page .crib-eq,
  .bestiary-page .beast-profile > div,
  .br-round,
  .br-lesson,
  .br-mission dl div {
    border-top-color: transparent !important;
    border-bottom-color: transparent !important;
  }
  .ux-changelog article { border: 0 !important; }

  @media (max-width: 700px) {
    :is(.page-banner,.ux-static-hero,.lore-hero,.beast-hero,.crib-hero,.br2-hub-hero,.lead)::before {
      background-position: 70% bottom;
      opacity: .7;
    }
    .site-footer { padding-top: 8px; }
    .site-footer .footer-inner { padding-top: 35px; padding-bottom: 22px; gap: 23px; }
    .ia-six-banner { padding: 54px 0 35px !important; }
    .ia-quick-links { padding: 22px 0 !important; }
    .ia-home-bottom { padding: 38px 0 !important; }
    .ux-page .section { padding-top: 35px; padding-bottom: 37px; }
    .ux-guide-cards { gap: 8px !important; }
    .ux-guide-cards article { padding: 35px 29px 35px !important; }
    .ux-guide-cards article > span { font-size: 36px; }
    .ux-guide-cards article h3 { font-size: clamp(25px,7vw,34px); }
    .ux-guide-cards article p { font-size: 17px; margin: 0 0 12px; }
    .ux-guide-cards article a { display: inline-block; margin-top: 7px; }
    #app .col-grid { gap: 8px; }
    #app .col-grid > .callout { min-height: 270px; padding: 42px 39px 39px !important; }
    #app .col-grid > .callout h3 { font-size: clamp(25px, 6.6vw, 34px); }
  }
}
/* 2.2 faction troop guides */
.troop-overview{background:#241c1c;color:#f0dcc1;border:1px solid #a47c4a;padding:clamp(20px,3vw,34px);margin:0 0 24px}.troop-overview h3{font:700 clamp(24px,3vw,34px)/1.2 Georgia,serif;color:#ecd1a2;margin:8px 0 14px}.troop-overview p{line-height:1.7;margin:7px 0}.troop-overview-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:17px}.troop-overview-list p{background:#312626;padding:12px 14px;margin:0;font-size:14px}.troop-overview-list b{color:#eec687}.troop-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.lore-unit.troop-card{height:auto;padding:22px;display:block}.troop-card h3{font:700 24px/1.2 Georgia,serif;margin:8px 0 17px}.troop-card p{font:15px/1.65 Georgia,serif;margin:5px 0 13px}.troop-card .troop-headline{font:700 11px/1.3 system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#ad7e48;margin-top:13px}.troop-card .troop-rule{padding:10px;border-left:3px solid #9c6c46;background:#d8c5a821;font-size:13px}.troop-card .troop-loadouts{font:12px/1.5 system-ui,sans-serif;margin:14px 0 0;color:inherit;opacity:.84}
@media(max-width:760px){.troop-overview-list,.troop-guide-grid{grid-template-columns:1fr}.troop-card h3{font-size:22px}}

/* 10 November visual consistency pass: new original artwork and mission folio. */
@media screen {
  .ia-home-hero .hero-art {
    background: linear-gradient(90deg,#180f18 0%,rgba(24,15,24,.83) 21%,rgba(24,15,24,.35) 54%,rgba(24,15,24,.09) 100%),url('https://static.wixstatic.com/media/1da4ef_1777bc26f00b4f45ab6b5c4ad74ab201~mv2.webp') center / cover no-repeat !important;
    opacity: 1 !important;
  }
  .ia-home-hero { background-color: #180f18; }
  .ia-six-banner { padding-bottom: clamp(38px,5vw,65px) !important; }
  .ia-home-bottom { padding-top: 34px !important; }
  .faction-troop-plate { position:relative;margin:2px 0 28px; overflow:hidden; background:#171315; border:1px solid #8a6753; box-shadow:0 12px 40px #0d0a0c70; }
  .faction-troop-plate img { display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center;filter:none; }
  .faction-troop-plate::after { display:none; }
  .faction-troop-plate figcaption {padding:10px 22px;color:#dbbc8f;letter-spacing:.2em;text-align:center;font:600 11px/1.4 system-ui,sans-serif;}
  .troop-overview {border:1px solid #775b4c;border-radius:2px;box-shadow:inset 0 0 0 7px #261a1b,0 10px 28px #0e0a0b57;background:radial-gradient(ellipse at 15% 8%,#3b2927 0%,#24191d 73%),url('assets/ash-parchment.webp');}
  .troop-overview-list p {border-left:2px solid #b1885e;background:#49342e80;padding:16px;}
  .lore-unit.troop-card {position:relative;background:linear-gradient(128deg,#ead7b6f3,#d2b88bf2),url('assets/ash-parchment.webp');background-blend-mode:normal,multiply;box-shadow:0 8px 22px #0a090a3d;border:1px solid #9d7957;border-top:4px solid #8c5b42;border-radius:1px;clip-path:polygon(0 1%,2% 0,100% 0,100% 96%,98% 100%,0 100%);padding:27px 27px 31px;}
  .lore-unit.troop-card:nth-child(even) {background:linear-gradient(121deg,#e9d5b4f5,#d6bb93f5),url('assets/ash-parchment.webp');border-top-color:#663c43;}
  .troop-card h3 {color:#49272b;}
  .troop-card .troop-headline {color:#7e4736;}
  .troop-card .troop-rule {background:#b48b6250;border-left-color:#713d3d;color:#4d3330;}
  .troop-card .troop-loadouts {border-top:1px solid #9b7b5c;padding-top:12px;}

  .mission-hero .ux-static-hero-inner {max-width:790px;}
  .mission-hero h1 {font-size:clamp(48px,6.5vw,88px);}
  .mission-hero p:not(.eyebrow) {max-width:790px;line-height:1.65;}
  .mission-body {color:#322528;background:linear-gradient(180deg,#e9d9b8f5,#dac4a2f5),url('assets/ash-parchment.webp');padding:clamp(45px,6vw,85px) 0 90px;}
  .mission-body .eyebrow {color:#8d5c4b;}
  .mission-main-title {font:400 clamp(39px,4.7vw,65px)/1.08 Georgia,serif;color:#642f34;margin:10px 0 22px;}
  .mission-intro {max-width:930px;font:20px/1.65 Georgia,serif;margin:0 0 34px;color:#493a36;}
  .mission-facts {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 44px;}
  .mission-facts article {padding:23px 20px 21px;background:#523237;border:1px solid #99734e;box-shadow:inset 0 0 0 3px #322024;color:#f1debe;}
  .mission-facts span {display:block;font:700 11px/1.4 system-ui,sans-serif;letter-spacing:.15em;text-transform:uppercase;color:#d9b585;margin-bottom:9px;}
  .mission-facts strong {display:block;font:400 21px/1.22 Georgia,serif;color:#f1debe;}
  .mission-map-layout {display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:clamp(22px,3.5vw,50px);align-items:start;margin-bottom:35px;}
  .mission-map {margin:0;background:#35272a;padding:11px;border:1px solid #9a7658;box-shadow:0 12px 28px #26171749;}
  .mission-map img {width:100%;height:auto;display:block;}
  .mission-map figcaption {padding:14px 12px 5px;color:#e1c8a1;font:13px/1.55 Georgia,serif;}
  .mission-instructions {padding:12px 0;}
  .mission-instructions h3 {font:400 clamp(29px,3vw,43px)/1.2 Georgia,serif;color:#5c2b32;margin:9px 0 22px;}
  .mission-instructions ol {padding-left:29px;margin:0 0 24px;}
  .mission-instructions li {font:17px/1.65 Georgia,serif;padding:0 0 13px 7px;}
  .mission-instructions li::marker {color:#904c44;font-weight:700;}
  .mission-mutants {background:#3c2b2e;color:#efdbc0;padding:23px;border-left:4px solid #ba9260;}
  .mission-mutants span {font:700 11px/1.4 system-ui,sans-serif;letter-spacing:.14em;color:#ddba86;}
  .mission-mutants h4 {font:400 27px Georgia,serif;color:#f4d9b2;margin:8px 0;}
  .mission-mutants p {font:600 15px/1.5 Georgia,serif;margin:0 0 10px;}
  .mission-mutants small {font:14px/1.5 Georgia,serif;color:#e4d6bf;}
  .mission-rule-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:48px 0;}
  .mission-rule-grid article {background:linear-gradient(130deg,#eaddc1e8,#d8bd94ef),url('assets/ash-parchment.webp');padding:27px;border:1px solid #a6805e;border-top:5px solid #784649;box-shadow:0 8px 22px #2d1d2233;}
  .mission-rule-grid h3 {font:400 31px/1.18 Georgia,serif;color:#5f3035;margin:9px 0 15px;}
  .mission-rule-grid p:last-child {font:16px/1.65 Georgia,serif;margin:0;}
  .mission-playtest {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:42px;align-items:center;background:linear-gradient(112deg,#35262a,#21191c);color:#e9d9bf;padding:clamp(28px,4vw,52px);border-top:3px solid #98724c;}
  .mission-playtest h2 {font:400 42px/1.1 Georgia,serif;color:#f2d9b2;margin:8px 0 16px;}
  .mission-playtest p:not(.eyebrow) {max-width:790px;font:16px/1.7 Georgia,serif;}
  .mission-playtest .mission-footnote {color:#c8ac87;font-style:italic;margin-bottom:0;}
  .mission-actions {display:flex;flex-direction:column;gap:10px;align-items:stretch;min-width:240px;}
  .mission-actions .btn {text-align:center;white-space:normal;}

  .ash-equipment-legend {display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:5px;margin:16px 0 26px;padding:14px 9px;background:#4a303334;border-top:1px solid #b58f62;border-bottom:1px solid #b58f62;}
  .ash-equipment-legend span {display:flex;align-items:center;flex-direction:column;gap:6px;color:#6e3e3f;text-align:center;font:700 10px/1.2 system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;}
  .ash-equipment-legend svg {width:43px;height:43px;color:#75494a;}
  .bestiary-original-art {text-align:center;margin:12px 0 36px;padding:15px;color:#b99b77;font:600 11px/1.6 system-ui,sans-serif;letter-spacing:.2em;}

  @media(max-width:960px) {
    .mission-facts {grid-template-columns:repeat(2,minmax(0,1fr));}
    .mission-map-layout {grid-template-columns:1fr;}
    .mission-map {max-width:680px;margin-inline:auto;}
    .mission-rule-grid {grid-template-columns:1fr;}
    .mission-playtest {grid-template-columns:1fr;}
    .mission-actions {flex-direction:row;flex-wrap:wrap;}
    .ash-equipment-legend {grid-template-columns:repeat(4,minmax(0,1fr));}
  }
  @media(max-width:600px) {
    .ia-home-hero .hero-art {background-position:63% center!important;}
    .faction-troop-plate img {height:auto;max-height:none;}
    .faction-troop-plate figcaption {letter-spacing:.11em;font-size:9px;}
    .troop-overview-list {grid-template-columns:1fr;}
    .lore-unit.troop-card {padding:24px 20px 26px;}
    .mission-facts {gap:7px;}
    .mission-facts article {padding:15px 13px;}
    .mission-facts strong {font-size:17px;}
    .mission-map {padding:6px;}
    .mission-body {padding-bottom:42px;}
    .mission-playtest {padding:28px 20px;}
    .mission-actions {flex-direction:column;min-width:0;}
  }
}

/* Common 2.5 page polish. Keep cover artwork in headers; content grows on flat paper. */
@media screen {
  .feature,.faction-card,.ia-faction-gateway,.ia-portrait-choice,
  .ia-equipment-explainer > div,.ia-gear-card,.ux-guide-cards article,
  .ux-portal-card,.ux-camp-fighter,.ux-camp-mission,
  .ux-campaign-control,.ux-changelog article,.ux-compare,
  .lore-eras article,.doctrine-panel,.origin-city,.br-event,.br-rolls {
    background:linear-gradient(135deg,#31252b,#231b22) !important;
    border:1px solid #755745 !important;
    border-radius:3px !important;
    box-shadow:0 7px 24px #0c080c4a !important;
  }
  .feature::before,.faction-card::before,.ia-faction-gateway::before,
  .ia-portrait-choice::before,.ia-equipment-explainer > div::before,
  .ia-gear-card::before,.ux-guide-cards article::before,.ux-portal-card::before,
  .ux-camp-fighter::before,.ux-camp-mission::before,.ux-campaign-control::before,
  .ux-changelog article::before,.ux-compare::before,.lore-eras article::before,
  .doctrine-panel::before,.origin-city::before,.br-event::before,.br-rolls::before {content:none !important;}
  .ux-guide-cards article {padding:27px 29px !important;display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px;}
  .ux-guide-cards article h3 {margin:2px 0 5px;}
  .ux-guide-cards article p {font-size:16px;line-height:1.55;margin:0;max-width:440px;}
  .ux-guide-cards article a {margin-top:auto;padding-top:16px;text-align:center;}
  .ux-page main > .section.ux-quick-play {background:#e9d8ba !important;color:#322620;padding:55px 0 64px;}
  .ux-quick-play .eyebrow {color:#7a4338;}
  .ux-quick-play h2 {color:#672f36;font:500 clamp(33px,4vw,51px)/1.2 Georgia,serif;margin:9px 0 14px;}
  .ux-quick-play .ux-quick-intro {font:18px/1.6 Georgia,serif;max-width:840px;color:#4e3a30;margin-bottom:25px;}
  .ux-page .ux-quick-play a {color:#672f36 !important;text-decoration-color:#8b5547;text-underline-offset:3px;}
  .quick-rules-list {list-style:none;counter-reset:quickstep;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;}
  .quick-rules-list li {counter-increment:quickstep;position:relative;background:#f6ebd7;border:1px solid #c3a780;border-left:4px solid #94614d;padding:18px 22px 18px 67px;min-width:0;color:#382c27;font:15px/1.58 system-ui,sans-serif;}
  .quick-rules-list li::before {content:counter(quickstep,decimal-leading-zero);position:absolute;left:16px;top:20px;color:#92503c;font:700 23px/1 Georgia,serif;}
  .quick-rules-list strong {display:block;font:600 21px/1.2 Georgia,serif;color:#633039;margin-bottom:7px;}
  .ux-quick-note {margin-top:20px;padding:20px 24px;background:#ddc29d;border-left:5px solid #84463c;color:#362a26;font:16px/1.6 Georgia,serif;}
  .ux-quick-note strong {color:#643339;}
  .ux-quick-links {display:flex;gap:25px;flex-wrap:wrap;margin-top:23px;}
  .ux-page .ux-quick-links a {color:#662f33 !important;border-bottom:1px solid #9e6655 !important;font:600 15px/1.5 system-ui,sans-serif;}
  .ux-portal-card {align-items:center;text-align:center;}
  .ux-portal-card p {max-width:390px;}
  #app .col-grid > .callout::before {background-size:cover !important;}
  .faction-card,.ia-faction-gateway,.ia-gear-card,.ia-portrait-choice {text-align:center;}
  .faction-card :is(h2,h3,h4),.ia-gear-card :is(h2,h3,h4) {text-align:center;}
  .faction-card > p,.ia-gear-card > p {margin-inline:auto;}

  /* Original portraits are full artworks. The frame must never crop them. */
  .bestiary-page .ux-beast-portrait {
    width:100%;max-height:none;overflow:visible;display:grid;place-items:center;
    background:#252024;border:1px solid #a58a6a;margin:15px 0 19px;
    padding:clamp(7px,1vw,14px);
  }
  .bestiary-page .ux-beast-portrait img {
    display:block;width:auto;max-width:100%;height:auto;max-height:520px;
    object-fit:contain !important;object-position:center !important;
  }
  .bestiary-page .beast-card {overflow:visible;min-width:0;}
  .bestiary-page .beast-toolbar .btn {background:#693638 !important;color:#fff0d4 !important;border:1px solid #8b6550 !important;}
  .bestiary-page .beast-toolbar .btn:hover {background:#7a4543 !important;}

  /* Warm faction reference pages use readable charcoal on all nested panels. */
  .lore-unit.troop-card,.lore-unit.troop-card :is(h3,h4,p,span,small,strong,li),
  .lore-unit.troop-card .troop-loadouts {color:#342722 !important;}
  .lore-unit.troop-card .troop-headline {color:#713d32 !important;}
  .lore-unit.troop-card a {color:#683237 !important;}
  .troop-card .troop-rule {background:#e1cca9 !important;color:#46302b !important;}
  .troop-overview-list {text-align:center;}

  /* Matching illustrated opening panels for the manual and armoury. */
  .reference-cover {position:relative;isolation:isolate;overflow:hidden;padding:49px 0 52px;background:#21171c;color:#f0dfc7;}
  .reference-cover::before {content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#22151bdc,#22151b38),var(--ash-title-ruins) center bottom/cover no-repeat;}
  .reference-cover .container {max-width:1120px;}
  .reference-cover .eyebrow {color:#d8ae78;font:700 12px/1.4 system-ui,sans-serif;letter-spacing:.16em;}
  .reference-cover h1 {color:#f4e5c9;font:600 clamp(40px,5vw,62px)/1.12 Georgia,serif;margin:10px 0 15px;}
  .reference-cover p:not(.eyebrow) {max-width:760px;font:19px/1.56 Georgia,serif;color:#e3d2bb;margin:0;}
  .public-doc .manual-article h1 {font-size:clamp(28px,3vw,36px);}
  .public-doc .manual-article h3 {scroll-margin-top:110px;}
  .public-doc .manual-article > p {line-height:1.63;max-width:74ch;}
  .public-doc .manual-article > h3 {margin-top:33px;padding:13px 16px;background:#e2d0b0;color:#5d2d2c;border-left:4px solid #8c4d41;border-bottom:0;}
  .public-doc .manual-steps li {border-left:3px solid #945847 !important;line-height:1.52;}
  .public-doc .manual-rule-box {margin:19px 0 26px;padding:18px 23px;background:#e4d2b1;border:1px solid #b59a73;border-left:5px solid #8c5143;}
  .public-doc .manual-rule-box h2 {margin:0 0 12px;font-size:23px;color:#5b2e2a;}
  .public-doc .manual-rule-box p,.public-doc .manual-rule-box li {font:15px/1.58 system-ui,sans-serif;color:#392d26;}
  .public-doc .manual-rule-box ol {padding-left:23px;margin:7px 0 9px;}
  .public-doc .manual-rule-box ul.manual-facts {padding-left:22px;margin:7px 0 12px;list-style:square;}
  .public-doc .manual-rule-box li {margin-bottom:7px;}
  .public-doc .manual-rule-box li::marker {color:#8b4b3f;}
  .public-doc .manual-rule-box p {margin:9px 0;}
  .public-doc .manual-rule-box a {font-weight:700;}

  @media(max-width:700px) {
    .ux-page main > .section.ux-quick-play {padding:38px 0 47px;}
    .quick-rules-list {grid-template-columns:1fr;gap:9px;}
    .quick-rules-list li {padding:16px 16px 16px 56px;font-size:14px;}
    .quick-rules-list li::before {left:12px;top:17px;}
    .ux-quick-note {padding:17px;font-size:15px;}
    .ux-guide-cards article {padding:24px 21px !important;}
    .ux-guide-cards article p {font-size:15px;}
    .bestiary-page .ux-beast-portrait {padding:8px;margin:10px 0 16px;}
    .bestiary-page .ux-beast-portrait img {width:100%;height:auto;max-height:none;}
    .reference-cover {padding:39px 0 42px;}
    .reference-cover p:not(.eyebrow) {font-size:17px;}
  }
}
