.issue-context-card{background:var(--bg-white);border:1px solid var(--rule);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);z-index:10;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex;position:sticky;top:0}.issue-context-card__left{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.issue-context-card__title-row{align-items:center;gap:10px;min-width:0;display:flex}.issue-context-card__title{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:700;overflow:hidden}.issue-context-card__number{color:var(--muted);flex-shrink:0;font-size:13px;font-weight:500}.issue-context-card__bottom-row{align-items:center;gap:12px;display:flex}.issue-context-card__labels{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.issue-context-card__repo{color:var(--muted);align-items:center;gap:4px;font-size:12px;display:flex}.issue-context-card__repo svg{width:12px;height:12px}.issue-context-card__right{flex-shrink:0;align-items:center;gap:12px;display:flex}.issue-context-card__meta{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.issue-context-card__meta-row{align-items:center;gap:8px;display:flex}.issue-context-card__time{color:var(--muted);align-items:center;gap:4px;font-size:12px;display:flex}.issue-context-card__time svg{width:12px;height:12px}.issue-context-card__contributing{background:var(--accent-soft);color:var(--accent);border-radius:var(--radius-full);align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.issue-context-card__contributing svg{width:12px;height:12px}.review-progress{background:var(--bg-white);border:1px solid var(--rule);border-radius:var(--radius-md);padding:24px}.review-progress__header{align-items:center;gap:12px;margin-bottom:20px;display:flex}.review-progress__icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:22px;display:flex}.review-progress__icon--running{background:var(--accent-soft);animation:2s ease-in-out infinite pulse}.review-progress__icon--completed{background:var(--green-soft)}.review-progress__icon--failed{background:var(--red-soft)}.review-progress__icon--queued{background:var(--yellow-soft)}.review-progress__icon--idle{background:var(--bg-soft)}.review-progress__title-group{flex:1}.review-progress__title{color:var(--ink);margin-bottom:2px;font-size:16px;font-weight:700}.review-progress__subtitle{color:var(--muted);font-size:13px}.review-progress__bar-wrap{margin-bottom:16px}.review-progress__bar-label{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px;display:flex}.review-progress__bar-percent{color:var(--ink-2);font-weight:600}.review-progress__bar{background:var(--bg-soft);border-radius:var(--radius-full);height:8px;overflow:hidden}.review-progress__bar-fill{background:var(--gradient);border-radius:var(--radius-full);height:100%;transition:width .5s}.review-progress__bar-fill--failed{background:var(--red)}.review-progress__phases{gap:8px;margin-bottom:20px;display:flex}.review-progress__phase{border-radius:var(--radius-sm);background:var(--bg-soft);color:var(--muted);flex:1;align-items:center;gap:8px;padding:10px 12px;font-size:12px;transition:all .3s;display:flex}.review-progress__phase--running{background:var(--accent-soft);color:var(--accent);font-weight:500}.review-progress__phase--completed{background:var(--green-soft);color:var(--green)}.review-progress__phase--failed{background:var(--red-soft);color:var(--red)}.review-progress__phase-dot{background:var(--muted-2);border-radius:50%;flex-shrink:0;width:8px;height:8px}.review-progress__phase--running .review-progress__phase-dot{background:var(--accent);animation:1.2s ease-in-out infinite pulse-dot}.review-progress__phase--completed .review-progress__phase-dot{background:var(--green)}.review-progress__phase--failed .review-progress__phase-dot{background:var(--red)}.review-progress__mentor-bubble{background:var(--accent-soft-2);border-radius:var(--radius-md);border:1px solid #8b5cf626;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.review-progress__mentor-icon{background:var(--gradient);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;display:flex;box-shadow:0 2px 8px #6366f14d}.review-progress__mentor-text{color:var(--ink-2);flex:1;padding-top:6px;font-size:13px;line-height:1.6}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes pulse-dot{0%,to{opacity:1;box-shadow:0 0 #6366f166}50%{opacity:.7;box-shadow:0 0 0 4px #6366f100}}.review-issue-card{background:var(--bg-white);border:1px solid var(--rule);border-radius:var(--radius-md);transition:box-shadow .2s,border-color .2s;overflow:hidden}.review-issue-card:hover{box-shadow:var(--shadow-sm)}.review-issue-card--expanded{border-color:var(--rule)}.review-issue-card__header{cursor:pointer;align-items:flex-start;gap:14px;padding:14px 16px;transition:background .15s;display:flex}.review-issue-card__header:hover{background:var(--bg-hover)}.review-issue-card__severity-bar{border-radius:2px;flex-shrink:0;align-self:stretch;width:4px;min-height:36px}.review-issue-card__severity-bar--critical{background:var(--red)}.review-issue-card__severity-bar--high{background:#f97316}.review-issue-card__severity-bar--medium{background:var(--yellow)}.review-issue-card__severity-bar--low{background:var(--muted-2)}.review-issue-card__severity-bar--suggestion{background:var(--accent)}.review-issue-card__main{flex:1;min-width:0}.review-issue-card__title-row{align-items:center;gap:8px;margin-bottom:4px;display:flex}.review-issue-card__title{color:var(--ink);font-size:14px;font-weight:600;line-height:1.4}.review-issue-card__category{border-radius:var(--radius-full);background:var(--bg-soft);color:var(--muted);flex-shrink:0;padding:2px 7px;font-size:11px;font-weight:500}.review-issue-card__desc{color:var(--muted);font-size:13px;line-height:1.5}.review-issue-card__meta{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;display:flex}.review-issue-card__file-info{color:var(--muted);text-align:right;font-family:ui-monospace,Consolas,monospace;font-size:12px;line-height:1.4}.review-issue-card__file-path{opacity:.8}.review-issue-card__file-line{font-weight:500}.review-issue-card__toggle{width:24px;height:24px;color:var(--muted);justify-content:center;align-items:center;transition:transform .2s;display:flex}.review-issue-card__toggle svg{width:16px;height:16px}.review-issue-card--expanded .review-issue-card__toggle{transform:rotate(180deg)}.review-issue-card__expand{max-height:0;transition:max-height .3s;overflow:hidden}.review-issue-card--expanded .review-issue-card__expand{max-height:2000px}.review-issue-card__body{border-top:1px solid var(--rule-soft);flex-direction:column;gap:14px;margin-left:18px;padding:16px;display:flex}.review-issue-section{flex-direction:column;gap:8px;display:flex}.review-issue-section__header{color:var(--ink-2);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.review-issue-section__icon{font-size:14px}.review-issue-section__content{color:var(--ink-2);padding-left:22px;font-size:13px;line-height:1.6}.review-issue-code{border-radius:var(--radius-sm);background:#1e293b;margin-left:22px;overflow:hidden}.review-issue-code--suggestion{border:1px solid var(--green);position:relative}.review-issue-code__header{color:#ffffff80;background:#ffffff0d;justify-content:space-between;align-items:center;padding:8px 12px;font-family:ui-monospace,Consolas,monospace;font-size:11px;display:flex}.review-issue-code__badge{color:var(--green);align-items:center;gap:4px;font-weight:600;display:inline-flex}.review-issue-code__pre{margin:0;padding:12px;overflow-x:auto}.review-issue-code__code{color:#e2e8f0;white-space:pre;font-family:ui-monospace,Consolas,monospace;font-size:12.5px;line-height:1.6}.review-issue-lesson{background:var(--accent-soft-2);border-radius:var(--radius-sm);border:1px solid #8b5cf626;margin-left:22px;padding:12px 14px}.review-issue-lesson__title{color:var(--accent-2);align-items:center;gap:6px;margin-bottom:6px;font-size:12px;font-weight:600;display:flex}.review-issue-lesson__text{color:var(--ink-2);font-size:13px;line-height:1.6}.review-issue-card__actions{justify-content:flex-end;margin-left:22px;padding-top:4px;display:flex}.review-result-panel{background:var(--bg-white);border:1px solid var(--rule);border-radius:var(--radius-md);min-height:400px;display:flex;overflow:hidden}.review-result-panel__tabs{border-right:1px solid var(--rule);background:var(--bg-soft);flex-shrink:0;width:160px;padding:12px 0}.review-result-panel__tab{color:var(--muted);cursor:pointer;border-left:3px solid #0000;align-items:center;gap:10px;padding:10px 16px;font-size:13px;transition:all .15s;display:flex;position:relative}.review-result-panel__tab:hover{background:var(--bg-hover);color:var(--ink-2)}.review-result-panel__tab--active{background:var(--bg-white);color:var(--ink);border-left-color:var(--accent);font-weight:600}.review-result-panel__tab-icon{flex-shrink:0;font-size:14px}.review-result-panel__tab-label{flex:1}.review-result-panel__tab-count{border-radius:var(--radius-full);background:var(--bg-white);color:var(--muted);border:1px solid var(--rule);flex-shrink:0;padding:1px 7px;font-size:11px;font-weight:600}.review-result-panel__tab--active .review-result-panel__tab-count{background:var(--accent-soft);color:var(--accent);border-color:#0000}.review-result-panel__content{flex:1;max-height:600px;padding:20px;overflow-y:auto}.review-result-panel__content-title{color:var(--ink);border-bottom:1px solid var(--rule-soft);margin-bottom:16px;padding-bottom:12px;font-size:14px;font-weight:600}.review-issue-list,.review-praise-list{flex-direction:column;gap:12px;display:flex}.praise-card{background:var(--green-soft);border-radius:var(--radius-md);border:1px solid #10b98133;padding:16px}.praise-card__header{align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.praise-card__icon{flex-shrink:0;font-size:18px}.praise-card__title{color:var(--ink);margin-bottom:2px;font-size:14px;font-weight:600}.praise-card__file{color:var(--muted);font-family:ui-monospace,Consolas,monospace;font-size:12px}.praise-card__desc{color:var(--ink-2);margin-bottom:12px;font-size:13px;line-height:1.6}.praise-card__code{border-radius:var(--radius-sm);color:#065f46;white-space:pre-wrap;background:#10b9811a;padding:12px;font-family:ui-monospace,Consolas,monospace;font-size:12.5px;line-height:1.6}.praise-card__why{color:var(--muted);border-top:1px solid #10b98133;margin-top:10px;padding-top:10px;font-size:12px;line-height:1.5}.praise-card__why strong{color:var(--green);font-weight:600}.review-tips-list{flex-direction:column;gap:10px;display:flex}.tip-card{background:var(--bg-soft);border-radius:var(--radius-md);border:1px solid var(--rule-soft);align-items:flex-start;gap:12px;padding:14px 16px;transition:all .15s;display:flex}.tip-card:hover{border-color:var(--rule);background:var(--bg-hover)}.tip-card__icon{background:var(--blue-soft);width:28px;height:28px;color:var(--blue);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;display:flex}.tip-card__content{color:var(--ink-2);flex:1;padding-top:3px;font-size:13px;line-height:1.6}.review-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.review-empty__icon{opacity:.6;margin-bottom:16px;font-size:40px}.review-empty__title{color:var(--ink);margin-bottom:6px;font-size:15px;font-weight:600}.review-empty__desc{color:var(--muted);max-width:280px;font-size:13px;line-height:1.5}.review-action-bar{background:var(--bg-white);border-top:1px solid var(--rule);z-index:20;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex;position:sticky;bottom:0;box-shadow:0 -4px 20px #0000000f}.review-action-bar__left{align-items:center;gap:10px;min-width:0;display:flex}.review-action-bar__status-icon{flex-shrink:0;font-size:18px}.review-action-bar__status-text{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.review-action-bar__status-text--running{color:var(--accent)}.review-action-bar__status-text--completed{color:var(--green)}.review-action-bar__status-text--failed{color:var(--red)}.review-action-bar__right{flex-shrink:0;align-items:center;gap:10px;display:flex}.review-action-bar__btn{min-width:160px}:root{--bg:#f6f8fa;--bg-white:#fff;--bg-soft:#f6f8fa;--bg-hover:#f3f4f6;--ink:#111827;--ink-2:#374151;--muted:#6b7280;--muted-2:#9ca3af;--rule:#e5e7eb;--rule-soft:#f3f4f6;--accent:#6366f1;--accent-2:#8b5cf6;--accent-3:#a855f7;--accent-soft:#eef2ff;--accent-soft-2:#f5f3ff;--green:#10b981;--green-soft:#ecfdf5;--yellow:#f59e0b;--yellow-soft:#fffbeb;--red:#ef4444;--red-soft:#fef2f2;--blue:#3b82f6;--blue-soft:#eff6ff;--gradient:linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #a855f7 100%);--gradient-soft:linear-gradient(135deg, #6366f114 0%, #a855f714 100%);--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 10px 40px #6366f126;--shadow-xl:0 20px 60px #6366f133;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--sidebar-w:248px;--header-h:60px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}img,svg{flex-shrink:0;width:1em;height:1em;display:block}@keyframes pageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes toastIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes toastOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(20px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes blobFloat{0%,to{transform:translate(0)scale(1)}33%{transform:translate(40px,-30px)scale(1.08)}66%{transform:translate(-30px,25px)scale(.95)}}@keyframes heroFadeIn{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{left:-100%}to{left:100%}}@keyframes ctaFloat{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-20px)scale(1.05)}}@keyframes modalIn{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes nodePop{0%{opacity:0;transform:translate(-50%)scale(.5)}50%{transform:translate(-50%)scale(1.2)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes nodePulse{0%,to{box-shadow:0 0 0 8px var(--accent-soft)}50%{box-shadow:0 0 0 14px #6366f126}}.page-view{min-height:100vh;display:none}.page-view.active{animation:.4s cubic-bezier(.4,0,.2,1) pageIn;display:block}.reveal{opacity:0;transition:opacity .7s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1);transform:translateY(30px)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.reveal-delay-4{transition-delay:.4s}.reveal-delay-5{transition-delay:.5s}.hero-gradient-text{background:var(--gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.two-col{grid-template-columns:1fr 1fr;gap:20px;display:grid}.btn{border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:9px 18px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background:var(--gradient);color:#fff;box-shadow:0 4px 12px #6366f14d}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #6366f166}.btn-secondary{background:var(--bg-white);color:var(--ink-2);border:1px solid var(--rule)}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--muted-2)}.btn-lg{border-radius:8px;padding:13px 28px;font-size:15px}.btn-sm{border-radius:7px;padding:7px 16px;font-size:13px}.btn-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin}.btn-icon{justify-content:center;align-items:center;display:inline-flex}.btn-icon svg{width:16px;height:16px}.btn-sm .btn-icon svg{width:14px;height:14px}.btn-lg .btn-icon svg{width:18px;height:18px}.toast-container{z-index:1000;flex-direction:column;gap:10px;display:flex;position:fixed;top:20px;right:20px}.toast{background:var(--bg-white);border:1px solid var(--rule);border-radius:10px;align-items:center;gap:12px;min-width:280px;padding:14px 18px;animation:.3s cubic-bezier(.4,0,.2,1) toastIn;display:flex;box-shadow:0 12px 40px #0000001f}.toast.toast-out{animation:.3s forwards toastOut}.toast-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.toast-icon.success{background:var(--green-soft);color:var(--green)}.toast-icon.info{background:var(--blue-soft);color:var(--blue)}.toast-icon.error{background:var(--red-soft);color:var(--red)}.toast-icon svg{width:16px;height:16px}.toast-content{flex:1;min-width:0}.toast-title{margin-bottom:2px;font-size:14px;font-weight:600}.toast-msg{color:var(--muted);font-size:13px}.card{background:var(--bg-white);border:1px solid var(--rule);border-radius:var(--radius-md);overflow:hidden}.card-header{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.card-title{align-items:center;gap:10px;font-size:14px;font-weight:600;display:flex}.card-title-icon{background:var(--accent-soft);width:28px;height:28px;color:var(--accent);border-radius:7px;justify-content:center;align-items:center;display:flex}.card-title-icon svg{width:14px;height:14px}.card-body{padding:20px}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;background:#00000080;justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0}.modal-overlay.active{animation:.2s fadeIn;display:flex}.modal{background:var(--bg-white);border-radius:var(--radius-lg);flex-direction:column;width:100%;max-width:560px;max-height:90vh;animation:.3s cubic-bezier(.4,0,.2,1) modalIn;display:flex;overflow:hidden}.modal-header{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 24px;display:flex}.modal-title-group{align-items:center;gap:12px;display:flex}.modal-icon{background:var(--accent-soft);width:40px;height:40px;color:var(--accent);border-radius:10px;justify-content:center;align-items:center;display:flex}.modal-icon svg{width:20px;height:20px}.modal-title{margin-bottom:3px;font-size:16px;font-weight:700}.modal-subtitle{color:var(--muted);font-size:13px}.modal-close{width:32px;height:32px;color:var(--muted);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.modal-close:hover{background:var(--bg-hover);color:var(--ink)}.modal-close svg{width:18px;height:18px}.modal-body{flex:1;padding:24px;overflow-y:auto}.modal-footer{border-top:1px solid var(--rule);justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.reason-section{margin-bottom:24px}.reason-section:last-child{margin-bottom:0}.reason-title{color:var(--ink);align-items:center;gap:8px;margin-bottom:10px;font-size:14px;font-weight:600;display:flex}.reason-title svg{width:16px;height:16px;color:var(--accent)}.reason-content ul{padding:0;list-style:none}.reason-content li{color:var(--ink-2);padding:5px 0 5px 22px;font-size:13px;line-height:1.6;position:relative}.reason-content li:before{content:"";background:var(--accent);border-radius:50%;width:5px;height:5px;position:absolute;top:13px;left:6px}.reason-content code{background:var(--bg-soft);border-radius:4px;padding:1px 5px;font-family:ui-monospace,Consolas,monospace;font-size:12px}.match-breakdown{flex-direction:column;gap:8px;margin-top:12px;display:flex}.match-item{align-items:center;gap:10px;display:flex}.match-item-label{color:var(--muted);flex-shrink:0;width:72px;font-size:12px}.match-item-bar{background:var(--bg-soft);border-radius:var(--radius-full);flex:1;height:6px;overflow:hidden}.match-item-fill{background:var(--gradient);border-radius:var(--radius-full);height:100%;transition:width 1s}.match-item-value{color:var(--ink-2);text-align:right;flex-shrink:0;width:36px;font-size:12px;font-weight:600}.form-group{margin-bottom:18px}.form-label{margin-bottom:7px;font-size:13px;font-weight:600;display:block}.form-label .required{color:var(--red);margin-left:2px}.form-input,.form-textarea{width:100%;color:var(--ink);background:var(--bg-white);border:1px solid var(--rule);border-radius:7px;padding:9px 12px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.form-input:focus,.form-textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #6366f11a}.form-textarea{resize:vertical;min-height:120px;font-family:ui-monospace,Consolas,monospace;font-size:13px;line-height:1.6}.form-hint{color:var(--muted);margin-top:6px;font-size:12px}.filter-select{border:1px solid var(--rule);background:var(--bg-white);color:var(--ink-2);cursor:pointer;border-radius:7px;padding:7px 12px;font-family:inherit;font-size:13px}.nav-badge{background:var(--accent);color:#fff;border-radius:var(--radius-full);margin-left:auto;padding:1px 7px;font-size:11px;font-weight:600}.issue-label{border-radius:var(--radius-full);padding:2px 8px;font-size:11px;font-weight:500;line-height:1.5}.issue-label.bug{background:var(--red-soft);color:var(--red)}.issue-label.good-first{background:var(--green-soft);color:var(--green)}.issue-label.ui{background:var(--accent-soft-2);color:var(--accent-2)}.issue-label.docs{background:var(--yellow-soft);color:var(--yellow)}.issue-label.enhancement{background:var(--blue-soft);color:var(--blue)}.ai-tag{background:var(--bg-soft);border-radius:var(--radius-full);color:var(--muted);align-items:center;gap:5px;padding:3px 9px;font-size:12px;display:flex}.ai-tag svg{width:12px;height:12px}.ai-tag.difficulty-easy{background:var(--green-soft);color:var(--green)}.ai-tag.difficulty-medium{background:var(--yellow-soft);color:var(--yellow)}.ai-tag.difficulty-hard{background:var(--red-soft);color:var(--red)}.card-day-badge{border-radius:var(--radius-full);background:var(--bg-soft);color:var(--muted);align-items:center;gap:6px;margin-bottom:10px;padding:4px 10px;font-size:12px;font-weight:600;transition:all .3s;display:inline-flex}.card-day-badge svg{width:12px;height:12px;display:inline}.ai-loading{text-align:center;padding:30px 20px;display:none}.ai-loading.active{display:block}.ai-loading-spinner{border:3px solid var(--rule);border-top-color:var(--accent);border-radius:50%;width:40px;height:40px;margin:0 auto 16px;animation:1s linear infinite spin}.ai-loading-title{margin-bottom:6px;font-size:15px;font-weight:600}.ai-loading-desc{color:var(--muted);margin-bottom:20px;font-size:13px}.ai-loading-steps{text-align:left;max-width:280px;margin:0 auto}.ai-loading-step{color:var(--muted);border-radius:6px;align-items:center;gap:10px;margin-bottom:3px;padding:7px 10px;font-size:13px;transition:all .3s;display:flex}.ai-loading-step.active{background:var(--accent-soft);color:var(--accent);font-weight:500}.ai-loading-step.done{color:var(--green)}.step-spinner{border:2px solid var(--rule);border-top-color:var(--accent);border-radius:50%;width:13px;height:13px;animation:.8s linear infinite spin}.pr-loading{text-align:center;padding:48px 20px;display:none}.pr-loading.active{display:block}.pr-loading-spinner{border:3px solid var(--rule);border-top-color:var(--accent);border-radius:50%;width:48px;height:48px;margin:0 auto 20px;animation:1s linear infinite spin}.pr-loading-title{margin-bottom:8px;font-size:16px;font-weight:600}.pr-loading-desc{color:var(--muted);margin-bottom:24px;font-size:13px}.pr-loading-steps{text-align:left;max-width:320px;margin:0 auto}.icon-btn{width:36px;height:36px;color:var(--muted);border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:flex;position:relative}.icon-btn:hover{background:var(--bg-hover);color:var(--ink)}.icon-btn svg{width:18px;height:18px}.notif-dot{background:var(--red);border:2px solid var(--bg-white);border-radius:50%;width:7px;height:7px;position:absolute;top:9px;right:9px}.preview-tabs{justify-content:center;gap:8px;margin-bottom:40px;display:flex}.preview-tab{border-radius:var(--radius-full);color:var(--muted);cursor:pointer;padding:8px 20px;font-size:14px;font-weight:500;transition:all .2s}.preview-tab:hover{color:var(--ink);background:var(--bg-hover)}.preview-tab.active{background:var(--ink);color:#fff}.preview-content{background:var(--bg-white);border:1px solid var(--rule);border-radius:var(--radius-lg);max-width:1100px;margin:0 auto;overflow:hidden;box-shadow:0 20px 60px #00000014}.preview-panel{display:none}.preview-panel.active{animation:.3s fadeIn;display:block}.preview-panel-inner{padding:28px}.issues-tabs{gap:4px;display:flex}.issues-tab{color:var(--muted);cursor:pointer;border-radius:7px;align-items:center;gap:7px;padding:7px 14px;font-size:14px;font-weight:500;transition:all .15s;display:flex}.issues-tab:hover{color:var(--ink);background:var(--bg-hover)}.issues-tab.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.issues-tab-count{color:var(--accent);border-radius:var(--radius-full);background:#6366f126;padding:1px 7px;font-size:12px;font-weight:600}.copy-btn{color:var(--muted);border:1px solid var(--rule);background:0 0;border-radius:6px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.copy-btn:hover{color:var(--ink);background:var(--bg-hover);border-color:var(--muted-2)}.copy-btn svg{width:12px;height:12px}.difficulty-bar{justify-content:center;gap:3px;margin-bottom:4px;display:flex}.difficulty-star{width:14px;height:14px;color:var(--yellow)}.difficulty-star.empty{color:var(--rule)}.checklist{background:var(--bg-soft);border-radius:7px;padding:10px 14px}.checklist-item{color:var(--ink-2);align-items:flex-start;gap:10px;padding:6px 0;font-size:13px;display:flex}.checklist-item input{width:15px;height:15px;accent-color:var(--green);margin-top:3px}.review-suggestions{flex-direction:column;gap:10px;display:flex}.suggestion-card{background:var(--bg-soft);border:1px solid #0000;border-radius:8px;gap:12px;padding:12px;transition:border-color .15s;display:flex}.suggestion-card:hover{border-color:var(--accent)}.suggestion-icon{border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.suggestion-icon.tip{background:var(--green-soft);color:var(--green)}.suggestion-icon.warning{background:var(--yellow-soft);color:var(--yellow)}.suggestion-icon.danger{background:var(--red-soft);color:var(--red)}.suggestion-icon svg{width:14px;height:14px}.suggestion-title{margin-bottom:4px;font-size:13px;font-weight:600}.suggestion-desc{color:var(--muted);font-size:12px;line-height:1.5}.next-step-card{border-radius:var(--radius-md);background:linear-gradient(135deg,#6366f11a 0%,#8b5cf61a 50%,#a855f71a 100%);border:1px solid #6366f140;justify-content:space-between;align-items:center;gap:24px;margin-top:24px;padding:24px 28px;display:flex;position:relative;overflow:hidden}.next-step-card:before{content:"";background:var(--gradient);height:2px;position:absolute;top:0;left:0;right:0}.next-step-content{flex:1}.next-step-badge{color:var(--accent);background:#6366f133;border-radius:999px;margin-bottom:8px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.next-step-title{color:var(--text-primary);margin-bottom:4px;font-size:17px;font-weight:700}.next-step-desc{color:var(--text-secondary);font-size:13px}.next-step-btn{background:var(--gradient);color:#fff;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:8px;padding:12px 22px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex;box-shadow:0 4px 12px #6366f14d}.next-step-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px #6366f166}.next-step-btn:active{transform:translateY(0)}@media (width<=640px){.next-step-card{flex-direction:column;align-items:flex-start;gap:16px}.next-step-btn{justify-content:center;width:100%}}.nav{z-index:100;-webkit-backdrop-filter:blur();background:0 0;border-bottom:1px solid #0000;align-items:center;height:68px;padding:0 40px;transition:all .3s;display:flex;position:fixed;top:0;left:0;right:0}.nav.scrolled{-webkit-backdrop-filter:saturate(180%)blur(20px);background:#fffc;border-bottom:1px solid #e5e7ebcc;height:60px;box-shadow:0 1px 3px #0000000a}.nav-logo{letter-spacing:-.02em;color:var(--ink);align-items:center;gap:10px;font-size:17px;font-weight:700;transition:transform .2s;display:flex}.nav-logo:hover{transform:scale(1.02)}.nav-logo-icon{background:var(--gradient);border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;transition:box-shadow .3s;display:flex;box-shadow:0 4px 14px #6366f159}.nav-logo:hover .nav-logo-icon{box-shadow:0 6px 20px #6366f173}.nav-links{align-items:center;gap:32px;margin-left:48px;display:flex}.nav-link{color:var(--ink-2);font-size:14px;font-weight:500;transition:color .2s;position:relative}.nav-link:after{content:"";background:var(--gradient);border-radius:1px;width:0;height:2px;transition:width .3s;position:absolute;bottom:-4px;left:0}.nav-link:hover{color:var(--accent)}.nav-link:hover:after{width:100%}.nav-right{align-items:center;gap:12px;margin-left:auto;display:flex}.app-layout{min-height:100vh;display:flex}.app-sidebar{width:var(--sidebar-w);background:var(--bg-white);border-right:1px solid var(--rule);z-index:50;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0}.app-sidebar-header{height:var(--header-h);border-bottom:1px solid var(--rule);align-items:center;gap:10px;padding:0 20px;display:flex}.app-sidebar-logo{background:var(--gradient);border-radius:7px;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.app-sidebar-title{letter-spacing:-.01em;font-size:15px;font-weight:700}.app-sidebar-nav{flex:1;padding:16px 12px;overflow-y:auto}.nav-group{margin-bottom:24px}.nav-group-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted-2);padding:0 12px 8px;font-size:11px;font-weight:600}.nav-link-item{color:var(--ink-2);cursor:pointer;border-radius:7px;align-items:center;gap:11px;margin-bottom:2px;padding:8px 12px;font-size:14px;font-weight:500;transition:all .15s;display:flex}.nav-link-item:hover{background:var(--bg-hover);color:var(--ink)}.nav-link-item.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.nav-link-item svg{flex-shrink:0;width:18px;height:18px}.app-sidebar-footer{border-top:1px solid var(--rule);padding:12px}.user-card{cursor:pointer;border-radius:8px;align-items:center;gap:11px;padding:8px 10px;transition:background .15s;display:flex}.user-card:hover{background:var(--bg-hover)}.user-avatar{background:var(--gradient);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;font-weight:600;display:flex}.user-info{flex:1;min-width:0}.user-name{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.user-role{color:var(--muted);font-size:12px}.app-main{margin-left:var(--sidebar-w);flex:1;min-width:0}.app-header{height:var(--header-h);background:var(--bg-white);border-bottom:1px solid var(--rule);z-index:40;align-items:center;gap:20px;padding:0 28px;display:flex;position:sticky;top:0}.app-header-left{flex:1;align-items:center;gap:14px;display:flex}.breadcrumbs{color:var(--muted);align-items:center;gap:8px;font-size:14px;display:flex}.breadcrumbs a{color:var(--muted)}.breadcrumbs a:hover{color:var(--accent)}.breadcrumbs .current{color:var(--ink);font-weight:600}.breadcrumbs svg{width:14px;height:14px;color:var(--muted-2)}.app-header-right{align-items:center;gap:8px;display:flex}.app-content{padding:28px}.app-page{display:none}.app-page.active{animation:.3s pageIn;display:block}.hero{text-align:center;background:var(--bg-white);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:100px 40px 60px;display:flex;position:relative;overflow:hidden}.hero-bg{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.hero-blob{filter:blur(90px);opacity:.45;border-radius:50%;animation:8s ease-in-out infinite blobFloat;position:absolute}.hero-blob-1{background:#6366f1;width:450px;height:450px;animation-delay:0s;top:5%;left:8%}.hero-blob-2{background:#a855f7;width:380px;height:380px;animation-delay:-3s;top:15%;right:10%}.hero-blob-3{background:#8b5cf6;width:340px;height:340px;animation-delay:-5s;bottom:15%;left:35%}.hero-content{z-index:1;max-width:820px;position:relative}.hero-badge{background:var(--accent-soft);color:var(--accent);border-radius:var(--radius-full);opacity:0;border:1px solid #6366f133;align-items:center;gap:8px;margin-bottom:32px;padding:7px 16px 7px 10px;font-size:13px;font-weight:500;animation:.7s cubic-bezier(.4,0,.2,1) .1s forwards heroFadeIn;display:inline-flex;position:relative;transform:translateY(20px)}.hero-badge-dot{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:2s infinite pulse}.hero h1{letter-spacing:-.03em;opacity:0;margin-bottom:28px;font-size:clamp(44px,7vw,72px);font-weight:800;line-height:1.08;animation:.7s cubic-bezier(.4,0,.2,1) .25s forwards heroFadeIn;position:relative;transform:translateY(24px)}.hero p.hero-desc{color:var(--muted);opacity:0;max-width:680px;margin:0 auto 44px;font-size:clamp(16px,2vw,20px);line-height:1.6;animation:.7s cubic-bezier(.4,0,.2,1) .4s forwards heroFadeIn;position:relative;transform:translateY(24px)}.hero-cta{opacity:0;flex-wrap:wrap;justify-content:center;gap:14px;animation:.7s cubic-bezier(.4,0,.2,1) .55s forwards heroFadeIn;display:flex;position:relative;transform:translateY(24px)}.hero-cta-main{position:relative;overflow:hidden;gap:10px!important;padding:16px 32px!important;font-size:17px!important}.hero-cta-main:before{content:"";background:linear-gradient(90deg,#0000,#ffffff40,#0000);width:100%;height:100%;animation:2.5s infinite shimmer;position:absolute;top:0;left:-100%}.hero-cta-main-icon{filter:drop-shadow(0 0 8px #ffffff80);font-size:18px}.hero-cta-secondary{opacity:0;justify-content:center;align-items:center;gap:12px;margin-top:14px;animation:.6s cubic-bezier(.4,0,.2,1) .7s forwards heroFadeIn;display:flex;transform:translateY(16px)}.hero-cta-secondary .btn-ghost{color:#ffffffbf;cursor:pointer;background:0 0;border:none;padding:6px 4px;font-size:14px;font-weight:500;transition:color .2s}.hero-cta-secondary .btn-ghost:hover{color:#fff}.hero-cta-divider{color:#ffffff4d;font-size:12px}.hero-preview{opacity:0;width:100%;max-width:1100px;margin:70px auto 0;animation:.9s cubic-bezier(.4,0,.2,1) .75s forwards heroFadeIn;position:relative;transform:translateY(30px)}.hero-preview-frame{background:var(--bg-white);border:1px solid var(--rule);border-radius:18px;position:relative;overflow:hidden;box-shadow:0 40px 100px #6366f12e,0 20px 50px #00000014}.hero-preview-frame:before{content:"";background:var(--gradient);-webkit-mask-composite:xor;opacity:.3;pointer-events:none;border-radius:18px;padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.hero-preview-header{border-bottom:1px solid var(--rule);background:#f8fafc;align-items:center;gap:8px;height:40px;padding:0 18px;display:flex}.hero-preview-dot{border-radius:50%;width:12px;height:12px}.hero-preview-dot.red{background:#ff5f57}.hero-preview-dot.yellow{background:#febc2e}.hero-preview-dot.green{background:#28c840}.hero-preview-url{border:1px solid var(--rule);height:22px;color:var(--muted);background:#fff;border-radius:6px;flex:1;justify-content:center;align-items:center;margin:0 12px;font-size:11px;display:flex}.hero-preview-body{grid-template-columns:220px 1fr;gap:24px;min-height:340px;padding:28px;display:grid}.mock-sidebar{flex-direction:column;gap:6px;display:flex}.mock-sidebar-item{background:var(--bg-soft);border-radius:7px;height:34px;position:relative;overflow:hidden}.mock-sidebar-item:after{content:"";background:linear-gradient(90deg,#0000,#6366f114,#0000);width:100%;height:100%;animation:2.5s infinite shimmer;position:absolute;top:0;left:-100%}.mock-sidebar-item.active{background:var(--accent-soft)}.mock-sidebar-item.active:after{background:linear-gradient(90deg,#0000,#6366f126,#0000)}.mock-main{flex-direction:column;gap:16px;display:flex}.mock-card{background:var(--bg-soft);border-radius:10px;height:76px;position:relative;overflow:hidden}.mock-card:after{content:"";background:linear-gradient(90deg,#0000,#6366f10f,#0000);width:100%;height:100%;animation:3s infinite shimmer;position:absolute;top:0;left:-100%}.mock-card.tall{height:150px}.mock-row{grid-template-columns:1fr 1fr 1fr;gap:12px;display:grid}.mock-stat{background:var(--bg-soft);border-radius:10px;height:68px;position:relative;overflow:hidden}.mock-stat:after{content:"";background:linear-gradient(90deg,#0000,#6366f114,#0000);width:100%;height:100%;animation:2.8s .3s infinite shimmer;position:absolute;top:0;left:-100%}.section{background:var(--bg-white);padding:120px 40px;position:relative}.section.alt{background:var(--bg-soft)}.section-header{text-align:center;max-width:720px;margin:0 auto 64px}.section-tag{background:var(--accent-soft);color:var(--accent);border-radius:var(--radius-full);margin-bottom:16px;padding:6px 16px;font-size:13px;font-weight:600;display:inline-block}.section h2{letter-spacing:-.02em;margin-bottom:16px;font-size:clamp(32px,4.5vw,48px);font-weight:700}.section-desc{color:var(--muted);font-size:17px;line-height:1.6}.why-section{background:var(--bg-white)}.pain-grid{grid-template-columns:repeat(2,1fr);gap:24px;max-width:960px;margin:0 auto;display:grid}.pain-card{background:var(--bg-white);border:1px solid var(--rule);border-radius:var(--radius-lg);padding:36px 32px;transition:all .35s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.pain-card:before{content:"";opacity:0;background:linear-gradient(90deg,#ef4444,#f97316);height:3px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.pain-card:hover{border-color:#ef444433;transform:translateY(-6px);box-shadow:0 16px 48px #ef44441a}.pain-card:hover:before{opacity:1}.pain-icon{border-radius:var(--radius-md);color:#ef4444;background:linear-gradient(135deg,#ef44441f 0%,#f973161f 100%);justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:20px;display:flex}.pain-icon svg{width:26px;height:26px}.pain-card h3{margin-bottom:10px;font-size:18px;font-weight:600}.pain-card p{color:var(--muted);font-size:14px;line-height:1.7}.features-grid{grid-template-columns:repeat(3,1fr);gap:24px;max-width:1200px;margin:0 auto;display:grid}.feature-card{background:var(--bg-white);border:1px solid var(--rule);border-radius:var(--radius-lg);padding:36px 30px;transition:all .35s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.feature-card:before{content:"";background:var(--gradient);opacity:0;height:3px;transition:opacity .35s;position:absolute;top:0;left:0;right:0}.feature-card:hover{border-color:#0000;transform:translateY(-6px);box-shadow:0 20px 50px #6366f126}.feature-card:hover:before{opacity:1}.feature-icon{background:var(--gradient);color:#fff;border-radius:14px;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:22px;display:flex;position:relative;box-shadow:0 6px 20px #6366f14d}.feature-icon svg{width:28px;height:28px}.feature-card h3{margin-bottom:12px;font-size:18px;font-weight:600}.feature-card p{color:var(--muted);font-size:14px;line-height:1.7}.workflow-steps{align-items:flex-start;max-width:1100px;margin:0 auto;padding:40px 0;display:flex;position:relative}.workflow-step{text-align:center;flex:1;padding:0 12px;transition:transform .3s;position:relative}.workflow-step:hover{transform:scale(1.05)}.workflow-step-num{background:var(--gradient);color:#fff;z-index:2;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 20px;font-size:20px;font-weight:700;transition:all .3s;display:flex;position:relative;box-shadow:0 6px 20px #6366f159}.workflow-step:hover .workflow-step-num{transform:scale(1.1);box-shadow:0 10px 30px #6366f180}.workflow-step h3{margin-bottom:8px;font-size:16px;font-weight:600}.workflow-step p{color:var(--muted);font-size:13px;line-height:1.5}.workflow-connector{z-index:1;flex:0 0 60px;justify-content:center;align-items:center;padding-top:28px;display:flex;position:relative}.workflow-connector svg{width:100%;color:var(--rule)}.cta-section{text-align:center;background:var(--bg-white);padding:120px 40px;position:relative;overflow:hidden}.cta-box{background:var(--gradient);color:#fff;border-radius:28px;max-width:900px;margin:0 auto;padding:80px 60px;position:relative;overflow:hidden;box-shadow:0 30px 80px #6366f159}.cta-box:before{content:"";background:#ffffff1f;border-radius:50%;width:280px;height:280px;animation:6s ease-in-out infinite ctaFloat;position:absolute;top:-80px;right:-60px}.cta-box:after{content:"";background:#ffffff14;border-radius:50%;width:320px;height:320px;animation:8s ease-in-out infinite reverse ctaFloat;position:absolute;bottom:-100px;left:-40px}.cta-circle{pointer-events:none;background:#ffffff0f;border-radius:50%;position:absolute}.cta-circle-1{width:60px;height:60px;animation:5s ease-in-out infinite ctaFloat;top:20%;left:15%}.cta-circle-2{width:40px;height:40px;animation:7s ease-in-out 1s infinite ctaFloat;top:60%;right:12%}.cta-box h2{letter-spacing:-.02em;margin-bottom:18px;font-size:clamp(28px,4vw,44px);font-weight:700;position:relative}.cta-box p{opacity:.92;margin-bottom:36px;font-size:18px;position:relative}.cta-box .btn-primary{color:var(--accent);background:#fff;padding:16px 36px;font-size:16px;font-weight:700;position:relative;box-shadow:0 12px 30px #0003}.cta-box .btn-primary:hover{transform:translateY(-3px);box-shadow:0 16px 40px #00000040}.footer{background:var(--bg-white);border-top:1px solid var(--rule);padding:60px 40px 28px}.footer-inner{max-width:1200px;margin:0 auto}.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px;display:grid}.footer-brand{flex-direction:column;gap:12px;display:flex}.footer-brand .nav-logo{margin-bottom:4px}.footer-brand p{color:var(--muted);max-width:300px;margin-top:4px;font-size:14px;line-height:1.7}.footer-col h4{color:var(--ink);letter-spacing:.02em;margin-bottom:18px;font-size:13px;font-weight:600}.footer-col ul{list-style:none}.footer-col li{margin-bottom:10px}.footer-col a{color:var(--muted);font-size:14px;transition:color .2s}.footer-col a:hover{color:var(--accent)}.footer-bottom{border-top:1px solid var(--rule);color:var(--muted);justify-content:space-between;align-items:center;padding-top:28px;font-size:13px;display:flex}.footer-social{gap:10px;display:flex}.footer-social a{background:var(--bg-soft);width:32px;height:32px;color:var(--muted);border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.footer-social a:hover{background:var(--accent-soft);color:var(--accent)}.footer-social svg{width:16px;height:16px}.page-header{margin-bottom:24px}.page-title-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.page-title{letter-spacing:-.02em;margin-bottom:4px;font-size:22px;font-weight:700}.page-subtitle{color:var(--muted);font-size:14px}.repo-pill{background:var(--bg-soft);border-radius:var(--radius-full);color:var(--ink-2);align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex}.repo-pill svg{width:16px;height:16px;color:var(--accent)}.onboarding-card{background:linear-gradient(135deg,#6366f114 0%,#8b5cf614 100%);border:1px solid #6366f133;border-radius:16px;margin-bottom:24px;padding:24px 28px;animation:.4s slideDown;position:relative}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.onboarding-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.onboarding-title{color:var(--ink);align-items:center;gap:8px;font-size:18px;font-weight:700;display:flex}.onboarding-title svg{width:22px;height:22px;color:var(--accent)}.onboarding-close{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.onboarding-close:hover{color:var(--ink);background:var(--surface-2)}.onboarding-close svg{width:18px;height:18px}.onboarding-desc{color:var(--muted);margin:0 0 16px;font-size:14px}.onboarding-steps{align-items:stretch;gap:8px;margin-bottom:16px;display:flex}.onboarding-step{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex:1;align-items:center;gap:10px;padding:12px 14px;transition:all .2s;display:flex}.onboarding-step.active{border-color:var(--accent);background:#6366f10f}.onboarding-step .step-number{background:var(--muted-2);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:flex}.onboarding-step.active .step-number{background:linear-gradient(135deg, var(--accent), var(--accent-2))}.onboarding-step .step-info{flex-direction:column;gap:2px;min-width:0;display:flex}.onboarding-step .step-title{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.onboarding-step .step-desc{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.step-arrow{color:var(--muted);flex-shrink:0;align-items:center;font-size:14px;font-weight:600;display:flex}.onboarding-tip{background:var(--surface);color:var(--muted);border-radius:8px;align-items:flex-start;gap:8px;padding:10px 14px;font-size:13px;display:flex}.onboarding-tip svg{width:16px;height:16px;color:var(--accent);flex-shrink:0;margin-top:1px}.onboarding-tip strong{color:var(--ink);font-weight:600}.stat-row{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.activity-list{flex-direction:column;display:flex}.generator-grid{grid-template-columns:380px 1fr;align-items:start;gap:24px;display:grid}.commit-summary-card .card-body{padding:24px 20px}.dashboard-header{justify-content:space-between;align-items:flex-start;margin-bottom:28px;display:flex}.dashboard-title h1{letter-spacing:-.02em;margin-bottom:4px;font-size:24px;font-weight:700}.dashboard-title p{color:var(--muted);font-size:14px}.dashboard-actions{gap:10px;display:flex}.stats-row{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.stat-card{background:var(--bg-white);border:1px solid var(--rule);border-radius:var(--radius-md);padding:20px;transition:all .2s}.stat-card:hover{border-color:#0000;box-shadow:0 8px 24px #0000000f}.stat-label{color:var(--muted);align-items:center;gap:8px;margin-bottom:10px;font-size:13px;display:flex}.stat-label-icon{border-radius:7px;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.stat-label-icon.purple{background:var(--accent-soft);color:var(--accent)}.stat-label-icon.green{background:var(--green-soft);color:var(--green)}.stat-label-icon.yellow{background:var(--yellow-soft);color:var(--yellow)}.stat-label-icon.blue{background:var(--blue-soft);color:var(--blue)}.stat-label-icon svg{width:14px;height:14px}.stat-value{letter-spacing:-.02em;margin-bottom:4px;font-size:28px;font-weight:700}.stat-change{color:var(--green);font-size:12px;font-weight:500}.stat-change.down{color:var(--red)}.analysis-grid{grid-template-columns:340px 1fr;gap:20px;margin-bottom:24px;display:grid}.repo-info-header{align-items:center;gap:14px;margin-bottom:16px;display:flex}.repo-icon{background:var(--bg-soft);width:48px;height:48px;color:var(--muted);border-radius:10px;justify-content:center;align-items:center;display:flex}.repo-icon svg{width:24px;height:24px}.repo-name{font-size:17px;font-weight:700}.repo-owner{color:var(--muted);align-items:center;gap:5px;font-size:13px;display:flex}.repo-owner svg{width:12px;height:12px}.repo-stats{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.repo-stat-row{background:var(--bg-soft);border-radius:7px;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.repo-stat-label{color:var(--muted);align-items:center;gap:7px;font-size:13px;display:flex}.repo-stat-label svg{width:14px;height:14px}.repo-stat-value{font-size:13px;font-weight:600}.analyze-btn{background:var(--gradient);color:#fff;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;padding:10px;font-size:14px;font-weight:600;transition:all .2s;display:flex;box-shadow:0 4px 12px #6366f140}.analyze-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #6366f159}.analyze-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.ai-content{display:none}.ai-content.active{animation:.4s fadeSlideUp;display:block}.ai-summary-text{color:var(--ink-2);background:var(--accent-soft);border-left:3px solid var(--accent);border-radius:0 8px 8px 0;margin-bottom:20px;padding:14px;font-size:14px;line-height:1.7}.ai-summary-text strong{color:var(--accent)}.ai-metrics-row{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px;display:grid}.ai-metric{text-align:center;background:var(--bg-soft);border-radius:8px;padding:14px 10px}.ai-metric-label{color:var(--muted);margin-bottom:6px;font-size:12px}.ai-metric-value{font-size:16px;font-weight:700}.suggested-issues-list{flex-direction:column;gap:8px;display:flex}.suggested-issue{background:var(--bg-soft);cursor:pointer;border-radius:7px;align-items:center;gap:10px;padding:10px 12px;transition:all .15s;display:flex}.suggested-issue:hover{background:var(--accent-soft)}.suggested-issue-icon{width:18px;height:18px;color:var(--green);flex-shrink:0}.suggested-issue-text{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.activity-card .card-body{padding:0}.activity-item{border-bottom:1px solid var(--rule-soft);gap:14px;padding:16px 20px;transition:background .15s;display:flex}.activity-item:last-child{border-bottom:none}.activity-item:hover{background:var(--bg-hover)}.activity-icon{border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.activity-icon.success{background:var(--green-soft);color:var(--green)}.activity-icon.info{background:var(--blue-soft);color:var(--blue)}.activity-icon.warning{background:var(--yellow-soft);color:var(--yellow)}.activity-icon.purple{background:var(--accent-soft);color:var(--accent)}.activity-icon svg{width:16px;height:16px}.activity-content{flex:1;min-width:0}.activity-title{color:var(--ink);margin-bottom:3px;font-size:14px;font-weight:500}.activity-desc{color:var(--muted);font-size:13px}.activity-time{color:var(--muted-2);flex-shrink:0;font-size:12px}.issues-toolbar{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.issues-filters{gap:8px;display:flex}.issues-list{background:var(--bg-white);border:1px solid var(--rule);border-radius:var(--radius-md);overflow:hidden}.issues-list-header{background:var(--bg-soft);border-bottom:1px solid var(--rule);color:var(--muted);align-items:center;gap:16px;padding:12px 16px;font-size:13px;display:flex}.issue-row{border-bottom:1px solid var(--rule-soft);cursor:pointer;align-items:center;gap:14px;padding:14px 16px;transition:background .15s;display:flex}.issue-row:last-child{border-bottom:none}.issue-row:hover{background:var(--bg-soft)}.issue-open-icon{width:20px;height:20px;color:var(--green);flex-shrink:0}.issue-main{flex:1;min-width:0}.issue-title-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.issue-title{color:var(--ink);font-size:15px;font-weight:600}.issue-labels{flex-wrap:wrap;gap:5px;display:flex}.issue-meta{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.issue-meta a{color:var(--muted)}.issue-meta a:hover{color:var(--accent)}.issue-ai-info{flex-shrink:0;align-items:center;gap:14px;display:flex}.ai-confidence{text-align:center}.confidence-score{background:var(--gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:18px;font-weight:700;line-height:1.1;display:block}.confidence-label{color:var(--muted);font-size:11px}.ai-tags{flex-direction:column;gap:5px;display:flex}.explain-btn{background:var(--accent-soft);color:var(--accent);border-radius:7px;flex-shrink:0;align-items:center;gap:5px;padding:7px 12px;font-size:12px;font-weight:600;transition:all .15s;display:flex}.explain-btn:hover{background:var(--accent);color:#fff}.explain-btn svg{width:14px;height:14px}.pr-generator-grid{grid-template-columns:380px 1fr;align-items:start;gap:24px;display:grid}.type-selector{flex-direction:column;gap:8px;display:flex}.type-option{border:1px solid var(--rule);cursor:pointer;background:var(--bg-white);border-radius:8px;align-items:center;gap:12px;padding:12px 14px;transition:all .15s;display:flex}.type-option:hover{border-color:var(--accent);background:var(--accent-soft)}.type-option.selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px #6366f11a}.type-radio{border:2px solid var(--rule);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;transition:all .15s;display:flex}.type-option.selected .type-radio{border-color:var(--accent)}.type-radio-inner{background:var(--accent);border-radius:50%;width:8px;height:8px;transition:transform .15s;transform:scale(0)}.type-option.selected .type-radio-inner{transform:scale(1)}.type-icon-badge{border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.type-icon-badge.bug{background:var(--red-soft);color:var(--red)}.type-icon-badge.feature{background:var(--green-soft);color:var(--green)}.type-icon-badge.docs{background:var(--yellow-soft);color:var(--yellow)}.type-icon-badge svg{width:16px;height:16px}.type-info{flex:1;min-width:0}.type-name{margin-bottom:2px;font-size:14px;font-weight:600}.type-desc{color:var(--muted);font-size:12px}.pr-result-empty{text-align:center;color:var(--muted);padding:60px 20px}.pr-result-empty-icon{background:var(--accent-soft);width:64px;height:64px;color:var(--accent);border-radius:16px;justify-content:center;align-items:center;margin:0 auto 16px;display:flex}.pr-result-empty-icon svg{width:32px;height:32px}.pr-result-empty-title{color:var(--ink);margin-bottom:6px;font-size:16px;font-weight:600}.pr-result-content{display:none}.pr-result-content.active{animation:.3s fadeSlideUp;display:block}.result-section{border-bottom:1px solid var(--rule-soft);padding:20px}.result-section:last-child{border-bottom:none}.result-section-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.result-section-title{align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.result-section-title svg{width:16px;height:16px;color:var(--accent)}.pr-title-display{background:var(--bg-soft);border-radius:7px;padding:12px 14px;font-family:ui-monospace,Consolas,monospace;font-size:16px;font-weight:600;line-height:1.5}.pr-description{background:var(--bg-soft);color:var(--ink-2);border-radius:7px;padding:16px;font-size:14px;line-height:1.65}.pr-description h4{color:var(--ink);margin-top:16px;margin-bottom:8px;font-size:14px;font-weight:600}.pr-description h4:first-child{margin-top:0}.pr-description ul{margin-top:6px;padding-left:20px}.pr-description li{margin-bottom:4px}.pr-description code{background:#0000000f;border-radius:4px;padding:2px 6px;font-family:ui-monospace,Consolas,monospace;font-size:12px}.roadmap-header{text-align:center;margin-bottom:40px}.roadmap-header h1{letter-spacing:-.02em;background:var(--gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:10px;font-size:32px;font-weight:700}.roadmap-header p{color:var(--muted);font-size:16px}.progress-overview{background:var(--bg-white);border:1px solid var(--rule);border-radius:var(--radius-lg);align-items:center;gap:28px;max-width:900px;margin-bottom:48px;margin-left:auto;margin-right:auto;padding:28px 32px;display:flex}.progress-circle-wrap{flex-shrink:0;width:84px;height:84px;position:relative}.progress-circle-wrap svg{width:100%;height:100%;transform:rotate(-90deg)}.progress-circle-bg{fill:none;stroke:var(--rule);stroke-width:6px}.progress-circle-fill{fill:none;stroke:url(#roadmapGradient);stroke-width:6px;stroke-linecap:round;stroke-dasharray:220;stroke-dashoffset:220px;transition:stroke-dashoffset 1.5s cubic-bezier(.4,0,.2,1)}.progress-circle-text{font-size:18px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.progress-info{flex:1}.progress-info h3{margin-bottom:6px;font-size:18px;font-weight:600}.progress-info p{color:var(--muted);margin-bottom:14px;font-size:14px}.progress-stats{gap:24px;display:flex}.progress-stat{color:var(--ink-2);align-items:center;gap:6px;font-size:13px;display:flex}.progress-stat-dot{background:var(--green);border-radius:50%;width:8px;height:8px}.progress-stat-dot.pending{background:var(--rule)}.progress-stat-dot.current{background:var(--accent)}.roadmap-timeline-wrapper{max-width:900px;margin:0 auto}.timeline{padding-top:20px;position:relative;overflow-x:hidden}.timeline-line{background:var(--rule);border-radius:2px;width:4px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.timeline-line-fill{background:var(--gradient);border-radius:2px;width:100%;height:0%;transition:height 1s cubic-bezier(.4,0,.2,1);position:absolute;top:0;left:0}.timeline-item{margin-bottom:36px;display:flex;position:relative}.timeline-item:last-child{margin-bottom:0}.timeline-side{box-sizing:border-box;width:50%;min-width:0;padding:0 40px}.timeline-side.left{text-align:right}.timeline-side.right{text-align:left}.timeline-node{background:var(--bg-white);border:4px solid var(--rule);z-index:10;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:all .5s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:22px;left:50%;transform:translate(-50%)}.timeline-node svg{width:18px;height:18px;color:var(--muted-2);transition:all .5s}.timeline-item.completed .timeline-node{border-color:var(--green);background:var(--green);box-shadow:0 0 0 8px var(--green-soft), 0 4px 16px #10b9814d;animation:.6s cubic-bezier(.34,1.56,.64,1) nodePop}.timeline-item.completed .timeline-node svg{color:#fff}.timeline-item.current .timeline-node{border-color:var(--accent);background:var(--bg-white);box-shadow:0 0 0 8px var(--accent-soft);animation:2s infinite nodePulse}.timeline-item.current .timeline-node svg{color:var(--accent)}.timeline-card{background:var(--bg-white);border:1px solid var(--rule);border-radius:var(--radius-md);opacity:.55;box-sizing:border-box;overflow-wrap:break-word;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;padding:20px 22px;transition:all .5s cubic-bezier(.4,0,.2,1);transform:translateY(8px)}.timeline-item.completed .timeline-card,.timeline-item.current .timeline-card{opacity:1;transform:translateY(0)}.timeline-item.completed .timeline-card{border-color:#10b9814d;box-shadow:0 4px 12px #10b98114}.timeline-item.current .timeline-card{border-color:#6366f166;box-shadow:0 4px 16px #6366f11f}.timeline-item.completed .card-day-badge{background:var(--green-soft);color:var(--green)}.timeline-item.current .card-day-badge{background:var(--accent-soft);color:var(--accent)}.timeline-card h3{letter-spacing:-.01em;overflow-wrap:break-word;word-break:break-word;margin-bottom:8px;font-size:17px;font-weight:700}.timeline-card p{color:var(--muted);overflow-wrap:break-word;word-break:break-word;margin-bottom:12px;font-size:13px;line-height:1.6}.card-tasks{list-style:none}.card-task{color:var(--ink-2);overflow-wrap:break-word;word-break:break-word;align-items:flex-start;gap:9px;min-width:0;padding:4px 0;font-size:13px;display:flex}.card-task span:last-child,.card-task-text{flex:1;min-width:0}.card-task-icon{border:2px solid var(--rule);box-sizing:border-box;aspect-ratio:1;border-radius:50%;flex-grow:0;flex-shrink:0;justify-content:center;align-items:center;width:18px;min-width:18px;height:18px;min-height:18px;margin-top:2px;transition:all .3s;display:flex}.card-task-icon svg{opacity:0;flex-shrink:0;width:10px;height:10px;transition:opacity .3s}.timeline-item.completed .card-task-icon{border-color:var(--green);background:var(--green)}.timeline-item.completed .card-task-icon svg{opacity:1;color:#fff}.card-footer{border-top:1px solid var(--rule-soft);justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;display:flex}.card-duration{color:var(--muted);align-items:center;gap:4px;font-size:12px;display:flex}.card-duration svg{width:12px;height:12px}.card-link{color:var(--accent);opacity:0;align-items:center;gap:4px;font-size:12px;font-weight:600;transition:opacity .3s;display:flex}.timeline-item.current .card-link,.timeline-item.completed .card-link{opacity:1}.card-link svg{width:12px;height:12px}.roadmap-controls{justify-content:center;gap:12px;margin-top:48px;display:flex}.card-difficulty{border-radius:999px;margin-bottom:10px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-block}.card-difficulty.difficulty-easy{background:var(--green-soft);color:var(--green)}.card-difficulty.difficulty-medium{background:var(--accent-soft);color:var(--accent)}.card-difficulty.difficulty-hard{color:#ef4444;background:#ef44441a}.card-task.completed{color:var(--muted);text-decoration:line-through}.card-task.completed .card-task-icon{border-color:var(--green);background:var(--green)}.card-task.completed .card-task-icon svg{opacity:1;color:#fff}.user-level-selector{flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px;display:flex}.user-level-label{color:var(--muted);font-size:13px;font-weight:500}.user-level-options{gap:8px;display:flex}.user-level-option{border:1px solid var(--rule);background:var(--bg-white);color:var(--ink-2);cursor:pointer;border-radius:999px;padding:6px 16px;font-size:13px;font-weight:500;transition:all .2s}.user-level-option:hover{border-color:var(--accent);color:var(--accent)}.user-level-option.active{background:var(--accent);border-color:var(--accent);color:#fff}.user-level-option.disabled,.user-level-option:disabled{opacity:.5;cursor:not-allowed}.roadmap-error{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:80px 20px;display:flex}.roadmap-error-icon{color:#ef4444;background:#ef44441a;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:8px;display:flex}.roadmap-error-icon svg{width:32px;height:32px}.roadmap-error h3{color:var(--ink-1);font-size:20px;font-weight:700}.roadmap-error p{color:var(--muted);max-width:400px;font-size:14px;line-height:1.6}.code-review-page{flex-direction:column;gap:20px;padding-bottom:80px;display:flex}.code-review-page .code-review__issue-context{z-index:10;background:var(--bg);margin-top:-4px;padding-top:4px;position:sticky;top:0}.code-review-page .code-review__progress,.code-review-page .code-review__result{margin-top:4px}.code-review-page .code-review__error{justify-content:center;padding:60px 20px;display:flex}.code-review-page .error-state{text-align:center;max-width:400px}.code-review-page .error-state__icon{margin-bottom:16px;font-size:48px}.code-review-page .error-state h3{color:var(--ink);margin-bottom:8px;font-size:18px;font-weight:600}.code-review-page .error-state p{color:var(--muted);margin-bottom:20px;font-size:14px}.code-review-page .error-state .btn{min-width:120px}.code-review-page .code-review__empty{justify-content:center;padding:60px 20px;display:flex}.code-review-page .empty-state{text-align:center;max-width:460px}.code-review-page .empty-state__icon{width:64px;height:64px;color:var(--muted);opacity:.6;margin:0 auto 20px}.code-review-page .empty-state__icon svg{width:100%;height:100%}.code-review-page .empty-state h2{color:var(--ink);margin-bottom:12px;font-size:20px;font-weight:600}.code-review-page .empty-state p{color:var(--muted);margin:0 0 8px;font-size:14px;line-height:1.7}.code-review-page .empty-state .btn{min-width:140px;margin-top:24px}.code-review-page .empty-desc{color:var(--muted);margin:0 0 8px;font-size:14px;line-height:1.7}.quick-issues-loading{color:var(--muted);justify-content:center;align-items:center;gap:10px;margin:20px 0;padding:24px;font-size:14px;display:flex}.quick-issues-loading .loading-spinner{border:2px solid var(--muted-2);border-top-color:var(--accent);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}.quick-issues{text-align:left;margin:24px 0 8px}.quick-issues-title{color:var(--accent);align-items:center;gap:6px;margin-bottom:12px;padding-left:4px;font-size:13px;font-weight:600;display:flex}.quick-issues-title svg{width:16px;height:16px}.quick-issues-list{flex-direction:column;gap:10px;display:flex}.quick-issue-card{background:var(--surface);border:1px solid var(--border);cursor:pointer;text-align:left;border-radius:10px;padding:14px 16px;transition:all .2s}.quick-issue-card:hover{border-color:var(--accent);background:var(--surface-2);transform:translateY(-1px);box-shadow:0 4px 12px #6366f11a}.quick-issue-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.quick-issue-number{color:var(--muted);font-size:12px;font-weight:600;font-family:var(--font-mono,monospace)}.quick-issue-difficulty{border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600}.quick-issue-difficulty.difficulty-easy{color:#22c55e;background:#22c55e1a}.quick-issue-difficulty.difficulty-medium{color:#eab308;background:#eab3081a}.quick-issue-difficulty.difficulty-hard{color:#ef4444;background:#ef44441a}.quick-issue-title{color:var(--ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:8px;font-size:14px;font-weight:500;line-height:1.5;display:-webkit-box;overflow:hidden}.quick-issue-meta{color:var(--muted);justify-content:space-between;align-items:center;font-size:12px;display:flex}.quick-issue-meta>span:first-child{align-items:center;gap:4px;display:flex}.quick-issue-meta svg{width:12px;height:12px}.quick-issue-score{color:var(--accent);font-weight:600}.code-review-page .code-review__submit{margin-top:4px}.code-review-page .submit-card{padding:32px}.code-review-page .submit-card__header{text-align:center;margin-bottom:28px}.code-review-page .submit-card__title{color:var(--ink);justify-content:center;align-items:center;gap:10px;margin-bottom:8px;font-size:20px;font-weight:600;display:flex}.code-review-page .submit-card__title svg{width:24px;height:24px;color:var(--accent)}.code-review-page .submit-card__subtitle{color:var(--muted);font-size:14px}.code-review-page .submit-modes{background:var(--bg-soft);border-radius:var(--radius-md);gap:8px;margin-bottom:24px;padding:4px;display:flex}.code-review-page .submit-modes button{color:var(--muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.code-review-page .submit-modes button:hover{color:var(--ink-1)}.code-review-page .submit-modes button.active{background:var(--bg-white);color:var(--accent);box-shadow:0 1px 3px #00000014}.code-review-page .submit-modes button svg{width:18px;height:18px}.code-review-page .submit-form{margin-bottom:24px}.code-review-page .form-label{color:var(--ink-1);margin-bottom:8px;font-size:14px;font-weight:500;display:block}.code-review-page .form-hint{color:var(--muted);margin-top:4px;font-size:12px;font-weight:400;display:block}.code-review-page .form-input{border:1px solid var(--rule);border-radius:var(--radius-sm);width:100%;color:var(--ink-1);background:var(--bg-white);box-sizing:border-box;padding:12px 14px;font-family:inherit;font-size:14px;transition:border-color .2s,box-shadow .2s}.code-review-page .form-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #6366f11a}.code-review-page .form-textarea{border:1px solid var(--rule);border-radius:var(--radius-sm);width:100%;color:var(--ink-1);background:var(--bg-white);resize:vertical;box-sizing:border-box;padding:12px 14px;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:13px;line-height:1.6;transition:border-color .2s,box-shadow .2s}.code-review-page .form-textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #6366f11a}.code-review-page .form-tip{color:var(--muted);margin-top:8px;font-size:12px}.code-review-page .upload-placeholder{text-align:center;border:2px dashed var(--rule);border-radius:var(--radius-md);background:var(--bg-soft);padding:40px 20px}.code-review-page .upload-placeholder svg{width:40px;height:40px;color:var(--muted);margin-bottom:12px}.code-review-page .upload-placeholder p{color:var(--muted);margin:8px 0;font-size:14px}.code-review-page .upload-placeholder .btn{margin:8px 0}.code-review-page .upload-tip{color:var(--muted-2)!important;font-size:12px!important}.code-review-page .submit-actions{text-align:center;padding-top:8px}.code-review-page .submit-actions .btn{min-width:200px}.code-review-page .submit-disclaimer{color:var(--muted-2);margin-top:12px;margin-bottom:0;font-size:12px}.code-review-page .demo-badge{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;letter-spacing:.5px;border-radius:12px;align-items:center;margin-left:8px;padding:2px 10px;font-size:11px;font-weight:600;display:inline-flex}.code-review-page .demo-notice{border-radius:var(--radius-md);background:linear-gradient(135deg,#6366f114,#8b5cf614);border:1px solid #6366f133;align-items:flex-start;gap:12px;margin-bottom:24px;padding:14px 16px;display:flex}.code-review-page .demo-notice__icon{flex-shrink:0;font-size:20px;line-height:1.4}.code-review-page .demo-notice__content strong{color:var(--accent);margin-bottom:4px;font-size:14px;font-weight:600;display:block}.code-review-page .demo-notice__content p{color:var(--ink-2);margin:0;font-size:13px;line-height:1.6}.code-review-page .submit-modes button.mode-disabled{opacity:.5;cursor:not-allowed;position:relative}.code-review-page .submit-modes button.mode-disabled:hover{color:var(--muted)}.code-review-page .submit-modes button.mode-disabled.active{background:var(--bg-white);color:var(--muted)}.code-review-page .submit-modes .mode-tag{background:var(--muted-2);color:#fff;letter-spacing:.3px;border-radius:4px;margin-left:4px;padding:1px 6px;font-size:10px;font-weight:600}.code-review-page .mode-disabled-content{text-align:center;border:2px dashed var(--rule);border-radius:var(--radius-md);background:var(--bg-soft);padding:48px 20px}.code-review-page .mode-disabled-icon{margin-bottom:16px;font-size:48px}.code-review-page .mode-disabled-content h4{color:var(--ink);margin-bottom:8px;font-size:16px;font-weight:600}.code-review-page .mode-disabled-content p{color:var(--muted);margin:0;font-size:14px;line-height:1.6}@media (width<=1024px){.features-grid{grid-template-columns:repeat(2,1fr)}.pr-generator-grid,.generator-grid,.analysis-grid{grid-template-columns:1fr}.stats-row,.stat-row{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.workflow-steps{flex-direction:column;gap:20px}.workflow-connector{width:48px;height:48px;margin:0 auto;padding-top:0;transform:rotate(90deg)}}@media (width<=768px){.hero{min-height:auto;padding:100px 20px 60px}.hero-blob-1{width:280px;height:280px}.hero-blob-2{width:240px;height:240px}.hero-blob-3{width:220px;height:220px}.hero h1{font-size:36px}.hero p.hero-desc{font-size:16px}.hero-preview{margin-top:50px}.section{padding:60px 20px}.section h2{font-size:28px}.section-desc{font-size:15px}.features-grid,.pain-grid{grid-template-columns:1fr}.workflow-steps{flex-direction:column;align-items:center;gap:8px;padding:20px 0}.workflow-step{width:100%;max-width:320px;padding:16px 0}.workflow-connector{flex:none;width:40px;padding:0;transform:rotate(90deg)}.cta-section{padding:60px 20px}.cta-box{border-radius:20px;padding:48px 28px}.cta-box h2{font-size:26px}.cta-box p{font-size:15px}.footer{padding:40px 20px 20px}.footer-grid{grid-template-columns:1fr 1fr;gap:32px}.footer-brand{grid-column:1/-1}.footer-bottom{text-align:center;flex-direction:column;gap:16px}.hero-preview-body{grid-template-columns:1fr}.mock-sidebar,.nav-links{display:none}.nav{padding:0 20px}.app-sidebar{transition:transform .3s;transform:translate(-100%)}.app-sidebar.open{transform:translate(0)}.app-main{margin-left:0}.app-content{padding:16px}.page-title-row{flex-direction:column}.stat-row{grid-template-columns:repeat(2,1fr)}.generator-grid{grid-template-columns:1fr}.issues-toolbar{flex-direction:column;gap:12px;align-items:flex-start!important}.timeline-line{left:22px}.timeline-node{width:36px;height:36px;left:22px}.timeline-node svg{width:14px;height:14px}.timeline-side{text-align:left;width:100%;padding-left:68px;padding-right:0}.timeline-side.left{text-align:left}.timeline-side.right{display:none}.progress-overview{text-align:center;flex-direction:column}.progress-stats{justify-content:center}}.ai-mentor-page .header-actions{align-items:center;gap:12px;display:flex}.ai-mentor-page .page-title .badge{vertical-align:middle;letter-spacing:.5px;font-size:10px;font-weight:700}.chat-container{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;height:calc(100vh - 280px);min-height:500px;display:flex;overflow:hidden}.chat-messages{flex-direction:column;flex:1;gap:20px;padding:24px;display:flex;overflow-y:auto}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:0 0}.chat-messages::-webkit-scrollbar-thumb{background:var(--muted-3,#cbd5e1);border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover{background:var(--muted-2)}.chat-welcome{text-align:center;color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;padding:40px 20px;display:flex}.chat-welcome__icon{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;border-radius:20px;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:20px;display:flex}.chat-welcome__icon svg{width:32px;height:32px}.chat-welcome h2{color:var(--ink);margin-bottom:12px;font-size:22px;font-weight:700}.chat-welcome p{color:var(--muted);max-width:480px;margin-bottom:24px;font-size:14px;line-height:1.7}.chat-welcome p strong{color:var(--accent);font-weight:600}.chat-welcome__quick{width:100%;max-width:500px}.chat-welcome__quick-title{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-size:13px;font-weight:600}.chat-welcome__quick-list{grid-template-columns:1fr 1fr;gap:10px;display:grid}.quick-question-btn{background:var(--surface-2,#f1f5f9);border:1px solid var(--border);color:var(--ink-2);cursor:pointer;text-align:left;border-radius:10px;padding:12px 16px;font-size:13px;line-height:1.4;transition:all .2s}.quick-question-btn:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);transform:translateY(-1px)}.chat-message{gap:12px;animation:.3s messageIn;display:flex}@keyframes messageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat-message__avatar{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;display:flex}.chat-message--bot .chat-message__avatar{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff}.chat-message--user .chat-message__avatar{background:var(--surface-2,#f1f5f9);color:var(--muted)}.chat-message__avatar svg{width:18px;height:18px}.chat-message__content{flex:1;min-width:0;position:relative}.chat-message__header{align-items:center;gap:10px;margin-bottom:6px;display:flex}.chat-message__role{color:var(--ink);font-size:13px;font-weight:600}.chat-message__time{color:var(--muted-2);font-size:11px}.chat-message__bubble{word-wrap:break-word;border-radius:12px;max-width:80%;padding:12px 16px;font-size:14px;line-height:1.7;display:inline-block}.chat-message--bot .chat-message__bubble{background:var(--surface-2,#f1f5f9);color:var(--ink-2);border-bottom-left-radius:4px}.chat-message--user .chat-message__bubble{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;border-bottom-right-radius:4px}.chat-message--user .chat-message__content{text-align:right}.chat-message--user .chat-message__header{justify-content:flex-end}.chat-message__text{white-space:pre-wrap;margin:0}.chat-message__copy{color:var(--muted-2);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;align-items:center;padding:4px;font-size:12px;transition:all .2s;display:flex;position:absolute;top:0;right:0}.chat-message__copy:hover{color:var(--accent);background:var(--accent-soft)}.chat-message--bot:hover .chat-message__copy{opacity:1}.chat-message__copy svg{width:14px;height:14px}.chat-message__bubble--typing{padding:16px 20px}.typing-dots{gap:4px;display:flex}.typing-dots span{background:var(--muted-2);border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite typingBounce}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}.chat-error{background:var(--danger-soft);color:var(--danger);text-align:center;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-size:13px;display:flex}.chat-input-area{border-top:1px solid var(--border);background:var(--surface);padding:16px 20px}.chat-input-wrapper{background:var(--surface-2,#f1f5f9);border:1px solid var(--border);border-radius:12px;align-items:flex-end;gap:10px;padding:8px 8px 8px 16px;transition:all .2s;display:flex}.chat-input-wrapper:focus-within{border-color:var(--accent);background:var(--bg2);box-shadow:0 0 0 3px #6366f11a}.chat-input{resize:none;color:var(--ink);background:0 0;border:none;outline:none;flex:1;max-height:120px;padding:8px 0;font-family:inherit;font-size:14px;line-height:1.6}.chat-input::placeholder{color:var(--muted-2)}.chat-input:disabled{opacity:.5;cursor:not-allowed}.chat-send-btn{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;cursor:pointer;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex}.chat-send-btn:hover:not(.disabled){transform:scale(1.05);box-shadow:0 4px 12px #6366f14d}.chat-send-btn:active:not(.disabled){transform:scale(.95)}.chat-send-btn.disabled{opacity:.4;cursor:not-allowed}.chat-send-btn svg{width:18px;height:18px}.chat-input-hint{color:var(--muted-2);text-align:center;margin:8px 0 0;font-size:12px}@media (width<=768px){.chat-container{height:calc(100vh - 220px);min-height:400px}.chat-welcome__quick-list{grid-template-columns:1fr}.chat-message__bubble{max-width:90%}.ai-mentor-page .header-actions{flex-direction:column;align-items:flex-end;gap:8px}}
