*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;overflow-x:hidden}body.dark-mode{background:#1e2029;color:#e8e8ed}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d1d1d6;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#b0b0b5}body.dark-mode ::-webkit-scrollbar-thumb{background:#585e7199}body.dark-mode ::-webkit-scrollbar-thumb:hover{background:#585e71cc}.error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:#f5f5f5;padding:2rem}body.dark-mode .error-boundary{background-color:#0d0d0d}.error-boundary-content{max-width:500px;text-align:center;background:#fff;border:1px solid #e5e5e5;border-radius:12px;padding:3rem 2rem}body.dark-mode .error-boundary-content{background:#1a1a1a;border-color:#2a2a2a}.error-boundary-content h1{font-size:1.5rem;font-weight:600;color:#111827;margin:0 0 1rem}body.dark-mode .error-boundary-content h1{color:#e1e1e6}.error-boundary-content p{font-size:1rem;color:#6b7280;margin:0 0 1.5rem}body.dark-mode .error-boundary-content p{color:#8b8b8f}.error-details{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:1rem;margin-bottom:1.5rem;text-align:left}body.dark-mode .error-details{background:#2a1515;border-color:#4a2020}.error-details code{font-family:Courier New,monospace;font-size:.875rem;color:#dc2626;word-break:break-word}body.dark-mode .error-details code{color:#f87171}.error-boundary-btn{padding:.75rem 1.5rem;font-size:.95rem;font-weight:500;color:#fff;background-color:#3b82f6;border:none;border-radius:6px;cursor:pointer;transition:background-color .15s}.error-boundary-btn:hover{background-color:#2563eb}.spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem}.spinner{border:3px solid #e5e5e5;border-top-color:#3b82f6;border-radius:50%;animation:spinner-rotate .8s linear infinite}body.dark-mode .spinner{border-color:#2a2a2a;border-top-color:#3b82f6}.spinner-small{width:20px;height:20px;border-width:2px}.spinner-medium{width:32px;height:32px}.spinner-large{width:48px;height:48px;border-width:4px}.spinner-text{margin-top:1rem;font-size:.95rem;color:#6b7280}body.dark-mode .spinner-text{color:#8b8b8f}@keyframes spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}
