:root{--primary-color: #00ff41;--secondary-color: #008f11;--bg-color: #0d0d0d;--card-bg: rgba(0, 50, 0, .3);--text-color: #e0e0e0;--font-mono: "Courier New", Courier, monospace}body{margin:0;padding:0;background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-mono);overflow-x:hidden;height:100vh;width:100vw}#root{width:100%;height:100%}*{box-sizing:border-box}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#000}::-webkit-scrollbar-thumb{background:var(--secondary-color)}::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}.app-container{display:flex;flex-direction:column;align-items:center;min-height:100vh;padding:2rem;position:relative;z-index:1}.background-grid{position:fixed;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(var(--card-bg) 1px,transparent 1px),linear-gradient(90deg,var(--card-bg) 1px,transparent 1px);background-size:30px 30px;z-index:-1;opacity:.3;pointer-events:none}.error-banner{width:100%;max-width:900px;background:#ff44441f;border:1px solid #ff4444;color:#f66;padding:.8rem 1.2rem;margin-bottom:1.5rem;border-radius:2px;font-size:.9rem;animation:fadeIn .4s ease-out}.error-icon{margin-right:.5rem}.scanner-container{text-align:center;margin-bottom:3rem;max-width:600px;width:100%;animation:fadeIn 1s ease-out}.title{font-size:2.5rem;color:var(--primary-color);text-transform:uppercase;letter-spacing:2px;margin-bottom:.5rem;text-shadow:0 0 10px var(--primary-color)}.subtitle{color:var(--secondary-color);margin-bottom:2rem;font-size:1rem}.scanner-form{display:flex;flex-direction:column;gap:1rem}.scanner-input{background:transparent;border:2px solid var(--secondary-color);color:var(--primary-color);padding:1rem;font-size:1.2rem;font-family:var(--font-mono);outline:none;transition:all .3s ease;width:100%}.scanner-input:focus{border-color:var(--primary-color);box-shadow:0 0 15px #00ff414d}.scanner-input:disabled{opacity:.5;cursor:not-allowed}.scanner-button{background:var(--secondary-color);color:#000;border:none;padding:1rem;font-size:1.2rem;font-weight:700;font-family:var(--font-mono);cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px}.scanner-button:hover:not(:disabled){background:var(--primary-color);box-shadow:0 0 20px var(--primary-color)}.scanner-button:disabled{opacity:.6;cursor:not-allowed}.scan-results{width:100%;max-width:900px;animation:slideUp .8s ease-out}.results-header{border-bottom:1px solid var(--secondary-color);padding-bottom:1rem;margin-bottom:2rem;display:flex;justify-content:space-between;align-items:center}.results-header h2{color:var(--primary-color);margin:0}.timestamp{font-size:.8rem;color:#666;word-break:break-all}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.metric-card{background:#00140099;border:1px solid var(--secondary-color);padding:1.5rem;text-align:center;transition:transform .3s}.metric-card:hover{transform:translateY(-5px);border-color:var(--primary-color)}.metric-card h3{margin-top:0;font-size:.9rem;color:#aaa}.metric-card .score{font-size:2.5rem;font-weight:700}.metric-card .score span{font-size:1rem;color:#666}.analysis-section{margin-bottom:2rem}.analysis-section h3{color:var(--secondary-color);border-left:3px solid var(--primary-color);padding-left:1rem;margin-bottom:1rem}.score-bars{display:flex;flex-direction:column;gap:1rem}.score-bar-wrapper{width:100%}.score-bar-label{display:flex;justify-content:space-between;margin-bottom:.4rem;font-size:.85rem;color:#aaa}.score-bar-track{width:100%;height:8px;background:#1a1a1a;border-radius:4px;overflow:hidden}.score-bar-fill{height:100%;border-radius:4px;transition:width 1s ease-out}.signal-list{padding-left:1.2rem;margin:0}.signal-list li{margin-bottom:.4rem;font-size:.9rem;line-height:1.4}.signal-list.strengths li{color:#00c832}.signal-list.issues li{color:#f66}.recommendations-list{display:flex;flex-direction:column;gap:1rem}.rec-card{border:1px solid #333;border-left:4px solid;padding:1rem 1.2rem;background:#0006;border-radius:2px}.rec-header{display:flex;align-items:baseline;gap:.6rem;margin-bottom:.5rem}.rec-priority{font-size:.75rem;font-weight:700;letter-spacing:1px}.rec-item{font-weight:700;font-size:.95rem;color:#ddd}.rec-why,.rec-how{margin:.3rem 0 0;font-size:.85rem;color:#999;line-height:1.5}.rec-why strong,.rec-how strong{color:#bbb}.scrape-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.scrape-field{background:#00140066;border:1px solid #1a3a1a;padding:.8rem;border-radius:2px}.scrape-label{display:block;font-size:.7rem;color:var(--secondary-color);letter-spacing:1px;margin-bottom:.3rem}.scrape-value{font-size:.85rem;color:#ccc;word-break:break-word}.ai-commentary{line-height:1.6;border:1px dashed var(--secondary-color);padding:1.5rem;background:#00000080;font-size:.9rem;color:#ccc}.raw-data-section h3{color:var(--secondary-color);margin-bottom:.5rem;font-family:var(--font-mono);letter-spacing:1px}.terminal-window{background:#0d0d0d;border:1px solid #333;border-radius:4px;box-shadow:0 4px 20px #00000080;overflow:hidden}.raw-data-section pre{margin:0;padding:1rem;color:#00ff41;overflow-x:auto;overflow-y:auto;max-height:400px;font-family:Consolas,Monaco,Courier New,monospace;font-size:.8rem;white-space:pre-wrap;line-height:1.4}.raw-data-section pre::-webkit-scrollbar{width:8px;height:8px}.raw-data-section pre::-webkit-scrollbar-track{background:#1a1a1a}.raw-data-section pre::-webkit-scrollbar-thumb{background:#333;border-radius:4px}.raw-data-section pre::-webkit-scrollbar-thumb:hover{background:#444}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px}.loading-text span{display:block;color:var(--primary-color);animation:blink 1.5s infinite;margin-bottom:.5rem}.loading-text span:nth-child(2){animation-delay:.5s}.loading-text span:nth-child(3){animation-delay:1s}.scan-line{width:100%;height:2px;background:var(--primary-color);box-shadow:0 0 10px var(--primary-color);position:fixed;top:0;left:0;animation:scanDown 2s linear infinite;z-index:999}@keyframes scanDown{0%{top:0;opacity:0}10%{opacity:1}90%{opacity:1}to{top:100%;opacity:0}}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:600px){.scrape-grid{grid-template-columns:1fr}.metrics-grid{grid-template-columns:1fr!important}.title{font-size:1.8rem}}
