:root{--azure:#0096dc;--azure-deep:#00679b;--teal:#45bfc6;--amber:#ee8000;--taupe:#5b514a;--paper:#f6f8fa;--paper-raised:#fff;--rule:#dce4ea;--rule-strong:#b9c6d0;--ink:#24303a;--ink-muted:#5b6b78;--ink-inverse:#f6f8fa;--font-sans:"IBM Plex Sans Variable", var(--font-cjk-tc), system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", var(--font-cjk-tc), monospace;--font-cjk-tc:"PingFang TC", "Noto Sans TC", "Microsoft JhengHei", "Heiti TC", sans-serif;--font-cjk-jp:"Hiragino Sans", "Noto Sans JP", "Yu Gothic", "Meiryo", sans-serif;--measure:38rem;--rail:8.5rem;--gap-rail:3rem;--space-1:.5rem;--space-2:.875rem;--space-3:1.5rem;--space-4:2.25rem;--space-5:3.5rem;--space-6:5.5rem}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:400 600;src:url(/_astro/ibm-plex-sans-latin-wght-normal.IvpUvPa2.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}html:lang(ja){--font-sans:"IBM Plex Sans Variable", var(--font-cjk-jp), system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", var(--font-cjk-jp), monospace}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body,h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}ul,ol{padding:0;list-style:none}img,svg{max-width:100%;display:block}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);word-break:normal;line-break:strict;overflow-wrap:break-word;font-size:1.0625rem;line-height:1.65}a{color:var(--azure-deep);text-underline-offset:.2em}a:hover{color:var(--azure)}:focus-visible{outline:2px solid var(--azure-deep);outline-offset:3px;border-radius:2px}.skip-link{left:var(--space-3);top:var(--space-3);z-index:10;background:var(--paper-raised);color:var(--ink);border:1px solid var(--rule-strong);border-radius:3px;padding:.6rem 1rem;position:absolute;transform:translateY(-160%)}.skip-link:focus{transform:none}.shell{max-width:calc(var(--rail) + var(--gap-rail) + var(--measure));padding-inline:var(--space-3);margin-inline:auto}@media (width>=40rem){.shell{padding-inline:var(--space-4)}}.site-header{justify-content:space-between;align-items:center;gap:var(--space-3);padding-block:var(--space-4);border-bottom:1px solid var(--rule);flex-wrap:wrap;display:flex}.site-header__logo img{width:168px;height:auto}.langs{align-items:center;gap:var(--space-2);display:flex}.langs a{font-family:var(--font-mono);letter-spacing:.06em;color:var(--ink-muted);font-size:.75rem;text-decoration:none}.langs a:hover{color:var(--azure-deep);text-decoration:underline}.langs a[aria-current=true]{color:var(--ink);text-decoration:underline}.section{gap:var(--space-3);padding-block:var(--space-5);border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1fr);display:grid}.section:last-of-type{border-bottom:0}@media (width>=64rem){.section{grid-template-columns:var(--rail) minmax(0, 1fr);gap:var(--gap-rail);padding-block:var(--space-6)}}.rail{align-items:center;gap:var(--space-2);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);font-size:.6875rem;display:flex}@media (width>=64rem){.rail{top:var(--space-4);flex-direction:column;align-self:start;align-items:flex-start;gap:.6rem;position:sticky}}.rail__index{color:var(--ink)}.rail__label{font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit;margin:0}.ticks{flex-direction:column;flex:none;gap:3px;display:flex}.ticks i{border-radius:1px;height:3px;display:block}.ticks i:first-child{background:var(--amber);width:26px}.ticks i:nth-child(2){background:var(--teal);width:19px}.ticks i:nth-child(3){background:var(--azure);width:12px}h1,h2,h3{letter-spacing:-.005em;font-weight:600;line-height:1.25}.section__heading{margin-bottom:var(--space-3);font-size:1.0625rem;font-weight:600}.prose>*+*{margin-top:var(--space-3)}.prose{max-width:var(--measure)}.hero__name{letter-spacing:-.02em;margin-bottom:var(--space-2);font-size:clamp(2.25rem,7vw,3.25rem)}.hero__tagline{color:var(--ink);max-width:34ch;font-size:clamp(1.125rem,3.2vw,1.4rem);line-height:1.45}.status{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;border:1px solid;border-radius:2px;padding:.25rem .55rem;font-size:.6875rem;display:inline-block}.status--beta{color:var(--ink-inverse)}.status--dev{color:var(--taupe)}.lead-product{background:var(--azure-deep);color:var(--ink-inverse);padding:var(--space-4);border-radius:4px}@media (width>=40rem){.lead-product{padding:var(--space-5) var(--space-4)}}.lead-product__top{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.lead-product__name{letter-spacing:-.015em;font-size:1.75rem}.lead-product__body{color:var(--ink-inverse);opacity:.92}.lead-product__link{margin-top:var(--space-3);color:var(--paper);font-family:var(--font-mono);font-size:.875rem;text-decoration-color:#ffffff73;display:inline-block}.lead-product__link:hover{color:#fff;text-decoration-color:currentColor}.lead-product :focus-visible{outline-color:var(--paper)}.product-grid{gap:var(--space-3);margin-top:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));display:grid}.product-card{background:var(--paper-raised);border:1px solid var(--rule);padding:var(--space-3);border-radius:4px}.product-card__name{margin-bottom:var(--space-1);font-size:1.0625rem}.product-card__body{color:var(--ink-muted);margin-bottom:var(--space-2);font-size:.9375rem}.want-list{margin-top:var(--space-3)}.want-list li{margin-top:var(--space-2);padding-left:1.5rem;position:relative}.want-list li:before{content:"";background:var(--azure);border-radius:1px;width:12px;height:3px;position:absolute;top:.72em;left:0}.contact-line{margin-top:var(--space-4)}.contact-line a{font-family:var(--font-mono);font-size:1rem}.site-footer{border-top:1px solid var(--rule);padding-block:var(--space-5) var(--space-4);color:var(--ink-muted);font-size:.875rem}.reg{gap:var(--space-2) var(--space-3);margin-bottom:var(--space-4);display:grid}@media (width>=48rem){.reg{grid-template-columns:max-content 1fr}}.reg dt{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);padding-top:.15em;font-size:.6875rem}.reg dd{color:var(--ink);margin:0}.reg dd .secondary{color:var(--ink-muted)}.reg .mono{font-family:var(--font-mono)}.footer-end{justify-content:space-between;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--rule);flex-wrap:wrap;display:flex}.page-narrow{max-width:var(--measure);padding-block:var(--space-5) var(--space-6)}.page-narrow h1{margin-bottom:var(--space-2);font-size:1.75rem}.page-narrow .meta{font-family:var(--font-mono);letter-spacing:.08em;color:var(--ink-muted);margin-bottom:var(--space-4);font-size:.75rem}.bignum{font-family:var(--font-mono);color:var(--rule-strong);margin-bottom:var(--space-2);font-size:3rem;line-height:1}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.back-link{margin-top:var(--space-4)}
