:root{--cga-navy: #060a0b;--cga-lilac: #ad97c6;--cga-light-blue: #9dbfe5;--cga-teal: #678ba5;--cga-pink: #c4519e;--cga-black: #000000;--cga-blue: #0000AA;--cga-green: #00AA00;--cga-cyan: #00AAAA;--cga-red: #AA0000;--cga-magenta: #AA00AA;--cga-brown: #AA5500;--cga-light-gray: #AAAAAA;--cga-dark-gray: #555555;--cga-std-light-blue: #5555FF;--cga-light-green: #55FF55;--cga-light-cyan: #55FFFF;--cga-light-red: #FF5555;--cga-light-magenta: #FF55FF;--cga-yellow: #FFFF55;--cga-white: #FFFFFF;--cga-gray-rgb-val: 127, 110, 126;--cga-gray-alpha-val: .57;--gray-gradient: rgba(var(--cga-light-gray-rgb), .5), #fff;--box-shadow: 0 2px 6px rgba(var(--cga-gray-rgb-val), calc(var(--cga-gray-alpha-val) * .25)), 0 8px 24px rgba(var(--cga-gray-rgb-val), calc(var(--cga-gray-alpha-val) * .33)), 0 16px 32px rgba(var(--cga-gray-rgb-val), calc(var(--cga-gray-alpha-val) * .33));--cga-light-gray-rgb: 170, 170, 170;--cga-custom-light-blue-rgb: 157, 191, 229;--cga-lilac-rgb: 173, 151, 198;--base-font-size: 2.25vmin;--scale-ratio: 1.25;--h1-size: calc(var(--base-font-size) * var(--scale-ratio) * var(--scale-ratio) * var(--scale-ratio));--h2-size: calc(var(--base-font-size) * var(--scale-ratio) * var(--scale-ratio));--h3-size: calc(var(--base-font-size) * var(--scale-ratio));--body-size: var(--base-font-size);--small-size: calc(var(--base-font-size) / var(--scale-ratio))}@font-face{font-family:IBM VGA;src:url(/fonts/IBM_VGA_8x16.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:VT323;src:url(/fonts/VT323-Regular.ttf) format("ttf");font-weight:400;font-style:normal;font-display:swap}body{font-family:VT323,IBM DOS,monospace;font-size:var(--body-size);line-height:1.5;color:var(--cga-white);background-color:var(--cga-navy);margin:0;padding:0;text-align:left;background-size:100% 600px;word-wrap:break-word;overflow-wrap:break-word}main{width:720px;max-width:calc(100% - 2em);margin:auto;padding:3em 1em}h1,h2,h3,h4,h5,h6,.cga-button,code,pre{font-family:IBM VGA,IBM DOS,monospace;margin:0 0 .5rem;color:#fff;line-height:1.2}h1{font-size:var(--h1-size);color:var(--cga-light-cyan)}h2{font-size:var(--h2-size);color:var(--cga-light-blue)}h3{font-size:var(--h3-size);color:var(--cga-cyan)}a{color:var(--cga-light-magenta);text-decoration:none}a:hover{color:var(--cga-pink);text-decoration:underline}code,pre{font-family:IBM VGA,monospace;background-color:var(--cga-navy);color:var(--cga-light-green)}.site-title{font-size:2vmin;color:var(--cga-light-blue);text-decoration:none}.logo-container{display:flex;align-items:center;gap:.5em}.header-logo{width:40px;height:auto}.site-title{font-size:4vmin;color:var(--cga-light-blue);text-decoration:none}.logo-container a{display:flex;align-items:center;text-decoration:none}header{position:sticky;top:0;z-index:1000;margin:0;padding:0 1em;background:var(--cga-black);color:var(--cga-white);box-shadow:0 2px 8px #ffffff0d}h2{margin:0;font-size:1.2em;flex-shrink:0}h2 a,h2 a.active{text-decoration:none;color:var(--cga-light-blue)}nav{display:flex;align-items:center;justify-content:space-between;min-height:60px;gap:1em}.internal-links{display:flex;gap:.5em;flex:1;justify-content:center}nav a{padding:.8em .5em;color:var(--cga-light-gray);border-bottom:2px solid transparent;text-decoration:none;transition:all .2s ease}nav a:hover{color:var(--cga-light-cyan);border-bottom-color:var(--cga-light-cyan)}nav a.active{color:var(--cga-pink);border-bottom-color:var(--cga-pink)}.social-links{display:flex;gap:.5em;flex-shrink:0}.social-links a{padding:.5em;border:none;display:flex;align-items:center;justify-content:center}.social-links svg{transition:transform .2s ease}.social-links a:hover svg{transform:scale(1.1)}@media(max-width:720px){header{padding:0 .5em}h2{font-size:1em}.internal-links{gap:.25em}.social-links{display:none}nav a{padding:.5em .25em;font-size:.9em}}@media(max-width:480px){h2{font-size:.9em}.internal-links{gap:.1em}nav a{padding:.4em .2em;font-size:.8em}}blockquote{position:relative;display:block;background-color:var(--cga-light-gray);color:var(--cga-black);padding:2vmin 3vmin;border:.25vmin solid var(--cga-dark-gray);border-radius:.5vmin;box-shadow:0 .5vmin .75vmin #0003,0 .125vmin .25vmin #ffffff1a inset;text-align:left;max-width:60vmin;margin:2vmin auto;font-style:italic;line-height:1.6}blockquote h2{font-size:1.5em;margin-bottom:1vmin;color:var(--cga-dark-blue)}blockquote:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:repeating-linear-gradient(to bottom,rgba(0,0,0,.1) 0px,rgba(0,0,0,.05) 2px,transparent 4px);pointer-events:none;z-index:1}p{margin-bottom:1em}.prose p{margin-bottom:2em}textarea{width:100%;font-size:16px}input{font-size:16px}table{width:100%}img{max-width:100%;height:auto;border-radius:8px}code{padding:2px 5px;background-color:rgb(var(--gray-light));border-radius:2px}pre{padding:1.5em;border-radius:8px}pre>code{all:unset}hr{border:none;border-top:1px solid rgb(var(--gray-light))}@media(max-width:720px){body{font-size:18px}main{padding:1em}}.title{font-size:2.221em;color:var(--cga-light-blue);font-weight:700}.sr-only{border:0;padding:0;margin:0;position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}.cga-button{background-color:var(--cga-teal);color:var(--cga-white);border:none;padding:1vmin 2vmin;font-family:IBM VGA8,monospace;font-size:2vmin;cursor:pointer;text-align:center;transition:background-color .2s ease}.cga-button:hover{background-color:var(--cga-light-blue)}.cga-button:active{background-color:var(--cga-dark-gray)}.pixel-border-button{display:inline-block;padding:10px 20px;margin:2px;font-family:IBM VGA,monospace;color:var(--cga-white);background-color:var(--cga-teal);cursor:pointer;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-top:2px solid var(--cga-light-gray);border-left:2px solid var(--cga-light-gray);border-bottom:2px solid var(--cga-black);border-right:2px solid var(--cga-black);transition:background-color .1s ease-out,border-color .1s ease-out}.pixel-border-button:hover{background-color:var(--cga-std-light-blue);border-top-color:#6fffff;border-left-color:#6fffff}.pixel-border-button:active{background-color:var(--cga-dark-gray);border-top-color:var(--cga-black);border-left-color:var(--cga-black);border-bottom-color:var(--cga-light-gray);border-right-color:var(--cga-light-gray);position:relative;top:1px;left:1px}.pixel-art-button{display:inline-block;position:relative;padding:10px 20px;margin:3px;font-family:IBM VGA,monospace;color:var(--cga-white);background-color:var(--cga-blue);border:none;cursor:pointer;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:transform .05s ease-out,background-color .1s ease-out}.pixel-art-button:after{content:"";position:absolute;top:3px;left:3px;width:100%;height:100%;background-color:var(--cga-dark-gray);z-index:-1;transition:top .05s ease-out,left .05s ease-out}.pixel-art-button:hover{background-color:var(--cga-std-light-blue)}.pixel-art-button:hover:after{background-color:#484848}.pixel-art-button:active{transform:translate(3px,3px);background-color:var(--cga-black)}.pixel-art-button:active:after{top:0;left:0}.cga-container{border:2px solid var(--cga-light-gray);background-color:var(--cga-navy);padding:1em}.cga-scanlines{position:relative;overflow:hidden}.cga-scanlines:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:repeating-linear-gradient(transparent 0px,rgba(0,0,0,.2) 1px,transparent 2px);pointer-events:none}.cga-monitor{position:relative;border:20px solid var(--cga-lilac);border-radius:10px;box-shadow:0 0 25px 5px rgba(var(--cga-light-gray-rgb),.2),0 0 40px 10px rgba(var(--cga-custom-light-blue-rgb),.15),0 0 50px 15px rgba(var(--cga-lilac-rgb),.1);overflow:hidden;background-color:var(--cga-black);padding:20px}header[data-astro-cid-3ef6ksr2]{margin:0;padding:0 1em;background:var(--cga-black);color:var(--cga-white);box-shadow:0 2px 8px #ffffff0d}.logo-container[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:.5 em;flex-shrink:0}h2[data-astro-cid-3ef6ksr2]{margin:0;font-size:1.2em;flex-shrink:0}h2[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2],h2[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2].active{text-decoration:none;color:var(--cga-light-blue)}nav[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:space-between;min-height:60px;gap:1em}.internal-links[data-astro-cid-3ef6ksr2]{display:flex;gap:1em;flex:1;justify-content:center}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{padding:.8em .5em;color:var(--cga-light-gray);border-bottom:2px solid transparent;text-decoration:none;transition:all .2s ease}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover{color:var(--cga-light-cyan);border-bottom-color:var(--cga-light-cyan)}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2].active{color:var(--cga-pink);border-bottom-color:var(--cga-pink)}.social-links[data-astro-cid-3ef6ksr2]{display:flex;gap:.5em;flex-shrink:0}.social-links[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{padding:.5em;border:none;display:flex;align-items:center;justify-content:center}.social-links[data-astro-cid-3ef6ksr2] svg[data-astro-cid-3ef6ksr2]{transition:transform .2s ease}.social-links[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover svg[data-astro-cid-3ef6ksr2]{transform:scale(1.1)}@media(max-width:720px){header[data-astro-cid-3ef6ksr2]{padding:0 .5em}h2[data-astro-cid-3ef6ksr2]{font-size:1em}.internal-links[data-astro-cid-3ef6ksr2]{gap:.25em}.social-links[data-astro-cid-3ef6ksr2]{display:none}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{padding:.5em .25em;font-size:.9em}}@media(max-width:480px){h2[data-astro-cid-3ef6ksr2]{font-size:.9em}.internal-links[data-astro-cid-3ef6ksr2]{gap:.1em}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{padding:.4em .2em;font-size:.8em}}footer[data-astro-cid-sz7xmlte]{padding:2em 1em 6em;background:linear-gradient(var(--gray-dark)) no-repeat;color:rgb(var(--white));text-align:center}.social-links[data-astro-cid-sz7xmlte]{display:flex;justify-content:center;gap:1em;margin-top:1em}.social-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{text-decoration:none;color:--accent}.social-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:--accent-dark}
