.hero{padding:clamp(56px,13vh,150px) 0 56px}.hero h1{font-size:var(--s-display);width:min(980px,calc(100vw - var(--al) - var(--mr)));line-height:1.02}.hero .sub{max-width:34em;font-size:var(--s-body);margin-top:28px}.hero .after{font-size:var(--s-small);color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:8px 28px;margin-top:20px;display:flex}.hero .after a{color:var(--ink);font-weight:500}.board{background:var(--surface);max-width:560px;font-size:var(--s-small);border-radius:6px;padding:16px 18px 20px;position:relative}.board .bh{color:var(--muted);justify-content:space-between;padding-bottom:10px;display:flex}.board ol{margin:0;padding:0;list-style:none}.board li{border-radius:4px;grid-template-columns:1fr auto 112px;align-items:center;gap:16px;padding:11px 10px;display:grid}.board li+li{margin-top:2px}.board li.sel{background:#e9e6e0}.board .to{color:var(--muted)}.st{justify-items:start;display:inline-grid;position:relative}.st span{white-space:nowrap;grid-area:1/1;align-items:center;gap:7px;transition:opacity 1.6s;display:inline-flex}.st span:before{content:"";background:currentColor;border-radius:50%;width:8px;height:8px}.s-done{color:#1f5f3a}.s-open{color:#3b3833}.s-info{color:#7a4b00}.s-failed{color:var(--err)}.st .later,.st.flip .now{opacity:0}.st.flip .later{opacity:1}.board .cursor{width:16px;height:20px;position:absolute;top:120px;right:120px}@media (max-width:640px){.board li{grid-template-columns:1fr auto}.board .to{display:none}}.statement{margin-top:var(--gap-section);background:var(--surface);padding:clamp(72px,10vw,140px) var(--mr) clamp(72px,10vw,140px) var(--al)}.statement p{letter-spacing:-.025em;text-wrap:pretty;max-width:28em;font-size:clamp(1.5rem,1.1rem + 1.4vw,2.25rem);line-height:1.22}.how{margin-top:var(--gap-section)}.how h2{font-size:var(--s-head);line-height:1.15}.how .intro{max-width:34em;margin-top:16px}.pin{grid-template-columns:minmax(0,380px) minmax(0,600px);gap:clamp(32px,4vw,64px);margin-top:48px;display:grid}.steps{margin:0;padding:0;list-style:none}.steps li{flex-direction:column;justify-content:center;min-height:60vh;display:flex}.steps li:first-child{justify-content:flex-start;min-height:50vh;padding-top:8vh}.steps .say{font-size:var(--s-lead);letter-spacing:-.02em;color:var(--muted);font-weight:500;line-height:1.25;transition:color .3s}.steps li.on .say{color:var(--ink)}.steps .say:before{content:"";background:var(--surface-2);vertical-align:.15em;border-radius:50%;width:10px;height:10px;margin-right:12px;transition:background-color .3s;display:inline-block}.steps li.on .say:before{background:var(--accent)}.steps .more{font-size:var(--s-body);margin-top:12px}.stage{background:var(--surface);border-radius:6px;align-self:start;min-height:min(560px,76vh);padding:20px;position:sticky;top:12vh}.stage .cap{font-size:var(--s-small);color:var(--muted);justify-content:space-between;gap:16px;margin-bottom:14px;display:flex}.frame{display:grid}.frame>pre{white-space:pre;transition:opacity .5s var(--ease-out),transform .6s var(--ease-out);grid-area:1/1;margin:0;line-height:1.6;overflow-x:auto}.js .frame>pre{opacity:0;pointer-events:none;transform:translateY(10px)}.js .frame>pre.cur{opacity:1;pointer-events:auto;transform:none}pre .k{color:#1f4f5c}pre .s{color:#4a3a12}pre .c{color:var(--muted)}pre .e{color:var(--err)}pre .ok{color:#1f5f3a}.no-js-label{display:none}html:not(.js) .stage{position:static}html:not(.js) .frame{gap:28px}html:not(.js) .frame>pre{grid-area:auto}.slip{max-width:680px;margin-top:64px}.slip h3{font-size:var(--s-lead);letter-spacing:-.02em;line-height:1.25}.slip .hint{margin-top:10px}.slip-box{background:var(--surface);border-radius:6px;margin-top:24px;padding:16px}.slip-box .srow{font-size:var(--s-small);color:var(--muted);justify-content:space-between;gap:12px;margin-bottom:10px;display:flex}.slip textarea{resize:vertical;width:100%;min-height:172px;color:var(--ink);background:#f1eee9;border:1px solid #8d877e;border-radius:4px;padding:14px;line-height:1.55;display:block}.slip textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.slip .acts{flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:12px;display:flex}.btn-ink{height:44px;font:500 var(--s-small)/1 var(--font);color:var(--bg);background:var(--ink);cursor:pointer;transition:transform .14s var(--ease-out),background-color .18s ease;border:0;border-radius:4px;padding:0 18px}.btn-ink:active{transform:scale(.97)}@media (hover:hover) and (pointer:fine){.btn-ink:hover{background:#2b2926}}.textbtn{font:500 var(--s-small)/1.4 var(--font);color:var(--ink);cursor:pointer;text-underline-offset:.22em;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);background:0 0;border:0;padding:6px 0}.verdict{min-height:3em;margin-top:12px}.verdict .next{margin-top:12px}.verdict pre{white-space:pre-wrap;background:#e9e6e0;border-radius:4px;margin:0;padding:12px 14px;line-height:1.6}html:not(.js) .slip{display:none}.tools{margin-top:var(--gap-section);background:var(--dark);color:var(--dark-ink);padding:clamp(72px,10vw,128px) 0}.tools h2{font-size:var(--s-head);line-height:1.15}.tools .lede{max-width:34em;color:var(--dark-ink);margin-top:14px}.row{scroll-snap-type:x mandatory;padding:40px var(--mr) 24px var(--al);scroll-padding-left:var(--al);scrollbar-width:thin;scrollbar-color:#55514b transparent;gap:16px;display:flex;overflow-x:auto}.row:focus-visible{outline-offset:-4px}.tool{scroll-snap-align:start;background:var(--dark-2);min-height:300px;color:var(--dark-ink);transition:background-color .5s var(--ease-out),color .5s var(--ease-out);border-radius:6px;flex:0 0 min(480px,84vw);padding:20px}.tool.lit{background:var(--bg);color:var(--ink)}.tool h3{font-size:var(--s-body);letter-spacing:0;word-break:break-word;line-height:1.4}.tool h3 code{font-size:1rem}.tool p{font-size:var(--s-body);margin-top:12px}.tool pre{color:#ddd8cf;white-space:pre;background:#0b0a09;border-radius:4px;margin:18px 0 0;padding:14px;line-height:1.6;overflow-x:auto}.tool.lit pre{background:var(--surface);color:var(--ink)}.tool pre .c{color:#a8a197}.tool.lit pre .c{color:var(--muted)}.row-nav{gap:12px;margin-top:8px;display:flex}.row-nav button{background:var(--dark-2);width:44px;height:44px;color:var(--dark-ink);font:500 1.125rem/1 var(--font);cursor:pointer;transition:transform .14s var(--ease-out),background-color .18s ease;border:0;border-radius:4px}.row-nav button:active{transform:scale(.95)}@media (hover:hover) and (pointer:fine){.row-nav button:hover{background:#34312d}}.rules{margin-top:var(--gap-section)}.rules h2{font-size:var(--s-head);line-height:1.15}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:56px;display:grid}.cell{background:var(--surface);border-radius:6px;flex-direction:column;justify-content:space-between;gap:24px;min-height:360px;display:flex;overflow:hidden}.grid{grid-template-columns:repeat(12,minmax(0,1fr))}.cell:first-child,.cell:nth-child(5){grid-column:span 4}.cell:nth-child(2),.cell:nth-child(4){grid-column:span 3}.cell:nth-child(3),.cell:nth-child(6){grid-column:span 5}.cell .txt{padding:24px}.cell h3{font-size:var(--s-body);letter-spacing:-.015em;line-height:1.35}.cell .txt p{font-size:var(--s-body);margin-top:8px;line-height:1.45}.cell.flip{flex-direction:column-reverse}.frag{font-size:var(--s-small);background:#ece9e3;border-radius:6px 6px 0 0;margin:0 24px;padding:16px}.cell.flip .frag{border-radius:0 0 6px 6px}.frag pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.6}.frag.term{color:#e6e1d8;background:#151412}.frag.term .c{color:#a8a197}.frag ul{margin:0;padding:0;list-style:none}.frag li{border-radius:4px;justify-content:space-between;gap:12px;padding:8px 6px;display:flex}.frag li.sel{background:var(--bg)}.frag .dim{color:var(--muted)}@media (max-width:980px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid .cell{grid-column:auto!important}.grid .cell:nth-child(3),.grid .cell:nth-child(6){grid-column:1/-1!important}}@media (max-width:640px){.grid{grid-template-columns:1fr;gap:6px}.cell{min-height:0}.cell.flip{flex-direction:column}.cell .frag{border-radius:6px 6px 0 0}.cell:nth-child(2n) .frag{border-radius:6px 0 0;margin-left:48px;margin-right:0}.cell:nth-child(odd) .frag{border-radius:0 6px 0 0;margin-left:0;margin-right:48px}}.faq{margin-top:var(--gap-section)}.faq-wrap{grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:clamp(32px,5vw,80px);display:grid}.faq h2{font-size:var(--s-body);letter-spacing:-.01em;color:var(--muted);margin-bottom:18px;font-weight:500}.faq details{margin:0}.faq details+details{margin-top:6px}.faq summary{cursor:pointer;color:var(--muted);align-items:baseline;gap:14px;padding:6px 0;font-size:1.125rem;line-height:1.4;list-style:none;transition:color .15s;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:before{content:"";background:var(--muted);border-radius:50%;flex:0 0 8px;height:8px;transition:background-color .15s;transform:translateY(-2px)}.faq details[open] summary,.faq details.sel summary,.faq summary:hover{color:var(--ink)}.faq details[open] summary:before,.faq details.sel summary:before{background:var(--accent)}.faq .ans{font-size:var(--s-body);max-width:34em;padding:4px 0 14px 22px}.pane{letter-spacing:-.02em;align-self:start;max-width:30ch;min-height:12em;font-size:clamp(1.25rem,1rem + .8vw,1.5rem);line-height:1.35;transition:opacity .15s;position:sticky;top:120px}.pane.fade{opacity:0}.pane[hidden]{display:none}@media (min-width:900px){.js .faq .ans{display:none}}@media (max-width:899px){.faq-wrap{grid-template-columns:1fr}.pane{display:none}}.close{margin-top:var(--gap-section);background:var(--dark);color:var(--dark-ink);padding:clamp(96px,14vw,180px) var(--mr) clamp(96px,14vw,180px) var(--al);margin-bottom:30px}.close .signup label{color:var(--dark-muted)}.close .form-msg{color:var(--dark-ink)}.close .form-msg.err{color:#f2a296}.close p.say{letter-spacing:-.025em;max-width:24ch;font-size:clamp(1.5rem,1.1rem + 1.4vw,2.25rem);line-height:1.22}.close .signup{margin-top:24px}@media (max-width:640px){:root{--al:20px;--mr:20px}.hero{min-height:0;padding-top:20vh}.pin{grid-template-columns:1fr;margin-top:32px}.stage{z-index:2;grid-row:1;min-height:0;max-height:52svh;padding:14px;top:8px;overflow:hidden}.frame>pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.8125rem}.tool pre,.frag pre{white-space:pre-wrap;overflow-wrap:anywhere}.steps li,.steps li:first-child{justify-content:center;min-height:62svh;padding-top:0}.steps .say{font-size:1.375rem}html:not(.js) .stage{max-height:none}}@media (prefers-reduced-motion:no-preference){.js [data-rise]{opacity:0;animation:rise .8s var(--ease-out) forwards;animation-delay:calc(var(--i,0) * 90ms + .12s);transform:translateY(18px)}.js .lines .line{margin-bottom:-.1em;padding-bottom:.1em;display:block;overflow:hidden}.js .lines [data-line]{animation:line-up .9s var(--ease-out) forwards;animation-delay:calc(var(--i) * .11s + .1s);display:block;transform:translateY(105%)}.js [data-reveal]{opacity:0;transition:opacity .7s var(--ease-out),transform .9s var(--ease-out);transition-delay:calc(var(--i,0) * 80ms);transform:translateY(24px)}.js [data-reveal].is-in{opacity:1;transform:none}}@keyframes rise{to{opacity:1;transform:none}}@keyframes line-up{to{transform:none}}.lines .line{display:block}@media (prefers-reduced-motion:reduce){.st span,.frame>pre,.tool,.pane{transition:none}}
