:root {
  --bg:#0d0f0e;
  --bg-elev:#151a17;
  --bg-elev2:#1d2420;
  --line:#2b332e;
  --green:#0f3d2e;
  --green-light:#1c6b4f;
  --gold:#c9a86a;
  --gold-soft:#e3cd9e;
  --silver:#c8ccc9;
  --text:#eef2ef;
  --text-dim:#9aa39d;
  --text-mute:#6b746e;
  --sev-critical:#e5484d;
  --sev-major:#f5a524;
  --sev-minor:#e8c547;
  --sev-cosmetic:#8b93b0;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  overflow-x: hidden;
  background:
    radial-gradient(circle at 18% 0%, rgba(28, 107, 79, .22), transparent 32rem),
    linear-gradient(180deg, #0d0f0e 0%, #101511 46%, #0d0f0e 100%);
  color: var(--text);
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
  line-height: 1.65;
}

a { color: inherit; text-decoration: none; }
button { font: inherit; }

img, video {
  display: block;
  max-width: 100%;
}

.wrap {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
}

.gold-line {
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(13, 15, 14, .92);
  border-bottom: 1px solid rgba(201, 168, 106, .2);
  backdrop-filter: blur(14px);
}

.nav-shell {
  position: relative;
  width: min(1180px, calc(100% - 32px));
  min-height: 66px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 20px;
}

.brand,
h1, h2, h3,
.plate-large {
  font-family: "Noto Serif SC", "Songti SC", serif;
}

.brand {
  color: var(--gold-soft);
  font-size: 1.2rem;
  font-weight: 700;
}

.nav-links {
  justify-self: center;
  display: flex;
  gap: 8px;
}

.nav-links a,
.tab,
.btn {
  min-height: 44px;
  border: 1px solid transparent;
  border-radius: 999px;
  color: var(--text-dim);
  padding: 8px 13px;
  transition: border-color .18s ease, color .18s ease, background .18s ease;
}

.nav-links a:hover,
.nav-links a.active,
.tab:hover,
.tab.active,
.btn:hover {
  border-color: rgba(201, 168, 106, .48);
  color: var(--gold-soft);
  background: rgba(201, 168, 106, .08);
}

.nav-toggle {
  display: none;
  justify-self: end;
  width: 44px;
  height: 44px;
  color: var(--gold-soft);
  background: var(--bg-elev);
  border: 1px solid var(--line);
  border-radius: 10px;
}

.plate-badge,
.plate-large,
.severity,
.pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(201, 168, 106, .45);
  background: linear-gradient(180deg, rgba(201,168,106,.16), rgba(15,61,46,.2));
  color: var(--gold-soft);
  letter-spacing: .08em;
  white-space: nowrap;
}

.plate-badge {
  border-radius: 8px;
  padding: 6px 10px;
  font-weight: 800;
}

.hero {
  min-height: 520px;
  display: grid;
  align-items: center;
  border-bottom: 1px solid var(--line);
}

.hero-inner {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
  padding: 70px 0;
}

.eyebrow {
  margin: 0 0 12px;
  color: var(--gold);
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .78rem;
}

h1, h2, h3, p { margin-top: 0; }

h1 {
  max-width: 900px;
  margin-bottom: 16px;
  font-size: clamp(2.35rem, 6vw, 5.8rem);
  line-height: 1.02;
  letter-spacing: 0;
}

h2 {
  margin-bottom: 18px;
  color: var(--gold-soft);
  font-size: clamp(1.8rem, 3vw, 2.8rem);
  line-height: 1.15;
}

h3 {
  color: var(--gold-soft);
  font-size: 1.35rem;
}

.hero-subtitle {
  max-width: 760px;
  color: var(--silver);
  font-size: clamp(1.05rem, 2vw, 1.45rem);
}

.hero-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.plate-large {
  min-height: 46px;
  border-radius: 10px;
  padding: 10px 16px;
  font-size: 1.2rem;
  font-weight: 900;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  background: rgba(21, 26, 23, .76);
  border-color: var(--line);
}

.btn-primary {
  color: #111511;
  background: var(--gold);
  border-color: var(--gold);
  font-weight: 800;
}

.btn-primary:hover {
  color: #111511;
  background: var(--gold-soft);
}

.section {
  padding: 62px 0;
}

.section-heading {
  max-width: 780px;
}

.section-intro {
  max-width: 760px;
  color: var(--silver);
}

.spec-grid,
.stats-grid,
.category-grid,
.card-grid,
.gallery-grid,
.topic-media-grid {
  display: grid;
  gap: 16px;
}

.spec-grid {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.spec-item,
.stat-card,
.category-card,
.problem-card,
.media-card,
.content-card {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(21, 26, 23, .88);
  box-shadow: 0 18px 50px rgba(0, 0, 0, .18);
}

.spec-item {
  padding: 16px;
}

.spec-label,
.card-meta,
.result-count,
.hint {
  color: var(--text-dim);
  font-size: .9rem;
}

.spec-value {
  margin-top: 6px;
  color: var(--text);
  font-weight: 650;
}

.prose-section {
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.prose {
  max-width: 920px;
  color: var(--silver);
  font-size: 1.02rem;
}

.prose strong { color: var(--gold-soft); }
.prose li { margin-bottom: 8px; }

.three-d-section {
  border-top: 1px solid var(--line);
}

.viewer3d-stack {
  display: grid;
  gap: 28px;
}

.viewer3d-card {
  display: grid;
  gap: 14px;
}

.viewer3d-copy {
  max-width: 850px;
}

.viewer3d-copy h3 {
  margin-bottom: 6px;
}

.viewer3d-copy p {
  margin-bottom: 10px;
  color: var(--text-dim);
}

.viewer3d-shell {
  min-height: 390px;
}

.viewer3d {
  overflow: hidden;
  border: 1px solid rgba(201, 168, 106, .34);
  border-radius: 14px;
  background: #0d0f0e;
  box-shadow: 0 18px 50px rgba(0, 0, 0, .2);
}

.viewer3d-canvas {
  position: relative;
  height: min(70vh, 620px);
  min-height: 360px;
  background: #0d0f0e;
  touch-action: none;
}

.viewer3d-canvas canvas {
  display: block;
  width: 100%;
  height: 100%;
}

.viewer3d-tools {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 3;
  display: flex;
  gap: 8px;
}

.viewer3d-tool {
  width: 42px;
  height: 42px;
  cursor: pointer;
  border: 1px solid rgba(201, 168, 106, .42);
  border-radius: 10px;
  color: var(--gold-soft);
  background: rgba(13, 15, 14, .74);
  backdrop-filter: blur(10px);
}

.viewer3d-tool:hover,
.viewer3d-tool.active {
  border-color: var(--gold);
  color: #111511;
  background: var(--gold);
}

.viewer3d-panel {
  position: absolute;
  left: 14px;
  bottom: 14px;
  z-index: 2;
  width: min(430px, calc(100% - 28px));
  padding: 13px 14px;
  border: 1px solid rgba(201, 168, 106, .32);
  border-radius: 12px;
  background: rgba(13, 15, 14, .78);
  backdrop-filter: blur(12px);
}

.viewer3d-panel h3 {
  margin-bottom: 4px;
  color: var(--gold-soft);
  font-size: 1.08rem;
}

.viewer3d-panel p {
  margin: 0;
  color: var(--silver);
  font-size: .92rem;
  line-height: 1.5;
}

.viewer3d-subsystems {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px;
  border-top: 1px solid var(--line);
  background: rgba(21, 26, 23, .72);
}

.viewer3d-chip {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  cursor: pointer;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 7px 11px;
  color: var(--text-dim);
  background: rgba(13, 15, 14, .58);
}

.viewer3d-chip span,
.line-legend i {
  display: inline-block;
  width: 9px;
  height: 9px;
  margin-right: 7px;
  border-radius: 99px;
  background: var(--gold);
}

.viewer3d-chip:hover,
.viewer3d-chip.active {
  border-color: rgba(201, 168, 106, .58);
  color: var(--gold-soft);
  background: rgba(201, 168, 106, .1);
}

.line-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  color: var(--text-dim);
  font-size: .92rem;
}

.line-legend span {
  display: inline-flex;
  align-items: center;
}

.stats-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-bottom: 18px;
}

.stat-card {
  padding: 18px;
}

.stat-number {
  color: var(--gold-soft);
  font-family: "Noto Serif SC", "Songti SC", serif;
  font-size: 2rem;
  line-height: 1.1;
}

.category-grid {
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
}

.category-card {
  min-height: 170px;
  padding: 20px;
  transition: border-color .18s ease, transform .18s ease;
}

.category-card:hover,
.problem-card:hover,
.media-card:hover {
  border-color: rgba(201, 168, 106, .65);
  transform: translateY(-2px);
}

.category-icon {
  font-size: 1.7rem;
}

.page-main {
  padding: 46px 0 70px;
}

.page-title {
  max-width: 820px;
  margin-bottom: 28px;
}

.page-title h1 {
  font-size: clamp(2.1rem, 5vw, 4.2rem);
}

.page-title p {
  color: var(--text-dim);
}

.filter-panel {
  display: grid;
  gap: 12px;
  margin-bottom: 16px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(21, 26, 23, .72);
}

.tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tab {
  min-width: 44px;
  cursor: pointer;
  background: var(--bg-elev2);
}

.compact .tab {
  padding: 7px 11px;
  font-size: .92rem;
}

.result-count {
  margin: 10px 0 18px;
}

.card-grid {
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}

.gallery-grid {
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
}

.topic-media-grid {
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
}

.problem-card,
.media-card {
  overflow: hidden;
  cursor: pointer;
  border-left: 4px solid var(--sev-minor);
  transition: border-color .18s ease, transform .18s ease;
}

.problem-card[data-severity="critical"],
.media-card[data-severity="critical"],
.content-card[data-severity="critical"] { border-left-color: var(--sev-critical); }
.problem-card[data-severity="major"],
.media-card[data-severity="major"],
.content-card[data-severity="major"] { border-left-color: var(--sev-major); }
.problem-card[data-severity="minor"],
.media-card[data-severity="minor"],
.content-card[data-severity="minor"] { border-left-color: var(--sev-minor); }
.problem-card[data-severity="cosmetic"],
.media-card[data-severity="cosmetic"],
.content-card[data-severity="cosmetic"] { border-left-color: var(--sev-cosmetic); }

.thumb {
  position: relative;
  aspect-ratio: 4 / 3;
  background: #090b0a;
  overflow: hidden;
}

.thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.video-mark {
  position: absolute;
  right: 10px;
  top: 10px;
  border-radius: 999px;
  padding: 4px 9px;
  background: rgba(0, 0, 0, .62);
  color: var(--gold-soft);
  font-size: .78rem;
}

.card-body {
  padding: 15px;
}

.card-title {
  margin: 7px 0 8px;
  color: var(--text);
  font-weight: 800;
  line-height: 1.35;
}

.card-desc {
  color: var(--text-dim);
  font-size: .92rem;
}

.card-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 12px;
}

.severity {
  border-radius: 999px;
  padding: 3px 9px;
  letter-spacing: 0;
  font-size: .78rem;
}

.severity.critical { border-color: var(--sev-critical); color: #ffb6b8; background: rgba(229,72,77,.16); }
.severity.major { border-color: var(--sev-major); color: #ffd89a; background: rgba(245,165,36,.16); }
.severity.minor { border-color: var(--sev-minor); color: #ffe98a; background: rgba(232,197,71,.14); }
.severity.cosmetic { border-color: var(--sev-cosmetic); color: #d6dbf2; background: rgba(139,147,176,.15); }

.cat-dot {
  display: inline-block;
  width: 9px;
  height: 9px;
  margin-right: 6px;
  border-radius: 99px;
  background: var(--gold);
}
.cat-mechanical { background: var(--sev-major); }
.cat-electrical { background: #78b7ff; }
.cat-exterior { background: #d695c7; }
.cat-interior { background: #b7a88d; }
.cat-diy { background: #ff8f6b; }
.cat-reference { background: #9aa39d; }

.content-card {
  margin-bottom: 18px;
  padding: 22px;
  border-left: 4px solid var(--gold);
}

.part-scene-card {
  display: grid;
  gap: 16px;
}

.part-scene-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: end;
}

.part-scene-switch {
  display: inline-grid;
  grid-template-columns: repeat(2, minmax(150px, 1fr));
  gap: 8px;
}

.part-scene-tab {
  min-height: 56px;
  cursor: pointer;
  border: 1px solid rgba(201, 168, 106, .34);
  border-radius: 10px;
  padding: 9px 12px;
  color: var(--text);
  text-align: left;
  background: rgba(13, 15, 14, .62);
}

.part-scene-tab span,
.part-scene-tab small {
  display: block;
}

.part-scene-tab span {
  font-weight: 800;
}

.part-scene-tab small {
  margin-top: 3px;
  color: var(--text-dim);
  font-size: .78rem;
  line-height: 1.25;
}

.part-scene-tab:hover,
.part-scene-tab.active {
  border-color: rgba(201, 168, 106, .78);
  background: rgba(201, 168, 106, .12);
}

.part-scene-tab.active span {
  color: var(--gold-soft);
}

.part-scene-viewer {
  min-height: 300px;
}

.part-scene-viewer .viewer3d {
  border-radius: 12px;
}

.part-scene-viewer .viewer3d-canvas {
  height: min(60vh, 560px);
  min-height: 360px;
}

.part-scene-meta {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  color: var(--text-dim);
  font-size: .94rem;
}

.part-scene-meta p {
  margin: 0;
  color: var(--silver);
}

.part-scene-meta span {
  flex: 0 0 auto;
  color: var(--gold-soft);
}

.sourcing-section + .sourcing-section {
  margin-top: 24px;
}

.sourcing-section h3 {
  margin-bottom: 12px;
  font-size: 1.22rem;
}

.youtube-list {
  display: grid;
  gap: 12px;
}

.youtube-card {
  position: relative;
  padding: 16px 52px 16px 16px;
  border: 1px solid rgba(201, 168, 106, .34);
  border-radius: 12px;
  background: rgba(29, 36, 32, .82);
}

.youtube-title {
  color: var(--gold-soft);
  font-weight: 800;
  text-decoration: underline;
  text-decoration-color: rgba(201, 168, 106, .45);
  text-underline-offset: 4px;
}

.youtube-channel {
  margin-top: 6px;
  color: var(--gold);
  font-size: .9rem;
}

.youtube-card p {
  margin: 8px 0 0;
  color: var(--silver);
}

.play-corner {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 34px;
  height: 34px;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(201, 168, 106, .52);
  border-radius: 999px;
  color: var(--gold-soft);
  background: rgba(201, 168, 106, .12);
}

.sourcing-table-wrap {
  width: 100%;
  margin: 14px 0;
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 12px;
  -webkit-overflow-scrolling: touch;
}

.sourcing-table {
  width: 100%;
  min-width: 880px;
  border-collapse: collapse;
  background: rgba(13, 15, 14, .42);
}

.sourcing-table th,
.sourcing-table td {
  padding: 12px;
  border-bottom: 1px solid var(--line);
  vertical-align: top;
  text-align: left;
}

.sourcing-table th {
  color: var(--gold-soft);
  background: rgba(201, 168, 106, .08);
  font-size: .9rem;
  white-space: nowrap;
}

.sourcing-table td {
  color: var(--silver);
  font-size: .92rem;
}

.sourcing-table tr:last-child td {
  border-bottom: 0;
}

.sourcing-table code {
  color: var(--gold-soft);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  white-space: pre-wrap;
}

.buying-guide {
  margin-top: 14px;
  padding: 16px;
  border: 1px solid rgba(201, 168, 106, .42);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(201, 168, 106, .14), rgba(15, 61, 46, .18));
}

.buying-guide strong {
  color: var(--gold-soft);
}

.buying-guide p {
  margin: 8px 0 0;
}

.search-hints {
  display: grid;
  gap: 6px;
  margin-top: 18px;
}

.factory-manual-card {
  display: grid;
  gap: 18px;
}

.factory-manual-card h2 {
  margin-bottom: 0;
}

.manual-section {
  display: grid;
  gap: 10px;
}

.manual-section h3,
.manual-diagnosis h3,
.manual-warning h3 {
  margin-bottom: 0;
  font-size: 1.18rem;
}

.manual-section p,
.manual-diagnosis p,
.manual-warning p {
  margin: 0;
  color: var(--silver);
}

.manual-diagnosis {
  padding: 16px;
  border: 1px solid rgba(201, 168, 106, .5);
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(201, 168, 106, .16), rgba(15, 61, 46, .16)),
    rgba(13, 15, 14, .36);
}

.manual-table-wrap {
  width: 100%;
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 12px;
  -webkit-overflow-scrolling: touch;
}

.manual-spec-table {
  width: 100%;
  min-width: 520px;
  border-collapse: collapse;
  background: rgba(13, 15, 14, .42);
}

.manual-spec-table th,
.manual-spec-table td {
  padding: 12px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}

.manual-spec-table th {
  color: var(--gold-soft);
  background: rgba(201, 168, 106, .08);
  font-size: .9rem;
  white-space: nowrap;
}

.manual-spec-table td {
  color: var(--silver);
}

.manual-spec-table tr:last-child td {
  border-bottom: 0;
}

.manual-spec-table code {
  color: var(--gold-soft);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  white-space: nowrap;
}

.manual-fluid-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 13px 14px;
  border: 1px solid rgba(201, 168, 106, .28);
  border-radius: 10px;
  background: rgba(13, 15, 14, .34);
}

.manual-fluid-row strong {
  color: var(--gold-soft);
  white-space: nowrap;
}

.manual-fluid-row span {
  color: var(--silver);
}

.manual-warning {
  padding: 16px;
  border: 1px solid rgba(245, 165, 36, .5);
  border-left: 4px solid var(--sev-major);
  border-radius: 12px;
  background: rgba(245, 165, 36, .1);
}

.manual-ref-list {
  display: grid;
  gap: 10px;
}

.manual-ref-link {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid rgba(201, 168, 106, .32);
  border-radius: 10px;
  color: var(--silver);
  background: rgba(13, 15, 14, .38);
}

.manual-ref-link:hover {
  border-color: var(--gold);
  color: var(--gold-soft);
  background: rgba(201, 168, 106, .1);
}

.manual-ref-badge {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 54px;
  min-height: 26px;
  border: 1px solid rgba(201, 168, 106, .45);
  border-radius: 999px;
  padding: 3px 9px;
  color: var(--gold-soft);
  background: rgba(201, 168, 106, .12);
  font-size: .8rem;
  font-weight: 800;
}

.manual-ref-badge.circuit {
  border-color: rgba(120, 183, 255, .52);
  color: #b9d9ff;
  background: rgba(120, 183, 255, .12);
}

.analysis-hero {
  min-height: 460px;
}

.analysis-overview,
.insight-card,
.electrical-card,
.priority-card {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(21, 26, 23, .88);
  box-shadow: 0 18px 50px rgba(0, 0, 0, .18);
}

.analysis-overview {
  max-width: 960px;
  padding: 24px;
  border-left: 4px solid var(--gold);
  color: var(--silver);
  font-size: 1.05rem;
}

.analysis-overview p,
.insight-card p,
.electrical-card p {
  margin-bottom: 0;
}

.analysis-band {
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.priority-timeline {
  position: relative;
  display: grid;
  gap: 16px;
}

.priority-timeline::before {
  content: "";
  position: absolute;
  left: 23px;
  top: 18px;
  bottom: 18px;
  width: 1px;
  background: linear-gradient(180deg, var(--gold), rgba(201, 168, 106, .08));
}

.priority-card {
  position: relative;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  overflow: hidden;
  border-left: 4px solid var(--sev-minor);
}

.priority-card[data-severity="critical"] { border-left-color: var(--sev-critical); }
.priority-card[data-severity="major"] { border-left-color: var(--sev-major); }
.priority-card[data-severity="minor"] { border-left-color: var(--sev-minor); }
.priority-card[data-severity="cosmetic"] { border-left-color: var(--sev-cosmetic); }

.priority-index {
  z-index: 1;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  margin: 20px 0 0 12px;
  border: 1px solid rgba(201, 168, 106, .5);
  border-radius: 999px;
  color: var(--gold-soft);
  background: var(--bg-elev2);
  font-weight: 900;
}

.priority-body {
  padding: 20px 22px 20px 10px;
}

.priority-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.priority-head h3 {
  margin-bottom: 0;
  font-size: 1.22rem;
}

.priority-body ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 20px;
  color: var(--silver);
}

.priority-body li::marker {
  color: var(--gold);
}

.insight-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.insight-card {
  min-height: 210px;
  padding: 20px;
  border-top: 3px solid rgba(201, 168, 106, .78);
}

.insight-card h3 {
  margin-bottom: 10px;
  color: var(--gold-soft);
  font-size: 1.18rem;
}

.insight-card p {
  color: var(--silver);
}

.electrical-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.electrical-card {
  display: grid;
  gap: 16px;
  padding: 22px;
  border-left: 4px solid rgba(120, 183, 255, .72);
}

.electrical-card h3 {
  margin-bottom: 0;
  font-size: 1.22rem;
}

.analysis-field {
  display: grid;
  gap: 5px;
}

.analysis-field strong {
  color: var(--gold-soft);
}

.analysis-field p {
  color: var(--silver);
}

.compact-empty {
  margin: 0;
  padding: 14px;
}

.tuning-page {
  max-width: 1180px;
}

.tuning-title {
  margin-bottom: 18px;
}

.tuning-anchor-nav {
  position: sticky;
  top: 78px;
  z-index: 12;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  backdrop-filter: blur(12px);
}

.tuning-principle {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, .75fr);
  gap: 18px;
  align-items: stretch;
  margin: 24px 0 10px;
}

.tuning-principle .content-card {
  margin: 0;
}

.tuning-kpi {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.tuning-section {
  scroll-margin-top: 130px;
  border-top: 1px solid var(--line);
}

.tuning-grid,
.model-source-grid {
  display: grid;
  gap: 16px;
}

.tuning-grid {
  grid-template-columns: repeat(auto-fit, minmax(310px, 1fr));
}

.model-source-grid {
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}

.tuning-card,
.model-card {
  border: 1px solid var(--line);
  border-radius: 14px;
  background:
    linear-gradient(180deg, rgba(201, 168, 106, .08), rgba(21, 26, 23, .9) 34%),
    rgba(21, 26, 23, .88);
  box-shadow: 0 18px 50px rgba(0, 0, 0, .16);
}

.tuning-card {
  display: flex;
  flex-direction: column;
  padding: 20px;
}

.tuning-card h3,
.model-card h3 {
  margin-bottom: 10px;
  font-size: 1.25rem;
}

.tuning-card p,
.model-card p,
.model-note p {
  color: var(--silver);
}

.tuning-facts {
  display: grid;
  gap: 10px;
  margin: 4px 0 16px;
}

.tuning-facts div {
  padding: 12px;
  border: 1px solid rgba(201, 168, 106, .2);
  border-radius: 10px;
  background: rgba(13, 15, 14, .34);
}

.tuning-facts dt {
  color: var(--gold);
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.tuning-facts dd {
  margin: 4px 0 0;
  color: var(--silver);
  font-size: .94rem;
}

.source-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: auto;
}

.source-list a,
.model-card a {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  border: 1px solid rgba(201, 168, 106, .36);
  border-radius: 999px;
  padding: 7px 11px;
  color: var(--gold-soft);
  background: rgba(201, 168, 106, .08);
  font-size: .88rem;
  line-height: 1.25;
}

.source-list a:hover,
.model-card a:hover {
  border-color: var(--gold);
  background: rgba(201, 168, 106, .14);
}

.truth-tag {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  margin-right: 6px;
  border-radius: 999px;
  padding: 3px 9px;
  font-size: .8rem;
  font-weight: 800;
  white-space: nowrap;
}

.truth-tag.real {
  border: 1px solid rgba(63, 185, 80, .55);
  color: #a7f3b4;
  background: rgba(63, 185, 80, .14);
}

.truth-tag.caution {
  border: 1px solid rgba(245, 165, 36, .55);
  color: #ffd89a;
  background: rgba(245, 165, 36, .14);
}

.model-card {
  display: grid;
  align-content: start;
  gap: 9px;
  padding: 18px;
}

.model-card p {
  margin-bottom: 4px;
}

.model-card a {
  justify-content: center;
  border-radius: 10px;
  text-align: center;
}

.model-note {
  margin-top: 16px;
}

.topic-hero {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 22px;
  align-items: stretch;
  margin-bottom: 28px;
}

.topic-summary {
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(21, 26, 23, .82);
}

.topic-cover {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--bg-elev);
}

.topic-cover img {
  width: 100%;
  height: 100%;
  min-height: 270px;
  object-fit: cover;
}

.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
  color: var(--text-dim);
  font-size: .92rem;
}

.breadcrumb a { color: var(--gold-soft); }

.topic-nav {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 30px;
}

.topic-nav a {
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 16px;
  background: var(--bg-elev);
}

.topic-nav a:last-child { text-align: right; }

.site-footer {
  padding: 32px 16px 44px;
  border-top: 1px solid var(--line);
  color: var(--text-mute);
  text-align: center;
}

.lightbox {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: none;
  background: rgba(0, 0, 0, .86);
}

.lightbox.open {
  display: grid;
  place-items: center;
}

.lightbox-panel {
  width: min(1080px, calc(100% - 24px));
  max-height: calc(100vh - 24px);
  display: grid;
  grid-template-rows: auto 1fr auto;
  overflow: hidden;
  border: 1px solid rgba(201, 168, 106, .38);
  border-radius: 14px;
  background: #0b0d0c;
}

.lightbox-head,
.lightbox-foot {
  padding: 12px 14px;
  border-bottom: 1px solid var(--line);
}

.lightbox-foot {
  border-top: 1px solid var(--line);
  border-bottom: 0;
  color: var(--text-dim);
}

.lightbox-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.lightbox-close {
  width: 44px;
  height: 44px;
  cursor: pointer;
  color: var(--gold-soft);
  background: var(--bg-elev2);
  border: 1px solid var(--line);
  border-radius: 10px;
}

.lightbox-media {
  display: grid;
  place-items: center;
  min-height: 0;
  padding: 12px;
}

.lightbox-media img,
.lightbox-media video {
  max-height: calc(100vh - 210px);
  width: auto;
  border-radius: 8px;
}

.empty {
  padding: 24px;
  border: 1px dashed rgba(201, 168, 106, .42);
  border-radius: 14px;
  color: var(--text-dim);
}

.manual-page {
  display: grid;
  grid-template-columns: 270px minmax(330px, 520px) minmax(420px, 1fr);
  gap: 16px;
  width: min(1500px, calc(100% - 32px));
  min-height: calc(100vh - 126px);
  margin: 0 auto;
  padding: 18px 0 22px;
}

.manual-sidebar,
.manual-content,
.manual-viewer {
  min-height: 0;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(21, 26, 23, .82);
}

.manual-sidebar {
  position: sticky;
  top: 84px;
  max-height: calc(100vh - 108px);
  overflow: auto;
}

.manual-sidebar summary {
  cursor: pointer;
  padding: 14px 16px;
  color: var(--gold-soft);
  font-weight: 800;
}

.manual-groups {
  display: grid;
  gap: 6px;
  padding: 0 10px 12px;
}

.manual-kind {
  padding: 12px 8px 4px;
  color: var(--gold);
  font-size: .82rem;
  letter-spacing: .08em;
}

.manual-group,
.manual-item {
  width: 100%;
  cursor: pointer;
  border: 1px solid transparent;
  color: var(--text-dim);
  background: transparent;
  text-align: left;
}

.manual-group {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 42px;
  border-radius: 10px;
  padding: 8px 10px;
}

.manual-group span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.manual-group strong {
  color: var(--gold-soft);
  font-size: .86rem;
}

.manual-group:hover,
.manual-group.active,
.manual-item:hover,
.manual-item.active {
  border-color: rgba(201, 168, 106, .42);
  color: var(--gold-soft);
  background: rgba(201, 168, 106, .08);
}

.manual-content {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.manual-toolbar {
  display: grid;
  gap: 14px;
  padding: 18px;
  border-bottom: 1px solid var(--line);
}

.manual-toolbar h1 {
  margin: 0;
  font-size: clamp(2rem, 4vw, 3.2rem);
}

.manual-tools {
  display: grid;
  gap: 10px;
}

.manual-search-label {
  display: grid;
  gap: 6px;
  color: var(--text-dim);
  font-size: .9rem;
}

.manual-search {
  width: 100%;
  min-height: 46px;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 10px 12px;
  color: var(--text);
  background: rgba(13, 15, 14, .78);
}

.manual-search:focus {
  outline: 2px solid rgba(201, 168, 106, .45);
  outline-offset: 2px;
}

.manual-switch {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  color: var(--silver);
}

.manual-switch input {
  width: 18px;
  height: 18px;
  accent-color: var(--gold);
}

.manual-list-head {
  padding: 14px 18px 0;
}

.manual-list-head h2 {
  margin-bottom: 4px;
  font-size: 1.35rem;
}

.manual-list {
  flex: 1;
  min-height: 0;
  overflow: auto;
  padding: 8px 12px 14px;
}

.manual-item {
  display: grid;
  gap: 5px;
  min-height: 58px;
  border-radius: 10px;
  padding: 10px 12px;
}

.manual-item span,
.manual-viewer-title {
  overflow-wrap: anywhere;
}

.manual-item small {
  color: var(--text-mute);
}

.manual-viewer {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.manual-viewer-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 58px;
  padding: 8px 10px;
  border-bottom: 1px solid var(--line);
}

.manual-close {
  width: 40px;
  height: 40px;
  cursor: pointer;
  border: 1px solid var(--line);
  border-radius: 10px;
  color: var(--gold-soft);
  background: var(--bg-elev2);
  font-size: 1.4rem;
  line-height: 1;
}

.manual-viewer-title {
  min-width: 0;
  color: var(--gold-soft);
  font-weight: 800;
  line-height: 1.35;
}

.manual-frame {
  width: 100%;
  flex: 1;
  min-height: 0;
  border: 0;
  background: #fff;
}

@media (max-width: 920px) {
  .stats-grid,
  .topic-hero,
  .tuning-principle,
  .insight-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .electrical-grid {
    grid-template-columns: 1fr;
  }

  .manual-page {
    grid-template-columns: 1fr;
  }

  .manual-sidebar {
    position: static;
    max-height: 42vh;
  }

  .manual-sidebar:not([open]) {
    max-height: none;
  }

  .manual-content {
    min-height: 58vh;
  }

  .manual-viewer {
    position: fixed;
    inset: 0;
    z-index: 40;
    display: none;
    border: 0;
    border-radius: 0;
  }

  .manual-viewer.open {
    display: flex;
  }

  body.manual-viewer-open {
    overflow: hidden;
  }
}

@media (max-width: 720px) {
  .wrap,
  .hero-inner,
  .nav-shell {
    width: min(100% - 24px, 1180px);
  }

  .nav-shell {
    grid-template-columns: auto auto;
    min-height: 58px;
    gap: 10px;
  }

  .brand { font-size: 1rem; }

  .nav-toggle {
    display: inline-grid;
    place-items: center;
  }

  .nav-links {
    grid-column: 1 / -1;
    justify-self: stretch;
    display: none;
    flex-direction: column;
    max-height: calc(100vh - 70px);
    overflow-y: auto;
    padding-bottom: 12px;
  }

  .nav-links a {
    display: flex;
    align-items: center;
    min-height: 48px;
  }

  .nav-links.open { display: flex; }

  .plate-badge {
    position: absolute;
    right: 58px;
    transform: scale(.86);
    transform-origin: right center;
  }

  .hero {
    min-height: auto;
  }

  .hero-inner {
    padding: 54px 0;
  }

  .hero-actions {
    align-items: stretch;
  }

  .tuning-anchor-nav {
    position: static;
  }

  .tuning-principle,
  .tuning-kpi,
  .tuning-grid,
  .model-source-grid,
  .insight-grid {
    grid-template-columns: 1fr;
  }

  .tuning-card,
  .model-card {
    border-radius: 12px;
  }

  .hero-actions .btn {
    width: 100%;
  }

  .stats-grid,
  .topic-hero,
  .topic-nav {
    grid-template-columns: 1fr;
  }

  .section {
    padding: 44px 0;
  }

  .page-main {
    padding-top: 34px;
  }

  .filter-panel {
    padding: 12px;
  }

  .tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 2px;
    -webkit-overflow-scrolling: touch;
  }

  .tab {
    flex: 0 0 auto;
  }

  .content-card,
  .topic-summary,
  .analysis-overview,
  .electrical-card,
  .insight-card {
    padding: 18px;
  }

  .priority-card {
    grid-template-columns: 42px minmax(0, 1fr);
  }

  .priority-body {
    padding: 18px 18px 18px 8px;
  }

  .priority-head {
    display: grid;
    justify-content: start;
  }

  .part-scene-head,
  .part-scene-meta {
    display: grid;
  }

  .part-scene-switch {
    grid-template-columns: 1fr;
  }

  .part-scene-meta span {
    flex: auto;
  }

  .part-scene-viewer .viewer3d-canvas {
    height: min(58vh, 430px);
    min-height: 300px;
  }

  .viewer3d-canvas {
    height: min(62vh, 460px);
    min-height: 320px;
  }

  .viewer3d-panel {
    left: 10px;
    bottom: 10px;
    width: calc(100% - 20px);
    padding: 11px 12px;
  }

  .viewer3d-panel h3 {
    font-size: 1rem;
  }

  .viewer3d-panel p {
    font-size: .86rem;
  }

  .viewer3d-tools {
    top: 10px;
    right: 10px;
  }

  .viewer3d-tool {
    width: 40px;
    height: 40px;
  }

  .viewer3d-subsystems {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .viewer3d-chip {
    flex: 0 0 auto;
  }

  .topic-cover img {
    min-height: 210px;
  }

  .lightbox {
    padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
  }

  .lightbox-panel {
    width: 100%;
    height: 100%;
    max-height: none;
    border-radius: 0;
    border-width: 0;
  }

  .lightbox-head {
    align-items: center;
  }

  .lightbox-media img,
  .lightbox-media video {
    max-width: 100%;
    max-height: calc(100vh - 180px);
  }

  .topic-nav a:last-child { text-align: left; }

  .manual-page {
    width: min(100% - 24px, 1180px);
    min-height: auto;
    padding-top: 12px;
  }

  .manual-toolbar,
  .manual-list-head {
    padding-left: 14px;
    padding-right: 14px;
  }

  .manual-list {
    padding-left: 8px;
    padding-right: 8px;
  }

  .manual-viewer-head {
    padding-top: max(8px, env(safe-area-inset-top));
    grid-template-columns: auto minmax(0, 1fr);
  }

  .manual-viewer-head .btn {
    grid-column: 1 / -1;
    min-height: 40px;
  }
}

@media (max-width: 600px) {
  .sourcing-table-wrap {
    overflow: visible;
    border: 0;
  }

  .sourcing-table {
    min-width: 0;
    background: transparent;
  }

  .sourcing-table,
  .sourcing-table tbody,
  .sourcing-table tr,
  .sourcing-table td {
    display: block;
    width: 100%;
  }

  .sourcing-table thead {
    display: none;
  }

  .sourcing-table tr {
    margin-bottom: 12px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: rgba(29, 36, 32, .72);
    overflow: hidden;
  }

  .sourcing-table td {
    display: grid;
    grid-template-columns: minmax(96px, 34%) minmax(0, 1fr);
    gap: 10px;
    border-bottom: 1px solid var(--line);
  }

  .sourcing-table td::before {
    content: attr(data-label);
    color: var(--gold);
    font-size: .86rem;
  }

  .sourcing-table td:last-child {
    border-bottom: 0;
  }
}

@media (max-width: 420px) {
  .plate-badge {
    display: none;
  }

  h1 {
    font-size: clamp(2rem, 13vw, 3.2rem);
  }

  .stats-grid,
  .card-grid,
  .gallery-grid,
  .topic-media-grid {
    grid-template-columns: 1fr;
  }
}
