:root{--c64-black:#000000;--c64-white:#ffffff;--c64-red:#68372b;--c64-cyan:#70a4b2;--c64-purple:#6f3d86;--c64-green:#588d43;--c64-blue:#352879;--c64-yellow:#b8c76f;--c64-orange:#6f4f25;--c64-brown:#433900;--c64-light-red:#9a6759;--c64-dark-grey:#444444;--c64-grey:#6c6c6c;--c64-light-green:#9ad284;--c64-light-blue:#6c5eb5;--c64-light-grey:#959595;--border:var(--c64-light-blue);--screen:var(--c64-blue);--screen-deep:#241a5c;--text:#d6d1f7;--text-dim:#a8a0f0;--link:#8fd3e3;--accent:var(--c64-light-green);--syn-mn:var(--c64-white);--syn-lbl:#8fd3e3;--syn-sym:#b7e0ea;--syn-num:var(--c64-light-green);--syn-imm:#d6e38a;--syn-dir:#d6e38a;--syn-reg:#e9b4a6;--syn-str:#e9b4a6;--syn-com:#9c97c4;--font-retro:"C64", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-code:"C64", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--border-size:clamp(12px, 5vw, 56px);--measure:46rem;color-scheme:dark}*,*::before,*::after{box-sizing:border-box}html{background:var(--border);-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;padding:var(--border-size);background:var(--border);color:var(--text);font:1.0625rem/1.7 var(--font-body)}.screen{max-width:64rem;min-height:calc(100vh - 2 * var(--border-size));margin:0 auto;padding:clamp(1.25rem,4vw,3rem);background:var(--screen);display:flex;flex-direction:column}main{flex:1;width:100%;max-width:var(--measure)}::selection{background:var(--text-dim);color:var(--screen)}a{color:var(--link);text-underline-offset:.2em}a:hover{color:var(--c64-white)}:focus-visible{outline:3px solid var(--c64-yellow);outline-offset:2px}.skip{position:absolute;left:-9999px;background:var(--c64-white);color:var(--screen);padding:.5rem 1rem}.skip:focus{left:1rem;top:1rem;z-index:10}h1,h2,h3,h4{font-family:var(--font-retro);color:var(--text-dim);line-height:1.3;letter-spacing:.02em;margin:2.2em 0 .6em}h1{font-size:clamp(1.4rem,4vw,1.9rem);margin-top:0;color:var(--c64-white)}h2{font-size:1.3rem}h3{font-size:1.1rem}h2::before{content:"▌";color:var(--accent);margin-right:.35em}p,ul,ol,blockquote,figure{margin:0 0 1.2em}ul,ol{padding-left:1.4em}li{margin:.25em 0}li::marker{color:var(--accent)}strong{color:var(--c64-white)}em{color:var(--c64-white)}blockquote{margin-left:0;padding:.6em 1.2em;border-left:6px solid var(--border);background:var(--screen-deep)}hr{border:0;height:8px;margin:2.5em 0;background:repeating-linear-gradient(90deg,var(--border) 0 8px,transparent 8px 16px)}img{max-width:100%;height:auto;image-rendering:pixelated}table{border-collapse:collapse;width:100%;margin-bottom:1.2em;font-size:.95em}th,td{padding:.45em .7em;border:2px solid var(--border);text-align:left}th{background:var(--border);color:var(--c64-white);font-family:var(--font-retro);font-weight:400}.term,.prompt,.dir-head,.dir-line,.dir-free,.dir-empty,.boot p{font-family:var(--font-retro);text-transform:uppercase}.term{color:var(--text-dim);line-height:1.5}.rev{background:var(--text-dim);color:var(--screen);padding:0 .2em;white-space:pre}.boot{margin-bottom:2.5rem;color:var(--text-dim)}.boot p{margin:0;line-height:1.5}.boot-title{text-align:center;font-size:clamp(.8rem,2.4vw,1.05rem)}.boot-title a{color:var(--text-dim);text-decoration:none}.boot-title a:hover{color:var(--c64-white)}.boot-mem{text-align:center;font-size:clamp(.75rem,2.2vw,.95rem);margin-bottom:1.6rem!important}.boot nav ul{list-style:none;padding:0;margin:0 0 1.4rem;display:flex;flex-wrap:wrap;gap:.4rem 1.4rem}.boot nav li{margin:0}.boot nav a{font-family:var(--font-retro);color:var(--text-dim);text-decoration:none;padding:.1em .3em}.boot nav a:hover,.boot nav a[aria-current=page]{background:var(--text-dim);color:var(--screen)}.cursor{display:inline-block;width:.65em;height:1.1em;vertical-align:-.15em;background:var(--text-dim);animation:blink 1.07s steps(1)infinite}@keyframes blink{50%{opacity:0}}@media(prefers-reduced-motion:reduce){.cursor{animation:none}}.dir{margin:1rem 0 2rem}.dir-head{margin-bottom:1rem;color:var(--text-dim)}.dir-entry{margin-bottom:1.4rem}.dir-line{margin:0;display:grid;grid-template-columns:3.5ch 1fr auto;gap:1ch;align-items:baseline}.dir-blocks{color:var(--text-dim);text-align:right}.dir-line a{text-decoration:none;color:var(--c64-white)}.dir-line a:hover{background:var(--text-dim);color:var(--screen)}.dir-type{color:var(--text-dim)}.dir-meta,.dir-summary{margin:.15rem 0 0 4.5ch;font-size:.92rem}.dir-meta{color:var(--text-dim)}.dir-free{color:var(--text-dim)}.intro{font-size:1.1rem;margin-bottom:2rem}.post-header{margin-bottom:2rem}.post-meta{color:var(--text-dim);font-size:.92rem;margin:0}.post-nav{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:3rem 0 0;padding-top:1.5rem;border-top:4px dotted var(--border)}.comments{margin-top:3rem}.comment{background:var(--screen-deep);border-left:6px solid var(--border);padding:.8rem 1.1rem;margin-bottom:1rem}.comment header{color:var(--text-dim);font-size:.9rem;margin-bottom:.3rem}.comment header strong{color:var(--c64-white)}.comment-body p{margin:0 0 .7em}.comment-body p:last-child{margin-bottom:0}.comment-body pre{margin:.3em 0 .8em;background:var(--c64-black);border:2px solid var(--border)}.comment-form{margin-top:2rem}.comment-form h3{margin-top:0}.field{margin-bottom:1rem}.field label{display:block;font-family:var(--font-retro);text-transform:uppercase;font-size:.85rem;color:var(--text-dim);margin-bottom:.25rem}.field input[type=text],.field input[type=email],.field textarea{width:100%;font:inherit;color:var(--c64-white);background:var(--screen-deep);border:3px solid var(--border);padding:.5rem .7rem;border-radius:0;caret-color:var(--c64-white)}.field textarea{font-family:var(--font-code);font-size:.92rem;resize:vertical}.field input:focus,.field textarea:focus{outline:none;border-color:var(--c64-yellow)}.hint{font-size:.85rem;color:var(--text-dim);margin:.3rem 0 0;font-family:var(--font-body);text-transform:none}.field label .hint{display:inline}.field.check{display:flex;gap:.7rem;align-items:flex-start}.field.check input{margin-top:.35rem;width:1.1rem;height:1.1rem;accent-color:var(--c64-light-green);flex:none}.field.check label{font-family:var(--font-body);text-transform:none;font-size:.9rem;color:var(--text);margin:0}.hp{position:absolute;left:-1e4px;width:1px;height:1px;overflow:hidden}.comment-form button{font-family:var(--font-retro);text-transform:uppercase;font-size:.95rem;border:0;padding:.55rem 1.2rem;background:var(--text-dim);color:var(--screen);cursor:pointer}.comment-form button:hover{background:var(--c64-white)}.comment-form button:disabled{opacity:.6;cursor:wait}.comment-status{min-height:1.5em;font-weight:600}.comment-status.ok{color:var(--c64-light-green)}.comment-status.err{color:var(--syn-reg)}.tag-cloud{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.6rem 1.4rem}.tag-cloud .count{color:var(--text-dim)}code,pre{font-family:var(--font-code);font-size:.9em}:not(pre)>code{background:var(--screen-deep);color:var(--accent);padding:.1em .35em}pre{margin:0;padding:1rem 1.2rem;overflow-x:auto;background:var(--screen-deep);color:var(--text);line-height:1.55;tab-size:8}figure.code{margin:0 0 1.5em;border:3px solid var(--border);background:var(--screen-deep)}figure.code figcaption{background:var(--border);color:var(--c64-white);font-family:var(--font-retro);font-size:.8rem;text-transform:uppercase;padding:.2rem .8rem}.asm .mn{color:var(--syn-mn);font-weight:600}.asm .lbl{color:var(--syn-lbl)}.asm .sym{color:var(--syn-sym)}.asm .num{color:var(--syn-num)}.asm .imm{color:var(--syn-imm)}.asm .dir{color:var(--syn-dir)}.asm .reg{color:var(--syn-reg)}.asm .str{color:var(--syn-str)}.asm .com{color:var(--syn-com);font-style:italic}.highlight{margin-bottom:1.5em;border:3px solid var(--border)}.chroma .c,.chroma .c1,.chroma .cm,.chroma .cs{color:var(--syn-com);font-style:italic}.chroma .k,.chroma .kd,.chroma .kn,.chroma .kr,.chroma .kt{color:var(--syn-mn);font-weight:600}.chroma .s,.chroma .s1,.chroma .s2,.chroma .sb,.chroma .se{color:var(--syn-str)}.chroma .m,.chroma .mi,.chroma .mh,.chroma .mf,.chroma .mb{color:var(--syn-num)}.chroma .nf,.chroma .nl,.chroma .nc{color:var(--syn-lbl)}.chroma .nb,.chroma .bp,.chroma .cp{color:var(--syn-dir)}.chroma .nv,.chroma .na{color:var(--syn-sym)}.chroma .o,.chroma .ow{color:var(--syn-imm)}.site-footer{margin-top:4rem;padding-top:1.2rem;border-top:4px dotted var(--border);color:var(--text-dim);font-size:.9rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem}.site-footer p{margin:0}.site-footer ul{list-style:none;display:flex;gap:1.2rem;padding:0;margin:0}.site-footer a{color:var(--text-dim)}.site-footer a:hover{color:var(--c64-white)}@media(max-width:480px){body{font-size:1rem}.dir-line{grid-template-columns:3ch 1fr}.dir-type{display:none}.dir-meta,.dir-summary{margin-left:4ch}pre{padding:.8rem;font-size:.82em}}