.http-container{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:linear-gradient(135deg,#4a5568,#2d3748);padding:24px;border-radius:16px;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);width:100%;box-sizing:border-box;color:#fff}.controls{text-align:center;margin-bottom:24px}.controls-compact{text-align:center;margin-bottom:16px;background:#ffffff0d;padding:12px;border-radius:12px;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.controls-compact h3{color:#fff;margin:0 0 12px;font-size:20px;text-shadow:0 2px 4px rgba(0,0,0,.3)}.essential-controls{margin-bottom:12px}.method-scenario-row{display:flex;gap:12px;justify-content:center;align-items:center;flex-wrap:wrap;margin-bottom:10px}.method-buttons-compact,.scenario-buttons-compact{display:flex;gap:4px;flex-wrap:wrap}.method-btn-compact,.scenario-btn-compact{padding:6px 10px;border:2px solid transparent;border-radius:20px;background:#ffffff1a;color:#fff;font-weight:500;font-size:12px;cursor:pointer;transition:all .3s ease}.method-btn-compact:hover,.scenario-btn-compact:hover{transform:translateY(-2px);background:#fff3}.method-btn-compact.active,.scenario-btn-compact.active{background:#ffffff4d;transform:scale(1.05)}.section-toggles{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}.toggle-btn{padding:8px 12px;border:none;border-radius:20px;background:#ffffff1a;color:#fff;font-size:14px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:4px}.toggle-btn:hover{background:#fff3;transform:translateY(-1px)}.toggle-btn.active{background:#4caf504d;box-shadow:0 0 10px #4caf5080}.collapsible-section{margin:8px 0;padding:8px;background:#ffffff14;border-radius:8px;border:1px solid rgba(255,255,255,.1)}.section-buttons{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}.section-btn{padding:8px 10px;border:none;border-radius:50%;background:#ffffff26;color:#fff;font-size:16px;cursor:pointer;transition:all .3s ease;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.section-btn:hover{transform:scale(1.1);background:#ffffff40}.section-btn.active{background:#4caf5066;box-shadow:0 0 10px #4caf5099}.section-btn.secure{background:#4caf5066}.section-btn.insecure{background:#ff980066}.section-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.content-preview-buttons-compact{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}.preview-btn-compact{padding:6px 8px;border:none;border-radius:50%;background:#ffffff26;color:#fff;font-size:14px;cursor:pointer;transition:all .3s ease;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.preview-btn-compact:hover{transform:scale(1.1);background:#ffffff40}.security-warning-compact{margin-top:6px;padding:4px 8px;background:#ff980033;border-radius:16px;font-size:11px;color:#ff9800;border:1px solid rgba(255,152,0,.3)}.progress-bar-compact{width:100%;height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden;margin-bottom:6px}.progress-text-compact{color:#fff;font-size:12px;text-align:center;display:block;opacity:.9;font-weight:500}.controls h3{color:#fff;margin:0 0 20px;font-size:24px;text-shadow:0 2px 4px rgba(0,0,0,.3)}.animation-controls{display:flex;gap:8px;justify-content:center;margin-bottom:16px;flex-wrap:wrap}.animation-controls-toolbar{display:flex;gap:8px;justify-content:center;margin-bottom:8px;flex-wrap:wrap;background:#ffffff1a;padding:12px;border-radius:8px;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.animation-progress{text-align:center;margin-bottom:16px;padding:8px 12px;background:#ffffff0d;border-radius:6px;border:1px solid rgba(255,255,255,.1)}.control-btn{padding:8px 12px;border:none;border-radius:8px;background:#ffffff26;color:#fff;cursor:pointer;transition:all .2s;font-size:16px;min-width:40px}.control-btn:hover:not(:disabled){background:#ffffff40;transform:translateY(-1px)}.control-btn:disabled{opacity:.5;cursor:not-allowed}.progress-container{margin-bottom:20px}.progress-bar{width:100%;height:8px;background:#fff3;border-radius:4px;overflow:hidden;margin-bottom:8px}.progress-fill{height:100%;background:linear-gradient(90deg,#3498db,#27ae60);border-radius:4px;transition:width .3s ease}.progress-text{font-size:14px;color:#fffc}.method-buttons,.scenario-buttons{display:flex;gap:12px;justify-content:center;margin-bottom:16px;flex-wrap:wrap}.method-btn,.scenario-btn{padding:10px 16px;border:2px solid transparent;border-radius:24px;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(10px);color:#fff;background:#ffffff1a;text-transform:capitalize}.method-btn:hover,.scenario-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0003;background:#fff3}.method-btn.active,.scenario-btn.active{background:#ffffff40;box-shadow:0 4px 15px #0003;transform:scale(1.05)}.method-info{background:#ffffff26;border-radius:12px;padding:20px;border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(10px);text-align:left;max-width:600px;margin:20px auto}.method-info h4{margin:0 0 12px;font-size:18px;font-weight:700}.method-description{margin:0 0 12px;font-size:14px;line-height:1.5;color:#ffffffe6}.method-examples{font-size:13px;line-height:1.4;color:#fffc;margin-bottom:12px}.content-indicators{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.content-type,.response-size{font-size:12px;color:#ffffffe6}.compression-indicator{margin-left:8px;padding:2px 6px;background:#22c55e33;border-radius:4px;font-size:10px;color:#22c55e}.content-preview-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.preview-btn{padding:6px 10px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff;font-size:11px;cursor:pointer;transition:all .2s}.preview-btn:hover{background:#fff3;transform:translateY(-1px)}.education-controls{text-align:center;margin-bottom:20px;background:#ffffff0d;padding:16px;border-radius:10px;border:1px solid rgba(255,255,255,.1)}.education-controls h4{margin:0 0 12px;color:#fff;font-size:16px}.education-buttons{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.education-btn{padding:8px 14px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:20px;color:#fff;font-size:12px;cursor:pointer;transition:all .3s ease}.education-btn:hover{background:#fff3;transform:translateY(-1px)}.education-btn.active{background:#3b82f64d;border-color:#3b82f680;box-shadow:0 0 15px #3b82f64d}.security-controls{text-align:center;margin-bottom:20px;background:#ffffff0d;padding:16px;border-radius:10px;border:1px solid rgba(255,255,255,.1)}.security-controls h4{margin:0 0 12px;color:#fff;font-size:16px}.security-buttons{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:12px}.security-btn{padding:8px 14px;border:1px solid rgba(255,255,255,.2);border-radius:20px;color:#fff;font-size:12px;cursor:pointer;transition:all .3s ease;background:#ffffff1a}.security-btn:hover:not(:disabled){transform:translateY(-1px)}.security-btn:disabled{opacity:.5;cursor:not-allowed}.security-btn.secure{background:#22c55e33;border-color:#22c55e80;box-shadow:0 0 15px #22c55e33}.security-btn.insecure{background:#ef444433;border-color:#ef444480;box-shadow:0 0 15px #ef444433}.security-btn.active{background:#a855f74d;border-color:#a855f780;box-shadow:0 0 15px #a855f74d}.security-warning{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;padding:8px 12px;margin-top:8px;font-size:12px;color:#fecaca}.diagram-container{background:#ffffff0d;border-radius:12px;padding:16px;margin-bottom:24px}.http-diagram{width:100%;height:auto}.client-box,.server-box,.dns-box,.router-box{transition:all .3s ease;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}.client-box.active{filter:drop-shadow(0 4px 16px rgba(59,130,246,.4));animation:pulse 2s infinite}.server-box.active{filter:drop-shadow(0 4px 16px rgba(16,185,129,.4));animation:pulse 2s infinite}.dns-box.active{filter:drop-shadow(0 4px 16px rgba(168,85,247,.4));animation:pulse 2s infinite}.router-box.active{filter:drop-shadow(0 4px 16px rgba(245,158,11,.4));animation:pulse 2s infinite}.hoverable{cursor:pointer}.hoverable:hover{stroke-width:3!important;filter:drop-shadow(0 6px 20px rgba(59,130,246,.6))!important}.tooltip-overlay{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1000;pointer-events:none}.tooltip-content{background:#000000e6;color:#fff;padding:16px;border-radius:10px;border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(20px);max-width:350px;box-shadow:0 10px 40px #00000080}.tooltip-content h5{margin:0 0 8px;color:#60a5fa;font-size:16px;font-weight:700}.tooltip-description{margin:0 0 12px;font-size:14px;line-height:1.4}.tooltip-details{font-size:12px;line-height:1.5}.detail-item{color:#fffc;margin-bottom:4px}.education-panel{background:#ffffff1a;border-radius:12px;padding:20px;margin-bottom:20px;border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(10px)}.animate-draw{stroke-dasharray:500;stroke-dashoffset:500;animation:drawLine 1s ease-out forwards}.animate-fade-in{opacity:0;animation:fadeIn .5s ease-out .5s forwards}.request-message,.response-message{filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.request-message rect,.response-message rect{animation:envelopeBounce .3s ease-out}.request-message text,.response-message text{pointer-events:none}.content-preview-panel{background:#ffffff1a;border-radius:12px;padding:20px;margin-bottom:20px;border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(10px)}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.panel-header h4{margin:0;color:#fff;font-size:18px}.close-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.3);border-radius:50%;width:32px;height:32px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.close-btn:hover{background:#fff3;transform:scale(1.1)}.preview-content{margin-bottom:20px}.preview-content h5{margin:0 0 12px;color:#fff;font-size:16px;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:8px}.headers-display{background:#0000004d;border-radius:8px;padding:16px;font-family:Courier New,Monaco,monospace;font-size:12px;line-height:1.6}.http-line{color:#60a5fa;font-weight:700;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1)}.header-line{color:#ffffffe6;margin-bottom:4px}.header-name{color:#fbbf24;font-weight:700}.header-value{color:#34d399}.payload-display{background:#0000004d;border-radius:8px;padding:16px}.content-type-label{font-size:12px;color:#fbbf24;margin-bottom:12px;font-family:Courier New,Monaco,monospace}.size-indicator{color:#60a5fa;font-weight:700}.payload-content{margin:0;padding:0;background:none;color:#34d399;font-family:Courier New,Monaco,monospace;font-size:12px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}.education-content{color:#fff}.education-content h5{margin:0 0 16px;font-size:18px;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:8px}.best-practices-list{display:flex;flex-direction:column;gap:8px}.practice-item{padding:8px 12px;border-radius:6px;font-size:14px;line-height:1.4}.practice-item.good{background:#22c55e1a;border-left:3px solid #22c55e;color:#bbf7d0}.practice-item.bad{background:#ef44441a;border-left:3px solid #ef4444;color:#fecaca}.practice-item.tip{background:#3b82f61a;border-left:3px solid #3b82f6;color:#dbeafe}.protocol-stack{display:flex;flex-direction:column;gap:12px}.protocol-layer{background:#0000004d;border-radius:8px;padding:16px;border-left:4px solid}.layer-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.layer-number{background:#fff3;color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.layer-name{font-weight:700;font-size:16px;color:#fff}.protocol-name{font-weight:700;font-size:14px;margin-left:auto}.layer-description{font-size:14px;color:#fffc;margin-bottom:12px}.layer-details{display:flex;flex-wrap:wrap;gap:6px}.detail-tag{background:#ffffff1a;color:#ffffffe6;padding:4px 8px;border-radius:4px;font-size:11px}.troubleshooting-section{margin-bottom:24px}.troubleshooting-section h5{color:#f87171;margin-bottom:16px}.troubleshooting-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:16px}.causes-section,.solutions-section{background:#0003;padding:16px;border-radius:8px}.causes-section h6,.solutions-section h6{margin:0 0 12px;font-size:14px;color:#fbbf24}.cause-item,.solution-item{font-size:13px;line-height:1.4;margin-bottom:8px;color:#ffffffe6}.success-tips{display:flex;flex-direction:column;gap:8px;margin-top:12px}.tip-item{background:#22c55e1a;border-left:3px solid #22c55e;padding:8px 12px;border-radius:4px;font-size:14px;color:#bbf7d0}.security-panel{border-left:4px solid #22c55e}.handshake-steps,.auth-steps{display:flex;flex-direction:column;gap:16px}.handshake-step,.auth-step{background:#0000004d;border-radius:8px;padding:16px;border-left:3px solid #22c55e}.step-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.step-icon{font-size:20px}.step-number{background:#22c55e4d;color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.step-name{font-weight:700;font-size:16px;color:#fff}.step-description{font-size:14px;color:#ffffffe6;margin-bottom:8px}.step-detail{font-size:12px;color:#ffffffb3;font-style:italic}.jwt-example{margin-top:24px;background:#0000004d;border-radius:8px;padding:16px;border-left:3px solid #a855f7}.jwt-example h6{margin:0 0 12px;color:#a855f7;font-size:14px}.jwt-parts{display:flex;flex-direction:column;gap:8px}.jwt-part{display:flex;flex-direction:column;gap:4px}.part-label{font-size:12px;font-weight:700;color:#fbbf24}.jwt-part code{background:#00000080;padding:8px;border-radius:4px;font-family:Courier New,Monaco,monospace;font-size:11px;color:#34d399}.jwt-part.header code{color:#60a5fa}.jwt-part.payload code{color:#34d399}.jwt-part.signature code{color:#f87171}.security-section{margin-bottom:20px}.security-section h5{color:#22c55e;margin-bottom:12px;font-size:16px;border-bottom:1px solid rgba(34,197,94,.3);padding-bottom:6px}.practices-list{display:flex;flex-direction:column;gap:8px}.https-indicator,.certificate-indicator,.auth-indicator{animation:securityPulse 2s ease-in-out infinite}.http-warning{animation:warningPulse 1.5s ease-in-out infinite}@keyframes securityPulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes warningPulse{0%,to{opacity:1}50%{opacity:.5}}.status-codes-panel{background:#ffffff1a;border-radius:12px;padding:20px;border:1px solid rgba(255,255,255,.2)}.status-codes-panel h4{margin:0 0 16px;text-align:center;color:#fff}.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:8px}.status-item{display:flex;padding:8px 12px;background:#ffffff0d;border-radius:6px;transition:all .2s}.status-item.highlighted{background:#fff3;transform:scale(1.02)}.status-code{font-weight:700;margin-right:12px;min-width:40px;color:#fbbf24}.status-description{color:#ffffffe6;font-size:14px}@keyframes drawLine{to{stroke-dashoffset:0}}@keyframes fadeIn{to{opacity:1}}@keyframes envelopeBounce{0%{transform:scale(.8) rotate(-5deg)}50%{transform:scale(1.1) rotate(2deg)}to{transform:scale(1) rotate(0)}}@media (max-width: 768px){.http-container{padding:12px;border-radius:8px}.controls-compact{padding:8px;margin-bottom:12px}.controls-compact h3{font-size:18px;margin-bottom:8px}.method-scenario-row{gap:8px;margin-bottom:8px}.method-buttons-compact,.scenario-buttons-compact{gap:3px}.method-btn-compact,.scenario-btn-compact{padding:4px 8px;font-size:11px}.section-toggles{gap:4px}.toggle-btn{padding:6px 8px;font-size:12px}.section-btn{width:35px;height:35px;font-size:14px}.preview-btn-compact{width:28px;height:28px;font-size:12px}.animation-controls-toolbar{gap:4px;padding:6px;margin-bottom:6px}.animation-progress{margin-bottom:12px;padding:6px 8px}.control-btn{padding:6px 8px;font-size:12px;min-width:32px}.http-diagram{height:250px}.diagram-container{margin-bottom:16px}.security-warning-compact{font-size:10px;padding:2px 6px}.collapsible-section{padding:6px;margin:6px 0}.progress-text-compact{font-size:11px}.status-grid{grid-template-columns:1fr}}@media (max-width: 480px){.http-container{padding:8px;border-radius:6px}.controls-compact{padding:6px}.controls-compact h3{font-size:16px}.method-scenario-row{flex-direction:column;gap:6px}.method-btn-compact,.scenario-btn-compact{padding:3px 6px;font-size:10px}.http-diagram{height:200px}.animation-controls-toolbar{padding:4px;margin-bottom:4px}.animation-progress{margin-bottom:8px;padding:5px 6px}.control-btn{padding:4px 6px;font-size:11px;min-width:28px}.section-btn{width:30px;height:30px;font-size:12px}.toggle-btn{padding:4px 6px;font-size:11px}.progress-text-compact{font-size:10px}}@media (prefers-reduced-motion: reduce){.animate-draw{animation:none;stroke-dashoffset:0}.animate-fade-in{animation:none;opacity:1}.client-box,.server-box,.control-btn,.method-btn,.scenario-btn{transition:none}}@media (prefers-color-scheme: dark){.http-container{background:linear-gradient(135deg,#1a202c,#2d3748)}}
