.error-page{min-height:100vh;background:var(--color-primary-gradient);display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl)}.error-content{text-align:center;max-width:600px;background:var(--color-background-alt);border-radius:var(--radius-xl);padding:var(--spacing-2xl) var(--spacing-xl);box-shadow:var(--shadow-xl)}.error-icon{font-size:4rem;color:var(--color-warning);margin-bottom:1.5rem;animation:bounce 2s infinite}.error-icon.error{color:var(--color-danger)}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-20px)}60%{transform:translateY(-10px)}}.error-title{font-size:4rem;font-weight:800;color:var(--color-text);margin:0 0 .5rem;line-height:1}.error-subtitle{font-size:1.75rem;font-weight:700;color:var(--color-text);margin:0 0 1rem}.error-message{font-size:1.125rem;color:var(--color-text-secondary);line-height:1.6}.error-details,.error-message{margin-bottom:var(--spacing-xl)}.error-details{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);text-align:left}.error-details summary{cursor:pointer;font-weight:600;color:var(--color-text);margin-bottom:.5rem;-webkit-user-select:none;user-select:none}.error-details summary:hover{color:var(--color-primary)}.error-details code{display:block;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius);padding:.75rem;font-size:.875rem;color:var(--color-danger);font-family:Courier New,monospace;word-wrap:break-word;white-space:pre-wrap}.error-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.error-button{padding:.875rem 2rem;border-radius:var(--radius-md);font-weight:600;font-size:1rem;text-decoration:none;transition:all .3s ease;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;font-family:inherit}.error-button.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:var(--color-text-white);box-shadow:0 4px 15px rgba(102,126,234,.4)}.error-button.primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(102,126,234,.5)}.error-button.secondary{background:#f3f4f6;color:#374151;border:2px solid #e5e7eb}.error-button.secondary:hover{background:#e5e7eb;border-color:#d1d5db}@media (max-width:768px){.error-content{padding:2rem 1.5rem}.error-title{font-size:3rem}.error-subtitle{font-size:1.5rem}.error-message{font-size:1rem}.error-icon{font-size:3rem}.error-button{width:100%;justify-content:center}}@media (max-width:480px){.error-page{padding:1rem}.error-content{padding:1.5rem 1rem}.error-title{font-size:2.5rem}.error-subtitle{font-size:1.25rem}}