/* Phase 5 AI analysis and cross-module linkage */
.phase5-ai-page { gap: var(--space-md); }
.phase5-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: var(--space-md); flex: 0 0 104px; }
.phase5-summary-card { position: relative; min-width: 0; padding: var(--space-md) var(--space-lg); overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-bg-surface); }
.phase5-summary-card::before { content: ""; position: absolute; top: 0; left: 0; width: 76px; height: 2px; background: linear-gradient(90deg,var(--color-primary),transparent); }
.phase5-summary-card.is-accent::before { background: linear-gradient(90deg,var(--color-accent),transparent); }
.phase5-summary-card.is-warning::before { background: linear-gradient(90deg,var(--color-warning),transparent); }
.phase5-summary-card.is-danger::before { background: linear-gradient(90deg,var(--color-danger),transparent); }
.phase5-summary-card__label { color: var(--color-text-tertiary); font-size: var(--text-small); }
.phase5-summary-card__value { margin-top: 5px; color: var(--color-text-primary); font-family: var(--font-mono); font-size: 28px; font-weight: 700; line-height: 1; }
.phase5-summary-card__unit { margin-left: 5px; color: var(--color-text-secondary); font-family: var(--font-sans); font-size: var(--text-small); font-weight: 400; }
.phase5-summary-card__note { margin-top: 6px; overflow: hidden; color: var(--color-text-tertiary); font-size: var(--text-micro); text-overflow: ellipsis; white-space: nowrap; }
.phase5-workspace { display: grid; grid-template-columns: minmax(0,1.38fr) minmax(410px,.72fr); grid-template-rows: minmax(0,1fr) 315px; gap: var(--space-md); min-height: 0; }
.phase5-card { display: flex; flex-direction: column; min-width: 0; min-height: 0; padding-bottom: var(--space-md); }
.phase5-heading { display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); }
.phase5-heading__left { display: flex; align-items: center; min-width: 0; }
.phase5-heading__left::before { content: ""; width: 4px; height: 22px; margin-right: var(--space-sm); border-radius: 2px; background: var(--color-primary); }
.phase5-heading__title { color: var(--color-text-primary); font-size: var(--text-h3); font-weight: 700; }
.phase5-heading__meta { margin-left: var(--space-sm); color: var(--color-text-tertiary); font-size: var(--text-micro); }
.phase5-ai-badge { display: inline-flex; align-items: center; gap: 5px; padding: 4px 9px; border: 1px solid var(--color-primary-border); border-radius: 999px; color: var(--color-primary); background: var(--color-success-bg); font-size: var(--text-micro); }
.phase5-ai-badge::before { content: "AI"; font-family: var(--font-mono); font-size: 9px; font-weight: 700; }
.phase5-evidence-stage { position: relative; flex: 1; min-height: 0; margin-top: var(--space-sm); overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: #10221c; }
.phase5-evidence-scene { position: absolute; inset: 0; overflow: hidden; }
.phase5-evidence-scene--maturity { background: radial-gradient(circle at 24% 42%,#c87518 0 11px,transparent 12px),radial-gradient(circle at 62% 31%,#dc8c24 0 13px,transparent 14px),radial-gradient(circle at 73% 68%,#a75d16 0 10px,transparent 11px),repeating-linear-gradient(32deg,#173e2b 0 12%,#275f3d 13% 22%,#102f25 23% 31%); }
.phase5-evidence-scene--leaf { background: radial-gradient(ellipse at 28% 44%,#3d8b50 0 12%,transparent 13%),radial-gradient(ellipse at 60% 35%,#2f7441 0 16%,transparent 17%),radial-gradient(ellipse at 72% 68%,#4a9657 0 15%,transparent 16%),linear-gradient(145deg,#0e2d23,#254d34); }
.phase5-evidence-scene--vigor { background: radial-gradient(ellipse at 50% 58%,rgba(53,134,79,.9) 0 25%,transparent 26%),repeating-linear-gradient(38deg,#163b2c 0 10%,#2d7047 11% 18%,#102c24 19% 26%); }
.phase5-evidence-scene::after { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent 58%,rgba(3,9,12,.78)); pointer-events: none; }
.phase5-scanline { position: absolute; z-index: 2; left: 0; right: 0; top: 0; height: 2px; background: linear-gradient(90deg,transparent,var(--color-primary),transparent); animation: phase5-scan 5s linear infinite; opacity: .72; }
.phase5-detection-box { position: absolute; z-index: 3; border: 2px solid var(--color-primary); border-radius: 3px; box-shadow: 0 0 10px var(--color-primary-glow); }
.phase5-detection-box::before { content: attr(data-label); position: absolute; left: -2px; top: -22px; max-width: 220px; padding: 2px 6px; overflow: hidden; border-radius: 3px; color: #06150f; background: var(--color-primary); font-family: var(--font-mono); font-size: 10px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.phase5-evidence-top { position: absolute; z-index: 4; top: 8px; left: 9px; right: 9px; display: flex; justify-content: space-between; gap: 10px; color: #effaf4; font-size: var(--text-small); text-shadow: 0 1px 3px #000; }
.phase5-evidence-bottom { position: absolute; z-index: 4; left: 10px; right: 10px; bottom: 9px; display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; color: #dcebe3; font-size: var(--text-micro); }
.phase5-evidence-result { font-size: var(--text-body); font-weight: 700; }
.phase5-evidence-confidence { flex-shrink: 0; color: var(--color-primary-light); font-family: var(--font-mono); font-size: var(--text-h3); font-weight: 700; }
.phase5-evidence-strip { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 7px; flex: 0 0 74px; margin-top: 8px; }
.phase5-evidence-thumb { position: relative; min-width: 0; overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: linear-gradient(145deg,var(--color-bg-elevated),var(--color-success-bg)); cursor: pointer; outline: none; }
.phase5-evidence-thumb:hover,.phase5-evidence-thumb:focus-visible,.phase5-evidence-thumb.is-selected { border-color: var(--color-primary); box-shadow: inset 0 -3px 0 var(--color-primary); }
.phase5-evidence-thumb__type { padding: 10px 8px 0; overflow: hidden; color: var(--color-text-primary); font-size: var(--text-micro); font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.phase5-evidence-thumb__meta { padding: 4px 8px; color: var(--color-text-tertiary); font-family: var(--font-mono); font-size: 9px; }
.phase5-analysis { flex: 1; min-height: 0; margin-top: var(--space-sm); overflow-y: auto; }
.phase5-analysis-hero { padding: var(--space-md); border: 1px solid var(--color-primary-border); border-radius: var(--radius-md); background: var(--color-success-bg); }
.phase5-analysis-hero__title { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; color: var(--color-text-primary); font-size: var(--text-h3); font-weight: 700; }
.phase5-risk { flex-shrink: 0; padding: 3px 8px; border-radius: 999px; color: var(--color-primary); background: var(--color-success-bg); font-size: 10px; }
.phase5-risk.is-warning { color: var(--color-warning); background: var(--color-warning-bg); }
.phase5-risk.is-danger { color: var(--color-danger); background: var(--color-danger-bg); }
.phase5-analysis-meta { margin-top: 5px; color: var(--color-text-secondary); font-size: var(--text-small); line-height: 1.55; }
.phase5-model-bars { display: flex; flex-direction: column; gap: 9px; margin: var(--space-md) 0; }
.phase5-model-bar__head { display: flex; justify-content: space-between; gap: 10px; color: var(--color-text-secondary); font-size: var(--text-small); }
.phase5-model-bar__head strong { color: var(--color-text-primary); font-family: var(--font-mono); }
.phase5-model-bar__track { height: 7px; margin-top: 4px; overflow: hidden; border-radius: 999px; background: var(--color-bg-active); }
.phase5-model-bar__fill { height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--color-accent),var(--color-primary)); }
.phase5-advice { padding: 10px 11px; border-left: 3px solid var(--color-warning); border-radius: 4px; color: var(--color-text-secondary); background: var(--color-warning-bg); font-size: var(--text-small); line-height: 1.55; }
.phase5-actions { display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; margin-top: var(--space-md); }
.phase5-action-btn,.phase5-filter-btn { min-height: 32px; padding: 0 10px; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-bg-elevated); color: var(--color-text-secondary); font: inherit; font-size: var(--text-micro); cursor: pointer; }
.phase5-action-btn:hover,.phase5-filter-btn:hover { color: var(--color-primary); border-color: var(--color-primary-border); background: var(--color-bg-hover); }
.phase5-filter-btn { border-color: transparent; background: transparent; }
.phase5-filter-btn.is-active { color: var(--color-primary); border-color: var(--color-primary-border); background: var(--color-success-bg); }
.phase5-plot-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); grid-template-rows: repeat(2,minmax(0,1fr)); gap: 8px; flex: 1; min-height: 0; margin-top: var(--space-sm); }
.phase5-plot { min-width: 0; padding: 10px 11px; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-bg-elevated); cursor: pointer; outline: none; }
.phase5-plot:hover,.phase5-plot:focus-visible,.phase5-plot.is-selected { border-color: var(--color-primary); background: var(--color-bg-hover); box-shadow: inset 3px 0 0 var(--color-primary); }
.phase5-plot.is-risk { border-color: var(--color-warning-border); }
.phase5-plot__head { display: flex; justify-content: space-between; gap: 8px; }
.phase5-plot__name { color: var(--color-text-primary); font-size: var(--text-small); font-weight: 700; }
.phase5-plot__risk { color: var(--color-primary); font-size: 10px; }
.phase5-plot.is-risk .phase5-plot__risk { color: var(--color-warning); }
.phase5-plot-metric { display: grid; grid-template-columns: 52px minmax(0,1fr) 28px; gap: 5px; align-items: center; margin-top: 6px; color: var(--color-text-tertiary); font-size: 9px; }
.phase5-plot-metric__track { height: 5px; overflow: hidden; border-radius: 999px; background: var(--color-bg-active); }
.phase5-plot-metric__fill { height: 100%; border-radius: inherit; background: var(--color-primary); }
.phase5-plot-metric__value { color: var(--color-text-secondary); font-family: var(--font-mono); text-align: right; }
.phase5-event-filters { display: flex; gap: 4px; margin-top: var(--space-sm); padding: 3px; border-radius: var(--radius-sm); background: var(--color-bg-elevated); }
.phase5-event-list { display: flex; flex-direction: column; gap: 7px; min-height: 0; margin-top: 8px; overflow-y: auto; }
.phase5-event { display: grid; grid-template-columns: 6px minmax(0,1fr) auto; gap: 9px; padding: 9px 10px; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-bg-elevated); cursor: pointer; }
.phase5-event:hover,.phase5-event.is-selected { border-color: var(--color-primary-border); background: var(--color-bg-hover); }
.phase5-event__bar { border-radius: 3px; background: var(--color-primary); }
.phase5-event.is-warning .phase5-event__bar { background: var(--color-warning); }
.phase5-event.is-danger .phase5-event__bar { background: var(--color-danger); }
.phase5-event__title { color: var(--color-text-primary); font-size: var(--text-small); font-weight: 600; }
.phase5-event__meta { margin-top: 3px; overflow: hidden; color: var(--color-text-tertiary); font-size: var(--text-micro); text-overflow: ellipsis; white-space: nowrap; }
.phase5-event__side { text-align: right; }
.phase5-event__confidence { color: var(--color-primary); font-family: var(--font-mono); font-size: var(--text-small); font-weight: 700; }
.phase5-event__time { margin-top: 5px; color: var(--color-text-tertiary); font-family: var(--font-mono); font-size: 10px; }
.phase5-home-card { cursor: pointer; }
.phase5-home-card:hover { border-color: var(--color-primary-border); background: var(--color-bg-hover); }
@keyframes phase5-scan { from { transform: translateY(0); } to { transform: translateY(520px); } }
@media (prefers-reduced-motion: reduce) { .phase5-scanline { animation: none; } }
:root[data-theme="light"] .phase5-summary-card,:root[data-theme="light"] .phase5-card { background: rgba(255,255,255,.94); }
