.rootcause { max-width: 1120px; margin: 0 auto; padding: 64px 24px 80px; scroll-margin-top: 90px; }
.rootcause > h2 { font-size: clamp(28px, 4vw, 40px); letter-spacing: -.035em; color: var(--text-heading); margin-bottom: 28px; }
.rootcause__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; align-items: start; }
.rootcause__card { overflow: hidden; border: 1px solid var(--border); border-radius: 16px; background: var(--bg-surface); }
.rootcause__card header { padding: 20px 22px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--border); }
.rootcause__card h3 { font-size: 17px; font-weight: 600; margin: 0; color: var(--text-heading); }
.rootcause__card a { color: var(--text-secondary); font-size: 13px; white-space: nowrap; }
.rootcause__card pre { margin: 0; padding: 22px; height: 230px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; font: 12px/1.65 var(--font-mono); color: var(--text-body); background: var(--bg-surface-alt); tab-size: 2; }
.rootcause__card footer { padding: 18px 22px; }
.rootcause__card button { cursor: pointer; width: 100%; min-height: 44px; border: 1px solid var(--border); border-radius: 9px; color: var(--text-heading); font: 600 14px var(--font-sans); background: var(--bg-surface-alt); }
.rootcause__card--opguard { border-color: rgba(16, 185, 129, .4); }
.rootcause__card--opguard button { background: #087c59; border-color: #087c59; color: #fff; }
.rootcause button:hover { filter: brightness(1.15); }
.rootcause button:disabled { opacity: .65; cursor: wait; }
.rootcause :is(button, a, summary):focus-visible { outline: 2px solid var(--blue-400); outline-offset: 4px; }
.rootcause__answer { margin: 0 22px 22px; padding-top: 18px; max-height: 420px; overflow: auto; border-top: 1px solid var(--border); color: var(--text-body); font-size: 14px; line-height: 1.75; white-space: pre-wrap; overflow-wrap: anywhere; }
.rootcause details { margin-top: 22px; padding: 18px 22px; border: 1px solid var(--border); border-radius: 12px; color: var(--text-body); }
.rootcause summary { cursor: pointer; font-size: 14px; font-weight: 600; }
.rootcause details p { margin-top: 14px; font-size: 14px; line-height: 1.7; }
.rootcause details a { color: var(--green-500); }
.rootcause__note { font-size: 12px; color: var(--text-muted); margin-top: 14px; }
@media (max-width: 700px) { .rootcause__grid { grid-template-columns: 1fr; } .rootcause { padding: 40px 18px 60px; } }

.rootcause__cost { padding: 16px 22px 0; display: grid; gap: 5px; font-size: 13px; color: var(--text-secondary); }
.rootcause__cost strong { color: var(--text-heading); font-size: 15px; }
.rootcause__cost span { font-size: 12px; }
.rootcause__note a { color: var(--text-secondary); }
.rootcause__answer a { color: var(--green-500); white-space: normal; overflow-wrap: anywhere; }
.rootcause__source { margin: 12px 22px 0; font-size: 12px; color: var(--text-secondary); }
