/* Scoped visual adoption for CodeCR interfaces; workflow and state stay native. */
.cv-app .topbar, .cv-app .coding-topbar, .cv-review .topbar {
  background-color: var(--cv-surface);
  background-image: linear-gradient(90deg, var(--cv-surface) 0%, rgb(13 18 24 / .86) 60%, rgb(13 18 24 / .58) 100%), url('/visual-system/patterns/orbit-field.svg');
  background-position: center, right center;
  background-size: auto, 420px auto;
  background-repeat: no-repeat;
}
.cv-app .tool-page-head, .cv-app .coding-head, .cv-app .evidence-head {
  position: relative;
  min-height: 108px;
  padding: 20px 24px;
  border: 1px solid var(--cv-stroke);
  border-radius: var(--cv-radius);
  background-color: var(--cv-surface);
  background-image: linear-gradient(90deg, var(--cv-surface) 0%, rgb(13 18 24 / .93) 44%, rgb(13 18 24 / .40) 100%), url('/visual-system/patterns/orbit-field.svg');
  background-position: center, right center;
  background-size: auto, 440px auto;
  background-repeat: no-repeat;
}
.cv-app .tool-page-head::after, .cv-app .coding-head::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 32px;
  height: 2px;
  background: var(--cv-accent);
  pointer-events: none;
}
.cv-app .tool-page-head h1, .cv-app .coding-head h1, .cv-app .evidence-head h1 { font-weight: 600; letter-spacing: -.035em; }
.cv-app .tool-page-head p, .cv-app .coding-head p { line-height: 1.65; color: var(--cv-text-secondary); margin-bottom: 0; }
.cv-app .tool-rail .rail-top {
  padding-bottom: 16px;
  border-bottom: 1px solid var(--cv-stroke);
  background: linear-gradient(90deg, var(--cv-surface), rgb(13 18 24 / .55)), url('/visual-system/patterns/orbit-field.svg') right center/200px auto no-repeat;
}
.cv-app .provider-artwork { margin: 24px 0 0; padding: 0; overflow: hidden; border: 1px solid var(--cv-stroke); border-radius: var(--cv-radius); background: var(--cv-bg-deep); }
.cv-app .provider-artwork img { display: block; width: 100%; height: auto; max-height: 330px; object-fit: cover; }
.cv-app .provider-artwork figcaption { padding: 12px 16px; border-top: 1px solid var(--cv-stroke); color: var(--cv-text-secondary); font: 400 .6875rem/1.6 var(--cv-font-mono); }
.cv-app .provider-artwork + .provider-preview { margin-top: 16px; }
.cv-app .provider-artwork.neural-planet, .cv-review .review-artwork.neural-planet { --font-mono: var(--cv-font-mono); --line-control: var(--cv-stroke-control); max-width: none; }
.cv-app .provider-artwork .neural-planet-stage { height: 330px; aspect-ratio: auto; border-radius: 0; }
.cv-app .provider-artwork .neural-planet-fallback, .cv-review .review-artwork .neural-planet-fallback { height: 100%; max-height: none; object-fit: contain; }
.cv-app .provider-artwork .planet-bottom, .cv-review .review-artwork .planet-bottom { margin: 0; padding: 12px 16px; border-bottom: 0; border-top: 1px solid var(--cv-stroke); }
.cv-app .provider-artwork .planet-motion, .cv-review .review-artwork .planet-motion { min-height: 44px; padding: 10px 14px; }
.cv-app .provider-artwork .planet-hint, .cv-review .review-artwork .planet-hint { color: var(--cv-text-secondary); font-size: .6875rem; }
.cv-app .provider-preview {
  background-image: linear-gradient(160deg, rgb(13 18 24 / .82), rgb(8 11 15 / .96)), url('/visual-system/patterns/neural-mesh.svg');
  background-size: cover;
  background-position: center;
}
.cv-app .analytics-card, .cv-app .queue-group { border-color: var(--cv-stroke); }
.cv-app .analytics-card h2 { font-weight: 600; letter-spacing: -.01em; }
.cv-app .metric-content strong { font-variant-numeric: tabular-nums; letter-spacing: -.035em; }
.cv-app .provider-setup.v-card, .cv-app .billing-panel.v-card { --v-card-accent: var(--cv-stroke-control); }
.cv-app .connection-boundary.v-card { --v-card-accent: var(--cv-caution); }
.cv-app .state-error.v-card, .cv-app .error-panel.v-card { --v-card-accent: var(--cv-accent); }
.cv-app .v-card .v-eyebrow { margin-bottom: 12px; }
.cv-app .report-overview.v-card { --v-card-accent: var(--cv-stroke-control); }
.cv-app .workspace-section.v-surface { margin-bottom: 20px; }
.cv-app .review-commit { font-variant-numeric: tabular-nums; }

.cv-review .hero { padding-top: clamp(40px, 5vw, 72px); }
.cv-review .review-introduction { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); align-items: center; gap: 36px; margin-bottom: 32px; }
.cv-review .review-introduction__copy { min-width: 0; }
.cv-review .hero h1 { font-size: clamp(2.7rem, 4.2vw, 4.4rem); line-height: 1.04; letter-spacing: -.055em; }
.cv-review .hero .lede { font-size: clamp(1rem, 1.35vw, 1.125rem); margin: 24px 0 0; }
.cv-review .review-artwork { min-width: 0; margin: 0; border: 1px solid var(--cv-stroke); border-radius: var(--cv-radius); overflow: hidden; background: var(--cv-bg-deep); }
.cv-review .review-artwork img { display: block; width: 100%; height: auto; }
.cv-review .review-artwork figcaption { margin: 0; padding: 12px 16px; border-top: 1px solid var(--cv-stroke); color: var(--cv-text-secondary); font: 400 .6875rem/1.6 var(--cv-font-mono); }
.cv-review .hero .v-eyebrow { margin-bottom: 24px; }
.cv-review .review-form.v-card { --v-card-accent: var(--cv-accent); box-shadow: var(--cv-depth-1); }
.cv-review .review-form label { display: flex; align-items: center; gap: 10px; }
.cv-review .trust-row span { display: inline-flex; align-items: center; gap: 8px; }
.cv-review .trust-row span::before { content: none; }
.cv-review .trust-row .v-icon { color: var(--cv-text-secondary); }
.cv-review .how-it-works .v-eyebrow { margin-bottom: 16px; }
.cv-review .result-head h2 { letter-spacing: -.035em; }

@media (max-width: 700px) {
  .cv-review .review-introduction { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .cv-review .review-artwork img { height: 220px; object-fit: cover; }
  .cv-review .review-artwork .neural-planet-stage { height: 220px; aspect-ratio: auto; }
  .cv-review .review-artwork .neural-planet-fallback { height: 100%; object-fit: contain; }
  .cv-app .tool-page-head, .cv-app .coding-head, .cv-app .evidence-head { min-height: 104px; padding: 16px; background-size: auto, 320px auto; }
  .cv-review .trust-row { gap: 12px 20px; }
}
@media (forced-colors: active) {
  .cv-app .topbar, .cv-app .coding-topbar, .cv-review .topbar, .cv-app .provider-preview,
  .cv-app .tool-page-head, .cv-app .coding-head, .cv-app .evidence-head, .cv-app .tool-rail .rail-top { background-image: none; }
  .cv-app .tool-page-head::after, .cv-app .coding-head::after { background: CanvasText; }
  .cv-review .review-form.v-card { box-shadow: none; }
}
