:root{--bg:#0a0a0a;--panel:#0f0f0f;--fg:#c9cdc9;--dim:#6f7570;--green:#33ff66;--amber:#ffb000;--line:#242824;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--mono);font-size:17.5px;line-height:1.66;letter-spacing:.01em}.wrap{max-width:68ch;margin:0 auto;padding:0 20px}main{padding-bottom:64px}header{border-bottom:1px solid var(--line);background:var(--panel)}.ascii-head{max-width:68ch;margin:0 auto;padding:16px 20px 0}.logo-ascii{margin:0;font-size:11px;line-height:1.15;color:var(--green);opacity:.5;user-select:none;white-space:pre;overflow-x:auto}@media(max-width:420px){.logo-ascii{font-size:9.5px}}.bar{max-width:68ch;margin:0 auto;padding:14px 20px;display:flex;flex-wrap:wrap;gap:6px 18px;align-items:baseline;font-size:14px;color:var(--dim)}.bar strong a{color:var(--green);font-weight:600;letter-spacing:.06em;text-decoration:none}nav{margin-left:auto;display:flex;gap:16px}nav a{color:var(--dim);text-decoration:none;font-size:14px}nav a:hover,nav a:focus{color:var(--green)}.prompt{color:var(--dim);font-size:14px;margin:26px 0 6px}.prompt .u{color:var(--green)}.prompt .p{color:var(--amber)}.cursor{display:inline-block;width:.55em;height:1em;background:var(--green);vertical-align:-2px;margin-left:2px;animation:blink 1.15s steps(1)infinite}@keyframes blink{50%{opacity:0}}@media(prefers-reduced-motion:reduce){.cursor{animation:none}}h1{font-size:clamp(26px,6vw,38px);line-height:1.25;margin:.35em 0 .5em;color:#eef2ee;font-weight:600}h2{font-size:20px;margin:2.1em 0 .55em;color:#e3e8e3;font-weight:600;padding-left:.6em;border-left:3px solid var(--green)}h3{font-size:17px;margin:1.7em 0 .4em;color:var(--fg);font-weight:600}p{margin:0 0 1.05em}a{color:var(--green);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:#2a5c38}a:hover{text-decoration-color:var(--green);background:#122415}.lede{color:#a9b0a9;font-size:18px}.kicker{color:var(--dim);font-size:13px;letter-spacing:.14em;text-transform:uppercase;margin:2.4em 0 0}.meta{color:var(--dim);font-size:13.5px;letter-spacing:.04em;display:flex;flex-wrap:wrap;gap:4px 14px;margin:0 0 2em;padding-bottom:1.2em;border-bottom:1px solid var(--line)}article .meta{border-bottom:1px solid var(--line)}.tag{color:var(--amber);text-decoration:none;border:1px solid #3a3020;padding:1px 7px;font-size:12.5px}.tag:hover{background:#1d1809;border-color:var(--amber);color:var(--amber)}.content>h2:first-child,.content>p:first-child{margin-top:0}code{font-family:var(--mono);background:#141814;color:#b6f5c2;padding:.1em .38em;border:1px solid #1e241e;font-size:.92em}pre{background:#0d100d;border:1px solid var(--line);padding:14px 16px;overflow-x:auto;font-size:14.5px;line-height:1.6;margin:0 0 1.4em}pre code{background:0 0;border:0;padding:0;color:#c9cdc9;font-size:inherit}blockquote{margin:0 0 1.4em;padding:.2em 0 .2em 16px;border-left:2px solid #2c3a2c;color:#9aa39a;font-size:16.5px}ul,ol{padding-left:1.35em;margin:0 0 1.2em}li{margin-bottom:.45em}hr{border:0;border-top:1px solid var(--line);margin:2.6em 0}img{max-width:100%;height:auto}figure{margin:2.2em 0}figure img{border:1px solid var(--line);display:block;height:auto}figcaption{color:var(--dim);font-size:13px;line-height:1.55;margin-top:.7em;border-left:2px solid #23301f;padding-left:.8em}.hero{position:relative;overflow:hidden;padding-bottom:6px}.hero::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.055;background:repeating-linear-gradient(0,#fff 0 1px,transparent 1px 3px)}@media(prefers-reduced-motion:reduce){.hero::after{display:none}}.cols{display:grid;gap:18px;grid-template-columns:1fr;margin:2.2em 0}@media(min-width:620px){.cols{grid-template-columns:1fr 1fr}}@media(min-width:620px){.cols.solo{grid-template-columns:1fr}}.card{border:1px solid var(--line);background:var(--panel);padding:16px 18px}.card h3{margin:0 0 .7em;font-size:13.5px;letter-spacing:.14em;color:var(--green);text-transform:uppercase}.card ol{margin:0;padding-left:1.1em;font-size:15.5px;color:#aeb5ae}.card li{margin-bottom:.55em}.card a{color:#d3d9d3;text-decoration-color:#3a463a}.card a:hover{color:var(--green)}.card small{color:var(--dim);font-size:12.5px}.listado{list-style:none;padding:0;margin:2em 0}.listado li{padding:14px 0;border-bottom:1px solid var(--line)}.listado li:first-child{border-top:1px solid var(--line)}.listado a{color:#dfe4df;text-decoration:none;font-size:17px}.listado a:hover{color:var(--green)}.listado .fecha{color:var(--dim);font-size:13px;margin-left:10px}.listado .desc{color:#8f978f;font-size:14.5px;margin:.35em 0 0}.ficha{border:1px solid #2a3529;background:#0c110c;margin:2.2em 0}.ficha-hd{padding:9px 14px;border-bottom:1px solid #23301f;color:var(--green);font-size:13px;letter-spacing:.1em;white-space:nowrap;overflow-x:auto}.ficha-bd{padding:18px}.ficha-title{margin:.1em 0 .4em;font-size:clamp(22px,5vw,30px)}.status{display:inline-block;font-size:12px;letter-spacing:.12em;padding:2px 9px;border:1px solid var(--amber);color:var(--amber);margin-bottom:1em}dl{display:grid;grid-template-columns:auto 1fr;gap:.5em 18px;margin:0 0 1.2em;font-size:15.5px}dt{color:var(--dim);white-space:nowrap}dd{margin:0;color:#c1c8c1}.ascii{color:#3f4a40;font-size:13px;line-height:1.35;white-space:pre;overflow-x:auto;margin:2.4em 0}footer{border-top:1px solid var(--line);margin-top:0;padding:1.4em 20px 3em;color:var(--dim);font-size:13.5px;display:flex;flex-wrap:wrap;gap:10px;max-width:68ch;margin:0 auto}footer span:last-child{margin-left:auto}footer a{color:var(--dim);text-decoration:none}footer a:hover{color:var(--green)}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;background:#000;color:var(--green);padding:8px;z-index:9}.chroma .c,.chroma .c1,.chroma .cm{color:#5f6b60}.chroma .k,.chroma .kd,.chroma .kn,.chroma .kr,.chroma .kt{color:#3f6}.chroma .s,.chroma .s1,.chroma .s2,.chroma .sb,.chroma .sc,.chroma .sd,.chroma .se{color:#ffb000}.chroma .nb,.chroma .nf,.chroma .nc{color:#8fe3ff}.chroma .nv,.chroma .vg,.chroma .vi{color:#d8dcd8}.chroma .m,.chroma .mi,.chroma .mf,.chroma .mh{color:#ff8f6b}.chroma .o,.chroma .ow{color:#c9cdc9}.chroma .nt{color:#3f6}.chroma .na{color:#9fb39f}.chroma .err{color:#ff5f5f}.chroma .gd{color:#ff6b6b}.chroma .gi{color:#3f6}