:root{color-scheme:light dark;--bg:light-dark(#faf9f5,#141413);--fg:light-dark(#141413,#faf9f5);--muted:light-dark(#6b6a63,#87867f);--line:light-dark(#14141333,#faf9f524);--sans:system-ui, -apple-system, "Hiragino Sans", "Noto Sans JP", sans-serif;--measure:50rem}html{scroll-padding-top:1.5rem;font-size:106.25%}@media (width>=1600px){html{font-size:112.5%}}@media (width>=2200px){html{font-size:125%}}@media (width>=3000px){html{font-size:137.5%}}*{box-sizing:border-box}[hidden]{display:none!important}body{background:var(--bg);min-height:100svh;color:var(--fg);font-family:var(--sans);-webkit-font-smoothing:antialiased;flex-direction:column;margin:0;line-height:1.75;display:flex}main{flex:1;min-width:0}.container{width:100%;max-width:var(--measure);margin-inline:auto;padding-inline:clamp(1.25rem,5vw,2rem)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--fg);outline-offset:5px}main:focus{outline:none}.skip-link{z-index:10;background:var(--fg);color:var(--bg);padding:.75rem 1rem;position:absolute;top:.75rem;left:1.25rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.display{letter-spacing:-.04em;overflow-wrap:anywhere;margin:0;font-size:clamp(2.25rem,6vw,3.5rem);font-weight:600;line-height:1.12}.display--sm{letter-spacing:-.025em;font-size:clamp(1.5rem,4vw,2.25rem);line-height:1.35}h2{letter-spacing:-.02em;margin:0 0 1.25rem;font-size:1.375rem;font-weight:600;line-height:1.4}h3{margin:0 0 .5rem;font-size:1.0625rem;font-weight:600;line-height:1.5}p{margin:0 0 1rem}.lead{max-width:34em;font-size:clamp(1.0625rem,2.5vw,1.25rem);line-height:1.75}.label{color:var(--muted);margin:0 0 1.5rem;font-size:.875rem}.muted{color:var(--muted)}a{color:inherit;text-underline-offset:.25em;text-decoration-thickness:1px;text-decoration-color:var(--muted)}a:hover{text-decoration-color:currentColor}.site-header{border-bottom:1px solid var(--line);padding-block:1.25rem}.site-header .container{align-items:center;gap:1.5rem;display:flex}.site-name{letter-spacing:-.035em;white-space:nowrap;font-size:1.25rem;font-weight:600;text-decoration:none}.site-header nav{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.25rem 1.25rem;margin-left:auto;font-size:.875rem;display:flex}.site-header nav a{align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.site-header nav a:hover{color:var(--fg)}.site-header nav a[aria-current]{color:var(--fg);text-underline-offset:.5em;text-decoration:underline}.header-controls{border-left:1px solid var(--line);color:var(--muted);align-items:center;gap:1rem;padding-left:1.5rem;font-size:.875rem;display:flex}.header-controls .lang-switch{align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.header-controls .lang-switch:hover{color:var(--fg)}.theme-toggle{min-width:44px;min-height:44px;color:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.theme-track{border:1px solid var(--line);border-radius:999px;justify-content:space-between;align-items:center;width:2.75rem;height:1.5rem;padding-inline:.3rem;transition:border-color .15s;display:inline-flex;position:relative}.theme-toggle:hover .theme-track{border-color:var(--muted)}.theme-toggle:hover{color:var(--fg)}.theme-icon{flex:none}.theme-thumb{background:var(--fg);border-radius:50%;width:1.125rem;height:1.125rem;transition:transform .2s;position:absolute;top:50%;left:.1875rem;transform:translateY(-50%)}.theme-toggle[aria-checked=true] .theme-thumb{transform:translate(1.25rem,-50%)}@media (prefers-reduced-motion:reduce){.theme-thumb,.theme-track{transition:none}}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}@media (width<=52rem){.site-header .container{grid-template-columns:1fr auto;grid-template-areas:"name controls""nav nav";gap:.25rem 1rem;display:grid}.site-name{grid-area:name}.header-controls{border-left:0;grid-area:controls;padding-left:0}.site-header nav{grid-area:nav;gap:.25rem 1rem;margin-left:0}}.site-footer{border-top:1px solid var(--line);color:var(--muted);padding-block:1.5rem;font-size:.8125rem}.site-footer .container{justify-content:space-between;align-items:center;gap:1rem;display:flex}.site-footer a{align-items:center;min-height:44px;display:inline-flex}.section{border-top:1px solid var(--line);padding-block:clamp(2.5rem,6vw,4rem)}.section--first{border-top:0}.section-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.section-head h1,.section-head h2{letter-spacing:-.015em;margin:0;font-size:1.0625rem;font-weight:600}.section-empty{color:var(--muted);margin:0}.section-note{color:var(--muted);margin:-.5rem 0 1rem;font-size:.8125rem}.section-count,.section-head .more{color:var(--muted);white-space:nowrap;font-size:.875rem}.section-head .more{align-items:center;min-height:44px;display:inline-flex}.section-head a.more:hover{color:var(--fg)}.product-list,.entry-list{margin:0;padding:0;list-style:none}.product-row+.product-row,.entry-row+.entry-row{border-top:1px solid var(--line)}.product-row>a{grid-template-columns:minmax(0,1fr) 2.5rem;align-items:center;gap:1.5rem;padding-block:1.75rem;text-decoration:none;display:grid}.product-row .name{letter-spacing:-.03em;font-size:clamp(1.25rem,3vw,1.5rem);font-weight:600;line-height:1.4}.product-row p{color:var(--muted);max-width:36em;margin:.5rem 0 0;font-size:.9375rem;line-height:1.7}.product-row .arrow{border:1px solid var(--line);width:2.5rem;height:2.5rem;color:var(--muted);border-radius:50%;place-items:center;transition:transform .15s;display:grid}.product-row>a:hover .name{text-underline-offset:.25em;text-decoration:underline}.product-row>a:hover .arrow{color:var(--fg);border-color:var(--muted);transform:translate(3px)}.entry-row>a{grid-template-columns:minmax(0,1fr) 1.25rem;align-items:center;gap:1rem;padding-block:1.125rem;text-decoration:none;display:grid}.entry-meta{color:var(--muted);font-size:.8125rem;line-height:1.6;display:block}.entry-meta time{font-variant-numeric:tabular-nums}.entry-title{overflow-wrap:anywhere;margin-top:.3rem;font-size:1rem;line-height:1.65;display:block}.entry-row .arrow{color:var(--muted);text-align:right}.entry-row>a:hover .entry-title{text-underline-offset:.25em;text-decoration:underline}.entry-row>a:hover .arrow{color:var(--fg)}.button{border:1px solid var(--fg);background:var(--fg);min-height:48px;color:var(--bg);text-align:center;border-radius:999px;justify-content:center;align-items:center;gap:.75rem;padding:.7rem 1.25rem;font-size:.9375rem;font-weight:500;line-height:1.5;text-decoration:none;display:inline-flex}.button:hover{text-underline-offset:.25em;text-decoration:underline}.button--ghost{color:var(--fg);border-color:var(--line);background:0 0}.button--ghost:hover{border-color:var(--muted)}.text-link{align-items:center;gap:.5rem;min-height:44px;font-size:.9375rem;display:inline-flex}.links{flex-wrap:wrap;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.hero{padding-block:clamp(2.5rem,7vw,4rem)}.hero .lead{margin-top:1.25rem;margin-bottom:0}.product-hero .label a{align-items:center;min-height:44px;display:inline-flex}.product-actions{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-top:1.75rem;display:flex}.product-actions .text-link{color:var(--muted)}.gallery-section{padding-block:2rem}.screenshots{scroll-snap-type:x proximity;gap:clamp(1.25rem,4vw,2rem);padding:.5rem .35rem 1rem;display:flex;overflow-x:auto}.screenshots figure{scroll-snap-align:start;flex:0 0 clamp(11rem,34vw,13.5rem);margin:0}.screenshots a{border-radius:14px;display:block}.screenshots img{border:1px solid var(--line);border-radius:14px;width:100%;height:auto;display:block}.screenshots figcaption{color:var(--muted);margin-top:.75rem;font-size:.8125rem;line-height:1.6}.gallery-hint{color:var(--muted);margin:.5rem 0 0;font-size:.8125rem}.prose{max-width:44rem}.prose h2{margin-top:3rem}.prose>h2:first-child{margin-top:0}.prose ul{margin-block:0 1.5rem;padding-left:1.3rem}.prose li{margin-bottom:.75rem;padding-left:.25rem}.prose li::marker{color:var(--muted)}.prose code{overflow-wrap:anywhere;font-size:.875em}.doc-list{border-bottom:1px solid var(--line);margin:0;padding:0;list-style:none}.doc-row{border-top:1px solid var(--line)}.doc-row>a{justify-content:space-between;align-items:center;gap:1.25rem;padding-block:1.25rem;text-decoration:none;display:flex}.doc-row-title{font-weight:500;display:block}.doc-row-desc{color:var(--muted);margin-top:.25rem;font-size:.875rem;display:block}.doc-row .arrow{color:var(--muted)}.doc-row>a:hover .doc-row-title{text-underline-offset:.25em;text-decoration:underline}.about{gap:2.25rem;max-width:38em;display:grid}.about h2{margin-bottom:.75rem;font-size:1.0625rem}.about p{color:var(--muted);margin:0}.lead+.about{margin-top:2.5rem}.hero--doc .label a{align-items:center;min-height:44px;display:inline-flex}.doc-updated{margin:1rem 0 0;font-size:.875rem}.doc{overflow-wrap:anywhere;max-width:44rem}.doc h2{margin:3rem 0 1rem}.doc>h2:first-child{margin-top:0}.doc h3{margin:2rem 0 .75rem}.doc ul,.doc ol{margin:0 0 1.25rem;padding-left:1.5rem}.doc li{margin-bottom:.5rem}.doc li::marker{color:var(--muted)}.doc small{color:var(--muted);font-size:.875rem;line-height:1.6}.doc table{border-collapse:collapse;text-align:left;width:100%;margin:0 0 1.5rem;font-size:.9375rem}.doc th,.doc td{border-bottom:1px solid var(--line);vertical-align:top;padding:.9rem 1rem .9rem 0}.doc th{font-weight:600}.doc td{color:var(--muted)}.doc th:last-child,.doc td:last-child{padding-right:0}.doc-figure{margin:2rem 0}.doc-figure img{border:1px solid var(--line);border-radius:14px;width:100%;max-width:260px;height:auto;display:block}.post p{margin:0 0 1.25rem}.post img{vertical-align:top;max-width:100%;height:auto}.post blockquote{border-left:2px solid var(--line);color:var(--muted);margin:0 0 1.25rem;padding-left:1rem}.post :not(pre)>code{background:var(--line);border-radius:4px;padding:.1em .35em;font-size:.875em}.post pre.astro-code{border:1px solid var(--line);overflow-wrap:normal;border-radius:8px;margin:0 0 1.5rem;padding:1rem 1.25rem;font-size:.8125rem;line-height:1.6;overflow-x:auto}.post .astro-code,.post .astro-code span{color:light-dark(var(--shiki-light),var(--shiki-dark));background-color:light-dark(var(--shiki-light-bg),var(--shiki-dark-bg));font-style:light-dark(var(--shiki-light-font-style),var(--shiki-dark-font-style))}.doc-contents{border-bottom:1px solid var(--line);margin-bottom:2rem;padding-bottom:1.5rem}.doc-contents h2{margin:0 0 .75rem;font-size:.9375rem}.doc-contents ul{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.5rem;margin:0;padding:0;list-style:none;display:grid}.doc-contents li{margin:0}.doc-contents a{min-height:44px;color:var(--muted);align-items:center;padding-block:.4rem;font-size:.875rem;line-height:1.6;display:flex}.doc-contents a:hover{color:var(--fg)}.faq-item{border-top:1px solid var(--line);padding-block:1.25rem}.faq-q{margin:0 0 .5rem;font-weight:600}.faq-a{color:var(--muted);margin:0}.doc-history{color:var(--muted);margin-top:3rem;font-size:.9375rem;line-height:1.9}.doc-back{color:var(--muted);margin:2rem 0 0;font-size:.9375rem}.doc-back a{align-items:center;min-height:44px;display:inline-flex}@media (width<=36rem){.doc-contents ul{grid-template-columns:1fr}.product-actions{align-items:stretch}.product-actions .text-link{flex-basis:100%}.product-row>a{gap:1rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
