.sidebar{width:var(--sidebar-width);height:100vh;background:#ffffffd6;border-right:1px solid var(--border-muted);display:flex;flex-direction:column;transition:transform var(--transition-base),width var(--transition-base);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.sidebar__header{padding:var(--space-md) var(--space-md) var(--space-sm);border-bottom:1px solid var(--border-muted)}.sidebar__brand{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md)}.sidebar__brand-logo{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;font-size:12px;font-weight:700;color:#fff;background:var(--accent-gradient)}.sidebar__brand-title{font-size:13px;font-weight:600;color:var(--text-primary)}.sidebar__brand-subtitle{font-size:11px;color:var(--text-tertiary)}.sidebar__new-chat-btn{width:100%;padding:12px var(--space-md);background:var(--accent-gradient);border:0;border-radius:var(--radius-md);color:#fff;font-family:var(--font-sans);font-size:13px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);display:flex;justify-content:center}.sidebar__new-chat-btn:hover{transform:translateY(-1px);box-shadow:var(--accent-glow)}.sidebar__conversations{flex:1;overflow-y:auto;padding:var(--space-sm)}.sidebar__section-title{font-size:11px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;padding:var(--space-sm) var(--space-sm);margin-top:var(--space-sm)}.sidebar__item{width:100%;text-align:left;padding:10px var(--space-sm);border-radius:10px;color:var(--text-secondary);font-size:13px;border:1px solid transparent;background:transparent;transition:all var(--transition-fast)}.sidebar__item:hover{background:#0b5cff14;border-color:var(--border-muted);color:var(--text-primary)}.sidebar__item--active{background:#0b5cff1f;border-color:#0b5cff52;color:var(--text-primary)}.sidebar__item--info{cursor:default}.sidebar__item--info:hover{border-color:transparent}.sidebar__footer{padding:var(--space-md);border-top:1px solid var(--border-muted);font-size:11px;color:var(--text-tertiary);text-align:center}@media(max-width:960px){.sidebar{width:100%;height:auto;border-right:0;border-bottom:1px solid var(--border-muted)}.sidebar__conversations{max-height:180px}}.header{height:var(--header-height);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-lg);background:var(--bg-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border-muted);z-index:10;position:relative}.header__brand{display:flex;align-items:center;gap:12px}.header__logo{width:48px;height:48px;object-fit:cover;object-position:center;border-radius:10px;border:1px solid rgba(11,92,255,.16);background:#fff;box-shadow:0 8px 18px #0a378c1a}.header__title{font-size:16px;font-weight:600;color:var(--text-primary)}.header__subtitle{font-size:12px;color:var(--text-tertiary);font-weight:400}.header__actions{display:flex;align-items:center;gap:var(--space-sm)}.header__badge{padding:4px 10px;border-radius:8px;background:#0b5cff1a;border:1px solid var(--border-default);font-size:11px;color:#0b5cff;font-weight:500;display:flex;align-items:center;gap:4px}.header__badge-dot{width:6px;height:6px;border-radius:50%;background:#0b5cff;animation:pulse 2s infinite}.header__pill{padding:5px 10px;border-radius:8px;background:#0b5cff12;border:1px solid var(--border-muted);font-size:11px;color:var(--text-secondary)}.review-comments{display:flex;flex-direction:column;gap:var(--space-md);margin-top:var(--space-md)}.outline-icon{flex:0 0 auto}.review-comment{background:#fff;border:1px solid rgba(11,92,255,.14);border-radius:8px;overflow:hidden;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);animation:fadeIn .3s ease;box-shadow:0 8px 24px #0a378c14}.review-comment:hover{border-color:#0b5cff52;box-shadow:0 14px 32px #0a378c1f}.review-comment--severity-critical,.review-comment--severity-high{border-left:4px solid #d92d20}.review-comment--severity-medium{border-left:4px solid #a16207}.review-comment--severity-low{border-left:4px solid #0b5cff}.review-comment--severity-info{border-left:4px solid #64748b}.review-comment__header{display:flex;align-items:center;gap:8px;padding:11px 14px;background:linear-gradient(180deg,#fff,#f7fbff);border-bottom:1px solid rgba(11,92,255,.12);font-size:12px;flex-wrap:wrap}.review-comment__file-path{font-family:var(--font-mono);font-size:12px;color:#0b5cff;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-comment__lines{color:#52637a;font-family:var(--font-mono);font-size:11px;margin-left:auto}.review-comment__category,.review-comment__severity,.review-comment__context-level,.review-comment__suggested-fix-label,.review-comment__fix-guidance-label{display:inline-flex;align-items:center;gap:6px}.review-comment__category{padding:4px 9px;border-radius:999px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:#f8fbff;border:1px solid rgba(11,92,255,.16)}.review-comment__category--defect{color:#b42318;background:#fff7f6;border-color:#ffd6d2}.review-comment__category--security{color:#0b5cff}.review-comment__category--performance{color:#8a5a00;background:#fffdf0;border-color:#f5e6a7}.review-comment__category--maintainability{color:#155eef}.review-comment__severity{padding:4px 8px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.05em}.review-comment__body{padding:14px;font-size:13px;color:#26364d;display:flex;flex-direction:column;gap:10px}.review-comment__body strong{color:#0f1a2e}.review-comment__note-point{border-left:3px solid rgba(11,92,255,.22);background:#f8fbff;border-radius:8px;padding:10px 12px}.review-comment__note-label{display:inline-flex;width:fit-content;margin-bottom:6px;padding:3px 8px;border-radius:999px;background:#fff;border:1px solid rgba(11,92,255,.16);color:#0b5cff;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.review-comment__note-text{line-height:1.65;white-space:pre-wrap}.review-comment__code-comparison{display:grid;grid-template-columns:1fr;gap:10px;padding:12px 14px;background:#fbfdff;border-bottom:1px solid rgba(11,92,255,.1);border-top:1px solid rgba(11,92,255,.1);overflow-x:auto}.review-comment__code-comparison--split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.review-comment__code-pane{min-width:0;border-radius:8px;overflow:hidden}.review-comment__code-pane--affected{border:1px solid #ffe0dd;background:snow}.review-comment__code-pane--fix{border:1px solid rgba(5,150,105,.28);background:#ecfdf5}.review-comment__code-pane-label{display:flex;align-items:center;gap:7px;padding:9px 12px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.review-comment__code-pane--affected .review-comment__code-pane-label{color:#b42318;background:#fff1f0;border-bottom:1px solid #ffe0dd}.review-comment__code-pane--fix .review-comment__code-pane-label{color:#047857;background:#d1fae5;border-bottom:1px solid rgba(5,150,105,.18)}.review-comment__code-pane pre{margin:0;padding:9px 0 12px;font-family:var(--font-mono);font-size:12px;line-height:1.6;color:#344054;overflow-x:auto}.review-comment__code-pane--fix pre{padding:9px 12px 12px;color:#064e3b;white-space:pre-wrap}.review-comment__fix-empty{padding:12px;color:#047857;font-size:12px;line-height:1.55}.code-line{display:grid;grid-template-columns:42px minmax(max-content,1fr);gap:10px;padding:2px 14px;white-space:pre;background:transparent;border-left:4px solid transparent}.code-line__number{color:#98a2b3;text-align:right;-webkit-user-select:none;user-select:none}@media(max-width:760px){.review-comment__code-comparison--split{grid-template-columns:1fr}}.code-line--error{background:#fff1f0;color:#7a271a;border-left-color:#d92d20;font-weight:600}.code-line--error .code-line__number{color:#d92d20}.review-comment__footer{display:flex;align-items:center;gap:12px;padding:10px 14px;border-top:1px solid rgba(11,92,255,.1);font-size:11px;color:#62738f;flex-wrap:wrap}.review-comment__context-level{max-width:44ch;line-height:1.35;color:#344054;background:#f8fbff;border:1px solid rgba(11,92,255,.13);border-radius:999px;padding:4px 9px}.review-comment__agent{font-size:10px;margin-left:auto;color:#667085}.confidence-bar{display:flex;align-items:center;gap:6px;min-width:88px}.confidence-bar__track{flex:1;height:5px;background:#e6f0ff;border-radius:999px;overflow:hidden}.confidence-bar__fill{height:100%;border-radius:999px;transition:width .3s ease}.confidence-bar__label{font-size:10px;font-weight:700;min-width:30px;text-align:right;color:#52637a}.review-comment__suggested-fix{margin:0 14px 14px;border:1px solid rgba(5,150,105,.28);border-left:4px solid #059669;border-radius:8px;background:#ecfdf5;overflow:hidden}.review-comment__suggested-fix-label{display:flex;align-items:center;gap:7px;padding:9px 12px;border-bottom:1px solid rgba(5,150,105,.18);background:#d1fae5;color:#047857;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.review-comment__suggested-fix pre{margin:0;padding:9px 12px 12px;color:#064e3b;background:transparent;font-family:var(--font-mono);font-size:12px;line-height:1.6;white-space:pre-wrap;overflow-x:auto}.review-comment__fix-guidance{margin:0 14px 12px;border:1px solid rgba(11,92,255,.15);border-left:4px solid #0b5cff;border-radius:8px;background:#f8fbff;overflow:hidden}.review-comment__code-pane--fix .review-comment__fix-guidance,.review-comment__suggested-fix .review-comment__fix-guidance--compact{margin:0;border-right:0;border-bottom:0;border-left:0;border-radius:0;background:#ffffff94}.review-comment__fix-guidance-label{display:flex;align-items:center;gap:7px;padding:8px 12px;border-bottom:1px solid rgba(11,92,255,.12);color:#0b5cff;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.review-comment__fix-guidance-text{padding:10px 12px;color:#26364d;font-size:13px;line-height:1.6;white-space:pre-wrap}.review-summary{display:flex;flex-direction:column;gap:14px;margin-bottom:var(--space-lg);animation:fadeIn .4s ease}.review-summary__icon{flex:0 0 auto}.review-summary__risk{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:8px;border:1px solid}.review-summary__risk-mark{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid currentColor;border-radius:8px;background:#ffffffa6}.review-summary__risk-info{display:flex;flex-direction:column;gap:2px}.review-summary__risk-level{font-size:14px;font-weight:800;letter-spacing:.04em}.review-summary__risk-detail{font-size:12px;color:#475569}.review-summary__categories{display:flex;flex-direction:column;gap:8px;padding:2px 0}.review-summary__cat-row{display:flex;align-items:center;gap:10px;font-size:12px}.review-summary__cat-label{min-width:230px;color:#344054;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-summary__cat-label .review-summary__icon{color:#0b5cff}.review-summary__cat-bar{flex:1;height:7px;background:#e6f0ff;border-radius:999px;overflow:hidden;min-width:60px}.review-summary__cat-fill{height:100%;background:linear-gradient(90deg,#0b5cff,#2d7dff);border-radius:999px;transition:width .5s ease;min-width:4px}.review-summary__cat-count{min-width:22px;text-align:right;font-weight:700;color:#0f1a2e}.review-summary__severity-pills{display:flex;gap:8px;flex-wrap:wrap}.review-summary__sev-pill{padding:5px 10px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.04em;border:1px solid currentColor}.review-summary__meta{display:flex;align-items:center;gap:10px;font-size:11px;color:#62738f;padding-top:10px;border-top:1px solid rgba(11,92,255,.12);flex-wrap:wrap}.review-summary__meta span:not(:first-of-type):before{content:"";display:inline-block;width:4px;height:4px;margin-right:10px;border-radius:999px;background:#b8c7df;vertical-align:middle}.chat-message{display:flex;gap:12px;max-width:900px;width:100%;margin:0 auto;animation:fadeIn .4s ease}.chat-message--user{flex-direction:row-reverse}.chat-message__avatar{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:600}.chat-message__avatar--bot{background:#fff;border:1px solid rgba(11,92,255,.28);box-shadow:0 8px 18px #0a378c1a;color:#0b5cff}.chat-message__avatar--user{background:#f8fbff;border:1px solid rgba(11,92,255,.16);color:var(--text-secondary)}.chat-message__body{flex:1;min-width:0}.chat-message__content{padding:14px 16px;border-radius:8px;font-size:14px;line-height:1.68;word-wrap:break-word}.chat-message--bot .chat-message__content{background:#fff;border:1px solid var(--border-muted);box-shadow:0 8px 24px #0a378c14}.chat-message--user .chat-message__content{background:linear-gradient(145deg,#0b5cff1a,#2d7dff29);border:1px solid rgba(11,92,255,.26)}.chat-message--error .chat-message__content{border-color:#ffd6d2;background:#fff7f6}.chat-message__content h2{font-size:16px;font-weight:600;margin-bottom:var(--space-md);color:var(--text-primary)}.chat-message__content h3{font-size:14px;font-weight:600;margin-top:var(--space-md);margin-bottom:var(--space-sm);color:var(--text-primary)}.chat-message__content p{margin-bottom:var(--space-sm)}.chat-message__content p:last-child{margin-bottom:0}.chat-message__content code{background:var(--bg-elevated);padding:2px 6px;border-radius:4px;font-size:13px;color:var(--accent-secondary)}.chat-message__content strong{color:var(--text-primary);font-weight:600}.chat-message__content hr{border:none;border-top:1px solid var(--border-muted);margin:var(--space-md) 0}.chat-message__content ul,.chat-message__content ol{padding-left:var(--space-lg);margin-bottom:var(--space-sm)}.chat-message__content li{margin-bottom:var(--space-xs)}.chat-message__timestamp{font-size:11px;color:var(--text-tertiary);margin-top:6px;padding:0 8px}.chat-message__stream-panel{background:#fff;border:1px solid var(--border-muted);border-radius:8px;box-shadow:0 8px 24px #0a378c0f;margin-bottom:8px;padding:12px}.stream-progress__header{display:flex;justify-content:space-between;gap:12px;color:var(--text-secondary);font-size:12px;margin-bottom:8px}.stream-progress__track{background:#edf2f7;border-radius:999px;height:7px;overflow:hidden}.stream-progress__fill{background:#0b5cff;height:100%;transition:width .25s ease}.stream-agents{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:7px;margin-top:10px}.stream-agent{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;border:1px solid rgba(11,92,255,.13);border-radius:8px;background:#f8fbff;padding:8px 10px;font-size:12px}.stream-agent__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#26364d;font-weight:600}.stream-agent__count{flex:0 0 auto;color:#0b5cff;font-weight:800}.stream-agent--failed{border-color:#ffd6d2;background:#fff7f6}.stream-agent--failed .stream-agent__count{color:#d92d20}.stream-log{display:flex;flex-direction:column;gap:6px;margin-top:10px}.stream-log__item{display:flex;align-items:flex-start;gap:7px;background:#f8fbff;border:1px solid rgba(11,92,255,.11);border-radius:8px;color:var(--text-secondary);font-size:12px;padding:7px 9px}.stream-log__dot{width:7px;height:7px;margin-top:5px;border-radius:50%;background:#0b5cff;flex:0 0 auto}.chat-message--user .chat-message__timestamp{text-align:right}.chat-message__pr-badge{display:inline-flex;align-items:center;gap:6px;margin-bottom:var(--space-sm);padding:6px 12px;background:#0b5cff0f;border:1px solid var(--border-default);border-radius:8px;font-size:12px;color:var(--text-secondary)}.chat-message__pr-badge svg{color:#0b5cff;flex:0 0 auto}.chat-message__pr-badge a{color:var(--accent-primary);font-weight:500}@media(max-width:960px){.chat-message{gap:10px}.chat-message__avatar{width:30px;height:30px;font-size:14px}.chat-message__content{padding:12px 13px}}.chat-window{flex:1;overflow-y:auto;padding:28px var(--space-xl) 20px;display:flex;flex-direction:column;gap:22px;scroll-behavior:smooth;position:relative}.chat-window__empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;color:var(--text-tertiary);text-align:center;animation:fadeIn .6s ease;max-width:760px;margin:0 auto;padding:30px 18px}.chat-window__empty-title{font-size:34px;font-weight:650;color:var(--text-primary);line-height:1.2;letter-spacing:-.02em}.chat-window__empty-hint{font-size:15px;max-width:620px;line-height:1.65}.chat-window__suggestions{width:100%;max-width:700px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:8px}.chat-window__suggestion{border:1px solid var(--border-muted);background:#0b5cff0d;color:var(--text-secondary);border-radius:14px;padding:14px 12px;font-size:13px;text-align:left;line-height:1.45}@media(max-width:960px){.chat-window{padding:18px 16px 14px}.chat-window__empty-title{font-size:28px}.chat-window__suggestions{grid-template-columns:1fr}}.chat-input{padding:14px var(--space-xl) 18px;background:linear-gradient(180deg,#f8fbff33,#f8fbffd9 22%,#f8fbfffa);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid var(--border-muted)}.chat-input__wrapper{max-width:900px;margin:0 auto;display:flex;align-items:flex-end;gap:var(--space-sm);background:#fff;border:1px solid var(--border-default);border-radius:18px;padding:10px 10px 10px 14px;transition:all var(--transition-fast)}.chat-input__wrapper:focus-within{border-color:var(--accent-primary);box-shadow:var(--shadow-glow)}.chat-input__textarea{flex:1;background:transparent;border:none;outline:none;color:var(--text-primary);font-family:var(--font-sans);font-size:15px;line-height:1.5;padding:10px 0;resize:none;min-height:24px;max-height:120px}.chat-input__textarea::placeholder{color:var(--text-tertiary)}.chat-input__send-btn{min-width:74px;height:42px;border-radius:12px;background:var(--accent-gradient);border:none;color:#fff;padding:0 14px;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);flex-shrink:0}.chat-input__send-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--accent-glow)}.chat-input__send-btn:disabled{opacity:.4;cursor:not-allowed}.chat-input__hint{text-align:center;font-size:11px;color:var(--text-tertiary);margin-top:7px}@media(max-width:960px){.chat-input{padding:12px 14px 14px}.chat-input__send-btn{min-width:64px}}.app-layout{display:flex;height:100vh;width:100vw;overflow:hidden;background:transparent}.app-main{flex:1;display:flex;flex-direction:column;height:100vh;min-width:0;position:relative}.app-main:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(160deg,#0b5cff1a,#0b5cff00 34%,#2d7dff17 78%,#2d7dff00)}@media(max-width:960px){.app-layout{flex-direction:column}}:root{--bg-primary: #f5f9ff;--bg-secondary: #ffffff;--bg-tertiary: #eef5ff;--bg-elevated: #e6f0ff;--bg-glass: rgba(255, 255, 255, .9);--bg-canvas: linear-gradient(180deg, #ffffff 0%, #f5f9ff 46%, #eef5ff 100%);--accent-primary: #0b5cff;--accent-secondary: #2d7dff;--accent-gradient: linear-gradient(135deg, #0b5cff 0%, #2d7dff 55%, #0aa1ff 100%);--accent-glow: 0 6px 24px rgba(11, 92, 255, .25);--text-primary: #0f1a2e;--text-secondary: #3a4b66;--text-tertiary: #62738f;--text-link: #0b5cff;--border-default: rgba(70, 108, 170, .24);--border-muted: rgba(70, 108, 170, .14);--border-accent: rgba(11, 92, 255, .35);--color-success: #34d399;--color-warning: #d29922;--color-error: #f85149;--color-info: #58a6ff;--cat-defect: #f85149;--cat-security: #f0883e;--cat-performance: #d29922;--cat-maintainability: #58a6ff;--diff-add-bg: rgba(63, 185, 80, .15);--diff-add-text: #3fb950;--diff-remove-bg: rgba(248, 81, 73, .15);--diff-remove-text: #f85149;--diff-line-number: #6e7681;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(10, 55, 140, .08);--shadow-md: 0 8px 20px rgba(10, 55, 140, .12);--shadow-lg: 0 14px 32px rgba(10, 55, 140, .16);--shadow-glow: 0 10px 26px rgba(11, 92, 255, .16);--font-sans: "Inter", "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", monospace;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s cubic-bezier(.4, 0, .2, 1);--sidebar-width: 300px;--header-height: 72px;--input-height: 84px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:var(--font-sans);background:var(--bg-canvas);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.55}a{color:var(--text-link);text-decoration:none}a:hover{text-decoration:underline}code,pre{font-family:var(--font-mono)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--text-tertiary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:960px){:root{--sidebar-width: 240px;--header-height: 64px}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes bounceIn{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1);opacity:1}}
