.feedback-state{min-width:0;color:var(--body-muted);font-family:var(--font-interface);font-size:var(--text-small);text-align:center;align-content:center;justify-items:center;gap:.75rem;padding:clamp(1.5rem,4vw,2.5rem) 1.25rem;line-height:1.65;display:grid}.feedback-state>svg{width:1.5rem;height:1.5rem;color:var(--accent)}.feedback-state.is-error>svg{color:var(--danger)}.feedback-state p{overflow-wrap:anywhere;max-width:44ch;margin:0}.feedback-state h2{max-width:32ch;color:var(--heading);font-size:var(--text-lead);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-title);margin:0}.feedback-state .btn{margin-top:.5rem}.feedback-state.is-loading{min-height:clamp(9rem,22vh,15rem)}.feedback-spinner{border:2px solid var(--card-bd);border-top-color:var(--accent);border-radius:50%;width:1.5rem;height:1.5rem;animation:.85s linear infinite feedback-spin;display:block}.feedback-inline{border:1px solid var(--card-bd);border-radius:var(--radius-control);background:var(--fill-subtle);min-width:0;color:var(--body-muted);font-family:var(--font-interface);font-size:var(--text-small);align-items:center;gap:.625rem;padding:.75rem 1rem;line-height:1.55;display:flex}.feedback-inline>svg{flex:0 0 1rem;width:1rem;height:1rem}.feedback-inline>span{overflow-wrap:anywhere;flex:1;min-width:0}.feedback-inline[data-tone=error]{border-color:color-mix(in srgb,var(--danger) 30%,var(--card-bd));background:color-mix(in srgb,var(--danger) 7%,var(--hero-base));color:var(--danger)}.feedback-inline[data-tone=success]>svg{color:var(--approve)}.feedback-inline button{min-height:2.75rem;color:var(--heading);text-underline-offset:4px;flex-shrink:0;text-decoration:underline}.feedback-inline button:disabled,.feedback-state button:disabled{cursor:wait;opacity:.7}.recovery-page{min-height:100svh;padding:var(--page-block,clamp(28px,4vw,56px)) var(--page-gutter,clamp(20px,3vw,48px));background:var(--hero-base);color:var(--heading);font-family:var(--font-interface);align-items:center;display:grid;position:relative}.recovery-page.is-embedded{min-height:72svh}.recovery-frame{width:min(100%,var(--page-max,1200px));margin-inline:auto}.recovery-brand{font-size:1.125rem;font-weight:var(--weight-semibold);letter-spacing:var(--tracking-title);align-items:center;gap:.625rem;display:inline-flex}.recovery-brand>span:first-child{background:var(--accent);width:24px;height:28px}.recovery-composition{grid-template-columns:minmax(0,1fr) minmax(0,.85fr);align-items:center;gap:clamp(2rem,6vw,6rem);margin-block:clamp(2.5rem,8vh,6rem);display:grid}.recovery-copy{min-width:0;max-width:34rem}.recovery-context{color:var(--body-muted);font-size:var(--text-small);margin:0 0 1rem}.recovery-copy h1{max-width:15ch;font-family:var(--font-display);font-size:clamp(2rem,3.6vw,3rem);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-title);text-wrap:balance;margin:0;line-height:1.12}.recovery-copy h1:focus{outline:none}.recovery-description{max-width:41ch;color:var(--body-muted);font-size:var(--text-body);margin:1.25rem 0 0;line-height:1.7}.recovery-actions{flex-wrap:wrap;align-items:center;gap:1.25rem;margin-top:2rem;display:flex}.recovery-actions .btn{min-height:3rem}.recovery-home{min-height:2.75rem;color:var(--body-muted);font-size:var(--text-small);text-underline-offset:4px;align-items:center;text-decoration:underline;display:inline-flex}.recovery-home:hover{color:var(--heading)}.recovery-visual{width:100%;max-width:26rem;color:var(--accent);display:block;overflow:visible}.recovery-track{stroke:var(--card-bd);stroke-width:1.5px}.recovery-path{stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-dasharray:1;animation:.85s ease-out both recovery-arrive}.recovery-halo{fill:currentColor;opacity:.09}.recovery-orb{fill:currentColor}.recovery-origin{fill:var(--hero-base);stroke:currentColor;stroke-width:2px}.recovery-spark{stroke:currentColor;stroke-width:1.5px;stroke-linejoin:round}.recovery-dot{fill:currentColor;opacity:.45}@keyframes feedback-spin{to{transform:rotate(360deg)}}@keyframes recovery-arrive{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@media (width<=640px){.recovery-composition{grid-template-columns:minmax(0,1fr);gap:1.5rem;margin-block:1.5rem 2rem}.recovery-visual{grid-row:1;justify-self:end;max-width:15rem}.recovery-description{font-size:var(--text-small)}.feedback-inline{flex-wrap:wrap}.feedback-inline button{margin-left:1.625rem}}@media (prefers-reduced-motion:reduce){.feedback-spinner,.recovery-path{animation:none}}
