body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f7fa;color:#333;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}html{scroll-behavior:smooth}a{color:#3182ce;text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4,h5,h6{line-height:1.2;margin-top:0}p,table,td,th{font-size:.85rem!important}table{border-collapse:collapse}td,th{padding:8px}th{font-weight:600}.App{color:#333;display:flex;flex-direction:column;font-family:Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:14px;min-height:100vh;text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{background-color:#1a365d;box-shadow:0 2px 4px #0000001a;color:#fff;padding:1rem 2rem}.header-container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;width:100%}.header-title{text-align:left}.App-header h1{font-size:1.1rem;font-weight:700;margin:0;padding:0;text-align:left}.App-header h2{color:#fff;font-size:.9rem;font-weight:400;margin:.3rem 0 0;padding:0;text-align:left}.App-header h2 strong{font-weight:600}.App-nav{justify-content:space-between}.App-nav,.App-nav .main-menu{align-items:center;display:flex}.App-nav .main-menu{height:50px;list-style:none;margin:0;padding:0}.App-nav .menu-item{margin:0 0 0 1.5rem}.App-nav .menu-item,.App-nav .nav-link{align-items:center;display:flex;height:100%}.App-nav .nav-link{border-bottom:2px solid #0000;color:#fff;font-size:.95rem;font-weight:500;margin-bottom:0;padding:.5rem 0;text-decoration:none;transition:border-color .3s}.App-nav .nav-link.active,.App-nav .nav-link:hover{border-color:#fff}.App-main{flex:1 1;margin:0 auto;max-width:1200px;padding:2rem;width:100%}.App-section{animation:fadeInUp .6s ease forwards;background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000000d;margin-bottom:3rem;opacity:0;padding:1.5rem;text-align:left;transform:translateY(20px)}.App-section h2{border-bottom:2px solid #e2e8f0;color:#1a365d;font-size:1.1rem;margin-top:0;padding-bottom:.5rem}.App-section h3{color:#2a4365;font-size:1.1rem;margin-bottom:.8rem;margin-top:1.2rem}.App-section ul{padding-left:1.5rem}.App-section p{font-size:.9rem}.App-section li{font-size:.9rem;line-height:1.5;margin-bottom:.5rem}.demo-placeholder{align-items:center;background-color:#f8f9fa;border:1px dashed #ccc;border-radius:4px;display:flex;justify-content:center;margin:1rem 0;min-height:300px;padding:3rem}.App-footer{background-color:#f8f9fa;border-top:1px solid #e2e8f0;margin-top:auto;padding:1rem}.contact-info,.team-placeholder{background-color:#f8f9fa;border:1px dashed #ccc;border-radius:4px;margin:1rem 0;padding:2rem;text-align:center}.contact-info{background-color:initial;border:none;text-align:left}.contact-info p{margin:.5rem 0}@media (max-width:768px){.header-container{align-items:flex-start;flex-direction:column}.header-title{margin-bottom:1rem}.App-nav{width:100%}.App-nav .main-menu{align-items:flex-start;flex-direction:column;height:auto}.App-nav .menu-item{height:auto;margin:.3rem 0}.App-header h1{font-size:1.3rem}.App-main,.App-section{padding:1rem}}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.auth-controls{margin-left:20px}.login-link{background-color:#ffffff1a;border-radius:4px;color:#fff;display:inline-block;font-weight:500;min-width:80px;padding:8px 24px;text-align:center;text-decoration:none;transition:background-color .3s}.login-link:hover{background-color:#fff3}.user-dropdown{position:relative}.user-button{align-items:center;background-color:#ffffff1a;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-weight:500;padding:8px 16px;transition:background-color .3s}.user-button:hover{background-color:#fff3}.user-name{margin-right:8px}.dropdown-icon{font-size:.8rem}.dropdown-menu{background-color:#fff;border-radius:4px;box-shadow:0 2px 10px #0000001a;margin-top:5px;min-width:120px;overflow:hidden;position:absolute;right:0;top:100%;z-index:1000}.logout-button{background:none;border:none;color:#333;cursor:pointer;display:block;padding:10px 15px;text-align:left;transition:background-color .3s;width:100%}.logout-button:hover{background-color:#f5f5f5}@media (prefers-color-scheme:dark){.dropdown-menu{background-color:#2a3140;box-shadow:0 2px 10px #0000004d}.logout-button{color:#e0e0e0}.logout-button:hover{background-color:#3a4151}}button,input,select,textarea{font-family:inherit;font-size:.9rem}.action-btn{font-size:.85rem}.header-logo{height:100px;width:100px}.logo-title-container{align-items:center;display:flex}.submenu-container{position:relative}.submenu-button{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:#fff;cursor:pointer;display:flex;font-weight:500;height:100%;padding:.5rem 0;transition:border-color .3s}.dropdown-icon{font-size:.7rem;margin-left:.5rem}.submenu{animation:fadeIn .2s ease-in-out;background-color:#2a4365;border-radius:4px;box-shadow:0 8px 16px #0000001a;display:flex;flex-direction:column;left:0;min-width:160px;padding:.5rem 0;position:absolute;top:100%;z-index:1000}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.submenu a{color:#fff;display:block;font-size:.9rem;padding:.5rem 1rem;text-decoration:none;transition:all .2s ease;white-space:nowrap}.submenu a.active,.submenu a:hover{background-color:#3182ce;border-color:#0000;color:#fff}@media (max-width:768px){.submenu{background-color:initial;border-left:2px solid #4299e1;box-shadow:none;margin-left:1rem;margin-top:.5rem;padding:0;position:static}.submenu a{padding:.5rem .8rem}}.section-content{margin-top:1.5rem}.demo-controls{display:flex;justify-content:center;margin:2rem 0}.btn{border:none;border-radius:4px;cursor:pointer;font-size:.95rem;font-weight:600;padding:.8rem 2rem;transition:all .3s ease}.btn.start{background-color:#4caf50;color:#fff}.btn.stop{background-color:#f44336;color:#fff}.btn:hover{opacity:.9;transform:translateY(-2px)}.demo-display{background-color:#f8f9fa;border-radius:8px;box-shadow:0 2px 10px #0000000d;padding:1.5rem}.metrics-container{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.metric-card{background-color:#fff;border-radius:6px;box-shadow:0 2px 5px #0000000d;padding:1rem}.metric-card h3{color:#555;font-size:.95rem;margin:0 0 .8rem}.metric-value{align-items:center;display:flex;flex-direction:column;font-size:.85rem;justify-content:center}.value{color:#333;font-size:1.1rem;font-weight:700}.unit{color:#777;font-size:.85rem;margin-left:.3rem}.progress-bar{background-color:#e0e0e0;border-radius:6px;height:12px;margin-bottom:.5rem;width:100%}.progress-fill{height:100%;transition:width .5s ease,background-color .5s ease}.network-visualization{align-items:center;display:flex;height:150px;justify-content:space-between;margin-top:2rem}.datacenter{align-items:center;background-color:#1a365d;border-radius:6px;box-shadow:0 3px 6px #0000001a;color:#fff;display:flex;font-weight:600;height:80px;justify-content:center;width:120px}.network-path{background-color:#e0e0e0;border-radius:5px;flex:1 1;height:10px;margin:0 1.5rem;position:relative}.packets-container{height:20px;left:0;position:absolute;top:-5px;width:100%}.packet{animation:movePacket linear infinite;background-color:#3182ce;border-radius:50%;height:15px;position:absolute;top:50%;transform:translateY(-50%);width:15px}.packet:first-child{animation-delay:0s}.packet:nth-child(2){animation-delay:.5s}.packet:nth-child(3){animation-delay:1s}.packet:nth-child(4){animation-delay:1.5s}.packet:nth-child(5){animation-delay:2s}@keyframes movePacket{0%{left:0}to{left:calc(100% - 15px)}}@media (max-width:768px){.metrics-container{grid-template-columns:1fr}.network-visualization{flex-direction:column;height:auto}.network-path{height:100px;margin:1.5rem 0;width:10px}.packets-container{height:100%;left:-5px;top:0;width:20px}@keyframes movePacket{0%{left:50%;top:0;transform:translateX(-50%)}to{left:50%;top:calc(100% - 15px);transform:translateX(-50%)}}}.scenario-selector{background-color:#f8f9fa;border-radius:8px;box-shadow:0 2px 5px #0000000d;margin-bottom:2rem}.App-section p{font-size:.85rem;line-height:1.5}.performance-comparison{background-color:#fff;border-radius:8px;box-shadow:0 2px 5px #0000000d;margin-top:2rem;padding:1.5rem}.performance-comparison h3{color:#1a365d;font-size:.95rem;margin-bottom:1.5rem;margin-top:0;text-align:center}.comparison-container{display:flex;flex-direction:column;gap:1rem}.comparison-item{align-items:center;display:flex;gap:1rem}.comparison-label{font-size:.8rem;font-weight:600;text-align:right;width:120px}.comparison-bar{background-color:#e2e8f0;border-radius:10px;flex:1 1;height:20px;overflow:hidden}.comparison-fill{background-color:#3182ce;height:100%;transition:width .5s ease}.comparison-value{color:#1a365d;font-size:.8rem;font-weight:600;width:80px}.topology-container{margin-top:2rem}.topology-tabs{border-bottom:1px solid #e2e8f0;display:flex;gap:20px;margin-bottom:1.5rem}.tab-button{background:none;border-bottom:2px solid #0000;font-size:1rem;font-weight:500;margin-right:10px;padding:.8rem 1.5rem;transition:all .3s}.tab-button:hover{color:#1a365d}.tab-button.active{border-bottom-color:#1a365d;color:#1a365d}.topology-content{margin-top:1.5rem}.topology-description{margin-bottom:1.5rem}.topology-description h3{color:#1a365d;margin-bottom:.8rem}.topology-container{display:flex;flex-direction:column;gap:1.5rem}.topology-diagram{background-color:#f8f9fa;border-radius:8px;height:400px;overflow:hidden;position:relative}.node{background-color:#fff;border-radius:8px;box-shadow:0 2px 5px #0000001a;padding:.8rem;position:absolute;transform:translate(-50%,-50%);z-index:2}.node-label{font-size:.9rem;font-weight:500;white-space:nowrap}.server-node{background-color:#ebf8ff;border:1px solid #90cdf4}.switch-node{background-color:#e6fffa;border:1px solid #81e6d9}.dc-node{background-color:#faf5ff;border:1px solid #d6bcfa}.router-node{background-color:#fff5f5;border:1px solid #feb2b2}.edge-node{background-color:#fffaf0;border:1px solid #fbd38d}.rdma-card{background-color:#f0fff4;border:1px solid #9ae6b4;border-radius:4px;font-size:.8rem;padding:.3rem .5rem;position:absolute;transform:translate(-50%,-50%);z-index:1}.card-label{font-weight:500;white-space:nowrap}.detail-label{position:absolute;transform:translate(-50%,-50%);z-index:2}.detail-text{background-color:#fffc;border:1px dashed #cbd5e0;border-radius:4px;color:#4a5568;font-size:.8rem;padding:.2rem .5rem}.link-param{position:absolute;transform:translate(-50%,-50%);z-index:2}.param-text{background-color:#ebf8ffe6;border:1px solid #90cdf4;border-radius:4px;color:#2c5282;font-size:.75rem;font-weight:600;padding:.1rem .4rem}.topology-links{height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.link{stroke:#a0aec0;stroke-width:2}.link-200g{stroke:#4299e1;stroke-width:3}.link-100g{stroke:#38b2ac;stroke-width:2.5}.distance-marker{background-color:#fffc;border:1px solid #e53e3e;border-radius:4px;color:#e53e3e;font-size:.8rem;padding:.2rem .5rem;position:absolute;transform:translate(-50%,-50%);z-index:2}.topology-legend{background-color:#f8f9fa;border-radius:4px;display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem;padding:.5rem}.legend-item{align-items:center;display:flex;gap:.5rem}.legend-line{background-color:#a0aec0;height:2px;width:20px}.legend-line.link-200g{background-color:#4299e1;height:3px}.legend-line.link-100g{background-color:#38b2ac;height:2.5px}.topology-info{background-color:#fff;border-radius:8px;box-shadow:0 2px 5px #0000000d;padding:1.5rem}.topology-info h4{border-bottom:1px solid #e2e8f0;color:#1a365d;margin-bottom:1rem;margin-top:0;padding-bottom:.5rem}.topology-info ul{margin-bottom:0;padding-left:1.5rem}.topology-info li{margin-bottom:.5rem}.real-topology-container{display:flex;flex-direction:column;gap:1.5rem}.real-topology-diagram{background-color:#f8f9fa;border-radius:8px;height:550px;overflow:hidden;position:relative}.region-label{color:#4a55684d;font-size:1.2rem;font-weight:600;position:absolute;transform:translate(-50%,-50%);z-index:1}.region-label.north{color:#3182ce33}.region-label.east{color:#31979533}.region-label.south{color:#ed64a633}.geo-node{height:30px;width:30px;z-index:2}.geo-node,.node-dot{position:absolute;transform:translate(-50%,-50%)}.node-dot{background-color:#4a5568;border-radius:50%;height:8px;left:50%;top:50%;width:8px;z-index:3}.major-dot{background-color:#e53e3e;box-shadow:0 0 0 3px #e53e3e33;height:14px;width:14px}.provincial-node .node-dot{background-color:#38a169;box-shadow:0 0 0 3px #38a16933;height:12px;width:12px}.geo-node-label{background-color:#ffffffb3;border-radius:2px;color:#1a202c;font-size:.75rem;font-weight:500;left:50%;margin-top:2px;padding:1px 3px;position:absolute;text-align:center;top:100%;transform:translateX(-50%);white-space:nowrap;z-index:3}.major-label{color:#e53e3e;font-size:1rem;font-weight:600}.provincial-node .geo-node-label{color:#38a169;font-size:.85rem;font-weight:600}.shandong-node .node-dot{background-color:#3182ce}.shandong-node .geo-node-label{color:#2c5282;font-size:.7rem}.geo-links{height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.geo-link{stroke-width:1.5;stroke-opacity:.7}.main-link{stroke:#e53e3e;stroke-width:2.5}.highbw-link{stroke:#dd6b20;stroke-width:2.5;stroke-dasharray:none}.shandong-link{stroke:#3182ce;stroke-width:1.5}.highbw-node .node-dot{background-color:#dd6b20;box-shadow:0 0 0 2px #dd6b2033}.highbw-node .geo-node-label{color:#dd6b20;font-weight:600}.bandwidth-marker{background-color:#fffc;border:1px solid #4299e1;border-radius:4px;color:#2b6cb0;font-size:.75rem;padding:.2rem .5rem;position:absolute;transform:translate(-50%,-50%);z-index:2}.bw-beijing,.bw-shenzhen{background-color:#ebf8ffe6}.bw-shandong{background-color:#e6fffae6;border-color:#38b2ac;color:#285e61}.geo-legend{background-color:#f8f9fa;border-radius:4px;display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem;padding:.8rem}.legend-dot{background-color:#3182ce;border-radius:50%;height:8px;width:8px}.legend-dot.major-dot{background-color:#e53e3e;height:10px;width:10px}.legend-dot.provincial-dot{background-color:#38a169;height:9px;width:9px}.legend-text{font-size:.85rem}@media (max-width:768px){.real-topology-container,.topology-container{flex-direction:column}.topology-diagram{height:350px}.real-topology-diagram{height:450px}.geo-node-label{font-size:.65rem}.major-label{font-size:.8rem}.provincial-node .geo-node-label{font-size:.75rem}.shandong-node .geo-node-label{font-size:.6rem}.region-label{font-size:1rem}}.topology-description p,.topology-info li,.topology-info p{font-size:.85rem;line-height:1.5}.background-info{background-color:#f8f9fa;border-radius:8px;box-shadow:0 2px 5px #0000000d;margin-bottom:2rem;padding:1.5rem}.background-info h3{color:#2c5282;font-size:.95rem;margin-bottom:1rem;margin-top:0}.background-info p{font-size:.85rem;line-height:1.6;margin-bottom:1rem;text-align:justify}.background-info p:last-child{margin-bottom:0}.timeline-section{background-color:#f8f9fa;border-radius:12px;box-shadow:0 4px 12px #00000014;margin-top:.2rem;overflow:hidden;padding:1.5rem;position:relative}.timeline-section:before{background:linear-gradient(135deg,#ebf4ff4d,#fff0);content:"";height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}.timeline-section h3{color:#1a365d;display:inline-block;font-size:.95rem;margin-bottom:1rem;position:relative}.timeline-section h3:after{background:linear-gradient(90deg,#3182ce,#63b3ed);border-radius:3px;bottom:-8px;content:"";height:3px;left:0;position:absolute;width:40px}.timeline-container{overflow-x:auto;padding:.5rem 0;position:relative}.timeline{display:flex;flex-direction:row;gap:1.2rem;min-width:min-content;padding-bottom:2rem;position:relative;width:100%}.timeline-line{background:linear-gradient(90deg,#3182ce,#4299e1,#63b3ed);border-radius:4px;bottom:55px;height:3px;left:0;position:absolute;width:100%}.current-time-marker{border-bottom:12px solid #ff5722;border-left:8px solid #0000;border-right:8px solid #0000;bottom:43px;cursor:pointer;filter:drop-shadow(0 2px 3px rgba(0,0,0,.2));height:0;left:30%;position:absolute;transform:translateX(-50%);transition:all .3s ease;width:0;z-index:3}.current-time-marker:after{background-color:#ff5722;border-radius:4px;bottom:-30px;color:#fff;content:"现在";font-size:.7rem;font-weight:700;left:50%;opacity:0;padding:2px 6px;position:absolute;transform:translateX(-50%);transition:opacity .3s ease;white-space:nowrap}.current-time-marker:hover{transform:translateX(-50%) translateY(2px)}.current-time-marker:hover:after{opacity:1}.timeline-item{flex:1 1;max-width:180px;min-width:120px;padding-bottom:1.5rem;position:relative;transition:all .3s ease}.timeline-item:hover{transform:translateY(-5px)}.timeline-dot{background:linear-gradient(135deg,#3182ce,#63b3ed);border-radius:50%;bottom:20px;box-shadow:0 0 0 3px #3182ce1a;height:14px;left:50%;position:absolute;transform:translateX(-50%);transition:all .3s ease;width:14px;z-index:2}.timeline-item:hover .timeline-dot{box-shadow:0 0 0 5px #3182ce33;transform:translateX(-50%) scale(1.2)}.timeline-date{bottom:0;color:#2c5282;font-size:.85rem;font-weight:600;left:0;margin-top:1.2rem;position:absolute;text-align:center;width:100%}.timeline-content{background-color:#fff;border-bottom:3px solid #3182ce;border-radius:8px;box-shadow:0 2px 8px #0000000d;margin-bottom:1.2rem;padding:.5rem .8rem;transition:all .3s ease}.timeline-item:hover .timeline-content{box-shadow:0 4px 12px #3182ce26}.timeline-content h4{color:#2d3748;font-size:.85rem;font-weight:600;margin:0;text-align:center}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.timeline-item{animation:fadeInDown .5s ease forwards;opacity:0}.timeline-item.item-1{animation-delay:.1s}.timeline-item.item-2{animation-delay:.2s}.timeline-item.item-3{animation-delay:.3s}.timeline-item.item-4{animation-delay:.4s}.timeline-item.item-5{animation-delay:.5s}.timeline-item.item-6{animation-delay:.6s}.timeline-item.completed .timeline-dot{background:linear-gradient(135deg,#a0aec0,#cbd5e0);box-shadow:0 0 0 3px #a0aec01a}.timeline-item.completed .timeline-content{background-color:#f7fafc;border-bottom-color:#a0aec0}.timeline-item.completed .timeline-content h4,.timeline-item.completed .timeline-date{color:#718096}.timeline-item.completed:hover .timeline-dot{box-shadow:0 0 0 5px #a0aec033}@media (prefers-color-scheme:dark){.timeline-section{background-color:#1e2430}.timeline-section:before{background:linear-gradient(135deg,#1a365d4d,#0000)}.timeline-section h3{color:#90cdf4}.timeline-section h3:after{background:linear-gradient(90deg,#4299e1,#90cdf4)}.timeline-date{color:#90cdf4}.timeline-content{background-color:#2d3748;border-bottom-color:#4299e1}.timeline-content h4{color:#e2e8f0}.current-time-marker{border-bottom-color:#ff7e55;filter:drop-shadow(0 2px 3px rgba(0,0,0,.4))}.current-time-marker:after{background-color:#ff7e55}.timeline-item.completed .timeline-dot{background:linear-gradient(135deg,#4a5568,#718096);box-shadow:0 0 0 3px #4a55681a}.timeline-item.completed .timeline-content{background-color:#2d3748;border-bottom-color:#4a5568}.timeline-item.completed .timeline-content h4,.timeline-item.completed .timeline-date{color:#a0aec0}}@media (max-width:768px){.timeline-section{padding:1rem}.timeline{gap:.8rem}.timeline-item{min-width:100px}.timeline-content{padding:.5rem}.timeline-content h4,.timeline-date{font-size:.75rem}}.App-section{padding:2rem;transition:background-color .3s ease,color .3s ease}.App-section.light{background-color:#f5f8fa;color:#333}.App-section.dark{background-color:#1e1e2f;color:#e9ecef}.section-header{align-items:center;justify-content:space-between;margin-bottom:1.5rem}.header-actions{align-items:center;display:flex;gap:.8rem}.action-btn{background-color:initial;border:1px solid;border-radius:4px;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .3s ease}.light .action-btn{border-color:#805ad5;color:#805ad5}.light .action-btn:hover{background-color:#805ad5;color:#fff}.dark .action-btn{border-color:#b794f4;color:#b794f4}.dark .action-btn:hover{background-color:#b794f4;color:#1e1e2f}.section-content p{font-size:.85rem;line-height:1.5;margin-bottom:1rem}.light .section-content p{color:#4a5568}.dark .section-content p{color:#cbd5e0}.simulator-container{animation:fade-in .5s ease}.control-group{margin-bottom:1rem}.control-group label{font-size:.95rem;font-weight:500}.light .control-group label{color:#2d3748}.dark .control-group label{color:#e2e8f0}.control-group input[type=range]{margin:.5rem 0;outline:none}.light .control-group input[type=range]{background:#e2e8f0}.dark .control-group input[type=range]{background:#4a5568}.control-group input[type=range]::-webkit-slider-thumb{appearance:none}.light .control-group input[type=range]::-webkit-slider-thumb{background:#4299e1;box-shadow:0 1px 3px #0003}.dark .control-group input[type=range]::-webkit-slider-thumb{background:#90cdf4;border:2px solid #2d3748;box-shadow:0 1px 3px #0006}.range-values{font-size:.8rem;margin-top:.2rem}.dark .run-simulation-btn:hover{box-shadow:0 4px 8px #4299e199}.simulation-results{animation:slide-up .5s ease-out}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.results-grid{grid-gap:1.5rem;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.result-item{padding:1.2rem;transition:all .3s ease}.dark .result-item{background-color:#2d3748;border:1px solid #4a5568}.result-item h4{font-size:.95rem;font-weight:600}.light .result-item h4{color:#1a365d}.dark .result-item h4{color:#90cdf4}.result-item ul{margin:0;padding-left:1.2rem}.result-item li{font-size:.8rem;margin-bottom:.5rem}.dark .result-item li{color:#e2e8f0}.simulation-conclusion{background-color:initial;padding:1.2rem;transition:all .3s ease}.light .simulation-conclusion{background-color:#ebf8ff}.dark .simulation-conclusion{background-color:#2c5282;border-left:4px solid #90cdf4}.simulation-conclusion h4{font-weight:600;margin-bottom:.3rem}.light .simulation-conclusion h4{color:#2c5282}.dark .simulation-conclusion h4{color:#90cdf4}.simulation-conclusion p{margin-bottom:.5rem}.light .simulation-conclusion p{color:#2d3748}.dark .simulation-conclusion p{color:#e2e8f0}.light .simulation-conclusion strong{color:#2b6cb0}.data-analysis-container{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(450px,1fr));margin-bottom:2.5rem;transition:all .5s ease}.data-analysis-container.fullscreen-container{grid-template-columns:1fr;position:relative;z-index:10}.analysis-card{border-radius:10px;box-shadow:0 4px 12px #00000014;margin-bottom:1.5rem;overflow:hidden;padding:1.8rem;position:relative;transition:all .3s ease-in-out}.analysis-card,.light .analysis-card{background-color:#fff}.dark .analysis-card{background-color:#252540;box-shadow:0 4px 12px #00000026}.analysis-card:hover{transform:translateY(-5px)}.light .analysis-card:hover{box-shadow:0 6px 16px #0000001f}.dark .analysis-card:hover{box-shadow:0 6px 16px #00000040}.analysis-card.fullscreen{background-color:#fffffffa;border-radius:0;height:100vh;left:0;margin:0;padding:2rem;position:fixed;top:0;transition:all .3s ease-in-out;width:100%;z-index:1000}@keyframes card-fullscreen{0%{opacity:.9;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.2rem}.card-header h3{font-size:.95rem;font-weight:600;margin:0;padding-bottom:.8rem}.light .card-header h3{border-bottom:2px solid #e6f0ff;color:#1a365d}.dark .card-header h3{border-bottom:2px solid #2d3748;color:#90cdf4}.card-actions{display:flex;gap:.5rem}.card-action-btn{background:#0000;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;padding:.4rem .8rem;transition:all .2s ease}.light .card-action-btn{border:1px solid #4299e1;color:#4299e1}.light .card-action-btn:hover{background-color:#4299e1;color:#fff}.dark .card-action-btn{border:1px solid #90cdf4;color:#90cdf4}.dark .card-action-btn:hover{background-color:#90cdf4;color:#1e1e2f}.chart-container{background-color:initial;border-radius:8px;height:350px;margin-bottom:.5rem;padding:1.5rem;position:relative;transition:all .3s ease}.light .chart-container{box-shadow:0 2px 8px #0000000d}.dark .chart-container{box-shadow:0 2px 8px #0000001a}.fullscreen .chart-container{height:calc(100% - 60px);min-height:400px}.chart-placeholder{align-items:center;border:1px dashed #ccc;border-radius:4px;display:flex;justify-content:center;min-height:200px;padding:2rem;text-align:center}.light .chart-placeholder{background-color:#fff;border-color:#ccc}.dark .chart-placeholder{background-color:#2d3748;border-color:#4a5568}.analysis-summary{border-radius:10px;box-shadow:0 4px 12px #00000014;margin-top:1rem;padding:2rem;transition:background-color .3s ease,box-shadow .3s ease}.light .analysis-summary{background-color:#fff}.dark .analysis-summary{background-color:#252540;box-shadow:0 4px 12px #00000026}.analysis-summary h3{color:#1a365d;font-size:.95rem;margin-bottom:1rem}.analysis-summary ul{padding-left:1.5rem}.analysis-summary li{font-size:.85rem;line-height:1.6;margin-bottom:1rem;position:relative}.light .analysis-summary li{color:#4a5568}.dark .analysis-summary li{color:#cbd5e0}.analysis-summary li:before{border-radius:50%;content:"";height:8px;left:-1.5rem;position:absolute;top:.5rem;width:8px}.light .analysis-summary li:before{background-color:#4299e1}.dark .analysis-summary li:before{background-color:#90cdf4}@media (max-width:992px){.data-analysis-container{grid-template-columns:1fr}.chart-container{height:300px}.analysis-card.fullscreen{height:calc(100vh - 200px)}.simulator-controls{grid-template-columns:1fr}}@media (max-width:768px){.App-section{padding:1.5rem}.data-analysis-container{gap:1.5rem}.analysis-card{padding:1.2rem}.chart-container{height:280px;padding:1rem}.analysis-summary{padding:1.5rem}.action-btn,.theme-toggle{font-size:.85rem;padding:.4rem .8rem}.section-header h2{font-size:1.1rem}.simulator-container{padding:1.2rem}.simulator-header h3{font-size:.95rem}.run-simulation-btn{font-size:.95rem;padding:.7rem 1.2rem}}h3.section-title{color:#1a365d;font-size:.95rem;margin-bottom:1rem}.simulator-container{background-color:initial;border-radius:10px;margin-bottom:2.5rem;padding:1.8rem;transition:all .3s ease}.light .simulator-container{background-color:#fff;box-shadow:0 4px 12px #00000014}.dark .simulator-container{background-color:#252540;box-shadow:0 4px 12px #00000026}.simulator-header{margin-bottom:1.5rem}.simulator-header h3{color:#1a365d;font-size:.95rem;margin-bottom:.5rem;margin-top:0}.light .simulator-header h3{border-bottom:2px solid #e6f0ff;color:#1a365d}.dark .simulator-header h3{border-bottom:2px solid #2d3748;color:#90cdf4}.simulator-header p{font-size:.85rem;margin:.5rem 0 1rem}.simulator-controls{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:1.5rem}.control-group{display:flex;flex-direction:column}.control-group label{color:#4a5568;font-size:.85rem;margin-bottom:.5rem}.light .control-group label{color:#4a5568}.dark .control-group label{color:#cbd5e0}.control-group input[type=range]{-webkit-appearance:none;background-color:#e2e8f0;border-radius:4px;height:8px;margin:.3rem 0;width:100%}.light .control-group input[type=range]{background-color:#e2e8f0}.dark .control-group input[type=range]{background-color:#2d3748}.control-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background-color:#3182ce;border-radius:50%;cursor:pointer;height:18px;-webkit-transition:all .2s ease;transition:all .2s ease;width:18px}.light .control-group input[type=range]::-webkit-slider-thumb{background-color:#3182ce;border:2px solid #fff}.dark .control-group input[type=range]::-webkit-slider-thumb{background-color:#63b3ed;border:2px solid #1a202c}.control-group input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.1)}.range-values{display:flex;font-size:.75rem;justify-content:space-between;margin-top:.3rem}.light .range-values{color:#718096}.dark .range-values{color:#a0aec0}.run-simulation-btn{background-color:#4299e1;border:none;border-radius:5px;box-shadow:0 2px 6px #4299e14d;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;grid-column:1/-1;justify-self:center;margin-top:1rem;padding:.8rem 1.5rem;transition:all .3s ease}.run-simulation-btn:hover{background-color:#3182ce;box-shadow:0 4px 8px #4299e166;transform:translateY(-2px)}.dark .run-simulation-btn{background-color:#4299e1;box-shadow:0 2px 6px #4299e180}.dark .run-simulation-btn:hover{background-color:#3182ce}.simulation-results{margin-top:2rem}.simulation-chart{height:300px;margin-bottom:1.5rem}.results-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:1.5rem}.result-item{border-radius:8px;padding:1rem}.light .result-item{background-color:#f8fafc;border:1px solid #e2e8f0}.dark .result-item{background-color:#1a202c;border:1px solid #2d3748}.result-item h4{font-size:.85rem;margin-bottom:.8rem;margin-top:0;text-align:center}.light .result-item h4{color:#2d3748}.dark .result-item h4{color:#e2e8f0}.result-item:first-child h4{color:#3182ce}.dark .result-item:first-child h4{color:#63b3ed}.result-item:nth-child(2) h4{color:#e53e3e}.dark .result-item:nth-child(2) h4{color:#fc8181}.result-item:nth-child(3) h4{color:#38a169}.dark .result-item:nth-child(3) h4{color:#68d391}.result-item ul{list-style:none;padding:0}.result-item li{font-size:.85rem;line-height:1.6}.light .result-item li{color:#4a5568}.dark .result-item li{color:#cbd5e0}.result-item strong{font-weight:600}.light .result-item:first-child strong{color:#3182ce}.dark .result-item:first-child strong{color:#63b3ed}.light .result-item:nth-child(2) strong{color:#e53e3e}.dark .result-item:nth-child(2) strong{color:#fc8181}.light .result-item:nth-child(3) strong{color:#38a169}.dark .result-item:nth-child(3) strong{color:#68d391}.simulation-conclusion{border-radius:8px;margin-top:1rem;padding:1rem}.light .simulation-conclusion,.simulation-conclusion{background-color:#f7fafc;border-left:4px solid #4299e1}.dark .simulation-conclusion{background-color:#1a202c;border-left:4px solid #4299e1}.simulation-conclusion h4{color:#2d3748;font-size:.85rem;margin-bottom:.8rem;margin-top:0}.light .simulation-conclusion h4{color:#2d3748}.dark .simulation-conclusion h4{color:#e2e8f0}.simulation-conclusion p{font-size:.85rem;line-height:1.5;margin:0}.light .simulation-conclusion p{color:#4a5568}.dark .simulation-conclusion p{color:#cbd5e0}.simulation-conclusion strong{font-weight:600}.light .simulation-conclusion strong{color:#3182ce}.dark .simulation-conclusion strong{color:#63b3ed}@media (max-width:768px){.simulator-container{padding:1.2rem}.simulator-controls{grid-template-columns:1fr}.simulation-chart{height:250px}.results-grid{grid-template-columns:1fr}}.scenario-selector{background-color:initial;border-radius:10px;margin-bottom:1.5rem;padding:1.5rem;transition:all .3s ease}.light .scenario-selector{background-color:#fff;box-shadow:0 4px 12px #00000014}.dark .scenario-selector{background-color:#252540;box-shadow:0 4px 12px #00000026}.scenario-selector h3{color:#1a365d;font-size:.95rem;margin-bottom:1rem;margin-top:0}.scenario-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:1rem}.scenario-btn{background-color:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;cursor:pointer;font-size:.95rem;padding:.7rem 1.2rem;transition:all .3s ease}.scenario-btn.active{background-color:#3182ce;border-color:#3182ce;color:#fff}.scenario-btn:hover:not(.active){background-color:#e2e8f0}.scenario-description{background-color:#fff;border-left:4px solid #3182ce;border-radius:4px;font-size:.85rem;line-height:1.5;margin-top:1rem;padding:1rem}.network-type-selector{grid-column:1/-1;margin-bottom:1rem}.network-type-options{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem}.network-type-option{align-items:center;cursor:pointer;display:flex;font-size:.85rem}.network-type-option input{margin-right:.5rem}.performance-analysis{border-radius:8px;margin-top:1rem;padding:1rem}.light .performance-analysis,.performance-analysis{background-color:#f7fafc;border-left:4px solid #4299e1}.dark .performance-analysis{background-color:#1a202c;border-left:4px solid #4299e1}.performance-analysis h4{color:#2d3748;font-size:.85rem;margin-bottom:.8rem;margin-top:0}.performance-analysis p{font-size:.85rem;line-height:1.5;margin:.5rem 0}.factors-impact{margin-top:1rem}.factors-impact h5{color:#2d3748;font-size:.85rem;margin:.5rem 0}.factors-impact ul{list-style-type:disc;margin:.5rem 0;padding-left:1.5rem}.factors-impact li{font-size:.85rem;line-height:1.5;margin-bottom:.5rem}.light .network-info,.network-info{background-color:#edf2f7}.dark .network-info{background-color:#2d3748}.research-section{animation:fade-in .5s ease;margin-bottom:2rem}@keyframes fade-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.research-tabs{border-bottom:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem;padding-bottom:1rem}.tab-button{background-color:#e2e8f0;border:none;border-radius:4px;color:#4a5568;cursor:pointer;font-size:.9rem;padding:.6rem 1.2rem;transition:all .3s ease}.tab-button:hover{background-color:#cbd5e0}.tab-button.active{background-color:#4299e1;color:#fff}.publication-list{list-style:none;padding:0}.data-item,.doc-item,.other-item,.patent-item,.publication-item,.standard-item{background-color:#fff;border-radius:6px;box-shadow:0 2px 4px #00000014;margin-bottom:.8rem;padding:1rem;position:relative;transition:all .3s ease}.patent-item,.publication-item{border-left:3px solid #4299e1}.data-item:hover,.doc-item:hover,.other-item:hover,.patent-item:hover,.publication-item:hover,.standard-item:hover{box-shadow:0 4px 15px #0000001a;transform:translateY(-3px)}.data-title,.doc-title,.other-title,.patent-title,.publication-title,.standard-title{color:#2c3e50;font-size:1rem;font-weight:600;margin-bottom:.4rem}.doc-author,.patent-authors,.publication-authors,.standard-org{color:#546e7a;font-size:.9rem;margin-bottom:.2rem}.data-date,.doc-date,.doc-version,.other-date,.other-info span,.patent-date,.patent-number,.publication-venue,.standard-date,.standard-number{color:#607d8b;font-size:.85rem;margin-bottom:.2rem}.publication-abstract{color:#4a5568;font-size:.9rem;line-height:1.5;margin-bottom:.8rem}.publication-keywords{color:#718096;font-size:.85rem}.patent-list{list-style:none;padding:0}.patent-item{background-color:#fff;border-left:3px solid #4299e1;border-radius:6px;box-shadow:0 2px 4px #00000014;margin-bottom:.8rem;padding:1rem;position:relative;transition:all .3s ease}.patent-item:hover{box-shadow:0 4px 15px #0000001a;transform:translateY(-3px)}.patent-status{color:#3182ce;font-size:.85rem;font-weight:500;margin-bottom:.8rem}.patent-abstract{color:#4a5568;font-size:.9rem;line-height:1.5}.standard-list{list-style:none;padding:0}.standard-item{background-color:#fff;border-left:3px solid #38a169;border-radius:6px;box-shadow:0 2px 4px #00000014;margin-bottom:.8rem;padding:1rem;position:relative;transition:all .3s ease}.standard-item:hover{box-shadow:0 4px 15px #0000001a;transform:translateY(-3px)}.standard-status{color:#38a169;font-size:.85rem;font-weight:500;margin-bottom:.8rem}.standard-abstract{color:#4a5568;font-size:.9rem;line-height:1.5}.data-section{margin-top:.5rem}.data-intro{background-color:#ebf8ff;border-left:4px solid #4299e1;border-radius:8px;color:#4a5568;font-size:.95rem;line-height:1.6;margin-bottom:1.5rem;padding:1rem}.data-list{list-style:none;padding:0}.data-item{background-color:#fff;border-left:3px solid #2b6cb0;border-radius:6px;box-shadow:0 2px 4px #00000014;margin-bottom:.8rem;padding:1rem;position:relative;transition:all .3s ease}.data-item:hover{box-shadow:0 4px 15px #0000001a;transform:translateY(-3px)}.data-description{color:#4a5568;font-size:.9rem;line-height:1.5;margin-bottom:1rem}.data-info{color:#718096;display:flex;flex-wrap:wrap;font-size:.85rem;gap:.8rem;margin-bottom:.6rem}.data-link,.doc-link,.other-link{background-color:#4299e1;border-radius:4px;color:#fff;display:inline-block;font-size:.85rem;padding:.4rem .8rem;text-decoration:none;transition:all .3s ease}.data-link:hover,.doc-link:hover,.other-link:hover{background-color:#3182ce;transform:translateY(-2px)}.docs-section{margin-top:.5rem}.docs-list{list-style:none;padding:0}.doc-item{align-items:flex-start;background-color:#fff;border-left:3px solid #4299e1;border-radius:6px;box-shadow:0 2px 4px #00000014;display:flex;gap:1rem;margin-bottom:.8rem;padding:1rem;position:relative;transition:all .3s ease}.doc-item:hover{box-shadow:0 4px 15px #0000001a;transform:translateY(-3px)}.doc-icon{color:#4299e1;font-size:1.8rem}.doc-content{flex:1 1}.doc-title{color:#2b6cb0;font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.doc-info{color:#718096;display:flex;flex-wrap:wrap;font-size:.85rem;gap:1rem;margin-bottom:.8rem}.doc-description{color:#4a5568;font-size:.9rem;line-height:1.5;margin-bottom:.8rem}.doc-link{background-color:#4299e1;border-radius:4px;color:#fff;display:inline-block;font-size:.85rem;padding:.4rem .8rem;text-decoration:none;transition:all .3s ease}.doc-link:hover{background-color:#3182ce;transform:translateY(-2px)}.others-section{margin-top:.5rem}.others-list{list-style:none;padding:0}.other-item{align-items:flex-start;background-color:#fff;border-left:3px solid #805ad5;border-radius:6px;box-shadow:0 2px 4px #00000014;display:flex;gap:1rem;margin-bottom:.8rem;padding:1rem;position:relative;transition:all .3s ease}.other-item:hover{box-shadow:0 4px 15px #0000001a;transform:translateY(-3px)}.other-icon{color:#805ad5;font-size:1.8rem}.other-content{flex:1 1}.other-title{color:#553c9a;font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.other-info{color:#718096;display:flex;flex-wrap:wrap;font-size:.85rem;gap:1rem;margin-bottom:.8rem}.other-description{color:#4a5568;font-size:.9rem;line-height:1.5;margin-bottom:.8rem}.other-link{background-color:#805ad5;border-radius:4px;color:#fff;display:inline-block;font-size:.85rem;padding:.4rem .8rem;text-decoration:none;transition:all .3s ease}.other-link:hover{background-color:#6b46c1;transform:translateY(-2px)}@media (max-width:768px){.research-tabs{gap:.5rem}.tab-button{font-size:.8rem;padding:.5rem .8rem}.data-title,.doc-title,.other-title,.patent-title,.publication-title,.standard-title{font-size:1rem}.doc-item,.other-item{flex-direction:column}.doc-icon,.other-icon{margin-bottom:.5rem}}@media (prefers-color-scheme:dark){.patent-item,.publication-item,.standard-item{background-color:#2d3748;border-left-color:#4299e1}.patent-title,.publication-title,.standard-title{color:#e2e8f0}.patent-authors,.publication-authors,.standard-org{color:#cbd5e0}.patent-date,.patent-number,.publication-venue,.standard-date{color:#a0aec0}}.section-header{display:flex;justify-content:flex-end;margin-bottom:1rem}.edit-toggle-btn{background-color:#f7fafc;border:1px solid #e2e8f0;border-radius:4px;color:#4a5568;cursor:pointer;font-size:.85rem;padding:.4rem .8rem;transition:all .3s ease}.edit-toggle-btn:hover{background-color:#edf2f7}.edit-toggle-btn.active{background-color:#4299e1;border-color:#4299e1;color:#fff}.delete-btn{align-items:center;background-color:#e53e3e;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1rem;height:1.5rem;justify-content:center;line-height:1;position:absolute;right:.5rem;top:.5rem;transition:all .3s ease;width:1.5rem}.delete-btn:hover{background-color:#c53030;transform:scale(1.1)}.modal-overlay{align-items:center;background-color:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.modal-content{background-color:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;max-height:80vh;max-width:600px;overflow-y:auto;padding:1.5rem;position:relative;width:90%}.modal-title{border-bottom:1px solid #e2e8f0;color:#2c3e50;font-size:1.25rem;margin-bottom:1.5rem;margin-top:0;padding-bottom:.75rem}.form-group{margin-bottom:1rem}.form-group label{color:#4a5568;display:block;font-weight:500;margin-bottom:.5rem}.form-group input,.form-group textarea{border:1px solid #cbd5e0;border-radius:4px;font-size:.95rem;padding:.5rem;width:100%}.form-group textarea{min-height:80px;resize:vertical}.form-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}.add-btn,.cancel-btn,.submit-btn,.upload-btn{border-radius:4px;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .3s ease}.submit-btn{background-color:#4299e1;border:none;color:#fff}.submit-btn:hover{background-color:#3182ce}.cancel-btn{background-color:#e2e8f0;border:1px solid #cbd5e0;color:#4a5568}.cancel-btn:hover{background-color:#edf2f7}.add-btn{background-color:#38a169;border:none;color:#fff;margin-right:.75rem}.add-btn:hover{background-color:#2f855a}.attachment-container{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.attachment-item{align-items:center;background-color:#f7fafc;border:1px solid #e2e8f0;border-radius:4px;display:flex;justify-content:space-between;padding:.5rem}.attachment-name{color:#4a5568;font-size:.9rem}.attachment-delete{align-items:center;background-color:#e53e3e;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:.9rem;height:1.5rem;justify-content:center;width:1.5rem}.attachment-delete:hover{background-color:#c53030}.upload-btn{background-color:#4299e1;border:none;color:#fff;margin-top:.5rem;width:fit-content}.upload-btn:hover{background-color:#3182ce}.publication-attachments{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.attachment-badge{background-color:#ebf8ff;border-radius:4px;color:#2b6cb0;cursor:pointer;display:inline-block;font-size:.8rem;padding:.3rem .5rem;transition:all .2s ease}.attachment-badge:hover{background-color:#bee3f8;transform:translateY(-2px)}.edit-btn{align-items:center;background-color:#f6ad55;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:.85rem;height:1.5rem;justify-content:center;position:absolute;right:2.5rem;top:.5rem;transition:all .3s ease;width:1.5rem}.edit-btn:hover{background-color:#ed8936}.publication-item{cursor:pointer}.publication-item:hover{box-shadow:0 4px 15px #0000001a;transform:translateY(-3px)}.clickable{cursor:pointer}.attachment-name.clickable:hover{color:#2b6cb0;text-decoration:underline}.upload-progress-container{background-color:#f7fafc;border:1px solid #e2e8f0;border-radius:6px;margin-top:15px;padding:10px}.upload-progress-text{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.progress-bar{background-color:#edf2f7;border-radius:4px;height:8px;margin-bottom:8px;overflow:hidden}.progress-bar-inner{background-color:#4299e1;height:100%;transition:width .3s ease}.upload-error{color:#e53e3e;font-size:.85rem;margin-top:8px}.cancel-upload-btn{background-color:#e53e3e;border:1px solid #c53030;border-radius:4px;box-shadow:0 1px 3px #0000001a;color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;margin-left:10px;padding:5px 10px;transition:all .2s ease}.cancel-upload-btn:hover{background-color:#c53030;box-shadow:0 3px 6px #00000026;transform:translateY(-1px)}.no-attachments{color:#a0aec0;font-style:italic;padding:.5rem;text-align:center}.selected-files{margin-bottom:1rem}button:disabled{cursor:not-allowed;opacity:.7}.loading-container{align-items:center;color:#718096;display:flex;flex-direction:column;justify-content:center;padding:2rem}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#4299e1;height:40px;margin-bottom:1rem;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-message{align-items:center;background-color:#fed7d7;border-radius:4px;color:#e53e3e;display:flex;justify-content:space-between;margin-bottom:1rem;padding:.75rem 1rem}.close-error{background:none;border:none;color:#e53e3e;cursor:pointer;font-size:1.25rem;margin-left:.5rem;padding:0}.no-papers{align-items:center;background-color:#f7fafc;border-radius:6px;color:#718096;display:flex;flex-direction:column;padding:2rem;text-align:center}.add-paper-btn{background-color:#38a169;border:none;border-radius:4px;color:#fff;cursor:pointer;margin-top:1rem;padding:.5rem 1rem;transition:all .3s ease}.add-paper-btn:hover{background-color:#2f855a}.standard-form input,.standard-form select,.standard-form textarea{border:1px solid #d9d9d9;border-radius:4px;box-sizing:border-box;height:40px;padding:8px 12px;width:100%}.standard-form textarea{height:120px;resize:vertical}.login-section{align-items:center;display:flex;justify-content:center;min-height:80vh;padding:20px}.login-container{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #0000001a;max-width:450px;padding:30px;transition:all .3s ease;width:100%}.login-header{margin-bottom:30px;text-align:center}.login-header h2{color:#2a6fb6;font-size:1.5rem;margin-bottom:10px}.login-header h3{color:#333;font-size:1.3rem}.login-form{gap:20px}.form-group,.login-form{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{color:#555;font-weight:600}.form-group input{border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:12px 15px;transition:border-color .3s}.form-group input:focus{border-color:#2a6fb6;box-shadow:0 0 0 2px #2a6fb61a;outline:none}.login-button{background-color:#2a6fb6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:10px;padding:12px;transition:background-color .3s}.login-button:hover:not(:disabled){background-color:#1c5a9c}.login-button:disabled{background-color:#94b8e5;cursor:not-allowed}.login-error{background-color:#ffefef;border-radius:4px;color:#e53935;padding:10px 15px}.login-error,.login-info{font-size:.9rem;text-align:center}.login-info{border-top:1px solid #eee;color:#777;margin-top:25px;padding-top:20px}.login-info p{margin:4px 0}@media (prefers-color-scheme:dark){.login-container{background-color:#1e2430;box-shadow:0 4px 12px #0000004d}.login-header h2{color:#6ca0e6}.login-header h3{color:#e0e0e0}.form-group label{color:#ccc}.form-group input{background-color:#2a3140;border-color:#444;color:#e0e0e0}.form-group input:focus{border-color:#6ca0e6;box-shadow:0 0 0 2px #6ca0e633}.login-error{background-color:#e539351a;color:#ff6b6b}.login-info{border-top-color:#444;color:#aaa}}
/*# sourceMappingURL=main.347a92ee.css.map*/