.error-boundary{background-color:var(--bg-color,#1a1a1a);min-height:100vh;color:var(--text-color,#fff);flex-direction:column;justify-content:center;align-items:center;padding:2rem;font-family:system-ui,-apple-system,sans-serif;display:flex}.error-boundary__panel{background-color:var(--panel-bg,#2a2a2a);border:1px solid var(--border-color,#444);border-radius:8px;max-width:600px;padding:2rem;box-shadow:0 10px 35px #00000073}.error-boundary__heading{color:var(--error-color);margin:0 0 1rem;font-size:1.5rem;font-weight:700}.error-boundary__description{opacity:.8;margin:0 0 1rem;line-height:1.5}.error-boundary__details{background-color:var(--bg-color,#1a1a1a);border:1px solid var(--border-divider,#333);cursor:pointer;border-radius:4px;margin-bottom:1.5rem;padding:1rem}.error-boundary__details-summary{margin-bottom:.5rem;font-weight:700}.error-boundary__stack{background-color:var(--bg-color,#1a1a1a);max-height:200px;color:var(--error-color);border-radius:3px;margin:.5rem 0 0;padding:.5rem;font-size:.85rem;overflow:auto}.error-boundary__actions{flex-wrap:wrap;gap:1rem;display:flex}.error-boundary__button--primary{background-color:var(--accent-color,#4a9eff);color:var(--on-accent);cursor:pointer;border:none;border-radius:4px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:opacity .2s cubic-bezier(.4,0,.2,1)}.error-boundary__button--primary:hover{opacity:.8}.error-boundary__button--primary:focus-visible{outline:3px solid var(--accent-color,#4a9eff);outline-offset:2px}.error-boundary__button--secondary{background-color:var(--panel-bg,#2a2a2a);color:var(--text-color,#fff);border:1px solid var(--border-color,#444);cursor:pointer;border-radius:4px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:opacity .2s cubic-bezier(.4,0,.2,1)}.error-boundary__button--secondary:hover{opacity:.8}.error-boundary__button--secondary:focus-visible{outline:3px solid var(--border-color,#444);outline-offset:2px}.error-boundary__footer{opacity:.6;margin:1.5rem 0 0;font-size:.85rem}@media (prefers-reduced-motion:reduce){.error-boundary__button--primary,.error-boundary__button--secondary{transition:none}}@media (prefers-contrast:high){.error-boundary__panel,.error-boundary__button--primary,.error-boundary__button--secondary{border-width:2px}}
