:root{--color-primary:#667eea;--color-primary-dark:#5568d3;--color-primary-light:#e0e7ff;--navbar-bg:#1a1a1a;--navbar-text:#fff;--navbar-text-hover:#667eea;--navbar-border:#ffffff1a;--bg-primary:#fff;--bg-secondary:#f7fafc;--bg-tertiary:#edf2f7;--text-primary:#1a202c;--text-secondary:#4a5568;--text-tertiary:#718096;--text-disabled:#a0aec0;--border-light:#e2e8f0;--border-medium:#cbd5e0;--border-dark:#a0aec0;--color-success:#48bb78;--color-error:#e53e3e;--color-warning:#ed8936;--color-info:#4299e1;--gradient-start:#667eea;--gradient-end:#764ba2;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--font-size-xs:12px;--font-size-sm:14px;--font-size-base:16px;--font-size-lg:18px;--font-size-xl:24px;--font-size-2xl:28px;--font-size-3xl:36px;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--navbar-height:64px;--max-content-width:1200px;--border-radius-sm:4px;--border-radius-md:8px;--border-radius-lg:12px;--border-radius-full:9999px;--shadow-sm:0 1px 3px #0000001a;--shadow-md:0 2px 8px #0000001a;--shadow-lg:0 4px 16px #00000026;--shadow-xl:0 20px 60px #0000004d;--transition-fast:.15s ease;--transition-base:.2s ease;--transition-slow:.3s ease;--animation-duration:.3s;--animation-timing:ease-in-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#root{text-align:center;max-width:1280px;margin:0 auto;padding:2rem}.logo{will-change:filter;height:6em;padding:1.5em;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:20s linear infinite logo-spin}}.card{padding:2em}.read-the-docs{color:#888}.toast-container{z-index:9999;flex-direction:column;gap:12px;max-width:400px;display:flex;position:fixed;top:80px;right:24px}.toast{background:#fff;border-left:4px solid;border-radius:8px;align-items:center;gap:12px;min-width:300px;padding:14px 16px;animation:.3s ease-out slideIn;display:flex;box-shadow:0 4px 12px #00000026}@keyframes slideIn{0%{opacity:0;transform:translate(120%)}to{opacity:1;transform:translate(0)}}.toast-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:20px;font-weight:700;display:flex}.toast-message{color:#333;flex:1;font-size:14px;line-height:1.4}.toast-close{cursor:pointer;color:#999;background:0 0;border:none;flex-shrink:0;padding:4px;font-size:18px;line-height:1;transition:color .2s}.toast-close:hover{color:#333}.toast-success{border-left-color:#48bb78}.toast-success .toast-icon{color:#fff;background:#48bb78}.toast-error{border-left-color:#f56565}.toast-error .toast-icon{color:#fff;background:#f56565}.toast-warning{border-left-color:#ed8936}.toast-warning .toast-icon{color:#fff;background:#ed8936}.toast-info{border-left-color:#4299e1}.toast-info .toast-icon{color:#fff;background:#4299e1}@media (max-width:640px){.toast-container{max-width:none;top:70px;left:16px;right:16px}.toast{min-width:auto}}.skeleton-text,.skeleton-avatar,.skeleton-avatar-large{background:linear-gradient(90deg,var(--bg-secondary)0%,var(--bg-tertiary)50%,var(--bg-secondary)100%);border-radius:var(--border-radius-sm);background-size:200% 100%;animation:1.5s ease-in-out infinite shimmer}.skeleton-text{height:16px;margin-bottom:var(--spacing-sm)}.skeleton-title{width:60%;height:24px;margin-bottom:var(--spacing-md)}.skeleton-subtitle{width:40%;height:16px}.skeleton-line{width:100%;height:16px}.skeleton-avatar{border-radius:var(--border-radius-full);width:32px;height:32px}.skeleton-avatar-large{border-radius:var(--border-radius-full);width:80px;height:80px}.skeleton-profile{align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--bg-primary);border-radius:var(--border-radius-md);box-shadow:var(--shadow-md);display:flex}.skeleton-profile-info{flex:1}.skeleton-card{gap:var(--spacing-lg);flex-direction:column;display:flex}.skeleton-card-item{padding:var(--spacing-lg);background:var(--bg-primary);border-radius:var(--border-radius-md);box-shadow:var(--shadow-md)}.skeleton-container{padding:var(--spacing-md)}.onboarding-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10000;padding:var(--spacing-lg);animation:fadeIn var(--animation-duration)var(--animation-timing);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.onboarding-modal{background:var(--bg-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);width:100%;max-width:560px;animation:slideUp var(--animation-duration)var(--animation-timing);overflow:hidden}.onboarding-header{padding:var(--spacing-2xl)var(--spacing-2xl)var(--spacing-xl);text-align:center;border-bottom:1px solid var(--border-light)}.onboarding-header h2{margin:0 0 var(--spacing-sm)0;font-size:var(--font-size-2xl);color:var(--text-primary)}.onboarding-header p{color:var(--text-secondary);font-size:var(--font-size-base);margin:0}.onboarding-progress{margin-top:var(--spacing-xl);justify-content:center;align-items:center;gap:var(--spacing-sm);display:flex}.progress-step{border-radius:var(--border-radius-full);background:var(--bg-secondary);width:36px;height:36px;color:var(--text-tertiary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);transition:all var(--transition-base);justify-content:center;align-items:center;display:flex}.progress-step.active{background:var(--color-primary);color:#fff;transform:scale(1.1)}.progress-line{background:var(--border-light);border-radius:var(--border-radius-sm);width:48px;height:3px;transition:background var(--transition-base)}.progress-line.active{background:var(--color-primary)}.onboarding-step{padding:var(--spacing-2xl);min-height:280px;animation:.3s ease-in-out fadeIn}.onboarding-step h3{margin:0 0 var(--spacing-sm)0;font-size:var(--font-size-xl);color:var(--text-primary)}.step-description{margin:0 0 var(--spacing-xl)0;color:var(--text-secondary);font-size:var(--font-size-base);line-height:1.6}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{margin-bottom:var(--spacing-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);font-size:var(--font-size-sm);display:block}.form-group input,.form-group textarea{width:100%;padding:var(--spacing-md);border:2px solid var(--border-light);border-radius:var(--border-radius-md);font-size:var(--font-size-base);transition:all var(--transition-base);box-sizing:border-box;font-family:inherit}.form-group input:focus,.form-group textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.form-group input.error{border-color:var(--color-error)}.form-group input.error:focus{box-shadow:0 0 0 3px #e53e3e1a}.form-group textarea{resize:vertical;min-height:100px}.username-input-wrapper{align-items:center;display:flex;position:relative}.username-prefix{left:var(--spacing-md);color:var(--text-tertiary);font-weight:var(--font-weight-medium);pointer-events:none;font-size:var(--font-size-base);position:absolute}.error-message{margin:var(--spacing-sm)0 0 0;color:var(--color-error);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.hint{margin:var(--spacing-sm)0 0 0;color:var(--text-tertiary);font-size:var(--font-size-xs)}.onboarding-footer{padding:var(--spacing-xl)var(--spacing-2xl);background:var(--bg-secondary);border-top:1px solid var(--border-light);justify-content:space-between;align-items:center;display:flex}.footer-actions{gap:var(--spacing-md);display:flex}.btn-text{color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;padding:var(--spacing-sm)var(--spacing-md);transition:color var(--transition-base);background:0 0;border:none}.btn-text:hover:not(:disabled){color:var(--text-primary)}.btn-text:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{padding:var(--spacing-sm)var(--spacing-lg);border:2px solid var(--border-medium);background:var(--bg-primary);color:var(--text-primary);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.btn-secondary:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-2px)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-primary{padding:var(--spacing-sm)var(--spacing-xl);background:var(--color-primary);color:#fff;border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);border:none;box-shadow:0 2px 8px #667eea4d}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 4px 16px #667eea66}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.avatar-preview-container{margin:var(--spacing-xl)0;justify-content:center;display:flex}.avatar-preview-large{border-radius:var(--border-radius-full);object-fit:cover;border:4px solid var(--border-light);width:120px;height:120px;box-shadow:var(--shadow-md)}.avatar-options{gap:var(--spacing-md);margin-bottom:var(--spacing-xl);flex-direction:column;display:flex}.avatar-option{padding:var(--spacing-md);border:2px solid var(--border-light);border-radius:var(--border-radius-md);cursor:pointer;transition:all var(--transition-base);align-items:center;display:flex}.avatar-option:hover{border-color:var(--color-primary);background:var(--bg-secondary)}.avatar-option input[type=radio]{margin-right:var(--spacing-md);cursor:pointer;width:20px;height:20px}.avatar-option-content{flex-direction:column;display:flex}.avatar-option-content strong{color:var(--text-primary);font-size:var(--font-size-base);margin-bottom:var(--spacing-xs)}.avatar-option-content span{color:var(--text-tertiary);font-size:var(--font-size-sm)}.avatar-upload-section{text-align:center;padding:var(--spacing-lg);background:var(--bg-secondary);border-radius:var(--border-radius-md);margin-top:var(--spacing-md)}.btn-upload{padding:var(--spacing-md)var(--spacing-xl);background:var(--color-primary);color:#fff;border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);display:inline-block;box-shadow:0 2px 8px #667eea4d}.btn-upload:hover{background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 4px 16px #667eea66}.upload-progress-bar{width:100%;height:4px;margin-top:var(--spacing-sm);background:#e2e8f0;border-radius:2px;overflow:hidden}.upload-progress-fill{background:var(--color-primary);height:100%;transition:width .3s}@media (max-width:640px){.onboarding-modal{max-width:100%;margin:var(--spacing-md)}.onboarding-header,.onboarding-step,.onboarding-footer{padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}.onboarding-progress{gap:var(--spacing-xs)}.progress-step{width:32px;height:32px}.progress-line{width:32px}.onboarding-step{min-height:240px}}.navbar{background:var(--navbar-bg);border-bottom:1px solid var(--navbar-border);box-shadow:var(--shadow-md);z-index:1000;animation:slideDown var(--animation-duration)var(--animation-timing);position:fixed;top:0;left:0;right:0}.navbar-container{max-width:var(--max-content-width);padding:0 var(--spacing-lg);height:var(--navbar-height);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.navbar-logo{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--navbar-text);transition:color var(--transition-base);letter-spacing:-.5px;text-decoration:none}.navbar-logo:hover{color:var(--navbar-text-hover)}.navbar-links{align-items:center;gap:var(--spacing-lg);display:flex}.navbar-link{color:var(--navbar-text);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);transition:color var(--transition-base);opacity:.9;text-decoration:none}.navbar-link:hover{color:var(--navbar-text-hover);opacity:1}.navbar-user{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm)var(--spacing-md);border-radius:var(--border-radius-full);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background var(--transition-base);background:#ffffff1a;display:flex}.navbar-user:hover{background:#ffffff26}.navbar-avatar{border-radius:var(--border-radius-full);object-fit:cover;width:32px;height:32px;transition:border-color var(--transition-base);border:2px solid #fff3}.navbar-avatar:hover{border-color:var(--color-primary)}.navbar-username{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--navbar-text)}.navbar-button{padding:var(--spacing-sm)var(--spacing-lg);border-radius:var(--border-radius-md);background:var(--color-primary);color:#fff;font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-base);border:none;text-decoration:none;display:inline-block}.navbar-button:hover{background:var(--color-primary-dark);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.login-container{background:#fff;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-box{text-align:center;background:#fff;border-radius:12px;width:100%;max-width:420px;padding:48px 40px;box-shadow:0 20px 60px #0000004d}.login-box h1{color:#1a202c;margin:0 0 8px;font-size:28px}.login-subtitle{color:#718096;margin:0 0 32px;font-size:16px}.oauth-buttons{flex-direction:column;gap:12px;margin-bottom:24px;display:flex}.oauth-button{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:12px;width:100%;padding:12px 24px;font-size:16px;font-weight:500;transition:all .2s;display:flex}.google-button{color:#1a202c;background:#f5f5f5;border:1px solid #e2e8f0;margin-top:10px}.google-button:hover{background:#f7fafc;border-color:#cbd5e0;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.discord-button{color:#fff;background:#5865f2}.discord-button:hover{background:#4752c4;transform:translateY(-2px);box-shadow:0 4px 12px #5865f266}.oauth-button svg{flex-shrink:0}.login-footer{color:#a0aec0;margin:0;font-size:12px;line-height:1.5}.text-box{color:#000;text-indent:.5em;width:100%;height:50px;text-justify:center;background-color:#fafafa;border:2px solid #c8c8c8;border-radius:5px;margin-bottom:10px;font-size:larger}.login-button{padding:var(--spacing-sm)var(--spacing-lg);border-radius:var(--border-radius-md);background:var(--color-primary);color:#fff;width:100%;height:40px;font-weight:var(--font-weight-medium);font-size:var(--font-size-lg);cursor:pointer;transition:all var(--transition-base);border:none;margin-bottom:10px;text-decoration:none;display:inline-block}.login-button:hover{background:#4752c4;transform:translateY(-2px);box-shadow:0 4px 12px #5865f266}hr{background:#c8c8c8;border:none;justify-self:center;width:110%;height:1px;margin-top:10px;margin-bottom:10px}.account-card{padding:var(--spacing-2xl);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);margin-top:var(--spacing-xl);background:#fff}.account-header{gap:var(--spacing-xl);margin-bottom:var(--spacing-2xl);padding-bottom:var(--spacing-xl);border-bottom:1px solid var(--border-light);display:flex}.avatar-section{align-items:center;gap:var(--spacing-md);flex-direction:column;display:flex}.avatar-wrapper{position:relative}.avatar-large{border-radius:var(--border-radius-full);object-fit:cover;border:4px solid var(--border-light);width:120px;height:120px;box-shadow:var(--shadow-md)}.avatar-overlay{border-radius:var(--border-radius-full);color:#fff;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);background:#000000b3;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.avatar-actions{gap:var(--spacing-sm);flex-direction:column;width:120px;display:flex}.btn-small{padding:var(--spacing-xs)var(--spacing-md);border-radius:var(--border-radius-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);text-align:center;border:none;text-decoration:none;display:inline-block}.btn-small.btn-primary{background:var(--color-primary);color:#fff;box-shadow:0 2px 4px #667eea4d}.btn-small.btn-primary:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:0 4px 8px #667eea66}.btn-small.btn-secondary{color:var(--text-secondary);border:1px solid var(--border-medium);background:#fff}.btn-small.btn-secondary:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--color-error);color:var(--color-error)}.btn-small:disabled{opacity:.5;cursor:not-allowed}.profile-summary{flex:1}.profile-summary h2{margin:0 0 var(--spacing-xs)0;font-size:var(--font-size-2xl);color:var(--text-primary)}.username-text{margin:0 0 var(--spacing-xs)0;color:var(--text-secondary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.role-text{font-size:var(--font-size-sm);color:var(--text-tertiary);margin:0}.form-field{margin-bottom:var(--spacing-lg)}.form-field label{margin-bottom:var(--spacing-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);font-size:var(--font-size-sm);display:block}.form-field input,.form-field textarea{width:100%;padding:var(--spacing-md);border:2px solid var(--border-light);border-radius:var(--border-radius-md);font-size:var(--font-size-base);transition:all var(--transition-base);box-sizing:border-box;font-family:inherit}.form-field input:focus,.form-field textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.form-field input:disabled,.form-field textarea:disabled{background:var(--bg-secondary);color:var(--text-secondary);cursor:not-allowed}.form-field textarea{resize:vertical;min-height:100px}.username-input-wrapper{position:relative}.username-prefix{left:var(--spacing-md);color:var(--text-tertiary);font-weight:var(--font-weight-medium);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.username-input-wrapper input{padding-left:calc(var(--spacing-md) + 16px)}.action-buttons{gap:var(--spacing-md);margin-top:var(--spacing-xl);display:flex}.btn-action{padding:var(--spacing-md)var(--spacing-xl);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);border:none}.btn-action.primary{background:var(--color-primary);color:#fff;box-shadow:0 2px 8px #667eea4d}.btn-action.primary:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 4px 16px #667eea66}.btn-action.success{background:var(--color-success);color:#fff;box-shadow:0 2px 8px #48bb784d}.btn-action.success:hover:not(:disabled){background:#38a169;transform:translateY(-2px);box-shadow:0 4px 16px #48bb7866}.btn-action.secondary{color:var(--text-primary);border:2px solid var(--border-medium);background:#fff}.btn-action.secondary:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.btn-action:disabled{opacity:.6;cursor:not-allowed;transform:none}.account-info{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--border-light);font-size:var(--font-size-sm);color:var(--text-tertiary)}@media (max-width:768px){.account-header{text-align:center;flex-direction:column;align-items:center}.avatar-section{width:100%}.avatar-actions{flex-direction:row;justify-content:center;width:auto}.profile-summary{width:100%}.action-buttons{flex-direction:column}.btn-action{width:100%}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-primary);background:var(--bg-primary);padding:0;padding-top:var(--navbar-height);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-md);line-height:1.2}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}p{color:var(--text-secondary);margin-bottom:var(--spacing-md);line-height:1.6}a{color:var(--color-primary);transition:color var(--transition-base);text-decoration:none}a:hover{color:var(--color-primary-dark)}button{cursor:pointer;transition:all var(--transition-base);border:none;font-family:inherit}input,textarea,select{font-family:inherit;font-size:var(--font-size-base);transition:border-color var(--transition-base)}input:focus,textarea:focus,select:focus{border-color:var(--color-primary);outline:none}.fade-in{animation:fadeIn var(--animation-duration)var(--animation-timing)}.slide-down{animation:slideDown var(--animation-duration)var(--animation-timing)}.slide-up{animation:slideUp var(--animation-duration)var(--animation-timing)}.slide-in-left{animation:slideInLeft var(--animation-duration)var(--animation-timing)}.slide-in-right{animation:slideInRight var(--animation-duration)var(--animation-timing)}.container{max-width:var(--max-content-width);padding:0 var(--spacing-lg);margin:0 auto}.hidden{display:none}.visible{display:block}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}
