body{margin:0}#root{min-height:100vh}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0d1117;--bg-secondary:#161b22;--bg-tertiary:#21262d;--border:#30363d;--border-active:#58a6ff;--text:#e6edf3;--text-muted:#8b949e;--text-secondary:#c9d1d9;--primary:#238636;--primary-hover:#2ea043;--primary-light:#23863626;--accent:#58a6ff;--accent-hover:#79c0ff;--danger:#f85149;--danger-bg:#f851491a;--warning:#e3b341;--radius:8px;--radius-lg:12px;--shadow:0 8px 24px #0006}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,sans-serif;line-height:1.6}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}.loader-screen{background:var(--bg);justify-content:center;align-items:center;height:100vh;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.btn{border-radius:var(--radius);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:8px 18px;font-size:14px;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff;border-color:#f0f6fc1a}.btn-primary:hover:not(:disabled){background:var(--primary-hover);color:#fff}.btn-outline{color:var(--text);border-color:var(--border);background:0 0}.btn-outline:hover{background:var(--bg-tertiary);color:var(--text);border-color:var(--text-muted)}.btn-ghost{color:var(--text-muted);background:0 0;border-color:#0000}.btn-ghost:hover{color:var(--text);background:var(--bg-tertiary)}.btn-lg{border-radius:var(--radius-lg);padding:12px 28px;font-size:16px}.btn-sm{padding:5px 14px;font-size:13px}.btn-block{width:100%}.btn-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin;display:inline-block}.btn-social{color:var(--text);font-weight:500}.navbar{z-index:100;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0d1117d9;position:sticky;top:0}.navbar-inner{align-items:center;gap:32px;max-width:1200px;height:64px;margin:0 auto;padding:0 24px;display:flex}.navbar-brand{color:var(--text);align-items:center;gap:10px;font-size:18px;font-weight:700;text-decoration:none;display:flex}.navbar-brand:hover{color:var(--text)}.brand-icon{color:var(--accent);font-size:22px}.brand-name{color:var(--text)}.navbar-links{gap:24px;margin-right:auto;display:flex}.navbar-links a{color:var(--text-muted);font-size:14px;font-weight:500}.navbar-links a:hover{color:var(--text)}.navbar-actions{align-items:center;gap:8px;display:flex}.landing{min-height:100vh}.hero-section{grid-template-columns:1fr 1fr;align-items:center;gap:64px;max-width:1200px;margin:0 auto;padding:80px 24px 100px;display:grid}.hero-badge{color:var(--accent);background:#58a6ff1a;border:1px solid #58a6ff40;border-radius:20px;align-items:center;margin-bottom:20px;padding:4px 14px;font-size:13px;font-weight:600;display:inline-flex}.hero-title{letter-spacing:-1px;margin-bottom:20px;font-size:52px;font-weight:800;line-height:1.15}.gradient-text{background:linear-gradient(135deg,#58a6ff 0%,#79c0ff 50%,#2ea043 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-subtitle{color:var(--text-muted);max-width:480px;margin-bottom:32px;font-size:18px;line-height:1.7}.hero-actions{gap:12px;margin-bottom:16px;display:flex}.hero-note{color:var(--text-muted);font-size:13px}.hero-visual{justify-content:center;display:flex}.code-window{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);width:100%;max-width:460px;overflow:hidden}.code-window-header{background:var(--bg-tertiary);border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:12px 16px;display:flex}.dot{border-radius:50%;width:12px;height:12px}.dot.red{background:#ff5f57}.dot.yellow{background:#ffbd2e}.dot.green{background:#28ca41}.code-window-title{color:var(--text-muted);margin-left:4px;font-size:12px}.code-window-body{padding:20px 24px;font-family:Fira Code,Cascadia Code,SF Mono,Consolas,monospace;font-size:13px;line-height:1.9}.prompt{color:var(--primary-hover);margin-right:8px}.url{color:var(--accent);padding-left:16px}.output{color:var(--text-muted)}.success{color:var(--primary-hover)}.cursor{color:var(--accent);animation:1s step-end infinite blink}@keyframes blink{50%{opacity:0}}.features-section{background:var(--bg-secondary);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:80px 24px}.section-header{text-align:center;margin-bottom:56px}.section-header h2{margin-bottom:12px;font-size:36px;font-weight:700}.section-header p{color:var(--text-muted);font-size:18px}.features-grid{grid-template-columns:repeat(3,1fr);gap:24px;max-width:1100px;margin:0 auto;display:grid}.feature-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;transition:border-color .2s,transform .2s}.feature-card:hover{border-color:var(--accent);transform:translateY(-2px)}.feature-icon{margin-bottom:16px;font-size:32px}.feature-card h3{margin-bottom:8px;font-size:16px;font-weight:600}.feature-card p{color:var(--text-muted);font-size:14px;line-height:1.6}.cta-section{text-align:center;background:radial-gradient(#23863614 0%,#0000 70%);padding:100px 24px}.cta-content h2{margin-bottom:16px;font-size:36px;font-weight:700}.cta-content p{color:var(--text-muted);margin-bottom:32px;font-size:18px}.footer{border-top:1px solid var(--border);padding:40px 24px 24px}.footer-inner{justify-content:space-between;align-items:flex-start;max-width:1200px;margin:0 auto 24px;display:flex}.footer-brand .logo-text{color:var(--text);font-size:18px;font-weight:700}.footer-brand p{color:var(--text-muted);margin-top:4px;font-size:13px}.footer-links{gap:24px;display:flex}.footer-links a{color:var(--text-muted);font-size:14px}.footer-links a:hover{color:var(--text)}.footer-bottom{text-align:center}.footer-bottom p{color:var(--text-muted);font-size:13px}.auth-page{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.auth-left{border-right:1px solid var(--border);background:linear-gradient(135deg,#0d1117 0%,#161b22 100%);align-items:center;padding:48px;display:flex;position:relative;overflow:hidden}.auth-left:before{content:"";pointer-events:none;background:radial-gradient(at 60% 40%,#58a6ff0f 0%,#0000 60%),radial-gradient(at 30% 70%,#2386360f 0%,#0000 50%);width:200%;height:200%;position:absolute;top:-50%;left:-50%}.auth-left-content{z-index:1;position:relative}.auth-brand{margin-bottom:48px}.auth-brand .brand-name{font-size:22px}.auth-left h2{color:var(--text);margin-bottom:32px;font-size:28px;font-weight:700}.auth-features{flex-direction:column;gap:14px;list-style:none;display:flex}.auth-features li{color:var(--text-secondary);align-items:center;gap:10px;font-size:15px;display:flex}.auth-right{background:var(--bg);justify-content:center;align-items:center;padding:48px 24px;display:flex}.auth-box{width:100%;max-width:400px}.auth-header{margin-bottom:32px}.auth-header h1{margin-bottom:8px;font-size:28px;font-weight:700}.auth-header p{color:var(--text-muted);font-size:15px}.auth-form{flex-direction:column;gap:20px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:13px;font-weight:600;display:flex}.form-label-link{color:var(--accent);font-size:12px;font-weight:400}.form-label-link:hover{color:var(--accent-hover)}.form-group input{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);outline:none;width:100%;padding:10px 14px;font-size:15px;transition:border-color .15s,box-shadow .15s}.form-group input::placeholder{color:var(--text-muted)}.form-group input:focus{border-color:var(--border-active);box-shadow:0 0 0 3px #58a6ff1a}.password-strength{align-items:center;gap:10px;margin-top:6px;display:flex}.strength-bar{background:var(--border);border-radius:2px;flex:1;height:4px;overflow:hidden}.strength-fill{border-radius:2px;height:100%;transition:width .3s,background .3s}.strength-fill.strength-weak{background:var(--danger);width:33%}.strength-fill.strength-medium{background:var(--warning);width:66%}.strength-fill.strength-strong{background:var(--primary-hover);width:100%}.strength-label{min-width:60px;font-size:12px;font-weight:600}.strength-label.strength-weak{color:var(--danger)}.strength-label.strength-medium{color:var(--warning)}.strength-label.strength-strong{color:var(--primary-hover)}.alert{border-radius:var(--radius);padding:10px 14px;font-size:14px;font-weight:500}.alert-error{background:var(--danger-bg);color:var(--danger);border:1px solid #f851494d}.auth-divider{color:var(--text-muted);align-items:center;gap:12px;font-size:13px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-terms{color:var(--text-muted);text-align:center;font-size:12px;line-height:1.6}.auth-terms a{color:var(--accent)}.auth-footer-text{text-align:center;color:var(--text-muted);font-size:14px}.auth-footer-text a{color:var(--accent);font-weight:500}.dashboard{background:var(--bg);min-height:100vh}.dashboard-nav{border-bottom:1px solid var(--border);background:var(--bg-secondary)}.dashboard-nav-inner{justify-content:space-between;align-items:center;max-width:1200px;height:60px;margin:0 auto;padding:0 24px;display:flex}.dashboard-nav-right{align-items:center;gap:12px;display:flex}.user-badge{background:linear-gradient(135deg, var(--accent), var(--primary));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:700;display:flex}.user-name{font-size:14px;font-weight:500}.dashboard-content{max-width:1000px;margin:0 auto;padding:40px 24px}.dashboard-header{justify-content:space-between;align-items:flex-start;margin-bottom:32px;display:flex}.dashboard-header h1{font-size:26px;font-weight:700}.text-muted{color:var(--text-muted);margin-top:4px;font-size:14px}.dashboard-stats{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:40px;display:grid}.stat-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;padding:20px 24px}.stat-value{color:var(--accent);font-size:32px;font-weight:700}.stat-label{color:var(--text-muted);margin-top:4px;font-size:13px}.dashboard-section h2{margin-bottom:16px;font-size:18px;font-weight:600}.repos-list{flex-direction:column;gap:12px;display:flex}.repo-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;transition:border-color .2s;display:flex}.repo-card:hover{border-color:var(--accent)}.repo-title{align-items:center;gap:10px;margin-bottom:8px;display:flex}.repo-name{color:var(--accent);font-size:15px;font-weight:600}.repo-name:hover{color:var(--accent-hover)}.repo-badge{border:1px solid;border-radius:12px;padding:2px 8px;font-size:11px;font-weight:600}.repo-badge.public{color:var(--primary-hover);border-color:var(--primary);background:var(--primary-light)}.repo-badge.private{color:var(--text-muted);border-color:var(--border)}.repo-meta{color:var(--text-muted);align-items:center;gap:16px;font-size:13px;display:flex}.repo-lang{align-items:center;gap:6px;display:flex}.lang-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}@media (width<=900px){.hero-section{grid-template-columns:1fr;padding:60px 24px 80px}.hero-title{font-size:38px}.hero-visual{display:none}.features-grid{grid-template-columns:1fr 1fr}.auth-page{grid-template-columns:1fr}.auth-left{display:none}.dashboard-stats{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.features-grid{grid-template-columns:1fr}.hero-title{font-size:30px}.hero-actions{flex-direction:column}.navbar-links{display:none}.dashboard-stats{grid-template-columns:repeat(2,1fr)}}
