.blazouter-view,.blazouter-outlet{width: 100%}.blazouter-loading{display: flex;justify-content: center;align-items: center;min-height: 200px}.blazouter-default-loading{display: flex;flex-direction: column;align-items: center;gap: 15px}.blazouter-default-loading p{margin: 0;color: #666;font-size: 16px}.blazouter-spinner{width: 50px;height: 50px;border: 4px solid #f3f3f3;border-top: 4px solid #007bff;border-radius: 50%;animation: spin 1s linear infinite}@keyframes spin{0%{transform: rotate(0deg)}100%{transform: rotate(360deg)}}.transition-fade{animation: fadeIn 0.3s ease-in}@keyframes fadeIn{from{opacity: 0}to{opacity: 1}}.transition-slide{animation: slideIn 0.3s ease-out}@keyframes slideIn{from{transform: translateX(-20px);opacity: 0}to{transform: translateX(0);opacity: 1}}.transition-slide-up{animation: slideUp 0.3s ease-out}@keyframes slideUp{from{transform: translateY(20px);opacity: 0}to{transform: translateY(0);opacity: 1}}.transition-scale{animation: scaleIn 0.3s ease-out}@keyframes scaleIn{from{transform: scale(0.95);opacity: 0}to{transform: scale(1);opacity: 1}}.transition-blur{animation: blurFade 0.3s ease-out}@keyframes blurFade{from{filter: blur(6px);opacity: 0}to{filter: blur(0px);opacity: 1}}.transition-pop{animation: popIn 0.25s cubic-bezier(0.25, 0.8, 0.25, 1)}@keyframes popIn{0%{transform: scale(0.9);opacity: 0}70%{transform: scale(1.02)}100%{transform: scale(1);opacity: 1}}.transition-rotate{animation: rotateIn 0.4s ease-out}@keyframes rotateIn{from{transform: rotate(-8deg);opacity: 0}to{transform: rotate(0);opacity: 1}}.transition-flip{animation: flipIn 0.35s ease-out;transform-origin: top}@keyframes flipIn{from{transform: rotateX(-90deg);opacity: 0}to{transform: rotateX(0deg);opacity: 1}}.transition-slide-fade{animation: slideFadeIn 0.35s ease-out}@keyframes slideFadeIn{from{transform: translateY(10px);opacity: 0;filter: blur(3px)}to{transform: translateY(0);opacity: 1;filter: blur(0)}}.transition-reveal{animation: revealIn 0.5s ease;overflow: hidden}@keyframes revealIn{0%{clip-path: inset(100% 0 0 0);opacity: 0}100%{clip-path: inset(0 0 0 0);opacity: 1}}.transition-curtain{animation: curtainIn 0.45s ease-out;transform-origin: top}@keyframes curtainIn{from{clip-path: inset(0 0 100% 0);opacity: 0.2}to{clip-path: inset(0 0 0 0);opacity: 1}}.transition-swipe{animation: swipeIn 0.4s cubic-bezier(0.22, 1, 0.36, 1)}@keyframes swipeIn{from{clip-path: inset(0 100% 0 0);opacity: 0.3}to{clip-path: inset(0 0 0 0);opacity: 1}}.transition-lift{animation: liftIn 0.35s ease-out}@keyframes liftIn{from{transform: translateY(10px) scale(0.98);box-shadow: 0 2px 8px rgba(0,0,0,0.1);opacity: 0}to{transform: translateY(0) scale(1);box-shadow: none;opacity: 1}}.transition-spotlight{animation: spotlightIn 0.4s ease-out}@keyframes spotlightIn{0%{filter: brightness(0.5) blur(6px);opacity: 0}100%{filter: brightness(1) blur(0);opacity: 1}}.blazouter-link.active{font-weight: bold}.blazouter-error{display: flex;align-items: center;justify-content: center;min-height: 400px;padding: 2rem}.blazouter-default-error{text-align: center;padding: 3rem 2rem;background: #fff3cd;border: 1px solid #ffc107;border-radius: 8px;max-width: 600px;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1)}.blazouter-error-icon{font-size: 4rem;margin-bottom: 1rem}.blazouter-default-error h2{color: #856404;margin: 0 0 1rem 0}.blazouter-default-error p{color: #856404;margin: 0.5rem 0}.blazouter-retry-button{margin-top: 1.5rem;padding: 0.75rem 1.5rem;background: #ffc107;color: #000;border: none;border-radius: 4px;font-size: 1rem;cursor: pointer;font-weight: 500;transition: background-color 0.2s}.blazouter-retry-button:hover{background: #e0a800}@media (prefers-color-scheme: dark){.blazouter-default-error{background: #332b00;border-color: #997404}.blazouter-default-error h2,.blazouter-default-error p{color: #ffc107}}