.error-boundary{background:linear-gradient(135deg,#ffeaa7 0%,#fab1a0 100%);justify-content:center;align-items:center;min-height:100vh;padding:2rem;animation:.5s ease-out fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.error-container{text-align:center;background:#fff;border-radius:16px;width:100%;max-width:600px;padding:3rem;position:relative;overflow:hidden;box-shadow:0 8px 32px #0000001a}.error-container:before{content:"";background:linear-gradient(90deg,#e17055 0%,#fdcb6e 100%);height:4px;position:absolute;top:0;left:0;right:0}.error-icon{margin-bottom:1.5rem;font-size:4rem;animation:2s infinite bounce}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.error-title{color:#2d3436;margin:0 0 1rem;font-size:2rem;font-weight:700}.error-description{color:#636e72;margin:0 0 2rem;font-size:1.1rem;line-height:1.6}.error-actions{flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:2rem;display:flex}.error-btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.8rem 1.5rem;font-size:1rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.error-btn.primary{color:#fff;background:linear-gradient(135deg,#00b894 0%,#00a085 100%);box-shadow:0 4px 15px #00b8944d}.error-btn.primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00b89466}.error-btn.secondary{color:#fff;background:linear-gradient(135deg,#6c5ce7 0%,#5f3dc4 100%);box-shadow:0 4px 15px #6c5ce74d}.error-btn.secondary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6c5ce766}.error-btn.outline{color:#636e72;background:0 0;border:2px solid #ddd}.error-btn.outline:hover{color:#6c5ce7;background:#f8f9fa;border-color:#6c5ce7;transform:translateY(-2px)}.error-details{text-align:left;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-top:2rem;overflow:hidden}.error-details summary{cursor:pointer;color:#495057;background:#e9ecef;border:none;outline:none;padding:1rem;font-weight:600;transition:background .2s}.error-details summary:hover{background:#dee2e6}.error-details[open] summary{color:#fff;background:#6c5ce7}.error-stack{max-height:400px;padding:1rem;overflow-y:auto}.error-stack h4{color:#495057;text-transform:uppercase;letter-spacing:.5px;margin:1rem 0 .5rem;font-size:.9rem;font-weight:600}.error-stack h4:first-child{margin-top:0}.error-stack pre{color:#ddd;white-space:pre-wrap;word-break:break-word;background:#2d3436;border-radius:4px;padding:1rem;font-size:.8rem;line-height:1.4;overflow-x:auto}@media (width<=768px){.error-boundary{padding:1rem}.error-container{padding:2rem}.error-title{font-size:1.5rem}.error-description{font-size:1rem}.error-actions{flex-direction:column;align-items:center}.error-btn{justify-content:center;width:100%;max-width:250px}}@media (width<=480px){.error-container{padding:1.5rem}.error-icon{font-size:3rem}.error-title{font-size:1.3rem}.error-actions{gap:.5rem}.error-btn{padding:.7rem 1.2rem;font-size:.9rem}}.error-btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.error-btn.loading{position:relative}.error-btn.loading:after{content:"";border:2px solid #0000;border-top-color:currentColor;border-radius:50%;width:16px;height:16px;margin:-8px 0 0 -8px;animation:1s linear infinite spin;position:absolute;top:50%;left:50%}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-color-scheme:dark){.error-container{color:#ddd;background:#2d3436}.error-title{color:#fff}.error-description{color:#b2bec3}.error-details{background:#636e72;border-color:#74b9ff}.error-details summary{color:#ddd;background:#636e72}.error-details[open] summary{color:#fff;background:#6c5ce7}.error-stack h4{color:#ddd}}
