@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--bg-primary:#0f0d1a;--bg-secondary:#141028b3;--bg-card:#1c163780;--bg-card-hover:#241c4699;--text-primary:#f0eeff;--text-secondary:#9d91c8;--text-muted:#6b5f9e;--accent:#7c3aed;--accent-bright:#a855f7;--accent-dim:#7c3aed2e;--accent-glow:#a855f74d;--magenta:#d946ef;--magenta-dim:#d946ef26;--error-red:#f87171;--error-reddim:#f8717126;--warn-orange:#fb923c;--warn-orangedim:#fb923c26;--success-green:#34d399;--border-color:#8b5cf62e;--border-bright:#a855f759;--glass-shadow:0 8px 40px #0009, 0 0 0 1px #8b5cf61a;--glass-blur:blur(16px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text-primary);background-color:var(--bg-primary);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,-apple-system,sans-serif;font-weight:400;line-height:1.5}body{background:radial-gradient(ellipse 80% 60% at 10% 0%, #7c3aed40 0%, transparent 60%), radial-gradient(ellipse 60% 50% at 90% 100%, #d946ef26 0%, transparent 60%), var(--bg-primary);min-height:100vh;margin:0;padding:0}*,:before,:after{box-sizing:border-box}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#8b5cf666;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a855f799}.glass-panel{background:var(--bg-card);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-color);box-shadow:var(--glass-shadow);border-radius:14px}.button-primary{background:linear-gradient(135deg, var(--accent) 0%, var(--magenta) 100%);color:#fff;cursor:pointer;letter-spacing:.01em;border:none;border-radius:9px;padding:10px 22px;font-size:.9rem;font-weight:600;transition:opacity .2s,transform .15s,box-shadow .2s;box-shadow:0 0 20px #7c3aed66}.button-primary:hover{opacity:.92;transform:translateY(-1px);box-shadow:0 0 30px #a855f799}.button-primary:active{transform:scale(.97)}.button-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.engine-pipeline{border:1px solid var(--border-color);-webkit-backdrop-filter:var(--glass-blur);background:#0f0a2399;border-radius:12px;padding:12px 20px}.pipeline-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.pipeline-title{color:var(--text-secondary);letter-spacing:.06em;text-transform:uppercase;font-size:.8rem;font-weight:600}.req-classification{letter-spacing:.03em;border-radius:20px;padding:3px 12px;font-size:.75rem;font-weight:600}.pipeline-modules{flex-wrap:wrap;gap:10px;display:flex}.pipeline-module{background:#00000040;border:1px solid;border-radius:8px;flex:1;align-items:center;gap:8px;min-width:160px;padding:7px 12px;transition:background .2s;display:flex}.pipeline-module:hover{background:#ffffff0a}.module-icon{font-size:1rem}.module-info{flex-direction:column;flex:1;display:flex}.module-name{color:var(--text-primary);font-size:.8rem;font-weight:600}.module-status{font-size:.7rem;font-weight:500}.module-count{text-align:right;white-space:nowrap;font-size:.78rem;font-weight:600}.header-left{flex-direction:column;gap:2px;display:flex}.header-tagline{color:var(--text-muted);letter-spacing:.02em;font-size:.72rem;font-weight:400}.logo{align-items:center;gap:10px;display:flex}.logo-img{object-fit:cover;filter:drop-shadow(0 0 8px #a855f766);border-radius:8px;width:38px;height:38px;transition:transform .4s}.logo-img:hover{transform:rotate(20deg)scale(1.08)}.logo-text-group{flex-direction:column;gap:1px;display:flex}.logo-icon{font-size:1.3rem}.logo-text{letter-spacing:-.4px;-webkit-text-fill-color:transparent;background:linear-gradient(90deg,#a855f7,#d946ef);-webkit-background-clip:text;background-clip:text;font-size:1.2rem;font-weight:700}.privacy-badge{color:#34d399;letter-spacing:.02em;white-space:nowrap;background:#34d3991a;border:1px solid #34d39940;border-radius:20px;padding:5px 12px;font-size:.75rem;font-weight:600}.score-pill{border:1px solid var(--border-color);background:#0000004d;border-radius:20px;padding:6px 14px;font-size:.85rem}.btn-spinner{vertical-align:middle;border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:12px;height:12px;margin-right:6px;animation:.7s linear infinite spin;display:inline-block}.app-container{flex-direction:column;gap:16px;height:100vh;padding:16px 20px;display:flex}.app-header{border:1px solid var(--border-bright);background:#140e2db3;justify-content:space-between;align-items:center;padding:14px 28px;display:flex}.logo{letter-spacing:-.5px;-webkit-text-fill-color:transparent;background:linear-gradient(90deg,#a855f7,#d946ef);-webkit-background-clip:text;background-clip:text;font-size:1.4rem;font-weight:700}.header-actions{align-items:center;gap:12px;display:flex}.dashboard{flex:1;gap:16px;display:flex;overflow:hidden}.left-panel,.right-panel{flex-direction:column;flex:1;display:flex;overflow:hidden}.editor-container{flex-direction:column;height:100%;display:flex}.editor-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.editor-header h3{color:var(--text-primary);margin:0;font-size:1rem;font-weight:600}.live-status{color:var(--success-green);font-size:.8rem;font-weight:500}.editor-wrapper{flex:1;padding:20px;font-size:15px;line-height:1.7;position:relative;overflow:hidden}.highlight-layer{pointer-events:none;white-space:pre-wrap;word-wrap:break-word;color:#0000;z-index:1;font-size:15px;line-height:1.7;position:absolute;inset:20px 20px 40px}.highlight{pointer-events:auto;cursor:help;border-radius:3px;transition:background .2s;display:inline}.highlight-red{background-color:var(--error-reddim);border-bottom:2px solid var(--error-red)}.highlight-green{background-color:#34d3991f;border-bottom:2px solid #34d399}.strength-grid{flex-wrap:wrap;gap:8px;display:flex}.strength-badge{color:#34d399;background:#34d3991a;border:1px solid #34d39940;border-radius:6px;padding:5px 10px;font-size:.82rem;font-weight:600}.strength-badge em{color:#34d39999;margin-left:4px;font-style:normal}.breakdown-item.bonus{color:#34d399}.dep-graph{flex-direction:column;gap:14px;display:flex}.dep-chain{border:1px solid var(--border-color);background:#0003;border-radius:8px;padding:10px 14px}.dep-chain-row{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;display:flex}.dep-node{border-radius:6px;padding:4px 12px;font-size:.82rem;font-weight:600}.dep-node-root{color:#c4b5fd;background:#7c3aed33;border:1px solid #7c3aed59}.dep-node-leaf{color:#e9d5ff;cursor:help;background:#a855f71f;border:1px solid #a855f733}.dep-arrow{color:var(--accent-bright);font-size:1rem;font-weight:700}.dep-reason{color:var(--text-muted);margin-top:2px;font-size:.78rem;line-height:1.5}.dep-reason-arrow{color:var(--accent-dim);margin-right:4px}.dep-reason em{color:var(--text-secondary);font-style:normal;font-weight:600}.side-by-side{align-items:flex-start;gap:12px;display:flex}.side-original,.side-improved{flex:1;min-width:0}.side-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:8px;font-size:.75rem;font-weight:700}.side-content.original-text{border:1px solid var(--border-color);color:var(--text-secondary);background:#0000004d;border-radius:8px;padding:12px;font-size:.88rem;font-style:italic;line-height:1.6}.side-divider{color:var(--accent-bright);flex-shrink:0;padding-top:24px;font-size:1.4rem}.text-input{width:calc(100% - 40px);height:calc(100% - 60px);color:var(--text-primary);caret-color:var(--accent-bright);resize:none;z-index:2;background:0 0;border:none;outline:none;font-family:inherit;font-size:15px;line-height:1.7;position:absolute;inset:20px 20px 40px}.editor-footer{border-top:1px solid var(--border-color);padding:10px 20px}.hint{color:var(--text-muted);font-size:.78rem}.results-container{flex-direction:column;gap:16px;height:100%;padding:20px;display:flex;overflow-y:auto}.loading-state,.empty-state{text-align:center;color:var(--text-secondary);justify-content:center;align-items:center}.spinner{border:3px solid var(--border-color);border-top-color:var(--accent-bright);border-radius:50%;width:44px;height:44px;margin:0 auto 16px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.score-section{border-bottom:1px solid var(--border-color);justify-content:center;align-items:center;padding-bottom:16px;display:flex}.score-widget{align-items:center;gap:32px;display:flex}.gauge-container{text-align:center;width:110px}.circular-chart{width:100px;height:100px;margin:0 auto;display:block}.circle-bg{fill:none;stroke:#8b5cf626;stroke-width:3.2px}.circle{fill:none;stroke-width:2.8px;stroke-linecap:round;animation:1.2s ease-out forwards progress}@keyframes progress{0%{stroke-dasharray:0 100}}.percentage{text-anchor:middle;font-family:Inter,sans-serif;font-size:.5em;font-weight:700}.score-label{color:var(--text-secondary);margin-top:8px;font-size:.82rem;font-weight:500}.breakdown{border:1px solid var(--border-color);background:#00000040;border-radius:10px;min-width:180px;padding:14px 16px}.breakdown h5{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 10px;font-size:.8rem;font-weight:600}.breakdown-item{color:var(--text-primary);justify-content:space-between;margin-bottom:6px;font-size:.88rem;display:flex}.breakdown-item.penalty{color:var(--error-red)}.analysis-sections{flex-direction:column;gap:10px;display:flex}.section-card{border:1px solid var(--border-color);background:#0003;border-radius:10px;transition:border-color .2s;overflow:hidden}.section-card:hover{border-color:var(--border-bright)}.section-header{cursor:pointer;-webkit-user-select:none;user-select:none;background:#7c3aed0a;justify-content:space-between;align-items:center;padding:13px 16px;transition:background .2s;display:flex}.section-header:hover{background:#7c3aed17}.section-header h4{margin:0;font-size:.9rem;font-weight:600}.section-header span{color:var(--text-muted);font-size:.75rem}.section-body{border-top:1px solid var(--border-color);padding:14px 16px}.issue-list,.missing-list,.dep-list,.improved-list{flex-direction:column;gap:8px;margin:0;padding-left:18px;display:flex}.issue-list li,.missing-list li,.dep-list li,.improved-list li{font-size:.9rem;line-height:1.5}.issue-item.severity-high{color:#fca5a5}.issue-item.severity-medium{color:#fdba74}.issue-item.severity-low{color:#fde047}.impact{color:var(--text-secondary);border-left:2px solid var(--border-color);margin-top:4px;padding-left:4px;font-size:.82rem}.reason-text{color:var(--text-secondary);margin-top:4px;font-size:.82rem}.badge{background:var(--magenta-dim);color:var(--magenta);letter-spacing:.02em;border:1px solid #d946ef33;border-radius:20px;margin-right:8px;padding:1px 8px;font-size:.72rem;font-weight:600;display:inline-block}.all-good{color:var(--success-green);font-size:.9rem;font-weight:500}.code-block{border:1px solid var(--border-color);color:var(--text-secondary);white-space:pre-wrap;background:#0006;border-radius:8px;padding:14px;font-family:Fira Code,Cascadia Code,monospace;font-size:.83rem;overflow-x:auto}.improved-list li{color:var(--text-primary);background:var(--accent-dim);border:1px solid #8b5cf633;border-radius:6px;margin-left:-18px;padding:8px 12px;list-style:none}
