:root {
  --regime-red: #b51f32;
  --regime-red-dark: #68101d;
  --regime-white: #f7f4e9;
  --regime-blue: #123d72;
  --regime-blue-dark: #071a35;
}

body {
  background:
    linear-gradient(90deg, transparent 0 31%, #ffffff0b 31% 69%, transparent 69%),
    radial-gradient(circle at 50% 0, #285b90, var(--regime-blue-dark) 46%, #03070d);
}

.mast {
  border-top: 9px solid var(--regime-red);
  border-bottom: 6px double var(--regime-white);
  background: linear-gradient(105deg, var(--regime-blue-dark) 0 58%, var(--regime-red-dark));
  box-shadow: inset 0 -4px 0 var(--regime-red);
}

.mast h1::after {
  content: "";
  display: block;
  width: min(420px, 75vw);
  height: 7px;
  margin-top: .22em;
  background: linear-gradient(90deg, var(--regime-red) 0 33%, var(--regime-white) 33% 66%, var(--regime-blue) 66%);
}

.setup,
.leader,
.support,
.out-of-circulation,
.record,
.combat-console {
  border-color: var(--regime-white);
  box-shadow: inset 0 0 0 2px #ffffff0b;
}

.leader.enemy,
.enemy-support,
.ministry-summary,
.awakened-threat {
  border-color: var(--regime-red);
}

.leader.player {
  border-left: 8px solid var(--regime-blue);
}

.leader.enemy {
  border-left: 8px solid var(--regime-red);
}

.toolbar button,
.leader button,
.front-picker button,
.wide-action,
.top-return a,
.registry-callout a,
.pile-tools button {
  border-color: var(--regime-white);
  background: var(--regime-blue);
}

.toolbar button:hover,
.leader button:hover,
.front-picker button:hover,
.wide-action:hover,
.top-return a:hover,
.registry-callout a:hover,
.pile-tools button:hover {
  background: var(--regime-red);
}

.unit,
.hand-card,
dialog {
  border-color: #d7d9df;
  background: var(--regime-white);
}

.unit.selected,
.hand-card.selected,
.unit.legal-target {
  outline-color: var(--regime-red);
}

.hand-card .cost,
.damage {
  background-color: var(--regime-red);
}

.damage {
  color: var(--regime-white);
  padding: 2px 4px;
}

.field-label,
.kicker,
.leader span {
  color: var(--regime-white);
}

.theater-overview {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin: 10px 0;
}

.theater {
  display: grid;
  gap: 3px;
  padding: 9px 12px;
  border: 2px solid #75869a;
  background: #0b203b;
}

.theater.citizen { border-color: var(--regime-blue); box-shadow: inset 0 -4px var(--regime-blue); }
.theater.ministry { border-color: var(--regime-red); box-shadow: inset 0 -4px var(--regime-red); }
.theater span { font: 800 .62rem Arial, sans-serif; letter-spacing: .14em; color: #dce8f6; }
.theater b { font-size: 1rem; }
.theater .zone-pair { display: grid; grid-template-columns: 1fr auto 1fr; gap: .45rem; align-items: center; }
.theater .zone-pair b:last-child { text-align: right; }
.theater .zone-pair i { color: var(--regime-red); font-style: normal; font-weight: 900; }
.theater small,
.theater div { color: #c2cfdd; font-size: .72rem; }
.unit .caste { display: inline-block; margin: .15rem 0 .35rem; color: #f4f0df; background: #223d61; border-left: 4px solid var(--regime-red); padding: .18rem .38rem; font: 800 .58rem Arial, sans-serif; letter-spacing: .12em; }
.support-library { flex-basis: 100%; display: flex; flex-wrap: wrap; gap: .4rem; padding: .55rem; border: 1px dashed #8096ad; background: rgba(8, 27, 50, .7); }
.support-library strong { flex-basis: 100%; color: #f4f0df; font: 800 .62rem Arial, sans-serif; letter-spacing: .12em; }
.support-library button { border: 1px solid var(--regime-red); background: #f4f0df; color: #101d2d; padding: .38rem .55rem; font-weight: 800; }
.support-library button:disabled { opacity: .45; }
.support-card.active-program { border-bottom: 3px solid var(--regime-blue); }
.combat-stats.expanded { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; }
.unit-history { display: flex; flex-wrap: wrap; gap: 3px; margin: .3rem 0; font: 800 .52rem/1.2 Arial, sans-serif; letter-spacing: .05em; }
.unit-history span { flex: 1 1 30%; padding: .2rem .25rem; border: 1px solid #6c7786; background: #172236; color: #eef4fb; text-align: center; }
.unit-history b { color: #f4d468; font-size: .68rem; }
.unit.selectable-unit { cursor: pointer; outline: 3px solid #69aef8; outline-offset: -3px; box-shadow: 0 0 0 2px #fff8 inset, 0 0 16px #2877c966; }
.unit.selectable-unit:hover { transform: translateY(-3px); box-shadow: 0 0 0 3px #fff inset, 0 0 22px #69aef8; }
.unit .action-cue { display: block; margin: -.15rem -.15rem .35rem; padding: .28rem .4rem; background: #164e8d; color: #fff; font: 900 .58rem/1.2 Arial, sans-serif; letter-spacing: .08em; text-align: center; }
.unit.legal-target { outline-color: #ffd15c; box-shadow: 0 0 0 3px #fff inset, 0 0 24px #ffd15c99; animation: legal-target-pulse 1.15s ease-in-out infinite alternate; }
.unit.legal-target .action-cue { background: #f3c44e; color: #111; }
.unit.selected .action-cue { background: #fff; color: #103967; }
.unit.selected-target .action-cue { background: #d8293d; color: #fff; }
.unit.state-buffed { background: #d8f0ff; border-color: #328bd8; }
.unit.state-buffed .combat-stats span { background: #124f87; }
.unit.state-debuffed { background: #ffe1dc; border-color: #c83d43; }
.unit.state-debuffed .combat-stats span { background: #711f2a; }
.unit.state-warded { box-shadow: inset 0 0 0 5px #f1d05c, 0 0 14px #f1d05c88; }
.unit.state-blocked { background: #d7d2df; border-color: #6d527f; filter: saturate(.65); }
.unit.state-mobilized { background: #d8f5e3; border-color: #278255; }
.unit .status-explanation { display: block; margin-top: .35rem; padding: .35rem; border-left: 4px solid currentColor; background: #ffffff99; }
.combat-console > b:first-child { display: block; color: #fff; font: 900 .82rem/1.2 Arial, sans-serif; letter-spacing: .1em; }
.combat-console .step-three { display: block; margin-top: .6rem; color: #ffdd72; font: 900 .78rem/1.2 Arial, sans-serif; letter-spacing: .08em; }
@keyframes legal-target-pulse { from { box-shadow: 0 0 0 2px #fff inset, 0 0 10px #ffd15c66; } to { box-shadow: 0 0 0 3px #fff inset, 0 0 26px #ffd15ccc; } }
@media (prefers-reduced-motion: reduce) { .unit.legal-target { animation: none; } }
.emergency-mobilization { width: min(900px,92vw); max-height: 85vh; overflow: auto; border: 3px solid #c7a74e; background: #07182c; color: #f7f0df; padding: 1.5rem; }
.emergency-mobilization::backdrop { background: rgba(0,0,0,.78); }
.emergency-mobilization > [data-emergency-close] { float: right; }
.emergency-list { display: grid; gap: .65rem; }
.emergency-list article { display: grid; grid-template-columns: minmax(220px,1fr) auto minmax(230px,auto); align-items: center; gap: 1rem; border: 1px solid #7d91aa; border-left: 6px solid #b22234; padding: .75rem; background: linear-gradient(90deg,#fff 0 4px,#102b4c 4px 100%); }
.emergency-list small { display: block; color: #c9d5e3; }
.emergency-list strong { font-size: 1.25rem; color: #f4c94f; }
.emergency-list button { margin: .15rem; }

@media (max-width: 760px) {
  .theater-overview { grid-template-columns: 1fr; }
  .emergency-list article { grid-template-columns: 1fr; }
  .emergency-list article > div:last-child { display: flex; flex-wrap: wrap; }
}
.surveillance-alert{display:flex;gap:.75rem;align-items:center;border:3px solid #d71f3b;background:#fff3f3;color:#520817;padding:.85rem 1rem;margin:1rem 0}.surveillance-alert[hidden]{display:none}.surveillance-alert b{letter-spacing:.1em}.intelligence-dossier{border:1px solid #f7f0df;background:#07182b;padding:1rem;margin:1rem 0}.intelligence-dossier .section-head{align-items:start}.intelligence-dossier .section-head p{max-width:46rem}.intelligence-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.65rem}.intelligence-list article{display:grid;gap:.2rem;border:1px solid #7ea8d8;background:#102d50;padding:.75rem}.intelligence-list article span{color:#f3cf72;font-weight:800;font-size:.78rem;letter-spacing:.06em}.intelligence-list article small{color:#fff}.intelligence-list>p{margin:.25rem 0;color:#c6d4e6}@media(max-width:680px){.surveillance-alert{align-items:flex-start;flex-direction:column}.intelligence-list{grid-template-columns:1fr}}
.game-pitch{border:3px solid #f7f0df;border-left-color:#214f86;border-right-color:#c41e3a;background:linear-gradient(110deg,#071b33 0 68%,#481020);padding:clamp(1rem,3vw,2rem);margin:1.25rem 0}.game-pitch h2{max-width:55rem}.game-pitch p,.game-pitch li{max-width:68rem;line-height:1.55}.game-pitch>ul{columns:2;column-gap:2rem}.game-pitch li{break-inside:avoid;margin:0 0 .7rem}.pitch-action{display:inline-block;border:2px solid #f7f0df;background:#194b82;color:#fff;padding:.65rem .85rem;margin:.35rem .4rem .1rem 0;text-decoration:none;font-weight:800}.coming-soon{margin-top:1.5rem;padding:1.1rem 1.25rem;border:2px solid #fff8e8;border-top:6px solid #c41e3a;background:#07182d}.coming-soon h3{font-size:clamp(1.4rem,3vw,2.1rem);margin:.3rem 0 .6rem}.coming-soon ul{margin:.75rem 0 1rem;padding-left:1.25rem}.saved-matches{border-top:2px solid #c41e3a;margin-top:1.4rem;padding-top:1rem}.saved-matches>div{display:grid;gap:.5rem}.saved-matches article{display:grid;grid-template-columns:1fr auto;gap:.5rem}.saved-matches article button:first-child{text-align:left}.saved-matches article small{display:block;margin-top:.25rem}@media(max-width:680px){.game-pitch>ul{columns:1}.saved-matches article{grid-template-columns:1fr}}
.history-visibility{display:flex;align-items:flex-start;gap:.65rem;border:1px solid #7ea8d8;background:#07182b;padding:.8rem;margin:1rem 0}.history-visibility input{width:1.25rem;height:1.25rem;flex:0 0 auto}
.awakened-threat{display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,24rem);gap:1rem;align-items:center}.threat-duration,.threat-reward{display:block;margin-top:.45rem;padding:.4rem .55rem;border-left:4px solid #f7f0df;background:#ffffff0b}.threat-reward{border-color:#f0c85a;color:#ffe08a}.threat-response{display:grid;gap:.4rem}.threat-response button{min-height:44px;border:2px solid #f7f0df;background:#b51f32;color:#fff;padding:.65rem;font-weight:900}.threat-response button:disabled{opacity:.55}.threat-response small{line-height:1.35}@media(max-width:720px){.awakened-threat{grid-template-columns:1fr}}
