@import"https://fonts.googleapis.com/css2?family=Instrument+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg: #F7F6F3;--surface: #FFFFFF;--surface-2: #F0EEE9;--border: #E4E2DC;--border-2: #D1CFC7;--text-1: #1A1918;--text-2: #6B6965;--text-3: #9C9890;--accent: #D4440C;--accent-2: #F06336;--accent-bg: #FEF0EB;--success: #16A34A;--error: #DC2626;--shadow-xs: 0 1px 2px rgba(26,25,24,.04);--shadow-sm: 0 2px 8px rgba(26,25,24,.06), 0 1px 2px rgba(26,25,24,.04);--shadow-md: 0 8px 24px rgba(26,25,24,.08), 0 2px 6px rgba(26,25,24,.04);--shadow-lg: 0 20px 48px rgba(26,25,24,.1), 0 4px 12px rgba(26,25,24,.06);--radius-sm: 6px;--radius: 12px;--radius-lg: 20px;--font-ui: "Instrument Sans", system-ui, sans-serif;--font-mono: "JetBrains Mono", monospace;--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--duration-fast: .15s;--duration: .28s}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-ui);background:var(--bg);color:var(--text-1);line-height:1.6;min-height:100vh;background-image:radial-gradient(circle at 1px 1px,var(--border) 1px,transparent 0);background-size:28px 28px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--text-3)}.page{max-width:1160px;margin:0 auto;padding:64px 32px 96px}.header{text-align:center;margin-bottom:56px;animation:fadeUp .6s var(--ease-out) both}.logo-row{display:inline-flex;align-items:center;gap:10px;margin-bottom:10px}.logo-icon{width:44px;height:44px;background:var(--accent);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;box-shadow:var(--shadow-sm);animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.logo-text{font-size:30px;font-weight:700;letter-spacing:-.5px;color:var(--text-1)}.header-subtitle{font-size:15px;color:var(--text-2);letter-spacing:.2px}.input-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;box-shadow:var(--shadow-sm);margin-bottom:28px;animation:fadeUp .6s var(--ease-out) .08s both}.repo-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-bottom:18px}.repo-input-wrap{position:relative}.repo-input{width:100%;padding:13px 44px 13px 16px;font-family:var(--font-mono);font-size:13.5px;color:var(--text-1);background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-sm);outline:none;transition:border-color var(--duration-fast),box-shadow var(--duration-fast),background var(--duration-fast);letter-spacing:.01em}.repo-input:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px var(--accent-bg)}.repo-input::placeholder{color:var(--text-3);font-family:var(--font-ui);letter-spacing:0}.repo-input:disabled{opacity:.5;cursor:not-allowed}.remove-btn{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:24px;height:24px;border:none;background:transparent;color:var(--text-3);cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:13px;transition:all var(--duration-fast)}.remove-btn:hover{background:#fef2f2;color:var(--error)}.suggestions{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:200;overflow:hidden;animation:dropIn .18s var(--ease-out) both}@keyframes dropIn{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.suggestion-item{padding:11px 16px;cursor:pointer;border-bottom:1px solid var(--border);transition:background var(--duration-fast)}.suggestion-item:last-child{border-bottom:none}.suggestion-item:hover,.suggestion-item.active{background:var(--surface-2)}.sg-name{font-family:var(--font-mono);font-size:13px;font-weight:500;color:var(--text-1)}.sg-desc{font-size:12px;color:var(--text-3);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-btn{display:inline-flex;align-items:center;gap:5px;padding:8px 14px;font-family:var(--font-ui);font-size:13.5px;font-weight:500;color:var(--accent);background:transparent;border:1.5px dashed var(--border-2);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--duration-fast)}.add-btn:hover{background:var(--accent-bg);border-color:var(--accent);border-style:solid}.compare-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;max-width:320px;margin:0 auto 48px;padding:15px 32px;font-family:var(--font-ui);font-size:15px;font-weight:600;color:#fff;background:var(--accent);border:none;border-radius:var(--radius);cursor:pointer;box-shadow:0 4px 14px #d4440c59,var(--shadow-sm);transition:all var(--duration-fast);letter-spacing:.01em;animation:fadeUp .6s var(--ease-out) .14s both}.compare-btn:hover:not(:disabled){background:var(--accent-2);transform:translateY(-2px);box-shadow:0 8px 24px #d4440c66,var(--shadow-md)}.compare-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #d4440c4d,var(--shadow-xs)}.compare-btn:disabled{background:var(--border-2);color:var(--text-3);cursor:not-allowed;box-shadow:none}.compare-btn .spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-msg{display:flex;align-items:center;gap:8px;padding:13px 18px;background:#fef2f2;border:1px solid #FECACA;border-radius:var(--radius-sm);color:var(--error);font-size:14px;font-weight:500;margin-bottom:20px;animation:shake .4s var(--ease-out)}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.analysis-grid{display:grid;gap:20px;margin-bottom:40px;animation:fadeUp .5s var(--ease-out) .05s both}.analysis-grid.cols-2{grid-template-columns:1fr 1fr}.analysis-grid.cols-3{grid-template-columns:1fr 1fr 1fr}@media(max-width:720px){.analysis-grid{grid-template-columns:1fr!important}}.analysis-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow var(--duration-fast),transform var(--duration-fast)}.analysis-panel:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--border);background:var(--surface-2)}.panel-repo{font-family:var(--font-mono);font-size:13.5px;font-weight:500;color:var(--text-1);letter-spacing:.01em;transition:color var(--duration-fast)}.panel-repo:hover{color:var(--accent)}.panel-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:99px;font-size:12px;font-weight:600;letter-spacing:.02em}.panel-badge.done{background:#f0fdf4;color:var(--success);border:1px solid #BBF7D0}.panel-badge.loading{background:var(--accent-bg);color:var(--accent);border:1px solid #FECDC3}.panel-badge.loading .dot{width:6px;height:6px;background:var(--accent);border-radius:50%;animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.panel-body{padding:20px 22px;max-height:380px;overflow-y:auto}.logs-section{display:flex;flex-direction:column;gap:5px;margin-bottom:14px;padding:10px 14px;background:var(--surface-2);border-radius:var(--radius-sm);border-left:3px solid var(--border-2)}.log-item{font-size:12px;color:var(--text-2);font-family:var(--font-mono);letter-spacing:0}.reasoning-section{margin-bottom:14px;padding:12px 16px;background:linear-gradient(135deg,#fffbf8,#fff8f0);border-radius:var(--radius-sm);border:1px solid #F5E6D8;position:relative;overflow:hidden}.reasoning-section:before{content:"💭";position:absolute;top:10px;right:14px;font-size:14px;opacity:.5}.reasoning-label{font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:#c07830;margin-bottom:6px}.reasoning-text{font-size:12.5px;color:var(--text-2);font-style:italic;line-height:1.65;white-space:pre-wrap}.analysis-text{font-size:14px;line-height:1.75;color:var(--text-1);white-space:pre-wrap}.streaming-cursor{display:inline-block;width:2px;height:1.1em;background:var(--accent);margin-left:2px;vertical-align:text-bottom;border-radius:1px;animation:blink .85s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.progress-log{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px;margin-bottom:32px;animation:fadeUp .4s var(--ease-out) both}.log-entry{font-size:13px;color:var(--text-2);padding:3px 0;border-bottom:1px solid var(--border);animation:fadeIn .3s var(--ease-out) both}.log-entry:last-child{border-bottom:none}.log-entry.error{color:var(--error)}@keyframes fadeIn{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}.report-section{animation:fadeUp .4s var(--ease-out) both}.report-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}.report-title{font-size:20px;font-weight:700;color:var(--text-1);letter-spacing:-.3px;display:flex;align-items:center;gap:10px}.summary-badge{font-size:12px;font-weight:600;color:var(--accent);background:var(--accent-bg);border:1px solid #FECDC3;padding:3px 10px;border-radius:99px;animation:fadeIn .3s var(--ease-out) both}.report-content{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:36px 40px;box-shadow:var(--shadow-sm)}.report-content h1{font-size:26px;font-weight:700;color:var(--text-1);margin-bottom:20px;padding-bottom:14px;border-bottom:2px solid var(--border);letter-spacing:-.3px}.report-content h2{font-size:18px;font-weight:600;color:var(--text-1);margin-top:28px;margin-bottom:12px}.report-content h3{font-size:15px;font-weight:600;color:var(--text-1);margin-top:20px;margin-bottom:8px}.report-content p{margin-bottom:12px;font-size:14.5px;color:var(--text-2);line-height:1.75}.report-content table{width:100%;border-collapse:collapse;margin-bottom:20px;font-size:13.5px;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border)}.report-content th{background:var(--surface-2);font-weight:600;text-align:left;padding:10px 14px;border-bottom:1px solid var(--border);color:var(--text-1)}.report-content td{padding:10px 14px;border-bottom:1px solid var(--border);color:var(--text-2);vertical-align:top}.report-content tr:last-child td{border-bottom:none}.report-content code{font-family:var(--font-mono);font-size:12.5px;background:var(--surface-2);padding:2px 6px;border-radius:4px;color:var(--accent);border:1px solid var(--border)}.report-content pre{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:18px 20px;overflow-x:auto;margin-bottom:16px}.report-content pre code{background:none;padding:0;border:none;color:var(--text-1);font-size:13px;line-height:1.6}.report-content ul,.report-content ol{padding-left:22px;margin-bottom:12px}.report-content li{margin-bottom:5px;font-size:14.5px;color:var(--text-2);line-height:1.65}.report-content strong{color:var(--text-1);font-weight:600}.report-content em{color:var(--text-2)}.export-row{display:flex;gap:8px}.export-btn{display:inline-flex;align-items:center;gap:5px;padding:8px 14px;font-family:var(--font-ui);font-size:13px;font-weight:500;color:var(--text-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--duration-fast);box-shadow:var(--shadow-xs)}.export-btn:hover{color:var(--text-1);background:var(--surface-2);border-color:var(--border-2);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.export-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media(max-width:640px){.page{padding:40px 20px 72px}.report-content{padding:24px 20px}.header{margin-bottom:36px}.logo-text{font-size:24px}}
