/* Shared transient UI. Findings typography and evidence layout are unchanged. */
.loading-ring{display:inline-block;flex:0 0 auto;width:18px;height:18px;border:2px solid #d9e6d8;border-top-color:var(--green-medium,#1f7a59);border-radius:50%;animation:research-spin 1s linear infinite}
.loading-caption{display:flex;align-items:center;gap:12px;color:var(--text-lighter,#53635b);font-size:13px;line-height:1.6}
.loading-inline{display:inline-flex;align-items:center}.loading-inline .loading-ring{width:15px;height:15px}
.loading-shell{padding:24px 0;width:100%;min-width:0}.loading-shell>.loading-caption{margin-bottom:28px}
.loading-shapes{display:grid;gap:14px;max-width:900px}.loading-line{display:block;height:12px;border-radius:4px;background:#e8eee5;position:relative;overflow:hidden;max-width:100%}
.loading-line::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,#ffffffa0,transparent);transform:translateX(-100%);animation:research-shimmer 1.8s ease-in-out infinite}
.loading-title{height:26px;width:57%}.loading-short{width:36%}.loading-facts{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:14px}
.loading-card{display:grid;align-content:start;gap:18px;background:#fff;border:1px solid var(--line,#dce5da);border-radius:8px;padding:24px;min-height:170px}
.loading-library{grid-column:1/-1;padding-top:0}.loading-library .loading-shapes{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none}.loading-library .loading-card{min-height:250px}.loading-library .loading-card>.loading-short:first-child{width:38px;height:38px}
.loading-property .loading-facts{display:none}.loading-property{padding:12px 0 24px}.loading-property .loading-title{width:70%}
.research-progress{background:#fff;border:1px solid var(--line,#dce5da);border-radius:12px;padding:28px 30px;margin:0 0 24px;animation:research-enter 350ms ease-out both}
.research-progress-heading{display:flex;align-items:center;gap:18px}.research-progress-heading h2{font-size:25px;line-height:1.2;margin:0 0 7px}.research-progress-heading p{font-size:13px;line-height:1.6;color:var(--text-lighter,#53635b);margin:0}
.research-progress-symbol{width:34px;height:34px;flex:0 0 34px}.progress-resting{display:grid;place-items:center;border-radius:50%;color:#84621f;background:#f8f1df;font-size:19px}.research-progress[data-phase=review] .progress-resting{color:var(--green-medium,#1f7a59);background:#eaf4e5}
#progress .research-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;list-style:none;margin:26px 0 0;padding:24px 0 0;border-top:1px solid var(--line,#dce5da)}
#progress .research-steps li{display:flex;align-items:center;gap:10px;min-width:0;color:var(--text-lighter,#53635b);font-size:12px}
.research-steps strong{display:block;font-weight:500;font-size:12px;line-height:1.4}.research-steps small{display:block;font-size:10px;line-height:1.5;margin-top:4px;color:#61736a}
.research-step-symbol{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border:1.5px solid #d3dfd1;border-radius:50%;font-size:12px}.research-step-symbol svg{width:15px;height:15px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.research-steps [data-step-state=complete] .research-step-symbol{background:#eaf4e5;border-color:#eaf4e5;color:var(--green-medium,#1f7a59)}
.research-steps [data-step-state=active] .research-step-symbol{border-top-color:var(--green-medium,#1f7a59);animation:research-spin 1s linear infinite}.research-steps [data-step-state=active] strong{color:var(--dark-evergreen,#092d2e)}
.research-steps :is([data-step-state=partial],[data-step-state=error],[data-step-state=review],[data-step-state=paused]) .research-step-symbol{border-color:#c6a66b;background:#fbf5e9;color:#84621f}
button.is-loading{cursor:wait}button.is-loading::before{content:"";display:inline-block;flex:0 0 14px;width:14px;height:14px;border:1.5px solid currentColor;border-right-color:transparent;border-radius:50%;animation:research-spin 1s linear infinite}
@keyframes research-spin{to{transform:rotate(360deg)}}
@keyframes research-shimmer{to{transform:translateX(100%)}}
@keyframes research-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.research-progress{padding:22px 20px}.research-progress-heading{gap:14px;align-items:flex-start}.research-progress-heading h2{font-size:23px}.research-progress-heading p{font-size:12px}.research-progress-symbol{width:28px;height:28px;flex-basis:28px;margin-top:2px}#progress .research-steps{gap:20px;grid-template-columns:1fr;margin-top:22px;padding-top:20px}.research-steps strong{font-size:13px}.research-steps small{font-size:11px}.loading-library .loading-shapes,.loading-facts{grid-template-columns:1fr}.loading-library .loading-card{min-height:200px}.loading-title{width:76%}.loading-card{padding:20px}.loading-shell{padding-top:16px}}
@media(prefers-reduced-motion:reduce){.loading-ring,.loading-line::after,.research-progress,.research-steps [data-step-state=active] .research-step-symbol,button.is-loading::before{animation:none!important}.loading-line::after{display:none}.research-steps [data-step-state=active] .research-step-symbol{background:#eaf4e5}}
@media print{.loading-shell,.loading-inline,.research-progress{display:none!important}}
/* The server owns research; this action lets people leave the progress view. */
.research-background{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line);margin-top:22px;padding-top:22px}
.research-background p{font-size:12px;line-height:1.7;color:var(--text-lighter);max-width:52ch;margin:0}
.research-background .button{flex-shrink:0}
@media(max-width:600px){.research-background{align-items:start;flex-direction:column;gap:14px}.research-background .button{width:100%}}
