@keyframes scrollGlobalRainbow{0%{background-position-y:0}to{background-position-y:var(--rainbow-cycle-height)}}.card,.project-tile{--card-accent-color: 77, 230, 230;position:relative}:root{--neon-purple: hsl(300, 90%, 60%);--neon-purple-rgb: 230, 77, 230;--neon-orange: hsl(30, 80%, 55%);--neon-orange-rgb: 224, 150, 66;--neon-cyan: hsl(180, 80%, 60%);--neon-cyan-rgb: 77, 230, 230;--neon-blue: hsl(240, 80%, 60%);--neon-blue-rgb: 77, 77, 230;--neon-green: hsl(120, 80%, 60%);--neon-green-rgb: 77, 230, 77;--neon-red: hsl(0, 80%, 60%);--neon-red-rgb: 230, 77, 77;--rainbow-wave-duration: 3.5s;--rainbow-cycle-height: 800px;--bg-dark: #000000;--bg-card: rgba(35, 35, 35, .85);--bg-card-hover: rgba(40, 40, 45, .9);--text-primary: #e0e0e0;--text-secondary: #c0c0c0;--text-accent: #aadfff;--text-heading: #ffffff;--neon-color: var(--neon-cyan);--neon-color-rgb: var(--neon-cyan-rgb);--global-rainbow-gradient: linear-gradient( to bottom, hsl(0, 80%, 60%) 0%, hsl(60, 80%, 60%) 14.29%, hsl(120, 80%, 60%) 28.57%, hsl(180, 80%, 60%) 42.86%, hsl(240, 80%, 60%) 57.14%, hsl(300, 80%, 60%) 71.43%, hsl(360, 80%, 60%) 85.71%, hsl(0, 80%, 60%) 100% )}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;background-color:var(--bg-dark);color:var(--text-primary);font-family:Input,Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace}#bg-canvas{position:fixed;top:0;left:0;width:100%;height:100%;display:block;pointer-events:none}#debug-info{position:fixed;top:10px;right:10px;background:#000000b3;padding:10px;border:1px solid #333;color:#0f0;font-family:monospace;font-size:12px;z-index:1000;max-height:200px;overflow-y:auto;display:none}.content-container{display:flex;flex-direction:column;position:relative;z-index:1;gap:40px;padding:5rem 20px 2rem;width:100%;max-width:900px;margin:0 auto}main>*{margin-bottom:40px}main>*:last-child{margin-bottom:0}.card{background-color:#232323d9;width:100%;padding:30px;box-shadow:0 4px 15px #00000080,0 0 15px rgba(var(--card-accent-color, 77, 230, 230),.3);overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;font-size:.95em;line-height:1.6;position:relative;transition:box-shadow .3s ease;pointer-events:auto;margin-bottom:40px}.card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:10px;background-image:var(--global-rainbow-gradient);background-size:100% var(--rainbow-cycle-height);background-repeat:repeat-y;background-attachment:fixed;background-position:0 0;animation:scrollGlobalRainbow var(--rainbow-wave-duration) linear infinite;pointer-events:none}.card:last-child{margin-bottom:0}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;margin-top:20px;margin-bottom:20px}.homepage-tile{border-left:none!important;padding:0}.homepage-tile:before{display:none}.project-tile{position:relative;background-color:#232323d9;padding:20px;border-radius:3px;text-decoration:none;color:var(--text-primary);transition:box-shadow .3s ease;box-shadow:0 3px 10px #0006,0 0 10px rgba(var(--card-accent-color, 77, 230, 230),.2);overflow:hidden}.project-tile:before{content:"";position:absolute;left:0;top:0;bottom:0;width:10px;background-image:var(--global-rainbow-gradient);background-size:100% var(--rainbow-cycle-height);background-repeat:repeat-y;background-attachment:fixed;background-position:0 0;animation:scrollGlobalRainbow var(--rainbow-wave-duration) linear infinite;pointer-events:none}.project-tile:hover{box-shadow:0 5px 15px #00000080,0 0 15px rgba(var(--card-accent-color, 77, 230, 230),.4)}.card:hover{box-shadow:0 6px 25px #0009,0 0 25px rgba(var(--card-accent-color, 77, 230, 230),.5)}.card h2{color:#fff;margin-bottom:15px;font-size:1.4em;font-weight:500}.card p{color:silver;font-size:1em}.title-link a{color:#fff;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;text-decoration-color:#ffffff80}.title-link a:hover{text-decoration-color:#fff}.date{font-family:Input,Consolas,Monaco,monospace;color:#aadcffcc;font-size:.85rem;margin-bottom:1rem;position:relative;display:inline-block;padding:2px 8px;background-color:#001e3c66;border-radius:3px;border-left:2px solid var(--neon-color, #0ff)}.post-date{font-family:Input,Consolas,Monaco,monospace;color:#aadcffcc;font-size:.85rem;padding:2px 8px;background-color:#001e3c66;border-radius:3px;border-left:2px solid var(--neon-color, #0ff);margin-right:8px}#control-panel{position:fixed;bottom:20px;right:20px;background:#000c;border:1px solid #444;padding:15px 15px 10px;border-radius:8px;color:#fff;font-family:Input,Consolas,Monaco,Ubuntu Mono,monospace;font-size:14px;z-index:1000;width:250px;max-height:420px;overflow:hidden;pointer-events:auto;box-shadow:0 0 15px #000000b3;transition:height .3s ease,padding .3s ease;display:flex;flex-direction:column}#control-panel h3{margin:0 0 10px;color:var(--neon-color, #0ff);font-size:16px;border-bottom:1px solid #444;padding-bottom:8px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;flex-shrink:0;text-shadow:0 0 5px rgba(var(--neon-color-rgb, 0, 255, 255),.3);letter-spacing:.5px}.control-toggle-button{background:none;border:1px solid #555;color:#0ff;cursor:pointer;padding:1px 6px;font-size:14px;line-height:1;border-radius:3px;margin-left:10px;transition:background-color .2s,border-color .2s;flex-shrink:0}.control-toggle-button:hover{background-color:#333;border-color:#0ff}#control-panel.minimized{height:42px;padding-top:10px;padding-bottom:10px;overflow:hidden}#control-panel.minimized h3{border-bottom:none;margin-bottom:0;padding-bottom:0}#control-panel.minimized .control-panel-content{display:none}.control-panel-content{flex-grow:1;overflow-y:auto;overflow-x:hidden;padding-right:5px}.control-group{margin-bottom:15px}.control-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.control-item label{flex-grow:1;margin-right:8px;cursor:pointer;white-space:nowrap}.control-item input[type=checkbox]{width:18px;height:18px;cursor:pointer;flex-shrink:0}.control-item input[type=range]{width:85px;margin-left:5px;flex-shrink:0}.control-item .control-value{display:inline-block;min-width:35px;text-align:right;padding-left:5px;flex-shrink:0}input[type=range]{-webkit-appearance:none;height:5px;background:#333;border-radius:5px;outline:none;vertical-align:middle}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:15px;height:15px;background:#0ff;border-radius:50%;cursor:pointer}.button-row{display:flex;justify-content:space-between;margin-top:10px;flex-shrink:0}.control-button{background:#333;color:#fff;border:1px solid #555;padding:5px 10px;border-radius:4px;cursor:pointer;font-family:inherit;font-size:12px;transition:all .2s}.control-button:hover{background:#444;border-color:#0ff}.trigger-button{background:#035;color:#0ff}.trigger-button:hover{background:#046}.about-card p{text-align:justify}.markdown-content{line-height:1.7}.markdown-content h2{margin-top:2rem;margin-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:.5rem}.markdown-content p{margin-bottom:1rem}.markdown-content a{color:#adf}.markdown-content code{background-color:#0003;padding:.2em .4em;border-radius:3px;font-size:.9em}.markdown-content pre{background-color:#0003;padding:1rem;border-radius:5px;overflow-x:auto}.markdown-content pre code{background:none;padding:0}.markdown-content blockquote{border-left:3px solid #adf;padding-left:1rem;margin-left:0;font-style:italic;color:#ccc}.markdown-content ul{list-style:disc;padding-left:2rem;margin-bottom:1rem}.markdown-content li{margin-bottom:.5rem}.markdown-content strong{font-weight:700}.tag{display:inline-block;background-color:#ffffff1a;color:var(--text-accent, #adf);border-radius:4px}.tags{display:flex;flex-wrap:wrap;gap:.5em}.metadata{color:#aaa;font-size:.9em}header[data-astro-cid-3ef6ksr2]{position:fixed;top:0;left:0;width:100%;padding:1rem 2rem;background-color:#0a0a0ad9;background-image:linear-gradient(to bottom,#0f0f14e6,#0a0a0acc);z-index:10;border-bottom:1px solid rgba(var(--neon-color-rgb, 0, 255, 255),.3);box-shadow:0 0 10px #00000080;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}nav[data-astro-cid-3ef6ksr2]{display:flex;justify-content:center;gap:1.5rem}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{color:#ccc;text-decoration:none;font-family:inherit;font-size:1rem;padding:.25rem 0;border-bottom:2px solid transparent;transition:color .3s ease,border-bottom-color .3s ease}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover,nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:focus{color:#fff;border-bottom-color:var(--neon-color, #0ff);text-shadow:0 0 8px rgba(var(--neon-color-rgb, 0, 255, 255),.5)}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2].active{color:#fff;border-bottom-color:var(--neon-color, #0ff);text-shadow:0 0 5px rgba(var(--neon-color-rgb, 0, 255, 255),.3)}
