@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400;1,9..40,500&display=swap";*{margin:0;padding:0;box-sizing:border-box}.view-toggle{display:inline-flex;gap:.5rem;align-items:center}.btn-secondary.active{border-color:#c4b5fd;background:var(--purple-light);color:#6d28d9}.security-center{display:grid;grid-template-columns:320px 1fr;flex:1;overflow:hidden}.security-center-sidebar{background:var(--bg-card);border-right:2px solid var(--border-color);display:flex;flex-direction:column;overflow:hidden}.security-center-brand{padding:1rem 1.25rem;display:flex;align-items:center;gap:.625rem;font-weight:800;color:var(--text-primary);border-bottom:2px solid var(--border-color)}.sc-nav-item{margin:.75rem .75rem 0;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem .875rem;border-radius:var(--radius);border:2px solid var(--border-color);background:var(--bg-warm);font-weight:800;cursor:pointer;transition:all .15s ease}.sc-nav-item:hover{border-color:var(--border-strong)}.sc-nav-item.active{border-color:#c4b5fd;background:var(--purple-light)}.sc-section{display:flex;flex-direction:column;gap:.75rem;padding:.75rem .75rem 1rem;overflow:hidden}.sc-section-header{padding:.5rem .75rem;display:flex;align-items:center;justify-content:space-between;color:var(--text-secondary);font-size:.8125rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.sc-section-header.cleared{margin-top:.25rem}.sc-count{background:var(--bg-warm);color:var(--text-muted);padding:.25rem .5rem;border-radius:999px;font-size:.75rem;border:1px solid var(--border-color);font-weight:800}.sc-count.warn{background:var(--orange-light);color:var(--orange);border-color:#f9731659}.sc-list{flex:1;overflow:auto;padding:0 .25rem}.sc-list.cleared{flex:0 0 auto;max-height:160px}.sc-finding-item{width:100%;text-align:left;border:none;background:transparent;padding:.55rem .75rem;margin:0 0 2px;border-radius:var(--radius-sm);display:flex;align-items:center;gap:.5rem;cursor:pointer;color:var(--text-secondary);transition:background .15s ease,color .15s ease}.sc-finding-item:hover{background:var(--bg-warm);color:var(--text-primary)}.sc-finding-item.active{background:#f5f3ff;color:var(--text-primary)}.sc-finding-item.cleared{opacity:.72}.sc-sev-dot{width:8px;height:8px;border-radius:999px;flex:0 0 auto}.sc-sev-dot.critical{background:var(--severity-critical)}.sc-sev-dot.high{background:var(--severity-high)}.sc-sev-dot.medium{background:var(--severity-medium)}.sc-sev-dot.low{background:var(--severity-low)}.sc-finding-title{font-size:.875rem;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.security-center-main{overflow:auto;padding:1.25rem}.security-center-empty{padding:2rem;text-align:center;color:var(--text-secondary)}.finding-report{background:var(--bg-card);border:2px solid var(--border-color);border-radius:var(--radius-xl);padding:1.25rem 1.25rem 1.5rem;box-shadow:var(--shadow);max-width:980px}.finding-report-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.finding-report-title-row{display:flex;align-items:center;gap:.75rem}.finding-report-title-row h2{font-size:1.5rem;line-height:1.15;letter-spacing:-.02em}.finding-report-badges{display:inline-flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.finding-report-section{margin-top:1rem}.finding-report-section-title{color:var(--text-secondary);font-size:.8125rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.finding-report-where{border:2px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.finding-report-file{padding:.75rem .875rem;background:var(--bg-warm);border-bottom:2px solid var(--border-color)}.finding-report-path{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.875rem;color:var(--text-primary)}.finding-report-code{padding:.875rem;background:#0b1220;color:#e5e7eb;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.875rem;line-height:1.45;overflow:auto}.finding-report-more{padding:.5rem .875rem;border-top:1px solid rgba(0,0,0,.06);color:var(--text-muted);font-size:.8125rem;background:var(--bg-card)}.finding-report-text{color:var(--text-secondary);font-size:.9375rem;line-height:1.6}.finding-report-actions{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.resolve-card{border:2px solid var(--border-color);border-radius:var(--radius-lg);padding:1rem;background:var(--bg-card);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.75rem}.resolve-card-title{font-size:1.0625rem;font-weight:900;color:var(--text-primary)}.resolve-card-body{color:var(--text-secondary);line-height:1.5;font-size:.9375rem}.resolve-card-meta{margin-top:.5rem;display:inline-flex;gap:.5rem;flex-wrap:wrap;align-items:center}.finding-diagram-section{margin-top:1.5rem}.finding-diagram-section .finding-report-section-title{display:flex;align-items:center;gap:.5rem}.finding-diagram-container{height:320px;border:2px solid var(--border-color);border-radius:var(--radius);overflow:hidden;background:var(--bg-warm)}.finding-diagram-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;border:2px dashed var(--border-color);border-radius:var(--radius);background:var(--bg-card);text-align:center}.finding-diagram-placeholder p{color:var(--text-muted);font-size:.875rem;max-width:320px;margin:0}.finding-diagram-placeholder .btn{gap:.5rem}.finding-diagram-error{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1.5rem;border:2px solid var(--error);border-radius:var(--radius);background:#ef44440d;color:var(--error);font-size:.875rem}.finding-report-reference{margin-top:1rem;color:var(--text-muted);font-size:.8125rem}.baa-deck{max-width:980px}.baa-deck-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.baa-deck-progress{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.baa-deck-header h2{font-size:1.5rem;letter-spacing:-.02em}.baa-deck-subtitle{margin-top:.25rem;color:var(--text-secondary);line-height:1.5}.baa-deck-count{background:var(--bg-warm);border:1px solid var(--border-color);color:var(--text-secondary);padding:.375rem .625rem;border-radius:999px;font-weight:900;font-size:.8125rem}.baa-card{background:var(--bg-card);border:2px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow);overflow:hidden;transition:transform .2s ease,opacity .2s ease}.baa-card.motion-left{transform:translate(-18px) rotate(-.5deg);opacity:.92}.baa-card.motion-right{transform:translate(18px) rotate(.5deg);opacity:.92}.baa-card-top{padding:1rem 1.25rem;background:var(--bg-warm);border-bottom:2px solid var(--border-color)}.baa-provider{display:flex;gap:.875rem;align-items:center}.baa-logo{width:44px;height:44px;border-radius:12px;border:1px solid rgba(0,0,0,.06);background:#fff;object-fit:contain}.baa-logo-placeholder{width:44px;height:44px;border-radius:12px;background:#ede9fe;color:#6d28d9;display:grid;place-items:center;font-weight:900}.baa-provider-name{font-weight:900;font-size:1.0625rem}.baa-provider-sub{margin-top:.25rem;display:inline-flex;gap:.5rem;flex-wrap:wrap;align-items:center;color:var(--text-muted);font-size:.8125rem;font-weight:800}.baa-category{padding:.125rem .5rem;border-radius:999px;border:1px solid var(--border-color);background:#fff;color:var(--text-secondary)}.baa-badge{padding:.125rem .5rem;border-radius:999px;font-weight:900;border:1px solid transparent;text-transform:uppercase;font-size:.6875rem;letter-spacing:.04em}.baa-badge.yes{background:var(--green-light);color:var(--green);border-color:#22c55e59}.baa-badge.no{background:var(--red-light);color:var(--red);border-color:#ef444459}.baa-badge.partial{background:var(--yellow-light);color:#a16207;border-color:#eab30859}.baa-badge.unknown{background:var(--bg-warm);color:var(--text-muted);border-color:var(--border-color)}.baa-card-body{padding:1rem 1.25rem .5rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem}.baa-card-section{border:1px solid rgba(0,0,0,.06);border-radius:var(--radius-lg);padding:.875rem;background:#fff}.baa-card-label{font-size:.8125rem;font-weight:900;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.baa-evidence{list-style:none;display:grid;gap:.375rem;color:var(--text-secondary);font-size:.875rem}.baa-evidence code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.8125rem}.baa-summary{color:var(--text-secondary);line-height:1.55;font-size:.9375rem}.baa-pricing,.baa-howto{margin-top:.5rem;color:var(--text-secondary);font-size:.875rem;line-height:1.5}.baa-link{margin-top:.625rem;display:inline-flex;align-items:center;gap:.35rem;color:#6d28d9;font-weight:900;text-decoration:none}.baa-link:hover{text-decoration:underline}.baa-card-actions{padding:1rem 1.25rem 1.25rem;display:flex;justify-content:flex-end;gap:.75rem}.baa-reviewed{margin-top:1.25rem}.baa-reviewed-header{color:var(--text-secondary);font-size:.8125rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.baa-reviewed-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.baa-reviewed-item{border:1px solid rgba(0,0,0,.06);border-radius:var(--radius);padding:.625rem .75rem;background:#fff;display:flex;justify-content:space-between;gap:.75rem;align-items:center}.baa-reviewed-name{font-weight:900;color:var(--text-primary);font-size:.875rem}.baa-reviewed-status{font-size:.75rem;color:var(--text-muted);font-weight:900;text-transform:uppercase;letter-spacing:.03em}.baa-empty,.baa-all-done{display:flex;gap:.75rem;align-items:flex-start;border:2px solid var(--border-color);border-radius:var(--radius-xl);background:var(--bg-card);padding:1rem 1.25rem;box-shadow:var(--shadow-sm);color:var(--text-secondary);max-width:980px}:root{--bg-cream: #fffbf7;--bg-warm: #fff8f0;--bg-card: #ffffff;--border-color: #e8e0d8;--border-strong: #d4ccc4;--text-primary: #1a1a1a;--text-secondary: #4a4a4a;--text-muted: #8a8a8a;--accent: #1a1a1a;--accent-hover: #333333;--purple: #a855f7;--purple-light: #f3e8ff;--pink: #ec4899;--pink-light: #fce7f3;--orange: #f97316;--orange-light: #ffedd5;--green: #22c55e;--green-light: #dcfce7;--red: #ef4444;--red-light: #fef2f2;--yellow: #eab308;--yellow-light: #fef9c3;--blue: #3b82f6;--blue-light: #dbeafe;--severity-critical: #ef4444;--severity-high: #f97316;--severity-medium: #eab308;--severity-low: #22c55e;--shadow-sm: 0 1px 2px rgba(0,0,0,.04);--shadow: 0 2px 8px rgba(0,0,0,.06);--shadow-md: 0 4px 16px rgba(0,0,0,.08);--shadow-lg: 0 8px 32px rgba(0,0,0,.12);--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--radius-xl: 24px}body{font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-cream);color:var(--text-primary);min-height:100vh;overflow:hidden;-webkit-font-smoothing:antialiased}.app{display:flex;flex-direction:column;height:100vh}.app-header{background:var(--bg-card);border-bottom:2px solid var(--border-color);padding:.75rem 1.5rem;display:flex;align-items:center;gap:1rem}.header-brand{display:flex;align-items:center;gap:.625rem;flex-shrink:0}.brand-logo{height:28px;width:auto}.repo-input{display:flex;align-items:center;gap:.5rem;flex:1;justify-content:flex-end}.repo-input .input-wrapper{flex:0 1 320px;min-width:180px;position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:.75rem;color:var(--text-muted);pointer-events:none}.input-wrapper input{width:100%;padding:.625rem .875rem .625rem 2.25rem;border:2px solid var(--border-color);border-radius:var(--radius);background:var(--bg-card);color:var(--text-primary);font-family:inherit;font-size:.875rem;outline:none;transition:all .2s ease}.input-wrapper input:focus{border-color:var(--purple);box-shadow:0 0 0 3px var(--purple-light)}.input-wrapper input::placeholder{color:var(--text-muted)}.app:has(.welcome-screen) .repo-input .input-wrapper{display:none}.btn{padding:.75rem 1.25rem;border:2px solid transparent;border-radius:var(--radius);font-family:inherit;font-size:.9375rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s ease;white-space:nowrap}.btn-sm{padding:.5rem .75rem;font-size:.8125rem;border-radius:var(--radius)}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border-color:var(--border-color)}.btn-secondary:hover{border-color:var(--border-strong);background:var(--bg-warm)}.github-pill{margin-left:.25rem;padding:.125rem .5rem;border-radius:999px;background:var(--purple-light);color:var(--purple);font-size:.75rem;font-weight:700;line-height:1}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.spinner.spinner-dark{border-color:#00000026;border-top-color:var(--text-secondary)}@keyframes spin{to{transform:rotate(360deg)}}.loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-cream);display:flex;flex-direction:column;z-index:100}.loading-header{background:var(--bg-card);border-bottom:2px solid var(--border-color);padding:.75rem 1.5rem;display:flex;align-items:center;gap:1rem}.loading-repo-pill{flex:1;max-width:520px;height:44px;display:flex;align-items:center;gap:.5rem;padding:0 .875rem;border-radius:var(--radius);border:2px solid var(--border-color);background:var(--bg-warm);color:var(--text-secondary);font-size:.875rem;overflow:hidden}.loading-repo-pill span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skeleton{background:linear-gradient(90deg,var(--bg-warm) 25%,#f5ebe0 50%,var(--bg-warm) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-brand{width:140px;height:32px}.skeleton-input{flex:1;max-width:400px;height:44px;border-radius:var(--radius)}.skeleton-btn{width:120px;height:44px;border-radius:var(--radius)}.loading-main{display:grid;grid-template-columns:280px 1fr 320px;flex:1;overflow:hidden}.loading-sidebar{background:var(--bg-card);border-right:2px solid var(--border-color);padding:1rem}.loading-files-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;font-size:.75rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}.loading-files-count{background:var(--purple-light);color:var(--purple);padding:.25rem .5rem;border-radius:999px;font-size:.75rem;font-weight:700}.loading-files-list{display:flex;flex-direction:column;gap:.25rem;overflow:hidden}@keyframes loading-file-enter{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.loading-file-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .625rem;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--text-secondary);cursor:default;opacity:.85;transition:background .18s ease,border-color .18s ease,opacity .18s ease,transform .18s ease;animation:loading-file-enter .26s ease}.loading-file-item:hover{background:var(--bg-warm)}.loading-file-item.active{background:var(--purple-light);border-color:#a855f740;opacity:1;transform:translate(2px)}.loading-file-dot{width:7px;height:7px;border-radius:50%;background:var(--text-muted);flex:0 0 auto}.loading-file-item.active .loading-file-dot{background:var(--purple);box-shadow:0 0 0 4px #a855f724}.loading-file-name{font-family:SF Mono,Monaco,Menlo,monospace;font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skeleton-file-header{height:20px;width:80px;margin-bottom:1rem}.skeleton-file-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 0}.skeleton-file-icon{width:16px;height:16px;border-radius:4px}.skeleton-file-name{height:14px;flex:1}.loading-editor{flex:1;display:flex;flex-direction:column;background:var(--bg-cream);padding:.75rem;position:relative;overflow:hidden}.code-scanner-container{flex:1;background:var(--bg-card);border:2px solid var(--border-color);border-radius:var(--radius);overflow:hidden;position:relative}.code-scanner{padding:1rem;font-family:SF Mono,Monaco,Menlo,monospace;font-size:.8125rem;line-height:1.7;position:relative;height:100%;overflow:hidden}.code-scanner-file{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;color:var(--text-muted);background:var(--bg-warm);border:1px solid var(--border-color);padding:.375rem .5rem;border-radius:var(--radius-sm);margin-bottom:.75rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;transition:opacity .2s ease,transform .2s ease}.code-scanner-file-path{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-scanner-file-right{display:flex;align-items:center;gap:.5rem;margin-left:auto;flex:0 0 auto}.code-scanner-file.switching{opacity:.6;transform:translateY(-2px)}.code-scanner-issue-badge{font-size:.6875rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:.125rem .375rem;border-radius:999px;border:1px solid rgba(15,23,42,.12);background:#0f172a0a;color:var(--text-secondary)}.code-scanner-issue-badge.critical{border-color:#ef444438;background:#ef444414;color:var(--severity-critical)}.code-scanner-issue-badge.high{border-color:#f59e0b47;background:#f59e0b1a;color:var(--severity-high)}.code-scanner-issue-badge.medium{border-color:#3b82f63d;background:#3b82f61a;color:var(--severity-medium)}.code-scanner-issue-badge.low{border-color:#22c55e42;background:#22c55e1a;color:var(--severity-low)}.code-scanner-trunc{font-size:.6875rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--purple);background:#a855f71a;border:1px solid rgba(168,85,247,.25);padding:.125rem .375rem;border-radius:999px;flex:0 0 auto}.code-scanner-loading-dot{width:8px;height:8px;border-radius:50%;background:var(--purple);box-shadow:0 0 0 4px #a855f71f;animation:pulse 1s ease-in-out infinite}.code-line{display:flex;gap:1rem;opacity:.65;white-space:nowrap;transition:opacity .2s ease}.code-scanner.switching .code-line{opacity:.5}.code-line.issue{opacity:.95;border-radius:6px;padding:0 .35rem;margin:0 -.35rem}.code-line.issue.critical{background:linear-gradient(90deg,rgba(239,68,68,.12),transparent 78%)}.code-line.issue.high{background:linear-gradient(90deg,rgba(245,158,11,.12),transparent 78%)}.code-line.issue.medium{background:linear-gradient(90deg,rgba(59,130,246,.12),transparent 78%)}.code-line.issue.low{background:linear-gradient(90deg,rgba(34,197,94,.12),transparent 78%)}.code-line.issue .line-number{font-weight:800}.line-number{color:var(--text-muted);min-width:2rem;text-align:right;-webkit-user-select:none;user-select:none}.line-content{color:var(--text-secondary);white-space:pre}.code-scanner.has-preview .line-content{filter:blur(.22px);opacity:.95}.code-scanner.switching .line-content{filter:blur(.35px);opacity:.8}.line-content .keyword{color:var(--purple)}.line-content .string{color:var(--green)}.line-content .comment{color:var(--text-muted);font-style:italic}.line-content .function{color:var(--blue)}.line-content .variable{color:var(--orange)}.scan-line{position:absolute;left:0;right:0;height:24px;background:linear-gradient(180deg,transparent 0%,rgba(168,85,247,.15) 30%,rgba(168,85,247,.3) 50%,rgba(168,85,247,.15) 70%,transparent 100%);animation:scan-move 3s ease-in-out infinite;pointer-events:none}@keyframes scan-move{0%,to{top:0}50%{top:calc(100% - 24px)}}.scan-highlight{position:absolute;left:3rem;right:1rem;height:20px;border:2px solid var(--purple);border-radius:4px;background:#a855f71a;animation:scan-pulse 2s ease-in-out infinite,scan-jump 4s steps(1) infinite;pointer-events:none}@keyframes scan-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes scan-jump{0%{top:2.5rem}20%{top:5rem}40%{top:8rem}60%{top:11rem}80%{top:14rem}to{top:2.5rem}}.loading-findings{background:var(--bg-card);border-left:2px solid var(--border-color);padding:1.25rem;display:flex;flex-direction:column}.progress-header{margin-bottom:1.5rem}.progress-header h3{font-size:1rem;font-weight:700;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.progress-header h3:before{content:"";width:8px;height:8px;background:var(--purple);border-radius:50%;animation:pulse 1s ease-in-out infinite}.progress-percentage{font-size:2.5rem;font-weight:700;color:var(--purple);letter-spacing:-.02em;margin-bottom:.5rem}.progress-root{position:relative;overflow:hidden;background:var(--purple-light);border-radius:100px;width:100%;height:8px;margin-bottom:1rem}.progress-indicator{background:linear-gradient(90deg,var(--purple),var(--pink));width:100%;height:100%;transition:transform .3s ease;border-radius:100px}.progress-message{color:var(--text-secondary);font-size:.9375rem;font-weight:500;line-height:1.5}.progress-stats{margin-top:auto;padding-top:1.5rem;border-top:2px solid var(--border-color)}.progress-stat{display:flex;align-items:center;justify-content:space-between;padding:.625rem 0;font-size:.875rem}.progress-stat-label{color:var(--text-muted)}.progress-stat-value{font-weight:600;color:var(--text-primary)}.progress-stat-value.issues{color:var(--orange)}.detected-issues{margin-top:1.5rem}.detected-issues h4{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.75rem;font-weight:600}.detected-issue{display:flex;align-items:flex-start;gap:.5rem;padding:.625rem;background:var(--bg-warm);border-radius:var(--radius-sm);margin-bottom:.5rem;animation:issue-appear .3s ease}@keyframes issue-appear{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.detected-issue-dot{width:6px;height:6px;border-radius:50%;margin-top:6px;flex-shrink:0}.detected-issue-dot.critical{background:var(--severity-critical)}.detected-issue-dot.high{background:var(--severity-high)}.detected-issue-dot.medium{background:var(--severity-medium)}.detected-issue-dot.low{background:var(--severity-low)}.detected-issue-text{font-size:.8125rem;color:var(--text-secondary);line-height:1.4}.error-banner{background:var(--red-light);color:var(--severity-critical);padding:.875rem 1.5rem;font-size:.9375rem;border-bottom:2px solid #fecaca;font-weight:500}.error-banner-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.error-banner-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #fecaca;background:#fff9;color:#7f1d1d;border-radius:999px;padding:.25rem .6rem;font-size:.75rem;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;flex-shrink:0}.error-banner-toggle:hover{transform:translateY(-1px);box-shadow:0 4px 12px #7f1d1d1f}.error-banner-hint{margin-top:.5rem;color:#7f1d1d;font-size:.875rem;line-height:1.35}.error-banner-details{margin-top:.75rem;background:#ffffffa6;border:1px solid #fecaca;border-radius:12px;padding:.75rem;color:#7f1d1d;max-height:180px;overflow:auto;font-size:.75rem;white-space:pre-wrap;word-break:break-word}.main-layout{display:grid;grid-template-columns:280px 1fr 320px;flex:1;overflow:hidden}.sidebar{background:var(--bg-card);border-right:2px solid var(--border-color);display:flex;flex-direction:column;overflow:hidden}.file-browser{flex:1;display:flex;flex-direction:column;overflow:hidden}.file-browser-header{padding:1rem 1.25rem;display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--border-color)}.file-count{background:var(--purple-light);color:var(--purple);padding:.25rem .5rem;border-radius:100px;font-size:.75rem;margin-left:auto;font-weight:600}.file-count.file-count-muted{margin-left:.5rem;background:var(--bg-warm);color:var(--text-muted);border:1px solid var(--border-color)}.diagrams-browser{height:220px;display:flex;flex-direction:column;overflow:hidden;border-top:2px solid var(--border-color)}.diagrams-browser-header{padding:.75rem 1.25rem;display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--border-color);background:var(--bg-card)}.diagrams-empty{padding:.75rem 1.25rem;color:var(--text-muted);font-size:.8125rem;background:var(--bg-card)}.diagrams-list{padding:.5rem}.diagram-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .625rem;cursor:pointer;color:var(--text-secondary);font-size:.875rem;transition:all .15s ease;border-radius:var(--radius-sm);margin-bottom:2px}.diagram-item:hover{background:var(--bg-warm)}.diagram-item.selected{background:var(--purple-light);color:var(--purple);font-weight:600}.diagrams-finding-section{margin-top:.5rem;padding-top:.5rem;border-top:1px dashed var(--border-color)}.diagrams-section-trigger{width:100%;display:flex;align-items:center;gap:.5rem;padding:.5rem .625rem;border:none;background:transparent;cursor:pointer;color:var(--text-muted);font-size:.8125rem;font-weight:600;border-radius:var(--radius-sm);transition:all .15s ease}.diagrams-section-trigger:hover{background:var(--bg-warm);color:var(--text-secondary)}.diagrams-section-count{margin-left:auto;font-size:.75rem;background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-muted);padding:.125rem .5rem;border-radius:100px}.diagram-item.diagram-item-finding{opacity:.9}.scroll-area-root{flex:1;overflow:hidden}.scroll-area-viewport{width:100%;height:100%}.scroll-area-viewport>div{display:block!important}.scroll-area-scrollbar{display:flex;-webkit-user-select:none;user-select:none;touch-action:none;padding:2px;transition:background .15s ease}.scroll-area-scrollbar:hover{background:var(--bg-warm)}.scroll-area-scrollbar[data-orientation=vertical]{width:10px}.scroll-area-thumb{flex:1;background:var(--border-strong);border-radius:100px;position:relative}.scroll-area-thumb:hover{background:var(--text-muted)}.file-tree{padding:.5rem}.file-tree-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .625rem;cursor:pointer;color:var(--text-secondary);font-size:.875rem;transition:all .15s ease;border-radius:var(--radius-sm);margin-bottom:2px}.file-tree-item:hover{background:var(--bg-warm)}.file-tree-item.selected{background:var(--purple-light);color:var(--purple)}.file-tree-item.has-issues{color:var(--orange)}.file-icon{flex-shrink:0;opacity:.7}.folder-icon{color:var(--orange);opacity:1}.file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.issue-badge{background:var(--red);color:#fff;font-size:.6875rem;padding:.125rem .375rem;border-radius:100px;font-weight:700}.issue-icon{color:var(--orange)}.patch-badge{background:var(--green);color:#fff;font-size:.625rem;padding:.125rem .375rem;border-radius:var(--radius-sm);font-weight:700;text-transform:uppercase}.summary-stats{padding:1rem;border-top:2px solid var(--border-color);background:var(--bg-warm)}.summary-stats h4{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.75rem;font-weight:600}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.stat{background:var(--bg-card);padding:.625rem .375rem;border-radius:var(--radius);text-align:center;border:2px solid var(--border-color);transition:all .15s ease}.stat:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.stat-value{display:block;font-size:1.25rem;font-weight:700}.stat.critical .stat-value{color:var(--severity-critical)}.stat.high .stat-value{color:var(--severity-high)}.stat.medium .stat-value{color:var(--severity-medium)}.stat.low .stat-value{color:var(--severity-low)}.stat-label{font-size:.625rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.025em;font-weight:600}.patches-count{margin-top:.75rem;font-size:.8125rem;color:var(--green);text-align:center;font-weight:600}.summary-actions{margin-top:.75rem;display:flex;justify-content:center}.content{display:flex;flex-direction:column;overflow:hidden;background:var(--bg-cream)}.editor-header{display:flex;align-items:center;justify-content:space-between;padding:.625rem 1rem;background:var(--bg-card);border-bottom:2px solid var(--border-color)}.editor-actions{display:flex;align-items:center;gap:.5rem}.fix-prompt{display:flex;align-items:center;gap:.5rem;background:var(--bg-warm);border:1px solid var(--border-color);padding:.375rem .5rem;border-radius:var(--radius)}.fix-prompt-text{font-size:.75rem;color:var(--text-secondary);font-weight:600}.verify-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .625rem;border-radius:999px;font-size:.75rem;font-weight:700;border:1px solid var(--border-color);background:var(--bg-warm);color:var(--text-secondary);max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.verify-pill.ok{background:var(--green-light);border-color:#bbf7d0;color:var(--severity-low)}.verify-pill.warn{background:var(--yellow-light);border-color:#fde68a;color:var(--severity-medium)}.verify-pill.error{background:var(--red-light);border-color:#fecaca;color:var(--severity-critical)}.verify-pill.verifying{background:var(--bg-card);color:var(--text-secondary)}.file-path{font-family:SF Mono,Monaco,Menlo,monospace;font-size:.8125rem;color:var(--text-secondary);background:var(--bg-warm);padding:.375rem .75rem;border-radius:var(--radius-sm)}.toggle-group{display:inline-flex;border-radius:var(--radius);overflow:hidden;border:2px solid var(--border-color);background:var(--bg-card)}.toggle-item{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;background:transparent;border:none;color:var(--text-secondary);font-family:inherit;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s ease}.toggle-item:not(:last-child){border-right:2px solid var(--border-color)}.toggle-item:hover{background:var(--bg-warm)}.toggle-item[data-state=on]{background:var(--accent);color:#fff}.editor-container{flex:1;overflow:hidden;margin:.75rem;border-radius:var(--radius);border:2px solid var(--border-color);background:var(--bg-card);box-shadow:var(--shadow)}.mermaid-viewer{height:100%;display:flex;flex-direction:column}.mermaid-toolbar{display:flex;gap:.5rem;padding:.5rem;background:var(--bg-card);border-bottom:2px solid var(--border-color)}.mermaid-fixing{margin-left:auto;display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .5rem;border-radius:999px;font-size:.75rem;font-weight:700;color:var(--text-secondary);background:var(--bg-warm);border:1px solid var(--border-color)}.mermaid-canvas{position:relative;flex:1;overflow:hidden;background:var(--bg-warm);cursor:grab}.mermaid-canvas:active{cursor:grabbing}.mermaid-svg-wrap{position:absolute;top:0;left:0;padding:1rem}.mermaid-svg-wrap svg{shape-rendering:geometricPrecision;text-rendering:geometricPrecision}.mermaid-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:.5rem;background:#fffbf7d9;color:var(--text-secondary);font-weight:600}.mermaid-error{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;background:#fffffff5;display:flex;flex-direction:column;gap:.5rem}.mermaid-error-text{font-family:SF Mono,Monaco,Menlo,monospace;font-size:.75rem;color:var(--text-secondary);background:var(--bg-warm);border:1px solid var(--border-color);padding:.5rem;border-radius:var(--radius-sm);overflow:auto}.mermaid-error-hint{font-size:.75rem;color:var(--text-muted)}.empty-editor{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted)}.empty-editor h3{margin-bottom:.375rem;color:var(--text-secondary);font-weight:600}.findings-sidebar{background:var(--bg-card);border-left:2px solid var(--border-color);overflow:hidden}.findings-panel{height:100%;display:flex;flex-direction:column}.findings-panel.empty{align-items:center;justify-content:center;text-align:center;padding:2rem;color:var(--text-muted)}.empty-icon{color:var(--green);margin-bottom:1rem;padding:1rem;background:var(--green-light);border-radius:50%}.findings-header{padding:1rem;border-bottom:2px solid var(--border-color)}.findings-header h3{font-size:.9375rem;font-weight:700;margin-bottom:.625rem}.findings-summary{display:flex;gap:.375rem;flex-wrap:wrap}.badge{padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.badge.critical{background:var(--red-light);color:var(--severity-critical)}.badge.high{background:var(--orange-light);color:var(--severity-high)}.badge.medium{background:var(--yellow-light);color:var(--severity-medium)}.badge.low{background:var(--green-light);color:var(--severity-low)}.findings-list{flex:1;overflow-y:auto;padding:.75rem}.findings-section-title{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:.25rem .25rem .5rem}.findings-section-title.done{margin-top:.5rem}.finding-card{background:var(--bg-warm);border-radius:var(--radius);padding:.875rem;margin-bottom:.625rem;border-left:4px solid;transition:all .15s ease;border-top:2px solid transparent;border-right:2px solid transparent;border-bottom:2px solid transparent}.finding-card:hover{background:var(--bg-card);border-color:var(--border-color);border-left-width:4px;box-shadow:var(--shadow)}.finding-card.critical{border-left-color:var(--severity-critical)}.finding-card.high{border-left-color:var(--severity-high)}.finding-card.medium{border-left-color:var(--severity-medium)}.finding-card.low{border-left-color:var(--severity-low)}.finding-card.resolved{border-left-color:var(--green);background:#22c55e0f}.finding-card.resolved:hover{background:#22c55e14}.finding-card.resolved .finding-description{color:var(--text-muted)}.finding-card.resolved .finding-fix{background:#22c55e1a;color:var(--green);border:1px solid rgba(34,197,94,.25)}.finding-card.resolved .finding-patch-badge{background:#22c55e24;color:var(--green);border-color:#22c55e47}.finding-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;cursor:pointer}.severity-icon.critical{color:var(--severity-critical)}.severity-icon.high{color:var(--severity-high)}.severity-icon.medium{color:var(--severity-medium)}.severity-icon.low{color:var(--severity-low)}.severity-icon.resolved{color:var(--green)}.finding-title{flex:1;font-size:.875rem;font-weight:600;color:var(--text-primary)}.finding-line{font-size:.75rem;color:var(--text-muted);font-family:SF Mono,monospace;background:var(--bg-card);padding:.125rem .375rem;border-radius:var(--radius-sm)}.finding-description{font-size:.8125rem;color:var(--text-secondary);margin-bottom:.5rem;line-height:1.5}.finding-fix{font-size:.75rem;color:var(--green);background:var(--green-light);padding:.5rem .625rem;border-radius:var(--radius-sm);font-weight:500}.findings-count{font-size:.8125rem;color:var(--text-muted);margin-bottom:.5rem}.finding-count{font-size:.6875rem;background:var(--bg-card);color:var(--text-muted);padding:.125rem .375rem;border-radius:100px;font-weight:600;border:1px solid var(--border-color)}.finding-meta{margin-bottom:.5rem}.finding-file{display:block;font-size:.75rem;color:var(--text-muted);font-family:SF Mono,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finding-confidence{font-size:.6875rem;padding:.125rem .375rem;border-radius:100px;font-weight:700;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em}.finding-confidence.high{color:var(--green);border-color:#bbf7d0}.finding-confidence.medium{color:var(--yellow);border-color:#fef08a}.finding-confidence.low{color:var(--red);border-color:#fecaca}.finding-patch-badge{font-size:.6875rem;padding:.125rem .375rem;border-radius:100px;font-weight:800;border:1px solid var(--border-color);background:var(--purple-light);color:var(--purple);text-transform:uppercase;letter-spacing:.02em}.finding-lines{display:flex;flex-direction:column;align-items:stretch;gap:.25rem;margin-bottom:.625rem}.finding-line-btn{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;font-family:SF Mono,monospace;color:var(--purple);background:var(--bg-card);border:1px solid var(--border-color);padding:.25rem .5rem;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease;width:100%;justify-content:flex-start;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.finding-line-btn:hover{background:var(--purple-light);border-color:var(--purple);transform:translate(2px)}.finding-more-lines{font-size:.75rem;color:var(--text-muted);padding:.25rem .5rem}.finding-details-trigger{display:inline-flex;align-items:center;gap:.375rem;margin-top:.75rem;padding:.375rem .625rem;font-size:.75rem;font-weight:600;color:var(--purple);background:transparent;border:1px solid var(--purple);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease}.finding-details-trigger:hover{background:var(--purple-light)}.finding-details-content{margin-top:.75rem;padding-top:.75rem;border-top:1px dashed var(--border-color);animation:details-slide .2s ease}@keyframes details-slide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.finding-detail-section{margin-bottom:.875rem}.finding-detail-header{display:flex;align-items:center;gap:.375rem;font-size:.75rem;font-weight:600;color:var(--text-primary);margin-bottom:.375rem;text-transform:uppercase;letter-spacing:.025em}.finding-detail-section p{font-size:.8125rem;color:var(--text-secondary);line-height:1.6;margin:0}.finding-detail-reference{display:inline-flex;align-items:center;gap:.375rem;font-size:.6875rem;font-weight:500;color:var(--text-muted);background:var(--bg-card);padding:.25rem .5rem;border-radius:var(--radius-sm);border:1px solid var(--border-color)}.finding-diagram-actions{margin-top:.75rem;display:flex;gap:.5rem;flex-wrap:wrap}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:200}.dialog-content{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(1100px,92vw);height:min(760px,90vh);background:var(--bg-card);border-radius:var(--radius-lg);border:2px solid var(--border-color);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;z-index:201;overflow:hidden}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:2px solid var(--border-color);background:var(--bg-card)}.dialog-title{font-size:.9375rem;font-weight:700;color:var(--text-primary)}.dialog-close{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-color);background:var(--bg-warm);color:var(--text-secondary);border-radius:var(--radius-sm);padding:.375rem;cursor:pointer;transition:all .15s ease}.dialog-close:hover{border-color:var(--border-strong);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.dialog-body{flex:1;overflow:hidden;padding:.75rem;background:var(--bg-cream)}.dialog-loading{height:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;color:var(--text-secondary);font-weight:600}.dialog-error{background:var(--red-light);color:var(--severity-critical);border:1px solid #fecaca;padding:.75rem;border-radius:var(--radius);margin-bottom:.75rem}.dialog-content.patch-review-dialog{width:min(1220px,94vw);height:min(780px,92vh)}.dialog-body.patch-review-body{display:flex;flex-direction:column;gap:.75rem}.patch-review-layout{display:grid;grid-template-columns:340px 1fr;gap:.75rem;flex:1;min-height:0}.patch-review-list{background:var(--bg-card);border:2px solid var(--border-color);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;min-height:0}.patch-review-list-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem .875rem;border-bottom:2px solid var(--border-color);color:var(--text-secondary);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;background:var(--bg-warm)}.patch-review-count{background:var(--purple-light);color:var(--purple);padding:.2rem .5rem;border-radius:999px;font-size:.75rem;font-weight:800}.patch-review-list-scroll{padding:.5rem;display:flex;flex-direction:column;gap:.25rem;overflow:auto;min-height:0}.patch-review-item{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem .6rem;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}.patch-review-item:hover{background:var(--bg-cream)}.patch-review-item.active{background:var(--purple-light);border-color:#a855f740;transform:translate(2px)}.patch-review-item-main{min-width:0;display:flex;flex-direction:column;gap:.25rem;flex:1}.patch-review-path{font-family:SF Mono,Monaco,Menlo,monospace;font-size:.75rem;font-weight:650;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patch-review-badges{display:inline-flex;align-items:center;gap:.35rem;flex-wrap:wrap}.patch-review-badge{font-size:.6875rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em;padding:.12rem .4rem;border-radius:999px;border:1px solid rgba(15,23,42,.12);background:#0f172a0a;color:var(--text-secondary)}.patch-review-badge.modify{border-color:#3b82f638;background:#3b82f61a;color:var(--severity-medium)}.patch-review-badge.add{border-color:#22c55e38;background:#22c55e1a;color:var(--severity-low)}.patch-review-badge.applied{border-color:#64748b38;background:#64748b1a;color:var(--text-muted)}.patch-review-check{position:relative;width:18px;height:18px;flex:0 0 auto;cursor:pointer;margin-top:1px}.patch-review-check.disabled{opacity:.7;cursor:not-allowed}.patch-review-check input{position:absolute;opacity:0;pointer-events:none}.patch-review-checkmark{width:18px;height:18px;display:inline-block;border-radius:6px;border:2px solid var(--border-color);background:var(--bg-card);box-shadow:0 1px #0f172a0d;transition:all .16s ease}.patch-review-check input:checked+.patch-review-checkmark{border-color:#a855f78c;background:#a855f729}.patch-review-check input:checked+.patch-review-checkmark:after{content:"";position:absolute;left:5px;top:2px;width:5px;height:9px;border-right:2px solid var(--purple);border-bottom:2px solid var(--purple);transform:rotate(40deg)}.patch-review-diff{background:var(--bg-card);border:2px solid var(--border-color);border-radius:var(--radius);overflow:hidden;min-height:0}.patch-review-footer{display:flex;align-items:center;justify-content:space-between;padding:.75rem .875rem;border-radius:var(--radius);border:2px solid var(--border-color);background:var(--bg-card)}.patch-review-summary{color:var(--text-secondary);font-size:.875rem;font-weight:650;display:flex;flex-direction:column;gap:.35rem}.patch-review-warning{font-size:.75rem;font-weight:650;color:var(--severity-high);background:#f59e0b1a;border:1px solid rgba(245,158,11,.26);border-radius:var(--radius-sm);padding:.35rem .5rem;max-width:420px}.patch-review-actions{display:flex;gap:.5rem}.dialog-content.github-dialog{width:min(720px,92vw);max-height:min(640px,85vh)}.github-header .dialog-title{display:flex;align-items:center;gap:.5rem}.github-body{display:flex;flex-direction:column;gap:1rem;height:100%}.github-not-configured{padding:2rem;text-align:center;border:2px dashed var(--border-color);border-radius:var(--radius);background:var(--bg-card)}.github-not-configured-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;margin-bottom:1rem;border-radius:50%;background:var(--bg-warm);color:var(--text-muted)}.github-not-configured-title{font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.github-not-configured-text{font-size:.8125rem;color:var(--text-muted);line-height:1.5}.github-not-configured-text code{font-size:.75rem;padding:.15rem .35rem;background:var(--bg-warm);border-radius:4px;color:var(--purple)}.github-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center}.github-empty-icon{display:flex;align-items:center;justify-content:center;width:72px;height:72px;margin-bottom:1.25rem;border-radius:50%;background:linear-gradient(135deg,var(--purple-light) 0%,rgba(124,58,237,.15) 100%);color:var(--purple)}.github-empty-title{font-size:1.125rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.github-empty-text{font-size:.875rem;color:var(--text-muted);max-width:320px;line-height:1.5}.github-connect-btn{margin-top:1.5rem;padding:.75rem 1.5rem;gap:.5rem}.github-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem}.github-select-wrapper{position:relative;display:flex;align-items:center;min-width:240px}.github-select-icon{position:absolute;left:.75rem;display:flex;align-items:center;color:var(--text-muted);pointer-events:none;z-index:1}.github-select{width:100%;padding:.625rem 2.25rem .625rem 2.5rem;border:2px solid var(--border-color);border-radius:var(--radius);background:var(--bg-card);color:var(--text-primary);font-family:inherit;font-size:.875rem;font-weight:600;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:all .15s ease}.github-select:hover{border-color:var(--border-strong)}.github-select:focus{outline:none;border-color:var(--purple);box-shadow:0 0 0 3px var(--purple-light)}.github-select-chevron{position:absolute;right:.75rem;color:var(--text-muted);pointer-events:none}.github-controls-actions{display:flex;gap:.5rem}.btn-icon{padding:.5rem}.btn-icon svg{display:block}.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.github-search{position:relative}.github-search-icon{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.github-search input{width:100%;padding:.75rem 1rem .75rem 2.5rem;border:2px solid var(--border-color);border-radius:var(--radius);background:var(--bg-card);color:var(--text-primary);font-family:inherit;font-size:.875rem;outline:none;transition:all .15s ease}.github-search input::placeholder{color:var(--text-muted)}.github-search input:hover{border-color:var(--border-strong)}.github-search input:focus{border-color:var(--purple);box-shadow:0 0 0 3px var(--purple-light)}.github-repo-list{flex:1;overflow:auto;display:flex;flex-direction:column;gap:.375rem;padding-right:.25rem;min-height:200px}.github-repo-item{width:100%;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border:2px solid transparent;border-radius:var(--radius);background:var(--bg-card);cursor:pointer;transition:all .15s ease}.github-repo-item:hover{border-color:var(--purple);background:var(--purple-light)}.github-repo-info{display:flex;align-items:center;gap:.625rem;min-width:0;flex:1}.github-repo-icon{flex-shrink:0;color:var(--text-muted)}.github-repo-item:hover .github-repo-icon{color:var(--purple)}.github-repo-name{font-size:.875rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.github-repo-meta{flex-shrink:0}.github-repo-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .5rem;border-radius:999px;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.025em}.github-repo-badge.private{background:#7c3aed1f;color:var(--purple)}.github-repo-badge.public{background:#10b9811f;color:#059669}.github-repo-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:2rem;text-align:center;color:var(--text-muted);border:2px dashed var(--border-color);border-radius:var(--radius);background:var(--bg-card)}.dialog-content.pr-dialog{width:min(900px,92vw);height:min(760px,88vh)}.pr-body{display:flex;flex-direction:column;gap:.75rem}.pr-field{display:flex;flex-direction:column;gap:.35rem}.pr-field label{color:var(--text-muted);font-size:.75rem;font-weight:750}.pr-field input,.pr-field textarea{width:100%;padding:.7rem .85rem;border:2px solid var(--border-color);border-radius:var(--radius);background:var(--bg-card);color:var(--text-primary);font-family:inherit;font-size:.9375rem;outline:none;transition:all .2s ease}.pr-field textarea{resize:vertical;min-height:180px}.pr-field input:focus,.pr-field textarea:focus{border-color:var(--purple);box-shadow:0 0 0 4px var(--purple-light)}.pr-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.25rem}.pr-success{padding:.75rem .875rem;border-radius:var(--radius);border:2px solid rgba(34,197,94,.25);background:#22c55e14;color:var(--text-secondary);display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.pr-success a{color:var(--purple);font-weight:750}.pr-meta{color:var(--text-muted);font-size:.8125rem;font-weight:650}.dialog-content.sessions-dialog{width:min(980px,92vw);height:min(680px,88vh)}.sessions-empty{display:flex;align-items:center;gap:1rem;padding:1rem;border:2px dashed var(--border-color);border-radius:var(--radius);background:var(--bg-card);color:var(--text-secondary)}.sessions-empty p{margin:.25rem 0 0;color:var(--text-muted);font-size:.875rem}.sessions-list{height:100%;overflow:auto;display:flex;flex-direction:column;gap:.75rem}.session-item{display:flex;gap:.75rem;align-items:flex-start;padding:.875rem;border-radius:var(--radius);border:2px solid var(--border-color);background:var(--bg-card);box-shadow:var(--shadow-sm)}.session-item.active{border-color:var(--purple);box-shadow:0 0 0 4px var(--purple-light)}.session-item.error{border-color:#fecaca}.session-main{flex:1;min-width:0}.session-row{display:flex;align-items:center;gap:.75rem}.session-repo{font-weight:700;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-status{margin-left:auto;font-size:.75rem;font-weight:700;padding:.25rem .5rem;border-radius:999px;border:1px solid var(--border-color);background:var(--bg-warm);color:var(--text-muted)}.session-status.complete{background:var(--green-light);border-color:#bbf7d0;color:var(--severity-low)}.session-status.error{background:var(--red-light);border-color:#fecaca;color:var(--severity-critical)}.session-meta{margin-top:.5rem;display:flex;flex-wrap:wrap;gap:.5rem}.session-meta-item{display:inline-flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--text-muted);background:var(--bg-warm);border:1px solid var(--border-color);padding:.25rem .5rem;border-radius:999px}.session-id{display:inline-flex;align-items:center;gap:.375rem;font-size:.75rem;font-family:SF Mono,Monaco,Menlo,monospace;color:var(--text-secondary);background:var(--bg-warm);border:1px solid var(--border-color);padding:.25rem .5rem;border-radius:999px;cursor:pointer}.session-id:hover{border-color:var(--border-strong)}.session-id.copied{color:var(--purple);border-color:var(--purple);background:var(--purple-light)}.session-stats{margin-top:.5rem;display:flex;gap:.75rem;flex-wrap:wrap}.session-stat{font-size:.75rem;color:var(--text-muted)}.sessions-badges{margin-top:.5rem;display:flex;gap:.375rem;flex-wrap:wrap}.badge.neutral{background:var(--bg-warm);color:var(--text-secondary);border:1px solid var(--border-color)}.session-actions{display:flex;align-items:flex-start}.welcome-screen{flex:1;display:flex;flex-direction:column;min-height:0;overflow-y:auto;overflow-x:hidden;background:linear-gradient(180deg,var(--bg-cream) 0%,var(--bg-warm) 100%);position:relative}.welcome-screen-inner{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:3rem 1.5rem 4rem;position:relative;z-index:1}.welcome-content{text-align:center;width:100%;max-width:680px;position:relative}.welcome-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;margin-bottom:1.5rem;background:#7c3aed14;border:2px solid rgba(124,58,237,.15);border-radius:999px;font-size:.8125rem;font-weight:600;color:var(--purple)}.welcome-content h1{font-size:clamp(1.75rem,5vw,2.5rem);font-weight:800;margin-bottom:1rem;color:var(--text-primary);letter-spacing:-.03em;line-height:1.15}.welcome-content>p{color:var(--text-secondary);margin-bottom:2rem;font-size:clamp(.9375rem,2vw,1.0625rem);line-height:1.6;max-width:480px;margin-left:auto;margin-right:auto}.welcome-scan{width:100%;max-width:600px;margin:0 auto 2.5rem;padding:1.5rem;border-radius:var(--radius-lg);border:2px solid var(--border-color);background:var(--bg-card);box-shadow:var(--shadow-lg)}.welcome-scan-title{font-weight:700;font-size:1rem;letter-spacing:-.02em;margin-bottom:1rem;color:var(--text-primary)}.welcome-repo-input{display:flex;flex-direction:column;gap:.75rem}.welcome-repo-input .input-wrapper{width:100%}.welcome-repo-input .input-wrapper input{width:100%;padding:.875rem 1rem .875rem 2.75rem;font-size:.9375rem}.welcome-repo-input .input-icon{left:1rem}.welcome-input-actions{display:flex;gap:.5rem}.welcome-input-actions .btn{flex:1;justify-content:center;padding:.75rem 1rem}.welcome-scan-help{margin-top:1rem;font-size:.8125rem;color:var(--text-muted)}.feature-list{width:100%;max-width:600px;margin:0 auto}.feature{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.75rem;margin-bottom:.75rem;padding:1.25rem 1.5rem;background:var(--bg-card);border-radius:var(--radius-lg);border:2px solid var(--border-color);transition:all .2s ease}.feature:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--purple)}.feature-icon{width:48px;height:48px;background:var(--accent);color:#fff;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;flex-shrink:0}.feature:nth-child(1) .feature-icon{background:linear-gradient(135deg,var(--purple),var(--pink))}.feature:nth-child(2) .feature-icon{background:linear-gradient(135deg,var(--orange),var(--yellow))}.feature:nth-child(3) .feature-icon{background:linear-gradient(135deg,var(--green),#34d399)}.welcome-deco{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:0}.deco-shape{position:absolute;border-radius:16px;display:flex;align-items:center;justify-content:center;animation:float 6s ease-in-out infinite}.deco-shape svg{opacity:.6}.deco-shape-1{top:12%;left:6%;width:72px;height:72px;background:linear-gradient(135deg,#dcfce7,#bbf7d0);border:2px solid #86efac;transform:rotate(-8deg);animation-delay:0s}.deco-shape-2{top:8%;right:8%;width:64px;height:64px;background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #fcd34d;border-radius:50%;transform:rotate(12deg);animation-delay:1s}.deco-shape-3{bottom:18%;left:8%;width:56px;height:56px;background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:2px solid #93c5fd;transform:rotate(6deg);animation-delay:2s}.deco-shape-4{bottom:25%;right:6%;width:68px;height:68px;background:linear-gradient(135deg,#fce7f3,#fbcfe8);border:2px solid #f9a8d4;border-radius:20px;transform:rotate(-6deg);animation-delay:.5s}.deco-shape-5{top:40%;left:4%;width:44px;height:44px;background:linear-gradient(135deg,#f3e8ff,#e9d5ff);border:2px solid #d8b4fe;border-radius:12px;transform:rotate(15deg);animation-delay:1.5s}.deco-shape-6{top:35%;right:5%;width:52px;height:52px;background:linear-gradient(135deg,#ccfbf1,#99f6e4);border:2px solid #5eead4;border-radius:50%;animation-delay:2.5s}@keyframes float{0%,to{transform:translateY(0) rotate(var(--rotate, 0deg))}50%{transform:translateY(-12px) rotate(var(--rotate, 0deg))}}@media (max-width: 900px){.welcome-deco{display:none}}@media (min-width: 640px){.welcome-repo-input{flex-direction:row;align-items:stretch}.welcome-repo-input .input-wrapper{flex:1}.welcome-input-actions,.welcome-input-actions .btn{flex:0 0 auto}}@media (max-width: 639px){.welcome-screen-inner{padding:2rem 1rem 3rem}.welcome-scan{padding:1rem}.feature{padding:.875rem 1rem}.feature-icon{width:36px;height:36px}}.feature strong{display:block;margin-bottom:.25rem;font-size:1rem;font-weight:600}.feature p{font-size:.875rem;color:var(--text-muted);line-height:1.4}.tooltip-content{background:var(--text-primary);color:#fff;padding:.5rem .75rem;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:500;box-shadow:var(--shadow-lg);animation:tooltipFade .15s ease}@keyframes tooltipFade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.deco-shape{position:absolute;border-radius:var(--radius-lg);border:3px solid var(--border-color)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:100px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.highlighted-line{background:#a855f726!important;border-left:3px solid var(--purple)!important}.highlighted-line-glyph{background:var(--purple);margin-left:3px;width:4px!important;border-radius:2px}.editor-header{flex-wrap:wrap;gap:.5rem;min-height:auto}.editor-header .file-path{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1}.editor-actions{flex-wrap:wrap;gap:.375rem}.fix-prompt{flex-wrap:wrap;max-width:100%}.fix-prompt-text{flex:1 1 100%;min-width:0}.findings-sidebar{min-width:280px;max-width:420px;overflow:hidden}.findings-header{flex-shrink:0}.findings-summary{flex-wrap:wrap}@media (max-width: 1400px){.findings-sidebar{width:320px;min-width:280px}}@media (max-width: 1200px){.editor-header{padding:.5rem .75rem}.editor-actions{width:100%;justify-content:flex-start}.findings-sidebar{width:300px;min-width:260px}.verify-pill{max-width:200px}}@media (max-width: 1024px){.app-layout{flex-direction:column}.sidebar{width:100%;max-height:200px;border-right:none;border-bottom:2px solid var(--border-color)}.main-content{flex-direction:column}.findings-sidebar{width:100%;max-width:100%;max-height:300px;border-left:none;border-top:2px solid var(--border-color)}.content{min-height:400px}}@media (max-width: 768px){.header{padding:.5rem .75rem;gap:.5rem}.header-actions{gap:.375rem}.btn{padding:.375rem .625rem;font-size:.75rem}.btn-sm{padding:.25rem .5rem;font-size:.6875rem}.toggle-group{gap:.125rem}.toggle-item{padding:.25rem .375rem;font-size:.6875rem}.editor-header .file-path{font-size:.75rem}.fix-prompt{padding:.25rem .375rem}.fix-prompt-text{font-size:.6875rem}}
