/* Hallmark · macrostructure: Long Document · genre: modern-minimal · theme: Cobalt adapted · enrichment: none
 * pre-emit critique: P4 H4 E5 S5 R5 V4 · contrast: pass (40–41) · slop: pass (1–58)
 */

:root {
  --report-paper: oklch(98.5% 0.006 252);
  --report-panel: oklch(99.2% 0.004 252);
  --report-paper-2: oklch(96.5% 0.009 252);
  --report-ink: oklch(22% 0.025 258);
  --report-ink-2: oklch(34% 0.022 258);
  --report-muted: oklch(48% 0.018 258);
  --report-rule: oklch(86% 0.014 252);
  --report-rule-strong: oklch(72% 0.022 252);
  --report-accent: oklch(55% 0.205 256);
  --report-accent-strong: oklch(46% 0.19 256);
  --report-accent-soft: oklch(94% 0.035 252);
  --report-accent-ink: oklch(98.5% 0.006 252);
  --report-success: oklch(47% 0.125 158);
  --report-success-soft: oklch(95% 0.03 158);
  --report-error: oklch(48% 0.18 28);
  --report-error-soft: oklch(95% 0.035 28);
  --report-warning: oklch(54% 0.12 76);
  --report-warning-soft: oklch(95% 0.035 76);
  --report-graphite: oklch(22% 0.018 258);
  --report-font-display: "Bahnschrift", "Microsoft YaHei", sans-serif;
  --report-font-body: "Microsoft YaHei", "PingFang SC", sans-serif;
  --report-font-mono: "Cascadia Mono", "Microsoft YaHei", monospace;
  --report-space-xs: 0.5rem;
  --report-space-sm: 0.75rem;
  --report-space-md: 1rem;
  --report-space-lg: 1.5rem;
  --report-space-xl: 2.5rem;
  --report-space-2xl: 4rem;
  --report-radius-control: 0.375rem;
  --report-radius-panel: 0.625rem;
  --report-control-height: 2.75rem;
}

html,
body {
  overflow-x: clip;
}

body {
  background: var(--report-paper);
  color: var(--report-ink-2);
  font-family: var(--report-font-body);
  font-size: 0.875rem;
  line-height: 1.7;
}

a:focus-visible {
  outline: 2px solid var(--report-accent-strong);
  outline-offset: 2px;
}

.nav {
  position: sticky;
  inset: 0 0 auto;
  z-index: 200;
  min-height: var(--report-control-height);
  height: auto;
  gap: var(--report-space-xs);
  padding: var(--report-space-xs) var(--report-space-lg);
  border-block-end: 1px solid var(--report-rule);
  background: color-mix(in oklch, var(--report-paper) 94%, transparent);
  backdrop-filter: blur(0.75rem);
}

.nav-brand {
  margin: 0;
  padding-inline-end: var(--report-space-md);
  border-inline-end: 1px solid var(--report-rule);
  color: var(--report-ink);
  font-family: var(--report-font-display);
}

.nav a {
  display: inline-flex;
  align-items: center;
  min-height: var(--report-control-height);
  padding-inline: var(--report-space-sm);
  border-radius: var(--report-radius-control);
  color: var(--report-ink-2);
  line-height: 1;
  white-space: nowrap;
}

.nav a:hover,
.nav a:active {
  background: var(--report-paper-2);
  color: var(--report-accent-strong);
}

.wrap {
  width: min(100%, 70rem);
  margin-inline: auto;
  padding: var(--report-space-xl) clamp(1rem, 3vw, 2.5rem) var(--report-space-2xl);
}

.cover {
  min-height: 0;
  margin-block-end: var(--report-space-xl);
  padding: var(--report-space-xl) 0 var(--report-space-2xl);
  border-block-end: 1px solid var(--report-rule-strong);
}

.cover h1,
.part-header h2,
h2.sec,
h3.sec,
h3.sub,
h4.sub,
h4.mini {
  min-width: 0;
  color: var(--report-ink);
  font-family: var(--report-font-display);
  font-style: normal;
  overflow-wrap: anywhere;
}

.cover h1 {
  max-width: 22ch;
  font-size: clamp(2rem, 5vw, 3.5rem);
  line-height: 1.08;
}

.cover .sub,
.card .label,
.card .note,
.fc .fc-id,
.fc .fc-subj,
.fc .fc-use,
.meta-item,
.kpi .k-label {
  color: var(--report-muted);
}

h2.sec,
h3.sec {
  border-block-end: 1px solid var(--report-rule-strong);
}

.card,
.platform-card,
.kpi,
.fc,
.exec-box,
.expr-row,
.question-card,
.title-row,
.week,
.sop,
.review-box {
  border: 1px solid var(--report-rule);
  border-radius: var(--report-radius-panel);
  background: var(--report-panel);
  box-shadow: none;
}

.box-red,
.box-green,
.box-blue,
.box-amber,
.fc-high,
.fc-cert {
  border: 1px solid var(--report-rule);
  border-inline-start-width: 1px;
  border-radius: var(--report-radius-control);
}

.box-red { background: var(--report-error-soft); color: var(--report-error); }
.box-green { background: var(--report-success-soft); color: var(--report-success); }
.box-blue { background: var(--report-accent-soft); color: var(--report-accent-strong); }
.box-amber { background: var(--report-warning-soft); color: var(--report-warning); }

.part-header {
  margin-block-start: var(--report-space-2xl);
  padding: var(--report-space-lg);
  border-radius: var(--report-radius-panel);
  background: var(--report-graphite);
  color: var(--report-paper);
}

.part-header h2 {
  color: var(--report-paper);
}

.part-body {
  margin: 0;
  padding: var(--report-space-lg) 0 0;
  border: 0;
  background: transparent;
}

.prompt-list {
  border-radius: var(--report-radius-panel);
  background: var(--report-graphite);
}

.prompt-list .prompt-item {
  color: var(--report-paper-2);
  font-family: var(--report-font-mono);
}

.score-bar-wrap,
.bar-wrap {
  background: var(--report-paper-2);
}

.score-bar,
.bar {
  background: var(--report-accent);
}

table {
  border-color: var(--report-rule);
  background: var(--report-panel);
}

th,
td {
  border-color: var(--report-rule);
  overflow-wrap: anywhere;
}

th,
tr:nth-child(even) td {
  background: var(--report-paper-2);
  color: var(--report-ink);
}

@media (max-width: 48rem) {
  .wrap {
    padding: var(--report-space-lg) var(--report-space-md) var(--report-space-2xl);
  }

  .grid2,
  .grid3,
  .platform-grid,
  .kpi-row,
  .fc-grid,
  .week-grid,
  .role-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .expr-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .expr-col.bad {
    border-inline-end: 0;
    border-block-end: 1px solid var(--report-rule);
  }

  .nav {
    padding-inline: var(--report-space-md);
  }
}

@media print {
  body { background: var(--report-panel); }
  .nav { display: none; }
}
