.code-editor,.code-placeholder{top:0;left:0;padding:20px;line-height:1.6;font-family:Consolas,Monaco,monospace;width:100%}.code-editor,.code-placeholder,.error-box{font-family:Consolas,Monaco,monospace}.defense-title,.stat-item{text-align:center}.editor-container{position:relative;margin:0 0 25px;background:#1e1e1e;border-radius:8px;overflow:visible;min-height:600px;border:1px solid #444;display:flex;flex-direction:column;box-shadow:0 4px 8px rgba(0,0,0,.3)}.code-editor,.code-editor:focus{background-color:transparent!important}.editor-wrapper{position:relative;min-height:450px;width:100%;flex:1;margin-bottom:0;isolation:isolate}.code-editor{position:absolute;height:100%;border:none;color:#e0e0e0;font-size:14px;resize:none;z-index:2;caret-color:#00ff00}.code-status,.explanation-box{border-left:5px solid #0f0;position:absolute}.code-editor:focus{outline:0}.code-editor:focus~.code-placeholder{color:#0f0}.code-placeholder{position:absolute;height:calc(100% + 40px);color:rgba(255,255,255,.4);font-size:14px;pointer-events:none;white-space:pre;z-index:1}.code-status p,.defense-option,.explanation-box{color:#fff;font-size:14px}.code-status{padding:15px;background:#252525;border-top:1px solid #444;top:470px;display:flex;flex-direction:column;width:100%;z-index:10;order:2}.progress,.progress-bar{display:block!important}.progress{height:12px!important;background-color:#333!important;border-radius:6px!important;overflow:hidden!important;margin:10px 0!important;width:100%!important;box-shadow:inset 0 1px 3px rgba(0,0,0,.5)!important}.progress-bar{background:linear-gradient(90deg,#0f0,#0c0)!important;transition:width .3s ease-in-out!important;height:100%!important;box-shadow:0 0 10px rgba(0,255,0,.7)!important}.code-status p{margin:5px 0;text-align:right}.explanation-box{background:#252525;padding:15px 20px;top:550px;line-height:1.6;border-bottom-left-radius:8px;border-bottom-right-radius:8px;order:3;margin-top:0}.explanation-box strong{color:#0ff;margin-right:5px}.defense-selector{display:flex;gap:10px;margin-bottom:20px;padding:10px;background:#252525;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.2)}.defense-option{padding:10px 20px;background:#333;border:none;border-radius:4px;cursor:pointer;transition:.3s;font-weight:500;flex:1}.defense-option:hover,.simulation-controls button:hover{background:#444}.analyze-btn,.defense-option.active{background:#0f0;color:#000}.defense-option.disabled{pointer-events:none;cursor:not-allowed}.defense-option.ddos-stop{background:#dc3545;color:#fff}.defense-option.ddos-stop:hover{background:#c82333}.analyze-btn{display:block;width:200px;margin:80px auto;margin-top:80px!important;margin-bottom:20px!important;padding:12px 24px;border:none;border-radius:4px;font-size:16px;font-weight:700;cursor:pointer;transition:transform .3s,box-shadow .3s;box-shadow:0 2px 8px rgba(0,255,0,.3)}.analyze-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,255,0,.5);background:#0c0}.code-editor::-webkit-scrollbar{display:none;overflow:hidden}.error-box{background-color:#332d00;border:1px solid #665800;border-radius:4px;margin:10px;padding:12px 15px;color:#ffeb3b;font-size:14px;display:none;order:0;position:relative;z-index:20;width:calc(100% - 20px)}.error-content{display:flex;justify-content:space-between;align-items:center}.error-line{font-weight:700;margin-right:15px}.error-message{flex-grow:1}@keyframes fadeIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.error-highlight{background-color:rgba(255,0,0,.2);border-bottom:2px wavy}.defense-card,.simulation-container{background:#252525;box-shadow:0 4px 8px rgba(0,0,0,.3)}.simulation-container{display:none;margin-top:2rem;padding:1.5rem;border-radius:8px;border-left:5px solid red}.simulation-container.active{display:block;animation:.3s slideDown}@keyframes slideDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.simulation-container h3{margin-bottom:1rem;color:#fff;font-size:1.5rem}#simulationCanvas{width:100%;height:400px;border:1px solid #444;border-radius:4px;background-color:#1e1e1e;margin-bottom:1rem}.simulation-controls{display:flex;gap:1rem;margin-bottom:1rem}.simulation-controls button{padding:.5rem 1rem;font-weight:700;background:#333;color:#fff;border:none;border-radius:4px;transition:.3s}.simulation-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:1rem;background-color:#252525;border-radius:4px;border:1px solid #444}.stat-item label{display:block;font-weight:700;color:#bbb;margin-bottom:.5rem}.stat-item span{font-size:1.5rem;color:#0ff}#trafficAnalysisContainer{display:flex;flex-direction:column}#trafficAnalysisContainer .editor-wrapper{order:1}#trafficAnalysisContainer .code-status{order:2}#trafficAnalysisContainer .error-box{order:0}#trafficAnalysisContainer .explanation-box{order:3}#rateLimitContainer,#rateLimitContainer[style*="display: block"],#rateLimitContainer[style*="display:"],#securityHeadersContainer,#securityHeadersContainer[style*="display: block"],#securityHeadersContainer[style*="display:"],#trafficAnalysisContainer[style*="display:"]{display:flex!important;flex-direction:column!important}#rateLimitContainer .editor-wrapper,#securityHeadersContainer .editor-wrapper{order:1!important}#rateLimitContainer .code-status,#securityHeadersContainer .code-status{order:2!important}#rateLimitContainer .error-box,#securityHeadersContainer .error-box{order:0!important}#rateLimitContainer .explanation-box,#securityHeadersContainer .explanation-box{order:3!important}.defense-title{color:#fff;font-size:1.5rem;margin-bottom:1rem;padding:.5rem;border-radius:4px;letter-spacing:1px;text-shadow:0 0 10px rgba(0,255,255,.3)}.defense-description{color:#ccc;font-size:1rem;margin-bottom:1.5rem;text-align:center;font-style:italic}.code-section-header{color:#0ff;font-size:1.1rem;margin:1rem 0 .5rem;border-bottom:1px solid #444;padding-bottom:5px}.code-explanation{color:#bbb;font-size:.9rem;margin-bottom:1rem;line-height:1.4}body{background-color:#212121;color:#fff}.defense-card{border-radius:8px;border-left:4px solid #0f0;padding:1rem;margin-bottom:1.5rem}.defense-card h4{color:#0ff;margin-bottom:.5rem}.defense-card p{color:#ccc;margin-bottom:.5rem;line-height:1.5}#rateLimitContainer,#securityHeadersContainer,#trafficAnalysisContainer{display:flex!important;flex-direction:column!important;position:relative!important;clear:both!important;min-height:500px!important;margin-bottom:40px!important;width:100%!important;overflow:hidden!important}#rateLimitContainer:not(.active),#securityHeadersContainer:not(.active),#trafficAnalysisContainer:not(.active){display:none!important;visibility:hidden!important;position:absolute!important;z-index:-1!important;pointer-events:none!important;opacity:0!important}#rateLimitContainer.active,#securityHeadersContainer.active,#trafficAnalysisContainer.active{display:flex!important;visibility:visible!important;position:relative!important;z-index:10!important;pointer-events:auto!important;opacity:1!important}#rateLimitContainer .error-box,#securityHeadersContainer .error-box,#trafficAnalysisContainer .error-box{order:0!important;display:none;position:relative!important;z-index:20!important;margin-bottom:10px!important}#rateLimitContainer .editor-wrapper,#securityHeadersContainer .editor-wrapper,#trafficAnalysisContainer .editor-wrapper{order:1!important;position:relative!important;flex:1!important;min-height:350px!important}#rateLimitContainer .code-status,#securityHeadersContainer .code-status,#trafficAnalysisContainer .code-status{order:2!important;position:relative!important;margin-top:0!important}#rateLimitContainer .explanation-box,#securityHeadersContainer .explanation-box,#trafficAnalysisContainer .explanation-box{order:3!important;position:relative!important;margin-top:0!important}#rateLimitContainer:not(.active),#securityHeadersContainer:not(.active){display:none!important}#rateLimitContainer,#securityHeadersContainer{position:relative!important;height:auto!important;min-height:550px!important}#rateLimitContainer .editor-wrapper,#securityHeadersContainer .editor-wrapper{margin-bottom:0!important;order:1!important}#rateLimitContainer .code-status{width:100%!important;z-index:10!important;margin-top:175px!important;order:2!important}#rateLimitContainer .explanation-box,#securityHeadersContainer .explanation-box{order:3!important;margin-top:0!important;position:relative!important;z-index:11!important}#securityHeadersContainer .code-status{width:100%!important;z-index:10!important;margin-top:100px!important;order:2!important}