.logo-container[data-astro-cid-tvrurpns]{display:flex;flex-direction:column;align-items:center;margin:3rem auto;text-align:center}.logo[data-astro-cid-tvrurpns]{width:120px;height:auto;max-width:100%;margin-bottom:1rem;transition:transform .5s ease}html[data-animations=enabled] .logo-container[data-astro-cid-tvrurpns]:hover .logo[data-astro-cid-tvrurpns]{transform:rotate(10deg)}.logo-text[data-astro-cid-tvrurpns]{font-size:1.5rem;font-weight:700;color:var(--accent);margin-top:.5rem}@media (min-width: 768px){.logo[data-astro-cid-tvrurpns]{width:150px}.logo-text[data-astro-cid-tvrurpns]{font-size:1.8rem}}:root{--bg: #1f274c;--text-primary: #ffffff;--text-secondary: #c4c4c4;--accent: #3a86ff;--select-color: hsl(180, 42%, 21%);--scanline: hsl(0, 0%, 8%);--flicker1: hsl(0, 42%, 21%);--flicker2: hsl(242, 42%, 21%);--font-family: "Fira Code", monospace}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg);color:var(--text-primary);font-family:var(--font-family);line-height:1.6;min-height:100vh;display:flex;flex-direction:column}.text{font-size:clamp(16px,4vw,25px);font-weight:400;color:var(--text-primary);line-height:1.5;margin-bottom:32px;max-width:64ch}a{color:var(--text-primary);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .3s,color .3s;position:relative;padding:2px 4px}a:hover,a:focus{color:var(--accent);border-bottom-color:var(--accent);outline:none}a:visited{color:var(--text-secondary)}a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}@media (max-width: 768px){.text{font-size:18px}}@media (max-width: 480px){.text{font-size:16px}}.skip-to-content{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.skip-to-content:focus{position:fixed;top:0;left:0;width:auto;height:auto;padding:10px 15px;background:var(--accent);color:#000;z-index:9999;font-weight:700}.btn,button{position:relative;overflow:hidden}html[data-animations=enabled] .btn:hover:before,html[data-animations=enabled] button:hover:before{content:"";position:absolute;top:0;left:-10px;width:5px;height:100%;background-color:#3a86ffcc;animation:buttonGlitch .6s linear alternate infinite;z-index:-1}@keyframes buttonGlitch{0%{transform:translate(0);opacity:.3}25%{transform:translate(5px);opacity:.5}50%{transform:translate(15px);opacity:.8}to{transform:translate(25px);opacity:0}}html[data-animations=enabled] .btn:active,html[data-animations=enabled] button:active{transform:scale(.98);transition:transform .1s ease}html[data-animations=disabled] .btn:active,html[data-animations=disabled] button:active{transform:none}html[data-animations=enabled] h1:after,html[data-animations=enabled] h2:after,html[data-animations=enabled] h3:after{content:"";display:none}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}html[data-animations=disabled] h1:after,html[data-animations=disabled] h2:after,html[data-animations=disabled] h3:after{content:"";animation:none}h1,h2,h3{position:relative}h1,h2,h3,h4,h5,h6{scroll-margin-top:5rem}section[id]{scroll-margin-top:5rem;padding-top:1rem}pre{position:relative;padding:1.5rem 1rem;overflow:hidden;background-color:var(--code-bg);box-shadow:0 3px 10px #0003;overflow-x:auto;background-color:#0003;padding:1rem;border-radius:4px;border-left:3px solid var(--accent);margin:1.5rem 0;font-family:Fira Code,monospace;font-size:.9rem;line-height:1.5;white-space:pre;word-wrap:normal}html[data-animations=enabled] pre:before{content:"";position:absolute;top:0;left:0;width:100%;height:30px;background:#333;border-top-left-radius:6px;border-top-right-radius:6px;padding:0 1rem;display:flex;align-items:center}html[data-animations=enabled] pre:after{content:"";position:absolute;top:10px;left:15px;width:12px;height:12px;background:#ff5f56;border-radius:50%;box-shadow:20px 0 #ffbd2e,40px 0 #27c93f}html[data-animations=enabled] pre{padding-top:40px}html[data-animations=enabled] pre code{display:block;white-space:pre;animation:typing 1.5s steps(30,end)}@keyframes typing{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}html[data-animations=enabled] pre code:after{content:"_";position:absolute;color:var(--accent);animation:cursor-blink 1s step-end infinite}.blog-post{max-width:800px;margin:0 auto;padding:2rem}.blog-post h1{font-size:2.5rem;margin-bottom:1.5rem;color:var(--accent)}.blog-post h2{font-size:1.8rem;margin:2rem 0 1rem;color:var(--heading)}.blog-post h3{font-size:1.4rem;margin:1.5rem 0 .8rem;color:var(--heading)}.blog-post p{margin-bottom:1.5rem;line-height:1.8;color:var(--text-primary)}.blog-post img{max-width:100%;height:auto;border-radius:8px;margin:2rem 0}.blog-post blockquote{border-left:4px solid var(--accent);padding-left:1.5rem;margin:2rem 0;font-style:italic;color:var(--text-secondary)}.blog-post ul,.blog-post ol{margin:1.5rem 0 1.5rem 2rem;color:var(--text-primary)}.blog-post li{margin-bottom:.75rem;line-height:1.6}.blog-post code{background-color:var(--code-bg);color:var(--code-text);padding:.2rem .4rem;border-radius:3px;font-family:Courier New,monospace;font-size:.9em}.blog-post a{color:var(--accent);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s ease}.blog-post a:hover{border-color:var(--accent)}.blog-post table{width:100%;border-collapse:collapse;margin:2rem 0}.blog-post th,.blog-post td{padding:.75rem;border:1px solid var(--border);text-align:left}.blog-post th{background-color:#3a86ff0d;font-weight:600}.post-meta{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;color:var(--text-secondary);font-size:.9rem}.post-date,.post-author{display:flex;align-items:center;gap:.5rem}.post-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin:2rem 0}.post-tag{background-color:#3a86ff1a;color:var(--accent);padding:.3rem .8rem;border-radius:20px;font-size:.8rem;font-weight:500;transition:background-color .2s ease}.post-tag:hover{background-color:#3a86ff33}.related-posts{margin-top:4rem;padding-top:2rem;border-top:1px solid var(--border)}.related-posts h2{margin-bottom:1.5rem}.related-posts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:2rem}.related-post-card{background-color:var(--card-bg);border-radius:8px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 3px 10px #0000001a}.related-post-card:hover{transform:translateY(-5px);box-shadow:0 6px 15px #00000026}.related-post-image{width:100%;height:150px;object-fit:cover}.related-post-content{padding:1.25rem}.related-post-title{font-size:1.1rem;margin-bottom:.75rem;color:var(--heading)}.related-post-excerpt{font-size:.9rem;color:var(--text-secondary);margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.related-post-date{font-size:.8rem;color:var(--text-tertiary)}@media (max-width: 768px){.blog-post{padding:1.5rem}.blog-post h1{font-size:2rem}.blog-post h2{font-size:1.5rem}pre{padding:.75rem;font-size:.8rem;line-height:1.4}pre code{word-break:normal;overflow-wrap:normal}html[data-animations=enabled] pre{padding-top:35px}html[data-animations=enabled] pre:after{top:8px;left:10px;width:10px;height:10px;box-shadow:18px 0 #ffbd2e,36px 0 #27c93f}.related-posts-grid{grid-template-columns:1fr}}table{width:100%;margin:1.5rem 0;border-collapse:collapse;overflow-x:auto;display:block;max-width:fit-content}@media (min-width: 768px){table{display:table;max-width:100%}}table th,table td{border:1px solid var(--border-color);padding:.75rem;text-align:left}table th{background-color:#0003;font-weight:700}table tr:nth-child(2n){background-color:#ffffff08}:global(html[data-theme=light]) table th{background-color:#0000000d}:global(html[data-theme=light]) table tr:nth-child(2n){background-color:#00000005}@media (max-width: 767px){.blog-content table{font-size:.9rem}.blog-content table th,.blog-content table td{padding:.5rem;word-break:break-word}}:global(html[data-theme=light]) pre{background-color:#0000000d}html[data-theme=dark]{--bg: #1f274c;--text-primary: #ffffff;--text-secondary: #c4c4c4;--accent: #3a86ff;--header-bg: rgba(20, 25, 45, .8);--footer-bg: rgba(20, 25, 45, .9);--flicker1: hsl(0, 42%, 21%);--flicker2: hsl(242, 42%, 21%);--scanline: hsl(0, 0%, 8%);--selectColor: hsl(180, 42%, 21%);--toggle-bg: rgba(0, 0, 0, .2);--toggle-hover: rgba(255, 255, 255, .1);--font-family: "Fira Code", monospace}html[data-theme=light]{--bg: #f0f4ff;--text-primary: #0a0f2d;--text-secondary: #303856;--accent: #1a56cc;--header-bg: rgba(240, 244, 255, .8);--footer-bg: rgba(240, 244, 255, .9);--flicker1: hsl(0, 42%, 80%);--flicker2: hsl(242, 42%, 80%);--scanline: hsl(0, 0%, 95%);--selectColor: hsl(180, 42%, 70%);--toggle-bg: rgba(0, 0, 0, .05);--toggle-hover: rgba(0, 0, 0, .1);--font-family: "Fira Code", monospace}html[data-animations=disabled] .body{animation:none!important}html[data-animations=disabled] .scanlines,html[data-animations=disabled] .scanline{display:none!important}html[data-animations=disabled] .security-badge,html[data-animations=disabled] .loading-indicator .dot{animation:none!important}html.reduced-motion *{animation-duration:.001ms!important;transition-duration:.001ms!important}body{font-family:var(--font-family);margin:0;padding:0}header{background-color:var(--header-bg);padding:1rem 0;position:sticky;top:0;z-index:200;backdrop-filter:blur(5px);margin-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.1);transition:all .3s ease;width:100%}.nav-links{display:flex;justify-content:center;gap:2rem;list-style:none;margin:0;padding:0}.nav-links a{font-weight:700;padding:.5rem 1rem;border-radius:4px;transition:all .3s ease;position:relative;border-bottom:none}.nav-links a.active{color:var(--accent)}.nav-links a.active:after{width:70%}.nav-links a:hover,.nav-links a:focus{color:var(--accent)}.nav-links a:after{content:"";position:absolute;width:0;height:2px;bottom:0;left:50%;background-color:var(--accent);transition:all .3s ease;transform:translate(-50%)}.nav-links a:hover:after,.nav-links a:focus:after{width:70%}html[data-animations=disabled] .nav-links a:after{transition:none}html[data-animations=disabled] .nav-links a:hover:after,html[data-animations=disabled] .nav-links a:focus:after{width:70%}html.reduced-motion .nav-links a:after{transition:none}footer{margin-top:3rem;padding:1.5rem 0;text-align:center;font-size:.9rem;background-color:var(--footer-bg);border-top:1px solid rgba(255,255,255,.1);width:100%}.footer-content{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:0 1rem}.footer-logo img{width:60px;height:auto;opacity:.9}.footer-info{display:flex;flex-direction:column;gap:.5rem}.footer-tagline{color:var(--text-secondary);font-style:italic}.footer-contact{display:flex;flex-direction:column;gap:.25rem;margin-top:.5rem;font-size:.9rem}.footer-icon{margin-right:.5rem}@media (min-width: 768px){.footer-content{flex-direction:row;justify-content:center;gap:2rem}.footer-contact{align-items:flex-start}}.toggle-controls{display:none}.navbar-toggles{display:flex;gap:.5rem;align-items:center}.theme-toggle,.animation-toggle{display:flex}#theme-toggle-btn,#animation-toggle-btn{background:var(--toggle-bg);border:none;cursor:pointer;font-size:1.2rem;width:35px;height:35px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s ease}#theme-toggle-btn:hover,#animation-toggle-btn:hover{background-color:var(--toggle-hover);transform:scale(1.1)}html[data-theme=dark] .icon-light{display:block}html[data-theme=dark] .icon-dark,html[data-theme=light] .icon-light{display:none}html[data-theme=light] .icon-dark,html[data-animations=enabled] .icon-animation-on{display:block}html[data-animations=enabled] .icon-animation-off,html[data-animations=disabled] .icon-animation-on{display:none}html[data-animations=disabled] .icon-animation-off{display:block}.center{display:flex;justify-content:center;min-height:100vh;width:100%}.container{width:100%;max-width:1200px;padding:0}@keyframes navLinkFade{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.body{padding:1rem;animation:textShadow 1.033s infinite}html[data-theme=light] .body{animation:textShadowLight 1.033s infinite}@keyframes textShadow{0%{text-shadow:.44px 0 1px var(--flicker2),-.44px 0 1px var(--flicker1),0 0 3px}5%{text-shadow:2.79px 0 1px var(--flicker2),-2.79px 0 1px var(--flicker1),0 0 3px}to{text-shadow:2.62px 0 1px var(--flicker2),-2.62px 0 1px var(--flicker1),0 0 3px}}@keyframes textShadowLight{0%{text-shadow:.44px 0 1px var(--flicker2),-.44px 0 1px var(--flicker1),0 0 1px}to{text-shadow:.62px 0 1px var(--flicker2),-.62px 0 1px var(--flicker1),0 0 1px}}@keyframes scanline{0%{top:99%}to{top:-1%}}.scanline{position:fixed;pointer-events:none;top:0%;width:100%;height:2px;z-index:10;background:#0000004d;opacity:.75;animation:scanline 7.77s linear infinite}.scanlines{position:fixed;pointer-events:none;width:100%;height:100%;z-index:5;background:linear-gradient(#12101000 50%,#00000040 50%),linear-gradient(90deg,#ff00000f,#00ff0005,#0000ff0f);background-size:100% 2px,3px 100%}html[data-theme=light] .scanlines,html[data-theme=light] .scanline{opacity:.2}@media (max-width: 768px){.container{padding:0}.body{padding:.5rem}.nav-container{display:flex;justify-content:space-between;align-items:center;width:100%;padding:0 1rem}.nav-links{position:fixed;top:60px;left:0;right:0;flex-direction:column;align-items:center;gap:1rem;background-color:var(--header-bg);padding:1rem;border-bottom:1px solid rgba(255,255,255,.1);transform:translateY(-150%);transition:transform .3s ease-in-out;z-index:99;backdrop-filter:blur(5px);box-shadow:0 4px 6px #0000001a;margin:0;width:100%;box-sizing:border-box}.nav-links.active{transform:translateY(0)}.nav-actions{display:flex;align-items:center;gap:.75rem}#theme-toggle-btn,#animation-toggle-btn{width:32px;height:32px;font-size:1rem}#theme-toggle-btn:hover,#animation-toggle-btn:hover{transform:none}.nav-toggle{display:block;background:transparent;border:none;width:40px;height:40px;cursor:pointer;position:relative;z-index:100;margin-left:.5rem;padding:0}.nav-toggle:before{content:"";position:absolute;left:-8px;top:8px;bottom:8px;width:1px;background-color:var(--text-secondary);opacity:.3}.hamburger{position:relative;display:block;width:24px;height:2px;background-color:var(--text-primary);transition:background-color .3s}.hamburger:before,.hamburger:after{content:"";position:absolute;width:24px;height:2px;background-color:var(--text-primary);transition:transform .3s}.hamburger:before{top:-8px}.hamburger:after{top:8px}.nav-toggle[aria-expanded=true] .hamburger{background-color:transparent}.nav-toggle[aria-expanded=true] .hamburger:before{transform:rotate(45deg) translate(6px,6px)}.nav-toggle[aria-expanded=true] .hamburger:after{transform:rotate(-45deg) translate(6px,-6px)}.logo-image{height:40px}@media (max-width: 480px){.logo-text{display:none}html[data-animations=disabled] .logo-text{display:inline-block;max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.toggle-controls{top:.5rem;right:.5rem}.nav-links a{width:100%;text-align:center}.nav-links a:after{bottom:-2px}footer{width:100%;box-sizing:border-box}header{padding:.8rem 0}header+*{margin-top:1rem}}@media (min-width: 769px){.container{padding:0 1rem}.nav-container{display:flex;justify-content:space-between;align-items:center;width:100%;padding:0 1rem}.nav-actions{display:flex;align-items:center;gap:1rem;order:3}.nav-toggle{display:none}.navbar-toggles{margin-left:1rem}.logo-image{height:48px}.nav-links{display:flex;justify-content:flex-end;gap:2rem;list-style:none}}.nav-logo{position:relative;display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:1.2rem;color:var(--accent);border-bottom:none;text-decoration:none}.logo-image{width:auto;transition:transform .3s ease}.logo-text{display:inline-block}html[data-animations=enabled] .logo-image:hover{transform:rotate(10deg)}.nav-logo:after{content:"";position:absolute;height:2px;width:0;bottom:-5px;left:50%;transform:translate(-50%);background-color:var(--accent);transition:width .3s ease}.nav-logo:hover:after{width:70%}html[data-animations=disabled] .nav-logo:after{transition:none}@media (min-width: 769px){.logo-text{white-space:nowrap}}html[data-animations=disabled] .logo-text{content:"Deep Blue Fortress"}::selection{background:var(--selectColor);color:#000}.matrix-canvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;opacity:.07;pointer-events:none;display:block}html[data-animations=disabled] .matrix-canvas{display:none}.glitch-text{position:relative;display:inline-block}html[data-animations=enabled] .glitch-text:hover{animation:noise-anim .2s infinite linear alternate-reverse}html[data-animations=enabled] .glitch-text:hover:before,html[data-animations=enabled] .glitch-text:hover:after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%;background:var(--bg-primary);clip:rect(0,900px,0,0);overflow:hidden}html[data-animations=enabled] .glitch-text:hover:before{left:2px;text-shadow:-1px 0 var(--accent);animation:noise-anim-1 3s infinite linear alternate-reverse;opacity:.7}html[data-animations=enabled] .glitch-text:hover:after{left:-2px;text-shadow:1px 0 var(--accent);animation:noise-anim-2 2s infinite linear alternate-reverse;opacity:.7}@keyframes noise-anim-1{0%{clip:rect(23px,9999px,10px,0)}5%{clip:rect(56px,9999px,87px,0)}10%{clip:rect(5px,9999px,59px,0)}15%{clip:rect(31px,9999px,92px,0)}20%{clip:rect(15px,9999px,94px,0)}25%{clip:rect(57px,9999px,34px,0)}30%{clip:rect(86px,9999px,4px,0)}35%{clip:rect(10px,9999px,14px,0)}40%{clip:rect(66px,9999px,33px,0)}45%{clip:rect(2px,9999px,48px,0)}50%{clip:rect(29px,9999px,56px,0)}55%{clip:rect(73px,9999px,69px,0)}60%{clip:rect(42px,9999px,15px,0)}65%{clip:rect(27px,9999px,37px,0)}70%{clip:rect(59px,9999px,2px,0)}75%{clip:rect(13px,9999px,96px,0)}80%{clip:rect(38px,9999px,23px,0)}85%{clip:rect(54px,9999px,5px,0)}90%{clip:rect(36px,9999px,44px,0)}95%{clip:rect(91px,9999px,68px,0)}to{clip:rect(8px,9999px,12px,0)}}@keyframes noise-anim-2{0%{clip:rect(46px,9999px,18px,0)}5%{clip:rect(82px,9999px,2px,0)}10%{clip:rect(25px,9999px,89px,0)}15%{clip:rect(47px,9999px,15px,0)}20%{clip:rect(36px,9999px,74px,0)}25%{clip:rect(63px,9999px,16px,0)}30%{clip:rect(5px,9999px,12px,0)}35%{clip:rect(10px,9999px,86px,0)}40%{clip:rect(30px,9999px,47px,0)}45%{clip:rect(52px,9999px,56px,0)}50%{clip:rect(42px,9999px,15px,0)}55%{clip:rect(73px,9999px,37px,0)}60%{clip:rect(25px,9999px,64px,0)}65%{clip:rect(8px,9999px,92px,0)}70%{clip:rect(51px,9999px,45px,0)}75%{clip:rect(12px,9999px,16px,0)}80%{clip:rect(59px,9999px,23px,0)}85%{clip:rect(45px,9999px,52px,0)}90%{clip:rect(62px,9999px,37px,0)}95%{clip:rect(10px,9999px,86px,0)}to{clip:rect(48px,9999px,91px,0)}}
