@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";:root{--neon-cyan:#00d4ff;--neon-purple:#8b5cf6;--neon-pink:#ec4899;--neon-green:#10b981;--neon-orange:#f59e0b;--neon-red:#ef4444;--bg-deep:#0a0e1a;--bg-dark:#0f1629;--bg-card:#0f162999;--bg-glass:#0f162966;--bg-hover:#00d4ff0f;--border-glass:#00d4ff1f;--border-glow:#00d4ff4d;--text-primary:#e2e8f0;--text-secondary:#94a3b8;--text-muted:#64748b;--glow-cyan:0 0 20px #00d4ff26, 0 0 40px #00d4ff0d;--glow-purple:0 0 20px #8b5cf626, 0 0 40px #8b5cf60d;--glow-strong:0 0 30px #00d4ff40, 0 0 60px #00d4ff14}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%}body{background:var(--bg-deep);color:var(--text-primary);font-family:Inter,-apple-system,sans-serif;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;background-color:#0000;background-image:linear-gradient(#00d4ff08 1px,#0000 1px),linear-gradient(90deg,#00d4ff08 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:60px 60px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:fixed;inset:0}body:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle,#8b5cf614 0%,#0000 70%);width:600px;height:600px;position:fixed;top:-20%;right:-10%}.app-layout{z-index:1;height:100vh;display:flex;position:relative}.sidebar{background:var(--bg-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-right:1px solid var(--border-glass);flex-direction:column;width:240px;min-width:240px;padding:24px 0;display:flex;position:relative;overflow:hidden}.sidebar:before{content:"";background:linear-gradient(to bottom, var(--neon-cyan), var(--neon-purple), transparent);opacity:.3;width:1px;height:100%;position:absolute;top:0;right:0}.sidebar-logo{align-items:center;gap:12px;padding:0 24px 32px;display:flex}.sidebar-logo .logo-icon{background:linear-gradient(135deg, var(--neon-cyan), var(--neon-purple));width:36px;height:36px;box-shadow:var(--glow-cyan);border-radius:10px;justify-content:center;align-items:center;font-size:18px;display:flex}.sidebar-logo .logo-text h1{background:linear-gradient(135deg, var(--neon-cyan), var(--neon-purple));-webkit-text-fill-color:transparent;letter-spacing:-.5px;-webkit-background-clip:text;background-clip:text;font-size:18px;font-weight:700}.sidebar-logo .logo-text span{color:var(--text-muted);letter-spacing:2px;text-transform:uppercase;font-size:10px}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:0 12px;display:flex}.nav-item{color:var(--text-secondary);cursor:pointer;border:1px solid #0000;border-radius:10px;align-items:center;gap:12px;padding:11px 16px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:flex;position:relative}.nav-item:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-glass)}.nav-item.active{color:var(--neon-cyan);border-color:var(--border-glow);box-shadow:var(--glow-cyan);background:#00d4ff14}.nav-item.active:before{content:"";background:var(--neon-cyan);width:3px;height:20px;box-shadow:0 0 10px var(--neon-cyan);border-radius:0 4px 4px 0;position:absolute;top:50%;left:-13px;transform:translateY(-50%)}.nav-item svg{opacity:.7;width:18px;height:18px}.nav-item.active svg{opacity:1}.sidebar-footer{border-top:1px solid var(--border-glass);color:var(--text-muted);padding:16px 24px;font-size:11px}.main-content{flex-direction:column;flex:1;padding:32px 40px;display:flex;overflow-y:auto}.main-content::-webkit-scrollbar{width:6px}.main-content::-webkit-scrollbar-track{background:0 0}.main-content::-webkit-scrollbar-thumb{background:var(--border-glass);border-radius:3px}.page-header{margin-bottom:32px}.page-header h2{letter-spacing:-.5px;margin-bottom:6px;font-size:28px;font-weight:700}.page-header p{color:var(--text-secondary);font-size:14px}.page-footer{border-top:1px solid var(--border-glass);text-align:center;margin-top:auto;padding:24px 0 8px}.footer-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin-bottom:8px;display:flex}.footer-links a{color:var(--text-muted);font-size:12px;text-decoration:none;transition:color .2s}.footer-links a:hover{color:var(--accent)}.footer-dot{color:var(--text-muted);opacity:.4;font-size:12px}.footer-note{color:var(--text-muted);opacity:.5;font-size:11px}.glass-card{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-glass);border-radius:16px;padding:24px;transition:all .3s}.glass-card:hover{border-color:var(--border-glow);box-shadow:var(--glow-cyan)}.glass-card.no-hover:hover{border-color:var(--border-glass);box-shadow:none}.glass-card h3{color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;margin-bottom:16px;font-size:14px;font-weight:600}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:32px;display:grid}.stat-card{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-glass);border-radius:16px;padding:20px 24px;transition:all .3s}.stat-card:hover{border-color:var(--border-glow);box-shadow:var(--glow-cyan);transform:translateY(-2px)}.stat-card .stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;font-size:12px}.stat-card .stat-value{background:linear-gradient(135deg, var(--neon-cyan), var(--neon-purple));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:32px;font-weight:800;line-height:1}.stat-card .stat-sub{color:var(--text-secondary);margin-top:4px;font-size:12px}.score-gauge{flex-direction:column;align-items:center;gap:8px;display:flex}.gauge-ring{width:160px;height:160px;position:relative}.gauge-ring svg{transform:rotate(-90deg)}.gauge-ring .gauge-bg{fill:none;stroke:#00d4ff1a;stroke-width:8px}.gauge-ring .gauge-fill{fill:none;stroke-width:8px;stroke-linecap:round;transition:stroke-dashoffset 1.2s ease-out}.gauge-ring .gauge-value{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.gauge-ring .gauge-number{font-family:JetBrains Mono,monospace;font-size:36px;font-weight:800;line-height:1}.gauge-ring .gauge-grade{margin-top:2px;font-size:16px;font-weight:700}.gauge-label{color:var(--text-secondary);font-size:13px}.metric-row{border-bottom:1px solid #ffffff08;flex-direction:column;gap:6px;padding:10px 0;display:flex}.metric-row:last-child{border-bottom:none}.metric-header{justify-content:space-between;align-items:baseline;display:flex}.metric-name{color:var(--text-secondary);font-size:13px;font-weight:500}.metric-bar-track{background:#00d4ff0f;border-radius:4px;width:100%;height:8px;overflow:hidden}.metric-bar-fill{border-radius:4px;height:100%;transition:width .8s ease-out;position:relative}.metric-bar-fill:after{content:"";background:linear-gradient(90deg,#0000,#ffffff4d);width:20px;height:100%;position:absolute;top:0;right:0}.metric-score{font-family:JetBrains Mono,monospace;font-size:13px;font-weight:600}.metric-row-compact{padding:6px 0}.metric-row-compact .metric-name{font-size:12px}.metric-row-compact .metric-bar-track{height:6px}.metric-row-compact .metric-score{font-size:12px}.btn{border:1px solid var(--border-glass);cursor:pointer;background:var(--bg-card);color:var(--text-primary);border-radius:10px;align-items:center;gap:8px;padding:10px 20px;font-family:Inter,sans-serif;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.btn:hover{border-color:var(--border-glow);box-shadow:var(--glow-cyan);transform:translateY(-1px)}.btn-primary{border-color:var(--border-glow);color:var(--neon-cyan);background:linear-gradient(135deg,#00d4ff26,#8b5cf626)}.btn-primary:hover{box-shadow:var(--glow-strong);background:linear-gradient(135deg,#00d4ff40,#8b5cf640)}.btn svg{width:16px;height:16px}.upload-zone{border:2px dashed var(--border-glass);text-align:center;cursor:pointer;background:#00d4ff05;border-radius:16px;padding:48px;transition:all .3s}.upload-zone:hover,.upload-zone.drag-over{border-color:var(--neon-cyan);box-shadow:var(--glow-cyan);background:#00d4ff0d}.upload-zone svg{width:48px;height:48px;color:var(--text-muted);margin-bottom:16px}.upload-zone p{color:var(--text-secondary);font-size:14px}.upload-zone .upload-hint{color:var(--neon-cyan);font-weight:600}.form-group{margin-bottom:20px}.form-group label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;font-size:12px;font-weight:600;display:block}.form-select,.form-input,.form-textarea{background:var(--bg-dark);border:1px solid var(--border-glass);width:100%;color:var(--text-primary);border-radius:10px;outline:none;padding:10px 16px;font-family:Inter,sans-serif;font-size:14px;transition:all .2s}.form-select:focus,.form-input:focus,.form-textarea:focus{border-color:var(--neon-cyan);box-shadow:0 0 0 3px #00d4ff1a}.form-textarea{resize:vertical;min-height:200px;font-family:JetBrains Mono,monospace;font-size:12px;line-height:1.6}.form-select option{background:var(--bg-dark)}.color-palette-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;display:grid}.color-swatch{border:1px solid var(--border-glass);border-radius:12px;overflow:hidden}.color-swatch .swatch-preview{height:48px}.color-swatch .swatch-info{background:var(--bg-card);padding:8px 12px}.color-swatch .swatch-role{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.color-swatch .swatch-hex{color:var(--text-secondary);font-family:JetBrains Mono,monospace;font-size:12px}.profile-card{cursor:pointer}.profile-name{align-items:center;margin-bottom:8px;font-size:16px;font-weight:600;display:flex}.profile-meta{color:var(--text-secondary);gap:16px;font-size:13px;display:flex}.profile-meta span{align-items:center;gap:4px;display:inline-flex}.profile-meta span:before{content:"";background:var(--neon-cyan);border-radius:50%;width:4px;height:4px;display:inline-block}.profile-meta span:first-child:before{display:none}.compare-panel{grid-template-columns:1fr 80px 1fr;align-items:center;gap:12px;display:grid}.compare-arrow{color:var(--text-muted);flex-direction:column;align-items:center;gap:8px;display:flex}.compare-arrow .delta{font-family:JetBrains Mono,monospace;font-size:20px;font-weight:700}.delta.positive{color:var(--neon-green)}.delta.negative{color:var(--neon-red)}.spinner{border:2px solid var(--border-glass);border-top-color:var(--neon-cyan);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin;display:inline-block}.spinner-lg{border-width:3px;width:48px;height:48px}@keyframes spin{to{transform:rotate(360deg)}}.loading-state{color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:64px;display:flex}.status-badge{border-radius:20px;align-items:center;gap:6px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.status-badge.grade-a{color:var(--neon-green);background:#10b98126;border:1px solid #10b9814d}.status-badge.grade-b{color:var(--neon-cyan);background:#00d4ff26;border:1px solid #00d4ff4d}.status-badge.grade-c{color:var(--neon-orange);background:#f59e0b26;border:1px solid #f59e0b4d}.status-badge.grade-d{color:var(--neon-red);background:#ef444426;border:1px solid #ef44444d}.status-badge.grade-f{color:var(--neon-red);background:#ef444433;border:1px solid #ef444466}.recommendation{color:var(--text-secondary);background:#f59e0b0d;border:1px solid #f59e0b26;border-radius:10px;align-items:flex-start;gap:10px;margin-bottom:8px;padding:12px 16px;font-size:13px;display:flex}.recommendation svg{width:16px;height:16px;color:var(--neon-orange);flex-shrink:0;margin-top:1px}.two-col{grid-template-columns:1fr 1fr;gap:24px;display:grid}.three-col{grid-template-columns:1fr 1fr 1fr;gap:16px;display:grid}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.4s ease-out forwards fadeIn}@keyframes pulseGlow{0%,to{box-shadow:var(--glow-cyan)}50%{box-shadow:var(--glow-strong)}}.pulse-glow{animation:2s ease-in-out infinite pulseGlow}
