/* Final visual pass: restrained operational depth, rhythm, and interaction polish. */
body::before {
  content: "";
  position: fixed;
  inset: 114px 0 auto;
  height: 1px;
  background: rgb(255 255 255 / 80%);
  pointer-events: none;
}

.app-header { box-shadow: inset 0 -1px rgb(255 255 255 / 7%); }
.brand-mark { transform: skewY(-6deg); }
.brand-lockup > div:last-child { transform: translateY(1px); }
.view.is-active { animation: view-in 180ms ease-out; }
@keyframes view-in { from { opacity: 0; transform: translateY(3px); } to { opacity: 1; transform: none; } }

.explorer-shell, .agent-workspace { outline: 1px solid rgb(255 255 255 / 80%); outline-offset: -2px; }
.rule-row { transition: background-color 120ms ease, box-shadow 120ms ease; }
.rule-row:active { background: #edf5f2; }
.rule-detail { scrollbar-color: #c8d3cf transparent; scrollbar-width: thin; }
.rule-list, .conversation, .analysis-scroll { scrollbar-color: #c8d3cf transparent; scrollbar-width: thin; }

.primary-button, .analyze-button, .commit-button { transition: background-color 140ms ease, transform 140ms ease, box-shadow 140ms ease; }
.primary-button:hover, .analyze-button:hover, .commit-button:hover:not(:disabled) { transform: translateY(-1px); box-shadow: 0 7px 16px rgb(16 105 97 / 18%); }
.nav-tab, .prompt-examples button, .similar-tags button { transition: color 130ms ease, border-color 130ms ease, background-color 130ms ease; }
.prompt-examples button:hover, .similar-tags button:hover { border-color: #9abfb3; background: #edf7f4; color: var(--teal-dark); }

.readiness-card { position: relative; overflow: hidden; }
.readiness-card::after { content: ""; position: absolute; inset: 0 0 0 auto; width: 3px; background: #d49b3f; }
.readiness-card.is-ready::after { background: var(--green); }
.readiness-card.is-blocked::after { background: var(--red); }
.workflow-strip li.is-current > span { box-shadow: 0 0 0 4px rgb(20 126 117 / 9%); }
.workflow-strip li.is-complete:not(:last-child)::after { background: #9cc8b6; }
.message-body > p { box-shadow: 0 2px 7px rgb(23 48 50 / 4%); }
.analysis-section { box-shadow: 0 2px 8px rgb(29 53 52 / 3%); }
.section-heading:hover { background: #f5f8f6; }
.section-heading[aria-expanded="false"] { border-bottom: 0; }
.section-heading[aria-expanded="false"] + .section-content { display: none; }
.section-heading[aria-expanded="false"] b { transform: rotate(-90deg); }
.section-heading b { transition: transform 140ms ease; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
