*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8f9fa;color:#333;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root,body,html{height:100%;overflow:hidden}body.landing-page,body.landing-page #root,body.landing-page html{height:auto!important;overflow:visible!important}.app-footer{background:#2d2d2d;border-top:1px solid #ffffff1a;color:#ffffffb3;font-size:11px;justify-content:center;min-height:32px;padding:8px 0}.app-footer,.footer-content{align-items:center;display:flex}.footer-content{gap:12px;justify-content:space-between;max-width:1200px;padding:0 20px;width:100%}.footer-copyright{color:#fff9;font-weight:500}.footer-brand{color:#20b2aa;font-weight:600}.footer-powered{color:#ffffff80;font-size:10px}.footer-logo-link{align-items:center;display:flex;text-decoration:none;transition:opacity .3s ease}.footer-logo-link:hover{opacity:.8}.footer-logo{height:20px;width:auto}.footer-links{align-items:center;display:flex;gap:8px}.footer-legal-link{color:#fff9;font-size:10px;text-decoration:none;transition:color .3s ease}.footer-legal-link:hover{color:#20b2aa}.footer-separator{color:#ffffff4d;font-size:10px}.footer-github{align-items:center;color:#fff9;display:flex;font-size:14px;text-decoration:none;transition:color .3s ease}.footer-github:hover{color:#20b2aa}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.nexus-loading-spinner{align-items:center;display:inline-flex;justify-content:center}.nexus-logo-spinner{animation:nexus-spin 1.5s linear infinite;filter:brightness(1.1) saturate(1.2);transition:all .3s ease}.nexus-logo-spinner:hover{filter:brightness(1.3) saturate(1.4);transform:scale(1.05)}@keyframes nexus-spin{0%{transform:rotate(0deg) scale(1)}25%{transform:rotate(90deg) scale(1.05)}50%{transform:rotate(180deg) scale(1)}75%{transform:rotate(270deg) scale(1.05)}to{transform:rotate(1turn) scale(1)}}.loading-text{animation:nexus-pulse 2s ease-in-out infinite;color:#6c757d;font-size:14px;font-weight:500;margin-top:8px}@keyframes nexus-pulse{0%,to{opacity:.7}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.loading-text,.nexus-logo-spinner{animation:none}}.nexus-loading-spinner.small .nexus-logo-spinner{animation-duration:2s}.nexus-loading-spinner.large .nexus-logo-spinner{animation-duration:1s}.nexus-loading-spinner.inline{display:inline-flex;margin:0 4px;vertical-align:middle}