@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-sans-400.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-sans-500.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-sans-600.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-400.woff2)format("woff2")}:root{--bg:#14161a;--panel:#1b1e24;--panel-2:#21252c;--line:#2c313a;--text:#e7e9ee;--muted:#8b93a1;--accent:#60a5fa;--accent-hover:#8cc0fb;--accent-dim:#2c4874;--on-accent:#0b1615;--diskette:#60a5fa;--floppy:#4ade80;--crunchy:#fb923c;--font-ui:"IBM Plex Sans", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:16px;line-height:1.55}h1,h2,h3,p{margin:0}a{color:var(--accent)}a:hover{color:var(--accent-hover)}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent-dim);color:var(--text)}.wrap{width:100%;max-width:880px;margin:0 auto;padding:0 16px}.skip-link{position:absolute;left:-9999px}.skip-link:focus{background:var(--panel-2);color:var(--text);z-index:10;padding:6px 10px;top:8px;left:16px}.site-header{border-bottom:1px solid var(--line)}.header-row{justify-content:space-between;align-items:center;gap:16px;min-height:56px;display:flex}.brand{color:var(--text);font-family:var(--font-mono);font-size:18px;text-decoration:none}.brand:hover{color:var(--accent)}.theme-toggle{color:var(--muted);cursor:pointer;align-items:center;gap:8px;font-size:14px;display:inline-flex}.theme-toggle input{accent-color:var(--accent);margin:0}main.wrap{padding-bottom:72px}.hero{padding:56px 0 40px}.hero h1{margin-bottom:16px;font-size:clamp(28px,6vw,40px);font-weight:600;line-height:1.2}.lede{color:var(--muted);max-width:60ch;font-size:18px}.prompt{color:var(--muted);font-family:var(--font-mono);margin-bottom:12px;font-size:15px}.cursor{animation:1.1s step-end 4 blink}@keyframes blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.cursor{animation:none}}.dir{font-family:var(--font-mono);background:var(--panel);border:1px solid var(--line);border-radius:10px;margin-bottom:40px;padding:16px 20px;font-size:14px}.dir-head,.dir-foot{color:var(--muted);flex-wrap:wrap;column-gap:24px;display:flex}.dir-head{margin-bottom:10px}.dir-foot{margin-top:10px}.dir-list{margin:0;padding:0;list-style:none}.dir-list a{color:var(--text);border-radius:4px;grid-template-columns:9ch 4ch 1fr;gap:8px;margin:0 -6px;padding:4px 6px;text-decoration:none;display:grid}.dir-list a:hover{background:var(--panel-2);color:var(--text)}.dir-name{color:var(--app-accent,var(--accent))}.dir-ext,.dir-desc{color:var(--muted)}.news{margin:0 0 48px}.news-file{color:var(--muted);font-family:var(--font-mono);margin-right:8px;font-size:15px;font-weight:400}.news-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:16px;margin:16px 0 0;padding:0;list-style:none;display:grid}.news-item{background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--app-accent);border-radius:8px;padding:14px 16px 16px}.news-apps{color:var(--app-accent);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;font-size:12px}.news-item h3{margin:0 0 6px;font-size:17px;font-weight:600;line-height:1.3}.news-item p:last-child{color:var(--muted);font-size:15px}.app--diskette{--app-accent:var(--diskette)}.app--floppy{--app-accent:var(--floppy)}.app--crunchy{--app-accent:var(--crunchy)}.apps{gap:24px;display:grid}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:24px}.app-card{border-top:3px solid var(--app-accent);gap:14px;scroll-margin-top:16px;display:grid}.panel-title{font-size:26px;font-weight:600;line-height:1.2}.app-head{align-items:center;gap:16px;display:flex}.app-icon{flex:none;width:64px;height:64px}.app-file{color:var(--muted);font-family:var(--font-mono);overflow-wrap:anywhere;font-size:13px}.tagline{color:var(--app-accent,var(--accent));font-size:18px;font-weight:500;line-height:1.35}.pitch{max-width:68ch}.features-title{color:var(--muted);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;margin:4px 0 0;font-size:13px;font-weight:400}.features{gap:6px;margin:0;padding-left:20px;display:grid}.features li::marker{color:var(--app-accent)}.readme{background:var(--panel-2);border-left:3px solid var(--app-accent);border-radius:0 6px 6px 0;padding:12px 16px;font-size:15px}.readme-name{color:var(--app-accent);font-family:var(--font-mono);margin-bottom:4px;font-size:13px}.ai-pack-actions{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:10px;display:flex}.ai-pack-meta{color:var(--muted);min-width:0;font-size:13px}.ai-pack-meta code{font-family:var(--font-mono);overflow-wrap:anywhere}.actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:2px;display:flex}.button{font-family:var(--font-ui);border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-radius:6px;padding:10px 16px;font-size:15px;font-weight:500;text-decoration:none;display:inline-block}.button:hover{border-color:var(--accent-dim);color:var(--text)}.button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.button.primary:hover{background:var(--accent-hover);color:var(--on-accent)}.price{font-family:var(--font-mono);color:var(--muted);margin-top:6px;font-size:13px;display:inline-block}.price--free{color:var(--app-accent,var(--accent));font-weight:600}.app-card--hero{border-top-width:6px}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.status{color:var(--muted);font-family:var(--font-mono);border:1px solid var(--line);border-radius:20px;padding:4px 10px;font-size:13px}.section{margin-top:56px}.section-title{margin-bottom:10px;font-size:24px;font-weight:600;line-height:1.25}.section-lede{color:var(--muted);max-width:64ch;margin-bottom:20px}.steps{counter-reset:step;gap:12px;margin:0;padding:0;list-style:none;display:grid}.steps li{counter-increment:step;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:14px 16px 14px 52px;position:relative}.steps li:before{content:counter(step);color:var(--muted);font-family:var(--font-mono);position:absolute;top:14px;left:16px}.step-app{color:var(--app-accent);font-weight:600}.rules{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.rule{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px}.rule h3{margin:0 0 6px;font-size:17px;font-weight:600}.rule p{color:var(--muted);font-size:15px}.closer{border:1px dashed var(--line);border-radius:10px;padding:24px}.site-footer{border-top:1px solid var(--line);color:var(--muted);padding:24px 0 40px;font-size:14px}.site-footer p+p{margin-top:10px}.site-footer a{color:var(--muted)}.site-footer a:hover{color:var(--text)}@font-face{font-family:ansiapps VGA;font-style:normal;font-weight:400;font-display:block;src:url(/fonts/ansiapps/WebPlus_IBM_VGA_8x16.woff)format("woff")}:root[data-theme=ansiapps]{--dos-black:#000;--dos-blue:#00a;--dos-green:#0a0;--dos-cyan:#0aa;--dos-red:#a00;--dos-magenta:#a0a;--dos-brown:#a50;--dos-lightgray:#aaa;--dos-darkgray:#555;--dos-lightblue:#55f;--dos-lightgreen:#5f5;--dos-lightcyan:#5ff;--dos-lightred:#f55;--dos-lightmagenta:#f5f;--dos-yellow:#ff5;--dos-white:#fff;--bg:var(--dos-blue);--panel:var(--dos-blue);--panel-2:var(--dos-blue);--line:var(--dos-lightcyan);--text:var(--dos-white);--muted:var(--dos-lightgray);--accent:var(--dos-lightcyan);--accent-hover:var(--dos-white);--accent-dim:var(--dos-cyan);--on-accent:var(--dos-black);--font-ui:"ansiapps VGA", ui-monospace, monospace;--font-mono:"ansiapps VGA", ui-monospace, monospace;--dos-shadow:16px 16px 0 var(--dos-black);--dos-shadow-small:8px 8px 0 var(--dos-black)}:root[data-theme=ansiapps] body,:root[data-theme=ansiapps] body *{font-synthesis:none;-webkit-font-smoothing:none;-moz-osx-font-smoothing:auto;letter-spacing:0!important;border-radius:0!important;font-size:16px!important;font-style:normal!important;font-weight:400!important;transition:none!important;animation:none!important}:root[data-theme=ansiapps] body{line-height:1.25}:root[data-theme=ansiapps] ::selection{background:var(--dos-cyan);color:var(--dos-black)}:root[data-theme=ansiapps] a:focus-visible,:root[data-theme=ansiapps] input:focus-visible{outline:2px dashed var(--dos-white);outline-offset:1px}:root[data-theme=ansiapps] a{color:var(--dos-yellow)}:root[data-theme=ansiapps] a:hover{background:var(--dos-cyan);color:var(--dos-black);text-decoration:none}:root[data-theme=ansiapps] .site-header{background:var(--dos-lightgray);border-bottom:none}:root[data-theme=ansiapps] .header-row{min-height:32px}:root[data-theme=ansiapps] .brand{color:var(--dos-black)}:root[data-theme=ansiapps] .brand:first-letter{color:var(--dos-red)}:root[data-theme=ansiapps] .brand:hover{background:var(--dos-green);color:var(--dos-black)}:root[data-theme=ansiapps] .theme-toggle{color:var(--dos-black)}:root[data-theme=ansiapps] input[type=checkbox]{-webkit-appearance:none;appearance:none;font-family:var(--font-mono);color:inherit;margin:0}:root[data-theme=ansiapps] input[type=checkbox]:before{content:"[ ]"}:root[data-theme=ansiapps] input[type=checkbox]:checked:before{content:"[X]"}:root[data-theme=ansiapps] .hero{padding:32px 0 24px}:root[data-theme=ansiapps] .hero h1{color:var(--dos-yellow);margin-bottom:16px}:root[data-theme=ansiapps] .lede{color:var(--dos-lightgray)}:root[data-theme=ansiapps]{--diskette:var(--dos-lightcyan);--floppy:var(--dos-lightgreen);--crunchy:var(--dos-yellow)}:root[data-theme=ansiapps] .prompt{color:var(--dos-lightgray);margin-bottom:16px}@media (prefers-reduced-motion:no-preference){:root[data-theme=ansiapps] .cursor{animation:1.1s step-end 4 blink!important}}:root[data-theme=ansiapps] .dir{background:var(--dos-black);border:1px solid var(--dos-lightgray);box-shadow:var(--dos-shadow-small);color:var(--dos-lightgray);margin-bottom:48px}:root[data-theme=ansiapps] .dir-head,:root[data-theme=ansiapps] .dir-foot,:root[data-theme=ansiapps] .dir-ext,:root[data-theme=ansiapps] .dir-desc{color:var(--dos-lightgray)}:root[data-theme=ansiapps] .dir-list a{padding:0 6px}:root[data-theme=ansiapps] .dir-list a:hover,:root[data-theme=ansiapps] .dir-list a:hover span{background:var(--dos-cyan);color:var(--dos-black)}:root[data-theme=ansiapps] .apps{gap:40px}:root[data-theme=ansiapps] .panel{border:3px double var(--line);margin-top:10px;padding:24px 16px 16px;position:relative}:root[data-theme=ansiapps] .app-card{border-top:3px double var(--line)}:root[data-theme=ansiapps] .panel-title{background:var(--panel);color:var(--app-accent,var(--dos-white));white-space:nowrap;margin:0;padding:0 8px;position:absolute;top:-11px;left:50%;transform:translate(-50%)}:root[data-theme=ansiapps] .app-file{color:var(--dos-lightgray)}:root[data-theme=ansiapps] .tagline{color:var(--app-accent,var(--dos-lightcyan))}:root[data-theme=ansiapps] .features-title{color:var(--dos-yellow);letter-spacing:0}:root[data-theme=ansiapps] .features{gap:0;padding-left:0;list-style:none}:root[data-theme=ansiapps] .features li{text-indent:-2ch;padding-left:2ch}:root[data-theme=ansiapps] .features li:before{content:"■";color:var(--app-accent)}:root[data-theme=ansiapps] .readme{background:var(--dos-lightgray);color:var(--dos-black);box-shadow:var(--dos-shadow-small);border:none;margin:8px 16px 16px 0;padding:8px 16px 12px}:root[data-theme=ansiapps] .readme-name{color:var(--dos-black);text-align:center}:root[data-theme=ansiapps] .readme-name:before{content:"═══"}:root[data-theme=ansiapps] .readme-name:after{content:" ═══"}:root[data-theme=ansiapps] .ai-pack-meta{color:var(--dos-darkgray);font-size:16px}:root[data-theme=ansiapps] .actions{gap:20px;margin-top:8px;margin-bottom:8px}:root[data-theme=ansiapps] .button{background:var(--dos-lightgray);color:var(--dos-black);box-shadow:var(--dos-shadow-small);border:none;padding:2px 12px}:root[data-theme=ansiapps] .button:hover{background:var(--dos-white);color:var(--dos-black)}:root[data-theme=ansiapps] .button:active{box-shadow:none;transform:translate(8px,8px)}:root[data-theme=ansiapps] .button.primary{background:var(--dos-lightcyan);color:var(--dos-black)}:root[data-theme=ansiapps] .button.primary:hover{background:var(--dos-white)}:root[data-theme=ansiapps] .status{border:1px solid var(--dos-lightgray);color:var(--dos-lightgray);padding:0 8px}:root[data-theme=ansiapps] .news{margin:0 0 48px}:root[data-theme=ansiapps] .news-file{color:var(--dos-black);background:var(--dos-lightgray);padding:0 8px}:root[data-theme=ansiapps] .news-item{border:1px solid var(--dos-lightcyan);padding:8px 16px 12px}:root[data-theme=ansiapps] .news-apps{color:var(--app-accent);letter-spacing:0}:root[data-theme=ansiapps] .news-item h3{color:var(--dos-white)}:root[data-theme=ansiapps] .news-item p:last-child{color:var(--dos-lightgray)}:root[data-theme=ansiapps] .section{margin-top:48px}:root[data-theme=ansiapps] .section-title{color:var(--dos-yellow)}:root[data-theme=ansiapps] .section-lede{color:var(--dos-lightgray)}:root[data-theme=ansiapps] .steps li,:root[data-theme=ansiapps] .rule{border:1px solid var(--dos-lightcyan);padding:8px 16px 8px 48px}:root[data-theme=ansiapps] .rule{padding:8px 16px}:root[data-theme=ansiapps] .steps li:before{content:counter(step) ".";color:var(--dos-yellow);top:8px}:root[data-theme=ansiapps] .rule h3{color:var(--dos-white)}:root[data-theme=ansiapps] .rule p{color:var(--dos-lightgray)}:root[data-theme=ansiapps] .closer{border:3px double var(--dos-lightcyan);padding:16px}:root[data-theme=ansiapps] .site-footer{background:var(--dos-cyan);color:var(--dos-black);border-top:none}:root[data-theme=ansiapps] .site-footer a{color:var(--dos-black);text-decoration:underline}:root[data-theme=ansiapps] .site-footer a:hover{background:var(--dos-blue);color:var(--dos-white)}:root[data-theme=ansiapps] .skip-link:focus{background:var(--dos-lightgray);color:var(--dos-black);box-shadow:var(--dos-shadow-small)}:root[data-theme=ansiapps] .price{color:var(--dos-lightgray)}:root[data-theme=ansiapps] .price--free{color:var(--app-accent,var(--dos-lightgreen));font-weight:400}:root[data-theme=ansiapps] .app-card--hero{border-top:3px double var(--app-accent,var(--line))}
