.navigation{width:280px;background:#0f1914cc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-right:1px solid rgba(26,93,58,.2);padding:2rem;position:fixed;top:0;left:0;height:100vh;overflow-y:auto}.nav-header{margin-bottom:2rem}.nav-header h1{color:#f0f4f2;font-size:1.5rem;margin-bottom:1rem}.back-link{color:#8fa99b;text-decoration:none;font-size:.9rem;transition:color .3s ease}.back-link:hover{color:#4ade80}.nav-links{display:flex;flex-direction:column;gap:.5rem}.nav-links a{color:#a8bdb2;text-decoration:none;padding:.75rem 1rem;border:1px solid transparent;transition:all .3s ease;font-size:.95rem}.nav-links a:hover{background:#1a5d3a1a;border-color:#1a5d3a4d;color:#f0f4f2}.nav-links a.active{background:#1a5d3a33;border-color:#1a5d3a;color:#4ade80}@media (max-width: 768px){.navigation{width:100%;position:static;height:auto;border-right:none;border-bottom:1px solid rgba(26,93,58,.2);padding:1.5rem}.nav-header{margin-bottom:1.5rem}.nav-header h1{font-size:1.25rem}.nav-links{gap:.25rem}.nav-links a{padding:.6rem .75rem;font-size:.9rem}}.layout{display:flex;min-height:100vh}.main-content{flex:1;padding:2rem;margin-left:280px;max-width:1400px}@media (max-width: 768px){.layout{flex-direction:column}.main-content{margin-left:0;padding:1rem}}.home-page h1{color:#f0f4f2;font-size:2.5rem;margin-bottom:1rem}.intro{color:#a8bdb2;font-size:1.1rem;margin-bottom:3rem;line-height:1.8}.topic-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:3rem}.topic-card{background:#0f191499;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(26,93,58,.2);padding:1.5rem;transition:all .3s ease}.topic-card:hover{background:#0f1914cc;border-color:#1a5d3a66;transform:translateY(-2px)}.topic-card h3{color:#4ade80;margin-bottom:.75rem;font-size:1.3rem}.topic-card p{color:#a8bdb2;font-size:.95rem;line-height:1.6}.resources{background:#0f191466;padding:2rem;border:1px solid rgba(26,93,58,.2)}.resources h2{color:#f0f4f2;margin-bottom:1rem}.resources ul{list-style:none;padding-left:1rem}.resources li{color:#a8bdb2;margin:.5rem 0;position:relative}.resources li:before{content:"•";position:absolute;left:-1rem;color:#4ade80}.particle-systems-page h1{color:#f0f4f2;font-size:2rem;margin-bottom:2rem}.particle-canvas{width:100%;height:600px;background:#0a0f0dcc;border:1px solid rgba(26,93,58,.2)}.physicssimulationpage-page h1{color:#f0f4f2;font-size:2rem;margin-bottom:2rem}.physicssimulationpage-canvas,.creative-canvas,.physics-canvas,.fractal-canvas{width:100%;height:600px;background:#0a0f0dcc;border:1px solid rgba(26,93,58,.2)}.creativecodingpage-page h1{color:#f0f4f2;font-size:2rem;margin-bottom:2rem}.creativecodingpage-canvas,.creative-canvas,.physics-canvas,.fractal-canvas{width:100%;height:600px;background:#0a0f0dcc;border:1px solid rgba(26,93,58,.2)}.fractalspage-page h1{color:#f0f4f2;font-size:2rem;margin-bottom:2rem}.fractalspage-canvas,.creative-canvas,.physics-canvas,.fractal-canvas{width:100%;height:600px;background:#0a0f0dcc;border:1px solid rgba(26,93,58,.2)}.interactiveanimationspage-page h1{color:#f0f4f2;font-size:2rem;margin-bottom:2rem}.interactiveanimationspage-canvas,.creative-canvas,.physics-canvas,.fractal-canvas{width:100%;height:600px;background:#0a0f0dcc;border:1px solid rgba(26,93,58,.2)}.flowfieldspage-page h1{color:#f0f4f2;font-size:2rem;margin-bottom:2rem}.flowfieldspage-canvas,.creative-canvas,.physics-canvas,.fractal-canvas{width:100%;height:600px;background:#0a0f0dcc;border:1px solid rgba(26,93,58,.2)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:#0a0f0d;background-image:radial-gradient(circle at 20% 50%,rgba(0,66,37,.3) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(26,93,58,.2) 0%,transparent 50%);min-height:100vh;color:#f0f4f2;line-height:1.6}h1,h2,h3{font-family:Playfair Display,serif;font-weight:400}button{font-family:inherit;cursor:pointer;transition:all .3s ease}canvas{display:block;cursor:crosshair}.controls{display:flex;flex-wrap:wrap;gap:1.5rem;background:#0f191499;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(26,93,58,.2);padding:1.5rem;margin-bottom:2rem}.control-group{display:flex;flex-direction:column;gap:.5rem}.control-group label{color:#a8bdb2;font-size:.9rem}.button-group{display:flex;gap:.5rem}.button-group button{padding:.5rem 1rem;background:#1a5d3a1a;border:1px solid rgba(26,93,58,.3);color:#a8bdb2}.button-group button:hover:not(:disabled){background:#1a5d3a33;color:#f0f4f2}.button-group button.active{background:#1a5d3a4d;border-color:#1a5d3a;color:#4ade80}.button-group button:disabled{opacity:.5;cursor:not-allowed}input[type=range]{width:150px;height:6px;background:#1a5d3a33;outline:none;border-radius:3px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:#4ade80;cursor:pointer;border-radius:50%}.play-button,.reset-button{padding:.75rem 1.5rem;background:#1a5d3a33;border:1px solid #1a5d3a;color:#4ade80}.play-button:hover,.reset-button:hover{background:#1a5d3a4d}.info-panel{background:#0f191466;border:1px solid rgba(26,93,58,.2);padding:2rem;margin-top:2rem}.info-panel h3{color:#4ade80;margin-bottom:1rem}.info-panel ul{list-style:none;padding-left:1rem}.info-panel li{color:#a8bdb2;margin:.5rem 0;position:relative}.info-panel li:before{content:"→";position:absolute;left:-1rem;color:#4ade80}.info-panel strong{color:#f0f4f2}.coming-soon{background:#0f191499;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(26,93,58,.2);padding:2rem;border-radius:8px;margin:2rem 0}.coming-soon h2{color:#f0c674;margin-bottom:1rem}.coming-soon ul{list-style:none;padding-left:1rem}.coming-soon li{margin:.5rem 0;position:relative}.coming-soon li:before{content:"→";position:absolute;left:-1rem;color:#8fa99b}.rendering{color:#f0c674;animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (max-width: 768px){.controls{flex-direction:column;gap:1rem;padding:1rem}.button-group{flex-wrap:wrap}.button-group button{flex:1;min-width:80px}input[type=range]{width:100%;max-width:200px}canvas{max-width:100%;height:auto}.info-panel,.coming-soon{padding:1.5rem}}
