.full-screen-blur{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:9990;opacity:0;visibility:hidden;transition:all .3s ease;pointer-events:none;display:none}.full-screen-blur.menu-expanded{opacity:1;visibility:visible;pointer-events:auto;display:block}header{width:100%;display:flex;justify-content:center;position:fixed;top:0;left:0;right:0;z-index:10000;padding:1rem 2rem 1.5rem;background-color:#faf5fd;transition:padding .3s ease,background-color .3s ease,box-shadow .3s ease;box-sizing:border-box}header:before{content:"";position:absolute;inset:0 -100px -10px;background-color:#faf5fd;z-index:-1;pointer-events:none}header.menu-expanded{z-index:10002;background-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}header.menu-expanded:before{background-color:transparent}.header-container{background-color:#fefefef2;border-radius:8px;box-shadow:0 2px 8px #00000026;width:100%;max-width:90ch;display:flex;justify-content:space-between;align-items:center;padding:.8rem 2rem;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);transition:all .3s ease;position:relative;z-index:10001;box-sizing:border-box}.site-title{display:flex;align-items:center}.site-title a{color:#3a3a3a;font-size:1.1rem;font-weight:500;text-decoration:none;letter-spacing:.02em;transition:color .2s;font-family:IBM Plex Mono,monospace;padding:.2rem 0;position:relative}.site-title a:hover{color:#8b5a9f;text-decoration:none;opacity:.85}.site-title a:after{content:"";position:absolute;width:0;left:0;background-color:#8b5a9f;transition:width .3s cubic-bezier(.25,1,.5,1);opacity:.8}.site-title a:hover:after{width:100%}nav{display:flex;justify-content:flex-end}.nav-links{display:flex;justify-content:flex-end;gap:1.5rem;width:auto}.nav-links a{color:#222;text-decoration:none;font-size:.85rem;font-weight:500;padding:.4rem 0;position:relative;transition:color .2s;letter-spacing:.06em;text-transform:uppercase;font-family:IBM Plex Mono,monospace}.nav-links a:hover{color:#8b5a9f;text-decoration:none}.nav-links a.active{color:#8b5a9f}.nav-links a:after{content:"";position:absolute;width:0;height:1px;bottom:-1px;left:0;background-color:#8b5a9f;transition:width .3s cubic-bezier(.25,1,.5,1);opacity:.8}.nav-links a:hover:after,.nav-links a.active:after{width:100%}.dark .header-container{background-color:#f2f8ffb3}.dark .nav-links a,.dark .site-title a{color:#222}.dark .nav-links a:hover,.dark .nav-links a.active,.dark .site-title a:hover{color:#b68dc8}.dark .nav-links a:after,.dark .site-title a:after{background-color:#b68dc8}body{padding-top:6.5rem}body.menu-expanded{overflow:hidden}@media (max-width: 768px){header{padding:.8rem 1.5rem 1.2rem}.header-container{flex-direction:row;justify-content:space-between;align-items:center;padding:.8rem 1.5rem}.site-title{margin-bottom:0}.site-title a{letter-spacing:.02em}#main-nav{display:none}}@media (min-width: 769px){#main-nav{display:flex!important}}@media (max-width: 600px){header{padding:.8rem 1rem 1.2rem}.header-container{padding:.8rem 1rem}}#hamburger-menu{display:none;flex-direction:column;justify-content:space-between;width:30px;height:15px;background:transparent;border:none;cursor:pointer;padding:0;z-index:10;margin-left:15px}.hamburger-line{width:20px;height:2px;background-color:#333;border-radius:3px;position:relative}.mobile-menu-container{position:fixed;top:5.5rem;left:50%;transform:translate(-50%) translateY(-30px);width:calc(100% - 4rem);max-width:86ch;background-color:#fefefe;border-radius:8px;z-index:10005;box-shadow:0 4px 20px #00000040;opacity:0;visibility:hidden;transition:all .4s ease;pointer-events:none}.mobile-menu-container.menu-expanded{opacity:1;visibility:visible;transform:translate(-50%) translateY(.5rem);pointer-events:auto;display:block}.mobile-nav-links{display:flex;flex-direction:column;padding:1.5rem 2rem;box-sizing:border-box}.mobile-nav-links a{color:#222;text-decoration:none;font-size:.9rem;font-weight:500;padding:.75rem 0;position:relative;transition:color .2s;letter-spacing:.06em;text-transform:uppercase;font-family:IBM Plex Mono,monospace;border-bottom:1px solid rgba(238,238,238,.5)}.mobile-nav-links a:last-child{border-bottom:none}.mobile-nav-links a:hover{color:#8b5a9f;text-decoration:none}.mobile-nav-links a.active{color:#8b5a9f}.mobile-nav-links a:after{content:"";position:absolute;width:0;height:1px;bottom:-1px;left:0;background-color:#8b5a9f;transition:width .3s cubic-bezier(.25,1,.5,1);opacity:.8}.mobile-nav-links a:hover:after,.mobile-nav-links a.active:after{width:100%}@media (max-width: 768px){#hamburger-menu{display:flex}#main-nav{display:none}.header-container{padding:.8rem 1.5rem}.mobile-menu-container{top:4.8rem;width:calc(100% - 3rem)}}@media (min-width: 769px){#hamburger-menu,.mobile-menu-container{display:none!important}}@media (max-width: 480px){.mobile-menu-container{top:4.5rem;width:calc(100% - 2rem)}.mobile-nav-links{padding:1.25rem 1.5rem}.mobile-nav-links a{font-size:.85rem;padding:.6rem 0}}.page-wrapper{display:flex;flex-direction:column;min-height:100vh;width:100%;position:relative;z-index:1}.content-container{flex:1 0 auto;width:100%;padding-bottom:1rem}.footer-container{flex-shrink:0;width:100%;margin-top:auto;padding:2.5rem 2rem 1rem;display:flex;justify-content:center;box-sizing:border-box}.footer-content{background-color:#fefefe;border-color:#f6eeff;border-radius:8px;padding:1rem 1.2rem;text-align:center;font-size:.75rem;color:#666;box-shadow:0 1px 4px #000c;width:100%}.dark .footer-content{background-color:#f2f8ffb3;color:#666}.social-icons{display:flex;justify-content:center;gap:1.5rem;margin-bottom:.7rem}.social-icons a{line-height:1;display:flex;align-items:center;justify-content:center}.social-icons a:hover{text-decoration:none}.social-icons img{filter:invert(40%) sepia(0%) saturate(0%) hue-rotate(158deg) brightness(95%) contrast(92%);transition:filter .2s}.social-icons a:hover img{filter:invert(37%) sepia(34%) saturate(936%) hue-rotate(244deg) brightness(95%) contrast(90%)}.dark .social-icons img{filter:invert(80%) sepia(0%) saturate(0%) hue-rotate(158deg) brightness(95%) contrast(92%)}.dark .social-icons a:hover img{filter:invert(74%) sepia(16%) saturate(826%) hue-rotate(247deg) brightness(87%) contrast(94%)}.footer-text{line-height:1.3}.footer-text p{margin:.2rem 0;font-size:.7rem}.footer-text a{color:#8b5a9f;text-decoration:none;transition:text-decoration .2s}.footer-text a:hover{text-decoration:underline}.dark .footer-text a{color:#b68dc8}@media (max-width: 600px){.footer-content{padding:.5rem;font-size:.7rem}.social-icons{gap:.8rem}.social-icons img{width:18px;height:18px}.footer-text p{font-size:.65rem}.footer-container{padding:2rem 1rem .5rem}}.blog-background{background-color:#faf5fd;position:relative;min-height:100vh;display:flex;flex-direction:column;overflow-x:visible;overflow-y:visible;box-sizing:border-box}.blog-background.dark{background-color:#f0f8ffe6}html{font-family:IBM Plex Mono,monospace;font-size:15px;font-weight:400;line-height:1.7;color:#3a3a3a;letter-spacing:0em;height:100%;scroll-padding-top:6rem;scroll-behavior:smooth}body{margin:0 auto;width:100%;max-width:90ch;min-height:100vh;padding:6.5rem 2rem 2rem;position:relative;z-index:1;display:flex;flex-direction:column;overflow-x:visible;box-sizing:border-box}@media (max-width: 768px){body{padding:6.5rem 1.5rem 1.5rem}}@media (max-width: 480px){body{padding:6.5rem 1rem 1rem}}.content-container{display:flex;flex-direction:column;flex:1 0 auto;width:100%;padding:0;box-sizing:border-box;overflow-x:visible;z-index:1;position:relative}h1,h2,h3{font-weight:500;line-height:1.2;margin:0 0 1rem}a{text-decoration:none}a:hover{text-decoration:underline}.tags{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.tag{margin:0;border:dotted 1px #a1a1a1;border-radius:.5em;padding:.5em 1em;background-color:#f8fcfd;font-family:IBM Plex Mono,monospace}.post-meta{margin:1rem 0;opacity:.8}.post-meta p{margin:.25rem 0;font-style:italic;font-family:IBM Plex Mono,monospace}h1,main,.tag{position:relative;z-index:1}main{position:relative;z-index:1;margin-top:1rem}body{scroll-behavior:smooth;overflow-x:hidden}.page-wrapper{position:relative;z-index:1}body.menu-expanded{overflow:hidden;position:fixed;width:100%}
