:root{--paper:#fff;--tint:#f6f5f1;--ink:#15161a;--ink-2:#555963;--line:#d9d8d2;--shu:#e2412b;--mincho:"Zen Old Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;--gothic:"Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", sans-serif;--mono:"DM Mono", ui-monospace, "SFMono-Regular", monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:72px}body{background:var(--paper);color:var(--ink);font-family:var(--gothic);font-feature-settings:"palt";-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.9;overflow-x:clip}h1,h2,p,ul,ol,dl,dd,figure{margin:0;padding:0}ul,ol{list-style:none}a{color:inherit;-webkit-text-decoration-color:var(--shu);text-decoration-color:var(--shu);text-underline-offset:3px}.wrap{width:min(1120px,100% - 48px);margin:0 auto}.mono{font-family:var(--mono);font-size:.92em}.top{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#ffffffeb;position:sticky;top:0}.top__in{justify-content:space-between;align-items:center;height:60px;display:flex}.logo{font-family:var(--mono);letter-spacing:.28em;font-weight:500;text-decoration:none}.nav{gap:22px;font-size:13px;display:flex}.nav a{color:var(--ink-2);text-decoration:none}.nav a:hover{color:var(--ink)}.hero{border-bottom:1px solid var(--line);padding:88px 0 72px}.hero__in{grid-template-columns:1.1fr .9fr;align-items:center;gap:48px;display:grid}.kicker{font-family:var(--mono);letter-spacing:.08em;color:var(--ink-2);align-items:center;gap:10px;margin-bottom:28px;font-size:12px;display:inline-flex}.dot{background:var(--shu);border-radius:50%;width:8px;height:8px;animation:2.4s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.25}}.hero__title{font-family:var(--mincho);letter-spacing:.01em;font-size:clamp(32px,4.4vw,54px);font-weight:900;line-height:1.32}.hero__title em{color:var(--shu);font-style:normal}.hero__lead{max-width:36em;color:var(--ink-2);margin-top:32px}.hero__links{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.btn{border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:999px;padding:11px 20px;font-size:14px;text-decoration:none;display:inline-block}.btn--ghost{color:var(--ink);background:0 0}.threads svg{width:100%;height:auto;overflow:visible}.thread{fill:none;stroke:var(--ink);stroke-width:1.4px;stroke-dasharray:520;stroke-dashoffset:520px;animation:1.6s cubic-bezier(.6,0,.2,1) forwards draw}.thread.t2{animation-delay:.15s}.thread.t3{animation-delay:.3s}.thread.t5{animation-delay:.9s}.thread.hot{stroke:var(--shu);stroke-width:2.4px;animation-delay:1.1s}@keyframes draw{to{stroke-dashoffset:0}}.knot{fill:#fff;stroke:var(--ink);stroke-width:1.4px}.knot__label{font-family:var(--mono);letter-spacing:.18em;text-anchor:middle;fill:var(--ink);font-size:11px}.node circle{fill:#fff;stroke:var(--ink);stroke-width:1.4px}.node text{font-family:var(--gothic);text-anchor:middle;fill:var(--ink-2);font-size:13px}.node--hot circle{fill:var(--shu);stroke:var(--shu)}.node--hot text{fill:var(--shu);font-weight:700}.threads figcaption{color:var(--ink-2);text-align:center;margin-top:12px;font-size:12px}.sec{border-bottom:1px solid var(--line);padding:96px 0}.sec--tint{background:var(--tint)}.sec--ink{background:var(--ink);color:#f2f1ec;border-bottom:none}.sec__head{align-items:baseline;gap:20px;margin-bottom:48px;display:flex}.sec__no{font-family:var(--mono);color:var(--shu);font-size:13px}.sec__title{font-family:var(--mincho);font-size:clamp(26px,3.2vw,38px);font-weight:900;line-height:1.45}.cols{grid-template-columns:1fr 1fr;align-items:start;gap:56px;display:grid}.prose p+p{margin-top:1em}.src,.fact__src{color:var(--ink-2);font-size:12px}.formula{border-top:1px solid var(--line);margin-top:28px}.formula li{border-bottom:1px solid var(--line);padding:14px 0}.formula small{color:var(--ink-2);font-size:12px;display:block}.card{border:1px solid var(--ink);box-shadow:8px 8px 0 var(--tint);background:#fff;padding:28px 28px 20px;position:relative}.card__badge{background:var(--shu);color:#fff;padding:2px 10px;font-size:12px;position:absolute;top:-12px;left:20px}.card__rows>div{border-bottom:1px dashed var(--line);grid-template-columns:4.5em 1fr;gap:12px;padding:10px 0;display:grid}.card__rows dt{font-family:var(--mono);color:var(--ink-2);padding-top:3px;font-size:12px}.card figcaption{color:var(--ink-2);margin-top:12px;font-size:12px}.fields{margin-top:64px}.fields__lead{margin-bottom:16px;font-weight:700}.fields__list{border-top:1px solid var(--ink);counter-reset:f;grid-template-columns:repeat(4,1fr);display:grid}.fields__list li{border-bottom:1px solid var(--line);color:var(--ink-2);counter-increment:f;padding:14px 14px 14px 0;font-size:13px}.fields__list .mono{color:var(--ink);font-size:14px;display:block}.fields__list .mono:before{content:counter(f) " ";color:var(--shu)}.loop{border-top:2px solid var(--ink);grid-template-columns:repeat(4,1fr);gap:0;display:grid}.loop li{padding:24px 24px 8px 0;font-size:15px;position:relative}.loop li+li{border-left:1px solid var(--line);padding-left:24px}.loop__step{font-family:var(--mincho);margin-bottom:10px;font-size:20px;font-weight:900}.loop li:nth-child(2) .loop__step{color:var(--shu)}.facts{gap:28px;display:grid}.fact{border-left:2px solid var(--shu);padding-left:20px}.fact__num{font-family:var(--mincho);font-size:44px;font-weight:900;line-height:1.1}.fact__num span{margin-left:2px;font-size:18px}.fact__text{margin-top:6px;font-size:14px}.checks li{border-bottom:1px solid var(--line);padding:14px 0 14px 32px;font-size:15px;position:relative}.checks li:before{content:"";border-left:2px solid var(--shu);border-bottom:2px solid var(--shu);width:12px;height:6px;position:absolute;top:24px;left:4px;transform:rotate(-45deg)}.limits{grid-template-columns:repeat(2,1fr);gap:0 56px;display:grid}.limits li{border-top:1px solid var(--line);padding:22px 0}.limits__h{margin-bottom:6px;font-weight:700}.limits li p:not(.limits__h){color:var(--ink-2);font-size:15px}.sec--ink .sec__title,.sec--ink a{color:#fff}.tools{margin-top:20px}.tools li{color:#b9bac0;border-bottom:1px solid #34363d;padding:10px 0;font-size:14px}.tools .mono{color:#fff;min-width:13em;display:inline-block}.code__label{font-family:var(--mono);color:#b9bac0;margin:0 0 8px;font-size:12px}.code pre{border-left:2px solid var(--shu);font-family:var(--mono);background:#23252b;margin:0 0 24px;padding:16px 18px;font-size:13px;line-height:1.7;overflow-x:auto}.foot{color:var(--ink-2);padding:32px 0 48px;font-size:13px}.foot__in{flex-wrap:wrap;justify-content:space-between;gap:24px;display:flex}@media (width<=860px){.nav{display:none}.hero{padding-top:56px}.hero__in,.cols{grid-template-columns:1fr}.threads{max-width:420px}.fields__list{grid-template-columns:repeat(2,1fr)}.loop{grid-template-columns:1fr}.loop li+li{border-left:none;border-top:1px solid var(--line);padding-left:0}.limits{grid-template-columns:1fr}.tools .mono{min-width:0;display:block}.sec{padding:64px 0}}@media (prefers-reduced-motion:reduce){.thread{stroke-dashoffset:0;animation:none}.dot{animation:none}}.cols>*,.hero__in>*{min-width:0}
