:root{--bg-dark:#0f172a;--bg-panel:#0f172acc;--bg-slate-900:#0f172a;--bg-slate-950:#020617;--accent-primary:#38bdf8;--accent-secondary:#818cf8;--text-main:#f8fafc;--text-muted:#94a3b8;--text-slate-400:#94a3b8;--success:#10b981;--warning:#f59e0b;--error:#ef4444;--font-sans:"Inter", sans-serif;--font-mono:"Fira Code", monospace}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--text-main);font-family:var(--font-sans);background-color:#0b0f19;background-image:radial-gradient(at 0 0,#01132d 0,#0000 50%),radial-gradient(at 50% 0,#0f1729 0,#0000 50%),radial-gradient(at 100% 0,#03183a 0,#0000 50%);background-position:0 0;background-repeat:repeat;background-size:auto;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;height:100vh;margin:0;overflow:hidden}#root{height:100%}.glass-panel{-webkit-backdrop-filter:blur(24px);background:#ffffff05;border:1px solid #ffffff0d;box-shadow:0 25px 50px -12px #00000080}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff0d;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#38bdf833}.app-layout{flex-direction:column;gap:1rem;max-width:1600px;height:100vh;margin:0 auto;padding:1rem;display:flex}.top-nav{border-radius:16px;justify-content:space-between;align-items:center;padding:1rem 2rem;animation:.5s ease-out slideDown;display:flex}.nav-brand{background:linear-gradient(90deg,#38bdf8,#818cf8);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;align-items:center;gap:.75rem;font-size:1.5rem;font-weight:700;display:flex}.btn-glowing{color:#fff;cursor:pointer;background:linear-gradient(135deg,#38bdf8,#6366f1) 0 0/200% 200%;border:none;border-radius:10px;align-items:center;gap:.6rem;padding:.75rem 1.75rem;font-size:.95rem;font-weight:600;transition:all .4s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:0 4px 15px #38bdf833}.btn-glowing:hover:not(:disabled){background-position:100%;transform:translateY(-1px);box-shadow:0 8px 25px #38bdf866}.btn-pulse{animation:2s infinite pulse-glow}@keyframes pulse-glow{0%{box-shadow:0 0 #38bdf866}70%{box-shadow:0 0 0 10px #38bdf800}to{box-shadow:0 0 #38bdf800}}.btn-glowing:disabled{opacity:.5;cursor:not-allowed;filter:grayscale()}.workspace{flex:1;gap:1rem;animation:.6s ease-out fadeIn;display:flex;overflow:hidden}.editor-container,.results-container{border-radius:16px;flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.pane-toolbar{border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;display:flex}.pane-title{letter-spacing:.15em;text-transform:uppercase;color:var(--text-slate-400);align-items:center;gap:.6rem;font-size:.75rem;font-weight:600;display:flex}.select-modern{color:#fff;font-family:var(--font-sans);cursor:pointer;background:#0003;border:1px solid #ffffff1a;border-radius:6px;outline:none;padding:.4rem 1rem;transition:border-color .2s}.select-modern:focus{border-color:var(--accent-primary)}.select-modern option{background-color:var(--bg-dark);color:var(--text-main)}.monaco-wrapper{flex:1;padding-top:1rem}.results-content{flex:1;padding:1.5rem;overflow-y:auto}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:.4s ease-in-out fadeIn}.loading-state{height:100%;color:var(--accent-primary);flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.loading-spinner{animation:3s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.score-indicator-container{justify-content:center;align-items:center;width:100px;height:100px;display:flex;position:relative}.score-circle-svg{width:100px;height:100px;transform:rotate(-90deg)}.score-circle-bg{fill:none;stroke:#ffffff0d;stroke-width:8px}.score-circle-progress{fill:none;stroke-width:8px;stroke-linecap:round;transition:stroke-dashoffset 1s ease-in-out,stroke .3s}.score-text{color:var(--text-main);flex-direction:column;align-items:center;font-size:1.75rem;font-weight:800;line-height:1;display:flex;position:absolute}.score-label{text-transform:uppercase;letter-spacing:.2em;color:var(--text-muted);margin-top:2px;font-size:.6rem;font-weight:700}.score-excellent{stroke:var(--success);filter:drop-shadow(0 0 8px #10b98166)}.score-good{stroke:var(--warning);filter:drop-shadow(0 0 8px #f59e0b66)}.score-poor{stroke:var(--error);filter:drop-shadow(0 0 8px #ef444466)}.issues-list{flex-direction:column;gap:1rem;display:flex}.issue-card{background:#ffffff05;border:1px solid #ffffff0d;border-radius:12px;margin-bottom:1.25rem;padding:1.25rem;transition:all .4s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.issue-card:hover{background:#ffffff0a;border-color:#ffffff1a;transform:translateY(-2px)}.issue-card.severity-error:hover{border-color:#ef44444d;box-shadow:0 10px 30px #ef44441a}.issue-card.severity-warning:hover{border-color:#f59e0b4d;box-shadow:0 10px 30px #f59e0b1a}.issue-card.severity-info:hover{border-color:#38bdf84d;box-shadow:0 10px 30px #38bdf81a}.issue-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.badge{letter-spacing:.05em;text-transform:uppercase;border-radius:99px;align-items:center;gap:6px;padding:.4rem .8rem;font-size:.7rem;font-weight:800;display:flex}.badge-error{color:#fca5a5;background:#ef44441a;border:1px solid #ef444433}.badge-warning{color:#fcd34d;background:#f59e0b1a;border:1px solid #f59e0b33}.badge-info{color:#7dd3fc;background:#38bdf81a;border:1px solid #38bdf833}.issue-line{font-family:var(--font-mono);background:var(--bg-slate-950);letter-spacing:.1em;color:var(--text-slate-400);border:1px solid #ffffff0d;border-radius:99px;padding:.3rem .75rem;font-size:.7rem;font-weight:600}.suggestion-block{background:var(--bg-slate-950);border-left:3px solid #818cf84d;border-radius:12px;margin-top:1.25rem;padding:1.25rem}.monaco-line-highlight{border-left:3px solid var(--accent-primary)!important;background:linear-gradient(90deg,#38bdf826,#0000)!important}.monaco-line-highlight-active{transition:all .2s;border-left:4px solid var(--error)!important;background:linear-gradient(90deg,#ef444433,#0000)!important}.monaco-line-glyph-active{background:var(--error)!important;width:4px!important;margin-left:2px!important}.text-gradient{background:linear-gradient(90deg,#e2e8f0,#94a3b8);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#000c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:#0f172ae6;border:1px solid #ffffff1a;border-radius:16px;width:100%;max-width:450px;padding:2.5rem;position:relative;box-shadow:0 25px 50px -12px #00000080}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;transition:color .2s;position:absolute;top:1rem;right:1rem}.modal-close:hover{color:var(--text-main)}.home-container{z-index:1;flex-direction:column;align-items:center;height:100%;padding:4rem 1rem;display:flex;position:relative;overflow-y:auto}.glow-orb{filter:blur(100px);z-index:-1;opacity:.5;border-radius:50%;position:absolute}.orb-1{background:#38bdf866;width:400px;height:400px;top:-100px;left:-100px}.orb-2{background:#6366f14d;width:500px;height:500px;bottom:10%;right:-100px}.hero-split{grid-template-columns:1fr 1fr;align-items:center;gap:4rem;width:100%;max-width:1400px;margin-top:2rem;display:grid}.hero-section{text-align:left}.hero-title{color:var(--text-main);letter-spacing:-1px;margin-bottom:2rem;font-size:4rem;font-weight:700;line-height:1.1}.hero-subtitle{color:var(--text-muted);max-width:600px;font-size:1.25rem;line-height:1.6}.hero-buttons{justify-content:flex-start;gap:1.5rem;margin-top:3rem;display:flex}.hero-graphic{perspective:1000px;justify-content:center;display:flex;position:relative}.graphic-card{border-radius:12px;width:100%;max-width:500px;transition:transform .5s;overflow:visible;transform:rotateY(-5deg)rotateX(5deg);box-shadow:0 25px 50px -12px #00000080,0 0 0 1px #ffffff1a;background:#0f172acc!important}.graphic-card:hover{transform:rotateY(0)rotateX(0)}.graphic-header{background:#0000004d;border-bottom:1px solid #ffffff0d;align-items:center;padding:1rem;display:flex}.dots{gap:6px;display:flex}.dots span{background:#ff5f56;border-radius:50%;width:12px;height:12px}.dots span:nth-child(2){background:#ffbd2e}.dots span:nth-child(3){background:#27c93f}.graphic-title{font-family:var(--font-mono);color:var(--text-muted);margin-left:auto;margin-right:auto;font-size:.85rem}.graphic-code{font-family:var(--font-mono);color:#abb2bf;padding:1.5rem;font-size:.95rem;line-height:1.6;overflow-x:auto}.highlight-error{border-left:2px solid var(--error);background:#ef444426;margin-left:-1.5rem;padding-left:1.5rem;display:block}.ai-insight-popup{background:var(--bg-dark);z-index:10;border:1px solid #ef44444d;border-radius:12px;width:320px;padding:1.25rem;animation-fill-mode:both;position:absolute;top:60%;right:-10%;box-shadow:0 20px 40px #0009}@media (width<=1024px){.hero-split{text-align:center;grid-template-columns:1fr;gap:3rem}.hero-section{text-align:center}.hero-buttons{justify-content:center}.hero-graphic{display:none}}.btn-lg{padding:1rem 2rem;font-size:1.1rem}.btn-outline{color:var(--text-main);cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:8px;padding:1rem 2rem;font-size:1.1rem;font-weight:600;transition:all .3s}.btn-outline:hover{background:#ffffff0d;border-color:#fff6}.features-section{width:100%;max-width:1200px;margin-top:8rem}.feature-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;display:grid}.feature-card{text-align:left;border-radius:16px;flex-direction:column;align-items:flex-start;padding:2.5rem;transition:transform .3s,box-shadow .3s;display:flex}.feature-card:hover{border-color:#38bdf84d;transform:translateY(-5px);box-shadow:0 15px 35px #0006}.feature-icon-wrapper{background:#0000004d;border:1px solid #ffffff0d;border-radius:12px;margin-bottom:1.5rem;padding:1rem}.feature-card h3{color:var(--text-main);margin-bottom:1rem;font-size:1.4rem}.feature-card p{color:var(--text-muted);line-height:1.6}
