/* Shadows of Azeroth — Field Chronicle polish, responsive parchment-first UI.
   Presentation-only. No gameplay, saved data, or dice outcomes are modified. */
body.theme-alternative{
  --soa-parchment-ink:#392719;
  --soa-scroll-gold:#ad8148;
  --soa-rule:#987a4a;
}
body.theme-alternative #campaign-box{overflow-wrap:anywhere}
body.theme-alternative .soa-scene-kicker{
  font:700 10px/1.5 system-ui,sans-serif;
  letter-spacing:.20em;text-transform:uppercase;
  color:#785532;margin:19px 0 9px;
  display:flex;align-items:center;gap:10px;
}
body.theme-alternative .soa-scene-kicker::after{
  content:"";height:1px;flex:1;
  background:linear-gradient(to right,#a98a56a8,transparent);
}
body.theme-alternative #campaign-scene>h3{
  color:#48280f;font:700 clamp(25px,6vw,34px)/1.14 Georgia,serif;
  letter-spacing:.006em;margin:5px 0 8px;
  text-shadow:0 1px 0 #f8e9c4;
}
body.theme-alternative #campaign-scene>h3 + .muted{
  font:600 12px/1.55 system-ui,sans-serif;
  letter-spacing:.025em;color:#715334;
  margin-bottom:18px;
}
body.theme-alternative #campaign-scene>.soa-story-prose{
  font:400 clamp(18px,4.1vw,21px)/1.82 Georgia,serif;
  color:var(--soa-parchment-ink);
  letter-spacing:.002em;overflow-wrap:break-word;
  padding:0 1px;
}
body.theme-alternative .soa-field-notes{
  margin:19px 0 24px;border:1px solid #957747;
  border-radius:9px;background:linear-gradient(130deg,#f5e2b4c9,#dbc18a80);
  box-shadow:inset 0 1px 0 #fff5d477;
}
body.theme-alternative .soa-field-notes>summary{
  font:700 13px/1.5 system-ui,sans-serif;color:#684521;
  cursor:pointer;padding:12px 14px;min-height:44px;
}
body.theme-alternative .soa-field-notes ul{
  padding:0 18px 12px 33px;margin:0;
  font:13px/1.65 system-ui,sans-serif;color:#4e3c25;
}
body.theme-alternative .soa-field-notes li{margin:7px 0}
body.theme-alternative .soa-choices-heading{
  border-top:2px solid #866640a6;
  margin:23px 0 11px;padding:15px 2px 3px;
  display:flex;justify-content:space-between;
  gap:8px;flex-wrap:wrap;align-items:baseline;
}
body.theme-alternative .soa-choices-heading strong{
  font:700 clamp(19px,4.8vw,23px)/1.3 Georgia,serif;
  color:#4d3017;
}
body.theme-alternative .soa-choices-heading span{
  font:600 11px/1.4 system-ui,sans-serif;color:#77583b;
}
body.theme-alternative #campaign-scene>button{
  min-height:68px;margin:10px 0;padding:15px 16px;
  border-radius:9px;line-height:1.42;
  box-shadow:0 4px 9px #39271345,inset 0 1px 0 #f6e1bd28;
}
body.theme-alternative #campaign-scene>button strong{
  font:700 clamp(14px,3.7vw,16px)/1.48 system-ui,sans-serif;
}
body.theme-alternative #campaign-scene>button small{
  margin-top:7px!important;font:600 11px/1.4 system-ui,sans-serif!important;
  color:#d5cfbe!important;letter-spacing:.01em;
}
body.theme-alternative #campaign-scene>.soa-resource-survey{
  border-left:5px solid #5d9c73;
}
body.theme-alternative #campaign-scene>form{
  border:1px solid #91774da6;
  border-radius:11px;padding:14px;
  margin:17px 0 10px;
  background:linear-gradient(150deg,#f5e0b28c,#d5b9817a);
  box-shadow:inset 0 1px 0 #fff3d8ab;
}
body.theme-alternative #campaign-scene>form label{
  display:block;font:700 13px/1.6 system-ui,sans-serif;
  margin:7px 0 5px;color:#4f351d;
}
body.theme-alternative #campaign-scene>form .ai-input{
  max-width:100%;min-width:0;font:15px/1.5 system-ui,sans-serif;
}
body.theme-alternative #campaign-scene>form textarea{
  min-height:98px;resize:vertical;
}
body.theme-alternative #campaign-scene>form button[type=submit]{
  text-align:center;font-weight:700;min-height:48px;margin-bottom:0;
}
body.theme-alternative #campaign-scene>.soa-pending{
  border-left:4px solid #a78049;border-radius:6px;
  background:#f2dda9;color:#553b1f;
  padding:11px 12px;font:13px/1.55 system-ui,sans-serif;
}
body.theme-alternative #campaign-status{
  font:600 12px/1.6 system-ui,sans-serif;
  padding:6px 0;overflow-wrap:anywhere;
}
body.theme-alternative .soa-quick-nav{
  max-width:540px;
}
body.theme-alternative .soa-quick-nav button{
  border-radius:9px;
}
@media(max-width:430px){
  body.theme-alternative #campaign-scene>.soa-story-prose{line-height:1.73}
  body.theme-alternative #campaign-scene>form{padding:11px}
  body.theme-alternative #campaign-scene>button{padding:13px 14px}
}
@media(prefers-reduced-motion:reduce){
  body.theme-alternative #campaign-scene>button{transition:none}
}


/* Combat ledger — visible mechanical damage and accessible enemy health. */
body.theme-alternative .soa-enemy-status,
body.theme-alternative .soa-battle-status{
  margin:18px 0 23px;padding:15px;
  border:2px solid #946c49;border-radius:11px;
  background:linear-gradient(150deg,#ebd7aa,#cdb082);
  color:#402717;
  box-shadow:inset 0 1px #fff1cc,0 5px 14px #2c1e1640;
}
body.theme-alternative .soa-enemy-status h4,
body.theme-alternative .soa-battle-status h4{
  font:700 17px Georgia,serif;color:#5b301c;
  margin:0 0 12px;
}
body.theme-alternative .soa-foe,
body.theme-alternative .soa-battle-enemy{margin:11px 0;padding:11px;border:1px solid #a18a65;border-radius:9px;background:#f8e7c398}
body.theme-alternative .soa-foe-heading,
body.theme-alternative .soa-battle-label{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;align-items:center;font:13px/1.4 system-ui,sans-serif}
body.theme-alternative .soa-foe-heading span,
body.theme-alternative .soa-battle-label span{font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}
body.theme-alternative .soa-foe-track,
body.theme-alternative .soa-battle-track{height:11px;overflow:hidden;border-radius:9px;margin-top:9px;background:#8b644b7a;box-shadow:inset 0 1px 3px #43291e66}
body.theme-alternative .soa-foe-fill,
body.theme-alternative .soa-battle-fill{height:100%;border-radius:9px;background:linear-gradient(90deg,#a93e40,#da6461);transition:width .25s ease}
body.theme-alternative .soa-exchange,
body.theme-alternative .soa-battle-report{margin-top:12px;padding:12px 13px;border-left:4px solid #a44b3e;border-radius:4px 8px 8px 4px;background:#fff1d0a8;font:13px/1.55 system-ui,sans-serif}
body.theme-alternative .soa-exchange p,
body.theme-alternative .soa-battle-report p{margin:6px 0 0;color:#4c3020}
body.theme-alternative #soa-offline-combat[hidden]{display:none}
@media(prefers-reduced-motion:reduce){body.theme-alternative .soa-battle-fill,body.theme-alternative .soa-foe-fill{transition:none}}


/* Battle Overview: allies, enemies, target selection and tactical abilities. */
body.theme-alternative .soa-enemy-status{position:relative;margin:20px 0 25px}
body.theme-alternative .soa-enemy-status>h4{display:flex;align-items:center;gap:8px;margin:0 0 14px;font-size:20px}
body.theme-alternative .soa-enemy-status>h4::before{content:"⚔";color:#8a4b37}
body.theme-alternative .soa-combat-roster{padding:12px 11px;margin:8px 0 15px;border:1px solid #8e8760;border-radius:10px;background:#e9d8b8a6}
body.theme-alternative .soa-combat-roster h4{color:#466348;margin:0 0 9px;font:700 15px Georgia,serif}
body.theme-alternative .soa-combat-person{padding:10px;margin:7px 0;background:#f8ebce99;border:1px solid #a49c74;border-radius:8px}
body.theme-alternative .soa-combat-person-heading{display:flex;gap:9px;align-items:center;justify-content:space-between;flex-wrap:wrap;font:13px/1.5 system-ui}
body.theme-alternative .soa-combat-person-heading span{font-variant-numeric:tabular-nums;font-weight:700}
body.theme-alternative .soa-combat-ally-rail{height:12px;overflow:hidden;margin:8px 0 0;border-radius:9px;background:#7a765b87;box-shadow:inset 0 1px 3px #3a352967}
body.theme-alternative .soa-combat-ally-fill{height:100%;border-radius:9px;background:linear-gradient(90deg,#3d815b,#7db184);transition:width .25s ease}
body.theme-alternative .soa-hp-unknown{background:repeating-linear-gradient(115deg,#b9ad8c,#b9ad8c 9px,#e2d3ae 9px,#e2d3ae 18px);border:1px solid #8d8066;box-shadow:none}
body.theme-alternative .soa-combat-targets{margin:14px 0;padding:12px 10px;border:1px solid #937958;border-radius:10px;background:#f9e7c398;display:grid;gap:7px}
body.theme-alternative .soa-combat-targets>strong,body.theme-alternative .soa-combat-abilities>strong{display:block;font:700 14px/1.5 Georgia,serif;color:#52351e}
body.theme-alternative .soa-target-button,body.theme-alternative .soa-ability-button{width:100%;min-height:44px;margin:0;padding:10px;border:1px solid #9f8054;border-radius:8px;background:linear-gradient(#76543a,#4b3328);color:#fff0d2;text-align:left;font:650 13px/1.45 system-ui}
body.theme-alternative .soa-ally-target-button{background:linear-gradient(#5d755c,#344e3d);border-color:#658b6b}
body.theme-alternative .soa-target-button[aria-pressed="true"]{border:2px solid #f4d681;box-shadow:inset 0 0 0 1px #f6e3b9,0 0 0 2px #846b3b}
body.theme-alternative .soa-target-button:disabled,body.theme-alternative .soa-ability-button:disabled{opacity:.49;cursor:not-allowed}
body.theme-alternative .soa-combat-abilities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border-top:1px solid #917756;padding-top:13px;margin:10px 0}
body.theme-alternative .soa-combat-abilities>strong{grid-column:1/-1}
body.theme-alternative .soa-battle-history{margin-top:16px;padding-top:11px;border-top:1px solid #997951}
body.theme-alternative .soa-battle-history summary{cursor:pointer;min-height:44px;font:700 13px/1.7 system-ui;color:#513a21}
body.theme-alternative .soa-battle-history p{font:12px/1.6 system-ui;color:#563b24;border-bottom:1px solid #96774e44;margin:0;padding:8px 2px}
@media(max-width:370px){body.theme-alternative .soa-combat-abilities{grid-template-columns:1fr}body.theme-alternative .soa-combat-person-heading{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){body.theme-alternative .soa-combat-ally-fill{transition:none}}


body.theme-alternative .soa-combat-hint{font:12px/1.55 system-ui;color:#654b31;margin:9px 0}
body.theme-alternative .soa-hp-setup{margin-top:9px;padding:7px 0;border-top:1px solid #b9a17a}
body.theme-alternative .soa-hp-setup summary{cursor:pointer;min-height:38px;font:650 12px/1.5 system-ui;color:#66502f;padding:8px 1px}
body.theme-alternative .soa-hp-setup form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:8px}
body.theme-alternative .soa-hp-setup input{min-width:0;padding:10px;border:1px solid #a38b60;border-radius:6px;background:#fff2d1;color:#462c16;font:14px system-ui}
body.theme-alternative .soa-hp-setup button{grid-column:1/-1;width:100%;margin:0;min-height:42px}
body.theme-alternative .soa-hp-setup .soa-combat-hint{grid-column:1/-1;margin:0}


body.theme-alternative .soa-assist-button{width:100%;min-height:45px;margin:5px 0 0;padding:9px 12px;text-align:center;border:1px solid #6c956e;border-radius:8px;background:linear-gradient(#53785e,#315043);color:#f3f5e7;font:700 12px/1.45 system-ui}
body.theme-alternative .soa-assist-button:disabled{opacity:.48;cursor:not-allowed}
body.theme-alternative .soa-foe-defeated{opacity:.77}
body.theme-alternative .soa-foe-defeated .soa-foe-heading strong:after{content:" · Defeated";color:#7c4942;font-size:11px}

body.theme-alternative .soa-hostile-heading{font:700 15px/1.5 Georgia,serif;color:#894234;margin:13px 0 9px;border-bottom:1px solid #bba07c;padding-bottom:6px}


/* Companion voices flow within the adventure, not the relationship menu. */
body.theme-alternative .soa-companion-dialogue{margin:20px 0 22px;border-top:1px solid #a48a5c;padding-top:14px;scroll-margin-top:20px}
body.theme-alternative .soa-companion-dialogue-heading{font:700 10px/1.5 system-ui;letter-spacing:.18em;color:#765435;margin-bottom:10px}
body.theme-alternative .soa-companion-quote{margin:9px 0 13px;padding:13px 17px;border-left:4px solid #9b6e37;border-radius:3px 11px 11px 3px;background:linear-gradient(145deg,#f9e4ba,#edd0a0);box-shadow:0 2px 7px #3a251b19}
body.theme-alternative .soa-companion-quote strong{display:block;font:700 13px/1.5 system-ui;color:#78502a;margin-bottom:6px}
body.theme-alternative .soa-companion-quote p{margin:0;font:400 clamp(17px,4.1vw,20px)/1.64 Georgia,serif;color:#49301e;overflow-wrap:break-word}
@media(prefers-reduced-motion:reduce){body.theme-alternative .soa-companion-dialogue{scroll-behavior:auto}}

/* Roll transparency: preview dice before committing to a consequence. */
body.theme-alternative .soa-roll-preview{
 display:flex;align-items:center;gap:7px;margin-top:11px;padding:8px 11px;
 border:1px solid #b9a06a77;border-radius:7px;
 background:#0d0d0d26;color:#fbe5ac;
 font:700 clamp(12px,3.25vw,14px)/1.55 system-ui,sans-serif;
 font-variant-numeric:tabular-nums;letter-spacing:.025em;
}
body.theme-alternative .soa-roll-hint{
 display:block;margin:5px 0 0 2px;color:#eadbc6;
 font:500 11px/1.5 system-ui,sans-serif;
}
body.theme-alternative .soa-custom-roll-preview{
 margin:9px 0;padding:10px 12px;border-radius:7px;
 background:#e7c98c;border:1px solid #9b7644;
 color:#55351a;font:700 12px/1.5 system-ui,sans-serif;
 font-variant-numeric:tabular-nums;
}
body.theme-alternative #campaign-scene>button small{margin-top:7px}
@media(max-width:430px){
 body.theme-alternative .soa-roll-preview{padding:8px 10px}
}
