.error-boundary{--error-bg: var(--color-surface, #FAFAF8);--error-border: var(--color-warning-bg, #F4E4C1);--error-text: var(--color-text, #2E2E38);--error-text-muted: var(--color-text-muted, #6B6B75);--error-icon: var(--color-warning-text, #8B5A00);display:flex;align-items:center;justify-content:center;min-height:200px;padding:var(--space-xl, 2rem);background:var(--error-bg);border:1px solid var(--error-border);border-radius:var(--radius-xl, .75rem);box-shadow:0 4px 6px #2e2e381a}.error-boundary__content{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg, 1.5rem);max-width:500px;text-align:center}.error-boundary__icon{color:var(--error-icon);opacity:.8}.error-boundary__message{display:flex;flex-direction:column;gap:var(--space-md, 1rem)}.error-boundary__title{margin:0;font-size:var(--text-xl, 1.25rem);font-weight:600;color:var(--error-text);line-height:var(--leading-tight, 1.25)}.error-boundary__description{margin:0;font-size:var(--text-base, 1rem);color:var(--error-text-muted);line-height:var(--leading-relaxed, 1.625)}.error-boundary__actions{display:flex;gap:var(--space-md, 1rem);flex-wrap:wrap;justify-content:center}.error-boundary__button{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-sm, .75rem) var(--space-lg, 1.5rem);font-size:var(--text-sm, .875rem);font-weight:500;border-radius:var(--radius-lg, .5rem);cursor:pointer;transition:all .2s ease;text-decoration:none;border:1px solid transparent;&:focus{outline:2px solid var(--color-nav, #5B6C9D);outline-offset:2px}}.error-boundary__button--primary{background:var(--color-accent, #E39A5B);color:var(--color-surface, #FAFAF8);border-color:var(--color-accent, #E39A5B);&:hover{background:var(--color-primary-hover, #D18A4A);border-color:var(--color-primary-hover, #D18A4A)}&:active{transform:translateY(1px)}}.error-boundary__button--secondary{background:transparent;color:var(--color-nav, #5B6C9D);border-color:var(--color-nav, #5B6C9D);&:hover{background:var(--color-bg-accent, #DAD7EE)}&:active{transform:translateY(1px)}}.error-boundary__details{width:100%;margin-top:var(--space-lg, 1.5rem);padding:var(--space-md, 1rem);background:#2e2e380d;border-radius:var(--radius-md, .375rem);text-align:left}.error-boundary__details-summary{font-weight:600;color:var(--error-text);cursor:pointer;padding:var(--space-xs, .5rem) 0;&:hover{color:var(--color-nav, #5B6C9D)}}.error-boundary__details-content{margin-top:var(--space-md, 1rem);h3{margin:var(--space-md, 1rem) 0 var(--space-xs, .5rem) 0;font-size:var(--text-sm, .875rem);font-weight:600;color:var(--error-text)}}.error-boundary__code{background:#2e2e381a;padding:var(--space-sm, .75rem);border-radius:var(--radius-sm, .25rem);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:var(--text-xs, .75rem);color:var(--error-text);overflow-x:auto;white-space:pre-wrap;word-break:break-word}.error-fallback{display:flex;align-items:center;justify-content:center;padding:var(--space-lg, 1.5rem);background:var(--error-bg);border:1px solid var(--error-border);border-radius:var(--radius-lg, .5rem);min-height:120px}.error-fallback__content{display:flex;flex-direction:column;align-items:center;gap:var(--space-md, 1rem);text-align:center}.error-fallback__message{margin:0;font-size:var(--text-sm, .875rem);color:var(--error-text-muted);line-height:var(--leading-relaxed, 1.625)}.error-fallback__retry{padding:var(--space-xs, .5rem) var(--space-md, 1rem);font-size:var(--text-xs, .75rem);font-weight:500;background:transparent;color:var(--color-nav, #5B6C9D);border:1px solid var(--color-nav, #5B6C9D);border-radius:var(--radius-md, .375rem);cursor:pointer;transition:all .2s ease;&:hover{background:var(--color-bg-accent, #DAD7EE)}&:focus{outline:2px solid var(--color-nav, #5B6C9D);outline-offset:2px}}.api-error-fallback{display:flex;flex-direction:column;gap:var(--space-lg, 1.5rem);padding:var(--space-lg, 1.5rem);background:var(--error-bg);border:1px solid var(--error-border);border-radius:var(--radius-lg, .5rem)}.api-error-fallback__content{display:flex;align-items:center;gap:var(--space-md, 1rem)}.api-error-fallback__icon{color:var(--color-success, #BFD3C1);flex-shrink:0}.api-error-fallback__message{flex:1}.api-error-fallback__title{margin:0 0 var(--space-xs, .5rem) 0;font-size:var(--text-base, 1rem);font-weight:600;color:var(--error-text)}.api-error-fallback__description{margin:0;font-size:var(--text-sm, .875rem);color:var(--error-text-muted);line-height:var(--leading-relaxed, 1.625)}.api-error-fallback__retry{padding:var(--space-xs, .5rem) var(--space-md, 1rem);font-size:var(--text-xs, .75rem);font-weight:500;background:var(--color-success, #BFD3C1);color:var(--color-text, #2E2E38);border:1px solid var(--color-success, #BFD3C1);border-radius:var(--radius-md, .375rem);cursor:pointer;transition:all .2s ease;flex-shrink:0;&:hover{background:var(--color-secondary-hover, #A8C2AA);border-color:var(--color-secondary-hover, #A8C2AA)}&:focus{outline:2px solid var(--color-nav, #5B6C9D);outline-offset:2px}}.api-error-fallback__note{padding-top:var(--space-md, 1rem);border-top:1px solid var(--error-border);p{margin:0;font-size:var(--text-xs, .75rem);color:var(--error-text-muted);line-height:var(--leading-relaxed, 1.625)}}@media (max-width: 768px){.error-boundary{padding:var(--space-lg, 1.5rem);min-height:160px}.error-boundary__content{gap:var(--space-md, 1rem)}.error-boundary__actions{flex-direction:column;width:100%}.error-boundary__button{width:100%}.api-error-fallback__content{flex-direction:column;text-align:center}}@media (prefers-reduced-motion: reduce){.error-boundary__button,.error-fallback__retry,.api-error-fallback__retry{transition:none}.error-boundary__button:active,.error-fallback__retry:active,.api-error-fallback__retry:active{transform:none}}@media (prefers-contrast: high){.error-boundary,.error-fallback,.api-error-fallback{border-width:2px}.error-boundary__button,.error-fallback__retry,.api-error-fallback__retry{border-width:2px;font-weight:600}}
