body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}.App{display:flex;flex-direction:column;min-height:100vh}.App-header{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 10px #0000001a;color:#fff;padding:2rem;text-align:center}.App-header h1{font-size:2.5rem;font-weight:700;margin:0 0 .5rem}.App-header p{font-size:1.1rem;margin:0;opacity:.9}.App-main{flex:1 1;margin:0 auto;max-width:1200px;padding:2rem}.App-main,.results-container{width:100%}.results-header{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem;padding:1.5rem}.results-header h2{color:#333;margin:0}.results-header p{color:#666;font-size:1rem;margin:0}.reset-button{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:background-color .2s}.reset-button:hover{background:#5a6fd8}.tab-content{margin-top:0}@media (max-width:768px){.App-header{padding:1.5rem 1rem}.App-header h1{font-size:2rem}.App-main{padding:1rem}.results-header{flex-direction:column;text-align:center}}.tree-node{border-left:2px solid #e9ecef;margin-bottom:2px}.node-header{background:#fff;border:1px solid #dee2e6;border-radius:6px;cursor:pointer;margin-bottom:1px;position:relative;transition:all .2s ease}.node-header:hover{background:#f8f9fa;border-color:#667eea;box-shadow:0 2px 4px #0000001a}.node-header.level-0{border-left:4px solid #667eea;font-weight:600}.node-header.level-1{border-left:4px solid #28a745}.node-header.level-2{border-left:4px solid #ffc107}.node-header.level-3{border-left:4px solid #dc3545}.node-header.level-4{border-left:4px solid #6f42c1}.node-content{gap:1rem;justify-content:space-between;padding:.75rem}.node-content,.node-info{align-items:center;display:flex}.node-info{flex:1 1;gap:.5rem;min-width:0}.node-name{color:#333;font-size:1rem;font-weight:500}.node-path{background:#f8f9fa;border-radius:3px;color:#6c757d;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.85rem;margin-left:.5rem;padding:.2rem .4rem}.node-stats{align-items:center;display:flex;gap:.5rem}.redirect-count{background:#667eea;border-radius:15px;color:#fff;font-size:.85rem;font-weight:600;min-width:30px;padding:.3rem .6rem;text-align:center}.view-redirects-btn{background:none;border:none;border-radius:50%;cursor:pointer;font-size:1.2rem;padding:.2rem;transition:background-color .2s}.view-redirects-btn:hover{background:#f0f0f0}.redirects-list{background:#f8f9ff;border:1px solid #e6e9ff;border-radius:6px;margin:.5rem 0;padding:1rem}.redirects-header{color:#667eea;font-size:.9rem;margin-bottom:.75rem}.redirect-item{background:#fff;border:1px solid #dee2e6;border-radius:4px;font-size:.85rem;margin-bottom:.5rem;padding:.5rem}.redirect-source,.redirect-target{margin-bottom:.25rem;word-break:break-all}.redirect-source strong,.redirect-target strong{color:#495057;margin-right:.5rem}.redirect-status{text-align:right}.status-badge{padding:.2rem .5rem}.more-redirects{color:#6c757d;font-size:.85rem;font-style:italic;margin-top:.5rem;text-align:center}.children{border-left:2px solid #f0f0f0;margin-left:20px}.highlight{background-color:#fff3cd;border-radius:2px;color:#856404;font-weight:600;padding:.1rem .2rem}@media (max-width:768px){.node-content{align-items:flex-start;flex-direction:column;gap:.5rem}.node-info{width:100%}.node-path{margin-left:0;margin-top:.25rem}.node-stats{align-self:flex-end}.redirects-list{margin-left:-1rem;margin-right:-1rem}}.redirect-tree{background:#fff;border-radius:0 0 12px 12px;overflow:hidden}.tree-controls{align-items:center;background:#f8f9fa;border-bottom:1px solid #dee2e6;gap:1rem;justify-content:space-between;padding:1.5rem}.tree-controls,.tree-stats{display:flex;flex-wrap:wrap}.tree-stats{gap:2rem}.stat-item{color:#495057;font-size:.95rem}.stat-item strong{color:#212529}.tree-actions{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.tree-container{max-height:80vh;overflow-y:auto;padding:1rem}.tree-loading{color:#6c757d;font-size:1.1rem;padding:2rem;text-align:center}.tree-nodes{display:flex;flex-direction:column;gap:2px}.tree-container::-webkit-scrollbar{width:8px}.tree-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.tree-container::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.tree-container::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media (max-width:768px){.tree-actions,.tree-controls{align-items:stretch;flex-direction:column}.search-input{width:100%}.expand-buttons,.tree-stats{justify-content:center}.tree-stats{gap:1rem}.tree-container{max-height:70vh}}.file-upload-container{align-items:center;display:flex;justify-content:center;min-height:400px}.file-upload-area{background:#fff;border:3px dashed #667eea;border-radius:16px;box-shadow:0 4px 20px #0000001a;cursor:pointer;max-width:500px;padding:3rem 2rem;text-align:center;transition:all .3s ease;width:100%}.file-upload-area:hover{background:#f8f9ff;border-color:#5a6fd8;box-shadow:0 6px 25px #00000026;transform:translateY(-2px)}.file-upload-area.loading{border-color:#ccc;cursor:default}.file-upload-area.loading:hover{background:#fff;transform:none}.upload-content h3{color:#333;font-size:1.5rem;margin:1rem 0}.upload-content p{color:#666;font-size:1.1rem;margin:.5rem 0}.upload-content code{background:#f0f0f0;border-radius:4px;font-size:.9rem;padding:.2rem .4rem}.upload-icon{font-size:4rem;margin-bottom:1rem}.file-format-info{border-top:1px solid #eee;margin-top:2rem;padding-top:1rem}.file-format-info small{color:#888;line-height:1.4}.loading-content{align-items:center;display:flex;flex-direction:column;gap:1rem}.loading-content p{color:#666;font-size:1.1rem;margin:0}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#667eea;height:40px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.file-upload-area{margin:0 1rem;padding:2rem 1rem}.upload-content h3{font-size:1.3rem}.upload-content p{font-size:1rem}.upload-icon{font-size:3rem}}.tab-navigation{background:#fff;border-radius:12px 12px 0 0;box-shadow:0 2px 10px #0000001a;overflow:hidden}.tab-list{background:#f8f9fa;border-bottom:1px solid #dee2e6;display:flex}.tab-button{align-items:center;background:none;border:none;color:#6c757d;cursor:pointer;display:flex;flex:1 1;font-weight:500;gap:.5rem;justify-content:center;padding:1rem 1.5rem;position:relative;transition:all .2s ease}.tab-button:hover{background:#e9ecef;color:#495057}.tab-button.active{background:#fff;border-bottom:3px solid #667eea;color:#667eea}.tab-button.active:after{background:#fff;bottom:-1px;content:"";height:1px;left:0;position:absolute;right:0}.tab-icon{font-size:1.2rem}.tab-label{font-size:.95rem}.tab-count{background:#667eea;border-radius:12px;color:#fff;font-size:.75rem;font-weight:600;min-width:20px;padding:.2rem .5rem;text-align:center}.tab-button.active .tab-count{background:#5a6fd8}@media (max-width:768px){.tab-list{flex-direction:column}.tab-button{flex:none;justify-content:flex-start;padding:.75rem 1rem}.tab-label{font-size:.9rem}}.seo-score-compact{display:inline-block}.score-badge{align-items:center;border-radius:12px;color:#fff;display:flex;font-size:.75rem;font-weight:600;gap:.25rem;justify-content:center;min-width:45px;padding:.25rem .5rem}.score-value{font-size:.8rem}.score-grade{font-size:.7rem;opacity:.9}.seo-score{background:#fff;border:1px solid #dee2e6;border-radius:8px;margin:1rem 0;overflow:hidden}.score-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:1rem;transition:background-color .2s}.score-header:hover{background:#f8f9fa}.score-main{gap:1rem}.score-circle,.score-main{align-items:center;display:flex}.score-circle{border:3px solid;border-radius:50%;flex-direction:column;height:60px;justify-content:center;position:relative;width:60px}.score-number{font-size:1.25rem;font-weight:700;line-height:1}.score-max{color:#6c757d;font-size:.7rem;line-height:1}.score-info{display:flex;flex-direction:column;gap:.25rem}.score-grade-large{font-size:1.1rem;font-weight:600}.score-summary{display:flex;flex-wrap:wrap;gap:.75rem}.issue-count{border-radius:10px;font-size:.8rem;font-weight:500;padding:.2rem .4rem}.issue-count.error{background:#f8d7da;color:#721c24}.issue-count.warning{background:#fff3cd;color:#856404}.issue-count.positive{background:#d4edda;color:#155724}.expand-indicator{color:#6c757d}.expand-arrow{font-size:.8rem;transition:transform .2s ease}.expand-arrow.expanded{transform:rotate(180deg)}.score-details{background:#f8f9fa;border-top:1px solid #e9ecef;padding:0 1rem 1rem}.issues-section,.recommendations-section{margin-bottom:1rem}.issues-section:last-child,.recommendations-section:last-child{margin-bottom:0}.issues-title,.recommendations-title{align-items:center;display:flex;font-size:.9rem;gap:.5rem;margin:.75rem 0 .5rem}.issues-title.error{color:#dc3545}.issues-title.warning{color:#856404}.issues-title.positive{color:#28a745}.issues-title.info{color:#0c5460}.recommendations-title{color:#667eea}.issues-list,.recommendations-list{list-style:none;margin:0;padding:0}.issue-item,.recommendation-item{align-items:center;border-radius:4px;display:flex;font-size:.85rem;justify-content:space-between;margin-bottom:.25rem;padding:.5rem}.issue-item.error{background:#f8d7da;border-left:3px solid #dc3545;color:#721c24}.issue-item.warning{background:#fff3cd;border-left:3px solid #ffc107;color:#856404}.issue-item.positive{background:#d4edda;border-left:3px solid #28a745;color:#155724}.issue-item.info{background:#d1ecf1;border-left:3px solid #17a2b8;color:#0c5460}.recommendation-item{background:#e7f3ff;border-left:3px solid #667eea;color:#4a5568}.issue-message{flex:1 1}.issue-impact{background:#0000001a;border-radius:10px;color:#721c24;font-size:.75rem;font-weight:600;padding:.2rem .4rem}@media (max-width:768px){.score-main{flex-direction:column;gap:.5rem;text-align:center}.score-summary{justify-content:center}.issue-item,.recommendation-item{align-items:flex-start;flex-direction:column;gap:.25rem}.issue-impact{align-self:flex-end}}.nested-redirects{background:#fff;border-radius:0 0 12px 12px;overflow:hidden}.nested-controls{align-items:center;background:#f8f9fa;border-bottom:1px solid #dee2e6;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1.5rem}.nested-stats{flex:1 1}.nested-actions{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.search-input{width:200px}.cycle-filter{align-items:center;color:#495057;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem}.cycle-filter input[type=checkbox]{margin:0}.redirects-container{max-height:70vh;overflow-y:auto;padding:1rem}.redirect-chains{display:flex;flex-direction:column;gap:1.5rem}.redirect-chain{background:#fff;border:1px solid #dee2e6;border-radius:8px;overflow:hidden}.redirect-chain.has-cycle{border-color:#dc3545;box-shadow:0 2px 8px #dc35451a}.chain-header{background:#f8f9fa;border-bottom:1px solid #dee2e6;flex-wrap:wrap;justify-content:space-between;padding:1rem}.chain-header,.chain-info{align-items:center;display:flex;gap:1rem}.chain-length{background:#667eea}.chain-length,.cycle-badge{border-radius:15px;color:#fff;font-size:.85rem;font-weight:600;padding:.3rem .6rem}.cycle-badge{background:#dc3545}.final-target{color:#495057;font-size:.9rem}.final-target strong{color:#212529}.chain-steps{padding:1rem}.length-penalty{color:#856404;font-style:italic;margin-top:.5rem}.redirect-step{background:#f8f9ff;border-left:4px solid #667eea;border-radius:6px;gap:1rem;margin-bottom:1rem;padding:.75rem}.redirect-step,.step-number{align-items:center;display:flex}.step-number{background:#667eea;border-radius:50%;color:#fff;flex-shrink:0;font-size:.85rem;font-weight:600;height:30px;justify-content:center;width:30px}.step-content{flex:1 1;flex-wrap:wrap;gap:1rem}.step-content,.step-source,.step-target{align-items:center;display:flex;min-width:0}.step-source,.step-target{gap:.5rem}.step-source strong,.step-target strong{color:#495057;white-space:nowrap}.step-source code,.step-target code{background:#fff;border:1px solid #dee2e6;border-radius:4px;font-size:.85rem;padding:.25rem .5rem;word-break:break-all}.step-source code.cycle-point{background:#fff5f5;border-color:#dc3545;color:#dc3545;font-weight:600}.step-arrow{color:#667eea;font-size:1.2rem;font-weight:700}.step-meta{align-items:center;display:flex;gap:.5rem}.cycle-warning{background:#fff5f5;border:1px solid #f5c6cb;border-radius:6px;color:#dc3545;font-weight:500;margin-top:1rem;padding:1rem}.cycle-warning code{background:#f8d7da;border-radius:3px;font-weight:600;padding:.2rem .4rem}.redirects-container::-webkit-scrollbar{width:8px}.redirects-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.redirects-container::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.redirects-container::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media (max-width:768px){.nested-controls{align-items:stretch;flex-direction:column}.nested-actions{justify-content:center}.search-input{width:100%}.chain-header{text-align:center}.chain-header,.step-content{align-items:stretch;flex-direction:column}.step-content{gap:.5rem}.step-arrow{align-self:center;transform:rotate(90deg)}.step-meta{align-items:flex-end;flex-direction:column;gap:.25rem}}.duplicate-redirects{background:#fff;border-radius:0 0 12px 12px;overflow:hidden}.duplicate-controls{align-items:center;background:#f8f9fa;border-bottom:1px solid #dee2e6;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1.5rem}.duplicate-stats{flex:1 1}.stat-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.stat-item{background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:.75rem;text-align:center}.stat-value{color:#667eea;display:block;font-size:1.5rem;font-weight:700}.stat-label{color:#6c757d;display:block;font-size:.8rem;margin-top:.25rem}.duplicate-actions{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.search-box{position:relative}.search-input{border:2px solid #dee2e6;border-radius:6px;font-size:.9rem;padding:.5rem 1rem;transition:border-color .2s;width:250px}.search-input:focus{border-color:#667eea;outline:none}.count-filter{align-items:center;color:#495057;display:flex;font-size:.9rem;gap:.5rem}.count-filter label{white-space:nowrap}.count-select{background:#fff;border:2px solid #dee2e6;border-radius:6px;cursor:pointer;font-size:.9rem;padding:.5rem}.count-select:focus{border-color:#667eea;outline:none}.expand-buttons{display:flex;gap:.5rem}.expand-btn{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;padding:.5rem 1rem;transition:background-color .2s}.expand-btn:hover{background:#5a6fd8}.duplicates-container{max-height:70vh;overflow-y:auto;padding:1rem}.no-results{color:#6c757d;font-size:1.1rem;padding:3rem 2rem;text-align:center}.duplicate-groups{display:flex;flex-direction:column;gap:1.5rem}.duplicate-group{background:#fff;border:1px solid #dee2e6;border-radius:8px;overflow:hidden}.group-header{background:#f8f9fa;border-bottom:1px solid #dee2e6;cursor:pointer;padding:1rem;transition:background-color .2s}.group-header:hover{background:#e9ecef}.group-info{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.expand-icon{color:#667eea;font-size:.8rem;min-width:12px;transition:transform .2s ease}.expand-icon.expanded{transform:rotate(90deg)}.source-count{background:#667eea;border-radius:15px;color:#fff;font-size:.85rem;font-weight:600;padding:.3rem .6rem}.target-label{color:#495057;font-weight:500}.target-url{background:#fff;border:1px solid #dee2e6;border-radius:4px;color:#495057;flex:1 1;font-size:.9rem;min-width:200px;padding:.4rem .6rem;word-break:break-all}.sources-list{padding:1rem}.seo-analysis-section{border-bottom:1px solid #dee2e6;margin-bottom:1rem;padding-bottom:1rem}.score-range{color:#6c757d;font-style:italic;margin-top:.5rem}.source-item{align-items:center;background:#f8f9ff;border-left:4px solid #667eea;border-radius:6px;display:flex;gap:1rem;margin-bottom:.75rem;padding:.75rem}.source-item:last-child{margin-bottom:0}.source-number{align-items:center;background:#667eea;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.8rem;font-weight:600;height:28px;justify-content:center;width:28px}.source-content{flex:1 1;flex-wrap:wrap;gap:1rem}.source-content,.source-url{align-items:center;display:flex;min-width:0}.source-url{flex:1 1;gap:.5rem}.source-url strong{color:#495057;white-space:nowrap}.source-url code{background:#fff;border:1px solid #dee2e6;border-radius:4px;flex:1 1;font-size:.85rem;padding:.25rem .5rem;word-break:break-all}.source-meta{align-items:center;display:flex;gap:.5rem}.source-meta,.source-status{flex-shrink:0}.status-badge{border-radius:12px;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .5rem}.duplicates-container::-webkit-scrollbar{width:8px}.duplicates-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.duplicates-container::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.duplicates-container::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media (max-width:768px){.duplicate-actions,.duplicate-controls{align-items:stretch;flex-direction:column}.duplicate-actions,.expand-buttons{justify-content:center}.search-input{width:100%}.count-filter{justify-content:center}.group-info{align-items:stretch;flex-direction:column;gap:.75rem}.target-url{min-width:0}.source-content{gap:.5rem}.source-content,.source-url{align-items:stretch;flex-direction:column}.source-url{gap:.25rem}.source-meta{flex-direction:column;gap:.25rem}.source-meta,.source-status{align-self:flex-end}}
/*# sourceMappingURL=main.e7f05158.css.map*/