:root{--primary: #0066ff;--primary-glow: #0066ff;--accent: #00ff88;--accent-glow: #00ff88;--neon-blue: #00f3ff;--neon-purple: #b967ff;--neon-pink: #ff2a6d;--matrix-green: #00ff41;--gradient-primary: linear-gradient(135deg, #0066ff 0%, #00f3ff 100%);--gradient-accent: linear-gradient(135deg, #00ff88 0%, #b967ff 100%);--gradient-dark: linear-gradient(135deg, #0a0e17 0%, #1a1f2e 100%);--gradient-card: linear-gradient(152deg, rgba(0, 102, 255, .1) 0%, rgba(0, 243, 255, .05) 100%);--gradient-header: linear-gradient(135deg, rgba(10, 14, 23, .95) 0%, rgba(26, 31, 46, .98) 100%);--gradient-neon: linear-gradient(135deg, #00f3ff 0%, #b967ff 50%, #ff2a6d 100%);--glow-primary: 0 0 20px rgba(0, 102, 255, .5);--glow-accent: 0 0 20px rgba(0, 255, 136, .5);--glow-neon: 0 0 30px rgba(0, 243, 255, .7);--text-primary: #ffffff;--text-secondary: #b0b8d0;--text-tertiary: #8a93b0;--text-glow: #00f3ff;--border-neon: 1px solid rgba(0, 243, 255, .3);--border-glow: 1px solid rgba(0, 102, 255, .5)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,system-ui,sans-serif;background:var(--gradient-dark);color:var(--text-primary);line-height:1.6;min-height:100vh;overflow-x:hidden;background-attachment:fixed}.app-container{min-height:100vh;position:relative;overflow-x:hidden}.app-container:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(rgba(0,243,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,243,255,.03) 1px,transparent 1px);background-size:50px 50px;animation:gridMove 20s linear infinite;pointer-events:none;z-index:0}.app-container:after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,transparent 50%,rgba(0,243,255,.02) 50%);background-size:100% 4px;animation:scanLines .5s linear infinite;pointer-events:none;z-index:1}@keyframes gridMove{0%{transform:translate(0)}to{transform:translate(50px,50px)}}@keyframes scanLines{0%{transform:translateY(0)}to{transform:translateY(4px)}}.app-header{background:var(--gradient-header);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:var(--border-neon);padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:1000;animation:slideDown .8s cubic-bezier(.4,0,.2,1);box-shadow:var(--glow-primary)}.header-left h1{font-size:2.5rem;font-weight:800;background:var(--gradient-neon);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:var(--glow-neon);animation:textGlow 2s ease-in-out infinite alternate}@keyframes textGlow{0%{text-shadow:0 0 10px rgba(0,243,255,.5)}to{text-shadow:0 0 20px rgba(0,243,255,.8),0 0 30px rgba(0,243,255,.6)}}.app-subtitle{color:#94a3b8;font-size:.9rem;margin-top:.25rem}.status-badge{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#0066ff1a;border-radius:2rem;border:var(--border-neon);color:var(--text-primary);font-family:Courier New,monospace;font-size:.9rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:pulseGlow 2s infinite}@keyframes pulseGlow{0%,to{box-shadow:0 0 10px #0066ff4d}50%{box-shadow:0 0 20px #06f9}}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:var(--glow-accent);animation:pulse 2s infinite}.trends-card,.comparison-card{background:#0a0e17cc;border-radius:16px;padding:1.5rem;border:var(--border-neon);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.chart-grid{display:flex;align-items:end;height:250px;border-bottom:2px solid rgba(0,243,255,.3);border-left:2px solid rgba(0,243,255,.3);margin-bottom:30px;padding-left:10px;background:#0003}.chart-y-axis{display:flex;flex-direction:column;justify-content:space-between;height:100%;padding-right:15px;font-size:12px;color:var(--text-secondary);margin-right:10px}.chart-bars{display:flex;justify-content:space-around;align-items:end;flex:1;height:100%;gap:30px;padding:0 20px}.chart-bar-group{display:flex;align-items:end;justify-content:center;position:relative;width:80px;gap:8px;height:100%}.chart-bar{width:22px!important;border-radius:4px 4px 0 0;transition:height .3s ease;min-height:10px}.chart-bar.architecture{background:var(--gradient-primary)!important;box-shadow:0 0 15px #0066ffb3!important}.chart-bar.modularity{background:var(--gradient-accent)!important;box-shadow:0 0 15px #00ff88b3!important}.chart-bar.complexity{background:linear-gradient(135deg,#ff2a6d,#b967ff)!important;box-shadow:0 0 15px #ff2a6db3!important}.chart-label{position:absolute;bottom:-30px;font-size:12px;color:var(--text-secondary);white-space:nowrap;font-weight:600}.chart-legend{display:flex;justify-content:center;gap:25px;margin-top:25px;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-secondary)}.legend-color{width:16px;height:16px;border-radius:3px}.legend-color.architecture{background:var(--gradient-primary)}.legend-color.modularity{background:var(--gradient-accent)}.legend-color.complexity{background:linear-gradient(135deg,#ff2a6d,#b967ff)}.comparison-list{display:flex;flex-direction:column;gap:1rem}.comparison-item{display:flex;align-items:center;gap:1rem}.comparison-metric{color:var(--text-primary);font-weight:500;width:120px;font-size:.9rem}.comparison-bar{flex:1;height:8px;background:#ffffff1a;border-radius:4px;position:relative}.comparison-fill{height:100%;border-radius:4px;position:absolute}.comparison-fill.current{background:var(--gradient-primary);z-index:2}.comparison-fill.industry{background:#ffffff4d;z-index:1}.comparison-value{color:var(--text-secondary);font-size:.8rem;width:80px;text-align:right}.app-layout{display:flex;min-height:calc(100vh - 80px)}.sidebar{width:280px;background:#0a0e17f2;border-right:var(--border-neon);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:2rem 0;position:sticky;top:80px;height:calc(100vh - 80px);overflow-y:auto}.sidebar-header{padding:0 2rem 2rem;border-bottom:1px solid rgba(0,243,255,.2);margin-bottom:1rem}.sidebar-header h3{color:var(--text-primary);font-size:1.1rem;font-weight:600}.sidebar-menu{list-style:none;padding:0}.sidebar-menu li{margin:0}.nav-item{width:100%;background:none;border:none;color:var(--text-secondary);padding:1rem 2rem;text-align:left;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:1rem;font-size:.95rem}.nav-item:hover{background:#0066ff1a;color:var(--text-primary)}.nav-item.active{background:#06f3;color:var(--text-primary);border-right:3px solid var(--neon-blue)}.nav-icon{font-size:1.2rem;width:24px;text-align:center}.nav-text{font-weight:500}.main-content{flex:1;background:var(--gradient-dark);overflow-y:auto}.page-container{max-width:1400px;margin:0 auto;padding:2rem}.page-header{text-align:center;margin-bottom:3rem;padding:2rem 0}.page-header h1{font-size:2.5rem;font-weight:800;background:var(--gradient-neon);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:1rem}.page-header p{color:var(--text-secondary);font-size:1.1rem;max-width:600px;margin:0 auto}.page-content-centered{display:flex;justify-content:center;align-items:flex-start;min-height:60vh}.page-content-full{width:100%}.generate-recommendations-section{text-align:center;margin:2rem 0}.generate-recommendations-btn{background:var(--gradient-primary);color:#fff;border:none;border-radius:1.5rem;padding:1.5rem 2rem;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:var(--glow-primary);position:relative;overflow:hidden;display:inline-flex;flex-direction:column;align-items:center;gap:.5rem;min-width:300px}.generate-recommendations-btn:hover{transform:translateY(-2px);box-shadow:var(--glow-neon)}.generate-recommendations-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-icon{font-size:1.5rem}.btn-subtext{font-size:.8rem;opacity:.9;font-weight:400}.generate-hint{color:var(--text-secondary);font-size:.9rem;margin-top:1rem}.retry-btn{background:var(--gradient-primary);color:#fff;border:none;border-radius:.75rem;padding:.5rem 1rem;font-size:.8rem;cursor:pointer;margin-top:1rem}.card,.panel-box,.upload-panel,.analysis-container,.results-section,.timeline-container,.architecture-card,.metric-card,.recommendation-card,.chart-card,.refactor-card,.summary-card{background:#0a0e17cc;border-radius:20px;padding:2rem;border:var(--border-neon);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);position:relative;overflow:hidden;animation:terminalGlow 3s ease-in-out infinite alternate;transition:all .3s cubic-bezier(.4,0,.2,1)}@keyframes terminalGlow{0%{box-shadow:0 0 30px #0066ff4d}to{box-shadow:0 0 50px #00f3ff80}}.card:before,.panel-box:before,.upload-panel:before,.analysis-container:before,.results-section:before,.timeline-container:before,.architecture-card:before,.metric-card:before,.recommendation-card:before,.chart-card:before,.refactor-card:before,.summary-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,243,255,.1),transparent);animation:scan 3s linear infinite}@keyframes scan{0%{left:-100%}to{left:100%}}.card:hover,.panel-box:hover,.upload-panel:hover,.analysis-container:hover,.results-section:hover,.timeline-container:hover,.architecture-card:hover,.metric-card:hover,.recommendation-card:hover,.chart-card:hover,.refactor-card:hover,.summary-card:hover{transform:translateY(-5px) scale(1.02);box-shadow:0 0 40px #00f3ff99}.upload-panel{animation:terminalGlow 3s ease-in-out infinite alternate,fadeInUp .8s cubic-bezier(.4,0,.2,1)}.analysis-container{animation:terminalGlow 3s ease-in-out infinite alternate,hologramAppear 1s cubic-bezier(.4,0,.2,1)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes hologramAppear{0%{opacity:0;transform:scale(.8) rotateX(45deg)}to{opacity:1;transform:scale(1) rotateX(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.upload-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.upload-title{font-size:1.5rem;font-weight:700;background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.5rem}.metrics-trends{display:grid;grid-template-columns:2fr 1fr;gap:20px;margin-top:20px}.chart-container{position:relative;margin-top:20px}.ai-impact-section{margin-top:2rem}.impact-card{background:#0a0e17cc;border-radius:16px;padding:1.5rem;border:var(--border-neon);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.impact-metrics{display:flex;justify-content:space-around;gap:1rem;margin-top:1rem}.impact-item{text-align:center;padding:1rem;background:#0066ff1a;border-radius:8px;border:1px solid rgba(0,102,255,.3)}.impact-label{display:block;color:var(--text-secondary);font-size:.9rem;margin-bottom:.5rem}.impact-value{display:block;font-size:1.2rem;font-weight:700}.impact-value.positive{color:var(--accent)}.ai-improvement-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#0f83;color:var(--accent);border-radius:1rem;font-size:.8rem;font-weight:600;margin-top:.5rem;border:1px solid rgba(0,255,136,.4);animation:pulseGlow 2s infinite}.upload-subtitle{color:var(--text-secondary);font-size:.9rem;line-height:1.5}.project-label{font-size:.8rem;font-weight:600;color:var(--text-secondary);background:#94a3b81a;border-radius:1rem;padding:.5rem 1rem;border:var(--border-neon);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.how-it-works{margin-bottom:1.5rem}.how-it-works-title{font-weight:600;color:var(--text-primary);margin-bottom:.75rem;font-size:.9rem}.how-it-works-list{list-style:none;color:var(--text-secondary);font-size:.85rem;line-height:1.6}.how-it-works-list li{margin-bottom:.5rem;position:relative;padding-left:.5rem}.upload-area{border:2px dashed rgba(0,243,255,.3);border-radius:1rem;padding:2rem;background:#0066ff0d;text-align:center;margin-bottom:1.5rem;transition:all .3s ease;animation:pulseBorder 2s infinite}@keyframes pulseBorder{0%,to{border-color:#00f3ff4d}50%{border-color:#00f3ff99}}.upload-area:hover{border-color:var(--neon-blue);background:#0066ff1a;transform:scale(1.02)}.file-input{display:none}.file-label{display:inline-flex;align-items:center;justify-content:center;background:var(--gradient-primary);color:#fff;border:none;border-radius:1.5rem;padding:.8rem 1.5rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:var(--glow-primary);position:relative;overflow:hidden}.file-label:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.file-label:hover:before{left:100%}.file-label:hover{transform:translateY(-2px);box-shadow:var(--glow-neon)}.file-name{margin-top:1rem;font-size:.8rem;color:var(--text-secondary)}.upload-actions{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.upload-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--gradient-primary);color:#fff;border:none;border-radius:1.5rem;padding:1rem 2rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:var(--glow-primary);position:relative;overflow:hidden;width:100%}.upload-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--glow-neon)}.upload-button:disabled{opacity:.7;cursor:not-allowed}.upload-spinner{width:1rem;height:1rem;border:2px solid transparent;border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-message{color:var(--neon-pink);font-size:.85rem;text-align:center;padding:.75rem;background:#ff2a6d0d;border-radius:.75rem;border:1px solid rgba(255,42,109,.2)}.snapshot-section{border-top:1px solid rgba(0,243,255,.2);padding-top:1.5rem}.snapshot-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:1rem;font-weight:600}.snapshot-grid{display:grid;gap:.75rem}.snapshot-item{display:flex;align-items:center;justify-content:space-between;background:#ffffff0d;border-radius:.75rem;padding:.75rem 1rem;border:1px solid rgba(255,255,255,.1);transition:all .3s ease}.snapshot-item:hover{transform:translate(4px);background:#ffffff1a}.snapshot-label{font-size:.8rem;font-weight:600;color:var(--text-secondary)}.snapshot-value{font-size:.9rem;font-weight:700;color:var(--text-primary)}.snapshot-placeholder{color:var(--text-secondary);font-size:.85rem;text-align:center;padding:1.5rem;background:#ffffff0d;border-radius:.75rem;border:1px dashed rgba(255,255,255,.2)}.analysis-container{display:flex;flex-direction:column;gap:1.5rem}.panel-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:.75rem}.panel-desc{color:var(--text-secondary);font-size:.9rem;margin-bottom:1rem}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.stat-card{background:#0066ff1a;border-radius:16px;padding:1.5rem;border:var(--border-neon);text-align:center;position:relative;overflow:hidden;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:hologramFloat 4s ease-in-out infinite}@keyframes hologramFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.stat-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:conic-gradient(from 0deg,transparent,rgba(0,243,255,.1),transparent);animation:rotate 4s linear infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.stat-card:hover{transform:scale(1.05) translateY(-5px);box-shadow:var(--glow-primary)}.stat-label{display:block;font-size:.8rem;color:var(--text-secondary);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:1px}.stat-value{display:block;font-size:2.5rem;font-weight:800;background:var(--gradient-neon);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.25rem}.stat-helper{font-size:.75rem;color:var(--text-tertiary)}.visual-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.visual-placeholder{background:#ffffff0d;border:2px dashed rgba(0,243,255,.3);border-radius:1rem;padding:2rem;text-align:center;color:var(--text-tertiary);transition:all .3s ease;min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center}.visual-placeholder:hover{border-color:var(--primary);color:var(--primary)}.visual-icon{font-size:2rem;margin-bottom:.5rem}.results-container{display:flex;flex-direction:column;gap:1.5rem}.results-section{background:#0a0e17cc;border-radius:1.5rem;padding:1.5rem;border:var(--border-neon);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.section-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.section-icon{font-size:1.5rem}.section-title{font-size:1.125rem;font-weight:700;color:var(--text-primary)}.summary-card{background:var(--gradient-primary);border-radius:1rem;padding:1.5rem;border:var(--border-glass);color:#fff}.summary-content{margin-bottom:1rem}.summary-text{color:#fff;line-height:1.6}.summary-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem}.metric-badge{background:#fff3;padding:.75rem .5rem;border-radius:.75rem;text-align:center;box-shadow:var(--shadow-sm);border:1px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.metric-value{display:block;font-size:1.25rem;font-weight:700;color:#fff}.metric-label{font-size:.7rem;color:#fffc}.results-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.issues-section{background:#ff2a6d1a;border:1px solid rgba(255,42,109,.3);animation:alertPulse 2s infinite}@keyframes alertPulse{0%,to{box-shadow:0 0 20px #ff2a6d33}50%{box-shadow:0 0 30px #ff2a6d66}}.suggestions-section{background:#00ff881a;border:1px solid rgba(0,255,136,.3);animation:enhanceGlow 3s infinite alternate}@keyframes enhanceGlow{0%{box-shadow:0 0 20px #0f83}to{box-shadow:0 0 30px #0f86}}.issues-list,.suggestions-grid{display:flex;flex-direction:column;gap:1rem}.issue-item,.suggestion-card{background:#ffffff0d;border-radius:1rem;padding:1.25rem;border:1px solid rgba(255,255,255,.1);transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.issue-item:hover,.suggestion-card:hover{transform:translateY(-2px);background:#ffffff1a;box-shadow:0 10px 30px #0000004d}.issue-text,.suggestion-text{color:var(--text-primary);line-height:1.5;margin-bottom:1rem}.quick-fix-btn,.action-btn{background:var(--gradient-primary);color:#fff;border:none;padding:.6rem 1.2rem;border-radius:.75rem;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:var(--glow-primary)}.suggestion-actions{display:flex;gap:.5rem;flex-wrap:wrap}.files-grid{display:flex;flex-direction:column;gap:1rem}.file-card{background:#0a0e17cc;border-radius:1rem;border:var(--border-neon);overflow:hidden;transition:all .3s ease}.file-card:hover{transform:translateY(-2px);box-shadow:var(--glow-primary)}.file-header{padding:1.25rem;background:#f8fafc1a;border-bottom:var(--border-neon);cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background .3s ease}.file-header:hover{background:#f1f5f926}.file-info{flex:1}.file-name{font-weight:600;color:var(--text-primary);display:block;margin-bottom:.25rem}.file-stats{font-size:.8rem;color:var(--text-secondary)}.expand-btn{background:none;border:none;font-size:1rem;cursor:pointer;padding:.5rem;border-radius:.5rem;transition:background .3s ease;color:var(--text-primary)}.expand-btn:hover{background:#0000000d}.file-comparison{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--border-neon);max-width:100%;overflow:hidden}.code-column{background:#f8fafc0d}.code-header{padding:1rem;background:#f8fafc1a;border-bottom:var(--border-neon);display:flex;justify-content:space-between;align-items:center}.code-label{font-size:.9rem;font-weight:600}.code-label.before{color:var(--neon-pink)}.code-label.after{color:var(--accent)}.code-badge{font-size:.7rem;padding:.25rem .5rem;border-radius:.5rem;font-weight:600}.code-badge.warning{background:#ffa5021a;color:var(--warning);border:1px solid rgba(255,165,2,.2)}.code-badge.success{background:#00ff881a;color:var(--success);border:1px solid rgba(0,255,136,.2)}.code-box{padding:1rem;background:#f8fafc0d;margin:0;overflow-x:auto;font-family:Courier New,monospace;font-size:.75rem;line-height:1.4;max-width:100%;white-space:pre-wrap}.code-box.before{border-right:1px solid rgba(0,243,255,.2)}.timeline-container{background:#0a0e17cc;border-radius:1.5rem;padding:1.5rem;border:var(--border-neon);height:fit-content}.timeline-title{font-size:1.125rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.timeline-description{color:var(--text-secondary);font-size:.9rem;margin-bottom:1.5rem}.timeline-list{display:flex;flex-direction:column;gap:1rem}.timeline-item{background:#0066ff0d;border-left:3px solid var(--neon-blue);padding:1.25rem;border-radius:8px;transition:all .3s ease;animation:timelineSlide .5s ease-out}@keyframes timelineSlide{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.timeline-item:hover{background:#0066ff1a;transform:translate(10px);border-left-color:var(--accent)}.timeline-item-title{font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.timeline-item-date{font-size:.8rem;color:var(--text-secondary);margin-bottom:.5rem}.timeline-score{font-size:.8rem;color:var(--primary);font-weight:600}.timeline-empty{text-align:center;padding:2rem;color:var(--text-secondary)}.timeline-empty-note{font-size:.85rem;margin-top:.5rem;color:var(--text-tertiary)}.placeholder-card,.results-empty-state,.empty-state{text-align:center;padding:3rem 2rem;color:var(--text-tertiary);background:#ffffff0d;border-radius:1rem;border:2px dashed rgba(255,255,255,.2)}.placeholder-icon,.empty-icon{font-size:3rem;margin-bottom:1rem}.primary-button{background:var(--gradient-primary);color:#fff;border:none;padding:1rem 2rem;border-radius:1.5rem;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .3s ease;box-shadow:var(--glow-primary);position:relative;overflow:hidden;width:100%}.primary-button:hover{transform:translateY(-2px);box-shadow:var(--glow-neon)}.primary-button:disabled{opacity:.6;cursor:not-allowed}.loading-text{color:var(--primary);font-size:.85rem;text-align:center;margin-top:1rem;animation:pulse 2s infinite}.architecture-dashboard{display:grid;grid-template-columns:2fr 1fr;gap:2rem}.architecture-main{display:flex;flex-direction:column;gap:2rem}.architecture-card.main-card{grid-column:1 / -1}.health-score{display:flex;align-items:center;gap:3rem}.score-circle{text-align:center;padding:2rem}.score-value{display:block;font-size:3rem;font-weight:800;background:var(--gradient-neon);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.score-label{color:var(--text-secondary);font-size:1rem}.score-breakdown{flex:1}.breakdown-item{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.breakdown-label{color:var(--text-secondary);width:120px}.breakdown-bar{flex:1;height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden}.breakdown-fill{height:100%;background:var(--gradient-primary);border-radius:4px}.breakdown-value{color:var(--text-primary);font-weight:600;width:40px;text-align:right}.architecture-visualization{background:#0a0e17cc;border-radius:20px;padding:2rem;border:var(--border-neon)}.visualization-container{padding:2rem;background:#0000004d;border-radius:12px;border:1px solid rgba(0,243,255,.2)}.architecture-graph{display:flex;flex-direction:column;align-items:center;gap:1rem}.graph-node{padding:1rem 2rem;border-radius:8px;font-weight:600;text-align:center;min-width:120px;transition:all .3s ease}.graph-node.main{background:var(--gradient-primary);color:#fff;box-shadow:var(--glow-primary)}.graph-node.layer-1{background:#0066ff4d;border:1px solid rgba(0,102,255,.5)}.graph-node.layer-2{background:#00f3ff33;border:1px solid rgba(0,243,255,.4)}.pattern-list{display:flex;flex-direction:column;gap:1rem}.pattern-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#ffffff0d;border-radius:8px}.pattern-icon{font-size:1.5rem}.pattern-info{flex:1}.pattern-name{color:var(--text-primary);font-weight:500;display:block}.pattern-status{font-size:.8rem;padding:.2rem .5rem;border-radius:.5rem;font-weight:600}.pattern-status.detected{background:#0f83;color:var(--accent)}.pattern-status.partial{background:#ffa50233;color:var(--warning)}.pattern-status.missing{background:#ff2a6d33;color:var(--neon-pink)}.metrics-grid-small{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.metric-small{text-align:center;padding:1rem;background:#ffffff0d;border-radius:8px}.metric-label{display:block;color:var(--text-secondary);font-size:.8rem;margin-bottom:.5rem}.metric-value{display:block;color:var(--text-primary);font-weight:600;font-size:1.2rem}.metrics-dashboard{display:flex;flex-direction:column;gap:2rem}.metrics-grid-large{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem}.metric-card-large{background:#0a0e17cc;border-radius:16px;padding:1.5rem;border:var(--border-neon);transition:all .3s ease}.metric-card-large:hover{transform:translateY(-5px);box-shadow:var(--glow-primary)}.metric-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.metric-trend{font-size:.9rem;font-weight:600;padding:.25rem .5rem;border-radius:.5rem}.metric-trend.positive{background:#0f83;color:var(--accent)}.metric-trend.negative{background:#ff2a6d33;color:var(--neon-pink)}.metric-value-large{font-size:2.5rem;font-weight:800;background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.5rem}.metric-description{color:var(--text-secondary);font-size:.9rem;margin-bottom:1rem}.metric-footer{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.metric-ideal{color:var(--text-secondary);font-size:.8rem}.metric-status{padding:.25rem .5rem;border-radius:.5rem;font-size:.8rem;font-weight:600}.metric-status.good{background:#0f83;color:var(--accent)}.metric-status.warning{background:#ffa50233;color:var(--warning)}.metric-bar{height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden}.metric-fill{height:100%;border-radius:3px}.metric-fill.good{background:var(--gradient-accent)}.metric-fill.warning{background:var(--gradient-primary)}.metrics-trends,.refactor-dashboard{display:grid;grid-template-columns:2fr 1fr;gap:2rem}.refactor-description{color:var(--text-secondary);font-size:1.1rem;line-height:1.6;margin-bottom:2rem}.refactor-features{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.feature-item{display:flex;align-items:flex-start;gap:1rem}.feature-icon{font-size:2rem;flex-shrink:0}.feature-content h4{color:var(--text-primary);margin-bottom:.5rem}.feature-content p{color:var(--text-secondary);margin:0}.refactor-button{background:var(--gradient-primary);color:#fff;border:none;padding:1.5rem 3rem;border-radius:1.5rem;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:var(--glow-primary);width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem}.refactor-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--glow-neon)}.refactor-button:disabled{opacity:.6;cursor:not-allowed}.refactor-warning{display:flex;align-items:center;gap:.5rem;color:var(--warning);margin-top:1rem;padding:1rem;background:#ffa5021a;border-radius:.5rem;border:1px solid rgba(255,165,2,.3)}.expectation-list{list-style:none;padding:0}.expectation-list li{color:var(--text-secondary);position:relative;padding:.5rem 0 .5rem 1.5rem}.expectation-list li:before{content:"✓";position:absolute;left:0;color:var(--accent)}.impact-metrics{display:flex;flex-direction:column;gap:1rem}.impact-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#ffffff0d;border-radius:8px}.impact-label{color:var(--text-primary)}.impact-value{color:var(--accent);font-weight:600;font-size:1.1rem}.recommendations-dashboard{display:flex;flex-direction:column;gap:2rem}.recommendations-summary{display:flex;justify-content:center}.summary-card{background:#0a0e17cc;border-radius:16px;padding:2rem;border:var(--border-neon);text-align:center;min-width:400px}.summary-stats{display:flex;justify-content:space-around;margin-top:1rem}.stat-item{text-align:center}.stat-value{display:block;font-size:2rem;font-weight:800;background:var(--gradient-neon);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.5rem}.stat-label{color:var(--text-secondary);font-size:.9rem}.recommendations-grid-detailed{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem}.recommendation-card-detailed{background:#0a0e17cc;border-radius:16px;padding:1.5rem;border:var(--border-neon);transition:all .3s ease}.recommendation-card-detailed:hover{transform:translateY(-5px);box-shadow:var(--glow-primary)}.rec-header-detailed{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.rec-priority-badge{padding:.5rem 1rem;border-radius:1rem;font-size:.8rem;font-weight:600;text-transform:uppercase}.rec-priority-badge.high{background:#ff2a6d33;color:var(--neon-pink);border:1px solid rgba(255,42,109,.4)}.rec-priority-badge.medium{background:#ffa50233;color:var(--warning);border:1px solid rgba(255,165,2,.4)}.rec-category{color:var(--text-secondary);font-size:.9rem}.rec-description{color:var(--text-secondary);line-height:1.6;margin-bottom:1rem}.rec-files{margin-bottom:1rem}.file-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.file-tag{background:#06f3;color:var(--neon-blue);padding:.25rem .5rem;border-radius:.5rem;font-size:.8rem;border:1px solid rgba(0,102,255,.4)}.rec-metrics-detailed{display:flex;gap:1rem;margin:1rem 0}.metric-group{display:flex;flex-direction:column;align-items:center;gap:.25rem;flex:1}.metric-label{color:var(--text-secondary);font-size:.8rem}.metric-value{padding:.5rem;border-radius:.5rem;font-size:.9rem;font-weight:600;text-align:center;width:100%}.metric-value.high{background:#ff2a6d33;color:var(--neon-pink)}.metric-value.medium{background:#ffa50233;color:var(--warning)}.metric-value.low{background:#0f83;color:var(--accent)}.metric-value.time{background:#06f3;color:var(--neon-blue)}.rec-actions-detailed{display:flex;gap:.5rem;flex-wrap:wrap}.action-btn{padding:.75rem 1rem;border:none;border-radius:.75rem;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .3s ease;flex:1;min-width:120px}.action-btn.primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--glow-primary)}.action-btn.secondary{background:transparent;color:var(--neon-blue);border:1px solid var(--neon-blue)}.action-btn.tertiary{background:transparent;color:var(--text-secondary);border:1px solid var(--text-secondary)}.action-btn:hover{transform:translateY(-2px)}.ai-refactor-results{margin-top:2rem}.result-summary-card{background:#0066ff1a;border:1px solid rgba(0,102,255,.3);border-radius:12px;padding:1.5rem;color:var(--text-primary)}.loading-spinner{width:1rem;height:1rem;border:2px solid transparent;border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#ffffff1a;border-radius:4px}::-webkit-scrollbar-thumb{background:var(--gradient-neon);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--neon-blue)}button:focus,input:focus{outline:2px solid var(--neon-blue);outline-offset:2px;box-shadow:var(--glow-neon)}::selection{background:#00f3ff4d;color:var(--text-primary)}@media(max-width:1024px){.app-layout{flex-direction:column}.sidebar{width:100%;height:auto;position:static;border-right:none;border-bottom:var(--border-neon)}.sidebar-menu{display:flex;overflow-x:auto}.nav-item{flex-shrink:0;white-space:nowrap}.architecture-dashboard,.refactor-dashboard,.metrics-trends,.metrics-grid-large,.recommendations-grid-detailed,.results-grid{grid-template-columns:1fr}}@media(max-width:768px){.app-main{padding:1rem}.app-header{padding:1rem;flex-direction:column;gap:1rem;text-align:center}.page-container{padding:1rem}.page-header h1{font-size:2rem}.health-score,.summary-stats{flex-direction:column;gap:1rem}.rec-actions-detailed{flex-direction:column}.action-btn{min-width:auto}.metrics-grid,.visual-grid{grid-template-columns:1fr}}@media(max-width:480px){.upload-panel,.card,.panel-box,.timeline-container{padding:1.5rem}.file-comparison{grid-template-columns:1fr}.code-box{font-size:.7rem;padding:.75rem}.summary-card{min-width:auto}}
