@font-face{font-family:Plex Sans;src:url(/assets/plex-sans-IvpUvPa2.woff2) format("woff2");font-weight:300 700;font-style:normal;font-display:swap}@font-face{font-family:Plex Mono;src:url(/assets/plex-mono-400-DMJ8VG8y.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Plex Mono;src:url(/assets/plex-mono-500-DSY6xOcd.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}:root{--sage: #acb8aa;--sage-deep: #5b6957;--sage-soft: #e7eae4;--paper: #f5f6f1;--paper-raised: #ffffff;--ink: #1b1d17;--ink-soft: #565a4e;--ink-faint: #8b8f80;--line: #dbded2;--line-strong: #c3c7b6}@media(prefers-color-scheme:dark){:root{--sage: #b7c2b0;--sage-deep: #cfd6ca;--sage-soft: #262b21;--paper: #14160f;--paper-raised: #1b1e17;--ink: #edefe7;--ink-soft: #abb09e;--ink-faint: #6e7264;--line: #2c2f26;--line-strong: #3b3f32}}:root[data-theme=dark]{--sage: #b7c2b0;--sage-deep: #cfd6ca;--sage-soft: #262b21;--paper: #14160f;--paper-raised: #1b1e17;--ink: #edefe7;--ink-soft: #abb09e;--ink-faint: #6e7264;--line: #2c2f26;--line-strong: #3b3f32}:root[data-theme=light]{--sage: #acb8aa;--sage-deep: #5b6957;--sage-soft: #e7eae4;--paper: #f5f6f1;--paper-raised: #ffffff;--ink: #1b1d17;--ink-soft: #565a4e;--ink-faint: #8b8f80;--line: #dbded2;--line-strong: #c3c7b6}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink)}body{font-family:Plex Sans,ui-sans-serif,system-ui,sans-serif;font-size:16px;line-height:1.55;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:32px 32px;background-position:-1px -1px;background-attachment:fixed}@media(prefers-reduced-motion:no-preference){a,.app-row{transition:color .15s ease,background-color .15s ease,border-color .15s ease}}.wrap{max-width:880px;margin:0 auto;padding:0 28px}header.site{padding:28px 0 24px}.site-header-row{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--ink)}.brand svg{width:38px;height:38px;flex-shrink:0}.brand-word{font-size:17px;font-weight:600;letter-spacing:.01em;line-height:1.15}.brand-word .accent{color:var(--sage-deep)}.brand-tag{display:block;font-family:Plex Mono,ui-monospace,monospace;font-size:10.5px;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin-top:2px}nav.site-nav{display:flex;gap:22px;font-family:Plex Mono,ui-monospace,monospace;font-size:12px;letter-spacing:.03em;text-transform:uppercase}nav.site-nav a{color:var(--ink-soft);text-decoration:none;border-bottom:1px solid transparent;padding-bottom:2px}nav.site-nav a:hover{color:var(--ink);border-bottom-color:var(--sage)}nav.site-nav a:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--sage-deep);outline-offset:2px}.eyebrow{font-family:Plex Mono,ui-monospace,monospace;font-size:11px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--sage-deep);display:flex;align-items:center;gap:10px}.eyebrow:before{content:"";width:22px;height:1px;background:var(--sage-deep);display:inline-block}section.hero{padding:36px 0 52px;border-bottom:1px solid var(--line)}.hero h1{font-size:clamp(28px,4.4vw,40px);line-height:1.14;font-weight:700;letter-spacing:-.015em;margin:16px 0 18px;text-wrap:balance;max-width:15ch}.hero p.lede{font-size:17px;color:var(--ink-soft);max-width:62ch;margin:0 0 6px}.hero p.lede+p.lede{margin-top:12px}section.apps{padding:52px 0 44px}.apps-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}.apps-head h2{font-size:22px;font-weight:700;letter-spacing:-.01em;margin:14px 0 0}.apps-count{font-family:Plex Mono,ui-monospace,monospace;font-size:12px;color:var(--ink-faint)}.app-registry{border-top:1px solid var(--line-strong)}.app-row{display:grid;grid-template-columns:84px 1fr auto;gap:20px;align-items:start;padding:22px 4px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}.app-row:hover{background:var(--sage-soft);margin:0 -16px;padding-left:20px;padding-right:20px;border-radius:3px}.app-index{font-family:Plex Mono,ui-monospace,monospace;font-size:12px;color:var(--ink-faint);padding-top:3px}.app-status{display:inline-block;margin-top:8px;font-family:Plex Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.05em;text-transform:uppercase;padding:2px 7px;border-radius:3px;border:1px solid var(--line-strong);color:var(--ink-soft)}.app-status.live{color:var(--sage-deep);border-color:var(--sage)}.app-name{font-size:18px;font-weight:600;letter-spacing:-.005em;margin:0 0 6px}.app-desc{font-size:14.5px;color:var(--ink-soft);margin:0;max-width:54ch}.app-meta{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.app-tag{font-family:Plex Mono,ui-monospace,monospace;font-size:10.5px;color:var(--ink-faint);border:1px solid var(--line);border-radius:3px;padding:1.5px 6px}.app-go{font-family:Plex Mono,ui-monospace,monospace;font-size:12px;color:var(--ink-faint);white-space:nowrap;padding-top:4px}.app-row:hover .app-go,.app-row:hover .app-name{color:var(--sage-deep)}.app-row.placeholder{color:var(--ink-faint);cursor:default}.app-row.placeholder:hover{background:none;margin:0;padding:22px 4px}.app-row.placeholder .app-name{color:var(--ink-faint);font-weight:500}.app-row.placeholder .app-desc{color:var(--ink-faint)}section.about{padding:44px 0 52px;border-top:1px solid var(--line)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:18px}.about-grid h3{font-size:14px;font-weight:600;margin:0 0 8px}.about-grid p{font-size:14.5px;color:var(--ink-soft);margin:0}@media(max-width:620px){.about-grid,.app-row{grid-template-columns:1fr}.app-index{display:none}}.visually-hidden{position:absolute;left:-9999px}footer.site{border-top:1px solid var(--line);padding:26px 0 40px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;font-family:Plex Mono,ui-monospace,monospace;font-size:11.5px;color:var(--ink-faint)}footer.site a{color:var(--ink-faint)}footer.site a:hover{color:var(--sage-deep)}
