.visualizer-container.svelte-xb6lxo{max-width:1400px;margin:0 auto;padding:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.title.svelte-xb6lxo{text-align:center;color:#2d3748;margin-bottom:2rem;font-size:2rem;font-weight:700}.instructions.svelte-xb6lxo{display:grid;grid-template-columns:2fr 1fr;gap:2rem;margin-bottom:2rem}.instruction-card.svelte-xb6lxo{background:#fff;border:2px solid #e2e8f0;border-radius:.75rem;padding:1.5rem}.instruction-card.svelte-xb6lxo h3:where(.svelte-xb6lxo){color:#2d3748;margin-bottom:1rem}.instruction-card.svelte-xb6lxo ol:where(.svelte-xb6lxo){color:#4a5568;line-height:1.6}.legend.svelte-xb6lxo{background:#fff;border:2px solid #e2e8f0;border-radius:.75rem;padding:1.5rem}.legend.svelte-xb6lxo h3:where(.svelte-xb6lxo){color:#2d3748;margin-bottom:1rem}.legend-items.svelte-xb6lxo{display:flex;flex-direction:column;gap:.75rem}.legend-item.svelte-xb6lxo{display:flex;align-items:center;gap:.75rem;color:#4a5568}.legend-icon.svelte-xb6lxo{font-size:1.2rem}.request-info.svelte-xb6lxo{background:linear-gradient(135deg,#f0f4ff,#e6f0ff);border:2px solid #667eea;border-radius:.75rem;padding:1.5rem;margin-bottom:2rem}.request-details.svelte-xb6lxo h3:where(.svelte-xb6lxo){color:#2d3748;margin-bottom:1rem}.request-data.svelte-xb6lxo{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.data-item.svelte-xb6lxo{display:flex;flex-direction:column;gap:.25rem}.label.svelte-xb6lxo{font-size:.8rem;color:#718096;font-weight:600}.value.svelte-xb6lxo{font-weight:600;color:#2d3748}.cache-status.hit.svelte-xb6lxo{color:#48bb78}.cache-status.miss.svelte-xb6lxo{color:#ed8936}.animation-status.svelte-xb6lxo{text-align:center}.status-indicator.svelte-xb6lxo{display:flex;align-items:center;justify-content:center;gap:.5rem;color:#4a5568;font-weight:500}.pulse-dot.svelte-xb6lxo{width:8px;height:8px;background:#667eea;border-radius:50%;animation:svelte-xb6lxo-pulse 1.5s infinite}.map-container.svelte-xb6lxo{background:#fff;border:2px solid #e2e8f0;border-radius:.75rem;padding:1.5rem;margin-bottom:2rem}.map-title.svelte-xb6lxo{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.map-title.svelte-xb6lxo h3:where(.svelte-xb6lxo){color:#2d3748;margin:0}.reset-btn.svelte-xb6lxo{background:#f7fafc;color:#4a5568;border:2px solid #e2e8f0;border-radius:.5rem;padding:.5rem 1rem;cursor:pointer;transition:all .2s}.reset-btn.svelte-xb6lxo:hover:not(:disabled){background:#edf2f7;border-color:#cbd5e0}.reset-btn.svelte-xb6lxo:disabled{opacity:.5;cursor:not-allowed}.world-map.svelte-xb6lxo{position:relative;width:100%;height:400px;background:linear-gradient(135deg,#e6fffa,#b3f5ff);border-radius:.5rem;overflow:hidden;transition:all .3s ease}.world-map.clickable.svelte-xb6lxo{cursor:crosshair}.world-map.clickable.svelte-xb6lxo:hover{box-shadow:0 4px 12px #667eea33}.map-background.svelte-xb6lxo{position:absolute;top:0;left:0;width:100%;height:100%}.continent.svelte-xb6lxo{position:absolute;background:#68d391;border-radius:20px}.north-america.svelte-xb6lxo{left:10%;top:20%;width:25%;height:40%;border-radius:30px 20px 40px}.south-america.svelte-xb6lxo{left:25%;top:55%;width:12%;height:35%;border-radius:15px 10px 25px 15px}.europe.svelte-xb6lxo{left:45%;top:25%;width:15%;height:20%;border-radius:15px}.africa.svelte-xb6lxo{left:48%;top:40%;width:12%;height:30%;border-radius:20px 15px 30px 20px}.asia.svelte-xb6lxo{left:60%;top:20%;width:30%;height:35%;border-radius:40px 30px 25px 35px}.australia.svelte-xb6lxo{left:82%;top:70%;width:12%;height:15%;border-radius:20px}.location.svelte-xb6lxo{position:absolute;transform:translate(-50%,-50%);text-align:center;z-index:10}.location-icon.svelte-xb6lxo{font-size:1.5rem;margin-bottom:.25rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.location-label.svelte-xb6lxo{background:#fff;color:#2d3748;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:600;box-shadow:0 2px 4px #0000001a;margin-bottom:.25rem}.location-details.svelte-xb6lxo{font-size:.6rem;color:#718096}.origin-server.svelte-xb6lxo .location-icon:where(.svelte-xb6lxo){animation:svelte-xb6lxo-pulse 2s infinite}.edge-location.svelte-xb6lxo{position:relative}.cache-indicator.svelte-xb6lxo{position:absolute;top:-8px;right:-8px;background:#48bb78;color:#fff;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600}.cached-count.svelte-xb6lxo{font-size:.6rem}.user-location.svelte-xb6lxo .location-icon:where(.svelte-xb6lxo){animation:svelte-xb6lxo-bounce 1s infinite}.connection.svelte-xb6lxo{position:absolute;z-index:5;pointer-events:none}.connection-line.svelte-xb6lxo{position:absolute;top:50%;left:0;width:100%;height:3px;background:inherit;transform:translateY(-50%);border-radius:2px;opacity:.8}.connection-pulse.svelte-xb6lxo{position:absolute;top:50%;left:0;width:10px;height:10px;background:inherit;border-radius:50%;transform:translateY(-50%);animation:svelte-xb6lxo-connectionPulse 2s ease-in-out infinite}.click-instruction.svelte-xb6lxo{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:15}.instruction-bubble.svelte-xb6lxo{background:#fffffff2;color:#4a5568;padding:1rem 1.5rem;border-radius:2rem;box-shadow:0 4px 12px #00000026;font-weight:600;animation:svelte-xb6lxo-float 3s ease-in-out infinite}.performance-stats.svelte-xb6lxo{background:#fff;border:2px solid #e2e8f0;border-radius:.75rem;padding:1.5rem;margin-bottom:2rem}.performance-stats.svelte-xb6lxo h3:where(.svelte-xb6lxo){color:#2d3748;margin-bottom:1.5rem;text-align:center}.stats-grid.svelte-xb6lxo{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.stat-card.svelte-xb6lxo{background:#f7fafc;border-radius:.75rem;padding:1.5rem;text-align:center;transition:all .3s ease}.stat-card.svelte-xb6lxo:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.stat-card.svelte-xb6lxo h4:where(.svelte-xb6lxo){color:#2d3748;margin-bottom:1rem;font-size:1.1rem}.stat-value.svelte-xb6lxo{margin-bottom:1rem}.latency.svelte-xb6lxo{display:block;font-size:2rem;font-weight:700;color:#2d3748}.percentage.svelte-xb6lxo{display:block;font-size:2rem;font-weight:700;color:#48bb78}.stat-value.svelte-xb6lxo .label:where(.svelte-xb6lxo){font-size:.9rem;color:#718096;font-weight:500}.stat-details.svelte-xb6lxo{font-size:.8rem;color:#4a5568}.without-cdn.svelte-xb6lxo{border-left:4px solid #ed8936}.with-cdn.svelte-xb6lxo{border-left:4px solid #48bb78}.improvement.svelte-xb6lxo{border-left:4px solid #667eea}.benefits-section.svelte-xb6lxo{background:#fff;border:2px solid #e2e8f0;border-radius:.75rem;padding:2rem}.benefits-section.svelte-xb6lxo h3:where(.svelte-xb6lxo){color:#2d3748;margin-bottom:1.5rem;text-align:center;font-size:1.3rem}.benefits-grid.svelte-xb6lxo{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.benefit-card.svelte-xb6lxo{background:#f7fafc;border-radius:.75rem;padding:1.5rem;text-align:center;transition:all .3s ease}.benefit-card.svelte-xb6lxo:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.benefit-icon.svelte-xb6lxo{font-size:2rem;margin-bottom:1rem}.benefit-title.svelte-xb6lxo{font-weight:600;color:#2d3748;margin-bottom:.75rem;font-size:1.1rem}.benefit-description.svelte-xb6lxo{color:#4a5568;font-size:.9rem;line-height:1.4}@keyframes svelte-xb6lxo-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}@keyframes svelte-xb6lxo-bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-5px)}60%{transform:translateY(-3px)}}@keyframes svelte-xb6lxo-connectionPulse{0%{left:0;opacity:1}to{left:calc(100% - 10px);opacity:0}}@keyframes svelte-xb6lxo-float{0%,to{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(-10px)}}@media (max-width: 768px){.instructions.svelte-xb6lxo{grid-template-columns:1fr}.world-map.svelte-xb6lxo{height:300px}.stats-grid.svelte-xb6lxo,.benefits-grid.svelte-xb6lxo{grid-template-columns:1fr}.location-label.svelte-xb6lxo{font-size:.6rem;padding:.2rem .4rem}.location-details.svelte-xb6lxo{font-size:.5rem}.instruction-bubble.svelte-xb6lxo{font-size:.9rem;padding:.8rem 1.2rem}}.container[data-astro-cid-6yduztil]{animation:fadeIn .8s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
