.failure-card{display:flex;align-items:center;gap:20px;padding:22px;border:1px solid var(--ui-border,#34485c);border-radius:16px;background:var(--ui-surface,#14202d);color:var(--ui-text,#e8f0f8);margin-bottom:20px;text-align:left}
.repair-art{width:140px;flex:0 0 140px;align-self:center}.repair-art svg{display:block;width:100%;height:auto;overflow:visible}
.failure-copy{min-width:0;flex:1}.failure-copy h3{font-size:17px;line-height:1.6;margin:0 0 8px;color:inherit}.failure-copy p{font-size:13px;line-height:1.7;margin:0 0 10px;overflow-wrap:anywhere}.failure-hint{color:var(--ui-muted,#a6b6c8)}.failure-reason{color:var(--ui-muted,#a6b6c8);white-space:pre-wrap;border-left:2px solid #ffbc6e;padding-left:10px}
.failure-action{display:inline-flex;justify-content:center;align-items:center;min-height:44px;padding:10px 18px;background:#5ee0c0;color:#08251e;border:1px solid #5ee0c0;border-radius:10px;font-size:14px;cursor:pointer}.failure-action:hover:not(:disabled){background:#8debd4}.failure-action:focus-visible{outline:3px solid #7ceaf3;outline-offset:3px}.failure-action:disabled{opacity:.5;cursor:default}
.failure-card.dismissible{position:relative}.dismissible .failure-copy h3{padding-right:28px}.failure-dismiss{position:absolute;right:5px;top:5px;width:44px;height:44px;min-height:44px;display:grid;place-items:center;border:0;background:transparent;color:inherit;padding:10px}.failure-dismiss svg{width:20px;height:20px}
.repair-arm{transform-box:view-box;transform-origin:77px 78px;animation:repair-tighten 1.6s ease-in-out 3}.repair-head{transform-box:view-box;transform-origin:60px 64px;animation:repair-nod 1.6s ease-in-out 3}.repair-spark{animation:repair-spark 1.6s ease-in-out 3}
@keyframes repair-tighten{0%,100%{transform:rotate(0)}35%{transform:rotate(-12deg)}65%{transform:rotate(5deg)}}
@keyframes repair-nod{0%,100%{transform:rotate(0)}40%{transform:rotate(5deg)}}
@keyframes repair-spark{0%,100%{opacity:.25}40%,60%{opacity:1}}
@media(max-width:600px){.failure-card{gap:10px;padding:16px;align-items:flex-start}.repair-art{width:84px;flex-basis:84px}.failure-copy h3{font-size:15px}.failure-copy p{font-size:12px}}
@media(prefers-reduced-motion:reduce){.repair-art *{animation:none!important}}
