:root{--brand-brown: #6B4A3A;--brand-teal: #CFEFF2;--background-color: #6B4A3A;--background-color-elevated: #5a3d2f;--background-color-light: #7d5645;--base-color: #CFEFF2;--text-color: var(--brand-teal);--text-color-secondary: #b5c9cc;--text-color-muted: #9dc4c8;--border-color: #7d5645;--border-color-secondary: #5a3d2f;--border-color-subtle: #6f4936;--border: solid 1px var(--border-color);--link-color: var(--brand-teal);--link-color-hover: #ffffff;--link-color-visited: #9dc4c8;--link-color-active: #ffffff;--focus-outline-color: var(--brand-teal);--focus-glow: rgba(207, 239, 242, 0.2);--button-bg: #5a3d2f;--button-bg-hover: #4a2f1f;--button-bg-active: #3a2617;--button-bg-disabled: #7d5645;--selection-background: var(--brand-teal);--selection-text: var(--brand-brown);--placeholder-color: var(--text-color-muted);--color-success: #a8d8ae;--color-warning: #f5d98b;--color-error: #f4a5a8;--code-color-1: #9dc4c8;--code-color-2: #5a3d2f;--code-color-3: #f4a5a8;--code-color-4: #4a2f1f;--code-color-5: #d4b8ff;--code-color-6: #a8d8ae;--code-color-7: #f5d98b;--code-color-8: var(--brand-teal);--code-color-9: #a8d8ae;--code-color-10: #b5c9cc;--code-color-11: #9dc4c8;--code-color-12: #d4b8ff;--code-color-13: var(--brand-teal);--code-color-14: #f5d98b;--code-color-15: #f5d98b;--code-color-16: var(--brand-teal);--code-color-17: #ffffff;--code-color-18: #7d5645}body{background-color:var(--background-color);margin:0 auto;padding:0;font-family:"Source Code Pro","Courier New",Courier,"Lucida Console",monospace;font-size:16px;color:var(--text-color);text-align:left;line-height:1.6}h1,h2,h3,h4,h5,h6{color:var(--text-color);margin-top:1.5rem;margin-bottom:1rem;font-weight:400}h1{font-family:"Libre Baskerville",Georgia,serif;font-size:2.5rem;line-height:1.2}h2{font-family:"Libre Baskerville",Georgia,serif;font-size:2rem;line-height:1.3}h3{font-family:"Libre Baskerville",Georgia,serif;font-size:1.5rem;line-height:1.4}h4{font-family:"Source Code Pro","Courier New",Courier,"Lucida Console",monospace;font-size:1.25rem;line-height:1.5}h5{font-family:"Source Code Pro","Courier New",Courier,"Lucida Console",monospace;font-size:1.125rem;line-height:1.5}h6{font-family:"Source Code Pro","Courier New",Courier,"Lucida Console",monospace;font-size:1rem;line-height:1.5}p,ul,ol{margin:0px;color:var(--text-color)}a{color:var(--link-color);text-decoration:none;transition:color 0.2s ease, background-color 0.2s ease}a:hover{color:var(--link-color-hover);text-decoration:underline}a:visited{color:var(--link-color-visited, var(--link-color))}a:active{color:var(--link-color-active, var(--link-color))}a:focus{outline:2px solid var(--focus-outline-color, var(--link-color));outline-offset:2px}p a,li a{text-decoration:underline}p a:hover,li a:hover{color:var(--link-color-hover)}@media only screen and (max-device-width: 768px){*{font-size:14px !important}h1{font-size:2rem !important}h2{font-size:1.5rem !important}h3{font-size:1.25rem !important}}.container{width:90%;max-width:800px;margin-right:auto;margin-left:auto;padding:0 1rem}@media only screen and (min-width: 768px){.container{padding:0 2rem}}p{word-wrap:break-word;word-break:break-word;white-space:pre-wrap;margin-bottom:1rem;max-width:75ch}footer{color:var(--text-color-muted, var(--text-color));border-top:var(--border);margin:3rem auto 1.5rem;padding-top:1rem;text-align:center;font-size:0.875rem}header{margin-top:1.5rem;margin-bottom:1rem}header p{text-align:left;margin:0}::selection{background:var(--selection-background);color:var(--selection-text)}::-moz-selection{background:var(--selection-background);color:var(--selection-text)}:not(.menu)>ul{list-style:none;padding-left:0}:not(.menu)>ul{list-style-type:none}:not(.menu)>ul>li:before{content:"-";margin-right:9px;color:var(--text-color-muted, var(--text-color))}.menu{border-top:var(--border);border-bottom:var(--border);margin-bottom:1.5rem;background-color:var(--background-color-elevated, var(--background-color));position:sticky;top:0;z-index:100}.menu ul{margin:0;padding:1rem 0;list-style-type:none;text-align:right;min-height:28px}.menu ul li{display:inline;margin-left:2rem}.menu ul li:first-child{margin-left:0}.menu ul li a{text-decoration:none;color:var(--text-color);text-transform:uppercase;font-size:1rem;letter-spacing:0.05em;padding:.5rem 0;transition:color 0.2s ease}.menu ul li a:hover{color:var(--link-color-hover);text-decoration:underline;background-color:transparent}.menu ul li a:focus{outline:2px solid var(--focus-outline-color, var(--link-color));outline-offset:2px}.menu ul li a[aria-current="page"]{text-decoration:underline}.btn,button,input[type="submit"]{display:inline-block;font-family:"Source Code Pro","Courier New",Courier,"Lucida Console",monospace;font-size:1rem;line-height:1.6;padding:0.75rem 1.5rem;border:1px solid var(--border-color, #7d5645);border-radius:4px;cursor:pointer;transition:background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease}.btn-primary,input[type="submit"]{background-color:var(--button-bg, #5a3d2f);color:var(--brand-teal, #CFEFF2)}.btn-primary:hover,input[type="submit"]:hover{background-color:var(--button-bg-hover, #4a2f1f);border-color:var(--brand-teal, #CFEFF2);color:#ffffff}.btn-primary:focus,input[type="submit"]:focus{outline:2px solid var(--focus-outline-color, var(--brand-teal));outline-offset:2px;box-shadow:0 0 0 3px var(--focus-glow, rgba(207,239,242,0.2))}.btn-primary:active,input[type="submit"]:active{background-color:var(--button-bg-active, #3a2617)}.btn-primary:disabled,input[type="submit"]:disabled{background-color:var(--button-bg-disabled, #7d5645);color:var(--text-color-muted, #9dc4c8);cursor:not-allowed;opacity:0.6}.btn-secondary{background:none;color:var(--link-color);padding:0}.btn-secondary:hover{text-decoration:underline;color:var(--link-color-hover)}.btn-secondary::after{content:" \2192"}.project-card{border:1px solid var(--border-color, #7d5645);border-radius:4px;padding:1.5rem;background-color:var(--background-color-elevated, #5a3d2f);margin-bottom:2rem;transition:border-color 0.2s ease, box-shadow 0.2s ease}.project-card:hover,.project-card:focus-within{border-color:var(--brand-teal, #CFEFF2);box-shadow:0 4px 12px rgba(207,239,242,0.15)}.project-card h3{margin-top:0;margin-bottom:.5rem}.project-card .tags{color:var(--link-color);font-size:0.875rem;margin-bottom:1rem}.project-card .description{margin-bottom:1rem}.project-card .project-link{color:var(--link-color)}.project-card .project-link::after{content:" \2192"}input,select,textarea{padding:0;margin:0;-webkit-appearance:none;-webkit-border-radius:0;border:none}input[type=text],select,textarea{width:100%;resize:none;background-color:var(--background-color-elevated, var(--background-color));color:var(--text-color);caret-color:var(--text-color);font-size:16px;font-family:"Source Code Pro","Courier New",Courier,"Lucida Console",monospace;line-height:1.6;border:1px solid var(--border-color, #7d5645);padding:.5rem}input[type=text]:focus,select:focus,textarea:focus{outline:2px solid var(--focus-outline-color, var(--link-color));outline-offset:2px}input,select,textarea,textarea::-webkit-input-placeholder{text-indent:0px}::placeholder{color:var(--placeholder-color);opacity:1}:-ms-input-placeholder{color:var(--placeholder-color)}::-ms-input-placeholder{color:var(--placeholder-color)}*:focus{outline:2px solid var(--focus-outline-color, var(--link-color));outline-offset:2px}*:focus:not(:focus-visible){outline:none}*:focus-visible{outline:2px solid var(--focus-outline-color, var(--link-color));outline-offset:2px}textarea{vertical-align:top}.lineno{color:var(--code-color-1);margin-right:15px}figure.highlight{margin:1rem 0}code{background-color:var(--background-color-elevated, #5a3d2f);border:1px solid var(--border-color, #7d5645);padding:0.25rem 0.5rem;font-family:"Source Code Pro","Courier New",Courier,"Lucida Console",monospace;font-size:0.875rem;color:var(--text-color);border-radius:2px}pre{background-color:var(--background-color-elevated, #5a3d2f);border:1px solid var(--border-color, #7d5645);padding:1rem;margin:1rem 0;overflow:auto;font-size:0.875rem;color:var(--text-color);line-height:1.7;font-family:"Source Code Pro","Courier New",Courier,"Lucida Console",monospace;border-radius:4px}pre code{background-color:transparent;border:none;padding:0;font-size:inherit;color:inherit}.highlight .hll{background-color:var(--code-color-2)}.highlight .c{color:var(--code-color-1);font-style:italic}.highlight .err{color:var(--code-color-3);background-color:var(--code-color-4)}.highlight .k{color:var(--code-color-5)}.highlight .cm{color:var(--code-color-1);font-style:italic}.highlight .cp{color:var(--code-color-6)}.highlight .c1{color:var(--code-color-1);font-style:italic}.highlight .cs{color:var(--code-color-5);font-style:italic}.highlight .gd{color:var(--code-color-7)}.highlight .ge{font-style:italic}.highlight .gr{color:var(--code-color-7)}.highlight .gh{color:var(--code-color-8);font-weight:bold}.highlight .gi{color:var(--code-color-9)}.highlight .go{color:var(--code-color-10)}.highlight .gp{color:var(--code-color-11)}.highlight .gs{font-weight:bold}.highlight .gu{color:var(--code-color-12);font-weight:bold}.highlight .gt{color:var(--code-color-7)}.highlight .kc{color:var(--code-color-5)}.highlight .kd{color:var(--code-color-5)}.highlight .kn{color:var(--code-color-5)}.highlight .kp{color:var(--code-color-5)}.highlight .kr{color:var(--code-color-5)}.highlight .kt{color:var(--code-color-13)}.highlight .m{color:var(--code-color-14)}.highlight .s{color:var(--code-color-15)}.highlight .na{color:var(--code-color-16)}.highlight .nb{color:var(--code-color-13)}.highlight .nc{color:var(--code-color-9);text-decoration:underline}.highlight .no{color:var(--code-color-7)}.highlight .nd{color:var(--code-color-10)}.highlight .ni{color:var(--code-color-17);font-weight:bold}.highlight .nf{color:var(--code-color-9)}.highlight .nn{color:var(--code-color-13);text-decoration:underline}.highlight .nt{color:var(--code-color-16);font-weight:bold}.highlight .nv{color:var(--code-color-7)}.highlight .ow{color:var(--code-color-5)}.highlight .w{color:var(--code-color-18)}.highlight .mf{color:var(--code-color-14)}.highlight .mh{color:var(--code-color-14)}.highlight .mi{color:var(--code-color-14)}.highlight .mo{color:var(--code-color-14)}.highlight .sb{color:var(--code-color-15)}.highlight .sc{color:var(--code-color-15)}.highlight .sd{color:var(--code-color-15)}.highlight .s2{color:var(--code-color-15)}.highlight .se{color:var(--code-color-15)}.highlight .sh{color:var(--code-color-15)}.highlight .si{color:var(--code-color-15)}.highlight .sx{color:var(--code-color-15)}.highlight .sr{color:var(--code-color-14)}.highlight .s1{color:var(--code-color-15)}.highlight .ss{color:var(--code-color-5)}.highlight .bp{color:var(--code-color-13)}.highlight .vc{color:var(--code-color-7)}.highlight .vg{color:var(--code-color-7)}.highlight .vi{color:var(--code-color-7)}.highlight .il{color:var(--code-color-14)}
