/* product_stage31_fix.css · Stage 3.1 bugfix + self-check visual hooks */
html[data-stage31="enabled"] .pc-nav__status[data-source="real_dry_run"] .pc-nav__status-dot { background: var(--c-asset_capsule); box-shadow: 0 0 0 3px color-mix(in srgb, var(--c-asset_capsule) 18%, transparent); }
.pc-mainline-strip { margin: 0 0 18px; padding: 16px 18px; border-radius: 18px; border: 1px solid color-mix(in srgb, var(--c-mainline_invest) 24%, var(--pc-line-soft)); background: linear-gradient(135deg, color-mix(in srgb, var(--c-mainline_invest) 10%, transparent), transparent 58%), color-mix(in srgb, var(--pc-bg-surface-2) 86%, transparent); }
.pc-mainline-strip__top { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.pc-mainline-strip__eyebrow { margin-bottom:6px; color:var(--pc-fg-muted); font:var(--w-label,500) 10px/1.25 var(--font-mono); letter-spacing:.10em; }
.pc-mainline-strip__title { margin:0; color:var(--pc-fg-primary); font-family:var(--font-display); font-size:clamp(18px,2vw,24px); line-height:1.22; letter-spacing:0; }
.pc-mainline-strip__budget { flex:0 0 auto; min-width:126px; padding:9px 12px; border-radius:12px; border:1px solid var(--pc-line-hairline); background:color-mix(in srgb,var(--pc-bg-base) 72%,transparent); color:var(--pc-fg-secondary); font:var(--w-label,500) 11px/1.4 var(--font-mono); text-align:right; }
.pc-mainline-strip__body { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,.6fr); gap:16px; margin-top:12px; color:var(--pc-fg-secondary); font-size:13px; line-height:1.65; }
.pc-mainline-strip__next { padding-left:14px; border-left:2px solid color-mix(in srgb,var(--c-mainline_invest) 45%,transparent); }
.pc-mainline-strip__next strong { color:var(--pc-fg-primary); font-weight:600; }
.pc-clock-event-arc { stroke-linecap:round; pointer-events:none; filter:drop-shadow(0 0 6px rgba(0,0,0,.12)); }
@media (max-width: 880px) { .pc-mainline-strip__top, .pc-mainline-strip__body { display:block; } .pc-mainline-strip__budget { margin-top:12px; text-align:left; } .pc-mainline-strip__next { margin-top:12px; } }
