.loading-spinner-container{flex-direction:column;justify-content:center;align-items:center;min-height:200px;padding:2rem;display:flex}.loading-spinner-container--inline{flex-direction:row;gap:.5rem;min-height:0;padding:0}.loading-spinner-container--inline .loading-spinner{margin-bottom:0}.loading-spinner{margin-bottom:1rem}.loading-spinner.small .spinner{border-width:2px;width:24px;height:24px}.loading-spinner.medium .spinner{border-width:3px;width:40px;height:40px}.loading-spinner.large .spinner{border-width:4px;width:60px;height:60px}.spinner{border:3px solid #825e341a;border-top:3px solid var(--color-accent);border-radius:50%;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-message{color:var(--color-text-light);margin:0;font-size:14px;font-weight:600}.error-boundary{background-color:var(--color-bg-page);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.error-boundary-content{background:var(--color-bg-card);max-width:600px;box-shadow:0 6px 18px var(--color-shadow);border:1px solid var(--color-border);text-align:center;border-radius:8px;padding:2rem}.error-boundary-content h2{color:#e74c3c;margin-bottom:1rem}.error-boundary-content p{color:var(--color-text-main);margin-bottom:1.5rem}.error-boundary-button{background-color:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:.75rem 1.5rem;font-size:16px;transition:background-color .3s}.error-boundary-button:hover{background-color:var(--color-accent-hover)}.error-details{text-align:start;background-color:var(--color-input-bg);border:1px solid var(--color-border);border-radius:4px;margin-top:1.5rem;padding:1rem;font-size:12px}.error-details summary{cursor:pointer;color:var(--color-text-main);margin-bottom:.5rem;font-weight:700}.error-details pre{white-space:pre-wrap;word-wrap:break-word;color:#e74c3c;margin:.5rem 0}
