:root{--leading:28px;--half:14px;--edge:clamp(20px, 5vw, 72px);--measure:42em}body{--font-heading:"Source Serif 4", "Noto Serif JP", serif;--font-body:"Source Serif 4", "Noto Serif JP", serif}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{text-wrap:pretty;margin:0}.wrap{max-width:1200px;padding:0 var(--edge);margin:0 auto}.nav{padding-inline:max(var(--edge), calc((100% - 1200px) / 2 + var(--edge)))}.nav a{white-space:nowrap}@media (max-width:560px){.nav a{display:none}}.kicker{font-size:13px;line-height:var(--half);letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb, var(--color-text) 70%, transparent);font-feature-settings:"tnum" 1;margin:0 0 calc(var(--leading) - var(--half));display:block}.hero{padding:calc(4 * var(--leading)) 0 calc(3 * var(--leading))}.display{font-family:var(--font-heading);font-weight:var(--font-heading-weight);letter-spacing:0;margin:0;font-size:clamp(40px,5.6vw,74px);line-height:clamp(50px,7vw,92px)}.display .line{display:block}.hero .sub{font-size:16.5px;line-height:var(--leading);max-width:var(--measure);margin:calc(1.5 * var(--leading)) 0 0}.hero .oneliner{font-family:var(--font-heading);letter-spacing:.04em;margin:var(--leading) 0 0;color:color-mix(in srgb, var(--color-text) 78%, transparent);font-size:15px;font-weight:600}.hero .row{gap:var(--space-3);margin-top:var(--leading);flex-wrap:wrap;display:flex}.frontpage{padding:calc(2 * var(--leading)) 0 calc(2.5 * var(--leading))}.rule-head{border:0;border-top:2px solid var(--color-text);border-bottom:1px solid var(--color-text);height:5px;margin:0}.rule-cut{border:0;border-top:1px solid var(--color-text);height:0;margin:0}.dateline{justify-content:space-between;gap:var(--half) var(--leading);padding:var(--half) 0;font-size:13px;line-height:var(--half);letter-spacing:.08em;text-transform:uppercase;font-feature-settings:"pnum" 1;color:color-mix(in srgb, var(--color-text) 70%, transparent);flex-wrap:wrap;margin:0;display:flex}.index{gap:var(--half) calc(2.5 * var(--leading));padding:calc(var(--leading) - var(--half)) 0 var(--leading);grid-template-columns:1fr 1fr;display:grid}.ix{font-size:15.5px;line-height:var(--leading);align-items:baseline;gap:8px;margin:0;display:flex}.ix-leader{border-bottom:1px dotted color-mix(in srgb, var(--color-text) 45%, transparent);flex:1;align-self:flex-end;min-width:28px;margin-bottom:.34em}.ix-num{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-feature-settings:"pnum" 1;font-size:17px}.ix-num.spot{color:var(--color-accent-700)}.features{padding:calc(3 * var(--leading)) 0 calc(2.5 * var(--leading))}.cols{gap:calc(1.5 * var(--leading)) clamp(28px, 4vw, 64px);margin-top:calc(var(--leading) - var(--half));grid-template-columns:repeat(3,1fr);display:grid}.col h2{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:23px;line-height:var(--leading);letter-spacing:0;margin:0}.col p{font-size:15px;line-height:var(--leading);margin:var(--half) 0 0;color:color-mix(in srgb, var(--color-text) 78%, transparent);text-align:justify}.demo{padding:calc(2.5 * var(--leading)) 0}.demo-grid{gap:calc(1.5 * var(--leading)) clamp(28px, 5vw, 80px);margin-top:calc(var(--leading) - var(--half));grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start;display:grid}.demo h2,.sec-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:32px;line-height:calc(1.5 * var(--leading));letter-spacing:0;margin:0}.demo .note{font-size:15px;line-height:var(--leading);color:color-mix(in srgb, var(--color-text) 78%, transparent);margin:var(--half) 0 0;text-align:justify;max-width:44em}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.tools{margin:var(--leading) 0 0;color:color-mix(in srgb, var(--color-text) 60%, transparent);flex-direction:column;gap:6px;font-size:13px;display:flex}.term{background:var(--color-surface);border-radius:var(--radius-md);padding:calc(var(--leading) - var(--half)) 28px var(--leading);font-size:13.5px;line-height:2}.term .prompt{font-family:var(--font-heading);font-size:17px;font-style:italic;line-height:var(--leading);margin:var(--half) 0 var(--leading);max-width:30em}.term .ck{display:block}.term .ck b{color:var(--color-accent-700);margin-right:10px;font-weight:600}.term .fin{margin-top:var(--half);letter-spacing:.02em;font-weight:600;display:block}.term .prompt,.term .ck,.term .fin{opacity:0;transition:opacity .4s,transform .4s;transform:translateY(6px)}.term .on{opacity:1;transform:none}.demo-figure{margin:var(--leading) 0 0}.demo-figure .print{aspect-ratio:16/9}.demo-figure image-slot,.arch-figure image-slot{width:100%;height:100%;display:block}.replay{margin-top:var(--half)}.lifecycle{padding:calc(1.5 * var(--leading)) 0 calc(2 * var(--leading))}.lifecycle .states{padding:var(--leading) 0;letter-spacing:.03em;flex-wrap:wrap;align-items:baseline;gap:8px 14px;font-size:13px;display:flex}.lifecycle .st{white-space:nowrap}.lifecycle .st.live{color:var(--color-accent-700);font-weight:600}.lifecycle .arr{color:color-mix(in srgb, var(--color-text) 45%, transparent)}.lifecycle .foot{font-size:14px;line-height:var(--leading);color:color-mix(in srgb, var(--color-text) 70%, transparent);max-width:52em;margin:0}.compare{padding:calc(2.5 * var(--leading)) 0}.compare .table{max-width:780px;margin-top:var(--leading)}.compare .table td:nth-child(2){color:color-mix(in srgb, var(--color-text) 60%, transparent)}.compare .table td:nth-child(3){font-family:var(--font-heading);color:var(--color-accent-700);font-weight:600}.compare .foot{margin-top:var(--half);color:color-mix(in srgb, var(--color-text) 60%, transparent);font-size:13px}.split{gap:var(--leading) clamp(24px, 5vw, 96px);padding:calc(2 * var(--leading)) 0 calc(2.5 * var(--leading));grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;display:grid}.split-copy .note{font-size:15px;line-height:var(--leading);color:color-mix(in srgb, var(--color-text) 78%, transparent);margin:var(--half) 0 0;text-align:justify;max-width:44em}.split-figure{margin:0}.split-figure .shot{aspect-ratio:924/540}.split-figure image-slot{width:100%;height:100%;display:block}.arch{padding:calc(2.5 * var(--leading)) 0}.arch-grid{gap:var(--leading) clamp(28px, 5vw, 88px);grid-template-columns:minmax(0,6fr) minmax(0,5fr);align-items:center;display:grid}.arch-figure{margin:0}.arch-figure.cmyk{overflow:visible}.arch-figure .print{aspect-ratio:4/3}.arch-flow{margin-top:var(--leading);max-width:640px}.arch-tier{margin:0}.arch-tier .t-label{letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb, var(--color-text) 60%, transparent);margin-bottom:4px;font-size:12px;display:block}.arch-tier .t-body{font-family:var(--font-heading);font-size:21px;font-weight:600;line-height:var(--leading)}.arch-tier .t-sub{font-size:14px;line-height:var(--leading);color:color-mix(in srgb, var(--color-text) 70%, transparent);display:block}.arch-arrow{font-size:15px;line-height:var(--leading);margin:var(--half) 0;color:color-mix(in srgb, var(--color-text) 55%, transparent)}.arch-arrow .mono{letter-spacing:.04em;font-size:12.5px}.sdk{padding:calc(2.5 * var(--leading)) 0}.sdk-grid{gap:calc(1.5 * var(--leading)) clamp(28px, 5vw, 80px);margin-top:calc(var(--leading) - var(--half));grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start;display:grid}.sdk .note{font-size:15px;line-height:var(--leading);color:color-mix(in srgb, var(--color-text) 78%, transparent);margin:var(--half) 0 0;text-align:justify}.code{background:var(--color-surface);border-radius:var(--radius-md);padding:calc(var(--leading) - var(--half)) 28px var(--leading);margin:0;font-size:13px;line-height:1.9;overflow-x:auto}.pricing{padding:calc(2.5 * var(--leading)) 0}.plans{gap:calc(1.5 * var(--leading)) clamp(24px, 3.5vw, 56px);margin-top:var(--leading);grid-template-columns:repeat(4,1fr);display:grid}.plan h3{margin:0;font-size:20px}.plan .price{font-family:var(--font-heading);letter-spacing:-.01em;font-feature-settings:"pnum" 1;margin-top:var(--half);font-size:38px;font-weight:600}.plan .per{color:color-mix(in srgb, var(--color-text) 60%, transparent);font-size:13px}.plan ul{margin:var(--half) 0 0;color:color-mix(in srgb, var(--color-text) 78%, transparent);padding:0;font-size:14px;line-height:1.7;list-style:none}.plan li{padding:2px 0}.plan .tagline{letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent-700);font-size:12px}.pricing .foot{margin-top:calc(1.5 * var(--leading));color:color-mix(in srgb, var(--color-text) 60%, transparent);max-width:60em;font-size:13px}.btn{white-space:nowrap;flex:none}.quote{padding:calc(2.5 * var(--leading)) 0 calc(3 * var(--leading))}.quote blockquote{font-family:var(--font-heading);font-size:clamp(22px,2.4vw,30px);font-style:italic;font-weight:400;line-height:calc(1.5 * var(--leading));letter-spacing:0;max-width:30em;margin:0}.quote figcaption{font-size:15px;line-height:var(--leading);color:color-mix(in srgb, var(--color-text) 70%, transparent);margin:var(--leading) 0 0}.close{padding:calc(2 * var(--leading)) 0}.close h3{font-size:24px;line-height:calc(1.5 * var(--leading));margin:0}.close .sub{font-size:15px;line-height:var(--leading);color:color-mix(in srgb, var(--color-text) 78%, transparent);margin:var(--half) 0 0;max-width:var(--measure)}.signup{gap:var(--space-3);max-width:480px;margin-top:var(--leading);align-items:stretch;display:flex}.signup .input{flex:1}.signup .input,.signup .btn{min-height:36px}.signup-note{font-size:13.5px;line-height:var(--leading);margin:var(--half) 0 0}.signup-note.err{color:var(--color-accent-2-700)}.signup-note.ok{color:var(--color-accent-700)}.signup-note[hidden]{display:none}@media (max-width:480px){.signup{flex-direction:column}}footer{padding:calc(2 * var(--leading)) 0;font-size:13px;line-height:var(--leading);color:color-mix(in srgb, var(--color-text) 70%, transparent)}@media (max-width:1080px){.cols{grid-template-columns:repeat(2,1fr)}.col:last-child{grid-column:1/-1}.col:last-child p{max-width:var(--measure)}.plans{grid-template-columns:repeat(2,1fr)}}@media (max-width:720px){.hero{padding-top:calc(2.5 * var(--leading))}.index,.cols,.plans,.demo-grid,.sdk-grid,.split{grid-template-columns:1fr}.split-figure{order:-1}.arch-grid{grid-template-columns:1fr}}
