:root{--bg: #fcfcfc;--bg-soft: #f5f5f4;--bg-card: #ffffff;--border: #e6e6e3;--text: #1f2328;--text-soft: #57606a;--text-faint: #8c929d;--accent: #ea580c;--accent-text: #ffffff;--brand: #f97316;--radius: 10px;--radius-sm: 7px;--shadow: 0 1px 2px rgba(20, 22, 28, .04);--shadow-hover: 0 2px 10px rgba(20, 22, 28, .07);--maxw: 720px;--maxw-wide: 880px;--font: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono: "IBM Plex Mono", ui-monospace, "SF Mono", "Menlo", "Consolas", monospace}@media(prefers-color-scheme:dark){:root{--bg: #0e0f12;--bg-soft: #16181c;--bg-card: #131418;--border: #25272d;--text: #e8eaed;--text-soft: #9ba2ad;--text-faint: #6b7280;--accent: #fb923c;--shadow: 0 1px 2px rgba(0, 0, 0, .3);--shadow-hover: 0 2px 12px rgba(0, 0, 0, .4)}}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.wrap{max-width:var(--maxw-wide);margin:0 auto;padding:0 1.5rem}a{color:var(--accent);text-decoration:none}a:hover{color:var(--brand);text-decoration:underline}h1,h2,h3{line-height:1.25;letter-spacing:-.01em;font-weight:600;color:var(--text)}.eyebrow{font-family:var(--mono);font-size:.78rem;font-weight:500;letter-spacing:.02em;color:var(--text-faint)}.site-header{position:sticky;top:0;z-index:20;backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);background:color-mix(in srgb,var(--bg) 82%,transparent);border-bottom:1px solid var(--border)}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:54px}.brand{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--mono);font-weight:500;font-size:.95rem;letter-spacing:-.01em;color:var(--text)}.brand:hover{text-decoration:none}.brand__dot{width:10px;height:10px;border-radius:50%;background:var(--brand)}.nav{display:flex;gap:1.4rem;align-items:center}.nav a{font-family:var(--mono);color:var(--text-soft);font-size:.85rem;font-weight:400;text-transform:lowercase}.nav a:hover{color:var(--brand);text-decoration:none}.hero{padding:4.5rem 0 2.5rem}.hero h1{font-size:clamp(1.7rem,3.5vw,2.2rem);font-weight:500;letter-spacing:-.02em;margin-top:.7rem}.hero p{margin-top:.9rem;max-width:46ch;font-size:1.05rem;color:var(--text-soft)}.section{padding:2rem 0}.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:1.2rem}.section-head h2{font-family:var(--mono);font-size:.85rem;font-weight:500;letter-spacing:.02em;color:var(--text-faint);text-transform:lowercase}.section-head a{font-family:var(--mono);font-size:.82rem;font-weight:400}.app-list{display:flex;flex-direction:column}.app-row{position:relative;display:flex;flex-direction:column;gap:.25rem;padding:1.1rem 0;border-bottom:1px solid var(--border)}.app-row:first-child{padding-top:0}.app-row:hover{text-decoration:none}.app-row__name{font-size:1.02rem;font-weight:600;color:var(--text);text-transform:lowercase;transition:color .15s ease}.app-row__tagline{color:var(--text-soft);font-size:.92rem}.app-row__desc{margin-top:.15rem;color:var(--text-faint);font-size:.9rem;max-width:62ch}.app-row__arrow{position:absolute;top:1.1rem;right:0;color:var(--text-faint);font-size:.85rem;transition:color .15s ease}.app-row:first-child .app-row__arrow{top:0}.app-row:hover .app-row__name,.app-row:hover .app-row__arrow{color:var(--brand)}.post-list{display:flex;flex-direction:column}.post-row{display:flex;flex-direction:column;padding:.95rem 0;border-bottom:1px solid var(--border)}.post-row:first-child{padding-top:0}.post-row:hover{text-decoration:none}.post-row:hover .post-row__title{color:var(--brand)}.post-row__title{font-size:1.02rem;font-weight:600;color:var(--text);transition:color .15s ease}.post-row__meta{font-family:var(--mono);color:var(--text-faint);font-size:.78rem;margin-top:.2rem}.post-row__desc{color:var(--text-soft);font-size:.92rem;margin-top:.35rem}.empty{color:var(--text-faint);font-style:italic}.contact{background:var(--bg-soft);border-radius:var(--radius);padding:1.75rem}.contact h2{font-size:1.1rem;font-weight:600}.contact p{color:var(--text-soft);margin-top:.3rem;font-size:.95rem}.btn{display:inline-block;margin-top:1rem;padding:.5rem 1rem;background:var(--text);color:var(--bg);border-radius:var(--radius-sm);font-family:var(--mono);font-size:.88rem;font-weight:500;transition:opacity .15s ease}.btn:hover{text-decoration:none;opacity:.85}.btn--ghost{background:transparent;color:var(--text);border:1px solid var(--border)}.app-hero{padding:3.5rem 0 1.5rem}.app-hero__icon{width:64px;height:64px;border-radius:14px;object-fit:cover;box-shadow:var(--shadow);margin-bottom:1rem;display:block}.app-hero h1{font-size:clamp(1.6rem,4vw,2rem);font-weight:600}.app-hero p{color:var(--text-soft);font-size:1.05rem;max-width:50ch;margin-top:.6rem}.app-hero__actions{margin-top:1.25rem;display:flex;gap:.6rem;flex-wrap:wrap}.doc-links{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.75rem;font-family:var(--mono);color:var(--text-faint);font-size:.82rem}.prose{max-width:var(--maxw);margin:0 auto}.prose h1{font-size:clamp(1.5rem,3.5vw,1.9rem);font-weight:600}.prose .doc-meta{font-family:var(--mono);color:var(--text-faint);font-size:.82rem;margin:.4rem 0 2rem}.prose h2{font-size:1.15rem;font-weight:600;margin-top:1.9rem;margin-bottom:.6rem}.prose h3{font-size:1rem;font-weight:600;margin-top:1.3rem;margin-bottom:.4rem}.prose p{margin-bottom:1rem;color:var(--text-soft)}.prose ul,.prose ol{margin:0 0 1rem 1.3rem;color:var(--text-soft)}.prose li{margin-bottom:.35rem}.prose strong{color:var(--text);font-weight:600}.back-link{display:inline-block;margin:2rem 0 1rem;font-family:var(--mono);color:var(--text-faint);font-size:.82rem}.site-footer{border-top:1px solid var(--border);margin-top:3.5rem;padding:1.75rem 0;font-family:var(--mono);color:var(--text-faint);font-size:.8rem}.site-footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.site-footer a{color:var(--text-soft)}.site-footer__links{display:inline-flex;align-items:center;gap:.5rem}.icon-link{display:inline-flex;align-items:center;color:var(--text-faint)}.icon-link:hover{color:var(--brand)}@media(max-width:600px){.hero{padding:3rem 0 1.5rem}.section-head{flex-direction:column;gap:.25rem}}
