/* Three colour families inspired by the supplied printed banners.
   Darker shades carry readable text; brighter shades identify surfaces. */
.theme-warrior{--camp:#a6323b;--orange:#a6323b;--paper:#faf5f3;--ink:#302126;--muted:#69585c;--line:#e3d3d4;--camp-deep:#321c22;--camp-soft:#f3e3e3;--camp-wash:#ead4d5;--camp-mid:#be4d53;--camp-button:#a6323b;--camp-button-text:#fff;--camp-hover:#84242e;--sand:#f0beb9}
.theme-emperor{--camp:#805919;--orange:#805919;--paper:#faf7ef;--ink:#30291d;--muted:#6b604d;--line:#e1d6bf;--camp-deep:#30271b;--camp-soft:#f4ead2;--camp-wash:#eaddba;--camp-mid:#c79438;--camp-button:#c79438;--camp-button-text:#241b0d;--camp-hover:#deb353;--sand:#edce8b}
.theme-monk{--camp:#316780;--orange:#316780;--paper:#f3f7f9;--ink:#1e2c36;--muted:#536875;--line:#cad9e0;--camp-deep:#142b39;--camp-soft:#dfebf1;--camp-wash:#ccdee8;--camp-mid:#4d86a3;--camp-button:#316780;--camp-button-text:#fff;--camp-hover:#244e64;--sand:#b7d8e9}
body:is(.theme-warrior,.theme-emperor,.theme-monk){background:var(--paper)}
body:is(.theme-warrior,.theme-emperor,.theme-monk) header.wrap,body:is(.theme-warrior,.theme-emperor,.theme-monk) header.wrap.is-scrolled,body:is(.theme-warrior,.theme-emperor,.theme-monk) header.wrap.menu-open{background:var(--camp-deep);border-bottom:2px solid var(--camp-mid)}
body:is(.theme-warrior,.theme-emperor,.theme-monk) .navlinks.open,body:is(.theme-warrior,.theme-emperor,.theme-monk) footer.wrap{background:var(--camp-deep)}
body:is(.theme-warrior,.theme-emperor,.theme-monk) .detailhero{position:relative;border-bottom-color:var(--line);padding:45px 0 85px;background:linear-gradient(135deg,var(--paper) 25%,var(--camp-soft));box-shadow:0 0 0 100vmax var(--camp-soft);clip-path:inset(0 -100vmax)}
body:is(.theme-warrior,.theme-emperor,.theme-monk) .detailhero .artframe{box-shadow:16px 16px 0 var(--camp-wash);outline:1px solid var(--line)}
body:is(.theme-warrior,.theme-emperor,.theme-monk) .detailhero .eyebrow{color:var(--camp)}
body:is(.theme-warrior,.theme-emperor,.theme-monk) .detailhero .eyebrow:before{background:var(--camp-mid);height:2px}
body:is(.theme-warrior,.theme-emperor,.theme-monk) .detailhero .dmeta span{border-color:var(--line);background:var(--paper)}
body:is(.theme-warrior,.theme-emperor,.theme-monk) .detailhero .access-note{background:var(--camp-wash);color:var(--ink);border-left-color:var(--camp-mid)}
body:is(.theme-warrior,.theme-emperor,.theme-monk) .btn{background:var(--camp-button);color:var(--camp-button-text)}
body:is(.theme-warrior,.theme-emperor,.theme-monk) .btn:before{background:var(--camp-hover)}
body:is(.theme-warrior,.theme-emperor,.theme-monk) .btn:hover,body:is(.theme-warrior,.theme-emperor,.theme-monk) .btn:focus-visible{background:var(--camp-button);color:var(--camp-button-text)}
body:is(.theme-warrior,.theme-emperor,.theme-monk) .real-life .situations li{border-color:var(--camp-mid)}
body:is(.theme-warrior,.theme-emperor,.theme-monk) .skill[open]{background:var(--camp-soft);padding-inline:20px;border-top-color:var(--camp-mid)}
body:is(.theme-warrior,.theme-emperor,.theme-monk) .skill[open] summary{color:var(--camp)}
body:is(.theme-warrior,.theme-emperor,.theme-monk) .note{background:var(--camp-soft);border-left-color:var(--camp-mid)}
body:is(.theme-warrior,.theme-emperor,.theme-monk) .aside>a:hover{color:var(--camp);text-decoration:underline;text-underline-offset:5px}
body:is(.theme-warrior,.theme-emperor,.theme-monk) .aside .smallcap{color:var(--camp)}
body:is(.theme-warrior,.theme-emperor,.theme-monk) .audience{background:var(--camp-soft)}
body:is(.theme-warrior,.theme-emperor,.theme-monk) .backtop{background:var(--camp-deep);color:var(--sand);border-color:var(--camp-mid)}
body:is(.theme-warrior,.theme-emperor,.theme-monk) :focus-visible{outline-color:var(--camp)}
body:is(.theme-warrior,.theme-emperor,.theme-monk) ::selection{background:var(--camp-wash);color:var(--ink)}
.camp-warrior{--card-accent:#a6323b;--card-deep:#421f29}.camp-emperor{--card-accent:#805919;--card-deep:#483315}.camp-monk{--card-accent:#316780;--card-deep:#183c50}
.campcard .cardtag{background:var(--card-deep,#14211ee6)}
.quiz-match:is(.camp-warrior,.camp-emperor,.camp-monk) .btn{background:var(--card-accent);color:#fff}.quiz-match:is(.camp-warrior,.camp-emperor,.camp-monk) .btn:before{background:var(--card-deep)}
@media(max-width:700px){body:is(.theme-warrior,.theme-emperor,.theme-monk) .detailhero{padding:25px 0 55px}body:is(.theme-warrior,.theme-emperor,.theme-monk) .detailhero .artframe{box-shadow:12px 12px 0 var(--camp-wash)}}
/* The brand promise stays separate from the graphic mark. */
.brand-tagline{display:block;max-width:255px;margin-top:9px;font:400 10px/1.4 Arial,Helvetica,sans-serif;letter-spacing:.015em;text-transform:none;color:inherit;opacity:.9}
@media(max-width:1000px){.brand-tagline{max-width:220px;font-size:9px}}
@media(max-width:700px){.nav{gap:16px}.brand{gap:8px}.brand-tagline{max-width:175px;margin-top:7px;font-size:8.5px;line-height:1.4}.brandmark{flex-shrink:0}.menu{flex-shrink:0}}
