/* v7 — generated HUD sprite integration */
:root {
  --hud-panel-card: url("../../assets/hud/panel-card.png");
  --hud-panel-wide: url("../../assets/hud/panel-wide.png");
  --hud-panel-console: url("../../assets/hud/panel-console.png");
  --hud-button-frame: url("../../assets/hud/button-frame.png");
}

.game-board::before,
.game-board::after {
  content: "";
  position: absolute;
  z-index: 1;
  left: 2.2%;
  right: 2.2%;
  height: .32cqw;
  pointer-events: none;
  background: url("../../assets/hud/divider-line.png") center / 100% 100% no-repeat;
  opacity: .65;
}
.game-board::before { top: 13.25%; }
.game-board::after { bottom: 14.2%; transform: rotate(180deg); }
.topbar, .role-progress, .scene, .bottom-strip { position: relative; z-index: 2; }
.analysis-drawer, .drawer-shade { position: absolute; }

.topbar {
  border: 0;
  border-radius: 0;
  background: var(--hud-panel-wide) center / 100% 100% no-repeat;
  padding: .72cqw 1.05cqw;
  box-shadow: none;
}
.brand-block {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  align-items: center;
  gap: .55cqw;
}
.hud-brand-icon {
  width: 3.15cqw;
  height: 3.15cqw;
  min-width: 34px;
  min-height: 34px;
  object-fit: contain;
  filter: drop-shadow(0 0 .55cqw rgba(66,220,255,.72));
}
.mission-block {
  grid-template-columns: auto minmax(0,1fr);
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: .45cqw;
}
.mission-icon {
  grid-row: 1 / 3;
  width: 2.6cqw;
  height: 2.6cqw;
  min-width: 28px;
  min-height: 28px;
  object-fit: contain;
}
.critical-metrics span {
  grid-template-columns: auto auto 1fr;
  align-items: center;
  justify-content: initial;
  background-image: var(--hud-button-frame);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  border: 0;
  border-radius: 0;
  padding: .5cqw .68cqw;
}
.critical-metrics span img {
  width: 1.55cqw;
  height: 1.55cqw;
  min-width: 17px;
  min-height: 17px;
  object-fit: contain;
}
.critical-metrics span b { justify-self: end; }

.hud-button, .tiny-button, .danger-button, .back-button, .primary-button {
  border: 0;
  border-radius: 0;
  background: var(--hud-button-frame) center / 100% 100% no-repeat;
  padding: .66cqw 1cqw;
  text-shadow: 0 0 .35cqw rgba(122,235,255,.6);
}
.hud-button:hover, .tiny-button:hover, .back-button:hover, .primary-button:hover {
  background: var(--hud-button-frame) center / 100% 100% no-repeat;
  filter: brightness(1.28) saturate(1.18);
}
.danger-button { filter: hue-rotate(135deg) saturate(1.2); }

.role-progress { gap: .42cqw; }
.role-segment {
  grid-template-columns: auto auto 1fr;
  border: 0;
  border-radius: 0;
  background: var(--hud-button-frame) center / 100% 100% no-repeat;
  padding: .34cqw .62cqw;
}
.role-segment > img {
  width: 1.6cqw;
  height: 1.6cqw;
  min-width: 17px;
  min-height: 17px;
  object-fit: contain;
  opacity: .82;
}
.role-segment.active > img { opacity: 1; filter: drop-shadow(0 0 .45cqw var(--cyan)); }

.holo-console {
  border: 0;
  border-radius: 0;
  background:
    var(--hud-panel-console) center / 100% 100% no-repeat,
    linear-gradient(rgba(67,220,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(67,220,255,.035) 1px, transparent 1px),
    rgba(1,13,31,.88);
  background-size: 100% 100%, 1.1cqw 1.1cqw, 1.1cqw 1.1cqw, auto;
  padding: 1.18cqw 1.25cqw 1.12cqw;
  box-shadow: 0 0 1.2cqw rgba(67,220,255,.28);
}
.console-mantis { filter: hue-rotate(28deg); }
.console-grey { filter: hue-rotate(-5deg); }
.console-oversoul { filter: brightness(1.08) saturate(.8); }
.console-header {
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
}
.step-icon {
  width: 4.35cqw;
  height: 4.35cqw;
  min-width: 46px;
  min-height: 46px;
  object-fit: contain;
  filter: drop-shadow(0 0 .7cqw rgba(78,226,255,.65));
}

.choice-button {
  position: relative;
  grid-template-columns: auto minmax(0,1fr);
  grid-template-rows: auto auto auto;
  column-gap: .72cqw;
  align-items: center;
  border: 0;
  border-radius: 0;
  background: var(--hud-panel-card) center / 100% 100% no-repeat;
  padding: .9cqw 1.15cqw;
  overflow: hidden;
}
.choice-button:hover, .choice-button:focus-visible {
  border: 0;
  background: var(--hud-panel-card) center / 100% 100% no-repeat;
  filter: brightness(1.22) saturate(1.18);
}
.choice-button.selected { box-shadow: 0 0 1.2cqw rgba(98,242,174,.32); filter: hue-rotate(-12deg) brightness(1.12); }
.choice-button.warning { filter: hue-rotate(150deg); }
.choice-button.danger { filter: hue-rotate(115deg) saturate(1.25); }
.choice-icon {
  grid-row: 1 / 4;
  width: 4.1cqw;
  height: 4.1cqw;
  min-width: 44px;
  min-height: 44px;
  object-fit: contain;
  align-self: center;
  filter: drop-shadow(0 0 .55cqw rgba(78,226,255,.55));
}
.choice-button strong, .choice-button span, .choice-button small { grid-column: 2; }

.metric-card, .slider-block, .memory-summary, .coherence-choice, .segment-toggle, .timeline-readout > div {
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--hud-panel-card) center / 100% 100% no-repeat !important;
  padding: .7cqw .82cqw !important;
}

.timeline-shell { position: relative; }
.timeline-asset {
  width: 100%;
  height: 5.1cqw;
  min-height: 55px;
  object-fit: fill;
  opacity: .88;
  filter: drop-shadow(0 0 .65cqw rgba(69,220,255,.38));
}
.timeline-canvas-wrap {
  border: 0;
  border-radius: 0;
  background:
    url("../../assets/hud/panel-wide.png") center / 100% 100% no-repeat,
    rgba(1,10,26,.95);
  padding: .55cqw;
}

.coherence-choice { grid-template-columns: auto 1fr; column-gap: .6cqw; }
.coherence-choice .coherence-role-icon {
  grid-row: 1 / 5;
  width: 3.4cqw;
  height: 3.4cqw;
  min-width: 36px;
  min-height: 36px;
  object-fit: contain;
}

.bottom-strip > div {
  border: 0;
  border-radius: 0;
  background: var(--hud-panel-card) center / 100% 100% no-repeat;
  padding: .76cqw .85cqw;
}
.bottom-strip > div:not(.candidate-mini) {
  grid-template-columns: auto minmax(0,1fr);
  gap: .55cqw;
  align-items: center;
}
.candidate-mini { grid-template-columns: auto auto minmax(0,1fr); }
.strip-icon {
  width: 2.55cqw;
  height: 2.55cqw;
  min-width: 28px;
  min-height: 28px;
  object-fit: contain;
  filter: drop-shadow(0 0 .45cqw rgba(78,226,255,.5));
}
.candidate-orb {
  position: relative;
  background-image: url("../../assets/hud/avatar-ring.png") !important;
  background-position: center !important;
  background-size: 122% 122% !important;
  background-repeat: no-repeat !important;
  border: 0;
  box-shadow: none;
}

.analysis-drawer { background: rgba(1,7,18,.985) url("../../assets/hud/panel-wide.png") top center / 100% 9% no-repeat; }
.drawer-card {
  border: 0;
  border-radius: 0;
  background: var(--hud-panel-card) center / 100% 100% no-repeat;
  padding: 1cqw 1.1cqw;
}
.profile-list div, .contract-list div, .drawer-stat, .coherence-profile > div, .roster-row {
  border: 0;
  border-radius: 0;
  background: var(--hud-button-frame) center / 100% 100% no-repeat;
  padding: .62cqw .72cqw;
}
.roster-row::before {
  content: "";
  width: 1.5cqw;
  height: 1.5cqw;
  min-width: 16px;
  min-height: 16px;
  background: url("../../assets/hud/icon-person.png") center / contain no-repeat;
}
.roster-row { grid-template-columns: auto 1.2fr .7fr .7fr .7fr; }
.roster-row.complete::before { background-image: url("../../assets/hud/icon-check.png"); }

.result-grade {
  border: 0;
  border-radius: 0;
  background: url("../../assets/hud/medal-gold.png") center / contain no-repeat;
  color: transparent;
  box-shadow: none;
}
.result-medal {
  width: 7cqw;
  height: 7cqw;
  min-width: 72px;
  min-height: 72px;
  object-fit: contain;
  filter: drop-shadow(0 0 .8cqw rgba(80,220,255,.45));
}
.result-consciousness {
  width: 4.4cqw;
  height: 4.4cqw;
  min-width: 46px;
  min-height: 46px;
  object-fit: contain;
}
.result-hero { grid-template-columns: auto auto 1fr; }

@container (max-width: 760px) {
  .hud-brand-icon, .critical-metrics span img { display: none; }
  .mission-icon { width: 26px; height: 26px; }
  .role-segment { grid-template-columns: auto 1fr; }
  .role-segment > img { display: none; }
  .step-icon { width: 38px; height: 38px; min-width: 38px; min-height: 38px; }
  .choice-icon { width: 34px; height: 34px; min-width: 34px; min-height: 34px; }
  .strip-icon { display: none; }
  .candidate-mini { grid-template-columns: auto minmax(0,1fr); }
  .bottom-strip > div:not(.candidate-mini) { grid-template-columns: 1fr; }
}

