:root{--primary-color:#6A1B9A;--secondary-color:#2E7D32;--accent-color:#FFB300;--neon-cyan:#00BFA6;--neon-pink:#FF6DAA;--background-color:#F5F5FA;--card-bg:rgba(255, 255, 255, 0.8);--body-bg:var(--background-color);--text-color:#333333;--heading-color:#5A1A85;--muted-text:#555555;--white:#FFFFFF;--gray-light:#EEEEEE;--gray-medium:#B0BEC5;--font-primary:'Montserrat', sans-serif;--font-body:'Inter', sans-serif;--font-ui:'Inter', sans-serif;--font-accent:'Pacifico', cursive;--neon-glow:none;--box-shadow:0 6px 18px rgba(0, 0, 0, 0.08);--transition-base:all 0.25s cubic-bezier(0.4, 0, 0.2, 1);--border-radius:12px}[data-theme=dark]{--primary-color:#6A1B9A;--secondary-color:#4A6E4A;--accent-color:#6A1B9A;--neon-cyan:#8E66A3;--neon-pink:#8E66A3;--background-color:#1A1E24;--card-bg:rgba(30, 40, 50, 0.9);--body-bg:linear-gradient(to bottom, #1A1E24, #23272E);--text-color:#D0D0D0;--heading-color:#F5F5F5;--muted-text:#A0A0A0}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05);text-shadow:0 0 6px rgba(var(--accent-color),.12);transition:var(--transition-base)}}@keyframes breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}.pulse-glow{animation:pulse .5s ease-in-out}.neon-glow{box-shadow:none;text-shadow:none;transition:var(--transition-base)}.glow-progress{box-shadow:none;transition:none}.scale-up{transform:scale(1.1);transition:transform .3s ease}.slider-track{transition:transform .5s ease-out}.slide.fade-in-up{animation:fadeInUp .5s ease-out}.slide-dot{transition:all .3s ease}.slide-dot.active{background-color:var(--accent-color)}.slide-dot.pulse-glow{animation:pulse .5s ease-in-out}.slide-dot.scale-up{transform:scale(1.2)}.slider-prev,.slider-next{transition:all .3s ease}.slider-prev.neon-glow,.slider-next.neon-glow{box-shadow:0 0 10px var(--neon-cyan)}#reading-progress{height:3px;background:linear-gradient(to right,var(--primary-color),var(--secondary-color));transition:width .25s cubic-bezier(.4,0,.2,1)}#reading-progress.glow-progress{box-shadow:none}[data-feather]{transition:transform .3s ease}[data-feather].scale-up{transform:scale(1.1)}[data-feather].neon-glow{filter:drop-shadow(0 0 5px var(--neon-cyan))}@keyframes breathe{0%{transform:scale(1)}50%{transform:scale(1.02)}100%{transform:scale(1)}}body{background:linear-gradient(135deg,#f0f4f8,#d9e2ec);color:var(--text-color,#333333);font-family:var(--font-body,"Lora",serif);margin:0;overflow-x:hidden}#visualization-container{margin:2rem auto;max-width:100%;padding:1rem;background:rgba(255,255,255,.1);border-radius:15px;box-shadow:0 8px 32px rgba(0,0,0,.1);position:relative;overflow:hidden;min-height:600px}.node circle{transition:all .3s ease}.node .open-node{fill:var(--secondary-color,#6ab0ff);stroke:var(--white,#fff);stroke-width:2px}.node .collapsed-node{fill:var(--primary-color,#007bff);stroke:var(--white,#fff);stroke-width:2px}.node .url-node{fill:var(--accent-color,#ff6b6b);stroke:var(--white,#fff);stroke-width:2px}.node.highlight circle{fill:gold;stroke:#333;stroke-width:3px}.node text{fill:var(--text-color,#333);font-family:var(--font-body,"Montserrat",sans-serif);font-weight:600;cursor:pointer;transition:all .3s ease}.node text:hover{fill:var(--primary-color,#007bff)}path.link{stroke:var(--secondary-color,#6ab0ff);stroke-opacity:.6;stroke-width:3px;fill:none;transition:stroke-opacity .3s ease}path.link:hover{stroke-opacity:1}.search-bar{text-align:center;margin:1rem 0}.search-bar input{padding:.75rem;width:80%;max-width:400px;border:none;border-radius:25px;box-shadow:0 4px 12px rgba(0,0,0,.1);font-size:1rem;font-family:var(--font-ui,"Inter",sans-serif);color:var(--text-color,#333333);background:var(--card-bg,rgba(255,255,255,.8))}.search-bar input::placeholder{color:var(--muted-text,#555555)}.hero-message,.about-section,.contact-us{text-align:center;padding:2rem 1rem}.hero-message p{font-size:1.5rem;color:var(--text-color,#333333);margin:.5rem 0;line-height:1.6;font-family:var(--font-body,"Lora",serif)}.hero-message p:first-child{font-size:2rem;font-weight:600;color:var(--heading-color,#5A1A85)}.about-section h2,.contact-us h2{font-size:2.5rem;color:var(--heading-color,#5A1A85);margin-bottom:1rem;font-family:var(--font-primary,"Montserrat",sans-serif)}.about-section p,.contact-us p{font-size:1.2rem;color:var(--text-color,#333333);line-height:1.6;max-width:800px;margin:0 auto;font-family:var(--font-body,"Lora",serif)}.contact-us .btn-primary{background:linear-gradient(45deg,var(--primary-color,#6A1B9A),var(--secondary-color,#4A6E4A));color:var(--white,#FFFFFF);padding:.75rem 1.5rem;border-radius:25px;text-decoration:none;font-weight:500;transition:all .3s ease;font-family:var(--font-ui,"Inter",sans-serif)}.contact-us .btn-primary:hover{transform:translateY(-4px);box-shadow:0 4px 12px rgba(0,0,0,.2)}[data-theme=dark] body{background:var(--body-bg,linear-gradient(to bottom,#1A1E24,#23272E))}[data-theme=dark] .search-bar input{color:var(--text-color,#D0D0D0);background:var(--card-bg,rgba(30,40,50,.9))}[data-theme=dark] .search-bar input::placeholder{color:var(--muted-text,#A0A0A0)}[data-theme=dark] .hero-message p{color:var(--text-color,#D0D0D0)}[data-theme=dark] .hero-message p:first-child{color:var(--heading-color,#F5F5F5)}[data-theme=dark] .about-section h2,[data-theme=dark] .contact-us h2{color:var(--heading-color,#F5F5F5)}[data-theme=dark] .about-section p,[data-theme=dark] .contact-us p{color:var(--text-color,#D0D0D0)}[data-theme=dark] .contact-us .btn-primary{background:linear-gradient(45deg,var(--primary-color,#6A1B9A),var(--secondary-color,#4A6E4A))}@media(max-width:1024px){#visualization-container{padding:.5rem;min-height:500px}.node text{font-size:16px}}@media(max-width:768px){#visualization-container{margin:1rem;min-height:400px}.hero-message p{font-size:1.2rem}.hero-message p:first-child{font-size:1.5rem}.about-section h2,.contact-us h2{font-size:2rem}.about-section p,.contact-us p{font-size:1rem}}@media(max-width:576px){.node text{font-size:14px}.hero-message p{font-size:1rem}.hero-message p:first-child{font-size:1.2rem}.about-section h2,.contact-us h2{font-size:1.5rem}.search-bar input{width:90%}}