:root{--bg-dark: hsl(69, 11%, 84%);--bg: hsl(33, 100%, 96%);--bg-light: hsl(34, 44%, 90%);--bg-extra-light: hsl(35, 22%, 80%);--bg-transparent: hsl(33, 100%, 96%, .4);--text: hsl(240, 4%, 20%);--text-muted: hsl(27, 6%, 60%);--primary: hsl(15, 63%, 60%);--secondary: hsl(257, 100%, 76%);--secondary-active: hsl(257, 100%, 70%);--tertiary: hsl(26, 6%, 45%);--drop-menu-highlight: #c9cbd1;--logo-fg: #1d1d1f;--buble: #e5ddb0;--h1-color: #6693bf;--h2-color: #5e857a;--h3-color: #b35b79;--h4-color: #5d57a3;--comment-box: #fdf6e3;--time: rgba(253, 246, 227, .6)}[theme=dark]{--bg-dark: hsl(240, 10%, 4%);--bg: hsl(240, 6%, 10%);--bg-light: hsl(240, 4%, 16%);--bg-extra-light: hsl(240, 5%, 26%);--bg-transparent: hsl(240, 6%, 10%, .5);--text: hsl(240, 5%, 84%);--text-muted: hsl(240, 5%, 64%);--primary: hsl(31, 100%, 71%);--secondary: hsl(257, 100%, 76%);--secondary-active: hsl(257, 100%, 70%);--tertiary: #79716b;--drop-menu-highlight: #223249;--logo-fg: #f5f5f7;--h1-color: #8ba4b0;--h2-color: #87a987;--h3-color: #b6927b;--h4-color: #c4b28a;--comment-box: #0d0c0c;--time: rgba(13, 12, 12, .6)}html[theme=dark] .astro-code,html[theme=dark] .astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important;text-decoration:var(--shiki-dark-text-decoration)!important}@font-face{font-family:Mynerve-Regular;src:url(/fonts/mynerve/Mynerve-Regular.woff2) format("woff2");font-weight:300;font-style:normal}@font-face{font-family:Inter-SemiBold;src:url(/fonts/inter/Inter-SemiBold.woff2) format("woff2");font-weight:300;font-style:normal}@font-face{font-family:Inter-ExtraBold;src:url(/fonts/inter/Inter-ExtraBold.woff2) format("woff2");font-weight:300;font-style:normal}@font-face{font-family:Inter-Regular;src:url(/fonts/inter/Inter-Regular.woff2) format("woff2");font-weight:300;font-style:normal}@font-face{font-family:GeistMono;src:url(/fonts/gheist/GeistMono-Regular.woff2) format("woff2");font-weight:400;font-style:normal}html{color-scheme:light dark}.footer{margin-top:auto;padding:2em 1em 6em;background:linear-gradient(var(--gray-gradient)) no-repeat;color:rgb(var(--gray));text-align:center}.canvas{width:600px}.underlined-heading{border-bottom:1px solid transparent;background-image:linear-gradient(to right,var(--h2-color) 0%,transparent 100%);background-repeat:no-repeat;background-position:0 100%;background-size:100% 1px;padding-bottom:0;margin-bottom:0;margin-top:0;display:inline-block;color:var(--h2-color)}main{width:100%;max-width:1000px;margin:auto;padding:3em 1em}.rlayout{max-width:720px;margin:0 auto}#title{color:#3f9c1b;text-decoration:underline}.logo,.logo-dark{width:auto;height:40px;margin:0;padding:10px 0 0}.logo{display:inline}.logo-dark,html[theme=dark] .logo{display:none}html[theme=dark] .logo-dark{display:inline}.hey{margin:0;padding:0}code{padding:2px 5px;background-color:var(--bg-light);border-radius:2px}pre{padding:1.5em;border-radius:8px}pre>code{all:unset}.bubble{background-color:var(--bg-light);border-radius:6px;padding:2%;justify-content:center;display:flex;margin:5% 0}.bubble a{color:var(--primary);text-decoration:underline}nav{width:100%;max-width:900px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:.3em .1em .3em .5em}nav a{color:var(--text);text-decoration:none;padding:1em}.expressive-code{margin-top:1.2rem;margin-bottom:1.7em}.blog-content img{max-width:100%;height:auto;border:1px solid var(--bg-extra-light);border-radius:8px}.blog-post-container h1:not(.post-title),h2,h3,h4{padding-bottom:0;font-family:Inter-Regular}.blog-post-container h1:not(.post-title){line-height:2.2rem;margin-bottom:-.4rem;margin-top:2.5rem}.blog-post-container h2{line-height:1.7rem;margin-bottom:-.5rem;margin-top:2rem}.blog-post-container h3{line-height:1.6rem;margin-bottom:-.6rem;margin-top:2rem}.blog-post-container h4{line-height:1.4rem;margin-bottom:-.6rem;margin-top:2rem}.blog-post-container h5{line-height:1.2rem;margin-bottom:-.6rem;margin-top:2rem}.blog-post-container h4,.blog-post-container h1,h2{scroll-margin-top:80px}blockquote{padding:1em;margin:1em 0;color:var(--text);background-color:var(--bg-light);border-radius:6px}.blog-post-container a{text-decoration:none;color:var(--secondary);font-weight:700}.blog-divider{border:none;height:1px;width:60%;background:linear-gradient(to right,transparent,var(--primary) 20%,var(--primary) 80%,transparent);margin:1em auto}.dropdown-menu{position:absolute;right:6%;top:125%;background-color:var(--bg-light);width:200px;opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .3s ease,transform .3s ease,visibility .3s ease,max-height .3s ease;flex-direction:column;padding:.5rem 0;box-shadow:0 2px 8px #0000001a;border-radius:8px;max-height:0;overflow:hidden;border:1px solid var(--bg-extra-light)}#nav-toggle{all:unset;margin-right:5px;display:none;background:none;border:none;cursor:pointer}.icon-container{display:inline-block;width:40px;height:40px;background-color:none;border:1px solid var(--bg-extra-light);border-radius:7px;display:flex;justify-content:center;align-items:center;transition:border-color .3s ease}.hamburger-icon,.x-icon{position:absolute;transition:opacity .3s ease,transform .3s ease}.hamburger-icon.hidden{opacity:0;transform:rotate(90deg)}.x-icon.hidden{opacity:0;transform:rotate(-90deg)}.dropdown-menu li{list-style:none;padding:.5rem 1rem}.dropdown-menu a{text-decoration:none;color:var(--text);display:block;padding:.5rem}.dropdown-menu a:hover{background:var(--drop-menu-highlight);border-radius:4px}.dropdown-menu.active{opacity:1;visibility:visible;transform:translateY(0);max-height:400px;display:flex}.hello{display:flex;align-items:center;gap:2px;position:relative;perspective:1000px}.social-links{display:flex;justify-content:center;gap:1em;margin-top:1em}.social-links a{text-decoration:none;color:rgb(var(--gray))}.social-links a:hover{color:rgb(var(--gray-dark))}*{box-sizing:border-box}html,body{box-sizing:border-box;height:100%;padding:0;margin:0;transition:background-color .3s ease,color .3s ease}body{background-color:var(--bg);color:var(--text);font-family:Inter-Regular,"Segoe UI Emoji","Noto Color Emoji","Apple Color Emoji",sans-serif;line-height:1.5}.wrapper{box-sizing:border-box;min-height:100%;display:flex;flex-direction:column}.tag-container{display:flex;flex-wrap:wrap;gap:10px;margin-top:1em;margin-bottom:20px;justify-content:center}.tag-button{background-color:var(--primary);border:none;border-radius:5px;padding:8px 12px;cursor:pointer;color:var(--bg);font-weight:700;transition:background-color .3s ease,transform .3s ease}.tag-button:hover{transform:scale(1.05)}.tag-button.active{background-color:var(--bg-light);color:var(--text)}.post-container{display:grid;grid-template-columns:1fr;gap:20px}@media (min-width: 600px){.post-container{grid-template-columns:1fr 1fr;align-items:stretch}.post-card-wrapper{height:100%}}.page-footer{padding:20px;flex-grow:0;flex-shrink:0}.page-body{padding:20px;flex-grow:1}.header{background:var(--bg-transparent);position:sticky;top:0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:1000;transition:background .3s ease-in-out}.justified{text-align:justify}.monitor-frame{background-color:#333;border-radius:15px;padding:20px;box-shadow:0 15px 30px #0009,0 0 10px #0000004d inset;max-width:min(80vw,500px);margin:40px auto;position:relative;border:3px solid #555;transform:perspective(1000px) rotateX(5deg);transform-style:preserve-3d}.terminal-screen{background-color:#1a1a1a;border-radius:8px;padding:20px;min-height:160px;display:flex;justify-content:center;border:1px solid #000;position:relative;z-index:1;box-shadow:inset 0 0 20px #00ff004d}.terminal-screen:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0,#ffffff1a,#fff0 70%);border-radius:8px;pointer-events:none;z-index:2}.typewriter{font-family:GeistMono,monospace;font-size:1.3rem;line-height:1.6;color:#0f0;white-space:normal;margin:0;padding:0;text-align:center;text-shadow:0 0 3px #00ff00,0 0 8px #00ff00,0 0 12px #00ff00}.blinking-cursor{color:#0f0;font-weight:600;font-size:1.2em;vertical-align:baseline;animation:blink .7s step-end infinite;text-shadow:0 0 5px #00ff00,0 0 10px #00ff00}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink-caret{0%,to{border-color:transparent}50%{border-color:#0f0}}@keyframes blink{0%,to{opacity:0}50%{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-on-load{animation:slide-up .8s ease-out forwards}@media (max-width: 720px){.internal-links{display:none}#nav-toggle{display:block}}
