@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}@font-face{font-family:JetBrains Mono;font-weight:400;font-display:swap;src:url(/app/vendor/jetbrains-mono/JetBrainsMono-Regular.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-weight:700;font-display:swap;src:url(/app/vendor/jetbrains-mono/JetBrainsMono-Bold.woff2)format("woff2")}@font-face{font-family:Noto Sans JP;font-weight:700;font-display:swap;src:url(/app/vendor/noto-sans-jp/NotoSansJP-brand-700.woff2)format("woff2")}@font-face{font-family:Noto Sans JP;font-weight:900;font-display:swap;src:url(/app/vendor/noto-sans-jp/NotoSansJP-brand-900.woff2)format("woff2")}:root{--void:#0c0c0c;--graphite:#1b1b1b;--iron:#262626;--slate:#383838;--steel:#676767;--fog:#a3a3a3;--chalk:#cacaca;--paper:#e6e6e6;--code:#9e9e9e;--kanji:"Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-padding-top:72px}body{background:var(--void);color:var(--paper);-webkit-font-smoothing:antialiased;margin:0;font:400 14px/1.71 JetBrains Mono,ui-monospace,monospace}a{color:var(--paper);text-underline-offset:3px}a:hover{color:#fff}::selection{color:var(--void);background:#d4d4d4}code{color:var(--code)}img{max-width:100%;display:block}h2{text-wrap:balance;margin:0;font-size:22px;line-height:1.35}p{margin:0}.wrap{max-width:1280px;margin:0 auto;padding:0 clamp(20px,5vw,72px)}.nav{z-index:10;background:var(--void);border-bottom:1px solid var(--iron);position:sticky;top:0}.nav .wrap{justify-content:space-between;align-items:center;gap:16px;height:56px;display:flex}.nav nav{gap:24px;font-size:13px;display:flex}.nav nav a{color:var(--fog);text-decoration:none}.nav nav a:hover,.nav nav a[aria-current]{color:var(--paper)}.cover{grid-template-rows:auto 1fr auto;gap:40px;min-height:calc(92vh - 56px);padding:32px 0 20px;display:grid}.cover-top{color:var(--fog);flex-wrap:wrap;justify-content:space-between;gap:16px;font-size:12px;display:flex}.cover-hero{align-content:center;place-items:center;gap:40px;display:grid}.cover-hero img{width:100%;max-width:650px;height:auto;margin-bottom:20px}.meta{border-top:1px solid var(--iron);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));padding-top:20px;font-size:13px;display:grid}@media (width>=760px){.meta>:nth-child(2){text-align:center}.meta>:last-child{text-align:right}}.cover-hero .lede{text-align:center;max-width:640px;color:var(--chalk);text-wrap:balance}[data-page=home] .statement{max-width:36ch;margin-bottom:32px;font-size:clamp(22px,2.6vw,32px);line-height:1.3}[data-page=home] .statement+.intro,.closing .intro{margin-bottom:0}[data-page=home] .statement span{color:var(--steel)}[data-page=home] .cells.session pre{white-space:pre-wrap;margin-top:auto;padding:14px 16px;font-size:12px}[data-page=home] .cells.session>div{grid-template-rows:auto auto 1fr}[data-page=home] .cells.loop{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}[data-page=home] .panel pre{white-space:pre;overflow-x:auto}[data-page=home] pre b{color:var(--paper)}[data-page=home] .rows code{color:var(--paper);font-weight:700}[data-page=home] .rows strong{color:var(--paper)}[data-page=home] .prose .rows>div{grid-template-columns:minmax(96px,128px) minmax(0,1fr)}.stage{border:1px solid var(--iron);background:#0a0a0a}.stage .foot{border-top:1px solid var(--iron);border-bottom:0}.panes{background:var(--iron);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1px;display:grid}.panes>div{background:var(--void);color:var(--chalk);align-content:start;gap:12px;padding:20px;font-size:13px;display:grid}.pane-h{color:var(--steel);justify-content:space-between;gap:12px;font-size:11px;display:flex}.panes mark{background:var(--paper);color:var(--void);padding:0 3px}.opts{gap:8px;margin:0;padding:0;list-style:none;display:grid}.opts li{border:1px solid var(--iron);color:var(--fog);gap:12px;padding:8px 12px;display:flex}.opts li.on{border-color:var(--paper);color:var(--paper)}.chat{gap:2px;margin:0;display:grid}.chat dt{color:var(--steel);font-size:11px}.chat dd{margin:0 0 10px}.faq{border-top:1px solid var(--iron);max-width:820px}.faq details{border-bottom:1px solid var(--iron)}.faq summary{cursor:pointer;color:var(--paper);justify-content:space-between;gap:16px;padding:18px 0;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--steel)}.faq details[open] summary:after{content:"−"}.faq details p{color:var(--chalk);max-width:64ch;padding-bottom:20px;font-size:13px}.closing{text-align:center;justify-items:center;display:grid}.closing h2{margin-bottom:16px;font-size:clamp(22px,2.6vw,32px)}.closing .intro{max-width:56ch;margin-bottom:32px}.btns{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.btn{border:1px solid var(--slate);color:var(--paper);padding:10px 18px;font-size:13px;text-decoration:none;display:inline-block}.btn:hover{border-color:var(--fog)}.btn.primary{background:var(--paper);border-color:var(--paper);color:var(--void);font-weight:700}.btn.primary:hover{color:var(--void);background:#fff}section{border-top:1px solid var(--iron);padding:96px 0}[data-page]>section:first-child{border-top:0}.label{color:var(--steel);margin-bottom:16px;font-size:12px}.intro{color:var(--chalk);text-wrap:pretty;margin:0 0 48px}.cols{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;gap:48px 64px;display:grid}.prose{max-width:560px;color:var(--chalk);text-wrap:pretty;gap:16px;display:grid}.prose h2{color:var(--paper)}.muted{color:var(--fog)}.small{font-size:12px}.note{color:var(--fog);margin-top:16px;font-size:12px}.gloss{flex-wrap:wrap;align-items:flex-end;gap:32px;display:flex}.gloss div{justify-items:center;gap:8px;display:grid}.gloss b{font:900 128px/1 var(--kanji)}.gloss span{color:var(--fog);margin-top:15px;font-size:13px}.cells{background:var(--iron);border:1px solid var(--iron);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;display:grid}.cells>div{background:var(--void);align-content:start;gap:14px;padding:28px 24px 32px;display:grid}.cells .k{font:700 40px/1 var(--kanji)}.cells .t{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.cells .t strong{font-size:15px}.cells .t span{color:var(--fog);font-size:12px}.cells p{color:var(--chalk);text-wrap:pretty;font-size:13px}.cells .rule{color:var(--fog);border-top:1px dashed var(--slate);padding-top:12px;font-size:12px}.rows{border:1px solid var(--iron);font-size:13px}.rows>div{border-bottom:1px solid var(--graphite);color:var(--chalk);grid-template-columns:minmax(120px,240px) minmax(0,1fr);align-items:baseline;gap:16px;padding:14px 20px;display:grid}.rows>div:last-child{border-bottom:0}.rows .head{color:var(--steel);padding:10px 20px;font-size:12px}.max-h-430{max-height:430px!important}pre{border:1px solid var(--iron);color:var(--chalk);background:#0a0a0a;margin:0;padding:20px;font:400 13px/1.6 JetBrains Mono,monospace;overflow-x:auto}pre .c{color:var(--steel)}.steps{gap:24px;display:grid}.step{gap:10px;display:grid}.step>span{color:var(--fog);font-size:12px}.logos{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;display:grid}.logos figure{gap:12px;margin:0;display:grid}.logos figure.wide{grid-column:1/-1}.logos .tile{border:1px solid var(--iron);aspect-ratio:4/3;background:#0a0a0a;place-items:center;padding:40px;display:grid}.logos .wide .tile{aspect-ratio:auto;padding:24px}.logos .light{background:var(--paper)}.logos .light img{filter:invert()}figcaption{flex-wrap:wrap;justify-content:space-between;gap:16px;font-size:13px;display:flex}figcaption span:last-child{color:var(--fog)}.rules-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:72px;display:grid}.rules-grid>div{grid-row:span 3;grid-template-rows:subgrid;gap:16px;display:grid}.rules-grid strong{font-size:15px}.rules-grid ul{align-self:start}.rules-grid p{color:var(--chalk);font-size:13px}.box{border:1px solid var(--iron);padding:32px}.clear{place-items:center;display:grid}.clear div{outline:1px dashed var(--steel);padding:28px}.sizes{flex-wrap:wrap;place-content:center space-evenly;align-items:flex-end;gap:32px;display:flex}.rules-grid .wide{grid-column:span 2}.rules-grid .full{grid-column:1/-1;margin-top:24px}@media (width<=760px){.rules-grid .wide{grid-column:auto}}.rules-grid .full ul{flex-wrap:wrap;gap:8px 32px;display:flex}.sizes div{color:var(--fog);gap:8px;font-size:12px;display:grid}.inks{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-bottom:16px;display:grid}.inks>div{align-content:space-between;min-height:200px;padding:24px;display:grid}.inks .k{font:700 44px/1 var(--kanji)}.inks .sumi{background:var(--void);border:1px solid var(--slate)}.inks .kami{background:var(--paper);color:var(--void)}.inks div div{gap:2px;font-size:13px;display:grid}.inks .sumi div span{color:var(--fog)}.inks .kami div span{color:#4e4e4e}.ramp{border:1px solid var(--iron);grid-template-columns:repeat(auto-fit,minmax(96px,1fr));display:grid}.ramp i{aspect-ratio:1.4;display:block}.ramp span{padding:10px;font-size:11px;line-height:1.4;display:grid}.ramp small{color:var(--fog);font-size:11px}.specimen{color:var(--paper);font:700 56px/1.1 JetBrains Mono,monospace}.specimen.jp{font:900 56px/1.1 var(--kanji)}.voice{background:var(--iron);border:1px solid var(--iron);gap:1px;font-size:13px;display:grid}.voice div{background:var(--void);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:14px 18px;display:grid}.voice s{color:var(--steel)}ul.dash{color:var(--chalk);gap:6px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}footer{border-top:1px solid var(--iron);color:var(--fog);flex-wrap:wrap;justify-content:space-between;gap:16px;padding:32px 0 48px;font-size:12px;display:flex}footer a{color:var(--fog)}.docs{grid-template-columns:248px minmax(0,1fr);gap:48px;display:grid}.side{border-right:1px solid var(--iron);align-self:start;max-height:calc(100vh - 56px);padding:24px 16px 48px 0;position:sticky;top:56px;overflow-y:auto}.filter{background:var(--void);border:1px solid var(--slate);width:100%;color:var(--paper);font:inherit;margin-bottom:20px;padding:8px 10px;font-size:13px}.filter:focus{border-color:var(--fog);outline:none}.side details{margin-bottom:16px}.side summary{cursor:pointer;color:var(--steel);text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;padding:6px 8px;font-size:12px;list-style:none;display:flex}.side summary:after{content:"›";transition:transform .12s}.side details[open] summary:after{transform:rotate(90deg)}.side a{color:var(--fog);align-items:center;gap:10px;padding:6px 8px;font-size:13px;text-decoration:none;display:flex}.side a:hover{color:var(--paper);background:var(--graphite)}.side a[aria-current]{color:var(--paper);background:var(--iron)}.tag{text-align:center;background:var(--slate);min-width:40px;color:var(--paper);text-transform:uppercase;letter-spacing:.04em;padding:4px 6px;font-size:10px;font-style:normal;line-height:1}.side a[aria-current] .tag,.endpoint .tag{background:var(--paper);color:var(--void);font-weight:700}.doc-area{min-width:0;padding:40px 0 72px}.doc-area h1{margin:0 0 16px;font-size:28px;line-height:1.25}.doc-area h2,.doc-area h3{color:var(--paper);margin:16px 0 0;font-size:15px}.doc-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;display:flex}.doc-head div{align-items:baseline;gap:12px;font-size:12px;display:flex}.doc-head a{color:var(--fog)}.endpoint{border-bottom:1px solid var(--iron);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:32px;padding-bottom:28px;display:flex}.endpoint .tag{padding:6px 8px;font-size:11px}.endpoint code{color:var(--paper);overflow-wrap:anywhere;font-size:15px}.copy{border:1px solid var(--slate);color:var(--fog);font:inherit;cursor:pointer;background:0 0;padding:2px 8px}.copy:hover,.copy-page:hover{color:var(--paper);border-color:var(--fog)}.copy-page{border:1px solid var(--slate);color:var(--fog);font:inherit;cursor:pointer;background:0 0;padding:2px 10px}.doc-main{max-width:820px;color:var(--chalk);text-wrap:pretty;gap:16px;display:grid}.doc-main .note{margin:0}.doc-main table{border:1px solid var(--iron);border-collapse:collapse;font-size:13px}.doc-main th,.doc-main td{border-bottom:1px solid var(--graphite);text-align:left;vertical-align:baseline;color:var(--chalk);overflow-wrap:anywhere;padding:12px 16px}.doc-main th{color:var(--steel);padding:10px 16px;font-size:12px;font-weight:400}.doc-main td:first-child{width:36%}.panel{border:1px solid var(--iron);background:#0a0a0a}.panel-h{border-bottom:1px solid var(--iron);color:var(--steel);justify-content:space-between;padding:10px 16px;font-size:12px;display:flex}.doc-main>*{min-width:0}.panel pre{white-space:pre-wrap;overflow-wrap:anywhere;background:0 0;border:0}.kv{grid-template-columns:max-content minmax(0,1fr);gap:8px 20px;margin:0;font-size:13px;display:grid}.kv dt{color:var(--paper);font-weight:700}.kv dd{margin:0}.doc-main ol{gap:6px;margin:0;padding-left:20px;font-size:13px;display:grid}.next{border-top:1px solid var(--iron);text-align:right;margin-top:64px;padding-top:24px;font-size:16px;text-decoration:none;display:block}.next:empty{display:none}.toast{z-index:20;background:var(--graphite);border:1px solid var(--slate);color:var(--paper);align-items:center;gap:8px;padding:8px 14px;font-size:12px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast[hidden]{display:none}.formats{border-top:1px solid var(--iron);max-width:820px;color:var(--fog);margin-top:64px;padding-top:24px;font-size:13px}.formats h2{color:var(--steel);text-transform:uppercase;letter-spacing:.06em;margin:0 0 12px;font-size:12px}.formats p,.formats ul{margin:0 0 8px}.formats ul{padding-left:20px}.formats a{color:var(--chalk)}.formats kbd{font:inherit;border:1px solid var(--slate);color:var(--paper);padding:1px 6px}@media (width<=760px){.docs{grid-template-columns:minmax(0,1fr);gap:0}.side{border-right:0;border-bottom:1px solid var(--iron);max-height:none;padding-right:0;position:static}.kv{grid-template-columns:minmax(0,1fr);gap:2px}.kv dd{margin-bottom:8px}}@media (width<=600px){.nav nav{gap:16px}section{padding:64px 0}.gloss b{font-size:96px}.rows>div{grid-template-columns:minmax(0,1fr);gap:4px}.specimen,.specimen.jp{font-size:40px}}@media (prefers-reduced-motion:no-preference){a{transition:color .12s,background-color .12s,border-color .12s}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}@keyframes fade{0%{opacity:0}}@view-transition{navigation:auto}.doc-area{view-transition-name:doc}::view-transition-old(doc){animation:.12s ease-in reverse both fade}::view-transition-new(doc){animation:.3s ease-out both rise}.cover>*,.cover-hero>*{animation:.7s cubic-bezier(.2,.7,.2,1) both rise}.cover-hero img{animation-delay:50ms}.cover-hero .btns{animation-delay:.2s}.cover-top{animation-delay:.3s}.meta{animation-delay:.4s}.cover-hero{animation:none}@supports (animation-timeline:view()){section>*{animation-name:rise;animation-timing-function:linear;animation-fill-mode:both;animation-duration:auto;animation-timeline:view();animation-range:entry entry 60%}}}.pip{z-index:20;background:var(--void);border:1px solid var(--slate);width:500px;position:fixed}.pip[data-mode=bottom]{width:min(330px,100vw - 32px);bottom:16px;right:16px}.pip[data-mode=center]{width:min(1280px,100vw - 32px);top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 100vmax #000000b3}.pip-bar{border-bottom:1px solid var(--iron);height:28px;color:var(--fog);justify-content:space-between;align-items:center;padding:0 4px 0 10px;font-size:12px;display:flex}.pip-bar>span:last-child{display:flex}.pip-bar button,.pip-bar a{width:24px;height:24px;color:var(--fog);font:inherit;cursor:pointer;background:0 0;border:0;place-items:center;padding:0;text-decoration:none;display:grid}.pip-bar button:hover,.pip-bar a:hover{color:var(--paper)}.pip video{aspect-ratio:16/9;pointer-events:none;border:0;width:100%;display:block}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}
